diff options
author | Christian Göttsche <cgzones@googlemail.com> | 2019-12-17 00:10:01 +0100 |
---|---|---|
committer | Christian Göttsche <cgzones@googlemail.com> | 2020-01-21 17:36:53 +0100 |
commit | 2f1c1577e74c36d17aa9f8956e95c42018c71925 (patch) | |
tree | b864c8b9ebe646515d1451a8d360e81a88fd394b /gbp/deb/git.py | |
parent | bddd221ee61f8fca61f5a7e17ee47019862c1da7 (diff) |
add option to export tarballs with upstream signature
Add option `--upstream-signatures=[on|auto|off]` to export-orig.
Add option `--git-upstream-signatures=[on|auto|off]` to buildpackage.
Closes: 872864
Diffstat (limited to 'gbp/deb/git.py')
-rw-r--r-- | gbp/deb/git.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/gbp/deb/git.py b/gbp/deb/git.py index 3584f6ff..ee939a85 100644 --- a/gbp/deb/git.py +++ b/gbp/deb/git.py @@ -316,13 +316,22 @@ class DebianGitRepository(PkgGitRepository): source.upstream_version, comp)) - def create_upstream_tarball_via_pristine_tar(self, source, output_dir, comp, component=None): + def create_upstream_tarball_via_pristine_tar(self, source, output_dir, comp, upstream_signatures, component=None): output = source.upstream_tarball_name(comp.type, component=component) + gbp.log.debug("upstream signature state: %s" % upstream_signatures) + commit, found_signature = self.get_pristine_tar_commit(source, component) + if not commit and self.has_pristine_tar_branch(): + raise GitRepositoryError("Can not find pristine tar commit for archive '%s'" % output) + if not found_signature and upstream_signatures.is_on(): + raise GitRepositoryError("Can not find requested upstream signature for archive '%s' in pristine tar commit." % output) try: + signature = False if upstream_signatures.is_off() else found_signature self.pristine_tar.checkout(source.name, source.upstream_version, comp.type, output_dir, - component=component, quiet=True) + component=component, quiet=True, signature=signature) except Exception as e: - raise GitRepositoryError("Error creating %s: %s" % (output, e)) + raise GitRepositoryError("Error creating %s%s: %s" % (output, + " with attached signature file" if signature else "", + e)) return True def create_upstream_tarball_via_git_archive(self, source, output_dir, treeish, |