Subject: Re: [bug#47401] [PATCH] doc: Mention value /etc to sysconfdir option.

From: Christopher Baines <[email-masked]>
Date: Wed, 31 Mar 2021 08:10:40 +0100

zimoun <[email-masked]> writes:

> * doc/contributing.texi (Building from Git): Mention value /etc to sysconfdir
> option.
> ---
>
> Hi,
>
> From a discussion [1] about a reproducibility issue,
>
>         As discussed on IRC, ‘guix pull’ preserves the settings of the host
>         Guix.  So if your initial ‘guix’ has %sysconfdir set to
>         /usr/local/etc, ‘guix pull’ will preserve that.
>
>         It turns out that, as is always the case with GNU Standards compliant
>         configure script, the default value for --prefix is /usr/local, and
>         the default for --sysconfdir is $prefix/etc.
>
>         Mostly likely, what happened is that at some point you built Guix from
>         source using the default prefix and sysconfdir, and then you ran ‘guix
>         pull’ from that Guix.
>
> I discovered that the option ’sysconfdir’ at ./configure time is set by
> default to /usr/local/etc conforming the GNU Coding standards.  And Guix
> expect instead /etc.  As 'localstadir', it is unconventional.
>
> The manual does not mention this subtility.  This patch adds a tiny sentence
> to avoid the trap for the attentive reader.
>
> 1: <https://yhetil.org/guix/[email-masked]>
>
>
> Thanks,
> simon
>
>  doc/contributing.texi | 8 ++++++--
>  doc/guix.texi         | 2 +-
>  2 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/doc/contributing.texi b/doc/contributing.texi
> index 58c4dafb9b..53840d81cc 100644
> --- a/doc/contributing.texi
> +++ b/doc/contributing.texi
> @@ -228,8 +228,12 @@ necessary to support this, including @env{PATH} and @env{GUILE_LOAD_PATH}.
>  Note that @command{./pre-inst-env guix pull} does @emph{not} upgrade the
>  local source tree; it simply updates the @file{~/.config/guix/current}
>  symlink (@pxref{Invoking guix pull}).  Run @command{git pull} instead if
> -you want to upgrade your local source tree.
> -
> +you want to upgrade your local source tree.  Moreover, note also that
> +@command{guix pull} preserves the settings of the host Guix.  For
> +instance, regular Guix passes @code{--sysconfdir=/etc/}, whereas the GNU
> +Coding Standards sets by default @var{prefix} to @file{/usr/local} and
> +@var{sysconfdir} to @file{$prefix/etc} (@pxref{Directory Variables,,,
> +standards, GNU Coding Standards}).

I think this is maybe useful to note somewhere, but not to add to the
existing paragraph here.

The paragraph starting on line 228 looks to me to be aimed at new users
who might be at risk of confusing guix pull and git pull, whereas the
bit you're adding is about something completely different, explaining a
subtlety of running guix pull (something an earlier part of the
paragraph is saying not to run).

Maybe there is a more appropriate place in the main manual?