Blame SPECS/java-17-openjdk.spec

f8e459
# RPM conditionals so as to be able to dynamically produce
f8e459
# slowdebug/release builds. See:
f8e459
# http://rpm.org/user_doc/conditional_builds.html
f8e459
#
f8e459
# Examples:
f8e459
#
f8e459
# Produce release, fastdebug *and* slowdebug builds on x86_64 (default):
f8e459
# $ rpmbuild -ba java-17-openjdk.spec
f8e459
#
f8e459
# Produce only release builds (no debug builds) on x86_64:
f8e459
# $ rpmbuild -ba java-17-openjdk.spec --without slowdebug --without fastdebug
f8e459
#
f8e459
# Only produce a release build on x86_64:
f8e459
# $ fedpkg mockbuild --without slowdebug --without fastdebug
59f4c0
f8e459
# Enable fastdebug builds by default on relevant arches.
f8e459
%bcond_without fastdebug
f8e459
# Enable slowdebug builds by default on relevant arches.
f8e459
%bcond_without slowdebug
f8e459
# Enable release builds by default on relevant arches.
f8e459
%bcond_without release
f8e459
# Enable static library builds by default.
f8e459
%bcond_without staticlibs
59f4c0
# Build a fresh libjvm.so for use in a copy of the bootstrap JDK
59f4c0
%bcond_without fresh_libjvm
278304
# Build with system libraries
278304
%bcond_with system_libs
f8e459
f8e459
# Workaround for stripping of debug symbols from static libraries
f8e459
%if %{with staticlibs}
f8e459
%define __brp_strip_static_archive %{nil}
f8e459
%global include_staticlibs 1
f8e459
%else
f8e459
%global include_staticlibs 0
f8e459
%endif
f8e459
59f4c0
# Define whether to use the bootstrap JDK directly or with a fresh libjvm.so
59f4c0
%if %{with fresh_libjvm}
59f4c0
%global build_hotspot_first 1
59f4c0
%else
59f4c0
%global build_hotspot_first 0
59f4c0
%endif
59f4c0
278304
%if %{with system_libs}
278304
%global system_libs 1
278304
%global link_type system
278304
%global freetype_lib %{nil}
278304
%else
278304
%global system_libs 0
278304
%global link_type bundled
278304
%global freetype_lib |libfreetype[.]so.*
278304
%endif
278304
f8e459
# The -g flag says to use strip -g instead of full strip on DSOs or EXEs.
f8e459
# This fixes detailed NMT and other tools which need minimal debug info.
f8e459
# See: https://bugzilla.redhat.com/show_bug.cgi?id=1520879
f8e459
%global _find_debuginfo_opts -g
f8e459
f8e459
# With LTO flags enabled, debuginfo checks fail for some reason. Disable
f8e459
# LTO for a passing build. This really needs to be looked at.
f8e459
%define _lto_cflags %{nil}
f8e459
f8e459
# note: parametrized macros are order-sensitive (unlike not-parametrized) even with normal macros
f8e459
# also necessary when passing it as parameter to other macros. If not macro, then it is considered a switch
f8e459
# see the difference between global and define:
f8e459
# See https://github.com/rpm-software-management/rpm/issues/127 to comments at  "pmatilai commented on Aug 18, 2017"
f8e459
# (initiated in https://bugzilla.redhat.com/show_bug.cgi?id=1482192)
f8e459
%global debug_suffix_unquoted -slowdebug
f8e459
%global fastdebug_suffix_unquoted -fastdebug
f8e459
%global main_suffix_unquoted -main
f8e459
%global staticlibs_suffix_unquoted -staticlibs
f8e459
# quoted one for shell operations
f8e459
%global debug_suffix "%{debug_suffix_unquoted}"
f8e459
%global fastdebug_suffix "%{fastdebug_suffix_unquoted}"
f8e459
%global normal_suffix ""
f8e459
%global main_suffix "%{main_suffix_unquoted}"
f8e459
%global staticlibs_suffix "%{staticlibs_suffix_unquoted}"
f8e459
f8e459
%global debug_warning This package is unoptimised with full debugging. Install only as needed and remove ASAP.
f8e459
%global fastdebug_warning This package is optimised with full debugging. Install only as needed and remove ASAP.
59f4c0
%global debug_on unoptimised with full debugging on
59f4c0
%global fastdebug_on optimised with full debugging on
59f4c0
%global for_fastdebug for packages with debugging on and optimisation
59f4c0
%global for_debug for packages with debugging on and no optimisation
f8e459
f8e459
%if %{with release}
f8e459
%global include_normal_build 1
f8e459
%else
f8e459
%global include_normal_build 0
f8e459
%endif
f8e459
f8e459
%if %{include_normal_build}
f8e459
%global normal_build %{normal_suffix}
f8e459
%else
f8e459
%global normal_build %{nil}
f8e459
%endif
f8e459
f8e459
# We have hardcoded list of files, which  is appearing in alternatives, and in files
f8e459
# in alternatives those are slaves and master, very often triplicated by man pages
f8e459
# in files all masters and slaves are ghosted
f8e459
# the ghosts are here to allow installation via query like `dnf install /usr/bin/java`
249eac
# you can list those files, with appropriate sections: cat *.spec | grep -e --install -e --slave -e post_ -e alternatives
f8e459
# TODO - fix those hardcoded lists via single list
f8e459
# Those files must *NOT* be ghosted for *slowdebug* packages
f8e459
# FIXME - if you are moving jshell or jlink or similar, always modify all three sections
f8e459
# you can check via headless and devels:
f8e459
#    rpm -ql --noghost java-11-openjdk-headless-11.0.1.13-8.fc29.x86_64.rpm  | grep bin
f8e459
# == rpm -ql           java-11-openjdk-headless-slowdebug-11.0.1.13-8.fc29.x86_64.rpm  | grep bin
f8e459
# != rpm -ql           java-11-openjdk-headless-11.0.1.13-8.fc29.x86_64.rpm  | grep bin
f8e459
# similarly for other %%{_jvmdir}/{jre,java} and %%{_javadocdir}/{java,java-zip}
f8e459
%define is_release_build() %( if [ "%{?1}" == "%{debug_suffix_unquoted}" -o "%{?1}" == "%{fastdebug_suffix_unquoted}" ]; then echo "0" ; else echo "1"; fi )
f8e459
f8e459
# while JDK is a techpreview(is_system_jdk=0), some provides are turned off. Once jdk stops to be an techpreview, move it to 1
f8e459
# as sytem JDK, we mean any JDK which can run whole system java stack without issues (like bytecode issues, module issues, dependencies...)
f8e459
%global is_system_jdk 0
f8e459
f8e459
%global aarch64         aarch64 arm64 armv8
f8e459
# we need to distinguish between big and little endian PPC64
f8e459
%global ppc64le         ppc64le
f8e459
%global ppc64be         ppc64 ppc64p7
f8e459
# Set of architectures which support multiple ABIs
f8e459
%global multilib_arches %{power64} sparc64 x86_64
59f4c0
# Set of architectures for which we build slowdebug builds
f8e459
%global debug_arches    %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} s390x
59f4c0
# Set of architectures for which we build fastdebug builds
59f4c0
%global fastdebug_arches x86_64 ppc64le aarch64
f8e459
# Set of architectures with a Just-In-Time (JIT) compiler
59f4c0
%global jit_arches      %{arm} %{aarch64} %{ix86} %{power64} s390x sparcv9 sparc64 x86_64
59f4c0
# Set of architectures which use the Zero assembler port (!jit_arches)
59f4c0
%global zero_arches ppc s390
f8e459
# Set of architectures which run a full bootstrap cycle
f8e459
%global bootstrap_arches %{jit_arches}
f8e459
# Set of architectures which support SystemTap tapsets
f8e459
%global systemtap_arches %{jit_arches}
f8e459
# Set of architectures with a Ahead-Of-Time (AOT) compiler
f8e459
%global aot_arches      x86_64 %{aarch64}
f8e459
# Set of architectures which support the serviceability agent
f8e459
%global sa_arches       %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} %{arm}
f8e459
# Set of architectures which support class data sharing
f8e459
# See https://bugzilla.redhat.com/show_bug.cgi?id=513605
f8e459
# MetaspaceShared::generate_vtable_methods is not implemented for the PPC JIT
f8e459
%global share_arches    %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{arm} s390x
f8e459
# Set of architectures for which we build the Shenandoah garbage collector
f8e459
%global shenandoah_arches x86_64 %{aarch64}
f8e459
# Set of architectures for which we build the Z garbage collector
f8e459
%global zgc_arches x86_64
f8e459
# Set of architectures for which alt-java has SSB mitigation
f8e459
%global ssbd_arches x86_64
59f4c0
# Set of architectures for which java has short vector math library (libjsvml.so)
f8e459
%global svml_arches x86_64
59f4c0
# Set of architectures where we verify backtraces with gdb
59f4c0
%global gdb_arches %{jit_arches} %{zero_arches}
f8e459
f8e459
# By default, we build a debug build during main build on JIT architectures
f8e459
%if %{with slowdebug}
f8e459
%ifarch %{debug_arches}
f8e459
%global include_debug_build 1
f8e459
%else
f8e459
%global include_debug_build 0
f8e459
%endif
f8e459
%else
f8e459
%global include_debug_build 0
f8e459
%endif
f8e459
f8e459
# On certain architectures, we compile the Shenandoah GC
f8e459
%ifarch %{shenandoah_arches}
f8e459
%global use_shenandoah_hotspot 1
f8e459
%else
f8e459
%global use_shenandoah_hotspot 0
f8e459
%endif
f8e459
f8e459
# By default, we build a fastdebug build during main build only on fastdebug architectures
f8e459
%if %{with fastdebug}
f8e459
%ifarch %{fastdebug_arches}
f8e459
%global include_fastdebug_build 1
f8e459
%else
f8e459
%global include_fastdebug_build 0
f8e459
%endif
f8e459
%else
f8e459
%global include_fastdebug_build 0
f8e459
%endif
f8e459
f8e459
%if %{include_debug_build}
f8e459
%global slowdebug_build %{debug_suffix}
f8e459
%else
f8e459
%global slowdebug_build %{nil}
f8e459
%endif
f8e459
f8e459
%if %{include_fastdebug_build}
f8e459
%global fastdebug_build %{fastdebug_suffix}
f8e459
%else
f8e459
%global fastdebug_build %{nil}
f8e459
%endif
f8e459
59f4c0
# If you disable all builds, then the build fails
f8e459
# Build and test slowdebug first as it provides the best diagnostics
59f4c0
%global build_loop %{slowdebug_build} %{fastdebug_build} %{normal_build}
f8e459
f8e459
%if %{include_staticlibs}
f8e459
%global staticlibs_loop %{staticlibs_suffix}
f8e459
%else
f8e459
%global staticlibs_loop %{nil}
f8e459
%endif
f8e459
278304
%if 0%{?flatpak}
278304
%global bootstrap_build false
278304
%else
f8e459
%ifarch %{bootstrap_arches}
59f4c0
%global bootstrap_build true
f8e459
%else
59f4c0
%global bootstrap_build false
f8e459
%endif
278304
%endif
f8e459
f8e459
%if %{include_staticlibs}
f8e459
# Extra target for producing the static-libraries. Separate from
f8e459
# other targets since this target is configured to use in-tree
f8e459
# AWT dependencies: lcms, libjpeg, libpng, libharfbuzz, giflib
f8e459
# and possibly others
f8e459
%global static_libs_target static-libs-image
59f4c0
%else
59f4c0
%global static_libs_target %{nil}
f8e459
%endif
f8e459
59f4c0
# RPM JDK builds keep the debug symbols internal, to be later stripped by RPM
59f4c0
%global debug_symbols internal
59f4c0
59f4c0
# unlike portables,the rpms have to use static_libs_target very dynamically
59f4c0
%global bootstrap_targets images
59f4c0
%global release_targets images docs-zip
59f4c0
# No docs nor bootcycle for debug builds
59f4c0
%global debug_targets images
59f4c0
# Target to use to just build HotSpot
59f4c0
%global hotspot_target hotspot
59f4c0
59f4c0
# JDK to use for bootstrapping
59f4c0
%global bootjdk /usr/lib/jvm/java-%{buildjdkver}-openjdk
59f4c0
f8e459
f8e459
# Filter out flags from the optflags macro that cause problems with the OpenJDK build
f8e459
# We filter out -O flags so that the optimization of HotSpot is not lowered from O3 to O2
f8e459
# We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs)
f8e459
# We replace it with -Wformat (required by -Werror=format-security) and -Wno-cpp to avoid FORTIFY_SOURCE warnings
f8e459
# We filter out -fexceptions as the HotSpot build explicitly does -fno-exceptions and it's otherwise the default for C++
f8e459
%global ourflags %(echo %optflags | sed -e 's|-Wall|-Wformat -Wno-cpp|' | sed -r -e 's|-O[0-9]*||')
f8e459
%global ourcppflags %(echo %ourflags | sed -e 's|-fexceptions||')
f8e459
%global ourldflags %{__global_ldflags}
f8e459
f8e459
# With disabled nss is NSS deactivated, so NSS_LIBDIR can contain the wrong path
f8e459
# the initialization must be here. Later the pkg-config have buggy behavior
f8e459
# looks like openjdk RPM specific bug
f8e459
# Always set this so the nss.cfg file is not broken
f8e459
%global NSS_LIBDIR %(pkg-config --variable=libdir nss)
f8e459
f8e459
# In some cases, the arch used by the JDK does
f8e459
# not match _arch.
f8e459
# Also, in some cases, the machine name used by SystemTap
59f4c0
# does not match that given by _target_cpu
f8e459
%ifarch x86_64
f8e459
%global archinstall amd64
59f4c0
%global stapinstall x86_64
f8e459
%endif
f8e459
%ifarch ppc
f8e459
%global archinstall ppc
59f4c0
%global stapinstall powerpc
f8e459
%endif
f8e459
%ifarch %{ppc64be}
f8e459
%global archinstall ppc64
59f4c0
%global stapinstall powerpc
f8e459
%endif
f8e459
%ifarch %{ppc64le}
f8e459
%global archinstall ppc64le
59f4c0
%global stapinstall powerpc
f8e459
%endif
f8e459
%ifarch %{ix86}
f8e459
%global archinstall i686
59f4c0
%global stapinstall i386
f8e459
%endif
f8e459
%ifarch ia64
f8e459
%global archinstall ia64
59f4c0
%global stapinstall ia64
f8e459
%endif
f8e459
%ifarch s390
f8e459
%global archinstall s390
59f4c0
%global stapinstall s390
f8e459
%endif
f8e459
%ifarch s390x
f8e459
%global archinstall s390x
59f4c0
%global stapinstall s390
f8e459
%endif
f8e459
%ifarch %{arm}
f8e459
%global archinstall arm
59f4c0
%global stapinstall arm
f8e459
%endif
f8e459
%ifarch %{aarch64}
f8e459
%global archinstall aarch64
59f4c0
%global stapinstall arm64
f8e459
%endif
f8e459
# 32 bit sparc, optimized for v9
f8e459
%ifarch sparcv9
f8e459
%global archinstall sparc
59f4c0
%global stapinstall %{_target_cpu}
f8e459
%endif
f8e459
# 64 bit sparc
f8e459
%ifarch sparc64
f8e459
%global archinstall sparcv9
59f4c0
%global stapinstall %{_target_cpu}
f8e459
%endif
59f4c0
# Need to support noarch for srpm build
59f4c0
%ifarch noarch
59f4c0
%global archinstall %{nil}
59f4c0
%global stapinstall %{nil}
f8e459
%endif
f8e459
f8e459
%ifarch %{systemtap_arches}
f8e459
%global with_systemtap 1
f8e459
%else
f8e459
%global with_systemtap 0
f8e459
%endif
f8e459
f8e459
# New Version-String scheme-style defines
f8e459
%global featurever 17
f8e459
%global interimver 0
278304
%global updatever 6
f8e459
%global patchver 0
f8e459
# buildjdkver is usually same as %%{featurever},
f8e459
# but in time of bootstrap of next jdk, it is featurever-1,
f8e459
# and this it is better to change it here, on single place
f8e459
%global buildjdkver 17
59f4c0
# We don't add any LTS designator for STS packages (Fedora and EPEL).
59f4c0
# We need to explicitly exclude EPEL as it would have the %%{rhel} macro defined.
59f4c0
%if 0%{?rhel} && !0%{?epel}
59f4c0
  %global lts_designator "LTS"
59f4c0
  %global lts_designator_zip -%{lts_designator}
59f4c0
%else
f8e459
 %global lts_designator ""
f8e459
 %global lts_designator_zip ""
59f4c0
%endif
f8e459
278304
# Define vendor information used by OpenJDK
278304
%global oj_vendor Red Hat, Inc.
278304
%global oj_vendor_url https://www.redhat.com/
278304
# Define what url should JVM offer in case of a crash report
278304
# order may be important, epel may have rhel declared
278304
%if 0%{?epel}
278304
%global oj_vendor_bug_url  https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora%20EPEL&component=%{name}&version=epel%{epel}
278304
%else
278304
%if 0%{?fedora}
278304
# Does not work for rawhide, keeps the version field empty
278304
%global oj_vendor_bug_url  https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{name}&version=%{fedora}
278304
%else
278304
%if 0%{?rhel}
278304
%global oj_vendor_bug_url  https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%20%{rhel}&component=%{name}
278304
%else
278304
%global oj_vendor_bug_url  https://bugzilla.redhat.com/enter_bug.cgi
278304
%endif
278304
%endif
278304
%endif
278304
%global oj_vendor_version (Red_Hat-%{version}-%{release})
278304
f8e459
# Define IcedTea version used for SystemTap tapsets and desktop file
59f4c0
%global icedteaver      6.0.0pre00-c848b93a8598
249eac
# Define current Git revision for the FIPS support patches
278304
%global fipsver 72d08e3226f
f8e459
f8e459
# Standard JPackage naming and versioning defines
f8e459
%global origin          openjdk
f8e459
%global origin_nice     OpenJDK
f8e459
%global top_level_dir_name   %{origin}
f8e459
%global top_level_dir_name_backup %{top_level_dir_name}-backup
278304
%global buildver        9
278304
%global rpmrelease      3
f8e459
# 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
f8e459
%if %is_system_jdk
f8e459
# Using 10 digits may overflow the int used for priority, so we combine the patch and build versions
f8e459
# It is very unlikely we will ever have a patch version > 4 or a build version > 20, so we combine as (patch * 20) + build.
f8e459
# This means 11.0.9.0+11 would have had a priority of 11000911 as before
f8e459
# A 11.0.9.1+1 would have had a priority of 11000921 (20 * 1 + 1), thus ensuring it is bigger than 11.0.9.0+11
f8e459
%global combiver $( expr 20 '*' %{patchver} + %{buildver} )
f8e459
%global priority %( printf '%02d%02d%02d%02d' %{featurever} %{interimver} %{updatever} %{combiver} )
f8e459
%else
f8e459
# for techpreview, using 1, so slowdebugs can have 0
f8e459
%global priority %( printf '%08d' 1 )
f8e459
%endif
59f4c0
%global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver}
f8e459
%global javaver         %{featurever}
f8e459
f8e459
# Strip up to 6 trailing zeros in newjavaver, as the JDK does, to get the correct version used in filenames
f8e459
%global filever %(svn=%{newjavaver}; for i in 1 2 3 4 5 6 ; do svn=${svn%%.0} ; done; echo ${svn})
f8e459
249eac
# The tag used to create the OpenJDK tarball
249eac
%global vcstag jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}
249eac
f8e459
# Define milestone (EA for pre-releases, GA for releases)
f8e459
# Release will be (where N is usually a number starting at 1):
f8e459
# - 0.N%%{?extraver}%%{?dist} for EA releases,
f8e459
# - N%%{?extraver}{?dist} for GA releases
278304
%global is_ga           0
f8e459
%if %{is_ga}
f8e459
%global build_type GA
278304
%global ea_designator ""
f8e459
%global ea_designator_zip ""
f8e459
%global extraver %{nil}
f8e459
%global eaprefix %{nil}
f8e459
%else
f8e459
%global build_type EA
278304
%global ea_designator ea
278304
%global ea_designator_zip -%{ea_designator}
278304
%global extraver .%{ea_designator}
f8e459
%global eaprefix 0.
f8e459
%endif
f8e459
f8e459
# parametrized macros are order-sensitive
f8e459
%global compatiblename  java-%{featurever}-%{origin}
f8e459
%global fullversion     %{compatiblename}-%{version}-%{release}
f8e459
# images directories from upstream build
f8e459
%global jdkimage                jdk
f8e459
%global static_libs_image       static-libs
f8e459
# output dir stub
f8e459
%define buildoutputdir() %{expand:build/jdk%{featurever}.build%{?1}}
f8e459
# we can copy the javadoc to not arched dir, or make it not noarch
f8e459
%define uniquejavadocdir()    %{expand:%{fullversion}.%{_arch}%{?1}}
f8e459
# main id and dir of this jdk
f8e459
%define uniquesuffix()        %{expand:%{fullversion}.%{_arch}%{?1}}
f8e459
f8e459
#################################################################
f8e459
# fix for https://bugzilla.redhat.com/show_bug.cgi?id=1111349
f8e459
#         https://bugzilla.redhat.com/show_bug.cgi?id=1590796#c14
f8e459
#         https://bugzilla.redhat.com/show_bug.cgi?id=1655938
278304
%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}
f8e459
%global _publiclibs libjawt[.]so.*|libjava[.]so.*|libjvm[.]so.*|libverify[.]so.*|libjsig[.]so.*
f8e459
%if %is_system_jdk
f8e459
%global __provides_exclude ^(%{_privatelibs})$
f8e459
%global __requires_exclude ^(%{_privatelibs})$
f8e459
# Never generate lib-style provides/requires for any debug packages
f8e459
%global __provides_exclude_from ^.*/%{uniquesuffix -- %{debug_suffix_unquoted}}/.*$
f8e459
%global __requires_exclude_from ^.*/%{uniquesuffix -- %{debug_suffix_unquoted}}/.*$
f8e459
%global __provides_exclude_from ^.*/%{uniquesuffix -- %{fastdebug_suffix_unquoted}}/.*$
f8e459
%global __requires_exclude_from ^.*/%{uniquesuffix -- %{fastdebug_suffix_unquoted}}/.*$
f8e459
%else
f8e459
# Don't generate provides/requires for JDK provided shared libraries at all.
f8e459
%global __provides_exclude ^(%{_privatelibs}|%{_publiclibs})$
f8e459
%global __requires_exclude ^(%{_privatelibs}|%{_publiclibs})$
f8e459
%endif
f8e459
f8e459
f8e459
%global etcjavasubdir     %{_sysconfdir}/java/java-%{javaver}-%{origin}
f8e459
%define etcjavadir()      %{expand:%{etcjavasubdir}/%{uniquesuffix -- %{?1}}}
f8e459
# Standard JPackage directories and symbolic links.
f8e459
%define sdkdir()        %{expand:%{uniquesuffix -- %{?1}}}
f8e459
%define jrelnk()        %{expand:jre-%{javaver}-%{origin}-%{version}-%{release}.%{_arch}%{?1}}
f8e459
f8e459
%define sdkbindir()     %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin}
f8e459
%define jrebindir()     %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin}
f8e459
f8e459
%global alt_java_name     alt-java
f8e459
f8e459
%global rpm_state_dir %{_localstatedir}/lib/rpm-state/
f8e459
f8e459
# For flatpack builds hard-code /usr/sbin/alternatives,
f8e459
# otherwise use %%{_sbindir} relative path.
f8e459
%if 0%{?flatpak}
f8e459
%global alternatives_requires /usr/sbin/alternatives
f8e459
%else
f8e459
%global alternatives_requires %{_sbindir}/alternatives
f8e459
%endif
f8e459
249eac
%global family %{name}.%{_arch}
249eac
%global family_noarch  %{name}
249eac
f8e459
%if %{with_systemtap}
f8e459
# Where to install systemtap tapset (links)
f8e459
# We would like these to be in a package specific sub-dir,
f8e459
# but currently systemtap doesn't support that, so we have to
f8e459
# use the root tapset dir for now. To distinguish between 64
f8e459
# and 32 bit architectures we place the tapsets under the arch
f8e459
# specific dir (note that systemtap will only pickup the tapset
f8e459
# for the primary arch for now). Systemtap uses the machine name
59f4c0
# aka target_cpu as architecture specific directory name.
f8e459
%global tapsetroot /usr/share/systemtap
f8e459
%global tapsetdirttapset %{tapsetroot}/tapset/
59f4c0
%global tapsetdir %{tapsetdirttapset}/%{stapinstall}
f8e459
%endif
f8e459
f8e459
# not-duplicated scriptlets for normal/debug packages
f8e459
%global update_desktop_icons /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
f8e459
249eac
%define save_alternatives() %{expand:
249eac
  # warning! alternatives are localised!
249eac
  # LANG=cs_CZ.UTF-8  alternatives --display java | head
249eac
  # LANG=en_US.UTF-8  alternatives --display java | head
249eac
  function nonLocalisedAlternativesDisplayOfMaster() {
249eac
    LANG=en_US.UTF-8 alternatives --display "$MASTER"
249eac
  }
249eac
  function headOfAbove() {
249eac
    nonLocalisedAlternativesDisplayOfMaster | head -n $1
249eac
  }
249eac
  MASTER="%{?1}"
249eac
  LOCAL_LINK="%{?2}"
249eac
  FAMILY="%{?3}"
249eac
  rm -f %{_localstatedir}/lib/rpm-state/"$MASTER"_$FAMILY > /dev/null
249eac
  if nonLocalisedAlternativesDisplayOfMaster > /dev/null ; then
249eac
      if headOfAbove 1 | grep -q manual ; then
249eac
        if headOfAbove 2 | tail -n 1 | grep -q %{compatiblename} ; then
249eac
           headOfAbove 2  > %{_localstatedir}/lib/rpm-state/"$MASTER"_"$FAMILY"
249eac
        fi
249eac
      fi
249eac
  fi
249eac
}
249eac
249eac
%define save_and_remove_alternatives() %{expand:
249eac
  if [ "x$debug"  == "xtrue" ] ; then
249eac
    set -x
249eac
  fi
249eac
  upgrade1_uninstal0=%{?3}
249eac
  if [ "0$upgrade1_uninstal0" -gt 0 ] ; then # removal of this condition will cause persistence between uninstall
249eac
    %{save_alternatives %{?1} %{?2} %{?4}}
249eac
  fi
249eac
  alternatives --remove  "%{?1}" "%{?2}"
249eac
}
249eac
249eac
%define set_if_needed_alternatives() %{expand:
249eac
  MASTER="%{?1}"
249eac
  FAMILY="%{?2}"
249eac
  ALTERNATIVES_FILE="%{_localstatedir}/lib/rpm-state/$MASTER"_"$FAMILY"
249eac
  if [ -e  "$ALTERNATIVES_FILE" ] ; then
249eac
    rm "$ALTERNATIVES_FILE"
249eac
    alternatives --set $MASTER $FAMILY
249eac
  fi
249eac
}
249eac
f8e459
f8e459
%define post_script() %{expand:
f8e459
update-desktop-database %{_datadir}/applications &> /dev/null || :
f8e459
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
f8e459
exit 0
f8e459
}
f8e459
249eac
%define alternatives_java_install() %{expand:
249eac
if [ "x$debug"  == "xtrue" ] ; then
249eac
  set -x
249eac
fi
f8e459
PRIORITY=%{priority}
f8e459
if [ "%{?1}" == %{debug_suffix} ]; then
f8e459
  let PRIORITY=PRIORITY-1
f8e459
fi
f8e459
f8e459
ext=.gz
249eac
key=java
f8e459
alternatives \\
249eac
  --install %{_bindir}/java $key %{jrebindir -- %{?1}}/java $PRIORITY  --family %{family} \\
f8e459
  --slave %{_jvmdir}/jre jre %{_jvmdir}/%{sdkdir -- %{?1}} \\
f8e459
  --slave %{_bindir}/%{alt_java_name} %{alt_java_name} %{jrebindir -- %{?1}}/%{alt_java_name} \\
f8e459
  --slave %{_bindir}/keytool keytool %{jrebindir -- %{?1}}/keytool \\
f8e459
  --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir -- %{?1}}/rmiregistry \\
