[Piuparts-commits] [SCM] piuparts git repository branch, piatti, updated. 0.49-135-g41bea98

Andreas Beckmann anbe at debian.org
Sun Mar 3 17:22:21 UTC 2013


The following commit has been merged in the piatti branch:
commit 5ce539773074f06085a937140850d0c0eecde71e
Author: Andreas Beckmann <debian at abeckmann.de>
Date:   Sun Mar 3 17:18:54 2013 +0100

    lib/db: add support for dependency sections
    
    add set_dependency_databases() method
    compute the package states of the dependency dbs
    
    Signed-off-by: Andreas Beckmann <debian at abeckmann.de>

diff --git a/README.txt b/README.txt
index 8fdff3f..4e0b950 100644
--- a/README.txt
+++ b/README.txt
@@ -621,6 +621,10 @@ section, too, and will serve as defaults for all other sections
  round-robin until they are all idle (or a more important section
  has packages to be tested). The default is 1.
 
+* "depends-sections" lists additional sections that will be
+ searched for dependencies that are not available in the current
+ section if that describes a partial distro.
+
 * "debug" tells the slave whether to log debug level messages. The
  value should be "yes" or "no", with the default being "no".
  piuparts itself currently always produces debug output and there
diff --git a/debian/changelog b/debian/changelog
index 4658851..cb1cc0f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -22,6 +22,8 @@ piuparts (0.50) UNRELEASED; urgency=low
       + backup-directory (for the master script prepare_backup)
       + PYTHONPATH (to find the python modules in non-default path setups)
       + slave-load-max
+    - New per-section settings:
+      + depends-sections
     - Setting tmpdir is now mandatory for master/slave operation.
   * distros.conf: New configuration file to describe full distributions (e.g.
     sid, squeeze) and partial distributions (e.g. squeeze/security,
@@ -33,6 +35,7 @@ piuparts (0.50) UNRELEASED; urgency=low
   * piupartslib/packagesdb.py:
     - Add Package.waiting_count() and friends, populated in calc_rrdep_count.
     - Optimize reserve() and skip unavailable candidates.
+    - Add method: set_dependency_databases().
   * piuparts-master.py:
     - Sort packages to be tested by importance, i.e. descending waiting_count.
     - Use piuparts.conf global proxy setting as http_proxy.
diff --git a/piupartslib/packagesdb.py b/piupartslib/packagesdb.py
index 48db1e2..ee28e4a 100644
--- a/piupartslib/packagesdb.py
+++ b/piupartslib/packagesdb.py
@@ -307,6 +307,7 @@ class PackagesDB:
         self._packages = None
         self._in_state = None
         self._package_state = {}
+        self._dependency_databases = []
         self._recycle_mode = False
         self._candidates_for_testing = None
         self.set_subdirs(ok="pass", fail="fail", evil="untestable",
@@ -366,6 +367,9 @@ class PackagesDB:
         self._packages_files.append(PackagesFile(input))
         self._packages = None
 
+    def set_dependency_databases(self, dependency_databases=[]):
+        self._dependency_databases = list(dependency_databases)
+
     def _find_all_packages(self):
         if self._packages is None:
             self._packages = {}
@@ -543,6 +547,9 @@ class PackagesDB:
             else:
                 self._in_state[state].append(package_name)
 
+        for db in self._dependency_databases:
+            db._compute_package_states()
+
         while todo:
             package_names = todo
             todo = []

-- 
piuparts git repository



More information about the Piuparts-commits mailing list