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
c0ba06
#
c0ba06
# Only produce a debug build on x86_64:
c0ba06
# $ fedpkg local --without release
c0ba06
#
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
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
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 debug_on with full debugging on
c0ba06
%global fastdebug_on with minimal debugging on
c0ba06
%global fastdebug_warning This package is optimised with full debugging. Install only as needed and remove ASAP.
c0ba06
%global for_fastdebug_on for packages with minimal debugging on
c0ba06
%global for_debug for packages with debugging on
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`
c0ba06
# you can list those files, with appropriate sections: cat *.spec | grep -e --install -e --slave -e post_ 
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
c0ba06
# Set of architectures for which we build debug builds
c0ba06
%global debug_arches    %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} s390x
c0ba06
# Set of architectures with a Just-In-Time (JIT) compiler
c0ba06
%global jit_arches      %{debug_arches} %{arm}
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
%global fastdebug_arches x86_64 ppc64le 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
c0ba06
# Set of architectures for which java has short vector math library (libsvml.so)
c0ba06
%global svml_arches x86_64
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
c0ba06
# If you disable both builds, then the build fails
c0ba06
# Build and test slowdebug first as it provides the best diagnostics
c0ba06
%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}
c0ba06
%global bootstrap_build 1
c0ba06
%else
c0ba06
%global bootstrap_build 1
c0ba06
%endif
c0ba06
c0ba06
%if %{bootstrap_build}
c0ba06
%global release_targets bootcycle-images docs-zip
c0ba06
%else
c0ba06
%global release_targets images docs-zip
c0ba06
%endif
c0ba06
# No docs nor bootcycle for debug builds
c0ba06
%global debug_targets images
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
c0ba06
%endif
c0ba06
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
c0ba06
# does not match that given by _build_cpu
c0ba06
%ifarch x86_64
c0ba06
%global archinstall amd64
c0ba06
%endif
c0ba06
%ifarch ppc
c0ba06
%global archinstall ppc
c0ba06
%endif
c0ba06
%ifarch %{ppc64be}
c0ba06
%global archinstall ppc64
c0ba06
%endif
c0ba06
%ifarch %{ppc64le}
c0ba06
%global archinstall ppc64le
c0ba06
%endif
c0ba06
%ifarch %{ix86}
c0ba06
%global archinstall i686
c0ba06
%endif
c0ba06
%ifarch ia64
c0ba06
%global archinstall ia64
c0ba06
%endif
c0ba06
%ifarch s390
c0ba06
%global archinstall s390
c0ba06
%endif
c0ba06
%ifarch s390x
c0ba06
%global archinstall s390x
c0ba06
%endif
c0ba06
%ifarch %{arm}
c0ba06
%global archinstall arm
c0ba06
%endif
c0ba06
%ifarch %{aarch64}
c0ba06
%global archinstall aarch64
c0ba06
%endif
c0ba06
# 32 bit sparc, optimized for v9
c0ba06
%ifarch sparcv9
c0ba06
%global archinstall sparc
c0ba06
%endif
c0ba06
# 64 bit sparc
c0ba06
%ifarch sparc64
c0ba06
%global archinstall sparcv9
c0ba06
%endif
c0ba06
%ifnarch %{jit_arches}
c0ba06
%global archinstall %{_arch}
c0ba06
%endif
c0ba06
c0ba06
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
c5ecb0
%global updatever 2
c0ba06
%global patchver 0
c0ba06
# If you bump featurever, you must also bump vendor_version_string
c0ba06
# Used via new version scheme. JDK 17 was
c0ba06
# GA'ed in September 2021 => 21.9
c0ba06
%global vendor_version_string 21.9
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
c0ba06
# Define IcedTea version used for SystemTap tapsets and desktop file
c5ecb0
%global icedteaver      6.0.0pre00-c848b93a8598
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
c5ecb0
%global buildver        8
c5ecb0
%global rpmrelease      4
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
c0ba06
%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
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
c0ba06
%global expected_ea_designator ""
c0ba06
%global ea_designator_zip ""
c0ba06
%global extraver %{nil}
c0ba06
%global eaprefix %{nil}
c0ba06
%else
c0ba06
%global build_type EA
c0ba06
%global expected_ea_designator ea
c0ba06
%global ea_designator_zip -%{expected_ea_designator}
c0ba06
%global extraver .%{expected_ea_designator}
c0ba06
%global eaprefix 0.
c0ba06
%endif
c0ba06
c0ba06
# Define what url should JVM offer in case of a crash report
c0ba06
# order may be important, epel may have rhel declared
c0ba06
%if 0%{?epel}
c0ba06
%global bugs  https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora%20EPEL&component=%{name}&version=epel%{epel}
c0ba06
%else
c0ba06
%if 0%{?fedora}
c0ba06
# Does not work for rawhide, keeps the version field empty
c0ba06
%global bugs  https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{name}&version=%{fedora}
c0ba06
%else
c0ba06
%if 0%{?rhel}
c0ba06
%global bugs  https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%20%{rhel}&component=%{name}
c0ba06
%else
c0ba06
%global bugs  https://bugzilla.redhat.com/enter_bug.cgi
c0ba06
%endif
c0ba06
%endif
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
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
c0ba06
# aka build_cpu as architecture specific directory name.
c0ba06
%global tapsetroot /usr/share/systemtap
c0ba06
%global tapsetdirttapset %{tapsetroot}/tapset/
c0ba06
%global tapsetdir %{tapsetdirttapset}/%{_build_cpu}
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
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
c0ba06
c0ba06
%define post_headless() %{expand:
c0ba06
%ifarch %{share_arches}
c0ba06
%{jrebindir -- %{?1}}/java -Xshare:dump >/dev/null 2>/dev/null
c0ba06
%endif
c0ba06
c0ba06
PRIORITY=%{priority}
c0ba06
if [ "%{?1}" == %{debug_suffix} ]; then
c0ba06
  let PRIORITY=PRIORITY-1
c0ba06
fi
c0ba06
c0ba06
ext=.gz
c0ba06
alternatives \\
c0ba06
  --install %{_bindir}/java java %{jrebindir -- %{?1}}/java $PRIORITY  --family %{name}.%{_arch} \\
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 \\
c0ba06
  %{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1$ext 
c0ba06
c0ba06
for X in %{origin} %{javaver} ; do
c0ba06
  alternatives --install %{_jvmdir}/jre-"$X" jre_"$X" %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{name}.%{_arch}
c0ba06
done
c0ba06
c0ba06
update-alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}} $PRIORITY  --family %{name}.%{_arch}
c0ba06
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:
c0ba06
  alternatives --remove java %{jrebindir -- %{?1}}/java
c0ba06
  alternatives --remove jre_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
c0ba06
  alternatives --remove jre_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}}
c0ba06
  alternatives --remove jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}}
c0ba06
}
c0ba06
c0ba06
%define posttrans_script() %{expand:
c0ba06
%{update_desktop_icons}
c0ba06
}
c0ba06
c0ba06
%define post_devel() %{expand:
c0ba06
c0ba06
PRIORITY=%{priority}
c0ba06
if [ "%{?1}" == %{debug_suffix} ]; then
c0ba06
  let PRIORITY=PRIORITY-1
c0ba06
fi
c0ba06
c0ba06
ext=.gz
c0ba06
alternatives \\
c0ba06
  --install %{_bindir}/javac javac %{sdkbindir -- %{?1}}/javac $PRIORITY  --family %{name}.%{_arch} \\
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}
c0ba06
  --slave %{_bindir}/jhsdb jhsdb %{sdkbindir -- %{?1}}/jhsdb \\
c0ba06
%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
c0ba06
for X in %{origin} %{javaver} ; do
c0ba06
  alternatives \\
c0ba06
    --install %{_jvmdir}/java-"$X" java_sdk_"$X" %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY  --family %{name}.%{_arch}
c0ba06
done
c0ba06
c0ba06
update-alternatives --install %{_jvmdir}/java-%{javaver}-%{origin} java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY  --family %{name}.%{_arch}
c0ba06
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:
c0ba06
  alternatives --remove javac %{sdkbindir -- %{?1}}/javac
c0ba06
  alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
c0ba06
  alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}}
c0ba06
  alternatives --remove java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
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:
c0ba06
%{update_desktop_icons}
c0ba06
}
c0ba06
c0ba06
%define post_javadoc() %{expand:
c0ba06
c0ba06
PRIORITY=%{priority}
c0ba06
if [ "%{?1}" == %{debug_suffix} ]; then
c0ba06
  let PRIORITY=PRIORITY-1
c0ba06
fi
c0ba06
c0ba06
alternatives \\
c0ba06
  --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api \\
c0ba06
  $PRIORITY  --family %{name}
c0ba06
exit 0
c0ba06
}
c0ba06
c0ba06
%define postun_javadoc() %{expand:
c0ba06
  alternatives --remove javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api
c0ba06
exit 0
c0ba06
}
c0ba06
c0ba06
%define post_javadoc_zip() %{expand:
c0ba06
c0ba06
PRIORITY=%{priority}
c0ba06
if [ "%{?1}" == %{debug_suffix} ]; then
c0ba06
  let PRIORITY=PRIORITY-1
c0ba06
fi
c0ba06
c0ba06
alternatives \\
c0ba06
  --install %{_javadocdir}/java-zip javadoczip %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip \\
c0ba06
  $PRIORITY  --family %{name}
c0ba06
exit 0
c0ba06
}
c0ba06
c0ba06
%define postun_javadoc_zip() %{expand:
c0ba06
  alternatives --remove javadoczip %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip
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}
c0ba06
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsaproc.so
c0ba06
%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
c0ba06
# these are config templates, 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
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}
c0ba06
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jhsdb
c0ba06
%{_mandir}/man1/jhsdb-%{uniquesuffix -- %{?1}}.1.gz
c0ba06
%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
c0ba06
Recommends: gtk3%{?_isa}
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
c0ba06
Requires: tzdata-java >= 2015d
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
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
# for optional support of kernel stream control, card reader and printing bindings
c0ba06
Suggests: lksctp-tools%{?_isa}, pcsc-lite-libs%{?_isa}
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
c0ba06
Provides: java-sdk-%{origin}%{?1} = %{epoch}:%{version}-%{release}
c0ba06
Provides: java-devel%{?1} = %{epoch}:%{version}-%{release}
c0ba06
Provides: java-%{origin}-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
c0ba06
Provides: java-%{javaver}-javadoc%{?1} = %{epoch}:%{version}-%{release}
c0ba06
Provides: java-%{javaver}-%{origin}-javadoc%{?1} = %{epoch}:%{version}-%{release}
c0ba06
%if %is_system_jdk
c0ba06
Provides: java-javadoc%{?1} = %{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
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
c0ba06
# to regenerate source0 (jdk) run update_package.sh
c0ba06
# update_package.sh contains hard-coded repos, revisions, tags, and projects to regenerate the source archives
276dd6
Source0: openjdk-jdk%{featurever}u-jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}.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
c0ba06
# nss fips configuration file
c0ba06
Source17: nss.fips.cfg.in
c0ba06
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
c0ba06
# enable build of speculative store bypass hardened alt-java
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
c0ba06
# Follow system wide crypto policy RHBZ#1249083
c0ba06
Patch4:    pr3183-rh1340845-support_fedora_rhel_system_crypto_policy.patch
c0ba06
# PR3695: Allow use of system crypto policy to be disabled by the user
c0ba06
Patch5:    pr3695-toggle_system_crypto_policy.patch
c0ba06
# Depend on pcs-lite-libs instead of pcs-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
c0ba06
# FIPS support patches
c0ba06
# RH1655466: Support RHEL FIPS mode using SunPKCS11 provider
c0ba06
Patch1001: rh1655466-global_crypto_and_fips.patch
c0ba06
# RH1818909: No ciphersuites availale for SSLSocket in FIPS mode
c0ba06
Patch1002: rh1818909-fips_default_keystore_type.patch
c0ba06
# RH1860986: Disable TLSv1.3 with the NSS-FIPS provider until PKCS#11 v3.0 support is available
c0ba06
Patch1004: rh1860986-disable_tlsv1.3_in_fips_mode.patch
c0ba06
# RH1915071: Always initialise JavaSecuritySystemConfiguratorAccess
c0ba06
Patch1007: rh1915071-always_initialise_configurator_access.patch
c0ba06
# RH1929465: Improve system FIPS detection
c0ba06
Patch1008: rh1929465-improve_system_FIPS_detection.patch
c0ba06
Patch1011: rh1929465-dont_define_unused_throwioexception.patch
c0ba06
# RH1995150: Disable non-FIPS crypto in SUN and SunEC security providers
c0ba06
Patch1009: rh1995150-disable_non-fips_crypto.patch
c0ba06
# RH1996182: Login to the NSS software token in FIPS mode
c0ba06
Patch1010: rh1996182-login_to_nss_software_token.patch
c0ba06
Patch1012: rh1996182-extend_security_policy.patch
c5ecb0
# RH2021263: Resolve outstanding FIPS issues
c5ecb0
Patch1014: rh2021263-fips_ensure_security_initialised.patch
c5ecb0
Patch1015: rh2021263-fips_missing_native_returns.patch
c0ba06
c0ba06
#############################################
c0ba06
#
c0ba06
# OpenJDK patches in need of upstreaming
c0ba06
#
c0ba06
#############################################
c0ba06
c0ba06
#############################################
c0ba06
#
c0ba06
# OpenJDK patches appearing in 17.0.1
c0ba06
#
c0ba06
#############################################
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
c0ba06
# Requirements for setting up the nss.cfg and FIPS support
c0ba06
BuildRequires: nss-devel >= 3.53
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
c0ba06
%ifnarch %{jit_arches}
c0ba06
BuildRequires: libffi-devel
c0ba06
%endif
c0ba06
BuildRequires: tzdata-java >= 2015d
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}
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}
c0ba06
Group:   Development/Languages
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
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}
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}
c0ba06
Group:   Development/Languages
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
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}
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}
c0ba06
Group:   Development/Tools
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}
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}
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}
c0ba06
Group:   Development/Tools
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
c0ba06
%if %{include_normal_build}
c0ba06
%package demo
c0ba06
Summary: %{origin_nice} %{featurever} Demos
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}
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}
c0ba06
Group:   Development/Languages
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
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}
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}
c0ba06
Group:   Development/Languages
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
c0ba06
%if %{include_normal_build}
c0ba06
%package javadoc
c0ba06
Summary: %{origin_nice} %{featurever} API documentation
c0ba06
Requires: javapackages-filesystem
c0ba06
Obsoletes: javadoc-slowdebug < 1:13.0.0.33-1.rolling
c0ba06
c0ba06
%{java_javadoc_rpo %{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
c0ba06
Requires: javapackages-filesystem
c0ba06
Obsoletes: javadoc-zip-slowdebug < 1:13.0.0.33-1.rolling
c0ba06
c0ba06
%{java_javadoc_rpo %{nil}}
c0ba06
c0ba06
%description javadoc-zip
c0ba06
The %{origin_nice} %{featurever} API documentation compressed in a single archive.
c0ba06
%endif
c0ba06
c0ba06
%prep
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
%patch4 -p1
c0ba06
%patch5 -p1
c0ba06
%patch6 -p1
c0ba06
popd # openjdk
c0ba06
c0ba06
%patch1000
c0ba06
%patch600
c0ba06
%patch1001
c0ba06
%patch1002
c0ba06
%patch1004
c0ba06
%patch1007
c0ba06
%patch1008
c0ba06
%patch1009
c0ba06
%patch1010
c0ba06
%patch1011
c0ba06
%patch1012
c5ecb0
%patch1014
c5ecb0
%patch1015
c0ba06
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
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
sed -i -e "s:@NSS_SECMOD@:/etc/pki/nssdb:g" 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
c0ba06
export EXTRA_CFLAGS
c0ba06
c0ba06
for suffix in %{build_loop} ; do
c0ba06
if [ "x$suffix" = "x" ] ; then
c0ba06
  debugbuild=release
c0ba06
else
c0ba06
  # change --something to something
c0ba06
  debugbuild=`echo $suffix  | sed "s/-//g"`
c0ba06
fi
c0ba06
c0ba06
for loop in %{main_suffix} %{staticlibs_loop} ; do
c0ba06
c0ba06
if test "x${loop}" = "x%{main_suffix}" ; then
c0ba06
    # Copy the source tree so we can remove all in-tree libraries
c0ba06
    cp -a %{top_level_dir_name} %{top_level_dir_name_backup}
c0ba06
    # Remove all libraries that are linked
c0ba06
    sh %{SOURCE12} %{top_level_dir_name} full
c0ba06
    # Variable used by configure and hs_err hook on build failures
c0ba06
    link_opt="system"
c0ba06
    # Debug builds don't need same targets as release for
c0ba06
    # build speed-up
c0ba06
    maketargets="%{release_targets}"
c0ba06
    if echo $debugbuild | grep -q "debug" ; then
c0ba06
	maketargets="%{debug_targets}"
c0ba06
    fi
c0ba06
else
c0ba06
    # Variable used by configure and hs_err hook on build failures
c0ba06
    link_opt="bundled"
c0ba06
    # Static library cycle only builds the static libraries
c0ba06
    maketargets="%{static_libs_target}"
c0ba06
fi
c0ba06
c0ba06
top_dir_abs_src_path=$(pwd)/%{top_level_dir_name}
c0ba06
top_dir_abs_build_path=$(pwd)/%{buildoutputdir -- ${suffix}${loop}}
c0ba06
# The OpenJDK version file includes the current
c0ba06
# upstream version information. For some reason,
c0ba06
# configure does not automatically use the
c0ba06
# default pre-version supplied there (despite
c0ba06
# what the file claims), so we pass it manually
c0ba06
# to configure
c0ba06
VERSION_FILE=${top_dir_abs_src_path}/make/conf/version-numbers.conf
c0ba06
if [ -f ${VERSION_FILE} ] ; then
c0ba06
    EA_DESIGNATOR=$(grep '^DEFAULT_PROMOTED_VERSION_PRE' ${VERSION_FILE} | cut -d '=' -f 2)
c0ba06
else
c0ba06
    echo "Could not find OpenJDK version file.";
c0ba06
    exit 16
c0ba06
fi
c0ba06
if [ "x${EA_DESIGNATOR}" != "x%{expected_ea_designator}" ] ; then
c0ba06
    echo "Spec file is configured for a %{build_type} build, but upstream version-pre setting is ${EA_DESIGNATOR}";
c0ba06
    exit 17
c0ba06
fi
c0ba06
c0ba06
mkdir -p ${top_dir_abs_build_path}
c0ba06
pushd ${top_dir_abs_build_path}
c0ba06
c0ba06
bash ${top_dir_abs_src_path}/configure \
c0ba06
%ifnarch %{jit_arches}
c0ba06
    --with-jvm-variants=zero \
c0ba06
%endif
c0ba06
%ifarch %{ppc64le}
c0ba06
    --with-jobs=1 \
c0ba06
%endif
c0ba06
    --with-version-build=%{buildver} \
c0ba06
    --with-version-pre="${EA_DESIGNATOR}" \
c0ba06
    --with-version-opt=%{lts_designator} \
c0ba06
    --with-vendor-version-string="%{vendor_version_string}" \
c0ba06
    --with-vendor-name="Red Hat, Inc." \
c0ba06
    --with-vendor-url="https://www.redhat.com/" \
c0ba06
    --with-vendor-bug-url="%{bugs}" \
c0ba06
    --with-vendor-vm-bug-url="%{bugs}" \
c0ba06
    --with-boot-jdk=/usr/lib/jvm/java-%{buildjdkver}-openjdk \
c0ba06
    --with-debug-level=$debugbuild \
c0ba06
    --with-native-debug-symbols=internal \
c0ba06
    --enable-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
c0ba06
make \
c0ba06
    LOG=trace \
c0ba06
    WARNINGS_ARE_ERRORS="-Wno-error" \
c0ba06
    CFLAGS_WARNINGS_ARE_ERRORS="-Wno-error" \
c0ba06
    $maketargets || ( pwd; find ${top_dir_abs_src_path} ${top_dir_abs_build_path} -name "hs_err_pid*.log" | xargs cat && false )
c0ba06
c0ba06
popd >& /dev/null
c0ba06
c0ba06
# Restore original source tree if we modified it by removing full in-tree sources
c0ba06
if [ -d %{top_level_dir_name_backup} ] ; then
c0ba06
    rm -rf %{top_level_dir_name}
c0ba06
    mv %{top_level_dir_name_backup} %{top_level_dir_name}
c0ba06
fi
c0ba06
c0ba06
done # end of main / staticlibs loop
c0ba06
c0ba06
top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
c0ba06
c0ba06
# the build (erroneously) removes read permissions from some jars
c0ba06
# this is a regression in OpenJDK 7 (our compiler):
c0ba06
# http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
c0ba06
find ${top_dir_abs_main_build_path}/images/%{jdkimage} -iname '*.jar' -exec chmod ugo+r {} \;
c0ba06
c0ba06
# Build screws up permissions on binaries
c0ba06
# https://bugs.openjdk.java.net/browse/JDK-8173610
c0ba06
find ${top_dir_abs_main_build_path}/images/%{jdkimage} -iname '*.so' -exec chmod +x {} \;
c0ba06
find ${top_dir_abs_main_build_path}/images/%{jdkimage}/bin/ -exec chmod +x {} \;
c0ba06
c0ba06
# Install nss.cfg right away as we will be using the JRE above
c0ba06
export JAVA_HOME=${top_dir_abs_main_build_path}/images/%{jdkimage}
c0ba06
c0ba06
# Install nss.cfg right away as we will be using the JRE above
c0ba06
install -m 644 nss.cfg $JAVA_HOME/conf/security/
c0ba06
c0ba06
# Install nss.fips.cfg: NSS configuration for global FIPS mode (crypto-policies)
c0ba06
install -m 644 nss.fips.cfg $JAVA_HOME/conf/security/
c0ba06
c0ba06
# Use system-wide tzdata
c0ba06
rm $JAVA_HOME/lib/tzdb.dat
c0ba06
ln -s %{_datadir}/javazi-1.8/tzdb.dat $JAVA_HOME/lib/tzdb.dat
c0ba06
c0ba06
# Create fake alt-java as a placeholder for future alt-java
c0ba06
pushd ${JAVA_HOME}
c0ba06
# add alt-java man page
c0ba06
echo "Hardened java binary recommended for launching untrusted code from the Web e.g. javaws" > man/man1/%{alt_java_name}.1
c0ba06
cat man/man1/java.1 >> man/man1/%{alt_java_name}.1
c0ba06
popd
c0ba06
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
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
c0ba06
# Check system crypto (policy) can be disabled
c0ba06
$JAVA_HOME/bin/javac -d . %{SOURCE15}
c0ba06
$JAVA_HOME/bin/java -Djava.security.disableSystemPropertiesFile=true $(echo $(basename %{SOURCE15})|sed "s|\.java||")
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
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
c0ba06
# Check debug symbols are present and can identify code
c0ba06
find "$JAVA_HOME" -iname '*.so' -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
    # If this is the empty library, libsyslookup.so, of the foreign function and memory
c0ba06
    # API incubation module (JEP 412), skip the debuginfo check as this seems unreliable
c0ba06
    # on s390x. It's not very useful for other arches either, so skip unconditionally.
c0ba06
    if [ "`basename $lib`" = "libsyslookup.so" ]; then
c0ba06
       echo "Skipping debuginfo check for empty library 'libsyslookup.so'"
c0ba06
       continue
c0ba06
    fi
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
c0ba06
      echo "$line" | grep -E "ABS ((.*/)?[-_a-zA-Z0-9]+\.(c|cc|cpp|cxx|o|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:
c0ba06
# 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
c0ba06
break javaCalls.cpp:1
c0ba06
commands 1
c0ba06
backtrace
c0ba06
quit
c0ba06
end
c0ba06
run -version
c0ba06
EOF
c0ba06
c0ba06
# This fails on s390x for some reason. Disable for now. See:
c0ba06
# https://koji.fedoraproject.org/koji/taskinfo?taskID=41499227
c0ba06
%ifnarch s390x
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
c0ba06
find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -name "*.so" -exec chmod 755 {} \; ; 
c0ba06
find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -type d -exec chmod 755 {} \; ; 
c0ba06
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")
c0ba06
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
c0ba06
%post devel
c0ba06
%{post_devel %{nil}}
c0ba06
c0ba06
%postun devel
c0ba06
%{postun_devel %{nil}}
c0ba06
c0ba06
%posttrans  devel
c0ba06
%{posttrans_devel %{nil}}
c0ba06
c0ba06
%post javadoc
c0ba06
%{post_javadoc %{nil}}
c0ba06
c0ba06
%postun javadoc
c0ba06
%{postun_javadoc %{nil}}
c0ba06
c0ba06
%post javadoc-zip
c0ba06
%{post_javadoc_zip %{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
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
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
c5ecb0
* Mon Jan 17 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.2.0.8-4
c5ecb0
- Fix FIPS issues in native code and with initialisation of java.security.Security
c5ecb0
- Related: rhbz#2039366
c5ecb0
c5ecb0
* Fri Jan 14 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
c5ecb0
- Related: rhbz#2039366
c5ecb0
c5ecb0
* Wed Jan 12 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.2.0.8-2
c5ecb0
- Sync desktop files with upstream IcedTea release 3.15.0 using new script
c5ecb0
- Related: rhbz#2039366
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
- ** This tarball is embargoed until 2022-01-18 @ 1pm PT. **
c5ecb0
- Resolves: rhbz#2039366
c5ecb0
276dd6
* Thu Oct 28 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.1.0.12-2
276dd6
- Extend LTS check to exclude EPEL.
276dd6
- Related: rhbz#2013841
276dd6
276dd6
* Thu Oct 28 2021 Severin Gehwolf <sgehwolf@redhat.com> - 1:17.0.1.0.12-2
276dd6
- Set LTS designator.
276dd6
- Related: rhbz#2013841
276dd6
276dd6
* Tue Oct 26 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.1.0.12-1
276dd6
- Drop JDK-8272332/RH2004078 patch which is upstream in 17.0.1
276dd6
- Resolves: rhbz#2013841
276dd6
276dd6
* Wed Oct 20 2021 Petra Alice Mikova <pmikova@redhat.com> - 1:17.0.1.0.12-1
276dd6
- October CPU update to jdk 17.0.1+12
276dd6
- Dropped commented-out source line
276dd6
- Resolves: rhbz#2013841
276dd6
c0ba06
* Mon Sep 27 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.0.0.35-4
c0ba06
- Bump release to avoid conflict with RHEL 8.6.
c0ba06
- Resolves: rhbz#1994084
c0ba06
c0ba06
* Mon Sep 27 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.0.0.35-3
c0ba06
- Update release notes to document the major changes between OpenJDK 11 & 17.
c0ba06
- Resolves: rhbz#1994084
c0ba06
c0ba06
* Thu Sep 16 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.0.0.35-2
c0ba06
- Add JDK-8272332 fix so we actually link against HarfBuzz.
c0ba06
- Resolves: rhbz#1994084
c0ba06
c0ba06
* Tue Sep 14 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.0.0.35-1
c0ba06
- Update to jdk-17+35, also known as jdk-17-ga.
c0ba06
- Switch to GA mode.
c0ba06
- Resolves: rhbz#1994084
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
c0ba06
- 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
c0ba06
- 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
c0ba06
- 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
c0ba06
- 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
c0ba06
  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