diff options
author | Brad House <brad_mssw@gentoo.org> | 2003-12-16 06:02:02 +0000 |
---|---|---|
committer | Brad House <brad_mssw@gentoo.org> | 2003-12-16 06:02:02 +0000 |
commit | 37d4bc8b1d63cd1751d5e02659958d4dc004eaef (patch) | |
tree | 8412b3d70be124527ec4c3486de2f809d61f4b71 /gen_moddeps.sh | |
parent | killall (diff) | |
download | genkernel-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.sh | 63 |
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 +} |