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:/usr/X11R6/bin"
15 # Break out if there are no more args
22 # Get the first arg, and shuffle
26 # Make all options have two hyphens
27 orig_option=$option # Save original for error messages
30 -*) option=-$option ;;
47 echo "$0: Unrecognized option: \"$orig_option\"; use --help for usage." >&2
55 classver=$(file "$@" | grep -o 'compiled Java class data, version [0-9.]*' | awk '{print $NF}' | sort -u)
56 [ "$classver" ] || return
57 for v in $classver; do
58 echo "java(ClassDataVersion) >= $v"
65 # check only files, symlinks could point outside buildroot
66 [ -f "$jar" -a ! -L "$jar" ] || return
69 unzip -q -d $tmp $jar >&2
70 javaclassversion $(find $tmp -type f -name '*.class')
74 for file in $(cat -); do
77 javajarversion "$file"
78 unzip -p $file | javadeps --requires --rpmformat --keywords -
81 javaclassversion "$file"
82 javadeps --requires --rpmformat --keywords $file
85 done | sort -u | egrep -v \'$IGNORE_DEPS\'