[Piuparts-commits] [SCM] piuparts git repository branch, master, updated. 0.53-32-g1b2cc02

Holger Levsen holger at layer-acht.org
Tue Jul 30 09:13:21 UTC 2013


The following commit has been merged in the master branch:
commit 068fb540ed154aa41b24daab7f3646f50bac266e
Author: David Steele <dsteele at gmail.com>
Date:   Sat Jun 15 13:25:47 2013 -0400

    piupartslib/packages.db - Prioritize by rdep chain len in reserve()
    
    Use the rdep_chain_len metric to proportionally prioritize packages
    returned by reserve() according to the length of the longest reverse
    dependency chain length.

diff --git a/debian/changelog b/debian/changelog
index 73db490..5a20b02 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -13,6 +13,7 @@ piuparts (0.54) UNRELEASED; urgency=low
       calculate on-demand. Access methods are moved from Package to
       PackagesDB.
     - Add a metric for the worst-case reverse-dependency chain length.
+    - Weight the reserved packages returned by this additional factor.
 
  -- Holger Levsen <holger at debian.org>  Tue, 11 Jun 2013 15:05:03 +0200
 
diff --git a/piupartslib/packagesdb.py b/piupartslib/packagesdb.py
index ab47ab7..21e53c2 100644
--- a/piupartslib/packagesdb.py
+++ b/piupartslib/packagesdb.py
@@ -666,7 +666,8 @@ class PackagesDB:
                     if not self._logdb.log_exists(p, [self._reserved]) or \
                             self._logdb.log_exists(p, [self._recycle])]
             if len(self._candidates_for_testing) > 1:
-                tuples = [(self.waiting_count(p), random.random(), p)
+                tuples = [(self.waiting_count(p) * self.rdep_chain_len(p),
+                           random.random(), p)
                         for p in self._candidates_for_testing]
                 self._candidates_for_testing = [x[2]
                         for x in sorted(tuples, reverse = True)]

-- 
piuparts git repository



More information about the Piuparts-commits mailing list