X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/d0c59649c2d9194ffb8432e553851322fa3f4933..dd1fd92b04c5265e134a50bd9262b8f732e90f9c:/apt-pkg/algorithms.cc diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index e784ce895..adcbbd40c 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.27 1999/10/22 05:58:54 jgg Exp $ +// $Id: algorithms.cc,v 1.30 2000/05/10 05:56:23 jgg Exp $ /* ###################################################################### Algorithms - A set of misc algorithms @@ -284,7 +284,7 @@ bool pkgDistUpgrade(pkgDepCache &Cache) pkgProblemResolver Fix(Cache); // Hold back held packages. - if (_config->FindB("APT::Ingore-Hold",false) == false) + if (_config->FindB("APT::Ignore-Hold",false) == false) { for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) { @@ -738,7 +738,10 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) if (InOr == true) { if (OldEnd == LEnd && OrOp == OrRemove) - Cache.MarkDelete(I); + { + if ((Flags[I->ID] & Protected) != Protected) + Cache.MarkDelete(I); + } if (OldEnd == LEnd && OrOp == OrKeep) Cache.MarkKeep(I); } @@ -799,7 +802,11 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) if ((Flags[I->ID] & Protected) == Protected) { if (DoUpgrade(Pkg) == true) + { Scores[Pkg->ID] = Scores[I->ID]; + break; + } + continue; }