diff options
author | regnat <rg@regnat.ovh> | 2021-01-26 10:48:41 +0100 |
---|---|---|
committer | regnat <rg@regnat.ovh> | 2021-02-23 08:04:03 +0100 |
commit | 6fbf3fe636bc1d9a9aba4bacb2a70191c1d6b1a7 (patch) | |
tree | a98ab8a829322f113b5b74e21c670ab416fed0ce /src/libstore/build | |
parent | 35205e2e922952fc0654260a07fc3191c5afc2cc (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.cc | 9 |
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(); |