aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorMichal Marek <mmarek@suse.cz>2011-06-09 10:35:41 -0400
committerMichal Marek <mmarek@suse.cz>2011-06-09 17:05:54 -0400
commitbfe5424a8b31624e7a476f959d552999f931e7c7 (patch)
treed861c9867bd27845697502e242b632d78e01d487 /scripts
parentfc4da9a3e68b1f64237fafda084f61067f568a99 (diff)
kbuild: Hack for depmod not handling X.Y versions
depmod from module-init-tools < 3.13 and the busybox depmod check if the kernel release starts with <num>.<num>.<num>. To support these versions, we create a symlink with two numbers prepended. Signed-off-by: Michal Marek <mmarek@suse.cz>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/depmod.sh25
1 files changed, 24 insertions, 1 deletions
diff --git a/scripts/depmod.sh b/scripts/depmod.sh
index 9f205dafed36..3b029cba2baf 100755
--- a/scripts/depmod.sh
+++ b/scripts/depmod.sh
@@ -18,8 +18,31 @@ fi
18if ! test -r System.map -a -x "$DEPMOD"; then 18if ! test -r System.map -a -x "$DEPMOD"; then
19 exit 0 19 exit 0
20fi 20fi
21# older versions of depmod require the version string to start with three
22# numbers, so we cheat with a symlink here
23depmod_hack_needed=true
24mkdir -p .tmp_depmod/lib/modules/$KERNELRELEASE
25if "$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
30fi
31if $depmod_hack_needed; then
32 symlink="$INSTALL_MOD_PATH/lib/modules/99.98.$KERNELRELEASE"
33 ln -s "$KERNELRELEASE" "$symlink"
34 KERNELRELEASE=99.98.$KERNELRELEASE
35fi
36
21set -- -ae -F System.map 37set -- -ae -F System.map
22if test -n "$INSTALL_MOD_PATH"; then 38if test -n "$INSTALL_MOD_PATH"; then
23 set -- "$@" -b "$INSTALL_MOD_PATH" 39 set -- "$@" -b "$INSTALL_MOD_PATH"
24fi 40fi
25exec "$DEPMOD" "$@" "$KERNELRELEASE" 41"$DEPMOD" "$@" "$KERNELRELEASE"
42ret=$?
43
44if $depmod_hack_needed; then
45 rm -f "$symlink"
46fi
47
48exit $ret