diff options
| author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2008-05-28 11:21:20 +0000 |
|---|---|---|
| committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2008-05-28 11:21:20 +0000 |
| commit | 10be1a787f02b388676ef4ddf674d7244cbbe6e3 (patch) | |
| tree | c135a452f07aaa205a2df89ceaa3c8af00b556d7 /docs | |
| parent | c21d9c72907fd9a3f75204e22fa31d3bcee13f8e (diff) | |
| download | busybox-w32-10be1a787f02b388676ef4ddf674d7244cbbe6e3.tar.gz busybox-w32-10be1a787f02b388676ef4ddf674d7244cbbe6e3.tar.bz2 busybox-w32-10be1a787f02b388676ef4ddf674d7244cbbe6e3.zip | |
- move depmod shell script to examples/
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/depmod | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/docs/depmod b/docs/depmod deleted file mode 100644 index d8c4cc5aa..000000000 --- a/docs/depmod +++ /dev/null | |||
| @@ -1,57 +0,0 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # | ||
| 3 | # Simple depmod, use to generate modprobe.conf | ||
| 4 | # | ||
| 5 | # Copyright (C) 2008 by Vladimir Dronnikov <dronnikov@gmail.com> | ||
| 6 | # | ||
| 7 | # Licensed under GPLv2 | ||
| 8 | # | ||
| 9 | |||
| 10 | local BASE="${1:-/usr/lib/modules}" | ||
| 11 | |||
| 12 | find "$BASE" -name '*.ko.gz' | while read I ; do | ||
| 13 | N=`basename "$I" '.ko.gz'` | ||
| 14 | echo -n "@$N" | ||
| 15 | zcat "$I" | strings | grep '^depends=' | sed -e 's/^depends=$//' -e 's/^depends=/,/' -e 's/,/ @/g' | ||
| 16 | done | awk ' | ||
| 17 | { | ||
| 18 | # modules which has no dependencies are resolved | ||
| 19 | if ( NF == 1 ) { res[$1] = ""; next } | ||
| 20 | # others have to be resolved based on those which already resolved | ||
| 21 | i = $1; $1 = ""; deps[i] = $0; ++ndeps | ||
| 22 | } | ||
| 23 | END { | ||
| 24 | # resolve implicit dependencies | ||
| 25 | while ( ndeps ) for (mod in deps) { | ||
| 26 | if ( index(deps[mod], "@") > 0 ) { | ||
| 27 | $0 = deps[mod] | ||
| 28 | for ( i=1; i<=NF; ++i ) { | ||
| 29 | if ( substr($i,1,1) == "@" ) { | ||
| 30 | if ( $i in res ) { | ||
| 31 | $i = res[$i] " " substr($i,2) | ||
| 32 | } | ||
| 33 | } | ||
| 34 | } | ||
| 35 | deps[mod] = $0 | ||
| 36 | } else { | ||
| 37 | res[mod] = deps[mod] | ||
| 38 | delete deps[mod] | ||
| 39 | --ndeps | ||
| 40 | } | ||
| 41 | } | ||
| 42 | |||
| 43 | # output dependencies in modules.dep format | ||
| 44 | for ( mod in res ) { | ||
| 45 | $0 = res[mod] | ||
| 46 | s = "" | ||
| 47 | delete a | ||
| 48 | for ( i=1; i<=NF; ++i ) { | ||
| 49 | if ( ! ($i in a) ) { | ||
| 50 | a[$i] = $i | ||
| 51 | s = " ," $i s | ||
| 52 | } | ||
| 53 | } | ||
| 54 | print "," substr(mod,2) ":" s | ||
| 55 | } | ||
| 56 | } | ||
| 57 | ' | sort | sed -r -e "s!,([^,: ]*)!/usr/lib/modules/\\1.ko.gz!g" | ||
