summaryrefslogtreecommitdiff
path: root/apt-pkg/upgrade.cc
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2014-06-17 19:05:53 +0200
committerDavid Kalnischkies <david@kalnischkies.de>2014-06-18 11:17:18 +0200
commit172947cd7dc5c88c94c6ad269dc6c6be002ee958 (patch)
tree7d7bf86d31cf3f2fa8a1fae2d51d02aa3c6b0081 /apt-pkg/upgrade.cc
parentd39d7f885d61bfe296c131c83bdc042a2ab6b0d7 (diff)
do not call resolver twice on (dist-)upgrade
Diffstat (limited to 'apt-pkg/upgrade.cc')
-rw-r--r--apt-pkg/upgrade.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/apt-pkg/upgrade.cc b/apt-pkg/upgrade.cc
index 7926845c2..29b11937b 100644
--- a/apt-pkg/upgrade.cc
+++ b/apt-pkg/upgrade.cc
@@ -143,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);