aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-11-24 15:59:26 +0100
committerLudovic Courtès <ludo@gnu.org>2018-11-24 19:52:16 +0100
commitbb640d6133dea0ede7e80db9ca64a9b2e451317a (patch)
treef2c9e50f3e8d9e65d8a156072e23079f9955da3e
parent1b3083267cbacc9ef48bbc9ff95864065894b082 (diff)
downloadguix-bb640d6133dea0ede7e80db9ca64a9b2e451317a.tar
guix-bb640d6133dea0ede7e80db9ca64a9b2e451317a.tar.gz
daemon: Ignore '--keep-failed' for TCP/IP clients.
* nix/nix-daemon/nix-daemon.cc (performOp) <wopSetOptions>: When 'isRemoteConnection' is true, set 'settings.keepFailed' to zero. * doc/guix.texi (Common Build Options): Document this behavior.
-rw-r--r--doc/guix.texi4
-rw-r--r--nix/nix-daemon/nix-daemon.cc6
2 files changed, 10 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index e783c16365..a2af1e9cbd 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -6229,6 +6229,10 @@ the end of the build log. This is useful when debugging build issues.
@xref{Debugging Build Failures}, for tips and tricks on how to debug
build issues.
+This option has no effect when connecting to a remote daemon with a
+@code{guix://} URI (@pxref{The Store, the @code{GUIX_DAEMON_SOCKET}
+variable}).
+
@item --keep-going
@itemx -k
Keep going when some of the derivations fail to build; return only once
diff --git a/nix/nix-daemon/nix-daemon.cc b/nix/nix-daemon/nix-daemon.cc
index 2939422172..6ce475a26c 100644
--- a/nix/nix-daemon/nix-daemon.cc
+++ b/nix/nix-daemon/nix-daemon.cc
@@ -565,6 +565,12 @@ static void performOp(bool trusted, unsigned int clientVersion,
case wopSetOptions: {
settings.keepFailed = readInt(from) != 0;
+ if (isRemoteConnection)
+ /* When the client is remote, don't keep the failed build tree as
+ it is presumably inaccessible to the client and could fill up
+ our disk. */
+ settings.keepFailed = 0;
+
settings.keepGoing = readInt(from) != 0;
settings.set("build-fallback", readInt(from) ? "true" : "false");
verbosity = (Verbosity) readInt(from);