Bug #351873: More livecd control, and initramfs livecd argument documentation.
[genkernel.git] / gen_moddeps.sh
old mode 100644 (file)
new mode 100755 (executable)
index 1b2c19a..0867b56
@@ -1,14 +1,19 @@
 #!/bin/bash
+# $Id$
+
+modules_kext()
+{
+       KEXT=".ko"
+       echo ${KEXT}
+}
 
 modules_dep_list()
 {
-       if [ "${PAT}" -gt "4" ]
+       KEXT=$(modules_kext)
+       if [ -f ${INSTALL_MOD_PATH}/lib/modules/${KV}/modules.dep ]
        then
-               KEXT=".ko"
-       else
-               KEXT=".o"
+               cat ${INSTALL_MOD_PATH}/lib/modules/${KV}/modules.dep | grep ${1}${KEXT}\: | cut -d\:  -f2
        fi
-        cat /lib/modules/${KV}/modules.dep | grep ${1}${KEXT}\: | cut -d\:  -f2
 }
 
 # Pass module deps list
@@ -51,13 +56,20 @@ gen_deps()
 
 gen_dep_list()
 {
-       rm -f ${TEMP}/moddeps > /dev/null
-       gen_deps ${STORAGE_MODULES}
-       gen_deps ${FIREWIRE_MODULES}
-       gen_deps ${ATARAID_MODULES}
-       gen_deps ${PCMCIA_MODULES}
-       gen_deps ${USB_MODULES}
-
-       # Only list each module once
-       cat ${TEMP}/moddeps | sort | uniq
+       if [ "${ALLRAMDISKMODULES}" = "1" ]; then
+               strip_mod_paths $(find "${INSTALL_MOD_PATH}/lib/modules/${KV}" -name "*$(modules_kext)") | sort
+       else
+               local group_modules
+               rm -f ${TEMP}/moddeps > /dev/null
+
+               for group_modules in ${!MODULES_*}; do
+                       gen_deps ${!group_modules}
+               done
+
+               # Only list each module once
+               if [ -f ${TEMP}/moddeps ]
+               then
+                   cat ${TEMP}/moddeps | sort | uniq
+               fi
+       fi
 }