Add --nodownload option to print packages instead of downloading them.
This allows other tools to use Pungi for depsolving and process packages in their own way.
This commit is contained in:
parent
9cf7418cd5
commit
249efe1d75
@ -110,13 +110,28 @@ def main():
|
||||
mypungi.completePackageSet()
|
||||
if plen == len(mypungi.srpmpolist):
|
||||
break
|
||||
mypungi.downloadPackages()
|
||||
if opts.nodownload:
|
||||
for line in mypungi.listPackages():
|
||||
sys.stdout.write("RPM: %s\n" % line)
|
||||
sys.stdout.flush()
|
||||
else:
|
||||
mypungi.downloadPackages()
|
||||
mypungi.makeCompsFile()
|
||||
if not opts.nodebuginfo:
|
||||
mypungi.getDebuginfoList()
|
||||
mypungi.downloadDebuginfo()
|
||||
if opts.nodownload:
|
||||
for line in mypungi.listDebuginfo():
|
||||
sys.stdout.write("DEBUGINFO: %s\n" % line)
|
||||
sys.stdout.flush()
|
||||
else:
|
||||
mypungi.downloadDebuginfo()
|
||||
if not opts.nosource:
|
||||
mypungi.downloadSRPMs()
|
||||
if opts.nodownload:
|
||||
for line in mypungi.listSRPMs():
|
||||
sys.stdout.write("SRPM: %s\n" % line)
|
||||
sys.stdout.flush()
|
||||
else:
|
||||
mypungi.downloadSRPMs()
|
||||
|
||||
if opts.do_all or opts.do_createrepo:
|
||||
mypungi.doCreaterepo()
|
||||
@ -184,6 +199,8 @@ if __name__ == '__main__':
|
||||
help='disable gathering of source packages (optional)')
|
||||
parser.add_option("--nodebuginfo", action="store_true", dest="nodebuginfo",
|
||||
help='disable gathering of debuginfo packages (optional)')
|
||||
parser.add_option("--nodownload", action="store_true", dest="nodownload",
|
||||
help='disable downloading of packages. instead, print the package URLs (optional)')
|
||||
parser.add_option("--nogreedy", action="store_true", dest="nogreedy",
|
||||
help='disable pulling of all providers of package dependencies (optional)')
|
||||
parser.add_option("--sourceisos", default=False, action="store_true", dest="sourceisos",
|
||||
|
@ -728,6 +728,22 @@ class Pungi(pypungi.PungiBase):
|
||||
self._downloadPackageList(self.debuginfolist, os.path.join(self.config.get('pungi', 'arch'),
|
||||
'debug'))
|
||||
|
||||
def _listPackages(self, polist):
|
||||
"""Cycle through the list of packages and return their paths."""
|
||||
return [ os.path.join(pkg.basepath or "", pkg.relativepath) for pkg in polist ]
|
||||
|
||||
def listPackages(self):
|
||||
"""Cycle through the list of RPMs and return their paths."""
|
||||
return self._listPackages(self.polist)
|
||||
|
||||
def listSRPMs(self):
|
||||
"""Cycle through the list of SRPMs and return their paths."""
|
||||
return self._listPackages(self.srpmpolist)
|
||||
|
||||
def listDebuginfo(self):
|
||||
"""Cycle through the list of DEBUGINFO RPMs and return their paths."""
|
||||
return self._listPackages(self.debuginfolist)
|
||||
|
||||
def writeinfo(self, line):
|
||||
"""Append a line to the infofile in self.infofile"""
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user