about summary refs log tree commit diff
path: root/src/libstore/build.cc
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2011-12-30T14·47+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2011-12-30T14·47+0000
commitb1004f40f7e4dd02feec2d0cb26bd6c95dd66dde (patch)
tree185519967aa2ef3c9a03309d9838d5418eb1d2a3 /src/libstore/build.cc
parent254b3399ba3d7cf161fa54f9cf6cdc65c17164fb (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.cc7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc
index 149cd8b09783..d8f8826e1990 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;