From b2db6b50b3fdf0bc74eb76b4012a8a26e046e86b Mon Sep 17 00:00:00 2001 From: Thomas Fitzsimmons Date: Tue, 8 Oct 2024 11:19:55 -0400 Subject: [PATCH] Update to jdk-17.0.13+11 (GA) - Update to jdk-17.0.13+11 (GA) - Update .gitignore to ignore openjdk-17.0.13+11.tar.xz - Sync java-17-openjdk-portable.specfile from openjdk-portable-rhel-8 - Set buildver to 11 - Set is_ga to 1 - Update sources to openjdk-17.0.13+11.tar.xz - Related: RHEL-58781 - ** This tarball is embargoed until 2024-10-15 @ 1pm PT. ** --- .gitignore | 1 + java-17-openjdk-portable.specfile | 93 +++++++++++++++++++++++-------- java-17-openjdk.spec | 21 ++++++- sources | 2 +- 4 files changed, 89 insertions(+), 28 deletions(-) diff --git a/.gitignore b/.gitignore index 304e8b3..269c9c7 100644 --- a/.gitignore +++ b/.gitignore @@ -71,3 +71,4 @@ /openjdk-17.0.13+1-ea.tar.xz /openjdk-17.0.13+9-ea.tar.xz /openjdk-17.0.13+10-ea.tar.xz +/openjdk-17.0.13+11.tar.xz diff --git a/java-17-openjdk-portable.specfile b/java-17-openjdk-portable.specfile index 4a08fb1..a66f72c 100644 --- a/java-17-openjdk-portable.specfile +++ b/java-17-openjdk-portable.specfile @@ -24,7 +24,7 @@ # Enable static library builds by default. %bcond_without staticlibs # Build a fresh libjvm.so for use in a copy of the bootstrap JDK -%bcond_with fresh_libjvm +%bcond_without fresh_libjvm # Build with system libraries %bcond_with system_libs @@ -93,7 +93,7 @@ # you can list those files, with appropriate sections: cat *.spec | grep -e --install -e --slave -e post_ # TODO - fix those hardcoded lists via single list # Those files must *NOT* be ghosted for *slowdebug* packages -# FIXME - if you are moving jshell or jlink or similar, always modify all three sections +# NOTE - if you are moving jshell or jlink or similar, always modify all three sections # you can check via headless and devels: # rpm -ql --noghost java-11-openjdk-headless-11.0.1.13-8.fc29.x86_64.rpm | grep bin # == rpm -ql java-11-openjdk-headless-slowdebug-11.0.1.13-8.fc29.x86_64.rpm | grep bin @@ -345,11 +345,11 @@ # Define what url should JVM offer in case of a crash report # order may be important, epel may have rhel declared %if 0%{?epel} -%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora%20EPEL&component=%{name}&version=epel%{epel} +%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora%20EPEL&component=%{component}&version=epel%{epel} %else %if 0%{?fedora} # Does not work for rawhide, keeps the version field empty -%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{name}&version=%{fedora} +%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{component}&version=%{fedora} %else %if 0%{?rhel} %global oj_vendor_bug_url https://access.redhat.com/support/cases/ @@ -363,7 +363,7 @@ # Define IcedTea version used for SystemTap tapsets and desktop file %global icedteaver 6.0.0pre00-c848b93a8598 # Define current Git revision for the FIPS support patches -%global fipsver d63771ea660 +%global fipsver e893be00150 # Define JDK versions %global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver} %global javaver %{featurever} @@ -377,7 +377,7 @@ %global origin_nice OpenJDK %global top_level_dir_name %{vcstag} %global top_level_dir_name_backup %{top_level_dir_name}-backup -%global buildver 10 +%global buildver 11 %global rpmrelease 1 #%%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 @@ -397,7 +397,7 @@ # Release will be (where N is usually a number starting at 1): # - 0.N%%{?extraver}%%{?dist} for EA releases, # - N%%{?extraver}{?dist} for GA releases -%global is_ga 0 +%global is_ga 1 %if %{is_ga} %global build_type GA %global ea_designator "" @@ -730,8 +730,6 @@ BuildRequires: libffi-devel BuildRequires: graphviz BuildRequires: pandoc %endif -# 2024a required as of JDK-8325150 -BuildRequires: tzdata-java >= 2024a # cacerts build requirement in portable mode BuildRequires: ca-certificates # Earlier versions have a bug in tree vectorization on PPC @@ -749,19 +747,22 @@ BuildRequires: harfbuzz-devel BuildRequires: lcms2-devel BuildRequires: libjpeg-devel BuildRequires: libpng-devel +BuildRequires: zlib-devel %else -# Version in src/java.desktop/share/legal/freetype.md +# Version in src/java.desktop/share/native/libfreetype/include/freetype/freetype.h Provides: bundled(freetype) = 2.13.2 # Version in src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h Provides: bundled(giflib) = 5.2.1 # Version in src/java.desktop/share/native/libharfbuzz/hb-version.h Provides: bundled(harfbuzz) = 8.2.2 # Version in src/java.desktop/share/native/liblcms/lcms2.h -Provides: bundled(lcms2) = 2.15.0 +Provides: bundled(lcms2) = 2.16.0 # Version in src/java.desktop/share/native/libjavajpeg/jpeglib.h Provides: bundled(libjpeg) = 6b # Version in src/java.desktop/share/native/libsplashscreen/libpng/png.h Provides: bundled(libpng) = 1.6.40 +# Version in src/java.base/share/native/libzip/zlib/zlib.h +Provides: bundled(zlib) = 1.3.1 # We link statically against libstdc++ to increase portability BuildRequires: libstdc++-static %endif @@ -999,7 +1000,7 @@ else exit 16 fi if [ "x${UPSTREAM_EA_DESIGNATOR}" != "x%{ea_designator}" ] ; then - echo "WARNING: Designator mismatch"; + echo "ERROR: Designator mismatch"; echo "Spec file is configured for a %{build_type} build with designator '%{ea_designator}'" echo "Upstream version-pre setting is '${UPSTREAM_EA_DESIGNATOR}'"; exit 17 @@ -1193,18 +1194,22 @@ function buildjdk() { function stripjdk() { local outputdir=${1} - local jdkimagepath=${outputdir}/images/%{jdkimage} - local jreimagepath=${outputdir}/images/%{jreimage} - local jmodimagepath=${outputdir}/images/jmods + local jdkimagepath=images/%{jdkimage} + local jreimagepath=images/%{jreimage} + local jmodimagepath=images/jmods + local modulefile=lib/modules local supportdir=${outputdir}/support + local modulebuildpath=${outputdir}/jdk/modules + local jdkoutdir=${outputdir}/${jdkimagepath} + local jreoutdir=${outputdir}/${jreimagepath} if [ "x$suffix" = "x" ] ; then # Keep the unstripped version for consumption by RHEL RPMs - cp -a ${jdkimagepath}{,.unstripped} + cp -a ${jdkoutdir}{,.unstripped} # Strip the files - for file in $(find ${jdkimagepath} ${jreimagepath} ${supportdir} -type f) ; do - if file ${file} | grep -q 'ELF'; then + for file in $(find ${jdkoutdir} ${jreoutdir} ${supportdir} ${modulebuildpath} -type f) ; do + if file ${file} | cut -d ':' -f 2 | grep -q 'ELF'; then noextfile=${file/.so/}; objcopy --only-keep-debug ${file} ${noextfile}.debuginfo; objcopy --add-gnu-debuglink=${noextfile}.debuginfo ${file}; @@ -1217,24 +1222,53 @@ function stripjdk() { echo "Support directory missing."; exit 15 fi - for cmd in $(find ${supportdir} -name '*.jmod_exec.cmdline') ; do + # Build the java.base jmod a third time to fix the hashes of dependent jmods + for cmd in $(find ${supportdir}/${jmodimagepath} -name '*.jmod_exec.cmdline') \ + ${supportdir}/${jmodimagepath}/*java.base*exec.cmdline ; do pre=${cmd/_exec/_pre}; post=${cmd/_exec/_post}; jmod=$(echo ${cmd}|sed 's#.*_create_##'|sed 's#_exec.cmdline##') echo "Rebuilding ${jmod} against stripped binaries..."; if [ -e ${pre} ] ; then - echo "Executing ${pre}..."; + echo -e "Executing ${pre}...\n$(cat ${pre})"; cat ${pre} | sh -s ; fi - echo "Executing ${cmd}..."; + echo "Executing ${cmd}...$(cat ${cmd})"; cat ${cmd} | sh -s ; if [ -e ${post} ] ; then - echo "Executing ${post}..."; + echo -e "Executing ${post}...\n$(cat ${post})"; cat ${post} | sh -s ; fi done - rm -rf ${jdkimagepath}/jmods - cp -a ${jmodimagepath} ${jdkimagepath} + + # Rebuild the image with the stripped modules + for image in ${jdkimagepath} ${jreimagepath} ; do + outdir=${outputdir}/${image}; + jlink=${supportdir}/${image}/_jlink*_exec.cmdline; + # Backup the existing image as it contains + # files not generated by jlink + mv ${outdir}{,.bak}; + # Regenerate the image using the command + # generated using the initial build + echo -e "Executing ${jlink}...\n$(cat ${jlink})"; + cat ${jlink} | sh -s; + # Move the new jmods and module file from the new + # image to the old one + if [ -e ${outdir}.bak/jmods ] ; then + rm -rf ${outdir}.bak/jmods; + mv ${outdir}/jmods ${outdir}.bak; + fi + rm -f ${outdir}.bak/${modulefile}; + mv ${outdir}/${modulefile} ${outdir}.bak/$(dirname ${modulefile}); + # Restore the original image + rm -rf ${outdir}; + mv ${outdir}{.bak,}; + # Update the CDS archives + for cmd in ${supportdir}/${image}/*_gen_cds*_exec.cmdline ; do + echo -e "Executing ${cmd}...\n$(cat ${cmd})"; + cat ${cmd} | sh -s; + done + done fi } @@ -1782,6 +1816,17 @@ done %{_jvmdir}/%{miscportablearchive}.sha256sum %changelog +* Tue Oct 8 2024 Thomas Fitzsimmons - 1:17.0.13.0.11-1 +- Update NEWS for jdk-17.0.13+11 (GA) + +* Mon Oct 7 2024 Thomas Fitzsimmons - 1:17.0.13.0.11-1 +- Update to jdk-17.0.13+11 (GA) +- Add to .gitignore openjdk-17.0.13+11.tar.xz +- Set buildver to 11 +- Set is_ga to 1 +- Update sources to openjdk-17.0.13+11.tar.xz +- ** This tarball is embargoed until 2024-10-15 @ 1pm PT. ** + * Thu Oct 3 2024 Thomas Fitzsimmons - 1:17.0.13.0.10-0.1.ea - Update to jdk-17.0.13+10 (EA) - Add to .gitignore openjdk-17.0.13+10-ea.tar.xz diff --git a/java-17-openjdk.spec b/java-17-openjdk.spec index d78e0d4..661f70e 100644 --- a/java-17-openjdk.spec +++ b/java-17-openjdk.spec @@ -377,9 +377,9 @@ %global origin_nice OpenJDK %global top_level_dir_name %{vcstag} %global top_level_dir_name_backup %{top_level_dir_name}-backup -%global buildver 10 +%global buildver 11 # rpmrelease numbering must start at 2 to be later than the 8.6 RPM -%global rpmrelease 1 +%global rpmrelease 2 # Settings used by the portable build %global portablerelease 1 %global portablesuffix el8 @@ -402,7 +402,7 @@ # Release will be (where N is usually a number starting at 1): # - 0.N%%{?extraver}%%{?dist} for EA releases, # - N%%{?extraver}{?dist} for GA releases -%global is_ga 0 +%global is_ga 1 %if %{is_ga} %global build_type GA %global ea_designator "" @@ -2486,6 +2486,21 @@ require "copy_jdk_configs.lua" %endif %changelog +* Tue Oct 8 2024 Thomas Fitzsimmons - 1:17.0.13.0.11-0.2.ea +- Update to jdk-17.0.13+11 (GA) +- Update .gitignore to ignore openjdk-17.0.13+11.tar.xz +- Sync java-17-openjdk-portable.specfile from openjdk-portable-rhel-8 +- Set buildver to 11 +- Set is_ga to 1 +- Update sources to openjdk-17.0.13+11.tar.xz +- Resolves: RHEL-58781 +- ** This tarball is embargoed until 2024-10-15 @ 1pm PT. ** + +* Fri Oct 4 2024 Andrew Hughes - 1:17.0.13.0.10-0.2.ea +- Vary portablesuffix depending on whether we are on RHEL ('el8') or CentOS ('el9') +- Set rpmrelease to 2 +- Related: RHEL-58781 + * Fri Oct 4 2024 Thomas Fitzsimmons - 1:17.0.13.0.10-0.1.ea - Update to jdk-17.0.13+10 (EA) - Update .gitignore to ignore openjdk-17.0.13+10-ea.tar.xz diff --git a/sources b/sources index f39d150..b98026b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz) = 97d026212363b3c83f6a04100ad7f6fdde833d16579717f8756e2b8c2eb70e144a41a330cb9ccde9c3badd37a2d54fdf4650a950ec21d8b686d545ecb2a64d30 -SHA512 (openjdk-17.0.13+10-ea.tar.xz) = 4216a6e675d622ec386d208bdd44d14a5642b4f4e71de355b23b1cc7630e12de12befda0c6b88bc23d33084debb1cb1f615f23d304f20a2d8305254f3caf21c0 +SHA512 (openjdk-17.0.13+11.tar.xz) = 4e3e6cd4b38efe5954c042a9a133a37569e87c94667a547604013971e7c766ac99fbbf1544e5d7cc30cd5c8bb1c9027dc3c08c2bfbc71e6d70a66c41a5040d16