aboutsummaryrefslogtreecommitdiff
path: root/bpkg
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2023-10-20 22:21:19 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2023-11-02 14:04:08 +0300
commita2d58be61ad1fa3da9e1523b4d1bb9d626716d2e (patch)
tree0761964ac3bca8b83089184bd2037746e185485d /bpkg
parenteeb24caea3a4be0a5ba0abb1dfe38a3b6a775153 (diff)
Fix collect_build_prerequisites() pre-reevaluation mode to always iterate through all the depends clauses
Diffstat (limited to 'bpkg')
-rw-r--r--bpkg/pkg-build-collect.cxx16
1 files changed, 8 insertions, 8 deletions
diff --git a/bpkg/pkg-build-collect.cxx b/bpkg/pkg-build-collect.cxx
index 9d7a3c8..b16c518 100644
--- a/bpkg/pkg-build-collect.cxx
+++ b/bpkg/pkg-build-collect.cxx
@@ -4828,15 +4828,15 @@ namespace bpkg
}
}
- // Bail out if the collection is postponed or we are in the
- // pre-reevaluation mode and have already collected all the required
- // information.
+ // Bail out if the collection is postponed.
//
- if (postponed ||
- (pre_reeval &&
- r.reevaluation_position.first != 0 &&
- r.originating_dependency_position.first != 0 &&
- !r.reevaluation_optional))
+ // Note that it's tempting to also bail out in the pre-reevaluation mode
+ // if we have already collected all the required resulting information
+ // (reevaluation position, originating dependency position, etc).
+ // However, in this case we may not detect the dependent deviation and
+ // thus we always iterate through all the depends clauses.
+ //
+ if (postponed)
break;
}