diff options
Diffstat (limited to 'SOURCES/mod-extra.sh')
-rwxr-xr-x | SOURCES/mod-extra.sh | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/SOURCES/mod-extra.sh b/SOURCES/mod-extra.sh deleted file mode 100755 index 7dc075b..0000000 --- a/SOURCES/mod-extra.sh +++ /dev/null @@ -1,86 +0,0 @@ -#! /bin/bash - -Dir=$1 -List=$2 -Dest="extra" - -# Destination was specified on the command line -test -n "$3" && Dest="$3" - -pushd $Dir -rm -rf modnames -find . -name "*.ko" -type f > modnames -# Look through all of the modules, and throw any that have a dependency in -# our list into the list as well. -rm -rf dep.list dep2.list -rm -rf req.list req2.list -touch dep.list req.list -cp "$List" . - -# This variable needs to be exported because it is used in sub-script -# executed by xargs -export ListName=$(basename "$List") - -# NB: this loop runs 2000+ iterations. Try to be fast. -NPROC=`nproc` -[ -z "$NPROC" ] && NPROC=1 -cat modnames | xargs -r -n1 -P $NPROC sh -c ' - dep=$1 - depends=`modinfo $dep | sed -n -e "/^depends/ s/^depends:[ \t]*//p"` - [ -z "$depends" ] && exit - for mod in ${depends//,/ } - do - match=$(grep "^$mod.ko" "$ListName") - [ -z "$match" ] && continue - # check if the module we are looking at is in mod-extra too. - # if so we do not need to mark the dep as required. - mod2=${dep##*/} # same as `basename $dep`, but faster - match2=$(grep "^$mod2" "$ListName") - if [ -n "$match2" ] - then - #echo $mod2 >> notreq.list - continue - fi - echo $mod.ko >> req.list - done -' DUMMYARG0 # xargs appends MODNAME, which becomes $dep in the script above - -sort -u req.list > req2.list -sort -u "$ListName" > modules2.list -join -v 1 modules2.list req2.list > modules3.list - -for mod in $(cat modules3.list) -do - # get the path for the module - modpath=`grep /$mod modnames` - [ -z "$modpath" ] && continue - echo $modpath >> dep.list -done - -sort -u dep.list > dep2.list - -# now move the modules into the extra/ directory -for mod in `cat dep2.list` -do - newpath=`dirname $mod | sed -e "s/kernel\\//$Dest\//"` - mkdir -p $newpath - mv $mod $newpath -done - -popd - -# If we're signing modules, we can't leave the .mod files for the .ko files -# we've moved in .tmp_versions/. Remove them so the Kbuild 'modules_sign' -# target doesn't try to sign a non-existent file. This is kinda ugly, but -# so is modules-extra. - -for mod in `cat ${Dir}/dep2.list` -do - modfile=`basename $mod | sed -e 's/.ko/.mod/'` - rm .tmp_versions/$modfile -done - -pushd $Dir -rm modnames dep.list dep2.list req.list req2.list -rm "$ListName" modules2.list modules3.list -popd |