* nix-build: use an indirection scheme to make it easier for users to
get rid of GC roots. Nix-build places a symlink `result' in the current directory. Previously, removing that symlink would not remove the store path being linked to as a GC root. Now, the GC root created by nix-build is actually a symlink in `/nix/var/nix/gcroots/auto' to `result'. So if that symlink is removed the GC root automatically becomes invalid (since it can no longer be resolved). The root itself is not automatically removed - the garbage collector should delete dangling roots.
This commit is contained in:
parent
dcc37c236c
commit
630ae0c9d7
7 changed files with 101 additions and 50 deletions
|
|
@ -27,7 +27,8 @@ void addTempRoot(const Path & path);
|
|||
void removeTempRoots();
|
||||
|
||||
/* Register a permanent GC root. */
|
||||
Path addPermRoot(const Path & storePath, const Path & gcRoot);
|
||||
Path addPermRoot(const Path & storePath, const Path & gcRoot,
|
||||
bool indirect);
|
||||
|
||||
|
||||
#endif /* !__GC_H */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue