wok-undigest diff ovzkernel/stuff/list_modules.sh @ rev 469
fbvnc: remove screen size limit
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sun Sep 11 09:35:17 2011 +0200 (2011-09-11) |
parents | |
children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/ovzkernel/stuff/list_modules.sh Sun Sep 11 09:35:17 2011 +0200 1.3 @@ -0,0 +1,46 @@ 1.4 +#!/bin/sh 1.5 +# list_modules.sh: list Linux kernel modules for SliTaz GNU/Linux. 1.6 +# 2008/06/07 <pascal.bellard@slitaz.org> - GNU General Public License. 1.7 +# 2010/01/05 <erjo@slitaz.org> - GNU General Public License. 1.8 +# 1.9 + 1.10 +kernel_release=$1 ; shift 1.11 + 1.12 +find_modules() 1.13 +{ 1.14 + find $_pkg/lib/modules/${kernel_release}/kernel/$1 -type f -exec basename {} \; 2> /dev/null 1.15 +} 1.16 + 1.17 +if [ -z "$1" ] ; then 1.18 + cat 1>&2 <<EOT 1.19 + 1.20 +\033[1musage:\033[0m `basename $0` path/to/kernel-modules-subtrees 1.21 +exemple `basename $0` drivers/net/wireless >list 1.22 + 1.23 +EOT 1.24 + exit 1 1.25 +fi 1.26 + 1.27 +if [ -z "$(ls -d $_pkg/lib/modules/${kernel_release}/kernel/$1 2> /dev/null)" ] ; then 1.28 + cat 1>&2 <<EOT 1.29 + 1.30 +Error : $1 does not exist. 1.31 + 1.32 +EOT 1.33 + exit 1 1.34 +fi 1.35 + 1.36 +for tree in $@; do 1.37 + for module in $(find_modules $tree) ; do 1.38 + grep /$module: $_pkg/lib/modules/${kernel_release}/modules.dep || 1.39 + find $_pkg/lib/modules/${kernel_release}/kernel/$tree -name $module 1.40 + done | awk '{ for (i = 1; i <= NF; i++) print $i; }' 1.41 +done | sort | uniq | sed -e 's,.*ovz/,,' -e 's,^kernel/,,' -e 's/:$//' | \ 1.42 +while read module; do 1.43 + grep -qs ^$module$ $src/modules.list && continue 1.44 + if [ ! -f $_pkg/lib/modules/${kernel_release}/kernel/$module ]; then 1.45 + (cd $_pkg/lib/modules/${kernel_release}/kernel; find -name $(basename $module) ) 1.46 + else 1.47 + echo $module 1.48 + fi 1.49 +done