diff --git a/.gitignore b/.gitignore index 9fffa2f..8b33573 100644 --- a/.gitignore +++ b/.gitignore @@ -78,3 +78,9 @@ /6.0.0.tar.gz /6.1.0.tar.gz /6.2.0.tar.gz +/6.3.0.tar.gz +/6.3.1.tar.gz +/6.3.2.tar.gz +/6.3.3.tar.gz +/6.3.4.tar.gz +/6.4.0.tar.gz diff --git a/0001-coverage-use-usercustomize.patch b/0001-coverage-use-usercustomize.patch deleted file mode 100644 index be43680..0000000 --- a/0001-coverage-use-usercustomize.patch +++ /dev/null @@ -1,19 +0,0 @@ -From cd87af9da739da12b0dd4bf104ce4139388c722b Mon Sep 17 00:00:00 2001 -From: Yaakov Selkowitz -Date: Mon, 16 Oct 2023 17:56:46 -0400 -Subject: [PATCH] coverage: use usercustomize - -Providing sitecustomize clobbers any system-installed module, such as -that in Fedora's flatpak-runtime-config (which adds the /app prefix). ---- - test/coverage/{sitecustomize.py => usercustomize.py} | 0 - 1 file changed, 0 insertions(+), 0 deletions(-) - rename test/coverage/{sitecustomize.py => usercustomize.py} (100%) - -diff --git a/test/coverage/sitecustomize.py b/test/coverage/usercustomize.py -similarity index 100% -rename from test/coverage/sitecustomize.py -rename to test/coverage/usercustomize.py --- -2.41.0 - diff --git a/javapackages-tools.spec b/javapackages-tools.spec index e072c49..7e3da08 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -9,31 +9,24 @@ %global python_prefix python3 %global python_interpreter %{?__python3}%{!?__python3:dummy} -%global default_jdk %{_prefix}/lib/jvm/java-21-openjdk -%global default_jre %{_prefix}/lib/jvm/jre-21-openjdk - %global maven_home %{_usr}/share/xmvn +%global _jpbindingdir %{_datadir}/jpbinding + Name: javapackages-tools -Version: 6.2.0 -Release: 12%{?dist} +Version: 6.4.0 +Release: 1%{?dist} Summary: Macros and scripts for Java packaging support License: BSD-3-Clause URL: https://github.com/fedora-java/javapackages BuildArch: noarch -Source0: https://github.com/fedora-java/javapackages/archive/%{version}.tar.gz +Source: https://github.com/fedora-java/javapackages/archive/%{version}.tar.gz Source3: javapackages-config.json -Source21: toolchains-openjdk21.xml - -Patch0: 0001-coverage-use-usercustomize.patch - BuildRequires: coreutils -BuildRequires: which BuildRequires: make -BuildRequires: asciidoc -BuildRequires: xmlto +BuildRequires: rubygem-asciidoctor BuildRequires: %{python_prefix}-devel BuildRequires: %{python_prefix}-lxml BuildRequires: %{python_prefix}-setuptools @@ -42,9 +35,6 @@ BuildRequires: %{python_prefix}-pytest Requires: javapackages-filesystem = %{version}-%{release} Requires: coreutils Requires: findutils -Requires: which -# default JRE -Requires: java-21-openjdk-headless Provides: jpackage-utils = %{version}-%{release} @@ -59,11 +49,14 @@ Provides: eclipse-filesystem = %{version}-%{release} This package provides some basic directories into which Java packages install their content. -%package -n maven-local +%package -n maven-local-openjdk21 Summary: Macros and scripts for Maven packaging support +Requires: java-21-openjdk-devel +Provides: maven-local = %{version}-%{release} Requires: %{name} = %{version}-%{release} -Requires: javapackages-local = %{version}-%{release} +Requires: javapackages-local-openjdk21 = %{version}-%{release} Requires: xmvn-minimal +Requires: xmvn-toolchain-openjdk21 Requires: mvn(org.fedoraproject.xmvn:xmvn-mojo) # Common Maven plugins required by almost every build. It wouldn't make # sense to explicitly require them in every package built with Maven. @@ -71,8 +64,13 @@ Requires: mvn(org.apache.maven.plugins:maven-compiler-plugin) Requires: mvn(org.apache.maven.plugins:maven-jar-plugin) Requires: mvn(org.apache.maven.plugins:maven-resources-plugin) Requires: mvn(org.apache.maven.plugins:maven-surefire-plugin) +# Remove in Fedora 45 +Obsoletes: maven-local < 6.3.0 +Obsoletes: maven-local-openjdk8 < 6.2.0-29 +Obsoletes: maven-local-openjdk11 < 6.2.0-29 +Obsoletes: maven-local-openjdk17 < 6.2.0-29 -%description -n maven-local +%description -n maven-local-openjdk21 This package provides macros and scripts to support packaging Maven artifacts. %if %{with ivy} @@ -96,8 +94,10 @@ Requires: %{python_prefix}-lxml Module for handling, querying and manipulating of various files for Java packaging in Linux distributions -%package -n javapackages-local +%package -n javapackages-local-openjdk21 Summary: Non-essential macros and scripts for Java packaging support +Obsoletes: javapackages-local < 6.3.0 +Provides: javapackages-local = %{version}-%{release} Requires: javapackages-common = %{version}-%{release} # Java build systems don't have hard requirement on java-devel, so it should be there Requires: java-21-openjdk-devel @@ -105,8 +105,9 @@ Requires: xmvn-tools %if %{with xmvn_generator} Requires: xmvn-generator %endif +Requires: (ant-openjdk21 if ant) -%description -n javapackages-local +%description -n javapackages-local-openjdk21 This package provides non-essential macros and scripts to support Java packaging. %package -n javapackages-generators @@ -134,23 +135,14 @@ Requires: javapackages-local = %{version}-%{release} This package provides previously deprecated macros and scripts to support Java packaging as well as some additions to them. -%package -n maven-local-openjdk21 -Summary: OpenJDK 21 toolchain for XMvn -RemovePathPostfixes: -openjdk21 -Requires: maven-local -Requires: java-21-openjdk-devel - -%description -n maven-local-openjdk21 -OpenJDK 21 toolchain for XMvn - %prep -%setup -q -n javapackages-%{version} -%patch0 -p1 +%autosetup -p1 -n javapackages-%{version} %build %configure --pyinterpreter=%{python_interpreter} \ - --default_jdk=%{default_jdk} --default_jre=%{default_jre} \ - --rpmmacrodir=%{rpmmacrodir} + --rpmmacrodir=%{_rpmmacrodir} --rpmconfigdir=%{_rpmconfigdir} \ + --m2home=%{maven_home} \ + --jvm=openjdk21=%{_jvmdir}/jre-21-openjdk ./build %install @@ -166,9 +158,6 @@ rm -rf %{buildroot}%{_sysconfdir}/ivy rm -rf %{buildroot}%{_sysconfdir}/ant.d %endif -mkdir -p %{buildroot}%{maven_home}/conf/ -cp -p %{SOURCE21} %{buildroot}%{maven_home}/conf/toolchains.xml-openjdk21 - install -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/java/javapackages-config.json %if 0%{?flatpak} @@ -176,15 +165,54 @@ install -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/java/javapackages-config sed -e '/^JAVA_LIBDIR=/s|$|:/usr/share/java|' \ -e '/^JNI_LIBDIR=/s|$|:/usr/lib/java|' \ -i %{buildroot}%{_sysconfdir}/java/java.conf -# /usr path is hard-coded in xmvn +%if %{with ivy} +# fix ivy paths +mkdir -p %{buildroot}/etc +mv %{buildroot}%{_sysconfdir}/{ant.d,ivy} %{buildroot}/etc/ +sed -i -e 's|%{_sysconfdir}|/etc|' files-ivy +%endif +# /usr path is hard-coded in ant and xmvn +mkdir -p %{buildroot}%{_usr}/{bin,share} +ln -s %{_bindir}/build-classpath %{buildroot}%{_usr}/bin/build-classpath ln -s %{_datadir}/java-utils %{buildroot}%{_usr}/share/java-utils %endif %check ./check +%transfiletriggerin -- %{_jpbindingdir} +shopt -s nullglob +grep -E '^%{_jpbindingdir}/.*\.d/' | sed 's|%{_jpbindingdir}/\(.*\)/\(.*\)|\1 \2|' | while read dir tgt; do + lnk=${dir/%.d} + ln -sf "$dir/$tgt" %{_jpbindingdir}/"$lnk" +done + +%transfiletriggerun -- %{_jpbindingdir} +shopt -s nullglob +grep -E '^%{_jpbindingdir}/.*\.d/' | sed 's|%{_jpbindingdir}/\(.*\)/\(.*\)|\1 \2|' | while read dir tgt; do + lnk=${dir/%.d} + was=$(readlink %{_jpbindingdir}/"$lnk" || :) + if [[ "$was" = "$dir/$tgt" ]]; then + unlink %{_jpbindingdir}/"$lnk" + fi +done + +%transfiletriggerpostun -- %{_jpbindingdir} +shopt -s nullglob +for bindd in %{_jpbindingdir}/*.d/; do + lnk=${bindd/%.d\/} + if ! [[ -e "$lnk" ]]; then + for ftgt in "$bindd"*; do + tgt=$(realpath -m -s --relative-to=%{_jpbindingdir} "$ftgt") + ln -sf "$tgt" "$lnk" + break + done + fi +done + %files -f files-tools %if 0%{?flatpak} +%{_usr}/bin/build-classpath %{_usr}/share/java-utils %endif @@ -196,22 +224,21 @@ ln -s %{_datadir}/java-utils %{buildroot}%{_usr}/share/java-utils %files -n javapackages-compat -f files-compat -%files -n javapackages-local +%files -n javapackages-local-openjdk21 -f files-local-openjdk21 -%files -n maven-local +%files -n maven-local-openjdk21 %if %{with ivy} %files -n ivy-local -f files-ivy %endif -%files -n maven-local-openjdk21 -%dir %{maven_home}/conf -%{maven_home}/conf/toolchains.xml-openjdk21 - %files -n %{python_prefix}-javapackages -f files-python %license LICENSE %changelog +* Wed Dec 18 2024 Mikolaj Izdebski - 6.4.0-1 +- Update to upstream version 6.4.0 + * Tue Oct 29 2024 Troy Dawson - 6.2.0-12 - Bump release for October 2024 mass rebuild: Resolves: RHEL-64018 diff --git a/sources b/sources index 32c5fd6..474f963 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (6.2.0.tar.gz) = 7d5d054701734e22eead3dd7acc2cd4584b713a14ff18c26821264b4eec368fb212dc6d7fb5175f1b7821e6a77a8d43aa4c975fc00a17a275bb7a3dc7f9b7c01 +SHA512 (6.4.0.tar.gz) = d1290d95c8e2bf598837773d9610e7d19cb4f42e77d4a9d611351eeebb888422baca26fa647216bc3ab52e8ffafee4394885752bb47c933d3a4e3d5cce9a02c0 diff --git a/toolchains-openjdk21.xml b/toolchains-openjdk21.xml deleted file mode 100644 index 6235342..0000000 --- a/toolchains-openjdk21.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - jdk - - xmvn - - - /usr/lib/jvm/java-21-openjdk - - -