diff --git a/src/libstore/normalise.cc b/src/libstore/normalise.cc index 6fc3bdfc33..a6bac62bf3 100644 --- a/src/libstore/normalise.cc +++ b/src/libstore/normalise.cc @@ -1254,6 +1254,7 @@ void RealisationGoal::init() trace("init"); if (querySuccessor(nePath, nfPath)) { + nrFailed = 0; isNormalised(); return; } @@ -1277,6 +1278,11 @@ void RealisationGoal::isNormalised() { trace("has been normalised"); + if (nrFailed != 0) { + amDone(false); + return; + } + nfPath = queryNormalForm(nePath); /* Now make sure that the store expression exists. If it doesn't,