]> git.saurik.com Git - apt.git/commitdiff
AJs bug fix and doc updates
authorArch Librarian <arch@canonical.com>
Mon, 20 Sep 2004 16:57:22 +0000 (16:57 +0000)
committerArch Librarian <arch@canonical.com>
Mon, 20 Sep 2004 16:57:22 +0000 (16:57 +0000)
Author: jgg
Date: 2001-03-23 07:53:19 GMT
AJs bug fix and doc updates

apt-pkg/algorithms.cc
debian/changelog
doc/apt.ent

index fb85d12f9cf182ff29d609ae9263cfec425b7c26..0fcad42eb23c1c9ad6a5e668202bc9ad5bb36e8f 100644 (file)
@@ -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;
index 4197b3c909e479a82dbc1a199f41f906ed2bd25a..73228cc9bd8950d23e2263025b412fc8172236ad 100644 (file)
@@ -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
 
index b85e05f70c66131282f94912ff681bbf4e8a7cd7..75a67ff7b86d8f721d2fa6a5df9d5f2dcd954c72 100644 (file)
@@ -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">