From: David Kalnischkies Date: Thu, 19 Jan 2012 21:48:27 +0000 (+0100) Subject: * apt-pkg/packagemanager.cc: X-Git-Tag: 0.9.0~25^2~8 X-Git-Url: https://git.hcoop.net/ntk/apt.git/commitdiff_plain/3e9ab9f0a81155df6a5b734bb5d079800ccd5514 * apt-pkg/packagemanager.cc: - ignore breaks on not-installed versions while searching for breakage loops as we don't have to avoid them --- diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc index 349adbe4..dd08a48a 100644 --- a/apt-pkg/packagemanager.cc +++ b/apt-pkg/packagemanager.cc @@ -682,7 +682,13 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg, bool const Immediate, int c VerIterator Ver(Cache,*I); PkgIterator BrokenPkg = Ver.ParentPkg(); VerIterator InstallVer(Cache,Cache[BrokenPkg].InstallVer); - + if (BrokenPkg.CurrentVer() != Ver) + { + if (Debug) + std::clog << OutputInDepth(Depth) << " Ignore not-installed version " << Ver.VerStr() << " of " << Pkg.FullName() << " for " << End << std::endl; + continue; + } + // Check if it needs to be unpacked if (List->IsFlag(BrokenPkg,pkgOrderList::InList) && Cache[BrokenPkg].Delete() == false && List->IsNow(BrokenPkg)) { diff --git a/debian/changelog b/debian/changelog index 838b14ef..f846663e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,8 +7,11 @@ apt (0.8.16~exp12) experimental; urgency=low [ David Kalnischkies ] * apt-pkg/cacheiterators.h: - return the correct version arch for all+foreign, too + * apt-pkg/packagemanager.cc: + - ignore breaks on not-installed versions while searching for + breakage loops as we don't have to avoid them - -- David Kalnischkies Thu, 19 Jan 2012 18:38:33 +0100 + -- David Kalnischkies Thu, 19 Jan 2012 22:46:38 +0100 apt (0.8.16~exp11) experimental; urgency=low