[Piuparts-commits] [SCM] piuparts git repository branch, develop, 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 develop branch:
commit 41bea98875791c50c52e2566479d8f80ee64d755
Author: Andreas Beckmann <debian at abeckmann.de>
Date:   Sun Mar 3 18:05:13 2013 +0100

    lib/db: lookup package dependencies recursively
    
    Signed-off-by: Andreas Beckmann <debian at abeckmann.de>

diff --git a/piupartslib/packagesdb.py b/piupartslib/packagesdb.py
index 43de6e8..874b8de 100644
--- a/piupartslib/packagesdb.py
+++ b/piupartslib/packagesdb.py
@@ -393,10 +393,13 @@ class PackagesDB:
             more = more[1:]
             if dep not in deps:
                 deps.append(dep)
-                if dep in self._packages:
-                    more += self._packages[dep].dependencies()
-                elif dep in self._virtual_packages:
-                    more += self._packages[self._virtual_packages[dep][0]].dependencies()
+                dep_pkg = self.get_package(dep, recurse=True)
+                if dep_pkg is None:
+                    providers = self.get_providers(dep)
+                    if providers:
+                        dep_pkg = self.get_package(providers[0], recurse=True)
+                if dep_pkg is not None:
+                    more += dep_pkg.dependencies()
         return deps
 
     def _get_dependency_cycle(self, package_name):
@@ -408,12 +411,11 @@ class PackagesDB:
             more = more[1:]
             if dep not in deps:
                 deps.append(dep)
-                if dep in self._packages:
-                    dep_pkg = self._packages[dep]
-                elif dep in self._virtual_packages:
-                    dep_pkg = self._packages[self._virtual_packages[dep][0]]
-                else:
-                    dep_pkg = None
+                dep_pkg = self.get_package(dep, recurse=True)
+                if dep_pkg is None:
+                    providers = self.get_providers(dep)
+                    if providers:
+                        dep_pkg = self.get_package(providers[0], recurse=True)
                 if dep_pkg is not None and package_name in self._get_recursive_dependencies(dep_pkg):
                     circular.append(dep)
                     more += dep_pkg.dependencies()

-- 
piuparts git repository



More information about the Piuparts-commits mailing list