Update to jdk-17.0.8+1 (EA)
Update release notes to 17.0.8+1 Switch to EA mode Drop local inclusion of JDK-8274864 & JDK-8305113 as they are included in 17.0.8+1 Bump bundled LCMS version to 2.15 as in jdk-17.0.8+1. Bump bundled HarfBuzz version to 7.0.1 as in jdk-17.0.8+1 Use tapsets from the misc tarball Introduce 'prelease' for the portable release versioning, to handle EA builds Make sure root installation directory is created first Use in-place substitution for all but the first of the tapset changes Related: RHEL-36136
This commit is contained in:
		
							parent
							
								
									2483c0c540
								
							
						
					
					
						commit
						1ef3dfa7b9
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -54,3 +54,4 @@ | ||||
| /java-17-openjdk-17.0.6.0.10-6.portable.unstripped.jdk.el.s390x.tar.xz | ||||
| /java-17-openjdk-17.0.6.0.10-6.portable.unstripped.jdk.el.x86_64.tar.xz | ||||
| /openjdk-jdk17u-jdk-17.0.7+7.tar.xz | ||||
| /openjdk-jdk17u-jdk-17.0.8+1.tar.xz | ||||
|  | ||||
| @ -317,9 +317,8 @@ | ||||
| %global stapinstall %{nil} | ||||
| %endif | ||||
| 
 | ||||
| # always off for portable builds | ||||
| %ifarch %{systemtap_arches} | ||||
| %global with_systemtap 0 | ||||
| %global with_systemtap 1 | ||||
| %else | ||||
| %global with_systemtap 0 | ||||
| %endif | ||||
| @ -327,7 +326,7 @@ | ||||
| # New Version-String scheme-style defines | ||||
| %global featurever 17 | ||||
| %global interimver 0 | ||||
| %global updatever 7 | ||||
| %global updatever 8 | ||||
| %global patchver 0 | ||||
| # buildjdkver is usually same as %%{featurever}, | ||||
| # but in time of bootstrap of next jdk, it is featurever-1, | ||||
| @ -374,8 +373,8 @@ | ||||
| %global origin_nice     OpenJDK | ||||
| %global top_level_dir_name   %{origin} | ||||
| %global top_level_dir_name_backup %{top_level_dir_name}-backup | ||||
| %global buildver        7 | ||||
| %global rpmrelease      2 | ||||
| %global buildver        1 | ||||
| %global rpmrelease      3 | ||||
| #%%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 | ||||
| @ -402,7 +401,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           1 | ||||
| %global is_ga           0 | ||||
| %if %{is_ga} | ||||
| %global build_type GA | ||||
| %global ea_designator "" | ||||
| @ -491,20 +490,6 @@ | ||||
| %global alternatives_requires %{_sbindir}/alternatives | ||||
| %endif | ||||
| 
 | ||||
| %if %{with_systemtap} | ||||
| # Where to install systemtap tapset (links) | ||||
| # We would like these to be in a package specific sub-dir, | ||||
| # but currently systemtap doesn't support that, so we have to | ||||
| # use the root tapset dir for now. To distinguish between 64 | ||||
| # and 32 bit architectures we place the tapsets under the arch | ||||
| # specific dir (note that systemtap will only pickup the tapset | ||||
| # for the primary arch for now). Systemtap uses the machine name | ||||
| # aka target_cpu as architecture specific directory name. | ||||
| %global tapsetroot /usr/share/systemtap | ||||
| %global tapsetdirttapset %{tapsetroot}/tapset/ | ||||
| %global tapsetdir %{tapsetdirttapset}/%{stapinstall} | ||||
| %endif | ||||
| 
 | ||||
| # x86 is not supported by OpenJDK 17 | ||||
| ExcludeArch: %{ix86} | ||||
| 
 | ||||
| @ -580,8 +565,7 @@ Source0: openjdk-jdk%{featurever}u-%{vcstag}.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. | ||||
| # Disabled in portables | ||||
| #Source8: tapsets-icedtea-%%{icedteaver}.tar.xz | ||||
| Source8: tapsets-icedtea-%%{icedteaver}.tar.xz | ||||
| 
 | ||||
| # Desktop files. Adapted from IcedTea | ||||
| # Disabled in portables | ||||
| @ -678,10 +662,6 @@ Patch1001: fips-17u-%{fipsver}.patch | ||||
| # OpenJDK patches appearing in 17.0.8 | ||||
| # | ||||
| ############################################# | ||||
| # JDK-8274864: Remove Amman/Cairo hacks in ZoneInfoFile | ||||
| Patch2001: jdk8274864-remove_amman_cairo_hacks.patch | ||||
| # JDK-8305113: (tz) Update Timezone Data to 2023c | ||||
| Patch2002: jdk8305113-tzdata2023c.patch | ||||
| 
 | ||||
