Blame SPECS/java-17-openjdk.spec

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