fix kernel version detection in config/scripts/
[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##/boot/vmlinuz-}
26
27   # provide verbose error message regarding the annoying
28   # kernel x.y-grml[64] <-> module-init-tools v3.12 situation
29   if $NEEDS_CHECK && echo "$kernelversion" | grep -q '[[:digit:]]\.[[:digit:]]-' ; then
30     echo "Error: module-init-tools version <= 3.12 with two-digit kernel version found." >&2
31     echo "This is known to be broken and does not provide a working modules.dep. :(" >&2
32     exit 1
33   fi
34
35   echo "Updating modules.dep for kernel $kernelversion"
36   $ROOTCMD depmod -ae -F /boot/System.map-"$kernelversion" "$kernelversion"
37 done
38
39 ## END OF FILE #################################################################
40 # vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2