aboutsummaryrefslogtreecommitdiff
path: root/pkgs/build-support/fetchzip/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/build-support/fetchzip/default.nix')
-rw-r--r--pkgs/build-support/fetchzip/default.nix7
1 files changed, 7 insertions, 0 deletions
diff --git a/pkgs/build-support/fetchzip/default.nix b/pkgs/build-support/fetchzip/default.nix
index 44748f231bc2..a1744b48deb9 100644
--- a/pkgs/build-support/fetchzip/default.nix
+++ b/pkgs/build-support/fetchzip/default.nix
@@ -48,8 +48,15 @@
+ extraPostFetch
# Remove write permissions for files unpacked with write bits set
# Fixes https://github.com/NixOS/nixpkgs/issues/38649
+ #
+ # However, we should (for the moment) retain write permission on the directory
+ # itself, to avoid tickling https://github.com/NixOS/nix/issues/4295 in
+ # single-user Nix installations. This is because in sandbox mode we'll try to
+ # move the path, and if we don't have write permissions on the directory,
+ # then we can't update the ".." entry.
+ ''
chmod -R a-w "$out"
+ chmod u+w "$out"
'';
} // removeAttrs args [ "stripRoot" "extraPostFetch" ])).overrideAttrs (x: {
# Hackety-hack: we actually need unzip hooks, too