summaryrefslogtreecommitdiffstats
path: root/mod-extra.sh
diff options
context:
space:
mode:
Diffstat (limited to 'mod-extra.sh')
-rwxr-xr-xmod-extra.sh86
1 files changed, 0 insertions, 86 deletions
diff --git a/mod-extra.sh b/mod-extra.sh
deleted file mode 100755
index 7dc075b98..000000000
--- a/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