summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2024-05-31 10:54:18 +0200
committerLudovic Courtès <ludo@gnu.org>2024-06-26 22:59:55 +0200
commitd11b96eb5493231a5a35045505ff8ae8aa746b8e (patch)
treec4e030ce5f75c6e73d4db000f23371501d2d0aed
parent7c8d38f91e7bd4aed106aacc78eb454789538c31 (diff)
downloadguix-d11b96eb5493231a5a35045505ff8ae8aa746b8e.tar.gz
etc: Add explicit ‘--substitute-urls’ in guix-daemon service files.
Having substitute URLs explicitly listed in the service startup file
makes it clearer what should be modified to permanently change the list
of substitute URLs.

* config-daemon.ac: Rename ‘guix_substitute_urls’ to
‘GUIX_SUBSTITUTE_URLS’ and substitute it.
* nix/local.mk (etc/guix-%.service, etc/init.d/guix-daemon)
(etc/guix-%.conf): Substitute it.
* etc/guix-daemon.conf.in, etc/guix-daemon.service.in,
etc/init.d/guix-daemon.in: Add an explicit ‘--substitute-urls’ option.

Change-Id: Ie491b7fab5c42e54dca582801c03805a85de2bf9
-rw-r--r--config-daemon.ac7
-rw-r--r--etc/guix-daemon.conf.in2
-rw-r--r--etc/guix-daemon.service.in3
-rw-r--r--etc/init.d/guix-daemon.in4
-rw-r--r--nix/local.mk17
5 files changed, 20 insertions, 13 deletions
diff --git a/config-daemon.ac b/config-daemon.ac
index 9188f93bda..9854f1d694 100644
--- a/config-daemon.ac
+++ b/config-daemon.ac
@@ -106,12 +106,13 @@ if test "x$guix_build_daemon" = "xyes"; then
 
   dnl Determine the appropriate default list of substitute URLs (GnuTLS
   dnl is required so we can default to 'https'.)
-  guix_substitute_urls="https://bordeaux.guix.gnu.org https://ci.guix.gnu.org"
+  GUIX_SUBSTITUTE_URLS="https://bordeaux.guix.gnu.org https://ci.guix.gnu.org"
 
   AC_MSG_CHECKING([for default substitute URLs])
-  AC_MSG_RESULT([$guix_substitute_urls])
+  AC_MSG_RESULT([$GUIX_SUBSTITUTE_URLS])
+  AC_SUBST([GUIX_SUBSTITUTE_URLS])
 
-  AC_DEFINE_UNQUOTED([GUIX_SUBSTITUTE_URLS], ["$guix_substitute_urls"],
+  AC_DEFINE_UNQUOTED([GUIX_SUBSTITUTE_URLS], ["$GUIX_SUBSTITUTE_URLS"],
     [Default list of substitute URLs used by 'guix-daemon'.])
 
   dnl Check for Guile-SSH, which is required by 'guix offload'.
diff --git a/etc/guix-daemon.conf.in b/etc/guix-daemon.conf.in
index fb681d1f80..aa368d6272 100644
--- a/etc/guix-daemon.conf.in
+++ b/etc/guix-daemon.conf.in
@@ -7,4 +7,4 @@ start on runlevel [2345]
 
 stop on runlevel [016]
 
-exec @localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild --discover=no
+exec @localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild --discover=no --substitute-urls='@GUIX_SUBSTITUTE_URLS@'
diff --git a/etc/guix-daemon.service.in b/etc/guix-daemon.service.in
index 5e75379b5e..5c43d9b7f1 100644
--- a/etc/guix-daemon.service.in
+++ b/etc/guix-daemon.service.in
@@ -7,7 +7,8 @@ Description=Build daemon for GNU Guix
 
 [Service]
 ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon \
-    --build-users-group=guixbuild --discover=no
+    --build-users-group=guixbuild --discover=no \
+    --substitute-urls='@GUIX_SUBSTITUTE_URLS@'
 Environment='GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8
 StandardOutput=journal
 StandardError=journal
diff --git a/etc/init.d/guix-daemon.in b/etc/init.d/guix-daemon.in
index b7d4bb72bb..913210a543 100644
--- a/etc/init.d/guix-daemon.in
+++ b/etc/init.d/guix-daemon.in
@@ -36,7 +36,9 @@ start)
       -E LC_ALL=en_US.utf8 \
       -p "/var/run/guix-daemon.pid" \
       @localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon \
-      --build-users-group=guixbuild --discover=no
+      --build-users-group=guixbuild --discover=no \
+      --substitute-urls='@GUIX_SUBSTITUTE_URLS@'
+
   fi
   ;;
 stop)
diff --git a/nix/local.mk b/nix/local.mk
index 44a26dd2c8..8a2b2b88e8 100644
--- a/nix/local.mk
+++ b/nix/local.mk
@@ -1,5 +1,5 @@
 # GNU Guix --- Functional package management for GNU
-# Copyright © 2012, 2013, 2014, 2015, 2016, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+# Copyright © 2012-2016, 2018-2020, 2024 Ludovic Courtès <ludo@gnu.org>
 # Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
 # Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 #
@@ -166,8 +166,9 @@ etc/%.mount: etc/%.mount.in	\
 etc/guix-%.service: etc/guix-%.service.in	\
 			 $(top_builddir)/config.status
 	$(AM_V_GEN)$(MKDIR_P) "`dirname $@`";	\
-	$(SED) -e 's|@''localstatedir''@|$(localstatedir)|' <	\
-	       "$<" > "$@.tmp";		\
+	$(SED) -e 's|@''localstatedir''@|$(localstatedir)|' \
+	       -e 's|@''GUIX_SUBSTITUTE_URLS''@|$(GUIX_SUBSTITUTE_URLS)|' \
+	       < "$<" > "$@.tmp";		\
 	mv "$@.tmp" "$@"
 
 # The service script for sysvinit.
@@ -177,8 +178,9 @@ nodist_sysvinitservice_DATA = etc/init.d/guix-daemon
 etc/init.d/guix-daemon: etc/init.d/guix-daemon.in	\
 			 $(top_builddir)/config.status
 	$(AM_V_GEN)$(MKDIR_P) "`dirname $@`";	\
-	$(SED) -e 's|@''localstatedir''@|$(localstatedir)|' <	\
-	       "$<" > "$@.tmp";		\
+	$(SED) -e 's|@''localstatedir''@|$(localstatedir)|' \
+	       -e 's|@''GUIX_SUBSTITUTE_URLS''@|$(GUIX_SUBSTITUTE_URLS)|' \
+	       < "$<" > "$@.tmp";		\
 	mv "$@.tmp" "$@"
 
 # The service script for openrc.
@@ -199,8 +201,9 @@ nodist_upstartjob_DATA = etc/guix-daemon.conf etc/guix-publish.conf
 etc/guix-%.conf: etc/guix-%.conf.in	\
 			 $(top_builddir)/config.status
 	$(AM_V_GEN)$(MKDIR_P) "`dirname $@`";	\
-	$(SED) -e 's|@''localstatedir''@|$(localstatedir)|' <	\
-	       "$<" > "$@.tmp";		\
+	$(SED) -e 's|@''localstatedir''@|$(localstatedir)|' \
+	       -e 's|@''GUIX_SUBSTITUTE_URLS''@|$(GUIX_SUBSTITUTE_URLS)|' \
+	        < "$<" > "$@.tmp";		\
 	mv "$@.tmp" "$@"
 
 CLEANFILES +=					\