aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/build
diff options
context:
space:
mode:
authorregnat <rg@regnat.ovh>2021-01-26 10:48:41 +0100
committerregnat <rg@regnat.ovh>2021-02-23 08:04:03 +0100
commit6fbf3fe636bc1d9a9aba4bacb2a70191c1d6b1a7 (patch)
treea98ab8a829322f113b5b74e21c670ab416fed0ce /src/libstore/build
parent35205e2e922952fc0654260a07fc3191c5afc2cc (diff)
Make the build-hook work with ca derivations
- Pass it the name of the outputs rather than their output paths (as these don't exist for ca derivations) - Get the built output paths from the remote builder - Register the new received realisations
Diffstat (limited to 'src/libstore/build')
-rw-r--r--src/libstore/build/derivation-goal.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/libstore/build/derivation-goal.cc b/src/libstore/build/derivation-goal.cc
index d8a89a2d0..b074410b0 100644
--- a/src/libstore/build/derivation-goal.cc
+++ b/src/libstore/build/derivation-goal.cc
@@ -1159,13 +1159,14 @@ HookReply DerivationGoal::tryBuildHook()
/* Tell the hooks the missing outputs that have to be copied back
from the remote system. */
{
- StorePathSet missingPaths;
- for (auto & [_, status] : initialOutputs) {
+ StringSet missingOutputs;
+ for (auto & [outputName, status] : initialOutputs) {
if (!status.known) continue;
if (buildMode != bmCheck && status.known->isValid()) continue;
- missingPaths.insert(status.known->path);
+ missingOutputs.insert(outputName);
+ /* missingPaths.insert(status.known->path); */
}
- worker_proto::write(worker.store, hook->sink, missingPaths);
+ worker_proto::write(worker.store, hook->sink, missingOutputs);
}
hook->sink = FdSink();