summaryrefslogtreecommitdiff
path: root/apt-pkg
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2024-07-01 15:07:19 +0000
committerJulian Andres Klode <jak@debian.org>2024-07-01 15:07:19 +0000
commit0b40f9f49b2396c1daf8dc417042f74eee92f7e3 (patch)
tree0b8db4d36be442227318780bd4665fe948a81433 /apt-pkg
parent053c889838bdc2c6efd3a542ec3dfd547a5df53e (diff)
parentb636668788fe8b1f7183b21eaf7b87f34209169e (diff)
Merge branch 'solver3-replaces-are-not-really-deps' into 'main'
solver3: Do not accidentally promote Replaces and Enhances to dependencies See merge request apt-team/apt!359
Diffstat (limited to 'apt-pkg')
-rw-r--r--apt-pkg/solver3.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/apt-pkg/solver3.cc b/apt-pkg/solver3.cc
index dc70adbde..f94fa6736 100644
--- a/apt-pkg/solver3.cc
+++ b/apt-pkg/solver3.cc
@@ -480,7 +480,9 @@ bool APT::Solver::EnqueueOrGroup(pkgCache::DepIterator start, pkgCache::DepItera
// below once we have calculated all possible solutions.
if (start.ParentPkg()->CurrentVer == 0 && not policy.IsImportantDep(start))
return true;
-
+ // Replaces and Enhances are not a real dependency.
+ if (start->Type == pkgCache::Dep::Replaces || start->Type == pkgCache::Dep::Enhances)
+ return true;
if (unlikely(debug >= 3))
std::cerr << "Found dependency critical " << Ver.ParentPkg().FullName() << "=" << Ver.VerStr() << " -> " << start.TargetPkg().FullName() << "\n";