From fc4da9a3e68b1f64237fafda084f61067f568a99 Mon Sep 17 00:00:00 2001 From: Michal Marek Date: Thu, 9 Jun 2011 15:35:22 +0200 Subject: kbuild: Move depmod call to a separate script Do not bloat the Makefile with multiline shell statements. No user-visible change intended. Signed-off-by: Michal Marek --- scripts/depmod.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100755 scripts/depmod.sh (limited to 'scripts/depmod.sh') diff --git a/scripts/depmod.sh b/scripts/depmod.sh new file mode 100755 index 000000000000..9f205dafed36 --- /dev/null +++ b/scripts/depmod.sh @@ -0,0 +1,25 @@ +#!/bin/sh +# +# A depmod wrapper used by the toplevel Makefile + +if test $# -ne 2; then + echo "Usage: $0 /sbin/depmod " >&2 + exit 1 +fi +DEPMOD=$1 +KERNELRELEASE=$2 + +if ! "$DEPMOD" -V 2>/dev/null | grep -q module-init-tools; then + echo "Warning: you may need to install module-init-tools" >&2 + echo "See http://www.codemonkey.org.uk/docs/post-halloween-2.6.txt" >&2 + sleep 1 +fi + +if ! test -r System.map -a -x "$DEPMOD"; then + exit 0 +fi +set -- -ae -F System.map +if test -n "$INSTALL_MOD_PATH"; then + set -- "$@" -b "$INSTALL_MOD_PATH" +fi +exec "$DEPMOD" "$@" "$KERNELRELEASE" -- cgit v1.2.3-70-g09d2 From bfe5424a8b31624e7a476f959d552999f931e7c7 Mon Sep 17 00:00:00 2001 From: Michal Marek Date: Thu, 9 Jun 2011 16:35:41 +0200 Subject: 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 ... To support these versions, we create a symlink with two numbers prepended. Signed-off-by: Michal Marek --- scripts/depmod.sh | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'scripts/depmod.sh') 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 -- cgit v1.2.3-70-g09d2