f8e459
  --slave %{_mandir}/man1/java.1$ext java.1$ext \\
f8e459
  %{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1$ext \\
f8e459
  --slave %{_mandir}/man1/%{alt_java_name}.1$ext %{alt_java_name}.1$ext \\
f8e459
  %{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1$ext \\
f8e459
  --slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \\
f8e459
  %{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1$ext \\
f8e459
  --slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \\
59f4c0
  %{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1$ext
f8e459
249eac
%{set_if_needed_alternatives $key %{family}}
249eac
f8e459
for X in %{origin} %{javaver} ; do
249eac
  key=jre_"$X"
249eac
  alternatives --install %{_jvmdir}/jre-"$X" $key %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{family}
249eac
  %{set_if_needed_alternatives $key %{family}}
f8e459
done
f8e459
249eac
key=jre_%{javaver}_%{origin}
249eac
alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} $key %{_jvmdir}/%{jrelnk -- %{?1}} $PRIORITY  --family %{family}
249eac
%{set_if_needed_alternatives $key %{family}}
249eac
}
f8e459
249eac
%define post_headless() %{expand:
249eac
%ifarch %{share_arches}
249eac
%{jrebindir -- %{?1}}/java -Xshare:dump >/dev/null 2>/dev/null
249eac
%endif
f8e459
f8e459
update-desktop-database %{_datadir}/applications &> /dev/null || :
f8e459
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
f8e459
f8e459
# see pretrans where this file is declared
f8e459
# also see that pretrans is only for non-debug
f8e459
if [ ! "%{?1}" == %{debug_suffix} ]; then
f8e459
  if [ -f %{_libexecdir}/copy_jdk_configs_fixFiles.sh ] ; then
f8e459
    sh  %{_libexecdir}/copy_jdk_configs_fixFiles.sh %{rpm_state_dir}/%{name}.%{_arch}  %{_jvmdir}/%{sdkdir -- %{?1}}
f8e459
  fi
f8e459
fi
f8e459
f8e459
exit 0
f8e459
}
f8e459
f8e459
%define postun_script() %{expand:
f8e459
update-desktop-database %{_datadir}/applications &> /dev/null || :
f8e459
if [ $1 -eq 0 ] ; then
f8e459
    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
f8e459
    %{update_desktop_icons}
f8e459
fi
f8e459
exit 0
f8e459
}
f8e459
f8e459
f8e459
%define postun_headless() %{expand:
249eac
  if [ "x$debug"  == "xtrue" ] ; then
249eac
    set -x
249eac
  fi
249eac
  post_state=$1 # from postun, https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax
249eac
  %{save_and_remove_alternatives  java  %{jrebindir -- %{?1}}/java $post_state %{family}}
249eac
  %{save_and_remove_alternatives  jre_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}}
249eac
  %{save_and_remove_alternatives  jre_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}}
249eac
  %{save_and_remove_alternatives  jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}} $post_state %{family}}
f8e459
}
f8e459
f8e459
%define posttrans_script() %{expand:
f8e459
%{update_desktop_icons}
f8e459
}
f8e459
f8e459
249eac
%define alternatives_javac_install() %{expand:
249eac
if [ "x$debug"  == "xtrue" ] ; then
249eac
  set -x
249eac
fi
f8e459
PRIORITY=%{priority}
f8e459
if [ "%{?1}" == %{debug_suffix} ]; then
f8e459
  let PRIORITY=PRIORITY-1
f8e459
fi
f8e459
f8e459
ext=.gz
249eac
key=javac
f8e459
alternatives \\
249eac
  --install %{_bindir}/javac $key %{sdkbindir -- %{?1}}/javac $PRIORITY  --family %{family} \\
f8e459
  --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir -- %{?1}} \\
f8e459
  --slave %{_bindir}/jlink jlink %{sdkbindir -- %{?1}}/jlink \\
f8e459
  --slave %{_bindir}/jmod jmod %{sdkbindir -- %{?1}}/jmod \\
f8e459
%ifarch %{sa_arches}
59f4c0
%ifnarch %{zero_arches}
f8e459
  --slave %{_bindir}/jhsdb jhsdb %{sdkbindir -- %{?1}}/jhsdb \\
f8e459
%endif
59f4c0
%endif
f8e459
  --slave %{_bindir}/jar jar %{sdkbindir -- %{?1}}/jar \\
f8e459
  --slave %{_bindir}/jarsigner jarsigner %{sdkbindir -- %{?1}}/jarsigner \\
f8e459
  --slave %{_bindir}/javadoc javadoc %{sdkbindir -- %{?1}}/javadoc \\
f8e459
  --slave %{_bindir}/javap javap %{sdkbindir -- %{?1}}/javap \\
f8e459
  --slave %{_bindir}/jcmd jcmd %{sdkbindir -- %{?1}}/jcmd \\
f8e459
  --slave %{_bindir}/jconsole jconsole %{sdkbindir -- %{?1}}/jconsole \\
f8e459
  --slave %{_bindir}/jdb jdb %{sdkbindir -- %{?1}}/jdb \\
f8e459
  --slave %{_bindir}/jdeps jdeps %{sdkbindir -- %{?1}}/jdeps \\
f8e459
  --slave %{_bindir}/jdeprscan jdeprscan %{sdkbindir -- %{?1}}/jdeprscan \\
f8e459
  --slave %{_bindir}/jfr jfr %{sdkbindir -- %{?1}}/jfr \\
f8e459
  --slave %{_bindir}/jimage jimage %{sdkbindir -- %{?1}}/jimage \\
f8e459
  --slave %{_bindir}/jinfo jinfo %{sdkbindir -- %{?1}}/jinfo \\
f8e459
  --slave %{_bindir}/jmap jmap %{sdkbindir -- %{?1}}/jmap \\
f8e459
  --slave %{_bindir}/jps jps %{sdkbindir -- %{?1}}/jps \\
f8e459
  --slave %{_bindir}/jpackage jpackage %{sdkbindir -- %{?1}}/jpackage \\
f8e459
  --slave %{_bindir}/jrunscript jrunscript %{sdkbindir -- %{?1}}/jrunscript \\
f8e459
  --slave %{_bindir}/jshell jshell %{sdkbindir -- %{?1}}/jshell \\
f8e459
  --slave %{_bindir}/jstack jstack %{sdkbindir -- %{?1}}/jstack \\
f8e459
  --slave %{_bindir}/jstat jstat %{sdkbindir -- %{?1}}/jstat \\
f8e459
  --slave %{_bindir}/jstatd jstatd %{sdkbindir -- %{?1}}/jstatd \\
f8e459
  --slave %{_bindir}/serialver serialver %{sdkbindir -- %{?1}}/serialver \\
f8e459
  --slave %{_mandir}/man1/jar.1$ext jar.1$ext \\
f8e459
  %{_mandir}/man1/jar-%{uniquesuffix -- %{?1}}.1$ext \\
f8e459
  --slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \\
f8e459
  %{_mandir}/man1/jarsigner-%{uniquesuffix -- %{?1}}.1$ext \\
f8e459
  --slave %{_mandir}/man1/javac.1$ext javac.1$ext \\
f8e459
  %{_mandir}/man1/javac-%{uniquesuffix -- %{?1}}.1$ext \\
f8e459
  --slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \\
f8e459
  %{_mandir}/man1/javadoc-%{uniquesuffix -- %{?1}}.1$ext \\
f8e459
  --slave %{_mandir}/man1/javap.1$ext javap.1$ext \\
f8e459
  %{_mandir}/man1/javap-%{uniquesuffix -- %{?1}}.1$ext \\
f8e459
  --slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \\
f8e459
  %{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1$ext \\
f8e459
  --slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \\
f8e459
  %{_mandir}/man1/jconsole-%{uniquesuffix -- %{?1}}.1$ext \\
f8e459
  --slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \\
f8e459
  %{_mandir}/man1/jdb-%{uniquesuffix -- %{?1}}.1$ext \\
f8e459
  --slave %{_mandir}/man1/jdeps.1$ext jdeps.1$ext \\
f8e459
  %{_mandir}/man1/jdeps-%{uniquesuffix -- %{?1}}.1$ext \\
f8e459
  --slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \\
f8e459
  %{_mandir}/man1/jinfo-%{uniquesuffix -- %{?1}}.1$ext \\
f8e459
  --slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \\
f8e459
  %{_mandir}/man1/jmap-%{uniquesuffix -- %{?1}}.1$ext \\
f8e459
  --slave %{_mandir}/man1/jps.1$ext jps.1$ext \\
f8e459
  %{_mandir}/man1/jps-%{uniquesuffix -- %{?1}}.1$ext \\
f8e459
  --slave %{_mandir}/man1/jpackage.1$ext jpackage.1$ext \\
f8e459
  %{_mandir}/man1/jpackage-%{uniquesuffix -- %{?1}}.1$ext \\
f8e459
  --slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \\
f8e459
  %{_mandir}/man1/jrunscript-%{uniquesuffix -- %{?1}}.1$ext \\
f8e459
  --slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \\
f8e459
  %{_mandir}/man1/jstack-%{uniquesuffix -- %{?1}}.1$ext \\
f8e459
  --slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \\
f8e459
  %{_mandir}/man1/jstat-%{uniquesuffix -- %{?1}}.1$ext \\
f8e459
  --slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \\
f8e459
  %{_mandir}/man1/jstatd-%{uniquesuffix -- %{?1}}.1$ext \\
f8e459
  --slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \\
249eac
  %{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1$ext
249eac
249eac
%{set_if_needed_alternatives  $key %{family}}
f8e459
f8e459
for X in %{origin} %{javaver} ; do
249eac
  key=java_sdk_"$X"
249eac
  alternatives --install %{_jvmdir}/java-"$X" $key %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY  --family %{family}
249eac
  %{set_if_needed_alternatives  $key %{family}}
f8e459
done
f8e459
249eac
key=java_sdk_%{javaver}_%{origin}
249eac
alternatives --install %{_jvmdir}/java-%{javaver}-%{origin} $key %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY  --family %{family}
249eac
%{set_if_needed_alternatives  $key %{family}}
249eac
}
f8e459
249eac
%define post_devel() %{expand:
f8e459
update-desktop-database %{_datadir}/applications &> /dev/null || :
f8e459
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
f8e459
f8e459
exit 0
f8e459
}
f8e459
f8e459
%define postun_devel() %{expand:
249eac
  if [ "x$debug"  == "xtrue" ] ; then
249eac
    set -x
249eac
  fi
249eac
  post_state=$1 # from postun, https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax
249eac
  %{save_and_remove_alternatives  javac %{sdkbindir -- %{?1}}/javac $post_state %{family}}
249eac
  %{save_and_remove_alternatives  java_sdk_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}}
249eac
  %{save_and_remove_alternatives  java_sdk_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}}
249eac
  %{save_and_remove_alternatives  java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}}
f8e459
f8e459
update-desktop-database %{_datadir}/applications &> /dev/null || :
f8e459
f8e459
if [ $1 -eq 0 ] ; then
f8e459
    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
f8e459
    %{update_desktop_icons}
