summaryrefslogtreecommitdiffstats
path: root/instdata.py
diff options
context:
space:
mode:
authorJeremy Katz <katzj@redhat.com>2003-06-06 16:33:31 +0000
committerJeremy Katz <katzj@redhat.com>2003-06-06 16:33:31 +0000
commite0779b7bf137a60bf6e6cd3adee4aabffcd28c73 (patch)
tree20b8340a621390a3fc967ef5fb3723c78b4033c7 /instdata.py
parent91d5fc40d23a5fb5b225287090e8074d0054fa6e (diff)
downloadanaconda-e0779b7bf137a60bf6e6cd3adee4aabffcd28c73.tar.gz
anaconda-e0779b7bf137a60bf6e6cd3adee4aabffcd28c73.tar.xz
anaconda-e0779b7bf137a60bf6e6cd3adee4aabffcd28c73.zip
merge taroon branch. mostly package bits, but a lot of other misc stuff
and cleanups in here too
Diffstat (limited to 'instdata.py')
-rw-r--r--instdata.py30
1 files changed, 20 insertions, 10 deletions
diff --git a/instdata.py b/instdata.py
index 0452143dd..218612889 100644
--- a/instdata.py
+++ b/instdata.py
@@ -165,17 +165,27 @@ class InstallData:
and group.id != "core"):
f.write("@ %s\n" % group.id)
-# for metapkg in comp.metapkgs.keys():
-# (type, on) = comp.metapkgs[metapkg]
-# default = comp.metadef[metapkg]
-# if on == 1 and default == 0:
-# f.write("@ %s\n" % metapkg.name)
-# elif on == 0 and default == 1:
-# # this isn't quite right
-# for pkg in metapkg.newpkgDict.keys():
-# forcedoff[pkg.name] = 1
-
+ # handle metapkgs. this is a little weird
+ for (pkgnevra, pkg) in group.packages.items():
+ if pkg["meta"] == 0:
+ continue
+ metapkg = self.grpset.groups[pkgnevra]
+ # if it's optional and turned on, put it in the ks.cfg
+ if (metapkg.isSelected() and
+ pkg["type"] == hdrlist.PKGTYPE_OPTIONAL):
+ f.write("@ %s\n" %(metapkg.id,))
+ # if it's default and turned off, then turn off the
+ # component packages (we dont' have a -@grp syntax)
+ elif (not metapkg.isSelected() and
+ pkg["type"] == hdrlist.PKGTYPE_DEFAULT):
+ for (pkgnevra, pkg) in metapkg.packages.items():
+ name = self.grpset.hdrlist[pkgnevra].name
+ forcedoff[name] = 1
+
+ # handle packages
for (pkgnevra, pkg) in group.packages.items():
+ if pkg["meta"] != 0:
+ continue
name = self.grpset.hdrlist[pkgnevra].name
# if it's in base or core, it really should be installed
if group.id == "base" or group.id == "core":