From 4d4a38f620520acc787ff5db2be3736923e14235 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 4 Feb 2019 14:17:46 +0100 Subject: daemon: Remove the 'NIX_SUBSTITUTERS' environment variable. * nix/libstore/globals.cc (Settings:update): Remove changes to 'substituters'. * nix/nix-daemon/guix-daemon.cc (main): Set 'settings.substituters' directly instead of changing the 'NIX_SUBSTITUTERS' environment variable. * build-aux/pre-inst-env.in: Remove reference to 'NIX_SUBSTITUTERS'. --- build-aux/pre-inst-env.in | 5 ++--- nix/libstore/globals.cc | 12 ------------ nix/nix-daemon/guix-daemon.cc | 23 ++++++++++------------- 3 files changed, 12 insertions(+), 28 deletions(-) diff --git a/build-aux/pre-inst-env.in b/build-aux/pre-inst-env.in index 286a81591c..050b1b8007 100644 --- a/build-aux/pre-inst-env.in +++ b/build-aux/pre-inst-env.in @@ -1,7 +1,7 @@ #!/bin/sh # GNU Guix --- Functional package management for GNU -# Copyright © 2012, 2013, 2014, 2015, 2017, 2018 Ludovic Courtès +# Copyright © 2012, 2013, 2014, 2015, 2017, 2018, 2019 Ludovic Courtès # Copyright © 2017 Eric Bavier # # This file is part of GNU Guix. @@ -45,10 +45,9 @@ export PATH # Daemon helpers. NIX_ROOT_FINDER="$abs_top_builddir/nix/scripts/list-runtime-roots" -NIX_SUBSTITUTERS="$abs_top_builddir/nix/scripts/substitute" NIX_LIBEXEC_DIR="@abs_top_builddir@/nix/scripts" # for 'guix-authenticate' -export NIX_ROOT_FINDER NIX_SUBSTITUTERS NIX_LIBEXEC_DIR +export NIX_ROOT_FINDER NIX_LIBEXEC_DIR NIX_BUILD_HOOK="$abs_top_builddir/nix/scripts/offload" @BUILD_DAEMON_OFFLOAD_TRUE@export NIX_BUILD_HOOK diff --git a/nix/libstore/globals.cc b/nix/libstore/globals.cc index 130b0937fd..69f6d06563 100644 --- a/nix/libstore/globals.cc +++ b/nix/libstore/globals.cc @@ -141,18 +141,6 @@ void Settings::update() _get(gcKeepDerivations, "gc-keep-derivations"); _get(autoOptimiseStore, "auto-optimise-store"); _get(envKeepDerivations, "env-keep-derivations"); - - string subs = getEnv("NIX_SUBSTITUTERS", "default"); - if (subs == "default") { - substituters.clear(); -#if 0 - if (getEnv("NIX_OTHER_STORES") != "") - substituters.push_back(nixLibexecDir + "/nix/substituters/copy-from-other-stores.pl"); -#endif - substituters.push_back(nixLibexecDir + "/nix/substituters/download-using-manifests.pl"); - substituters.push_back(nixLibexecDir + "/nix/substituters/download-from-binary-cache.pl"); - } else - substituters = tokenizeString(subs, ":"); } diff --git a/nix/nix-daemon/guix-daemon.cc b/nix/nix-daemon/guix-daemon.cc index 8fdab2d116..23ef46ef8c 100644 --- a/nix/nix-daemon/guix-daemon.cc +++ b/nix/nix-daemon/guix-daemon.cc @@ -1,5 +1,5 @@ /* GNU Guix --- Functional package management for GNU - Copyright (C) 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès + Copyright (C) 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès Copyright (C) 2006, 2010, 2012, 2014 Eelco Dolstra This file is part of GNU Guix. @@ -499,22 +499,19 @@ main (int argc, char *argv[]) if (settings.useSubstitutes) { - string subs = getEnv ("NIX_SUBSTITUTERS", "default"); - - if (subs == "default") - { - string subst = - settings.nixLibexecDir + "/guix/substitute"; - setenv ("NIX_SUBSTITUTERS", subst.c_str (), 1); - } + /* XXX: Hack our way to use the 'substitute' script from + 'LIBEXECDIR/guix' or just 'LIBEXECDIR', depending on whether + we're running uninstalled or not. */ + const string subdir = getenv("GUIX_UNINSTALLED") != NULL + ? "" : "/guix"; + + settings.substituters.push_back (settings.nixLibexecDir + + subdir + "/substitute"); } else /* Clear the substituter list to make sure nothing ever gets substituted, regardless of the client's settings. */ - setenv ("NIX_SUBSTITUTERS", "", 1); - - /* Effect the $NIX_SUBSTITUTERS change. */ - settings.update (); + settings.substituters.clear (); if (geteuid () == 0 && settings.buildUsersGroup.empty ()) fprintf (stderr, _("warning: daemon is running as root, so \ -- cgit v1.2.3