Merge branch 'c8' into a8-portable
This commit is contained in:
commit
7afdfcf65b
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,2 @@
|
||||
SOURCES/openjdk-jdk11u-jdk-11.0.19+7-4curve.tar.xz
|
||||
SOURCES/openjdk-jdk11u-jdk-11.0.20+8-4curve.tar.xz
|
||||
SOURCES/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz
|
||||
|
@ -1,2 +1,2 @@
|
||||
aa30c8827f7ced0a1fa9a9c226884f7c79101e86 SOURCES/openjdk-jdk11u-jdk-11.0.19+7-4curve.tar.xz
|
||||
27b1851203504050481d9a2c7b07a3bc39f23908 SOURCES/openjdk-jdk11u-jdk-11.0.20+8-4curve.tar.xz
|
||||
c8281ee37b77d535c9c1af86609a531958ff7b34 SOURCES/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz
|
||||
|
@ -330,9 +330,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
|
||||
@ -340,7 +339,7 @@
|
||||
# New Version-String scheme-style defines
|
||||
%global featurever 11
|
||||
%global interimver 0
|
||||
%global updatever 19
|
||||
%global updatever 20
|
||||
%global patchver 0
|
||||
# buildjdkver is usually same as %%{featurever},
|
||||
# but in time of bootstrap of next jdk, it is featurever-1,
|
||||
@ -386,8 +385,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 8
|
||||
%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
|
||||
%if %is_system_jdk
|
||||
@ -444,9 +443,9 @@
|
||||
%define uniquesuffix() %{expand:%{fullversion}.%{_arch}%{?1}}
|
||||
# portable only declarations
|
||||
%global jreimage jre
|
||||
%define jreportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;el8\\(_[0-9]\\)*;portable%{1}.jre.;g" | sed "s;openjdkportable;el;g")
|
||||
%define jdkportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;el8\\(_[0-9]\\)*;portable%{1}.jdk.;g" | sed "s;openjdkportable;el;g")
|
||||
%define staticlibsportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;el8\\(_[0-9]\\)*;portable%{1}.static-libs.;g" | sed "s;openjdkportable;el;g")
|
||||
%define jreportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;el%{rhel}\\(_[0-9]\\)*;portable%{1}.jre;g")
|
||||
%define jdkportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;el%{rhel}\\(_[0-9]\\)*;portable%{1}.jdk;g")
|
||||
%define staticlibsportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;el%{rhel}\\(_[0-9]\\)*;portable%{1}.static-libs;g")
|
||||
%define jreportablearchive() %{expand:%{jreportablenameimpl -- %%{1}}.tar.xz}
|
||||
%define jdkportablearchive() %{expand:%{jdkportablenameimpl -- %%{1}}.tar.xz}
|
||||
%define staticlibsportablearchive() %{expand:%{staticlibsportablenameimpl -- %%{1}}.tar.xz}
|
||||
@ -455,9 +454,9 @@
|
||||
# Intentionally use jdkportablenameimpl here since we want to have static-libs files overlayed on
|
||||
# top of the JDK archive
|
||||
%define staticlibsportablename() %{expand:%{jdkportablenameimpl -- %%{1}}}
|
||||
%define docportablename() %(echo %{uniquesuffix ""} | sed "s;el8\\(_[0-9]\\)*;portable.docs.;g" | sed "s;openjdkportable;el;g")
|
||||
%define docportablename() %(echo %{uniquesuffix ""} | sed "s;el%{rhel}\\(_[0-9]\\)*;portable.docs;g")
|
||||
%define docportablearchive() %{docportablename}.tar.xz
|
||||
%define miscportablename() %(echo %{uniquesuffix ""} | sed "s;el8\\(_[0-9]\\)*;portable.misc.;g" | sed "s;openjdkportable;el;g")
|
||||
%define miscportablename() %(echo %{uniquesuffix ""} | sed "s;el%{rhel}\\(_[0-9]\\)*;portable.misc;g")
|
||||
%define miscportablearchive() %{miscportablename}.tar.xz
|
||||
|
||||
#################################################################
|
||||
@ -502,20 +501,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
|
||||
|
||||
# Portables have no repo (requires/provides), but these are awesome for orientation in spec
|
||||
# Also scriptlets are happily missing and files are handled old fashion
|
||||
# not-duplicated requires/provides/obsoletes for normal/debug packages
|
||||
@ -588,8 +573,7 @@ Source0: openjdk-jdk%{featurever}u-%{vcstag}-4curve.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
|
||||
@ -698,10 +682,6 @@ Patch2001: jdk8242332-rh2108712-sha3-sunpkcs11.patch
|
||||
# able to be removed once that release is out
|
||||
# and used by this RPM.
|
||||
#############################################
|
||||
# JDK-8274864: Remove Amman/Cairo hacks in ZoneInfoFile
|
||||
Patch2002: jdk8274864-remove_amman_cairo_hacks.patch
|
||||
# JDK-8305113: (tz) Update Timezone Data to 2023c
|
||||
Patch2003: jdk8305113-tzdata2023c.patch
|
||||
|
||||
#############################################
|
||||
#
|
||||
@ -749,9 +729,7 @@ BuildRequires: java-%{buildjdkver}-openjdk-devel
|
||||
BuildRequires: libffi-devel
|
||||
%endif
|
||||
# 2023c required as of JDK-8305113
|
||||
#BuildRequires: tzdata-java >= 2023c
|
||||
# Temporarily lowering requirement until https://errata.devel.redhat.com/advisory/112353 ships
|
||||
BuildRequires: tzdata-java >= 2022g
|
||||
BuildRequires: tzdata-java >= 2023c
|
||||
# cacerts build requirement in portable mode
|
||||
BuildRequires: ca-certificates
|
||||
# Earlier versions have a bug in tree vectorization on PPC
|
||||
@ -775,9 +753,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
|
||||
@ -979,9 +957,6 @@ pushd %{top_level_dir_name}
|
||||
%patch1000 -p1
|
||||
# PKCS11 SHA3 backport
|
||||
%patch2001 -p1
|
||||
# tzdata update
|
||||
%patch2002 -p1
|
||||
%patch2003 -p1
|
||||
popd # openjdk
|
||||
|
||||
%patch600
|
||||
@ -999,18 +974,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
|
||||
@ -1140,11 +1105,52 @@ function buildjdk() {
|
||||
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.cmdline') ; do
|
||||
jmod=$(cat ${cmd} | sed -r 's|.*support/(.*$)|\1|');
|
||||
echo "Rebuilding ${jmod} against stripped binaries...";
|
||||
echo "Removing old jmod ${jmod}...";
|
||||
rm -vf ${jmod}
|
||||
rm -vf ${jdkimagepath}/jmods/$(basename ${jmod});
|
||||
echo "Executing $(cat ${cmd})...";
|
||||
cat ${cmd} | sh -s ;
|
||||
echo "Moving jmod to image...";
|
||||
mv -v ${supportdir}/${jmod} ${jdkimagepath}/jmods;
|
||||
done
|
||||
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}
|
||||
@ -1160,7 +1166,7 @@ function installjdk() {
|
||||
rm -rf ${outputdir}
|
||||
%endif
|
||||
|
||||
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
|
||||
@ -1210,6 +1216,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}
|
||||
@ -1237,26 +1244,20 @@ 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
|
||||
cp -r %{jdkimage} ${jdkname}
|
||||
cp -r %{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}
|
||||
|
||||
@ -1271,6 +1272,9 @@ function packagejdk() {
|
||||
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
|
||||
@ -1349,10 +1353,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}
|
||||
@ -1642,6 +1648,37 @@ done
|
||||
%{_jvmdir}/%{miscportablearchive}.sha256sum
|
||||
|
||||
%changelog
|
||||
* Fri Jul 14 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.20.0.8-1
|
||||
- Update to jdk-11.0.20.0+8 (GA)
|
||||
- Update release notes to 11.0.20.0+8
|
||||
- Switch to GA mode for release
|
||||
- Bump bundled HarfBuzz version to 7.0.1 as in jdk-11.0.20+7
|
||||
- ** This tarball is embargoed until 2023-07-18 @ 1pm PT. **
|
||||
|
||||
* Fri Jul 14 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.20.0.1-0.3.ea
|
||||
- Determine path of output jmod path from command rather than guessing
|
||||
|
||||
* Fri Jul 14 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.20.0.1-0.3.ea
|
||||
- Rebuild jmods using the stripped binaries in release builds
|
||||
- Fix trailing '.' in tarball name
|
||||
- Make sure the unstripped JDK is customised by the installjdk function
|
||||
- Resolves: OPENJDK-1975
|
||||
|
||||
* Fri Jul 14 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.20.0.1-0.2.ea
|
||||
- Re-enable SystemTap support and perform only substitutions possible without final NVR available
|
||||
- Include tapsets in the miscellaneous tarball
|
||||
- Drop unused globals for tapset installation
|
||||
|
||||
* Fri Jun 30 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.20.0.1-0.2.ea
|
||||
- Bump bundled LCMS version to 2.15 as in jdk-11.0.20+1.
|
||||
|
||||
* Fri Jun 30 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.20.0.1-0.1.ea
|
||||
- Update to jdk-11.0.20+1 (EA)
|
||||
- Update release notes to 11.0.20+1
|
||||
- Switch to EA mode
|
||||
- Drop local inclusion of JDK-8274864 & JDK-8305113 as they are included in 11.0.20+1
|
||||
- Bump tzdata requirement to 2023c now it is available in the buildroot
|
||||
|
||||
* Mon Apr 24 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.19.0.7-2
|
||||
- Sync with existing RHEL 8 build, in order to start building portables on RHEL 8
|
||||
- Remove use of devtoolset (RHEL 8 native compilers should be sufficient)
|
||||
|
@ -1,55 +0,0 @@
|
||||
commit b4caafe16f14983e303b7f1fdf3090e5c513ebd8
|
||||
Author: Andrew John Hughes <andrew@openjdk.org>
|
||||
Date: Thu Apr 13 15:37:20 2023 +0000
|
||||
|
||||
8274864: Remove Amman/Cairo hacks in ZoneInfoFile
|
||||
|
||||
Backport-of: 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 1dc82561f2..a51490767d 100644
|
||||
--- a/src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java
|
||||
+++ b/src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java
|
||||
@@ -607,34 +607,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
|
||||
@@ -907,7 +879,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
Loading…
Reference in New Issue
Block a user