aboutsummaryrefslogtreecommitdiff
path: root/bpkg/pkg-build.cxx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2023-10-24 15:07:57 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2023-11-02 14:04:08 +0300
commitf3279451bfa0152490df8d38a149b482dff6f810 (patch)
treefeb0d6c3c47c2569b9c55c9ebfd4a53d7e721e1b /bpkg/pkg-build.cxx
parenta2d58be61ad1fa3da9e1523b4d1bb9d626716d2e (diff)
Always postpone 'unable to satisfy constraints' failure in collect_build_prerequisites() and fix unexpected 'unable to satisfy dependency' failure
Diffstat (limited to 'bpkg/pkg-build.cxx')
-rw-r--r--bpkg/pkg-build.cxx13
1 files changed, 9 insertions, 4 deletions
diff --git a/bpkg/pkg-build.cxx b/bpkg/pkg-build.cxx
index 1aaed99..588d29c 100644
--- a/bpkg/pkg-build.cxx
+++ b/bpkg/pkg-build.cxx
@@ -6413,6 +6413,7 @@ namespace bpkg
//
auto unconstrain_deps = [simulate,
&p,
+ &trace,
deps = vector<package_key> ()] () mutable
{
if (simulate)
@@ -6424,12 +6425,16 @@ namespace bpkg
{
assert (deps.empty ());
- deps.reserve (ud->dependencies.size ());
+ deps.reserve (ud->ignored_constraints.size ());
- for (const auto& d: ud->dependencies)
+ for (const auto& c: ud->ignored_constraints)
{
- const build_package& p (*d.first);
- deps.emplace_back (p.db, p.name ());
+ l5 ([&]{trace << "while configuring dependent "
+ << p.available_name_version_db ()
+ << " in simulation mode unconstrain ("
+ << c.dependency << ' ' << c.constraint << ')';});
+
+ deps.emplace_back (c.dependency);
}
}
}