import java-11-openjdk-11.0.10.0.9-8.el8

This commit is contained in:
CentOS Sources 2021-05-18 02:43:35 -04:00 committed by Andrew Lukoshko
parent 998700bc9c
commit f9e0e6d6c8
4 changed files with 211 additions and 78 deletions

2
.gitignore vendored
View File

@ -1,2 +1,2 @@
SOURCES/jdk-updates-jdk11u-jdk-11.0.10+9-4curve.tar.xz SOURCES/jdk-updates-jdk11u-jdk-11.0.10+9-4curve.tar.xz
SOURCES/tapsets-icedtea-3.15.0.tar.xz SOURCES/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz

View File

@ -1,2 +1,2 @@
8fb81cb2ae37ec04bfc0e3651257a9f9756786a6 SOURCES/jdk-updates-jdk11u-jdk-11.0.10+9-4curve.tar.xz 8fb81cb2ae37ec04bfc0e3651257a9f9756786a6 SOURCES/jdk-updates-jdk11u-jdk-11.0.10+9-4curve.tar.xz
7ae2cba67467825b2c2a5fec7aea041865023002 SOURCES/tapsets-icedtea-3.15.0.tar.xz c8281ee37b77d535c9c1af86609a531958ff7b34 SOURCES/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz

View File

@ -1,24 +1,52 @@
#!/bin/sh #!/bin/sh
# Arguments: <JDK TREE> <MINIMAL|FULL>
TREE=${1}
TYPE=${2}
ZIP_SRC=src/java.base/share/native/libzip/zlib/ ZIP_SRC=src/java.base/share/native/libzip/zlib/
JPEG_SRC=src/java.desktop/share/native/libjavajpeg/ JPEG_SRC=src/java.desktop/share/native/libjavajpeg/
GIF_SRC=src/java.desktop/share/native/libsplashscreen/giflib/ GIF_SRC=src/java.desktop/share/native/libsplashscreen/giflib/
PNG_SRC=src/java.desktop/share/native/libsplashscreen/libpng/ PNG_SRC=src/java.desktop/share/native/libsplashscreen/libpng/
LCMS_SRC=src/java.desktop/share/native/liblcms/ LCMS_SRC=src/java.desktop/share/native/liblcms/
cd openjdk if test "x${TREE}" = "x"; then
echo "$0 <JDK_TREE> (MINIMAL|FULL)";
exit 1;
fi
if test "x${TYPE}" = "x"; then
TYPE=minimal;
fi
if test "x${TYPE}" != "xminimal" -a "x${TYPE}" != "xfull"; then
echo "Type must be minimal or full";
exit 2;
fi
echo "Removing in-tree libraries from ${TREE}"
echo "Cleansing operation: ${TYPE}";
cd ${TREE}
echo "Removing built-in libs (they will be linked)" echo "Removing built-in libs (they will be linked)"
# On full runs, allow for zlib having already been deleted by minimal
echo "Removing zlib" echo "Removing zlib"
if [ ! -d ${ZIP_SRC} ]; then if [ "x${TYPE}" = "xminimal" -a ! -d ${ZIP_SRC} ]; then
echo "${ZIP_SRC} does not exist. Refusing to proceed." echo "${ZIP_SRC} does not exist. Refusing to proceed."
exit 1 exit 1
fi fi
rm -rvf ${ZIP_SRC} rm -rvf ${ZIP_SRC}
# Minimal is limited to just zlib so finish here
if test "x${TYPE}" = "xminimal"; then
echo "Finished.";
exit 0;
fi
echo "Removing libjpeg" echo "Removing libjpeg"
if [ ! -f ${JPEG_SRC}/jdhuff.c ]; then # some file that sound definitely exist if [ ! -f ${JPEG_SRC}/jdhuff.c ]; then # some file that should definitely exist
echo "${JPEG_SRC} does not contain jpeg sources. Refusing to proceed." echo "${JPEG_SRC} does not contain jpeg sources. Refusing to proceed."
exit 1 exit 1
fi fi

View File

