summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Katz <katzj@redhat.com>2003-09-02 16:53:55 +0000
committerJeremy Katz <katzj@redhat.com>2003-09-02 16:53:55 +0000
commitee08b0a78b788b6f11d5b1aee63602a03c92c5c0 (patch)
tree1b4ee84c9438d6a6212a3b1e5f2033efa9f6824b
parent5673181899656616283244c3824e1a4d62419a06 (diff)
downloadanaconda-ee08b0a78b788b6f11d5b1aee63602a03c92c5c0.tar.gz
anaconda-ee08b0a78b788b6f11d5b1aee63602a03c92c5c0.tar.xz
anaconda-ee08b0a78b788b6f11d5b1aee63602a03c92c5c0.zip
fix everything to include multiarch packages sanely. (#103374)
-rw-r--r--hdrlist.py24
1 files changed, 22 insertions, 2 deletions
diff --git a/hdrlist.py b/hdrlist.py
index 965ca2975..1b9113ae5 100644
--- a/hdrlist.py
+++ b/hdrlist.py
@@ -453,7 +453,11 @@ class Group:
self.packages = {}
for (pkg, (type, name)) in xmlgrp.packages.items():
- pkgnevra = hdrlist.getBestNevra(pkg, prefArch = pref)
+ if hdrlist.pkgs.has_key(pkg):
+ pkgnevra = pkg
+ else:
+ pkgnevra = hdrlist.getBestNevra(pkg, prefArch = pref)
+
if pkgnevra is None:
log("%s references package %s which doesn't exist"
%(self.id, pkg))
@@ -739,10 +743,26 @@ class GroupSet:
everything.name = N_("Everything")
everything.id = "everything"
everything.description = EVERYTHING_DESCRIPTION
+
+ multiarch = rhpl.arch.getMultiArchInfo()
+ if multiarch is not None:
+ (comp, best, biarch) = multiarch
for pkgname in hdrlist.pkgnames.keys():
if EverythingExclude.has_key(pkgname):
continue
- everything.packages[pkgname] = (u'mandatory', pkgname)
+
+ mainnevra = hdrlist.getBestNevra(pkgname, prefArch = None)
+ if mainnevra is None:
+ continue
+
+ everything.packages[mainnevra] = (u"mandatory", mainnevra)
+ if multiarch is not None:
+ # get the main and the biarch version of this package
+ # for everything group
+ secnevra = hdrlist.getBestNevra(pkgname, prefArch = biarch)
+ if mainnevra != secnevra and secnevra is not None:
+ everything.packages[secnevra] = (u"mandatory", secnevra)
+
self.compsxml.groups["Everything"] = everything
self.groups["everything"] = Group(self, everything)