The problem resolver is used to resolve the problems.
*/
-bool pkgDistUpgrade(pkgDepCache &Cache, OpProgress * const Progress)
+static bool pkgDistUpgrade(pkgDepCache &Cache, OpProgress * const Progress)
{
std::string const solver = _config->Find("APT::Solver", "internal");
if (solver != "internal")
- return EDSP::ResolveExternal(solver.c_str(), Cache, false, true, false, Progress);
+ return EDSP::ResolveExternal(solver.c_str(), Cache, EDSP::Request::UPGRADE_ALL, Progress);
if (Progress != NULL)
Progress->OverallProgress(0, 100, 1, _("Calculating upgrade"));
}
}
- bool const success = Fix.Resolve(false, Progress);
+ bool const success = Fix.ResolveInternal(false);
if (Progress != NULL)
Progress->Done();
return success;
+}
+bool pkgDistUpgrade(pkgDepCache &Cache)
+{
+ return pkgDistUpgrade(Cache, NULL);
}
/*}}}*/
// AllUpgradeNoNewPackages - Upgrade but no removals or new pkgs /*{{{*/
{
std::string const solver = _config->Find("APT::Solver", "internal");
if (solver != "internal")
- return EDSP::ResolveExternal(solver.c_str(), Cache, true, false, false, Progress);
+ return EDSP::ResolveExternal(solver.c_str(), Cache,
+ EDSP::Request::UPGRADE_ALL | EDSP::Request::FORBID_NEW_INSTALL | EDSP::Request::FORBID_REMOVE,
+ Progress);
if (Progress != NULL)
Progress->OverallProgress(0, 100, 1, _("Calculating upgrade"));
pkgDepCache::ActionGroup group(Cache);
-
pkgProblemResolver Fix(&Cache);
- if (Cache.BrokenCount() != 0)
- return false;
-
// Upgrade all installed packages
for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
{
Progress->Progress(50);
// resolve remaining issues via keep
- bool const success = Fix.ResolveByKeep(Progress);
+ bool const success = Fix.ResolveByKeepInternal();
if (Progress != NULL)
Progress->Done();
return success;
{
std::string const solver = _config->Find("APT::Solver", "internal");
if (solver != "internal")
- return EDSP::ResolveExternal(solver.c_str(), Cache, true, false, false, Progress);
+ return EDSP::ResolveExternal(solver.c_str(), Cache,
+ EDSP::Request::UPGRADE_ALL | EDSP::Request::FORBID_REMOVE,
+ Progress);
if (Progress != NULL)
Progress->OverallProgress(0, 100, 1, _("Calculating upgrade"));
pkgDepCache::ActionGroup group(Cache);
-
pkgProblemResolver Fix(&Cache);
- if (Cache.BrokenCount() != 0)
- return false;
-
// provide the initial set of stuff we want to upgrade by marking
// all upgradable packages for upgrade
for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I)
Progress->Progress(60);
// resolve remaining issues via keep
- bool const success = Fix.ResolveByKeep(Progress);
+ bool const success = Fix.ResolveByKeepInternal();
if (Progress != NULL)
Progress->Done();
return success;
/* Right now the system must be consistent before this can be called.
It also will not change packages marked for install, it only tries
to install packages not marked for install */
-bool pkgAllUpgrade(pkgDepCache &Cache, OpProgress * const Progress)
+static bool pkgAllUpgrade(pkgDepCache &Cache, OpProgress * const Progress)
{
return pkgAllUpgradeNoNewPackages(Cache, Progress);
+}
+bool pkgAllUpgrade(pkgDepCache &Cache)
+{
+ return pkgAllUpgrade(Cache, NULL);
}
/*}}}*/
// MinimizeUpgrade - Minimizes the set of packages to be upgraded /*{{{*/