import UBI java-11-openjdk-11.0.20.0.8-2.el8
This commit is contained in:
parent
c74881f135
commit
a76b56e311
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
|
||||
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}
|
||||
|
||||
@ -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
@ -1,3 +1,8 @@
|
||||
# To rebuild this RPM, you must first rebuild the portable
|
||||
# RPM using the java-11-openjdk-portable.specfile, install
|
||||
# it and then adjust portablerelease and portablesuffix
|
||||
# to match the new portable.
|
||||
|
||||
# RPM conditionals so as to be able to dynamically produce
|
||||
# slowdebug/release builds. See:
|
||||
# http://rpm.org/user_doc/conditional_builds.html
|
||||
@ -326,7 +331,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,
|
||||
@ -372,10 +377,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 8
|
||||
%global rpmrelease 2
|
||||
# Settings used by the portable build
|
||||
%global portablerelease 2
|
||||
%global portablerelease 1
|
||||
%global portablesuffix el8
|
||||
%global portablebuilddir /builddir/build/BUILD
|
||||
|
||||
@ -1143,8 +1148,8 @@ Provides: jre%{?1} = %{epoch}:%{version}-%{release}
|
||||
Requires: ca-certificates
|
||||
# Require javapackages-filesystem for ownership of /usr/lib/jvm/ and macros
|
||||
Requires: javapackages-filesystem
|
||||
# 2022g required as of JDK-8297804
|
||||
Requires: tzdata-java >= 2022g
|
||||
# 2023c required as of JDK-8305113
|
||||
BuildRequires: tzdata-java >= 2023c
|
||||
# for support of kernel stream control
|
||||
# libsctp.so.1 is being `dlopen`ed on demand
|
||||
Requires: lksctp-tools%{?_isa}
|
||||
@ -1268,6 +1273,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
|
||||
@ -1343,14 +1350,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
|
||||
|
||||
############################################
|
||||
#
|
||||
@ -1428,10 +1435,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
|
||||
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
@ -1462,19 +1465,19 @@ BuildRequires: zip
|
||||
BuildRequires: unzip
|
||||
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
|
||||
@ -1502,9 +1505,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
|
||||
@ -1862,43 +1865,11 @@ pushd %{top_level_dir_name}
|
||||
%patch1000 -p1
|
||||
# PKCS11 SHA3 backport
|
||||
%patch2001 -p1
|
||||
# tzdata update
|
||||
%patch2002 -p1
|
||||
%patch2003 -p1
|
||||
popd # openjdk
|
||||
|
||||
%patch600
|
||||
%patch1003
|
||||
|
||||
# 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
|
||||
@ -1939,6 +1910,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
|
||||
@ -1957,17 +1938,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}
|
||||
|
||||
@ -1977,14 +1973,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
|
||||
@ -2130,7 +2118,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}
|
||||
@ -2142,13 +2130,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 +2157,7 @@ pushd ${jdk_image}
|
||||
popd
|
||||
|
||||
# Install man pages
|
||||
pushd ${jdk_image}
|
||||
install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
|
||||
for manpage in man/man1/*
|
||||
do
|
||||
@ -2183,8 +2169,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
|
||||
@ -2504,6 +2489,27 @@ end
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Sat Jul 15 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.20.0.8-2
|
||||
- Sync the copy of the portable specfile with the latest update
|
||||
- Add note at top of spec file about rebuilding
|
||||
- Related: rhbz#2221106
|
||||
|
||||
* 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
|
||||
- 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
|
||||
- Bump bundled LCMS version to 2.15 as in jdk-11.0.20+1.
|
||||
- Bump bundled HarfBuzz version to 7.0.1 as in jdk-11.0.20+7
|
||||
- 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
|
||||
- ** This tarball is embargoed until 2023-07-18 @ 1pm PT. **
|
||||
- Resolves: rhbz#2217713
|
||||
- Resolves: rhbz#2196318
|
||||
- Resolves: rhbz#2221106
|
||||
|
||||
* Wed Apr 26 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.19.0.7-4
|
||||
- Include the java-11-openjdk-portable.spec file with instructions on how to rebuild.
|
||||
- Related: rhbz#2189327
|
||||
|
Loading…
Reference in New Issue
Block a user