From d7f3186b4818fe8c6aaa5922861ed611c7249475 Mon Sep 17 00:00:00 2001 From: Daniƫl de Kok Date: Wed, 5 Jun 2019 11:10:00 +0200 Subject: dockerTools.buildLayeredImage: restore layer sharing PR #58431 added /nix/store to each layer.tar. However, the timestamp was not explicitly set while adding /nix and /nix/store to the archive. This resulted in different SHA256 hashes of layer.tar between image builds. This change sets time and owner when tar'ing /nix/store. --- pkgs/build-support/docker/store-path-to-layer.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'pkgs/build-support/docker/store-path-to-layer.sh') diff --git a/pkgs/build-support/docker/store-path-to-layer.sh b/pkgs/build-support/docker/store-path-to-layer.sh index 98c5b8cc212..bcad9e83e06 100755 --- a/pkgs/build-support/docker/store-path-to-layer.sh +++ b/pkgs/build-support/docker/store-path-to-layer.sh @@ -9,7 +9,9 @@ layerPath="./layers/$layerNumber" echo "Creating layer #$layerNumber for $@" mkdir -p "$layerPath" -tar --no-recursion -rf "$layerPath/layer.tar" /nix /nix/store +tar --no-recursion -rf "$layerPath/layer.tar" \ + --mtime="@$SOURCE_DATE_EPOCH" \ + --owner=0 --group=0 /nix /nix/store tar -rpf "$layerPath/layer.tar" --hard-dereference --sort=name \ --mtime="@$SOURCE_DATE_EPOCH" \ --owner=0 --group=0 "$@" -- cgit 1.4.1