diff options
-rw-r--r-- | apt-pkg/algorithms.cc | 21 | ||||
-rw-r--r-- | debian/changelog | 4 | ||||
-rw-r--r-- | doc/apt.ent | 2 |
3 files changed, 21 insertions, 6 deletions
diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index fb85d12f9..0fcad42eb 100644 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: algorithms.cc,v 1.32 2001/02/20 07:03:17 jgg Exp $ +// $Id: algorithms.cc,v 1.33 2001/03/23 07:53:19 jgg Exp $ /* ###################################################################### Algorithms - A set of misc algorithms @@ -856,10 +856,13 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) { pkgCache::VerIterator Ver(Cache,*V); pkgCache::PkgIterator Pkg = Ver.ParentPkg(); - + if (Debug == true) clog << " Considering " << Pkg.Name() << ' ' << (int)Scores[Pkg->ID] << " as a solution to " << I.Name() << ' ' << (int)Scores[I->ID] << endl; + + /* Try to fix the package under consideration rather than + fiddle with the VList package */ if (Scores[I->ID] <= Scores[Pkg->ID] || ((Cache[Start] & pkgDepCache::DepNow) == 0 && End->Type != pkgCache::Dep::Conflicts && @@ -920,11 +923,21 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) } else { - if (Debug == true) - clog << " Added " << Pkg.Name() << " to the remove list" << endl; + /* This is a conflicts, and the version we are looking + at is not the currently selected version of the + package, which means it is not necessary to + remove/keep */ + if (Cache[Pkg].InstallVer != Ver && + (Start->Type == pkgCache::Dep::Conflicts || + Start->Type == pkgCache::Dep::Obsoletes)) + continue; + // Skip adding to the kill list if it is protected if ((Flags[Pkg->ID] & Protected) != 0) continue; + + if (Debug == true) + clog << " Added " << Pkg.Name() << " to the remove list" << endl; LEnd->Pkg = Pkg; LEnd->Dep = End; diff --git a/debian/changelog b/debian/changelog index 4197b3c90..73228cc9b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,11 +2,13 @@ apt (0.5.4) unstable; urgency=low * M68k config.guess patch. Closes: #88913 * Bi-yearly test on OpenBSD and Solaris - * Doc updates. Closes: #89121 + * Doc updates. Closes: #89121, #89854 * Various cosmetic code updates. Closes: #89066, #89066, #89152 * Add "pre-auto" as an option for DSelect::Clean (run autoclean after update). * More patches from Alfredo for Vendors and more SHA-1 stuff + * Fix for AJ's 'desire to remove perl-5.005' and possibly other + similar situations. Closes: #56708, #59432 -- Jason Gunthorpe <jgg@debian.org> Thu, 8 Mar 2001 22:48:06 -0700 diff --git a/doc/apt.ent b/doc/apt.ent index b85e05f70..75a67ff7b 100644 --- a/doc/apt.ent +++ b/doc/apt.ent @@ -2,7 +2,7 @@ <!-- Some common paths.. --> <!ENTITY docdir "/usr/share/doc/apt/"> -<!ENTITY configureindex "<filename>&docdir;/examples/configure-index</>"> +<!ENTITY configureindex "<filename>&docdir;examples/configure-index.gz</>"> <!ENTITY aptconfdir "<filename>/etc/apt.conf</>"> <!ENTITY statedir "/var/lib/apt"> <!ENTITY cachedir "/var/cache/apt"> |