From be220702a75427b80258a92d1ed8c4573c1478fa Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 24 Oct 2017 14:24:57 +0200 Subject: Progress indicator: Show on what machine we're building E.g. $ nix build nixpkgs.hello --builders 'root@wendy' [1/0/1 built] building hello-2.10 on ssh://root@wendy: checking for minix/config.h... no --- src/libstore/build.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/libstore/build.cc') diff --git a/src/libstore/build.cc b/src/libstore/build.cc index 6e3d0a3ebb..dcc48bef77 100644 --- a/src/libstore/build.cc +++ b/src/libstore/build.cc @@ -852,6 +852,9 @@ private: std::map builderActivities; + /* The remote machine on which we're building. */ + std::string machineName; + public: DerivationGoal(const Path & drvPath, const StringSet & wantedOutputs, Worker & worker, BuildMode buildMode = bmNormal); @@ -1400,7 +1403,8 @@ void DerivationGoal::tryToBuild() auto started = [&]() { act = std::make_unique(*logger, lvlInfo, actBuild, - fmt("building '%s'", drvPath), Logger::Fields{drvPath}); + fmt("building '%s'", drvPath), + Logger::Fields{drvPath, hook ? machineName : ""}); mcRunningBuilds = std::make_unique>(worker.runningBuilds); worker.updateProgress(); }; @@ -1691,10 +1695,10 @@ HookReply DerivationGoal::tryBuildHook() throw; } - printMsg(lvlTalkative, format("using hook to build path(s) %1%") % showPaths(missingPaths)); - hook = std::move(worker.hook); + machineName = readLine(hook->fromHook.readSide.get()); + /* Tell the hook all the inputs that have to be copied to the remote system. */ hook->sink << inputPaths; -- cgit 1.4.1