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'.
This commit is contained in:
Ludovic Courtès 2019-02-04 14:17:46 +01:00
parent 44cfbb6233
commit 4d4a38f620
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
3 changed files with 11 additions and 27 deletions

View file

@ -1,5 +1,5 @@
/* GNU Guix --- Functional package management for GNU
Copyright (C) 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
Copyright (C) 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
Copyright (C) 2006, 2010, 2012, 2014 Eelco Dolstra <e.dolstra@tudelft.nl>
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");
/* 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";
if (subs == "default")
{
string subst =
settings.nixLibexecDir + "/guix/substitute";
setenv ("NIX_SUBSTITUTERS", subst.c_str (), 1);
}
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 \