[arch-dev-public] [PATCH] Use a wrapper script to support different compression types
Dan McGee
dan at archlinux.org
Wed Feb 24 00:26:51 EST 2010
From: Pierre Schmitz <pierre at archlinux.de>
Signed-off-by: Pierre Schmitz <pierre at archlinux.de>
---
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 at 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
More information about the arch-dev-public
mailing list