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 /apt-pkg/packagemanager.cc | |
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
Diffstat (limited to 'apt-pkg/packagemanager.cc')
-rw-r--r-- | apt-pkg/packagemanager.cc | 8 |
1 files changed, 7 insertions, 1 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)) { |