[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