forked from lix-project/lix
Merge pull request #9587 from amjoseph-nixpkgs/pr/wopBuildDerivation/explain
libstore/daemon.cc: note trust model difference in readDerivation()s
(cherry picked from commit 5c917c32048ef185ea0eec352c3505485aa3212c)
Change-Id: I9945bc84e9529b005eafdc5c08b5bf1553335340
This commit is contained in:
parent
2e2f2579fa
commit
fa03f23923
1 changed files with 9 additions and 0 deletions
|
@ -574,6 +574,15 @@ static void performOp(TunnelLogger * logger, ref<Store> store,
|
||||||
case WorkerProto::Op::BuildDerivation: {
|
case WorkerProto::Op::BuildDerivation: {
|
||||||
auto drvPath = store->parseStorePath(readString(from));
|
auto drvPath = store->parseStorePath(readString(from));
|
||||||
BasicDerivation drv;
|
BasicDerivation drv;
|
||||||
|
/*
|
||||||
|
* Note: unlike wopEnsurePath, this operation reads a
|
||||||
|
* derivation-to-be-realized from the client with
|
||||||
|
* readDerivation(Source,Store) rather than reading it from
|
||||||
|
* the local store with Store::readDerivation(). Since the
|
||||||
|
* derivation-to-be-realized is not registered in the store
|
||||||
|
* it cannot be trusted that its outPath was calculated
|
||||||
|
* correctly.
|
||||||
|
*/
|
||||||
readDerivation(from, *store, drv, Derivation::nameFromPath(drvPath));
|
readDerivation(from, *store, drv, Derivation::nameFromPath(drvPath));
|
||||||
BuildMode buildMode = (BuildMode) readInt(from);
|
BuildMode buildMode = (BuildMode) readInt(from);
|
||||||
logger->startWork();
|
logger->startWork();
|
||||||
|
|
Loading…
Reference in a new issue