diff options
author | Guido Günther <agx@sigxcpu.org> | 2011-07-24 14:52:12 +0200 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2011-07-25 17:12:35 +0200 |
commit | 73604962a177d654c4196d6ff7d9dd74f71aea37 (patch) | |
tree | 8bffc0940e2dae861aa2a877fdc671a3508ee6a1 /git-import-orig | |
parent | 011b4d4e891b91dd8f9f140295c412b4a277663e (diff) |
Support importing zip archives
This can now be easily extended to support other formats
Diffstat (limited to 'git-import-orig')
-rwxr-xr-x | git-import-orig | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/git-import-orig b/git-import-orig index 9433f4b1..9798e2bd 100755 --- a/git-import-orig +++ b/git-import-orig @@ -28,7 +28,7 @@ import tarfile import time import tempfile import gbp.command_wrappers as gbpc -from gbp.deb import (parse_changelog, unpack_orig, repack_orig, +from gbp.deb import (parse_changelog, unpack_upstream_source, repack_orig, NoChangelogError, has_epoch, tar_toplevel, guess_upstream_version, do_uscan, parse_changelog_repo, is_valid_packagename, @@ -327,7 +327,10 @@ def main(argv): if options.interactive: version = ask_package_version(guessed_version) else: - version = guessed_version + if guessed_version: + version = guessed_version + else: + raise GbpError, "Couldn't determine upstream version. Use '-u<version>' or --interactive" (clean, out) = repo.is_clean() if not clean and not is_empty: @@ -340,11 +343,16 @@ def main(argv): else: if not options.fast_import: tmpdir = tempfile.mkdtemp(dir='../') - unpack_orig(archive, tmpdir, options.filters) + is_orig = unpack_upstream_source(archive, tmpdir, options.filters) gbp.log.debug("Unpacked %s to '%s'" % (archive , tmpdir)) orig_dir = tar_toplevel(tmpdir) - # Don't mess up or repo with git metadata from an upstream tarball + # If the upstream archive is not suitable as an upstream + # tarball we turn of pristine-tar for now + if not is_orig: + options.pristine_tar = False + + # Don't mess up our repo with git metadata from an upstream tarball try: if os.path.isdir(os.path.join(orig_dir, '.git/')): raise GbpError, "The orig tarball contains .git metadata - giving up." @@ -358,8 +366,8 @@ def main(argv): os.path.basename(archive).replace(".tar", ".gbp.tar") ) repack_orig(archive, tmpdir, os.path.basename(orig_dir)) - pristine_orig = symlink_orig(archive, sourcepackage, version) - + if is_orig: + pristine_orig = symlink_orig(archive, sourcepackage, version) try: upstream_branch = [ options.upstream_branch, 'master' ][is_empty] filter_msg = ["", " (filtering out %s)" |