]> git.saurik.com Git - apt.git/commitdiff
prefer Essentials over Removals in ordering score
authorDavid Kalnischkies <kalnischkies@gmail.com>
Tue, 21 May 2013 15:10:21 +0000 (17:10 +0200)
committerDavid Kalnischkies <kalnischkies@gmail.com>
Sun, 9 Jun 2013 13:10:31 +0000 (15:10 +0200)
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).

apt-pkg/orderlist.cc
debian/changelog

index 86d2a94786ddeaff02d9ca0502fd954d24264f03..984ae1d10400d312927dbe184770ff1ae8581432 100644 (file)
@@ -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;
 
index d7c3494ce899d13bc7e711cb3d7ac63c36a58c78..f57a8334f26d7b627e5e4cda0609dee4bb510865 100644 (file)
@@ -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 <kalnischkies@gmail.com>  Sun, 09 Jun 2013 15:06:24 +0200