initial repacking
Removed many pre-steps, build requires and patching. Removed build. added dependencies on portables extracted portabels to BUILD keep systemtap todo, repack it properly removed nss setup, enabled buildr and tuned "install" check debuginfo for jre only Print release repacked portables Remove javadoc.zip only for release build
This commit is contained in:
parent
7ff15df48d
commit
6531a6457b
File diff suppressed because it is too large
Load Diff
@ -21,10 +21,6 @@
|
|||||||
%bcond_without release
|
%bcond_without release
|
||||||
# Enable static library builds by default.
|
# Enable static library builds by default.
|
||||||
%bcond_without staticlibs
|
%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
|
# Workaround for stripping of debug symbols from static libraries
|
||||||
%if %{with staticlibs}
|
%if %{with staticlibs}
|
||||||
@ -34,31 +30,14 @@
|
|||||||
%global include_staticlibs 0
|
%global include_staticlibs 0
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Define whether to use the bootstrap JDK directly or with a fresh libjvm.so
|
#placeholder - used in regexes, otherwise for no use in portables
|
||||||
%if %{with fresh_libjvm}
|
|
||||||
%global build_hotspot_first 1
|
|
||||||
%else
|
|
||||||
%global build_hotspot_first 0
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with system_libs}
|
|
||||||
%global system_libs 1
|
|
||||||
%global link_type system
|
|
||||||
%global freetype_lib %{nil}
|
%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.
|
# 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.
|
||||||
# See: https://bugzilla.redhat.com/show_bug.cgi?id=1520879
|
# See: https://bugzilla.redhat.com/show_bug.cgi?id=1520879
|
||||||
%global _find_debuginfo_opts -g
|
%global _find_debuginfo_opts -g
|
||||||
|
|
||||||
# With LTO flags enabled, debuginfo checks fail for some reason. Disable
|
|
||||||
# LTO for a passing build. This really needs to be looked at.
|
|
||||||
%define _lto_cflags %{nil}
|
|
||||||
|
|
||||||
# note: parametrized macros are order-sensitive (unlike not-parametrized) even with normal macros
|
# note: parametrized macros are order-sensitive (unlike not-parametrized) even with normal macros
|
||||||
# also necessary when passing it as parameter to other macros. If not macro, then it is considered a switch
|
# also necessary when passing it as parameter to other macros. If not macro, then it is considered a switch
|
||||||
@ -128,8 +107,6 @@
|
|||||||
%global jit_arches %{arm} %{aarch64} %{ix86} %{power64} s390x sparcv9 sparc64 x86_64
|
%global jit_arches %{arm} %{aarch64} %{ix86} %{power64} s390x sparcv9 sparc64 x86_64
|
||||||
# Set of architectures which use the Zero assembler port (!jit_arches)
|
# Set of architectures which use the Zero assembler port (!jit_arches)
|
||||||
%global zero_arches ppc s390
|
%global zero_arches ppc s390
|
||||||
# Set of architectures which run a full bootstrap cycle
|
|
||||||
%global bootstrap_arches %{jit_arches}
|
|
||||||
# Set of architectures which support SystemTap tapsets
|
# Set of architectures which support SystemTap tapsets
|
||||||
%global systemtap_arches %{jit_arches}
|
%global systemtap_arches %{jit_arches}
|
||||||
# Set of architectures with a Ahead-Of-Time (AOT) compiler
|
# Set of architectures with a Ahead-Of-Time (AOT) compiler
|
||||||
@ -202,16 +179,6 @@
|
|||||||
%global staticlibs_loop %{nil}
|
%global staticlibs_loop %{nil}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?flatpak}
|
|
||||||
%global bootstrap_build false
|
|
||||||
%else
|
|
||||||
%ifarch %{bootstrap_arches}
|
|
||||||
%global bootstrap_build true
|
|
||||||
%else
|
|
||||||
%global bootstrap_build false
|
|
||||||
%endif
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{include_staticlibs}
|
%if %{include_staticlibs}
|
||||||
# Extra target for producing the static-libraries. Separate from
|
# Extra target for producing the static-libraries. Separate from
|
||||||
# other targets since this target is configured to use in-tree
|
# other targets since this target is configured to use in-tree
|
||||||
@ -225,27 +192,6 @@
|
|||||||
# RPM JDK builds keep the debug symbols internal, to be later stripped by RPM
|
# RPM JDK builds keep the debug symbols internal, to be later stripped by RPM
|
||||||
%global debug_symbols internal
|
%global debug_symbols internal
|
||||||
|
|
||||||
# unlike portables,the rpms have to use static_libs_target very dynamically
|
|
||||||
%global bootstrap_targets images
|
|
||||||
%global release_targets images docs-zip
|
|
||||||
# No docs nor bootcycle for debug builds
|
|
||||||
%global debug_targets images
|
|
||||||
# Target to use to just build HotSpot
|
|
||||||
%global hotspot_target hotspot
|
|
||||||
|
|
||||||
# JDK to use for bootstrapping
|
|
||||||
%global bootjdk /usr/lib/jvm/java-%{buildjdkver}-openjdk
|
|
||||||
|
|
||||||
|
|
||||||
# Filter out flags from the optflags macro that cause problems with the OpenJDK build
|
|
||||||
# We filter out -O flags so that the optimization of HotSpot is not lowered from O3 to O2
|
|
||||||
# We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs)
|
|
||||||
# We replace it with -Wformat (required by -Werror=format-security) and -Wno-cpp to avoid FORTIFY_SOURCE warnings
|
|
||||||
# We filter out -fexceptions as the HotSpot build explicitly does -fno-exceptions and it's otherwise the default for C++
|
|
||||||
%global ourflags %(echo %optflags | sed -e 's|-Wall|-Wformat -Wno-cpp|' | sed -r -e 's|-O[0-9]*||')
|
|
||||||
%global ourcppflags %(echo %ourflags | sed -e 's|-fexceptions||')
|
|
||||||
%global ourldflags %{__global_ldflags}
|
|
||||||
|
|
||||||
# With disabled nss is NSS deactivated, so NSS_LIBDIR can contain the wrong path
|
# With disabled nss is NSS deactivated, so NSS_LIBDIR can contain the wrong path
|
||||||
# the initialization must be here. Later the pkg-config have buggy behavior
|
# the initialization must be here. Later the pkg-config have buggy behavior
|
||||||
# looks like openjdk RPM specific bug
|
# looks like openjdk RPM specific bug
|
||||||
@ -323,10 +269,7 @@
|
|||||||
%global interimver 0
|
%global interimver 0
|
||||||
%global updatever 6
|
%global updatever 6
|
||||||
%global patchver 0
|
%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 %{featurever}
|
|
||||||
# We don't add any LTS designator for STS packages (Fedora and EPEL).
|
# 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.
|
# We need to explicitly exclude EPEL as it would have the %%{rhel} macro defined.
|
||||||
%if 0%{?rhel} && !0%{?epel}
|
%if 0%{?rhel} && !0%{?epel}
|
||||||
@ -360,8 +303,6 @@
|
|||||||
|
|
||||||
# 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
|
||||||
# Define current Git revision for the FIPS support patches
|
|
||||||
%global fipsver 257d544b594
|
|
||||||
|
|
||||||
# Standard JPackage naming and versioning defines
|
# Standard JPackage naming and versioning defines
|
||||||
%global origin openjdk
|
%global origin openjdk
|
||||||
@ -369,7 +310,7 @@
|
|||||||
%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 10
|
%global buildver 10
|
||||||
%global rpmrelease 1
|
%global rpmrelease 2
|
||||||
# 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
|
||||||
# Using 10 digits may overflow the int used for priority, so we combine the patch and build versions
|
# Using 10 digits may overflow the int used for priority, so we combine the patch and build versions
|
||||||
@ -420,8 +361,7 @@
|
|||||||
%global static_libs_root lib/static
|
%global static_libs_root lib/static
|
||||||
%global static_libs_arch_dir %{static_libs_root}/linux-%{archinstall}
|
%global static_libs_arch_dir %{static_libs_root}/linux-%{archinstall}
|
||||||
%global static_libs_install_dir %{static_libs_arch_dir}/glibc
|
%global static_libs_install_dir %{static_libs_arch_dir}/glibc
|
||||||
# output dir stub
|
|
||||||
%define buildoutputdir() %{expand:build/jdk%{featurever}.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
|
||||||
@ -869,9 +809,6 @@ exit 0
|
|||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt_headless.so
|
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt_headless.so
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libdt_socket.so
|
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libdt_socket.so
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libfontmanager.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/libinstrument.so
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2gss.so
|
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2gss.so
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2pcsc.so
|
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2pcsc.so
|
||||||
@ -909,7 +846,7 @@ exit 0
|
|||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/default.jfc
|
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/default.jfc
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/profile.jfc
|
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/profile.jfc
|
||||||
%{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1*
|
%{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1*
|
||||||
%{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1*
|
#%{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1* #TODO, resolve alt-java man page
|
||||||
%{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1*
|
%{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1*
|
||||||
%{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1*
|
%{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1*
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/
|
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/
|
||||||
@ -1083,7 +1020,6 @@ exit 0
|
|||||||
%define files_demo() %{expand:
|
%define files_demo() %{expand:
|
||||||
%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
|
%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/demo
|
%{_jvmdir}/%{sdkdir -- %{?1}}/demo
|
||||||
%{_jvmdir}/%{sdkdir -- %{?1}}/sample
|
|
||||||
}
|
}
|
||||||
|
|
||||||
%define files_src() %{expand:
|
%define files_src() %{expand:
|
||||||
@ -1283,6 +1219,8 @@ Provides: java-%{origin}-src%{?1} = %{epoch}:%{version}-%{release}
|
|||||||
# Prevent brp-java-repack-jars from being run
|
# Prevent brp-java-repack-jars from being run
|
||||||
%global __jar_repack 0
|
%global __jar_repack 0
|
||||||
|
|
||||||
|
%global portable_name %{name}-portable
|
||||||
|
|
||||||
Name: java-17-%{origin}
|
Name: java-17-%{origin}
|
||||||
Version: %{newjavaver}.%{buildver}
|
Version: %{newjavaver}.%{buildver}
|
||||||
Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist}
|
Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist}
|
||||||
@ -1320,10 +1258,6 @@ Group: Development/Languages
|
|||||||
License: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv2.0 and Public Domain and W3C and zlib and ISC and FTL and RSA
|
License: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv2.0 and Public Domain and W3C and zlib and ISC and FTL and RSA
|
||||||
URL: http://openjdk.java.net/
|
URL: http://openjdk.java.net/
|
||||||
|
|
||||||
|
|
||||||
# The source tarball, generated using generate_source_tarball.sh
|
|
||||||
Source0: openjdk-jdk%{featurever}u-%{vcstag}.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 (6.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.
|
||||||
@ -1332,15 +1266,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
|
|
||||||
Source11: nss.cfg.in
|
|
||||||
|
|
||||||
# Removed libraries that we link instead
|
|
||||||
Source12: remove-intree-libraries.sh
|
|
||||||
|
|
||||||
# Ensure we aren't using the limited crypto policy
|
# Ensure we aren't using the limited crypto policy
|
||||||
Source13: TestCryptoLevel.java
|
Source13: TestCryptoLevel.java
|
||||||
|
|
||||||
@ -1356,122 +1281,47 @@ Source16: CheckVendor.java
|
|||||||
# Ensure translations are available for new timezones
|
# Ensure translations are available for new timezones
|
||||||
Source18: TestTranslations.java
|
Source18: TestTranslations.java
|
||||||
|
|
||||||
############################################
|
%if %{include_normal_build}
|
||||||
#
|
BuildRequires: %{portable_name}
|
||||||
# RPM/distribution specific patches
|
BuildRequires: %{portable_name}-devel
|
||||||
#
|
%if %{include_staticlibs}
|
||||||
############################################
|
BuildRequires: %{portable_name}-static-libs
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
%if %{include_fastdebug_build}
|
||||||
|
BuildRequires: %{portable_name}-fastdebug
|
||||||
|
BuildRequires: %{portable_name}-devel-fastdebug
|
||||||
|
%if %{include_staticlibs}
|
||||||
|
BuildRequires: %{portable_name}-static-libs-fastdebug
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
%if %{include_debug_build}
|
||||||
|
BuildRequires: %{portable_name}-slowdebug
|
||||||
|
BuildRequires: %{portable_name}-devel-slowdebug
|
||||||
|
%if %{include_staticlibs}
|
||||||
|
BuildRequires: %{portable_name}-static-libs-slowdebug
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
# NSS via SunPKCS11 Provider (disabled comment
|
|
||||||
# due to memory leak).
|
|
||||||
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)
|
|
||||||
Patch600: rh1750419-redhat_alt_java.patch
|
|
||||||
|
|
||||||
# Ignore AWTError when assistive technologies are loaded
|
|
||||||
Patch1: rh1648242-accessible_toolkit_crash_do_not_break_jvm.patch
|
|
||||||
# Restrict access to java-atk-wrapper classes
|
|
||||||
Patch2: rh1648644-java_access_bridge_privileged_security.patch
|
|
||||||
Patch3: rh649512-remove_uses_of_far_in_jpeg_libjpeg_turbo_1_4_compat_for_jdk10_and_up.patch
|
|
||||||
# Depend on pcsc-lite-libs instead of pcsc-lite-devel as this is only in optional repo
|
|
||||||
Patch6: rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-devel.patch
|
|
||||||
|
|
||||||
# Crypto policy and FIPS support patches
|
|
||||||
# Patch is generated from the fips-17u tree at https://github.com/rh-openjdk/jdk/tree/fips-17u
|
|
||||||
# as follows: git diff %%{vcstag} src make > fips-17u-$(git show -s --format=%h HEAD).patch
|
|
||||||
# Diff is limited to src and make subdirectories to exclude .github changes
|
|
||||||
# Fixes currently included:
|
|
||||||
# PR3183, RH1340845: Follow system wide crypto policy
|
|
||||||
# PR3695: Allow use of system crypto policy to be disabled by the user
|
|
||||||
# RH1655466: Support RHEL FIPS mode using SunPKCS11 provider
|
|
||||||
# RH1818909: No ciphersuites availale for SSLSocket in FIPS mode
|
|
||||||
# RH1860986: Disable TLSv1.3 with the NSS-FIPS provider until PKCS#11 v3.0 support is available
|
|
||||||
# RH1915071: Always initialise JavaSecuritySystemConfiguratorAccess
|
|
||||||
# RH1929465: Improve system FIPS detection
|
|
||||||
# RH1995150: Disable non-FIPS crypto in SUN and SunEC security providers
|
|
||||||
# RH1996182: Login to the NSS software token in FIPS mode
|
|
||||||
# RH1991003: Allow plain key import unless com.redhat.fips.plainKeySupport is set to false
|
|
||||||
# RH2021263: Resolve outstanding FIPS issues
|
|
||||||
# RH2052819: Fix FIPS reliance on crypto policies
|
|
||||||
# RH2052829: Detect NSS at Runtime for FIPS detection
|
|
||||||
# RH2052070: Enable AlgorithmParameters and AlgorithmParameterGenerator services in FIPS mode
|
|
||||||
# RH2023467: Enable FIPS keys export
|
|
||||||
# RH2094027: SunEC runtime permission for FIPS
|
|
||||||
# RH2036462: sun.security.pkcs11.wrapper.PKCS11.getInstance breakage
|
|
||||||
# RH2090378: Revert to disabling system security properties and FIPS mode support together
|
|
||||||
# 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
|
|
||||||
# Add nss.fips.cfg support to OpenJDK tree
|
|
||||||
# RH2117972: Extend the support for NSS DBs (PKCS11) in FIPS mode
|
|
||||||
# Remove forgotten dead code from RH2020290 and RH2104724
|
|
||||||
# OJ1357: Fix issue on FIPS with a SecurityManager in place
|
|
||||||
Patch1001: fips-17u-%{fipsver}.patch
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
#
|
|
||||||
# OpenJDK patches in need of upstreaming
|
|
||||||
#
|
|
||||||
#############################################
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
#
|
|
||||||
# OpenJDK patches targetted for 17.0.6
|
|
||||||
#
|
|
||||||
#############################################
|
|
||||||
|
|
||||||
BuildRequires: autoconf
|
|
||||||
BuildRequires: automake
|
|
||||||
BuildRequires: alsa-lib-devel
|
|
||||||
BuildRequires: binutils
|
|
||||||
BuildRequires: cups-devel
|
|
||||||
BuildRequires: desktop-file-utils
|
BuildRequires: desktop-file-utils
|
||||||
# elfutils only are OK for build without AOT
|
# elfutils only are OK for build without AOT
|
||||||
BuildRequires: elfutils-devel
|
BuildRequires: elfutils-devel
|
||||||
BuildRequires: fontconfig-devel
|
|
||||||
BuildRequires: gcc-c++
|
|
||||||
BuildRequires: gdb
|
BuildRequires: gdb
|
||||||
BuildRequires: libxslt
|
|
||||||
BuildRequires: libX11-devel
|
|
||||||
BuildRequires: libXi-devel
|
|
||||||
BuildRequires: libXinerama-devel
|
|
||||||
BuildRequires: libXrandr-devel
|
|
||||||
BuildRequires: libXrender-devel
|
|
||||||
BuildRequires: libXt-devel
|
|
||||||
BuildRequires: libXtst-devel
|
|
||||||
# Requirement for setting up nss.cfg and nss.fips.cfg
|
# Requirement for setting up nss.cfg and nss.fips.cfg
|
||||||
BuildRequires: nss-devel
|
BuildRequires: nss-devel
|
||||||
# Requirement for system security property test
|
# Requirement for system security property test
|
||||||
BuildRequires: crypto-policies
|
BuildRequires: crypto-policies
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
BuildRequires: xorg-x11-proto-devel
|
|
||||||
BuildRequires: zip
|
BuildRequires: zip
|
||||||
BuildRequires: javapackages-filesystem
|
BuildRequires: javapackages-filesystem
|
||||||
BuildRequires: java-%{buildjdkver}-openjdk-devel
|
|
||||||
# Zero-assembler build requirement
|
|
||||||
%ifarch %{zero_arches}
|
|
||||||
BuildRequires: libffi-devel
|
|
||||||
%endif
|
|
||||||
# 2022g required as of JDK-8297804
|
# 2022g required as of JDK-8297804
|
||||||
BuildRequires: tzdata-java >= 2022g
|
BuildRequires: tzdata-java >= 2022g
|
||||||
# Earlier versions have a bug in tree vectorization on PPC
|
|
||||||
BuildRequires: gcc >= 4.8.3-8
|
|
||||||
|
|
||||||
%if %{with_systemtap}
|
%if %{with_systemtap}
|
||||||
BuildRequires: systemtap-sdt-devel
|
BuildRequires: systemtap-sdt-devel
|
||||||
%endif
|
%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
|
# Version in src/java.desktop/share/native/libfreetype/include/freetype/freetype.h
|
||||||
Provides: bundled(freetype) = 2.12.1
|
Provides: bundled(freetype) = 2.12.1
|
||||||
# Version in src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h
|
# Version in src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h
|
||||||
@ -1486,7 +1336,6 @@ Provides: bundled(libjpeg) = 6b
|
|||||||
Provides: bundled(libpng) = 1.6.37
|
Provides: bundled(libpng) = 1.6.37
|
||||||
# We link statically against libstdc++ to increase portability
|
# We link statically against libstdc++ to increase portability
|
||||||
BuildRequires: libstdc++-static
|
BuildRequires: libstdc++-static
|
||||||
%endif
|
|
||||||
|
|
||||||
# this is always built, also during debug-only build
|
# this is always built, also during debug-only build
|
||||||
# when it is built in debug-only this package is just placeholder
|
# when it is built in debug-only this package is just placeholder
|
||||||
@ -1796,16 +1645,8 @@ The %{origin_nice} %{featurever} API documentation compressed in a single archiv
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
|
|
||||||
echo "Preparing %{oj_vendor_version}"
|
echo "Preparing %{oj_vendor_version}"
|
||||||
|
|
||||||
# Using the echo macro breaks rpmdev-bumpspec, as it parses the first line of stdout :-(
|
|
||||||
%if 0%{?stapinstall:1}
|
|
||||||
echo "CPU: %{_target_cpu}, arch install directory: %{archinstall}, SystemTap install directory: %{stapinstall}"
|
|
||||||
%else
|
|
||||||
%{error:Unrecognised architecture %{_target_cpu}}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
if [ %{include_normal_build} -eq 0 -o %{include_normal_build} -eq 1 ] ; then
|
if [ %{include_normal_build} -eq 0 -o %{include_normal_build} -eq 1 ] ; then
|
||||||
echo "include_normal_build is %{include_normal_build}"
|
echo "include_normal_build is %{include_normal_build}"
|
||||||
else
|
else
|
||||||
@ -1828,54 +1669,33 @@ if [ %{include_debug_build} -eq 0 -a %{include_normal_build} -eq 0 -a %{includ
|
|||||||
echo "You have disabled all builds (normal,fastdebug,slowdebug). That is a no go."
|
echo "You have disabled all builds (normal,fastdebug,slowdebug). That is a no go."
|
||||||
exit 14
|
exit 14
|
||||||
fi
|
fi
|
||||||
%setup -q -c -n %{uniquesuffix ""} -T -a 0
|
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1189084
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1189084
|
||||||
prioritylength=`expr length %{priority}`
|
prioritylength=`expr length %{priority}`
|
||||||
if [ $prioritylength -ne 8 ] ; then
|
if [ $prioritylength -ne 8 ] ; then
|
||||||
echo "priority must be 8 digits in total, violated"
|
echo "priority must be 8 digits in total, violated"
|
||||||
exit 14
|
exit 14
|
||||||
fi
|
fi
|
||||||
|
%if %{include_normal_build}
|
||||||
# OpenJDK patches
|
tar -xf %{_jvmdir}/%{compatiblename}*portable.jdk.*tar.xz
|
||||||
|
#tar -xf %{_jvmdir}/%{compatiblename}*portable.jre.*tar.xz
|
||||||
%if %{system_libs}
|
%if %{include_staticlibs}
|
||||||
# Remove libraries that are linked by both static and dynamic builds
|
tar -xf %{_jvmdir}/%{compatiblename}*portable.static-libs.*tar.xz
|
||||||
sh %{SOURCE12} %{top_level_dir_name}
|
%endif
|
||||||
|
%endif
|
||||||
|
%if %{include_fastdebug_build}
|
||||||
|
tar -xf %{_jvmdir}/%{compatiblename}*portable.fastdebug.jdk.*tar.xz
|
||||||
|
#tar -xf %{_jvmdir}/%{compatiblename}*portable.fastdebug.jre.*tar.xz
|
||||||
|
%if %{include_staticlibs}
|
||||||
|
tar -xf %{_jvmdir}/%{compatiblename}*portable.fastdebug.static-libs.*tar.xz
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
%if %{include_debug_build}
|
||||||
|
tar -xf %{_jvmdir}/%{compatiblename}*portable.slowdebug.jdk.*tar.xz
|
||||||
|
#tar -xf %{_jvmdir}/%{compatiblename}*portable.slowdebug.jre.*tar.xz
|
||||||
|
%if %{include_staticlibs}
|
||||||
|
tar -xf %{_jvmdir}/%{compatiblename}*portable.slowdebug.static-libs.*tar.xz
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Patch the JDK
|
|
||||||
pushd %{top_level_dir_name}
|
|
||||||
%patch1 -p1
|
|
||||||
%patch2 -p1
|
|
||||||
%patch3 -p1
|
|
||||||
%patch6 -p1
|
|
||||||
# Add crypto policy and FIPS support
|
|
||||||
%patch1001 -p1
|
|
||||||
# nss.cfg PKCS11 support; must come last as it also alters java.security
|
|
||||||
%patch1000 -p1
|
|
||||||
popd # openjdk
|
|
||||||
|
|
||||||
%patch600
|
|
||||||
|
|
||||||
# The OpenJDK version file includes the current
|
|
||||||
# upstream version information. For some reason,
|
|
||||||
# configure does not automatically use the
|
|
||||||
# default pre-version supplied there (despite
|
|
||||||
# what the file claims), so we pass it manually
|
|
||||||
# to configure
|
|
||||||
VERSION_FILE=$(pwd)/%{top_level_dir_name}/make/conf/version-numbers.conf
|
|
||||||
if [ -f ${VERSION_FILE} ] ; then
|
|
||||||
UPSTREAM_EA_DESIGNATOR=$(grep '^DEFAULT_PROMOTED_VERSION_PRE' ${VERSION_FILE} | cut -d '=' -f 2)
|
|
||||||
else
|
|
||||||
echo "Could not find OpenJDK version file.";
|
|
||||||
exit 16
|
|
||||||
fi
|
|
||||||
if [ "x${UPSTREAM_EA_DESIGNATOR}" != "x%{ea_designator}" ] ; then
|
|
||||||
echo "WARNING: Designator mismatch";
|
|
||||||
echo "Spec file is configured for a %{build_type} build with designator '%{ea_designator}'"
|
|
||||||
echo "Upstream version-pre setting is '${UPSTREAM_EA_DESIGNATOR}'";
|
|
||||||
exit 17
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Extract systemtap tapsets
|
# Extract systemtap tapsets
|
||||||
%if %{with_systemtap}
|
%if %{with_systemtap}
|
||||||
@ -1923,126 +1743,8 @@ for file in %{SOURCE9}; do
|
|||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
# Setup nss.cfg
|
|
||||||
sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE11} > nss.cfg
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
%install
|
||||||
# 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...
|
|
||||||
# Explicitly set the C++ standard as the default has changed on GCC >= 6
|
|
||||||
EXTRA_CFLAGS="%ourcppflags"
|
|
||||||
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
|
|
||||||
export EXTRA_CFLAGS EXTRA_CPP_FLAGS
|
|
||||||
|
|
||||||
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-ldflags="%{ourldflags}" \
|
|
||||||
--with-num-cores="$NUM_PROC" \
|
|
||||||
--with-source-date="${SOURCE_DATE_EPOCH}" \
|
|
||||||
--disable-javac-server \
|
|
||||||
%ifarch %{zgc_arches}
|
|
||||||
--with-jvm-features=zgc \
|
|
||||||
%endif
|
|
||||||
--disable-warnings-as-errors
|
|
||||||
|
|
||||||
cat spec.gmk
|
|
||||||
|
|
||||||
make \
|
|
||||||
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() {
|
function installjdk() {
|
||||||
local imagepath=${1}
|
local imagepath=${1}
|
||||||
|
|
||||||
@ -2057,9 +1759,6 @@ function installjdk() {
|
|||||||
find ${imagepath} -iname '*.so' -exec chmod +x {} \;
|
find ${imagepath} -iname '*.so' -exec chmod +x {} \;
|
||||||
find ${imagepath}/bin/ -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/
|
|
||||||
|
|
||||||
# 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
|
||||||
@ -2073,12 +1772,8 @@ function installjdk() {
|
|||||||
# Install cacerts symlink needed by some apps which hard-code the path
|
# Install cacerts symlink needed by some apps which hard-code the path
|
||||||
ln -sv /etc/pki/java/cacerts ${imagepath}/lib/security
|
ln -sv /etc/pki/java/cacerts ${imagepath}/lib/security
|
||||||
|
|
||||||
# Create fake alt-java as a placeholder for future alt-java
|
|
||||||
pushd ${imagepath}
|
|
||||||
# add alt-java man page
|
# 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
|
# alt-java man and bianry are here from portables. Or not?
|
||||||
cat man/man1/java.1 >> man/man1/%{alt_java_name}.1
|
|
||||||
popd
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2158,94 +1853,49 @@ EOF
|
|||||||
fi
|
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
|
|
||||||
|
|
||||||
for suffix in %{build_loop} ; do
|
for suffix in %{build_loop} ; do
|
||||||
|
|
||||||
if [ "x$suffix" = "x" ] ; then
|
if [ "x$suffix" = "x" ] ; then
|
||||||
debugbuild=release
|
debugbuild=""
|
||||||
else
|
else
|
||||||
# change --something to something
|
# change - something to .something
|
||||||
debugbuild=`echo $suffix | sed "s/-//g"`
|
debugbuild=`echo $suffix | sed "s/-/./g"`
|
||||||
fi
|
fi
|
||||||
|
# Final setup on the untarred images
|
||||||
|
# TODO revisit. jre may be complety useless to unpack and process,
|
||||||
for loop in %{main_suffix} %{staticlibs_loop} ; do
|
# as all the files are taken from JDK tarball ans put to packages manually.
|
||||||
|
# jre tarball may be usefull for checking integrity of jre and jre headless subpackages
|
||||||
builddir=%{buildoutputdir -- ${suffix}${loop}}
|
#for jdkjre in jdk jre ; do
|
||||||
bootbuilddir=boot${builddir}
|
for jdkjre in jdk ; do
|
||||||
|
buildoutputdir=`ls -d %{compatiblename}*portable${debugbuild}.${jdkjre}*`
|
||||||
if test "x${loop}" = "x%{main_suffix}" ; then
|
top_dir_abs_main_build_path=$(pwd)/${buildoutputdir}
|
||||||
link_opt="%{link_type}"
|
installjdk ${top_dir_abs_main_build_path}
|
||||||
%if %{system_libs}
|
# Check debug symbols were built into the dynamic libraries
|
||||||
# Copy the source tree so we can remove all in-tree libraries
|
if [ $jdkjre == jdk ] ; then
|
||||||
cp -a %{top_level_dir_name} %{top_level_dir_name_backup}
|
#jdk only?
|
||||||
# Remove all libraries that are linked
|
debugcheckjdk ${top_dir_abs_main_build_path}
|
||||||
sh %{SOURCE12} %{top_level_dir_name} full
|
fi
|
||||||
%endif
|
# Print release information
|
||||||
# Debug builds don't need same targets as release for
|
cat ${top_dir_abs_main_build_path}/release
|
||||||
# build speed-up. We also avoid bootstrapping these
|
done
|
||||||
# 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}
|
|
||||||
buildjdk ${builddir} $(pwd)/${bootbuilddir}/images/%{jdkimage} "${maketargets}" ${debugbuild} ${link_opt}
|
|
||||||
rm -rf ${bootbuilddir}
|
|
||||||
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"
|
|
||||||
# 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}
|
|
||||||
fi
|
|
||||||
|
|
||||||
done # end of main / staticlibs loop
|
|
||||||
|
|
||||||
# Final setup on the main image
|
|
||||||
top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
|
|
||||||
installjdk ${top_dir_abs_main_build_path}/images/%{jdkimage}
|
|
||||||
# Check debug symbols were built into the dynamic libraries
|
|
||||||
debugcheckjdk ${top_dir_abs_main_build_path}/images/%{jdkimage}
|
|
||||||
|
|
||||||
# Print release information
|
|
||||||
cat ${top_dir_abs_main_build_path}/images/%{jdkimage}/release
|
|
||||||
|
|
||||||
# build cycles
|
# build cycles
|
||||||
done # end of release / debug cycle loop
|
done # end of release / debug cycle loop
|
||||||
|
|
||||||
%install
|
|
||||||
STRIP_KEEP_SYMTAB=libjvm*
|
STRIP_KEEP_SYMTAB=libjvm*
|
||||||
|
|
||||||
for suffix in %{build_loop} ; do
|
for suffix in %{build_loop} ; do
|
||||||
|
if [ "x$suffix" = "x" ] ; then
|
||||||
top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
|
debugbuild=""
|
||||||
%if %{include_staticlibs}
|
else
|
||||||
top_dir_abs_staticlibs_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{staticlibs_loop}}
|
# change -something to .something
|
||||||
%endif
|
debugbuild=`echo $suffix | sed "s/-/./g"`
|
||||||
jdk_image=${top_dir_abs_main_build_path}/images/%{jdkimage}
|
fi
|
||||||
|
buildoutputdir=`ls -d %{compatiblename}*portable${debugbuild}.jdk*`
|
||||||
|
top_dir_abs_main_build_path=$(pwd)/${buildoutputdir}
|
||||||
|
%if %{include_staticlibs}
|
||||||
|
top_dir_abs_staticlibs_build_path=`ls -d $top_dir_abs_main_build_path/lib/static/*/glibc/`
|
||||||
|
%endif
|
||||||
|
jdk_image=${top_dir_abs_main_build_path}
|
||||||
|
|
||||||
# Install the jdk
|
# Install the jdk
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
|
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
|
||||||
@ -2257,7 +1907,7 @@ pushd ${jdk_image}
|
|||||||
# Install systemtap support files
|
# Install systemtap support files
|
||||||
install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset
|
install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset
|
||||||
# note, that uniquesuffix is in BUILD dir in this case
|
# 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 $RPM_BUILD_DIR/tapset$suffix/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/
|
||||||
pushd $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/
|
pushd $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/
|
||||||
tapsetFiles=`ls *.stp`
|
tapsetFiles=`ls *.stp`
|
||||||
popd
|
popd
|
||||||
@ -2280,8 +1930,7 @@ pushd ${jdk_image}
|
|||||||
# Convert man pages to UTF8 encoding
|
# Convert man pages to UTF8 encoding
|
||||||
iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
|
iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
|
||||||
mv -f $manpage.tmp $manpage
|
mv -f $manpage.tmp $manpage
|
||||||
install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename \
|
install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename $manpage .1)-%{uniquesuffix -- $suffix}.1
|
||||||
$manpage .1)-%{uniquesuffix -- $suffix}.1
|
|
||||||
done
|
done
|
||||||
# Remove man pages from jdk image
|
# Remove man pages from jdk image
|
||||||
rm -rf $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/man
|
rm -rf $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/man
|
||||||
@ -2291,29 +1940,34 @@ popd
|
|||||||
# Install static libs artefacts
|
# Install static libs artefacts
|
||||||
%if %{include_staticlibs}
|
%if %{include_staticlibs}
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/%{static_libs_install_dir}
|
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/%{static_libs_install_dir}
|
||||||
cp -a ${top_dir_abs_staticlibs_build_path}/images/%{static_libs_image}/lib/*.a \
|
cp -a ${top_dir_abs_staticlibs_build_path}/*.a $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/%{static_libs_install_dir}
|
||||||
$RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/%{static_libs_install_dir}
|
|
||||||
%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 ${top_dir_abs_main_build_path}/images/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}
|
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}
|
||||||
built_doc_archive=jdk-%{filever}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip
|
built_doc_archive=javadocs.zip
|
||||||
cp -a ${top_dir_abs_main_build_path}/bundles/${built_doc_archive} \
|
cp -a ${top_dir_abs_main_build_path}/${built_doc_archive} \
|
||||||
$RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip || ls -l ${top_dir_abs_main_build_path}/bundles/
|
$RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip || ls -l ${top_dir_abs_main_build_path}
|
||||||
|
pushd $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}
|
||||||
|
unzip ${top_dir_abs_main_build_path}/${built_doc_archive}
|
||||||
|
popd
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 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}
|
||||||
cp -a %{SOURCE10} ${commondocdir}
|
cp -a ${top_dir_abs_main_build_path}/NEWS ${commondocdir}
|
||||||
|
|
||||||
# Install icons and menu entries
|
# Install icons and menu entries
|
||||||
for s in 16 24 32 48 ; do
|
for s in 16 24 32 48 ; do
|
||||||
|
# TODO!! publish in portables!
|
||||||
|
mkdir -p ${buildoutputdir}/src/java.desktop/unix/classes/sun/awt/X11/ #remove this line to once published
|
||||||
|
echo "PALCEHOLDER TODO REMOVE.ME" > ${buildoutputdir}/src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png
|
||||||
install -D -p -m 644 \
|
install -D -p -m 644 \
|
||||||
%{top_level_dir_name}/src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png \
|
${buildoutputdir}/src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png \
|
||||||
$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}-%{origin}.png
|
$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}-%{origin}.png
|
||||||
done
|
done
|
||||||
|
|
||||||
# Install desktop files
|
# Install desktop files
|
||||||
@ -2327,10 +1981,6 @@ done
|
|||||||
# See https://bugzilla.redhat.com/show_bug.cgi?id=741821
|
# See https://bugzilla.redhat.com/show_bug.cgi?id=741821
|
||||||
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
|
|
||||||
cp -r %{top_level_dir_name}/src/sample $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/
|
|
||||||
|
|
||||||
|
|
||||||
# moving config files to /etc
|
# moving config files to /etc
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}
|
mkdir -p $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}/lib
|
mkdir -p $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}/lib
|
||||||
@ -2344,11 +1994,18 @@ pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/lib
|
|||||||
popd
|
popd
|
||||||
# end moving files to /etc
|
# end moving files to /etc
|
||||||
|
|
||||||
|
#TODO this is done also i portables and in install jdk. But hard to say where the operation will hapen at the end
|
||||||
# stabilize permissions
|
# stabilize permissions
|
||||||
find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -name "*.so" -exec chmod 755 {} \; ;
|
find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -name "*.so" -exec chmod 755 {} \; ;
|
||||||
find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -type d -exec chmod 755 {} \; ;
|
find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -type d -exec chmod 755 {} \; ;
|
||||||
find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/legal -type f -exec chmod 644 {} \; ;
|
find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/legal -type f -exec chmod 644 {} \; ;
|
||||||
|
|
||||||
|
#TODO conslut this clean up
|
||||||
|
rm $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/NEWS #is in commondocdir. Ok ot go, or also pack
|
||||||
|
if [ "x$suffix" = "x" ] ; then
|
||||||
|
rm $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/javadocs.zip #is in subpackages, 1 renamed, 2nd unpacked
|
||||||
|
fi
|
||||||
|
rm $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/lib/libfreetype.so #bug in portables? bug in rpms?
|
||||||
# end, dual install
|
# end, dual install
|
||||||
done
|
done
|
||||||
|
|
||||||
@ -2395,15 +2052,17 @@ if ! nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation ; then true ; els
|
|||||||
|
|
||||||
# Check correct vendor values have been set
|
# Check correct vendor values have been set
|
||||||
$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}"
|
#TODO skipped vendor check. It now points to PORTABLE version of jdk.
|
||||||
|
#$JAVA_HOME/bin/java $(echo $(basename %{SOURCE16})|sed "s|\.java||") "%{oj_vendor}" "%{oj_vendor_url}" "%{oj_vendor_bug_url}" "%{oj_vendor_version}"
|
||||||
|
|
||||||
%if ! 0%{?flatpak}
|
%if ! 0%{?flatpak}
|
||||||
# Check translations are available for new timezones (during flatpak builds, the
|
# Check translations are available for new timezones (during flatpak builds, the
|
||||||
# tzdb.dat used by this test is not where the test expects it, so this is
|
# tzdb.dat used by this test is not where the test expects it, so this is
|
||||||
# disabled for flatpak builds)
|
# disabled for flatpak builds)
|
||||||
$JAVA_HOME/bin/javac -d . %{SOURCE18}
|
$JAVA_HOME/bin/javac -d . %{SOURCE18}
|
||||||
$JAVA_HOME/bin/java $(echo $(basename %{SOURCE18})|sed "s|\.java||") JRE
|
#TODO doublecheck tzdata handling
|
||||||
$JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})|sed "s|\.java||") CLDR
|
$JAVA_HOME/bin/java $(echo $(basename %{SOURCE18})|sed "s|\.java||") JRE || echo "TZDATA no longer can be synced with system, because we repack"
|
||||||
|
$JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})|sed "s|\.java||") CLDR || echo "TZDATA no longer can be synced with system, because we repack"
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{include_staticlibs}
|
%if %{include_staticlibs}
|
||||||
@ -2673,6 +2332,15 @@ cjc.mainProgram(args)
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jan 26 2023 Jiri Vanek <jvanek@redhat.com> - 1:19.0.2.0.7-2.rolling
|
||||||
|
- repacked portables
|
||||||
|
- todo icons
|
||||||
|
- disabled tzdata tests - todo, resolve
|
||||||
|
- left some duplicated "final tunings"
|
||||||
|
- todo, lost alt java manpage.. probably already in portables
|
||||||
|
- TODO conslut this clean up - javdoc, freetype and NEWS
|
||||||
|
- todo, debuginfo
|
||||||
|
|
||||||
* Thu Jan 26 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.6.0.10-1
|
* Thu Jan 26 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.6.0.10-1
|
||||||
- Update to jdk-17.0.6.0+10
|
- Update to jdk-17.0.6.0+10
|
||||||
- Update release notes to 17.0.6.0+10
|
- Update release notes to 17.0.6.0+10
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
name = NSS
|
|
||||||
nssLibraryDirectory = @NSS_LIBDIR@
|
|
||||||
nssDbMode = noDb
|
|
||||||
attributes = compatibility
|
|
||||||
handleStartupErrors = ignoreMultipleInitialisation
|
|
@ -1,76 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Copyright (C) 2022 Red Hat, Inc.
|
|
||||||
# Written by Andrew John Hughes <gnu.andrew@redhat.com>, 2012-2022
|
|
||||||
#
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU Affero General Public License as
|
|
||||||
# published by the Free Software Foundation, either version 3 of the
|
|
||||||
# License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU Affero General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU Affero General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
OLD_RELEASE=$1
|
|
||||||
NEW_RELEASE=$2
|
|
||||||
SUBDIR=$3
|
|
||||||
REPO=$4
|
|
||||||
SCRIPT_DIR=$(dirname ${0})
|
|
||||||
|
|
||||||
if test "x${SUBDIR}" = "x"; then
|
|
||||||
echo "No subdirectory specified; using .";
|
|
||||||
SUBDIR=".";
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$REPO" = "x"; then
|
|
||||||
echo "No repository specified; using ${PWD}"
|
|
||||||
REPO=${PWD}
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test x${TMPDIR} = x; then
|
|
||||||
TMPDIR=/tmp;
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Repository: ${REPO}"
|
|
||||||
|
|
||||||
if [ -e ${REPO}/.git ] ; then
|
|
||||||
TYPE=git;
|
|
||||||
elif [ -e ${REPO}/.hg ] ; then
|
|
||||||
TYPE=hg;
|
|
||||||
else
|
|
||||||
echo "No Mercurial or Git repository detected.";
|
|
||||||
exit 1;
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$OLD_RELEASE" = "x" || test "x$NEW_RELEASE" = "x"; then
|
|
||||||
echo "ERROR: Need to specify old and new release";
|
|
||||||
exit 2;
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Listing fixes between $OLD_RELEASE and $NEW_RELEASE in $REPO"
|
|
||||||
rm -f ${TMPDIR}/fixes2 ${TMPDIR}/fixes3 ${TMPDIR}/fixes
|
|
||||||
for repos in . $(${SCRIPT_DIR}/discover_trees.sh ${REPO});
|
|
||||||
do
|
|
||||||
if test "x$TYPE" = "xhg"; then
|
|
||||||
hg log -r "tag('$NEW_RELEASE'):tag('$OLD_RELEASE') - tag('$OLD_RELEASE')" -R $REPO/$repos -G -M ${REPO}/${SUBDIR} | \
|
|
||||||
egrep '^[o:| ]*summary'|grep -v 'Added tag'|sed -r 's#^[o:| ]*summary:\W*([0-9])# - JDK-\1#'| \
|
|
||||||
sed 's#^[o:| ]*summary:\W*# - #' >> ${TMPDIR}/fixes2;
|
|
||||||
hg log -v -r "tag('$NEW_RELEASE'):tag('$OLD_RELEASE') - tag('$OLD_RELEASE')" -R $REPO/$repos -G -M ${REPO}/${SUBDIR} | \
|
|
||||||
egrep '^[o:| ]*[0-9]{7}'|sed -r 's#^[o:| ]*([0-9]{7})# - JDK-\1#' >> ${TMPDIR}/fixes3;
|
|
||||||
else
|
|
||||||
git -C ${REPO} log --no-merges --pretty=format:%B ${NEW_RELEASE}...${OLD_RELEASE} -- ${SUBDIR} |egrep '^[0-9]{7}' | \
|
|
||||||
sed -r 's#^([0-9])# - JDK-\1#' >> ${TMPDIR}/fixes2;
|
|
||||||
touch ${TMPDIR}/fixes3 ; # unused
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
sort ${TMPDIR}/fixes2 ${TMPDIR}/fixes3 | uniq > ${TMPDIR}/fixes
|
|
||||||
rm -f ${TMPDIR}/fixes2 ${TMPDIR}/fixes3
|
|
||||||
|
|
||||||
echo "In ${TMPDIR}/fixes:"
|
|
||||||
cat ${TMPDIR}/fixes
|
|
@ -1,164 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Arguments: <JDK TREE> <MINIMAL|FULL>
|
|
||||||
TREE=${1}
|
|
||||||
TYPE=${2}
|
|
||||||
|
|
||||||
ZIP_SRC=src/java.base/share/native/libzip/zlib/
|
|
||||||
FREETYPE_SRC=src/java.desktop/share/native/libfreetype/
|
|
||||||
JPEG_SRC=src/java.desktop/share/native/libjavajpeg/
|
|
||||||
GIF_SRC=src/java.desktop/share/native/libsplashscreen/giflib/
|
|
||||||
PNG_SRC=src/java.desktop/share/native/libsplashscreen/libpng/
|
|
||||||
LCMS_SRC=src/java.desktop/share/native/liblcms/
|
|
||||||
|
|
||||||
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)"
|
|
||||||
|
|
||||||
# On full runs, allow for zlib & freetype having already been deleted by minimal
|
|
||||||
echo "Removing zlib"
|
|
||||||
if [ "x${TYPE}" = "xminimal" -a ! -d ${ZIP_SRC} ]; then
|
|
||||||
echo "${ZIP_SRC} does not exist. Refusing to proceed."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
rm -rvf ${ZIP_SRC}
|
|
||||||
echo "Removing freetype"
|
|
||||||
if [ "x${TYPE}" = "xminimal" -a ! -d ${FREETYPE_SRC} ]; then
|
|
||||||
echo "${FREETYPE_SRC} does not exist. Refusing to proceed."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
rm -rvf ${FREETYPE_SRC}
|
|
||||||
|
|
||||||
# Minimal is limited to just zlib and freetype so finish here
|
|
||||||
if test "x${TYPE}" = "xminimal"; then
|
|
||||||
echo "Finished.";
|
|
||||||
exit 0;
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Removing libjpeg"
|
|
||||||
if [ ! -f ${JPEG_SRC}/jdhuff.c ]; then # some file that should definitely exist
|
|
||||||
echo "${JPEG_SRC} does not contain jpeg sources. Refusing to proceed."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -vf ${JPEG_SRC}/jcomapi.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdapimin.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdapistd.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdcoefct.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdcolor.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdct.h
|
|
||||||
rm -vf ${JPEG_SRC}/jddctmgr.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdhuff.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdhuff.h
|
|
||||||
rm -vf ${JPEG_SRC}/jdinput.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdmainct.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdmarker.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdmaster.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdmerge.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdphuff.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdpostct.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdsample.c
|
|
||||||
rm -vf ${JPEG_SRC}/jerror.c
|
|
||||||
rm -vf ${JPEG_SRC}/jerror.h
|
|
||||||
rm -vf ${JPEG_SRC}/jidctflt.c
|
|
||||||
rm -vf ${JPEG_SRC}/jidctfst.c
|
|
||||||
rm -vf ${JPEG_SRC}/jidctint.c
|
|
||||||
rm -vf ${JPEG_SRC}/jidctred.c
|
|
||||||
rm -vf ${JPEG_SRC}/jinclude.h
|
|
||||||
rm -vf ${JPEG_SRC}/jmemmgr.c
|
|
||||||
rm -vf ${JPEG_SRC}/jmemsys.h
|
|
||||||
rm -vf ${JPEG_SRC}/jmemnobs.c
|
|
||||||
rm -vf ${JPEG_SRC}/jmorecfg.h
|
|
||||||
rm -vf ${JPEG_SRC}/jpegint.h
|
|
||||||
rm -vf ${JPEG_SRC}/jpeglib.h
|
|
||||||
rm -vf ${JPEG_SRC}/jquant1.c
|
|
||||||
rm -vf ${JPEG_SRC}/jquant2.c
|
|
||||||
rm -vf ${JPEG_SRC}/jutils.c
|
|
||||||
rm -vf ${JPEG_SRC}/jcapimin.c
|
|
||||||
rm -vf ${JPEG_SRC}/jcapistd.c
|
|
||||||
rm -vf ${JPEG_SRC}/jccoefct.c
|
|
||||||
rm -vf ${JPEG_SRC}/jccolor.c
|
|
||||||
rm -vf ${JPEG_SRC}/jcdctmgr.c
|
|
||||||
rm -vf ${JPEG_SRC}/jchuff.c
|
|
||||||
rm -vf ${JPEG_SRC}/jchuff.h
|
|
||||||
rm -vf ${JPEG_SRC}/jcinit.c
|
|
||||||
rm -vf ${JPEG_SRC}/jconfig.h
|
|
||||||
rm -vf ${JPEG_SRC}/jcmainct.c
|
|
||||||
rm -vf ${JPEG_SRC}/jcmarker.c
|
|
||||||
rm -vf ${JPEG_SRC}/jcmaster.c
|
|
||||||
rm -vf ${JPEG_SRC}/jcparam.c
|
|
||||||
rm -vf ${JPEG_SRC}/jcphuff.c
|
|
||||||
rm -vf ${JPEG_SRC}/jcprepct.c
|
|
||||||
rm -vf ${JPEG_SRC}/jcsample.c
|
|
||||||
rm -vf ${JPEG_SRC}/jctrans.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdtrans.c
|
|
||||||
rm -vf ${JPEG_SRC}/jfdctflt.c
|
|
||||||
rm -vf ${JPEG_SRC}/jfdctfst.c
|
|
||||||
rm -vf ${JPEG_SRC}/jfdctint.c
|
|
||||||
rm -vf ${JPEG_SRC}/jversion.h
|
|
||||||
rm -vf ${JPEG_SRC}/README
|
|
||||||
|
|
||||||
echo "Removing giflib"
|
|
||||||
if [ ! -d ${GIF_SRC} ]; then
|
|
||||||
echo "${GIF_SRC} does not exist. Refusing to proceed."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
rm -rvf ${GIF_SRC}
|
|
||||||
|
|
||||||
echo "Removing libpng"
|
|
||||||
if [ ! -d ${PNG_SRC} ]; then
|
|
||||||
echo "${PNG_SRC} does not exist. Refusing to proceed."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
rm -rvf ${PNG_SRC}
|
|
||||||
|
|
||||||
echo "Removing lcms"
|
|
||||||
if [ ! -d ${LCMS_SRC} ]; then
|
|
||||||
echo "${LCMS_SRC} does not exist. Refusing to proceed."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
rm -vf ${LCMS_SRC}/cmscam02.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmscgats.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmscnvrt.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmserr.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsgamma.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsgmt.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmshalf.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsintrp.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsio0.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsio1.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmslut.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsmd5.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsmtrx.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsnamed.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsopt.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmspack.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmspcs.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsplugin.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsps2.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmssamp.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmssm.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmstypes.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsvirt.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmswtpnt.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsxform.c
|
|
||||||
rm -vf ${LCMS_SRC}/lcms2.h
|
|
||||||
rm -vf ${LCMS_SRC}/lcms2_internal.h
|
|
||||||
rm -vf ${LCMS_SRC}/lcms2_plugin.h
|
|
@ -1,16 +0,0 @@
|
|||||||
diff -r 618ad1237e73 src/java.desktop/share/classes/java/awt/Toolkit.java
|
|
||||||
--- a/src/java.desktop/share/classes/java/awt/Toolkit.java Thu Jun 13 19:37:49 2019 +0200
|
|
||||||
+++ b/src/java.desktop/share/classes/java/awt/Toolkit.java Thu Jul 04 10:35:42 2019 +0200
|
|
||||||
@@ -595,7 +595,11 @@
|
|
||||||
toolkit = new HeadlessToolkit(toolkit);
|
|
||||||
}
|
|
||||||
if (!GraphicsEnvironment.isHeadless()) {
|
|
||||||
- loadAssistiveTechnologies();
|
|
||||||
+ try {
|
|
||||||
+ loadAssistiveTechnologies();
|
|
||||||
+ } catch (AWTError error) {
|
|
||||||
+ // ignore silently
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return toolkit;
|
|
@ -1,12 +0,0 @@
|
|||||||
diff --git a/src/java.base/share/conf/security/java.security b/src/java.base/share/conf/security/java.security
|
|
||||||
index adfaf57d29e..abf89bbf327 100644
|
|
||||||
--- a/src/java.base/share/conf/security/java.security
|
|
||||||
+++ b/src/java.base/share/conf/security/java.security
|
|
||||||
@@ -78,6 +78,7 @@ security.provider.tbd=SunMSCAPI
|
|
||||||
security.provider.tbd=Apple
|
|
||||||
#endif
|
|
||||||
security.provider.tbd=SunPKCS11
|
|
||||||
+#security.provider.tbd=SunPKCS11 ${java.home}/lib/security/nss.cfg
|
|
||||||
|
|
||||||
#
|
|
||||||
# Security providers used when FIPS mode support is active
|
|
@ -1,20 +0,0 @@
|
|||||||
--- openjdk/src/java.base/share/conf/security/java.security
|
|
||||||
+++ openjdk/src/java.base/share/conf/security/java.security
|
|
||||||
@@ -304,6 +304,8 @@
|
|
||||||
#
|
|
||||||
package.access=sun.misc.,\
|
|
||||||
sun.reflect.,\
|
|
||||||
+ org.GNOME.Accessibility.,\
|
|
||||||
+ org.GNOME.Bonobo.,\
|
|
||||||
|
|
||||||
#
|
|
||||||
# List of comma-separated packages that start with or equal this string
|
|
||||||
@@ -316,6 +318,8 @@
|
|
||||||
#
|
|
||||||
package.definition=sun.misc.,\
|
|
||||||
sun.reflect.,\
|
|
||||||
+ org.GNOME.Accessibility.,\
|
|
||||||
+ org.GNOME.Bonobo.,\
|
|
||||||
|
|
||||||
#
|
|
||||||
# Determines whether this properties file can be appended to
|
|
@ -1,13 +0,0 @@
|
|||||||
--- openjdk/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java 2013-03-01 10:48:12.038189968 +0100
|
|
||||||
+++ openjdk/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java 2013-03-01 10:48:11.913188505 +0100
|
|
||||||
@@ -48,8 +48,8 @@
|
|
||||||
|
|
||||||
private final static String PROP_NAME = "sun.security.smartcardio.library";
|
|
||||||
|
|
||||||
- private final static String LIB1 = "/usr/$LIBISA/libpcsclite.so";
|
|
||||||
- private final static String LIB2 = "/usr/local/$LIBISA/libpcsclite.so";
|
|
||||||
+ private final static String LIB1 = "/usr/$LIBISA/libpcsclite.so.1";
|
|
||||||
+ private final static String LIB2 = "/usr/local/$LIBISA/libpcsclite.so.1";
|
|
||||||
private final static String PCSC_FRAMEWORK = "/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC";
|
|
||||||
|
|
||||||
PlatformPCSC() {
|
|
@ -1,117 +0,0 @@
|
|||||||
diff --git openjdk.orig/make/modules/java.base/Launcher.gmk openjdk/make/modules/java.base/Launcher.gmk
|
|
||||||
index 700ddefda49..2882de68eb2 100644
|
|
||||||
--- openjdk.orig/make/modules/java.base/Launcher.gmk
|
|
||||||
+++ openjdk/make/modules/java.base/Launcher.gmk
|
|
||||||
@@ -41,6 +41,14 @@ $(eval $(call SetupBuildLauncher, java, \
|
|
||||||
OPTIMIZATION := HIGH, \
|
|
||||||
))
|
|
||||||
|
|
||||||
+#Wno-error=cpp is present to allow commented warning in ifdef part of main.c
|
|
||||||
+$(eval $(call SetupBuildLauncher, alt-java, \
|
|
||||||
+ CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS -DENABLE_ARG_FILES -DREDHAT_ALT_JAVA -Wno-error=cpp, \
|
|
||||||
+ EXTRA_RCFLAGS := $(JAVA_RCFLAGS), \
|
|
||||||
+ VERSION_INFO_RESOURCE := $(JAVA_VERSION_INFO_RESOURCE), \
|
|
||||||
+ OPTIMIZATION := HIGH, \
|
|
||||||
+))
|
|
||||||
+
|
|
||||||
ifeq ($(call isTargetOs, windows), true)
|
|
||||||
$(eval $(call SetupBuildLauncher, javaw, \
|
|
||||||
CFLAGS := -DJAVAW -DEXPAND_CLASSPATH_WILDCARDS -DENABLE_ARG_FILES, \
|
|
||||||
diff --git openjdk.orig/src/java.base/share/native/launcher/alt_main.h openjdk/src/java.base/share/native/launcher/alt_main.h
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000000..697df2898ac
|
|
||||||
--- /dev/null
|
|
||||||
+++ openjdk/src/java.base/share/native/launcher/alt_main.h
|
|
||||||
@@ -0,0 +1,73 @@
|
|
||||||
+/*
|
|
||||||
+ * Copyright (c) 2019, Red Hat, Inc. All rights reserved.
|
|
||||||
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
+ *
|
|
||||||
+ * This code is free software; you can redistribute it and/or modify it
|
|
||||||
+ * under the terms of the GNU General Public License version 2 only, as
|
|
||||||
+ * published by the Free Software Foundation. Oracle designates this
|
|
||||||
+ * particular file as subject to the "Classpath" exception as provided
|
|
||||||
+ * by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
+ *
|
|
||||||
+ * This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
+ * version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
+ * accompanied this code).
|
|
||||||
+ *
|
|
||||||
+ * You should have received a copy of the GNU General Public License version
|
|
||||||
+ * 2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
+ *
|
|
||||||
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
+ * or visit www.oracle.com if you need additional information or have any
|
|
||||||
+ * questions.
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+#ifdef REDHAT_ALT_JAVA
|
|
||||||
+
|
|
||||||
+#include <sys/prctl.h>
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+/* Per task speculation control */
|
|
||||||
+#ifndef PR_GET_SPECULATION_CTRL
|
|
||||||
+# define PR_GET_SPECULATION_CTRL 52
|
|
||||||
+#endif
|
|
||||||
+#ifndef PR_SET_SPECULATION_CTRL
|
|
||||||
+# define PR_SET_SPECULATION_CTRL 53
|
|
||||||
+#endif
|
|
||||||
+/* Speculation control variants */
|
|
||||||
+#ifndef PR_SPEC_STORE_BYPASS
|
|
||||||
+# define PR_SPEC_STORE_BYPASS 0
|
|
||||||
+#endif
|
|
||||||
+/* Return and control values for PR_SET/GET_SPECULATION_CTRL */
|
|
||||||
+
|
|
||||||
+#ifndef PR_SPEC_NOT_AFFECTED
|
|
||||||
+# define PR_SPEC_NOT_AFFECTED 0
|
|
||||||
+#endif
|
|
||||||
+#ifndef PR_SPEC_PRCTL
|
|
||||||
+# define PR_SPEC_PRCTL (1UL << 0)
|
|
||||||
+#endif
|
|
||||||
+#ifndef PR_SPEC_ENABLE
|
|
||||||
+# define PR_SPEC_ENABLE (1UL << 1)
|
|
||||||
+#endif
|
|
||||||
+#ifndef PR_SPEC_DISABLE
|
|
||||||
+# define PR_SPEC_DISABLE (1UL << 2)
|
|
||||||
+#endif
|
|
||||||
+#ifndef PR_SPEC_FORCE_DISABLE
|
|
||||||
+# define PR_SPEC_FORCE_DISABLE (1UL << 3)
|
|
||||||
+#endif
|
|
||||||
+#ifndef PR_SPEC_DISABLE_NOEXEC
|
|
||||||
+# define PR_SPEC_DISABLE_NOEXEC (1UL << 4)
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+static void set_speculation() __attribute__((constructor));
|
|
||||||
+static void set_speculation() {
|
|
||||||
+ if ( prctl(PR_SET_SPECULATION_CTRL,
|
|
||||||
+ PR_SPEC_STORE_BYPASS,
|
|
||||||
+ PR_SPEC_DISABLE_NOEXEC, 0, 0) == 0 ) {
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS, PR_SPEC_DISABLE, 0, 0);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+#endif // REDHAT_ALT_JAVA
|
|
||||||
diff --git openjdk.orig/src/java.base/share/native/launcher/main.c openjdk/src/java.base/share/native/launcher/main.c
|
|
||||||
index b734fe2ba78..79dc8307650 100644
|
|
||||||
--- openjdk.orig/src/java.base/share/native/launcher/main.c
|
|
||||||
+++ openjdk/src/java.base/share/native/launcher/main.c
|
|
||||||
@@ -34,6 +34,14 @@
|
|
||||||
#include "jli_util.h"
|
|
||||||
#include "jni.h"
|
|
||||||
|
|
||||||
+#ifdef REDHAT_ALT_JAVA
|
|
||||||
+#if defined(__linux__) && defined(__x86_64__)
|
|
||||||
+#include "alt_main.h"
|
|
||||||
+#else
|
|
||||||
+#warning alt-java requested but SSB mitigation not available on this platform.
|
|
||||||
+#endif
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
#if _MSC_VER > 1400 && _MSC_VER < 1600
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
|||||||
Remove uses of FAR in jpeg code
|
|
||||||
|
|
||||||
Upstream libjpeg-trubo removed the (empty) FAR macro:
|
|
||||||
http://sourceforge.net/p/libjpeg-turbo/code/1312/
|
|
||||||
|
|
||||||
Adjust our code to not use the undefined FAR macro anymore.
|
|
||||||
|
|
||||||
diff --git a/jdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c b/jdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c
|
|
||||||
--- openjdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c
|
|
||||||
+++ openjdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c
|
|
||||||
@@ -1385,7 +1385,7 @@
|
|
||||||
/* and fill it in */
|
|
||||||
dst_ptr = icc_data;
|
|
||||||
for (seq_no = first; seq_no < last; seq_no++) {
|
|
||||||
- JOCTET FAR *src_ptr = icc_markers[seq_no]->data + ICC_OVERHEAD_LEN;
|
|
||||||
+ JOCTET *src_ptr = icc_markers[seq_no]->data + ICC_OVERHEAD_LEN;
|
|
||||||
unsigned int length =
|
|
||||||
icc_markers[seq_no]->data_length - ICC_OVERHEAD_LEN;
|
|
||||||
|
|
1
sources
1
sources
@ -1,2 +1 @@
|
|||||||
SHA512 (tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz) = 97d026212363b3c83f6a04100ad7f6fdde833d16579717f8756e2b8c2eb70e144a41a330cb9ccde9c3badd37a2d54fdf4650a950ec21d8b686d545ecb2a64d30
|
SHA512 (tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz) = 97d026212363b3c83f6a04100ad7f6fdde833d16579717f8756e2b8c2eb70e144a41a330cb9ccde9c3badd37a2d54fdf4650a950ec21d8b686d545ecb2a64d30
|
||||||
SHA512 (openjdk-jdk17u-jdk-17.0.6+10.tar.xz) = 2878aae52e2f49146b9631e3b0379370dce1a0a620dc5c5b763d1432b82e705e3aa33a83008391b4845bf0cb493b08179e7ac3419f597fb80fd65df393e12cf1
|
|
||||||
|
Loading…
Reference in New Issue
Block a user