aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/build-support/docker/store-path-to-layer.sh
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/build-support/docker/store-path-to-layer.sh')
-rwxr-xr-xnixpkgs/pkgs/build-support/docker/store-path-to-layer.sh50
1 files changed, 0 insertions, 50 deletions
diff --git a/nixpkgs/pkgs/build-support/docker/store-path-to-layer.sh b/nixpkgs/pkgs/build-support/docker/store-path-to-layer.sh
deleted file mode 100755
index 7437da51cc4..00000000000
--- a/nixpkgs/pkgs/build-support/docker/store-path-to-layer.sh
+++ /dev/null
@@ -1,50 +0,0 @@
-#!@shell@
-
-set -eu
-
-layerNumber=$1
-shift
-
-layerPath="./layers/$layerNumber"
-echo "Creating layer #$layerNumber for $@"
-
-mkdir -p "$layerPath"
-
-# Make sure /nix and /nix/store appear first in the archive.
-#
-# We create the directories here and use them because
-# when there are other things being added to the
-# nix store, tar could fail, saying,
-# "tar: /nix/store: file changed as we read it"
-mkdir -p nix/store
-
-# Then we change into the /nix/store in order to
-# avoid a similar "file changed as we read it" error
-# as above. Namely, if we use the absolute path of
-# /nix/store/123-pkg and something new is added to the nix
-# store while tar is running, it will detect a change to
-# /nix/store and fail. Instead, if we cd into the nix store
-# and copy the relative nix store path, tar will ignore
-# changes to /nix/store. In order to create the correct
-# structure in the tar file, we transform the relative nix
-# store path to the absolute store path.
-tarhash=$(
- basename -a "$@" |
- tar --create --preserve-permissions --absolute-names nix \
- --directory /nix/store --verbatim-files-from --files-from - \
- --hard-dereference --sort=name \
- --mtime="@$SOURCE_DATE_EPOCH" \
- --owner=0 --group=0 \
- --transform 's,^nix$,/\0,' \
- --transform 's,^nix/store$,/\0,' \
- --transform 's,^[^/],/nix/store/\0,rS' |
- tee "$layerPath/layer.tar" |
- tarsum
-)
-
-# Add a 'checksum' field to the JSON, with the value set to the
-# checksum of the tarball.
-cat ./generic.json | jshon -s "$tarhash" -i checksum > $layerPath/json
-
-# Indicate to docker that we're using schema version 1.0.
-echo -n "1.0" > $layerPath/VERSION