]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/upgrade.cc
Merge remote-tracking branch 'mvo/feature/README' into debian/sid
[apt.git] / apt-pkg / upgrade.cc
index f06f6d40d60cb6b76475ffe6fedec9d42a449f7f..29b11937b391fd8164a6ccca1e3e2a9957351351 100644 (file)
@@ -1,24 +1,17 @@
-
 // Include Files                                                       /*{{{*/
 #include <config.h>
 
 #include <apt-pkg/algorithms.h>
-#include <apt-pkg/upgrade.h>
-#include <apt-pkg/error.h>
 #include <apt-pkg/configuration.h>
-#include <apt-pkg/version.h>
-#include <apt-pkg/sptr.h>
-#include <apt-pkg/acquire-item.h>
 #include <apt-pkg/edsp.h>
-#include <apt-pkg/sourcelist.h>
-#include <apt-pkg/fileutl.h>
+#include <apt-pkg/error.h>
 #include <apt-pkg/progress.h>
+#include <apt-pkg/upgrade.h>
+#include <apt-pkg/depcache.h>
+#include <apt-pkg/pkgcache.h>
+#include <apt-pkg/cacheiterators.h>
 
-#include <sys/types.h>
-#include <cstdlib>
-#include <algorithm>
-#include <iostream>
-#include <stdio.h>
+#include <string>
 
 #include <apti18n.h>
                                                                        /*}}}*/
@@ -150,6 +143,12 @@ static bool pkgAllUpgradeNoNewPackages(pkgDepCache &Cache)
  */
 static bool pkgAllUpgradeWithNewPackages(pkgDepCache &Cache)
 {
+   std::string const solver = _config->Find("APT::Solver", "internal");
+   if (solver != "internal") {
+      OpTextProgress Prog(*_config);
+      return EDSP::ResolveExternal(solver.c_str(), Cache, true, false, false, &Prog);
+   }
+
    pkgDepCache::ActionGroup group(Cache);
 
    pkgProblemResolver Fix(&Cache);
@@ -225,7 +224,7 @@ bool pkgMinimizeUpgrade(pkgDepCache &Cache)
            Cache.MarkInstall(I, false, 0, false);
         else
         {
-           // If keep didnt actually do anything then there was no change..
+           // If keep didn't actually do anything then there was no change..
            if (Cache[I].Upgrade() == false)
               Change = true;
         }