summary refs log tree commit diff
path: root/pkgs/build-support/docker/default.nix
diff options
context:
space:
mode:
authorAustin Seipp <aseipp@pobox.com>2019-02-21 08:10:45 -0600
committerAustin Seipp <aseipp@pobox.com>2019-02-21 08:30:47 -0600
commitc36c048c0ea3dfa3a88f42ede4ce30b95c9dc2af (patch)
tree1389b588453836d8641f6981b553871ec773ce00 /pkgs/build-support/docker/default.nix
parentbd3fdc99e365482db5ba81a6b5a26246cbf4bacc (diff)
downloadnixpkgs-c36c048c0ea3dfa3a88f42ede4ce30b95c9dc2af.tar
nixpkgs-c36c048c0ea3dfa3a88f42ede4ce30b95c9dc2af.tar.gz
nixpkgs-c36c048c0ea3dfa3a88f42ede4ce30b95c9dc2af.tar.bz2
nixpkgs-c36c048c0ea3dfa3a88f42ede4ce30b95c9dc2af.tar.lz
nixpkgs-c36c048c0ea3dfa3a88f42ede4ce30b95c9dc2af.tar.xz
nixpkgs-c36c048c0ea3dfa3a88f42ede4ce30b95c9dc2af.tar.zst
nixpkgs-c36c048c0ea3dfa3a88f42ede4ce30b95c9dc2af.zip
dockerTools: mark store-path-to-layer.sh as executable
bcf54ce5bbc8c325cfd2b6bcc5cec7661ef49183 introduced a treewide change to
use ${stdenv.shell} where-ever possible. However, this broke a script
used by dockerTools, store-path-to-layer.sh, as it did not preserve the
+x mode bit. This meant the file got put into the store as mode 0444,
resulting in a build-time error later on that looked like:

    xargs: /nix/store/jixivxhh3c8sncp9xlkc4ls3y5f2mmxh-store-path-to-layer.sh: Permission denied

However, in a twist of fate, bcf54ce5bbc8c325cfd2b6bcc5cec7661ef49183
not only introduced this regression but, in this particular instance,
didn't even fix the original bug: the store-path-to-layer.sh script
*still* uses /bin/sh as its shebang line, rather than an absolute path
to stdenv. (Fixing this can be done in a separate commit.)

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Diffstat (limited to 'pkgs/build-support/docker/default.nix')
-rw-r--r--pkgs/build-support/docker/default.nix1
1 files changed, 1 insertions, 0 deletions
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index ef17a3f4e58..4b20c562460 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -283,6 +283,7 @@ rec {
     let
       storePathToLayer = substituteAll
       { inherit (stdenv) shell;
+        isExecutable = true;
         src = ./store-path-to-layer.sh;
       };
     in