From: David Kalnischkies Date: Tue, 21 May 2013 15:10:21 +0000 (+0200) Subject: prefer Essentials over Removals in ordering score X-Git-Tag: 0.9.9~3^2~30 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/978844db25deb7cd88b053bc2f4685caf2c61a75 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). --- 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; diff --git a/debian/changelog b/debian/changelog index d7c3494ce..f57a8334f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,7 @@ apt (0.9.8.3) UNRELEASED; urgency=low * remove -ldl from cdrom and -lutil from apt-get linkage * rewrite pkgOrderList::DepRemove to stop incorrect immediate setting (Closes: 645713) + * prefer Essentials over Removals in ordering score -- David Kalnischkies Sun, 09 Jun 2013 15:06:24 +0200