]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/depcache.cc
if a Breaks can't be upgraded, remove it. If it or a Conflict
[apt.git] / apt-pkg / depcache.cc
index f84ec25ca57f079ff8ad2b5d1c40653cd0851fef..1d905df2e202511d8720ff6ef828261b76bc6751 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   /*{{{*/