diff options
author | Guido Günther <agx@sigxcpu.org> | 2019-10-26 13:26:53 +0200 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2019-10-27 11:35:45 +0100 |
commit | 16781c82d3a7af341340d8904b740ef57f6dd5d6 (patch) | |
tree | e72e92ad8e09655392ca0e35cfbe3a5161adaaea /gbp | |
parent | f44ec2015d0942ab4131ad12593f87a57fff8fbe (diff) |
import-orig: Handle tarball signature when using pristine-tar
Diffstat (limited to 'gbp')
-rw-r--r-- | gbp/config.py | 3 | ||||
-rw-r--r-- | gbp/deb/git.py | 4 | ||||
-rw-r--r-- | gbp/scripts/import_orig.py | 10 |
3 files changed, 13 insertions, 4 deletions
diff --git a/gbp/config.py b/gbp/config.py index cef355a8..495ec630 100644 --- a/gbp/config.py +++ b/gbp/config.py @@ -181,6 +181,7 @@ class GbpOptionParser(OptionParser): 'submodules': 'False', 'symlink-orig': 'True', 'tarball-dir': '', + 'upstream-signatures': 'auto', 'template-dir': '', 'time-machine': 1, 'track': 'True', @@ -327,6 +328,8 @@ class GbpOptionParser(OptionParser): "default is '%(postimport)s'", 'hooks': "Enable running all hooks, default is %(hooks)s", + 'upstream-signatures': + "Whether to import/export upstream tarball signatures", 'time-machine': "don't try to apply patch queue to head commit only. " "Try at most TIME_MACHINE commits back, " diff --git a/gbp/deb/git.py b/gbp/deb/git.py index 5f9003c4..3584f6ff 100644 --- a/gbp/deb/git.py +++ b/gbp/deb/git.py @@ -302,8 +302,8 @@ class DebianGitRepository(PkgGitRepository): "pristine tar commit from" % (source.component, upstream_tree)) gbp.log.debug("Creating pristine tar commit '%s' from '%s'" % (source.path, subtree)) - self.pristine_tar.commit(source.path, subtree, quiet=True) - self.pristine_tar.commit(sources[0].path, main_tree, quiet=True) + self.pristine_tar.commit(source.path, subtree, signaturefile=source.signaturefile, quiet=True) + self.pristine_tar.commit(sources[0].path, main_tree, signaturefile=sources[0].signaturefile, quiet=True) except CommandExecFailed as e: raise GitRepositoryError(str(e)) diff --git a/gbp/scripts/import_orig.py b/gbp/scripts/import_orig.py index 0aa4ec79..2ebd279e 100644 --- a/gbp/scripts/import_orig.py +++ b/gbp/scripts/import_orig.py @@ -25,8 +25,7 @@ import time import gbp.command_wrappers as gbpc from gbp.deb import (DebianPkgPolicy, parse_changelog_repo) from gbp.deb.format import DebianSourceFormat -from gbp.deb.upstreamsource import (DebianUpstreamSource, - DebianAdditionalTarball) +from gbp.deb.upstreamsource import DebianUpstreamSource from gbp.deb.uscan import (Uscan, UscanError) from gbp.deb.changelog import ChangeLog, NoChangeLogError from gbp.deb.git import GitRepositoryError @@ -371,6 +370,9 @@ def build_parser(name): dest="symlink_orig") import_group.add_config_file_option("component", action="append", metavar='COMPONENT', dest="components") + import_group.add_config_file_option(option_name="upstream-signatures", + dest="upstream_signatures", + type='tristate') cmd_group.add_config_file_option(option_name="postimport", dest="postimport") cmd_group.add_config_file_option(option_name="postunpack", dest="postunpack") @@ -497,6 +499,10 @@ def main(argv): if options.pristine_tar: if pristine_orig: repo.rrr_branch('pristine-tar') + for source in sources: + # Enforce signature file exists with --upstream-signatures=on + if options.upstream_signatures.is_on() and not source.signaturefile: + raise GbpError("%s does not have a signature file" % source.path) # For all practical purposes we're interested in pristine_orig's path if pristine_orig != sources[0].path: sources[0]._path = pristine_orig |