guix/nix/libstore
Reepca Russelstein c87a9b855e
daemon: Restore post-canonicalization permissions after moving.
At this point the value of 'st.st_mode' is from before canonicalization, so
restoring to that will undo the permissions aspect of the canonicalization for
a top-level directory store item.

Fixes #1104, introduced in
ae18b3d9e6 (ae18b3d9e6).

* nix/libstore/build.cc (DerivationGoal::registerOutputs): update 'st' with
  post-canonicalization permissions before making actualPath
  temporarily-writable.
* tests/store.scm ("build outputs aren't writable"): new test.

Change-Id: I5e5eaa79fa6b7f81e1d12fd285883c762a22ce5a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-23 11:13:22 +02:00
..
.gitignore
build.cc daemon: Restore post-canonicalization permissions after moving. 2025-09-23 11:13:22 +02:00
builtins.cc
builtins.hh
derivations.cc
derivations.hh
gc.cc daemon: “cannot read potential root” messages shows errno message. 2025-09-18 12:14:34 +02:00
globals.cc
globals.hh
local-store.cc
local-store.hh
misc.cc guix gc: Adjust size suffix based on the amount of data. 2025-07-28 13:57:53 +03:00
misc.hh guix gc: Adjust size suffix based on the amount of data. 2025-07-28 13:57:53 +03:00
optimise-store.cc guix gc: Adjust size suffix based on the amount of data. 2025-07-28 13:57:53 +03:00
pathlocks.cc
pathlocks.hh
references.cc
references.hh
sqlite.cc
sqlite.hh
store-api.cc
store-api.hh
worker-protocol.hh