diff --git a/src/pypungi/__init__.py b/src/pypungi/__init__.py index 2f6bc44a..8bb9341a 100644 --- a/src/pypungi/__init__.py +++ b/src/pypungi/__init__.py @@ -129,6 +129,8 @@ class Pungi(pypungi.PungiBase): self.polist = [] self.srpmlist = [] self.resolved_deps = {} # list the deps we've already resolved, short circuit. + self.repos = [] + self.mirrorlists = [] # Create a yum object to use self.ayum = PungiYum(config) @@ -176,9 +178,11 @@ class Pungi(pypungi.PungiBase): # add excludes and such here when pykickstart gets them if repo.mirrorlist: thisrepo.mirrorlist = yum.parser.varReplace(repo.mirrorlist, self.ayum.conf.yumvar) + self.mirrorlists.extend('thisrepo.mirrorlist') self.logger.info('Mirrorlist for repo %s is %s' % (thisrepo.name, thisrepo.mirrorlist)) else: thisrepo.baseurl = yum.parser.varReplace(repo.baseurl, self.ayum.conf.yumvar) + self.repos.extend('thisrepo.baseurl') self.logger.info('URL for repo %s is %s' % (thisrepo.name, thisrepo.baseurl)) thisrepo.basecachedir = self.ayum.conf.cachedir thisrepo.enablegroups = True @@ -580,8 +584,19 @@ class Pungi(pypungi.PungiBase): buildinstall.append('--bugurl') buildinstall.append(self.config.get('default', 'bugurl')) + buildinstall.append'--output') buildinstall.append(self.topdir) + for mirrorlist in self.mirrorlists: + buildinstall.append('--mirrorlist') + buildinstall.append(mirorrlist) + + buildinstall.append(self.topdir) + + # Add any extra repos of baseurl type + for repo in self.repos: + buildinstall.append(repo) + # run the command # TMPDIR is still broken with buildinstall. pypungi.util._doRunCommand(buildinstall, self.logger) #, env={"TMPDIR": self.workdir})