aboutsummaryrefslogtreecommitdiffhomepage
path: root/gbp/scripts/import_dsc.py
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2016-03-13 17:37:14 +0100
committerGuido Günther <agx@sigxcpu.org>2016-03-13 18:04:16 +0100
commit9990b889d8775ed700ae28c3f17ce3b600eb27bd (patch)
tree3c4fb2e22d2837dfd97016da0695316d6fce8940 /gbp/scripts/import_dsc.py
parent93993909554442af009285c3866d4bf7b7c5da13 (diff)
import_dsc: Make 'gbp import-dsc' aware of component tarballs
instead of plain failing just import the additional tarball but disable pristine-tar until we sorted out how to export things again. Closes: #561072
Diffstat (limited to 'gbp/scripts/import_dsc.py')
-rw-r--r--gbp/scripts/import_dsc.py20
1 files changed, 11 insertions, 9 deletions
diff --git a/gbp/scripts/import_dsc.py b/gbp/scripts/import_dsc.py
index be74bd03..d4a11b27 100644
--- a/gbp/scripts/import_dsc.py
+++ b/gbp/scripts/import_dsc.py
@@ -197,13 +197,13 @@ def move_tag_stamp(repo, format, version):
repo.move_tag(old, new)
-def set_bare_repo_options(options):
- """Modify options for import into a bare repository"""
+def disable_pristine_tar(options, reason):
+ """Disable pristine tar if enabled"""
if options.pristine_tar:
- gbp.log.info("Bare repository: setting %s option"
- % (["", " '--no-pristine-tar'"][options.pristine_tar], ))
+ gbp.log.info("%s: setting '--no-pristine-tar' option" % reason)
options.pristine_tar = False
+
def build_parser(name):
try:
parser = GbpOptionParserDebian(command=os.path.basename(name), prefix='',
@@ -317,10 +317,6 @@ def main(argv):
if options.verbose:
print_dsc(src)
- if src.additional_tarballs:
- raise GbpError("Cannot import package with additional tarballs but found '%s'" %
- ", ".join([os.path.basename(t) for t in src.additional_tarballs]))
-
if needs_repo:
if os.path.exists(src.pkg):
raise GbpError("Directory '%s' already exists. If you want to import into it, "
@@ -331,11 +327,17 @@ def main(argv):
os.chdir(repo.path)
if repo.bare:
- set_bare_repo_options(options)
+ disable_pristine_tar(options, "Bare repository")
+ elif src.additional_tarballs:
+ disable_pristine_tar(options, "Component tarballs found")
dirs['tmp'] = os.path.abspath(tempfile.mkdtemp(dir='..'))
upstream = DebianUpstreamSource(src.tgz)
upstream.unpack(dirs['tmp'], options.filters)
+ for tarball in src.additional_tarballs:
+ gbp.log.info("Found component tarball '%s'" % os.path.basename(tarball))
+ subtarball = DebianUpstreamSource(tarball)
+ subtarball.unpack(upstream.unpacked, options.filters)
format = [(options.upstream_tag, "Upstream"), (options.debian_tag, "Debian")][src.native]
tag = repo.version_to_tag(format[0], src.upstream_version)