[PATCH] pungi: Fix dependency resolution to recurse properly.

Bill Nottingham notting at redhat.com
Tue Sep 15 15:22:03 UTC 2009


It wasn't properly recusing in the --selfhosting or --fulltree cases
before, leading to potenial broken deps.

Bill

Signed-off-by: Bill Nottingham <notting at redhat.com>
---
 src/pypungi/__init__.py |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/src/pypungi/__init__.py b/src/pypungi/__init__.py
index 26c8bdf..aec3c8c 100644
--- a/src/pypungi/__init__.py
+++ b/src/pypungi/__init__.py
@@ -255,6 +255,7 @@ class Pungi(pypungi.PungiBase):
 
         reqs = po.requires
         provs = po.provides
+        added = []
 
         for req in reqs:
             if self.resolved_deps.has_key(req):
@@ -275,8 +276,10 @@ class Pungi(pypungi.PungiBase):
             for dep in depsack.returnNewestByNameArch():
                 self.ayum.tsInfo.addInstall(dep)
                 self.logger.info('Added %s.%s for %s.%s' % (dep.name, dep.arch, po.name, po.arch))
-           
+                added.append(dep)
             self.resolved_deps[req] = None
+        for add in added:
+            self.getPackageDeps(add)
 
     def getPackagesFromGroup(self, group):
         """Get a list of package names from a ksparser group object
@@ -483,6 +486,7 @@ class Pungi(pypungi.PungiBase):
             for txmbr in self.ayum.tsInfo:
                 if txmbr.po.arch != 'src' and txmbr.po not in self.polist:
                     self.polist.append(txmbr.po)
+                    self.getPackageDeps(txmbr.po)
             self.srpms_build = list(self.srpmpolist)
             # Now that we've resolved deps, refresh the source rpm list
             self.getSRPMList()
@@ -508,6 +512,7 @@ class Pungi(pypungi.PungiBase):
             for txmbr in self.ayum.tsInfo:
                 if txmbr.po.arch != 'src' and txmbr.po not in self.polist:
                     self.polist.append(txmbr.po)
+                    self.getPackageDeps(po)
             self.srpms_fulltree = list(self.srpmpolist)
             # Now that we've resolved deps, refresh the source rpm list
             self.getSRPMList()
-- 
1.6.4.3




More information about the Fedora-buildsys-list mailing list