Version:  2.0.40 2.2.26 2.4.37 3.13 3.14 3.15 3.16 3.17 3.18 3.19 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10

Linux/scripts/depmod.sh

  1 #!/bin/sh
  2 #
  3 # A depmod wrapper used by the toplevel Makefile
  4 
  5 if test $# -ne 3; then
  6         echo "Usage: $0 /sbin/depmod <kernelrelease> <symbolprefix>" >&2
  7         exit 1
  8 fi
  9 DEPMOD=$1
 10 KERNELRELEASE=$2
 11 SYMBOL_PREFIX=$3
 12 
 13 if ! test -r System.map -a -x "$DEPMOD"; then
 14         exit 0
 15 fi
 16 
 17 # older versions of depmod don't support -P <symbol-prefix>
 18 # support was added in module-init-tools 3.13
 19 if test -n "$SYMBOL_PREFIX"; then
 20         release=$("$DEPMOD" --version)
 21         package=$(echo "$release" | cut -d' ' -f 1)
 22         if test "$package" = "module-init-tools"; then
 23                 version=$(echo "$release" | cut -d' ' -f 2)
 24                 later=$(printf '%s\n' "$version" "3.13" | sort -V | tail -n 1)
 25                 if test "$later" != "$version"; then
 26                         # module-init-tools < 3.13, drop the symbol prefix
 27                         SYMBOL_PREFIX=""
 28                 fi
 29         fi
 30         if test -n "$SYMBOL_PREFIX"; then
 31                 SYMBOL_PREFIX="-P $SYMBOL_PREFIX"
 32         fi
 33 fi
 34 
 35 # older versions of depmod require the version string to start with three
 36 # numbers, so we cheat with a symlink here
 37 depmod_hack_needed=true
 38 tmp_dir=$(mktemp -d ${TMPDIR:-/tmp}/depmod.XXXXXX)
 39 mkdir -p "$tmp_dir/lib/modules/$KERNELRELEASE"
 40 if "$DEPMOD" -b "$tmp_dir" $KERNELRELEASE 2>/dev/null; then
 41         if test -e "$tmp_dir/lib/modules/$KERNELRELEASE/modules.dep" -o \
 42                 -e "$tmp_dir/lib/modules/$KERNELRELEASE/modules.dep.bin"; then
 43                 depmod_hack_needed=false
 44         fi
 45 fi
 46 rm -rf "$tmp_dir"
 47 if $depmod_hack_needed; then
 48         symlink="$INSTALL_MOD_PATH/lib/modules/99.98.$KERNELRELEASE"
 49         ln -s "$KERNELRELEASE" "$symlink"
 50         KERNELRELEASE=99.98.$KERNELRELEASE
 51 fi
 52 
 53 set -- -ae -F System.map
 54 if test -n "$INSTALL_MOD_PATH"; then
 55         set -- "$@" -b "$INSTALL_MOD_PATH"
 56 fi
 57 "$DEPMOD" "$@" "$KERNELRELEASE" $SYMBOL_PREFIX
 58 ret=$?
 59 
 60 if $depmod_hack_needed; then
 61         rm -f "$symlink"
 62 fi
 63 
 64 exit $ret

This page was automatically generated by LXR 0.3.1 (source).  •  Linux is a registered trademark of Linus Torvalds  •  Contact us