Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
b6fe100065 | ||
|
ea9509f5ca |
File diff suppressed because it is too large
Load Diff
@ -23,6 +23,8 @@
|
||||
%bcond_without staticlibs
|
||||
# Build a fresh libjvm.so for use in a copy of the bootstrap JDK
|
||||
%bcond_without fresh_libjvm
|
||||
# Build with system libraries
|
||||
%bcond_with system_libs
|
||||
|
||||
# Workaround for stripping of debug symbols from static libraries
|
||||
%if %{with staticlibs}
|
||||
@ -39,6 +41,16 @@
|
||||
%global build_hotspot_first 0
|
||||
%endif
|
||||
|
||||
%if %{with system_libs}
|
||||
%global system_libs 1
|
||||
%global link_type system
|
||||
%global freetype_lib %{nil}
|
||||
%else
|
||||
%global system_libs 0
|
||||
%global link_type bundled
|
||||
%global freetype_lib |libfreetype[.]so.*
|
||||
%endif
|
||||
|
||||
# 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.
|
||||
# See: https://bugzilla.redhat.com/show_bug.cgi?id=1520879
|
||||
@ -349,7 +361,7 @@
|
||||
# Define IcedTea version used for SystemTap tapsets and desktop file
|
||||
%global icedteaver 6.0.0pre00-c848b93a8598
|
||||
# Define current Git revision for the FIPS support patches
|
||||
%global fipsver bb46af07cb9
|
||||
%global fipsver 0bd5ca9ccc5
|
||||
|
||||
# Standard JPackage naming and versioning defines
|
||||
%global origin openjdk
|
||||
@ -357,7 +369,7 @@
|
||||
%global top_level_dir_name %{origin}
|
||||
%global top_level_dir_name_backup %{top_level_dir_name}-backup
|
||||
%global buildver 1
|
||||
%global rpmrelease 1
|
||||
%global rpmrelease 3
|
||||
# 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
|
||||
# Using 10 digits may overflow the int used for priority, so we combine the patch and build versions
|
||||
@ -419,7 +431,7 @@
|
||||
# fix for https://bugzilla.redhat.com/show_bug.cgi?id=1111349
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1590796#c14
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1655938
|
||||
%global _privatelibs libsplashscreen[.]so.*|libawt_xawt[.]so.*|libjli[.]so.*|libattach[.]so.*|libawt[.]so.*|libextnet[.]so.*|libawt_headless[.]so.*|libdt_socket[.]so.*|libfontmanager[.]so.*|libinstrument[.]so.*|libj2gss[.]so.*|libj2pcsc[.]so.*|libj2pkcs11[.]so.*|libjaas[.]so.*|libjavajpeg[.]so.*|libjdwp[.]so.*|libjimage[.]so.*|libjsound[.]so.*|liblcms[.]so.*|libmanagement[.]so.*|libmanagement_agent[.]so.*|libmanagement_ext[.]so.*|libmlib_image[.]so.*|libnet[.]so.*|libnio[.]so.*|libprefs[.]so.*|librmi[.]so.*|libsaproc[.]so.*|libsctp[.]so.*|libsystemconf[.]so.*|libzip[.]so.*
|
||||
%global _privatelibs libsplashscreen[.]so.*|libawt_xawt[.]so.*|libjli[.]so.*|libattach[.]so.*|libawt[.]so.*|libextnet[.]so.*|libawt_headless[.]so.*|libdt_socket[.]so.*|libfontmanager[.]so.*|libinstrument[.]so.*|libj2gss[.]so.*|libj2pcsc[.]so.*|libj2pkcs11[.]so.*|libjaas[.]so.*|libjavajpeg[.]so.*|libjdwp[.]so.*|libjimage[.]so.*|libjsound[.]so.*|liblcms[.]so.*|libmanagement[.]so.*|libmanagement_agent[.]so.*|libmanagement_ext[.]so.*|libmlib_image[.]so.*|libnet[.]so.*|libnio[.]so.*|libprefs[.]so.*|librmi[.]so.*|libsaproc[.]so.*|libsctp[.]so.*|libsystemconf[.]so.*|libzip[.]so.*%{freetype_lib}
|
||||
%global _publiclibs libjawt[.]so.*|libjava[.]so.*|libjvm[.]so.*|libverify[.]so.*|libjsig[.]so.*
|
||||
%if %is_system_jdk
|
||||
%global __provides_exclude ^(%{_privatelibs})$
|
||||
@ -857,6 +869,9 @@ exit 0
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt_headless.so
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libdt_socket.so
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libfontmanager.so
|
||||
%if ! %{system_libs}
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libfreetype.so
|
||||
%endif
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libinstrument.so
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2gss.so
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2pcsc.so
|
||||
@ -1392,6 +1407,8 @@ Patch7: jdk8292223-tzdata2022b-kyiv.patch
|
||||
# RH2104724: Avoid import/export of DH private keys
|
||||
# RH2092507: P11Key.getEncoded does not work for DH keys in FIPS mode
|
||||
# Build the systemconf library on all platforms
|
||||
# RH2048582: Support PKCS#12 keystores
|
||||
# RH2020290: Support TLS 1.3 in FIPS mode
|
||||
Patch1001: fips-17u-%{fipsver}.patch
|
||||
|
||||
#############################################
|
||||
@ -1409,14 +1426,8 @@ BuildRequires: desktop-file-utils
|
||||
# elfutils only are OK for build without AOT
|
||||
BuildRequires: elfutils-devel
|
||||
BuildRequires: fontconfig-devel
|
||||
BuildRequires: freetype-devel
|
||||
BuildRequires: giflib-devel
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gdb
|
||||
BuildRequires: harfbuzz-devel
|
||||
BuildRequires: lcms2-devel
|
||||
BuildRequires: libjpeg-devel
|
||||
BuildRequires: libpng-devel
|
||||
BuildRequires: libxslt
|
||||
BuildRequires: libX11-devel
|
||||
BuildRequires: libXi-devel
|
||||
@ -1448,6 +1459,30 @@ BuildRequires: systemtap-sdt-devel
|
||||
%endif
|
||||
BuildRequires: make
|
||||
|
||||
%if %{system_libs}
|
||||
BuildRequires: freetype-devel
|
||||
BuildRequires: giflib-devel
|
||||
BuildRequires: harfbuzz-devel
|
||||
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.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) = 2.8.0
|
||||
# Version in src/java.desktop/share/native/liblcms/lcms2.h
|
||||
Provides: bundled(lcms2) = 2.12.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
|
||||
# We link statically against libstdc++ to increase portability
|
||||
BuildRequires: libstdc++-static
|
||||
%endif
|
||||
|
||||
# this is always built, also during debug-only build
|
||||
# when it is built in debug-only this package is just placeholder
|
||||
%{java_rpo %{nil}}
|
||||
@ -1797,8 +1832,11 @@ if [ $prioritylength -ne 8 ] ; then
|
||||
fi
|
||||
|
||||
# OpenJDK patches
|
||||
|
||||
%if %{system_libs}
|
||||
# Remove libraries that are linked by both static and dynamic builds
|
||||
sh %{SOURCE12} %{top_level_dir_name}
|
||||
%endif
|
||||
|
||||
# Patch the JDK
|
||||
pushd %{top_level_dir_name}
|
||||
@ -1932,6 +1970,12 @@ function buildjdk() {
|
||||
local top_dir_abs_src_path=$(pwd)/%{top_level_dir_name}
|
||||
local top_dir_abs_build_path=$(pwd)/${outputdir}
|
||||
|
||||
if [ "x${link_opt}" = "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
|
||||
@ -1963,13 +2007,14 @@ function buildjdk() {
|
||||
--with-native-debug-symbols="%{debug_symbols}" \
|
||||
--disable-sysconf-nss \
|
||||
--enable-unlimited-crypto \
|
||||
--with-zlib=system \
|
||||
--with-zlib=${link_opt} \
|
||||
--with-freetype=${link_opt} \
|
||||
--with-libjpeg=${link_opt} \
|
||||
--with-giflib=${link_opt} \
|
||||
--with-libpng=${link_opt} \
|
||||
--with-lcms=${link_opt} \
|
||||
--with-harfbuzz=${link_opt} \
|
||||
--with-stdc++lib=dynamic \
|
||||
--with-stdc++lib=${libc_link_opt} \
|
||||
--with-extra-cxxflags="$EXTRA_CPP_FLAGS" \
|
||||
--with-extra-cflags="$EXTRA_CFLAGS" \
|
||||
--with-extra-ldflags="%{ourldflags}" \
|
||||
@ -2136,12 +2181,13 @@ for suffix in %{build_loop} ; do
|
||||
bootbuilddir=boot${builddir}
|
||||
|
||||
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
|
||||
# Use system libraries
|
||||
link_opt="system"
|
||||
%endif
|
||||
# Debug builds don't need same targets as release for
|
||||
# build speed-up. We also avoid bootstrapping these
|
||||
# slower builds.
|
||||
@ -2159,9 +2205,11 @@ for suffix in %{build_loop} ; do
|
||||
else
|
||||
buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt}
|
||||
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"
|
||||
@ -2621,6 +2669,14 @@ cjc.mainProgram(args)
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Tue Aug 30 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.4.1.1-3
|
||||
- Switch to static builds, reducing system dependencies and making build more portable
|
||||
|
||||
* Mon Aug 29 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.4.1.1-2
|
||||
- Update FIPS support to bring in latest changes
|
||||
- * RH2048582: Support PKCS#12 keystores
|
||||
- * RH2020290: Support TLS 1.3 in FIPS mode
|
||||
|
||||
* Sun Aug 21 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.4.1.1-1
|
||||
- Update to jdk-17.0.4.1+1
|
||||
- Update release notes to 17.0.4.1+1
|
||||
|
Loading…
Reference in New Issue
Block a user