From 346a632144b89f45b3966732edacc2bfa07126a7 Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Sat, 28 Jul 2018 02:50:06 -0700 Subject: doc: Clarify some of guix-daemon's GC options. Reported by Pierre Neidhardt . * doc/guix.texi (Invoking guix-daemon): Fix an incorrect statement regarding --gc-keep-outputs. Add a little to the description of this option and --gc-keep-derivations. --- doc/guix.texi | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'doc') diff --git a/doc/guix.texi b/doc/guix.texi index 2df4064524..19c9813f6a 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -1375,8 +1375,8 @@ derivations. @cindex garbage collector roots When set to ``yes'', the GC will keep the outputs of any live derivation available in the store---the @code{.drv} files. The default is ``no'', -meaning that derivation outputs are kept only if they are GC roots. -@xref{Invoking guix gc}, for more on GC roots. +meaning that derivation outputs are kept only if they are reachable from a GC +root. @xref{Invoking guix gc}, for more on GC roots. @item --gc-keep-derivations[=yes|no] Tell whether the garbage collector (GC) must keep derivations @@ -1387,12 +1387,13 @@ derivations---i.e., @code{.drv} files---as long as at least one of their outputs is live. This allows users to keep track of the origins of items in their store. Setting it to ``no'' saves a bit of disk space. -Note that when both @code{--gc-keep-derivations} and -@code{--gc-keep-outputs} are used, the effect is to keep all the build -prerequisites (the sources, compiler, libraries, and other build-time -tools) of live objects in the store, regardless of whether these -prerequisites are live. This is convenient for developers since it -saves rebuilds or downloads. +In this way, setting @code{--gc-keep-derivations} to ``yes'' causes liveness +to flow from outputs to derivations, and setting @code{--gc-keep-outputs} to +``yes'' causes liveness to flow from derivations to outputs. When both are +set to ``yes'', the effect is to keep all the build prerequisites (the +sources, compiler, libraries, and other build-time tools) of live objects in +the store, regardless of whether these prerequisites are reachable from a GC +root. This is convenient for developers since it saves rebuilds or downloads. @item --impersonate-linux-2.6 On Linux-based systems, impersonate Linux 2.6. This means that the -- cgit 1.4.1