]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/depcache.cc
* apt-pkg/contrib/configuration.cc:
[apt.git] / apt-pkg / depcache.cc
index f84ec25ca57f079ff8ad2b5d1c40653cd0851fef..ee93150695e55d9f1d1075878d3c9f8df5d611d4 100644 (file)
@@ -1172,16 +1172,17 @@ bool pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst,
               continue;
 
            if (PkgState[Pkg->ID].CandidateVer != *I &&
-               Start->Type == Dep::DpkgBreaks)
-              MarkInstall(Pkg,true,Depth + 1, false, ForceImportantDeps);
-           else
-              MarkDelete(Pkg,false,Depth + 1, false);
+               Start->Type == Dep::DpkgBreaks &&
+               MarkInstall(Pkg,true,Depth + 1, false, ForceImportantDeps) == true)
+              continue;
+           else if (MarkDelete(Pkg,false,Depth + 1, false) == false)
+              break;
         }
         continue;
       }      
    }
 
-   return true;
+   return Dep.end() == true;
 }
                                                                        /*}}}*/
 // DepCache::IsInstallOk - check if it is ok to install this package   /*{{{*/
@@ -1510,7 +1511,7 @@ bool pkgDepCache::Policy::IsImportantDep(DepIterator const &Dep)
       return true;
    else if(Dep->Type == pkgCache::Dep::Recommends) 
    {
-      if ( _config->FindB("APT::Install-Recommends", false))
+      if (InstallRecommends)
         return true;
       // we suport a special mode to only install-recommends for certain
       // sections
@@ -1521,7 +1522,7 @@ bool pkgDepCache::Policy::IsImportantDep(DepIterator const &Dep)
         return true;
    }
    else if(Dep->Type == pkgCache::Dep::Suggests)
-     return _config->FindB("APT::Install-Suggests", false);
+      return InstallSuggests;
 
    return false;
 }
@@ -1551,7 +1552,7 @@ bool pkgDepCache::MarkFollowsRecommends()
 
 bool pkgDepCache::MarkFollowsSuggests()
 {
-  return _config->FindB("APT::AutoRemove::SuggestsImportant", false);
+  return _config->FindB("APT::AutoRemove::SuggestsImportant", true);
 }
 
 // pkgDepCache::MarkRequired - the main mark algorithm                 /*{{{*/