]> git.pld-linux.org Git - packages/rpm.git/commitdiff
- scan also .class files
authorElan Ruusamäe <glen@pld-linux.org>
Tue, 10 Apr 2007 21:35:57 +0000 (21:35 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
- call `javadeps` for class deps

Changed files:
    find-java-req.sh -> 1.4

find-java-req.sh

index 5a9b4457c195bc238a5842310ad43f7679f761af..adbeb440f0b75b7c4d0b09f048be03f6bcb6a4e1 100755 (executable)
@@ -3,9 +3,6 @@
 # information that needs to be included in the package.
 
 export PATH="/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin"
-PATH=${PATH}:$(dirname $0)
-
-javadeps_args='--requires --rpmformat --keywords'
 
 IGNORE_DEPS="@"
 BUILDROOT="/"
@@ -51,25 +48,35 @@ while :; do
 done
 
 javaclassversion() {
-       local file="$1"
+       local ver
+       classver=$(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"
+       done
+}
+
+javajarversion() {
+       local jar="$1"
 
        # check only files, symlinks could point outside buildroot
-       [ -f "$file" -a ! -L "$file" ] || return
+       [ -f "$jar" -a ! -L "$jar" ] || return
 
        tmp=$(mktemp -d)
-       unzip -q -d $tmp $file >&2
-       classver=$(find $tmp -type f -name '*.class' | xargs -r -d'\n' file | grep -o 'compiled Java class data, version [0-9.]*' | awk '{print $NF}' | sort -u)
+       unzip -q -d $tmp $jar >&2
+       javaclassversion $(find $tmp -type f -name '*.class')
        rm -rf $tmp
-       [ "$classver" ] || return
-       for v in $classver; do
-               echo "java(ClassDataVersion) >= $v"
-       done
 }
 
 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\'
This page took 0.040306 seconds and 4 git commands to generate.