]> git.pld-linux.org Git - packages/rpm.git/blobdiff - find-java-req.sh
- updated for 4.4.9, less invasive version
[packages/rpm.git] / find-java-req.sh
index 9c1733fd06cd08d43995adfb8de6b8c6e3c48f71..6d6106fb485c7aebbbe8bb1c950939df6a3ddac9 100755 (executable)
@@ -8,8 +8,10 @@
 export PATH="/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin"
 
 javaclassversion() {
+       [ $# -gt 0 ] || return
+
        local ver
-       classver=$(file "$@" | grep -o 'compiled Java class data, version [0-9.]*' | awk '{print $NF}' | sort -u)
+       classver=$(echo "$@" | xargs -r file | grep -o 'compiled Java class data, version [0-9.]*' | awk '{print $NF}' | sort -u)
        [ "$classver" ] || return
        for v in $classver; do
                echo "java(ClassDataVersion) >= $v"
@@ -22,21 +24,27 @@ javajarversion() {
        # check only files, symlinks could point outside buildroot
        [ -f "$jar" -a ! -L "$jar" ] || return
 
+#      echo >&2 "find java requires: ${jar#$RPM_BUILD_ROOT}"
+
        tmp=$(mktemp -d)
        unzip -q -d $tmp $jar >&2
        javaclassversion $(find $tmp -type f -name '*.class')
        rm -rf $tmp
 }
 
-for file in $(cat -); do
-       case $file in
-       *.jar)
-               javajarversion "$file"
-               unzip -p $file | javadeps --requires --rpmformat --keywords -
-       ;;
-       *.class)
-               javaclassversion "$file"
-               javadeps --requires --rpmformat --keywords $file
-       ;;
-       esac
-done | sort -u
+FILES=$(cat -)
+
+find_requires() {
+       for file in $FILES; do
+               case $file in
+               *.jar)
+                       javajarversion "$file"
+               ;;
+               *.class)
+                       javaclassversion "$file"
+               ;;
+               esac
+       done
+}
+
+find_requires | sort -u
This page took 0.093074 seconds and 4 git commands to generate.