about summary refs log tree commit diff
path: root/pkgs/os-specific/linux/kernel
diff options
context:
space:
mode:
authorArian van Putten <arian.vanputten@gmail.com>2020-04-28 15:08:13 +0200
committerArian van Putten <arian.vanputten@gmail.com>2020-04-28 15:34:44 +0200
commitd103dc49986ed4c7a242a832d4f74a85062e2395 (patch)
tree1b1d14d96419cc47f965f32c365bcd4c41d5a2fc /pkgs/os-specific/linux/kernel
parent20e67f1fb83b2a4a43571d9a648dee07e2cd15af (diff)
downloadnixlib-d103dc49986ed4c7a242a832d4f74a85062e2395.tar
nixlib-d103dc49986ed4c7a242a832d4f74a85062e2395.tar.gz
nixlib-d103dc49986ed4c7a242a832d4f74a85062e2395.tar.bz2
nixlib-d103dc49986ed4c7a242a832d4f74a85062e2395.tar.lz
nixlib-d103dc49986ed4c7a242a832d4f74a85062e2395.tar.xz
nixlib-d103dc49986ed4c7a242a832d4f74a85062e2395.tar.zst
nixlib-d103dc49986ed4c7a242a832d4f74a85062e2395.zip
linux: do not depend on systemd indirectly
utillinux depends on systemd because:

* uuidd supports socket activation
* lslogins can show recent journal entries
* fstrim comes with a service file (and we use this in NixOS)
* logger can write journal entries
(See https://www.openembedded.org/pipermail/openembedded-core/2015-February/102069.html)

systemd doesn't depend on utillinux but on utillinuxMinimal which is a
version of utillinux without these features to avoid cyclic
dependencies.

With this change, the linux kernel (of which i don't fully understand
why it would depend on util-linux in the first place, but this was added in
https://github.com/NixOS/nixpkgs/pull/32137/files without too much
explanation) depends on the minimal version of util-linux too.

This makes it that every time we change build flags in systemd
the linux kernel doesn't have to wastefully rebuild.
Diffstat (limited to 'pkgs/os-specific/linux/kernel')
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix6
1 files changed, 3 insertions, 3 deletions
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 71505840b869..d73e0a8ac909 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -1,6 +1,6 @@
 { buildPackages, runCommand, nettools, bc, bison, flex, perl, rsync, gmp, libmpc, mpfr, openssl
 , libelf, cpio
-, utillinux
+, utillinuxMinimal
 , writeTextFile
 }:
 
@@ -281,7 +281,7 @@ let
 in
 
 assert stdenv.lib.versionAtLeast version "4.14" -> libelf != null;
-assert stdenv.lib.versionAtLeast version "4.15" -> utillinux != null;
+assert stdenv.lib.versionAtLeast version "4.15" -> utillinuxMinimal != null;
 stdenv.mkDerivation ((drvAttrs config stdenv.hostPlatform.platform kernelPatches configfile) // {
   pname = "linux";
   inherit version;
@@ -292,7 +292,7 @@ stdenv.mkDerivation ((drvAttrs config stdenv.hostPlatform.platform kernelPatches
   nativeBuildInputs = [ perl bc nettools openssl rsync gmp libmpc mpfr ]
       ++ optional  (stdenv.hostPlatform.platform.kernelTarget == "uImage") buildPackages.ubootTools
       ++ optional  (stdenv.lib.versionAtLeast version "4.14") libelf
-      ++ optional  (stdenv.lib.versionAtLeast version "4.15") utillinux
+      ++ optional  (stdenv.lib.versionAtLeast version "4.15") utillinuxMinimal
       ++ optionals (stdenv.lib.versionAtLeast version "4.16") [ bison flex ]
       ++ optional  (stdenv.lib.versionAtLeast version "5.2")  cpio
       ;