[yum-cvs] yum/yum comps.py,1.9,1.10

Paul Nasrat pnasrat at linux.duke.edu
Fri Feb 10 14:01:27 UTC 2006


Update of /home/groups/yum/cvs/yum/yum
In directory login1.linux.duke.edu:/tmp/cvs-serv14703

Modified Files:
	comps.py 
Log Message:
Handle conditional req types in comps

Index: comps.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/comps.py,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- comps.py	5 Jan 2006 03:45:19 -0000	1.9
+++ comps.py	10 Feb 2006 14:01:25 -0000	1.10
@@ -45,6 +45,7 @@
         self.mandatory_packages = {}
         self.optional_packages = {}
         self.default_packages = {}
+        self.conditional_packages = {}
         self.langonly = None ## what the hell is this?
         self.groupid = None
         self.display_order = 1024
@@ -61,7 +62,8 @@
     def _packageiter(self):
         lst = self.mandatory_packages.keys() + \
               self.optional_packages.keys() + \
-              self.default_packages.keys()
+              self.default_packages.keys() + \
+              self.conditional_packages.keys() 
         
         return lst
     
@@ -137,7 +139,7 @@
                 if not type:
                     type = u'mandatory'
 
-                if type not in ('mandatory', 'default', 'optional'):
+                if type not in ('mandatory', 'default', 'optional', 'conditional'):
                     raise CompsException
 
                 package = child.text
@@ -147,6 +149,10 @@
                     self.default_packages[package] = 1
                 elif type == 'optional':
                     self.optional_packages[package] = 1
+                elif type == 'conditional':
+                    self.conditional_packages[package] = child.attrib.get('requires')
+
+
 
     def add(self, obj):
         """Add another group object to this object"""
@@ -160,6 +166,8 @@
             self.default_packages[pkg] = 1
         for pkg in obj.optional_packages.keys():
             self.optional_packages[pkg] = 1
+        for pkg in obj.conditional_packages.keys():
+            self.conditional_packages[pkg] = obj.conditional_packages[pkg]
         
         # name and description translations
         for lang in obj.translated_name.keys():
@@ -369,7 +377,7 @@
             # optional/default packages installed.
             # If so - then the group is installed
             else:
-                check_pkgs = group.optional_packages.keys() + group.default_packages.keys()
+                check_pkgs = group.optional_packages.keys() + group.default_packages.keys() + group.conditional_packages.keys()
                 group.installed = False
                 for pkgname in check_pkgs:
                     if inst_pkg_names.has_key(pkgname):




More information about the Yum-cvs-commits mailing list