summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2015-12-27 20:10:36 +0100
committerLars Wirzenius <liw@liw.fi>2015-12-27 20:10:36 +0100
commit698f96a76027fe1c40aad28ea3c12362c6d380a6 (patch)
tree7d05e9479fe7bad2f642efa40fbc5817be115d1d
parentb43448486ae26b4a5850fa9dfb1d2b76b1b5f45e (diff)
downloadick-698f96a76027fe1c40aad28ea3c12362c6d380a6.tar.gz
Add support for repo-signing-key
-rw-r--r--icklib/project.py22
1 files changed, 20 insertions, 2 deletions
diff --git a/icklib/project.py b/icklib/project.py
index ea6aa0c..335c87e 100644
--- a/icklib/project.py
+++ b/icklib/project.py
@@ -46,6 +46,7 @@ class Project(object):
self.name = name
self.progress = None
self.git_specs = []
+ self.repo_signing_key = None
self.commands = []
self.local_commands = []
self.env = {}
@@ -58,6 +59,9 @@ class Project(object):
def add_git_spec(self, git_spec):
self.git_specs.append(git_spec)
+ def set_repo_signing_key(self, key_id):
+ self.repo_signing_key = key_id
+
def add_shell_command(self, command):
self.commands.append(command)
@@ -858,6 +862,7 @@ class FindDebianChangesFiles(icklib.BuildStep):
]
return any(getattr(self.run_state, x, False) for x in names)
+
class SetupAPTRepository(icklib.BuildStep):
def build(self):
@@ -888,6 +893,11 @@ class SetupAPTRepository(icklib.BuildStep):
archs = set(t.debian_arch for t in targets)
codenames = set(t.debian_codename for t in targets)
+ if self.project.repo_signing_key is None:
+ signwith = ''
+ else:
+ signwith = 'SignWith: {}\n'.format(self.project.repo_signing_key)
+
result = ''
for codename in codenames:
ci_stanza = (
@@ -897,10 +907,13 @@ class SetupAPTRepository(icklib.BuildStep):
'Description: packages built by ick for CI\n'
'Architectures: source {archlist}\n'
'Components: main\n'
+ '{signwith}'
'\n'
)
result += ci_stanza.format(
- codename=codename, archlist=' '.join(archs))
+ codename=codename,
+ archlist=' '.join(archs),
+ signwith=signwith)
release_stanza = (
'Codename: {codename}\n'
@@ -909,10 +922,13 @@ class SetupAPTRepository(icklib.BuildStep):
'Description: packages built by ick for release\n'
'Architectures: source {archlist}\n'
'Components: main\n'
+ '{signwith}'
'\n'
)
result += release_stanza.format(
- codename=codename, archlist=' '.join(archs))
+ codename=codename,
+ archlist=' '.join(archs),
+ signwith=signwith)
return result
@@ -1086,6 +1102,8 @@ def create_projects_from_ick(ick, wanted_names):
p = Project(project_name)
for git_spec in create_git_specs_for_project(project_dict):
p.add_git_spec(git_spec)
+ if 'repo-signing-key' in ick:
+ p.set_repo_signing_key(ick['repo-signing-key'])
if 'shell' in project_dict:
p.add_shell_command(project_dict['shell'])
if 'local-shell' in project_dict: