--- cli/koji | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/cli/koji b/cli/koji index 581138d..d089dc0 100755 --- a/cli/koji +++ b/cli/koji @@ -6212,6 +6212,7 @@ def anon_handle_download_build(options, session, args): parser.add_option("--latestfrom", dest="latestfrom", help=_("Download the latest build from this tag")) parser.add_option("--debuginfo", action="store_true", help=_("Also download -debuginfo rpms")) parser.add_option("--task-id", action="store_true", help=_("Interperet id as a task id")) + parser.add_option("--rpm", action="store_true", help=_("Download the given rpm")) parser.add_option("--key", help=_("Download rpms signed with the given key")) parser.add_option("--topurl", metavar="URL", default=options.topurl, help=_("URL under which Koji files are accessible")) @@ -6251,6 +6252,12 @@ def anon_handle_download_build(options, session, args): print "%s has no builds of %s" % (suboptions.latestfrom, build) return 1 info = builds[0] + elif suboptions.rpm: + rpminfo = session.getRPM(build) + if rpminfo is None: + print "No such rpm: %s" % build + return 1 + info = session.getBuild(rpminfo['build_id']) else: info = session.getBuild(build)
@@ -6292,7 +6299,10 @@ def anon_handle_download_build(options, session, args): arches = suboptions.arches if len(arches) == 0: arches = None - rpms = session.listRPMs(buildID=info['id'], arches=arches) + if suboptions.rpm: + rpms = [rpminfo] + else: + rpms = session.listRPMs(buildID=info['id'], arches=arches) if not rpms: if arches: print "No %s packages available for %s" % (" or ".join(arches), koji.buildLabel(info))
--- cli/koji | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/cli/koji b/cli/koji index d089dc0..e0eef14 100755 --- a/cli/koji +++ b/cli/koji @@ -6206,7 +6206,7 @@ def anon_handle_download_build(options, session, args): usage = _("usage: %prog download-build [options] <n-v-r | build_id | package>") usage += _("\n(Specify the --help global option for a list of other help options)") parser = OptionParser(usage=usage) - parser.add_option("--arch", dest="arches", metavar="ARCH", action="append", default=[], + parser.add_option("--arch", "-a", dest="arches", metavar="ARCH", action="append", default=[], help=_("Only download packages for this arch (may be used multiple times)")) parser.add_option("--type", help=_("Download archives of the given type, rather than rpms (maven, win, or image)")) parser.add_option("--latestfrom", dest="latestfrom", help=_("Download the latest build from this tag")) @@ -6259,6 +6259,13 @@ def anon_handle_download_build(options, session, args): return 1 info = session.getBuild(rpminfo['build_id']) else: + # if we're given an rpm name without --rpm, download the containing build + try: + nvra = koji.parse_NVRA(build) + rpminfo = session.getRPM(build) + build = rpminfo['build_id'] + except Exception: + pass info = session.getBuild(build)
if info is None:
koji-devel@lists.fedorahosted.org