daemon: Add "/guix" to default 'nixLibexecDir'.
This makes it easier to run the uninstalled daemon. * nix/local.mk (libstore_a_CPPFLAGS): Append "/guix" to NIX_LIBEXEC_DIR. * build-aux/pre-inst-env.in (NIX_LIBEXEC_DIR): Adjust comment. * nix/libstore/builtins.cc (builtinDownload): Remove SUBDIR and its use. * nix/libstore/local-store.cc (runAuthenticationProgram): Ditto. * nix/libstore/gc.cc (addAdditionalRoots): Remove "/guix" prefix. * nix/nix-daemon/guix-daemon.cc (main): Ditto.
This commit is contained in:
parent
4d4a38f620
commit
959eaa1eb8
|
@ -45,7 +45,7 @@ export PATH
|
||||||
# Daemon helpers.
|
# Daemon helpers.
|
||||||
|
|
||||||
NIX_ROOT_FINDER="$abs_top_builddir/nix/scripts/list-runtime-roots"
|
NIX_ROOT_FINDER="$abs_top_builddir/nix/scripts/list-runtime-roots"
|
||||||
NIX_LIBEXEC_DIR="@abs_top_builddir@/nix/scripts" # for 'guix-authenticate'
|
NIX_LIBEXEC_DIR="@abs_top_builddir@/nix/scripts" # for 'authenticate', etc.
|
||||||
|
|
||||||
export NIX_ROOT_FINDER NIX_LIBEXEC_DIR
|
export NIX_ROOT_FINDER NIX_LIBEXEC_DIR
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* GNU Guix --- Functional package management for GNU
|
/* GNU Guix --- Functional package management for GNU
|
||||||
Copyright (C) 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
Copyright (C) 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||||
|
|
||||||
This file is part of GNU Guix.
|
This file is part of GNU Guix.
|
||||||
|
|
||||||
|
@ -50,13 +50,7 @@ static void builtinDownload(const Derivation &drv,
|
||||||
/* Tell it about options such as "print-extended-build-trace". */
|
/* Tell it about options such as "print-extended-build-trace". */
|
||||||
setenv("_NIX_OPTIONS", settings.pack().c_str(), 1);
|
setenv("_NIX_OPTIONS", settings.pack().c_str(), 1);
|
||||||
|
|
||||||
/* XXX: Hack our way to use the 'download' script from 'LIBEXECDIR/guix'
|
const string program = settings.nixLibexecDir + "/download";
|
||||||
or just 'LIBEXECDIR', depending on whether we're running uninstalled or
|
|
||||||
not. */
|
|
||||||
const string subdir = getenv("GUIX_UNINSTALLED") != NULL
|
|
||||||
? "" : "/guix";
|
|
||||||
|
|
||||||
const string program = settings.nixLibexecDir + subdir + "/download";
|
|
||||||
execv(program.c_str(), (char *const *) argv);
|
execv(program.c_str(), (char *const *) argv);
|
||||||
|
|
||||||
throw SysError(format("failed to run download program '%1%'") % program);
|
throw SysError(format("failed to run download program '%1%'") % program);
|
||||||
|
|
|
@ -340,7 +340,7 @@ Roots LocalStore::findRoots()
|
||||||
static void addAdditionalRoots(StoreAPI & store, PathSet & roots)
|
static void addAdditionalRoots(StoreAPI & store, PathSet & roots)
|
||||||
{
|
{
|
||||||
Path rootFinder = getEnv("NIX_ROOT_FINDER",
|
Path rootFinder = getEnv("NIX_ROOT_FINDER",
|
||||||
settings.nixLibexecDir + "/guix/list-runtime-roots");
|
settings.nixLibexecDir + "/list-runtime-roots");
|
||||||
|
|
||||||
if (rootFinder.empty()) return;
|
if (rootFinder.empty()) return;
|
||||||
|
|
||||||
|
|
|
@ -1224,14 +1224,8 @@ static void checkSecrecy(const Path & path)
|
||||||
|
|
||||||
static std::string runAuthenticationProgram(const Strings & args)
|
static std::string runAuthenticationProgram(const Strings & args)
|
||||||
{
|
{
|
||||||
/* Use the 'authenticate' script from 'LIBEXECDIR/guix' or just
|
return runProgram(settings.nixLibexecDir + "/authenticate",
|
||||||
'LIBEXECDIR', depending on whether we're uninstalled or not. */
|
false, args);
|
||||||
const bool installed = getenv("GUIX_UNINSTALLED") == NULL;
|
|
||||||
const string program = settings.nixLibexecDir
|
|
||||||
+ (installed ? "/guix" : "")
|
|
||||||
+ "/authenticate";
|
|
||||||
|
|
||||||
return runProgram(program, false, args);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void LocalStore::exportPath(const Path & path, bool sign,
|
void LocalStore::exportPath(const Path & path, bool sign,
|
||||||
|
|
|
@ -110,7 +110,7 @@ libstore_a_CPPFLAGS = \
|
||||||
-DNIX_STATE_DIR=\"$(localstatedir)/guix\" \
|
-DNIX_STATE_DIR=\"$(localstatedir)/guix\" \
|
||||||
-DNIX_LOG_DIR=\"$(localstatedir)/log/guix\" \
|
-DNIX_LOG_DIR=\"$(localstatedir)/log/guix\" \
|
||||||
-DGUIX_CONFIGURATION_DIRECTORY=\"$(sysconfdir)/guix\" \
|
-DGUIX_CONFIGURATION_DIRECTORY=\"$(sysconfdir)/guix\" \
|
||||||
-DNIX_LIBEXEC_DIR=\"$(libexecdir)\" \
|
-DNIX_LIBEXEC_DIR=\"$(libexecdir)/guix\" \
|
||||||
-DNIX_BIN_DIR=\"$(bindir)\" \
|
-DNIX_BIN_DIR=\"$(bindir)\" \
|
||||||
-DDEFAULT_CHROOT_DIRS="\"\""
|
-DDEFAULT_CHROOT_DIRS="\"\""
|
||||||
|
|
||||||
|
|
|
@ -480,7 +480,7 @@ main (int argc, char *argv[])
|
||||||
{
|
{
|
||||||
std::string build_hook;
|
std::string build_hook;
|
||||||
|
|
||||||
build_hook = settings.nixLibexecDir + "/guix/offload";
|
build_hook = settings.nixLibexecDir + "/offload";
|
||||||
setenv ("NIX_BUILD_HOOK", build_hook.c_str (), 1);
|
setenv ("NIX_BUILD_HOOK", build_hook.c_str (), 1);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
@ -498,16 +498,8 @@ main (int argc, char *argv[])
|
||||||
format ("build log compression: %1%") % settings.logCompression);
|
format ("build log compression: %1%") % settings.logCompression);
|
||||||
|
|
||||||
if (settings.useSubstitutes)
|
if (settings.useSubstitutes)
|
||||||
{
|
settings.substituters.push_back (settings.nixLibexecDir
|
||||||
/* XXX: Hack our way to use the 'substitute' script from
|
+ "/substitute");
|
||||||
'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
|
else
|
||||||
/* Clear the substituter list to make sure nothing ever gets
|
/* Clear the substituter list to make sure nothing ever gets
|
||||||
substituted, regardless of the client's settings. */
|
substituted, regardless of the client's settings. */
|
||||||
|
|
Loading…
Reference in New Issue