wok-undigest annotate linux/stuff/tools/check_modules.sh @ rev 1217
copied linux receipt and stuff from wok-next
author | Hans-G?nter Theisgen |
---|---|
date | Fri Nov 15 16:49:43 2019 +0100 (2019-11-15) |
parents | |
children |
rev | line source |
---|---|
Hans-G?nter@1217 | 1 #!/bin/sh |
Hans-G?nter@1217 | 2 # Print Linux Kernel modules that do not belong to any of the packages. |
Hans-G?nter@1217 | 3 # (c) 2009-2017 SliTaz - GNU General Public License. |
Hans-G?nter@1217 | 4 # |
Hans-G?nter@1217 | 5 |
Hans-G?nter@1217 | 6 . /lib/libtaz.sh |
Hans-G?nter@1217 | 7 |
Hans-G?nter@1217 | 8 WOK=$(cd $(dirname $0) && pwd | sed 's/wok.*/wok/') |
Hans-G?nter@1217 | 9 . $WOK/linux/receipt |
Hans-G?nter@1217 | 10 BASEVER="${VERSION:0:3}" |
Hans-G?nter@1217 | 11 src="$WOK/linux/source/linux-$VERSION" |
Hans-G?nter@1217 | 12 |
Hans-G?nter@1217 | 13 cd $src |
Hans-G?nter@1217 | 14 tmp=$WOK/${PACKAGE:-linux}/tmp |
Hans-G?nter@1217 | 15 mkdir -p $tmp |
Hans-G?nter@1217 | 16 rm -f $tmp/* |
Hans-G?nter@1217 | 17 |
Hans-G?nter@1217 | 18 #=============================================================================== |
Hans-G?nter@1217 | 19 |
Hans-G?nter@1217 | 20 # Make temporal base modules list |
Hans-G?nter@1217 | 21 |
Hans-G?nter@1217 | 22 kversion="$VERSION-slitaz" |
Hans-G?nter@1217 | 23 modroot="$WOK/$PACKAGE/install/lib/modules/$kversion/kernel" |
Hans-G?nter@1217 | 24 modlist="$tmp/modules.list" |
Hans-G?nter@1217 | 25 |
Hans-G?nter@1217 | 26 list_modules() { |
Hans-G?nter@1217 | 27 found="$(find $modroot/$1 -type f)" |
Hans-G?nter@1217 | 28 if [ -z "$found" ]; then |
Hans-G?nter@1217 | 29 echo -e "\n\nError: $modroot/$1 does not exist.\n\n" >&2 |
Hans-G?nter@1217 | 30 exit 1 |
Hans-G?nter@1217 | 31 fi |
Hans-G?nter@1217 | 32 |
Hans-G?nter@1217 | 33 for module in $(echo "$found" | sed "s|.*$kversion/||"); do |
Hans-G?nter@1217 | 34 grep $module: "$modroot/../modules.dep" |
Hans-G?nter@1217 | 35 done | sed 's|^kernel/||; s| kernel/| |g; s|:||' | \ |
Hans-G?nter@1217 | 36 tr ' ' $'\n' | sort -u |
Hans-G?nter@1217 | 37 } |
Hans-G?nter@1217 | 38 |
Hans-G?nter@1217 | 39 while read rule_name rule_value; do |
Hans-G?nter@1217 | 40 [ "$rule_name" != 'linux' ] && continue |
Hans-G?nter@1217 | 41 list_modules $rule_value >> "$modlist" |
Hans-G?nter@1217 | 42 done < "$WOK/linux/stuff/split.rules" |
Hans-G?nter@1217 | 43 |
Hans-G?nter@1217 | 44 #=============================================================================== |
Hans-G?nter@1217 | 45 |
Hans-G?nter@1217 | 46 echo |
Hans-G?nter@1217 | 47 title 'Checking for Linux Kernel modules that do not belong to any of the packages' |
Hans-G?nter@1217 | 48 |
Hans-G?nter@1217 | 49 # create a packaged modules list |
Hans-G?nter@1217 | 50 { |
Hans-G?nter@1217 | 51 cat "$modlist" |
Hans-G?nter@1217 | 52 |
Hans-G?nter@1217 | 53 for i in $SPLIT; do |
Hans-G?nter@1217 | 54 cat $WOK/$i/taz/$i-*/files.list | sed 's|.*/kernel/||' |
Hans-G?nter@1217 | 55 done |
Hans-G?nter@1217 | 56 } | grep '.ko.xz$' > $tmp/modules-packaged |
Hans-G?nter@1217 | 57 |
Hans-G?nter@1217 | 58 # create a compiled modules list |
Hans-G?nter@1217 | 59 sed 's|^kernel/||; s|$|.xz|' \ |
Hans-G?nter@1217 | 60 $WOK/linux/install/lib/modules/$VERSION-slitaz/modules.order > $tmp/modules-compiled |
Hans-G?nter@1217 | 61 |
Hans-G?nter@1217 | 62 # compare the lists |
Hans-G?nter@1217 | 63 awk '{ |
Hans-G?nter@1217 | 64 if (FILENAME ~ "compiled") |
Hans-G?nter@1217 | 65 m[$0] = 1; |
Hans-G?nter@1217 | 66 else |
Hans-G?nter@1217 | 67 delete m[$0]; |
Hans-G?nter@1217 | 68 } |
Hans-G?nter@1217 | 69 END { |
Hans-G?nter@1217 | 70 for (i in m) print i; |
Hans-G?nter@1217 | 71 }' $tmp/modules-compiled $tmp/modules-packaged | tee $tmp/modules-unpackaged |
Hans-G?nter@1217 | 72 |
Hans-G?nter@1217 | 73 if [ -s $tmp/modules-unpackaged ]; then |
Hans-G?nter@1217 | 74 footer "List saved to wok/linux/tmp/modules-unpackaged" |
Hans-G?nter@1217 | 75 else |
Hans-G?nter@1217 | 76 _ 'All modules are packaged' |
Hans-G?nter@1217 | 77 echo |
Hans-G?nter@1217 | 78 rm $tmp/modules-unpackaged |
Hans-G?nter@1217 | 79 fi |
Hans-G?nter@1217 | 80 |
Hans-G?nter@1217 | 81 # Clean |
Hans-G?nter@1217 | 82 rm "$modlist" |