import CS maven-3.6.3-22.el9

This commit is contained in:
eabdullin 2025-03-11 07:44:43 +00:00
parent 7e883e5e15
commit 16d7eb3744

View File

@ -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,13 +8,14 @@
Name: maven
Epoch: 1
Version: 3.6.3
Release: 15%{?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: %{java_arches} noarch
Source0: https://archive.apache.org/dist/%{name}/%{name}-3/%{version}/source/apache-%{name}-%{version}-src.tar.gz
Source1: maven-bash-completion
@ -79,8 +81,8 @@ BuildRequires: mvn(org.slf4j:slf4j-simple::sources:)
%endif
Requires: %{name}-lib = %{epoch}:%{version}-%{release}
Requires: %{name}-jdk-binding = %{epoch}:%{version}-%{release}
Suggests: %{name}-openjdk11 = %{epoch}:%{version}-%{release}
Requires: %{name}-jdk-binding
Suggests: %{name}-openjdk17 = %{epoch}:%{version}-%{release}
Requires: which
@ -107,43 +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.
%{?javadoc_package}
%files openjdk17
%ghost %{_jpbindingdir}/maven.conf
%dir %{_jpbindingdir}/maven.conf.d
%{_jpbindingdir}/maven.conf.d/openjdk17
%package openjdk21
Summary: OpenJDK 21 binding for Maven
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.
%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}
@ -151,10 +204,10 @@ Configures Maven to run with OpenJDK 17.
find -name '*.java' -exec sed -i 's/\r//' {} +
find -name 'pom.xml' -exec sed -i 's/\r//' {} +
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch -P 1 -p1
%patch -P 2 -p1
%patch -P 3 -p1
%patch -P 4 -p1
# not really used during build, but a precaution
find -name '*.jar' -not -path '*/test/*' -delete
@ -246,10 +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
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
@ -268,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
@ -286,16 +351,37 @@ 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 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
* Sat Nov 23 2024 Marián Konček <mkoncek@redhat.com> - 1:3.6.3-20
- Disable building on i686
* Sat Nov 23 2024 Marián Konček <mkoncek@redhat.com> - 1:3.6.3-19
- Switch to Fedora tests
* Thu Nov 21 2024 Marián Konček <mkoncek@redhat.com> - 1:3.6.3-18
- Fix patch usage
* Wed Nov 20 2024 Marián Konček <mkoncek@redhat.com> - 1:3.6.3-17
- Rebuild with regenerated Requires on Java
* Thu Oct 17 2024 Marián Konček <mkoncek@redhat.com> - 1:3.6.3-16
- Suggest maven-openjdk17
- Resolves: RHEL-62398
* Thu Oct 17 2024 Marián Konček <mkoncek@redhat.com> - 1:3.6.3-16
- Add maven-openjdk21
- Resolves: RHEL-62407
* Tue Jan 31 2023 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.6.3-15
- Add missing Requires on which
- Resolves: rhbz#2165596