diff options
author | Julian Andres Klode <jak@debian.org> | 2010-08-06 23:33:55 +0200 |
---|---|---|
committer | Julian Andres Klode <jak@debian.org> | 2010-08-06 23:33:55 +0200 |
commit | 736f67512b4c2c8069011116217a6ffdcd374500 (patch) | |
tree | eec4235dafe49b740f22deaa7f81a3fd67b5b1a3 /apt-pkg/depcache.cc | |
parent | 73dfa041545d34b79a4dd25a0baa3e64f5564a62 (diff) |
* apt-pkg/depcache.cc:
- Only try upgrade for Breaks if there is a newer version, otherwise
handle it as Conflicts (by removing it) (helps for #591881).
Diffstat (limited to 'apt-pkg/depcache.cc')
-rw-r--r-- | apt-pkg/depcache.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index bc663a8e9..043185dbc 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -1425,10 +1425,13 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, VerIterator Ver(*this,*I); PkgIterator Pkg = Ver.ParentPkg(); - if (Start->Type != Dep::DpkgBreaks) - MarkDelete(Pkg,false,Depth + 1, false); - else if (PkgState[Pkg->ID].CandidateVer != *I) + + + if (PkgState[Pkg->ID].CandidateVer != *I && + Start->Type == Dep::DpkgBreaks) MarkInstall(Pkg,true,Depth + 1, false, ForceImportantDeps); + else + MarkDelete(Pkg,false,Depth + 1, false); } continue; } |