diff options
author | Guido Günther <agx@sigxcpu.org> | 2016-03-13 17:37:14 +0100 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2016-03-13 18:04:16 +0100 |
commit | 9990b889d8775ed700ae28c3f17ce3b600eb27bd (patch) | |
tree | 3c4fb2e22d2837dfd97016da0695316d6fce8940 /gbp/scripts/import_dsc.py | |
parent | 93993909554442af009285c3866d4bf7b7c5da13 (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.py | 20 |
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) |