diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2011-12-30 14:47:14 +0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2011-12-30 14:47:14 +0000 |
commit | b1004f40f7e4dd02feec2d0cb26bd6c95dd66dde (patch) | |
tree | 185519967aa2ef3c9a03309d9838d5418eb1d2a3 /src/libstore/build.cc | |
parent | 254b3399ba3d7cf161fa54f9cf6cdc65c17164fb (diff) |
* Reject a build if there is a cycle among the outputs. This is
necessary because existing code assumes that the references graph is
acyclic.
Diffstat (limited to 'src/libstore/build.cc')
-rw-r--r-- | src/libstore/build.cc | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc index 149cd8b09..d8f8826e1 100644 --- a/src/libstore/build.cc +++ b/src/libstore/build.cc @@ -278,10 +278,6 @@ public: }; -MakeError(SubstError, Error) -MakeError(BuildError, Error) /* denotes a permanent build failure */ - - ////////////////////////////////////////////////////////////////////// @@ -1982,7 +1978,8 @@ void DerivationGoal::computeClosure() } /* Register each output path as valid, and register the sets of - paths referenced by each of them. */ + paths referenced by each of them. If there are cycles in the + outputs, this will fail. */ ValidPathInfos infos; foreach (DerivationOutputs::iterator, i, drv.outputs) { ValidPathInfo info; |