Subject: bug#71022: closed (Re: [PATCH v2] configure.ac: Set default value for the 'prefix' variable.)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 26 May 2024 03:40:02 +0000

Your bug report

#71022: [PATCH] configure.ac: Set default value for the 'prefix' variable.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
71022: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=71022
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [PATCH v2] configure.ac: Set default value for the 'prefix' variable.
From: Maxim Cournoyer <[email-masked]>
To: Ludovic Courtès <[email-masked]>
Cc: [email-masked], Simon Tournier <[email-masked]>, Vagrant Cascadian <[email-masked]>, Richard Sent <[email-masked]>, Efraim Flashner <[email-masked]>, Ricardo Wurmus <[email-masked]>, Andreas Enge <[email-masked]>, Attila Lendvai <[email-masked]>, Janneke Nieuwenhuizen <[email-masked]>
Date: Sat, 25 May 2024 23:38:12 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

Ludovic Courtès <[email-masked]> writes:

> Maxim Cournoyer <[email-masked]> skribis:
>
>> The Guix standard configuration uses a localstatedir of /var and a sysconfdir
>> of /etc.  To ease things for everyone, make the default values match that
>> standard expected configuration.  See
>> <https://lists.gnu.org/archive/html/guix-devel/2024-05/msg00003.html> for a
>> related discussion.
>>
>> * configure.ac: Default $prefix to '' unless already set.
>> * doc/contributing.texi (Building from Git): Streamline doc.
>> * doc/guix-cookbook.texi (Guix environment via direnv): Likewise.
>>
>> Change-Id: I23cd12b58a842d246fbc9fdc740311c573eb0212
>
> LGTM! :-)

I ran 'make distcheck', which initially failed with a

--8<---------------cut here---------------start------------->8---
'dot' error: Format: "pdf" not recognized. Use one of: canon cmap cmapx cmapx_np
dot dot_json eps fig gd gd2 gif gv imap imap_np ismap jpe
jpeg jpg json json0 mp pic plain plain-ext png pov ps ps2
svg svgz tk vdx vml vmlz vrml wbmp xdot xdot1.2 xdot1.4 xdot_json
--8<---------------cut here---------------end--------------->8---

error.  I needed to use the full graphviz, not 'graphviz-minimal' as
used by the Guix package.

I also had to add imagemagick for the 'convert' command.  After that it
proceeded normally; it failed finding many missing substitutes but
otherwise 'make distcheck' went fine.

Pushed, at last.  Some related commits to the above will appear to
guix-patches soon.

-- 
Maxim

Subject: [PATCH] configure.ac: Set default value for the 'prefix' variable.
From: Maxim Cournoyer <[email-masked]>
To: [email-masked]
Cc: Maxim Cournoyer <[email-masked]>, Simon Tournier <[email-masked]>, Vagrant Cascadian <[email-masked]>, [email-masked], Efraim Flashner <[email-masked]>, Ricardo Wurmus <[email-masked]>, Andreas Enge <[email-masked]>, Attila Lendvai <[email-masked]>, Richard Sent <[email-masked]>, Janneke Nieuwenhuizen <[email-masked]>
Date: Fri, 17 May 2024 19:52:33 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

The Guix standard configuration uses a localstatedir of /var and a sysconfdir
of /etc.  To ease things for everyone, make the default values match that
standard expected configuration.  See
<https://lists.gnu.org/archive/html/guix-devel/2024-05/msg00003.html> for a
related discussion.

* configure.ac: Default $prefix to '' unless already set.
* doc/contributing.texi (Building from Git): Streamline doc.
* doc/guix-cookbook.texi (Guix environment via direnv): Likewise.

Change-Id: I23cd12b58a842d246fbc9fdc740311c573eb0212
---

 configure.ac           |  4 ++++
 doc/contributing.texi  | 15 +--------------
 doc/guix-cookbook.texi |  2 +-
 3 files changed, 6 insertions(+), 15 deletions(-)

diff --git a/configure.ac b/configure.ac
index 8c3a06da37..f831416650 100644
--- a/configure.ac
+++ b/configure.ac
@@ -73,6 +73,10 @@ AC_ARG_ENABLE([daemon],
   [guix_build_daemon="$enableval"],
   [guix_build_daemon="yes"])
 
+dnl Set some sane default directory variables for use with the Guix.  This
+dnl also causes localstatedir to be /var and sysconfdir to be /etc.
+test "$prefix" = NONE && prefix=
+
 # Prepare a version of $localstatedir & co. that does not contain references
 # to shell variables.
 guix_prefix="`eval echo $prefix | sed -e"s|NONE|/usr/local|g"`"
diff --git a/doc/contributing.texi b/doc/contributing.texi
index 66f4e86d0a..539b4dd0d3 100644
--- a/doc/contributing.texi
+++ b/doc/contributing.texi
@@ -235,7 +235,7 @@ Building from Git
 Then, run:
 
 @example
-./configure --localstatedir=/var --sysconfdir=/etc
+./configure
 @end example
 
 @noindent
@@ -246,19 +246,6 @@ Building from Git
 important to pass the right @code{localstatedir} and @code{sysconfdir}
 values, which get recorded in the @code{(guix config)} Guile module.
 
-When configuring Guix on a system that already has a Guix installation,
-be sure to specify the same state directory as the existing installation
-using the @option{--localstatedir} option of the @command{configure}
-script (@pxref{Directory Variables, @code{localstatedir},, standards,
-GNU Coding Standards}).  Usually, this @var{localstatedir} option is set
-to the value @file{/var}.  The @command{configure} script protects
-against unintended misconfiguration of @var{localstatedir} so you do not
-inadvertently corrupt your store (@pxref{The Store}).  The configuration
-directory should also be configured by setting the @option{--sysconfdir}
-option to the @file{/etc} value, which is the location used by Guix to
-store for example the access control list of authorized machines and the
-definition of offload machines.
-
 Finally, you can build Guix and, if you feel so inclined, run the tests
 (@pxref{Running the Test Suite}):
 
diff --git a/doc/guix-cookbook.texi b/doc/guix-cookbook.texi
index 3bc63cba7a..cbd088632a 100644
--- a/doc/guix-cookbook.texi
+++ b/doc/guix-cookbook.texi
@@ -5076,7 +5076,7 @@ Guix environment via direnv
     # Predefine configure flags.
     configure()
     @{
-        ./configure --localstatedir=/var --prefix=
+        ./configure
     @}
     export_function configure

base-commit: 5a624adfd7b14c3717237d137bd0766c77f0f570
-- 
2.41.0