]> git.pld-linux.org Git - packages/rpm.git/blobdiff - find-java-req.sh
- Th version, based on find-java-req.sh:AC-branch
[packages/rpm.git] / find-java-req.sh
index 952e92a1894bbb007c754c727026c1ca7fbae745..6d6106fb485c7aebbbe8bb1c950939df6a3ddac9 100755 (executable)
@@ -7,52 +7,11 @@
 
 export PATH="/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin"
 
-IGNORE_DEPS="@"
-BUILDROOT="/"
-
-# Loop over all args
-while :; do
-# Break out if there are no more args
-       case $# in
-       0)
-               break
-               ;;
-       esac
-
-# Get the first arg, and shuffle
-       option=$1
-       shift
-
-# Make all options have two hyphens
-       orig_option=$option     # Save original for error messages
-       case $option in
-       --*) ;;
-       -*) option=-$option ;;
-       esac
-
-       case $option in
-       --buildroot)
-               BUILDROOT=$1
-               shift
-               ;;
-       --ignore_deps)
-               IGNORE_DEPS=$1
-               shift
-               ;;
-       --help)
-               echo $usage
-               exit 0
-               ;;
-       *)
-               echo "$0: Unrecognized option: \"$orig_option\"; use --help for usage." >&2
-               exit 1
-               ;;
-       esac
-done
-
 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"
@@ -65,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 | egrep -v \'$IGNORE_DEPS\'
+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.047434 seconds and 4 git commands to generate.