Update to jdk-21.0.1.0+12 (GA)
Update release notes to 21.0.1.0+12 Sync the copy of the portable specfile with the latest update Update openjdk_news script to specify subdirectory last Add missing discover_trees script required by openjdk_news Synchronise bundled versions with 21u sources (FreeType, LCMS, HarfBuzz, libpng) Sync generate_tarball.sh with 11u & 17u version Update bug URL for RHEL to point to the Red Hat customer portal Fix upstream release URL for OpenJDK source Following JDK-8005165, class data sharing can be enabled on all JIT architectures 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 Synchronise runtime and buildtime tzdata requirements Remove ghosts for binaries not in java-21-openjdk (pack200, rmid, unpack200) Add missing jfr, jpackage and jwebserver alternative ghosts Move jcmd to the headless package Revert alt-java binary location to being within the JDK tree Fix packaging of CDS archives Exclude classes_nocoops.jsa on i686 and arm32 Related: RHEL-45217
This commit is contained in:
parent
ef950026e0
commit
93c1b3d423
1
.gitignore
vendored
1
.gitignore
vendored
@ -11,3 +11,4 @@
|
||||
/openjdk-jdk20u-jdk-20.0.1+9.tar.xz
|
||||
/openjdk-jdk20u-jdk-20.0.2+9.tar.xz
|
||||
/openjdk-jdk21u-jdk-21+35.tar.xz
|
||||
/openjdk-21.0.1+12.tar.xz
|
||||
|
@ -29,7 +29,6 @@ set -e
|
||||
|
||||
OPENJDK_URL_DEFAULT=https://github.com
|
||||
COMPRESSION_DEFAULT=xz
|
||||
# Corresponding IcedTea version
|
||||
|
||||
if [ "x$1" = "xhelp" ] ; then
|
||||
echo -e "Behaviour may be specified by setting the following variables:\n"
|
||||
@ -39,6 +38,7 @@ if [ "x$1" = "xhelp" ] ; then
|
||||
echo "OPENJDK_URL - the URL to retrieve code from (optional; defaults to ${OPENJDK_URL_DEFAULT})"
|
||||
echo "COMPRESSION - the compression type to use (optional; defaults to ${COMPRESSION_DEFAULT})"
|
||||
echo "FILE_NAME_ROOT - name of the archive, minus extensions (optional; defaults to PROJECT_NAME-REPO_NAME-VERSION)"
|
||||
echo "REPO_ROOT - the location of the Git repository to archive (optional; defaults to OPENJDK_URL/PROJECT_NAME/REPO_NAME.git)"
|
||||
echo "TO_COMPRESS - what part of clone to pack (default is ${VERSION})"
|
||||
echo "BOOT_JDK - the bootstrap JDK to satisfy the configure run"
|
||||
exit 1;
|
||||
@ -117,9 +117,20 @@ fi;
|
||||
|
||||
if [ "x$TO_COMPRESS" = "x" ] ; then
|
||||
TO_COMPRESS="${VERSION}"
|
||||
echo "No targets to be compressed specified, ; default to ${TO_COMPRESS}"
|
||||
echo "No targets to be compressed specified ; default to ${TO_COMPRESS}"
|
||||
fi;
|
||||
|
||||
echo -e "Settings:"
|
||||
echo -e "\tVERSION: ${VERSION}"
|
||||
echo -e "\tPROJECT_NAME: ${PROJECT_NAME}"
|
||||
echo -e "\tREPO_NAME: ${REPO_NAME}"
|
||||
echo -e "\tOPENJDK_URL: ${OPENJDK_URL}"
|
||||
echo -e "\tCOMPRESSION: ${COMPRESSION}"
|
||||
echo -e "\tFILE_NAME_ROOT: ${FILE_NAME_ROOT}"
|
||||
echo -e "\tREPO_ROOT: ${REPO_ROOT}"
|
||||
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 "
|
||||
@ -132,6 +143,7 @@ else
|
||||
popd
|
||||
fi
|
||||
pushd "${FILE_NAME_ROOT}"
|
||||
|
||||
# Generate .src-rev so build has knowledge of the revision the tarball was created from
|
||||
mkdir build
|
||||
pushd build
|
||||
@ -164,7 +176,8 @@ pushd "${FILE_NAME_ROOT}"
|
||||
else
|
||||
SWITCH=czf
|
||||
fi
|
||||
tar --exclude-vcs -$SWITCH ${FILE_NAME_ROOT}.tar.${COMPRESSION} $TO_COMPRESS
|
||||
mv ${FILE_NAME_ROOT}.tar.${COMPRESSION} ..
|
||||
TARBALL_NAME=${FILE_NAME_ROOT}.tar.${COMPRESSION}
|
||||
tar --exclude-vcs -$SWITCH ${TARBALL_NAME} $TO_COMPRESS
|
||||
mv ${TARBALL_NAME} ..
|
||||
popd
|
||||
echo "Done. You may want to remove the uncompressed version - $FILE_NAME_ROOT."
|
||||
|
@ -301,9 +301,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
|
||||
@ -311,12 +310,12 @@
|
||||
# New Version-String scheme-style defines
|
||||
%global featurever 21
|
||||
%global interimver 0
|
||||
%global updatever 0
|
||||
%global updatever 1
|
||||
%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 20
|
||||
%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}
|
||||
@ -327,7 +326,7 @@
|
||||
%global lts_designator_zip ""
|
||||
%endif
|
||||
# JDK to use for bootstrapping
|
||||
%global bootjdk /usr/lib/jvm/java-%{featurever}-openjdk
|
||||
%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
|
||||
@ -350,7 +349,7 @@
|
||||
%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{name}&version=%{fedora}
|
||||
%else
|
||||
%if 0%{?rhel}
|
||||
%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%20%{rhel}&component=%{name}
|
||||
%global oj_vendor_bug_url https://access.redhat.com/support/cases/
|
||||
%else
|
||||
%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi
|
||||
%endif
|
||||
@ -375,8 +374,8 @@
|
||||
%global origin_nice OpenJDK
|
||||
%global top_level_dir_name %{vcstag}
|
||||
%global top_level_dir_name_backup %{top_level_dir_name}-backup
|
||||
%global buildver 35
|
||||
%global rpmrelease 2
|
||||
%global buildver 12
|
||||
%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
|
||||
@ -399,7 +398,7 @@
|
||||
%if %{is_ga}
|
||||
%global build_type GA
|
||||
%global ea_designator ""
|
||||
%global ea_designator_zip ""
|
||||
%global ea_designator_zip %{nil}
|
||||
%global extraver %{nil}
|
||||
%global eaprefix %{nil}
|
||||
%else
|
||||
@ -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}
|
||||
|
||||
@ -574,13 +559,12 @@ License: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv
|
||||
URL: http://openjdk.java.net/
|
||||
|
||||
# The source tarball, generated using generate_source_tarball.sh
|
||||
Source0: https://openjdk-sources.osci.io/openjdk%{featurever}/openjdk-jdk%{featurever}u-%{vcstag}.tar.xz
|
||||
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.
|
||||
# Disabled in portables
|
||||
#Source8: tapsets-icedtea-%%{icedteaver}.tar.xz
|
||||
Source8: tapsets-icedtea-%%{icedteaver}.tar.xz
|
||||
|
||||
# Desktop files. Adapted from IcedTea
|
||||
# Disabled in portables
|
||||
@ -715,11 +699,14 @@ BuildRequires: tar
|
||||
BuildRequires: unzip
|
||||
# Not needed for portables
|
||||
# BuildRequires: javapackages-filesystem
|
||||
BuildRequires: java-%{featurever}-openjdk-devel
|
||||
BuildRequires: java-%{buildjdkver}-openjdk-devel
|
||||
# Zero-assembler build requirement
|
||||
%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
|
||||
@ -740,18 +727,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.12.1
|
||||
# Version in src/java.desktop/share/legal/freetype.md
|
||||
Provides: bundled(freetype) = 2.13.0
|
||||
# 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.2.0
|
||||
# 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
|
||||
Provides: bundled(libpng) = 1.6.37
|
||||
Provides: bundled(libpng) = 1.6.39
|
||||
# We link statically against libstdc++ to increase portability
|
||||
BuildRequires: libstdc++-static
|
||||
%endif
|
||||
@ -989,18 +976,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/%{vm_variant}/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
|
||||
@ -1092,8 +1069,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}" \
|
||||
@ -1125,16 +1102,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}
|
||||
@ -1163,7 +1188,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
|
||||
@ -1211,6 +1236,7 @@ function packagejdk() {
|
||||
local bundledir=$(pwd)/${1}/bundles
|
||||
local packagesdir=$(pwd)/${2}
|
||||
local srcdir=$(pwd)/%{top_level_dir_name}
|
||||
local tapsetdir=$(pwd)/tapset
|
||||
local altjavadir=$(pwd)/${3}
|
||||
|
||||
echo "Packaging build from ${imagesdir} to ${packagesdir}..."
|
||||
@ -1239,42 +1265,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 -av ${altjavadir}/%{alt_java_name} ${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
|
||||
%if %{with_systemtap}
|
||||
cp -a ${tapsetdir}* ${miscname}
|
||||
%endif
|
||||
cp -av ${altjavadir}/%{alt_java_name} ${miscname}
|
||||
tar -cJf ${miscarchive} ${miscname}
|
||||
genchecksum ${miscarchive}
|
||||
fi
|
||||
|
||||
tar -cJf ${jdkarchive} --exclude='**.debuginfo' ${jdkname}
|
||||
@ -1351,10 +1374,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} %{altjavaoutputdir}
|
||||
@ -1659,6 +1684,29 @@ done
|
||||
%{_jvmdir}/%{miscportablearchive}.sha256sum
|
||||
|
||||
%changelog
|
||||
* Fri Oct 27 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.1.0.12-1
|
||||
- Update to jdk-21.0.1.0+12 (GA)
|
||||
- Update release notes to 21.0.1.0+12
|
||||
- Update openjdk_news script to specify subdirectory last
|
||||
- Add missing discover_trees script required by openjdk_news
|
||||
- Synchronise bundled versions with 21u sources (FreeType, LCMS, HarfBuzz, libpng)
|
||||
- Sync generate_tarball.sh with 11u & 17u version
|
||||
- Update bug URL for RHEL to point to the Red Hat customer portal
|
||||
- Fix upstream release URL for OpenJDK source
|
||||
- Update buildjdkver to match the featurever
|
||||
|
||||
* Fri Oct 27 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.0.0.35-4
|
||||
- Rebuild jmods using the stripped binaries in release builds
|
||||
- Make sure the unstripped JDK is customised by the installjdk function
|
||||
- Resolves: OPENJDK-3224
|
||||
|
||||
* Thu Oct 26 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.0.0.35-3
|
||||
- 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
|
||||
- Drop unused globals for tapset installation
|
||||
|
||||
* Thu Aug 24 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.0.0.35-2
|
||||
- Update documentation (README.md, add missing JEP to release notes)
|
||||
- Replace alt-java patch with a binary separate from the JDK
|
||||
|
@ -1,3 +1,8 @@
|
||||
# To rebuild this RPM, you must first rebuild the portable
|
||||
# RPM using the java-21-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
|
||||
@ -124,9 +129,9 @@
|
||||
# Set of architectures which support the serviceability agent
|
||||
%global sa_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} %{arm}
|
||||
# Set of architectures which support class data sharing
|
||||
# See https://bugzilla.redhat.com/show_bug.cgi?id=513605
|
||||
# MetaspaceShared::generate_vtable_methods is not implemented for the PPC JIT
|
||||
%global share_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{arm} s390x
|
||||
# As of JDK-8005165 in OpenJDK 10, class sharing is not arch-specific
|
||||
# However, it does segfault on the Zero assembler port, so currently JIT only
|
||||
%global share_arches %{jit_arches}
|
||||
# Set of architectures for which we build the Shenandoah garbage collector
|
||||
%global shenandoah_arches x86_64 %{aarch64}
|
||||
# Set of architectures for which we build the Z garbage collector
|
||||
@ -295,7 +300,7 @@
|
||||
# New Version-String scheme-style defines
|
||||
%global featurever 21
|
||||
%global interimver 0
|
||||
%global updatever 0
|
||||
%global updatever 1
|
||||
%global patchver 0
|
||||
# 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.
|
||||
@ -320,7 +325,7 @@
|
||||
%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{name}&version=%{fedora}
|
||||
%else
|
||||
%if 0%{?rhel}
|
||||
%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%20%{rhel}&component=%{name}
|
||||
%global oj_vendor_bug_url https://access.redhat.com/support/cases/
|
||||
%else
|
||||
%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi
|
||||
%endif
|
||||
@ -345,10 +350,10 @@
|
||||
%global origin_nice OpenJDK
|
||||
%global top_level_dir_name %{vcstag}
|
||||
%global top_level_dir_name_backup %{top_level_dir_name}-backup
|
||||
%global buildver 35
|
||||
%global rpmrelease 2
|
||||
%global buildver 12
|
||||
%global rpmrelease 1
|
||||
# Settings used by the portable build
|
||||
%global portablerelease 2
|
||||
%global portablerelease 1
|
||||
%global portablesuffix el9
|
||||
%global portablebuilddir /builddir/build/BUILD
|
||||
|
||||
@ -373,7 +378,7 @@
|
||||
%if %{is_ga}
|
||||
%global build_type GA
|
||||
%global ea_designator ""
|
||||
%global ea_designator_zip ""
|
||||
%global ea_designator_zip %{nil}
|
||||
%global extraver %{nil}
|
||||
%global eaprefix %{nil}
|
||||
%else
|
||||
@ -434,7 +439,6 @@
|
||||
%define jrebindir() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin}
|
||||
|
||||
%global alt_java_name alt-java
|
||||
%global alt_java_versioned %{alt_java_name}-%{featurever}
|
||||
|
||||
%global rpm_state_dir %{_localstatedir}/lib/rpm-state/
|
||||
|
||||
@ -531,13 +535,16 @@ key=java
|
||||
alternatives \\
|
||||
--install %{_bindir}/java $key %{jrebindir -- %{?1}}/java $PRIORITY --family %{family} \\
|
||||
--slave %{_jvmdir}/jre jre %{_jvmdir}/%{sdkdir -- %{?1}} \\
|
||||
--slave %{_bindir}/%{alt_java_name} %{alt_java_name} %{_bindir}/%{alt_java_versioned} \\
|
||||
--slave %{_bindir}/%{alt_java_name} %{alt_java_name} %{jrebindir -- %{?1}}/%{alt_java_name} \\
|
||||
--slave %{_bindir}/jcmd jcmd %{sdkbindir -- %{?1}}/jcmd \\
|
||||
--slave %{_bindir}/keytool keytool %{jrebindir -- %{?1}}/keytool \\
|
||||
--slave %{_bindir}/rmiregistry rmiregistry %{jrebindir -- %{?1}}/rmiregistry \\
|
||||
--slave %{_mandir}/man1/java.1$ext java.1$ext \\
|
||||
%{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1$ext \\
|
||||
--slave %{_mandir}/man1/%{alt_java_name}.1$ext %{alt_java_name}.1$ext \\
|
||||
%{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1$ext \\
|
||||
--slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \\
|
||||
%{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1$ext \\
|
||||
--slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \\
|
||||
%{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1$ext \\
|
||||
--slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \\
|
||||
@ -557,10 +564,6 @@ alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} $key %{_jvmdir}/%{jre
|
||||
}
|
||||
|
||||
%define post_headless() %{expand:
|
||||
%ifarch %{share_arches}
|
||||
%{jrebindir -- %{?1}}/java -Xshare:dump >/dev/null 2>/dev/null
|
||||
%endif
|
||||
|
||||
update-desktop-database %{_datadir}/applications &> /dev/null || :
|
||||
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
|
||||
|
||||
@ -626,7 +629,6 @@ alternatives \\
|
||||
--slave %{_bindir}/jarsigner jarsigner %{sdkbindir -- %{?1}}/jarsigner \\
|
||||
--slave %{_bindir}/javadoc javadoc %{sdkbindir -- %{?1}}/javadoc \\
|
||||
--slave %{_bindir}/javap javap %{sdkbindir -- %{?1}}/javap \\
|
||||
--slave %{_bindir}/jcmd jcmd %{sdkbindir -- %{?1}}/jcmd \\
|
||||
--slave %{_bindir}/jconsole jconsole %{sdkbindir -- %{?1}}/jconsole \\
|
||||
--slave %{_bindir}/jdb jdb %{sdkbindir -- %{?1}}/jdb \\
|
||||
--slave %{_bindir}/jdeps jdeps %{sdkbindir -- %{?1}}/jdeps \\
|
||||
@ -654,8 +656,6 @@ alternatives \\
|
||||
%{_mandir}/man1/javadoc-%{uniquesuffix -- %{?1}}.1$ext \\
|
||||
--slave %{_mandir}/man1/javap.1$ext javap.1$ext \\
|
||||
%{_mandir}/man1/javap-%{uniquesuffix -- %{?1}}.1$ext \\
|
||||
--slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \\
|
||||
%{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1$ext \\
|
||||
--slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \\
|
||||
%{_mandir}/man1/jconsole-%{uniquesuffix -- %{?1}}.1$ext \\
|
||||
--slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \\
|
||||
@ -810,7 +810,6 @@ exit 0
|
||||
|
||||
%define files_jre_headless() %{expand:
|
||||
%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
|
||||
%{_bindir}/%{alt_java_versioned}
|
||||
%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/NEWS
|
||||
%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/README.md
|
||||
%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/java-%{featurever}-openjdk-portable.specfile
|
||||
@ -821,6 +820,8 @@ exit 0
|
||||
%{_jvmdir}/%{jrelnk -- %{?1}}
|
||||
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/java
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/%{alt_java_name}
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jcmd
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/keytool
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmiregistry
|
||||
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib
|
||||
@ -885,11 +886,15 @@ exit 0
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/profile.jfc
|
||||
%{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{vm_variant}/
|
||||
%ifarch %{share_arches}
|
||||
%attr(444, root, root) %ghost %{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{vm_variant}/classes.jsa
|
||||
%attr(444, root, root) %{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{vm_variant}/classes.jsa
|
||||
%ifnarch %{ix86} %{arm32}
|
||||
%attr(444, root, root) %{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{vm_variant}/classes_nocoops.jsa
|
||||
%endif
|
||||
%endif
|
||||
%dir %{etcjavasubdir}
|
||||
%dir %{etcjavadir -- %{?1}}
|
||||
@ -929,13 +934,11 @@ exit 0
|
||||
%if %is_system_jdk
|
||||
%if %{is_release_build -- %{?1}}
|
||||
%ghost %{_bindir}/java
|
||||
%ghost %{_bindir}/%{alt_java_name}
|
||||
%ghost %{_jvmdir}/jre
|
||||
%ghost %{_bindir}/%{alt_java_name}
|
||||
%ghost %{_bindir}/jcmd
|
||||
%ghost %{_bindir}/keytool
|
||||
%ghost %{_bindir}/pack200
|
||||
%ghost %{_bindir}/rmid
|
||||
%ghost %{_bindir}/rmiregistry
|
||||
%ghost %{_bindir}/unpack200
|
||||
%ghost %{_jvmdir}/jre-%{origin}
|
||||
%ghost %{_jvmdir}/jre-%{javaver}
|
||||
%ghost %{_jvmdir}/jre-%{javaver}-%{origin}
|
||||
@ -955,7 +958,6 @@ exit 0
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javadoc
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javap
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jconsole
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jcmd
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdb
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeps
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeprscan
|
||||
@ -993,7 +995,6 @@ exit 0
|
||||
%{_mandir}/man1/javadoc-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/javap-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/jconsole-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/jdb-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/jdeprscan-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/jdeps-%{uniquesuffix -- %{?1}}.1*
|
||||
@ -1029,20 +1030,22 @@ exit 0
|
||||
%ghost %{_bindir}/jarsigner
|
||||
%ghost %{_bindir}/javadoc
|
||||
%ghost %{_bindir}/javap
|
||||
%ghost %{_bindir}/jcmd
|
||||
%ghost %{_bindir}/jconsole
|
||||
%ghost %{_bindir}/jdb
|
||||
%ghost %{_bindir}/jdeps
|
||||
%ghost %{_bindir}/jdeprscan
|
||||
%ghost %{_bindir}/jfr
|
||||
%ghost %{_bindir}/jimage
|
||||
%ghost %{_bindir}/jinfo
|
||||
%ghost %{_bindir}/jmap
|
||||
%ghost %{_bindir}/jps
|
||||
%ghost %{_bindir}/jpackage
|
||||
%ghost %{_bindir}/jrunscript
|
||||
%ghost %{_bindir}/jshell
|
||||
%ghost %{_bindir}/jstack
|
||||
%ghost %{_bindir}/jstat
|
||||
%ghost %{_bindir}/jstatd
|
||||
%ghost %{_bindir}/jwebserver
|
||||
%ghost %{_bindir}/serialver
|
||||
%ghost %{_jvmdir}/java-%{origin}
|
||||
%ghost %{_jvmdir}/java-%{javaver}
|
||||
@ -1137,8 +1140,8 @@ 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
|
||||
# 2022g required as of JDK-8297804
|
||||
Requires: tzdata-java >= 2022g
|
||||
# 2023c required as of JDK-8305113
|
||||
Requires: tzdata-java >= 2023c
|
||||
# for support of kernel stream control
|
||||
# libsctp.so.1 is being `dlopen`ed on demand
|
||||
Requires: lksctp-tools%{?_isa}
|
||||
@ -1263,6 +1266,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
|
||||
@ -1298,7 +1303,7 @@ License: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv
|
||||
URL: http://openjdk.java.net/
|
||||
|
||||
# The source tarball, generated using generate_source_tarball.sh
|
||||
Source0: https://openjdk-sources.osci.io/openjdk%{featurever}/openjdk-jdk%{featurever}u-%{vcstag}.tar.xz
|
||||
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).
|
||||
@ -1334,14 +1339,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
|
||||
|
||||
############################################
|
||||
#
|
||||
@ -1443,19 +1448,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
|
||||
@ -1478,18 +1483,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.12.1
|
||||
# Version in src/java.desktop/share/legal/freetype.md
|
||||
Provides: bundled(freetype) = 2.13.0
|
||||
# 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.2.0
|
||||
# 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
|
||||
Provides: bundled(libpng) = 1.6.37
|
||||
Provides: bundled(libpng) = 1.6.39
|
||||
%endif
|
||||
|
||||
# this is always built, also during debug-only build
|
||||
@ -1877,35 +1882,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/%{vm_variant}/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 +1915,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 +1943,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/%{vm_variant}/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 +1978,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
|
||||
@ -2021,7 +2014,7 @@ if ! nm $JAVA_HOME/bin/java | grep set_speculation ; then true ; else false; fi
|
||||
|
||||
# Check alt-java launcher has SSB mitigation on supported architectures
|
||||
# set_speculation function exists in both cases, so check for prctl call
|
||||
alt_java_binary=${RPM_BUILD_ROOT}%{_bindir}/%{alt_java_versioned}
|
||||
alt_java_binary=$RPM_BUILD_ROOT%{jrebindir -- $suffix}/%{alt_java_name}
|
||||
%ifarch %{ssbd_arches}
|
||||
nm ${alt_java_binary} | grep prctl
|
||||
%else
|
||||
@ -2136,11 +2129,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"}
|
||||
|
||||
# Install %{alt_java_name} binary versioned
|
||||
install -D -p -m 755 ${miscdir}/%{alt_java_name} \
|
||||
$RPM_BUILD_ROOT%{_bindir}/%{alt_java_versioned}
|
||||
miscdir=$(pwd)/%{installoutputdir -- "-misc"}
|
||||
|
||||
# Install release notes and rebuild instructions
|
||||
commondocdir=${RPM_BUILD_ROOT}%{_defaultdocdir}/%{uniquejavadocdir -- $suffix}
|
||||
@ -2151,14 +2140,13 @@ cp -a %{SOURCE19} %{SOURCE20} ${commondocdir}
|
||||
# Install the jdk
|
||||
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
|
||||
cp -a ${jdk_image} $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}
|
||||
|
||||
pushd ${jdk_image}
|
||||
# Install %{alt_java_name} binary
|
||||
install -D -p -m 755 ${miscdir}/%{alt_java_name} $RPM_BUILD_ROOT%{jrebindir -- $suffix}
|
||||
|
||||
%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
|
||||
@ -2183,6 +2171,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
|
||||
@ -2193,8 +2182,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
|
||||
@ -2490,6 +2478,36 @@ cjc.mainProgram(args)
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Oct 27 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.1.0.12-1
|
||||
- Update to jdk-21.0.1.0+12 (GA)
|
||||
- Update release notes to 21.0.1.0+12
|
||||
- Sync the copy of the portable specfile with the latest update
|
||||
- Update openjdk_news script to specify subdirectory last
|
||||
- Add missing discover_trees script required by openjdk_news
|
||||
- Synchronise bundled versions with 21u sources (FreeType, LCMS, HarfBuzz, libpng)
|
||||
- Sync generate_tarball.sh with 11u & 17u version
|
||||
- Update bug URL for RHEL to point to the Red Hat customer portal
|
||||
- Fix upstream release URL for OpenJDK source
|
||||
- Following JDK-8005165, class data sharing can be enabled on all JIT architectures
|
||||
- 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
|
||||
- Synchronise runtime and buildtime tzdata requirements
|
||||
- Remove ghosts for binaries not in java-21-openjdk (pack200, rmid, unpack200)
|
||||
- Add missing jfr, jpackage and jwebserver alternative ghosts
|
||||
- Move jcmd to the headless package
|
||||
- Revert alt-java binary location to being within the JDK tree
|
||||
- Related: RHEL-45217
|
||||
|
||||
* Fri Oct 27 2023 Jiri Vanek <jvanek@redhat.com> - 1:21.0.1.0.12-1
|
||||
- Exclude classes_nocoops.jsa on i686 and arm32
|
||||
- Related: RHEL-45217
|
||||
|
||||
* Fri Oct 27 2023 Severin Gehwolf <sgehwolf@redhat.com> - 1:21.0.1.0.12-1
|
||||
- Fix packaging of CDS archives
|
||||
- Resolves: RHEL-45217
|
||||
|
||||
* Thu Aug 24 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.0.0.35-2
|
||||
- Update documentation (README.md)
|
||||
- Replace alt-java patch with a binary separate from the JDK
|
||||
|
@ -18,8 +18,8 @@
|
||||
|
||||
OLD_RELEASE=$1
|
||||
NEW_RELEASE=$2
|
||||
SUBDIR=$3
|
||||
REPO=$4
|
||||
REPO=$3
|
||||
SUBDIR=$4
|
||||
SCRIPT_DIR=$(dirname ${0})
|
||||
|
||||
if test "x${SUBDIR}" = "x"; then
|
||||
|
2
sources
2
sources
@ -1,2 +1,2 @@
|
||||
SHA512 (tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz) = 97d026212363b3c83f6a04100ad7f6fdde833d16579717f8756e2b8c2eb70e144a41a330cb9ccde9c3badd37a2d54fdf4650a950ec21d8b686d545ecb2a64d30
|
||||
SHA512 (openjdk-jdk21u-jdk-21+35.tar.xz) = 311e954cc8d28a336b85efc05baade8945fe5292ae2d91cc7ff71c6b3a1830b1a4b9fc641f87e68a4b3db175eb5c21a18664457715da9b37720c5d4b3eb67195
|
||||
SHA512 (openjdk-21.0.1+12.tar.xz) = fe722867334c1aed1f4cd9825fe6dc747b33e0e41c9986cacba46b1ee6d3f059bac87c62e299ea5ef5ef64b3c404c43a572b487bb66f024c6cc997176ee0a910
|
||||
|
Loading…
Reference in New Issue
Block a user