From c9b2d8797cec50df58199649eb24278cfdc68adb Mon Sep 17 00:00:00 2001 From: Thomas Fitzsimmons Date: Thu, 28 Mar 2024 10:12:04 -0400 Subject: [PATCH] Update to jdk-17.0.11+9 (GA) - Add openjdk-17.0.11+9.tar.xz to .gitignore - Update buildjdkver to match the featurever - Use featurever macro to specify fips patch - Explain patchN syntax situation in a comment - Sync generate_source_tarball.sh - Require tzdata 2023d (JDK-8322725) - openjdk_news.sh: Use grep -E instead of egrep - Remove RH1649512 patch for libjpeg-turbo FAR macro - Move pcsc-lite-libs patch to in-need-of-upstreaming section - Sync java-17-openjdk-portable.specfile from openjdk-portable-rhel-8 - Update tzdata Requires comment to mention that 2024a is not yet in the buildroot - Update tzdata BuildRequires comment to mention that 2024a is not yet in the buildroot - Update tzdata BuildRequires from 2023c to 2023d - Resolves: RHEL-45216 ** This tarball is embargoed until 2024-04-16 @ 1pm PT. ** --- .gitignore | 3 + generate_source_tarball.sh | 105 +++--- java-17-openjdk-portable.specfile | 342 ++++++++++++++---- java-17-openjdk.spec | 68 +++- openjdk_news.sh | 6 +- ...eg_turbo_1_4_compat_for_jdk10_and_up.patch | 19 - sources | 2 +- 7 files changed, 394 insertions(+), 151 deletions(-) delete mode 100644 rh649512-remove_uses_of_far_in_jpeg_libjpeg_turbo_1_4_compat_for_jdk10_and_up.patch diff --git a/.gitignore b/.gitignore index b9e676d..7029481 100644 --- a/.gitignore +++ b/.gitignore @@ -63,3 +63,6 @@ /openjdk-17.0.9+9.tar.xz /openjdk-17.0.10+6-ea.tar.xz /openjdk-17.0.10+7.tar.xz +/openjdk-17.0.11+6-ea.tar.xz +/openjdk-17.0.11+7-ea.tar.xz +/openjdk-17.0.11+9.tar.xz diff --git a/generate_source_tarball.sh b/generate_source_tarball.sh index 5dc6d60..575df62 100755 --- a/generate_source_tarball.sh +++ b/generate_source_tarball.sh @@ -1,4 +1,20 @@ #!/bin/bash + +# Copyright (C) 2024 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + # Generates the 'source tarball' for JDK projects. # # Example 1: @@ -20,7 +36,7 @@ # # PROJECT_NAME=openjdk # REPO_NAME=jdk17u -# VERSION=jdk-17.0.3+5 +# VERSION=jdk-17.0.10+7 # # or to e.g., prepare systemtap, icedtea7's jstack and other tapsets: # @@ -81,9 +97,17 @@ if [ "$OPENJDK_LATEST" != "" ] ; then | tail --lines 1) PROJECT_NAME=openjdk REPO_NAME=jdk"${FEATURE_VERSION}"u + # Skip -ga tags since those are the same as the most recent non-ga tag, and + # the non-ga tag is the one that is used to generated the official source + # tarball. For example: + # ca760c86642aa2e0d9b571aaabac054c0239fbdc refs/tags/jdk-17.0.10-ga^{} + # 25a2e6c20c9a96853714284cabc6b456eb095070 refs/tags/jdk-17.0.10-ga + # ca760c86642aa2e0d9b571aaabac054c0239fbdc refs/tags/jdk-17.0.10+7^{} + # e49c5749b10f3e90274b72e9279f794fdd191d27 refs/tags/jdk-17.0.10+7 VERSION=$(git ls-remote --tags --refs --sort=-version:refname \ "${OPENJDK_URL_DEFAULT}/${PROJECT_NAME}/${REPO_NAME}.git" \ "jdk-${FEATURE_VERSION}*" \ + | grep --invert-match '\-ga$' \ | head --lines 1 | cut --characters 52-) FILE_NAME_ROOT=open${VERSION} WITH_TEMP=1 @@ -178,65 +202,60 @@ echo -e "\tTO_COMPRESS: ${TO_COMPRESS}" echo -e "\tBOOT_JDK: ${BOOT_JDK}" if [ -d "${FILE_NAME_ROOT}" ] ; then - echo "exists exists exists exists exists exists exists " - echo "reusing reusing reusing reusing reusing reusing " - echo "${FILE_NAME_ROOT}" - STAT_TIME="$(stat --format=%Y "${FILE_NAME_ROOT}")" - TAR_TIME="$(date --date=@"${STAT_TIME}" --iso-8601=seconds)" + echo "exists exists exists exists exists exists exists " + echo "reusing reusing reusing reusing reusing reusing " + echo "${FILE_NAME_ROOT}" + STAT_TIME="$(stat --format=%Y "${FILE_NAME_ROOT}")" + TAR_TIME="$(date --date=@"${STAT_TIME}" --iso-8601=seconds)" else - mkdir "${FILE_NAME_ROOT}" - pushd "${FILE_NAME_ROOT}" - echo "Cloning ${VERSION} root repository from ${REPO_ROOT}" - git clone --depth=1 -b "${VERSION}" "${REPO_ROOT}" "${VERSION}" - pushd "${VERSION}" - TAR_TIME="$(git log --max-count 1 --format=%cI)" + mkdir "${FILE_NAME_ROOT}" + pushd "${FILE_NAME_ROOT}" + echo "Cloning ${VERSION} root repository from ${REPO_ROOT}" + git clone --depth=1 -b "${VERSION}" "${REPO_ROOT}" "${VERSION}" + pushd "${VERSION}" + TAR_TIME="$(git log --max-count 1 --format=%cI)" + popd popd - popd fi pushd "${FILE_NAME_ROOT}" - EA_PART="$(git tag --contains "${VERSION}" \ - | grep --quiet '\-ga$' || echo '-ea')" - # Generate .src-rev so build has knowledge of the revision the tarball was # created from mkdir build pushd build - sh "${PWD}"/../"${VERSION}"/configure --with-boot-jdk="${BOOT_JDK}" - make store-source-revision + sh "${PWD}"/../"${VERSION}"/configure --with-boot-jdk="${BOOT_JDK}" + make store-source-revision popd rm -rf build - # Remove commit checks - echo "Removing $(find "${VERSION}" -name '.jcheck' -print)" - find "${VERSION}" -name '.jcheck' -print0 | xargs -0 rm -r - - # Remove history and GHA - echo "find ${VERSION} -name '.hgtags'" - find "${VERSION}" -name '.hgtags' -exec rm -v '{}' '+' - echo "find ${VERSION} -name '.hgignore'" - find "${VERSION}" -name '.hgignore' -exec rm -v '{}' '+' - echo "find ${VERSION} -name '.gitattributes'" - find "${VERSION}" -name '.gitattributes' -exec rm -v '{}' '+' - echo "find ${VERSION} -name '.gitignore'" - find "${VERSION}" -name '.gitignore' -exec rm -v '{}' '+' - # Work around some Git objects not having write permissions. - echo "chmod --recursive u+w ${VERSION}/.git" - chmod --recursive u+w "${VERSION}"/.git - echo "find ${VERSION} -name '.git'" - find "${VERSION}" -name '.git' -exec rm -rv '{}' '+' - echo "find ${VERSION} -name '.github'" - find "${VERSION}" -name '.github' -exec rm -rv '{}' '+' - + EA_PART="$(awk -F= \ + '/^DEFAULT_PROMOTED_VERSION_PRE/ { if ($2) print "-"$2 }' \ + "${VERSION}"/make/conf/version-numbers.conf)" + TARBALL_BASE=${FILE_NAME_ROOT}${EA_PART}.tar + pushd "${VERSION}" + # Omit commit checks, history, and GHA from archive. + for skip in .jcheck .hgtags .hgignore .gitattributes .gitignore .github + do + echo "${skip}"" export-ignore" >> .git/info/attributes + done + # Do not bother with --mtime here; specify it to tar below. + # Unforunately, git-archive sorts added files like .src-rev at the end; + # retar below to use GNU tar --sort=name ordering which sorts .src-rev + # at the start. + git archive --output "${TARBALL_BASE}" --prefix="${VERSION}"/ \ + --add-file=.src-rev --format=tar "${VERSION}" + popd + mv "${VERSION}" "${VERSION}".git + tar xf "${VERSION}".git/"${TARBALL_BASE}" echo "Compressing remaining forest" if [ "$COMPRESSION" = "xz" ] ; then SWITCH=cJf else SWITCH=czf fi - TARBALL_NAME=${FILE_NAME_ROOT}${EA_PART}.tar.${COMPRESSION} + TARBALL_NAME=${TARBALL_BASE}.${COMPRESSION} XZ_OPT=${XZ_OPT-"-T0"} \ tar --mtime="${TAR_TIME}" --owner=root --group=root --sort=name \ - --exclude-vcs -$SWITCH "${TARBALL_NAME}" "${TO_COMPRESS}" + -$SWITCH "${TARBALL_NAME}" "${TO_COMPRESS}" mv "${TARBALL_NAME}" .. popd if [ "$WITH_TEMP" != "" ] ; then @@ -244,10 +263,12 @@ if [ "$WITH_TEMP" != "" ] ; then popd else echo -n "Done. You may want to remove the uncompressed version" - echo " - $FILE_NAME_ROOT." + echo " - $FILE_NAME_ROOT" fi # Local Variables: # compile-command: "shellcheck generate_source_tarball.sh" # fill-column: 80 +# indent-tabs-mode: nil +# sh-basic-offset: 4 # End: diff --git a/java-17-openjdk-portable.specfile b/java-17-openjdk-portable.specfile index 0c39875..f9d4305 100644 --- a/java-17-openjdk-portable.specfile +++ b/java-17-openjdk-portable.specfile @@ -1,6 +1,3 @@ -# portable jdk 17 specific bug, _jvmdir being missing -%define _jvmdir /usr/lib/jvm - # debug_package %%{nil} is portable-jdks specific %define debug_package %{nil} @@ -11,10 +8,10 @@ # Examples: # # Produce release, fastdebug *and* slowdebug builds on x86_64 (default): -# $ rpmbuild -ba java-17-openjdk.spec +# $ rpmbuild -ba java-*-openjdk.spec # # Produce only release builds (no debug builds) on x86_64: -# $ rpmbuild -ba java-17-openjdk.spec --without slowdebug --without fastdebug +# $ rpmbuild -ba java-*-openjdk.spec --without slowdebug --without fastdebug # # Only produce a release build on x86_64: # $ fedpkg mockbuild --without slowdebug --without fastdebug @@ -39,13 +36,6 @@ %global include_staticlibs 0 %endif -# Define whether to use the bootstrap JDK directly or with a fresh libjvm.so -%if %{with fresh_libjvm} -%global build_hotspot_first 1 -%else -%global build_hotspot_first 0 -%endif - %if %{with system_libs} %global system_libs 1 %global link_type system @@ -61,10 +51,6 @@ # See: https://bugzilla.redhat.com/show_bug.cgi?id=1520879 %global _find_debuginfo_opts -g -# Disable LTO as this causes build failures at the moment. -# See RHBZ#1861401 -%define _lto_cflags %{nil} - # note: parametrized macros are order-sensitive (unlike not-parametrized) even with normal macros # also necessary when passing it as parameter to other macros. If not macro, then it is considered a switch # see the difference between global and define: @@ -239,8 +225,9 @@ # Target to use to just build HotSpot %global hotspot_target hotspot -# JDK to use for bootstrapping -%global bootjdk /usr/lib/jvm/java-%{buildjdkver}-openjdk +# Disable LTO as this causes build failures at the moment. +# See RHBZ#1861401 +%define _lto_cflags %{nil} # Filter out flags from the optflags macro that cause problems with the OpenJDK build # We filter out -O flags so that the optimization of HotSpot is not lowered from O3 to O2 @@ -326,12 +313,12 @@ # New Version-String scheme-style defines %global featurever 17 %global interimver 0 -%global updatever 10 +%global updatever 11 %global patchver 0 # 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 17 +%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} @@ -341,6 +328,16 @@ %global lts_designator "" %global lts_designator_zip "" %endif +# JDK to use for bootstrapping +%global bootjdk /usr/lib/jvm/java-%{buildjdkver}-openjdk +# 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 +%if %{with fresh_libjvm} && %{buildjdkver} == %{featurever} +%global build_hotspot_first 1 +%else +%global build_hotspot_first 0 +%endif # Define vendor information used by OpenJDK %global oj_vendor Red Hat, Inc. @@ -367,12 +364,11 @@ %global icedteaver 6.0.0pre00-c848b93a8598 # Define current Git revision for the FIPS support patches %global fipsver d63771ea660 -%global javaver %{featurever} +# Define JDK versions %global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver} - +%global javaver %{featurever} # Strip up to 6 trailing zeros in newjavaver, as the JDK does, to get the correct version used in filenames %global filever %(svn=%{newjavaver}; for i in 1 2 3 4 5 6 ; do svn=${svn%%.0} ; done; echo ${svn}) - # The tag used to create the OpenJDK tarball %global vcstag jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}} @@ -381,8 +377,8 @@ %global origin_nice OpenJDK %global top_level_dir_name %{vcstag} %global top_level_dir_name_backup %{top_level_dir_name}-backup -%global buildver 7 -%global rpmrelease 1 +%global buildver 9 +%global rpmrelease 5 #%%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 @@ -468,6 +464,9 @@ %global __requires_exclude ^(%{_privatelibs}|%{_publiclibs})$ %endif +# VM variant being built +# This is always 'server' on 17u which doesn't have JDK-8273494 +%global vm_variant server %global etcjavasubdir %{_sysconfdir}/java/java-%{javaver}-%{origin} %define etcjavadir() %{expand:%{etcjavasubdir}/%{uniquesuffix -- %{?1}}} @@ -558,14 +557,13 @@ Group: Development/Languages License: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv2.0 and Public Domain and W3C and zlib and ISC and FTL and RSA URL: http://openjdk.java.net/ - # The source tarball, generated using generate_source_tarball.sh Source0: https://openjdk-sources.osci.io/openjdk%{featurever}/open%{vcstag}%{ea_designator_zip}.tar.xz # Use 'icedtea_sync.sh' to update the following # They are based on code contained in the IcedTea project (6.x). # Systemtap tapsets. Zipped up to keep it small. -Source8: tapsets-icedtea-%%{icedteaver}.tar.xz +Source8: tapsets-icedtea-%{icedteaver}.tar.xz # Desktop files. Adapted from IcedTea # Disabled in portables @@ -601,13 +599,21 @@ Source18: TestTranslations.java # ############################################ +# This patch is probably not necessary anymore. I will revisit +# removing it if I find that QE performs AWT testing on a per-release +# basis. # Ignore AWTError when assistive technologies are loaded Patch1: rh1648242-accessible_toolkit_crash_do_not_break_jvm.patch -Patch3: rh649512-remove_uses_of_far_in_jpeg_libjpeg_turbo_1_4_compat_for_jdk10_and_up.patch -# NSS via SunPKCS11 Provider (disabled due to memory leak). +# This patch is almost certainly not needed, but I am keeping it +# forever because java.security has shipped to customers already, and +# is marked %config(noreplace). I do not want to risk +# warnings/confusion/conflict by changing its default contents +# mid-lifecycle. +# NSS via SunPKCS11 Provider (commented out due to memory leak). Patch1000: rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch # RH1750419: enable build of speculative store bypass hardened alt-java (CVE-2018-3639) Patch600: rh1750419-redhat_alt_java.patch +# gnu_andrew is working on backporting a fix for this patch to 17u. # Depend on pcsc-lite-libs instead of pcsc-lite-devel as this is only in optional repo Patch6: rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-devel.patch @@ -616,7 +622,7 @@ Patch6: rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-d # as follows: git diff %%{vcstag} src make test > fips-17u-$(git show -s --format=%h HEAD).patch # Diff is limited to src and make subdirectories to exclude .github changes # The following list is generated by: -# git log %%{vcstag}.. --no-merges --format=%s --reverse: +# git log %%{vcstag}.. --no-merges --format=%s --reverse # Fixes currently included: # PR3183, RH1340845: Support Fedora & RHEL system crypto policy # PR3695: Allow system crypto policy enforcement to be toggled on/off @@ -654,7 +660,7 @@ Patch6: rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-d # test/jdk/sun/security/pkcs11/fips/VerifyMissingAttributes.java: fixed jtreg main class (#27) # RH1940064: Enable XML Signature provider in FIPS mode (#24) # RH2173781: Avoid calling C_GetInfo() too early, before cryptoki is initialized (#26) -Patch1001: fips-17u-%{fipsver}.patch +Patch1001: fips-%{featurever}u-%{fipsver}.patch ############################################# # @@ -666,23 +672,17 @@ Patch1001: fips-17u-%{fipsver}.patch ############################################# # -# OpenJDK patches appearing in 17.0.10 +# OpenJDK patches which missed last update # ############################################# -# Currently empty - ############################################# # # Portable build specific patches # ############################################# -############################################# -# -# OpenJDK patches targetted for 17.0.6 -# -############################################# +# Currently empty BuildRequires: autoconf BuildRequires: automake @@ -715,18 +715,21 @@ BuildRequires: zip # to pack portable tarballs BuildRequires: tar BuildRequires: unzip -# No javapackages-filesystem on el7,nor is needed for portables -# BuildRequires: javapackages-filesystem +# Define _jvmdir macro +BuildRequires: javapackages-filesystem BuildRequires: java-%{buildjdkver}-openjdk-devel # Zero-assembler build requirement %ifarch %{zero_arches} BuildRequires: libffi-devel %endif # Full documentation build requirements +# pandoc is only available on RHEL/CentOS 8 +%if 0%{?rhel} == 8 BuildRequires: graphviz BuildRequires: pandoc -# 2023c required as of JDK-8305113 -BuildRequires: tzdata-java >= 2023c +%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 @@ -745,18 +748,18 @@ BuildRequires: lcms2-devel BuildRequires: libjpeg-devel BuildRequires: libpng-devel %else -# Version in src/java.desktop/share/native/libfreetype/include/freetype/freetype.h -Provides: bundled(freetype) = 2.13.0 +# Version in src/java.desktop/share/legal/freetype.md +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) = 7.2.0 +Provides: bundled(harfbuzz) = 8.2.2 # Version in src/java.desktop/share/native/liblcms/lcms2.h Provides: bundled(lcms2) = 2.15.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.39 +Provides: bundled(libpng) = 1.6.40 # We link statically against libstdc++ to increase portability BuildRequires: libstdc++-static %endif @@ -932,6 +935,13 @@ if [ %{include_debug_build} -eq 0 -a %{include_normal_build} -eq 0 -a %{includ echo "You have disabled all builds (normal,fastdebug,slowdebug). That is a no go." exit 14 fi + +%if %{with fresh_libjvm} && ! %{build_hotspot_first} +echo "WARNING: The build of a fresh libjvm has been disabled due to a JDK version mismatch" +echo "Build JDK version is %{buildjdkver}, feature JDK version is %{featurever}" +%endif + +export XZ_OPT="-T0" %setup -q -c -n %{uniquesuffix ""} -T -a 0 # https://bugzilla.redhat.com/show_bug.cgi?id=1189084 prioritylength=`expr length %{priority}` @@ -948,11 +958,21 @@ sh %{SOURCE12} %{top_level_dir_name} %endif # Patch the JDK -# -P N: apply patch number N, same as passing N as a positional argument on rpm >= 4.18 -# -p N: strip N leading slashes from paths pushd %{top_level_dir_name} +# This syntax is deprecated: +# %patchN [...] +# and should be replaced with: +# %patch -PN [...] +# For example: +# %patch1001 -p1 +# becomes: +# %patch -P1001 -p1 +# The replacement format suggested by recent (circa Fedora 38) RPM +# deprecation messages: +# %patch N [...] +# is not backward-compatible with prior (circa RHEL-8) versions of +# rpmbuild. %patch -P1 -p1 -%patch -P3 -p1 %patch -P6 -p1 # Add crypto policy and FIPS support %patch -P1001 -p1 @@ -962,6 +982,7 @@ pushd %{top_level_dir_name} %patch -P600 -p1 popd # openjdk + # The OpenJDK version file includes the current # upstream version information. For some reason, # configure does not automatically use the @@ -1008,6 +1029,7 @@ done sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE11} > nss.cfg %build + # How many CPU's do we have? export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :) export NUM_PROC=${NUM_PROC:-1} @@ -1015,6 +1037,7 @@ export NUM_PROC=${NUM_PROC:-1} # Honor %%_smp_ncpus_max [ ${NUM_PROC} -gt %{?_smp_ncpus_max} ] && export NUM_PROC=%{?_smp_ncpus_max} %endif +export XZ_OPT="-T0" %ifarch s390x sparc64 alpha %{power64} %{aarch64} export ARCH_DATA_MODEL=64 @@ -1042,6 +1065,51 @@ export EXTRA_CFLAGS EXTRA_CPP_FLAGS echo "Building %{newjavaver}-%{buildver}, pre=%{ea_designator}, opt=%{lts_designator}" +# Set modification times (mtimes) of files within JAR files generated +# by the OpenJDK build to a timestamp that is constant across RPM +# rebuilds. OpenJDK provides the --with-source-date configure option +# for this purpose. Potential arguments in the RPM build context are: +# +# A) --with-source-date="${SOURCE_DATE_EPOCH}" +# B) --with-source-date=version +# C) --with-source-date="${OPENJDK_UPSTREAM_TAG_EPOCH}" +# +# Consider Option A. Fedora 38 (rpm-4.18.2) and RHEL-8 (rpm-4.14.3) +# have different support for SOURCE_DATE_EPOCH. To keep +# SOURCE_DATE_EPOCH constant across RPM rebuilds, one could set the +# source_date_epoch_from_changelog macro to 1 on both Fedora 38 and +# RHEL-8. However, on RHEL-8, this results in the RPM build times +# being set to the timestamp of the most recent changelog. This is +# bad for tracing when RPMs were actually built. Fedora 38 supports a +# better behaviour via the introduction of the +# use_source_date_epoch_as_buildtime macro, set to 0 by default. +# There is no way to make this work on RHEL-8 as well though, so +# option A is suboptimal. +# +# Option B uses the value of the DEFAULT_VERSION_DATE field from +# make/conf/version-numbers.conf. DEFAULT_VERSION_DATE represents the +# aspirational eventual JDK general availability (GA) release date. +# When the RPM build occurs prior to GA, generated JAR files will have +# payload mtimes in the future relative to the RPM build time. +# Whereas for tarballs some tools will issue warnings about future +# mtimes, per OPENJDK-2583 apparently this is no problem for Java and +# JAR files. +# +# Option C uses the modification timestamp of files in the source +# tarball. The reproducibility logic in generate_source_tarball.sh +# sets them all to the commit time of the release-tagged OpenJDK +# commit, as archived in the tarball. This timestamp is deterministic +# across RPM rebuilds and is reliably in the past. Any file's mtime +# will do, so use version-numbers.conf's. +# +# Use option B for JAR files, based on the discussion in OPENJDK-2583. +# +# For portable tarballs, use option C (OPENJDK_UPSTREAM_TAG_EPOCH) for +# the modification times of all files in the portable tarballs. Doing +# so eliminates one source of variability across RPM rebuilds. +VERSION_FILE="$(pwd)"/"%{top_level_dir_name}"/make/conf/version-numbers.conf +OPENJDK_UPSTREAM_TAG_EPOCH="$(stat --format=%Y "${VERSION_FILE}")" + function buildjdk() { local outputdir=${1} local buildjdk=${2} @@ -1080,9 +1148,6 @@ function buildjdk() { bash ${top_dir_abs_src_path}/configure \ %ifarch %{zero_arches} --with-jvm-variants=zero \ -%endif -%ifarch %{ppc64le} - --with-jobs=1 \ %endif --with-cacerts-file=$(readlink -f %{_sysconfdir}/pki/java/cacerts) \ --with-version-build=%{buildver} \ @@ -1110,7 +1175,7 @@ function buildjdk() { --with-extra-cflags="$EXTRA_CFLAGS" \ --with-extra-ldflags="%{ourldflags}" \ --with-num-cores="$NUM_PROC" \ - --with-source-date="${SOURCE_DATE_EPOCH}" \ + --with-source-date=version \ --disable-javac-server \ %ifarch %{zgc_arches} --with-jvm-features=zgc \ @@ -1119,7 +1184,7 @@ function buildjdk() { cat spec.gmk make LOG=trace $maketargets || \ - ( pwd; find ${top_dir_abs_src_path} ${top_dir_abs_build_path} -name \"hs_err_pid*.log\" | xargs cat && false ) + ( pwd; find ${top_dir_abs_src_path} ${top_dir_abs_build_path} -name "hs_err_pid*.log" | xargs cat && false ) popd } @@ -1255,6 +1320,21 @@ function packagejdk() { local packagesdir=$(pwd)/${2} local srcdir=$(pwd)/%{top_level_dir_name} local tapsetdir=$(pwd)/tapset + # See https://reproducible-builds.org/docs/archives/ + # RHEL-7 has tar 1.26 which does not support --sort=name, so use + # find-piped-through-sort instead. Omit --pax-option since it + # made the docs package not reproducible due to PaxHeaders + # timestamp differences. + local tar_opts="--mtime=@${OPENJDK_UPSTREAM_TAG_EPOCH} \ + --owner=0 \ + --group=0 \ + --numeric-owner \ + --no-recursion \ + --null \ + --files-from - \ + --create \ + --xz \ + --file" echo "Packaging build from ${imagesdir} to ${packagesdir}..." mkdir -p ${packagesdir} @@ -1285,7 +1365,7 @@ function packagejdk() { if [ "x$suffix" = "x" ] ; then # Keep the unstripped version for consumption by RHEL RPMs mv %{jdkimage}.unstripped ${jdkname} - tar -cJf ${unstrippedarchive} ${jdkname} + find ${jdkname} -print0 | LC_ALL=C sort -z | tar ${tar_opts} ${unstrippedarchive} genchecksum ${unstrippedarchive} mv ${jdkname} %{jdkimage}.unstripped fi @@ -1296,13 +1376,13 @@ function packagejdk() { # Release images have external debug symbols if [ "x$suffix" = "x" ] ; then - tar -cJf ${debugarchive} $(find ${jdkname} -name \*.debuginfo) + find ${jdkname} -name \*.debuginfo -print0 | LC_ALL=C sort -z | tar ${tar_opts} ${debugarchive} genchecksum ${debugarchive} mkdir ${docname} mv ${docdir} ${docname} mv ${bundledir}/${built_doc_archive} ${docname} - tar -cJf ${docarchive} ${docname} + find ${docname} -print0 | LC_ALL=C sort -z | tar ${tar_opts} ${docarchive} genchecksum ${docarchive} mkdir ${miscname} @@ -1313,22 +1393,22 @@ function packagejdk() { %if %{with_systemtap} cp -a ${tapsetdir}* ${miscname} %endif - tar -cJf ${miscarchive} ${miscname} + find ${miscname} -print0 | LC_ALL=C sort -z | tar ${tar_opts} ${miscarchive} genchecksum ${miscarchive} fi - tar -cJf ${jdkarchive} --exclude='**.debuginfo' ${jdkname} + find ${jdkname} -print0 | LC_ALL=C sort -z | tar --exclude='**.debuginfo' ${tar_opts} ${jdkarchive} genchecksum ${jdkarchive} - tar -cJf ${jrearchive} --exclude='**.debuginfo' ${jrename} + find ${jrename} -print0 | LC_ALL=C sort -z | tar --exclude='**.debuginfo' ${tar_opts} ${jrearchive} genchecksum ${jrearchive} %if %{include_staticlibs} # Static libraries (needed for building graal vm with native image) # Tar as overlay. Transform to the JDK name, since we just want to "add" # static libraries to that folder - tar -cJf ${staticarchive} \ - --transform "s|^%{static_libs_image}/lib/*|${staticname}/lib/static/linux-%{archinstall}/glibc/|" "%{static_libs_image}/lib" + find "%{static_libs_image}/lib" -print0 | LC_ALL=C sort -z \ + | tar --transform "s|^%{static_libs_image}/lib/*|${staticname}/lib/static/linux-%{archinstall}/glibc/|" ${tar_opts} ${staticarchive} genchecksum ${staticarchive} %endif @@ -1346,7 +1426,7 @@ function packagejdk() { cp -LR --preserve=mode,timestamps %{bootjdk} newboot systemjdk=$(pwd)/newboot buildjdk build/newboot ${systemjdk} %{hotspot_target} "release" "bundled" "internal" - mv build/newboot/jdk/lib/server/libjvm.so newboot/lib/server + mv build/newboot/jdk/lib/%{vm_variant}/libjvm.so newboot/lib/%{vm_variant} %else systemjdk=%{bootjdk} %endif @@ -1430,10 +1510,9 @@ export JAVA_HOME=${top_dir_abs_main_build_path}/images/%{jdkimage} #sed -i -e "s:^security.useSystemPropertiesFile=.*:security.useSystemPropertiesFile=true:" \ #${JAVA_HOME}/conf/security/java.security - -#check Shenandoah is enabled +# Check Shenandoah is enabled %if %{use_shenandoah_hotspot} -$JAVA_HOME//bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -version +$JAVA_HOME/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -version %endif # Check unlimited policy has been used @@ -1472,6 +1551,7 @@ if ! nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation ; then true ; els # Check translations are available for new timezones (during flatpak builds, the # tzdb.dat used by this test is not where the test expects it, so this is # disabled for flatpak builds) +# Disable test until we are on the latest JDK $JAVA_HOME/bin/javac -d . %{SOURCE18} $JAVA_HOME/bin/java $(echo $(basename %{SOURCE18})|sed "s|\.java||") JRE $JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})|sed "s|\.java||") CLDR @@ -1482,9 +1562,8 @@ $JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})| export STATIC_LIBS_HOME=${top_dir_abs_staticlibs_build_path}/images/%{static_libs_image} ls -l $STATIC_LIBS_HOME ls -l $STATIC_LIBS_HOME/lib -# they are here, but grep do not find the remainders -#readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep w_remainder.c -#readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep e_remainder.c +readelf --debug-dump $STATIC_LIBS_HOME/lib/libnet.a | grep Inet4AddressImpl.c +readelf --debug-dump $STATIC_LIBS_HOME/lib/libnet.a | grep Inet6AddressImpl.c %endif # Release builds strip the debug symbols into external .debuginfo files @@ -1701,6 +1780,123 @@ done %{_jvmdir}/%{miscportablearchive}.sha256sum %changelog +* Mon Jul 29 2024 Andrew Hughes - 1:17.0.11.0.9-5 +- Bump rpmrelease to rebuild for CentOS 9 + +* Thu Apr 18 2024 Andrew Hughes - 1:17.0.11.0.9-4 +- Sync release notes with upstream version: https://bit.ly/openjdk17011 +- Turn off 'fresh_libjvm' until jdk-17.0.9 or later is in the CentOS buildroot + +* Wed Apr 10 2024 Thomas Fitzsimmons - 1:17.0.11.0.9-3 +- BuildRequires tzdata-java >= 2024a (JDK-8325150) + +* Wed Apr 10 2024 Thomas Fitzsimmons - 1:17.0.11.0.9-2 +- NEWS: Add CVEs +- NEWS: Remove backed out items from changes section +- NEWS: Remove release note for JDK-8225377, which was backed out + +* Tue Apr 9 2024 Thomas Fitzsimmons - 1:17.0.11.0.9-1 +- Update to jdk-17.0.11+9 (GA) +- Update NEWS for 17.0.11+9 +- Switch to GA mode for release +- ** This tarball is embargoed until 2024-04-16 @ 1pm PT. ** + +* Thu Apr 4 2024 Thomas Fitzsimmons - 1:17.0.11.0.7-0.1.ea +- Import like NEWS entries verbatim from 21.0.3 + +* Thu Mar 28 2024 Thomas Fitzsimmons - 1:17.0.11.0.7-0.1.ea +- Update to jdk-17.0.11+7 (EA) + +* Mon Mar 11 2024 Thomas Fitzsimmons - 1:17.0.11.0.6-0.1.ea +- Update to jdk-17.0.11+6 (EA) + +* Fri Mar 8 2024 Thomas Fitzsimmons - 1:17.0.11.0.5-0.1.ea +- Update to jdk-17.0.11+5 (EA) + +* Mon Feb 26 2024 Thomas Fitzsimmons - 1:17.0.11.0.4-0.1.ea +- Revert: Remove ExcludeArch to match java-21-openjdk + +* Wed Feb 21 2024 Thomas Fitzsimmons - 1:17.0.11.0.4-0.1.ea +- Update to jdk-17.0.11+4 (EA) + +* Wed Feb 14 2024 Thomas Fitzsimmons - 1:17.0.11.0.3-0.1.ea +- Update to jdk-17.0.11+3 (EA) + +* Fri Feb 9 2024 Thomas Fitzsimmons - 1:17.0.11.0.2-0.1.ea +- Remove RH1649512 patch for libjpeg-turbo FAR macro +- Add some patch commentary + +* Thu Feb 8 2024 Thomas Fitzsimmons - 1:17.0.11.0.2-0.1.ea +- Update to jdk-17.0.11+2 (EA) + +* Thu Feb 8 2024 Thomas Fitzsimmons - 1:17.0.11.0.1-0.2.ea +- generate_source_tarball.sh: Add license +- openjdk_news.sh: Use grep -E instead of egrep + +* Wed Feb 7 2024 Thomas Fitzsimmons - 1:17.0.11.0.1-0.2.ea +- Fix the quoting of hs_err_pid + +* Tue Feb 6 2024 Thomas Fitzsimmons - 1:17.0.11.0.1-0.2.ea +- Use RHEL-7 tar-1.26-compatible invocations for reproducible tarballs +- On RHEL-7 default to building without a fresh libjvm.so + +* Mon Feb 5 2024 Andrew Hughes - 1:17.0.11.0.1-0.2.ea +- Require tzdata 2023d due to local inclusion of JDK-8322725 + +* Mon Feb 5 2024 Thomas Fitzsimmons - 1:17.0.11.0.1-0.2.ea +- Bump rpmrelease to 2 +- Move _lto_cflags setting to match its java-21-openjdk location +- Remove ExcludeArch to match java-21-openjdk +- Update comment and whitespace to match java-21-openjdk +- Update NEWS +- Remove -T0 argument from systemtap tar invocation +- Indent a line in buildjdk +- Remove extra stripjdk from merge + +* Fri Feb 2 2024 Thomas Fitzsimmons - 1:17.0.11.0.1-0.1.ea +- Use --with-source-date=version (OPENJDK-2583, OPENJDK-2730) +- Update freetype bundled provides version from 2.13.0 to 2.13.2 +- Update harfbuzz bundled provides version from 7.2.0 to 8.2.2 +- Update libpng bundled provides version from 1.6.39 to 1.6.40 +- Related: OPENJDK-2730 + +* Thu Feb 1 2024 Jiri Vanek - 1:17.0.11.0.1-0.1.ea +- generate_source_tarball.sh: Update version in comment +- generate_source_tarball.sh: Remove trailing period in echo + +* Thu Feb 1 2024 Andrew Hughes - 1:17.0.11.0.1-0.1.ea +- BuildRequires javapackages-filesystem for _jvmdir macro +- Automatically turn off building a fresh HotSpot first, if the bootstrap JDK is not the same major version as that being built +- Update buildjdkver to match the featurever +- Use featurever macro to specify fips patch +- Check debug symbols in libnet.a static library as a smoke test +- Introduce vm_variant global for consistency with future JDK builds +- Related: rhbz#2203412 +- Introduce tar_opts to shorten tarball creation lines + +* Thu Feb 1 2024 Thomas Fitzsimmons - 1:17.0.11.0.1-0.1.ea +- NEWS: Add initial changes for 17.0.11 +- Sync whitespace and comments from java-21-openjdk.spec +- Sync macro definition ordering from java-21-openjdk.spec +- Correct rh1649512 patch name +- Fix comment to match RHEL 9.2.0 branch +- Fix icedteaver macro reference syntax +- Remove extra slash in use_shenandoah_hotspot JAVA_HOME expansion +- Explain patchN syntax situation in a comment +- generate_source_tarball.sh: Fix whitespace +- generate_source_tarball.sh: Skip -ga tags +- generate_source_tarball.sh: Get -ea suffix from version-numbers.conf +- generate_source_tarball.sh: Use git archive to generate tarball +- generate_source_tarball.sh: Add indentation instructions for Emacs +- Default to without fresh_libjvm now that 17.0.9.0.9-1 is staged +- double-build.bash: New file +- Parallelize xz across all available cores +- Remove ppc64le --with-jobs=1 workaround +- Make JAR file and portable tarball modification times reproducible + +* Wed Jan 31 2024 Thomas Fitzsimmons - 1:17.0.11.0.1-0.1.ea +- Update to jdk-17.0.11+1 (EA) + * Thu Jan 11 2024 Andrew Hughes - 1:17.0.10.0.7-1 - Update to jdk-17.0.10+7 (GA) - Update release notes to 17.0.10+7 @@ -1711,7 +1907,7 @@ done * Thu Jan 11 2024 Thomas Fitzsimmons - 1:17.0.10.0.6-0.1.ea - generate_source_tarball.sh: Add note on network usage of OPENJDK_LATEST -- generate_source_tarball.sh: Remove unneeded FIXME +- generate_source_tarball.sh: Remove unneeded fix-me * Thu Jan 11 2024 Andrew Hughes - 1:17.0.10.0.6-0.1.ea - Update release notes to 17.0.10+6 @@ -1760,6 +1956,10 @@ done - Temporarily turn off 'fresh_libjvm' due to removal of JVM_IsThreadAlive (JDK-8305425) - ** This tarball is embargoed until 2023-10-17 @ 1pm PT. ** +* Sat Sep 02 2023 Andrew Hughes - 1:17.0.8.1.1-2 +- Bump rpmrelease to rebuild for CentOS 9 +- pandoc is only available on RHEL/CentOS 8 + * Sat Sep 02 2023 Andrew Hughes - 1:17.0.8.1.1-1 - Update to jdk-17.0.8.1+1 (GA) - Update release notes to 17.0.8.1+1 diff --git a/java-17-openjdk.spec b/java-17-openjdk.spec index 86ebf8b..659e2d4 100644 --- a/java-17-openjdk.spec +++ b/java-17-openjdk.spec @@ -322,12 +322,12 @@ # New Version-String scheme-style defines %global featurever 17 %global interimver 0 -%global updatever 10 +%global updatever 11 %global patchver 0 # 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 17 +%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} @@ -377,11 +377,11 @@ %global origin_nice OpenJDK %global top_level_dir_name %{vcstag} %global top_level_dir_name_backup %{top_level_dir_name}-backup -%global buildver 7 +%global buildver 9 # rpmrelease numbering must start at 2 to be later than the 9.0 RPM %global rpmrelease 2 # Settings used by the portable build -%global portablerelease 2 +%global portablerelease 5 %global portablesuffix el9 %global portablebuilddir /builddir/build/BUILD @@ -1124,8 +1124,9 @@ Requires: ca-certificates # Require javapackages-filesystem for ownership of /usr/lib/jvm/ and macros Requires: javapackages-filesystem # Require zone-info data provided by tzdata-java sub-package -# 2023c required as of JDK-8305113 -Requires: tzdata-java >= 2023c +# 2024a required as of JDK-8325150 +# Use 2023d until 2024a is in the buildroot +Requires: tzdata-java >= 2023d # for support of kernel stream control # libsctp.so.1 is being `dlopen`ed on demand Requires: lksctp-tools%{?_isa} @@ -1347,9 +1348,6 @@ Patch600: rh1750419-redhat_alt_java.patch # Ignore AWTError when assistive technologies are loaded Patch1: rh1648242-accessible_toolkit_crash_do_not_break_jvm.patch -Patch3: rh649512-remove_uses_of_far_in_jpeg_libjpeg_turbo_1_4_compat_for_jdk10_and_up.patch -# Depend on pcsc-lite-libs instead of pcsc-lite-devel as this is only in optional repo -Patch6: rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-devel.patch # Crypto policy and FIPS support patches # Patch is generated from the fips-17u tree at https://github.com/rh-openjdk/jdk/tree/fips-17u @@ -1394,7 +1392,7 @@ Patch6: rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-d # test/jdk/sun/security/pkcs11/fips/VerifyMissingAttributes.java: fixed jtreg main class (#27) # RH1940064: Enable XML Signature provider in FIPS mode (#24) # RH2173781: Avoid calling C_GetInfo() too early, before cryptoki is initialized (#26) -Patch1001: fips-17u-%{fipsver}.patch +Patch1001: fips-%{featurever}u-%{fipsver}.patch ############################################# # @@ -1402,6 +1400,9 @@ Patch1001: fips-17u-%{fipsver}.patch # ############################################# +# Depend on pcsc-lite-libs instead of pcsc-lite-devel as this is only in optional repo +Patch6: rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-devel.patch + ############################################# # # OpenJDK patches appearing in 17.0.10 @@ -1455,8 +1456,9 @@ BuildRequires: java-%{featurever}-openjdk-portable-misc = %{epoch}:%{version}-%{ %ifarch %{zero_arches} BuildRequires: libffi-devel %endif -# 2023c required as of JDK-8305113 -BuildRequires: tzdata-java >= 2023c +# 2024a required as of JDK-8325150 +# Use 2023d until 2024a is in the buildroot +BuildRequires: tzdata-java >= 2023d # Earlier versions have a bug in tree vectorization on PPC BuildRequires: gcc >= 4.8.3-8 @@ -1843,11 +1845,21 @@ sh %{SOURCE12} %{top_level_dir_name} %endif # Patch the JDK -# -P N: apply patch number N, same as passing N as a positional argument on rpm >= 4.18 -# -p N: strip N leading slashes from paths pushd %{top_level_dir_name} +# This syntax is deprecated: +# %patchN [...] +# and should be replaced with: +# %patch -PN [...] +# For example: +# %patch1001 -p1 +# becomes: +# %patch -P1001 -p1 +# The replacement format suggested by recent (circa Fedora 38) RPM +# deprecation messages: +# %patch N [...] +# is not backward-compatible with prior (circa RHEL-8) versions of +# rpmbuild. %patch -P1 -p1 -%patch -P3 -p1 %patch -P6 -p1 # Add crypto policy and FIPS support %patch -P1001 -p1 @@ -2474,6 +2486,32 @@ cjc.mainProgram(args) %endif %changelog +* Thu Apr 11 2024 Thomas Fitzsimmons - 1:17.0.11.0.9-2 +- Update to jdk-17.0.11+9 (GA) +- Add openjdk-17.0.11+9.tar.xz to .gitignore +- Sync java-17-openjdk-portable.specfile from openjdk-portable-rhel-8 +- Update buildver from 7 to 9 +- Update portablerelease from 1 to 3 +- Change is_ga from 0 to 1 to enable GA mode for release +- Update tzdata Requires comment to mention that 2024a is not yet in the buildroot +- Update tzdata BuildRequires comment to mention that 2024a is not yet in the buildroot +- Update tzdata BuildRequires from 2023c to 2023d +- Update sources from openjdk-17.0.11+7-ea.tar.xz to openjdk-17.0.11+9.tar.xz +- Resolves: RHEL-45216 +- ** This tarball is embargoed until 2024-04-16 @ 1pm PT. ** + +* Thu Mar 28 2024 Thomas Fitzsimmons - 1:17.0.11.0.7-0.2.ea +- Update to jdk-17.0.11+7 (EA) +- Update buildjdkver to match the featurever +- Use featurever macro to specify fips patch +- Explain patchN syntax situation in a comment +- Sync generate_source_tarball.sh +- Require tzdata 2023d (JDK-8322725) +- openjdk_news.sh: Use grep -E instead of egrep +- Remove RH1649512 patch for libjpeg-turbo FAR macro +- Move pcsc-lite-libs patch to in-need-of-upstreaming section +- Related: RHEL-45216 + * Thu Jan 11 2024 Andrew Hughes - 1:17.0.10.0.7-1 - Update to jdk-17.0.10+7 (GA) - Sync the copy of the portable specfile with the latest update diff --git a/openjdk_news.sh b/openjdk_news.sh index 386aa53..d1bd061 100755 --- a/openjdk_news.sh +++ b/openjdk_news.sh @@ -58,12 +58,12 @@ for repos in . $(${SCRIPT_DIR}/discover_trees.sh ${REPO}); do if test "x$TYPE" = "xhg"; then hg log -r "tag('$NEW_RELEASE'):tag('$OLD_RELEASE') - tag('$OLD_RELEASE')" -R $REPO/$repos -G -M ${REPO}/${SUBDIR} | \ - egrep '^[o:| ]*summary'|grep -v 'Added tag'|sed -r 's#^[o:| ]*summary:\W*([0-9])# - JDK-\1#'| \ + grep -E '^[o:| ]*summary'|grep -v 'Added tag'|sed -r 's#^[o:| ]*summary:\W*([0-9])# - JDK-\1#'| \ sed 's#^[o:| ]*summary:\W*# - #' >> ${TMPDIR}/fixes2; hg log -v -r "tag('$NEW_RELEASE'):tag('$OLD_RELEASE') - tag('$OLD_RELEASE')" -R $REPO/$repos -G -M ${REPO}/${SUBDIR} | \ - egrep '^[o:| ]*[0-9]{7}'|sed -r 's#^[o:| ]*([0-9]{7})# - JDK-\1#' >> ${TMPDIR}/fixes3; + grep -E '^[o:| ]*[0-9]{7}'|sed -r 's#^[o:| ]*([0-9]{7})# - JDK-\1#' >> ${TMPDIR}/fixes3; else - git -C ${REPO} log --no-merges --pretty=format:%B ${NEW_RELEASE}...${OLD_RELEASE} -- ${SUBDIR} |egrep '^[0-9]{7}' | \ + git -C ${REPO} log --no-merges --pretty=format:%B ${NEW_RELEASE}...${OLD_RELEASE} -- ${SUBDIR} |grep -E '^[0-9]{7}' | \ sed -r 's#^([0-9])# - JDK-\1#' >> ${TMPDIR}/fixes2; touch ${TMPDIR}/fixes3 ; # unused fi diff --git a/rh649512-remove_uses_of_far_in_jpeg_libjpeg_turbo_1_4_compat_for_jdk10_and_up.patch b/rh649512-remove_uses_of_far_in_jpeg_libjpeg_turbo_1_4_compat_for_jdk10_and_up.patch deleted file mode 100644 index 1b706a1..0000000 --- a/rh649512-remove_uses_of_far_in_jpeg_libjpeg_turbo_1_4_compat_for_jdk10_and_up.patch +++ /dev/null @@ -1,19 +0,0 @@ -Remove uses of FAR in jpeg code - -Upstream libjpeg-trubo removed the (empty) FAR macro: -http://sourceforge.net/p/libjpeg-turbo/code/1312/ - -Adjust our code to not use the undefined FAR macro anymore. - -diff --git a/jdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c b/jdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c ---- openjdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c -+++ openjdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c -@@ -1385,7 +1385,7 @@ - /* and fill it in */ - dst_ptr = icc_data; - for (seq_no = first; seq_no < last; seq_no++) { -- JOCTET FAR *src_ptr = icc_markers[seq_no]->data + ICC_OVERHEAD_LEN; -+ JOCTET *src_ptr = icc_markers[seq_no]->data + ICC_OVERHEAD_LEN; - unsigned int length = - icc_markers[seq_no]->data_length - ICC_OVERHEAD_LEN; - diff --git a/sources b/sources index 4fd3575..334092b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz) = 97d026212363b3c83f6a04100ad7f6fdde833d16579717f8756e2b8c2eb70e144a41a330cb9ccde9c3badd37a2d54fdf4650a950ec21d8b686d545ecb2a64d30 -SHA512 (openjdk-17.0.10+7.tar.xz) = 066acec5dbc76d753a3aba3a8a85ef477f9e379ebfd6338c5026e2f8b329b0a08f878fcbb7f6fdefba99ec45415ac22e01e7439831749816717adb1a0d8230d1 +SHA512 (openjdk-17.0.11+9.tar.xz) = 7abbd002a93ede19b0bb40d31afe85445c0a2c4c055813148a1cd577a3fabb217ada00be91ef75dd9e9eec3bb01c0c1d8fabae79d495ad00ce745a3442a7d8c8