]> 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 0994ebdbbc192cfc8f2f7535ce3f57bb3fc16079..6d6106fb485c7aebbbe8bb1c950939df6a3ddac9 100755 (executable)
@@ -11,7 +11,7 @@ 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"
@@ -24,6 +24,8 @@ 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')
@@ -37,48 +39,12 @@ find_requires() {
                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
-}
-
-find_provides() {
-       for file in $FILES; do
-               case $file in
-               *.jar)
-                       unzip -p $file | javadeps --provides --rpmformat --keywords --starprov -
-               ;;
-               *.class)
-                       javadeps --provides --rpmformat --keywords --starprov $file
                ;;
                esac
-       done | sort -u
+       done
 }
 
-REQUIRES=$(find_requires)
-PROVIDES=$(find_provides)
-
-# This is a little magic trick to get all REQUIRES that are not
-# in PROVIDES. While RPM functions correctly when such deps exist,
-# they make the metadata a bit bloated.
-
-# Filter out dups from both lists
-REQUIRES=$(echo "$REQUIRES" | sort | uniq)
-PROVIDES=$(echo "$PROVIDES" | sort | uniq)
-
-#
-# Get a list of elements that exist in exactly one of PROVIDES or REQUIRES
-#
-UNIQ=$(echo "$PROVIDES
-$REQUIRES" | sort | uniq -u)
-
-#
-# Of those, only choose the ones that are in REQUIRES
-#
-echo "$UNIQ
-$REQUIRES" | sort | uniq -d
+find_requires | sort -u
This page took 0.026015 seconds and 4 git commands to generate.