diff --git a/java-25-openjdk.spec b/java-25-openjdk.spec index ebc92dd..c6f5262 100644 --- a/java-25-openjdk.spec +++ b/java-25-openjdk.spec @@ -1,5 +1,5 @@ # debug_package %%{nil} is portable-jdks specific -%define debug_package %{nil} +%define debug_package %{nil} # RPM conditionals so as to be able to dynamically produce # slowdebug/release builds. See: @@ -335,7 +335,7 @@ # buildjdkver is usually same as %%{featurever}, # but in time of bootstrap of next jdk, it is featurever-1, # and this it is better to change it here, on single place -%global buildjdkver %(expr %{featurever} - 1) +%global buildjdkver %{featurever} # We don't add any LTS designator for STS packages (Fedora and EPEL). # We need to explicitly exclude EPEL as it would have the %%{rhel} macro defined. %if 0%{?rhel} && !0%{?epel} @@ -346,8 +346,12 @@ %global lts_designator_zip "" %endif # JDK to use for bootstrapping -%global bootjdkpkg java-21-openjdk -%global bootjdk /usr/lib/jvm/%{bootjdkpkg} +%global bootjdkpkg java-%{fakefeaturever}-openjdk +%ifarch %{fastdebug_arches} +%global bootdebugpkg fastdebug +%endif +%global bootjdkzip %{_jvmdir}/%{bootjdkpkg}-*.portable%{?bootdebugpkg:.%{bootdebugpkg}}.jdk.%{_arch}.tar.xz +%global bootjdk %{_builddir}/%{bootjdkpkg}.boot # Define whether to use the bootstrap JDK directly or with a fresh libjvm.so # This will only work where the bootstrap JDK is the same major version # as the JDK being built @@ -397,7 +401,7 @@ %global top_level_dir_name %{vcstag} %global top_level_dir_name_backup %{top_level_dir_name}-backup %global buildver 9 -%global rpmrelease 1 +%global rpmrelease 2 #%%global tagsuffix %%{nil} # Priority must be 8 digits in total; up to openjdk 1.8, we were using 18..... so when we moved to 11, we had to add another digit %if %is_system_jdk @@ -734,7 +738,7 @@ BuildRequires: zip BuildRequires: tar BuildRequires: unzip BuildRequires: javapackages-filesystem -BuildRequires: %{bootjdkpkg}%{?pkgos:-%{pkgos}}-devel +BuildRequires: %{bootjdkpkg}-portable-devel%{?bootdebugpkg:-%{bootdebugpkg}} # Zero-assembler build requirement %ifarch %{zero_arches} BuildRequires: libffi-devel @@ -1057,6 +1061,16 @@ done %endif %endif +# Extract build JDK +pushd %{_jvmdir} +sha256sum --check %{bootjdkzip}.sha256sum +popd +tar -xJf %{bootjdkzip} +mv java-%{fakefeaturever}-openjdk-%{featurever}* %{bootjdk} +# Print release information +echo "Installed boot JDK:" +cat %{bootjdk}/release + %build # How many CPU's do we have? export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :) @@ -1629,7 +1643,7 @@ done # end of release / debug cycle loop # We test debug first as it will give better diagnostics on a crash for suffix in %{build_loop} ; do -# portable builds have static_libs embedded, thus top_dir_abs_main_build_path is same as top_dir_abs_staticlibs_build_path +# portable builds have static_libs embedded, thus top_dir_abs_main_build_path is same as top_dir_abs_staticlibs_build_path top_dir_abs_main_build_path=$(pwd)/%{installoutputdir -- ${suffix}} %if %{include_staticlibs} top_dir_abs_staticlibs_build_path=${top_dir_abs_main_build_path} @@ -1943,6 +1957,12 @@ done %endif %changelog +* Mon Sep 22 2025 Andrew Hughes - 1:22.0.2.0.9-2 +- Build using ourselves rather than the system JDK as java-25-openjdk is unavailable on older systems +- Switch buildjdkver back to featurever temporarily for this rebuild +- Introduce bootjdkpkg to handle architectures not in fastdebug_arches (i.e. s390x) +- Related: RHELBU-3203 + * Sat Sep 20 2025 Andrew Hughes - 1:22.0.2.0.9-1 - Update to jdk-22.0.2+9 (GA) - Update release notes with features of JDK 22