Blame SPECS/java-17-openjdk.spec

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