#!/bin/bash
# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/16-depmod
# Purpose:       set up kernel's modules.dep
# Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
# Bug-Reports:   see http://grml.org/bugs/
# License:       This file is licensed under the GPL v2 or any later version.
################################################################################

set -u
set -e

if ! [ -x $target/sbin/depmod ] ; then
  echo "Warning: depmod not installed"
  exit 0
fi

NEEDS_CHECK=false
depmod_version=$($ROOTCMD depmod --version | awk '/module-init-tools/ {print $2}')
if [ -n "${depmod_version:-}" ] ; then
  # depmod of module-init-tools from squeeze or older
  dpkg --compare-versions "$depmod_version" lt "3.13" && NEEDS_CHECK=true
fi

for kernel in ${target}/boot/vmlinuz-* ; do
  kernelversion=${kernel##$target}
  kernelversion=${kernelversion##/boot/vmlinuz-}

  # provide verbose error message regarding the annoying
  # kernel x.y-grml[64] <-> module-init-tools v3.12 situation
  if $NEEDS_CHECK && echo "$kernelversion" | grep -q '[[:digit:]]\.[[:digit:]]-' ; then
    echo "Error: module-init-tools version <= 3.12 with two-digit kernel version found." >&2
    echo "This is known to be broken and does not provide a working modules.dep. :(" >&2
    exit 1
  fi

  echo "Updating modules.dep for kernel $kernelversion"
  $ROOTCMD depmod -ae -F /boot/System.map-"$kernelversion" "$kernelversion"
done

## END OF FILE #################################################################
# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
