summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-02-04 16:14:09 +0100
committerLudovic Courtès <ludo@gnu.org>2019-02-04 16:20:01 +0100
commit959eaa1eb834fd47ceab3c5bbbe4967e808d530b (patch)
tree11af589b50530f3cdd09c895077a203e332464b9
parent4d4a38f620520acc787ff5db2be3736923e14235 (diff)
downloadguix-959eaa1eb834fd47ceab3c5bbbe4967e808d530b.tar.gz
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.
-rw-r--r--build-aux/pre-inst-env.in2
-rw-r--r--nix/libstore/builtins.cc10
-rw-r--r--nix/libstore/gc.cc2
-rw-r--r--nix/libstore/local-store.cc10
-rw-r--r--nix/local.mk2
-rw-r--r--nix/nix-daemon/guix-daemon.cc14
6 files changed, 10 insertions, 30 deletions
diff --git a/build-aux/pre-inst-env.in b/build-aux/pre-inst-env.in
index 050b1b8007..3efab69e7d 100644
--- a/build-aux/pre-inst-env.in
+++ b/build-aux/pre-inst-env.in
@@ -45,7 +45,7 @@ export PATH
 # Daemon helpers.
 
 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
 
diff --git a/nix/libstore/builtins.cc b/nix/libstore/builtins.cc
index 1f52511c80..f7c7d42484 100644
--- a/nix/libstore/builtins.cc
+++ b/nix/libstore/builtins.cc
@@ -1,5 +1,5 @@
 /* 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.
 
@@ -50,13 +50,7 @@ static void builtinDownload(const Derivation &drv,
     /* Tell it about options such as "print-extended-build-trace".  */
     setenv("_NIX_OPTIONS", settings.pack().c_str(), 1);
 
-    /* XXX: Hack our way to use the 'download' script from 'LIBEXECDIR/guix'
-       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";
+    const string program = settings.nixLibexecDir + "/download";
     execv(program.c_str(), (char *const *) argv);
 
     throw SysError(format("failed to run download program '%1%'") % program);
diff --git a/nix/libstore/gc.cc b/nix/libstore/gc.cc
index 125f242814..310b8792fe 100644
--- a/nix/libstore/gc.cc
+++ b/nix/libstore/gc.cc
@@ -340,7 +340,7 @@ Roots LocalStore::findRoots()
 static void addAdditionalRoots(StoreAPI & store, PathSet & roots)
 {
     Path rootFinder = getEnv("NIX_ROOT_FINDER",
-        settings.nixLibexecDir + "/guix/list-runtime-roots");
+        settings.nixLibexecDir + "/list-runtime-roots");
 
     if (rootFinder.empty()) return;
 
diff --git a/nix/libstore/local-store.cc b/nix/libstore/local-store.cc
index eb8a51cc23..892d9300b1 100644
--- a/nix/libstore/local-store.cc
+++ b/nix/libstore/local-store.cc
@@ -1224,14 +1224,8 @@ static void checkSecrecy(const Path & path)
 
 static std::string runAuthenticationProgram(const Strings & args)
 {
-    /* Use the 'authenticate' script from 'LIBEXECDIR/guix' or just
-       'LIBEXECDIR', depending on whether we're uninstalled or not.  */
-    const bool installed = getenv("GUIX_UNINSTALLED") == NULL;
-    const string program = settings.nixLibexecDir
-	+ (installed ? "/guix" : "")
-	+ "/authenticate";
-
-    return runProgram(program, false, args);
+    return runProgram(settings.nixLibexecDir + "/authenticate",
+		      false, args);
 }
 
 void LocalStore::exportPath(const Path & path, bool sign,
diff --git a/nix/local.mk b/nix/local.mk
index ca958ff500..6d7e60e9fb 100644
--- a/nix/local.mk
+++ b/nix/local.mk
@@ -110,7 +110,7 @@ libstore_a_CPPFLAGS =				\
   -DNIX_STATE_DIR=\"$(localstatedir)/guix\"	\
   -DNIX_LOG_DIR=\"$(localstatedir)/log/guix\"	\
   -DGUIX_CONFIGURATION_DIRECTORY=\"$(sysconfdir)/guix\"		\
-  -DNIX_LIBEXEC_DIR=\"$(libexecdir)\"		\
+  -DNIX_LIBEXEC_DIR=\"$(libexecdir)/guix\"	\
   -DNIX_BIN_DIR=\"$(bindir)\"			\
   -DDEFAULT_CHROOT_DIRS="\"\""
 
diff --git a/nix/nix-daemon/guix-daemon.cc b/nix/nix-daemon/guix-daemon.cc
index 23ef46ef8c..f47d142612 100644
--- a/nix/nix-daemon/guix-daemon.cc
+++ b/nix/nix-daemon/guix-daemon.cc
@@ -480,7 +480,7 @@ main (int argc, char *argv[])
 	{
 	  std::string build_hook;
 
-	  build_hook = settings.nixLibexecDir + "/guix/offload";
+	  build_hook = settings.nixLibexecDir + "/offload";
 	  setenv ("NIX_BUILD_HOOK", build_hook.c_str (), 1);
 	}
 #else
@@ -498,16 +498,8 @@ main (int argc, char *argv[])
 	       format ("build log compression: %1%") % settings.logCompression);
 
       if (settings.useSubstitutes)
-	{
-	  /* 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");
-	}
+	settings.substituters.push_back (settings.nixLibexecDir
+					 + "/substitute");
       else
 	/* Clear the substituter list to make sure nothing ever gets
 	   substituted, regardless of the client's settings.  */