[PATCH] etc: Add explicit ‘--substitute-urls’ in guix-daemon service files.

  • Done
  • quality assurance status badge
Details
One participant
  • Ludovic Courtès
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
normal
L
L
Ludovic Courtès wrote on 31 May 11:12 +0200
[PATCH] etc: Add explicit ‘--substitute-u rls’ in guix-daemon service files.
(address . guix-patches@gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
da7abc28c83819ae345976587e5402d960fb288b.1717146657.git.ludo@gnu.org
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
---
config-daemon.ac | 7 ++++---
etc/guix-daemon.conf.in | 2 +-
etc/guix-daemon.service.in | 3 ++-
etc/init.d/guix-daemon.in | 4 +++-
nix/local.mk | 17 ++++++++++-------
5 files changed, 20 insertions(+), 13 deletions(-)

Hello!

The goal is to improve transparency: one will now easily see in
their .service file (or similar) where the URLs are, allowing them
to add new URLs without first having to look up the Guix manual for
the right option and then the systemd (or similar) manual for the
right syntax.

Thoughts?

Ludo’.

Toggle diff (111 lines)
diff --git a/config-daemon.ac b/config-daemon.ac
index 9188f93bda8..9854f1d694f 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 fb681d1f802..aa368d6272c 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 5e75379b5e4..5c43d9b7f1b 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 b7d4bb72bbb..913210a5434 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 44a26dd2c8f..8a2b2b88e86 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 += \

base-commit: cca25a67693bb68a1884a081b415a43fad1e8641
--
2.41.0
L
L
Ludovic Courtès wrote on 27 Jun 00:22 +0200
Re: [bug#71287] [PATCH] etc: Add explicit ‘--su bstitute-urls’ in guix-daemon service files.
(address . 71287-done@debbugs.gnu.org)
87bk3n9we5.fsf@gnu.org
Ludovic Courtès <ludo@gnu.org> skribis:

Toggle quote (13 lines)
> 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

I went ahead and pushed this as
d11b96eb5493231a5a35045505ff8ae8aa746b8e.

Ludo’.
Closed
?
Your comment

This issue is archived.

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

To respond to this issue using the mumi CLI, first switch to it
mumi current 71287
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch