summaryrefslogtreecommitdiff
path: root/apt-pkg
diff options
context:
space:
mode:
authorArch Librarian <arch@canonical.com>2004-09-20 16:54:07 +0000
committerArch Librarian <arch@canonical.com>2004-09-20 16:54:07 +0000
commit200f8c52f6fb977265e0e9b3cdeb5c3214f80dd3 (patch)
treef4fba202e451f8c7a1e10f05985c74655b4e8bcf /apt-pkg
parent1d38d0e9bf0f1b753ce047dba2707ca68840af9f (diff)
Perl glitch in the problem resolver
Author: jgg Date: 1999-06-28 03:11:24 GMT Perl glitch in the problem resolver
Diffstat (limited to 'apt-pkg')
-rw-r--r--apt-pkg/algorithms.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc
index 505ba59f7..60da32d78 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.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)
{