A single build with the prefer-new option will be possible when an information about the tag will be provided. --- util/koji-shadow | 18 ++++++++++++------ 1 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/util/koji-shadow b/util/koji-shadow index 4bbbd31..023511d 100755 --- a/util/koji-shadow +++ b/util/koji-shadow @@ -1259,15 +1259,21 @@ class BuildTracker(object):
def main(args): tracker = BuildTracker() - #binfo = remote.getBuild(args[0], strict=True) - #tracker.scanBuild(binfo['id']) - tag=None + try: + tag = args[0] + except IndexError: + tag = None + if options.build: binfo = remote.getBuild(options.build, strict=True) - tracker.scanBuild(binfo['id']) + tracker.scanBuild(binfo['id'], tag=tag) else: - tag = args[0] - tracker.scanTag(tag) + if tag is None: + print "Tag is required" + return + else: + print "Working on tag %s" % (tag) + tracker.scanTag(tag) tracker.report() tracker.runRebuilds(tag)
When a tag is set for a single build we can search for a replacement of a missing build. --- util/koji-shadow | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/util/koji-shadow b/util/koji-shadow index 023511d..eddc68d 100755 --- a/util/koji-shadow +++ b/util/koji-shadow @@ -745,7 +745,7 @@ class BuildTracker(object): if depth > 0: print "%sDep replaced: %s->%s" % (head, build.nvr, replace) return build - if options.prefer_new and (depth > 0) and not (options.build or build.state == "common"): + if options.prefer_new and (depth > 0) and (tag is not None) and not (build.state == "common"): latestBuild = self.newerBuild(build, tag) if latestBuild != None: build.substitute = latestBuild.nvr
buildsys@lists.fedoraproject.org