From c619dee03a714c6aea411e92eb7a26fd5a7dd99a Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Wed, 24 Feb 2010 05:03:56 +0100 Subject: [PATCH] Use a wrapper script to support different compression types Signed-off-by: Pierre Schmitz --- namcap | 27 +++++++++++++++++++++++++++ namcap.py | 2 +- pacman.py | 2 +- setup.py | 2 +- 4 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 namcap diff --git a/namcap b/namcap new file mode 100644 index 0000000..f262985 --- /dev/null +++ b/namcap @@ -0,0 +1,27 @@ +#!/bin/bash + +args='' +tmp=$(mktemp -d /tmp/namcap.XXXXXXXXXX) + +for arg in "${@}"; do + if echo "${arg}" | grep -q -E "^.+\.pkg\.tar\..+$" && [ -f "${arg}" ]; then + + case "${arg##*.}" in + gz|z|Z) cmd='gzip' ;; + bz2|bz) cmd='bzip2' ;; + xz) cmd='xz' ;; + *) echo 'Unsupported compression'; exit 1;; + esac + + tar="${tmp}/$(basename "${arg%.*}")" + $cmd -dcf "${arg}" > "${tar}" + + args="${args} ${tar}" + else + args="${args} ${arg}" + fi +done + +python -m namcap ${args} + +rm -rf "${tmp}" diff --git a/namcap.py b/namcap.py index 19c6ceb..18dfbc8 100755 --- a/namcap.py +++ b/namcap.py @@ -228,7 +228,7 @@ for package in packages: print "Error: Problem reading " + package usage() - if package[-7:] == '.tar.gz': + if package[-4:] == '.tar': process_realpackage(package, active_modules) elif package[-8:] == 'PKGBUILD': process_pkgbuild(package, active_modules) diff --git a/pacman.py b/pacman.py index e4b6cf3..c56d399 100644 --- a/pacman.py +++ b/pacman.py @@ -66,7 +66,7 @@ def load(package, root=None): if root == None: root = pacmandb # We know it's a local package - if package[-7:] == '.tar.gz': + if package[-4:] == '.tar': pkgtar = tarfile.open(package, "r") if not pkgtar: return None diff --git a/setup.py b/setup.py index 66ee2ba..754ee72 100755 --- a/setup.py +++ b/setup.py @@ -10,6 +10,6 @@ setup(name="namcap", description="Pacman package analyzer", author="Jason Chu", author_email="jason@archlinux.org", - py_modules=["pacman"], packages=["Namcap"], scripts=["namcap.py", 'parsepkgbuild'],data_files =DATAFILES) + py_modules=["pacman", "namcap"], packages=["Namcap"], scripts=['parsepkgbuild', 'namcap'],data_files =DATAFILES) # vim: set ts=4 sw=4 noet: -- 1.7.0