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