summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArch Librarian <arch@canonical.com>2004-09-20 16:57:22 +0000
committerArch Librarian <arch@canonical.com>2004-09-20 16:57:22 +0000
commita6bfe58397c488da3b4fff94b27f80e6b3dbdab2 (patch)
treebd8d10cf5bb7b49f7e83975f1688d04328ed5b6d
parent96bc43c41ebdf43ec59d5977a7cf3450b7b6effb (diff)
AJs bug fix and doc updates
Author: jgg Date: 2001-03-23 07:53:19 GMT AJs bug fix and doc updates
-rw-r--r--apt-pkg/algorithms.cc21
-rw-r--r--debian/changelog4
-rw-r--r--doc/apt.ent2
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">