diff options
| author | Julian Andres Klode <julian.klode@canonical.com> | 2025-02-05 20:11:35 +0100 |
|---|---|---|
| committer | Julian Andres Klode <julian.klode@canonical.com> | 2025-02-14 19:04:56 +0100 |
| commit | f870bd44522d195199987b0e073d495eed060495 (patch) | |
| tree | 95712c5a45e6118e5a3d787b82a735a5c68bc4bf /apt-pkg/solver3.h | |
| parent | 50f1335212909962b9bba8db74e8be005a55f4e1 (diff) | |
solver3: Defer version selection where possible
If a dependency can be satisfied by all versions of a package,
add the package to the clause instead of the version object.
This works only if there are no providers for the package: Providers
are quite hard to enumerate over and make sure that all versions of
a package satisfy the provider dependency.
Implement arbitrary selection between packages and versions for
the CompareProviders class: We pick the best version for each package
and then pit them against each other.
Diffstat (limited to 'apt-pkg/solver3.h')
| -rw-r--r-- | apt-pkg/solver3.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/apt-pkg/solver3.h b/apt-pkg/solver3.h index 65cd9f017..e43e1065c 100644 --- a/apt-pkg/solver3.h +++ b/apt-pkg/solver3.h @@ -228,6 +228,8 @@ class Solver bool StrictPinning{_config->FindB("APT::Solver::Strict-Pinning", true)}; // \brief If set, we install missing recommends and pick new best packages. bool FixPolicyBroken{_config->FindB("APT::Get::Fix-Policy-Broken")}; + // \brief If set, we use strict pinning. + bool DeferVersionSelection{_config->FindB("APT::Solver::Defer-Version-Selection", true)}; // \brief Discover a variable, translating the underlying dependencies to the SAT presentation void Discover(Var var); |
