Message ID | 8e5c69aa6d108ce35c3124a969252227ce9ed178.1716382317.git.maxim.cournoyer@gmail.com |
---|---|
State | New |
Headers | show |
Series | [bug#71022,v2] configure.ac: Set default value for the 'prefix' variable. | expand |
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! :-)
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.
diff --git a/configure.ac b/configure.ac index 8c3a06da37..c7b61d56a7 100644 --- a/configure.ac +++ b/configure.ac @@ -73,9 +73,11 @@ AC_ARG_ENABLE([daemon], [guix_build_daemon="$enableval"], [guix_build_daemon="yes"]) -# 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"`" +dnl Prepare a version of $localstatedir & co. that does not contain references +dnl to shell variables. Also set some sane default directory variables for +dnl use with the Guix. This also causes localstatedir to be /var and +dnl sysconfdir to be /etc. +test "$prefix" = NONE && prefix= guix_localstatedir="`eval echo $localstatedir | sed -e "s|NONE|$guix_prefix|g"`" guix_sysconfdir="`eval echo $sysconfdir | sed -e "s|NONE|$guix_prefix|g"`" guix_sbindir="`eval echo $sbindir | sed -e "s|NONE|$guix_prefix|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