diff options
author | Andrew Brooks <andrewgrantbrooks@gmail.com> | 2023-02-03 17:50:36 -0600 |
---|---|---|
committer | Andrew Brooks <andrewgrantbrooks@gmail.com> | 2023-02-03 17:50:36 -0600 |
commit | f4e4cac0c86f0e16aac773083aebbfc0e7daea43 (patch) | |
tree | cd7a2b27a71ad871aa6d591e59ace8b53c1a4329 /pkgs/build-support/docker/default.nix | |
parent | 6f63865cf470ce99b36bceacbefbb6886d05be51 (diff) | |
download | nixpkgs-f4e4cac0c86f0e16aac773083aebbfc0e7daea43.tar nixpkgs-f4e4cac0c86f0e16aac773083aebbfc0e7daea43.tar.gz nixpkgs-f4e4cac0c86f0e16aac773083aebbfc0e7daea43.tar.bz2 nixpkgs-f4e4cac0c86f0e16aac773083aebbfc0e7daea43.tar.lz nixpkgs-f4e4cac0c86f0e16aac773083aebbfc0e7daea43.tar.xz nixpkgs-f4e4cac0c86f0e16aac773083aebbfc0e7daea43.tar.zst nixpkgs-f4e4cac0c86f0e16aac773083aebbfc0e7daea43.zip |
dockerTools: Correctly unpack duplicate rootfs diffs
This PR addresses issue #214434 by preventing dockerTools.buildImage from deleting rootfs diffs until after they've been unpacked.
Diffstat (limited to 'pkgs/build-support/docker/default.nix')
-rw-r--r-- | pkgs/build-support/docker/default.nix | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index bdc93f3643f..0e4011a532b 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -259,13 +259,14 @@ rec { mkdir -p image/$extractionID/layer tar -C image/$extractionID/layer -xpf image/$layerTar - rm image/$layerTar find image/$extractionID/layer -name ".wh.*" -exec bash -c 'name="$(basename {}|sed "s/^.wh.//")"; mknod "$(dirname {})/$name" c 0 0; rm {}' \; # Get the next lower directory and continue the loop. lowerdir=image/$extractionID/layer''${lowerdir:+:}$lowerdir done + # Don't remove tarballs until all unpacked in case some are used more than once + awk '{print "image/"$0}' layer-list | xargs rm -f mkdir work mkdir layer |