Revert "Restore native build for x86 as there is no portable build"
Reintroduce useful cleanups from x86 reversion Adjust oj_vendor_version to match the portable so test passes Adjust oj_vendor_bug_url to match the portable so test passes Related: RHEL-30918
This commit is contained in:
parent
8525ac48a9
commit
a17b58a361
@ -65,14 +65,10 @@
|
|||||||
# (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.
|
||||||
@ -205,12 +201,6 @@
|
|||||||
# Build and test slowdebug first as it provides the best diagnostics
|
# Build and test slowdebug first as it provides the best diagnostics
|
||||||
%global build_loop %{slowdebug_build} %{fastdebug_build} %{normal_build}
|
%global build_loop %{slowdebug_build} %{fastdebug_build} %{normal_build}
|
||||||
|
|
||||||
%if %{include_staticlibs}
|
|
||||||
%global staticlibs_loop %{staticlibs_suffix}
|
|
||||||
%else
|
|
||||||
%global staticlibs_loop %{nil}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if 0%{?flatpak}
|
%if 0%{?flatpak}
|
||||||
%global bootstrap_build false
|
%global bootstrap_build false
|
||||||
%else
|
%else
|
||||||
@ -364,13 +354,13 @@
|
|||||||
%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{name}&version=%{fedora}
|
%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{name}&version=%{fedora}
|
||||||
%else
|
%else
|
||||||
%if 0%{?rhel}
|
%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://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%20%{portablerhel}&component=%{name}
|
||||||
%else
|
%else
|
||||||
%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi
|
%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%global oj_vendor_version (Red_Hat-%{version}-%{release})
|
%global oj_vendor_version (Red_Hat-%{version}-%{portablerelease})
|
||||||
|
|
||||||
# Define IcedTea version used for SystemTap tapsets and desktop file
|
# Define IcedTea version used for SystemTap tapsets and desktop file
|
||||||
%global icedteaver 6.0.0pre00-c848b93a8598
|
%global icedteaver 6.0.0pre00-c848b93a8598
|
||||||
@ -383,10 +373,11 @@
|
|||||||
%global top_level_dir_name %{origin}
|
%global top_level_dir_name %{origin}
|
||||||
%global top_level_dir_name_backup %{top_level_dir_name}-backup
|
%global top_level_dir_name_backup %{top_level_dir_name}-backup
|
||||||
%global buildver 7
|
%global buildver 7
|
||||||
%global rpmrelease 2
|
%global rpmrelease 3
|
||||||
# Settings used by the portable build
|
# Settings used by the portable build
|
||||||
%global portablerelease 2
|
%global portablerelease 2
|
||||||
%global portablesuffix el8
|
%global portablerhel 8
|
||||||
|
%global portablesuffix el%{portablerhel}
|
||||||
%global portablebuilddir /builddir/build/BUILD
|
%global portablebuilddir /builddir/build/BUILD
|
||||||
|
|
||||||
#%%global tagsuffix %%{nil}
|
#%%global tagsuffix %%{nil}
|
||||||
@ -436,7 +427,6 @@
|
|||||||
%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:build/jdk%{featurever}.build%{?1}}
|
|
||||||
%define installoutputdir() %{expand:install/jdk%{featurever}.install%{?1}}
|
%define installoutputdir() %{expand:install/jdk%{featurever}.install%{?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}}
|
||||||
@ -1323,9 +1313,6 @@ Source8: tapsets-icedtea-%{icedteaver}.tar.xz
|
|||||||
# Desktop files. Adapted from IcedTea
|
# Desktop files. Adapted from IcedTea
|
||||||
Source9: jconsole.desktop.in
|
Source9: jconsole.desktop.in
|
||||||
|
|
||||||
# Release notes
|
|
||||||
Source10: NEWS
|
|
||||||
|
|
||||||
# nss configuration file
|
# nss configuration file
|
||||||
Source11: nss.cfg.in
|
Source11: nss.cfg.in
|
||||||
|
|
||||||
@ -1469,7 +1456,6 @@ BuildRequires: xorg-x11-proto-devel
|
|||||||
BuildRequires: zip
|
BuildRequires: zip
|
||||||
BuildRequires: unzip
|
BuildRequires: unzip
|
||||||
BuildRequires: javapackages-filesystem
|
BuildRequires: javapackages-filesystem
|
||||||
%ifarch %{portable_build_arches}
|
|
||||||
%if %{include_normal_build}
|
%if %{include_normal_build}
|
||||||
BuildRequires: java-%{featurever}-openjdk-portable-unstripped = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix}
|
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-static-libs = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix}
|
||||||
@ -1484,9 +1470,6 @@ BuildRequires: java-%{featurever}-openjdk-portable-static-libs-slowdebug = %{epo
|
|||||||
%endif
|
%endif
|
||||||
BuildRequires: java-%{featurever}-openjdk-portable-docs = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix}
|
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-misc = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix}
|
||||||
%else
|
|
||||||
BuildRequires: java-%{buildjdkver}-openjdk-devel
|
|
||||||
%endif
|
|
||||||
# Zero-assembler build requirement
|
# Zero-assembler build requirement
|
||||||
%ifarch %{zero_arches}
|
%ifarch %{zero_arches}
|
||||||
BuildRequires: libffi-devel
|
BuildRequires: libffi-devel
|
||||||
@ -1521,10 +1504,6 @@ Provides: bundled(lcms2) = 2.12.0
|
|||||||
Provides: bundled(libjpeg) = 6b
|
Provides: bundled(libjpeg) = 6b
|
||||||
# Version in src/java.desktop/share/native/libsplashscreen/libpng/png.h
|
# Version in src/java.desktop/share/native/libsplashscreen/libpng/png.h
|
||||||
Provides: bundled(libpng) = 1.6.37
|
Provides: bundled(libpng) = 1.6.37
|
||||||
%ifnarch %{portable_build_arches}
|
|
||||||
# We link statically against libstdc++ to increase portability
|
|
||||||
BuildRequires: libstdc++-static
|
|
||||||
%endif
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# this is always built, also during debug-only build
|
# this is always built, also during debug-only build
|
||||||
@ -1940,193 +1919,11 @@ sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE17} > nss.fips.cfg
|
|||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
%ifnarch %{portable_build_arches}
|
|
||||||
# How many CPU's do we have?
|
|
||||||
export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :)
|
|
||||||
export NUM_PROC=${NUM_PROC:-1}
|
|
||||||
%if 0%{?_smp_ncpus_max}
|
|
||||||
# Honor %%_smp_ncpus_max
|
|
||||||
[ ${NUM_PROC} -gt %{?_smp_ncpus_max} ] && export NUM_PROC=%{?_smp_ncpus_max}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%ifarch s390x sparc64 alpha %{power64} %{aarch64}
|
|
||||||
export ARCH_DATA_MODEL=64
|
|
||||||
%endif
|
|
||||||
%ifarch alpha
|
|
||||||
export CFLAGS="$CFLAGS -mieee"
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# We use ourcppflags because the OpenJDK build seems to
|
|
||||||
# pass EXTRA_CFLAGS to the HotSpot C++ compiler...
|
|
||||||
EXTRA_CFLAGS="%ourcppflags -Wno-error"
|
|
||||||
EXTRA_CPP_FLAGS="%ourcppflags"
|
|
||||||
|
|
||||||
%ifarch %{power64} ppc
|
|
||||||
# fix rpmlint warnings
|
|
||||||
EXTRA_CFLAGS="$EXTRA_CFLAGS -fno-strict-aliasing"
|
|
||||||
%endif
|
|
||||||
%ifarch %{ix86}
|
|
||||||
# Align stack boundary on x86_32
|
|
||||||
EXTRA_CFLAGS="$(echo ${EXTRA_CFLAGS} | sed -e 's|-mstackrealign|-mincoming-stack-boundary=2 -mpreferred-stack-boundary=4|')"
|
|
||||||
EXTRA_CPP_FLAGS="$(echo ${EXTRA_CPP_FLAGS} | sed -e 's|-mstackrealign|-mincoming-stack-boundary=2 -mpreferred-stack-boundary=4|')"
|
|
||||||
%endif
|
|
||||||
# Fixes annocheck warnings in assembler files due to missing build notes
|
|
||||||
EXTRA_ASFLAGS="${EXTRA_CFLAGS} -Wa,--generate-missing-build-notes=yes"
|
|
||||||
export EXTRA_CFLAGS EXTRA_CPP_FLAGS EXTRA_ASFLAGS
|
|
||||||
|
|
||||||
function buildjdk() {
|
|
||||||
local outputdir=${1}
|
|
||||||
local buildjdk=${2}
|
|
||||||
local maketargets="${3}"
|
|
||||||
local debuglevel=${4}
|
|
||||||
local link_opt=${5}
|
|
||||||
|
|
||||||
local top_dir_abs_src_path=$(pwd)/%{top_level_dir_name}
|
|
||||||
local top_dir_abs_build_path=$(pwd)/${outputdir}
|
|
||||||
|
|
||||||
# This must be set using the global, so that the
|
|
||||||
# static libraries still use a dynamic stdc++lib
|
|
||||||
if [ "x%{link_type}" = "xbundled" ] ; then
|
|
||||||
libc_link_opt="static";
|
|
||||||
else
|
|
||||||
libc_link_opt="dynamic";
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Using output directory: ${outputdir}";
|
|
||||||
echo "Checking build JDK ${buildjdk} is operational..."
|
|
||||||
${buildjdk}/bin/java -version
|
|
||||||
echo "Using make targets: ${maketargets}"
|
|
||||||
echo "Using debuglevel: ${debuglevel}"
|
|
||||||
echo "Using link_opt: ${link_opt}"
|
|
||||||
echo "Building %{newjavaver}-%{buildver}, pre=%{ea_designator}, opt=%{lts_designator}"
|
|
||||||
|
|
||||||
mkdir -p ${outputdir}
|
|
||||||
pushd ${outputdir}
|
|
||||||
|
|
||||||
# Note: zlib and freetype use %{link_type}
|
|
||||||
# rather than ${link_opt} as the system versions
|
|
||||||
# are always used in a system_libs build, even
|
|
||||||
# for the static library build
|
|
||||||
bash ${top_dir_abs_src_path}/configure \
|
|
||||||
%ifarch %{zero_arches}
|
|
||||||
--with-jvm-variants=zero \
|
|
||||||
%endif
|
|
||||||
%ifarch %{ppc64le}
|
|
||||||
--with-jobs=1 \
|
|
||||||
%endif
|
|
||||||
--with-version-build=%{buildver} \
|
|
||||||
--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}" \
|
|
||||||
--with-vendor-bug-url="%{oj_vendor_bug_url}" \
|
|
||||||
--with-vendor-vm-bug-url="%{oj_vendor_bug_url}" \
|
|
||||||
--with-boot-jdk=${buildjdk} \
|
|
||||||
--with-debug-level=${debuglevel} \
|
|
||||||
--with-native-debug-symbols="%{debug_symbols}" \
|
|
||||||
--disable-sysconf-nss \
|
|
||||||
--enable-unlimited-crypto \
|
|
||||||
--with-zlib=%{link_type} \
|
|
||||||
--with-freetype=%{link_type} \
|
|
||||||
--with-libjpeg=${link_opt} \
|
|
||||||
--with-giflib=${link_opt} \
|
|
||||||
--with-libpng=${link_opt} \
|
|
||||||
--with-lcms=${link_opt} \
|
|
||||||
--with-harfbuzz=${link_opt} \
|
|
||||||
--with-stdc++lib=${libc_link_opt} \
|
|
||||||
--with-extra-cxxflags="$EXTRA_CPP_FLAGS" \
|
|
||||||
--with-extra-cflags="$EXTRA_CFLAGS" \
|
|
||||||
--with-extra-asflags="$EXTRA_ASFLAGS" \
|
|
||||||
--with-extra-ldflags="%{ourldflags}" \
|
|
||||||
--with-num-cores="$NUM_PROC" \
|
|
||||||
--disable-javac-server \
|
|
||||||
--with-jvm-features="%{shenandoah_feature},%{zgc_feature}" \
|
|
||||||
--disable-warnings-as-errors
|
|
||||||
|
|
||||||
cat spec.gmk
|
|
||||||
|
|
||||||
make \
|
|
||||||
JAVAC_FLAGS=-g \
|
|
||||||
LOG=trace \
|
|
||||||
WARNINGS_ARE_ERRORS="-Wno-error" \
|
|
||||||
CFLAGS_WARNINGS_ARE_ERRORS="-Wno-error" \
|
|
||||||
$maketargets || ( pwd; find ${top_dir_abs_src_path} ${top_dir_abs_build_path} -name "hs_err_pid*.log" | xargs cat && false )
|
|
||||||
|
|
||||||
popd
|
|
||||||
}
|
|
||||||
|
|
||||||
function installjdk() {
|
|
||||||
local outputdir=${1}
|
|
||||||
local installdir=${2}
|
|
||||||
local imagepath=${installdir}/images/%{jdkimage}
|
|
||||||
|
|
||||||
echo "Installing build from ${outputdir} to ${installdir}..."
|
|
||||||
mkdir -p ${installdir}
|
|
||||||
echo "Installing images..."
|
|
||||||
mv ${outputdir}/images ${installdir}
|
|
||||||
if [ -d ${outputdir}/bundles ] ; then
|
|
||||||
echo "Installing bundles...";
|
|
||||||
mv ${outputdir}/bundles ${installdir} ;
|
|
||||||
fi
|
|
||||||
if [ -d ${outputdir}/docs ] ; then
|
|
||||||
echo "Installing docs...";
|
|
||||||
mv ${outputdir}/docs ${installdir} ;
|
|
||||||
fi
|
|
||||||
|
|
||||||
%if !%{with artifacts}
|
|
||||||
echo "Removing output directory...";
|
|
||||||
rm -rf ${outputdir}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
if [ -d ${imagepath} ] ; then
|
|
||||||
# the build (erroneously) removes read permissions from some jars
|
|
||||||
# this is a regression in OpenJDK 7 (our compiler):
|
|
||||||
# http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
|
|
||||||
find ${imagepath} -iname '*.jar' -exec chmod ugo+r {} \;
|
|
||||||
|
|
||||||
# Build screws up permissions on binaries
|
|
||||||
# https://bugs.openjdk.java.net/browse/JDK-8173610
|
|
||||||
find ${imagepath} -iname '*.so' -exec chmod +x {} \;
|
|
||||||
find ${imagepath}/bin/ -exec chmod +x {} \;
|
|
||||||
|
|
||||||
# Install nss.cfg right away as we will be using the JRE above
|
|
||||||
install -m 644 nss.cfg ${imagepath}/conf/security/
|
|
||||||
|
|
||||||
# Install nss.fips.cfg: NSS configuration for global FIPS mode (crypto-policies)
|
|
||||||
install -m 644 nss.fips.cfg ${imagepath}/conf/security/
|
|
||||||
|
|
||||||
# Create fake alt-java as a placeholder for future alt-java
|
|
||||||
pushd ${imagepath}
|
|
||||||
# add alt-java man page
|
|
||||||
echo "Hardened java binary recommended for launching untrusted code from the Web e.g. javaws" > man/man1/%{alt_java_name}.1
|
|
||||||
cat man/man1/java.1 >> man/man1/%{alt_java_name}.1
|
|
||||||
popd
|
|
||||||
|
|
||||||
# Final setup on the main image
|
|
||||||
customisejdk ${imagepath}
|
|
||||||
|
|
||||||
# Print release information
|
|
||||||
cat ${imagepath}/release
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
%if %{build_hotspot_first}
|
|
||||||
# Build a fresh libjvm.so first and use it to bootstrap
|
|
||||||
cp -LR --preserve=mode,timestamps %{bootjdk} newboot
|
|
||||||
systemjdk=$(pwd)/newboot
|
|
||||||
buildjdk build/newboot ${systemjdk} %{hotspot_target} "release" "bundled"
|
|
||||||
mv build/newboot/jdk/lib/server/libjvm.so newboot/lib/server
|
|
||||||
%else
|
|
||||||
systemjdk=%{bootjdk}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%endif # !portable_build_arches
|
|
||||||
|
|
||||||
function customisejdk() {
|
function customisejdk() {
|
||||||
local imagepath=${1}
|
local imagepath=${1}
|
||||||
|
|
||||||
if [ -d ${imagepath} ] ; then
|
|
||||||
|
if [ -d ${imagepath} ] ; then
|
||||||
# Turn on system security properties
|
# Turn on system security properties
|
||||||
sed -i -e "s:^security.useSystemPropertiesFile=.*:security.useSystemPropertiesFile=true:" \
|
sed -i -e "s:^security.useSystemPropertiesFile=.*:security.useSystemPropertiesFile=true:" \
|
||||||
${imagepath}/conf/security/java.security
|
${imagepath}/conf/security/java.security
|
||||||
@ -2134,13 +1931,11 @@ function customisejdk() {
|
|||||||
# Use system-wide tzdata
|
# Use system-wide tzdata
|
||||||
rm ${imagepath}/lib/tzdb.dat
|
rm ${imagepath}/lib/tzdb.dat
|
||||||
ln -s %{_datadir}/javazi-1.8/tzdb.dat ${imagepath}/lib/tzdb.dat
|
ln -s %{_datadir}/javazi-1.8/tzdb.dat ${imagepath}/lib/tzdb.dat
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
for suffix in %{build_loop} ; do
|
for suffix in %{build_loop} ; do
|
||||||
|
|
||||||
%ifarch %{portable_build_arches}
|
|
||||||
|
|
||||||
if [ "x$suffix" = "x" ] ; then
|
if [ "x$suffix" = "x" ] ; then
|
||||||
jdkzip=%{releasezip}
|
jdkzip=%{releasezip}
|
||||||
staticlibzip=%{staticlibzip}
|
staticlibzip=%{staticlibzip}
|
||||||
@ -2174,75 +1969,9 @@ for suffix in %{build_loop} ; do
|
|||||||
# Print release information
|
# Print release information
|
||||||
cat ${installdir}/release
|
cat ${installdir}/release
|
||||||
|
|
||||||
%else
|
|
||||||
|
|
||||||
if [ "x$suffix" = "x" ] ; then
|
|
||||||
debugbuild=release
|
|
||||||
else
|
|
||||||
# change --something to something
|
|
||||||
debugbuild=`echo $suffix | sed "s/-//g"`
|
|
||||||
fi
|
|
||||||
|
|
||||||
for loop in %{main_suffix} %{staticlibs_loop} ; do
|
|
||||||
|
|
||||||
builddir=%{buildoutputdir -- ${suffix}${loop}}
|
|
||||||
bootbuilddir=boot${builddir}
|
|
||||||
installdir=%{installoutputdir -- ${suffix}${loop}}
|
|
||||||
bootinstalldir=boot${installdir}
|
|
||||||
|
|
||||||
if test "x${loop}" = "x%{main_suffix}" ; then
|
|
||||||
link_opt="%{link_type}"
|
|
||||||
%if %{system_libs}
|
|
||||||
# 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
|
|
||||||
%endif
|
|
||||||
# Debug builds don't need same targets as release for
|
|
||||||
# build speed-up. We also avoid bootstrapping these
|
|
||||||
# slower builds.
|
|
||||||
if echo $debugbuild | grep -q "debug" ; then
|
|
||||||
maketargets="%{debug_targets}"
|
|
||||||
run_bootstrap=false
|
|
||||||
else
|
|
||||||
maketargets="%{release_targets}"
|
|
||||||
run_bootstrap=%{bootstrap_build}
|
|
||||||
fi
|
|
||||||
if ${run_bootstrap} ; then
|
|
||||||
buildjdk ${bootbuilddir} ${systemjdk} "%{bootstrap_targets}" ${debugbuild} ${link_opt}
|
|
||||||
installjdk ${bootbuilddir} ${bootinstalldir}
|
|
||||||
buildjdk ${builddir} $(pwd)/${bootinstalldir}/images/%{jdkimage} "${maketargets}" ${debugbuild} ${link_opt}
|
|
||||||
installjdk ${builddir} ${installdir}
|
|
||||||
%{!?with_artifacts:rm -rf ${bootinstalldir}}
|
|
||||||
else
|
|
||||||
buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt}
|
|
||||||
installjdk ${builddir} ${installdir}
|
|
||||||
fi
|
|
||||||
%if %{system_libs}
|
|
||||||
# Restore original source tree we modified by removing full in-tree sources
|
|
||||||
rm -rf %{top_level_dir_name}
|
|
||||||
mv %{top_level_dir_name_backup} %{top_level_dir_name}
|
|
||||||
%endif
|
|
||||||
else
|
|
||||||
# Use bundled libraries for building statically
|
|
||||||
link_opt="bundled"
|
|
||||||
# Static library cycle only builds the static libraries
|
|
||||||
maketargets="%{static_libs_target}"
|
|
||||||
# Always just do the one build for the static libraries
|
|
||||||
buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt}
|
|
||||||
installjdk ${builddir} ${installdir}
|
|
||||||
fi
|
|
||||||
|
|
||||||
done # end of main / staticlibs loop
|
|
||||||
|
|
||||||
%endif # !portable_build_arches
|
|
||||||
|
|
||||||
|
|
||||||
# build cycles
|
# build cycles
|
||||||
done # end of release / debug cycle loop
|
done # end of release / debug cycle loop
|
||||||
|
|
||||||
%ifarch %{portable_build_arches}
|
|
||||||
|
|
||||||
docdir=%{installoutputdir -- "-docs"}
|
docdir=%{installoutputdir -- "-docs"}
|
||||||
tar -xJf %{docszip}
|
tar -xJf %{docszip}
|
||||||
mv java-%{featurever}-openjdk*.docs.* ${docdir}
|
mv java-%{featurever}-openjdk*.docs.* ${docdir}
|
||||||
@ -2251,22 +1980,12 @@ miscdir=%{installoutputdir -- "-misc"}
|
|||||||
tar -xJf %{misczip}
|
tar -xJf %{misczip}
|
||||||
mv java-%{featurever}-openjdk*.misc.* ${miscdir}
|
mv java-%{featurever}-openjdk*.misc.* ${miscdir}
|
||||||
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%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 %{build_loop} ; do
|
for suffix in %{build_loop} ; do
|
||||||
|
|
||||||
%ifarch %{portable_build_arches}
|
|
||||||
export JAVA_HOME=$(pwd)/%{installoutputdir -- ${suffix}}
|
export JAVA_HOME=$(pwd)/%{installoutputdir -- ${suffix}}
|
||||||
%else
|
|
||||||
top_dir_abs_main_build_path=$(pwd)/%{installoutputdir -- ${suffix}%{main_suffix}}
|
|
||||||
%if %{include_staticlibs}
|
|
||||||
top_dir_abs_staticlibs_build_path=$(pwd)/%{installoutputdir -- ${suffix}%{staticlibs_loop}}
|
|
||||||
export JAVA_HOME=${top_dir_abs_main_build_path}/images/%{jdkimage}
|
|
||||||
%endif
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Check Shenandoah is enabled
|
# Check Shenandoah is enabled
|
||||||
%if %{use_shenandoah_hotspot}
|
%if %{use_shenandoah_hotspot}
|
||||||
@ -2291,9 +2010,8 @@ $JAVA_HOME/bin/java ${SEC_DEBUG} ${PROG} true
|
|||||||
$JAVA_HOME/bin/java ${SEC_DEBUG} -Djava.security.disableSystemPropertiesFile=true ${PROG} false
|
$JAVA_HOME/bin/java ${SEC_DEBUG} -Djava.security.disableSystemPropertiesFile=true ${PROG} false
|
||||||
|
|
||||||
# Check correct vendor values have been set
|
# Check correct vendor values have been set
|
||||||
# TODO: Disable for now due to bug URL mismatch with that in portable
|
$JAVA_HOME/bin/javac -d . %{SOURCE16}
|
||||||
#$JAVA_HOME/bin/javac -d . %{SOURCE16}
|
$JAVA_HOME/bin/java $(echo $(basename %{SOURCE16})|sed "s|\.java||") "%{oj_vendor}" "%{oj_vendor_url}" "%{oj_vendor_bug_url}" "%{oj_vendor_version}"
|
||||||
#$JAVA_HOME/bin/java $(echo $(basename %{SOURCE16})|sed "s|\.java||") "%{oj_vendor}" "%{oj_vendor_url}" "%{oj_vendor_bug_url}" "%{oj_vendor_version}"
|
|
||||||
|
|
||||||
# Check java launcher has no SSB mitigation
|
# Check java launcher has no SSB mitigation
|
||||||
if ! nm $JAVA_HOME/bin/java | grep set_speculation ; then true ; else false; fi
|
if ! nm $JAVA_HOME/bin/java | grep set_speculation ; then true ; else false; fi
|
||||||
@ -2311,12 +2029,8 @@ $JAVA_HOME/bin/java $(echo $(basename %{SOURCE18})|sed "s|\.java||") JRE
|
|||||||
$JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})|sed "s|\.java||") CLDR
|
$JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})|sed "s|\.java||") CLDR
|
||||||
|
|
||||||
%if %{include_staticlibs}
|
%if %{include_staticlibs}
|
||||||
%ifarch %{portable_build_arches}
|
|
||||||
# Check debug symbols in static libraries (smoke test)
|
# Check debug symbols in static libraries (smoke test)
|
||||||
export STATIC_LIBS_HOME=${JAVA_HOME}/lib/static/linux-%{archinstall}/glibc
|
export STATIC_LIBS_HOME=${JAVA_HOME}/lib/static/linux-%{archinstall}/glibc
|
||||||
%else
|
|
||||||
export STATIC_LIBS_HOME=${top_dir_abs_staticlibs_build_path}/images/%{static_libs_image}/lib
|
|
||||||
%endif
|
|
||||||
readelf --debug-dump $STATIC_LIBS_HOME/libfdlibm.a | grep w_remainder.c
|
readelf --debug-dump $STATIC_LIBS_HOME/libfdlibm.a | grep w_remainder.c
|
||||||
readelf --debug-dump $STATIC_LIBS_HOME/libfdlibm.a | grep e_remainder.c
|
readelf --debug-dump $STATIC_LIBS_HOME/libfdlibm.a | grep e_remainder.c
|
||||||
%endif
|
%endif
|
||||||
@ -2408,29 +2122,15 @@ STRIP_KEEP_SYMTAB=libjvm*
|
|||||||
|
|
||||||
for suffix in %{build_loop} ; do
|
for suffix in %{build_loop} ; do
|
||||||
|
|
||||||
%ifarch %{portable_build_arches}
|
|
||||||
jdk_image=$(pwd)/%{installoutputdir -- ${suffix}}
|
jdk_image=$(pwd)/%{installoutputdir -- ${suffix}}
|
||||||
# Should match same definitions in build section
|
# Should match same definitions in build section
|
||||||
docdir=$(pwd)/%{installoutputdir -- "-docs"}
|
docdir=$(pwd)/%{installoutputdir -- "-docs"}
|
||||||
miscdir=%{installoutputdir -- "-misc"}
|
miscdir=%{installoutputdir -- "-misc"}
|
||||||
%else
|
|
||||||
top_dir_abs_main_build_path=$(pwd)/%{installoutputdir -- ${suffix}%{main_suffix}}
|
|
||||||
%if %{include_staticlibs}
|
|
||||||
top_dir_abs_staticlibs_build_path=$(pwd)/%{installoutputdir -- ${suffix}%{staticlibs_loop}}
|
|
||||||
%endif
|
|
||||||
jdk_image=${top_dir_abs_main_build_path}/images/%{jdkimage}
|
|
||||||
docdir=${top_dir_abs_main_build_path}/images
|
|
||||||
miscdir=%{top_level_dir_name}/src/java.desktop/unix/classes/sun/awt/X11
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Install release notes
|
# Install release notes
|
||||||
commondocdir=${RPM_BUILD_ROOT}%{_defaultdocdir}/%{uniquejavadocdir -- $suffix}
|
commondocdir=${RPM_BUILD_ROOT}%{_defaultdocdir}/%{uniquejavadocdir -- $suffix}
|
||||||
install -d -m 755 ${commondocdir}
|
install -d -m 755 ${commondocdir}
|
||||||
%ifarch %{portable_build_arches}
|
|
||||||
mv ${jdk_image}/NEWS ${commondocdir}
|
mv ${jdk_image}/NEWS ${commondocdir}
|
||||||
%else
|
|
||||||
cp -a %{SOURCE10} ${commondocdir}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Install the jdk
|
# Install the jdk
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
|
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
|
||||||
@ -2480,27 +2180,13 @@ pushd ${jdk_image}
|
|||||||
|
|
||||||
popd
|
popd
|
||||||
|
|
||||||
%ifnarch %{portable_build_arches}
|
|
||||||
# Install static libs artefacts
|
|
||||||
%if %{include_staticlibs}
|
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/static/linux-%{archinstall}/glibc
|
|
||||||
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
|
|
||||||
%endif
|
|
||||||
%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 ${docdir}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}
|
cp -a ${docdir}/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
|
||||||
%ifarch %{portable_build_arches}
|
|
||||||
cp -a ${docdir}/${built_doc_archive} \
|
cp -a ${docdir}/${built_doc_archive} \
|
||||||
$RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip
|
$RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip
|
||||||
%else
|
|
||||||
cp -a ${top_dir_abs_main_build_path}/bundles/${built_doc_archive} \
|
|
||||||
$RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip || ls -l ${top_dir_abs_main_build_path}/bundles/
|
|
||||||
%endif
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Install icons and menu entries
|
# Install icons and menu entries
|
||||||
@ -2523,11 +2209,7 @@ done
|
|||||||
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/.java/.systemPrefs
|
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/.java/.systemPrefs
|
||||||
|
|
||||||
# copy samples next to demos; samples are mostly js files
|
# copy samples next to demos; samples are mostly js files
|
||||||
%ifarch %{portable_build_arches}
|
|
||||||
cp -r ${miscdir}/sample $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/
|
cp -r ${miscdir}/sample $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/
|
||||||
%else
|
|
||||||
cp -r %{top_level_dir_name}/src/sample $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# moving config files to /etc
|
# moving config files to /etc
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}
|
mkdir -p $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}
|
||||||
@ -2816,6 +2498,13 @@ end
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Apr 26 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.19.0.7-3
|
||||||
|
- Revert "Restore native build for x86 as there is no portable build"
|
||||||
|
- Reintroduce useful cleanups from x86 reversion
|
||||||
|
- Adjust oj_vendor_version to match the portable so test passes
|
||||||
|
- Adjust oj_vendor_bug_url to match the portable so test passes
|
||||||
|
- Related: RHEL-30918
|
||||||
|
|
||||||
* Wed Apr 26 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.19.0.7-2
|
* Wed Apr 26 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.19.0.7-2
|
||||||
- Update to jdk-11.0.19.0+7
|
- Update to jdk-11.0.19.0+7
|
||||||
- Update release notes to 11.0.19.0+7
|
- Update release notes to 11.0.19.0+7
|
||||||
|
Loading…
Reference in New Issue
Block a user