Browse Source

- Make the breaks handling use the kill list. This means, that a

Breaks: Pkg (<< version) may put Pkg onto the remove list.
tags/debian/0.7.21
Michael Vogt 13 years ago
parent
commit
76264cb71b
2 changed files with 9 additions and 6 deletions
  1. +7
    -6
      apt-pkg/algorithms.cc
  2. +2
    -0
      debian/changelog

+ 7
- 6
apt-pkg/algorithms.cc View File

@@ -985,17 +985,17 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)

if (Start->Type == pkgCache::Dep::DpkgBreaks)
{
/* Would it help if we upgraded? */
if (Cache[End] & pkgDepCache::DepGCVer) {
// first, try upgradring the package, if that
// does not help, the breaks goes onto the
// kill list
// FIXME: use DoUpgrade(Pkg) instead?
if (Cache[End] & pkgDepCache::DepGCVer)
{
if (Debug)
clog << " Upgrading " << Pkg.Name() << " due to Breaks field in " << I.Name() << endl;
Cache.MarkInstall(Pkg, false, 0, false);
continue;
}
if (Debug)
clog << " Will not break " << Pkg.Name() << " as stated in Breaks field in " << I.Name() <<endl;
Cache.MarkKeep(I, false, false);
continue;
}

// Skip adding to the kill list if it is protected
@@ -1066,6 +1066,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
if ((Cache[J->Dep] & pkgDepCache::DepGNow) == 0)
{
if (J->Dep->Type == pkgCache::Dep::Conflicts ||
J->Dep->Type == pkgCache::Dep::DpkgBreaks ||
J->Dep->Type == pkgCache::Dep::Obsoletes)
{
if (Debug == true)


+ 2
- 0
debian/changelog View File

@@ -18,6 +18,8 @@ apt (0.7.11) UNRELEASED; urgency=low
on amd64 in sbuild
* apt-pkg/algorithms.cc:
- add APT::Update::Post-Invoke-Success script slot
- Make the breaks handling use the kill list. This means, that a
Breaks: Pkg (<< version) may put Pkg onto the remove list.
* apt-pkg/deb/debmetaindex.cc:
- add missing "Release" file uri when apt-get update --print-uris
is run


Loading…
Cancel
Save