fix kernel version detection: drop ${target} from kernel version string
[grml-live.git] / etc / grml / fai / config / scripts / GRMLBASE / 16-depmod
1 #!/bin/bash
2 # Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/16-depmod
3 # Purpose:       set up kernel's modules.dep
4 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
5 # Bug-Reports:   see http://grml.org/bugs/
6 # License:       This file is licensed under the GPL v2 or any later version.
7 ################################################################################
8
9 set -u
10 set -e
11
12 if ! [ -x $target/sbin/depmod ] ; then
13   echo "Warning: depmod not installed"
14   exit 0
15 fi
16
17 NEEDS_CHECK=false
18 depmod_version=$($ROOTCMD depmod --version | awk '/module-init-tools/ {print $2}')
19 if [ -n "${depmod_version:-}" ] ; then
20   # depmod of module-init-tools from squeeze or older
21   dpkg --compare-versions "$depmod_version" lt "3.13" && NEEDS_CHECK=true
22 fi
23
24 for kernel in ${target}/boot/vmlinuz-* ; do
25   kernelversion=${kernel##$target}
26   kernelversion=${kernelversion##/boot/vmlinuz-}
27
28   # provide verbose error message regarding the annoying
29   # kernel x.y-grml[64] <-> module-init-tools v3.12 situation
30   if $NEEDS_CHECK && echo "$kernelversion" | grep -q '[[:digit:]]\.[[:digit:]]-' ; then
31     echo "Error: module-init-tools version <= 3.12 with two-digit kernel version found." >&2
32     echo "This is known to be broken and does not provide a working modules.dep. :(" >&2
33     exit 1
34   fi
35
36   echo "Updating modules.dep for kernel $kernelversion"
37   $ROOTCMD depmod -ae -F /boot/System.map-"$kernelversion" "$kernelversion"
38 done
39
40 ## END OF FILE #################################################################
41 # vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2