Index: pungi/pungi =================================================================== --- pungi.orig/pungi +++ pungi/pungi @@ -17,8 +17,7 @@ import pypungi.config import pypungi.gather import pypungi.pungi import yum -import pykickstart.parser -import pykickstart.version +import pykickstart def main(): @@ -32,10 +31,12 @@ def main(): (opts, args) = get_arguments(config) # Set up the kickstart parser and pass in the kickstart file we were handed - ksparser = pykickstart.parser.KickstartParser(pykickstart.version.makeVersion()) + ksdata = pykickstart.data.KickstartData() + kshandlers = pykickstart.parser.KickstartHandlers(ksdata) + ksparser = pykickstart.parser.KickstartParser(ksdata, kshandlers) ksparser.readKickstart(opts.config) - for part in ksparser.handler.partition.partitions: + for part in ksparser.ksdata.partitions: if part.mountpoint == 'iso': config.set('default', 'cdsize', part.size) Index: pungi/pypungi/gather.py =================================================================== --- pungi.orig/pypungi/gather.py +++ pungi/pypungi/gather.py @@ -101,7 +101,7 @@ class Gather(pypungi.PungiBase): arches.append('src') # throw source in there, filter it later # deal with our repos - for repo in ksparser.handler.repo.repoList: + for repo in ksparser.ksdata.repoList: self.logger.info('Adding repo %s' % repo.name) thisrepo = yum.yumRepo.YumRepository(repo.name) thisrepo.name = repo.name @@ -185,24 +185,18 @@ class Gather(pypungi.PungiBase): packages = [] # Check if we have the group - if not self.ayum.comps.has_group(group.name): + if not self.ayum.comps.has_group(group): self.logger.error("Group %s not found in comps!" % group) return packages # Get the group object to work with - groupobj = self.ayum.comps.return_group(group.name) + groupobj = self.ayum.comps.return_group(group) # Add the mandatory packages packages.extend(groupobj.mandatory_packages.keys()) - # Add the default packages unless we don't want them - if group.include == 1: - packages.extend(groupobj.default_packages.keys()) - - # Add the optional packages if we want them - if group.include == 2: - packages.extend(groupobj.default_packages.keys()) - packages.extend(groupobj.optional_packages.keys()) + # Add the default packages + packages.extend(groupobj.default_packages.keys()) # Deal with conditional packages # Populate a dict with the name of the required package and value @@ -231,19 +225,19 @@ class Gather(pypungi.PungiBase): matchdict = {} # A dict of objects to names # First remove the excludes - self.ayum.conf.exclude.extend(self.ksparser.handler.packages.excludedList) + self.ayum.conf.exclude.extend(self.ksparser.ksdata.excludedList) self.ayum.excludePackages() # Check to see if we need the base group - if self.ksparser.handler.packages.addBase: - self.ksparser.handler.packages.add(['@base']) + if self.ksparser.ksdata.addBase: + self.ksparser.ksdata.groupList.append('base') # Get a list of packages from groups - for group in self.ksparser.handler.packages.groupList: + for group in self.ksparser.ksdata.groupList: searchlist.extend(self.getPackagesFromGroup(group)) # Add the adds - searchlist.extend(self.ksparser.handler.packages.packageList) + searchlist.extend(self.ksparser.ksdata.packageList) # Make the search list unique searchlist = yum.misc.unique(searchlist)