summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorJesse Keating <jkeating@redhat.com>2008-06-05 15:41:09 -0400
committerJesse Keating <jkeating@redhat.com>2008-06-05 15:41:09 -0400
commitb1cdb664fd5e78838030fcf6746ba0d9939233cf (patch)
tree0312f472211c1856bac09f375d61de4f8aeac995 /scripts
parentb70a28763de8ebbe1eb0e85ca8d024d7aeeab620 (diff)
downloadreleng-b1cdb664fd5e78838030fcf6746ba0d9939233cf.tar.gz
releng-b1cdb664fd5e78838030fcf6746ba0d9939233cf.tar.xz
releng-b1cdb664fd5e78838030fcf6746ba0d9939233cf.zip
Create a new function to be able to write sigs via multicall
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/sign_unsigned.py23
1 files changed, 19 insertions, 4 deletions
diff --git a/scripts/sign_unsigned.py b/scripts/sign_unsigned.py
index d9b9d8e..2069cc7 100755
--- a/scripts/sign_unsigned.py
+++ b/scripts/sign_unsigned.py
@@ -502,6 +502,23 @@ class SignUnsigned(CliTool, KojiTool):
sighdr = koji.rip_rpm_sighdr(path)
return sighdr, sigkey
+ def write_sigs(self, rpmlist, sigkey):
+ self.koji_session.multicall = True
+ for rpminfo in rpmlist:
+ x = os.path.join(koji.pathinfo.build(rpminfo['build']),
+ koji.pathinfo.signed(rpminfo, sigkey))
+ if self.options.test:
+ self.print_msg("Would have written: %s" % x)
+ continue
+ self.koji_session.writeSignedRPM(rpminfo, sigkey)
+
+ self.print_debug("Writing rpms...")
+ results = self.koji_session.multiCall()
+
+ for rpm, result in zip(rpmlist, results):
+ if isinstance(result, dict):
+ print "Error writing out %s" % self.rpm_nvra(rpm)
+
def write_sig(self, rpminfo, sigkey):
x = os.path.join(koji.pathinfo.build(rpminfo['build']),
koji.pathinfo.signed(rpminfo, sigkey))
@@ -656,8 +673,7 @@ class SignUnsigned(CliTool, KojiTool):
self.import_sig_from_files(rpms, level, workdir)
if self.options.write_rpms:
self.print_msg("Writing RPMs")
- for rpminfo in rpms:
- self.write_sig(rpminfo, self.get_key_id(level).lower())
+ self.write_sigs(rpms, self.get_key_id(level).lower())
#clean up
for fn in os.listdir(workdir):
path = "%s/%s" % (workdir,fn)
@@ -732,8 +748,7 @@ class SignUnsigned(CliTool, KojiTool):
self.print_debug("got %d rpms" % len(rpms))
if self.options.just_write_rpms:
sigkey = self.get_key_id(self.options.level).lower()
- for rpm in rpms:
- self.write_sig(rpm, sigkey)
+ self.write_sigs(rpms, sigkey)
else:
self.print_debug("Checking cached signatures")
uncached = self.find_uncached(rpms, level=self.options.level)