From 15657fcc72462aed8e5b361fe52450484229ec5d Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Tue, 28 Jun 2011 15:45:59 +0100 Subject: cherry pick from donkult --- apt-pkg/orderlist.cc | 6 ++++++ debian/changelog | 3 +++ 2 files changed, 9 insertions(+) diff --git a/apt-pkg/orderlist.cc b/apt-pkg/orderlist.cc index ba43bc757..19661fc2d 100644 --- a/apt-pkg/orderlist.cc +++ b/apt-pkg/orderlist.cc @@ -1073,6 +1073,12 @@ bool pkgOrderList::CheckDep(DepIterator D) just needs one */ if (D.IsNegative() == false) { + // ignore provides by older versions of this package + if (((D.Reverse() == false && Pkg == D.ParentPkg()) || + (D.Reverse() == true && Pkg == D.TargetPkg())) && + Cache[Pkg].InstallVer != *I) + continue; + /* Try to find something that does not have the after flag set if at all possible */ if (IsFlag(Pkg,After) == true) diff --git a/debian/changelog b/debian/changelog index b6ce716b6..bbfe9022e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -75,6 +75,9 @@ apt (0.8.15) UNRELEASED; urgency=low * apt-pkg/packagemanager.cc: - ensure for Multi-Arch:same packages that they are unpacked in lock step even in immediate configuration (Closes: #618288) + * apt-pkg/orderlist.cc: + - ensure that an old version of a package with a provides can + never satisfy a dependency of a newer version of this package -- Michael Vogt Mon, 16 May 2011 14:57:52 +0200 -- cgit v1.2.3-70-g09d2