aboutsummaryrefslogtreecommitdiffhomepage
path: root/gbp/deb/git.py
diff options
context:
space:
mode:
authorChristian Göttsche <cgzones@googlemail.com>2019-12-17 00:10:01 +0100
committerChristian Göttsche <cgzones@googlemail.com>2020-01-21 17:36:53 +0100
commit2f1c1577e74c36d17aa9f8956e95c42018c71925 (patch)
treeb864c8b9ebe646515d1451a8d360e81a88fd394b /gbp/deb/git.py
parentbddd221ee61f8fca61f5a7e17ee47019862c1da7 (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.py15
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,