| ############################################# | ||||
| # | ||||
| @ -733,6 +713,9 @@ BuildRequires: java-%{buildjdkver}-openjdk-devel | ||||
| %ifarch %{zero_arches} | ||||
| BuildRequires: libffi-devel | ||||
| %endif | ||||
| # Full documentation build requirements | ||||
| BuildRequires: graphviz | ||||
| BuildRequires: pandoc | ||||
| # 2023c required as of JDK-8305113 | ||||
| BuildRequires: tzdata-java >= 2023c | ||||
| # cacerts build requirement in portable mode | ||||
| @ -758,9 +741,9 @@ Provides: bundled(freetype) = 2.12.1 | ||||
| # 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) = 4.4.1 | ||||
| Provides: bundled(harfbuzz) = 7.0.1 | ||||
| # Version in src/java.desktop/share/native/liblcms/lcms2.h | ||||
| Provides: bundled(lcms2) = 2.12.0 | ||||
| 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 | ||||
| @ -964,9 +947,6 @@ pushd %{top_level_dir_name} | ||||
| %patch1001 -p1 | ||||
| # nss.cfg PKCS11 support; must come last as it also alters java.security | ||||
| %patch1000 -p1 | ||||
| # tzdata update | ||||
| %patch2001 -p1 | ||||
| %patch2002 -p1 | ||||
| popd # openjdk | ||||
| 
 | ||||
| %patch600 | ||||
| @ -1003,18 +983,8 @@ cp -r tapset tapset%{fastdebug_suffix} | ||||
| 
 | ||||
