This should hopefully stop people from running in to issues when building Guix from source as they have in the past. * doc/guix.texi (Requirements): Add explanation of the localstatedir flag. Discuss how to keep compatibility with binary installation and the package. --- doc/guix.texi | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 0e8e5ad..94323ff 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -16,8 +16,9 @@ Copyright @copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* -Copyright @copyright{} 2015, 2016 Leo Famulari -Copyright @copyright{} 2016 Ben Woodcroft +Copyright @copyright{} 2015, 2016 Leo Famulari@* +Copyright @copyright{} 2016 Ben Woodcroft@* +Copyright @copyright{} 2016 Jookia Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -514,6 +515,18 @@ manager} is available, you can instead configure Guix with @code{--disable-daemon}. In that case, Nix replaces the three dependencies above. +Tradionally Guix stores its state in @var{localstatedir} as most GNU +applications do. In certain situations you may want to change this setting, +by passing the @code{--localstatedir=@var{path}} flag to @command{configure}. + +The binary installation of Guix and the package of Guix both use @code{/var} as +their @var{localstatedir} path. If you wish to have compatibility with one of +these versions of Guix installed or you plan to install, passing +@code{--localstatedir=/var} to @command{configure} will allow your compiled Guix +to share state. Be warned that sharing the same Guix store (usually located at +@code{/gnu}) with different sets of state could cause issues such as garbage +collecting store entries that are alive in one Guix's state but not the other's. + Guix is compatible with Nix, so it is possible to share the same store between both. To do so, you must pass @command{configure} not only the same @code{--with-store-dir} value, but also the same -- 2.7.0