keep-failed causes failed outputs to exist in the store as their normal names #657

Open
opened 2025-02-04 22:20:40 +00:00 by jade · 0 comments
Owner

If you build a derivation that fails and you have keep-failed set, any of the outputs it's created will stay in their original positions in /nix/store. This leads to unregistered paths existing in the store which do not have good build provenance.

Also I don't think I want to know why, but mkdir -p $out succeeds and is normal in derivations. Does this imply that on macOS and other platforms without chroot, you can make random files in /nix/store which the daemon has to clean up? Probably. It probably does. Ew.

If you build a derivation that fails and you have keep-failed set, any of the outputs it's created will stay in their original positions in /nix/store. This leads to unregistered paths existing in the store which do not have good build provenance. Also I don't think I want to know why, but mkdir -p $out succeeds and is normal in derivations. Does this imply that on macOS and other platforms without chroot, you can make random files in /nix/store which the daemon has to clean up? Probably. It probably does. Ew.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lix-project/lix#657
No description provided.