diff options
author | Vladimír Čunát <v@cunat.cz> | 2019-06-05 11:06:44 +0200 |
---|---|---|
committer | Vladimír Čunát <v@cunat.cz> | 2019-06-05 11:06:44 +0200 |
commit | 576af1718704f9eca5db0983a94edcf8d06caddd (patch) | |
tree | 5abaed9414b2de580360f7fe1e1add62bff81dd5 /pkgs/build-support | |
parent | c4724fb7bcc83a778632ce096e37b7dcdd3b034b (diff) | |
parent | e283999204ef8b7c3c3e10e93da82bf39f06d1fa (diff) | |
download | nixlib-576af1718704f9eca5db0983a94edcf8d06caddd.tar nixlib-576af1718704f9eca5db0983a94edcf8d06caddd.tar.gz nixlib-576af1718704f9eca5db0983a94edcf8d06caddd.tar.bz2 nixlib-576af1718704f9eca5db0983a94edcf8d06caddd.tar.lz nixlib-576af1718704f9eca5db0983a94edcf8d06caddd.tar.xz nixlib-576af1718704f9eca5db0983a94edcf8d06caddd.tar.zst nixlib-576af1718704f9eca5db0983a94edcf8d06caddd.zip |
Merge branch 'master' into staging-next
Hydra nixpkgs: ?compare=1523575
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/kernel/make-initrd.nix | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/pkgs/build-support/kernel/make-initrd.nix b/pkgs/build-support/kernel/make-initrd.nix index 7ad1affb65a3..7a5642e565de 100644 --- a/pkgs/build-support/kernel/make-initrd.nix +++ b/pkgs/build-support/kernel/make-initrd.nix @@ -16,10 +16,16 @@ , name ? "initrd" , compressor ? "gzip -9n" , prepend ? [] +, lib }: +let + # !!! Move this into a public lib function, it is probably useful for others + toValidStoreName = x: with builtins; + lib.concatStringsSep "-" (filter (x: !(isList x)) (split "[^a-zA-Z0-9_=.?-]+" x)); -stdenv.mkDerivation rec { +in stdenv.mkDerivation rec { inherit name; + builder = ./make-initrd.sh; makeUInitrd = stdenv.hostPlatform.platform.kernelTarget == "uImage"; @@ -36,8 +42,12 @@ stdenv.mkDerivation rec { # Note: we don't use closureInfo yet, as that won't build with nix-1.x. # See #36268. exportReferencesGraph = - map (x: [("closure-" + baseNameOf x.symlink) x.object]) contents; + lib.zipListsWith + (x: i: [("closure-${toValidStoreName (baseNameOf x.symlink)}-${toString i}") x.object]) + contents + (lib.range 0 (lib.length contents - 1)); pathsFromGraph = ./paths-from-graph.pl; inherit compressor prepend; } + |