summaryrefslogtreecommitdiff
path: root/apt-pkg/packagemanager.cc
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2012-01-19 22:48:27 +0100
committerDavid Kalnischkies <kalnischkies@gmail.com>2012-01-19 22:48:27 +0100
commit3e9ab9f0a81155df6a5b734bb5d079800ccd5514 (patch)
treeef38ebfb9c650864cf2d63e6993f36faa3857363 /apt-pkg/packagemanager.cc
parent2a2a7ef4dfa9d8fb8118c2e318555438098cdf34 (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.cc8
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)) {