diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2023-10-26 17:20:37 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2023-11-02 14:04:09 +0300 |
commit | a72e358d7a2df330f61ad9e73137b18225bdc5cc (patch) | |
tree | 411a1f5156bd68595abe7f16c8bcf2a665b2cc72 | |
parent | 314a91a726cb5d947c5e19268a8fa557d803389c (diff) |
Scratch plan on refinement caused by dependency up/down-grade/drop if any unsatisfied dependents have been ignored
-rw-r--r-- | bpkg/pkg-build.cxx | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/bpkg/pkg-build.cxx b/bpkg/pkg-build.cxx index c531480..4ff013e 100644 --- a/bpkg/pkg-build.cxx +++ b/bpkg/pkg-build.cxx @@ -4926,11 +4926,14 @@ namespace bpkg // diagnostics run. Otherwise, if any dependency configuration // negotiation has been performed during the current plan refinement // iteration, then rebuild the plan from scratch (see above for - // details). + // details). Also rebuild it from from scratch if any unsatisfied + // dependents have been ignored, since their unsatisfied constraints + // are now added to the dependencies' build_package::constraints + // lists. // if (!refine) need_refinement (true /* diag */); - else if (!postponed_cfgs.empty ()) + else if (!postponed_cfgs.empty () || !unsatisfied_depts.empty ()) scratch_exe = true; } |