aboutsummaryrefslogtreecommitdiffhomepage
path: root/gbp
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2019-10-26 13:26:53 +0200
committerGuido Günther <agx@sigxcpu.org>2019-10-27 11:35:45 +0100
commit16781c82d3a7af341340d8904b740ef57f6dd5d6 (patch)
treee72e92ad8e09655392ca0e35cfbe3a5161adaaea /gbp
parentf44ec2015d0942ab4131ad12593f87a57fff8fbe (diff)
import-orig: Handle tarball signature when using pristine-tar
Diffstat (limited to 'gbp')
-rw-r--r--gbp/config.py3
-rw-r--r--gbp/deb/git.py4
-rw-r--r--gbp/scripts/import_orig.py10
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