kbuild: Hack for depmod not handling X.Y versions
[linux-2.6.git] / scripts / depmod.sh
1 #!/bin/sh
2 #
3 # A depmod wrapper used by the toplevel Makefile
4
5 if test $# -ne 2; then
6         echo "Usage: $0 /sbin/depmod <kernelrelease>" >&2
7         exit 1
8 fi
9 DEPMOD=$1
10 KERNELRELEASE=$2
11
12 if ! "$DEPMOD" -V 2>/dev/null | grep -q module-init-tools; then
13         echo "Warning: you may need to install module-init-tools" >&2
14         echo "See http://www.codemonkey.org.uk/docs/post-halloween-2.6.txt" >&2
15         sleep 1
16 fi
17
18 if ! test -r System.map -a -x "$DEPMOD"; then
19         exit 0
20 fi
21 # older versions of depmod require the version string to start with three
22 # numbers, so we cheat with a symlink here
23 depmod_hack_needed=true
24 mkdir -p .tmp_depmod/lib/modules/$KERNELRELEASE
25 if "$DEPMOD" -b .tmp_depmod $KERNELRELEASE 2>/dev/null; then
26         if test -e .tmp_depmod/lib/modules/$KERNELRELEASE/modules.dep -o \
27                 -e .tmp_depmod/lib/modules/$KERNELRELEASE/modules.dep.bin; then
28                 depmod_hack_needed=false
29         fi
30 fi
31 if $depmod_hack_needed; then
32         symlink="$INSTALL_MOD_PATH/lib/modules/99.98.$KERNELRELEASE"
33         ln -s "$KERNELRELEASE" "$symlink"
34         KERNELRELEASE=99.98.$KERNELRELEASE
35 fi
36
37 set -- -ae -F System.map
38 if test -n "$INSTALL_MOD_PATH"; then
39         set -- "$@" -b "$INSTALL_MOD_PATH"
40 fi
41 "$DEPMOD" "$@" "$KERNELRELEASE"
42 ret=$?
43
44 if $depmod_hack_needed; then
45         rm -f "$symlink"
46 fi
47
48 exit $ret