From 630ae0c9d7f65a2d6bef85a5194b4d704e54eded Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 1 Feb 2005 13:48:46 +0000 Subject: * 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. --- src/libstore/gc.hh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/libstore/gc.hh') diff --git a/src/libstore/gc.hh b/src/libstore/gc.hh index 03e1d769153b..e3da4505d5dd 100644 --- a/src/libstore/gc.hh +++ b/src/libstore/gc.hh @@ -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 */ -- cgit 1.4.1