f8e459
fi
f8e459
exit 0
f8e459
}
f8e459
f8e459
%define posttrans_devel() %{expand:
249eac
%{alternatives_javac_install --  %{?1}}
f8e459
%{update_desktop_icons}
f8e459
}
f8e459
249eac
%define alternatives_javadoc_install() %{expand:
249eac
if [ "x$debug"  == "xtrue" ] ; then
249eac
  set -x
249eac
fi
f8e459
PRIORITY=%{priority}
f8e459
if [ "%{?1}" == %{debug_suffix} ]; then
f8e459
  let PRIORITY=PRIORITY-1
f8e459
fi
f8e459
249eac
key=javadocdir
249eac
alternatives --install %{_javadocdir}/java $key %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api $PRIORITY  --family %{family_noarch}
249eac
%{set_if_needed_alternatives  $key %{family_noarch}}
f8e459
exit 0
f8e459
}
f8e459
f8e459
%define postun_javadoc() %{expand:
249eac
if [ "x$debug"  == "xtrue" ] ; then
249eac
  set -x
249eac
fi
249eac
  post_state=$1 # from postun, https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax
249eac
  %{save_and_remove_alternatives  javadocdir  %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api $post_state %{family_noarch}}
f8e459
exit 0
f8e459
}
f8e459
249eac
%define alternatives_javadoczip_install() %{expand:
249eac
if [ "x$debug"  == "xtrue" ] ; then
249eac
  set -x
249eac
fi
f8e459
PRIORITY=%{priority}
f8e459
if [ "%{?1}" == %{debug_suffix} ]; then
f8e459
  let PRIORITY=PRIORITY-1
f8e459
fi
249eac
key=javadoczip
249eac
alternatives --install %{_javadocdir}/java-zip $key %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip $PRIORITY  --family %{family_noarch}
249eac
%{set_if_needed_alternatives  $key %{family_noarch}}
f8e459
exit 0
f8e459
}
f8e459
f8e459
%define postun_javadoc_zip() %{expand:
249eac
  if [ "x$debug"  == "xtrue" ] ; then
249eac
    set -x
249eac
  fi
249eac
  post_state=$1 # from postun, https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax
249eac
  %{save_and_remove_alternatives  javadoczip  %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip $post_state %{family_noarch}}
f8e459
exit 0
f8e459
}
f8e459
f8e459
%define files_jre() %{expand:
f8e459
%{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}-%{origin}.png
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsplashscreen.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt_xawt.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjawt.so
f8e459
}
f8e459
f8e459
f8e459
%define files_jre_headless() %{expand:
f8e459
%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
f8e459
%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/NEWS
f8e459
%dir %{_sysconfdir}/.java/.systemPrefs
f8e459
%dir %{_sysconfdir}/.java
f8e459
%dir %{_jvmdir}/%{sdkdir -- %{?1}}
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/release
f8e459
%{_jvmdir}/%{jrelnk -- %{?1}}
f8e459
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/java
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/%{alt_java_name}
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/keytool
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmiregistry
f8e459
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib
f8e459
%ifarch %{jit_arches}
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/classlist
f8e459
%endif
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jexec
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jspawnhelper
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jrt-fs.jar
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/modules
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/psfont.properties.ja
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/psfontj2d.properties
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/tzdb.dat
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjli.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jvm.cfg
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libattach.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libextnet.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjsig.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt_headless.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libdt_socket.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libfontmanager.so
278304
%if ! %{system_libs}
278304
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libfreetype.so
278304
%endif
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libinstrument.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2gss.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2pcsc.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2pkcs11.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjaas.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjava.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjavajpeg.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjdwp.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjimage.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjsound.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/liblcms.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement_agent.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement_ext.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmlib_image.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libnet.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libnio.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libprefs.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/librmi.so
f8e459
# Some architectures don't have the serviceability agent
f8e459
%ifarch %{sa_arches}
59f4c0
%ifnarch %{zero_arches}
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsaproc.so
f8e459
%endif
59f4c0
%endif
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsctp.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsystemconf.so
f8e459
%ifarch %{svml_arches}
59f4c0
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjsvml.so
f8e459
%endif
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsyslookup.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libverify.so
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libzip.so
f8e459
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/default.jfc
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/profile.jfc
f8e459
%{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1*
f8e459
%{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1*
f8e459
%{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1*
f8e459
%{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1*
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/
f8e459
%ifarch %{share_arches}
f8e459
%attr(444, root, root) %ghost %{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/classes.jsa
f8e459
%endif
f8e459
%dir %{etcjavasubdir}
f8e459
%dir %{etcjavadir -- %{?1}}
f8e459
%dir %{etcjavadir -- %{?1}}/lib
f8e459
%dir %{etcjavadir -- %{?1}}/lib/security
f8e459
%{etcjavadir -- %{?1}}/lib/security/cacerts
f8e459
%dir %{etcjavadir -- %{?1}}/conf
f8e459
%dir %{etcjavadir -- %{?1}}/conf/sdp
f8e459
%dir %{etcjavadir -- %{?1}}/conf/management
f8e459
%dir %{etcjavadir -- %{?1}}/conf/security
f8e459
%dir %{etcjavadir -- %{?1}}/conf/security/policy
f8e459
%dir %{etcjavadir -- %{?1}}/conf/security/policy/limited
f8e459
%dir %{etcjavadir -- %{?1}}/conf/security/policy/unlimited
f8e459
%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/default.policy
f8e459
%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/blocked.certs
f8e459
%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/public_suffix_list.dat
f8e459
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/exempt_local.policy
f8e459
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/default_local.policy
f8e459
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/default_US_export.policy
f8e459
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/unlimited/default_local.policy
f8e459
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/unlimited/default_US_export.policy
f8e459
 %{etcjavadir -- %{?1}}/conf/security/policy/README.txt
f8e459
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/java.policy
f8e459
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/java.security
f8e459
%config(noreplace) %{etcjavadir -- %{?1}}/conf/logging.properties
f8e459
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/nss.cfg
f8e459
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/nss.fips.cfg
f8e459
%config(noreplace) %{etcjavadir -- %{?1}}/conf/management/jmxremote.access
59f4c0
# This is a config template, thus not config-noreplace
f8e459
%config  %{etcjavadir -- %{?1}}/conf/management/jmxremote.password.template
f8e459
%config  %{etcjavadir -- %{?1}}/conf/sdp/sdp.conf.template
f8e459
%config(noreplace) %{etcjavadir -- %{?1}}/conf/management/management.properties
f8e459
%config(noreplace) %{etcjavadir -- %{?1}}/conf/net.properties
f8e459
%config(noreplace) %{etcjavadir -- %{?1}}/conf/sound.properties
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/conf
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/security
f8e459
%if %is_system_jdk
f8e459
%if %{is_release_build -- %{?1}}
f8e459
%ghost %{_bindir}/java
f8e459
%ghost %{_bindir}/%{alt_java_name}
f8e459
%ghost %{_jvmdir}/jre
f8e459
%ghost %{_bindir}/keytool
f8e459
%ghost %{_bindir}/pack200
f8e459
%ghost %{_bindir}/rmid
f8e459
%ghost %{_bindir}/rmiregistry
f8e459
%ghost %{_bindir}/unpack200
f8e459
%ghost %{_jvmdir}/jre-%{origin}
f8e459
%ghost %{_jvmdir}/jre-%{javaver}
f8e459
%ghost %{_jvmdir}/jre-%{javaver}-%{origin}
f8e459
%endif
f8e459
%endif
59f4c0
# https://bugzilla.redhat.com/show_bug.cgi?id=1820172
59f4c0
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Directory_Replacement/
59f4c0
%ghost %{_jvmdir}/%{sdkdir -- %{?1}}/conf.rpmmoved
59f4c0
%ghost %{_jvmdir}/%{sdkdir -- %{?1}}/lib/security.rpmmoved
f8e459
}
f8e459
f8e459
%define files_devel() %{expand:
f8e459
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jar
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jarsigner
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javac
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javadoc
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javap
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jconsole
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jcmd
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdb
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeps
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeprscan
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jfr
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jimage
f8e459
# Some architectures don't have the serviceability agent
f8e459
%ifarch %{sa_arches}
59f4c0
%ifnarch %{zero_arches}
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jhsdb
278304
%{_mandir}/man1/jhsdb-%{uniquesuffix -- %{?1}}.1*
f8e459
%endif
59f4c0
%endif
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jinfo
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jlink
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmap
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmod
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jps
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jpackage
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jrunscript
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jshell
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstack
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstat
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstatd
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/serialver
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/include
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/ct.sym
f8e459
%if %{with_systemtap}
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/tapset
f8e459
%endif
f8e459
%{_datadir}/applications/*jconsole%{?1}.desktop
f8e459
%{_mandir}/man1/jar-%{uniquesuffix -- %{?1}}.1*
f8e459
%{_mandir}/man1/jarsigner-%{uniquesuffix -- %{?1}}.1*
f8e459
%{_mandir}/man1/javac-%{uniquesuffix -- %{?1}}.1*
f8e459
%{_mandir}/man1/javadoc-%{uniquesuffix -- %{?1}}.1*
f8e459
%{_mandir}/man1/javap-%{uniquesuffix -- %{?1}}.1*
f8e459
%{_mandir}/man1/jconsole-%{uniquesuffix -- %{?1}}.1*
f8e459
%{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1*
f8e459
%{_mandir}/man1/jdb-%{uniquesuffix -- %{?1}}.1*
f8e459
%{_mandir}/man1/jdeps-%{uniquesuffix -- %{?1}}.1*
f8e459
%{_mandir}/man1/jinfo-%{uniquesuffix -- %{?1}}.1*
f8e459
%{_mandir}/man1/jmap-%{uniquesuffix -- %{?1}}.1*
f8e459
%{_mandir}/man1/jps-%{uniquesuffix -- %{?1}}.1*
f8e459
%{_mandir}/man1/jpackage-%{uniquesuffix -- %{?1}}.1*
f8e459
%{_mandir}/man1/jrunscript-%{uniquesuffix -- %{?1}}.1*
f8e459
%{_mandir}/man1/jstack-%{uniquesuffix -- %{?1}}.1*
f8e459
%{_mandir}/man1/jstat-%{uniquesuffix -- %{?1}}.1*
f8e459
%{_mandir}/man1/jstatd-%{uniquesuffix -- %{?1}}.1*
f8e459
%{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1*
278304
%{_mandir}/man1/jdeprscan-%{uniquesuffix -- %{?1}}.1*
278304
%{_mandir}/man1/jlink-%{uniquesuffix -- %{?1}}.1*
278304
%{_mandir}/man1/jmod-%{uniquesuffix -- %{?1}}.1*
278304
%{_mandir}/man1/jshell-%{uniquesuffix -- %{?1}}.1*
278304
%{_mandir}/man1/jfr-%{uniquesuffix -- %{?1}}.1*
f8e459
f8e459
%if %{with_systemtap}
f8e459
%dir %{tapsetroot}
f8e459
%dir %{tapsetdirttapset}
f8e459
%dir %{tapsetdir}
f8e459
%{tapsetdir}/*%{_arch}%{?1}.stp
f8e459
%endif
f8e459
%if %is_system_jdk
f8e459
%if %{is_release_build -- %{?1}}
f8e459
%ghost %{_bindir}/javac
f8e459
%ghost %{_jvmdir}/java
f8e459
%ghost %{_jvmdir}/%{alt_java_name}
f8e459
%ghost %{_bindir}/jlink
f8e459
%ghost %{_bindir}/jmod
f8e459
%ghost %{_bindir}/jhsdb
f8e459
%ghost %{_bindir}/jar
f8e459
%ghost %{_bindir}/jarsigner
f8e459
%ghost %{_bindir}/javadoc
f8e459
%ghost %{_bindir}/javap
f8e459
%ghost %{_bindir}/jcmd
f8e459
%ghost %{_bindir}/jconsole
f8e459
%ghost %{_bindir}/jdb
f8e459
%ghost %{_bindir}/jdeps
f8e459
%ghost %{_bindir}/jdeprscan
f8e459
%ghost %{_bindir}/jimage
f8e459
%ghost %{_bindir}/jinfo
f8e459
%ghost %{_bindir}/jmap
f8e459
%ghost %{_bindir}/jps
f8e459
%ghost %{_bindir}/jrunscript
f8e459
%ghost %{_bindir}/jshell
f8e459
%ghost %{_bindir}/jstack
f8e459
%ghost %{_bindir}/jstat
f8e459
%ghost %{_bindir}/jstatd
f8e459
%ghost %{_bindir}/serialver
f8e459
%ghost %{_jvmdir}/java-%{origin}
f8e459
%ghost %{_jvmdir}/java-%{javaver}
f8e459
%ghost %{_jvmdir}/java-%{javaver}-%{origin}
f8e459
%endif
f8e459
%endif
f8e459
}
f8e459
f8e459
%define files_jmods() %{expand:
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/jmods
f8e459
}
f8e459
f8e459
%define files_demo() %{expand:
f8e459
%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/demo
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/sample
f8e459
}
f8e459
f8e459
%define files_src() %{expand:
f8e459
%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
f8e459
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/src.zip
f8e459
}
f8e459
f8e459
%define files_static_libs() %{expand:
278304
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/static
278304
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/static/linux-%{archinstall}
278304
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/static/linux-%{archinstall}/glibc
278304
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/static/linux-%{archinstall}/glibc/lib*.a
f8e459
}
f8e459
f8e459
%define files_javadoc() %{expand:
f8e459
%doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}
f8e459
%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
f8e459
%if %is_system_jdk
f8e459
%if %{is_release_build -- %{?1}}
f8e459
%ghost %{_javadocdir}/java
f8e459
%endif
f8e459
%endif
f8e459
}
f8e459
f8e459
%define files_javadoc_zip() %{expand:
f8e459
%doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip
f8e459
%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
f8e459
%if %is_system_jdk
f8e459
%if %{is_release_build -- %{?1}}
f8e459
%ghost %{_javadocdir}/java-zip
f8e459
%endif
f8e459
%endif
f8e459
}
f8e459
f8e459
# x86 is not supported by OpenJDK 17
f8e459
ExcludeArch: %{ix86}
f8e459
f8e459
# not-duplicated requires/provides/obsoletes for normal/debug packages
f8e459
%define java_rpo() %{expand:
f8e459
Requires: fontconfig%{?_isa}
f8e459
Requires: xorg-x11-fonts-Type1
f8e459
# Require libXcomposite explicitly since it's only dynamically loaded
f8e459
# at runtime. Fixes screenshot issues. See JDK-8150954.
f8e459
Requires: libXcomposite%{?_isa}
f8e459
# Requires rest of java
f8e459
Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
f8e459
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
f8e459
# for java-X-openjdk package's desktop binding
59f4c0
# Where recommendations are available, recommend Gtk+ for the Swing look and feel
59f4c0
%if 0%{?rhel} >= 8 || 0%{?fedora} > 0
f8e459
Recommends: gtk3%{?_isa}
59f4c0
%endif
f8e459
f8e459
Provides: java-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
f8e459
f8e459
# Standard JPackage base provides
f8e459
Provides: jre-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
f8e459
Provides: jre-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
f8e459
Provides: java-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
f8e459
%if %is_system_jdk
f8e459
Provides: java-%{origin}%{?1} = %{epoch}:%{version}-%{release}
f8e459
Provides: jre-%{origin}%{?1} = %{epoch}:%{version}-%{release}
f8e459
Provides: java%{?1} = %{epoch}:%{version}-%{release}
f8e459
Provides: jre%{?1} = %{epoch}:%{version}-%{release}
f8e459
%endif
f8e459
}
f8e459
f8e459
%define java_headless_rpo() %{expand:
f8e459
# Require /etc/pki/java/cacerts
f8e459
Requires: ca-certificates
f8e459
# Require javapackages-filesystem for ownership of /usr/lib/jvm/ and macros
f8e459
Requires: javapackages-filesystem
f8e459
# Require zone-info data provided by tzdata-java sub-package
278304
# 2022g required as of JDK-8297804
278304
Requires: tzdata-java >= 2022g
f8e459
# for support of kernel stream control
f8e459
# libsctp.so.1 is being `dlopen`ed on demand
f8e459
Requires: lksctp-tools%{?_isa}
f8e459
%if ! 0%{?flatpak}
f8e459
# tool to copy jdk's configs - should be Recommends only, but then only dnf/yum enforce it,
f8e459
# not rpm transaction and so no configs are persisted when pure rpm -u is run. It may be
f8e459
# considered as regression
f8e459
Requires: copy-jdk-configs >= 3.3
f8e459
OrderWithRequires: copy-jdk-configs
f8e459
%endif
f8e459
# for printing support
f8e459
Requires: cups-libs
278304
# for system security properties
278304
Requires: crypto-policies
249eac
# for FIPS PKCS11 provider
249eac
Requires: nss
f8e459
# Post requires alternatives to install tool alternatives
f8e459
Requires(post):   %{alternatives_requires}
f8e459
# Postun requires alternatives to uninstall tool alternatives
f8e459
Requires(postun): %{alternatives_requires}
59f4c0
# Where suggestions are available, recommend the sctp and pcsc libraries
59f4c0
# for optional support of kernel stream control and card reader
59f4c0
%if 0%{?rhel} >= 8 || 0%{?fedora} > 0
f8e459
Suggests: lksctp-tools%{?_isa}, pcsc-lite-libs%{?_isa}
59f4c0
%endif
f8e459
f8e459
# Standard JPackage base provides
f8e459
Provides: jre-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
f8e459
Provides: jre-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release}
f8e459
Provides: java-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
f8e459
Provides: java-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release}
f8e459
%if %is_system_jdk
f8e459
Provides: java-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
f8e459
Provides: jre-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
f8e459
Provides: jre-headless%{?1} = %{epoch}:%{version}-%{release}
f8e459
Provides: java-headless%{?1} = %{epoch}:%{version}-%{release}
f8e459
%endif
f8e459
}
f8e459
f8e459
%define java_devel_rpo() %{expand:
f8e459
# Requires base package
f8e459
Requires:         %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
f8e459
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
f8e459
# Post requires alternatives to install tool alternatives
f8e459
Requires(post):   %{alternatives_requires}
f8e459
# Postun requires alternatives to uninstall tool alternatives
f8e459
Requires(postun): %{alternatives_requires}
f8e459
f8e459
# Standard JPackage devel provides
f8e459
Provides: java-sdk-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
f8e459
Provides: java-sdk-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
f8e459
Provides: java-%{javaver}-devel%{?1} = %{epoch}:%{version}-%{release}
f8e459
Provides: java-%{javaver}-%{origin}-devel%{?1} = %{epoch}:%{version}-%{release}
f8e459
%if %is_system_jdk
59f4c0
Provides: java-devel-%{origin}%{?1} = %{epoch}:%{version}-%{release}
f8e459
Provides: java-sdk-%{origin}%{?1} = %{epoch}:%{version}-%{release}
f8e459
Provides: java-devel%{?1} = %{epoch}:%{version}-%{release}
f8e459
Provides: java-sdk%{?1} = %{epoch}:%{version}-%{release}
f8e459
%endif
f8e459
}
f8e459
f8e459
%define java_static_libs_rpo() %{expand:
f8e459
Requires:         %{name}-devel%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
f8e459
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
f8e459
}
f8e459
f8e459
%define java_jmods_rpo() %{expand:
f8e459
# Requires devel package
f8e459
# as jmods are bytecode, they should be OK without any _isa
f8e459
Requires:         %{name}-devel%{?1} = %{epoch}:%{version}-%{release}
f8e459
OrderWithRequires: %{name}-headless%{?1} = %{epoch}:%{version}-%{release}
f8e459
f8e459
Provides: java-%{javaver}-jmods%{?1} = %{epoch}:%{version}-%{release}
f8e459
Provides: java-%{javaver}-%{origin}-jmods%{?1} = %{epoch}:%{version}-%{release}
f8e459
%if %is_system_jdk
f8e459
Provides: java-jmods%{?1} = %{epoch}:%{version}-%{release}
f8e459
%endif
f8e459
}
f8e459
f8e459
%define java_demo_rpo() %{expand:
f8e459
Requires: %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
f8e459
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
f8e459
f8e459
Provides: java-%{javaver}-demo%{?1} = %{epoch}:%{version}-%{release}
f8e459
Provides: java-%{javaver}-%{origin}-demo%{?1} = %{epoch}:%{version}-%{release}
f8e459
%if %is_system_jdk
f8e459
Provides: java-demo%{?1} = %{epoch}:%{version}-%{release}
f8e459
Provides: java-%{origin}-demo%{?1} = %{epoch}:%{version}-%{release}
f8e459
%endif
f8e459
}
f8e459
f8e459
%define java_javadoc_rpo() %{expand:
f8e459
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
f8e459
# Post requires alternatives to install javadoc alternative
f8e459
Requires(post):   %{alternatives_requires}
f8e459
# Postun requires alternatives to uninstall javadoc alternative
f8e459
Requires(postun): %{alternatives_requires}
f8e459
f8e459
# Standard JPackage javadoc provides
59f4c0
Provides: java-%{javaver}-javadoc%{?1}%{?2} = %{epoch}:%{version}-%{release}
59f4c0
Provides: java-%{javaver}-%{origin}-javadoc%{?1}%{?2} = %{epoch}:%{version}-%{release}
f8e459
%if %is_system_jdk
59f4c0
Provides: java-javadoc%{?1}%{?2} = %{epoch}:%{version}-%{release}
f8e459
%endif
f8e459
}
f8e459
f8e459
%define java_src_rpo() %{expand:
f8e459
Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
f8e459
f8e459
# Standard JPackage sources provides
f8e459
Provides: java-%{javaver}-src%{?1} = %{epoch}:%{version}-%{release}
f8e459
Provides: java-%{javaver}-%{origin}-src%{?1} = %{epoch}:%{version}-%{release}
f8e459
%if %is_system_jdk
f8e459
Provides: java-src%{?1} = %{epoch}:%{version}-%{release}
f8e459
Provides: java-%{origin}-src%{?1} = %{epoch}:%{version}-%{release}
f8e459
%endif
f8e459
}
f8e459
f8e459
# Prevent brp-java-repack-jars from being run
f8e459
%global __jar_repack 0
f8e459
f8e459
Name:    java-%{javaver}-%{origin}
f8e459
Version: %{newjavaver}.%{buildver}
f8e459
Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist}
f8e459
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons
f8e459
# and this change was brought into RHEL-4. java-1.5.0-ibm packages
f8e459
# also included the epoch in their virtual provides. This created a
f8e459
# situation where in-the-wild java-1.5.0-ibm packages provided "java =
f8e459
# 1:1.5.0". In RPM terms, "1.6.0 < 1:1.5.0" since 1.6.0 is
f8e459
# interpreted as 0:1.6.0. So the "java >= 1.6.0" requirement would be
f8e459
# satisfied by the 1:1.5.0 packages. Thus we need to set the epoch in
f8e459
# JDK package >= 1.6.0 to 1, and packages referring to JDK virtual
f8e459
# provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0".
f8e459
f8e459
Epoch:   1
f8e459
Summary: %{origin_nice} %{featurever} Runtime Environment
59f4c0
# Groups are only used up to RHEL 8 and on Fedora versions prior to F30
59f4c0
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
59f4c0
Group:   Development/Languages
59f4c0
%endif
f8e459
f8e459
# HotSpot code is licensed under GPLv2
f8e459
# JDK library code is licensed under GPLv2 with the Classpath exception
f8e459
# The Apache license is used in code taken from Apache projects (primarily xalan & xerces)
f8e459
# DOM levels 2 & 3 and the XML digital signature schemas are licensed under the W3C Software License
f8e459
# The JSR166 concurrency code is in the public domain
f8e459
# The BSD and MIT licenses are used for a number of third-party libraries (see ADDITIONAL_LICENSE_INFO)
f8e459
# The OpenJDK source tree includes:
f8e459
# - JPEG library (IJG), zlib & libpng (zlib), giflib (MIT), harfbuzz (ISC),
f8e459
# - freetype (FTL), jline (BSD) and LCMS (MIT)
f8e459
# - jquery (MIT), jdk.crypto.cryptoki PKCS 11 wrapper (RSA)
f8e459
# - public_suffix_list.dat from publicsuffix.org (MPLv2.0)
f8e459
# The test code includes copies of NSS under the Mozilla Public License v2.0
f8e459
# The PCSClite headers are under a BSD with advertising license
f8e459
# The elliptic curve cryptography (ECC) source code is licensed under the LGPLv2.1 or any later version
f8e459
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
f8e459
URL:      http://openjdk.java.net/
f8e459
f8e459
249eac
# The source tarball, generated using generate_source_tarball.sh
249eac
Source0: openjdk-jdk%{featurever}u-%{vcstag}.tar.xz
f8e459
f8e459
# Use 'icedtea_sync.sh' to update the following
59f4c0
# They are based on code contained in the IcedTea project (6.x).
f8e459
# Systemtap tapsets. Zipped up to keep it small.
f8e459
Source8: tapsets-icedtea-%{icedteaver}.tar.xz
f8e459
f8e459
# Desktop files. Adapted from IcedTea
f8e459
Source9: jconsole.desktop.in
f8e459
f8e459
# Release notes
f8e459
Source10: NEWS
f8e459
f8e459
# nss configuration file
f8e459
Source11: nss.cfg.in
f8e459
f8e459
# Removed libraries that we link instead
f8e459
Source12: remove-intree-libraries.sh
f8e459
f8e459
# Ensure we aren't using the limited crypto policy
f8e459
Source13: TestCryptoLevel.java
f8e459
f8e459
# Ensure ECDSA is working
f8e459
Source14: TestECDSA.java
f8e459
f8e459
# Verify system crypto (policy) can be disabled via a property
f8e459
Source15: TestSecurityProperties.java
f8e459
278304
# Ensure vendor settings are correct
278304
Source16: CheckVendor.java
278304
278304
# Ensure translations are available for new timezones
278304
Source18: TestTranslations.java
f8e459
f8e459
############################################
f8e459
#
f8e459
# RPM/distribution specific patches
f8e459
#
f8e459
############################################
f8e459
f8e459
# NSS via SunPKCS11 Provider (disabled comment
f8e459
# due to memory leak).
f8e459
Patch1000: rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch
59f4c0
# RH1750419: enable build of speculative store bypass hardened alt-java (CVE-2018-3639)
f8e459
Patch600: rh1750419-redhat_alt_java.patch
f8e459
f8e459
# Ignore AWTError when assistive technologies are loaded
f8e459
Patch1:    rh1648242-accessible_toolkit_crash_do_not_break_jvm.patch
f8e459
# Restrict access to java-atk-wrapper classes
f8e459
Patch2:    rh1648644-java_access_bridge_privileged_security.patch
f8e459
Patch3:    rh649512-remove_uses_of_far_in_jpeg_libjpeg_turbo_1_4_compat_for_jdk10_and_up.patch
249eac
# Depend on pcsc-lite-libs instead of pcsc-lite-devel as this is only in optional repo
f8e459
Patch6: rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-devel.patch
f8e459
249eac
# Crypto policy and FIPS support patches
249eac
# Patch is generated from the fips-17u tree at https://github.com/rh-openjdk/jdk/tree/fips-17u
249eac
# as follows: git diff %%{vcstag} src make > fips-17u-$(git show -s --format=%h HEAD).patch
249eac
# Diff is limited to src and make subdirectories to exclude .github changes
249eac
# Fixes currently included:
249eac
# PR3183, RH1340845: Follow system wide crypto policy
249eac
# PR3695: Allow use of system crypto policy to be disabled by the user
f8e459
# RH1655466: Support RHEL FIPS mode using SunPKCS11 provider
f8e459
# RH1818909: No ciphersuites availale for SSLSocket in FIPS mode
f8e459
# RH1860986: Disable TLSv1.3 with the NSS-FIPS provider until PKCS#11 v3.0 support is available
f8e459
# RH1915071: Always initialise JavaSecuritySystemConfiguratorAccess
f8e459
# RH1929465: Improve system FIPS detection
f8e459
# RH1995150: Disable non-FIPS crypto in SUN and SunEC security providers
f8e459
# RH1996182: Login to the NSS software token in FIPS mode
59f4c0
# RH1991003: Allow plain key import unless com.redhat.fips.plainKeySupport is set to false
59f4c0
# RH2021263: Resolve outstanding FIPS issues
249eac
# RH2052819: Fix FIPS reliance on crypto policies
249eac
# RH2052829: Detect NSS at Runtime for FIPS detection
249eac
# RH2052070: Enable AlgorithmParameters and AlgorithmParameterGenerator services in FIPS mode
249eac
# RH2023467: Enable FIPS keys export
249eac
# RH2094027: SunEC runtime permission for FIPS
249eac
# RH2036462: sun.security.pkcs11.wrapper.PKCS11.getInstance breakage
249eac
# RH2090378: Revert to disabling system security properties and FIPS mode support together
278304
# RH2104724: Avoid import/export of DH private keys
278304
# RH2092507: P11Key.getEncoded does not work for DH keys in FIPS mode
278304
# Build the systemconf library on all platforms
278304
# RH2048582: Support PKCS#12 keystores
278304
# RH2020290: Support TLS 1.3 in FIPS mode
278304
# Add nss.fips.cfg support to OpenJDK tree
278304
# RH2117972: Extend the support for NSS DBs (PKCS11) in FIPS mode
278304
# Remove forgotten dead code from RH2020290 and RH2104724
249eac
Patch1001: fips-17u-%{fipsver}.patch
f8e459
f8e459
#############################################
f8e459
#
f8e459
# OpenJDK patches in need of upstreaming
f8e459
#
f8e459
#############################################
f8e459
59f4c0
#############################################
59f4c0
#
278304
# OpenJDK patches appearing in 17.0.5
278304
#
278304
#############################################
278304
278304
#############################################
278304
#
278304
# OpenJDK patches targetted for 17.0.6
59f4c0
#
59f4c0
#############################################
f8e459
f8e459
BuildRequires: autoconf
f8e459
BuildRequires: automake
f8e459
BuildRequires: alsa-lib-devel
f8e459
BuildRequires: binutils
f8e459
BuildRequires: cups-devel
f8e459
BuildRequires: desktop-file-utils
f8e459
# elfutils only are OK for build without AOT
f8e459
BuildRequires: elfutils-devel
f8e459
BuildRequires: fontconfig-devel
f8e459
BuildRequires: gcc-c++
f8e459
BuildRequires: gdb
f8e459
BuildRequires: libxslt
f8e459
BuildRequires: libX11-devel
f8e459
BuildRequires: libXi-devel
f8e459
BuildRequires: libXinerama-devel
f8e459
BuildRequires: libXrandr-devel
f8e459
BuildRequires: libXrender-devel
f8e459
BuildRequires: libXt-devel
f8e459
BuildRequires: libXtst-devel
249eac
# Requirement for setting up nss.cfg and nss.fips.cfg
249eac
BuildRequires: nss-devel
278304
# Requirement for system security property test
278304
BuildRequires: crypto-policies
f8e459
BuildRequires: pkgconfig
f8e459
BuildRequires: xorg-x11-proto-devel
f8e459
BuildRequires: zip
f8e459
BuildRequires: javapackages-filesystem
f8e459
BuildRequires: java-17-openjdk-devel
f8e459
# Zero-assembler build requirement
59f4c0
%ifarch %{zero_arches}
f8e459
BuildRequires: libffi-devel
f8e459
%endif
278304
# 2022g required as of JDK-8297804
278304
BuildRequires: tzdata-java >= 2022g
f8e459
# Earlier versions have a bug in tree vectorization on PPC
f8e459
BuildRequires: gcc >= 4.8.3-8
f8e459
f8e459
%if %{with_systemtap}
f8e459
BuildRequires: systemtap-sdt-devel
f8e459
%endif
f8e459
BuildRequires: make
f8e459
278304
%if %{system_libs}
278304
BuildRequires: freetype-devel
278304
BuildRequires: giflib-devel
278304
BuildRequires: harfbuzz-devel
278304
BuildRequires: lcms2-devel
278304
BuildRequires: libjpeg-devel
278304
BuildRequires: libpng-devel
278304
%else
278304
# Version in src/java.desktop/share/native/libfreetype/include/freetype/freetype.h
278304
Provides: bundled(freetype) = 2.12.1
278304
# Version in src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h
278304
Provides: bundled(giflib) = 5.2.1
278304
# Version in src/java.desktop/share/native/libharfbuzz/hb-version.h
278304
Provides: bundled(harfbuzz) = 4.4.1
278304
# Version in src/java.desktop/share/native/liblcms/lcms2.h
278304
Provides: bundled(lcms2) = 2.12.0
278304
# Version in src/java.desktop/share/native/libjavajpeg/jpeglib.h
278304
Provides: bundled(libjpeg) = 6b
278304
# Version in src/java.desktop/share/native/libsplashscreen/libpng/png.h
278304
Provides: bundled(libpng) = 1.6.37
278304
# We link statically against libstdc++ to increase portability
278304
BuildRequires: libstdc++-static
278304
%endif
278304
f8e459
# this is always built, also during debug-only build
f8e459
# when it is built in debug-only this package is just placeholder
f8e459
%{java_rpo %{nil}}
f8e459
f8e459
%description
f8e459
The %{origin_nice} %{featurever} runtime environment.
f8e459
f8e459
%if %{include_debug_build}
f8e459
%package slowdebug
f8e459
Summary: %{origin_nice} %{featurever} Runtime Environment %{debug_on}
59f4c0
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
59f4c0
Group:   Development/Languages
59f4c0
%endif
f8e459
f8e459
%{java_rpo -- %{debug_suffix_unquoted}}
f8e459
%description slowdebug
f8e459
The %{origin_nice} %{featurever} runtime environment.
f8e459
%{debug_warning}
f8e459
%endif
f8e459
f8e459
%if %{include_fastdebug_build}
f8e459
%package fastdebug
f8e459
Summary: %{origin_nice} %{featurever} Runtime Environment %{fastdebug_on}
59f4c0
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
f8e459
Group:   Development/Languages
59f4c0
%endif
f8e459
f8e459
%{java_rpo -- %{fastdebug_suffix_unquoted}}
f8e459
%description fastdebug
f8e459
The %{origin_nice} %{featurever} runtime environment.
f8e459
%{fastdebug_warning}
f8e459
%endif
f8e459
f8e459
%if %{include_normal_build}
f8e459
%package headless
f8e459
Summary: %{origin_nice} %{featurever} Headless Runtime Environment
59f4c0
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
59f4c0
Group:   Development/Languages
59f4c0
%endif
f8e459
f8e459
%{java_headless_rpo %{nil}}
f8e459
f8e459
%description headless
f8e459
The %{origin_nice} %{featurever} runtime environment without audio and video support.
f8e459
%endif
f8e459
f8e459
%if %{include_debug_build}
f8e459
%package headless-slowdebug
f8e459
Summary: %{origin_nice} %{featurever} Runtime Environment %{debug_on}
59f4c0
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
59f4c0
Group:   Development/Languages
59f4c0
%endif
f8e459
f8e459
%{java_headless_rpo -- %{debug_suffix_unquoted}}
f8e459
f8e459
%description headless-slowdebug
f8e459
The %{origin_nice} %{featurever} runtime environment without audio and video support.
f8e459
%{debug_warning}
f8e459
%endif
f8e459
f8e459
%if %{include_fastdebug_build}
f8e459
%package headless-fastdebug
f8e459
Summary: %{origin_nice} %{featurever} Runtime Environment %{fastdebug_on}
59f4c0
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
f8e459
Group:   Development/Languages
59f4c0
%endif
f8e459
f8e459
%{java_headless_rpo -- %{fastdebug_suffix_unquoted}}
f8e459
f8e459
%description headless-fastdebug
f8e459
The %{origin_nice} %{featurever} runtime environment without audio and video support.
f8e459
%{fastdebug_warning}
f8e459
%endif
f8e459
f8e459
%if %{include_normal_build}
f8e459
%package devel
f8e459
Summary: %{origin_nice} %{featurever} Development Environment
59f4c0
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
59f4c0
Group:   Development/Languages
59f4c0
%endif
f8e459
f8e459
%{java_devel_rpo %{nil}}
f8e459
f8e459
%description devel
f8e459
The %{origin_nice} %{featurever} development tools.
f8e459
%endif
f8e459
f8e459
%if %{include_debug_build}
f8e459
%package devel-slowdebug
f8e459
Summary: %{origin_nice} %{featurever} Development Environment %{debug_on}
59f4c0
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
59f4c0
Group:   Development/Languages
59f4c0
%endif
f8e459
f8e459
%{java_devel_rpo -- %{debug_suffix_unquoted}}
f8e459
f8e459
%description devel-slowdebug
f8e459
The %{origin_nice} %{featurever} development tools.
f8e459
%{debug_warning}
f8e459
%endif
f8e459
f8e459
%if %{include_fastdebug_build}
f8e459
%package devel-fastdebug
f8e459
Summary: %{origin_nice} %{featurever} Development Environment %{fastdebug_on}
59f4c0
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
f8e459
Group:   Development/Tools
59f4c0
%endif
f8e459
f8e459
%{java_devel_rpo -- %{fastdebug_suffix_unquoted}}
f8e459
f8e459
%description devel-fastdebug
f8e459
The %{origin_nice} %{featurever} development tools              .
f8e459
%{fastdebug_warning}
f8e459
%endif
f8e459
f8e459
%if %{include_staticlibs}
f8e459
f8e459
%if %{include_normal_build}
f8e459
%package static-libs
f8e459
Summary: %{origin_nice} %{featurever} libraries for static linking
f8e459
f8e459
%{java_static_libs_rpo %{nil}}
f8e459
f8e459
%description static-libs
f8e459
The %{origin_nice} %{featurever} libraries for static linking.
f8e459
%endif
f8e459
f8e459
%if %{include_debug_build}
f8e459
%package static-libs-slowdebug
f8e459
Summary: %{origin_nice} %{featurever} libraries for static linking %{debug_on}
f8e459
f8e459
%{java_static_libs_rpo -- %{debug_suffix_unquoted}}
f8e459
f8e459
%description static-libs-slowdebug
f8e459
The %{origin_nice} %{featurever} libraries for static linking.
f8e459
%{debug_warning}
f8e459
%endif
f8e459
f8e459
%if %{include_fastdebug_build}
f8e459
%package static-libs-fastdebug
f8e459
Summary: %{origin_nice} %{featurever} libraries for static linking %{fastdebug_on}
f8e459
f8e459
%{java_static_libs_rpo -- %{fastdebug_suffix_unquoted}}
f8e459
f8e459
%description static-libs-fastdebug
f8e459
The %{origin_nice} %{featurever} libraries for static linking.
f8e459
%{fastdebug_warning}
f8e459
%endif
f8e459
f8e459
# staticlibs
f8e459
%endif
f8e459
f8e459
%if %{include_normal_build}
f8e459
%package jmods
f8e459
Summary: JMods for %{origin_nice} %{featurever}
59f4c0
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
59f4c0
Group:   Development/Languages
59f4c0
%endif
f8e459
f8e459
%{java_jmods_rpo %{nil}}
f8e459
f8e459
%description jmods
f8e459
The JMods for %{origin_nice} %{featurever}.
f8e459
%endif
f8e459
f8e459
%if %{include_debug_build}
f8e459
%package jmods-slowdebug
f8e459
Summary: JMods for %{origin_nice} %{featurever} %{debug_on}
59f4c0
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
59f4c0
Group:   Development/Languages
59f4c0
%endif
f8e459
f8e459
%{java_jmods_rpo -- %{debug_suffix_unquoted}}
f8e459
f8e459
%description jmods-slowdebug
f8e459
The JMods for %{origin_nice} %{featurever}.
f8e459
%{debug_warning}
f8e459
%endif
f8e459
f8e459
%if %{include_fastdebug_build}
f8e459
%package jmods-fastdebug
f8e459
Summary: JMods for %{origin_nice} %{featurever} %{fastdebug_on}
59f4c0
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
f8e459
Group:   Development/Tools
59f4c0
%endif
f8e459
f8e459
%{java_jmods_rpo -- %{fastdebug_suffix_unquoted}}
f8e459
f8e459
%description jmods-fastdebug
f8e459
The JMods for %{origin_nice} %{featurever}.
f8e459
%{fastdebug_warning}
f8e459
%endif
f8e459
f8e459
%if %{include_normal_build}
f8e459
%package demo
f8e459
Summary: %{origin_nice} %{featurever} Demos
59f4c0
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
59f4c0
Group:   Development/Languages
59f4c0
%endif
f8e459
f8e459
%{java_demo_rpo %{nil}}
f8e459
f8e459
%description demo
f8e459
The %{origin_nice} %{featurever} demos.
f8e459
%endif
f8e459
f8e459
%if %{include_debug_build}
f8e459
%package demo-slowdebug
f8e459
Summary: %{origin_nice} %{featurever} Demos %{debug_on}
59f4c0
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
59f4c0
Group:   Development/Languages
59f4c0
%endif
f8e459
f8e459
%{java_demo_rpo -- %{debug_suffix_unquoted}}
f8e459
f8e459
%description demo-slowdebug
f8e459
The %{origin_nice} %{featurever} demos.
f8e459
%{debug_warning}
f8e459
%endif
f8e459
f8e459
%if %{include_fastdebug_build}
f8e459
%package demo-fastdebug
f8e459
Summary: %{origin_nice} %{featurever} Demos %{fastdebug_on}
59f4c0
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
f8e459
Group:   Development/Languages
59f4c0
%endif
f8e459
f8e459
%{java_demo_rpo -- %{fastdebug_suffix_unquoted}}
f8e459
f8e459
%description demo-fastdebug
f8e459
The %{origin_nice} %{featurever} demos.
f8e459
%{fastdebug_warning}
f8e459
%endif
f8e459
f8e459
%if %{include_normal_build}
f8e459
%package src
f8e459
Summary: %{origin_nice} %{featurever} Source Bundle
59f4c0
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
59f4c0
Group:   Development/Languages
59f4c0
%endif
f8e459
f8e459
%{java_src_rpo %{nil}}
f8e459
f8e459
%description src
f8e459
The %{compatiblename}-src sub-package contains the complete %{origin_nice} %{featurever}
f8e459
class library source code for use by IDE indexers and debuggers.
f8e459
%endif
f8e459
f8e459
%if %{include_debug_build}
f8e459
%package src-slowdebug
f8e459
Summary: %{origin_nice} %{featurever} Source Bundle %{for_debug}
59f4c0
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
59f4c0
Group:   Development/Languages
59f4c0
%endif
f8e459
f8e459
%{java_src_rpo -- %{debug_suffix_unquoted}}
f8e459
f8e459
%description src-slowdebug
f8e459
The %{compatiblename}-src-slowdebug sub-package contains the complete %{origin_nice} %{featurever}
f8e459
 class library source code for use by IDE indexers and debuggers, %{for_debug}.
f8e459
%endif
f8e459
f8e459
%if %{include_fastdebug_build}
f8e459
%package src-fastdebug
f8e459
Summary: %{origin_nice} %{featurever} Source Bundle %{for_fastdebug}
59f4c0
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
f8e459
Group:   Development/Languages
59f4c0
%endif
f8e459
f8e459
%{java_src_rpo -- %{fastdebug_suffix_unquoted}}
f8e459
f8e459
%description src-fastdebug
f8e459
The %{compatiblename}-src-fastdebug sub-package contains the complete %{origin_nice} %{featurever}
f8e459
 class library source code for use by IDE indexers and debuggers, %{for_fastdebug}.
f8e459
%endif
f8e459
f8e459
%if %{include_normal_build}
f8e459
%package javadoc
f8e459
Summary: %{origin_nice} %{featurever} API documentation
59f4c0
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
59f4c0
Group:   Documentation
59f4c0
%endif
f8e459
Requires: javapackages-filesystem
f8e459
Obsoletes: javadoc-slowdebug < 1:13.0.0.33-1.rolling
f8e459
59f4c0
%{java_javadoc_rpo -- %{nil} %{nil}}
f8e459
f8e459
%description javadoc
f8e459
The %{origin_nice} %{featurever} API documentation.
f8e459
%endif
f8e459
f8e459
%if %{include_normal_build}
f8e459
%package javadoc-zip
f8e459
Summary: %{origin_nice} %{featurever} API documentation compressed in a single archive
59f4c0
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
59f4c0
Group:   Documentation
59f4c0
%endif
f8e459
Requires: javapackages-filesystem
f8e459
Obsoletes: javadoc-zip-slowdebug < 1:13.0.0.33-1.rolling
f8e459
59f4c0
%{java_javadoc_rpo -- %{nil} -zip}
59f4c0
%{java_javadoc_rpo -- %{nil} %{nil}}
f8e459
f8e459
%description javadoc-zip
f8e459
The %{origin_nice} %{featurever} API documentation compressed in a single archive.
f8e459
%endif
f8e459
f8e459
%prep
59f4c0
278304
echo "Preparing %{oj_vendor_version}"
278304
59f4c0
# Using the echo macro breaks rpmdev-bumpspec, as it parses the first line of stdout :-(
59f4c0
%if 0%{?stapinstall:1}
59f4c0
  echo "CPU: %{_target_cpu}, arch install directory: %{archinstall}, SystemTap install directory: %{stapinstall}"
59f4c0
%else
59f4c0
  %{error:Unrecognised architecture %{_target_cpu}}
59f4c0
%endif
59f4c0
f8e459
if [ %{include_normal_build} -eq 0 -o  %{include_normal_build} -eq 1 ] ; then
f8e459
  echo "include_normal_build is %{include_normal_build}"
f8e459
else
f8e459
  echo "include_normal_build is %{include_normal_build}, that is invalid. Use 1 for yes or 0 for no"
f8e459
  exit 11
f8e459
fi
f8e459
if [ %{include_debug_build} -eq 0 -o  %{include_debug_build} -eq 1 ] ; then
f8e459
  echo "include_debug_build is %{include_debug_build}"
f8e459
else
f8e459
  echo "include_debug_build is %{include_debug_build}, that is invalid. Use 1 for yes or 0 for no"
f8e459
  exit 12
f8e459
fi
f8e459
if [ %{include_fastdebug_build} -eq 0 -o  %{include_fastdebug_build} -eq 1 ] ; then
f8e459
  echo "include_fastdebug_build is %{include_fastdebug_build}"
f8e459
else
f8e459
  echo "include_fastdebug_build is %{include_fastdebug_build}, that is invalid. Use 1 for yes or 0 for no"
f8e459
  exit 13
f8e459
fi
f8e459
if [ %{include_debug_build} -eq 0 -a  %{include_normal_build} -eq 0 -a  %{include_fastdebug_build} -eq 0 ] ; then
f8e459
  echo "You have disabled all builds (normal,fastdebug,slowdebug). That is a no go."
f8e459
  exit 14
f8e459
fi
f8e459
%setup -q -c -n %{uniquesuffix ""} -T -a 0
f8e459
# https://bugzilla.redhat.com/show_bug.cgi?id=1189084
f8e459
prioritylength=`expr length %{priority}`
f8e459
if [ $prioritylength -ne 8 ] ; then
f8e459
 echo "priority must be 8 digits in total, violated"
f8e459
 exit 14
f8e459
fi
f8e459
f8e459
# OpenJDK patches
278304
278304
%if %{system_libs}
f8e459
# Remove libraries that are linked by both static and dynamic builds
f8e459
sh %{SOURCE12} %{top_level_dir_name}
278304
%endif
f8e459
f8e459
# Patch the JDK
f8e459
pushd %{top_level_dir_name}
f8e459
%patch1 -p1
f8e459
%patch2 -p1
f8e459
%patch3 -p1
f8e459
%patch6 -p1
249eac
# Add crypto policy and FIPS support
249eac
%patch1001 -p1
249eac
# nss.cfg PKCS11 support; must come last as it also alters java.security
249eac
%patch1000 -p1
f8e459
popd # openjdk
f8e459
f8e459
%patch600
249eac
278304
# The OpenJDK version file includes the current
278304
# upstream version information. For some reason,
278304
# configure does not automatically use the
278304
# default pre-version supplied there (despite
278304
# what the file claims), so we pass it manually
278304
# to configure
278304
VERSION_FILE=$(pwd)/%{top_level_dir_name}/make/conf/version-numbers.conf
278304
if [ -f ${VERSION_FILE} ] ; then
278304
    UPSTREAM_EA_DESIGNATOR=$(grep '^DEFAULT_PROMOTED_VERSION_PRE' ${VERSION_FILE} | cut -d '=' -f 2)
278304
else
278304
    echo "Could not find OpenJDK version file.";
278304
    exit 16
278304
fi
278304
if [ "x${UPSTREAM_EA_DESIGNATOR}" != "x%{ea_designator}" ] ; then
278304
    echo "WARNING: Designator mismatch";
278304
    echo "Spec file is configured for a %{build_type} build with designator '%{ea_designator}'"
278304
    echo "Upstream version-pre setting is '${UPSTREAM_EA_DESIGNATOR}'";
278304
    exit 17
278304
fi
f8e459
f8e459
# Extract systemtap tapsets
f8e459
%if %{with_systemtap}
f8e459
tar --strip-components=1 -x -I xz -f %{SOURCE8}
f8e459
%if %{include_debug_build}
f8e459
cp -r tapset tapset%{debug_suffix}
f8e459
%endif
f8e459
%if %{include_fastdebug_build}
f8e459
cp -r tapset tapset%{fastdebug_suffix}
f8e459
%endif
f8e459
f8e459
for suffix in %{build_loop} ; do
f8e459
  for file in "tapset"$suffix/*.in; do
59f4c0
    OUTPUT_FILE=`echo $file | sed -e "s:\.stp\.in$:-%{version}-%{release}.%{_arch}.stp:g"`
f8e459
    sed -e "s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/server/libjvm.so:g" $file > $file.1
59f4c0
    sed -e "s:@JAVA_SPEC_VER@:%{javaver}:g" $file.1 > $file.2
f8e459
# TODO find out which architectures other than i686 have a client vm
f8e459
%ifarch %{ix86}
59f4c0
    sed -e "s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/client/libjvm.so:g" $file.2 > $OUTPUT_FILE
f8e459
%else
59f4c0
    sed -e "/@ABS_CLIENT_LIBJVM_SO@/d" $file.2 > $OUTPUT_FILE
f8e459
%endif
f8e459
    sed -i -e "s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir -- $suffix}:g" $OUTPUT_FILE
f8e459
    sed -i -e "s:@INSTALL_ARCH_DIR@:%{archinstall}:g" $OUTPUT_FILE
f8e459
    sed -i -e "s:@prefix@:%{_jvmdir}/%{sdkdir -- $suffix}/:g" $OUTPUT_FILE
f8e459
  done
f8e459
done
f8e459
# systemtap tapsets ends
f8e459
%endif
f8e459
f8e459
# Prepare desktop files
59f4c0
# The _X_ syntax indicates variables that are replaced by make upstream
59f4c0
# The @X@ syntax indicates variables that are replaced by configure upstream
f8e459
for suffix in %{build_loop} ; do
f8e459
for file in %{SOURCE9}; do
f8e459
    FILE=`basename $file | sed -e s:\.in$::g`
f8e459
    EXT="${FILE##*.}"
f8e459
    NAME="${FILE%.*}"
f8e459
    OUTPUT_FILE=$NAME$suffix.$EXT
59f4c0
    sed    -e  "s:_SDKBINDIR_:%{sdkbindir -- $suffix}:g" $file > $OUTPUT_FILE
59f4c0
    sed -i -e  "s:@target_cpu@:%{_arch}:g" $OUTPUT_FILE
59f4c0
    sed -i -e  "s:@OPENJDK_VER@:%{version}-%{release}.%{_arch}$suffix:g" $OUTPUT_FILE
59f4c0
    sed -i -e  "s:@JAVA_VER@:%{javaver}:g" $OUTPUT_FILE
f8e459
    sed -i -e  "s:@JAVA_VENDOR@:%{origin}:g" $OUTPUT_FILE
f8e459
done
f8e459
done
f8e459
f8e459
# Setup nss.cfg
f8e459
sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE11} > nss.cfg
f8e459
f8e459
%build
f8e459
# How many CPU's do we have?
f8e459
export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :)
f8e459
export NUM_PROC=${NUM_PROC:-1}
f8e459
%if 0%{?_smp_ncpus_max}
f8e459
# Honor %%_smp_ncpus_max
f8e459
[ ${NUM_PROC} -gt %{?_smp_ncpus_max} ] && export NUM_PROC=%{?_smp_ncpus_max}
f8e459
%endif
f8e459
f8e459
%ifarch s390x sparc64 alpha %{power64} %{aarch64}
f8e459
export ARCH_DATA_MODEL=64
f8e459
%endif
f8e459
%ifarch alpha
f8e459
export CFLAGS="$CFLAGS -mieee"
f8e459
%endif
f8e459
f8e459
# We use ourcppflags because the OpenJDK build seems to
f8e459
# pass EXTRA_CFLAGS to the HotSpot C++ compiler...
f8e459
# Explicitly set the C++ standard as the default has changed on GCC >= 6
f8e459
EXTRA_CFLAGS="%ourcppflags"
f8e459
EXTRA_CPP_FLAGS="%ourcppflags"
f8e459
f8e459
%ifarch %{power64} ppc
f8e459
# fix rpmlint warnings
f8e459
EXTRA_CFLAGS="$EXTRA_CFLAGS -fno-strict-aliasing"
f8e459
%endif
59f4c0
%ifarch %{ix86}
59f4c0
# Align stack boundary on x86_32
59f4c0
EXTRA_CFLAGS="$(echo ${EXTRA_CFLAGS} | sed -e 's|-mstackrealign|-mincoming-stack-boundary=2 -mpreferred-stack-boundary=4|')"
59f4c0
EXTRA_CPP_FLAGS="$(echo ${EXTRA_CPP_FLAGS} | sed -e 's|-mstackrealign|-mincoming-stack-boundary=2 -mpreferred-stack-boundary=4|')"
59f4c0
%endif
59f4c0
export EXTRA_CFLAGS EXTRA_CPP_FLAGS
59f4c0
59f4c0
function buildjdk() {
59f4c0
    local outputdir=${1}
59f4c0
    local buildjdk=${2}
59f4c0
    local maketargets="${3}"
59f4c0
    local debuglevel=${4}
59f4c0
    local link_opt=${5}
59f4c0
59f4c0
    local top_dir_abs_src_path=$(pwd)/%{top_level_dir_name}
59f4c0
    local top_dir_abs_build_path=$(pwd)/${outputdir}
59f4c0
278304
    # This must be set using the global, so that the
278304
    # static libraries still use a dynamic stdc++lib
278304
    if [ "x%{link_type}" = "xbundled" ] ; then
278304
        libc_link_opt="static";
59f4c0
    else
278304
        libc_link_opt="dynamic";
f8e459
    fi
f8e459
59f4c0
    echo "Using output directory: ${outputdir}";
59f4c0
    echo "Checking build JDK ${buildjdk} is operational..."
59f4c0
    ${buildjdk}/bin/java -version
59f4c0
    echo "Using make targets: ${maketargets}"
59f4c0
    echo "Using debuglevel: ${debuglevel}"
59f4c0
    echo "Using link_opt: ${link_opt}"
278304
    echo "Building %{newjavaver}-%{buildver}, pre=%{ea_designator}, opt=%{lts_designator}"
f8e459
59f4c0
    mkdir -p ${outputdir}
59f4c0
    pushd ${outputdir}
f8e459
278304
    # Note: zlib and freetype use %{link_type}
278304
    # rather than ${link_opt} as the system versions
278304
    # are always used in a system_libs build, even
278304
    # for the static library build
59f4c0
    bash ${top_dir_abs_src_path}/configure \
59f4c0
%ifarch %{zero_arches}
f8e459
    --with-jvm-variants=zero \
f8e459
%endif
f8e459
%ifarch %{ppc64le}
f8e459
    --with-jobs=1 \
f8e459
%endif
f8e459
    --with-version-build=%{buildver} \
278304
    --with-version-pre="%{ea_designator}" \
f8e459
    --with-version-opt=%{lts_designator} \
278304
    --with-vendor-version-string="%{oj_vendor_version}" \
278304
    --with-vendor-name="%{oj_vendor}" \
278304
    --with-vendor-url="%{oj_vendor_url}" \
278304
    --with-vendor-bug-url="%{oj_vendor_bug_url}" \
278304
    --with-vendor-vm-bug-url="%{oj_vendor_bug_url}" \
59f4c0
    --with-boot-jdk=${buildjdk} \
59f4c0
    --with-debug-level=${debuglevel} \
59f4c0
    --with-native-debug-symbols="%{debug_symbols}" \
249eac
    --disable-sysconf-nss \
f8e459
    --enable-unlimited-crypto \
278304
    --with-zlib=%{link_type} \
278304
    --with-freetype=%{link_type} \
f8e459
    --with-libjpeg=${link_opt} \
f8e459
    --with-giflib=${link_opt} \
f8e459
    --with-libpng=${link_opt} \
f8e459
    --with-lcms=${link_opt} \
f8e459
    --with-harfbuzz=${link_opt} \
278304
    --with-stdc++lib=${libc_link_opt} \
f8e459
    --with-extra-cxxflags="$EXTRA_CPP_FLAGS" \
f8e459
    --with-extra-cflags="$EXTRA_CFLAGS" \
f8e459
    --with-extra-ldflags="%{ourldflags}" \
f8e459
    --with-num-cores="$NUM_PROC" \
f8e459
    --with-source-date="${SOURCE_DATE_EPOCH}" \
f8e459
    --disable-javac-server \
f8e459
%ifarch %{zgc_arches}
f8e459
    --with-jvm-features=zgc \
f8e459
%endif
f8e459
    --disable-warnings-as-errors
f8e459
59f4c0
    cat spec.gmk
f8e459
59f4c0
    make \
59f4c0
      LOG=trace \
59f4c0
      WARNINGS_ARE_ERRORS="-Wno-error" \
59f4c0
      CFLAGS_WARNINGS_ARE_ERRORS="-Wno-error" \
59f4c0
      $maketargets || ( pwd; find ${top_dir_abs_src_path} ${top_dir_abs_build_path} -name "hs_err_pid*.log" | xargs cat && false )
f8e459
59f4c0
    popd
59f4c0
}
f8e459
59f4c0
function installjdk() {
59f4c0
    local imagepath=${1}
f8e459
59f4c0
    if [ -d ${imagepath} ] ; then
278304
	# the build (erroneously) removes read permissions from some jars
278304
	# this is a regression in OpenJDK 7 (our compiler):
278304
	# http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
278304
	find ${imagepath} -iname '*.jar' -exec chmod ugo+r {} \;
278304
278304
	# Build screws up permissions on binaries
278304
	# https://bugs.openjdk.java.net/browse/JDK-8173610
278304
	find ${imagepath} -iname '*.so' -exec chmod +x {} \;
278304
	find ${imagepath}/bin/ -exec chmod +x {} \;
278304
278304
	# Install nss.cfg right away as we will be using the JRE above
278304
	install -m 644 nss.cfg ${imagepath}/conf/security/
278304
278304
	# Turn on system security properties
278304
	sed -i -e "s:^security.useSystemPropertiesFile=.*:security.useSystemPropertiesFile=true:" \
278304
	    ${imagepath}/conf/security/java.security
278304
278304
	# Use system-wide tzdata
278304
	rm ${imagepath}/lib/tzdb.dat
278304
	ln -s %{_datadir}/javazi-1.8/tzdb.dat ${imagepath}/lib/tzdb.dat
278304
278304
	# Create fake alt-java as a placeholder for future alt-java
278304
	pushd ${imagepath}
278304
	# add alt-java man page
278304
	echo "Hardened java binary recommended for launching untrusted code from the Web e.g. javaws" > man/man1/%{alt_java_name}.1
278304
	cat man/man1/java.1 >> man/man1/%{alt_java_name}.1
278304
	popd
59f4c0
    fi
59f4c0
}
f8e459
59f4c0
%if %{build_hotspot_first}
59f4c0
  # Build a fresh libjvm.so first and use it to bootstrap
59f4c0
  cp -LR --preserve=mode,timestamps %{bootjdk} newboot
59f4c0
  systemjdk=$(pwd)/newboot
59f4c0
  buildjdk build/newboot ${systemjdk} %{hotspot_target} "release" "bundled"
59f4c0
  mv build/newboot/jdk/lib/server/libjvm.so newboot/lib/server
59f4c0
%else
59f4c0
  systemjdk=%{bootjdk}
59f4c0
%endif
f8e459
59f4c0
for suffix in %{build_loop} ; do
f8e459
59f4c0
  if [ "x$suffix" = "x" ] ; then
59f4c0
      debugbuild=release
59f4c0
  else
59f4c0
      # change --something to something
59f4c0
      debugbuild=`echo $suffix  | sed "s/-//g"`
59f4c0
  fi
f8e459
59f4c0
59f4c0
  for loop in %{main_suffix} %{staticlibs_loop} ; do
59f4c0
59f4c0
    builddir=%{buildoutputdir -- ${suffix}${loop}}
59f4c0
    bootbuilddir=boot${builddir}
59f4c0
59f4c0
    if test "x${loop}" = "x%{main_suffix}" ; then
278304
      link_opt="%{link_type}"
278304
%if %{system_libs}
59f4c0
      # Copy the source tree so we can remove all in-tree libraries
59f4c0
      cp -a %{top_level_dir_name} %{top_level_dir_name_backup}
59f4c0
      # Remove all libraries that are linked
59f4c0
      sh %{SOURCE12} %{top_level_dir_name} full
278304
%endif
59f4c0
      # Debug builds don't need same targets as release for
59f4c0
      # build speed-up. We also avoid bootstrapping these
59f4c0
      # slower builds.
59f4c0
      if echo $debugbuild | grep -q "debug" ; then
59f4c0
        maketargets="%{debug_targets}"
59f4c0
        run_bootstrap=false
59f4c0
      else
59f4c0
        maketargets="%{release_targets}"
59f4c0
        run_bootstrap=%{bootstrap_build}
59f4c0
      fi
59f4c0
      if ${run_bootstrap} ; then
59f4c0
        buildjdk ${bootbuilddir} ${systemjdk} "%{bootstrap_targets}" ${debugbuild} ${link_opt}
59f4c0
        buildjdk ${builddir} $(pwd)/${bootbuilddir}/images/%{jdkimage} "${maketargets}" ${debugbuild} ${link_opt}
59f4c0
        rm -rf ${bootbuilddir}
59f4c0
      else
59f4c0
        buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt}
59f4c0
      fi
278304
%if %{system_libs}
59f4c0
      # Restore original source tree we modified by removing full in-tree sources
59f4c0
      rm -rf %{top_level_dir_name}
59f4c0
      mv %{top_level_dir_name_backup} %{top_level_dir_name}
278304
%endif
59f4c0
    else
59f4c0
      # Use bundled libraries for building statically
59f4c0
      link_opt="bundled"
59f4c0
      # Static library cycle only builds the static libraries
59f4c0
      maketargets="%{static_libs_target}"
59f4c0
      # Always just do the one build for the static libraries
59f4c0
      buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt}
59f4c0
    fi
59f4c0
59f4c0
  done # end of main / staticlibs loop
59f4c0
59f4c0
  # Final setup on the main image
59f4c0
  top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
59f4c0
  installjdk ${top_dir_abs_main_build_path}/images/%{jdkimage}
278304
278304
  # Print release information
278304
  cat ${top_dir_abs_main_build_path}/images/%{jdkimage}/release
f8e459
f8e459
# build cycles
f8e459
done # end of release / debug cycle loop
f8e459
278304
%check
278304
278304
# We test debug first as it will give better diagnostics on a crash
278304
for suffix in %{build_loop} ; do
278304
278304
top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
278304
%if %{include_staticlibs}
278304
top_dir_abs_staticlibs_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{staticlibs_loop}}
278304
%endif
278304
278304
export JAVA_HOME=${top_dir_abs_main_build_path}/images/%{jdkimage}
278304
278304
# Pre-test setup
278304
278304
#check Shenandoah is enabled
278304
%if %{use_shenandoah_hotspot}
278304
$JAVA_HOME//bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -version
278304
%endif
278304
278304
# Check unlimited policy has been used
278304
$JAVA_HOME/bin/javac -d . %{SOURCE13}
278304
$JAVA_HOME/bin/java --add-opens java.base/javax.crypto=ALL-UNNAMED TestCryptoLevel
278304
278304
# Check ECC is working
278304
$JAVA_HOME/bin/javac -d . %{SOURCE14}
278304
$JAVA_HOME/bin/java $(echo $(basename %{SOURCE14})|sed "s|\.java||")
278304
278304
# Check system crypto (policy) is active and can be disabled
278304
# Test takes a single argument - true or false - to state whether system
278304
# security properties are enabled or not.
278304
$JAVA_HOME/bin/javac -d . %{SOURCE15}
278304
export PROG=$(echo $(basename %{SOURCE15})|sed "s|\.java||")
278304
export SEC_DEBUG="-Djava.security.debug=properties"
278304
$JAVA_HOME/bin/java ${SEC_DEBUG} ${PROG} true
278304
$JAVA_HOME/bin/java ${SEC_DEBUG} -Djava.security.disableSystemPropertiesFile=true ${PROG} false
278304
278304
# Check java launcher has no SSB mitigation
278304
if ! nm $JAVA_HOME/bin/java | grep set_speculation ; then true ; else false; fi
278304
278304
# Check alt-java launcher has SSB mitigation on supported architectures
278304
%ifarch %{ssbd_arches}
278304
nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation
278304
%else
278304
if ! nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation ; then true ; else false; fi
278304
%endif
278304
278304
# Check translations are available for new timezones
278304
$JAVA_HOME/bin/javac -d . %{SOURCE18}
278304
$JAVA_HOME/bin/java $(echo $(basename %{SOURCE18})|sed "s|\.java||") JRE
278304
$JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})|sed "s|\.java||") CLDR
278304
278304
%if %{include_staticlibs}
278304
# Check debug symbols in static libraries (smoke test)
278304
export STATIC_LIBS_HOME=${top_dir_abs_staticlibs_build_path}/images/%{static_libs_image}
278304
readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep w_remainder.c
278304
readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep e_remainder.c
278304
%endif
278304
278304
so_suffix="so"
278304
# Check debug symbols are present and can identify code
278304
find "$JAVA_HOME" -iname "*.$so_suffix" -print0 | while read -d $'\0' lib
278304
do
278304
  if [ -f "$lib" ] ; then
278304
    echo "Testing $lib for debug symbols"
278304
    # All these tests rely on RPM failing the build if the exit code of any set
278304
    # of piped commands is non-zero.
278304
278304
    # Test for .debug_* sections in the shared object. This is the main test
278304
    # Stripped objects will not contain these
278304
    eu-readelf -S "$lib" | grep "] .debug_"
278304
    test $(eu-readelf -S "$lib" | grep -E "\]\ .debug_(info|abbrev)" | wc --lines) == 2
278304
278304
    # Test FILE symbols. These will most likely be removed by anything that
278304
    # manipulates symbol tables because it's generally useless. So a nice test
278304
    # that nothing has messed with symbols
278304
    old_IFS="$IFS"
278304
    IFS=$'\n'
278304
    for line in $(eu-readelf -s "$lib" | grep "00000000      0 FILE    LOCAL  DEFAULT")
278304
    do
278304
     # We expect to see .cpp files, except for architectures like aarch64 and
278304
     # s390 where we expect .o and .oS files
278304
      echo "$line" | grep -E "ABS ((.*/)?[-_a-zA-Z0-9]+\.(c|cc|cpp|cxx|o|S|oS))?$"
278304
    done
278304
    IFS="$old_IFS"
278304
278304
    # If this is the JVM, look for javaCalls.(cpp|o) in FILEs, for extra sanity checking
278304
    if [ "`basename $lib`" = "libjvm.so" ]; then
278304
      eu-readelf -s "$lib" | \
278304
        grep -E "00000000      0 FILE    LOCAL  DEFAULT      ABS javaCalls.(cpp|o)$"
278304
    fi
278304
278304
    # Test that there are no .gnu_debuglink sections pointing to another
278304
    # debuginfo file. There shouldn't be any debuginfo files, so the link makes
278304
    # no sense either
278304
    eu-readelf -S "$lib" | grep 'gnu'
278304
    if eu-readelf -S "$lib" | grep '] .gnu_debuglink' | grep PROGBITS; then
278304
      echo "bad .gnu_debuglink section."
278304
      eu-readelf -x .gnu_debuglink "$lib"
278304
      false
278304
    fi
278304
  fi
278304
done
278304
278304
# Make sure gdb can do a backtrace based on line numbers on libjvm.so
278304
# javaCalls.cpp:58 should map to:
278304
# http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/ff3b27e6bcc2/src/share/vm/runtime/javaCalls.cpp#l58
278304
# Using line number 1 might cause build problems. See:
278304
# https://bugzilla.redhat.com/show_bug.cgi?id=1539664
278304
# https://bugzilla.redhat.com/show_bug.cgi?id=1538767
278304
gdb -q "$JAVA_HOME/bin/java" <
278304
handle SIGSEGV pass nostop noprint
278304
handle SIGILL pass nostop noprint
278304
set breakpoint pending on
278304
break javaCalls.cpp:58
278304
commands 1
278304
backtrace
278304
quit
278304
end
278304
run -version
278304
EOF
278304
278304
%ifarch %{gdb_arches}
278304
grep 'JavaCallWrapper::JavaCallWrapper' gdb.out
278304
%endif
278304
278304
# Check src.zip has all sources. See RHBZ#1130490
278304
unzip -l $JAVA_HOME/lib/src.zip | grep 'sun.misc.Unsafe'
278304
278304
# Check class files include useful debugging information
278304
$JAVA_HOME/bin/javap -l java.lang.Object | grep "Compiled from"
278304
$JAVA_HOME/bin/javap -l java.lang.Object | grep LineNumberTable
278304
$JAVA_HOME/bin/javap -l java.lang.Object | grep LocalVariableTable
278304
278304
# Check generated class files include useful debugging information
278304
$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep "Compiled from"
278304
$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LineNumberTable
278304
$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LocalVariableTable
278304
278304
# build cycles check
278304
done
278304
f8e459
%install
f8e459
STRIP_KEEP_SYMTAB=libjvm*
f8e459
f8e459
for suffix in %{build_loop} ; do
f8e459
f8e459
top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
f8e459
%if %{include_staticlibs}
f8e459
top_dir_abs_staticlibs_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{staticlibs_loop}}
f8e459
%endif
f8e459
jdk_image=${top_dir_abs_main_build_path}/images/%{jdkimage}
f8e459
f8e459
# Install the jdk
f8e459
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
f8e459
cp -a ${jdk_image} $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}
f8e459
f8e459
pushd ${jdk_image}
f8e459
f8e459
%if %{with_systemtap}
f8e459
  # Install systemtap support files
f8e459
  install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset
f8e459
  # note, that uniquesuffix  is in BUILD dir in this case
f8e459
  cp -a $RPM_BUILD_DIR/%{uniquesuffix ""}/tapset$suffix/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/
f8e459
  pushd  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/
f8e459
   tapsetFiles=`ls *.stp`
f8e459
  popd
f8e459
  install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir}
f8e459
  for name in $tapsetFiles ; do
f8e459
    targetName=`echo $name | sed "s/.stp/$suffix.stp/"`
278304
    ln -sf %{_jvmdir}/%{sdkdir -- $suffix}/tapset/$name $RPM_BUILD_ROOT%{tapsetdir}/$targetName
f8e459
  done
f8e459
%endif
f8e459
278304
  # Remove empty cacerts database
278304
  rm -f $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/security/cacerts
278304
  # Install cacerts symlink needed by some apps which hard-code the path
278304
  pushd $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/security
278304
      ln -sf /etc/pki/java/cacerts .
278304
  popd
278304
f8e459
  # Install version-ed symlinks
f8e459
  pushd $RPM_BUILD_ROOT%{_jvmdir}
f8e459
    ln -sf %{sdkdir -- $suffix} %{jrelnk -- $suffix}
f8e459
  popd
f8e459
f8e459
  # Install man pages
f8e459
  install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
f8e459
  for manpage in man/man1/*
f8e459
  do
f8e459
    # Convert man pages to UTF8 encoding
f8e459
    iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
f8e459
    mv -f $manpage.tmp $manpage
f8e459
    install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename \
f8e459
      $manpage .1)-%{uniquesuffix -- $suffix}.1
f8e459
  done
f8e459
  # Remove man pages from jdk image
f8e459
  rm -rf $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/man
f8e459
f8e459
popd
f8e459
# Install static libs artefacts
f8e459
%if %{include_staticlibs}
278304
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/static/linux-%{archinstall}/glibc
f8e459
cp -a ${top_dir_abs_staticlibs_build_path}/images/%{static_libs_image}/lib/*.a \
278304
  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/static/linux-%{archinstall}/glibc
f8e459
%endif
f8e459
f8e459
if ! echo $suffix | grep -q "debug" ; then
f8e459
  # Install Javadoc documentation
f8e459
  install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
f8e459
  cp -a ${top_dir_abs_main_build_path}/images/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}
f8e459
  built_doc_archive=jdk-%{filever}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip
f8e459
  cp -a ${top_dir_abs_main_build_path}/bundles/${built_doc_archive} \
f8e459
     $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip || ls -l ${top_dir_abs_main_build_path}/bundles/
f8e459
fi
f8e459
f8e459
# Install release notes
f8e459
commondocdir=${RPM_BUILD_ROOT}%{_defaultdocdir}/%{uniquejavadocdir -- $suffix}
f8e459
install -d -m 755 ${commondocdir}
f8e459
cp -a %{SOURCE10} ${commondocdir}
f8e459
f8e459
# Install icons and menu entries
f8e459
for s in 16 24 32 48 ; do
f8e459
  install -D -p -m 644 \
f8e459
    %{top_level_dir_name}/src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png \
f8e459
    $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}-%{origin}.png
f8e459
done
f8e459
f8e459
# Install desktop files
f8e459
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps}
f8e459
for e in jconsole$suffix ; do
f8e459
    desktop-file-install --vendor=%{uniquesuffix -- $suffix} --mode=644 \
f8e459
        --dir=$RPM_BUILD_ROOT%{_datadir}/applications $e.desktop
f8e459
done
f8e459
f8e459
# Install /etc/.java/.systemPrefs/ directory
f8e459
# See https://bugzilla.redhat.com/show_bug.cgi?id=741821
f8e459
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/.java/.systemPrefs
f8e459
f8e459
# copy samples next to demos; samples are mostly js files
f8e459
cp -r %{top_level_dir_name}/src/sample  $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/
f8e459
f8e459
f8e459
# moving config files to /etc
f8e459
mkdir -p $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}
f8e459
mkdir -p $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}/lib
f8e459
mv $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/conf/  $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}
f8e459
mv $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/lib/security  $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}/lib
f8e459
pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}
278304
  ln -s %{etcjavadir -- $suffix}/conf  ./conf
f8e459
popd
f8e459
pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/lib
278304
  ln -s %{etcjavadir -- $suffix}/lib/security  ./security
f8e459
popd
f8e459
# end moving files to /etc
f8e459
f8e459
# stabilize permissions
59f4c0
find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -name "*.so" -exec chmod 755 {} \; ;
59f4c0
find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -type d -exec chmod 755 {} \; ;
59f4c0
find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/legal -type f -exec chmod 644 {} \; ;
f8e459
f8e459
# end, dual install
f8e459
done
f8e459
f8e459
%if %{include_normal_build}
f8e459
# intentionally only for non-debug
f8e459
%pretrans headless -p <lua>
f8e459
-- see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
f8e459
-- see https://bugzilla.redhat.com/show_bug.cgi?id=1290388 for pretrans over pre
f8e459
-- if copy-jdk-configs is in transaction, it installs in pretrans to temp
f8e459
-- if copy_jdk_configs is in temp, then it means that copy-jdk-configs is in transaction  and so is
f8e459
-- preferred over one in %%{_libexecdir}. If it is not in transaction, then depends
f8e459
-- whether copy-jdk-configs is installed or not. If so, then configs are copied
f8e459
-- (copy_jdk_configs from %%{_libexecdir} used) or not copied at all
f8e459
local posix = require "posix"
f8e459
f8e459
if (os.getenv("debug") == "true") then
f8e459
  debug = true;
f8e459
  print("cjc: in spec debug is on")
59f4c0
else
f8e459
  debug = false;
f8e459
end
f8e459
f8e459
SOURCE1 = "%{rpm_state_dir}/copy_jdk_configs.lua"
f8e459
SOURCE2 = "%{_libexecdir}/copy_jdk_configs.lua"
f8e459
f8e459
local stat1 = posix.stat(SOURCE1, "type");
f8e459
local stat2 = posix.stat(SOURCE2, "type");
f8e459
f8e459
  if (stat1 ~= nil) then
f8e459
  if (debug) then
f8e459
    print(SOURCE1 .." exists - copy-jdk-configs in transaction, using this one.")
f8e459
  end;
f8e459
  package.path = package.path .. ";" .. SOURCE1
f8e459
else
f8e459
  if (stat2 ~= nil) then
f8e459
  if (debug) then
f8e459
    print(SOURCE2 .." exists - copy-jdk-configs already installed and NOT in transaction. Using.")
f8e459
  end;
f8e459
  package.path = package.path .. ";" .. SOURCE2
f8e459
  else
f8e459
    if (debug) then
f8e459
      print(SOURCE1 .." does NOT exists")
f8e459
      print(SOURCE2 .." does NOT exists")
f8e459
      print("No config files will be copied")
f8e459
    end
f8e459
  return
f8e459
  end
f8e459
end
f8e459
-- run content of included file with fake args
f8e459
arg = {"--currentjvm", "%{uniquesuffix %{nil}}", "--jvmdir", "%{_jvmdir %{nil}}", "--origname", "%{name}", "--origjavaver", "%{javaver}", "--arch", "%{_arch}", "--temp", "%{rpm_state_dir}/%{name}.%{_arch}"}
f8e459
require "copy_jdk_configs.lua"
f8e459
f8e459
%post
f8e459
%{post_script %{nil}}
f8e459
f8e459
%post headless
f8e459
%{post_headless %{nil}}
f8e459
f8e459
%postun
f8e459
%{postun_script %{nil}}
f8e459
f8e459
%postun headless
f8e459
%{postun_headless %{nil}}
f8e459
f8e459
%posttrans
f8e459
%{posttrans_script %{nil}}
f8e459
249eac
%posttrans headless
249eac
%{alternatives_java_install %{nil}}
249eac
f8e459
%post devel
f8e459
%{post_devel %{nil}}
f8e459
f8e459
%postun devel
f8e459
%{postun_devel %{nil}}
f8e459
f8e459
%posttrans  devel
f8e459
%{posttrans_devel %{nil}}
f8e459
249eac
%posttrans javadoc
249eac
%{alternatives_javadoc_install %{nil}}
f8e459
f8e459
%postun javadoc
f8e459
%{postun_javadoc %{nil}}
f8e459
249eac
%posttrans javadoc-zip
249eac
%{alternatives_javadoczip_install %{nil}}
f8e459
f8e459
%postun javadoc-zip
f8e459
%{postun_javadoc_zip %{nil}}
f8e459
%endif
f8e459
f8e459
%if %{include_debug_build}
f8e459
%post slowdebug
f8e459
%{post_script -- %{debug_suffix_unquoted}}
f8e459
f8e459
%post headless-slowdebug
f8e459
%{post_headless -- %{debug_suffix_unquoted}}
f8e459
249eac
%posttrans headless-slowdebug
249eac
%{alternatives_java_install -- %{debug_suffix_unquoted}}
249eac
f8e459
%postun slowdebug
f8e459
%{postun_script -- %{debug_suffix_unquoted}}
f8e459
f8e459
%postun headless-slowdebug
f8e459
%{postun_headless -- %{debug_suffix_unquoted}}
f8e459
f8e459
%posttrans slowdebug
f8e459
%{posttrans_script -- %{debug_suffix_unquoted}}
f8e459
f8e459
%post devel-slowdebug
f8e459
%{post_devel -- %{debug_suffix_unquoted}}
f8e459
f8e459
%postun devel-slowdebug
f8e459
%{postun_devel -- %{debug_suffix_unquoted}}
f8e459
f8e459
%posttrans  devel-slowdebug
f8e459
%{posttrans_devel -- %{debug_suffix_unquoted}}
f8e459
%endif
f8e459
f8e459
%if %{include_fastdebug_build}
f8e459
%post fastdebug
f8e459
%{post_script -- %{fastdebug_suffix_unquoted}}
f8e459
f8e459
%post headless-fastdebug
f8e459
%{post_headless -- %{fastdebug_suffix_unquoted}}
f8e459
f8e459
%postun fastdebug
f8e459
%{postun_script -- %{fastdebug_suffix_unquoted}}
f8e459
f8e459
%postun headless-fastdebug
f8e459
%{postun_headless -- %{fastdebug_suffix_unquoted}}
f8e459
f8e459
%posttrans fastdebug
f8e459
%{posttrans_script -- %{fastdebug_suffix_unquoted}}
f8e459
249eac
%posttrans headless-fastdebug
249eac
%{alternatives_java_install -- %{fastdebug_suffix_unquoted}}
249eac
f8e459
%post devel-fastdebug
f8e459
%{post_devel -- %{fastdebug_suffix_unquoted}}
f8e459
f8e459
%postun devel-fastdebug
f8e459
%{postun_devel -- %{fastdebug_suffix_unquoted}}
f8e459
f8e459
%posttrans  devel-fastdebug
f8e459
%{posttrans_devel -- %{fastdebug_suffix_unquoted}}
f8e459
f8e459
%endif
f8e459
f8e459
%if %{include_normal_build}
f8e459
%files
f8e459
# main package builds always
f8e459
%{files_jre %{nil}}
f8e459
%else
f8e459
%files
f8e459
# placeholder
f8e459
%endif
f8e459
f8e459
f8e459
%if %{include_normal_build}
f8e459
%files headless
f8e459
# important note, see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
f8e459
# all config/noreplace files (and more) have to be declared in pretrans. See pretrans
f8e459
%{files_jre_headless %{nil}}
f8e459
f8e459
%files devel
f8e459
%{files_devel %{nil}}
f8e459
f8e459
%if %{include_staticlibs}
f8e459
%files static-libs
f8e459
%{files_static_libs %{nil}}
f8e459
%endif
f8e459
f8e459
%files jmods
f8e459
%{files_jmods %{nil}}
f8e459
f8e459
%files demo
f8e459
%{files_demo %{nil}}
f8e459
f8e459
%files src
f8e459
%{files_src %{nil}}
f8e459
f8e459
%files javadoc
f8e459
%{files_javadoc %{nil}}
f8e459
f8e459
# This puts a huge documentation file in /usr/share
f8e459
# It is now architecture-dependent, as eg. AOT and Graal are now x86_64 only
f8e459
# same for debug variant
f8e459
%files javadoc-zip
f8e459
%{files_javadoc_zip %{nil}}
f8e459
%endif
f8e459
f8e459
%if %{include_debug_build}
f8e459
%files slowdebug
f8e459
%{files_jre -- %{debug_suffix_unquoted}}
f8e459
f8e459
%files headless-slowdebug
f8e459
%{files_jre_headless -- %{debug_suffix_unquoted}}
f8e459
f8e459
%files devel-slowdebug
f8e459
%{files_devel -- %{debug_suffix_unquoted}}
f8e459
f8e459
%if %{include_staticlibs}
f8e459
%files static-libs-slowdebug
f8e459
%{files_static_libs -- %{debug_suffix_unquoted}}
f8e459
%endif
f8e459
f8e459
%files jmods-slowdebug
f8e459
%{files_jmods -- %{debug_suffix_unquoted}}
f8e459
f8e459
%files demo-slowdebug
f8e459
%{files_demo -- %{debug_suffix_unquoted}}
f8e459
f8e459
%files src-slowdebug
f8e459
%{files_src -- %{debug_suffix_unquoted}}
f8e459
%endif
f8e459
f8e459
%if %{include_fastdebug_build}
f8e459
%files fastdebug
f8e459
%{files_jre -- %{fastdebug_suffix_unquoted}}
f8e459
f8e459
%files headless-fastdebug
f8e459
%{files_jre_headless -- %{fastdebug_suffix_unquoted}}
f8e459
f8e459
%files devel-fastdebug
f8e459
%{files_devel -- %{fastdebug_suffix_unquoted}}
f8e459
f8e459
%if %{include_staticlibs}
f8e459
%files static-libs-fastdebug
f8e459
%{files_static_libs -- %{fastdebug_suffix_unquoted}}
f8e459
%endif
f8e459
f8e459
%files jmods-fastdebug
f8e459
%{files_jmods -- %{fastdebug_suffix_unquoted}}
f8e459
f8e459
%files demo-fastdebug
f8e459
%{files_demo -- %{fastdebug_suffix_unquoted}}
f8e459
f8e459
%files src-fastdebug
f8e459
%{files_src -- %{fastdebug_suffix_unquoted}}
f8e459
f8e459
%endif
f8e459
f8e459
%changelog
278304
* Wed Jan 04 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.6.0.9-0.3.ea
278304
- Update to jdk-17.0.6+9
278304
- Update release notes to 17.0.6+9
278304
- Drop local copy of JDK-8293834 now this is upstream
278304
- Require tzdata 2022g due to inclusion of JDK-8296108, JDK-8296715 & JDK-8297804
278304
- Update TestTranslations.java to test the new America/Ciudad_Juarez zone
278304
- Resolves: rhbz#2150195
278304
278304
* Sat Dec 03 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.6.0.1-0.3.ea
278304
- Update to jdk-17.0.6+1
278304
- Update release notes to 17.0.6+1
278304
- Switch to EA mode for 17.0.6 pre-release builds.
278304
- Re-enable EA upstream status check now it is being actively maintained.
278304
- Drop JDK-8294357 (tzdata2022d) & JDK-8295173 (tzdata2022e) local patches which are now upstream
278304
- Drop JDK-8275535 local patch now this has been accepted and backported upstream
278304
- Bump tzdata requirement to 2022e now the package is available in RHEL
278304
- Related: rhbz#2150195
278304
278304
* Wed Nov 23 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.5.0.8-5
278304
- Update FIPS support to bring in latest changes
278304
- * Add nss.fips.cfg support to OpenJDK tree
278304
- * RH2117972: Extend the support for NSS DBs (PKCS11) in FIPS mode
278304
- * Remove forgotten dead code from RH2020290 and RH2104724
278304
- Drop local nss.fips.cfg.in handling now this is handled in the patched OpenJDK build
278304
- Resolves: rhbz#2117972
278304
278304
* Wed Oct 26 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.5.0.8-2
278304
- Update to jdk-17.0.5+8 (GA)
278304
- Update release notes to 17.0.5+8 (GA)
278304
- Switch to GA mode for final release.
278304
- Update in-tree tzdata to 2022e with JDK-8294357 & JDK-8295173
278304
- Update CLDR data with Europe/Kyiv (JDK-8293834)
278304
- Drop JDK-8292223 patch which we found to be unnecessary
278304
- Update TestTranslations.java to use public API based on TimeZoneNamesTest upstream
278304
- The stdc++lib, zlib & freetype options should always be set from the global, so they are not altered for staticlibs builds
278304
- Remove freetype sources along with zlib sources
278304
- Resolves: rhbz#2133695
278304
278304
* Tue Oct 04 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.5.0.7-0.2.ea
278304
- Update to jdk-17.0.5+7
278304
- Update release notes to 17.0.5+7
278304
- Drop JDK-8288985 patch that is now upstream
278304
- Resolves: rhbz#2130617
278304
278304
* Mon Oct 03 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.5.0.1-0.2.ea
278304
- Update to jdk-17.0.5+1
278304
- Update release notes to 17.0.5+1
278304
- Switch to EA mode for 17.0.5 pre-release builds.
278304
- Bump HarfBuzz bundled version to 4.4.1 following JDK-8289853
278304
- Bump FreeType bundled version to 2.12.1 following JDK-8290334
278304
- Related: rhbz#2130617
278304
278304
* Tue Aug 30 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.4.1.1-6
278304
- Backport JDK-8288985 to enable use of ChaCha20-Poly1305 with the PKCS11 provider
278304
- Upstream backport in progress: https://github.com/openjdk/jdk17u-dev/pull/650
278304
- Resolves: rhbz#2006351
278304
278304
* Tue Aug 30 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.4.1.1-5
278304
- Switch to static builds, reducing system dependencies and making build more portable
278304
- Resolves: rhbz#2121263
278304
278304
* Mon Aug 29 2022 Stephan Bergmann <sbergman@redhat.com> - 1:17.0.4.1.1-4
278304
- Fix flatpak builds (catering for their uncompressed manual pages)
278304
- Fix flatpak builds by exempting them from bootstrap
278304
- Resolves: rhbz#2102734
278304
278304
* Mon Aug 29 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.4.1.1-3
278304
- Update FIPS support to bring in latest changes
278304
- * RH2104724: Avoid import/export of DH private keys
278304
- * RH2092507: P11Key.getEncoded does not work for DH keys in FIPS mode
278304
- * Build the systemconf library on all platforms
278304
- * RH2048582: Support PKCS#12 keystores
278304
- * RH2020290: Support TLS 1.3 in FIPS mode
278304
- Resolves: rhbz#2104724
278304
- Resolves: rhbz#2092507
278304
- Resolves: rhbz#2048582
278304
- Resolves: rhbz#2020290
278304
278304
* Sun Aug 21 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.4.1.1-2
278304
- Update to jdk-17.0.4.1+1
278304
- Update release notes to 17.0.4.1+1
278304
- Add patch to provide translations for Europe/Kyiv added in tzdata2022b
278304
- Add test to ensure timezones can be translated
278304
- Resolves: rhbz#2119531
278304
278304
* Fri Jul 22 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.4.0.8-3
278304
- Update to jdk-17.0.4.0+8
278304
- Update release notes to 17.0.4.0+8
278304
- Switch to GA mode for release
278304
- Resolves: rhbz#2106522
278304
278304
* Wed Jul 20 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.4.0.7-0.2.ea
278304
- Revert the following changes until copy-java-configs has adapted to relative symlinks:
278304
- * Move cacerts replacement to install section and retain original of this and tzdb.dat
278304
- * Run tests on the installed image, rather than the build image
278304
- * Introduce variables to refer to the static library installation directories
278304
- * Use relative symlinks so they work within the image
278304
- * Run debug symbols check during build stage, before the install strips them
278304
- The move of turning on system security properties is retained so we don't ship with them off
278304
- Related: rhbz#2100674
278304
278304
* Wed Jul 20 2022 Jiri Vanek <jvanek@redhat.com> - 1:17.0.4.0.7-0.2.ea
278304
- retutrned absolute symlinks
278304
- relative symlinks are breaking cjc, and deeper investigations are necessary
278304
-- why cjc intentionally skips relative symllinks
278304
- images have to be workarounded differently
278304
- Related: rhbz#2100674
278304
278304
* Sat Jul 16 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.4.0.7-0.1.ea
278304
- Update to jdk-17.0.4.0+7
278304
- Update release notes to 17.0.4.0+7
278304
- Switch to EA mode for 17.0.4 pre-release builds.
278304
- Need to include the '.S' suffix in debuginfo checks after JDK-8284661
278304
- Print release file during build, which should now include a correct SOURCE value from .src-rev
278304
- Update tarball script with IcedTea GitHub URL and .src-rev generation
278304
- Include script to generate bug list for release notes
278304
- Update tzdata requirement to 2022a to match JDK-8283350
278304
- Move EA designator check to prep so failures can be caught earlier
278304
- Make EA designator check non-fatal while upstream is not maintaining it
278304
- Explicitly require crypto-policies during build and runtime for system security properties
278304
- Make use of the vendor version string to store our version & release rather than an upstream release date
278304
- Include a test in the RPM to check the build has the correct vendor information.
278304
- Resolves: rhbz#2083316
278304
278304
* Thu Jul 14 2022 Jayashree Huttanagoudar <jhuttana@redhat.com> - 1:17.0.4.0.1-0.2.ea
278304
- Fix issue where CheckVendor.java test erroneously passes when it should fail.
278304
- Add proper quoting so '&' is not treated as a special character by the shell.
278304
- Related: rhbz#2083316
278304
249eac
* Fri Jul 08 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.3.0.7-6
249eac
- Fix whitespace in spec file
249eac
- Related: rhbz#2100674
249eac
249eac
* Fri Jul 08 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.3.0.7-6
249eac
- Sequence spec file sections as they are run by rpmbuild (build, install then test)
249eac
- Related: rhbz#2100674
249eac
249eac
* Fri Jul 08 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.3.0.7-6
249eac
- Turn on system security properties as part of the build's install section
249eac
- Move cacerts replacement to install section and retain original of this and tzdb.dat
249eac
- Run tests on the installed image, rather than the build image
249eac
- Introduce variables to refer to the static library installation directories
249eac
- Use relative symlinks so they work within the image
249eac
- Run debug symbols check during build stage, before the install strips them
249eac
- Related: rhbz#2100674
249eac
249eac
* Thu Jun 30 2022 Francisco Ferrari Bihurriet <fferrari@redhat.com> - 1:17.0.3.0.7-5
249eac
- RH2007331: SecretKey generate/import operations don't add the CKA_SIGN attribute in FIPS mode
249eac
- Resolves: rhbz#2007331
249eac
249eac
* Tue Jun 28 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.3.0.7-4
249eac
- Update FIPS support to bring in latest changes
249eac
- * RH2036462: sun.security.pkcs11.wrapper.PKCS11.getInstance breakage
249eac
- * RH2090378: Revert to disabling system security properties and FIPS mode support together
249eac
- Rebase RH1648249 nss.cfg patch so it applies after the FIPS patch
249eac
- Enable system security properties in the RPM (now disabled by default in the FIPS repo)
249eac
- Improve security properties test to check both enabled and disabled behaviour
249eac
- Run security properties test with property debugging on
249eac
- Resolves: rhbz#2099840
249eac
- Resolves: rhbz#2100674
249eac
249eac
* Tue Jun 28 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.3.0.7-3
249eac
- Add rpminspect.yaml to turn off Java bytecode inspections
249eac
- java-17-openjdk deliberately produces Java 17 bytecode, not the default Java 11 bytecode
249eac
- Resolves: rhbz#2101524
249eac
249eac
* Sun Jun 12 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.3.0.7-2
249eac
- Rebase FIPS patches from fips-17u branch and simplify by using a single patch from that repository
249eac
- Rebase RH1648249 nss.cfg patch so it applies after the FIPS patch
249eac
- RH2023467: Enable FIPS keys export
249eac
- RH2094027: SunEC runtime permission for FIPS
249eac
- Resolves: rhbz#2023467
249eac
- Resolves: rhbz#2094027
249eac
249eac
* Wed Apr 20 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.3.0.7-1
249eac
- April 2022 security update to jdk 17.0.3+7
249eac
- Update to jdk-17.0.3.0+7 release tarball
249eac
- Update release notes to 17.0.3.0+6
249eac
- Add missing README.md and generate_source_tarball.sh
249eac
- Switch to GA mode for release
249eac
- JDK-8283911 patch no longer needed now we're GA...
249eac
- Resolves: rhbz#2073577
249eac
249eac
* Wed Apr 06 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.3.0.5-0.1.ea
249eac
- Update to jdk-17.0.3.0+5
249eac
- Update release notes to 17.0.3.0+5
249eac
- Resolves: rhbz#2050456
249eac
249eac
* Tue Mar 29 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.3.0.1-0.1.ea
249eac
- Update to jdk-17.0.3.0+1
249eac
- Update release notes to 17.0.3.0+1
249eac
- Switch to EA mode for 17.0.3 pre-release builds.
249eac
- Add JDK-8283911 to fix bad DEFAULT_PROMOTED_VERSION_PRE value
249eac
- Related: rhbz#2050456
249eac
249eac
* Mon Feb 28 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.2.0.8-15
249eac
- Enable AlgorithmParameters and AlgorithmParameterGenerator services in FIPS mode
249eac
- Resolves: rhbz#2052070
249eac
249eac
* Sun Feb 27 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.2.0.8-14
249eac
- Introduce tests/tests.yml, based on the one in java-11-openjdk
249eac
- Resolves: rhbz#2058493
249eac
249eac
* Sun Feb 27 2022 Severin Gehwolf <sgehwolf@redhat.com> - 1:17.0.2.0.8-13
249eac
- Use 'sql:' prefix in nss.fips.cfg as F35+ no longer ship the legacy
249eac
  secmod.db file as part of nss
249eac
- Resolves: rhbz#2023536
249eac
249eac
* Sun Feb 27 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.2.0.8-12
249eac
- Detect NSS at runtime for FIPS detection
249eac
- Turn off build-time NSS linking and go back to an explicit Requires on NSS
249eac
- Resolves: rhbz#2051605
249eac
249eac
* Fri Feb 25 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.2.0.8-11
249eac
- Add JDK-8275535 patch to fix LDAP authentication issue.
249eac
- Resolves: rhbz#2053256
249eac
249eac
* Fri Feb 25 2022 Jiri Vanek <jvanek@redhat.com> - 1:17.0.2.0.8-10
249eac
- Storing and restoring alterntives during update manually
249eac
- Fixing Bug 2001567 - update of JDK/JRE is removing its manually selected alterantives and select (as auto) system JDK/JRE
249eac
-- The move of alternatives creation to posttrans to fix:
249eac
-- Bug 1200302 - dnf reinstall breaks alternatives
249eac
-- Had caused the alternatives to be removed, and then created again,
249eac
-- instead of being added, and then removing the old, and thus persisting
249eac
-- the selection in family
249eac
-- Thus this fix, is storing the family of manually selected master, and if
249eac
-- stored, then it is restoring the family of the master
249eac
- Resolves: rhbz#2008200
249eac
249eac
* Fri Feb 25 2022 Jiri Vanek <jvanek@redhat.com> - 1:17.0.2.0.8-9
249eac
- Family extracted to globals
249eac
- Resolves: rhbz#2008200
249eac
249eac
* Fri Feb 25 2022 Jiri Vanek <jvanek@redhat.com> - 1:17.0.2.0.8-8
249eac
- alternatives creation moved to posttrans
249eac
- Thus fixing the old reisntall issue:
249eac
- https://bugzilla.redhat.com/show_bug.cgi?id=1200302
249eac
- https://bugzilla.redhat.com/show_bug.cgi?id=1976053
249eac
- Resolves: rhbz#2008200
249eac
249eac
* Mon Feb 21 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.2.0.8-7
249eac
- Separate crypto policy initialisation from FIPS initialisation, now they are no longer interdependent
249eac
- Resolves: rhbz#2051590
249eac
59f4c0
* Fri Feb 18 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.2.0.8-6
59f4c0
- Fix FIPS issues in native code and with initialisation of java.security.Security
59f4c0
- Resolves: rhbz#2023378
59f4c0
59f4c0
* Thu Feb 17 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.2.0.8-5
59f4c0
- Restructure the build so a minimal initial build is then used for the final build (with docs)
59f4c0
- This reduces pressure on the system JDK and ensures the JDK being built can do a full build
59f4c0
- Turn off bootstrapping for slow debug builds, which are particularly slow on ppc64le.
59f4c0
- Handle Fedora in distro conditionals that currently only pertain to RHEL.
59f4c0
- Run OpenJDK normalizer script on the spec file to fix further rogue whitespace
59f4c0
- Sync gdb test with java-1.8.0-openjdk and improve architecture restrictions.
59f4c0
- Introduce stapinstall variable to set SystemTap arch directory correctly (e.g. arm64 on aarch64)
59f4c0
- Need to support noarch for creating source RPMs for non-scratch builds.
59f4c0
- Replace -mstackrealign with -mincoming-stack-boundary=2 -mpreferred-stack-boundary=4 on x86_32 for stack alignment
59f4c0
- Support a HotSpot-only build so a freshly built libjvm.so can then be used in the bootstrap JDK.
59f4c0
- Explicitly list JIT architectures rather than relying on those with slowdebug builds
59f4c0
- Disable the serviceability agent on Zero architectures even when the architecture itself is supported
59f4c0
- Resolves: rhbz#2022822
59f4c0
59f4c0
* Thu Feb 17 2022 Jiri Vanek <jvanek@redhat.com> - 1:17.0.2.0.8-5
59f4c0
- Replaced tabs by sets of spaces to make rpmlint happy
59f4c0
- javadoc-zip gets its own provides next to plain javadoc ones
59f4c0
- Resolves: rhbz#2022822
59f4c0
59f4c0
* Tue Feb 08 2022 Jiri Vanek <jvanek@redhat.com> - 1:17.0.2.0.8-4
59f4c0
- Minor cosmetic improvements to make spec more comparable between variants
59f4c0
- Related: rhbz#2022822
59f4c0
59f4c0
* Thu Feb 03 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.2.0.8-3
59f4c0
- Update tapsets from IcedTea 6.x repository with fix for JDK-8015774 changes (_heap->_heaps) and @JAVA_SPEC_VER@
59f4c0
- Update icedtea_sync.sh with a VCS mode that retrieves sources from a Mercurial repository
59f4c0
- Related: rhbz#2022822
59f4c0
59f4c0
* Thu Feb 03 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.2.0.8-2
59f4c0
- Extend LTS check to exclude EPEL.
59f4c0
- Related: rhbz#2022822
59f4c0
59f4c0
* Thu Feb 03 2022 Severin Gehwolf <sgehwolf@redhat.com> - 1:17.0.2.0.8-2
59f4c0
- Set LTS designator.
59f4c0
- Related: rhbz#2022822
59f4c0
59f4c0
* Wed Jan 12 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.2.0.8-1
59f4c0
- January 2022 security update to jdk 17.0.2+8
59f4c0
- Rebase RH1995150 & RH1996182 patches following JDK-8275863 addition to module-info.java
59f4c0
- Rename libsvml.so to libjsvml.so following JDK-8276025
59f4c0
- Resolves: rhbz#2039366
59f4c0
59f4c0
* Thu Oct 28 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.1.0.12-3
59f4c0
- Sync desktop files with upstream IcedTea release 3.15.0 using new script
59f4c0
- Related: rhbz#2013842
59f4c0
59f4c0
* Tue Oct 26 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.1.0.12-2
59f4c0
- Drop JDK-8272332/RH2004078 patch which is upstream in 17.0.1
59f4c0
- Resolves: rhbz#2013842
59f4c0
59f4c0
* Wed Oct 20 2021 Petra Alice Mikova <pmikova@redhat.com> - 1:17.0.1.0.12-2
59f4c0
- October CPU update to jdk 17.0.1+12
59f4c0
- Dropped commented-out source line
59f4c0
- Resolves: rhbz#2013842
59f4c0
59f4c0
* Sun Oct 10 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.0.0.35-6
59f4c0
- Allow plain key import to be disabled with -Dcom.redhat.fips.plainKeySupport=false
59f4c0
- Resolves: rhbz#1994661
59f4c0
59f4c0
* Sun Oct 10 2021 Martin Balao <mbalao@redhat.com> - 1:17.0.0.0.35-6
59f4c0
- Add patch to allow plain key import.
59f4c0
- Resolves: rhbz#1994661
59f4c0
59f4c0
* Mon Sep 27 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.0.0.35-5
59f4c0
- Update release notes to document the major changes between OpenJDK 11 & 17.
59f4c0
- Resolves: rhbz#2003072
59f4c0
59f4c0
* Thu Sep 16 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.0.0.35-3
59f4c0
- Update to jdk-17+35, also known as jdk-17-ga.
59f4c0
- Switch to GA mode.
59f4c0
- Add JDK-8272332 fix so we actually link against HarfBuzz.
59f4c0
- Resolves: rhbz#2003072
59f4c0
- Resolves: rhbz#2004078
59f4c0
f8e459
* Mon Aug 30 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.0.0.33-0.5.ea
f8e459
- Extend the default security policy to accomodate PKCS11 accessing jdk.internal.access.
f8e459
- Resolves: rhbz#1996182
f8e459
f8e459
* Sat Aug 28 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.0.0.33-0.4.ea
f8e459
- Fix unused function compiler warning found in systemconf.c
f8e459
- Related: rhbz#1995150
f8e459
f8e459
* Sat Aug 28 2021 Martin Balao <mbalao@redhat.com> - 1:17.0.0.0.33-0.4.ea
f8e459
- Add patch to login to the NSS software token when in FIPS mode.
f8e459
- Resolves: rhbz#1996182
f8e459
f8e459
* Fri Aug 27 2021 Martin Balao <mbalao@redhat.com> - 1:17.0.0.0.33-0.3.ea
f8e459
- Add patch to disable non-FIPS crypto in the SUN and SunEC security providers.
f8e459
- Resolves: rhbz#1995150
f8e459
f8e459
* Fri Aug 27 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.0.0.33-0.2.ea
f8e459
- Minor code cleanups on FIPS detection patch and check for SECMOD_GetSystemFIPSEnabled in configure.
f8e459
- Remove unneeded Requires on NSS as it will now be dynamically linked and detected by RPM.
f8e459
- Related: rhbz#1995150
f8e459
f8e459
* Fri Aug 27 2021 Martin Balao <mbalao@redhat.com> - 1:17.0.0.0.33-0.2.ea
f8e459
- Detect FIPS using SECMOD_GetSystemFIPSEnabled in the new libsystemconf JDK library.
f8e459
- Related: rhbz#1995150
f8e459
f8e459
* Thu Aug 26 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.0.0.33-0.1.ea
f8e459
- Update RH1655466 FIPS patch with changes in OpenJDK 8 version.
f8e459
- SunPKCS11 runtime provider name is a concatenation of "SunPKCS11-" and the name in the config file.
f8e459
- Change nss.fips.cfg config name to "NSS-FIPS" to avoid confusion with nss.cfg.
f8e459
- No need to substitute path to nss.fips.cfg as java.security file supports a java.home variable.
f8e459
- Disable FIPS mode support unless com.redhat.fips is set to "true".
f8e459
- Enable alignment with FIPS crypto policy by default (-Dcom.redhat.fips=false to disable).
f8e459
- Add explicit runtime dependency on NSS for the PKCS11 provider in FIPS mode
f8e459
- Move setup of JavaSecuritySystemConfiguratorAccess to Security class so it always occurs (RH1915071)
f8e459
- Related: rhbz#1995150
f8e459
f8e459
* Thu Aug 26 2021 Martin Balao <mbalao@redhat.com> - 1:17.0.0.0.33-0.1.ea
f8e459
- Support the FIPS mode crypto policy (RH1655466)
f8e459
- Use appropriate keystore types when in FIPS mode (RH1818909)
f8e459
- Disable TLSv1.3 when the FIPS crypto policy and the NSS-FIPS provider are in use (RH1860986)
f8e459
- Related: rhbz#1995150
f8e459
f8e459
* Thu Aug 26 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.0.0.33-0.0.ea
f8e459
- Update to jdk-17+33, including JDWP fix and July 2021 CPU
f8e459
- Resolves: rhbz#1959487
f8e459
f8e459
* Thu Aug 26 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.0.0.26-0.5.ea
f8e459
- Use the "reverse" build loop (debug first) as the main and only build loop to get more diagnostics.
f8e459
- Remove restriction on disabling product build, as debug packages no longer have javadoc packages.
f8e459
- Resolves: rhbz#1959487
f8e459
f8e459
* Wed Aug 25 2021 Petra Alice Mikova <pmikova@redhat.com> - 1:17.0.0.0.26-0.4.ea
f8e459
- Fix patch rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch which made the SunPKCS provider show up again
f8e459
- Resolves: rhbz#1959487
f8e459
f8e459
* Wed Aug 25 2021 Severin Gehwolf <sgehwolf@redhat.com> - 1:17.0.0.0.26-0.3.ea
f8e459
- Re-enable TestSecurityProperties after inclusion of PR3695
f8e459
- Resolves: rhbz#1959487
f8e459
f8e459
* Wed Aug 25 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.0.0.26-0.3.ea
f8e459
- Add PR3695 to allow the system crypto policy to be turned off
f8e459
- Resolves: rhbz#1959487
f8e459
f8e459
* Wed Jul 14 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.0.0.26-0.2.ea
f8e459
- Remove boot JDKs in favour of OpenJDK 17 build now in the buildroot.
f8e459
- Resolves: rhbz#1959487
f8e459
f8e459
* Wed Jul 14 2021 Severin Gehwolf <sgehwolf@redhat.com> - 1:17.0.0.0.26-0.2.ea
f8e459
- Update buildjdkver to 17 so as to build with itself
f8e459
- Resolves: rhbz#1959487
f8e459
f8e459
* Tue Jul 13 2021 Jiri Vanek <jvanek@redhat.com> - 1:17.0.0.0.26-0.1.ea
f8e459
- Add gating support
f8e459
- Resolves: rhbz#1959487
f8e459
f8e459
* Mon Jun 21 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.0.0.26-0.0.ea
f8e459
- Rename as java-17-openjdk and bootstrap using boot JDK in local sources
f8e459
- Exclude x86 as this is not supported by OpenJDK 17
f8e459
- Resolves: rhbz#1959487
f8e459
f8e459
* Fri Jun 11 2021 Petra Alice Mikova <pmikova@redhat.com> - 1:17.0.0.0.26-0.0.ea.rolling
f8e459
- update sources to jdk 17.0.0+26
f8e459
- set is_ga to 0, as this is early access build
f8e459
- change vendor_version_string
f8e459
- change path to the version-numbers.conf
f8e459
- removed rmid binary from files and from slaves
f8e459
- removed JAVAC_FLAGS=-g from make command, as it breaks the build since JDK-8258407
f8e459
- add lib/libsyslookup.so to files
f8e459
- renamed lib/security/blacklisted.certs to lib/security/blocked.certs
f8e459
- add lib/libsvml.so for intel
f8e459
- skip debuginfo check for libsyslookup.so on s390x
f8e459
f8e459
* Thu Apr 29 2021 Jiri Vanek <jvanek@redhat.com> -  1:16.0.1.0.9-2.rolling
f8e459
- adapted to debug handling  in newer cjc
f8e459
- The rest of the "rpm 4.17" patch must NOT be backported, as on rpm 4.16 and down, it would casue double execution
f8e459
- Disable copy-jdk-configs for Flatpak builds
f8e459
f8e459
* Sun Apr 25 2021 Petra Alice Mikova <pmikova@redhat.com> - 1:16.0.1.0.9-1.rolling
f8e459
- update to 16.0.1+9 april cpu tag
59f4c0
- dropped jdk8259949-allow_cf-protection_on_x86.patch
f8e459
f8e459
* Thu Mar 11 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:16.0.0.0.36-2.rolling
f8e459
- Perform static library build on a separate source tree with bundled image libraries
f8e459
- Make static library build optional
f8e459
- Based on initial work by Severin Gehwolf
f8e459
f8e459
* Tue Mar 09 2021 Jiri Vanek <jvanek@redhat.com> - 1:16.0.0.0.36-1.rolling
f8e459
- fixed suggests of wrong pcsc-lite-devel%{?_isa} to correct pcsc-lite-libs%{?_isa}
f8e459
- bumped buildjdkver to build by itself - 16
f8e459
f8e459
* Fri Feb 19 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:16.0.0.0.36-0.rolling
f8e459
- Update to jdk-16.0.0.0+36
f8e459
- Update tarball generation script to use git following OpenJDK's move to github
f8e459
- Update tarball generation script to use PR3823 which handles JDK-8235710 changes
f8e459
- Use upstream default for version-pre rather than setting it to "ea" or ""
f8e459
- Drop libsunec.so which is no longer generated, thanks to JDK-8235710
f8e459
- Drop unnecessary compiler flags, dating back to work on GCC 6 & 10
f8e459
- Adapt RH1750419 alt-java patch to still apply after some variable re-naming in the makefiles
f8e459
- Update filever to remove any trailing zeros, as in the OpenJDK build, and use for source filename
f8e459
- Use system harfbuzz now this is supported.
f8e459
- Pass SOURCE_DATE_EPOCH to build for reproducible builds
f8e459
f8e459
* Fri Feb 19 2021 Stephan Bergmann <sbergman@redhat.com> - 1:15.0.2.0.7-1.rolling
f8e459
- Hardcode /usr/sbin/alternatives for Flatpak builds
f8e459
f8e459
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:15.0.2.0.7-0.rolling.1
f8e459
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
f8e459
f8e459
* Fri Jan 22 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:15.0.2.0.7-0.rolling
f8e459
- Update to jdk-15.0.2.0+7
f8e459
- Add release notes for 15.0.1.0 & 15.0.2.0
f8e459
- Use JEP-322 Time-Based Versioning so we can handle a future 11.0.9.1-like release correctly.
f8e459
- Still use 15.0.x rather than 15.0.x.0 for file naming, as the trailing zero is omitted from tags.
f8e459
- Cleanup debug package descriptions and version number placement.
f8e459
- Remove unused patch files.
f8e459
f8e459
* Tue Jan 19 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:15.0.1.9-10.rolling
f8e459
- Use -march=i686 for x86 builds if -fcf-protection is detected (needs CMOV)
f8e459
f8e459
* Tue Dec 22 2020 Jiri Vanek <jvanek@redhat.com> - 1:15.0.1.9-9.rolling
f8e459
- fixed missing condition for fastdebug packages being counted as debug ones
f8e459
f8e459
* Sat Dec 19 2020 Jiri Vanek <jvanek@redhat.com> - 1:15.0.1.9-8.rolling
f8e459
- removed lib-style provides for fastdebug_suffix_unquoted
f8e459
f8e459
* Sat Dec 19 2020 Jiri Vanek <jvanek@redhat.com> - 1:15.0.1.9-6.rolling
f8e459
- many cosmetic changes taken from more maintained jdk11
59f4c0
- introduced debug_arches, bootstrap_arches, systemtap_arches, fastdebug_arches, sa_arches, share_arches, shenandoah_arches, zgc_arches
f8e459
  instead of various hardcoded ifarches
f8e459
- updated systemtap
f8e459
- added requires excludes for debug pkgs
f8e459
- removed redundant logic around jsa files
f8e459
- added runtime requires of lksctp-tools and libXcomposite%
f8e459
- added and used Source15 TestSecurityProperties.java, but is made always positive as jdk15 now does not honor system policies
f8e459
- s390x excluded form fastdebug build
f8e459
f8e459
* Thu Dec 17 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:15.0.1.9-5.rolling
f8e459
- introduced nm based check to verify alt-java on x86_64 is patched, and no other alt-java or java is patched
f8e459
- patch600 rh1750419-redhat_alt_java.patch amended to die, if it is used wrongly
f8e459
- introduced ssbd_arches with currently only valid arch of x86_64 to separate real alt-java architectures
f8e459
f8e459
* Wed Dec 9 2020 Jiri Vanek <jvanek@redhat.com> - 1:15.0.1.9-4.rolling
f8e459
- moved wrongly placed licenses to accompany other ones
f8e459
- this bad placement was killng parallel-installability and thus having bad impact to leapp if used
f8e459
f8e459
* Tue Dec 01 2020 Jiri Vanek <jvanek@redhat.com> - 1:15.0.1.9-3.rolling
f8e459
- added patch600, rh1750419-redhat_alt_java.patch, suprassing removed patch
f8e459
- no longer copying of java->alt-java as it is created by  patch600
f8e459
f8e459
* Mon Nov 23 2020 Jiri Vanek <jvanek@redhat.com> - 1:15.0.1.9-2.rolling
f8e459
- Create a copy of java as alt-java with alternatives and man pages
f8e459
- java-11-openjdk doesn't have a JRE tree, so don't try and copy alt-java there...
f8e459
f8e459
* Sun Oct 25 2020 Petra Alice Mikova <pmikova@redhat.com> - 1:15.0.1.9-1.rolling
f8e459
- updated to October CPU 2020 sources
f8e459
f8e459
* Thu Oct 22 2020 Severin Gehwolf <sgehwolf@redhat.com> - 1:15.0.0.36-4.rolling
f8e459
- Fix directory ownership of -static-libs sub-package.
f8e459
f8e459
* Fri Oct 09 2020 Jiri Vanek <jvanek@redhat.com> - 1:15.0.0.36-3.rolling
f8e459
- Build static-libs-image and add resulting files via -static-libs sub-package.
f8e459
- Disable stripping of debug symbols for static libraries part of the -static-libs sub-package.
f8e459
- JDK-8245832 increases the set of static libraries, so try and include them all with a wildcard.
f8e459
- Update static-libs packaging to new layout
f8e459
f8e459
* Mon Sep 21 2020 Petra Alice Mikova <pmikova@redhat.com> - 1:15.0.0.36-2.rolling
f8e459
- Add support for fastdebug builds on 64 bit architectures
f8e459
f8e459
* Tue Sep 15 2020 Severin Gehwolf <sgehwolf@redhat.com> - 1:15.0.0.36-1.rolling
f8e459
- Remove EA designation
f8e459
- Re-generate sources with PR3803 patch
f8e459
f8e459
* Mon Aug 31 2020 Petra Alice Mikova <pmikova@redhat.com> - 1:15.0.0.36-0.1.ea.rolling
f8e459
- Update to jdk 15.0.0.36 tag
f8e459
- Modify rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch
f8e459
- Update vendor version string to 20.9
f8e459
- jjs removed from packaging after JEP 372: Nashorn removal
f8e459
- rmic removed from packaging after JDK-8225319
f8e459
f8e459
* Mon Jul 27 2020 Severin Gehwolf <sgehwolf@redhat.com> - 1:14.0.2.12-2.rolling
f8e459
- Disable LTO so as to pass debuginfo check
f8e459
f8e459
* Wed Jul 22 2020 Petra Alice Mikova <pmikova@redhat.com> - 1:14.0.2.12-1.rolling
f8e459
- update to jdk 14.0.2.12 CPU version
f8e459
- remove upstreamed patch jdk8237879-make_4_3_build_fixes.patch
f8e459
- remove upstreamed patch jdk8235833-posixplatform_cpp_should_not_include_sysctl_h.patch
f8e459
- remove upstreamed patch jdk8243059-build_fails_when_with_vendor_contains_comma.patch
f8e459
f8e459
* Thu Jul 09 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:14.0.1.7-4.rolling
f8e459
- Re-introduce java-openjdk-src & java-openjdk-demo for system_jdk builds.
f8e459
- Fix accidental renaming of java-openjdk-devel to java-devel-openjdk.
f8e459
f8e459
* Thu May 14 2020 Petra Alice Mikova <pmikova@redhat.com> -  1:14.0.1.7-3.rolling
f8e459
- introduce patch jdk8235833-posixplatform_cpp_should_not_include_sysctl_h to fix build issues in rawhide
f8e459
- rename and reorganize patch sections
f8e459
f8e459
* Thu Apr 23 2020 Severin Gehwolf <sgehwolf@redhat.com> - 1:14.0.1.7-2.rolling
f8e459
- Fix vendor version to 20.3 (from 19.9)
f8e459
f8e459
* Fri Apr 17 2020 Petra Alice Mikova <pmikova@redhat.com> - 1:14.0.1.7-1.rolling
f8e459
- April security update
f8e459
- uploaded new src tarball
f8e459
f8e459
* Wed Apr 08 2020 Jiri Vanek <jvanek@redhat.com> - 1:14.0.0.36-4.rolling
f8e459
- set vendor property and vendor urls
f8e459
- made urls to be preconfigured by os
f8e459
f8e459
* Tue Mar 24 2020 Petra Alice Mikova <pmikova@redhat.com> - 1:14.0.0.36-3.rolling
f8e459
- Remove s390x workaround flags for GCC 10
f8e459
- bump buildjdkver to 14
59f4c0
- uploaded new src tarball
f8e459
f8e459
* Mon Mar 23 2020 Petra Alice Mikova <pmikova@redhat.com> - 1:14.0.0.36-2.rolling
f8e459
- removed a whitespace causing fail of postinstall script
f8e459
- removed backslashes at the end of alternatives command
f8e459
f8e459
* Fri Mar 13 2020 Petra Alice Mikova <pmikova@redhat.com> - 1:14.0.0.36-1.rolling
f8e459
- update to jdk 14+36 ga build
f8e459
- remove JDK-8224851 patch, as OpenJDK 14 already contains it
f8e459
- removed pack200 and unpack200 binaries, slaves, manpages and libunpack.so library
f8e459
- added listings for jpackage binary, manpages and added slave records to alternatives
f8e459
f8e459
* Thu Mar 12 2020 Petra Alice Mikova <pmikova@redhat.com> - 1:13.0.2.8-4.rolling
f8e459
- add patch for build issues with make 4.3
f8e459
f8e459
* Thu Feb 27 2020 Severin Gehwolf <sgehwolf@redhat.com> - 1:13.0.2.8-3.rolling
f8e459
- add workaround for issues with build with GCC10 on s390x (see RHBZ#1799531)
f8e459
- fix issues with build with GCC10: JDK-8224851, -fcommon switch
f8e459
f8e459
* Thu Feb 27 2020 Petra Alice Mikova pmikova@redhat.com> - 1:13.0.2.8-3.rolling
59f4c0
- Add JDK-8224851 patch to resolve aarch64 issues
f8e459
f8e459
* Tue Feb 04 2020 Petra Alice Mikova <pmikova@redhat.com> - 1:13.0.2.8-2.rolling
f8e459
- fix Release, as it was broken by last rpmdev-bumpspec
f8e459
f8e459
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:13.0.2.8-1.rolling.1
f8e459
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
f8e459
f8e459
* Fri Jan 17 2020 Petra Alice Mikova <pmikova@redhat.com> - 1:13.0.2.8-1.rolling
f8e459
- removed patch jdk8231405_guarantee_d_nonequals_null_failed_null_dominator_info.patch
f8e459
- removed patch jdk8231583_fix_register_clash_in_sbsa_resolve_forwarding_pointer_borrowing.patch
f8e459
- updated sources to the 13.0.2+8 tag
f8e459
f8e459
* Fri Oct 25 2019 Petra Alice Mikova <pmikova@redhat.com> - 1:13.0.1.9-2.rolling
f8e459
- Fixed hardcoded major version in jdk13u to macro
f8e459
- added jdk8231405_guarantee_d_nonequals_null_failed_null_dominator_info.patch
f8e459
- added jdk8231583_fix_register_clash_in_sbsa_resolve_forwarding_pointer_borrowing.patch
f8e459
f8e459
* Mon Oct 21 2019 Petra Alice Mikova <pmikova@redhat.com> - 1:13.0.1.9-1.rolling
f8e459
- Updated to October 2019 CPU sources
f8e459
f8e459
* Wed Oct 16 2019 Petra Alice Mikova <pmikova@redhat.com> - 1:13.0.0.33-3.rolling
f8e459
- synced up generate tarball script with other OpenJDK packages
f8e459
- dropped pr2126-synchronise_elliptic_curves_in_sun_security_ec_namedcurve_with_those_listed_by_nss.patch from the sources
f8e459
- regenerated sources with the updated script
f8e459
f8e459
* Wed Oct 02 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:13.0.0.33-3.rolling
f8e459
- Switch to in-tree SunEC code, dropping NSS runtime dependencies and patches to link against it.
f8e459
f8e459
* Wed Oct 02 2019 Andrew John Hughes <gnu.andrew@redhat.com> -  1:13.0.0.33-3.rolling
f8e459
- Drop unnecessary build requirement on gtk3-devel, as OpenJDK searches for Gtk+ at runtime.
f8e459
- Add missing build requirement for libXrender-devel, previously masked by Gtk3+ dependency
f8e459
- Add missing build requirement for libXrandr-devel, previously masked by Gtk3+ dependency
f8e459
- fontconfig build requirement should be fontconfig-devel, previously masked by Gtk3+ dependency
f8e459
f8e459
* Wed Oct 02 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:13.0.0.33-3.rolling
f8e459
- Obsolete javadoc-slowdebug and javadoc-slowdebug-zip packages via javadoc and javadoc-zip respectively.
f8e459
f8e459
* Tue Oct 01 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:13.0.0.33-2.rolling
f8e459
- Don't produce javadoc/javadoc-zip sub packages for the
f8e459
  debug variant build.
f8e459
- Don't perform a bootcycle build for the debug variant build.
f8e459
f8e459
* Mon Sep 30 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:13.0.0.33-2.rolling
f8e459
- Fix vendor version as JDK 13 has been GA'ed September 2019: 19.3 => 19.9
f8e459
f8e459
* Wed Aug 14 2019 Petra Alice Mikova <pmikova@redhat.com> - 1:13.0.0.33-1.rolling
f8e459
- updated to 13+33 sources
f8e459
- added two manpages to file listings (jfr, jaotc)
f8e459
- set is_ga to 1 to match build from jdk.java.net
f8e459
f8e459
* Fri Jul 26 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:13.0.0.28-0.2.ea.rolling
f8e459
- Fix bootjdkver macro. It attempted to build with jdk 12, which is
f8e459
  no longer available in rawhide (it's 13 instead).
f8e459
- Fix Release as rpmdev-bumpspec doesn't do it correctly.
f8e459
f8e459
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:13.0.0.28-0.1.ea.rolling.1
f8e459
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
f8e459
f8e459
* Tue Jul 09 2019 Petra Alice Mikova <pmikova@redhat.com> - 1:13.0.0.28-0.1.ea.rolling
f8e459
- updated to jdk 13
f8e459
- adapted pr2126-synchronise_elliptic_curves_in_sun_security_ec_namedcurve_with_those_listed_by_nss.patch
f8e459
- adapted rh1648242-accessible_toolkit_crash_do_not_break_jvm.patch
f8e459
- fixed file listings
f8e459
- included https://src.fedoraproject.org/rpms/java-11-openjdk/pull-request/49:
f8e459
- Include 'ea' designator in Release when appropriate
f8e459
- Handle milestone as variables so we can alter it easily and set the docs zip filename appropriately
f8e459
f8e459
* Tue May 21 2019 Petra Alice Mikova <pmikova@redhat.com> - 1:12.0.1.12-2.rolling
f8e459
- fixed requires/provides for the non-system JDK case (backport of RHBZ#1702324)
f8e459
f8e459
* Thu Apr 18 2019 Petra Mikova <pmikova@redhat.com> - 1:12.0.1.12-1.rolling
f8e459
- updated sources to current CPU release
f8e459
f8e459
* Thu Apr 04 2019 Petra Mikova <pmikova@redhat.com> - 1:12.0.0.33-4.rolling
f8e459
- added slave for jfr binary in devel package
f8e459
f8e459
* Thu Mar 21 2019 Petra Mikova <pmikova@redhat.com> - 1:12.0.0.33-3.rolling
f8e459
- Replaced pcsc-lite-devel (which is in optional channel) with pcsc-lite-libs.
f8e459
- added rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-devel.patch to make jdk work with pcsc
f8e459
- removed LTS string from LTS designator, because epel builds get identified as rhel and JDK 12 is not LTS
f8e459
- removed duplicated dependency on lksctp-tools
f8e459
f8e459
* Wed Mar 20 2019 Peter Robinson <pbrobinson@fedoraproject.org> 1:12.0.0.33-2.ea.1.rolling
f8e459
- Drop chkconfig dep, 1.7 shipped in f24
f8e459
f8e459
* Thu Mar 07 2019 Petra Mikova <pmikova@redhat.com> - 1:12.0.0.33-1.ea.1.rolling
f8e459
- bumped sources to jdk12+33
f8e459
f8e459
* Mon Feb 11 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:12.0.0.30-1.ea.1.rolling
f8e459
- Only build 'bootcycle-images docs' target and 'images docs' targets, respectively.
f8e459
f8e459
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:12.0.0.25-0.ea.1.rolling.1
f8e459
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
f8e459
f8e459
* Fri Dec 21 2018 Jiri Vanek <jvanek@redhat.com> - 1:12.0.0.25-0.ea.1.rolling
f8e459
- bumped sources to jdk12. Crypto list synced.
f8e459
- adapted patches to usptream (removed are upstreamed)
f8e459
- removed fixed upstreamed patch6, jdk8211105-aarch64-disable_cos_sin_and_log_intrinsics.patch:
f8e459
- renamed patch5, pr1983-rh1565658-..._sunec_provider_jdk11.patch to pr1983-rh1565658-..._sunec_provider_jdk12.patch
f8e459
- adapted patch5, pr1983-rh1565658 to jdk12 (libraries.m4 and /Lib-jdk.crypto.ec.gmk)
f8e459
- removed patch8, jdk8210416-rh1632174-compile_fdlibm_with_o2_ffp_contract_off_on_gcc_clang_arches.patch
f8e459
- removed patch9, jdk8210425-rh1632174-sharedRuntimeTrig_sharedRuntimeTrans_compiled_without_optimization.patch
f8e459
- removed patch10, jdk8210647-rh1632174. Is rummored to be in upstream
f8e459
- removed patch11, jdk8210761-rh1632174-libjsig_is_being_compiled_without_optimization.patch
f8e459
- removed patch12, jdk8210703-rh1632174-vmStructs_cpp_no_longer_compiled_with_o0
f8e459
- removed patch584, jdk8209639-rh1640127-02-coalesce_attempted_spill_non_spillable.patch
f8e459
- removed patch585, jdk8209639-rh1640127-02-coalesce_attempted_spill_non_spillable.patch
f8e459
- set build jdk to jdk11; buildjdkver set to 11
f8e459
- todo, revisit _privatelibs and slaves, discuse patch10, more?
f8e459
- now building with --no-print-directory to workaround JDK8215213
f8e459
- renamed original of docs zip to jdk-major+build
f8e459
- check shenandaoh with -XX:+UnlockExperimentalVMOptions
f8e459
- libjli moved from lib/libjli to lib
f8e459
- added lib/jspawnhelper and bin/jfr and conf/sdp/sdp.conf.template
f8e459
- added explanation to the --no-print-directory
f8e459
- re-added lts_designator_zip macro
f8e459
- added patch6 for rh1673833-remove_removal_of_wformat_during_test_compilation.patch
f8e459
f8e459
* Wed Dec 5 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.1.13-10.rolling
f8e459
- for non debug supackages, ghosted all masters and slaves (rhbz1649776)
f8e459
- for tech-preview packages, if-outed versionless provides. Aligned versions to be %%{epoch}:%%{version}-%%{release} instead of chaotic
f8e459
- Removed all slowdebug provides (rhbz1655938); for tech-preview packages also removed all internal provides
f8e459
f8e459
* Tue Dec 04 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.1.13-9
f8e459
- Added %%global _find_debuginfo_opts -g
f8e459
- Resolves: RHBZ#1520879 (Detailed NMT issue)
f8e459
f8e459
* Fri Nov 30 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.1.13-8
f8e459
- added rolling suffix to release (before dist) to prevent conflict with java-11-openjdk which now have same major version
f8e459
f8e459
* Mon Nov 12 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.1.13-6
f8e459
- fixed tck failures of arraycopy and process exec with shenandoah on
f8e459
- added patch585 rh1648995-shenandoah_array_copy_broken_by_not_always_copy_forward_for_disjoint_arrays.patch
f8e459
f8e459
* Wed Nov 07 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.1.13-5
f8e459
- headless' suggests of cups, replaced by Requires of cups-libs
f8e459
f8e459
* Thu Nov 01 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.1.13-3
f8e459
- added Patch584 jdk8209639-rh1640127-02-coalesce_attempted_spill_non_spillable.patch
f8e459
f8e459
* Mon Oct 29 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.1.13-3
f8e459
- Use upstream's version of Aarch64 intrinsics disable patch:
f8e459
  - Removed:
f8e459
    RHBZ-1628612-JDK-8210461-workaround-disable-aarch64-intrinsic.patch
f8e459
    RHBZ-1630996-JDK-8210858-workaround-disable-aarch64-intrinsic-log.patch
f8e459
  - Superceded by:
f8e459
    jdk8211105-aarch64-disable_cos_sin_and_log_intrinsics.patch
f8e459
f8e459
* Thu Oct 18 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.1.13-2
f8e459
- Use LTS designator in version output for RHEL.
f8e459
f8e459
* Thu Oct 18 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.1.13-1
f8e459
- Update to October 2018 CPU release, 11.0.1+13.
f8e459
f8e459
* Wed Oct 17 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.0.28-2
f8e459
- Use --with-vendor-version-string=18.9 so as to show original
f8e459
  GA date for the JDK.
f8e459
f8e459
* Fri Sep 28 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.0.28-1
f8e459
- Identify as GA version and no longer as early access (EA).
f8e459
- JDK 11 has been released for GA on 2018-09-25.
f8e459
f8e459
* Fri Sep 28 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.28-9
f8e459
- Rework changes from 1:11.0.ea.22-6. RHBZ#1632174 supercedes
f8e459
  RHBZ-1624122.
f8e459
- Add patch, jdk8210416-rh1632174-compile_fdlibm_with_o2_ffp_contract_off_on_gcc_clang_arches.patch, so as to
f8e459
  optimize compilation of fdlibm library.
f8e459
- Add patch, jdk8210425-rh1632174-sharedRuntimeTrig_sharedRuntimeTrans_compiled_without_optimization.patch, so
f8e459
  as to optimize compilation of sharedRuntime{Trig,Trans}.cpp
f8e459
- Add patch, jdk8210647-rh1632174-libsaproc_is_being_compiled_without_optimization.patch, so as to
f8e459
  optimize compilation of libsaproc (extra c flags won't override
f8e459
  optimization).
f8e459
- Add patch, jdk8210761-rh1632174-libjsig_is_being_compiled_without_optimization.patch, so as to
f8e459
  optimize compilation of libjsig.
f8e459
- Add patch, jdk8210703-rh1632174-vmStructs_cpp_no_longer_compiled_with_o0, so as to
f8e459
  optimize compilation of vmStructs.cpp (part of libjvm.so).
f8e459
- Reinstate filtering of opt flags coming from redhat-rpm-config.
f8e459
f8e459
* Thu Sep 27 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.28-8
f8e459
- removed version less provides
f8e459
- javadocdir moved to arched dir as it is no longer noarch
f8e459
f8e459
* Thu Sep 20 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.28-6
f8e459
- Add patch, RHBZ-1630996-JDK-8210858-workaround-disable-aarch64-intrinsic-log.patch,
f8e459
  so as to disable log math intrinsic on aarch64. Work-around for
f8e459
  JDK-8210858
f8e459
f8e459
* Thu Sep 13 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.28-5
f8e459
- Add patch, RHBZ-1628612-JDK-8210461-workaround-disable-aarch64-intrinsic.patch,
f8e459
  so as to disable dsin/dcos math intrinsics on aarch64. Work-around for
f8e459
  JDK-8210461.
f8e459
f8e459
* Wed Sep 12 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.22-6
f8e459
- Add patch, JDK-8210416-RHBZ-1624122-fdlibm-opt-fix.patch, so as to
f8e459
  optimize compilation of fdlibm library.
f8e459
- Add patch, JDK-8210425-RHBZ-1624122-sharedRuntimeTrig-opt-fix.patch, so
f8e459
  as to optimize compilation of sharedRuntime{Trig,Trans}.cpp
f8e459
- Add patch, JDK-8210647-RHBZ-1624122-libsaproc-opt-fix.patch, so as to
f8e459
  optimize compilation of libsaproc (extra c flags won't override
f8e459
  optimization).
f8e459
- Add patch, JDK-8210703-RHBZ-1624122-vmStructs-opt-fix.patch, so as to
f8e459
  optimize compilation of vmStructs.cpp (part of libjvm.so).
f8e459
- No longer filter -O flags from C flags coming from
f8e459
  redhat-rpm-config.
f8e459
f8e459
* Mon Sep 10 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.28-4
f8e459
- link to jhsdb followed its file to ifarch jit_arches ifnarch s390x
f8e459
f8e459
* Fri Sep 7 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.28-3
f8e459
- Enable ZGC on x86_64.
f8e459
f8e459
* Tue Sep 4 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.28-2
f8e459
- jfr/*jfc files listed for all arches
f8e459
- lib/classlist do not exists s390, ifarch-ed via jit_arches out
f8e459
f8e459
* Fri Aug 31 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.28-1
f8e459
- Update to latest upstream build jdk11+28, the first release
f8e459
  candidate.
f8e459
f8e459
* Wed Aug 29 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.22-8
f8e459
- Adjust system NSS patch, pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_jdk11.patch, so
f8e459
  as to filter -Wl,--as-needed from linker flags. Fixes FTBFS issue.
f8e459
f8e459
* Thu Aug 23 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.22-6
f8e459
- dissabled accessibility, fixed provides for main package's debug variant
f8e459
f8e459
* Mon Jul 30 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.22-5
f8e459
- now buildrequires javapackages-filesystem as the  issue with macros should be fixed
f8e459
f8e459
* Wed Jul 18 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.22-2
f8e459
- changed to build by itself instead of by jdk10
f8e459
f8e459
* Tue Jul 17 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.22-1
f8e459
- added Recommends gtk3 for main package
f8e459
- changed BuildRequires from gtk2-devel to gtk3-devel (it can be more likely dropped)
f8e459
- added Suggests lksctp-tools, pcsc-lite-devel, cups for headless package
f8e459
- see RHBZ1598152
f8e459
- added trick to catch hs_err files (sgehwolf)
f8e459
- updated to shenandaoh-jdk-11+22
f8e459
f8e459
* Sat Jul 07 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.20-1
f8e459
- removed patch6 JDK-8205616-systemLcmsAndJpgFixFor-rev_f0aeede1b855.patch
f8e459
- improved a bit generate_source_tarball.sh to serve also for systemtap
f8e459
- thus deleted generate_tapsets.sh
f8e459
- simplified and cleared update_package.sh
f8e459
- moved to single source jdk - from shenandoah/jdk11
f8e459
- bumped to latest jdk11+20
f8e459
- adapted PR2126 to jdk11+20
f8e459
- adapted handling of systemtap sources to new style
f8e459
- (no (misleading) version inside (full version is in name), thus different sed on tapsets and different directory)
f8e459
- shortened summaries and descriptions to around 80 chars
f8e459
- Hunspell spell checked
f8e459
- license fixed to correct jdk11 (sgehwolf)
f8e459
- more correct handling of internal libraries (sgehwolf)
f8e459
- added lib/security/public_suffix_list.dat as +20 have added it (JDK-8201815)
f8e459
- added test for shenandaoh GC presence where expected
f8e459
- Removed workaround for broken aarch64 slowdebug build
f8e459
- Removed all defattrs
f8e459
- Removed no longer necessary cleanup of diz and  debuginfo files
f8e459
f8e459
* Fri Jun 22 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.19-1
f8e459
- updated sources to jdk-11+19
f8e459
- added patch6 systemLcmsAndJpgFixFor-f0aeede1b855.patch to fix regression of system libraries after f0aeede1b855 commit
f8e459
- adapted pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_jdk11.patch to accommodate changes after f0aeede1b855 commit
f8e459
f8e459
* Thu Jun 14 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.16-5
f8e459
- Revert rename: java-11-openjdk => java-openjdk.
f8e459
f8e459
* Wed Jun 13 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.16-4
f8e459
- Add aarch64 to aot_arches.
f8e459
f8e459
* Wed Jun 13 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.16-3
f8e459
- Rename to package java-11-openjdk.
f8e459
f8e459
* Wed Jun 13 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.16-2
f8e459
- Disable Aarch64 slowdebug build (see JDK-8204331).
f8e459
- s390x doesn't have the SA even though it's a JIT arch.
f8e459
f8e459
* Wed Jun 13 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.16-1
f8e459
- Initial version of JDK 11 ea based on tag jdk-11+16.
f8e459
- Removed patches no longer needed or upstream:
f8e459
  sorted-diff.patch (see JDK-8198844)
f8e459
  JDK-8201788-bootcycle-images-jobs.patch
f8e459
  JDK-8201509-s390-atomic_store.patch
f8e459
  JDK-8202262-libjsig.so-extra-link-flags.patch (never was an issue on 11)
f8e459
  JDK-8193802-npe-jar-getVersionMap.patch
f8e459
- Updated and renamed patches:
f8e459
  java-openjdk-s390-size_t.patch => JDK-8203030-s390-size_t.patch
f8e459
- Updated patches for JDK 11:
f8e459
  pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_jdk11.patch
f8e459
f8e459
* Tue Jun 12 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.1.10-9
f8e459
- Use proper private_libs expression for filtering requires/provides.
f8e459
f8e459
* Fri Jun 08 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.1.10-8
f8e459
- Bump release and rebuild for fixed gdb. See RHBZ#1589118.
f8e459
f8e459
* Mon Jun 04 2018 Jiri Vanek <jvanek@redhat.com> - 1:10.0.1.10-7
f8e459
- quoted sed expressions, changed possibly confusing # by @
f8e459
- added vendor(origin) into icons
f8e459
- removed last trace of relative symlinks
f8e459
- added BuildRequires of javapackages-tools to fix build failure after Requires change to javapackages-filesystem
f8e459
f8e459
* Thu May 17 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.1.10-5
f8e459
- Move to javapackages-filesystem for directory ownership.
f8e459
  Resolves RHBZ#1500288
f8e459
f8e459
* Mon Apr 30 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.1.10-4
f8e459
- Add JDK-8193802-npe-jar-getVersionMap.patch so as to fix
f8e459
  RHBZ#1557375.
f8e459
f8e459
* Mon Apr 23 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.1.10-3
f8e459
- Inject build flags properly. See RHBZ#1571359
f8e459
- Added patch JDK-8202262-libjsig.so-extra-link-flags.patch
f8e459
  since libjsig.so doesn't get linker flags injected properly.
f8e459
f8e459
* Fri Apr 20 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.1.10-2
f8e459
- Removed unneeded patches:
f8e459
  PStack-808293.patch
f8e459
  multiple-pkcs11-library-init.patch
59f4c0
  ppc_stack_overflow_fix.patch
f8e459
- Added patches for s390 Zero builds:
f8e459
  JDK-8201495-s390-java-opts.patch
f8e459
  JDK-8201509-s390-atomic_store.patch
f8e459
- Renamed patches for clarity:
f8e459
  aarch64BuildFailure.patch => JDK-8200556-aarch64-slowdebug-crash.patch
f8e459
  systemCryptoPolicyPR3183.patch => pr3183-rh1340845-support_fedora_rhel_system_crypto_policy.patch
f8e459
  bootcycle_jobs.patch => JDK-8201788-bootcycle-images-jobs.patch
f8e459
  system-nss-ec-rh1565658.patch => pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_jdk11.patch
f8e459
f8e459
* Fri Apr 20 2018 Jiri Vanek <jvanek@redhat.com> - 1:10.0.1.10-1
f8e459
- updated to security update 1
f8e459
- jexec unlinked from path
f8e459
- used java-openjdk as boot jdk
f8e459
- aligned provides/requires
f8e459
- renamed zip javadoc
f8e459
f8e459
* Tue Apr 10 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.0.46-12
f8e459
- Enable basic EC ciphers test in %%check.
f8e459
f8e459
* Tue Apr 10 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.0.46-11
f8e459
- Port Martin Balao's JDK 9 patch for system NSS support to JDK 10.
f8e459
- Resolves RHBZ#1565658
f8e459
f8e459
* Mon Apr 09 2018 Jiri Vanek <jvanek@redhat.com> - 1:10.0.0.46-10
f8e459
- jexec linked to path
f8e459
f8e459
* Fri Apr 06 2018 Jiri Vanek <jvanek@redhat.com> - 1:10.0.0.46-9
f8e459
- subpackage(s) replaced by sub-package(s) and other cosmetic changes
f8e459
f8e459
* Tue Apr 03 2018 Jiri Vanek <jvanek@redhat.com> - 1:10.0.0.46-8
f8e459
- removed accessibility sub-packages
f8e459
- kept applied patch and properties files
f8e459
- debug sub-packages renamed to slowdebug
f8e459
f8e459
* Fri Feb 23 2018 Jiri Vanek <jvanek@redhat.com> - 1:10.0.0.46-1
f8e459
- initial load