Perl glitch in the problem resolver
authorArch Librarian <arch@canonical.com>
Mon, 20 Sep 2004 16:54:07 +0000 (16:54 +0000)
committerArch Librarian <arch@canonical.com>
Mon, 20 Sep 2004 16:54:07 +0000 (16:54 +0000)
Author: jgg
Date: 1999-06-28 03:11:24 GMT
Perl glitch in the problem resolver

apt-pkg/algorithms.cc

index 505ba59..60da32d 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: algorithms.cc,v 1.18 1999/06/04 02:31:37 jgg Exp $
+// $Id: algorithms.cc,v 1.19 1999/06/28 03:11:24 jgg Exp $
 /* ######################################################################
 
    Algorithms - A set of misc algorithms
@@ -755,10 +755,16 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
                   ((Cache[End] & pkgDepCache::DepGNow) == 0 &&
                    End->Type != pkgCache::Dep::Conflicts))
               {
+                 // Try a little harder to fix protected packages..
                  if ((Flags[I->ID] & Protected) == Protected)
+                 {
+                    if (DoUpgrade(Pkg) == true)
+                       Scores[Pkg->ID] = Scores[I->ID];
                     continue;
-
-                 // See if a keep will do
+                 }
+                 
+                 /* See if a keep will do, unless the package is protected,
+                    then installing it will be necessary */    
                  Cache.MarkKeep(I);
                  if (Cache[I].InstBroken() == false)
                  {