summary refs log tree commit diff
path: root/pkgs/os-specific/linux/module-init-tools/aggregator.nix
blob: cc4e6ab355219ee76a73735042da5b8699b387e3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{stdenv, module_init_tools, modules, buildEnv}:

buildEnv {
  name = "kernel-modules";

  paths = modules;

  postBuild =
    ''
      source ${stdenv}/setup
    
      kernelVersion=$(cd $out/lib/modules && ls -d *)
      if test "$(echo $kernelVersion | wc -w)" != 1; then
         echo "inconsistent kernel versions: $kernelVersion"
         exit 1
      fi
    
      echo "kernel version is $kernelVersion"

      # Regenerate the depmod map files.  Be sure to pass an explicit
      # kernel version number, otherwise depmod will use `uname -r'.
      if test -w $out/lib/modules/$kernelVersion; then
          rm -f $out/lib/modules/$kernelVersion/modules.*
          MODULE_DIR=$out/lib/modules/ ${module_init_tools}/sbin/depmod -a $kernelVersion
      fi
    '';
}