From e9576b98b1c166be5e164c20df8d8659bb0431be Mon Sep 17 00:00:00 2001 From: =?utf8?q?Elan=20Ruusam=C3=A4e?= Date: Tue, 10 Jan 2017 18:05:17 +0200 Subject: [PATCH] add java_min_classdataversion support http://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2017-January/025273.html --- rpm-java-requires | 19 +++++++++++++++---- rpm-javadeps.patch | 2 +- rpm.spec | 2 +- 3 files changed, 17 insertions(+), 6 deletions(-) mode change 100644 => 100755 rpm-java-requires diff --git a/rpm-java-requires b/rpm-java-requires old mode 100644 new mode 100755 index dc069c8..8bbac6f --- a/rpm-java-requires +++ b/rpm-java-requires @@ -16,9 +16,23 @@ export PATH="/sbin:/usr/sbin:/bin:/usr/bin" # xsltproc for eclipse feature.xml : ${xsltproc=/usr/bin/xsltproc} +# "%define java_min_classdataversion 51.0" in spec to minimum version to be 51.0 +: ${MIN_CLASSDATAVERSION=} + # save $- state, to enable in functions debug=$- +javaclassversionfilter() { + if [ "$MIN_CLASSDATAVERSION" ]; then + set -- $* "$MIN_CLASSDATAVERSION" + fi + + local v + for v in $*; do + echo "java(ClassDataVersion) >= $v" + done | sort -V | tail -n 1 +} + javaclassversion() { set -$debug local mode=$1; shift @@ -33,10 +47,7 @@ javaclassversion() { return 1 fi - local v - for v in $classver; do - echo "java(ClassDataVersion) >= $v" - done + javaclassversionfilter $classver return 0 } diff --git a/rpm-javadeps.patch b/rpm-javadeps.patch index 9a88b49..3e8303c 100644 --- a/rpm-javadeps.patch +++ b/rpm-javadeps.patch @@ -20,7 +20,7 @@ -%__java_provides %{_rpmhome}/javadeps.sh --provides -%__java_requires %{_rpmhome}/javadeps.sh --requires +%__java_provides %{nil} -+%__java_requires env RPM_BUILD_ROOT=%{buildroot} %{_rpmhome}/java-find-requires ++%__java_requires env RPM_BUILD_ROOT=%{buildroot} MIN_CLASSDATAVERSION=%{?java_min_classdataversion} %{_rpmhome}/java-find-requires # The value of CLASSPATH in build scriptlets (iff configured). # diff --git a/rpm.spec b/rpm.spec index 8901531..2e537c1 100644 --- a/rpm.spec +++ b/rpm.spec @@ -51,7 +51,7 @@ Summary(ru.UTF-8): Менеджер пакетов от RPM Summary(uk.UTF-8): Менеджер пакетів від RPM Name: rpm Version: 5.4.15 -Release: 38 +Release: 39 License: LGPL v2.1 Group: Base # http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.15-0.20140824.src.rpm -- 2.43.0