summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Marek <mmarek@suse.cz>2011-06-09 16:35:41 +0200
committerMichal Marek <mmarek@suse.cz>2011-06-09 23:05:54 +0200
commitbfe5424a8b31624e7a476f959d552999f931e7c7 (patch)
treed861c9867bd27845697502e242b632d78e01d487
parentkbuild: Move depmod call to a separate script (diff)
downloadlinux-bfe5424a8b31624e7a476f959d552999f931e7c7.tar.xz
linux-bfe5424a8b31624e7a476f959d552999f931e7c7.zip
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>
-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
if ! test -r System.map -a -x "$DEPMOD"; then
exit 0
fi
+# older versions of depmod require the version string to start with three
+# numbers, so we cheat with a symlink here
+depmod_hack_needed=true
+mkdir -p .tmp_depmod/lib/modules/$KERNELRELEASE
+if "$DEPMOD" -b .tmp_depmod $KERNELRELEASE 2>/dev/null; then
+ if test -e .tmp_depmod/lib/modules/$KERNELRELEASE/modules.dep -o \
+ -e .tmp_depmod/lib/modules/$KERNELRELEASE/modules.dep.bin; then
+ depmod_hack_needed=false
+ fi
+fi
+if $depmod_hack_needed; then
+ symlink="$INSTALL_MOD_PATH/lib/modules/99.98.$KERNELRELEASE"
+ ln -s "$KERNELRELEASE" "$symlink"
+ KERNELRELEASE=99.98.$KERNELRELEASE
+fi
+
set -- -ae -F System.map
if test -n "$INSTALL_MOD_PATH"; then
set -- "$@" -b "$INSTALL_MOD_PATH"
fi
-exec "$DEPMOD" "$@" "$KERNELRELEASE"
+"$DEPMOD" "$@" "$KERNELRELEASE"
+ret=$?
+
+if $depmod_hack_needed; then
+ rm -f "$symlink"
+fi
+
+exit $ret