diff options
Diffstat (limited to 'gbp/deb.py')
-rw-r--r-- | gbp/deb.py | 24 |
1 files changed, 22 insertions, 2 deletions
@@ -407,11 +407,31 @@ def unpack_orig(archive, tmpdir, filters): unpackArchive = gbpc.UnpackTarArchive(archive, tmpdir, filters) unpackArchive() except gbpc.CommandExecFailed: - print >>sys.stderr, "Unpacking of %s failed" % archive + # unpackArchive already printed an error message raise GbpError return unpackArchive.dir +def unpack_upstream_source(archive, tmpdir, filters): + """ + Unpack upstream sources into tmpdir + + @return: Return true if the importet archive is suitable as an upstream + tarball + @rtype: boolean + """ + ext = os.path.splitext(archive)[1] + if ext in [ ".zip", ".xpi" ]: + try: + gbpc.UnpackZipArchive(archive, tmpdir)() + except gbpc.CommandExecFailed: + raise GbpError, "Unpacking of %s failed" % archive + return False + else: + unpack_orig(archive, tmpdir, filters) + return True + + def repack_orig(archive, tmpdir, dest): """ recreate a new .orig.tar.gz from tmpdir (useful when using filter option) @@ -420,7 +440,7 @@ def repack_orig(archive, tmpdir, dest): repackArchive = gbpc.RepackTarArchive(archive, tmpdir, dest) repackArchive() except gbpc.CommandExecFailed: - print >>sys.stderr, "Failed to create %s" % archive + # repackArchive already printed an error raise GbpError return repackArchive.dir |