diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2020-07-05 21:49:01 +0000 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2020-07-05 21:49:01 +0000 |
commit | a38ab99d576bb31288edb8a68c9564d962415662 (patch) | |
tree | 883f2b1fdaaa5e241cd71e1f786c3f2aaf1813ba /src/libstore/daemon.cc | |
parent | 8313f0e939a99b1f715695c0e798cfb368dfc1f2 (diff) | |
parent | 14227aeb327798a1446ddde59fc561c3d2e6b7a8 (diff) |
Merge remote-tracking branch 'upstream/master' into derivation-header-include-order
Diffstat (limited to 'src/libstore/daemon.cc')
-rw-r--r-- | src/libstore/daemon.cc | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/libstore/daemon.cc b/src/libstore/daemon.cc index e370e278c..a8fb62e0a 100644 --- a/src/libstore/daemon.cc +++ b/src/libstore/daemon.cc @@ -78,10 +78,10 @@ struct TunnelLogger : public Logger if (ei.level > verbosity) return; std::stringstream oss; - oss << ei; + showErrorInfo(oss, ei, false); StringSink buf; - buf << STDERR_NEXT << oss.str() << "\n"; // (fs.s + "\n"); + buf << STDERR_NEXT << oss.str() << "\n"; enqueueMsg(*buf.s); } @@ -347,6 +347,15 @@ static void performOp(TunnelLogger * logger, ref<Store> store, break; } + case wopQueryDerivationOutputMap: { + auto path = store->parseStorePath(readString(from)); + logger->startWork(); + OutputPathMap outputs = store->queryDerivationOutputMap(path); + logger->stopWork(); + writeOutputPathMap(*store, to, outputs); + break; + } + case wopQueryDeriver: { auto path = store->parseStorePath(readString(from)); logger->startWork(); @@ -652,7 +661,7 @@ static void performOp(TunnelLogger * logger, ref<Store> store, if (GET_PROTOCOL_MINOR(clientVersion) >= 16) { to << info->ultimate << info->sigs - << info->ca; + << renderContentAddress(info->ca); } } else { assert(GET_PROTOCOL_MINOR(clientVersion) >= 17); @@ -710,7 +719,8 @@ static void performOp(TunnelLogger * logger, ref<Store> store, info.references = readStorePaths<StorePathSet>(*store, from); from >> info.registrationTime >> info.narSize >> info.ultimate; info.sigs = readStrings<StringSet>(from); - from >> info.ca >> repair >> dontCheckSigs; + info.ca = parseContentAddressOpt(readString(from)); + from >> repair >> dontCheckSigs; if (!trusted && dontCheckSigs) dontCheckSigs = false; if (!trusted) |