Implement new non-conflicting Java bindings
Resolves: RHEL-54068 Resolves: RHEL-54070 Resolves: RHEL-54071 Resolves: RHEL-54072 Resolves: RHEL-62175 Resolves: RHEL-62176
This commit is contained in:
parent
cc1f21748a
commit
f84cab931e
132
maven.spec
132
maven.spec
@ -1,5 +1,6 @@
|
||||
%bcond_with bootstrap
|
||||
|
||||
%global java_arches aarch64 ppc64le s390x x86_64
|
||||
%global bundled_slf4j_version 1.7.30
|
||||
%global homedir %{_datadir}/%{name}%{?maven_version_suffix}
|
||||
%global confdir %{_sysconfdir}/%{name}%{?maven_version_suffix}
|
||||
@ -7,14 +8,14 @@
|
||||
Name: maven
|
||||
Epoch: 1
|
||||
Version: 3.6.3
|
||||
Release: 21%{?dist}
|
||||
Release: 22%{?dist}
|
||||
Summary: Java project management and project comprehension tool
|
||||
# maven itself is ASL 2.0
|
||||
# bundled slf4j is MIT
|
||||
License: ASL 2.0 and MIT
|
||||
URL: https://maven.apache.org/
|
||||
BuildArch: noarch
|
||||
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
|
||||
ExclusiveArch: %{java_arches} noarch
|
||||
|
||||
Source0: https://archive.apache.org/dist/%{name}/%{name}-3/%{version}/source/apache-%{name}-%{version}-src.tar.gz
|
||||
Source1: maven-bash-completion
|
||||
@ -80,7 +81,7 @@ BuildRequires: mvn(org.slf4j:slf4j-simple::sources:)
|
||||
%endif
|
||||
|
||||
Requires: %{name}-lib = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-jdk-binding = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-jdk-binding
|
||||
Suggests: %{name}-openjdk17 = %{epoch}:%{version}-%{release}
|
||||
|
||||
Requires: which
|
||||
@ -108,55 +109,94 @@ Provides: bundled(slf4j) = %{bundled_slf4j_version}
|
||||
%description lib
|
||||
Core part of Apache Maven that can be used as a library.
|
||||
|
||||
%package javadoc
|
||||
Summary: API documentation for %{name}
|
||||
|
||||
%description javadoc
|
||||
This package provides %{summary}.
|
||||
|
||||
%if !0%{?specpartsdir:1}
|
||||
|
||||
%package openjdk8
|
||||
Summary: OpenJDK 8 binding for Maven
|
||||
RemovePathPostfixes: -openjdk8
|
||||
Provides: maven-jdk-binding = %{epoch}:%{version}-%{release}
|
||||
Requires: maven = %{epoch}:%{version}-%{release}
|
||||
Requires: java-1.8.0-openjdk-headless
|
||||
Recommends: java-1.8.0-openjdk-devel
|
||||
Conflicts: maven-jdk-binding
|
||||
Provides: maven-jdk-binding = %{epoch}:%{version}-%{release}
|
||||
Requires: java-1.8.0-openjdk-headless
|
||||
Recommends: java-1.8.0-openjdk-devel
|
||||
Requires: javapackages-tools >= 6.4.0
|
||||
Requires(meta): maven = %{epoch}:%{version}-%{release}
|
||||
|
||||
%description openjdk8
|
||||
Configures Maven to run with OpenJDK 8.
|
||||
|
||||
%files openjdk8
|
||||
%ghost %{_jpbindingdir}/maven.conf
|
||||
%dir %{_jpbindingdir}/maven.conf.d
|
||||
%{_jpbindingdir}/maven.conf.d/openjdk8
|
||||
|
||||
%package openjdk11
|
||||
Summary: OpenJDK 11 binding for Maven
|
||||
RemovePathPostfixes: -openjdk11
|
||||
Provides: maven-jdk-binding = %{epoch}:%{version}-%{release}
|
||||
Requires: maven = %{epoch}:%{version}-%{release}
|
||||
Requires: java-11-openjdk-headless
|
||||
Recommends: java-11-openjdk-devel
|
||||
Conflicts: maven-jdk-binding
|
||||
Provides: maven-jdk-binding = %{epoch}:%{version}-%{release}
|
||||
Requires: java-11-openjdk-headless
|
||||
Recommends: java-11-openjdk-devel
|
||||
Requires: javapackages-tools >= 6.4.0
|
||||
Requires(meta): maven = %{epoch}:%{version}-%{release}
|
||||
|
||||
%description openjdk11
|
||||
Configures Maven to run with OpenJDK 11.
|
||||
|
||||
%files openjdk11
|
||||
%ghost %{_jpbindingdir}/maven.conf
|
||||
%dir %{_jpbindingdir}/maven.conf.d
|
||||
%{_jpbindingdir}/maven.conf.d/openjdk11
|
||||
|
||||
%package openjdk17
|
||||
Summary: OpenJDK 17 binding for Maven
|
||||
RemovePathPostfixes: -openjdk17
|
||||
Provides: maven-jdk-binding = %{epoch}:%{version}-%{release}
|
||||
Requires: maven = %{epoch}:%{version}-%{release}
|
||||
Requires: java-17-openjdk-headless
|
||||
Recommends: java-17-openjdk-devel
|
||||
Conflicts: maven-jdk-binding
|
||||
Provides: maven-jdk-binding = %{epoch}:%{version}-%{release}
|
||||
Requires: java-17-openjdk-headless
|
||||
Recommends: java-17-openjdk-devel
|
||||
Requires: javapackages-tools >= 6.4.0
|
||||
Requires(meta): maven = %{epoch}:%{version}-%{release}
|
||||
|
||||
%description openjdk17
|
||||
Configures Maven to run with OpenJDK 17.
|
||||
|
||||
%files openjdk17
|
||||
%ghost %{_jpbindingdir}/maven.conf
|
||||
%dir %{_jpbindingdir}/maven.conf.d
|
||||
%{_jpbindingdir}/maven.conf.d/openjdk17
|
||||
|
||||
%package openjdk21
|
||||
Summary: OpenJDK 21 binding for Maven
|
||||
RemovePathPostfixes: -openjdk21
|
||||
Provides: maven-jdk-binding = %{epoch}:%{version}-%{release}
|
||||
Requires: maven = %{epoch}:%{version}-%{release}
|
||||
Requires: java-21-openjdk-headless
|
||||
Recommends: java-21-openjdk-devel
|
||||
Conflicts: maven-jdk-binding
|
||||
Provides: maven-jdk-binding = %{epoch}:%{version}-%{release}
|
||||
Requires: java-21-openjdk-headless
|
||||
Recommends: java-21-openjdk-devel
|
||||
Requires: javapackages-tools >= 6.4.0
|
||||
Requires(meta): maven = %{epoch}:%{version}-%{release}
|
||||
|
||||
%description openjdk21
|
||||
Configures Maven to run with OpenJDK 21.
|
||||
|
||||
%{?javadoc_package}
|
||||
%files openjdk21
|
||||
%ghost %{_jpbindingdir}/maven.conf
|
||||
%dir %{_jpbindingdir}/maven.conf.d
|
||||
%{_jpbindingdir}/maven.conf.d/openjdk21
|
||||
|
||||
%package unbound
|
||||
Summary: Unbound Maven binding
|
||||
Provides: maven-jdk-binding = %{epoch}:%{version}-%{release}
|
||||
Requires: javapackages-tools >= 6.4.0
|
||||
Requires(meta): maven = %{epoch}:%{version}-%{release}
|
||||
|
||||
%description unbound
|
||||
Configures Maven to run with Java discovered using JAVA_HOME and PATH
|
||||
environment variables.
|
||||
|
||||
%files unbound
|
||||
%ghost %{_jpbindingdir}/maven.conf
|
||||
%dir %{_jpbindingdir}/maven.conf.d
|
||||
%{_jpbindingdir}/maven.conf.d/unbound
|
||||
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%setup -q -n apache-%{name}-%{version}
|
||||
@ -259,11 +299,21 @@ ln -s %{homedir}/bin/mvnDebug.1.gz %{buildroot}%{_mandir}/man1/mvnDebug%{maven_v
|
||||
%endif
|
||||
|
||||
# JDK bindings
|
||||
%if !0%{?specpartsdir:1}
|
||||
export RPM_SPECPARTS_DIR=/tmp
|
||||
%endif
|
||||
install -d -m 755 %{buildroot}%{_javaconfdir}/
|
||||
echo JAVA_HOME=%{_jvmlibdir}/jre-1.8.0-openjdk >%{buildroot}%{_javaconfdir}/maven.conf-openjdk8
|
||||
echo JAVA_HOME=%{_jvmlibdir}/jre-11-openjdk >%{buildroot}%{_javaconfdir}/maven.conf-openjdk11
|
||||
echo JAVA_HOME=%{_jvmlibdir}/jre-17-openjdk >%{buildroot}%{_javaconfdir}/maven.conf-openjdk17
|
||||
echo JAVA_HOME=%{_jvmlibdir}/jre-21-openjdk >%{buildroot}%{_javaconfdir}/maven.conf-openjdk21
|
||||
ln -sf %{_jpbindingdir}/maven%{?maven_version_suffix}.conf %{buildroot}%{_javaconfdir}/maven%{?maven_version_suffix}.conf
|
||||
echo JAVA_HOME=%{_jvmdir}/jre-1.8.0-openjdk >%{buildroot}%{_javaconfdir}/maven%{?maven_version_suffix}-openjdk8.conf
|
||||
echo JAVA_HOME=%{_jvmdir}/jre-11-openjdk >%{buildroot}%{_javaconfdir}/maven%{?maven_version_suffix}-openjdk11.conf
|
||||
echo JAVA_HOME=%{_jvmdir}/jre-17-openjdk >%{buildroot}%{_javaconfdir}/maven%{?maven_version_suffix}-openjdk17.conf
|
||||
echo JAVA_HOME=%{_jvmdir}/jre-21-openjdk >%{buildroot}%{_javaconfdir}/maven%{?maven_version_suffix}-openjdk21.conf
|
||||
%jp_binding --verbose --variant openjdk8 --ghost maven%{?maven_version_suffix}.conf --target %{_javaconfdir}/maven%{?maven_version_suffix}-openjdk8.conf --provides %{name}-jdk-binding --requires java-1.8.0-openjdk-headless --recommends java-1.8.0-openjdk-devel
|
||||
%jp_binding --verbose --variant openjdk11 --ghost maven%{?maven_version_suffix}.conf --target %{_javaconfdir}/maven%{?maven_version_suffix}-openjdk11.conf --provides %{name}-jdk-binding --requires java-11-openjdk-headless --recommends java-11-openjdk-devel
|
||||
%jp_binding --verbose --variant openjdk17 --ghost maven%{?maven_version_suffix}.conf --target %{_javaconfdir}/maven%{?maven_version_suffix}-openjdk17.conf --provides %{name}-jdk-binding --requires java-17-openjdk-headless --recommends java-17-openjdk-devel
|
||||
%jp_binding --verbose --variant openjdk21 --ghost maven%{?maven_version_suffix}.conf --target %{_javaconfdir}/maven%{?maven_version_suffix}-openjdk21.conf --provides %{name}-jdk-binding --requires java-21-openjdk-headless --recommends java-21-openjdk-devel
|
||||
touch %{buildroot}%{_javaconfdir}/maven%{?maven_version_suffix}-unbound.conf
|
||||
%jp_binding --verbose --variant unbound --ghost maven%{?maven_version_suffix}.conf --target %{_javaconfdir}/maven%{?maven_version_suffix}-unbound.conf --provides %{name}-jdk-binding
|
||||
|
||||
|
||||
%post
|
||||
@ -282,6 +332,7 @@ if [[ $1 -eq 0 ]]; then update-alternatives --remove mvn %{homedir}/bin/mvn; fi
|
||||
%exclude %{homedir}/bin/mvn*
|
||||
%dir %{confdir}
|
||||
%dir %{confdir}/logging
|
||||
%config %{_javaconfdir}/maven%{?maven_version_suffix}*.conf
|
||||
%config(noreplace) %{_sysconfdir}/m2%{?maven_version_suffix}.conf
|
||||
%config(noreplace) %{confdir}/settings.xml
|
||||
%config(noreplace) %{confdir}/logging/simplelogger.properties
|
||||
@ -300,19 +351,14 @@ if [[ $1 -eq 0 ]]; then update-alternatives --remove mvn %{homedir}/bin/mvn; fi
|
||||
%{_mandir}/man1/mvnDebug%{maven_version_suffix}.1.gz
|
||||
%endif
|
||||
|
||||
%files openjdk8
|
||||
%config %{_javaconfdir}/maven.conf-openjdk8
|
||||
|
||||
%files openjdk11
|
||||
%config %{_javaconfdir}/maven.conf-openjdk11
|
||||
|
||||
%files openjdk17
|
||||
%config %{_javaconfdir}/maven.conf-openjdk17
|
||||
|
||||
%files openjdk21
|
||||
%config %{_javaconfdir}/maven.conf-openjdk21
|
||||
%files javadoc -f .mfiles-javadoc
|
||||
%license LICENSE NOTICE
|
||||
|
||||
%changelog
|
||||
* Thu Dec 12 2024 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.6.3-22
|
||||
- Implement new non-conflicting Java bindings
|
||||
- Resolves: RHEL-54068, RHEL-54070, RHEL-54071, RHEL-54072
|
||||
|
||||
* Sat Nov 23 2024 Marián Konček <mkoncek@redhat.com> - 1:3.6.3-21
|
||||
- Add noarch to ExclusiveArch
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user