64 lines · 1.7 KB · Shell
RawDownload
#!/bin/sh## A depmod wrapper used by the toplevel Makefile if test $# -ne 3; then	echo "Usage: $0 /sbin/depmod <kernelrelease> <symbolprefix>" >&2	exit 1fiDEPMOD=$1KERNELRELEASE=$2SYMBOL_PREFIX=$3 if ! test -r System.map -a -x "$DEPMOD"; then	exit 0fi # older versions of depmod don't support -P <symbol-prefix># support was added in module-init-tools 3.13if 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"	fifi # older versions of depmod require the version string to start with three# numbers, so we cheat with a symlink heredepmod_hack_needed=truetmp_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		depmod_hack_needed=false	fifirm -rf "$tmp_dir"if $depmod_hack_needed; then	symlink="$INSTALL_MOD_PATH/lib/modules/99.98.$KERNELRELEASE"	ln -s "$KERNELRELEASE" "$symlink"	KERNELRELEASE=99.98.$KERNELRELEASEfi set -- -ae -F System.mapif test -n "$INSTALL_MOD_PATH"; then	set -- "$@" -b "$INSTALL_MOD_PATH"fi"$DEPMOD" "$@" "$KERNELRELEASE" $SYMBOL_PREFIXret=$? if $depmod_hack_needed; then	rm -f "$symlink"fi exit $ret