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
cadfac
#
cadfac
# Only produce a debug build on x86_64:
cadfac
# $ fedpkg local --without release
cadfac
#
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
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
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 debug_on with full debugging on
cadfac
%global fastdebug_on with minimal debugging on
cadfac
%global fastdebug_warning This package is optimised with full debugging. Install only as needed and remove ASAP.
cadfac
%global for_fastdebug_on for packages with minimal debugging on
cadfac
%global for_debug for packages with debugging on
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`
cadfac
# you can list those files, with appropriate sections: cat *.spec | grep -e --install -e --slave -e post_ 
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
cadfac
# Set of architectures for which we build debug builds
cadfac
%global debug_arches    %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} s390x
cadfac
# Set of architectures with a Just-In-Time (JIT) compiler
cadfac
%global jit_arches      %{debug_arches} %{arm}
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
%global fastdebug_arches x86_64 ppc64le 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
cadfac
# Set of architectures for which java has short vector math library (libsvml.so)
cadfac
%global svml_arches x86_64
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
cadfac
# If you disable both builds, then the build fails
cadfac
# Note that the debug build requires the normal build for docs
cadfac
%global build_loop %{normal_build} %{fastdebug_build} %{slowdebug_build}
cadfac
# Test slowdebug first as it provides the best diagnostics
cadfac
%global rev_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
cadfac
%ifarch %{bootstrap_arches}
cadfac
%global bootstrap_build 1
cadfac
%else
cadfac
%global bootstrap_build 1
cadfac
%endif
cadfac
cadfac
%if %{bootstrap_build}
cadfac
%global release_targets bootcycle-images docs-zip
cadfac
%else
cadfac
%global release_targets images docs-zip
cadfac
%endif
cadfac
# No docs nor bootcycle for debug builds
cadfac
%global debug_targets images
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
cadfac
%endif
cadfac
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
cadfac
# does not match that given by _build_cpu
cadfac
%ifarch x86_64
cadfac
%global archinstall amd64
cadfac
%endif
cadfac
%ifarch ppc
cadfac
%global archinstall ppc
cadfac
%endif
cadfac
%ifarch %{ppc64be}
cadfac
%global archinstall ppc64
cadfac
%endif
cadfac
%ifarch %{ppc64le}
cadfac
%global archinstall ppc64le
cadfac
%endif
cadfac
%ifarch %{ix86}
cadfac
%global archinstall i686
cadfac
%endif
cadfac
%ifarch ia64
cadfac
%global archinstall ia64
cadfac
%endif
cadfac
%ifarch s390
cadfac
%global archinstall s390
cadfac
%endif
cadfac
%ifarch s390x
cadfac
%global archinstall s390x
cadfac
%endif
cadfac
%ifarch %{arm}
cadfac
%global archinstall arm
cadfac
%endif
cadfac
%ifarch %{aarch64}
cadfac
%global archinstall aarch64
cadfac
%endif
cadfac
# 32 bit sparc, optimized for v9
cadfac
%ifarch sparcv9
cadfac
%global archinstall sparc
cadfac
%endif
cadfac
# 64 bit sparc
cadfac
%ifarch sparc64
cadfac
%global archinstall sparcv9
cadfac
%endif
cadfac
%ifnarch %{jit_arches}
cadfac
%global archinstall %{_arch}
cadfac
%endif
cadfac
cadfac
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
cadfac
%global updatever 0
cadfac
%global patchver 0
cadfac
# If you bump featurever, you must bump also vendor_version_string
cadfac
# Used via new version scheme. JDK 17 was
cadfac
# GA'ed in September 2021 => 21.9
cadfac
%global vendor_version_string 21.9
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
cadfac
%global buildjdkver 16
cadfac
# We don't add any LTS designator for STS packages (this package).
cadfac
# Neither for Fedora nor EPEL which would have %%{rhel} macro defined.
cadfac
 %global lts_designator ""
cadfac
 %global lts_designator_zip ""
cadfac
cadfac
# Define IcedTea version used for SystemTap tapsets and desktop file
cadfac
%global icedteaver      3.15.0
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
cadfac
%global buildver        26
cadfac
%global rpmrelease      1
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
cadfac
%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
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
cadfac
%global is_ga           0
cadfac
%if %{is_ga}
cadfac
%global build_type GA
cadfac
%global expected_ea_designator ""
cadfac
%global ea_designator_zip ""
cadfac
%global extraver %{nil}
cadfac
%global eaprefix %{nil}
cadfac
%else
cadfac
%global build_type EA
cadfac
%global expected_ea_designator ea
cadfac
%global ea_designator_zip -%{expected_ea_designator}
cadfac
%global extraver .%{expected_ea_designator}
cadfac
%global eaprefix 0.
cadfac
%endif
cadfac
cadfac
# Define what url should JVM offer in case of a crash report
cadfac
# order may be important, epel may have rhel declared
cadfac
%if 0%{?epel}
cadfac
%global bugs  https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora%20EPEL&component=%{name}&version=epel%{epel}
cadfac
%else
cadfac
%if 0%{?fedora}
cadfac
# Does not work for rawhide, keeps the version field empty
cadfac
%global bugs  https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{name}&version=%{fedora}
cadfac
%else
cadfac
%if 0%{?rhel}
cadfac
%global bugs  https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%20%{rhel}&component=%{name}
cadfac
%else
cadfac
%global bugs  https://bugzilla.redhat.com/enter_bug.cgi
cadfac
%endif
cadfac
%endif
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
cadfac
%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.*|libzip[.]so.*
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
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
cadfac
# aka build_cpu as architecture specific directory name.
cadfac
%global tapsetroot /usr/share/systemtap
cadfac
%global tapsetdirttapset %{tapsetroot}/tapset/
cadfac
%global tapsetdir %{tapsetdirttapset}/%{_build_cpu}
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
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
cadfac
cadfac
%define post_headless() %{expand:
cadfac
%ifarch %{share_arches}
cadfac
%{jrebindir -- %{?1}}/java -Xshare:dump >/dev/null 2>/dev/null
cadfac
%endif
cadfac
cadfac
PRIORITY=%{priority}
cadfac
if [ "%{?1}" == %{debug_suffix} ]; then
cadfac
  let PRIORITY=PRIORITY-1
cadfac
fi
cadfac
cadfac
ext=.gz
cadfac
alternatives \\
cadfac
  --install %{_bindir}/java java %{jrebindir -- %{?1}}/java $PRIORITY  --family %{name}.%{_arch} \\
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 \\
cadfac
  %{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1$ext 
cadfac
cadfac
for X in %{origin} %{javaver} ; do
cadfac
  alternatives --install %{_jvmdir}/jre-"$X" jre_"$X" %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{name}.%{_arch}
cadfac
done
cadfac
cadfac
update-alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}} $PRIORITY  --family %{name}.%{_arch}
cadfac
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:
cadfac
  alternatives --remove java %{jrebindir -- %{?1}}/java
cadfac
  alternatives --remove jre_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
cadfac
  alternatives --remove jre_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}}
cadfac
  alternatives --remove jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}}
cadfac
}
cadfac
cadfac
%define posttrans_script() %{expand:
cadfac
%{update_desktop_icons}
cadfac
}
cadfac
cadfac
%define post_devel() %{expand:
cadfac
cadfac
PRIORITY=%{priority}
cadfac
if [ "%{?1}" == %{debug_suffix} ]; then
cadfac
  let PRIORITY=PRIORITY-1
cadfac
fi
cadfac
cadfac
ext=.gz
cadfac
alternatives \\
cadfac
  --install %{_bindir}/javac javac %{sdkbindir -- %{?1}}/javac $PRIORITY  --family %{name}.%{_arch} \\
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}
cadfac
  --slave %{_bindir}/jhsdb jhsdb %{sdkbindir -- %{?1}}/jhsdb \\
cadfac
%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
cadfac
for X in %{origin} %{javaver} ; do
cadfac
  alternatives \\
cadfac
    --install %{_jvmdir}/java-"$X" java_sdk_"$X" %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY  --family %{name}.%{_arch}
cadfac
done
cadfac
cadfac
update-alternatives --install %{_jvmdir}/java-%{javaver}-%{origin} java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY  --family %{name}.%{_arch}
cadfac
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:
cadfac
  alternatives --remove javac %{sdkbindir -- %{?1}}/javac
cadfac
  alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
cadfac
  alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}}
cadfac
  alternatives --remove java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
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:
cadfac
%{update_desktop_icons}
cadfac
}
cadfac
cadfac
%define post_javadoc() %{expand:
cadfac
cadfac
PRIORITY=%{priority}
cadfac
if [ "%{?1}" == %{debug_suffix} ]; then
cadfac
  let PRIORITY=PRIORITY-1
cadfac
fi
cadfac
cadfac
alternatives \\
cadfac
  --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api \\
cadfac
  $PRIORITY  --family %{name}
cadfac
exit 0
cadfac
}
cadfac
cadfac
%define postun_javadoc() %{expand:
cadfac
  alternatives --remove javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api
cadfac
exit 0
cadfac
}
cadfac
cadfac
%define post_javadoc_zip() %{expand:
cadfac
cadfac
PRIORITY=%{priority}
cadfac
if [ "%{?1}" == %{debug_suffix} ]; then
cadfac
  let PRIORITY=PRIORITY-1
cadfac
fi
cadfac
cadfac
alternatives \\
cadfac
  --install %{_javadocdir}/java-zip javadoczip %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip \\
cadfac
  $PRIORITY  --family %{name}
cadfac
exit 0
cadfac
}
cadfac
cadfac
%define postun_javadoc_zip() %{expand:
cadfac
  alternatives --remove javadoczip %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip
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
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}
cadfac
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsaproc.so
cadfac
%endif
cadfac
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsctp.so
cadfac
%ifarch %{svml_arches}
cadfac
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsvml.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
cadfac
%config(noreplace) %{etcjavadir -- %{?1}}/conf/management/jmxremote.access
cadfac
# these are config templates, 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
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}
cadfac
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jhsdb
cadfac
%{_mandir}/man1/jhsdb-%{uniquesuffix -- %{?1}}.1.gz
cadfac
%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*
cadfac
%{_mandir}/man1/jdeprscan-%{uniquesuffix -- %{?1}}.1.gz
cadfac
%{_mandir}/man1/jlink-%{uniquesuffix -- %{?1}}.1.gz
cadfac
%{_mandir}/man1/jmod-%{uniquesuffix -- %{?1}}.1.gz
cadfac
%{_mandir}/man1/jshell-%{uniquesuffix -- %{?1}}.1.gz
cadfac
%{_mandir}/man1/jfr-%{uniquesuffix -- %{?1}}.1.gz
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
cadfac
Recommends: gtk3%{?_isa}
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
cadfac
Requires: tzdata-java >= 2015d
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
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
# for optional support of kernel stream control, card reader and printing bindings
cadfac
Suggests: lksctp-tools%{?_isa}, pcsc-lite-libs%{?_isa}
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
cadfac
Provides: java-sdk-%{origin}%{?1} = %{epoch}:%{version}-%{release}
cadfac
Provides: java-devel%{?1} = %{epoch}:%{version}-%{release}
cadfac
Provides: java-%{origin}-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
cadfac
Provides: java-%{javaver}-javadoc%{?1} = %{epoch}:%{version}-%{release}
cadfac
Provides: java-%{javaver}-%{origin}-javadoc%{?1} = %{epoch}:%{version}-%{release}
cadfac
%if %is_system_jdk
cadfac
Provides: java-javadoc%{?1} = %{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
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
cadfac
# to regenerate source0 (jdk) run update_package.sh
cadfac
# update_package.sh contains hard-coded repos, revisions, tags, and projects to regenerate the source archives
cadfac
Source0: openjdk-jdk%{featurever}-jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}.tar.xz
cadfac
#Source0: openjdk-jdk%{featurever}-jdk-%{filever}+%{buildver}.tar.xz
cadfac
cadfac
# Bootstrap JDKs
cadfac
Source1: jdk-16.0.1.0.9.el8.aarch64.tar.xz
cadfac
Source2: jdk-16.0.1.0.9.el8.ppc64le.tar.xz
cadfac
Source3: jdk-16.0.1.0.9.el8.s390x.tar.xz
cadfac
Source4: jdk-16.0.1.0.9.el8.x86_64.tar.xz
cadfac
cadfac
# Use 'icedtea_sync.sh' to update the following
cadfac
# They are based on code contained in the IcedTea project (3.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
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
cadfac
# enable build of speculative store bypass hardened alt-java
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
cadfac
# Follow system wide crypto policy RHBZ#1249083
cadfac
Patch4:    pr3183-rh1340845-support_fedora_rhel_system_crypto_policy.patch
cadfac
# Depend on pcs-lite-libs instead of pcs-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
cadfac
#############################################
cadfac
#
cadfac
# OpenJDK patches in need of upstreaming
cadfac
#
cadfac
#############################################
cadfac
cadfac
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: freetype-devel
cadfac
BuildRequires: giflib-devel
cadfac
BuildRequires: gcc-c++
cadfac
BuildRequires: gdb
cadfac
BuildRequires: harfbuzz-devel
cadfac
BuildRequires: lcms2-devel
cadfac
BuildRequires: libjpeg-devel
cadfac
BuildRequires: libpng-devel
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
cadfac
# Requirements for setting up the nss.cfg
cadfac
BuildRequires: nss-devel
cadfac
BuildRequires: pkgconfig
cadfac
BuildRequires: xorg-x11-proto-devel
cadfac
BuildRequires: zip
cadfac
BuildRequires: javapackages-filesystem
cadfac
# Use local source JDK until we have a build in the buildroot
cadfac
#BuildRequires: java-17-openjdk-devel
cadfac
# Zero-assembler build requirement
cadfac
%ifnarch %{jit_arches}
cadfac
BuildRequires: libffi-devel
cadfac
%endif
cadfac
BuildRequires: tzdata-java >= 2015d
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
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}
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}
cadfac
Group:   Development/Languages
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
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}
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}
cadfac
Group:   Development/Languages
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
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}
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}
cadfac
Group:   Development/Tools
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}
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}
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}
cadfac
Group:   Development/Tools
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
cadfac
%if %{include_normal_build}
cadfac
%package demo
cadfac
Summary: %{origin_nice} %{featurever} Demos
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}
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}
cadfac
Group:   Development/Languages
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
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}
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}
cadfac
Group:   Development/Languages
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
cadfac
%if %{include_normal_build}
cadfac
%package javadoc
cadfac
Summary: %{origin_nice} %{featurever} API documentation
cadfac
Requires: javapackages-filesystem
cadfac
Obsoletes: javadoc-slowdebug < 1:13.0.0.33-1.rolling
cadfac
cadfac
%{java_javadoc_rpo %{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
cadfac
Requires: javapackages-filesystem
cadfac
Obsoletes: javadoc-zip-slowdebug < 1:13.0.0.33-1.rolling
cadfac
cadfac
%{java_javadoc_rpo %{nil}}
cadfac
cadfac
%description javadoc-zip
cadfac
The %{origin_nice} %{featurever} API documentation compressed in a single archive.
cadfac
%endif
cadfac
cadfac
%prep
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
if [ %{include_normal_build} -eq 0 ] ; then
cadfac
  echo "You have disabled the normal build, but this is required to provide docs for the debug build."
cadfac
  exit 15
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
cadfac
# Remove libraries that are linked by both static and dynamic builds
cadfac
sh %{SOURCE12} %{top_level_dir_name}
cadfac
cadfac
# Patch the JDK
cadfac
pushd %{top_level_dir_name}
cadfac
%patch1 -p1
cadfac
%patch2 -p1
cadfac
%patch3 -p1
cadfac
%patch4 -p1
cadfac
%patch6 -p1
cadfac
popd # openjdk
cadfac
cadfac
%patch1000
cadfac
%patch600
cadfac
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
cadfac
for suffix in %{build_loop} ; do
cadfac
  for file in "tapset"$suffix/*.in; do
cadfac
    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
cadfac
# TODO find out which architectures other than i686 have a client vm
cadfac
%ifarch %{ix86}
cadfac
    sed -e "s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/client/libjvm.so:g" $file.1 > $OUTPUT_FILE
cadfac
%else
cadfac
    sed -e "/@ABS_CLIENT_LIBJVM_SO@/d" $file.1 > $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
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
cadfac
    sed    -e  "s:@JAVA_HOME@:%{sdkbindir -- $suffix}:g" $file > $OUTPUT_FILE
cadfac
    sed -i -e  "s:@JRE_HOME@:%{jrebindir -- $suffix}:g" $OUTPUT_FILE
cadfac
    sed -i -e  "s:@ARCH@:%{version}-%{release}.%{_arch}$suffix:g" $OUTPUT_FILE
cadfac
    sed -i -e  "s:@JAVA_MAJOR_VERSION@:%{featurever}: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
# Unpack bootstrap JDK
cadfac
%ifarch %{aarch64}
cadfac
tar -x -I xz -f %{SOURCE1}
cadfac
%endif
cadfac
%ifarch ppc64le
cadfac
tar -x -I xz -f %{SOURCE2}
cadfac
%endif
cadfac
%ifarch s390x
cadfac
tar -x -I xz -f %{SOURCE3}
cadfac
%endif
cadfac
%ifarch x86_64
cadfac
tar -x -I xz -f %{SOURCE4}
cadfac
%endif
cadfac
# Verify it works
cadfac
${PWD}/bootjdk/bin/java -version
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
cadfac
export EXTRA_CFLAGS
cadfac
cadfac
for suffix in %{build_loop} ; do
cadfac
if [ "x$suffix" = "x" ] ; then
cadfac
  debugbuild=release
cadfac
else
cadfac
  # change --something to something
cadfac
  debugbuild=`echo $suffix  | sed "s/-//g"`
cadfac
fi
cadfac
cadfac
for loop in %{main_suffix} %{staticlibs_loop} ; do
cadfac
cadfac
if test "x${loop}" = "x%{main_suffix}" ; then
cadfac
    # Copy the source tree so we can remove all in-tree libraries
cadfac
    cp -a %{top_level_dir_name} %{top_level_dir_name_backup}
cadfac
    # Remove all libraries that are linked
cadfac
    sh %{SOURCE12} %{top_level_dir_name} full
cadfac
    # Variable used by configure and hs_err hook on build failures
cadfac
    link_opt="system"
cadfac
    # Debug builds don't need same targets as release for
cadfac
    # build speed-up
cadfac
    maketargets="%{release_targets}"
cadfac
    if echo $debugbuild | grep -q "debug" ; then
cadfac
	maketargets="%{debug_targets}"
cadfac
    fi
cadfac
else
cadfac
    # Variable used by configure and hs_err hook on build failures
cadfac
    link_opt="bundled"
cadfac
    # Static library cycle only builds the static libraries
cadfac
    maketargets="%{static_libs_target}"
cadfac
fi
cadfac
cadfac
top_dir_abs_src_path=$(pwd)/%{top_level_dir_name}
cadfac
top_dir_abs_build_path=$(pwd)/%{buildoutputdir -- ${suffix}${loop}}
cadfac
BOOTJDK=$(pwd)/bootjdk
cadfac
cadfac
# The OpenJDK version file includes the current
cadfac
# upstream version information. For some reason,
cadfac
# configure does not automatically use the
cadfac
# default pre-version supplied there (despite
cadfac
# what the file claims), so we pass it manually
cadfac
# to configure
cadfac
VERSION_FILE=${top_dir_abs_src_path}/make/conf/version-numbers.conf
cadfac
if [ -f ${VERSION_FILE} ] ; then
cadfac
    EA_DESIGNATOR=$(grep '^DEFAULT_PROMOTED_VERSION_PRE' ${VERSION_FILE} | cut -d '=' -f 2)
cadfac
else
cadfac
    echo "Could not find OpenJDK version file.";
cadfac
    exit 16
cadfac
fi
cadfac
if [ "x${EA_DESIGNATOR}" != "x%{expected_ea_designator}" ] ; then
cadfac
    echo "Spec file is configured for a %{build_type} build, but upstream version-pre setting is ${EA_DESIGNATOR}";
cadfac
    exit 17
cadfac
fi
cadfac
cadfac
mkdir -p ${top_dir_abs_build_path}
cadfac
pushd ${top_dir_abs_build_path}
cadfac
cadfac
bash ${top_dir_abs_src_path}/configure \
cadfac
%ifnarch %{jit_arches}
cadfac
    --with-jvm-variants=zero \
cadfac
%endif
cadfac
%ifarch %{ppc64le}
cadfac
    --with-jobs=1 \
cadfac
%endif
cadfac
    --with-version-build=%{buildver} \
cadfac
    --with-version-pre="${EA_DESIGNATOR}" \
cadfac
    --with-version-opt=%{lts_designator} \
cadfac
    --with-vendor-version-string="%{vendor_version_string}" \
cadfac
    --with-vendor-name="Red Hat, Inc." \
cadfac
    --with-vendor-url="https://www.redhat.com/" \
cadfac
    --with-vendor-bug-url="%{bugs}" \
cadfac
    --with-vendor-vm-bug-url="%{bugs}" \
cadfac
    --with-boot-jdk="${BOOTJDK}" \
cadfac
    --with-debug-level=$debugbuild \
cadfac
    --with-native-debug-symbols=internal \
cadfac
    --enable-unlimited-crypto \
cadfac
    --with-zlib=system \
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} \
cadfac
    --with-stdc++lib=dynamic \
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
cadfac
make \
cadfac
    LOG=trace \
cadfac
    WARNINGS_ARE_ERRORS="-Wno-error" \
cadfac
    CFLAGS_WARNINGS_ARE_ERRORS="-Wno-error" \
cadfac
    $maketargets || ( pwd; find ${top_dir_abs_src_path} ${top_dir_abs_build_path} -name "hs_err_pid*.log" | xargs cat && false )
cadfac
cadfac
popd >& /dev/null
cadfac
cadfac
# Restore original source tree if we modified it by removing full in-tree sources
cadfac
if [ -d %{top_level_dir_name_backup} ] ; then
cadfac
    rm -rf %{top_level_dir_name}
cadfac
    mv %{top_level_dir_name_backup} %{top_level_dir_name}
cadfac
fi
cadfac
cadfac
done # end of main / staticlibs loop
cadfac
cadfac
top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
cadfac
cadfac
# the build (erroneously) removes read permissions from some jars
cadfac
# this is a regression in OpenJDK 7 (our compiler):
cadfac
# http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
cadfac
find ${top_dir_abs_main_build_path}/images/%{jdkimage} -iname '*.jar' -exec chmod ugo+r {} \;
cadfac
cadfac
# Build screws up permissions on binaries
cadfac
# https://bugs.openjdk.java.net/browse/JDK-8173610
cadfac
find ${top_dir_abs_main_build_path}/images/%{jdkimage} -iname '*.so' -exec chmod +x {} \;
cadfac
find ${top_dir_abs_main_build_path}/images/%{jdkimage}/bin/ -exec chmod +x {} \;
cadfac
cadfac
# Install nss.cfg right away as we will be using the JRE above
cadfac
export JAVA_HOME=${top_dir_abs_main_build_path}/images/%{jdkimage}
cadfac
cadfac
# Install nss.cfg right away as we will be using the JRE above
cadfac
install -m 644 nss.cfg $JAVA_HOME/conf/security/
cadfac
cadfac
# Use system-wide tzdata
cadfac
rm $JAVA_HOME/lib/tzdb.dat
cadfac
ln -s %{_datadir}/javazi-1.8/tzdb.dat $JAVA_HOME/lib/tzdb.dat
cadfac
cadfac
# Create fake alt-java as a placeholder for future alt-java
cadfac
pushd ${JAVA_HOME}
cadfac
# add alt-java man page
cadfac
echo "Hardened java binary recommended for launching untrusted code from the Web e.g. javaws" > man/man1/%{alt_java_name}.1
cadfac
cat man/man1/java.1 >> man/man1/%{alt_java_name}.1
cadfac
popd
cadfac
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
cadfac
for suffix in %{rev_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
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
cadfac
# Check system crypto (policy) can be disabled
cadfac
$JAVA_HOME/bin/javac -d . %{SOURCE15}
cadfac
$JAVA_HOME/bin/java -Djava.security.disableSystemPropertiesFile=true $(echo $(basename %{SOURCE15})|sed "s|\.java||") ||  echo "crypto policy are now not honored i jdk15"
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
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
cadfac
# Check debug symbols are present and can identify code
cadfac
find "$JAVA_HOME" -iname '*.so' -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
    # If this is the empty library, libsyslookup.so, of the foreign function and memory
cadfac
    # API incubation module (JEP 412), skip the debuginfo check as this seems unreliable
cadfac
    # on s390x. It's not very useful for other arches either, so skip unconditionally.
cadfac
    if [ "`basename $lib`" = "libsyslookup.so" ]; then
cadfac
       echo "Skipping debuginfo check for empty library 'libsyslookup.so'"
cadfac
       continue
cadfac
    fi
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
cadfac
      echo "$line" | grep -E "ABS ((.*/)?[-_a-zA-Z0-9]+\.(c|cc|cpp|cxx|o|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:
cadfac
# 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
cadfac
break javaCalls.cpp:1
cadfac
commands 1
cadfac
backtrace
cadfac
quit
cadfac
end
cadfac
run -version
cadfac
EOF
cadfac
cadfac
# This fails on s390x for some reason. Disable for now. See:
cadfac
# https://koji.fedoraproject.org/koji/taskinfo?taskID=41499227
cadfac
%ifnarch s390x
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
cadfac
find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -name "*.so" -exec chmod 755 {} \; ; 
cadfac
find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -type d -exec chmod 755 {} \; ; 
cadfac
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")
cadfac
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
cadfac
%post devel
cadfac
%{post_devel %{nil}}
cadfac
cadfac
%postun devel
cadfac
%{postun_devel %{nil}}
cadfac
cadfac
%posttrans  devel
cadfac
%{posttrans_devel %{nil}}
cadfac
cadfac
%post javadoc
cadfac
%{post_javadoc %{nil}}
cadfac
cadfac
%postun javadoc
cadfac
%{postun_javadoc %{nil}}
cadfac
cadfac
%post javadoc-zip
cadfac
%{post_javadoc_zip %{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
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
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
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
cadfac
- 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
cadfac
- 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
cadfac
- 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
cadfac
- 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
cadfac
  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