Blame view

scripts/depmod.sh 1.41 KB
fc4da9a3e   Michal Marek   kbuild: Move depm...
1
  #!/bin/sh
b24413180   Greg Kroah-Hartman   License cleanup: ...
2
  # SPDX-License-Identifier: GPL-2.0
fc4da9a3e   Michal Marek   kbuild: Move depm...
3
4
  #
  # A depmod wrapper used by the toplevel Makefile
5a144a1ac   Masahiro Yamada   depmod.sh: remove...
5
6
  if test $# -ne 2; then
  	echo "Usage: $0 /sbin/depmod <kernelrelease>" >&2
fc4da9a3e   Michal Marek   kbuild: Move depm...
7
8
9
10
  	exit 1
  fi
  DEPMOD=$1
  KERNELRELEASE=$2
934193a65   Randy Dunlap   kbuild: verify th...
11
  if ! test -r System.map ; then
f0b0d88a8   Randy Dunlap   kbuild: modules_i...
12
  	echo "Warning: modules_install: missing 'System.map' file. Skipping depmod." >&2
fc4da9a3e   Michal Marek   kbuild: Move depm...
13
14
  	exit 0
  fi
8937e8971   James Hogan   depmod: pass -P $...
15

43dee885b   Linus Torvalds   depmod: handle th...
16
17
  # legacy behavior: "depmod" in /sbin, no /sbin in PATH
  PATH="$PATH:/sbin"
934193a65   Randy Dunlap   kbuild: verify th...
18
  if [ -z $(command -v $DEPMOD) ]; then
914b087ff   Randy Dunlap   kbuild: make miss...
19
  	echo "Warning: 'make modules_install' requires $DEPMOD. Please install it." >&2
934193a65   Randy Dunlap   kbuild: verify th...
20
  	echo "This is probably in the kmod package." >&2
914b087ff   Randy Dunlap   kbuild: make miss...
21
  	exit 0
934193a65   Randy Dunlap   kbuild: verify th...
22
  fi
bfe5424a8   Michal Marek   kbuild: Hack for ...
23
24
25
  # older versions of depmod require the version string to start with three
  # numbers, so we cheat with a symlink here
  depmod_hack_needed=true
8fc62e594   Michal Marek   kbuild: Do not wr...
26
27
28
29
30
  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
bfe5424a8   Michal Marek   kbuild: Hack for ...
31
32
33
  		depmod_hack_needed=false
  	fi
  fi
8fc62e594   Michal Marek   kbuild: Do not wr...
34
  rm -rf "$tmp_dir"
bfe5424a8   Michal Marek   kbuild: Hack for ...
35
36
37
38
39
  if $depmod_hack_needed; then
  	symlink="$INSTALL_MOD_PATH/lib/modules/99.98.$KERNELRELEASE"
  	ln -s "$KERNELRELEASE" "$symlink"
  	KERNELRELEASE=99.98.$KERNELRELEASE
  fi
fc4da9a3e   Michal Marek   kbuild: Move depm...
40
41
42
43
  set -- -ae -F System.map
  if test -n "$INSTALL_MOD_PATH"; then
  	set -- "$@" -b "$INSTALL_MOD_PATH"
  fi
5a144a1ac   Masahiro Yamada   depmod.sh: remove...
44
  "$DEPMOD" "$@" "$KERNELRELEASE"
bfe5424a8   Michal Marek   kbuild: Hack for ...
45
46
47
48
49
50
51
  ret=$?
  
  if $depmod_hack_needed; then
  	rm -f "$symlink"
  fi
  
  exit $ret