From df4342bc175a153986ebcf5bce2a758d5353adeb Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 6 Sep 2017 16:03:22 +0200 Subject: nix build: Create result symlinks --- src/nix/log.cc | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) (limited to 'src/nix/log.cc') diff --git a/src/nix/log.cc b/src/nix/log.cc index ba5e71c10a08..15ae61d08ccb 100644 --- a/src/nix/log.cc +++ b/src/nix/log.cc @@ -24,23 +24,25 @@ struct CmdLog : InstallableCommand void run(ref store) override { + settings.readOnlyMode = true; + auto subs = getDefaultSubstituters(); subs.push_front(store); - for (auto & b : installable->toBuildable(true)) { - - for (auto & sub : subs) { - auto log = b.second.drvPath != "" ? sub->getBuildLog(b.second.drvPath) : nullptr; - if (!log) { - log = sub->getBuildLog(b.first); - if (!log) continue; - } - stopProgressBar(); - printInfo("got build log for '%s' from '%s'", b.first, sub->getUri()); - std::cout << *log; - return; + auto b = installable->toBuildable(); + + for (auto & sub : subs) { + auto log = b.drvPath != "" ? sub->getBuildLog(b.drvPath) : nullptr; + for (auto & output : b.outputs) { + if (log) break; + log = sub->getBuildLog(output.second); } + if (!log) continue; + stopProgressBar(); + printInfo("got build log for '%s' from '%s'", installable->what(), sub->getUri()); + std::cout << *log; + return; } throw Error("build log of '%s' is not available", installable->what()); -- cgit 1.4.1