aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2018-11-24 17:14:13 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2018-11-24 17:15:13 +0300
commitf078440952b0a5aa1a0ee8942c7b62aa8a1eea77 (patch)
tree2dd2a09d2cee65017f41f70b42069dbf6368e5be
parent859a34416d0a11f7ebd0bfc85073b46555fc8d41 (diff)
Fix assertion failing during build plan simulation
-rw-r--r--bpkg/pkg-build.cxx15
1 files changed, 9 insertions, 6 deletions
diff --git a/bpkg/pkg-build.cxx b/bpkg/pkg-build.cxx
index ad61196..c337320 100644
--- a/bpkg/pkg-build.cxx
+++ b/bpkg/pkg-build.cxx
@@ -405,8 +405,11 @@ namespace bpkg
// We don't allow a package specified on the command line multiple
// times to have different sets of options/variables.
//
- assert (!user_selection () ||
- (keep_out == p.keep_out && config_vars == p.config_vars));
+ // Note, however, that this doesn't relate to the keep_out flag that
+ // also depends on whether the selected package is external or not, if
+ // present, and may change during simulation.
+ //
+ assert (!user_selection () || config_vars == p.config_vars);
if (p.keep_out)
keep_out = p.keep_out;
@@ -3787,10 +3790,10 @@ namespace bpkg
{
// First, we check if the refinement is required, ignoring the
// unsatisfiable dependency versions. If we end up refining the
- // execution plan, such dependencies might be dropped, and then there
- // will be nothing to complain about. When no more refinements are
- // necessary we will run the diagnostics check, to make sure that the
- // unsatisfiable dependency, if left, is reported.
+ // execution plan, such dependencies might be dropped, and then
+ // there will be nothing to complain about. When no more refinements
+ // are necessary we will run the diagnostics check, to make sure
+ // that the unsatisfiable dependency, if left, is reported.
//
auto need_refinement = [&eval_dep, &deps, rec_pkgs, &db, &o] (
bool diag = false) -> bool