diff --git a/setup.py b/setup.py index 68765bd9..1d76eea7 100755 --- a/setup.py +++ b/setup.py @@ -66,7 +66,8 @@ setup(name="pisi", package_dir = {'': ''}, packages = ['pisi', 'pisi.cli', 'pisi.actionsapi', 'pisi.pxml', 'pisi.search'], scripts = ['pisi-cli', 'tools/repostats.py', 'tools/find-lib-deps.py', - 'tools/update-environ.py', 'tools/lspisi', 'tools/calc-build-order.py'], + 'tools/update-environ.py', 'tools/lspisi', 'tools/unpisi', + 'tools/calc-build-order.py'], cmdclass = { 'install' : Install } diff --git a/tools/unpisi b/tools/unpisi index e48700e4..f460e933 100755 --- a/tools/unpisi +++ b/tools/unpisi @@ -13,6 +13,7 @@ import sys from pisi.archive import ArchiveZip +from pisi.zipfileext import BadZipfile def usage(errmsg): print """ @@ -29,7 +30,12 @@ def main(): if len(sys.argv) < 2: usage("PiSi package required..") - arc = ArchiveZip(sys.argv[1], 'zip', 'r') + try: + arc = ArchiveZip(sys.argv[1], 'zip', 'r') + except BadZipfile, e: + print e + sys.exit(1) + arc.unpack_files(['files.xml', 'metadata.xml'], '.') arc.unpack_dir_flat('comar','comar') arc.unpack_dir_flat('install','.')