diff options
author | Lars Wirzenius <liw@liw.fi> | 2015-12-27 20:10:36 +0100 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2015-12-27 20:10:36 +0100 |
commit | 698f96a76027fe1c40aad28ea3c12362c6d380a6 (patch) | |
tree | 7d05e9479fe7bad2f642efa40fbc5817be115d1d | |
parent | b43448486ae26b4a5850fa9dfb1d2b76b1b5f45e (diff) | |
download | ick-698f96a76027fe1c40aad28ea3c12362c6d380a6.tar.gz |
Add support for repo-signing-key
-rw-r--r-- | icklib/project.py | 22 |
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: |