kbuild: Hack for depmod not handling X.Y versions
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / scripts / depmod.sh
index 9f205dafed3652a835dccd0ef1cbcc9a2836c96a..3b029cba2bafb8c5c8d9d77d8e5c978d257f7f49 100755 (executable)
@@ -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