SOURCES: rpm-java-requires - report errors
glen
glen at pld-linux.org
Tue Nov 18 14:37:50 CET 2008
Author: glen Date: Tue Nov 18 13:37:50 2008 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- report errors
---- Files affected:
SOURCES:
rpm-java-requires (1.1 -> 1.2)
---- Diffs:
================================================================
Index: SOURCES/rpm-java-requires
diff -u SOURCES/rpm-java-requires:1.1 SOURCES/rpm-java-requires:1.2
--- SOURCES/rpm-java-requires:1.1 Tue May 22 21:59:27 2007
+++ SOURCES/rpm-java-requires Tue Nov 18 14:37:44 2008
@@ -8,43 +8,60 @@
export PATH="/sbin:/usr/sbin:/bin:/usr/bin"
javaclassversion() {
- [ $# -gt 0 ] || return
+ [ $# -gt 0 ] || return 1
- local ver
- classver=$(echo "$@" | xargs -r file | grep -o 'compiled Java class data, version [0-9.]*' | awk '{print $NF}' | sort -u)
- [ "$classver" ] || return
+ local classver=$(echo "$@" | xargs -r file | grep -o 'compiled Java class data, version [0-9.]*' | awk '{print $NF}' | sort -u)
+ if [ -z "$classver" ]; then
+ return 1
+ fi
+
+ local v
for v in $classver; do
echo "java(ClassDataVersion) >= $v"
done
+ return 0
}
javajarversion() {
local jar="$1"
+ local ret=0
# check only files, symlinks could point outside buildroot
- [ -f "$jar" -a ! -L "$jar" ] || return
-
-# echo >&2 "find java requires: ${jar#$RPM_BUILD_ROOT}"
+ [ -f "$jar" -a ! -L "$jar" ] || return $ret
tmp=$(mktemp -d)
unzip -q -d $tmp $jar >&2
- javaclassversion $(find $tmp -type f -name '*.class')
+ javaclassversion $(find $tmp -type f -name '*.class') || {
+ echo >&2 "ERROR: Class version could not be extracted from $jar"
+ ret=1
+ }
rm -rf $tmp
-}
-FILES=$(cat -)
+ return $ret
+}
find_requires() {
+ local ret=0
for file in $FILES; do
case $file in
*.jar)
- javajarversion "$file"
+ javajarversion "$file" || ret=1
;;
*.class)
- javaclassversion "$file"
+ javaclassversion "$file" || {
+ echo >&2 "ERROR: Class version could not be extracted from $file"
+ ret=1
+ }
;;
esac
done
+ return $ret
}
-find_requires | sort -u
+FILES=$(cat -)
+
+t=$(mktemp)
+ret=0
+find_requires > $t || ret=1
+rm -f $t
+exit $ret
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/rpm-java-requires?r1=1.1&r2=1.2&f=u
More information about the pld-cvs-commit
mailing list