diff options
author | David Kalnischkies <david@kalnischkies.de> | 2020-06-03 12:55:02 +0200 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2020-06-03 12:55:02 +0200 |
commit | 771ddb195586c638cbfc635fa6726733532bcfd0 (patch) | |
tree | 1fd6725ed4c2973d4e42aabb2af9d9161e0e5022 | |
parent | 8218c642342e431d7e69831bd1a6741b40345bf1 (diff) |
Allow 20 instead of 10 loops for pkgProblemResolver
Especially if a lot packages have to be removed due to not to explicitly
expressed conflicts the problem resolver can take a few turns to remove
them all. Allowing it to try a little longer if needed seems beneficial
as the worst which can happen is that we now take two times as long to
present an error message to the user.
-rw-r--r-- | apt-pkg/algorithms.cc | 3 | ||||
-rw-r--r-- | doc/examples/configure-index | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index c12924c5f..cba772d41 100644 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@ -793,8 +793,9 @@ bool pkgProblemResolver::ResolveInternal(bool const BrokenFix) changing a breaks c) */ bool Change = true; bool const TryFixByInstall = _config->FindB("pkgProblemResolver::FixByInstall", true); + int const MaxCounter = _config->FindI("pkgProblemResolver::MaxCounter", 20); std::vector<PackageKill> KillList; - for (int Counter = 0; Counter != 10 && Change == true; Counter++) + for (int Counter = 0; Counter < MaxCounter && Change; ++Counter) { Change = false; for (pkgCache::Package **K = PList.get(); K != PEnd; K++) diff --git a/doc/examples/configure-index b/doc/examples/configure-index index 497483ccc..47715a9e1 100644 --- a/doc/examples/configure-index +++ b/doc/examples/configure-index @@ -586,6 +586,7 @@ pkgProblemResolver::Scores AddEssential "<INT>"; }; pkgProblemResolver::FixByInstall "<BOOL>"; +pkgProblemResolver::MaxCounter "<INT>"; APT::FTPArchive::release { |