Package: guix-patches;
Reported by: Ludovic Courtès <ludo <at> gnu.org>
Date: Fri, 31 May 2024 09:14:02 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Ludovic Courtès <ludo <at> gnu.org> To: 71287 <at> debbugs.gnu.org Cc: Ludovic Courtès <ludo <at> gnu.org> Subject: [bug#71287] [PATCH] etc: Add explicit ‘--substitute-urls’ in guix-daemon service files. Date: Fri, 31 May 2024 11:12:45 +0200
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’. 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 <at> gnu.org> +# Copyright © 2012-2016, 2018-2020, 2024 Ludovic Courtès <ludo <at> gnu.org> # Copyright © 2016 Mathieu Lirzin <mthl <at> gnu.org> # Copyright © 2020 Tobias Geerinckx-Rice <me <at> 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
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.