2 # This script reads filenames from STDIN and outputs any relevant requires
3 # information that needs to be included in the package.
5 # Based on rpm-4.4.2/scripts/find-req.pl
6 # Authors: Elan Ruusamäe <glen@pld-linux.org>
8 export PATH="/sbin:/usr/sbin:/bin:/usr/bin"
11 [ $# -gt 0 ] || return 1
13 local classver=$(echo "$@" | xargs -r file | grep -o 'compiled Java class data, version [0-9.]*' | awk '{print $NF}' | sort -u)
14 if [ -z "$classver" ]; then
19 for v in $classver; do
20 echo "java(ClassDataVersion) >= $v"
29 # check only files, symlinks could point outside buildroot
30 [ -f "$jar" -a ! -L "$jar" ] || return $ret
33 unzip -q -d $tmp $jar >&2
34 javaclassversion $(find $tmp -type f -name '*.class') || {
35 echo >&2 "ERROR: Class version could not be extracted from $jar"
45 for file in $FILES; do
48 javajarversion "$file" || ret=1
51 javaclassversion "$file" || {
52 echo >&2 "ERROR: Class version could not be extracted from $file"
65 find_requires > $t || ret=1