2011-06-09 17:35:22 +04:00
#!/bin/sh
#
# A depmod wrapper used by the toplevel Makefile
2013-02-06 16:56:59 +04:00
if test $# -ne 3; then
echo " Usage: $0 /sbin/depmod <kernelrelease> <symbolprefix> " >& 2
2011-06-09 17:35:22 +04:00
exit 1
fi
DEPMOD = $1
KERNELRELEASE = $2
2013-02-06 16:56:59 +04:00
SYMBOL_PREFIX = $3
2011-06-09 17:35:22 +04:00
if ! test -r System.map -a -x " $DEPMOD " ; then
exit 0
fi
2013-02-06 16:56:59 +04:00
# older versions of depmod don't support -P <symbol-prefix>
# support was added in module-init-tools 3.13
if test -n " $SYMBOL_PREFIX " ; then
release = $( " $DEPMOD " --version)
package = $( echo " $release " | cut -d' ' -f 1)
if test " $package " = "module-init-tools" ; then
version = $( echo " $release " | cut -d' ' -f 2)
later = $( printf '%s\n' " $version " "3.13" | sort -V | tail -n 1)
if test " $later " != " $version " ; then
# module-init-tools < 3.13, drop the symbol prefix
SYMBOL_PREFIX = ""
fi
fi
if test -n " $SYMBOL_PREFIX " ; then
SYMBOL_PREFIX = " -P $SYMBOL_PREFIX "
fi
fi
2011-06-09 18:35:41 +04:00
# older versions of depmod require the version string to start with three
# numbers, so we cheat with a symlink here
depmod_hack_needed = true
2011-07-12 13:54:48 +04:00
tmp_dir = $( mktemp -d ${ TMPDIR :- /tmp } /depmod.XXXXXX)
mkdir -p " $tmp_dir /lib/modules/ $KERNELRELEASE "
if " $DEPMOD " -b " $tmp_dir " $KERNELRELEASE 2>/dev/null; then
if test -e " $tmp_dir /lib/modules/ $KERNELRELEASE /modules.dep " -o \
-e " $tmp_dir /lib/modules/ $KERNELRELEASE /modules.dep.bin " ; then
2011-06-09 18:35:41 +04:00
depmod_hack_needed = false
fi
fi
2011-07-12 13:54:48 +04:00
rm -rf " $tmp_dir "
2011-06-09 18:35:41 +04:00
if $depmod_hack_needed ; then
symlink = " $INSTALL_MOD_PATH /lib/modules/99.98. $KERNELRELEASE "
ln -s " $KERNELRELEASE " " $symlink "
KERNELRELEASE = 99.98.$KERNELRELEASE
fi
2011-06-09 17:35:22 +04:00
set -- -ae -F System.map
if test -n " $INSTALL_MOD_PATH " ; then
set -- " $@ " -b " $INSTALL_MOD_PATH "
fi
2013-02-06 16:56:59 +04:00
" $DEPMOD " " $@ " " $KERNELRELEASE " $SYMBOL_PREFIX
2011-06-09 18:35:41 +04:00
ret = $?
if $depmod_hack_needed ; then
rm -f " $symlink "
fi
exit $ret