diff options
author | David Kalnischkies <kalnischkies@gmail.com> | 2012-01-19 22:48:27 +0100 |
---|---|---|
committer | David Kalnischkies <kalnischkies@gmail.com> | 2012-01-19 22:48:27 +0100 |
commit | 3e9ab9f0a81155df6a5b734bb5d079800ccd5514 (patch) | |
tree | ef38ebfb9c650864cf2d63e6993f36faa3857363 | |
parent | 2a2a7ef4dfa9d8fb8118c2e318555438098cdf34 (diff) |
* apt-pkg/packagemanager.cc:
- ignore breaks on not-installed versions while searching for
breakage loops as we don't have to avoid them
-rw-r--r-- | apt-pkg/packagemanager.cc | 8 | ||||
-rw-r--r-- | debian/changelog | 5 |
2 files changed, 11 insertions, 2 deletions
diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc index 349adbe40..dd08a48ad 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 838b14ef1..f846663e2 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 <kalnischkies@gmail.com> Thu, 19 Jan 2012 18:38:33 +0100 + -- David Kalnischkies <kalnischkies@gmail.com> Thu, 19 Jan 2012 22:46:38 +0100 apt (0.8.16~exp11) experimental; urgency=low |