Blame SPECS/java-17-openjdk.spec

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