@ -19,9 +19,16 @@
%bcond_without slowdebug %bcond_without slowdebug
# Enable release builds by default on relevant arches. # Enable release builds by default on relevant arches.
%bcond_without release %bcond_without release
# Enable static library builds by default.
%bcond_without staticlibs
# Workaround for stripping of debug symbols from static libraries # Workaround for stripping of debug symbols from static libraries
%if %{with staticlibs}
%define __brp_strip_static_archive %{nil} %define __brp_strip_static_archive %{nil}
%global include_staticlibs 1
%else
%global include_staticlibs 0
%endif
# The -g flag says to use strip -g instead of full strip on DSOs or EXEs. # The -g flag says to use strip -g instead of full strip on DSOs or EXEs.
# This fixes detailed NMT and other tools which need minimal debug info. # This fixes detailed NMT and other tools which need minimal debug info.
@ -35,10 +42,14 @@
# (initiated in https://bugzilla.redhat.com/show_bug.cgi?id=1482192) # (initiated in https://bugzilla.redhat.com/show_bug.cgi?id=1482192)
%global debug_suffix_unquoted -slowdebug %global debug_suffix_unquoted -slowdebug
%global fastdebug_suffix_unquoted -fastdebug %global fastdebug_suffix_unquoted -fastdebug
%global main_suffix_unquoted -main
%global staticlibs_suffix_unquoted -staticlibs
# quoted one for shell operations # quoted one for shell operations
%global debug_suffix "%{debug_suffix_unquoted}" %global debug_suffix "%{debug_suffix_unquoted}"
%global fastdebug_suffix "%{fastdebug_suffix_unquoted}" %global fastdebug_suffix "%{fastdebug_suffix_unquoted}"
%global normal_suffix "" %global normal_suffix ""
%global main_suffix "%{main_suffix_unquoted}"
%global staticlibs_suffix "%{staticlibs_suffix_unquoted}"
%global debug_warning This package is unoptimised with full debugging. Install only as needed and remove ASAP. %global debug_warning This package is unoptimised with full debugging. Install only as needed and remove ASAP.
%global fastdebug_warning This package is optimised with full debugging. Install only as needed and remove ASAP. %global fastdebug_warning This package is optimised with full debugging. Install only as needed and remove ASAP.
@ -165,6 +176,12 @@
# Test slowdebug first as it provides the best diagnostics # Test slowdebug first as it provides the best diagnostics
%global rev_build_loop %{slowdebug_build} %{fastdebug_build} %{normal_build} %global rev_build_loop %{slowdebug_build} %{fastdebug_build} %{normal_build}
%if %{include_staticlibs}
%global staticlibs_loop %{staticlibs_suffix}
%else
%global staticlibs_loop %{nil}
%endif
%ifarch %{bootstrap_arches} %ifarch %{bootstrap_arches}
%global bootstrap_build 1 %global bootstrap_build 1
%else %else
@ -172,12 +189,20 @@
%endif %endif
%if %{bootstrap_build} %if %{bootstrap_build}
%global release_targets bootcycle-images static-libs-image docs-zip %global release_targets bootcycle-images docs-zip
%else %else
%global release_targets images docs-zip static-libs-image %global release_targets images docs-zip
%endif %endif
# No docs nor bootcycle for debug builds # No docs nor bootcycle for debug builds
%global debug_targets images static-libs-image %global debug_targets images
%if %{include_staticlibs}
# Extra target for producing the static-libraries. Separate from
# other targets since this target is configured to use in-tree
# AWT dependencies: lcms, libjpeg, libpng, libharfbuzz, giflib
# and possibly others
%global static_libs_target static-libs-image
%endif
# Filter out flags from the optflags macro that cause problems with the OpenJDK build # Filter out flags from the optflags macro that cause problems with the OpenJDK build
@ -304,14 +329,15 @@
%endif %endif
# Define IcedTea version used for SystemTap tapsets and desktop file # Define IcedTea version used for SystemTap tapsets and desktop file
%global icedteaver 3.15.0 %global icedteaver 6.0.0pre00-c848b93a8598
# Standard JPackage naming and versioning defines # Standard JPackage naming and versioning defines
%global origin openjdk %global origin openjdk
%global origin_nice OpenJDK %global origin_nice OpenJDK
%global top_level_dir_name %{origin} %global top_level_dir_name %{origin}
%global top_level_dir_name_backup %{top_level_dir_name}-backup
%global buildver 9 %global buildver 9
%global rpmrelease 4 %global rpmrelease 8
#%%global tagsuffix %%{nil} #%%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 # 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 %if %is_system_jdk
@ -360,7 +386,7 @@
%global jdkimage jdk %global jdkimage jdk
%global static_libs_image static-libs %global static_libs_image static-libs
# output dir stub # output dir stub
%define buildoutputdir() %{expand:openjdk/build%{?1}} %define buildoutputdir() %{expand:build/jdk11.build%{?1}}
# we can copy the javadoc to not arched dir, or make it not noarch # we can copy the javadoc to not arched dir, or make it not noarch
%define uniquejavadocdir() %{expand:%{fullversion}.%{_arch}%{?1}} %define uniquejavadocdir() %{expand:%{fullversion}.%{_arch}%{?1}}
# main id and dir of this jdk # main id and dir of this jdk
@ -400,6 +426,14 @@
%global rpm_state_dir %{_localstatedir}/lib/rpm-state/ %global rpm_state_dir %{_localstatedir}/lib/rpm-state/
# For flatpack builds hard-code /usr/sbin/alternatives,
# otherwise use %%{_sbindir} relative path.
%if 0%{?flatpak}
%global alternatives_requires /usr/sbin/alternatives
%else
%global alternatives_requires %{_sbindir}/alternatives
%endif
%if %{with_systemtap} %if %{with_systemtap}
# Where to install systemtap tapset (links) # Where to install systemtap tapset (links)
# We would like these to be in a package specific sub-dir, # We would like these to be in a package specific sub-dir,
@ -986,11 +1020,11 @@ Requires: cups-libs
# for FIPS PKCS11 provider # for FIPS PKCS11 provider
Requires: nss Requires: nss
# Post requires alternatives to install tool alternatives # Post requires alternatives to install tool alternatives
Requires(post): %{_sbindir}/alternatives Requires(post): %{alternatives_requires}
# in version 1.7 and higher for --family switch # in version 1.7 and higher for --family switch
Requires(post): chkconfig >= 1.7 Requires(post): chkconfig >= 1.7
# Postun requires alternatives to uninstall tool alternatives # Postun requires alternatives to uninstall tool alternatives
Requires(postun): %{_sbindir}/alternatives Requires(postun): %{alternatives_requires}
# in version 1.7 and higher for --family switch # in version 1.7 and higher for --family switch
Requires(postun): chkconfig >= 1.7 Requires(postun): chkconfig >= 1.7
# for optional support of kernel stream control, card reader and printing bindings # for optional support of kernel stream control, card reader and printing bindings
@ -1016,11 +1050,11 @@ Provides: java-headless%{?1} = %{epoch}:%{version}-%{release}
Requires: %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release} Requires: %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release} OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
# Post requires alternatives to install tool alternatives # Post requires alternatives to install tool alternatives
Requires(post): %{_sbindir}/alternatives Requires(post): %{alternatives_requires}
# in version 1.7 and higher for --family switch # in version 1.7 and higher for --family switch
Requires(post): chkconfig >= 1.7 Requires(post): chkconfig >= 1.7
# Postun requires alternatives to uninstall tool alternatives # Postun requires alternatives to uninstall tool alternatives
Requires(postun): %{_sbindir}/alternatives Requires(postun): %{alternatives_requires}
# in version 1.7 and higher for --family switch # in version 1.7 and higher for --family switch
Requires(postun): chkconfig >= 1.7 Requires(postun): chkconfig >= 1.7
@ -1069,11 +1103,11 @@ Provides: java-demo%{?1} = %{epoch}:%{version}-%{release}
%define java_javadoc_rpo() %{expand: %define java_javadoc_rpo() %{expand:
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release} OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
# Post requires alternatives to install javadoc alternative # Post requires alternatives to install javadoc alternative
Requires(post): %{_sbindir}/alternatives Requires(post): %{alternatives_requires}
# in version 1.7 and higher for --family switch # in version 1.7 and higher for --family switch
Requires(post): chkconfig >= 1.7 Requires(post): chkconfig >= 1.7
# Postun requires alternatives to uninstall javadoc alternative # Postun requires alternatives to uninstall javadoc alternative
Requires(postun): %{_sbindir}/alternatives Requires(postun): %{alternatives_requires}
# in version 1.7 and higher for --family switch # in version 1.7 and higher for --family switch
Requires(postun): chkconfig >= 1.7 Requires(postun): chkconfig >= 1.7
@ -1139,7 +1173,7 @@ URL: http://openjdk.java.net/
Source0: jdk-updates-jdk%{featurever}u-jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}-4curve.tar.xz Source0: jdk-updates-jdk%{featurever}u-jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}-4curve.tar.xz
# Use 'icedtea_sync.sh' to update the following # Use 'icedtea_sync.sh' to update the following
# They are based on code contained in the IcedTea project (3.x). # They are based on code contained in the IcedTea project (6.x).
# Systemtap tapsets. Zipped up to keep it small. # Systemtap tapsets. Zipped up to keep it small.
Source8: tapsets-icedtea-%{icedteaver}.tar.xz Source8: tapsets-icedtea-%{icedteaver}.tar.xz
@ -1179,7 +1213,7 @@ Patch1: rh1648242-accessible_toolkit_crash_do_not_break_jvm.patch
Patch2: rh1648644-java_access_bridge_privileged_security.patch Patch2: rh1648644-java_access_bridge_privileged_security.patch
# NSS via SunPKCS11 Provider (disabled due to memory leak). # NSS via SunPKCS11 Provider (disabled due to memory leak).
Patch1000: rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch Patch1000: rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch
# RH1750419: Enable build of speculative store bypass hardened alt-java (CVE-2018-3639) # enable build of speculative store bypass hardened alt-java
Patch600: rh1750419-redhat_alt_java.patch Patch600: rh1750419-redhat_alt_java.patch
# RH1582504: Use RSA as default for keytool, as DSA is disabled in all crypto policies except LEGACY # RH1582504: Use RSA as default for keytool, as DSA is disabled in all crypto policies except LEGACY
Patch1003: rh1842572-rsa_default_for_keytool.patch Patch1003: rh1842572-rsa_default_for_keytool.patch
@ -1378,6 +1412,8 @@ The %{origin_nice} %{featurever} development tools.
%{fastdebug_warning} %{fastdebug_warning}
%endif %endif
%if %{include_staticlibs}
%if %{include_normal_build} %if %{include_normal_build}
%package static-libs %package static-libs
Summary: %{origin_nice} %{featurever} libraries for static linking Summary: %{origin_nice} %{featurever} libraries for static linking
@ -1410,6 +1446,9 @@ The %{origin_nice} %{featurever} libraries for static linking.
%{fastdebug_warning} %{fastdebug_warning}
%endif %endif
# staticlibs
%endif
%if %{include_normal_build} %if %{include_normal_build}
%package jmods %package jmods
Summary: JMods for %{origin_nice} %{featurever} Summary: JMods for %{origin_nice} %{featurever}
@ -1584,9 +1623,10 @@ if [ $prioritylength -ne 8 ] ; then
fi fi
# OpenJDK patches # OpenJDK patches
# Remove libraries that are linked by both static and dynamic builds
sh %{SOURCE12} %{top_level_dir_name}
# Remove libraries that are linked # Patch the JDK
sh %{SOURCE12}
pushd %{top_level_dir_name} pushd %{top_level_dir_name}
%patch1 -p1 %patch1 -p1
%patch2 -p1 %patch2 -p1
@ -1621,11 +1661,12 @@ for suffix in %{build_loop} ; do
for file in "tapset"$suffix/*.in; do for file in "tapset"$suffix/*.in; do
OUTPUT_FILE=`echo $file | sed -e "s:\.stp\.in$:-%{version}-%{release}.%{_arch}.stp:g"` 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:@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 # TODO find out which architectures other than i686 have a client vm
%ifarch %{ix86} %ifarch %{ix86}
sed -e "s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/client/libjvm.so:g" $file.1 > $OUTPUT_FILE sed -e "s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/client/libjvm.so:g" $file.2 > $OUTPUT_FILE
%else %else
sed -e "/@ABS_CLIENT_LIBJVM_SO@/d" $file.1 > $OUTPUT_FILE sed -e "/@ABS_CLIENT_LIBJVM_SO@/d" $file.2 > $OUTPUT_FILE
%endif %endif
sed -i -e "s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir -- $suffix}:g" $OUTPUT_FILE 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:@INSTALL_ARCH_DIR@:%{archinstall}:g" $OUTPUT_FILE
@ -1696,13 +1737,34 @@ else
debugbuild=`echo $suffix | sed "s/-//g"` debugbuild=`echo $suffix | sed "s/-//g"`
fi fi
# Variable used in hs_err hook on build failures for loop in %{main_suffix} %{staticlibs_loop} ; do
top_dir_abs_path=$(pwd)/%{top_level_dir_name}
mkdir -p %{buildoutputdir -- $suffix} if test "x${loop}" = "x%{main_suffix}" ; then
pushd %{buildoutputdir -- $suffix} # Copy the source tree so we can remove all in-tree libraries
cp -a %{top_level_dir_name} %{top_level_dir_name_backup}
# Remove all libraries that are linked
sh %{SOURCE12} %{top_level_dir_name} full
# Variable used by configure and hs_err hook on build failures
link_opt="system"
# Debug builds don't need same targets as release for
# build speed-up
maketargets="%{release_targets}"
if echo $debugbuild | grep -q "debug" ; then
maketargets="%{debug_targets}"
fi
else
# Variable used by configure and hs_err hook on build failures
link_opt="bundled"
# Static library cycle only builds the static libraries
maketargets="%{static_libs_target}"
fi
bash ../configure \ top_dir_abs_src_path=$(pwd)/%{top_level_dir_name}
top_dir_abs_build_path=$(pwd)/%{buildoutputdir -- ${suffix}${loop}}
mkdir -p ${top_dir_abs_build_path}
pushd ${top_dir_abs_build_path}
bash ${top_dir_abs_src_path}/configure \
%ifnarch %{jit_arches} %ifnarch %{jit_arches}
--with-jvm-variants=zero \ --with-jvm-variants=zero \
%endif %endif
@ -1722,11 +1784,11 @@ bash ../configure \
--with-native-debug-symbols=internal \ --with-native-debug-symbols=internal \
--enable-unlimited-crypto \ --enable-unlimited-crypto \
--with-zlib=system \ --with-zlib=system \
--with-libjpeg=system \ --with-libjpeg=${link_opt} \
--with-giflib=system \ --with-giflib=${link_opt} \
--with-libpng=system \ --with-libpng=${link_opt} \
--with-lcms=system \ --with-lcms=${link_opt} \
--with-harfbuzz=system \ --with-harfbuzz=${link_opt} \
--with-stdc++lib=dynamic \ --with-stdc++lib=dynamic \
--with-extra-cxxflags="$EXTRA_CPP_FLAGS" \ --with-extra-cxxflags="$EXTRA_CPP_FLAGS" \
--with-extra-cflags="$EXTRA_CFLAGS" \ --with-extra-cflags="$EXTRA_CFLAGS" \
@ -1737,33 +1799,37 @@ bash ../configure \
--with-jvm-features="%{shenandoah_feature},%{zgc_feature}" \ --with-jvm-features="%{shenandoah_feature},%{zgc_feature}" \
--disable-warnings-as-errors --disable-warnings-as-errors
# Debug builds don't need same targets as release for
# build speed-up
maketargets="%{release_targets}"
if echo $debugbuild | grep -q "debug" ; then
maketargets="%{debug_targets}"
fi
make \ make \
JAVAC_FLAGS=-g \ JAVAC_FLAGS=-g \
LOG=trace \ LOG=trace \
WARNINGS_ARE_ERRORS="-Wno-error" \ WARNINGS_ARE_ERRORS="-Wno-error" \
CFLAGS_WARNINGS_ARE_ERRORS="-Wno-error" \ CFLAGS_WARNINGS_ARE_ERRORS="-Wno-error" \
$maketargets || ( pwd; find $top_dir_abs_path -name "hs_err_pid*.log" | xargs cat && false ) $maketargets || ( pwd; find ${top_dir_abs_src_path} ${top_dir_abs_build_path} -name "hs_err_pid*.log" | xargs cat && false )
popd >& /dev/null
# Restore original source tree if we modified it by removing full in-tree sources
if [ -d %{top_level_dir_name_backup} ] ; then
rm -rf %{top_level_dir_name}
mv %{top_level_dir_name_backup} %{top_level_dir_name}
fi
done # end of main / staticlibs loop
top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
# the build (erroneously) removes read permissions from some jars # the build (erroneously) removes read permissions from some jars
# this is a regression in OpenJDK 7 (our compiler): # this is a regression in OpenJDK 7 (our compiler):
# http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437 # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
find images/%{jdkimage} -iname '*.jar' -exec chmod ugo+r {} \; find ${top_dir_abs_main_build_path}/images/%{jdkimage} -iname '*.jar' -exec chmod ugo+r {} \;
# Build screws up permissions on binaries # Build screws up permissions on binaries
# https://bugs.openjdk.java.net/browse/JDK-8173610 # https://bugs.openjdk.java.net/browse/JDK-8173610
find images/%{jdkimage} -iname '*.so' -exec chmod +x {} \; find ${top_dir_abs_main_build_path}/images/%{jdkimage} -iname '*.so' -exec chmod +x {} \;
find images/%{jdkimage}/bin/ -exec chmod +x {} \; find ${top_dir_abs_main_build_path}/images/%{jdkimage}/bin/ -exec chmod +x {} \;
popd >& /dev/null
# Install nss.cfg right away as we will be using the JRE above # Install nss.cfg right away as we will be using the JRE above
export JAVA_HOME=$(pwd)/%{buildoutputdir -- $suffix}/images/%{jdkimage} export JAVA_HOME=${top_dir_abs_main_build_path}/images/%{jdkimage}
# Install nss.cfg right away as we will be using the JRE above # Install nss.cfg right away as we will be using the JRE above
install -m 644 nss.cfg $JAVA_HOME/conf/security/ install -m 644 nss.cfg $JAVA_HOME/conf/security/
@ -1783,14 +1849,19 @@ cat man/man1/java.1 >> man/man1/%{alt_java_name}.1
popd popd
# build cycles # build cycles
done done # end of release / debug cycle loop
%check %check
# We test debug first as it will give better diagnostics on a crash # We test debug first as it will give better diagnostics on a crash
for suffix in %{rev_build_loop} ; do for suffix in %{rev_build_loop} ; do
export JAVA_HOME=$(pwd)/%{buildoutputdir -- $suffix}/images/%{jdkimage} top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
%if %{include_staticlibs}
top_dir_abs_staticlibs_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{staticlibs_loop}}
%endif
export JAVA_HOME=${top_dir_abs_main_build_path}/images/%{jdkimage}
#check Shenandoah is enabled #check Shenandoah is enabled
%if %{use_shenandoah_hotspot} %if %{use_shenandoah_hotspot}
@ -1819,10 +1890,12 @@ nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation
if ! nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation ; then true ; else false; fi if ! nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation ; then true ; else false; fi
%endif %endif
%if %{include_staticlibs}
# Check debug symbols in static libraries (smoke test) # Check debug symbols in static libraries (smoke test)
export STATIC_LIBS_HOME=$(pwd)/%{buildoutputdir -- $suffix}/images/%{static_libs_image} export STATIC_LIBS_HOME=${top_dir_abs_staticlibs_build_path}/images/%{static_libs_image}
readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep w_remainder.c readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep w_remainder.c
readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep e_remainder.c readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep e_remainder.c
%endif
# Check debug symbols are present and can identify code # Check debug symbols are present and can identify code
find "$JAVA_HOME" -iname '*.so' -print0 | while read -d $'\0' lib find "$JAVA_HOME" -iname '*.so' -print0 | while read -d $'\0' lib
@ -1908,12 +1981,17 @@ STRIP_KEEP_SYMTAB=libjvm*
for suffix in %{build_loop} ; do for suffix in %{build_loop} ; do
top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
%if %{include_staticlibs}
top_dir_abs_staticlibs_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{staticlibs_loop}}
%endif
jdk_image=${top_dir_abs_main_build_path}/images/%{jdkimage}
# Install the jdk # Install the jdk
mkdir -p $RPM_BUILD_ROOT%{_jvmdir} mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
cp -a %{buildoutputdir -- $suffix}/images/%{jdkimage} \ cp -a ${jdk_image} $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}
$RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}
pushd %{buildoutputdir $suffix}/images/%{jdkimage} pushd ${jdk_image}
%if %{with_systemtap} %if %{with_systemtap}
# Install systemtap support files # Install systemtap support files
@ -1957,18 +2035,19 @@ pushd %{buildoutputdir $suffix}/images/%{jdkimage}
popd popd
# Install static libs artefacts # Install static libs artefacts
%if %{include_staticlibs}
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/static/linux-%{archinstall}/glibc mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/static/linux-%{archinstall}/glibc
cp -a %{buildoutputdir -- $suffix}/images/%{static_libs_image}/lib/*.a \ cp -a ${top_dir_abs_staticlibs_build_path}/images/%{static_libs_image}/lib/*.a \
$RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/static/linux-%{archinstall}/glibc $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/static/linux-%{archinstall}/glibc
%endif
if ! echo $suffix | grep -q "debug" ; then if ! echo $suffix | grep -q "debug" ; then
# Install Javadoc documentation # Install Javadoc documentation
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir} install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
cp -a %{buildoutputdir $suffix}/images/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir $suffix} cp -a ${top_dir_abs_main_build_path}/images/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}
built_doc_archive=jdk-%{filever}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip built_doc_archive=jdk-%{filever}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip
cp -a %{buildoutputdir -- $suffix}/bundles/${built_doc_archive} \ cp -a ${top_dir_abs_main_build_path}/bundles/${built_doc_archive} \
$RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip || ls -l %{buildoutputdir -- $suffix}/bundles/ $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip || ls -l ${top_dir_abs_main_build_path}/bundles/
fi fi
# Install release notes # Install release notes
@ -2194,8 +2273,10 @@ end
%files devel %files devel
%{files_devel %{nil}} %{files_devel %{nil}}
%if %{include_staticlibs}
%files static-libs %files static-libs
%{files_static_libs %{nil}} %{files_static_libs %{nil}}
%endif
%files jmods %files jmods
%{files_jmods %{nil}} %{files_jmods %{nil}}
@ -2226,8 +2307,10 @@ end
%files devel-slowdebug %files devel-slowdebug
%{files_devel -- %{debug_suffix_unquoted}} %{files_devel -- %{debug_suffix_unquoted}}
%if %{include_staticlibs}
%files static-libs-slowdebug %files static-libs-slowdebug
%{files_static_libs -- %{debug_suffix_unquoted}} %{files_static_libs -- %{debug_suffix_unquoted}}
%endif
%files jmods-slowdebug %files jmods-slowdebug
%{files_jmods -- %{debug_suffix_unquoted}} %{files_jmods -- %{debug_suffix_unquoted}}
@ -2250,8 +2333,10 @@ end
%files devel-fastdebug %files devel-fastdebug
%{files_devel -- %{fastdebug_suffix_unquoted}} %{files_devel -- %{fastdebug_suffix_unquoted}}
%if %{include_staticlibs}
%files static-libs-fastdebug %files static-libs-fastdebug
%{files_static_libs -- %{fastdebug_suffix_unquoted}} %{files_static_libs -- %{fastdebug_suffix_unquoted}}
%endif
%files jmods-fastdebug %files jmods-fastdebug
%{files_jmods -- %{fastdebug_suffix_unquoted}} %{files_jmods -- %{fastdebug_suffix_unquoted}}
@ -2265,43 +2350,57 @@ end
%endif %endif
%changelog %changelog
* Mon Jan 18 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.9-4 * Mon Feb 22 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.9-8
- Perform static library build on a separate source tree with bundled image libraries
- Make static library build optional
- Based on initial work by Severin Gehwolf
- Resolves: rhbz#1930513
* Mon Feb 22 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.9-7
- Update tapsets from IcedTea 6.x repository with fix for JDK-8015774 changes (_heap->_heaps)
- Update icedtea_sync.sh with a VCS mode that retrieves sources from a Mercurial repository
- Resolves: rhbz#1814915
* Mon Feb 22 2021 Stephan Bergmann <sbergman@redhat.com> - 1:11.0.10.0.9-6
- Hardcode /usr/sbin/alternatives for Flatpak builds
- Resolves: rhbz#1930370
* Mon Jan 18 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.9-5
- Fix accidental use of $ instead of % for variable reference. - Fix accidental use of $ instead of % for variable reference.
- Resolves: rhbz#1908972 - Resolves: rhbz#1908972
* Mon Jan 18 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.9-3 * Mon Jan 18 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.9-4
- Move setup of JavaSecuritySystemConfiguratorAccess to Security class so it always occurs. - Move setup of JavaSecuritySystemConfiguratorAccess to Security class so it always occurs.
- Resolves: rhbz#1915071 - Resolves: rhbz#1915071
* Sun Jan 17 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.9-2 * Sun Jan 17 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.9-3
- Fix debug and fastdebug descriptions to emphasise the difference is optimisation or no optimisation. - Fix debug and fastdebug descriptions to emphasise the difference is optimisation or no optimisation.
- Resolves: rhbz#1908972 - Resolves: rhbz#1908972
* Sun Jan 17 2021 Jiri Vanek <jvanek@redhat.com> - 1:11.0.10.0.9-2 * Sun Jan 17 2021 Jiri Vanek <jvanek@redhat.com> - 1:11.0.10.0.9-3
- Removed lib-style provides for fastdebug_suffix_unquoted - Removed lib-style provides for fastdebug_suffix_unquoted
- Fixed missing condition for fastdebug packages being counted as debug ones - Fixed missing condition for fastdebug packages being counted as debug ones
- Fix typo in variable - Fix typo in variable
- Resolves: rhbz#1908972 - Resolves: rhbz#1908972
* Sun Jan 17 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.9-1 * Sun Jan 17 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.9-2
- Add explicit runtime dependency on NSS for the PKCS11 provider in FIPS mode - Add explicit runtime dependency on NSS for the PKCS11 provider in FIPS mode
- Resolves: rhbz#1894083 - Resolves: rhbz#1894083
* Fri Jan 15 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.9-0 * Fri Jan 15 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.9-1
- Update to jdk-11.0.10.0+9 - Update to jdk-11.0.10.0+9
- Update release notes to 11.0.10.0+9 - Update release notes to 11.0.10.0+9
- Switch to GA mode for final release. - Switch to GA mode for final release.
- This tarball is embargoed until 2021-01-19 @ 1pm PT.
- Resolves: rhbz#1908972 - Resolves: rhbz#1908972
* Thu Jan 14 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.8-0.0.ea * Thu Jan 14 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.8-0.1.ea
- Update to jdk-11.0.10.0+8 - Update to jdk-11.0.10.0+8
- Update release notes to 11.0.10.0+8. - Update release notes to 11.0.10.0+8.
- Update tarball generation script to use PR3818 which handles JDK-8171279 changes - Update tarball generation script to use PR3818 which handles JDK-8171279 changes
- Drop JDK-8250861 as applied upstream. - Drop JDK-8250861 as applied upstream.
- Resolves: rhbz#1903908 - Resolves: rhbz#1903908
* Tue Jan 12 2021 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.1-0.0.ea * Tue Jan 12 2021 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.1-0.1.ea
- Update to jdk-11.0.10.0+1 - Update to jdk-11.0.10.0+1
- Update release notes to 11.0.10.0+1 - Update release notes to 11.0.10.0+1
- Use JEP-322 Time-Based Versioning so we can handle a future 11.0.9.1-like release correctly. - Use JEP-322 Time-Based Versioning so we can handle a future 11.0.9.1-like release correctly.
@ -2315,41 +2414,47 @@ end
- Adjust RH1842572 patch due to context change from JDK-8213400 - Adjust RH1842572 patch due to context change from JDK-8213400
- Resolves: rhbz#1903908 - Resolves: rhbz#1903908
* Tue Dec 29 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.11-6 * Tue Dec 29 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.11-9
- Introduced ssbd_arches to denote architectures with SSBD mitigation (currently only x86_64) - Introduced ssbd_arches to denote architectures with SSBD mitigation (currently only x86_64)
- Introduced nm-based check to verify alt-java on ssbd_arches is patched, and no other alt-java or java binaries are patched - Introduced nm-based check to verify alt-java on ssbd_arches is patched, and no other alt-java or java binaries are patched
- RH1750419 patch amended to emit a warning on architectures where alt-java is the same as java - RH1750419 patch amended to emit a warning on architectures where alt-java is the same as java
- Resolves: rhbz#1784116 - Resolves: rhbz#1784116
* Tue Dec 29 2020 Jiri Vanek <jvanek@redhat.com> - 1:11.0.9.11-6 * Tue Dec 29 2020 Jiri Vanek <jvanek@redhat.com> - 1:11.0.9.11-9
- Redefined linux -> __linux__ and __x86_64 -> __x86_64__ in RH1750419 patch - Redefined linux -> __linux__ and __x86_64 -> __x86_64__ in RH1750419 patch
- Resolves: rhbz#1784116 - Resolves: rhbz#1784116
* Tue Dec 29 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.11-5 * Tue Dec 29 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.11-8
- Update release notes for 11.0.9.1 release. - Update release notes for 11.0.9.1 release.
- Resolves: rhbz#1895274 - Resolves: rhbz#1895274
* Tue Dec 01 2020 Jiri Vanek <jvanek@redhat.com> - 1:11.0.9.11-4 * Tue Dec 01 2020 Jiri Vanek <jvanek@redhat.com> - 1:11.0.9.11-7
- Removed patch6: rh1566890-CVE_2018_3639-speculative_store_bypass.patch, surpassed by new patch - removed patch6, rh1566890-CVE_2018_3639-speculative_store_bypass.patch, surpassed by new patch
- Added patch600: rh1750419-redhat_alt_java.patch, surpassing removed patch - added patch600, rh1750419-redhat_alt_java.patch, suprassing removed patch
- No longer copy java->alt-java as it is created by patch600 - no longer copying of java->alt-java as it is created by patch600
- Resolves: rhbz#1784116 - Resolves: rhbz#1784116
* Wed Nov 11 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.11-3 * Wed Nov 11 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.11-6
- Fix typo of build_doc_archive/built_doc_archive - Fix typo of build_doc_archive/built_doc_archive
- Resolves: rhbz#1895274 - Resolves: rhbz#1895274
* Wed Nov 04 2020 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.9.11-3 * Wed Nov 04 2020 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.9.11-5
- Update to jdk-11.0.9.1+1 - Update to jdk-11.0.9.1+1
- RPM version stays at 11.0.9.11 so as to not break upgrade path. - RPM version stays at 11.0.9.11 so as to not break upgrade path.
- Adds a single patch for JDK-8250861. - Adds a single patch for JDK-8250861.
- Resolves: rhbz#1895274 - Resolves: rhbz#1895274
* Thu Oct 29 2020 Jiri Vanek <jvanek@redhat.com> - 1:11.0.9.11-3 * Thu Oct 29 2020 Jiri Vanek <jvanek@redhat.com> - 1:11.0.9.11-4
- Move all license files to NVR-specific JVM directory. - Move all license files to NVR-specific JVM directory.
- This bad placement was killing parallel installability and thus having a bad impact on leapp, if used. - This bad placement was killing parallel installability and thus having a bad impact on leapp, if used.
- Resolves: rhbz#1889481 - Resolves: rhbz#1889481
* Tue Oct 27 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.11-3
- Bump release number to build on RHEL 8.4.0 branch.
- Resolves: rhbz#1876665
- Resolves: rhbz#1889497
- Resolves: rhbz#1883849
* Wed Oct 21 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.11-2 * Wed Oct 21 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.11-2
- Add backport of JDK-8236512 to correct use of killSession - Add backport of JDK-8236512 to correct use of killSession
- Resolves: rhbz#1889497 - Resolves: rhbz#1889497
@ -2372,13 +2477,13 @@ end
* Thu Oct 15 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.10-0.3.ea * Thu Oct 15 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.10-0.3.ea
- Improve quoting of vendor name - Improve quoting of vendor name
- Resolves: rhbz#1883849 - Resolves: rhbz#1876665
* Wed Oct 14 2020 Jiri Vanek <jvanek@redhat.com> - 1:11.0.9.10-0.3.ea * Wed Oct 14 2020 Jiri Vanek <jvanek@redhat.com> - 1:11.0.9.10-0.3.ea
- Set vendor property and vendor URLs - Set vendor property and vendor URLs
- Made URLs to be preconfigured by OS - Made URLs to be preconfigured by OS
- Moved vendor_version_string to a better place - Moved vendor_version_string to a better place
- Resolves: rhbz#1883849 - Resolves: rhbz#1876665
* Wed Oct 14 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.10-0.2.ea * Wed Oct 14 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.10-0.2.ea
- Add patch to allow the PKCS11 provider access to the SunJCE provider with the security manager enabled - Add patch to allow the PKCS11 provider access to the SunJCE provider with the security manager enabled