#!/bin/sh # # A depmod wrapper used by the toplevel Makefile if test $Argc -ne 3 { echo "Usage: $0 /sbin/depmod " > !2 exit 1 } setglobal DEPMOD = $1 setglobal KERNELRELEASE = $2 setglobal SYMBOL_PREFIX = $3 if ! test -r System.map -a -x $DEPMOD { exit 0 } # older versions of depmod don't support -P # support was added in module-init-tools 3.13 if test -n $SYMBOL_PREFIX { setglobal release = $[$DEPMOD --version] setglobal package = $[echo $release | cut -d' ' -f 1] if test $package = "module-init-tools" { setglobal version = $[echo $release | cut -d' ' -f 2] setglobal later = $[printf '%s\n' $version "3.13" | sort -V | tail -n 1] if test $later != $version { # module-init-tools < 3.13, drop the symbol prefix setglobal SYMBOL_PREFIX = ''"" } } if test -n $SYMBOL_PREFIX { setglobal SYMBOL_PREFIX = ""-P $SYMBOL_PREFIX"" } } # older versions of depmod require the version string to start with three # numbers, so we cheat with a symlink here setglobal depmod_hack_needed = 'true' setglobal tmp_dir = $[mktemp -d $(TMPDIR:-/tmp)/depmod.XXXXXX] mkdir -p "$tmp_dir/lib/modules/$KERNELRELEASE" if $DEPMOD -b $tmp_dir $KERNELRELEASE !2 >/dev/null { if test -e "$tmp_dir/lib/modules/$KERNELRELEASE/modules.dep" -o \ -e "$tmp_dir/lib/modules/$KERNELRELEASE/modules.dep.bin" { setglobal depmod_hack_needed = 'false' } } rm -rf $tmp_dir if $depmod_hack_needed { setglobal symlink = ""$INSTALL_MOD_PATH/lib/modules/99.98.$KERNELRELEASE"" ln -s $KERNELRELEASE $symlink setglobal KERNELRELEASE = "99.98.$KERNELRELEASE" } set -- -ae -F System.map if test -n $INSTALL_MOD_PATH { set -- @Argv -b $INSTALL_MOD_PATH } $DEPMOD @Argv $KERNELRELEASE $SYMBOL_PREFIX setglobal ret = $Status if $depmod_hack_needed { rm -f $symlink } exit $ret