summaryrefslogtreecommitdiff
path: root/apt-pkg/orderlist.cc
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2013-05-21 17:10:21 +0200
committerDavid Kalnischkies <kalnischkies@gmail.com>2013-06-09 15:10:31 +0200
commit978844db25deb7cd88b053bc2f4685caf2c61a75 (patch)
tree2510a429b8088af83c99c202992c27c48119adf5 /apt-pkg/orderlist.cc
parent2de7157775551185beb3d7cb56e9f9f353e57ab4 (diff)
prefer Essentials over Removals in ordering score
Doing Removes early is good to have them out of the way, so they don't break 'Inst' or 'Conf' chains, but scoring them above Essentials means that we end up upgrading (many) less important packages before we handle big stuff like libc6 or debconf which not only fails if those less important packages have unannounced (strict) dependencies, but also leads to having these packages unconfigured for a long time triggering bugs in maintainer scripts for no good reason (#708831). So this commits sets the default value for remove scores to 100, which is below the one for essentials (200) and a lot lower than the previous default value (500).
Diffstat (limited to 'apt-pkg/orderlist.cc')
-rw-r--r--apt-pkg/orderlist.cc5
1 files changed, 2 insertions, 3 deletions
diff --git a/apt-pkg/orderlist.cc b/apt-pkg/orderlist.cc
index 86d2a9478..984ae1d10 100644
--- a/apt-pkg/orderlist.cc
+++ b/apt-pkg/orderlist.cc
@@ -301,9 +301,8 @@ bool pkgOrderList::OrderConfigure()
/* Higher scores order earlier */
int pkgOrderList::Score(PkgIterator Pkg)
{
- static int const ScoreDelete = _config->FindI("OrderList::Score::Delete", 500);
-
- // Removal is always done first
+ // Removals should be done after we dealt with essentials
+ static int const ScoreDelete = _config->FindI("OrderList::Score::Delete", 100);
if (Cache[Pkg].Delete() == true)
return ScoreDelete;