diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2018-02-08 13:56:54 +0100 |
---|---|---|
committer | Eelco Dolstra <edolstra@gmail.com> | 2018-02-23 16:41:31 +0100 |
commit | 776a5e6ebfacc6831527bc6c3c1a58ef2087c819 (patch) | |
tree | 0b877d6a5b4c80759178a1332613476b2a86a010 /pkgs/build-support/kernel | |
parent | d12c9911dfcb336243c9d13b8bc7042be3f3d4b2 (diff) |
makeInitrd: Use closureInfo
Diffstat (limited to 'pkgs/build-support/kernel')
-rw-r--r-- | pkgs/build-support/kernel/make-initrd.nix | 9 | ||||
-rw-r--r-- | pkgs/build-support/kernel/make-initrd.sh | 6 | ||||
-rw-r--r-- | pkgs/build-support/kernel/paths-from-graph.pl | 2 |
3 files changed, 6 insertions, 11 deletions
diff --git a/pkgs/build-support/kernel/make-initrd.nix b/pkgs/build-support/kernel/make-initrd.nix index 5353ae828410..a4d162dc8b51 100644 --- a/pkgs/build-support/kernel/make-initrd.nix +++ b/pkgs/build-support/kernel/make-initrd.nix @@ -12,7 +12,7 @@ # `contents = {object = ...; symlink = /init;}' is a typical # argument. -{ stdenv, perl, cpio, contents, compressor, prepend, ubootTools +{ stdenv, closureInfo, cpio, contents, compressor, prepend, ubootTools , hostPlatform }: @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { makeUInitrd = hostPlatform.platform.kernelTarget == "uImage"; - nativeBuildInputs = [ perl cpio ] + nativeBuildInputs = [ cpio ] ++ stdenv.lib.optional makeUInitrd ubootTools; # !!! should use XML. @@ -30,10 +30,7 @@ stdenv.mkDerivation rec { symlinks = map (x: x.symlink) contents; suffices = map (x: if x ? suffix then x.suffix else "none") contents; - # For obtaining the closure of `contents'. - exportReferencesGraph = - map (x: [("closure-" + baseNameOf x.symlink) x.object]) contents; - pathsFromGraph = ./paths-from-graph.pl; + closure = closureInfo { rootPaths = (map (x: x.object) contents); }; inherit compressor prepend; } diff --git a/pkgs/build-support/kernel/make-initrd.sh b/pkgs/build-support/kernel/make-initrd.sh index 0aeaedeb3724..2e64eeb81c1b 100644 --- a/pkgs/build-support/kernel/make-initrd.sh +++ b/pkgs/build-support/kernel/make-initrd.sh @@ -25,13 +25,9 @@ for ((n = 0; n < ${#objects[*]}; n++)); do done -# Get the paths in the closure of `object'. -storePaths=$(perl $pathsFromGraph closure-*) - - # Paths in cpio archives *must* be relative, otherwise the kernel # won't unpack 'em. -(cd root && cp -prd --parents $storePaths .) +(cd root && cp -prd --parents $(cat $closure/store-paths) .) # Put the closure in a gzipped cpio archive. diff --git a/pkgs/build-support/kernel/paths-from-graph.pl b/pkgs/build-support/kernel/paths-from-graph.pl index 747e1edec811..1465b73fddb6 100644 --- a/pkgs/build-support/kernel/paths-from-graph.pl +++ b/pkgs/build-support/kernel/paths-from-graph.pl @@ -1,3 +1,5 @@ +# NOTE: this script is deprecated. Use closureInfo instead. + # Parses a /nix/store/*-closure file and prints # various information. # By default, the nodes in the graph are printed to stdout. |