From d11b96eb5493231a5a35045505ff8ae8aa746b8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 31 May 2024 10:54:18 +0200 Subject: [PATCH] =?UTF-8?q?etc:=20Add=20explicit=20=E2=80=98--substitute-u?= =?UTF-8?q?rls=E2=80=99=20in=20guix-daemon=20service=20files.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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(-) 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 +# Copyright © 2012-2016, 2018-2020, 2024 Ludovic Courtès # Copyright © 2016 Mathieu Lirzin # Copyright © 2020 Tobias Geerinckx-Rice # @@ -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 += \