[PATCH] doc: Mention value /etc to sysconfdir option.

OpenSubmitted by zimoun.
Details
2 participants
  • Christopher Baines
  • zimoun
Owner
unassigned
Severity
normal
Z
Z
zimoun wrote on 26 Mar 2021 07:01
(address . guix-patches@gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210326060138.27179-1-zimon.toutoune@gmail.com
* 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.



Thanks,
simon

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

Toggle diff (37 lines)
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@*

base-commit: 6e7ba45357078b31a369b23f8a9f38302dfcbb10
-- 
2.29.2
C
C
Christopher Baines wrote on 31 Mar 2021 09:10
(name . zimoun)(address . zimon.toutoune@gmail.com)(address . 47401@debbugs.gnu.org)
87r1jvztlb.fsf@cbaines.net
zimoun <zimon.toutoune@gmail.com> writes:

Toggle quote (54 lines)
> * 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?
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmBkIHFfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XeEJA/+JvLPRcx3biEBGiUXH5gNc6p1pkY7JbZc
ToIvvMJFlhLNRTzg9ZUt3Gychhv9oKeOJuRmleFejXbXtpheRBgcLWC49G0uF5Hj
UbteAFcvf6NDMrfvzj/1Jr9P2RUhVk7CRcOsny9fh4VEa9Dr0sq78RpNRzFjk9Io
2B33p6tKqH4NC3cYb7wjdJ+4YyBc7r/sSzTdj1M+93lZbuciEIjgE94KGPvvMBVF
rBvsTQlKEIAA5N2RJb2jgSPxh42HRjFAbTh+GgvYrD9sWgdbHRdLY8oFubo4Yh0X
j2XMoWFsgWv6s68PapBQrYdrqAqBNFggHsZSSbGaqtolbfGDGAojBx0iepF9hBSQ
kXSwuimaLg7jl19FkqdBPuvXwgV6xxas8zZq5BnbwqMZFGc7eeNZNBNZ3bwgAPXM
5XKM3QToF2Af2Za74wVUrKI4LM6dLRzO7Ke6lxb1y1C3DLfnCB6iXH1QAmT8oHIT
hZ8W+9G3BonwsZ8QqABvz4NPKRSBqUgHQyKE/fhtZ37f39r28mZFUlydM5cb0qeR
G2U+p14GhKm0b3s7D1Gmb9ciYyCld1kyBcHPgrekKv1sURppY+DQXpAQQcH1h7+A
mgkm+v0I63cEG6G90xHODwrxTUpfm4AMbEvEHnkpkOUL9aqBqNVmE8E5boGrI5qR
m+WOtcctqb8=
=1F/w
-----END PGP SIGNATURE-----

?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send email to 47401@debbugs.gnu.org