diff mbox series

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

Message ID 20210326060138.27179-1-zimon.toutoune@gmail.com
State Under Review
Headers show
Series [bug#47401] doc: Mention value /etc to sysconfdir option. | expand

Checks

Context Check Description
cbaines/submitting builds success
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Simon Tournier March 26, 2021, 6:01 a.m. UTC
* 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/877dnqe3to.fsf@gnu.org>


Thanks,
simon

 doc/contributing.texi | 8 ++++++--
 doc/guix.texi         | 2 +-
 2 files changed, 7 insertions(+), 3 deletions(-)


base-commit: 6e7ba45357078b31a369b23f8a9f38302dfcbb10

Comments

Christopher Baines March 31, 2021, 7:10 a.m. UTC | #1
zimoun <zimon.toutoune@gmail.com> 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/877dnqe3to.fsf@gnu.org>
>
>
> 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?
diff mbox series

Patch

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}).
 
 @node The Perfect Setup
 @section The Perfect Setup
diff --git a/doc/guix.texi b/doc/guix.texi
index c23d044ff5..3f2cf4d6e1 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -69,8 +69,8 @@  Copyright @copyright{} 2019 Jakob L. Kreuze@*
 Copyright @copyright{} 2019 Kyle Andrews@*
 Copyright @copyright{} 2019 Alex Griffin@*
 Copyright @copyright{} 2019, 2020 Guillaume Le Vaillant@*
+Copyright @copyright{} 2019, 2020, 2021 Simon Tournier@*
 Copyright @copyright{} 2020 Leo Prikler@*
-Copyright @copyright{} 2019, 2020 Simon Tournier@*
 Copyright @copyright{} 2020 Wiktor Żelazny@*
 Copyright @copyright{} 2020 Damien Cassou@*
 Copyright @copyright{} 2020 Jakub Kądziołka@*