guix-mirrors/nix/libstore
Ludovic Courtès ca03f73790
daemon: Tolerate pipes and sockets in failed build trees.
Fixes <https://issues.guix.gnu.org/78919>.
Fixes guix/guix#471.

Fixes a bug introduced in ae18b3d9e6
whereby interrupting ‘guix build -K hello’ would leave a build directory
with root ownership due ‘secureFilePerms’ bailing out due to the
presence of FIFOs in the temporary build directory.

* nix/libstore/build.cc (secureFilePerms): Add ‘allowSpecialFiles’
parameter; honor it and pass it in recursive call.
(DerivationGoal::deleteTmpDir): Pass true as the second argument to
‘secureFilePerms’.

Reported-by: Janneke Nieuwenhuizen <janneke@gnu.org>
Reported-by: David Elsing <david.elsing@posteo.net>
Change-Id: I638a4ee909a2b5022f9153e1cbb832bfb2e15263
2025-08-23 16:56:11 +02:00
..
.gitignore
build.cc daemon: Tolerate pipes and sockets in failed build trees. 2025-08-23 16:56:11 +02:00
builtins.cc daemon: Add “git-download” built-in builder. 2023-09-26 17:36:58 +02:00
builtins.hh
derivations.cc daemon: Remove ‘foreach’ and ‘foreach_reverse’ 2025-06-09 22:05:13 +02:00
derivations.hh
gc.cc guix gc: Adjust size suffix based on the amount of data. 2025-07-28 13:57:53 +03:00
globals.cc daemon: Use slirp4netns to provide networking to fixed-output derivations. 2025-06-24 10:07:57 -04:00
globals.hh daemon: Use slirp4netns to provide networking to fixed-output derivations. 2025-06-24 10:07:57 -04:00
local-store.cc daemon: Remove ‘foreach’ and ‘foreach_reverse’ 2025-06-09 22:05:13 +02:00
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 daemon: Remove ‘foreach’ and ‘foreach_reverse’ 2025-06-09 22:05:13 +02:00
pathlocks.hh
references.cc daemon: Remove ‘foreach’ and ‘foreach_reverse’ 2025-06-09 22:05:13 +02:00
references.hh
sqlite.cc
sqlite.hh daemon: Fix build with GCC 13. 2023-09-09 18:47:35 +02:00
store-api.cc daemon: Remove ‘foreach’ and ‘foreach_reverse’ 2025-06-09 22:05:13 +02:00
store-api.hh daemon: Fix build failure with gcc@15. 2025-06-01 16:01:03 +02:00
worker-protocol.hh daemon: Implement ‘substitute-urls’ RPC. 2023-12-11 23:18:53 +01:00