From ebe44bf04e37cfc6d3750316189d9cd754542f06 Mon Sep 17 00:00:00 2001 From: Stefano Rivera Date: Sun, 6 May 2012 13:09:54 +0200 Subject: [PATCH] backportpackage: Allow unsigned backports (LP: #992739) --- backportpackage | 22 ++++++++++++++++++---- debian/changelog | 1 + 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/backportpackage b/backportpackage index 55c98a7..dd04e66 100755 --- a/backportpackage +++ b/backportpackage @@ -86,6 +86,11 @@ def parse(args): parser.add_option('-u', '--upload', metavar='UPLOAD', help='Specify an upload destination') + parser.add_option("-k", "--key", + help="Specify the key ID to be used for signing.") + parser.add_option('--dont-sign', + dest='key', action='store_false', + help='Do not sign the upload.') parser.add_option('-y', '--yes', dest='prompt', default=True, @@ -130,6 +135,8 @@ def parse(args): opts.lpinstance = config.get_value('LPINSTANCE') if opts.upload is None: opts.upload = config.get_value('UPLOAD') + if opts.keyid is None: + opts.keyid = config.get_value('KEYID') if not opts.upload and not opts.workdir: parser.error('Please specify either a working dir or an upload target!') if opts.upload and opts.upload.startswith('ppa:'): @@ -259,7 +266,7 @@ def orig_needed(upload, workdir, pkg): return False def do_backport(workdir, pkg, suffix, release, release_pocket, build, builder, - update, upload, prompt): + update, upload, keyid, prompt): dirname = '%s-%s' % (pkg.source, release) srcdir = os.path.join(workdir, dirname) @@ -284,7 +291,7 @@ def do_backport(workdir, pkg, suffix, release, release_pocket, build, builder, 'No-change backport to %s' % release], cwd=srcdir) - cmd = ['debuild', '--no-lintian', '-S', '-nc'] + cmd = ['debuild', '--no-lintian', '-S', '-nc', '-uc', '-us'] if orig_needed(upload, workdir, pkg): cmd.append('-sa') else: @@ -292,13 +299,19 @@ def do_backport(workdir, pkg, suffix, release, release_pocket, build, builder, check_call(cmd, cwd=srcdir) fn_base = pkg.source + '_' + bp_version.split(':', 1)[-1] + changes = fn_base + '_source.changes' if build: if 0 != do_build(workdir, fn_base + '.dsc', release, builder, update): sys.exit(1) + if keyid != False: + cmd = ['debsign'] + if keyid: + cmd.append('-k' + keyid) + cmd.append(changes) + check_call(cmd, cwd=workdir) if upload: - do_upload(workdir, pkg.source, bp_version, fn_base + '_source.changes', - upload, prompt) + do_upload(workdir, pkg.source, bp_version, changes, upload, prompt) shutil.rmtree(srcdir) @@ -343,6 +356,7 @@ def main(args): opts.builder, opts.update, opts.upload, + opts.key, opts.prompt) except DownloadError, e: error(str(e)) diff --git a/debian/changelog b/debian/changelog index 4d35c65..b193dfa 100644 --- a/debian/changelog +++ b/debian/changelog @@ -18,6 +18,7 @@ ubuntu-dev-tools (0.142) UNRELEASED; urgency=low in the destination PPA (LP: #691897) * Allow mk-sbuild to be run by root if a configuration file exists (LP: #888736) + * backportpackage: Allow unsigned backports (LP: #992739) -- Stefano Rivera Wed, 25 Apr 2012 17:38:58 +0200