| for suffix in %{build_loop} ; do | ||||
|   for file in "tapset"$suffix/*.in; do | ||||
|     OUTPUT_FILE=`echo $file | sed -e "s:\.stp\.in$:-%{version}-%{release}.%{_arch}.stp:g"` | ||||
|     sed -e "s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/server/libjvm.so:g" $file > $file.1 | ||||
|     sed -e "s:@JAVA_SPEC_VER@:%{javaver}:g" $file.1 > $file.2 | ||||
| # TODO find out which architectures other than i686 have a client vm | ||||
| %ifarch %{ix86} | ||||
|     sed -e "s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/client/libjvm.so:g" $file.2 > $OUTPUT_FILE | ||||
| %else | ||||
|     sed -e "/@ABS_CLIENT_LIBJVM_SO@/d" $file.2 > $OUTPUT_FILE | ||||
| %endif | ||||
|     sed -i -e "s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir -- $suffix}:g" $OUTPUT_FILE | ||||
|     sed -i -e "s:@INSTALL_ARCH_DIR@:%{archinstall}:g" $OUTPUT_FILE | ||||
|     sed -i -e "s:@prefix@:%{_jvmdir}/%{sdkdir -- $suffix}/:g" $OUTPUT_FILE | ||||
|     sed -i -e "s:@JAVA_SPEC_VER@:%{javaver}:g" $file | ||||
|     sed -i -e "s:@INSTALL_ARCH_DIR@:%{archinstall}:g" $file | ||||
|   done | ||||
| done | ||||
| # systemtap tapsets ends | ||||
| @ -1105,8 +1075,8 @@ function buildjdk() { | ||||
| %endif | ||||
|     --with-cacerts-file=$(readlink -f %{_sysconfdir}/pki/java/cacerts)  \ | ||||
|     --with-version-build=%{buildver} \ | ||||
|     --with-version-pre="${ea_designator}" \ | ||||
|     --with-version-opt=%{lts_designator} \ | ||||
|     --with-version-pre="%{ea_designator}" \ | ||||
|     --with-version-opt="%{lts_designator}" \ | ||||
|     --with-vendor-version-string="%{oj_vendor_version}" \ | ||||
|     --with-vendor-name="%{oj_vendor}" \ | ||||
|     --with-vendor-url="%{oj_vendor_url}" \ | ||||
| @ -1138,16 +1108,64 @@ 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 | ||||
| } | ||||
| 
 | ||||
| function stripjdk() { | ||||
|     local outputdir=${1} | ||||
|     local jdkimagepath=${outputdir}/images/%{jdkimage} | ||||
|     local jreimagepath=${outputdir}/images/%{jreimage} | ||||
|     local jmodimagepath=${outputdir}/images/jmods | ||||
|     local supportdir=${outputdir}/support | ||||
| 
 | ||||
|     if [ "x$suffix" = "x" ] ; then | ||||
|         # Keep the unstripped version for consumption by RHEL RPMs | ||||
|         cp -a ${jdkimagepath}{,.unstripped} | ||||
| 
 | ||||
|         # Strip the files | ||||
|         for file in $(find ${jdkimagepath} ${jreimagepath} ${supportdir} -type f) ; do | ||||
|             if file ${file} | grep -q 'ELF'; then | ||||
|                 noextfile=${file/.so/}; | ||||
|                 objcopy --only-keep-debug ${file} ${noextfile}.debuginfo; | ||||
|                 objcopy --add-gnu-debuglink=${noextfile}.debuginfo ${file}; | ||||
|                 strip -g ${file}; | ||||
|             fi | ||||
|         done | ||||
| 
 | ||||
|         # Rebuild jmod files against the stripped binaries | ||||
|         if [ ! -d ${supportdir} ] ; then | ||||
|             echo "Support directory missing."; | ||||
|             exit 15 | ||||
|         fi | ||||
|         for cmd in $(find ${supportdir} -name '*.jmod_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}..."; | ||||
|                 cat ${pre} | sh -s ; | ||||
|             fi | ||||
|             echo "Executing ${cmd}..."; | ||||
|             cat ${cmd} | sh -s ; | ||||
|             if [ -e ${post} ] ; then | ||||
|                 echo "Executing ${post}..."; | ||||
|                 cat ${post} | sh -s ; | ||||
|             fi | ||||
|         done | ||||
|         rm -rf ${jdkimagepath}/jmods | ||||
|         cp -a ${jmodimagepath} ${jdkimagepath} | ||||
|     fi | ||||
| } | ||||
| 
 | ||||
| function installjdk() { | ||||
|     local outputdir=${1} | ||||
|     local installdir=${2} | ||||
|     local jdkimagepath=${installdir}/images/%{jdkimage} | ||||
|     local jreimagepath=${installdir}/images/%{jreimage} | ||||
|     local unstripped=${jdkimagepath}.unstripped | ||||
| 
 | ||||
|     echo "Installing build from ${outputdir} to ${installdir}..." | ||||
|     mkdir -p ${installdir} | ||||
| @ -1176,7 +1194,7 @@ function installjdk() { | ||||
|         fi; | ||||
|     done | ||||
| 
 | ||||
|     for imagepath in ${jdkimagepath} ${jreimagepath} ; do | ||||
|     for imagepath in ${jdkimagepath} ${jreimagepath} ${unstripped}; do | ||||
| 
 | ||||
|         if [ -d ${imagepath} ] ; then | ||||
|             # the build (erroneously) removes read permissions from some jars | ||||
| @ -1225,6 +1243,7 @@ function packagejdk() { | ||||
|     local bundledir=$(pwd)/${1}/bundles | ||||
|     local packagesdir=$(pwd)/${2} | ||||
|     local srcdir=$(pwd)/%{top_level_dir_name} | ||||
|     local tapsetdir=$(pwd)/tapset | ||||
| 
 | ||||
|     echo "Packaging build from ${imagesdir} to ${packagesdir}..." | ||||
|     mkdir -p ${packagesdir} | ||||
| @ -1252,42 +1271,39 @@ function packagejdk() { | ||||
|     miscname=%{miscportablename} | ||||
|     miscarchive=${packagesdir}/%{miscportablearchive} | ||||
| 
 | ||||
|     if [ "x$suffix" = "x" ] ; then | ||||
|         # Keep the unstripped version for consumption by RHEL RPMs | ||||
|         mv %{jdkimage}.unstripped ${jdkname} | ||||
|         tar -cJf ${unstrippedarchive} ${jdkname} | ||||
|         genchecksum ${unstrippedarchive} | ||||
|         mv ${jdkname} %{jdkimage}.unstripped | ||||
|     fi | ||||
| 
 | ||||
|     # Rename directories for packaging | ||||
|     mv %{jdkimage} ${jdkname} | ||||
|     mv %{jreimage} ${jrename} | ||||
| 
 | ||||
|     # Release images have external debug symbols | ||||
|     if [ "x$suffix" = "x" ] ; then | ||||
|         # Keep the unstripped version for consumption by RHEL RPMs | ||||
|         tar -cJf ${unstrippedarchive} ${jdkname} | ||||
|         genchecksum ${unstrippedarchive} | ||||
| 
 | ||||
|         # Strip the files | ||||
|         for file in $(find ${jdkname} ${jrename} -type f) ; do | ||||
|             if file ${file} | grep -q 'ELF'; then | ||||
|                 noextfile=${file/.so/}; | ||||
|                 objcopy --only-keep-debug ${file} ${noextfile}.debuginfo; | ||||
|                 objcopy --add-gnu-debuglink=${noextfile}.debuginfo ${file}; | ||||
|                 strip -g ${file}; | ||||
|             fi | ||||
|         done | ||||
| 
 | ||||
|         tar -cJf ${debugarchive} $(find ${jdkname} -name \*.debuginfo) | ||||
|         genchecksum ${debugarchive} | ||||
| 
 | ||||
| 	mkdir ${docname} | ||||
| 	mv ${docdir} ${docname} | ||||
| 	mv ${bundledir}/${built_doc_archive} ${docname} | ||||
| 	tar -cJf ${docarchive} ${docname} | ||||
| 	genchecksum ${docarchive} | ||||
|         mkdir ${docname} | ||||
|         mv ${docdir} ${docname} | ||||
|         mv ${bundledir}/${built_doc_archive} ${docname} | ||||
|         tar -cJf ${docarchive} ${docname} | ||||
|         genchecksum ${docarchive} | ||||
| 
 | ||||
| 	mkdir ${miscname} | ||||
| 	for s in 16 24 32 48 ; do | ||||
| 	    cp -av ${srcdir}/src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png ${miscname} | ||||
| 	done | ||||
| 	cp -a ${srcdir}/src/sample ${miscname} | ||||
| 	tar -cJf ${miscarchive} ${miscname} | ||||
| 	genchecksum ${miscarchive} | ||||
|         mkdir ${miscname} | ||||
|         for s in 16 24 32 48 ; do | ||||
|             cp -av ${srcdir}/src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png ${miscname} | ||||
|         done | ||||
|         cp -a ${srcdir}/src/sample ${miscname} | ||||
| %if %{with_systemtap} | ||||
|         cp -a ${tapsetdir}* ${miscname} | ||||
| %endif | ||||
|         tar -cJf ${miscarchive} ${miscname} | ||||
|         genchecksum ${miscarchive} | ||||
|     fi | ||||
| 
 | ||||
|     tar -cJf ${jdkarchive} --exclude='**.debuginfo' ${jdkname} | ||||
| @ -1364,10 +1380,12 @@ for suffix in %{build_loop} ; do | ||||
|       buildjdk ${bootbuilddir} ${systemjdk} "%{bootstrap_targets}" ${debugbuild} ${link_opt} ${debug_symbols} | ||||
|       installjdk ${bootbuilddir} ${bootinstalldir} | ||||
|       buildjdk ${builddir} $(pwd)/${bootinstalldir}/images/%{jdkimage} "${maketargets}" ${debugbuild} ${link_opt} ${debug_symbols} | ||||
|       stripjdk ${builddir} | ||||
|       installjdk ${builddir} ${installdir} | ||||
|       %{!?with_artifacts:rm -rf ${bootinstalldir}} | ||||
|   else | ||||
|       buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt} ${debug_symbols} | ||||
|       stripjdk ${builddir} | ||||
|       installjdk ${builddir} ${installdir} | ||||
|   fi | ||||
|   packagejdk ${installdir} ${packagesdir} | ||||
| @ -1672,6 +1690,31 @@ done | ||||
| %{_jvmdir}/%{miscportablearchive}.sha256sum | ||||
| 
 | ||||
| %changelog | ||||
| * Thu Jul 13 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.8.0.1-0.3.ea | ||||
| - Make sure the unstripped JDK is customised by the installjdk function | ||||
| 
 | ||||
| * Wed Jul 12 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.8.0.1-0.2.ea | ||||
| - Rebuild jmods using the stripped binaries in release builds | ||||
| - Resolves: OPENJDK-1974 | ||||
| 
 | ||||
| * Tue Jul 04 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.8.0.1-0.1.ea | ||||
| - Use absolute path to tapset directory | ||||
| - Drop unused globals for tapset installation | ||||
| 
 | ||||
| * Tue Jul 04 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.8.0.1-0.1.ea | ||||
| - Re-enable SystemTap support and perform only substitutions possible without final NVR available | ||||
| - Depend on graphviz & pandoc for full documentation support | ||||
| - Fix typo which stops the EA designator being included in the build | ||||
| - Include tapsets in the miscellaneous tarball | ||||
| 
 | ||||
| * Mon Jul 03 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.8.0.1-0.1.ea | ||||
| - Update to jdk-17.0.8+1 (EA) | ||||
| - Update release notes to 17.0.8+1 | ||||
| - Switch to EA mode | ||||
| - Drop local inclusion of JDK-8274864 & JDK-8305113 as they are included in 17.0.8+1 | ||||
| - Bump bundled LCMS version to 2.15 as in jdk-17.0.8+1. | ||||
| - Bump bundled HarfBuzz version to 7.0.1 as in jdk-17.0.8+1 | ||||
| 
 | ||||
| * Tue Apr 25 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.7.0.7-2 | ||||
| - Update to jdk-17.0.7.0+7 | ||||
| - Update release notes to 17.0.7.0+7 | ||||
|  | ||||
| @ -317,7 +317,7 @@ | ||||
| # New Version-String scheme-style defines | ||||
| %global featurever 17 | ||||
| %global interimver 0 | ||||
| %global updatever 7 | ||||
| %global updatever 8 | ||||
| %global patchver 0 | ||||
| # buildjdkver is usually same as %%{featurever}, | ||||
| # but in time of bootstrap of next jdk, it is featurever-1, | ||||
| @ -364,10 +364,10 @@ | ||||
| %global origin_nice     OpenJDK | ||||
| %global top_level_dir_name   %{origin} | ||||
| %global top_level_dir_name_backup %{top_level_dir_name}-backup | ||||
| %global buildver        7 | ||||
| %global rpmrelease      4 | ||||
| %global buildver        1 | ||||
| %global rpmrelease      1 | ||||
| # Settings used by the portable build | ||||
| %global portablerelease 2 | ||||
| %global portablerelease 3 | ||||
| %global portablesuffix el8 | ||||
| %global portablebuilddir /builddir/build/BUILD | ||||
| 
 | ||||
| @ -396,7 +396,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           1 | ||||
| %global is_ga           0 | ||||
| %if %{is_ga} | ||||
| %global build_type GA | ||||
| %global ea_designator "" | ||||
| @ -1246,6 +1246,8 @@ Provides: java-%{origin}-src%{?1} = %{epoch}:%{version}-%{release} | ||||
| Name:    java-%{javaver}-%{origin} | ||||
| Version: %{newjavaver}.%{buildver} | ||||
| Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist} | ||||
| # Equivalent for the portable build | ||||
| %global prelease %{?eaprefix}%{portablerelease}%{?extraver} | ||||
| # java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons | ||||
| # and this change was brought into RHEL-4. java-1.5.0-ibm packages | ||||
| # also included the epoch in their virtual provides. This created a | ||||
| @ -1318,14 +1320,14 @@ Source19: README.md | ||||
| Source20: java-%{featurever}-openjdk-portable.specfile | ||||
| 
 | ||||
| # Setup variables to reference correct sources | ||||
| %global releasezip %{_jvmdir}/%{name}-%{version}-%{portablerelease}.portable.unstripped.jdk.%{_arch}.tar.xz | ||||
| %global staticlibzip %{_jvmdir}/%{name}-%{version}-%{portablerelease}.portable.static-libs.%{_arch}.tar.xz | ||||
| %global docszip %{_jvmdir}/%{name}-%{version}-%{portablerelease}.portable.docs.%{_arch}.tar.xz | ||||
| %global misczip %{_jvmdir}/%{name}-%{version}-%{portablerelease}.portable.misc.%{_arch}.tar.xz | ||||
| %global slowdebugzip %{_jvmdir}/%{name}-%{version}-%{portablerelease}.portable.slowdebug.jdk.%{_arch}.tar.xz | ||||
| %global slowdebugstaticlibzip %{_jvmdir}/%{name}-%{version}-%{portablerelease}.portable.slowdebug.static-libs.%{_arch}.tar.xz | ||||
| %global fastdebugzip %{_jvmdir}/%{name}-%{version}-%{portablerelease}.portable.fastdebug.jdk.%{_arch}.tar.xz | ||||
| %global fastdebugstaticlibzip %{_jvmdir}/%{name}-%{version}-%{portablerelease}.portable.fastdebug.static-libs.%{_arch}.tar.xz | ||||
| %global releasezip %{_jvmdir}/%{name}-%{version}-%{prelease}.portable.unstripped.jdk.%{_arch}.tar.xz | ||||
| %global staticlibzip %{_jvmdir}/%{name}-%{version}-%{prelease}.portable.static-libs.%{_arch}.tar.xz | ||||
| %global docszip %{_jvmdir}/%{name}-%{version}-%{prelease}.portable.docs.%{_arch}.tar.xz | ||||
| %global misczip %{_jvmdir}/%{name}-%{version}-%{prelease}.portable.misc.%{_arch}.tar.xz | ||||
| %global slowdebugzip %{_jvmdir}/%{name}-%{version}-%{prelease}.portable.slowdebug.jdk.%{_arch}.tar.xz | ||||
| %global slowdebugstaticlibzip %{_jvmdir}/%{name}-%{version}-%{prelease}.portable.slowdebug.static-libs.%{_arch}.tar.xz | ||||
| %global fastdebugzip %{_jvmdir}/%{name}-%{version}-%{prelease}.portable.fastdebug.jdk.%{_arch}.tar.xz | ||||
| %global fastdebugstaticlibzip %{_jvmdir}/%{name}-%{version}-%{prelease}.portable.fastdebug.static-libs.%{_arch}.tar.xz | ||||
| 
 | ||||
| ############################################ | ||||
| # | ||||
| @ -1396,10 +1398,6 @@ Patch1001: fips-17u-%{fipsver}.patch | ||||
| # OpenJDK patches targetted for 17.0.8 | ||||
| # | ||||
| ############################################# | ||||
| # JDK-8274864: Remove Amman/Cairo hacks in ZoneInfoFile | ||||
| Patch2001: jdk8274864-remove_amman_cairo_hacks.patch | ||||
| # JDK-8305113: (tz) Update Timezone Data to 2023c | ||||
| Patch2002: jdk8305113-tzdata2023c.patch | ||||
| 
 | ||||
| BuildRequires: autoconf | ||||
| BuildRequires: automake | ||||
| @ -1429,19 +1427,19 @@ BuildRequires: xorg-x11-proto-devel | ||||
| BuildRequires: zip | ||||
| BuildRequires: javapackages-filesystem | ||||
| %if %{include_normal_build} | ||||
| BuildRequires: java-%{featurever}-openjdk-portable-unstripped = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} | ||||
| BuildRequires: java-%{featurever}-openjdk-portable-static-libs = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} | ||||
| BuildRequires: java-%{featurever}-openjdk-portable-unstripped = %{epoch}:%{version}-%{prelease}.%{portablesuffix} | ||||
| BuildRequires: java-%{featurever}-openjdk-portable-static-libs = %{epoch}:%{version}-%{prelease}.%{portablesuffix} | ||||
| %endif | ||||
| %if %{include_fastdebug_build} | ||||
| BuildRequires: java-%{featurever}-openjdk-portable-devel-fastdebug = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} | ||||
| BuildRequires: java-%{featurever}-openjdk-portable-static-libs-fastdebug = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} | ||||
| BuildRequires: java-%{featurever}-openjdk-portable-devel-fastdebug = %{epoch}:%{version}-%{prelease}.%{portablesuffix} | ||||
| BuildRequires: java-%{featurever}-openjdk-portable-static-libs-fastdebug = %{epoch}:%{version}-%{prelease}.%{portablesuffix} | ||||
| %endif | ||||
| %if %{include_debug_build} | ||||
| BuildRequires: java-%{featurever}-openjdk-portable-devel-slowdebug = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} | ||||
| BuildRequires: java-%{featurever}-openjdk-portable-static-libs-slowdebug = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} | ||||
| BuildRequires: java-%{featurever}-openjdk-portable-devel-slowdebug = %{epoch}:%{version}-%{prelease}.%{portablesuffix} | ||||
| BuildRequires: java-%{featurever}-openjdk-portable-static-libs-slowdebug = %{epoch}:%{version}-%{prelease}.%{portablesuffix} | ||||
| %endif | ||||
| BuildRequires: java-%{featurever}-openjdk-portable-docs = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} | ||||
| BuildRequires: java-%{featurever}-openjdk-portable-misc = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} | ||||
| BuildRequires: java-%{featurever}-openjdk-portable-docs = %{epoch}:%{version}-%{prelease}.%{portablesuffix} | ||||
| BuildRequires: java-%{featurever}-openjdk-portable-misc = %{epoch}:%{version}-%{prelease}.%{portablesuffix} | ||||
| # Zero-assembler build requirement | ||||
| %ifarch %{zero_arches} | ||||
| BuildRequires: libffi-devel | ||||
| @ -1469,9 +1467,9 @@ Provides: bundled(freetype) = 2.12.1 | ||||
| # 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) = 4.4.1 | ||||
| Provides: bundled(harfbuzz) = 7.0.1 | ||||
| # Version in src/java.desktop/share/native/liblcms/lcms2.h | ||||
| Provides: bundled(lcms2) = 2.12.0 | ||||
| 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 | ||||
| @ -1843,9 +1841,6 @@ pushd %{top_level_dir_name} | ||||
| %patch1001 -p1 | ||||
| # nss.cfg PKCS11 support; must come last as it also alters java.security | ||||
| %patch1000 -p1 | ||||
| # tzdata update | ||||
| %patch2001 -p1 | ||||
| %patch2002 -p1 | ||||
| popd # openjdk | ||||
| 
 | ||||
| %patch600 | ||||
| @ -1870,35 +1865,6 @@ if [ "x${UPSTREAM_EA_DESIGNATOR}" != "x%{ea_designator}" ] ; then | ||||
|     exit 17 | ||||
| fi | ||||
| 
 | ||||
| # Extract systemtap tapsets | ||||
| %if %{with_systemtap} | ||||
| tar --strip-components=1 -x -I xz -f %{SOURCE8} | ||||
| %if %{include_debug_build} | ||||
| cp -r tapset tapset%{debug_suffix} | ||||
| %endif | ||||
| %if %{include_fastdebug_build} | ||||
| cp -r tapset tapset%{fastdebug_suffix} | ||||
| %endif | ||||
| 
 | ||||
| for suffix in %{build_loop} ; do | ||||
|   for file in "tapset"$suffix/*.in; do | ||||
|     OUTPUT_FILE=`echo $file | sed -e "s:\.stp\.in$:-%{version}-%{release}.%{_arch}.stp:g"` | ||||
|     sed -e "s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/server/libjvm.so:g" $file > $file.1 | ||||
|     sed -e "s:@JAVA_SPEC_VER@:%{javaver}:g" $file.1 > $file.2 | ||||
| # TODO find out which architectures other than i686 have a client vm | ||||
| %ifarch %{ix86} | ||||
|     sed -e "s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/client/libjvm.so:g" $file.2 > $OUTPUT_FILE | ||||
| %else | ||||
|     sed -e "/@ABS_CLIENT_LIBJVM_SO@/d" $file.2 > $OUTPUT_FILE | ||||
| %endif | ||||
|     sed -i -e "s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir -- $suffix}:g" $OUTPUT_FILE | ||||
|     sed -i -e "s:@INSTALL_ARCH_DIR@:%{archinstall}:g" $OUTPUT_FILE | ||||
|     sed -i -e "s:@prefix@:%{_jvmdir}/%{sdkdir -- $suffix}/:g" $OUTPUT_FILE | ||||
|   done | ||||
| done | ||||
| # systemtap tapsets ends | ||||
| %endif | ||||
| 
 | ||||
| # Prepare desktop files | ||||
| # The _X_ syntax indicates variables that are replaced by make upstream | ||||
| # The @X@ syntax indicates variables that are replaced by configure upstream | ||||
| @ -1935,6 +1901,16 @@ function customisejdk() { | ||||
|     fi | ||||
| } | ||||
| 
 | ||||
| mkdir -p $(dirname %{installoutputdir}) | ||||
| 
 | ||||
| docdir=%{installoutputdir -- "-docs"} | ||||
| tar -xJf %{docszip} | ||||
| mv java-%{featurever}-openjdk*.docs.* ${docdir} | ||||
| 
 | ||||
| miscdir=%{installoutputdir -- "-misc"} | ||||
| tar -xJf %{misczip} | ||||
| mv java-%{featurever}-openjdk*.misc.* ${miscdir} | ||||
| 
 | ||||
| for suffix in %{build_loop} ; do | ||||
| 
 | ||||
|   if [ "x$suffix" = "x" ] ; then | ||||
| @ -1953,17 +1929,32 @@ for suffix in %{build_loop} ; do | ||||
|   # TODO: should verify checksums when using packages from buildroot | ||||
|   tar -xJf ${jdkzip} | ||||
|   tar -xJf ${staticlibzip} | ||||
|   mkdir -p $(dirname ${installdir}) | ||||
|   mv java-%{featurever}-openjdk* ${installdir} | ||||
| 
 | ||||
|   # Fix build paths in ELF files so it looks like we built them | ||||
|   portablenvr="%{name}-%{VERSION}-%{portablerelease}.%{portablesuffix}.%{_arch}" | ||||
|   portablenvr="%{name}-%{VERSION}-%{prelease}.%{portablesuffix}.%{_arch}" | ||||
|   for file in $(find ${installdir} -type f) ; do | ||||
|       if file ${file} | grep -q 'ELF'; then | ||||
| 	  %{debugedit} -b %{portablebuilddir}/${portablenvr} -d $(pwd) -n ${file} | ||||
|       fi | ||||
|   done | ||||
| 
 | ||||
|   # Set tapset variables to match this build | ||||
| %if %{with_systemtap} | ||||
|   for file in ${miscdir}/tapset${suffix}/*.in; do | ||||
|     OUTPUT_FILE=`echo $file | sed -e "s:\.stp\.in$:-%{version}-%{release}.%{_arch}.stp:g"` | ||||
|     sed -e "s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/server/libjvm.so:g" $file > ${OUTPUT_FILE} | ||||
| # TODO find out which architectures other than i686 have a client vm | ||||
| %ifarch %{ix86} | ||||
|     sed -i -e "s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/client/libjvm.so:g" ${OUTPUT_FILE} | ||||
| %else | ||||
|     sed -i -e "/@ABS_CLIENT_LIBJVM_SO@/d" ${OUTPUT_FILE} | ||||
| %endif | ||||
|     sed -i -e "s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir -- $suffix}:g" $OUTPUT_FILE | ||||
|     sed -i -e "s:@prefix@:%{_jvmdir}/%{sdkdir -- $suffix}/:g" $OUTPUT_FILE | ||||
|   done | ||||
| %endif | ||||
| 
 | ||||
|   # Final setup on the main image | ||||
|   customisejdk ${installdir} | ||||
| 
 | ||||
| @ -1973,14 +1964,6 @@ for suffix in %{build_loop} ; do | ||||
| # build cycles | ||||
| done # end of release / debug cycle loop | ||||
| 
 | ||||
| docdir=%{installoutputdir -- "-docs"} | ||||
| tar -xJf %{docszip} | ||||
| mv java-%{featurever}-openjdk*.docs.* ${docdir} | ||||
| 
 | ||||
| miscdir=%{installoutputdir -- "-misc"} | ||||
| tar -xJf %{misczip} | ||||
| mv java-%{featurever}-openjdk*.misc.* ${miscdir} | ||||
| 
 | ||||
| %check | ||||
| 
 | ||||
| # We test debug first as it will give better diagnostics on a crash | ||||
| @ -2129,7 +2112,7 @@ for suffix in %{build_loop} ; do | ||||
| jdk_image=$(pwd)/%{installoutputdir -- ${suffix}} | ||||
| # Should match same definitions in build section | ||||
| docdir=$(pwd)/%{installoutputdir -- "-docs"} | ||||
| miscdir=%{installoutputdir -- "-misc"} | ||||
| miscdir=$(pwd)/%{installoutputdir -- "-misc"} | ||||
| 
 | ||||
| # Install release notes and rebuild instructions | ||||
| commondocdir=${RPM_BUILD_ROOT}%{_defaultdocdir}/%{uniquejavadocdir -- $suffix} | ||||
| @ -2141,13 +2124,10 @@ cp -a %{SOURCE19} %{SOURCE20} ${commondocdir} | ||||
| mkdir -p $RPM_BUILD_ROOT%{_jvmdir} | ||||
| cp -a ${jdk_image} $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix} | ||||
| 
 | ||||
| pushd ${jdk_image} | ||||
| 
 | ||||
| %if %{with_systemtap} | ||||
|   # Install systemtap support files | ||||
|   install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset | ||||
|   # note, that uniquesuffix  is in BUILD dir in this case | ||||
|   cp -a $RPM_BUILD_DIR/%{uniquesuffix ""}/tapset$suffix/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/ | ||||
|   cp -a ${miscdir}/tapset$suffix/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/ | ||||
|   pushd  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/ | ||||
|    tapsetFiles=`ls *.stp` | ||||
|   popd | ||||
| @ -2172,6 +2152,7 @@ pushd ${jdk_image} | ||||
| 
 | ||||
|   # Install man pages | ||||
|   install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1 | ||||
|   pushd ${jdk_image} | ||||
|   for manpage in man/man1/* | ||||
|   do | ||||
|     # Convert man pages to UTF8 encoding | ||||
| @ -2182,8 +2163,7 @@ pushd ${jdk_image} | ||||
|   done | ||||
|   # Remove man pages from jdk image | ||||
|   rm -rf $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/man | ||||
| 
 | ||||
| popd | ||||
|   popd | ||||
| 
 | ||||
| if ! echo $suffix | grep -q "debug" ; then | ||||
|     # Install Javadoc documentation | ||||
| @ -2481,6 +2461,19 @@ require "copy_jdk_configs.lua" | ||||
| %endif | ||||
| 
 | ||||
| %changelog | ||||
| * Wed Jul 12 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.8.0.1-0.1.ea | ||||
| - Update to jdk-17.0.8+1 (EA) | ||||
| - Update release notes to 17.0.8+1 | ||||
| - Switch to EA mode | ||||
| - Drop local inclusion of JDK-8274864 & JDK-8305113 as they are included in 17.0.8+1 | ||||
| - Bump bundled LCMS version to 2.15 as in jdk-17.0.8+1. | ||||
| - Bump bundled HarfBuzz version to 7.0.1 as in jdk-17.0.8+1 | ||||
| - Use tapsets from the misc tarball | ||||
| - Introduce 'prelease' for the portable release versioning, to handle EA builds | ||||
| - Make sure root installation directory is created first | ||||
| - Use in-place substitution for all but the first of the tapset changes | ||||
| - Related: RHEL-36136 | ||||
| 
 | ||||
| * Tue Jul 11 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.7.0.7-4 | ||||
| - Introduce vm_variant global for consistency with future JDK builds | ||||
| - Related: RHEL-36135 | ||||
|  | ||||
| @ -1,53 +0,0 @@ | ||||
| commit 1b3825db8631e55771fb723d4fcd10040ea15b7e | ||||
| Author: duke <duke@openjdk.org> | ||||
| Date:   Wed Apr 12 17:25:27 2023 +0000 | ||||
| 
 | ||||
|     Backport ec199072c5867624d66840238cc8828e16ae8da7 | ||||
| 
 | ||||
| diff --git a/src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java b/src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java
 | ||||
| index 6f6e190efcd..ef278203182 100644
 | ||||
| --- a/src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java
 | ||||
| +++ b/src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java
 | ||||
| @@ -608,34 +608,6 @@ public final class ZoneInfoFile {
 | ||||
|                  params[8] = endRule.secondOfDay * 1000; | ||||
|                  params[9] = toSTZTime[endRule.timeDefinition]; | ||||
|                  dstSavings = (startRule.offsetAfter - startRule.offsetBefore) * 1000; | ||||
| -
 | ||||
| -                // Note: known mismatching -> Asia/Amman
 | ||||
| -                // ZoneInfo :      startDayOfWeek=5     <= Thursday
 | ||||
| -                //                 startTime=86400000   <= 24 hours
 | ||||
| -                // This:           startDayOfWeek=6
 | ||||
| -                //                 startTime=0
 | ||||
| -                // Similar workaround needs to be applied to Africa/Cairo and
 | ||||
| -                // its endDayOfWeek and endTime
 | ||||
| -                // Below is the workarounds, it probably slows down everyone a little
 | ||||
| -                if (params[2] == 6 && params[3] == 0 &&
 | ||||
| -                    (zoneId.equals("Asia/Amman"))) {
 | ||||
| -                    params[2] = 5;
 | ||||
| -                    params[3] = 86400000;
 | ||||
| -                }
 | ||||
| -                // Additional check for startDayOfWeek=6 and starTime=86400000
 | ||||
| -                // is needed for Asia/Amman;
 | ||||
| -                if (params[2] == 7 && params[3] == 0 &&
 | ||||
| -                     (zoneId.equals("Asia/Amman"))) {
 | ||||
| -                    params[2] = 6;        // Friday
 | ||||
| -                    params[3] = 86400000; // 24h
 | ||||
| -                }
 | ||||
| -                //endDayOfWeek and endTime workaround
 | ||||
| -                if (params[7] == 6 && params[8] == 0 &&
 | ||||
| -                    (zoneId.equals("Africa/Cairo"))) {
 | ||||
| -                    params[7] = 5;
 | ||||
| -                    params[8] = 86400000;
 | ||||
| -                }
 | ||||
| -
 | ||||
|              } else if (nTrans > 0) {  // only do this if there is something in table already | ||||
|                  if (lastyear < LASTYEAR) { | ||||
|                      // ZoneInfo has an ending entry for 2037 | ||||
| @@ -908,7 +880,6 @@ public final class ZoneInfoFile {
 | ||||
|              this.dow = dowByte == 0 ? -1 : dowByte; | ||||
|              this.secondOfDay = timeByte == 31 ? in.readInt() : timeByte * 3600; | ||||
|              this.timeDefinition = (data & (3 << 12)) >>> 12; | ||||
| -
 | ||||
|              this.standardOffset = stdByte == 255 ? in.readInt() : (stdByte - 128) * 900; | ||||
|              this.offsetBefore = beforeByte == 3 ? in.readInt() : standardOffset + beforeByte * 1800; | ||||
|              this.offsetAfter = afterByte == 3 ? in.readInt() : standardOffset + afterByte * 1800; | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										2
									
								
								sources
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								sources
									
									
									
									
									
								
							| @ -1,2 +1,2 @@ | ||||
| SHA512 (tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz) = 97d026212363b3c83f6a04100ad7f6fdde833d16579717f8756e2b8c2eb70e144a41a330cb9ccde9c3badd37a2d54fdf4650a950ec21d8b686d545ecb2a64d30 | ||||
| SHA512 (openjdk-jdk17u-jdk-17.0.7+7.tar.xz) = 2f231e83fabef6299b16beee1e0c8d52501e22fd71a26ed2ace6fadabe38e73e66f3b8fb8bc994e8b2b9bbdb91d1143661941f623bb94793500f4f3b6495bf58 | ||||
| SHA512 (openjdk-jdk17u-jdk-17.0.8+1.tar.xz) = fe6d6b55967c320d79d8ab21adcf31f1c6e424bb6abc8295de1648272879c2e637aa6e4cfabbc5eefe59ffa1bd1c8c860af9cc8779182829dd4d08699c203e47 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user