Localversion changes to kerncache, and added a sleep statement so modprobe loop has...
[genkernel.git] / gen_moddeps.sh
1 #!/bin/bash
2
3 modules_dep_list()
4 {
5         if [ "${PAT}" -gt "4" ]
6         then
7                 KEXT=".ko"
8         else
9                 KEXT=".o"
10         fi
11         if [ -f ${INSTALL_MOD_PATH}/lib/modules/${KV}/modules.dep ]
12         then
13                 cat ${INSTALL_MOD_PATH}/lib/modules/${KV}/modules.dep | grep ${1}${KEXT}\: | cut -d\:  -f2
14         fi
15 }
16
17 # Pass module deps list
18 strip_mod_paths()
19 {
20         local x
21         local ret
22         local myret
23
24         for x in ${*}
25         do
26                 ret=`basename ${x} | cut -d. -f1`
27                 myret="${myret} ${ret}"
28         done
29         echo "${myret}"
30 }
31
32
33 gen_deps()
34 {
35         local modlist
36         local deps
37
38         for x in ${*}
39         do
40                 echo ${x} >> ${TEMP}/moddeps
41                 modlist=`modules_dep_list ${x}`
42                 if [ "${modlist}" != "" -a "${modlist}" != " " ]
43                 then
44                         deps=`strip_mod_paths ${modlist}`
45                 else
46                         deps=""
47                 fi
48                 for y in ${deps}
49                 do
50                         echo ${y} >> ${TEMP}/moddeps
51                 done
52         done
53 }
54
55 gen_dep_list()
56 {
57         local group_modules     
58         rm -f ${TEMP}/moddeps > /dev/null
59         
60         for group_modules in ${!MODULES_*}; do
61                 gen_deps ${!group_modules}
62         done
63
64         # Only list each module once
65         cat ${TEMP}/moddeps | sort | uniq
66 }