--- Begin Message ---
Subject: |
[PATCH] configure.ac: Set default value for the 'prefix' variable. |
Date: |
Fri, 17 May 2024 19:52:33 -0400 |
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
--- End Message ---
--- Begin Message ---
Subject: |
Re: [PATCH v2] configure.ac: Set default value for the 'prefix' variable. |
Date: |
Sat, 25 May 2024 23:38:12 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Hi,
Ludovic Courtès <ludo@gnu.org> writes:
> Maxim Cournoyer <maxim.cournoyer@gmail.com> 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
--- End Message ---