aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/build/derivation-goal.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstore/build/derivation-goal.cc')
-rw-r--r--src/libstore/build/derivation-goal.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/libstore/build/derivation-goal.cc b/src/libstore/build/derivation-goal.cc
index fdf777c27..de58d9f06 100644
--- a/src/libstore/build/derivation-goal.cc
+++ b/src/libstore/build/derivation-goal.cc
@@ -899,10 +899,8 @@ void DerivationGoal::buildDone()
Logger::Fields{worker.store.printStorePath(drvPath)});
PushActivity pact(act.id);
StorePathSet outputPaths;
- for (auto& [_, maybeOutPath] :
- worker.store.queryPartialDerivationOutputMap(drvPath)) {
- if (maybeOutPath)
- outputPaths.insert(*maybeOutPath);
+ for (auto i : drv->outputs) {
+ outputPaths.insert(finalOutputs.at(i.first));
}
std::map<std::string, std::string> hookEnvironment = getEnv();
@@ -2874,6 +2872,8 @@ void DerivationGoal::registerOutputs()
for (auto & i : drv->outputsAndOptPaths(worker.store)) {
if (!i.second.second || !worker.store.isValidPath(*i.second.second))
allValid = false;
+ else
+ finalOutputs.insert_or_assign(i.first, *i.second.second);
}
if (allValid) return;
}