summaryrefslogtreecommitdiffstats
path: root/comps.py
diff options
context:
space:
mode:
authorMatt Wilson <msw@redhat.com>2001-07-11 07:55:08 +0000
committerMatt Wilson <msw@redhat.com>2001-07-11 07:55:08 +0000
commitc16b42631f6e830acd8e62cc99adb10652e0dcb0 (patch)
tree9d105264b94be1fb8d236fa553a6dec839abc1d4 /comps.py
parent9c93e7da071d7a35f69a18a357908b79d7f4b1bd (diff)
downloadanaconda-c16b42631f6e830acd8e62cc99adb10652e0dcb0.tar.gz
anaconda-c16b42631f6e830acd8e62cc99adb10652e0dcb0.tar.xz
anaconda-c16b42631f6e830acd8e62cc99adb10652e0dcb0.zip
honor all conditions that a package should be considered for when adding packages to the Everything component
Diffstat (limited to 'comps.py')
-rw-r--r--comps.py25
1 files changed, 16 insertions, 9 deletions
diff --git a/comps.py b/comps.py
index 477ff118f..8e651cd74 100644
--- a/comps.py
+++ b/comps.py
@@ -543,10 +543,12 @@ class ComponentSet:
else:
if expression:
# this is a package with some qualifier prefixing it
- # XXX last expression noted wins when setting up
- # Everything.
- self.expressions[packages[l]] = expression
- comp.addPackageWithExpression (expression, packages[l])
+
+ list = self.expressions.get(packages[l])
+ if type(list) == type([]):
+ list.append(expression)
+ else:
+ self.expressions[packages[l]] = [ expression ]
else:
# if this package is listed anywhere without an
# expression, it can go in Everything.
@@ -558,11 +560,16 @@ class ComponentSet:
for package in packages.keys ():
if ExcludePackages.has_key(packages[package][rpm.RPMTAG_NAME]):
continue
- if self.expressions.has_key (packages[package]):
- expression = self.expressions[packages[package]]
- everything.addPackageWithExpression (expression,
- packages[package])
- else:
+ if self.expressions.has_key (packages[package]):
+ expressions = self.expressions[packages[package]]
+ if expressions == None:
+ everything.addPackageWithExpression (None,
+ packages[package])
+ else:
+ for expression in expressions:
+ everything.addPackageWithExpression (expression,
+ packages[package])
+ else:
everything.addPackage (packages[package])
self.comps.append (everything)
self.compsDict["Everything"] = everything