aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad House <brad_mssw@gentoo.org>2003-12-16 06:02:02 +0000
committerBrad House <brad_mssw@gentoo.org>2003-12-16 06:02:02 +0000
commit37d4bc8b1d63cd1751d5e02659958d4dc004eaef (patch)
tree8412b3d70be124527ec4c3486de2f809d61f4b71 /gen_moddeps.sh
parentkillall (diff)
downloadgenkernel-37d4bc8b1d63cd1751d5e02659958d4dc004eaef.tar.gz
genkernel-37d4bc8b1d63cd1751d5e02659958d4dc004eaef.tar.bz2
genkernel-37d4bc8b1d63cd1751d5e02659958d4dc004eaef.zip
integrate new initrd, and module scanning
git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/genkernel/trunk@23 67a159dc-881f-0410-a524-ba9dfbe2cb84
Diffstat (limited to 'gen_moddeps.sh')
-rw-r--r--gen_moddeps.sh63
1 files changed, 63 insertions, 0 deletions
diff --git a/gen_moddeps.sh b/gen_moddeps.sh
new file mode 100644
index 0000000..1b2c19a
--- /dev/null
+++ b/gen_moddeps.sh
@@ -0,0 +1,63 @@
+#!/bin/bash
+
+modules_dep_list()
+{
+ if [ "${PAT}" -gt "4" ]
+ then
+ KEXT=".ko"
+ else
+ KEXT=".o"
+ fi
+ cat /lib/modules/${KV}/modules.dep | grep ${1}${KEXT}\: | cut -d\: -f2
+}
+
+# Pass module deps list
+strip_mod_paths()
+{
+ local x
+ local ret
+ local myret
+
+ for x in ${*}
+ do
+ ret=`basename ${x} | cut -d. -f1`
+ myret="${myret} ${ret}"
+ done
+ echo "${myret}"
+}
+
+
+gen_deps()
+{
+ local modlist
+ local deps
+
+ for x in ${*}
+ do
+ echo ${x} >> ${TEMP}/moddeps
+ modlist=`modules_dep_list ${x}`
+ if [ "${modlist}" != "" -a "${modlist}" != " " ]
+ then
+ deps=`strip_mod_paths ${modlist}`
+ else
+ deps=""
+ fi
+ for y in ${deps}
+ do
+ echo ${y} >> ${TEMP}/moddeps
+ done
+ done
+}
+
+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
+}