From 3d069954662f424ed28be0649bd5ed1e90a0b0d6 Mon Sep 17 00:00:00 2001
From: Markus Frosch <markus.frosch@icinga.com>
Date: Thu, 10 Jan 2019 14:41:31 +0100
Subject: [PATCH] upload: Add repo and architecture parameters

---
 icinga-build-upload-aptly | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/icinga-build-upload-aptly b/icinga-build-upload-aptly
index b10c531..9097e94 100755
--- a/icinga-build-upload-aptly
+++ b/icinga-build-upload-aptly
@@ -81,17 +81,22 @@ def aptly_url(url):
 
 parser = argparse.ArgumentParser(description='Uploading build results to an Aptly server')
 parser.add_argument('--server', help='APTLY API service to talk to (e.g. http://127.0.0.1:8080/api)',
-                    default=os.environ.get('APTLY_SERVER'))
+                    default=os.environ.get('APTLY_SERVER'), metavar='APTLY_SERVER')
 parser.add_argument('--username', help='APTLY API username',
-                    default=os.environ.get('APTLY_USERNAME'))
+                    default=os.environ.get('APTLY_USERNAME'), metavar='APTLY_USERNAME')
 parser.add_argument('--password', help='APTLY API password',
-                    default=os.environ.get('APTLY_PASSWORD'))
+                    default=os.environ.get('APTLY_PASSWORD'), metavar='APTLY_PASSWORD')
 parser.add_argument('--result', metavar='path',
                     default='build/', help='Build result to upload')
 parser.add_argument('--target', metavar='target', required=True,
-                   help='Repository to install the package to (e.g. stack/dev/epel or stack/dev/ubuntu)')
+                    help='Repository to install the package to (e.g. stack/dev/epel or stack/dev/ubuntu)')
 parser.add_argument('--release', metavar='release', required=True,
-                   help='Version of the repository to install to (e.g. 7 or icinga-xenial)')
+                    help='Version of the repository to install to (e.g. 7 or icinga-xenial)')
+parser.add_argument('--repo', metavar='repo',
+                    help='Specific repository name in aptly')
+parser.add_argument('--architectures', metavar='list',
+                    help=('Specify list of architectures to publish the repo with,'
+                          'separated by comma (e.g. amd64,i386 or armhf)'))
 parser.add_argument('--insecure', action='store_true', help='Disable SSL verification')
 args = parser.parse_args()
 
@@ -133,6 +138,11 @@ upload_meta = {
     'checksums': checksums,
 }
 
+if args.repo:
+    upload_meta['repo'] = args.repo
+if args.architectures:
+    upload_meta['architectures'] = re.split(r'\s*,\s*', args.architectures)
+
 # uploading files
 upload_url = aptly_url('/files/' + upload_name)
 print "Uploading %d files to %s" % (len(files), upload_name)
-- 
GitLab