From bb640d6133dea0ede7e80db9ca64a9b2e451317a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 24 Nov 2018 15:59:26 +0100 Subject: [PATCH] daemon: Ignore '--keep-failed' for TCP/IP clients. * nix/nix-daemon/nix-daemon.cc (performOp) : When 'isRemoteConnection' is true, set 'settings.keepFailed' to zero. * doc/guix.texi (Common Build Options): Document this behavior. --- doc/guix.texi | 4 ++++ nix/nix-daemon/nix-daemon.cc | 6 ++++++ 2 files changed, 10 insertions(+) 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);