673b76
# RPM conditionals so as to be able to dynamically produce
673b76
# slowdebug/release builds. See:
673b76
# http://rpm.org/user_doc/conditional_builds.html
673b76
#
673b76
# Examples:
673b76
#
673b76
# Produce release, fastdebug *and* slowdebug builds on x86_64 (default):
673b76
# $ rpmbuild -ba java-11-openjdk.spec
673b76
#
673b76
# Produce only release builds (no slowdebug builds) on x86_64:
673b76
# $ rpmbuild -ba java-11-openjdk.spec --without slowdebug --without fastdebug
673b76
#
673b76
# Only produce a release build on x86_64:
673b76
# $ fedpkg mockbuild --without slowdebug --without fastdebug
4ef70a
673b76
# Enable fastdebug builds by default on relevant arches.
673b76
%bcond_without fastdebug
673b76
# Enable slowdebug builds by default on relevant arches.
673b76
%bcond_without slowdebug
673b76
# Enable release builds by default on relevant arches.
673b76
%bcond_without release
673b76
# Enable static library builds by default.
673b76
%bcond_without staticlibs
95617d
# Remove build artifacts by default
95617d
%bcond_with artifacts
95617d
# Build a fresh libjvm.so for use in a copy of the bootstrap JDK
95617d
%bcond_without fresh_libjvm
4398fb
# Build with system libraries
4398fb
%bcond_with system_libs
673b76
673b76
# Workaround for stripping of debug symbols from static libraries
673b76
%if %{with staticlibs}
673b76
%define __brp_strip_static_archive %{nil}
673b76
%global include_staticlibs 1
673b76
%else
673b76
%global include_staticlibs 0
673b76
%endif
673b76
95617d
# Define whether to use the bootstrap JDK directly or with a fresh libjvm.so
95617d
%if %{with fresh_libjvm}
95617d
%global build_hotspot_first 1
95617d
%else
95617d
%global build_hotspot_first 0
95617d
%endif
95617d
4398fb
%if %{with system_libs}
4398fb
%global system_libs 1
4398fb
%global link_type system
4398fb
%global freetype_lib %{nil}
4398fb
%else
4398fb
%global system_libs 0
4398fb
%global link_type bundled
4398fb
%global freetype_lib |libfreetype[.]so.*
4398fb
%endif
4398fb
673b76
# The -g flag says to use strip -g instead of full strip on DSOs or EXEs.
673b76
# This fixes detailed NMT and other tools which need minimal debug info.
673b76
# See: https://bugzilla.redhat.com/show_bug.cgi?id=1520879
673b76
%global _find_debuginfo_opts -g
673b76
673b76
# note: parametrized macros are order-sensitive (unlike not-parametrized) even with normal macros
673b76
# also necessary when passing it as parameter to other macros. If not macro, then it is considered a switch
673b76
# see the difference between global and define:
673b76
# See https://github.com/rpm-software-management/rpm/issues/127 to comments at  "pmatilai commented on Aug 18, 2017"
673b76
# (initiated in https://bugzilla.redhat.com/show_bug.cgi?id=1482192)
673b76
%global debug_suffix_unquoted -slowdebug
673b76
%global fastdebug_suffix_unquoted -fastdebug
673b76
%global main_suffix_unquoted -main
673b76
%global staticlibs_suffix_unquoted -staticlibs
673b76
# quoted one for shell operations
673b76
%global debug_suffix "%{debug_suffix_unquoted}"
673b76
%global fastdebug_suffix "%{fastdebug_suffix_unquoted}"
673b76
%global normal_suffix ""
673b76
%global main_suffix "%{main_suffix_unquoted}"
673b76
%global staticlibs_suffix "%{staticlibs_suffix_unquoted}"
673b76
673b76
%global debug_warning This package is unoptimised with full debugging. Install only as needed and remove ASAP.
673b76
%global fastdebug_warning This package is optimised with full debugging. Install only as needed and remove ASAP.
4ef70a
%global debug_on unoptimised with full debugging on
4ef70a
%global fastdebug_on optimised with full debugging on
4ef70a
%global for_fastdebug for packages with debugging on and optimisation
4ef70a
%global for_debug for packages with debugging on and no optimisation
673b76
673b76
%if %{with release}
673b76
%global include_normal_build 1
673b76
%else
673b76
%global include_normal_build 0
673b76
%endif
673b76
673b76
%if %{include_normal_build}
673b76
%global normal_build %{normal_suffix}
673b76
%else
673b76
%global normal_build %{nil}
673b76
%endif
673b76
673b76
# We have hardcoded list of files, which  is appearing in alternatives, and in files
673b76
# in alternatives those are slaves and master, very often triplicated by man pages
673b76
# in files all masters and slaves are ghosted
673b76
# the ghosts are here to allow installation via query like `dnf install /usr/bin/java`
95617d
# you can list those files, with appropriate sections: cat *.spec | grep -e --install -e --slave -e post_ -e alternatives
673b76
# TODO - fix those hardcoded lists via single list
673b76
# Those files must *NOT* be ghosted for *slowdebug* packages
673b76
# FIXME - if you are moving jshell or jlink or similar, always modify all three sections
673b76
# you can check via headless and devels:
673b76
#    rpm -ql --noghost java-11-openjdk-headless-11.0.1.13-8.fc29.x86_64.rpm  | grep bin
673b76
# == rpm -ql           java-11-openjdk-headless-slowdebug-11.0.1.13-8.fc29.x86_64.rpm  | grep bin
673b76
# != rpm -ql           java-11-openjdk-headless-11.0.1.13-8.fc29.x86_64.rpm  | grep bin
673b76
# similarly for other %%{_jvmdir}/{jre,java} and %%{_javadocdir}/{java,java-zip}
673b76
%define is_release_build() %( if [ "%{?1}" == "%{debug_suffix_unquoted}" -o "%{?1}" == "%{fastdebug_suffix_unquoted}" ]; then echo "0" ; else echo "1"; fi )
673b76
673b76
# 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
673b76
# as sytem JDK, we mean any JDK which can run whole system java stack without issues (like bytecode issues, module issues, dependencies...)
673b76
%global is_system_jdk 1
673b76
673b76
%global aarch64         aarch64 arm64 armv8
673b76
# we need to distinguish between big and little endian PPC64
673b76
%global ppc64le         ppc64le
673b76
%global ppc64be         ppc64 ppc64p7
673b76
# Set of architectures which support multiple ABIs
673b76
%global multilib_arches %{power64} sparc64 x86_64
673b76
# Set of architectures for which we build slowdebug builds
673b76
%global debug_arches    %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} s390x
673b76
# Set of architectures for which we build fastdebug builds
673b76
%global fastdebug_arches x86_64 ppc64le aarch64
673b76
# Set of architectures with a Just-In-Time (JIT) compiler
95617d
%global jit_arches      %{arm} %{aarch64} %{ix86} %{power64} s390x sparcv9 sparc64 x86_64
95617d
# Set of architectures which use the Zero assembler port (!jit_arches)
95617d
%global zero_arches ppc s390
673b76
# Set of architectures which run a full bootstrap cycle
673b76
%global bootstrap_arches %{jit_arches}
673b76
# Set of architectures which support SystemTap tapsets
673b76
%global systemtap_arches %{jit_arches}
673b76
# Set of architectures with a Ahead-Of-Time (AOT) compiler
673b76
%global aot_arches      x86_64 %{aarch64}
673b76
# Set of architectures which support the serviceability agent
673b76
%global sa_arches       %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} %{arm}
673b76
# Set of architectures which support class data sharing
673b76
# As of JDK-8005165 in OpenJDK 10, class sharing is not arch-specific
673b76
# However, it does segfault on the Zero assembler port, so currently JIT only
673b76
%global share_arches    %{jit_arches}
673b76
# Set of architectures for which we build the Shenandoah garbage collector
673b76
%global shenandoah_arches x86_64 %{aarch64}
673b76
# Set of architectures for which we build the Z garbage collector
673b76
%global zgc_arches x86_64
673b76
# Set of architectures for which alt-java has SSB mitigation
673b76
%global ssbd_arches x86_64
95617d
# Set of architectures where we verify backtraces with gdb
95617d
%global gdb_arches %{jit_arches} %{zero_arches}
673b76
673b76
# By default, we build a slowdebug build during main build on JIT architectures
673b76
%if %{with slowdebug}
673b76
%ifarch %{debug_arches}
673b76
%global include_debug_build 1
673b76
%else
673b76
%global include_debug_build 0
673b76
%endif
673b76
%else
673b76
%global include_debug_build 0
673b76
%endif
673b76
673b76
# On certain architectures, we compile the Shenandoah GC
673b76
%ifarch %{shenandoah_arches}
673b76
%global use_shenandoah_hotspot 1
673b76
%global shenandoah_feature shenandoahgc
673b76
%else
673b76
%global use_shenandoah_hotspot 0
673b76
%global shenandoah_feature -shenandoahgc
673b76
%endif
673b76
673b76
# On certain architectures, we compile the ZGC
673b76
%ifarch %{zgc_arches}
673b76
%global use_zgc_hotspot 1
673b76
%global zgc_feature zgc
673b76
%else
673b76
%global use_zgc_hotspot 0
673b76
%global zgc_feature -zgc
673b76
%endif
673b76
673b76
# By default, we build a fastdebug build during main build only on fastdebug architectures
673b76
%if %{with fastdebug}
673b76
%ifarch %{fastdebug_arches}
673b76
%global include_fastdebug_build 1
673b76
%else
673b76
%global include_fastdebug_build 0
673b76
%endif
673b76
%else
673b76
%global include_fastdebug_build 0
673b76
%endif
673b76
673b76
%if %{include_debug_build}
673b76
%global slowdebug_build %{debug_suffix}
673b76
%else
673b76
%global slowdebug_build %{nil}
673b76
%endif
673b76
673b76
%if %{include_fastdebug_build}
673b76
%global fastdebug_build %{fastdebug_suffix}
673b76
%else
673b76
%global fastdebug_build %{nil}
673b76
%endif
673b76
95617d
# If you disable all builds, then the build fails
673b76
# Build and test slowdebug first as it provides the best diagnostics
4ef70a
%global build_loop %{slowdebug_build} %{fastdebug_build} %{normal_build}
673b76
673b76
%if %{include_staticlibs}
673b76
%global staticlibs_loop %{staticlibs_suffix}
673b76
%else
673b76
%global staticlibs_loop %{nil}
673b76
%endif
673b76
9e62d6
%if 0%{?flatpak}
9e62d6
%global bootstrap_build false
9e62d6
%else
673b76
%ifarch %{bootstrap_arches}
95617d
%global bootstrap_build true
673b76
%else
95617d
%global bootstrap_build false
673b76
%endif
9e62d6
%endif
673b76
673b76
%if %{include_staticlibs}
673b76
# Extra target for producing the static-libraries. Separate from
673b76
# other targets since this target is configured to use in-tree
673b76
# AWT dependencies: lcms, libjpeg, libpng, libharfbuzz, giflib
673b76
# and possibly others
673b76
%global static_libs_target static-libs-image
4ef70a
%else
4ef70a
%global static_libs_target %{nil}
4ef70a
%endif
4ef70a
95617d
# RPM JDK builds keep the debug symbols internal, to be later stripped by RPM
95617d
%global debug_symbols internal
95617d
4ef70a
# unlike portables,the rpms have to use static_libs_target very dynamically
95617d
%global bootstrap_targets images
4ef70a
%global release_targets images docs-zip
4ef70a
# No docs nor bootcycle for debug builds
4ef70a
%global debug_targets images
95617d
# Target to use to just build HotSpot
95617d
%global hotspot_target hotspot
95617d
95617d
# JDK to use for bootstrapping
95617d
%global bootjdk /usr/lib/jvm/java-%{buildjdkver}-openjdk
673b76
673b76
# Disable LTO as this causes build failures at the moment.
673b76
# See RHBZ#1861401
673b76
%define _lto_cflags %{nil}
673b76
673b76
# Filter out flags from the optflags macro that cause problems with the OpenJDK build
673b76
# We filter out -O flags so that the optimization of HotSpot is not lowered from O3 to O2
673b76
# We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs)
673b76
# We replace it with -Wformat (required by -Werror=format-security) and -Wno-cpp to avoid FORTIFY_SOURCE warnings
673b76
# We filter out -fexceptions as the HotSpot build explicitly does -fno-exceptions and it's otherwise the default for C++
673b76
%global ourflags %(echo %optflags | sed -e 's|-Wall|-Wformat -Wno-cpp|' | sed -r -e 's|-O[0-9]*||')
673b76
%global ourcppflags %(echo %ourflags | sed -e 's|-fexceptions||')
673b76
%global ourldflags %{__global_ldflags}
673b76
673b76
# With disabled nss is NSS deactivated, so NSS_LIBDIR can contain the wrong path
673b76
# the initialization must be here. Later the pkg-config have buggy behavior
673b76
# looks like openjdk RPM specific bug
673b76
# Always set this so the nss.cfg file is not broken
673b76
%global NSS_LIBDIR %(pkg-config --variable=libdir nss)
673b76
673b76
# In some cases, the arch used by the JDK does
673b76
# not match _arch.
673b76
# Also, in some cases, the machine name used by SystemTap
673b76
# does not match that given by _target_cpu
673b76
%ifarch x86_64
673b76
%global archinstall amd64
673b76
%global stapinstall x86_64
673b76
%endif
673b76
%ifarch ppc
673b76
%global archinstall ppc
673b76
%global stapinstall powerpc
673b76
%endif
673b76
%ifarch %{ppc64be}
673b76
%global archinstall ppc64
673b76
%global stapinstall powerpc
673b76
%endif
673b76
%ifarch %{ppc64le}
673b76
%global archinstall ppc64le
673b76
%global stapinstall powerpc
673b76
%endif
673b76
%ifarch %{ix86}
673b76
%global archinstall i686
673b76
%global stapinstall i386
673b76
%endif
673b76
%ifarch ia64
673b76
%global archinstall ia64
673b76
%global stapinstall ia64
673b76
%endif
673b76
%ifarch s390
673b76
%global archinstall s390
673b76
%global stapinstall s390
673b76
%endif
673b76
%ifarch s390x
673b76
%global archinstall s390x
673b76
%global stapinstall s390
673b76
%endif
673b76
%ifarch %{arm}
673b76
%global archinstall arm
673b76
%global stapinstall arm
673b76
%endif
673b76
%ifarch %{aarch64}
673b76
%global archinstall aarch64
673b76
%global stapinstall arm64
673b76
%endif
673b76
# 32 bit sparc, optimized for v9
673b76
%ifarch sparcv9
673b76
%global archinstall sparc
673b76
%global stapinstall %{_target_cpu}
673b76
%endif
673b76
# 64 bit sparc
673b76
%ifarch sparc64
673b76
%global archinstall sparcv9
673b76
%global stapinstall %{_target_cpu}
673b76
%endif
673b76
# Need to support noarch for srpm build
673b76
%ifarch noarch
673b76
%global archinstall %{nil}
673b76
%global stapinstall %{nil}
673b76
%endif
673b76
673b76
%ifarch %{systemtap_arches}
673b76
%global with_systemtap 1
673b76
%else
673b76
%global with_systemtap 0
673b76
%endif
673b76
673b76
# New Version-String scheme-style defines
673b76
%global featurever 11
673b76
%global interimver 0
4398fb
%global updatever 18
9e62d6
%global patchver 0
673b76
# buildjdkver is usually same as %%{featurever},
673b76
# but in time of bootstrap of next jdk, it is featurever-1,
673b76
# and this it is better to change it here, on single place
673b76
%global buildjdkver %{featurever}
673b76
# Add LTS designator for RHEL builds
673b76
%if 0%{?rhel}
673b76
  %global lts_designator "LTS"
673b76
  %global lts_designator_zip -%{lts_designator}
673b76
%else
673b76
  %global lts_designator ""
673b76
  %global lts_designator_zip ""
673b76
%endif
673b76
673b76
# Define vendor information used by OpenJDK
673b76
%global oj_vendor Red Hat, Inc.
673b76
%global oj_vendor_url https://www.redhat.com/
673b76
# Define what url should JVM offer in case of a crash report
673b76
# order may be important, epel may have rhel declared
673b76
%if 0%{?epel}
673b76
%global oj_vendor_bug_url  https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora%20EPEL&component=%{name}&version=epel%{epel}
673b76
%else
673b76
%if 0%{?fedora}
673b76
# Does not work for rawhide, keeps the version field empty
673b76
%global oj_vendor_bug_url  https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{name}&version=%{fedora}
673b76
%else
673b76
%if 0%{?rhel}
673b76
%global oj_vendor_bug_url  https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%20%{rhel}&component=%{name}
673b76
%else
673b76
%global oj_vendor_bug_url  https://bugzilla.redhat.com/enter_bug.cgi
673b76
%endif
673b76
%endif
673b76
%endif
9e62d6
%global oj_vendor_version (Red_Hat-%{version}-%{release})
673b76
673b76
# Define IcedTea version used for SystemTap tapsets and desktop file
673b76
%global icedteaver      6.0.0pre00-c848b93a8598
9e62d6
# Define current Git revision for the FIPS support patches
9e62d6
%global fipsver 9087e80d0ab
673b76
673b76
# Standard JPackage naming and versioning defines
673b76
%global origin          openjdk
673b76
%global origin_nice     OpenJDK
673b76
%global top_level_dir_name   %{origin}
673b76
%global top_level_dir_name_backup %{top_level_dir_name}-backup
4398fb
%global buildver        9
4398fb
%global rpmrelease      3
4ef70a
#%%global tagsuffix     %%{nil}
673b76
# 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
673b76
%if %is_system_jdk
673b76
# Using 10 digits may overflow the int used for priority, so we combine the patch and build versions
673b76
# It is very unlikely we will ever have a patch version > 4 or a build version > 20, so we combine as (patch * 20) + build.
673b76
# This means 11.0.9.0+11 would have had a priority of 11000911 as before
673b76
# 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
673b76
%global combiver $( expr 20 '*' %{patchver} + %{buildver} )
673b76
%global priority %( printf '%02d%02d%02d%02d' %{featurever} %{interimver} %{updatever} %{combiver} )
673b76
%else
673b76
# for techpreview, using 1, so slowdebugs can have 0
673b76
%global priority %( printf '%08d' 1 )
673b76
%endif
4ef70a
%global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver}
673b76
9e62d6
# Strip up to 6 trailing zeros in newjavaver, as the JDK does, to get the correct version used in filenames
9e62d6
%global filever %(svn=%{newjavaver}; for i in 1 2 3 4 5 6 ; do svn=${svn%%.0} ; done; echo ${svn})
9e62d6
9e62d6
# The tag used to create the OpenJDK tarball
9e62d6
%global vcstag jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}
673b76
673b76
%global javaver         %{featurever}
673b76
673b76
# Define milestone (EA for pre-releases, GA for releases)
673b76
# Release will be (where N is usually a number starting at 1):
673b76
# - 0.N%%{?extraver}%%{?dist} for EA releases,
673b76
# - N%%{?extraver}{?dist} for GA releases
4398fb
%global is_ga           0
673b76
%if %{is_ga}
673b76
%global ea_designator ""
673b76
%global ea_designator_zip ""
673b76
%global extraver %{nil}
673b76
%global eaprefix %{nil}
673b76
%else
673b76
%global ea_designator ea
673b76
%global ea_designator_zip -%{ea_designator}
673b76
%global extraver .%{ea_designator}
673b76
%global eaprefix 0.
673b76
%endif
673b76
673b76
# parametrized macros are order-sensitive
673b76
%global compatiblename  java-%{featurever}-%{origin}
673b76
%global fullversion     %{compatiblename}-%{version}-%{release}
673b76
# images directories from upstream build
673b76
%global jdkimage                jdk
673b76
%global static_libs_image       static-libs
673b76
# output dir stub
95617d
%define buildoutputdir() %{expand:build/jdk%{featurever}.build%{?1}}
95617d
%define installoutputdir() %{expand:install/jdk%{featurever}.install%{?1}}
673b76
# we can copy the javadoc to not arched dir, or make it not noarch
673b76
%define uniquejavadocdir()    %{expand:%{fullversion}.%{_arch}%{?1}}
673b76
# main id and dir of this jdk
673b76
%define uniquesuffix()        %{expand:%{fullversion}.%{_arch}%{?1}}
673b76
673b76
#################################################################
673b76
# fix for https://bugzilla.redhat.com/show_bug.cgi?id=1111349
673b76
#         https://bugzilla.redhat.com/show_bug.cgi?id=1590796#c14
673b76
#         https://bugzilla.redhat.com/show_bug.cgi?id=1655938
4398fb
%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.*|libsunec[.]so.*|libsystemconf[.]so.*|libunpack[.]so.*|libzip[.]so.*%{freetype_lib}
673b76
%global _publiclibs libjawt[.]so.*|libjava[.]so.*|libjvm[.]so.*|libverify[.]so.*|libjsig[.]so.*
673b76
%if %is_system_jdk
673b76
%global __provides_exclude ^(%{_privatelibs})$
673b76
%global __requires_exclude ^(%{_privatelibs})$
95617d
# Never generate lib-style provides/requires for any debug packages
673b76
%global __provides_exclude_from ^.*/%{uniquesuffix -- %{debug_suffix_unquoted}}/.*$
673b76
%global __requires_exclude_from ^.*/%{uniquesuffix -- %{debug_suffix_unquoted}}/.*$
673b76
%global __provides_exclude_from ^.*/%{uniquesuffix -- %{fastdebug_suffix_unquoted}}/.*$
673b76
%global __requires_exclude_from ^.*/%{uniquesuffix -- %{fastdebug_suffix_unquoted}}/.*$
673b76
%else
673b76
# Don't generate provides/requires for JDK provided shared libraries at all.
673b76
%global __provides_exclude ^(%{_privatelibs}|%{_publiclibs})$
673b76
%global __requires_exclude ^(%{_privatelibs}|%{_publiclibs})$
673b76
%endif
673b76
673b76
673b76
%global etcjavasubdir     %{_sysconfdir}/java/java-%{javaver}-%{origin}
673b76
%define etcjavadir()      %{expand:%{etcjavasubdir}/%{uniquesuffix -- %{?1}}}
673b76
# Standard JPackage directories and symbolic links.
673b76
%define sdkdir()        %{expand:%{uniquesuffix -- %{?1}}}
673b76
%define jrelnk()        %{expand:jre-%{javaver}-%{origin}-%{version}-%{release}.%{_arch}%{?1}}
673b76
673b76
%define sdkbindir()     %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin}
673b76
%define jrebindir()     %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin}
673b76
673b76
%global alt_java_name     alt-java
673b76
673b76
%global rpm_state_dir %{_localstatedir}/lib/rpm-state/
673b76
673b76
# For flatpack builds hard-code /usr/sbin/alternatives,
673b76
# otherwise use %%{_sbindir} relative path.
673b76
%if 0%{?flatpak}
673b76
%global alternatives_requires /usr/sbin/alternatives
673b76
%else
673b76
%global alternatives_requires %{_sbindir}/alternatives
673b76
%endif
673b76
95617d
%global family %{name}.%{_arch}
95617d
%global family_noarch  %{name}
95617d
673b76
%if %{with_systemtap}
673b76
# Where to install systemtap tapset (links)
673b76
# We would like these to be in a package specific sub-dir,
673b76
# but currently systemtap doesn't support that, so we have to
673b76
# use the root tapset dir for now. To distinguish between 64
673b76
# and 32 bit architectures we place the tapsets under the arch
673b76
# specific dir (note that systemtap will only pickup the tapset
673b76
# for the primary arch for now). Systemtap uses the machine name
673b76
# aka target_cpu as architecture specific directory name.
673b76
%global tapsetroot /usr/share/systemtap
673b76
%global tapsetdirttapset %{tapsetroot}/tapset/
673b76
%global tapsetdir %{tapsetdirttapset}/%{stapinstall}
673b76
%endif
673b76
673b76
# not-duplicated scriptlets for normal/debug packages
673b76
%global update_desktop_icons /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
673b76
95617d
%define save_alternatives() %{expand:
95617d
  # warning! alternatives are localised!
95617d
  # LANG=cs_CZ.UTF-8  alternatives --display java | head
95617d
  # LANG=en_US.UTF-8  alternatives --display java | head
95617d
  function nonLocalisedAlternativesDisplayOfMaster() {
95617d
    LANG=en_US.UTF-8 alternatives --display "$MASTER"
95617d
  }
95617d
  function headOfAbove() {
95617d
    nonLocalisedAlternativesDisplayOfMaster | head -n $1
95617d
  }
95617d
  MASTER="%{?1}"
95617d
  LOCAL_LINK="%{?2}"
95617d
  FAMILY="%{?3}"
95617d
  rm -f %{_localstatedir}/lib/rpm-state/"$MASTER"_$FAMILY > /dev/null
95617d
  if nonLocalisedAlternativesDisplayOfMaster > /dev/null ; then
95617d
      if headOfAbove 1 | grep -q manual ; then
95617d
        if headOfAbove 2 | tail -n 1 | grep -q %{compatiblename} ; then
95617d
           headOfAbove 2  > %{_localstatedir}/lib/rpm-state/"$MASTER"_"$FAMILY"
95617d
        fi
95617d
      fi
95617d
  fi
95617d
}
95617d
95617d
%define save_and_remove_alternatives() %{expand:
95617d
  if [ "x$debug"  == "xtrue" ] ; then
95617d
    set -x
95617d
  fi
95617d
  upgrade1_uninstal0=%{?3}
95617d
  if [ "0$upgrade1_uninstal0" -gt 0 ] ; then # removal of this condition will cause persistence between uninstall
95617d
    %{save_alternatives %{?1} %{?2} %{?4}}
95617d
  fi
95617d
  alternatives --remove  "%{?1}" "%{?2}"
95617d
}
95617d
95617d
%define set_if_needed_alternatives() %{expand:
95617d
  MASTER="%{?1}"
95617d
  FAMILY="%{?2}"
95617d
  ALTERNATIVES_FILE="%{_localstatedir}/lib/rpm-state/$MASTER"_"$FAMILY"
95617d
  if [ -e  "$ALTERNATIVES_FILE" ] ; then
95617d
    rm "$ALTERNATIVES_FILE"
95617d
    alternatives --set $MASTER $FAMILY
95617d
  fi
95617d
}
95617d
673b76
673b76
%define post_script() %{expand:
673b76
update-desktop-database %{_datadir}/applications &> /dev/null || :
673b76
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
673b76
exit 0
673b76
}
673b76
95617d
%define alternatives_java_install() %{expand:
95617d
if [ "x$debug"  == "xtrue" ] ; then
95617d
  set -x
95617d
fi
673b76
PRIORITY=%{priority}
673b76
if [ "%{?1}" == %{debug_suffix} ]; then
673b76
  let PRIORITY=PRIORITY-1
673b76
fi
673b76
673b76
ext=.gz
95617d
key=java
673b76
alternatives \\
95617d
  --install %{_bindir}/java $key %{jrebindir -- %{?1}}/java $PRIORITY  --family %{family} \\
673b76
  --slave %{_jvmdir}/jre jre %{_jvmdir}/%{sdkdir -- %{?1}} \\
673b76
  --slave %{_bindir}/%{alt_java_name} %{alt_java_name} %{jrebindir -- %{?1}}/%{alt_java_name} \\
673b76
  --slave %{_bindir}/jjs jjs %{jrebindir -- %{?1}}/jjs \\
673b76
  --slave %{_bindir}/keytool keytool %{jrebindir -- %{?1}}/keytool \\
673b76
  --slave %{_bindir}/pack200 pack200 %{jrebindir -- %{?1}}/pack200 \\
673b76
  --slave %{_bindir}/rmid rmid %{jrebindir -- %{?1}}/rmid \\
673b76
  --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir -- %{?1}}/rmiregistry \\
673b76
  --slave %{_bindir}/unpack200 unpack200 %{jrebindir -- %{?1}}/unpack200 \\
673b76
  --slave %{_mandir}/man1/java.1$ext java.1$ext \\
673b76
  %{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/%{alt_java_name}.1$ext %{alt_java_name}.1$ext \\
673b76
  %{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/jjs.1$ext jjs.1$ext \\
673b76
  %{_mandir}/man1/jjs-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \\
673b76
  %{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/pack200.1$ext pack200.1$ext \\
673b76
  %{_mandir}/man1/pack200-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \\
673b76
  %{_mandir}/man1/rmid-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \\
673b76
  %{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \\
673b76
  %{_mandir}/man1/unpack200-%{uniquesuffix -- %{?1}}.1$ext
673b76
95617d
%{set_if_needed_alternatives $key %{family}}
95617d
673b76
for X in %{origin} %{javaver} ; do
95617d
  key=jre_"$X"
95617d
  alternatives --install %{_jvmdir}/jre-"$X" $key %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{family}
95617d
  %{set_if_needed_alternatives $key %{family}}
673b76
done
673b76
95617d
key=jre_%{javaver}_%{origin}
95617d
alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} $key %{_jvmdir}/%{jrelnk -- %{?1}} $PRIORITY  --family %{family}
95617d
%{set_if_needed_alternatives $key %{family}}
95617d
}
673b76
95617d
%define post_headless() %{expand:
95617d
%ifarch %{share_arches}
95617d
%{jrebindir -- %{?1}}/java -Xshare:dump >/dev/null 2>/dev/null
95617d
%endif
673b76
673b76
update-desktop-database %{_datadir}/applications &> /dev/null || :
673b76
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
673b76
673b76
# see pretrans where this file is declared
673b76
# also see that pretrans is only for non-debug
673b76
if [ ! "%{?1}" == %{debug_suffix} ]; then
673b76
  if [ -f %{_libexecdir}/copy_jdk_configs_fixFiles.sh ] ; then
673b76
    sh  %{_libexecdir}/copy_jdk_configs_fixFiles.sh %{rpm_state_dir}/%{name}.%{_arch}  %{_jvmdir}/%{sdkdir -- %{?1}}
673b76
  fi
673b76
fi
673b76
673b76
exit 0
673b76
}
673b76
673b76
%define postun_script() %{expand:
673b76
update-desktop-database %{_datadir}/applications &> /dev/null || :
673b76
if [ $1 -eq 0 ] ; then
673b76
    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
673b76
    %{update_desktop_icons}
673b76
fi
673b76
exit 0
673b76
}
673b76
673b76
673b76
%define postun_headless() %{expand:
95617d
  if [ "x$debug"  == "xtrue" ] ; then
95617d
    set -x
95617d
  fi
95617d
  post_state=$1 # from postun, https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax
95617d
  %{save_and_remove_alternatives  java  %{jrebindir -- %{?1}}/java $post_state %{family}}
95617d
  %{save_and_remove_alternatives  jre_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}}
95617d
  %{save_and_remove_alternatives  jre_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}}
95617d
  %{save_and_remove_alternatives  jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}} $post_state %{family}}
673b76
}
673b76
673b76
%define posttrans_script() %{expand:
673b76
%{update_desktop_icons}
673b76
}
673b76
673b76
95617d
%define alternatives_javac_install() %{expand:
95617d
if [ "x$debug"  == "xtrue" ] ; then
95617d
  set -x
95617d
fi
673b76
PRIORITY=%{priority}
673b76
if [ "%{?1}" == %{debug_suffix} ]; then
673b76
  let PRIORITY=PRIORITY-1
673b76
fi
673b76
673b76
ext=.gz
95617d
key=javac
673b76
alternatives \\
95617d
  --install %{_bindir}/javac $key %{sdkbindir -- %{?1}}/javac $PRIORITY  --family %{family} \\
673b76
  --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir -- %{?1}} \\
673b76
%ifarch %{aot_arches}
673b76
  --slave %{_bindir}/jaotc jaotc %{sdkbindir -- %{?1}}/jaotc \\
673b76
%endif
673b76
  --slave %{_bindir}/jlink jlink %{sdkbindir -- %{?1}}/jlink \\
673b76
  --slave %{_bindir}/jmod jmod %{sdkbindir -- %{?1}}/jmod \\
673b76
%ifarch %{sa_arches}
95617d
%ifnarch %{zero_arches}
673b76
  --slave %{_bindir}/jhsdb jhsdb %{sdkbindir -- %{?1}}/jhsdb \\
673b76
%endif
95617d
%endif
673b76
  --slave %{_bindir}/jar jar %{sdkbindir -- %{?1}}/jar \\
673b76
  --slave %{_bindir}/jarsigner jarsigner %{sdkbindir -- %{?1}}/jarsigner \\
673b76
  --slave %{_bindir}/javadoc javadoc %{sdkbindir -- %{?1}}/javadoc \\
673b76
  --slave %{_bindir}/javap javap %{sdkbindir -- %{?1}}/javap \\
673b76
  --slave %{_bindir}/jcmd jcmd %{sdkbindir -- %{?1}}/jcmd \\
673b76
  --slave %{_bindir}/jconsole jconsole %{sdkbindir -- %{?1}}/jconsole \\
673b76
  --slave %{_bindir}/jdb jdb %{sdkbindir -- %{?1}}/jdb \\
673b76
  --slave %{_bindir}/jdeps jdeps %{sdkbindir -- %{?1}}/jdeps \\
673b76
  --slave %{_bindir}/jdeprscan jdeprscan %{sdkbindir -- %{?1}}/jdeprscan \\
673b76
  --slave %{_bindir}/jfr jfr %{sdkbindir -- %{?1}}/jfr \\
673b76
  --slave %{_bindir}/jimage jimage %{sdkbindir -- %{?1}}/jimage \\
673b76
  --slave %{_bindir}/jinfo jinfo %{sdkbindir -- %{?1}}/jinfo \\
673b76
  --slave %{_bindir}/jmap jmap %{sdkbindir -- %{?1}}/jmap \\
673b76
  --slave %{_bindir}/jps jps %{sdkbindir -- %{?1}}/jps \\
673b76
  --slave %{_bindir}/jrunscript jrunscript %{sdkbindir -- %{?1}}/jrunscript \\
673b76
  --slave %{_bindir}/jshell jshell %{sdkbindir -- %{?1}}/jshell \\
673b76
  --slave %{_bindir}/jstack jstack %{sdkbindir -- %{?1}}/jstack \\
673b76
  --slave %{_bindir}/jstat jstat %{sdkbindir -- %{?1}}/jstat \\
673b76
  --slave %{_bindir}/jstatd jstatd %{sdkbindir -- %{?1}}/jstatd \\
673b76
  --slave %{_bindir}/rmic rmic %{sdkbindir -- %{?1}}/rmic \\
673b76
  --slave %{_bindir}/serialver serialver %{sdkbindir -- %{?1}}/serialver \\
673b76
  --slave %{_mandir}/man1/jar.1$ext jar.1$ext \\
673b76
  %{_mandir}/man1/jar-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \\
673b76
  %{_mandir}/man1/jarsigner-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/javac.1$ext javac.1$ext \\
673b76
  %{_mandir}/man1/javac-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \\
673b76
  %{_mandir}/man1/javadoc-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/javap.1$ext javap.1$ext \\
673b76
  %{_mandir}/man1/javap-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \\
673b76
  %{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \\
673b76
  %{_mandir}/man1/jconsole-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \\
673b76
  %{_mandir}/man1/jdb-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/jdeps.1$ext jdeps.1$ext \\
673b76
  %{_mandir}/man1/jdeps-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \\
673b76
  %{_mandir}/man1/jinfo-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \\
673b76
  %{_mandir}/man1/jmap-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/jps.1$ext jps.1$ext \\
673b76
  %{_mandir}/man1/jps-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \\
673b76
  %{_mandir}/man1/jrunscript-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \\
673b76
  %{_mandir}/man1/jstack-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \\
673b76
  %{_mandir}/man1/jstat-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \\
673b76
  %{_mandir}/man1/jstatd-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \\
673b76
  %{_mandir}/man1/rmic-%{uniquesuffix -- %{?1}}.1$ext \\
673b76
  --slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \\
95617d
  %{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1$ext
95617d
95617d
%{set_if_needed_alternatives  $key %{family}}
673b76
673b76
for X in %{origin} %{javaver} ; do
95617d
  key=java_sdk_"$X"
95617d
  alternatives --install %{_jvmdir}/java-"$X" $key %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY  --family %{family}
95617d
  %{set_if_needed_alternatives  $key %{family}}
673b76
done
673b76
95617d
key=java_sdk_%{javaver}_%{origin}
95617d
alternatives --install %{_jvmdir}/java-%{javaver}-%{origin} $key %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY  --family %{family}
95617d
%{set_if_needed_alternatives  $key %{family}}
95617d
}
673b76
95617d
%define post_devel() %{expand:
673b76
update-desktop-database %{_datadir}/applications &> /dev/null || :
673b76
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
673b76
673b76
exit 0
673b76
}
673b76
673b76
%define postun_devel() %{expand:
95617d
  if [ "x$debug"  == "xtrue" ] ; then
95617d
    set -x
95617d
  fi
95617d
  post_state=$1 # from postun, https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax
95617d
  %{save_and_remove_alternatives  javac %{sdkbindir -- %{?1}}/javac $post_state %{family}}
95617d
  %{save_and_remove_alternatives  java_sdk_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}}
95617d
  %{save_and_remove_alternatives  java_sdk_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}}
95617d
  %{save_and_remove_alternatives  java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}}
673b76
673b76
update-desktop-database %{_datadir}/applications &> /dev/null || :
673b76
673b76
if [ $1 -eq 0 ] ; then
673b76
    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
673b76
    %{update_desktop_icons}
673b76
fi
673b76
exit 0
673b76
}
673b76
673b76
%define posttrans_devel() %{expand:
95617d
%{alternatives_javac_install --  %{?1}}
673b76
%{update_desktop_icons}
673b76
}
673b76
95617d
%define alternatives_javadoc_install() %{expand:
95617d
if [ "x$debug"  == "xtrue" ] ; then
95617d
  set -x
95617d
fi
673b76
PRIORITY=%{priority}
673b76
if [ "%{?1}" == %{debug_suffix} ]; then
673b76
  let PRIORITY=PRIORITY-1
673b76
fi
673b76
95617d
key=javadocdir
95617d
alternatives --install %{_javadocdir}/java $key %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api $PRIORITY  --family %{family_noarch}
95617d
%{set_if_needed_alternatives  $key %{family_noarch}}
673b76
exit 0
673b76
}
673b76
673b76
%define postun_javadoc() %{expand:
95617d
if [ "x$debug"  == "xtrue" ] ; then
95617d
  set -x
95617d
fi
95617d
  post_state=$1 # from postun, https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax
95617d
  %{save_and_remove_alternatives  javadocdir  %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api $post_state %{family_noarch}}
673b76
exit 0
673b76
}
673b76
95617d
%define alternatives_javadoczip_install() %{expand:
95617d
if [ "x$debug"  == "xtrue" ] ; then
95617d
  set -x
95617d
fi
673b76
PRIORITY=%{priority}
673b76
if [ "%{?1}" == %{debug_suffix} ]; then
673b76
  let PRIORITY=PRIORITY-1
673b76
fi
95617d
key=javadoczip
95617d
alternatives --install %{_javadocdir}/java-zip $key %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip $PRIORITY  --family %{family_noarch}
95617d
%{set_if_needed_alternatives  $key %{family_noarch}}
673b76
exit 0
673b76
}
673b76
673b76
%define postun_javadoc_zip() %{expand:
95617d
  if [ "x$debug"  == "xtrue" ] ; then
95617d
    set -x
95617d
  fi
95617d
  post_state=$1 # from postun, https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax
95617d
  %{save_and_remove_alternatives  javadoczip  %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip $post_state %{family_noarch}}
673b76
exit 0
673b76
}
673b76
673b76
%define files_jre() %{expand:
673b76
%{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}-%{origin}.png
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsplashscreen.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt_xawt.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjawt.so
673b76
}
673b76
673b76
673b76
%define files_jre_headless() %{expand:
673b76
%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
673b76
%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/NEWS
673b76
%dir %{_sysconfdir}/.java/.systemPrefs
673b76
%dir %{_sysconfdir}/.java
673b76
%dir %{_jvmdir}/%{sdkdir -- %{?1}}
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/release
673b76
%{_jvmdir}/%{jrelnk -- %{?1}}
673b76
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/java
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/%{alt_java_name}
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jjs
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/keytool
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/pack200
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmid
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmiregistry
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/unpack200
673b76
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib
673b76
%ifarch %{jit_arches}
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/classlist
673b76
%endif
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jexec
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jspawnhelper
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jrt-fs.jar
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/modules
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/psfont.properties.ja
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/psfontj2d.properties
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/tzdb.dat
673b76
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jli
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jli/libjli.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jvm.cfg
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libattach.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libextnet.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjsig.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt_headless.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libdt_socket.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libfontmanager.so
4398fb
%if ! %{system_libs}
4398fb
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libfreetype.so
4398fb
%endif
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libinstrument.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2gss.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2pcsc.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2pkcs11.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjaas.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjava.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjavajpeg.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjdwp.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjimage.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjsound.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/liblcms.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement_agent.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement_ext.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmlib_image.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libnet.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libnio.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libprefs.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/librmi.so
673b76
# Some architectures don't have the serviceability agent
673b76
%ifarch %{sa_arches}
95617d
%ifnarch %{zero_arches}
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsaproc.so
673b76
%endif
95617d
%endif
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsctp.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsunec.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsystemconf.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libunpack.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libverify.so
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libzip.so
673b76
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/default.jfc
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/profile.jfc
673b76
%{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/jjs-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/pack200-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/rmid-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/unpack200-%{uniquesuffix -- %{?1}}.1*
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/
673b76
%ifarch %{share_arches}
673b76
%attr(444, root, root) %ghost %{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/classes.jsa
673b76
%endif
673b76
%dir %{etcjavasubdir}
673b76
%dir %{etcjavadir -- %{?1}}
673b76
%dir %{etcjavadir -- %{?1}}/lib
673b76
%dir %{etcjavadir -- %{?1}}/lib/security
673b76
%{etcjavadir -- %{?1}}/lib/security/cacerts
673b76
%dir %{etcjavadir -- %{?1}}/conf
673b76
%dir %{etcjavadir -- %{?1}}/conf/management
673b76
%dir %{etcjavadir -- %{?1}}/conf/security
673b76
%dir %{etcjavadir -- %{?1}}/conf/security/policy
673b76
%dir %{etcjavadir -- %{?1}}/conf/security/policy/limited
673b76
%dir %{etcjavadir -- %{?1}}/conf/security/policy/unlimited
673b76
%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/default.policy
95617d
%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/blocked.certs
673b76
%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/public_suffix_list.dat
673b76
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/exempt_local.policy
673b76
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/default_local.policy
673b76
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/default_US_export.policy
673b76
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/unlimited/default_local.policy
673b76
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/unlimited/default_US_export.policy
673b76
 %{etcjavadir -- %{?1}}/conf/security/policy/README.txt
673b76
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/java.policy
673b76
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/java.security
673b76
%config(noreplace) %{etcjavadir -- %{?1}}/conf/logging.properties
673b76
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/nss.cfg
673b76
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/nss.fips.cfg
673b76
%config(noreplace) %{etcjavadir -- %{?1}}/conf/management/jmxremote.access
4ef70a
# This is a configuration template and thus not config-noreplace
4ef70a
%config %{etcjavadir -- %{?1}}/conf/management/jmxremote.password.template
673b76
%config(noreplace) %{etcjavadir -- %{?1}}/conf/management/management.properties
673b76
%config(noreplace) %{etcjavadir -- %{?1}}/conf/net.properties
673b76
%config(noreplace) %{etcjavadir -- %{?1}}/conf/sound.properties
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/conf
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/security
673b76
%if %is_system_jdk
673b76
%if %{is_release_build -- %{?1}}
673b76
%ghost %{_bindir}/java
673b76
%ghost %{_bindir}/%{alt_java_name}
673b76
%ghost %{_jvmdir}/jre
673b76
# https://bugzilla.redhat.com/show_bug.cgi?id=1312019
673b76
%ghost %{_bindir}/jjs
673b76
%ghost %{_bindir}/keytool
673b76
%ghost %{_bindir}/pack200
673b76
%ghost %{_bindir}/rmid
673b76
%ghost %{_bindir}/rmiregistry
673b76
%ghost %{_bindir}/unpack200
673b76
%ghost %{_jvmdir}/jre-%{origin}
673b76
%ghost %{_jvmdir}/jre-%{javaver}
673b76
%ghost %{_jvmdir}/jre-%{javaver}-%{origin}
673b76
%endif
673b76
%endif
4ef70a
# https://bugzilla.redhat.com/show_bug.cgi?id=1820172
4ef70a
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Directory_Replacement/
4ef70a
%ghost %{_jvmdir}/%{sdkdir -- %{?1}}/conf.rpmmoved
4ef70a
%ghost %{_jvmdir}/%{sdkdir -- %{?1}}/lib/security.rpmmoved
673b76
}
673b76
673b76
%define files_devel() %{expand:
673b76
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jar
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jarsigner
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javac
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javadoc
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javap
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jconsole
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jcmd
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdb
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeps
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeprscan
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jfr
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jimage
673b76
# Some architectures don't have the serviceability agent
673b76
%ifarch %{sa_arches}
95617d
%ifnarch %{zero_arches}
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jhsdb
673b76
%endif
95617d
%endif
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jinfo
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jlink
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmap
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmod
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jps
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jrunscript
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jshell
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstack
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstat
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstatd
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmic
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/serialver
673b76
%ifarch %{aot_arches}
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jaotc
673b76
%endif
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/include
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/ct.sym
673b76
%if %{with_systemtap}
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/tapset
673b76
%endif
673b76
%{_datadir}/applications/*jconsole%{?1}.desktop
673b76
%{_mandir}/man1/jar-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/jarsigner-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/javac-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/javadoc-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/javap-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/jconsole-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/jdb-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/jdeps-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/jinfo-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/jmap-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/jps-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/jrunscript-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/jstack-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/jstat-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/jstatd-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/rmic-%{uniquesuffix -- %{?1}}.1*
673b76
%{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1*
673b76
%if %{with_systemtap}
673b76
%dir %{tapsetroot}
673b76
%dir %{tapsetdirttapset}
673b76
%dir %{tapsetdir}
673b76
%{tapsetdir}/*%{_arch}%{?1}.stp
673b76
%endif
673b76
%if %is_system_jdk
673b76
%if %{is_release_build -- %{?1}}
673b76
%ghost %{_bindir}/javac
673b76
%ghost %{_jvmdir}/java
673b76
%ghost %{_jvmdir}/%{alt_java_name}
673b76
%ghost %{_bindir}/jaotc
673b76
%ghost %{_bindir}/jlink
673b76
%ghost %{_bindir}/jmod
673b76
%ghost %{_bindir}/jhsdb
673b76
%ghost %{_bindir}/jar
673b76
%ghost %{_bindir}/jarsigner
673b76
%ghost %{_bindir}/javadoc
673b76
%ghost %{_bindir}/javap
673b76
%ghost %{_bindir}/jcmd
673b76
%ghost %{_bindir}/jconsole
673b76
%ghost %{_bindir}/jdb
673b76
%ghost %{_bindir}/jdeps
673b76
%ghost %{_bindir}/jdeprscan
673b76
%ghost %{_bindir}/jimage
673b76
%ghost %{_bindir}/jinfo
673b76
%ghost %{_bindir}/jmap
673b76
%ghost %{_bindir}/jps
673b76
%ghost %{_bindir}/jrunscript
673b76
%ghost %{_bindir}/jshell
673b76
%ghost %{_bindir}/jstack
673b76
%ghost %{_bindir}/jstat
673b76
%ghost %{_bindir}/jstatd
673b76
%ghost %{_bindir}/rmic
673b76
%ghost %{_bindir}/serialver
673b76
%ghost %{_jvmdir}/java-%{origin}
673b76
%ghost %{_jvmdir}/java-%{javaver}
673b76
%ghost %{_jvmdir}/java-%{javaver}-%{origin}
673b76
%endif
673b76
%endif
673b76
}
673b76
673b76
%define files_jmods() %{expand:
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/jmods
673b76
}
673b76
673b76
%define files_demo() %{expand:
673b76
%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/demo
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/sample
673b76
}
673b76
673b76
%define files_src() %{expand:
673b76
%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/src.zip
673b76
}
673b76
673b76
%define files_static_libs() %{expand:
673b76
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/static
673b76
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/static/linux-%{archinstall}
673b76
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/static/linux-%{archinstall}/glibc
673b76
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/static/linux-%{archinstall}/glibc/lib*.a
673b76
}
673b76
673b76
%define files_javadoc() %{expand:
673b76
%doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}
673b76
%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
673b76
%if %is_system_jdk
673b76
%if %{is_release_build -- %{?1}}
673b76
%ghost %{_javadocdir}/java
673b76
%endif
673b76
%endif
673b76
}
673b76
673b76
%define files_javadoc_zip() %{expand:
673b76
%doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip
673b76
%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
673b76
%if %is_system_jdk
673b76
%if %{is_release_build -- %{?1}}
673b76
%ghost %{_javadocdir}/java-zip
673b76
%endif
673b76
%endif
673b76
}
673b76
673b76
# not-duplicated requires/provides/obsoletes for normal/debug packages
673b76
%define java_rpo() %{expand:
673b76
Requires: fontconfig%{?_isa}
673b76
Requires: xorg-x11-fonts-Type1
673b76
# Require libXcomposite explicitly since it's only dynamically loaded
673b76
# at runtime. Fixes screenshot issues. See JDK-8150954.
673b76
Requires: libXcomposite%{?_isa}
673b76
# Requires rest of java
673b76
Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
673b76
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
673b76
# for java-X-openjdk package's desktop binding
4ef70a
%if 0%{?rhel} >= 8
673b76
Recommends: gtk3%{?_isa}
4ef70a
%endif
673b76
673b76
Provides: java-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
673b76
673b76
# Standard JPackage base provides
673b76
Provides: jre-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
673b76
Provides: jre-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
673b76
Provides: java-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
673b76
%if %is_system_jdk
673b76
Provides: java-%{origin}%{?1} = %{epoch}:%{version}-%{release}
673b76
Provides: jre-%{origin}%{?1} = %{epoch}:%{version}-%{release}
673b76
Provides: java%{?1} = %{epoch}:%{version}-%{release}
673b76
Provides: jre%{?1} = %{epoch}:%{version}-%{release}
673b76
%endif
673b76
}
673b76
673b76
%define java_headless_rpo() %{expand:
673b76
# Require /etc/pki/java/cacerts
673b76
Requires: ca-certificates
673b76
# Require javapackages-filesystem for ownership of /usr/lib/jvm/ and macros
673b76
Requires: javapackages-filesystem
4398fb
# 2022g required as of JDK-8297804
4398fb
Requires: tzdata-java >= 2022g
673b76
# for support of kernel stream control
673b76
# libsctp.so.1 is being `dlopen`ed on demand
673b76
Requires: lksctp-tools%{?_isa}
673b76
%if ! 0%{?flatpak}
673b76
# tool to copy jdk's configs - should be Recommends only, but then only dnf/yum enforce it,
673b76
# not rpm transaction and so no configs are persisted when pure rpm -u is run. It may be
673b76
# considered as regression
673b76
Requires: copy-jdk-configs >= 3.3
673b76
OrderWithRequires: copy-jdk-configs
673b76
%endif
673b76
# for printing support
673b76
Requires: cups-libs
9e62d6
# for system security properties
9e62d6
Requires: crypto-policies
95617d
# for FIPS PKCS11 provider
95617d
Requires: nss
673b76
# Post requires alternatives to install tool alternatives
673b76
Requires(post):   %{alternatives_requires}
673b76
# Postun requires alternatives to uninstall tool alternatives
673b76
Requires(postun): %{alternatives_requires}
673b76
# for optional support of kernel stream control, card reader and printing bindings
4ef70a
%if 0%{?rhel} >= 8
673b76
Suggests: lksctp-tools%{?_isa}, pcsc-lite-devel%{?_isa}
4ef70a
%endif
673b76
673b76
# Standard JPackage base provides
673b76
Provides: jre-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
673b76
Provides: jre-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release}
673b76
Provides: java-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
673b76
Provides: java-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release}
673b76
%if %is_system_jdk
673b76
Provides: java-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
673b76
Provides: jre-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
673b76
Provides: jre-headless%{?1} = %{epoch}:%{version}-%{release}
673b76
Provides: java-headless%{?1} = %{epoch}:%{version}-%{release}
673b76
%endif
673b76
}
673b76
673b76
%define java_devel_rpo() %{expand:
673b76
# Requires base package
673b76
Requires:         %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
673b76
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
673b76
# Post requires alternatives to install tool alternatives
673b76
Requires(post):   %{alternatives_requires}
673b76
# Postun requires alternatives to uninstall tool alternatives
673b76
Requires(postun): %{alternatives_requires}
673b76
673b76
# Standard JPackage devel provides
673b76
Provides: java-sdk-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
673b76
Provides: java-sdk-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
673b76
Provides: java-%{javaver}-devel%{?1} = %{epoch}:%{version}-%{release}
673b76
Provides: java-%{javaver}-%{origin}-devel%{?1} = %{epoch}:%{version}-%{release}
673b76
%if %is_system_jdk
4ef70a
Provides: java-devel-%{origin}%{?1} = %{epoch}:%{version}-%{release}
673b76
Provides: java-sdk-%{origin}%{?1} = %{epoch}:%{version}-%{release}
673b76
Provides: java-devel%{?1} = %{epoch}:%{version}-%{release}
673b76
Provides: java-sdk%{?1} = %{epoch}:%{version}-%{release}
673b76
%endif
673b76
}
673b76
673b76
%define java_static_libs_rpo() %{expand:
673b76
Requires:         %{name}-devel%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
673b76
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
673b76
}
673b76
673b76
%define java_jmods_rpo() %{expand:
673b76
# Requires devel package
673b76
# as jmods are bytecode, they should be OK without any _isa
673b76
Requires:         %{name}-devel%{?1} = %{epoch}:%{version}-%{release}
673b76
OrderWithRequires: %{name}-headless%{?1} = %{epoch}:%{version}-%{release}
673b76
673b76
Provides: java-%{javaver}-jmods%{?1} = %{epoch}:%{version}-%{release}
673b76
Provides: java-%{javaver}-%{origin}-jmods%{?1} = %{epoch}:%{version}-%{release}
673b76
%if %is_system_jdk
673b76
Provides: java-jmods%{?1} = %{epoch}:%{version}-%{release}
673b76
%endif
673b76
}
673b76
673b76
%define java_demo_rpo() %{expand:
673b76
Requires: %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
673b76
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
673b76
673b76
Provides: java-%{javaver}-demo%{?1} = %{epoch}:%{version}-%{release}
673b76
Provides: java-%{javaver}-%{origin}-demo%{?1} = %{epoch}:%{version}-%{release}
673b76
%if %is_system_jdk
673b76
Provides: java-demo%{?1} = %{epoch}:%{version}-%{release}
673b76
Provides: java-%{origin}-demo%{?1} = %{epoch}:%{version}-%{release}
673b76
%endif
673b76
}
673b76
673b76
%define java_javadoc_rpo() %{expand:
673b76
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
673b76
# Post requires alternatives to install javadoc alternative
673b76
Requires(post):   %{alternatives_requires}
673b76
# Postun requires alternatives to uninstall javadoc alternative
673b76
Requires(postun): %{alternatives_requires}
673b76
673b76
# Standard JPackage javadoc provides
95617d
Provides: java-%{javaver}-javadoc%{?1}%{?2} = %{epoch}:%{version}-%{release}
95617d
Provides: java-%{javaver}-%{origin}-javadoc%{?1}%{?2} = %{epoch}:%{version}-%{release}
673b76
%if %is_system_jdk
95617d
Provides: java-javadoc%{?1}%{?2} = %{epoch}:%{version}-%{release}
673b76
%endif
673b76
}
673b76
673b76
%define java_src_rpo() %{expand:
673b76
Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
673b76
673b76
# Standard JPackage sources provides
673b76
Provides: java-%{javaver}-src%{?1} = %{epoch}:%{version}-%{release}
673b76
Provides: java-%{javaver}-%{origin}-src%{?1} = %{epoch}:%{version}-%{release}
673b76
%if %is_system_jdk
673b76
Provides: java-src%{?1} = %{epoch}:%{version}-%{release}
673b76
Provides: java-%{origin}-src%{?1} = %{epoch}:%{version}-%{release}
673b76
%endif
673b76
}
673b76
673b76
# Prevent brp-java-repack-jars from being run
673b76
%global __jar_repack 0
673b76
673b76
Name:    java-%{javaver}-%{origin}
673b76
Version: %{newjavaver}.%{buildver}
673b76
Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist}
673b76
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons
673b76
# and this change was brought into RHEL-4. java-1.5.0-ibm packages
673b76
# also included the epoch in their virtual provides. This created a
673b76
# situation where in-the-wild java-1.5.0-ibm packages provided "java =
673b76
# 1:1.5.0". In RPM terms, "1.6.0 < 1:1.5.0" since 1.6.0 is
673b76
# interpreted as 0:1.6.0. So the "java >= 1.6.0" requirement would be
673b76
# satisfied by the 1:1.5.0 packages. Thus we need to set the epoch in
673b76
# JDK package >= 1.6.0 to 1, and packages referring to JDK virtual
673b76
# provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0".
673b76
673b76
Epoch:   1
673b76
Summary: %{origin_nice} %{featurever} Runtime Environment
4ef70a
%if 0%{?rhel} <= 8
4ef70a
Group:   Development/Languages
4ef70a
%endif
673b76
673b76
# HotSpot code is licensed under GPLv2
673b76
# JDK library code is licensed under GPLv2 with the Classpath exception
673b76
# The Apache license is used in code taken from Apache projects (primarily xalan & xerces)
673b76
# DOM levels 2 & 3 and the XML digital signature schemas are licensed under the W3C Software License
673b76
# The JSR166 concurrency code is in the public domain
673b76
# The BSD and MIT licenses are used for a number of third-party libraries (see ADDITIONAL_LICENSE_INFO)
673b76
# The OpenJDK source tree includes:
673b76
# - JPEG library (IJG), zlib & libpng (zlib), giflib (MIT), harfbuzz (ISC),
673b76
# - freetype (FTL), jline (BSD) and LCMS (MIT)
673b76
# - jquery (MIT), jdk.crypto.cryptoki PKCS 11 wrapper (RSA)
673b76
# - public_suffix_list.dat from publicsuffix.org (MPLv2.0)
673b76
# The test code includes copies of NSS under the Mozilla Public License v2.0
673b76
# The PCSClite headers are under a BSD with advertising license
673b76
# The elliptic curve cryptography (ECC) source code is licensed under the LGPLv2.1 or any later version
673b76
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
673b76
URL:      http://openjdk.java.net/
673b76
673b76
673b76
# to regenerate source0 (jdk) run update_package.sh
673b76
# update_package.sh contains hard-coded repos, revisions, tags, and projects to regenerate the source archives
9e62d6
Source0: openjdk-jdk%{featurever}u-%{vcstag}-4curve.tar.xz
673b76
673b76
# Use 'icedtea_sync.sh' to update the following
673b76
# They are based on code contained in the IcedTea project (6.x).
673b76
# Systemtap tapsets. Zipped up to keep it small.
673b76
Source8: tapsets-icedtea-%{icedteaver}.tar.xz
673b76
673b76
# Desktop files. Adapted from IcedTea
673b76
Source9: jconsole.desktop.in
673b76
673b76
# Release notes
673b76
Source10: NEWS
673b76
673b76
# nss configuration file
673b76
Source11: nss.cfg.in
673b76
673b76
# Removed libraries that we link instead
673b76
Source12: remove-intree-libraries.sh
673b76
673b76
# Ensure we aren't using the limited crypto policy
673b76
Source13: TestCryptoLevel.java
673b76
673b76
# Ensure ECDSA is working
673b76
Source14: TestECDSA.java
673b76
673b76
# Verify system crypto (policy) can be disabled via a property
673b76
Source15: TestSecurityProperties.java
673b76
673b76
# Ensure vendor settings are correct
673b76
Source16: CheckVendor.java
673b76
673b76
# nss fips configuration file
673b76
Source17: nss.fips.cfg.in
673b76
4398fb
# Ensure translations are available for new timezones
4398fb
Source18: TestTranslations.java
4398fb
673b76
############################################
673b76
#
673b76
# RPM/distribution specific patches
673b76
#
673b76
############################################
673b76
673b76
# Ignore AWTError when assistive technologies are loaded
673b76
Patch1:    rh1648242-accessible_toolkit_crash_do_not_break_jvm.patch
673b76
# Restrict access to java-atk-wrapper classes
673b76
Patch2:    rh1648644-java_access_bridge_privileged_security.patch
673b76
# NSS via SunPKCS11 Provider (disabled due to memory leak).
673b76
Patch1000: rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch
4ef70a
# RH1750419: enable build of speculative store bypass hardened alt-java (CVE-2018-3639)
673b76
Patch600: rh1750419-redhat_alt_java.patch
673b76
# RH1582504: Use RSA as default for keytool, as DSA is disabled in all crypto policies except LEGACY
673b76
Patch1003: rh1842572-rsa_default_for_keytool.patch
673b76
9e62d6
# Crypto policy and FIPS support patches
9e62d6
# Patch is generated from the fips tree at https://github.com/rh-openjdk/jdk11u/tree/fips
9e62d6
# as follows: git diff %%{vcstag} src make > fips-11u-$(git show -s --format=%h HEAD).patch
9e62d6
# Diff is limited to src and make subdirectories to exclude .github changes
9e62d6
# Fixes currently included:
9e62d6
# PR3694, RH1340845: Add security.useSystemPropertiesFile option to java.security to use system crypto policy
9e62d6
# PR3695: Allow use of system crypto policy to be disabled by the user
673b76
# RH1655466: Support RHEL FIPS mode using SunPKCS11 provider
673b76
# RH1818909: No ciphersuites availale for SSLSocket in FIPS mode
673b76
# RH1860986: Disable TLSv1.3 with the NSS-FIPS provider until PKCS#11 v3.0 support is available
673b76
# RH1915071: Always initialise JavaSecuritySystemConfiguratorAccess
673b76
# RH1929465: Improve system FIPS detection
673b76
# RH1996182: Login to the NSS software token in FIPS mode
95617d
# RH1991003: Allow plain key import unless com.redhat.fips.plainKeySupport is set to false
9e62d6
# RH2021263: Make sure java.security.Security is initialised when retrieving JavaSecuritySystemConfiguratorAccess instance
9e62d6
# RH2021263: Return in C code after having generated Java exception
9e62d6
# RH2052819: Improve Security initialisation, now FIPS support no longer relies on crypto policy support
9e62d6
# RH2051605: Detect NSS at Runtime for FIPS detection
95617d
# RH2052819: Fix FIPS reliance on crypto policies
9e62d6
# RH2036462: sun.security.pkcs11.wrapper.PKCS11.getInstance breakage
9e62d6
# RH2090378: Revert to disabling system security properties and FIPS mode support together
9e62d6
Patch1001: fips-11u-%{fipsver}.patch
673b76
673b76
#############################################
673b76
#
673b76
# Shenandoah specific patches
673b76
#
673b76
#############################################
673b76
673b76
# Currently empty
673b76
673b76
#############################################
673b76
#
673b76
# Upstreamable patches
673b76
#
673b76
# This section includes patches which need to
673b76
# be reviewed & pushed to the current development
673b76
# tree of OpenJDK.
673b76
#############################################
673b76
673b76
Patch3:    rh649512-remove_uses_of_far_in_jpeg_libjpeg_turbo_1_4_compat_for_jdk10_and_up.patch
95617d
95617d
#############################################
95617d
#
95617d
# Backportable patches
95617d
#
95617d
# This section includes patches which are
95617d
# present in the current development tree, but
95617d
# need to be reviewed & pushed to the appropriate
95617d
# updates tree of OpenJDK.
95617d
#############################################
673b76
673b76
#############################################
673b76
#
4398fb
# Patches appearing in 11.0.18
673b76
#
673b76
# This section includes patches which are present
673b76
# in the listed OpenJDK 11u release and should be
673b76
# able to be removed once that release is out
673b76
# and used by this RPM.
673b76
#############################################
673b76
673b76
BuildRequires: autoconf
673b76
BuildRequires: automake
673b76
BuildRequires: alsa-lib-devel
673b76
BuildRequires: binutils
673b76
BuildRequires: cups-devel
673b76
BuildRequires: desktop-file-utils
673b76
# elfutils only are OK for build without AOT
673b76
BuildRequires: elfutils-devel
673b76
BuildRequires: fontconfig-devel
673b76
BuildRequires: gcc-c++
673b76
BuildRequires: gdb
673b76
BuildRequires: libxslt
673b76
BuildRequires: libX11-devel
673b76
BuildRequires: libXi-devel
673b76
BuildRequires: libXinerama-devel
673b76
BuildRequires: libXrandr-devel
673b76
BuildRequires: libXrender-devel
673b76
BuildRequires: libXt-devel
673b76
BuildRequires: libXtst-devel
95617d
# Requirement for setting up nss.cfg and nss.fips.cfg
95617d
BuildRequires: nss-devel
9e62d6
# Requirement for system security property test
9e62d6
BuildRequires: crypto-policies
673b76
BuildRequires: pkgconfig
673b76
BuildRequires: xorg-x11-proto-devel
673b76
BuildRequires: zip
673b76
BuildRequires: unzip
673b76
BuildRequires: javapackages-filesystem
673b76
BuildRequires: java-%{buildjdkver}-openjdk-devel
673b76
# Zero-assembler build requirement
95617d
%ifarch %{zero_arches}
673b76
BuildRequires: libffi-devel
673b76
%endif
4398fb
# 2022g required as of JDK-8297804
4398fb
BuildRequires: tzdata-java >= 2022g
673b76
# Earlier versions have a bug in tree vectorization on PPC
673b76
BuildRequires: gcc >= 4.8.3-8
673b76
673b76
%if %{with_systemtap}
673b76
BuildRequires: systemtap-sdt-devel
673b76
%endif
673b76
BuildRequires: make
673b76
4398fb
%if %{system_libs}
4398fb
BuildRequires: freetype-devel
4398fb
BuildRequires: giflib-devel
4398fb
BuildRequires: harfbuzz-devel
4398fb
BuildRequires: lcms2-devel
4398fb
BuildRequires: libjpeg-devel
4398fb
BuildRequires: libpng-devel
4398fb
%else
4398fb
# Version in src/java.desktop/share/native/libfreetype/include/freetype/freetype.h
4398fb
Provides: bundled(freetype) = 2.12.1
4398fb
# Version in src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h
4398fb
Provides: bundled(giflib) = 5.2.1
4398fb
# Version in src/java.desktop/share/native/libharfbuzz/hb-version.h
4398fb
Provides: bundled(harfbuzz) = 4.4.1
4398fb
# Version in src/java.desktop/share/native/liblcms/lcms2.h
4398fb
Provides: bundled(lcms2) = 2.12.0
4398fb
# Version in src/java.desktop/share/native/libjavajpeg/jpeglib.h
4398fb
Provides: bundled(libjpeg) = 6b
4398fb
# Version in src/java.desktop/share/native/libsplashscreen/libpng/png.h
4398fb
Provides: bundled(libpng) = 1.6.37
4398fb
# We link statically against libstdc++ to increase portability
4398fb
BuildRequires: libstdc++-static
4398fb
%endif
4398fb
673b76
# this is always built, also during debug-only build
673b76
# when it is built in debug-only this package is just placeholder
673b76
%{java_rpo %{nil}}
673b76
673b76
%description
673b76
The %{origin_nice} %{featurever} runtime environment.
673b76
673b76
%if %{include_debug_build}
673b76
%package slowdebug
673b76
Summary: %{origin_nice} %{featurever} Runtime Environment %{debug_on}
4ef70a
%if 0%{?rhel} <= 8
4ef70a
Group:   Development/Languages
4ef70a
%endif
673b76
673b76
%{java_rpo -- %{debug_suffix_unquoted}}
673b76
%description slowdebug
673b76
The %{origin_nice} %{featurever} runtime environment.
673b76
%{debug_warning}
673b76
%endif
673b76
673b76
%if %{include_fastdebug_build}
673b76
%package fastdebug
673b76
Summary: %{origin_nice} %{featurever} Runtime Environment %{fastdebug_on}
4ef70a
%if 0%{?rhel} <= 8
673b76
Group:   Development/Languages
4ef70a
%endif
673b76
673b76
%{java_rpo -- %{fastdebug_suffix_unquoted}}
673b76
%description fastdebug
673b76
The %{origin_nice} %{featurever} runtime environment.
673b76
%{fastdebug_warning}
673b76
%endif
673b76
673b76
%if %{include_normal_build}
673b76
%package headless
673b76
Summary: %{origin_nice} %{featurever} Headless Runtime Environment
4ef70a
%if 0%{?rhel} <= 8
4ef70a
Group:   Development/Languages
4ef70a
%endif
673b76
673b76
%{java_headless_rpo %{nil}}
673b76
673b76
%description headless
673b76
The %{origin_nice} %{featurever} runtime environment without audio and video support.
673b76
%endif
673b76
673b76
%if %{include_debug_build}
673b76
%package headless-slowdebug
673b76
Summary: %{origin_nice} %{featurever} Runtime Environment %{debug_on}
4ef70a
Group:   Development/Languages
673b76
673b76
%{java_headless_rpo -- %{debug_suffix_unquoted}}
673b76
673b76
%description headless-slowdebug
673b76
The %{origin_nice} %{featurever} runtime environment without audio and video support.
673b76
%{debug_warning}
673b76
%endif
673b76
673b76
%if %{include_fastdebug_build}
673b76
%package headless-fastdebug
673b76
Summary: %{origin_nice} %{featurever} Runtime Environment %{fastdebug_on}
673b76
Group:   Development/Languages
673b76
673b76
%{java_headless_rpo -- %{fastdebug_suffix_unquoted}}
673b76
673b76
%description headless-fastdebug
673b76
The %{origin_nice} %{featurever} runtime environment without audio and video support.
673b76
%{fastdebug_warning}
673b76
%endif
673b76
673b76
%if %{include_normal_build}
673b76
%package devel
673b76
Summary: %{origin_nice} %{featurever} Development Environment
4ef70a
%if 0%{?rhel} <= 8
4ef70a
Group:   Development/Languages
4ef70a
%endif
673b76
673b76
%{java_devel_rpo %{nil}}
673b76
673b76
%description devel
673b76
The %{origin_nice} %{featurever} development tools.
673b76
%endif
673b76
673b76
%if %{include_debug_build}
673b76
%package devel-slowdebug
673b76
Summary: %{origin_nice} %{featurever} Development Environment %{debug_on}
4ef70a
%if 0%{?rhel} <= 8
4ef70a
Group:   Development/Languages
4ef70a
%endif
673b76
673b76
%{java_devel_rpo -- %{debug_suffix_unquoted}}
673b76
673b76
%description devel-slowdebug
673b76
The %{origin_nice} %{featurever} development tools.
673b76
%{debug_warning}
673b76
%endif
673b76
673b76
%if %{include_fastdebug_build}
673b76
%package devel-fastdebug
673b76
Summary: %{origin_nice} %{featurever} Development Environment %{fastdebug_on}
673b76
Group:   Development/Tools
673b76
673b76
%{java_devel_rpo -- %{fastdebug_suffix_unquoted}}
673b76
673b76
%description devel-fastdebug
673b76
The %{origin_nice} %{featurever} development tools.
673b76
%{fastdebug_warning}
673b76
%endif
673b76
673b76
%if %{include_staticlibs}
673b76
673b76
%if %{include_normal_build}
673b76
%package static-libs
673b76
Summary: %{origin_nice} %{featurever} libraries for static linking
673b76
673b76
%{java_static_libs_rpo %{nil}}
673b76
673b76
%description static-libs
673b76
The %{origin_nice} %{featurever} libraries for static linking.
673b76
%endif
673b76
673b76
%if %{include_debug_build}
673b76
%package static-libs-slowdebug
673b76
Summary: %{origin_nice} %{featurever} libraries for static linking %{debug_on}
673b76
673b76
%{java_static_libs_rpo -- %{debug_suffix_unquoted}}
673b76
673b76
%description static-libs-slowdebug
673b76
The %{origin_nice} %{featurever} libraries for static linking.
673b76
%{debug_warning}
673b76
%endif
673b76
673b76
%if %{include_fastdebug_build}
673b76
%package static-libs-fastdebug
673b76
Summary: %{origin_nice} %{featurever} libraries for static linking %{fastdebug_on}
673b76
673b76
%{java_static_libs_rpo -- %{fastdebug_suffix_unquoted}}
673b76
673b76
%description static-libs-fastdebug
673b76
The %{origin_nice} %{featurever} libraries for static linking.
673b76
%{fastdebug_warning}
673b76
%endif
673b76
673b76
# staticlibs
673b76
%endif
673b76
673b76
%if %{include_normal_build}
673b76
%package jmods
673b76
Summary: JMods for %{origin_nice} %{featurever}
4ef70a
%if 0%{?rhel} <= 8
4ef70a
Group:   Development/Languages
4ef70a
%endif
673b76
673b76
%{java_jmods_rpo %{nil}}
673b76
673b76
%description jmods
673b76
The JMods for %{origin_nice} %{featurever}.
673b76
%endif
673b76
673b76
%if %{include_debug_build}
673b76
%package jmods-slowdebug
673b76
Summary: JMods for %{origin_nice} %{featurever} %{debug_on}
4ef70a
%if 0%{?rhel} <= 8
4ef70a
Group:   Development/Languages
4ef70a
%endif
673b76
673b76
%{java_jmods_rpo -- %{debug_suffix_unquoted}}
673b76
673b76
%description jmods-slowdebug
673b76
The JMods for %{origin_nice} %{featurever}.
673b76
%{debug_warning}
673b76
%endif
673b76
673b76
%if %{include_fastdebug_build}
673b76
%package jmods-fastdebug
673b76
Summary: JMods for %{origin_nice} %{featurever} %{fastdebug_on}
673b76
Group:   Development/Tools
673b76
673b76
%{java_jmods_rpo -- %{fastdebug_suffix_unquoted}}
673b76
673b76
%description jmods-fastdebug
673b76
The JMods for %{origin_nice} %{featurever}.
673b76
%{fastdebug_warning}
673b76
%endif
673b76
673b76
%if %{include_normal_build}
673b76
%package demo
673b76
Summary: %{origin_nice} %{featurever} Demos
4ef70a
%if 0%{?rhel} <= 8
4ef70a
Group:   Development/Languages
4ef70a
%endif
673b76
673b76
%{java_demo_rpo %{nil}}
673b76
673b76
%description demo
673b76
The %{origin_nice} %{featurever} demos.
673b76
%endif
673b76
673b76
%if %{include_debug_build}
673b76
%package demo-slowdebug
673b76
Summary: %{origin_nice} %{featurever} Demos %{debug_on}
4ef70a
%if 0%{?rhel} <= 8
4ef70a
Group:   Development/Languages
4ef70a
%endif
673b76
673b76
%{java_demo_rpo -- %{debug_suffix_unquoted}}
673b76
673b76
%description demo-slowdebug
673b76
The %{origin_nice} %{featurever} demos.
673b76
%{debug_warning}
673b76
%endif
673b76
673b76
%if %{include_fastdebug_build}
673b76
%package demo-fastdebug
673b76
Summary: %{origin_nice} %{featurever} Demos %{fastdebug_on}
673b76
Group:   Development/Languages
673b76
673b76
%{java_demo_rpo -- %{fastdebug_suffix_unquoted}}
673b76
673b76
%description demo-fastdebug
673b76
The %{origin_nice} %{featurever} demos.
673b76
%{fastdebug_warning}
673b76
%endif
673b76
673b76
%if %{include_normal_build}
673b76
%package src
673b76
Summary: %{origin_nice} %{featurever} Source Bundle
4ef70a
%if 0%{?rhel} <= 8
4ef70a
Group:   Development/Languages
4ef70a
%endif
673b76
673b76
%{java_src_rpo %{nil}}
673b76
673b76
%description src
673b76
The %{compatiblename}-src sub-package contains the complete %{origin_nice} %{featurever}
673b76
class library source code for use by IDE indexers and debuggers.
673b76
%endif
673b76
673b76
%if %{include_debug_build}
673b76
%package src-slowdebug
673b76
Summary: %{origin_nice} %{featurever} Source Bundle %{for_debug}
4ef70a
%if 0%{?rhel} <= 8
4ef70a
Group:   Development/Languages
4ef70a
%endif
673b76
673b76
%{java_src_rpo -- %{debug_suffix_unquoted}}
673b76
673b76
%description src-slowdebug
673b76
The %{compatiblename}-src-slowdebug sub-package contains the complete %{origin_nice} %{featurever}
673b76
 class library source code for use by IDE indexers and debuggers, %{for_debug}.
673b76
%endif
673b76
673b76
%if %{include_fastdebug_build}
673b76
%package src-fastdebug
673b76
Summary: %{origin_nice} %{featurever} Source Bundle %{for_fastdebug}
673b76
Group:   Development/Languages
673b76
673b76
%{java_src_rpo -- %{fastdebug_suffix_unquoted}}
673b76
673b76
%description src-fastdebug
673b76
The %{compatiblename}-src-fastdebug sub-package contains the complete %{origin_nice} %{featurever}
673b76
 class library source code for use by IDE indexers and debuggers, %{for_fastdebug}.
673b76
%endif
673b76
673b76
%if %{include_normal_build}
673b76
%package javadoc
673b76
Summary: %{origin_nice} %{featurever} API documentation
4ef70a
%if 0%{?rhel} <= 8
4ef70a
Group:   Documentation
4ef70a
%endif
673b76
Requires: javapackages-filesystem
673b76
Obsoletes: javadoc-slowdebug < 1:11.0.3.7-4
673b76
95617d
%{java_javadoc_rpo -- %{nil} %{nil}}
673b76
673b76
%description javadoc
673b76
The %{origin_nice} %{featurever} API documentation.
673b76
673b76
%package javadoc-zip
673b76
Summary: %{origin_nice} %{featurever} API documentation compressed in a single archive
4ef70a
%if 0%{?rhel} <= 8
4ef70a
Group:   Documentation
4ef70a
%endif
673b76
Requires: javapackages-filesystem
673b76
Obsoletes: javadoc-zip-slowdebug < 1:11.0.3.7-4
673b76
95617d
%{java_javadoc_rpo -- %{nil} -zip}
95617d
%{java_javadoc_rpo -- %{nil} %{nil}}
673b76
673b76
%description javadoc-zip
673b76
The %{origin_nice} %{featurever} API documentation compressed in a single archive.
673b76
%endif
673b76
673b76
%prep
673b76
9e62d6
echo "Preparing %{oj_vendor_version}"
9e62d6
673b76
# Using the echo macro breaks rpmdev-bumpspec, as it parses the first line of stdout :-(
673b76
%if 0%{?stapinstall:1}
673b76
  echo "CPU: %{_target_cpu}, arch install directory: %{archinstall}, SystemTap install directory: %{stapinstall}"
673b76
%else
673b76
  %{error:Unrecognised architecture %{_target_cpu}}
673b76
%endif
673b76
673b76
if [ %{include_normal_build} -eq 0 -o  %{include_normal_build} -eq 1 ] ; then
673b76
  echo "include_normal_build is %{include_normal_build}"
673b76
else
673b76
  echo "include_normal_build is %{include_normal_build}, that is invalid. Use 1 for yes or 0 for no"
673b76
  exit 11
673b76
fi
673b76
if [ %{include_debug_build} -eq 0 -o  %{include_debug_build} -eq 1 ] ; then
673b76
  echo "include_debug_build is %{include_debug_build}"
673b76
else
673b76
  echo "include_debug_build is %{include_debug_build}, that is invalid. Use 1 for yes or 0 for no"
673b76
  exit 12
673b76
fi
673b76
if [ %{include_fastdebug_build} -eq 0 -o  %{include_fastdebug_build} -eq 1 ] ; then
673b76
  echo "include_fastdebug_build is %{include_fastdebug_build}"
673b76
else
673b76
  echo "include_fastdebug_build is %{include_fastdebug_build}, that is invalid. Use 1 for yes or 0 for no"
673b76
  exit 13
673b76
fi
673b76
if [ %{include_debug_build} -eq 0 -a  %{include_normal_build} -eq 0 -a  %{include_fastdebug_build} -eq 0 ] ; then
673b76
  echo "You have disabled all builds (normal,fastdebug,slowdebug). That is a no go."
673b76
  exit 14
673b76
fi
673b76
%setup -q -c -n %{uniquesuffix ""} -T -a 0
673b76
# https://bugzilla.redhat.com/show_bug.cgi?id=1189084
673b76
prioritylength=`expr length %{priority}`
673b76
if [ $prioritylength -ne 8 ] ; then
673b76
 echo "priority must be 8 digits in total, violated"
673b76
 exit 14
673b76
fi
673b76
673b76
# OpenJDK patches
4398fb
4398fb
%if %{system_libs}
673b76
# Remove libraries that are linked by both static and dynamic builds
673b76
sh %{SOURCE12} %{top_level_dir_name}
4398fb
%endif
673b76
673b76
# Patch the JDK
673b76
pushd %{top_level_dir_name}
673b76
%patch1 -p1
673b76
%patch2 -p1
673b76
%patch3 -p1
9e62d6
# Add crypto policy and FIPS support
9e62d6
%patch1001 -p1
9e62d6
# nss.cfg PKCS11 support; must come last as it also alters java.security
9e62d6
%patch1000 -p1
673b76
popd # openjdk
673b76
673b76
%patch600
673b76
%patch1003
95617d
673b76
# Extract systemtap tapsets
673b76
%if %{with_systemtap}
673b76
tar --strip-components=1 -x -I xz -f %{SOURCE8}
673b76
%if %{include_debug_build}
673b76
cp -r tapset tapset%{debug_suffix}
673b76
%endif
673b76
%if %{include_fastdebug_build}
673b76
cp -r tapset tapset%{fastdebug_suffix}
673b76
%endif
673b76
673b76
for suffix in %{build_loop} ; do
673b76
  for file in "tapset"$suffix/*.in; do
673b76
    OUTPUT_FILE=`echo $file | sed -e "s:\.stp\.in$:-%{version}-%{release}.%{_arch}.stp:g"`
673b76
    sed -e "s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/server/libjvm.so:g" $file > $file.1
673b76
    sed -e "s:@JAVA_SPEC_VER@:%{javaver}:g" $file.1 > $file.2
673b76
# TODO find out which architectures other than i686 have a client vm
673b76
%ifarch %{ix86}
673b76
    sed -e "s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/client/libjvm.so:g" $file.2 > $OUTPUT_FILE
673b76
%else
673b76
    sed -e "/@ABS_CLIENT_LIBJVM_SO@/d" $file.2 > $OUTPUT_FILE
673b76
%endif
673b76
    sed -i -e "s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir -- $suffix}:g" $OUTPUT_FILE
673b76
    sed -i -e "s:@INSTALL_ARCH_DIR@:%{archinstall}:g" $OUTPUT_FILE
673b76
    sed -i -e "s:@prefix@:%{_jvmdir}/%{sdkdir -- $suffix}/:g" $OUTPUT_FILE
673b76
  done
673b76
done
673b76
# systemtap tapsets ends
673b76
%endif
673b76
673b76
# Prepare desktop files
673b76
# The _X_ syntax indicates variables that are replaced by make upstream
673b76
# The @X@ syntax indicates variables that are replaced by configure upstream
673b76
for suffix in %{build_loop} ; do
673b76
for file in %{SOURCE9}; do
673b76
    FILE=`basename $file | sed -e s:\.in$::g`
673b76
    EXT="${FILE##*.}"
673b76
    NAME="${FILE%.*}"
673b76
    OUTPUT_FILE=$NAME$suffix.$EXT
673b76
    sed    -e  "s:_SDKBINDIR_:%{sdkbindir -- $suffix}:g" $file > $OUTPUT_FILE
673b76
    sed -i -e  "s:@target_cpu@:%{_arch}:g" $OUTPUT_FILE
673b76
    sed -i -e  "s:@OPENJDK_VER@:%{version}-%{release}.%{_arch}$suffix:g" $OUTPUT_FILE
673b76
    sed -i -e  "s:@JAVA_VER@:%{javaver}:g" $OUTPUT_FILE
673b76
    sed -i -e  "s:@JAVA_VENDOR@:%{origin}:g" $OUTPUT_FILE
673b76
done
673b76
done
673b76
673b76
# Setup nss.cfg
673b76
sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE11} > nss.cfg
673b76
673b76
# Setup nss.fips.cfg
673b76
sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE17} > nss.fips.cfg
673b76
673b76
%build
673b76
# How many CPU's do we have?
673b76
export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :)
673b76
export NUM_PROC=${NUM_PROC:-1}
673b76
%if 0%{?_smp_ncpus_max}
673b76
# Honor %%_smp_ncpus_max
673b76
[ ${NUM_PROC} -gt %{?_smp_ncpus_max} ] && export NUM_PROC=%{?_smp_ncpus_max}
673b76
%endif
673b76
673b76
%ifarch s390x sparc64 alpha %{power64} %{aarch64}
673b76
export ARCH_DATA_MODEL=64
673b76
%endif
673b76
%ifarch alpha
673b76
export CFLAGS="$CFLAGS -mieee"
673b76
%endif
673b76
673b76
# We use ourcppflags because the OpenJDK build seems to
673b76
# pass EXTRA_CFLAGS to the HotSpot C++ compiler...
673b76
EXTRA_CFLAGS="%ourcppflags -Wno-error"
673b76
EXTRA_CPP_FLAGS="%ourcppflags"
673b76
673b76
%ifarch %{power64} ppc
673b76
# fix rpmlint warnings
673b76
EXTRA_CFLAGS="$EXTRA_CFLAGS -fno-strict-aliasing"
673b76
%endif
95617d
%ifarch %{ix86}
95617d
# Align stack boundary on x86_32
95617d
EXTRA_CFLAGS="$(echo ${EXTRA_CFLAGS} | sed -e 's|-mstackrealign|-mincoming-stack-boundary=2 -mpreferred-stack-boundary=4|')"
95617d
EXTRA_CPP_FLAGS="$(echo ${EXTRA_CPP_FLAGS} | sed -e 's|-mstackrealign|-mincoming-stack-boundary=2 -mpreferred-stack-boundary=4|')"
95617d
%endif
673b76
# Fixes annocheck warnings in assembler files due to missing build notes
673b76
EXTRA_ASFLAGS="${EXTRA_CFLAGS} -Wa,--generate-missing-build-notes=yes"
95617d
export EXTRA_CFLAGS EXTRA_CPP_FLAGS EXTRA_ASFLAGS
95617d
95617d
function buildjdk() {
95617d
    local outputdir=${1}
95617d
    local buildjdk=${2}
95617d
    local maketargets="${3}"
95617d
    local debuglevel=${4}
95617d
    local link_opt=${5}
95617d
95617d
    local top_dir_abs_src_path=$(pwd)/%{top_level_dir_name}
95617d
    local top_dir_abs_build_path=$(pwd)/${outputdir}
95617d
4398fb
    # This must be set using the global, so that the
4398fb
    # static libraries still use a dynamic stdc++lib
4398fb
    if [ "x%{link_type}" = "xbundled" ] ; then
4398fb
        libc_link_opt="static";
4398fb
    else
4398fb
        libc_link_opt="dynamic";
4398fb
    fi
4398fb
95617d
    echo "Using output directory: ${outputdir}";
95617d
    echo "Checking build JDK ${buildjdk} is operational..."
95617d
    ${buildjdk}/bin/java -version
95617d
    echo "Using make targets: ${maketargets}"
95617d
    echo "Using debuglevel: ${debuglevel}"
95617d
    echo "Using link_opt: ${link_opt}"
95617d
    echo "Building %{newjavaver}-%{buildver}, pre=%{ea_designator}, opt=%{lts_designator}"
95617d
95617d
    mkdir -p ${outputdir}
95617d
    pushd ${outputdir}
95617d
4398fb
    # Note: zlib and freetype use %{link_type}
4398fb
    # rather than ${link_opt} as the system versions
4398fb
    # are always used in a system_libs build, even
4398fb
    # for the static library build
95617d
    bash ${top_dir_abs_src_path}/configure \
95617d
%ifarch %{zero_arches}
673b76
    --with-jvm-variants=zero \
673b76
%endif
673b76
%ifarch %{ppc64le}
673b76
    --with-jobs=1 \
673b76
%endif
673b76
    --with-version-build=%{buildver} \
673b76
    --with-version-pre="%{ea_designator}" \
673b76
    --with-version-opt=%{lts_designator} \
9e62d6
    --with-vendor-version-string="%{oj_vendor_version}" \
673b76
    --with-vendor-name="%{oj_vendor}" \
673b76
    --with-vendor-url="%{oj_vendor_url}" \
673b76
    --with-vendor-bug-url="%{oj_vendor_bug_url}" \
673b76
    --with-vendor-vm-bug-url="%{oj_vendor_bug_url}" \
95617d
    --with-boot-jdk=${buildjdk} \
95617d
    --with-debug-level=${debuglevel} \
95617d
    --with-native-debug-symbols="%{debug_symbols}" \
95617d
    --disable-sysconf-nss \
673b76
    --enable-unlimited-crypto \
4398fb
    --with-zlib=%{link_type} \
4398fb
    --with-freetype=%{link_type} \
673b76
    --with-libjpeg=${link_opt} \
673b76
    --with-giflib=${link_opt} \
673b76
    --with-libpng=${link_opt} \
673b76
    --with-lcms=${link_opt} \
673b76
    --with-harfbuzz=${link_opt} \
4398fb
    --with-stdc++lib=${libc_link_opt} \
673b76
    --with-extra-cxxflags="$EXTRA_CPP_FLAGS" \
673b76
    --with-extra-cflags="$EXTRA_CFLAGS" \
673b76
    --with-extra-asflags="$EXTRA_ASFLAGS" \
673b76
    --with-extra-ldflags="%{ourldflags}" \
673b76
    --with-num-cores="$NUM_PROC" \
673b76
    --disable-javac-server \
673b76
    --with-jvm-features="%{shenandoah_feature},%{zgc_feature}" \
673b76
    --disable-warnings-as-errors
673b76
95617d
    cat spec.gmk
673b76
95617d
    make \
95617d
      JAVAC_FLAGS=-g \
95617d
      LOG=trace \
95617d
      WARNINGS_ARE_ERRORS="-Wno-error" \
95617d
      CFLAGS_WARNINGS_ARE_ERRORS="-Wno-error" \
95617d
      $maketargets || ( pwd; find ${top_dir_abs_src_path} ${top_dir_abs_build_path} -name "hs_err_pid*.log" | xargs cat && false )
673b76
95617d
    popd
95617d
}
95617d
95617d
function installjdk() {
95617d
    local outputdir=${1}
95617d
    local installdir=${2}
95617d
    local imagepath=${installdir}/images/%{jdkimage}
95617d
95617d
    echo "Installing build from ${outputdir} to ${installdir}..."
95617d
    mkdir -p ${installdir}
95617d
    echo "Installing images..."
95617d
    mv ${outputdir}/images ${installdir}
95617d
    if [ -d ${outputdir}/bundles ] ; then
95617d
	echo "Installing bundles...";
95617d
	mv ${outputdir}/bundles ${installdir} ;
95617d
    fi
95617d
    if [ -d ${outputdir}/docs ] ; then
95617d
	echo "Installing docs...";
95617d
	mv ${outputdir}/docs ${installdir} ;
95617d
    fi
673b76
95617d
%if !%{with artifacts}
95617d
    echo "Removing output directory...";
95617d
    rm -rf ${outputdir}
95617d
%endif
673b76
95617d
    if [ -d ${imagepath} ] ; then
95617d
	# the build (erroneously) removes read permissions from some jars
95617d
	# this is a regression in OpenJDK 7 (our compiler):
95617d
	# http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
95617d
	find ${imagepath} -iname '*.jar' -exec chmod ugo+r {} \;
673b76
95617d
	# Build screws up permissions on binaries
95617d
	# https://bugs.openjdk.java.net/browse/JDK-8173610
95617d
	find ${imagepath} -iname '*.so' -exec chmod +x {} \;
95617d
	find ${imagepath}/bin/ -exec chmod +x {} \;
673b76
95617d
	# Install nss.cfg right away as we will be using the JRE above
95617d
	install -m 644 nss.cfg ${imagepath}/conf/security/
673b76
95617d
	# Install nss.fips.cfg: NSS configuration for global FIPS mode (crypto-policies)
95617d
	install -m 644 nss.fips.cfg ${imagepath}/conf/security/
673b76
9e62d6
	# Turn on system security properties
9e62d6
	sed -i -e "s:^security.useSystemPropertiesFile=.*:security.useSystemPropertiesFile=true:" \
9e62d6
	    ${imagepath}/conf/security/java.security
9e62d6
95617d
	# Use system-wide tzdata
95617d
	rm ${imagepath}/lib/tzdb.dat
95617d
	ln -s %{_datadir}/javazi-1.8/tzdb.dat ${imagepath}/lib/tzdb.dat
673b76
95617d
	# Create fake alt-java as a placeholder for future alt-java
95617d
	pushd ${imagepath}
95617d
	# add alt-java man page
95617d
	echo "Hardened java binary recommended for launching untrusted code from the Web e.g. javaws" > man/man1/%{alt_java_name}.1
95617d
	cat man/man1/java.1 >> man/man1/%{alt_java_name}.1
95617d
	popd
9e62d6
9e62d6
	# Print release information
9e62d6
	cat ${imagepath}/release
9e62d6
95617d
    fi
95617d
}
673b76
95617d
%if %{build_hotspot_first}
95617d
  # Build a fresh libjvm.so first and use it to bootstrap
95617d
  cp -LR --preserve=mode,timestamps %{bootjdk} newboot
95617d
  systemjdk=$(pwd)/newboot
95617d
  buildjdk build/newboot ${systemjdk} %{hotspot_target} "release" "bundled"
95617d
  mv build/newboot/jdk/lib/server/libjvm.so newboot/lib/server
95617d
%else
95617d
  systemjdk=%{bootjdk}
95617d
%endif
95617d
95617d
for suffix in %{build_loop} ; do
95617d
95617d
  if [ "x$suffix" = "x" ] ; then
95617d
      debugbuild=release
95617d
  else
95617d
      # change --something to something
95617d
      debugbuild=`echo $suffix  | sed "s/-//g"`
95617d
  fi
673b76
95617d
95617d
  for loop in %{main_suffix} %{staticlibs_loop} ; do
95617d
95617d
    builddir=%{buildoutputdir -- ${suffix}${loop}}
95617d
    bootbuilddir=boot${builddir}
95617d
    installdir=%{installoutputdir -- ${suffix}${loop}}
95617d
    bootinstalldir=boot${installdir}
95617d
95617d
    if test "x${loop}" = "x%{main_suffix}" ; then
4398fb
      link_opt="%{link_type}"
4398fb
%if %{system_libs}
95617d
      # Copy the source tree so we can remove all in-tree libraries
95617d
      cp -a %{top_level_dir_name} %{top_level_dir_name_backup}
95617d
      # Remove all libraries that are linked
95617d
      sh %{SOURCE12} %{top_level_dir_name} full
4398fb
%endif
95617d
      # Debug builds don't need same targets as release for
95617d
      # build speed-up. We also avoid bootstrapping these
95617d
      # slower builds.
95617d
      if echo $debugbuild | grep -q "debug" ; then
95617d
        maketargets="%{debug_targets}"
95617d
        run_bootstrap=false
95617d
      else
95617d
        maketargets="%{release_targets}"
95617d
        run_bootstrap=%{bootstrap_build}
95617d
      fi
95617d
      if ${run_bootstrap} ; then
95617d
          buildjdk ${bootbuilddir} ${systemjdk} "%{bootstrap_targets}" ${debugbuild} ${link_opt}
95617d
          installjdk ${bootbuilddir} ${bootinstalldir}
95617d
          buildjdk ${builddir} $(pwd)/${bootinstalldir}/images/%{jdkimage} "${maketargets}" ${debugbuild} ${link_opt}
95617d
          installjdk ${builddir} ${installdir}
95617d
          %{!?with_artifacts:rm -rf ${bootinstalldir}}
95617d
      else
95617d
          buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt}
95617d
          installjdk ${builddir} ${installdir}
95617d
      fi
4398fb
%if %{system_libs}
95617d
      # Restore original source tree we modified by removing full in-tree sources
95617d
      rm -rf %{top_level_dir_name}
95617d
      mv %{top_level_dir_name_backup} %{top_level_dir_name}
4398fb
%endif
95617d
    else
95617d
      # Use bundled libraries for building statically
95617d
      link_opt="bundled"
95617d
      # Static library cycle only builds the static libraries
95617d
      maketargets="%{static_libs_target}"
95617d
      # Always just do the one build for the static libraries
95617d
      buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt}
95617d
      installjdk ${builddir} ${installdir}
95617d
    fi
95617d
95617d
  done # end of main / staticlibs loop
673b76
673b76
# build cycles
673b76
done # end of release / debug cycle loop
673b76
673b76
%check
673b76
673b76
# We test debug first as it will give better diagnostics on a crash
673b76
for suffix in %{build_loop} ; do
673b76
95617d
top_dir_abs_main_build_path=$(pwd)/%{installoutputdir -- ${suffix}%{main_suffix}}
673b76
%if %{include_staticlibs}
95617d
top_dir_abs_staticlibs_build_path=$(pwd)/%{installoutputdir -- ${suffix}%{staticlibs_loop}}
673b76
%endif
673b76
673b76
export JAVA_HOME=${top_dir_abs_main_build_path}/images/%{jdkimage}
673b76
673b76
#check Shenandoah is enabled
673b76
%if %{use_shenandoah_hotspot}
673b76
$JAVA_HOME//bin/java -XX:+UseShenandoahGC -version
673b76
%endif
673b76
673b76
# Check unlimited policy has been used
673b76
$JAVA_HOME/bin/javac -d . %{SOURCE13}
673b76
$JAVA_HOME/bin/java --add-opens java.base/javax.crypto=ALL-UNNAMED TestCryptoLevel
673b76
673b76
# Check ECC is working
673b76
$JAVA_HOME/bin/javac -d . %{SOURCE14}
673b76
$JAVA_HOME/bin/java $(echo $(basename %{SOURCE14})|sed "s|\.java||")
673b76
9e62d6
# Check system crypto (policy) is active and can be disabled
9e62d6
# Test takes a single argument - true or false - to state whether system
9e62d6
# security properties are enabled or not.
673b76
$JAVA_HOME/bin/javac -d . %{SOURCE15}
9e62d6
export PROG=$(echo $(basename %{SOURCE15})|sed "s|\.java||")
9e62d6
export SEC_DEBUG="-Djava.security.debug=properties"
9e62d6
$JAVA_HOME/bin/java ${SEC_DEBUG} ${PROG} true
9e62d6
$JAVA_HOME/bin/java ${SEC_DEBUG} -Djava.security.disableSystemPropertiesFile=true ${PROG} false
673b76
673b76
# Check correct vendor values have been set
673b76
$JAVA_HOME/bin/javac -d . %{SOURCE16}
9e62d6
$JAVA_HOME/bin/java $(echo $(basename %{SOURCE16})|sed "s|\.java||") "%{oj_vendor}" "%{oj_vendor_url}" "%{oj_vendor_bug_url}" "%{oj_vendor_version}"
673b76
673b76
# Check java launcher has no SSB mitigation
673b76
if ! nm $JAVA_HOME/bin/java | grep set_speculation ; then true ; else false; fi
673b76
673b76
# Check alt-java launcher has SSB mitigation on supported architectures
673b76
%ifarch %{ssbd_arches}
673b76
nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation
673b76
%else
673b76
if ! nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation ; then true ; else false; fi
673b76
%endif
673b76
4398fb
# Check translations are available for new timezones
4398fb
$JAVA_HOME/bin/javac -d . %{SOURCE18}
4398fb
$JAVA_HOME/bin/java $(echo $(basename %{SOURCE18})|sed "s|\.java||") JRE
4398fb
$JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})|sed "s|\.java||") CLDR
4398fb
673b76
%if %{include_staticlibs}
673b76
# Check debug symbols in static libraries (smoke test)
673b76
export STATIC_LIBS_HOME=${top_dir_abs_staticlibs_build_path}/images/%{static_libs_image}
673b76
readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep w_remainder.c
673b76
readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep e_remainder.c
673b76
%endif
673b76
4ef70a
so_suffix="so"
673b76
# Check debug symbols are present and can identify code
4ef70a
find "$JAVA_HOME" -iname "*.$so_suffix" -print0 | while read -d $'\0' lib
673b76
do
673b76
  if [ -f "$lib" ] ; then
673b76
    echo "Testing $lib for debug symbols"
673b76
    # All these tests rely on RPM failing the build if the exit code of any set
673b76
    # of piped commands is non-zero.
673b76
673b76
    # Test for .debug_* sections in the shared object. This is the main test
673b76
    # Stripped objects will not contain these
673b76
    eu-readelf -S "$lib" | grep "] .debug_"
673b76
    test $(eu-readelf -S "$lib" | grep -E "\]\ .debug_(info|abbrev)" | wc --lines) == 2
673b76
673b76
    # Test FILE symbols. These will most likely be removed by anything that
673b76
    # manipulates symbol tables because it's generally useless. So a nice test
673b76
    # that nothing has messed with symbols
673b76
    old_IFS="$IFS"
673b76
    IFS=$'\n'
673b76
    for line in $(eu-readelf -s "$lib" | grep "00000000      0 FILE    LOCAL  DEFAULT")
673b76
    do
673b76
     # We expect to see .cpp files, except for architectures like aarch64 and
673b76
     # s390 where we expect .o and .oS files
673b76
      echo "$line" | grep -E "ABS ((.*/)?[-_a-zA-Z0-9]+\.(c|cc|cpp|cxx|o|oS))?$"
673b76
    done
673b76
    IFS="$old_IFS"
673b76
673b76
    # If this is the JVM, look for javaCalls.(cpp|o) in FILEs, for extra sanity checking
673b76
    if [ "`basename $lib`" = "libjvm.so" ]; then
673b76
      eu-readelf -s "$lib" | \
673b76
        grep -E "00000000      0 FILE    LOCAL  DEFAULT      ABS javaCalls.(cpp|o)$"
673b76
    fi
673b76
673b76
    # Test that there are no .gnu_debuglink sections pointing to another
673b76
    # debuginfo file. There shouldn't be any debuginfo files, so the link makes
673b76
    # no sense either
673b76
    eu-readelf -S "$lib" | grep 'gnu'
673b76
    if eu-readelf -S "$lib" | grep '] .gnu_debuglink' | grep PROGBITS; then
673b76
      echo "bad .gnu_debuglink section."
673b76
      eu-readelf -x .gnu_debuglink "$lib"
673b76
      false
673b76
    fi
673b76
  fi
673b76
done
673b76
673b76
# Make sure gdb can do a backtrace based on line numbers on libjvm.so
673b76
# javaCalls.cpp:58 should map to:
673b76
# http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/ff3b27e6bcc2/src/share/vm/runtime/javaCalls.cpp#l58 
673b76
# Using line number 1 might cause build problems. See:
673b76
# https://bugzilla.redhat.com/show_bug.cgi?id=1539664
673b76
# https://bugzilla.redhat.com/show_bug.cgi?id=1538767
673b76
gdb -q "$JAVA_HOME/bin/java" <
673b76
handle SIGSEGV pass nostop noprint
673b76
handle SIGILL pass nostop noprint
673b76
set breakpoint pending on
95617d
break javaCalls.cpp:58
673b76
commands 1
673b76
backtrace
673b76
quit
673b76
end
673b76
run -version
673b76
EOF
95617d
%ifarch %{gdb_arches}
673b76
grep 'JavaCallWrapper::JavaCallWrapper' gdb.out
673b76
%endif
673b76
673b76
# Check src.zip has all sources. See RHBZ#1130490
4ef70a
$JAVA_HOME/bin/jar -tf $JAVA_HOME/lib/src.zip | grep 'sun.misc.Unsafe'
673b76
673b76
# Check class files include useful debugging information
673b76
$JAVA_HOME/bin/javap -l java.lang.Object | grep "Compiled from"
673b76
$JAVA_HOME/bin/javap -l java.lang.Object | grep LineNumberTable
673b76
$JAVA_HOME/bin/javap -l java.lang.Object | grep LocalVariableTable
673b76
673b76
# Check generated class files include useful debugging information
673b76
$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep "Compiled from"
673b76
$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LineNumberTable
673b76
$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LocalVariableTable
673b76
673b76
# build cycles check
673b76
done
673b76
673b76
%install
673b76
STRIP_KEEP_SYMTAB=libjvm*
673b76
673b76
for suffix in %{build_loop} ; do
673b76
95617d
top_dir_abs_main_build_path=$(pwd)/%{installoutputdir -- ${suffix}%{main_suffix}}
673b76
%if %{include_staticlibs}
95617d
top_dir_abs_staticlibs_build_path=$(pwd)/%{installoutputdir -- ${suffix}%{staticlibs_loop}}
673b76
%endif
673b76
jdk_image=${top_dir_abs_main_build_path}/images/%{jdkimage}
673b76
673b76
# Install the jdk
673b76
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
673b76
cp -a ${jdk_image} $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}
673b76
673b76
pushd ${jdk_image}
673b76
673b76
%if %{with_systemtap}
673b76
  # Install systemtap support files
673b76
  install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset
673b76
  # note, that uniquesuffix  is in BUILD dir in this case
673b76
  cp -a $RPM_BUILD_DIR/%{uniquesuffix ""}/tapset$suffix/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/
673b76
  pushd  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/
673b76
   tapsetFiles=`ls *.stp`
673b76
  popd
673b76
  install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir}
673b76
  for name in $tapsetFiles ; do
673b76
    targetName=`echo $name | sed "s/.stp/$suffix.stp/"`
673b76
    ln -sf %{_jvmdir}/%{sdkdir -- $suffix}/tapset/$name $RPM_BUILD_ROOT%{tapsetdir}/$targetName
673b76
  done
673b76
%endif
673b76
673b76
  # Remove empty cacerts database
673b76
  rm -f $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/security/cacerts
673b76
  # Install cacerts symlink needed by some apps which hard-code the path
673b76
  pushd $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/security
673b76
      ln -sf /etc/pki/java/cacerts .
673b76
  popd
673b76
673b76
  # Install version-ed symlinks
673b76
  pushd $RPM_BUILD_ROOT%{_jvmdir}
673b76
    ln -sf %{sdkdir -- $suffix} %{jrelnk -- $suffix}
673b76
  popd
673b76
673b76
  # Install man pages
673b76
  install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
673b76
  for manpage in man/man1/*
673b76
  do
673b76
    # Convert man pages to UTF8 encoding
673b76
    iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
673b76
    mv -f $manpage.tmp $manpage
673b76
    install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename \
673b76
      $manpage .1)-%{uniquesuffix -- $suffix}.1
673b76
  done
673b76
  # Remove man pages from jdk image
673b76
  rm -rf $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/man
673b76
673b76
popd
673b76
# Install static libs artefacts
673b76
%if %{include_staticlibs}
673b76
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/static/linux-%{archinstall}/glibc
673b76
cp -a ${top_dir_abs_staticlibs_build_path}/images/%{static_libs_image}/lib/*.a \
673b76
  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/static/linux-%{archinstall}/glibc
673b76
%endif
673b76
673b76
if ! echo $suffix | grep -q "debug" ; then
673b76
  # Install Javadoc documentation
673b76
  install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
673b76
  cp -a ${top_dir_abs_main_build_path}/images/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}
673b76
  built_doc_archive=jdk-%{filever}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip
673b76
  cp -a ${top_dir_abs_main_build_path}/bundles/${built_doc_archive} \
673b76
     $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip || ls -l ${top_dir_abs_main_build_path}/bundles/
673b76
fi
673b76
673b76
# Install release notes
673b76
commondocdir=${RPM_BUILD_ROOT}%{_defaultdocdir}/%{uniquejavadocdir -- $suffix}
673b76
install -d -m 755 ${commondocdir}
673b76
cp -a %{SOURCE10} ${commondocdir}
673b76
673b76
# Install icons and menu entries
673b76
for s in 16 24 32 48 ; do
673b76
  install -D -p -m 644 \
673b76
    %{top_level_dir_name}/src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png \
673b76
    $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}-%{origin}.png
673b76
done
673b76
673b76
# Install desktop files
673b76
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps}
673b76
for e in jconsole$suffix ; do
673b76
    desktop-file-install --vendor=%{uniquesuffix -- $suffix} --mode=644 \
673b76
        --dir=$RPM_BUILD_ROOT%{_datadir}/applications $e.desktop
673b76
done
673b76
673b76
# Install /etc/.java/.systemPrefs/ directory
673b76
# See https://bugzilla.redhat.com/show_bug.cgi?id=741821
673b76
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/.java/.systemPrefs
673b76
673b76
# copy samples next to demos; samples are mostly js files
673b76
cp -r %{top_level_dir_name}/src/sample  $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/
673b76
673b76
673b76
# moving config files to /etc
673b76
mkdir -p $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}
673b76
mkdir -p $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}/lib
673b76
mv $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/conf/  $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}
673b76
mv $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/lib/security  $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}/lib
673b76
pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}
673b76
  ln -s %{etcjavadir -- $suffix}/conf  ./conf
673b76
popd
673b76
pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/lib
673b76
  ln -s %{etcjavadir -- $suffix}/lib/security  ./security
673b76
popd
673b76
# end moving files to /etc
673b76
673b76
# stabilize permissions
673b76
find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -name "*.so" -exec chmod 755 {} \; ; 
673b76
find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -type d -exec chmod 755 {} \; ; 
673b76
find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/legal -type f -exec chmod 644 {} \; ; 
673b76
673b76
# end, dual install
673b76
done
673b76
673b76
%if %{include_normal_build}
673b76
# intentionally only for non-debug
673b76
%pretrans headless -p <lua>
673b76
-- see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
673b76
-- see https://bugzilla.redhat.com/show_bug.cgi?id=1290388 for pretrans over pre
673b76
-- if copy-jdk-configs is in transaction, it installs in pretrans to temp
673b76
-- if copy_jdk_configs is in temp, then it means that copy-jdk-configs is in transaction  and so is
673b76
-- preferred over one in %%{_libexecdir}. If it is not in transaction, then depends
673b76
-- whether copy-jdk-configs is installed or not. If so, then configs are copied
673b76
-- (copy_jdk_configs from %%{_libexecdir} used) or not copied at all
673b76
local posix = require "posix"
673b76
local debug = false
673b76
673b76
SOURCE1 = "%{rpm_state_dir}/copy_jdk_configs.lua"
673b76
SOURCE2 = "%{_libexecdir}/copy_jdk_configs.lua"
673b76
673b76
local stat1 = posix.stat(SOURCE1, "type");
673b76
local stat2 = posix.stat(SOURCE2, "type");
673b76
673b76
  if (stat1 ~= nil) then
673b76
  if (debug) then
673b76
    print(SOURCE1 .." exists - copy-jdk-configs in transaction, using this one.")
673b76
  end;
673b76
  package.path = package.path .. ";" .. SOURCE1
673b76
else
673b76
  if (stat2 ~= nil) then
673b76
  if (debug) then
673b76
    print(SOURCE2 .." exists - copy-jdk-configs already installed and NOT in transaction. Using.")
673b76
  end;
673b76
  package.path = package.path .. ";" .. SOURCE2
673b76
  else
673b76
    if (debug) then
673b76
      print(SOURCE1 .." does NOT exists")
673b76
      print(SOURCE2 .." does NOT exists")
673b76
      print("No config files will be copied")
673b76
    end
673b76
  return
673b76
  end
673b76
end
673b76
-- run content of included file with fake args
673b76
arg = {"--currentjvm", "%{uniquesuffix %{nil}}", "--jvmdir", "%{_jvmdir %{nil}}", "--origname", "%{name}", "--origjavaver", "%{javaver}", "--arch", "%{_arch}", "--temp", "%{rpm_state_dir}/%{name}.%{_arch}"}
673b76
require "copy_jdk_configs.lua"
673b76
673b76
%post
673b76
%{post_script %{nil}}
673b76
673b76
%post headless
673b76
%{post_headless %{nil}}
673b76
673b76
%postun
673b76
%{postun_script %{nil}}
673b76
673b76
%postun headless
673b76
%{postun_headless %{nil}}
673b76
673b76
%posttrans
673b76
%{posttrans_script %{nil}}
673b76
95617d
%posttrans headless
95617d
%{alternatives_java_install %{nil}}
95617d
673b76
%post devel
673b76
%{post_devel %{nil}}
673b76
673b76
%postun devel
673b76
%{postun_devel %{nil}}
673b76
673b76
%posttrans  devel
673b76
%{posttrans_devel %{nil}}
673b76
95617d
%posttrans javadoc
95617d
%{alternatives_javadoc_install %{nil}}
673b76
673b76
%postun javadoc
673b76
%{postun_javadoc %{nil}}
673b76
95617d
%posttrans javadoc-zip
95617d
%{alternatives_javadoczip_install %{nil}}
673b76
673b76
%postun javadoc-zip
673b76
%{postun_javadoc_zip %{nil}}
673b76
%endif
673b76
673b76
%if %{include_debug_build}
673b76
%post slowdebug
673b76
%{post_script -- %{debug_suffix_unquoted}}
673b76
673b76
%post headless-slowdebug
673b76
%{post_headless -- %{debug_suffix_unquoted}}
673b76
95617d
%posttrans headless-slowdebug
95617d
%{alternatives_java_install -- %{debug_suffix_unquoted}}
95617d
673b76
%postun slowdebug
673b76
%{postun_script -- %{debug_suffix_unquoted}}
673b76
673b76
%postun headless-slowdebug
673b76
%{postun_headless -- %{debug_suffix_unquoted}}
673b76
673b76
%posttrans slowdebug
673b76
%{posttrans_script -- %{debug_suffix_unquoted}}
673b76
673b76
%post devel-slowdebug
673b76
%{post_devel -- %{debug_suffix_unquoted}}
673b76
673b76
%postun devel-slowdebug
673b76
%{postun_devel -- %{debug_suffix_unquoted}}
673b76
673b76
%posttrans  devel-slowdebug
673b76
%{posttrans_devel -- %{debug_suffix_unquoted}}
673b76
%endif
673b76
673b76
%if %{include_fastdebug_build}
673b76
%post fastdebug
673b76
%{post_script -- %{fastdebug_suffix_unquoted}}
673b76
673b76
%post headless-fastdebug
673b76
%{post_headless -- %{fastdebug_suffix_unquoted}}
673b76
673b76
%postun fastdebug
673b76
%{postun_script -- %{fastdebug_suffix_unquoted}}
673b76
673b76
%postun headless-fastdebug
673b76
%{postun_headless -- %{fastdebug_suffix_unquoted}}
673b76
673b76
%posttrans fastdebug
673b76
%{posttrans_script -- %{fastdebug_suffix_unquoted}}
673b76
95617d
%posttrans headless-fastdebug
95617d
%{alternatives_java_install -- %{fastdebug_suffix_unquoted}}
95617d
673b76
%post devel-fastdebug
673b76
%{post_devel -- %{fastdebug_suffix_unquoted}}
673b76
673b76
%postun devel-fastdebug
673b76
%{postun_devel -- %{fastdebug_suffix_unquoted}}
673b76
673b76
%posttrans  devel-fastdebug
673b76
%{posttrans_devel -- %{fastdebug_suffix_unquoted}}
673b76
673b76
%endif
673b76
673b76
%if %{include_normal_build}
673b76
%files
673b76
# main package builds always
673b76
%{files_jre %{nil}}
673b76
%else
673b76
%files
673b76
# placeholder
673b76
%endif
673b76
673b76
673b76
%if %{include_normal_build}
673b76
%files headless
673b76
# important note, see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
673b76
# all config/noreplace files (and more) have to be declared in pretrans. See pretrans
673b76
%{files_jre_headless %{nil}}
673b76
673b76
%files devel
673b76
%{files_devel %{nil}}
673b76
673b76
%if %{include_staticlibs}
673b76
%files static-libs
673b76
%{files_static_libs %{nil}}
673b76
%endif
673b76
673b76
%files jmods
673b76
%{files_jmods %{nil}}
673b76
673b76
%files demo
673b76
%{files_demo %{nil}}
673b76
673b76
%files src
673b76
%{files_src %{nil}}
673b76
673b76
%files javadoc
673b76
%{files_javadoc %{nil}}
673b76
673b76
# This puts a huge documentation file in /usr/share
673b76
# It is now architecture-dependent, as eg. AOT and Graal are now x86_64 only
673b76
# same for debug variant
673b76
%files javadoc-zip
673b76
%{files_javadoc_zip %{nil}}
673b76
%endif
673b76
673b76
%if %{include_debug_build}
673b76
%files slowdebug
673b76
%{files_jre -- %{debug_suffix_unquoted}}
673b76
673b76
%files headless-slowdebug
673b76
%{files_jre_headless -- %{debug_suffix_unquoted}}
673b76
673b76
%files devel-slowdebug
673b76
%{files_devel -- %{debug_suffix_unquoted}}
673b76
673b76
%if %{include_staticlibs}
673b76
%files static-libs-slowdebug
673b76
%{files_static_libs -- %{debug_suffix_unquoted}}
673b76
%endif
673b76
673b76
%files jmods-slowdebug
673b76
%{files_jmods -- %{debug_suffix_unquoted}}
673b76
673b76
%files demo-slowdebug
673b76
%{files_demo -- %{debug_suffix_unquoted}}
673b76
673b76
%files src-slowdebug
673b76
%{files_src -- %{debug_suffix_unquoted}}
673b76
%endif
673b76
673b76
%if %{include_fastdebug_build}
673b76
%files fastdebug
673b76
%{files_jre -- %{fastdebug_suffix_unquoted}}
673b76
673b76
%files headless-fastdebug
673b76
%{files_jre_headless -- %{fastdebug_suffix_unquoted}}
673b76
673b76
%files devel-fastdebug
673b76
%{files_devel -- %{fastdebug_suffix_unquoted}}
673b76
673b76
%if %{include_staticlibs}
673b76
%files static-libs-fastdebug
673b76
%{files_static_libs -- %{fastdebug_suffix_unquoted}}
673b76
%endif
673b76
673b76
%files jmods-fastdebug
673b76
%{files_jmods -- %{fastdebug_suffix_unquoted}}
673b76
673b76
%files demo-fastdebug
673b76
%{files_demo -- %{fastdebug_suffix_unquoted}}
673b76
673b76
%files src-fastdebug
673b76
%{files_src -- %{fastdebug_suffix_unquoted}}
673b76
673b76
%endif
673b76
673b76
%changelog
4398fb
* Tue Jan 03 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.18.0.9-0.3.ea
4398fb
- Update to jdk-11.0.18+9
4398fb
- Update release notes to 11.0.18+9
4398fb
- Drop local copy of JDK-8293834 now this is upstream
4398fb
- Require tzdata 2022g due to inclusion of JDK-8296108, JDK-8296715 & JDK-8297804
4398fb
- Update TestTranslations.java to test the new America/Ciudad_Juarez zone
4398fb
- Resolves: rhbz#2150197
4398fb
4398fb
* Thu Dec 15 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.18.0.1-0.3.ea
4398fb
- Update to jdk-11.0.18+1
4398fb
- Update release notes to 11.0.18+1
4398fb
- Switch to EA mode for 11.0.18 pre-release builds.
4398fb
- Drop local copies of JDK-8294357 & JDK-8295173 now upstream contains tzdata 2022e
4398fb
- Drop local copy of JDK-8275535 which is finally upstream
4398fb
- Related: rhbz#2150197
4398fb
4398fb
* Wed Oct 26 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.17.0.8-2
4398fb
- Update to jdk-11.0.17+8 (GA)
4398fb
- Update release notes to 11.0.17+8
4398fb
- Switch to GA mode for release
4398fb
- Update in-tree tzdata to 2022e with JDK-8294357 & JDK-8295173
4398fb
- Update CLDR data with Europe/Kyiv (JDK-8293834)
4398fb
- Drop JDK-8292223 patch which we found to be unnecessary
4398fb
- Update TestTranslations.java to use public API based on TimeZoneNamesTest upstream
4398fb
- The stdc++lib, zlib & freetype options should always be set from the global, so they are not altered for staticlibs builds
4398fb
- Remove freetype sources along with zlib sources
4398fb
- Resolves: rhbz#2133695
4398fb
4398fb
* Wed Oct 05 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.17.0.7-0.1.ea
4398fb
- Update to jdk-11.0.17+7
4398fb
- Update release notes to 11.0.17+7
4398fb
- Resolves: rhbz#2130619
4398fb
4398fb
* Tue Sep 06 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.17.0.1-0.2.ea
4398fb
- Update to jdk-11.0.17+1
4398fb
- Update release notes to 11.0.17+1
4398fb
- Switch to EA mode for 11.0.17 pre-release builds.
4398fb
- Bump HarfBuzz bundled version to 4.4.1 following JDK-8289853
4398fb
- Bump FreeType bundled version to 2.12.1 following JDK-8290334
4398fb
- Related: rhbz#2130619
4398fb
4398fb
* Tue Aug 30 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.16.1.1-3
4398fb
- Switch to static builds, reducing system dependencies and making build more portable
4398fb
- Resolves: rhbz#2121275
4398fb
4398fb
* Wed Aug 24 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.16.1.1-2
4398fb
- Update to jdk-11.0.16.1+1
4398fb
- Update release notes to 11.0.16.1+1
4398fb
- Add patch to provide translations for Europe/Kyiv added in tzdata2022b
4398fb
- Add test to ensure timezones can be translated
4398fb
- Resolves: rhbz#2119528
4398fb
9e62d6
* Fri Jul 22 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.16.0.8-2
9e62d6
- Update to jdk-11.0.16+8
9e62d6
- Update release notes to 11.0.16+8
9e62d6
- Switch to GA mode for release
9e62d6
- Resolves: rhbz#2106517
9e62d6
9e62d6
* Sat Jul 16 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.16.0.7-0.1.ea
9e62d6
- Update to jdk-11.0.16+7
9e62d6
- Update release notes to 11.0.16+7
9e62d6
- Switch to EA mode for 11.0.16 pre-release builds.
9e62d6
- Use same tarball naming style as java-17-openjdk and java-latest-openjdk
9e62d6
- Drop JDK-8257794 patch now upstreamed
9e62d6
- Print release file during build, which should now include a correct SOURCE value from .src-rev
9e62d6
- Update tarball script with IcedTea GitHub URL and .src-rev generation
9e62d6
- Use "git apply" with patches in the tarball script to allow binary diffs
9e62d6
- Include script to generate bug list for release notes
9e62d6
- Update tzdata requirement to 2022a to match JDK-8283350
9e62d6
- Make use of the vendor version string to store our version & release rather than an upstream release date
9e62d6
- Explicitly require crypto-policies during build and runtime for system security properties
9e62d6
- Resolves: rhbz#2083325
9e62d6
9e62d6
* Thu Jul 14 2022 Jiri Vanek <jvanek@redhat.com> - 1:11.0.16.0.7-0.1.ea
9e62d6
- Add additional patch during tarball generation to align tests with ECC changes
9e62d6
- Related: rhbz#2083325
9e62d6
9e62d6
* Fri Jul 08 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.15.0.10-4
9e62d6
- Rebase FIPS patches from fips branch and simplify by using a single patch from that repository
9e62d6
- * RH2036462: sun.security.pkcs11.wrapper.PKCS11.getInstance breakage
9e62d6
- * RH2090378: Revert to disabling system security properties and FIPS mode support together
9e62d6
- Rebase RH1648249 nss.cfg patch so it applies after the FIPS patch
9e62d6
- Enable system security properties in the RPM (now disabled by default in the FIPS repo)
9e62d6
- Improve security properties test to check both enabled and disabled behaviour
9e62d6
- Run security properties test with property debugging on
9e62d6
- Resolves: rhbz#2099839
9e62d6
- Resolves: rhbz#2100676
9e62d6
9e62d6
* Thu Jun 30 2022 Francisco Ferrari Bihurriet <fferrari@redhat.com> - 1:11.0.15.0.10-3
9e62d6
- RH2007331: SecretKey generate/import operations don't add the CKA_SIGN attribute in FIPS mode
9e62d6
- Resolves: rhbz#2102434
9e62d6
9e62d6
* Thu Jun 30 2022 Stephan Bergmann <sbergman@redhat.com> - 1:11.0.15.0.10-2
9e62d6
- Fix flatpak builds by exempting them from bootstrap
9e62d6
- Resolves: rhbz#2067189
9e62d6
9e62d6
* Sun Apr 24 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.15.0.10-1
9e62d6
- Update to jdk-11.0.15.0+10
9e62d6
- Update release notes to 11.0.15.0+10
9e62d6
- Switch to GA mode for release
9e62d6
- Resolves: rhbz#2073595
9e62d6
9e62d6
* Tue Apr 12 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.15.0.8-0.1.ea
9e62d6
- Update to jdk-11.0.15.0+8
9e62d6
- Update release notes to 11.0.15.0+8
9e62d6
- Rebase RH1996182 FIPS patch after JDK-8254410
9e62d6
- Resolves: rhbz#2050458
9e62d6
9e62d6
* Tue Apr 12 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.15.0.1-0.1.ea
9e62d6
- Update to jdk-11.0.15.0+1
9e62d6
- Update release notes to 11.0.15.0+1
9e62d6
- Switch to EA mode for 11.0.15 pre-release builds.
9e62d6
- Related: rhbz#2050458
9e62d6
95617d
* Mon Feb 28 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.14.1.1-6
95617d
- Detect NSS at runtime for FIPS detection
95617d
- Turn off build-time NSS linking and go back to an explicit Requires on NSS
95617d
- Resolves: rhbz#2052831
95617d
95617d
* Sun Feb 27 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.14.1.1-5
95617d
- Introduce tests/tests.yml, based on the one in RHEL 8
95617d
- Resolves: rhbz#2058489
95617d
95617d
* Fri Feb 25 2022 Jiri Vanek <jvanek@redhat.com> - 1:11.0.14.1.1-4
95617d
- Storing and restoring alterntives during update manually
95617d
- Fixing Bug 2001567 - update of JDK/JRE is removing its manually selected alterantives and select (as auto) system JDK/JRE
95617d
-- The move of alternatives creation to posttrans to fix:
95617d
-- Bug 1200302 - dnf reinstall breaks alternatives
95617d
-- Had caused the alternatives to be removed, and then created again,
95617d
-- instead of being added, and then removing the old, and thus persisting
95617d
-- the selection in family
95617d
-- Thus this fix, is storing the family of manually selected master, and if
95617d
-- stored, then it is restoring the family of the master
95617d
- Resolves: rhbz#2008205
95617d
95617d
* Fri Feb 25 2022 Jiri Vanek <jvanek@redhat.com> - 1:11.0.14.1.1-3
95617d
- Family extracted to globals
95617d
- Resolves: rhbz#2008205
95617d
95617d
* Wed Feb 23 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.14.1.1-2
95617d
- Add JDK-8275535 patch to fix LDAP authentication issue.
95617d
- Resolves: rhbz#2053523
95617d
95617d
* Fri Feb 18 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.14.1.1-1
95617d
- Update to jdk-11.0.14.1+1
95617d
- Update release notes to 11.0.14.1+1
95617d
- Require tzdata 2021e as of JDK-8275766.
95617d
- Resolves: rhbz#2052834
95617d
95617d
* Thu Feb 17 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.14.0.9-2
95617d
- Separate crypto policy initialisation from FIPS initialisation, now they are no longer interdependent
95617d
- Resolves: rhbz#2052820
95617d
95617d
* Wed Feb 16 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.14.0.9-1
95617d
- Update to jdk-11.0.14.0+9
95617d
- Update release notes to 11.0.14.0+9
95617d
- Switch to GA mode for final release.
95617d
- Resolves: rhbz#2039395
95617d
95617d
* Tue Feb 15 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.14.0.8-0.3.ea
95617d
- Fix FIPS issues in native code and with initialisation of java.security.Security
95617d
- Resolves: rhbz#2023530
95617d
95617d
* Fri Feb 11 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.14.0.8-0.2.ea
95617d
- Refactor build functions so we can build just HotSpot without any attempt at installation.
95617d
- Sync gdb test with java-1.8.0-openjdk.
95617d
- Improve architecture restrictions for the gdb test.
95617d
- Replace -mstackrealign with -mincoming-stack-boundary=2 -mpreferred-stack-boundary=4 on x86_32 for stack alignment
95617d
- Explicitly list JIT architectures rather than relying on those with slowdebug builds
95617d
- Disable the serviceability agent on Zero architectures even when the architecture itself is supported
95617d
- Add backport of JDK-8257794 to fix bogus assert on slowdebug x86-32 Zero builds
95617d
- Related: rhbz#2052834
95617d
95617d
* Fri Feb 11 2022 Jiri Vanek <jvanek@redhat.com> - 1:11.0.14.0.8-0.2.ea
95617d
- Give javadoc-zip its own Provides, next to the plain javadoc ones
95617d
- Related: rhbz#2052834
95617d
95617d
* Fri Feb 11 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.14.0.8-0.1.ea
95617d
- Update to jdk-11.0.14.0+8
95617d
- Update release notes to 11.0.14.0+8
95617d
- Switch to EA mode for 11.0.14 pre-release builds.
95617d
- Rename blacklisted.certs to blocked.certs following JDK-8253866
95617d
- Rebase RH1996182 login patch and drop redundant security policy extension after JDK-8269034
95617d
- Resolves: rhbz#2022825
95617d
95617d
* Thu Jan 13 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.13.0.8-5
95617d
- Turn off bootstrapping for slow debug builds, which are particularly slow on ppc64le.
95617d
- Related: rhbz#2022825
95617d
95617d
* Thu Dec 02 2021 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.13.0.8-4
95617d
- Use 'sql:' prefix in nss.fips.cfg as F35+ no longer ship the legacy
95617d
  secmod.db file as part of NSS
95617d
- Resolves: rhbz#2023535
95617d
95617d
* Wed Dec 01 2021 Jiri Vanek <jvanek@redhat.com> - 1:11.0.13.0.8-3
95617d
- Replaced hardcoded 11 by featurever where appropriate
95617d
- Fixed comment of `for slowdebug` to correct `any debug`
95617d
- Related: rhbz#2022825
95617d
95617d
* Tue Nov 09 2021 Jiri Vanek <jvanek@redhat.com> - 1:11.0.13.0.8-2
95617d
- alternatives creation moved to posttrans
95617d
- Thus fixing the old reisntall issue:
95617d
- https://bugzilla.redhat.com/show_bug.cgi?id=1200302
95617d
- https://bugzilla.redhat.com/show_bug.cgi?id=1976053
95617d
- Resolves: rhbz#2008205
95617d
95617d
* Wed Oct 13 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.13.0.8-1
95617d
- Update to jdk-11.0.13.0+8
95617d
- Update release notes to 11.0.13.0+8
95617d
- Update tarball generation script to use git following OpenJDK 11u's move to github
95617d
- Remove "-clean" suffix as no 11.0.13 builds are unclean.
95617d
- Drop JDK-8269668 patch which is now applied upstream.
95617d
- Resolves: rhbz#2013845
95617d
95617d
* Sun Oct 10 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.12.0.7-6
95617d
- Reduce disk footprint by removing build artifacts by default.
95617d
- Related: rhbz#1999940
95617d
95617d
* Sun Oct 10 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.12.0.7-5
95617d
- Restructure the build so a minimal initial build is then used for the final build (with docs)
95617d
- This reduces pressure on the system JDK and ensures the JDK being built can do a full build
95617d
- Related: rhbz#1999940
95617d
95617d
* Tue Oct 05 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.12.0.7-4
95617d
- Allow plain key import to be disabled with -Dcom.redhat.fips.plainKeySupport=false
95617d
- Resolves: rhbz#1994681
95617d
95617d
* Tue Oct 05 2021 Martin Balao <mbalao@redhat.com> - 1:11.0.12.0.7-4
95617d
- Add patch to allow plain key import.
95617d
- Resolves: rhbz#1994681
95617d
4ef70a
* Thu Sep 02 2021 Jiri Vanek <jvanek@redhat.com> - 1:11.0.12.0.7-3
4ef70a
- Minor cosmetic improvements to make spec more comparable between variants
4ef70a
- Related: rhbz#1999940
4ef70a
673b76
* Mon Aug 30 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.12.0.7-2
673b76
- Extend the default security policy to accomodate PKCS11 accessing jdk.internal.misc.
673b76
- Resolves: rhbz#1997360
673b76
673b76
* Fri Aug 27 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.12.0.7-1
673b76
- Add patch to login to the NSS software token when in FIPS mode.
673b76
- Resolves: rhbz#1997360
673b76
673b76
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1:11.0.12.0.7-0.1
673b76
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
673b76
  Related: rhbz#1991688
673b76
673b76
* Mon Aug 09 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.12.0.7-0
673b76
- Update to jdk-11.0.12.0+7
673b76
- Update release notes to 11.0.12.0+7
673b76
- Switch to GA mode for final release.
673b76
- Remove non-Free test from source tarball.
673b76
- Resolves: rhbz#1967815
673b76
673b76
* Wed Jul 28 2021 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.12.0.7-0
673b76
- Add patch in order to fix java.library.path issue on aarch64 (JDK-8269668)
673b76
- Resolves: rhbz#1967815
673b76
673b76
* Tue Jul 20 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.12.0.6-0.0.ea
673b76
- Update to jdk-11.0.12.0+6
673b76
- Update release notes to 11.0.12.0+6
673b76
- Correct bug ID JDK-8264846 to intended ID of JDK-8264848
673b76
- Switch to EA mode for 11.0.12 pre-release builds.
673b76
- Update ECC patch following JDK-8226374 (bug ID yet to be confirmed)
673b76
- Use the "reverse" build loop (debug first) as the main and only build loop to get more diagnostics.
673b76
- Remove restriction on disabling product build, as debug packages no longer have javadoc packages.
673b76
- Resolves: rhbz#1967815
673b76
673b76
* Tue Jul 20 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.11.0.9-2
673b76
- Minor code cleanups on FIPS detection patch and check for SECMOD_GetSystemFIPSEnabled in configure.
673b76
- Remove unneeded Requires on NSS as it will now be dynamically linked and detected by RPM.
673b76
- Resolves: rhbz#1971689
673b76
673b76
* Tue Jul 20 2021 Martin Balao <mbalao@redhat.com> - 1:11.0.11.0.9-2
673b76
- Detect FIPS using SECMOD_GetSystemFIPSEnabled in the new libsystemconf JDK library.
673b76
- Resolves: rhbz#1971689
673b76
673b76
* Tue Jul 06 2021 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.11.0.9-1
673b76
- Update RH1655466 FIPS patch with changes in OpenJDK 8 version.
673b76
- SunPKCS11 runtime provider name is a concatenation of "SunPKCS11-" and the name in the config file.
673b76
- Change nss.fips.cfg config name to "NSS-FIPS" to avoid confusion with nss.cfg.
673b76
- No need to substitute path to nss.fips.cfg as java.security file supports a java.home variable.
673b76
- Disable FIPS mode support unless com.redhat.fips is set to "true".
673b76
- Enable alignment with FIPS crypto policy by default (-Dcom.redhat.fips=false to disable).
673b76
- Add explicit runtime dependency on NSS for the PKCS11 provider in FIPS mode
673b76
- Move setup of JavaSecuritySystemConfiguratorAccess to Security class so it always occurs (RH1915071)
673b76
- Resolves: rhbz#1971689
673b76
673b76
* Tue Jul 06 2021 Martin Balao <mbalao@redhat.com> - 1:11.0.11.0.9-1
673b76
- Support the FIPS mode crypto policy (RH1655466)
673b76
- Use appropriate keystore types when in FIPS mode (RH1818909)
673b76
- Disable TLSv1.3 when the FIPS crypto policy and the NSS-FIPS provider are in use (RH1860986)
673b76
- Resolves: rhbz#1971689
673b76
673b76
* Mon Jul 05 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.11.0.9-0
673b76
- Update to jdk-11.0.11.0+9
673b76
- Update release notes to 11.0.11.0+9
673b76
- Remove upstreamed patch JDK-8259949
673b76
- Require tzdata 2020f to match upstream change JDK-8259048
673b76
- Require tzdata 2021a to match upstream change JDK-8260356
673b76
- Update tapsets from IcedTea 6.x repository with fix for JDK-8015774 changes (_heap->_heaps)
673b76
- Update icedtea_sync.sh with a VCS mode that retrieves sources from a Mercurial repository
673b76
- Perform static library build on a separate source tree with bundled image libraries
673b76
- Make static library build optional
673b76
- Resolves: rhbz#1967815
673b76
673b76
* Mon Jul 05 2021 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.11.0.9-0
673b76
- Remove -fcommon work-around as the OpenJDK 11 code has been fixed.
673b76
- Resolves: rhbz#1967815
673b76
673b76
* Mon Jul 05 2021 Stephan Bergmann <sbergman@redhat.com> - 1:11.0.11.0.9-0
673b76
- Hardcode /usr/sbin/alternatives for Flatpak builds
673b76
- Disable copy-jdk-configs for Flatpak builds
673b76
- Resolves: rhbz#1967815
673b76
673b76
* Mon Jul 05 2021 Jayashree Huttanagoudar <jhuttana@redhat.com> - 1:11.0.11.0.9-0
673b76
- Fix issue where CheckVendor.java test erroneously passes when it should fail.
673b76
- Add proper quoting so '&' is not treated as a special character by the shell.
673b76
- Resolves: rhbz#1967815
673b76
673b76
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1:11.0.10.0.9-0.1
673b76
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
673b76
673b76
* Mon Feb  1 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.9-0
673b76
- Update to jdk-11.0.10.0+9
673b76
- Update release notes to 11.0.10.0+9
673b76
- Switch to GA mode for final release.
673b76
673b76
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:11.0.10.0.8-0.5.ea.1
673b76
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
673b76
673b76
* Mon Jan 25 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.8-0.5.ea
673b76
- Fix location and comment differences from RHEL.
673b76
673b76
* Mon Jan 25 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.8-0.5.ea
673b76
- Following JDK-8005165, class data sharing can be enabled on all JIT architectures
673b76
673b76
* Sun Jan 24 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.8-0.4.ea
673b76
- Include a test in the RPM to check the build has the correct vendor information.
673b76
673b76
* Sun Jan 24 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.8-0.4.ea
673b76
- Update build documentation to reflect this is java-11-openjdk, not java-1.8.0-openjdk
673b76
- Remove redundant closure and immediate reopening of include_normal_build block.
673b76
673b76
* Sun Jan 24 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.8-0.3.ea
673b76
- Use RSA as default for keytool, as DSA is disabled in all crypto policies except LEGACY
673b76
- Adjust RH1842572 patch due to context change from JDK-8213400
673b76
673b76
* Sat Jan 23 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.8-0.2.ea
673b76
- Need to support noarch for creating source RPMs for non-scratch builds.
673b76
673b76
* Mon Jan 18 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.8-0.2.ea
673b76
- Introduce stapinstall variable to set SystemTap arch directory correctly (e.g. arm64 on aarch64)
673b76
673b76
* Mon Jan 18 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.8-0.1.ea
673b76
- Use -march=i686 for x86 builds if -fcf-protection is detected (needs CMOV)
673b76
673b76
* Thu Jan 14 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.8-0.0.ea
673b76
- Update to jdk-11.0.10.0+8
673b76
- Update release notes to 11.0.10.0+8.
673b76
- Update tarball generation script to use PR3818 which handles JDK-8171279 changes
673b76
- Drop JDK-8250861 as applied upstream.
673b76
673b76
* Tue Dec 22 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.1-0.0.ea
673b76
- Update to jdk-11.0.10.0+1
673b76
- Update release notes to 11.0.10.0+1
673b76
- Use JEP-322 Time-Based Versioning so we can handle a future 11.0.9.1-like release correctly.
673b76
- Still use 11.0.x rather than 11.0.x.0 for file naming, as the trailing zero is omitted from tags.
673b76
- Revert configure and built_doc_archive hacks to build 11.0.9.1 from 11.0.9.0 sources, and synced with RHEL version.
673b76
- Cleanup debug package descriptions and version number placement.
673b76
- Switch to EA mode for 11.0.10 pre-release builds.
673b76
- Drop JDK-8222286 & JDK-8254177 as applied upstream
673b76
- Use system harfbuzz now this is supported.
673b76
673b76
* Tue Dec 22 2020 Jiri Vanek <jvanek@redhat.com> - 1:11.0.9.11-9
673b76
- fixed missing condition for fastdebug packages being counted as debug ones
673b76
673b76
* Sat Dec 19 2020 Jiri Vanek <jvanek@redhat.com> - 1:11.0.9.11-8
673b76
- removed lib-style provides for fastdebug_suffix_unquoted
673b76
673b76
* Thu Dec 17 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.11-6
673b76
- introduced nm based check to verify alt-java on x86_64 is patched, and no other alt-java or java is patched
673b76
- patch600 rh1750419-redhat_alt_java.patch amended to die, if it is used wrongly
673b76
- introduced ssbd_arches with currently only valid arch of x86_64 to separate real alt-java architectures
673b76
673b76
* Tue Dec 01 2020 Jiri Vanek <jvanek@redhat.com> - 1:11.0.9.11-5
673b76
- removed patch6, rh1566890-CVE_2018_3639-speculative_store_bypass.patch, surpassed by new patch
673b76
- added patch600, rh1750419-redhat_alt_java.patch, suprassing removed patch
673b76
- no longer copying of java->alt-java as it is created by  patch600
673b76
673b76
* Mon Nov 23 2020 Jiri Vanek <jvanek@redhat.com> - 1:11.0.9.11-4
673b76
- Create a copy of java as alt-java with alternatives and man pages
673b76
- java-11-openjdk doesn't have a JRE tree, so don't try and copy alt-java there...
673b76
673b76
* Fri Nov 06 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.11-3
673b76
- Update release notes for 11.0.9.1 release.
673b76
673b76
* Wed Nov 04 2020 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.9.11-2
673b76
- Update to jdk-11.0.9.1+1
673b76
- RPM version stays at 11.0.9.11-2 so as to not break upgrade path.
673b76
- Adds a single patch for JDK-8250861.
673b76
673b76
* Thu Oct 29 2020 Jiri Vanek <jvanek@redhat.com> - 1:11.0.9.11-1
673b76
- Move all license files to NVR-specific JVM directory.
673b76
- This bad placement was killing parallel installability and thus having a bad impact on leapp, if used.
673b76
673b76
* Mon Oct 19 2020 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.9.11-0
673b76
- Fix directory ownership of static-libs package
673b76
673b76
* Thu Oct 15 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.11-0
673b76
- Update to jdk-11.0.9+11
673b76
- Update release notes for 11.0.9 release.
673b76
- Add backport of JDK-8254177 to update to tzdata 2020b
673b76
- Require tzdata 2020b due to resource changes in JDK-8254177
673b76
673b76
* Mon Oct 05 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.10-0.0.ea
673b76
- Update to jdk-11.0.9+10 (EA)
673b76
673b76
* Mon Oct 05 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.9-0.0.ea
673b76
- Update to jdk-11.0.9+9 (EA)
673b76
673b76
* Thu Oct 01 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.8-0.0.ea
673b76
- Update to jdk-11.0.9+8 (EA)
673b76
673b76
* Mon Sep 28 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.7-0.0.ea
673b76
- Update to jdk-11.0.9+7 (EA)
673b76
673b76
* Tue Sep 15 2020 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.9.6-0.1.ea
673b76
- Update static-libs packaging to new layout
673b76
673b76
* Tue Sep 15 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.6-0.0.ea
673b76
- Update to jdk-11.0.9+6 (EA)
673b76
- Update tarball generation script to use PR3802, handling JDK-8233228 & JDK-8177334
673b76
- Resolves: rhbz#1869017
673b76
673b76
* Tue Sep 08 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.5-0.0.ea
673b76
- Update to jdk-11.0.9+5 (EA)
673b76
673b76
* Thu Sep 03 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.4-0.0.ea
673b76
- Update to jdk-11.0.9+4 (EA)
673b76
673b76
* Wed Aug 19 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.3-0.0.ea
673b76
- Update to jdk-11.0.9+3 (EA)
673b76
673b76
* Tue Aug 11 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.2-0.0.ea
673b76
- Update to jdk-11.0.9+2 (EA)
673b76
- With Shenandoah now upstream in OpenJDK 11, we can use jdk-updates/jdk11 directly
673b76
673b76
* Tue Aug 11 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.1-0.2.ea
673b76
- Cleanup architecture and JVM feature handling in preparation for using upstreamed Shenandoah.
673b76
673b76
* Sun Aug 09 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.1-0.1.ea
673b76
- Update to shenandoah-jdk-11.0.9+1 (EA)
673b76
- Switch to EA mode for 11.0.9 pre-release builds.
673b76
- Drop JDK-8247874 backport now applied upstream.
673b76
- JDK-8245832 increases the set of static libraries, so try and include them all with a wildcard.
673b76
673b76
* Tue Jul 28 2020 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.8.10-1
673b76
- Disable LTO as this breaks the build. See RHBZ#1861401.
673b76
673b76
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:11.0.8.10-0.1
673b76
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
673b76
673b76
* Sat Jul 11 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.8.10-0
673b76
- Update to shenandoah-jdk-11.0.8+10 (GA)
673b76
- Switch to GA mode for final release.
673b76
- Update release notes with last minute fix (JDK-8248505).
673b76
673b76
* Fri Jul 10 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.8.9-0.0.ea
673b76
- Update to shenandoah-jdk-11.0.8+9 (EA)
673b76
- Update release notes for 11.0.8 release.
673b76
673b76
* Thu Jul 09 2020 Jiri Vanek <jvanek@redhat.com> - 1:11.0.8.8-0.2.ea
673b76
- bumped to become system jdk, is_system_jdk moved from 0 to 1
673b76
673b76
* Thu Jul 09 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.8.8-0.1.ea
673b76
- Re-introduce java-openjdk-src & java-openjdk-demo for system_jdk builds.
673b76
- Fix accidental renaming of java-openjdk-devel to java-devel-openjdk.
673b76
673b76
* Tue Jun 30 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.8.8-0.0.ea
673b76
- Update to shenandoah-jdk-11.0.8+8 (EA)
673b76
673b76
* Tue Jun 23 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.8.7-0.0.ea
673b76
- Update to shenandoah-jdk-11.0.8+7 (EA)
673b76
673b76
* Tue Jun 23 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.8.6-0.0.ea
673b76
- Update to shenandoah-jdk-11.0.8+6 (EA)
673b76
673b76
* Tue Jun 23 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.8.5-0.3.ea
673b76
- Add release notes.
673b76
- Amend release notes, removing issue actually fixed in 11.0.6.
673b76
673b76
* Tue Jun 23 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.8.5-0.2.ea
673b76
- Sync JDK-8247874 patch with upstream status in 11.0.9.
673b76
- Add missing ChangeLog entry from last series of commits.
673b76
673b76
* Mon Jun 22 2020 Jayashree Huttanagoudar <jhuttana@redhat.com> - 1:1.0.8.5-0.2.ea
673b76
- Added a patch jdk8247874-fix_ampersand_in_vm_bug_url.patch
673b76
673b76
* Thu Jun 18 2020 Jayashree Huttanagoudar <jhuttana@redhat.com> - 1:1.0.8.5-0.2.ea
673b76
- Moved vendor_version_string to better place
673b76
673b76
* Thu Jun 18 2020 Jiri Vanek <jvanek@redhat.com> - 1:11.0.8.5-0.2.ea
673b76
- set vendor property and vendor urls
673b76
- made urls to be preconfigured by os
673b76
673b76
* Tue Jun 09 2020 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.8.5-0.1.ea
673b76
- Disable stripping of debug symbols for static libraries part of
673b76
  the -static-libs sub-package.
673b76
673b76
* Sun Jun 07 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.8.5-0.0.ea
673b76
- Update to shenandoah-jdk-11.0.8+5 (EA)
673b76
673b76
* Mon May 25 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.8.4-0.0.ea
673b76
- Update to shenandoah-jdk-11.0.8+4 (EA)
673b76
- Require tzdata 2020a due to resource changes in JDK-8243541
673b76
673b76
* Fri May 22 2020 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.8.3-0.1.ea
673b76
- Build static-libs-image and add resulting files via -static-libs
673b76
  sub-package.
673b76
673b76
* Tue May 19 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.8.3-0.0.ea
673b76
- Update to shenandoah-jdk-11.0.8+3 (EA)
673b76
- Drop JDK-8233880 backport now applied upstream.
673b76
673b76
* Mon May 18 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.8.2-0.0.ea
673b76
- Update to shenandoah-jdk-11.0.8+2 (EA)
673b76
673b76
* Mon May 18 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.8.1-0.0.ea
673b76
- Update to shenandoah-jdk-11.0.8+1 (EA)
673b76
- Switch to EA mode for 11.0.8 pre-release builds.
673b76
- Drop JDK-8237396 & JDK-8228407 backports now applied upstream.
673b76
673b76
* Sun May 17 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.7.10-2
673b76
- Backport JDK-8233880 to fix version detection of GCC 10.
673b76
- Remove explicit compiler flags which should be handled by the upstream build
673b76
  (-std=gnu++98, -fno-delete-null-pointer-checks, -fno-lifetime-dse)
673b76
673b76
* Fri Apr 24 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.7.10-1
673b76
- Make use of --with-extra-asflags introduced in jdk-11.0.6+1.
673b76
673b76
* Wed Apr 22 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.7.10-0
673b76
- Update to shenandoah-jdk-11.0.7+10 (GA)
673b76
- Switch to GA mode for final release.
673b76
- Remove JDK-8237879 backport as this was integrated upstream in jdk-11.0.7+10.
673b76
673b76
* Tue Apr 21 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.7.9-0.0.ea
673b76
- Update to shenandoah-jdk-11.0.7+9 (EA)
673b76
- Remove JDK-8241296 backport as this was integrated upstream in jdk-11.0.7+9.
673b76
673b76
* Tue Apr 21 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.7.8-0.0.ea
673b76
- Update to shenandoah-jdk-11.0.7+8 (EA)
673b76
673b76
* Mon Apr 20 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.7.7-0.0.ea
673b76
- Update to shenandoah-jdk-11.0.7+7 (EA)
673b76
673b76
* Mon Apr 20 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.7.6-0.0.ea
673b76
- Update to shenandoah-jdk-11.0.7+6 (EA)
673b76
673b76
* Sun Apr 19 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.7.5-0.0.ea
673b76
- Update to shenandoah-jdk-11.0.7+5 (EA)
673b76
673b76
* Sun Apr 19 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.7.4-0.0.ea
673b76
- Update to shenandoah-jdk-11.0.7+4 (EA)
673b76
673b76
* Thu Apr 16 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.7.3-0.0.ea
673b76
- Add JDK-8228407 backport to resolve crashes during verification.
673b76
673b76
* Thu Apr 16 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.7.3-0.0.ea
673b76
- Update to shenandoah-jdk-11.0.7+3 (EA)
673b76
673b76
* Mon Apr 06 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.7.2-0.5.ea
673b76
- Sync SystemTap & desktop files with upstream IcedTea release 3.15.0 using new script
673b76
673b76
* Sat Mar 28 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.7.2-0.4.ea
673b76
- Add JDK-8237396 backport to resolve Shenandoah TCK breakage in traversal mode.
673b76
673b76
* Tue Mar 24 2020 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.7.2-0.3.ea
673b76
- Revert GCC 10 workaround for s390x.
673b76
- Resolves RHBZ#1799087.
673b76
673b76
* Fri Mar 20 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.7.2-0.2.ea
673b76
- Backport JDK-8241296 to fix segfaults when active_handles is NULL (RH1813550)
673b76
673b76
* Fri Mar 13 2020 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.7.2-0.1.ea
673b76
- Add patch for make 4.3 (JDK-8237879)
673b76
673b76
* Wed Mar 04 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.7.2-0.0.ea
673b76
- Update to shenandoah-jdk-11.0.7+2 (EA)
673b76
- Drop JDK-8224851 backport now included upstream.
673b76
673b76
* Thu Feb 27 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.7.1-0.0.ea
673b76
- Update to shenandoah-jdk-11.0.7+1 (EA)
673b76
- Switch to EA mode for 11.0.7 pre-release builds.
673b76
- Drop JDK-8236039 backport now applied upstream.
673b76
673b76
* Thu Feb 27 2020 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.6.10-0
673b76
- Add workaround for building with GCC 10 on s390x. See RHBZ#1799087
673b76
673b76
* Wed Jan 29 2020 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.6.10-0
673b76
- Account for building with GCC 10: JDK-8224851, -fcommon switch.
673b76
673b76
* Wed Jan 29 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.6.10-0
673b76
- Update to shenandoah-jdk-11.0.6+10 (GA)
673b76
- Add JDK-8236039 backport to resolve OpenShift blocker.
673b76
- Add JDK-8224851 backport to resolve AArch64 compiler issues.
673b76
673b76
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:11.0.6.9-0.1.ea
673b76
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
673b76
673b76
* Thu Jan 09 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.6.9-0.0.ea
673b76
- Update to shenandoah-jdk-11.0.6+9 (EA)
673b76
673b76
* Mon Dec 30 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.6.2-0.0.ea
673b76
- Update to shenandoah-jdk-11.0.6+2 (EA)
673b76
673b76
* Thu Dec 19 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.6.1-0.0.ea
673b76
- Update to shenandoah-jdk-11.0.6+1 (EA)
673b76
- Switch to EA mode for 11.0.6 pre-release builds.
673b76
- Add support for jfr binary.
673b76
673b76
* Wed Oct 09 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.5.10-0
673b76
- Update to shenandoah-jdk-11.0.5+10 (GA)
673b76
- Switch to GA mode for final release.
673b76
673b76
* Mon Oct 07 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.5.9-0.0.ea
673b76
- Update to shenandoah-jdk-11.0.5+9 (EA)
673b76
673b76
* Tue Aug 27 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.5.2-0.2.ea
673b76
- Update generate_source_tarball.sh script to use the PR3751 patch and retain the secp256k1 curve.
673b76
- Regenerate source tarball using the updated script and add the -'4curve' suffix.
673b76
- PR3751 includes the changes in the PR1834/RH1022017 patch which is removed.
673b76
673b76
* Sat Aug 24 2019 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.5.2-0.1.ea
673b76
- Update to shenandoah-jdk-11.0.5+2 (EA)
673b76
673b76
* Mon Aug 12 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.5.1-0.1.ea
673b76
- Update to shenandoah-jdk-11.0.5+1 (EA)
673b76
- Switch to EA mode for 11.0.5 pre-release builds.
673b76
673b76
* Thu Aug 08 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.4.11-4
673b76
- Switch to in-tree SunEC code, dropping NSS runtime dependencies and patches to link against it.
673b76
673b76
* Fri Jul 26 2019 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.4.11-3
673b76
- Drop unnecessary build requirement on gtk3-devel, as OpenJDK searches for Gtk+ at runtime.
673b76
- Add missing build requirement for libXrender-devel, previously masked by Gtk3+ dependency
673b76
- Add missing build requirement for libXrandr-devel, previously masked by Gtk3+ dependency
673b76
- fontconfig build requirement should be fontconfig-devel, previously masked by Gtk3+ dependency
673b76
673b76
* Fri Jul 26 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.4.11-2
673b76
- Rebuild with itself as boot JDK.
673b76
673b76
* Fri Jul 26 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.4.11-1
673b76
- Remove -fno-tree-ch workaround for i686 as the root cause has been
673b76
  fixed with 11.0.4+9.
673b76
- Resolves RHBZ#1683095
673b76
673b76
* Tue Jul 09 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.4.11-0
673b76
- Update to shenandoah-jdk-11.0.4+11 (GA)
673b76
- Switch to GA mode for final release.
673b76
673b76
* Mon Jul 08 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.4.10-0.2.ea
673b76
- Obsolete javadoc-slowdebug and javadoc-slowdebug-zip packages via javadoc and javadoc-zip respectively.
673b76
673b76
* Mon Jul 08 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.4.10-0.1.ea
673b76
- Update to shenandoah-jdk-11.0.4+10 (EA)
673b76
673b76
* Sun Jun 30 2019 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.4.2-0.1.ea
673b76
- Update to shenandoah-jdk-11.0.4+2 (EA)
673b76
673b76
* Fri Jun 21 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.4.2-0.1.ea
673b76
- Package jspawnhelper (see JDK-8220360).
673b76
673b76
* Fri Jun 21 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.3.7-6
673b76
- Include 'ea' designator in Release when appropriate.
673b76
673b76
* Wed May 22 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.3.7-6
673b76
- Handle milestone as variables so we can alter it easily and set the docs zip filename appropriately.
673b76
673b76
* Tue May 14 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.3.7-5
673b76
- Bump release for rebuild.
673b76
673b76
* Fri May 10 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.3.7-4
673b76
- Add -fno-tree-ch in order to work around GCC 9 issue on
673b76
  i686.
673b76
- Resolves: RHBZ#1683095
673b76
673b76
* Thu Apr 25 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.3.7-3
673b76
- Don't produce javadoc/javadoc-zip sub packages for the
673b76
  debug variant build.
673b76
- Don't perform a bootcycle build for the debug variant build.
673b76
673b76
* Wed Apr 24 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.3.7-2
673b76
- Don't generate lib-style requires for -slowdebug subpackages.
673b76
- Resolves: RHBZ#1702379
673b76
673b76
* Tue Apr 23 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.3.7-1
673b76
- Fix requires/provides for the non-system JDK case. JDK 11
673b76
  isn't a system JDK at this point.
673b76
- Resolves: RHBZ#1702324
673b76
673b76
* Sun Apr 07 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.3.7-0
673b76
- Update to shenandoah-jdk-11.0.3+7 (April 2019 GA)
673b76
673b76
* Sat Apr 06 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.3.6-0
673b76
- Update to shenandoah-jdk-11.0.3+6 (April 2019 EA)
673b76
- Drop JDK-8210416/RH1632174 applied upstream.
673b76
- Drop JDK-8210425/RH1632174 applied upstream.
673b76
- Drop JDK-8210647/RH1632174 applied upstream.
673b76
- Drop JDK-8210761/RH1632174 applied upstream.
673b76
- Drop JDK-8210703/RH1632174 applied upstream.
673b76
- Add cast to resolve s390 ambiguity in call to log2_intptr
673b76
673b76
* Thu Mar 21 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.2.7-9
673b76
- Add patch for RH1566890
673b76
673b76
* Wed Mar 20 2019 Peter Robinson <pbrobinson@fedoraproject.org> 1:11.0.2.7-8
673b76
- Drop chkconfig dep, 1.7 shipped in f24
673b76
673b76
* Mon Mar 11 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.2.7-7
673b76
- Add -Wa,--generate-missing-build-notes=yes C flags. So as to
673b76
  fix annocheck warnings for assembler source files.
673b76
673b76
* Tue Feb 26 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.2.7-6
673b76
- Don't package lib/client and lib/client/classes.jsa
673b76
  which don't exist.
673b76
- Resolves: RHBZ#1643469
673b76
673b76
* Tue Feb 19 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.2.7-5
673b76
- Add explicit requirement for libXcomposite which is used when performing
673b76
  screenshots from Java.
673b76
- Add explicit BR unzip required for building OpenJDK.
673b76
673b76
* Thu Feb 14 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.2.7-4
673b76
- Add a test verifying system crypto policies can be disabled
673b76
673b76
* Tue Feb 12 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.2.7-3
673b76
- Don't build the test images needlessly.
673b76
673b76
* Thu Feb 07 2019 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.2.7-2
673b76
- Add PR3695 to allow the system crypto policy to be turned off.
673b76
- Correct original system crypto policy patch to refer to OpenJDK 11 bug (PR3694)
673b76
673b76
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:11.0.2.7-1
673b76
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
673b76
673b76
* Tue Jan 15 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.2.7-0
673b76
- Update to shenandoah-jdk-11.0.2+7 (January 2019 CPU)
673b76
- Drop JDK-8211105/RH1628612/RH1630996 applied upstream.
673b76
- Drop JDK-8209639/RH1640127 applied upstream.
673b76
- Re-generate JDK-8210416/RH1632174 following JDK-8209786
673b76
673b76
* Fri Jan 11 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.1.13-11
673b76
- Update to shenandoah-jdk-11.0.1+13-20190101
673b76
- Update tarball generation script in preparation for PR3681/RH1656677 SunEC changes.
673b76
- Use remove-intree-libraries.sh to remove the remaining SunEC code for now.
673b76
- Fix PR1983 SunEC patch so that ecc_impl.h is patched rather than added
673b76
- Add missing RH1022017 patch to reduce curves reported by SSL to those we support.
673b76
- Remove RH1648995; fixed upstream.
673b76
673b76
* Wed Dec 5 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.1.13-9
673b76
- for non debug supackages, ghosted all masters and slaves (rhbz1649776)
673b76
- for tech-preview packages, if-outed versionless provides. Aligned versions to be %%{epoch}:%%{version}-%%{release} instead of chaotic
673b76
- Removed all slowdebug provides (rhbz1655938); for tech-preview packages also removed all internal provides
673b76
673b76
* Wed Nov 28 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.1.13-8
673b76
- Added %%global _find_debuginfo_opts -g
673b76
- Resolves: RHBZ#1520879 (Detailed NMT issue)
673b76
673b76
* Mon Nov 12 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.1.13-6
673b76
- fixed tck failures of arraycopy and process exec with shenandoah on
673b76
- added patch585 rh1648995-shenandoah_array_copy_broken_by_not_always_copy_forward_for_disjoint_arrays.patch
673b76
673b76
* Wed Nov 07 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.1.13-5
673b76
- headless' suggests of cups, replaced by Requires of cups-libs
673b76
673b76
* Thu Nov 01 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.1.13-3
673b76
- added Patch584 jdk8209639-rh1640127-02-coalesce_attempted_spill_non_spillable.patch
673b76
673b76
* Mon Oct 29 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.1.13-3
673b76
- Use upstream's version of Aarch64 intrinsics disable patch:
673b76
  - Removed:
673b76
    RHBZ-1628612-JDK-8210461-workaround-disable-aarch64-intrinsic.patch
673b76
    RHBZ-1630996-JDK-8210858-workaround-disable-aarch64-intrinsic-log.patch
673b76
  - Superceded by:
673b76
    jdk8211105-aarch64-disable_cos_sin_and_log_intrinsics.patch
673b76
673b76
* Thu Oct 18 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.1.13-2
673b76
- Use LTS designator in version output for RHEL.
673b76
673b76
* Thu Oct 18 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.1.13-1
673b76
- Update to October 2018 CPU release, 11.0.1+13.
673b76
673b76
* Wed Oct 17 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.0.28-2
673b76
- Use --with-vendor-version-string=18.9 so as to show original
673b76
  GA date for the JDK.
673b76
673b76
* Fri Sep 28 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.0.28-1
673b76
- Identify as GA version and no longer as early access (EA).
673b76
- JDK 11 has been released for GA on 2018-09-25.
673b76
673b76
* Fri Sep 28 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.28-9
673b76
- Rework changes from 1:11.0.ea.22-6. RHBZ#1632174 supercedes
673b76
  RHBZ-1624122.
673b76
- Add patch, jdk8210416-rh1632174-compile_fdlibm_with_o2_ffp_contract_off_on_gcc_clang_arches.patch, so as to
673b76
  optimize compilation of fdlibm library.
673b76
- Add patch, jdk8210425-rh1632174-sharedRuntimeTrig_sharedRuntimeTrans_compiled_without_optimization.patch, so
673b76
  as to optimize compilation of sharedRuntime{Trig,Trans}.cpp
673b76
- Add patch, jdk8210647-rh1632174-libsaproc_is_being_compiled_without_optimization.patch, so as to
673b76
  optimize compilation of libsaproc (extra c flags won't override
673b76
  optimization).
673b76
- Add patch, jdk8210761-rh1632174-libjsig_is_being_compiled_without_optimization.patch, so as to
673b76
  optimize compilation of libjsig.
673b76
- Add patch, jdk8210703-rh1632174-vmStructs_cpp_no_longer_compiled_with_o0, so as to
673b76
  optimize compilation of vmStructs.cpp (part of libjvm.so).
673b76
- Reinstate filtering of opt flags coming from redhat-rpm-config.
673b76
673b76
* Thu Sep 27 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.28-8
673b76
- removed version less provides
673b76
- javadocdir moved to arched dir as it is no longer noarch
673b76
673b76
* Thu Sep 20 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.28-6
673b76
- Add patch, RHBZ-1630996-JDK-8210858-workaround-disable-aarch64-intrinsic-log.patch,
673b76
  so as to disable log math intrinsic on aarch64. Work-around for
673b76
  JDK-8210858
673b76
673b76
* Thu Sep 13 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.28-5
673b76
- Add patch, RHBZ-1628612-JDK-8210461-workaround-disable-aarch64-intrinsic.patch,
673b76
  so as to disable dsin/dcos math intrinsics on aarch64. Work-around for
673b76
  JDK-8210461.
673b76
673b76
* Wed Sep 12 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.22-6
673b76
- Add patch, JDK-8210416-RHBZ-1624122-fdlibm-opt-fix.patch, so as to
673b76
  optimize compilation of fdlibm library.
673b76
- Add patch, JDK-8210425-RHBZ-1624122-sharedRuntimeTrig-opt-fix.patch, so
673b76
  as to optimize compilation of sharedRuntime{Trig,Trans}.cpp
673b76
- Add patch, JDK-8210647-RHBZ-1624122-libsaproc-opt-fix.patch, so as to
673b76
  optimize compilation of libsaproc (extra c flags won't override
673b76
  optimization).
673b76
- Add patch, JDK-8210703-RHBZ-1624122-vmStructs-opt-fix.patch, so as to
673b76
  optimize compilation of vmStructs.cpp (part of libjvm.so).
673b76
- No longer filter -O flags from C flags coming from
673b76
  redhat-rpm-config.
673b76
673b76
* Mon Sep 10 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.28-4
673b76
- link to jhsdb followed its file to ifarch jit_arches ifnarch s390x
673b76
673b76
* Fri Sep 7 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.28-3
673b76
- Enable ZGC on x86_64.
673b76
673b76
* Tue Sep 4 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.28-2
673b76
- jfr/*jfc files listed for all arches
673b76
- lib/classlist do not exists s390, ifarch-ed via jit_arches out
673b76
673b76
* Fri Aug 31 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.28-1
673b76
- Update to latest upstream build jdk11+28, the first release
673b76
  candidate.
673b76
673b76
* Wed Aug 29 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.22-8
673b76
- Adjust system NSS patch, pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_jdk11.patch, so
673b76
  as to filter -Wl,--as-needed from linker flags. Fixes FTBFS issue.
673b76
673b76
* Thu Aug 23 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.22-6
673b76
- dissabled accessibility, fixed provides for main package's debug variant
673b76
673b76
* Mon Jul 30 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.22-5
673b76
- now buildrequires javapackages-filesystem as the  issue with macros should be fixed
673b76
673b76
* Wed Jul 18 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.22-2
673b76
- changed to build by itself instead of by jdk10
673b76
673b76
* Tue Jul 17 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.22-1
673b76
- added Recommends gtk3 for main package
673b76
- changed BuildRequires from gtk2-devel to gtk3-devel (it can be more likely dropped)
673b76
- added Suggests lksctp-tools, pcsc-lite-devel, cups for headless package
673b76
- see RHBZ1598152
673b76
- added trick to catch hs_err files (sgehwolf)
673b76
- updated to shenandaoh-jdk-11+22
673b76
673b76
* Sat Jul 07 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.20-1
673b76
- removed patch6 JDK-8205616-systemLcmsAndJpgFixFor-rev_f0aeede1b855.patch
673b76
- improved a bit generate_source_tarball.sh to serve also for systemtap
673b76
- thus deleted generate_tapsets.sh
673b76
- simplified and cleared update_package.sh
673b76
- moved to single source jdk - from shenandoah/jdk11
673b76
- bumped to latest jdk11+20
673b76
- adapted PR2126 to jdk11+20
673b76
- adapted handling of systemtap sources to new style
673b76
- (no (misleading) version inside (full version is in name), thus different sed on tapsets and different directory)
673b76
- shortened summaries and descriptions to around 80 chars
673b76
- Hunspell spell checked
673b76
- license fixed to correct jdk11 (sgehwolf)
673b76
- more correct handling of internal libraries (sgehwolf)
673b76
- added lib/security/public_suffix_list.dat as +20 have added it (JDK-8201815)
673b76
- added test for shenandaoh GC presence where expected
673b76
- Removed workaround for broken aarch64 slowdebug build
673b76
- Removed all defattrs
673b76
- Removed no longer necessary cleanup of diz and  debuginfo files
673b76
673b76
* Fri Jun 22 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.19-1
673b76
- updated sources to jdk-11+19
673b76
- added patch6 systemLcmsAndJpgFixFor-f0aeede1b855.patch to fix regression of system libraries after f0aeede1b855 commit
673b76
- adapted pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_jdk11.patch to accommodate changes after f0aeede1b855 commit
673b76
673b76
* Thu Jun 14 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.16-5
673b76
- Revert rename: java-11-openjdk => java-openjdk.
673b76
673b76
* Wed Jun 13 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.16-4
673b76
- Add aarch64 to aot_arches.
673b76
673b76
* Wed Jun 13 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.16-3
673b76
- Rename to package java-11-openjdk.
673b76
673b76
* Wed Jun 13 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.16-2
673b76
- Disable Aarch64 slowdebug build (see JDK-8204331).
673b76
- s390x doesn't have the SA even though it's a JIT arch.
673b76
673b76
* Wed Jun 13 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.16-1
673b76
- Initial version of JDK 11 ea based on tag jdk-11+16.
673b76
- Removed patches no longer needed or upstream:
673b76
  sorted-diff.patch (see JDK-8198844)
673b76
  JDK-8201788-bootcycle-images-jobs.patch
673b76
  JDK-8201509-s390-atomic_store.patch
673b76
  JDK-8202262-libjsig.so-extra-link-flags.patch (never was an issue on 11)
673b76
  JDK-8193802-npe-jar-getVersionMap.patch
673b76
- Updated and renamed patches:
673b76
  java-openjdk-s390-size_t.patch => JDK-8203030-s390-size_t.patch
673b76
- Updated patches for JDK 11:
673b76
  pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_jdk11.patch
673b76
673b76
* Tue Jun 12 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.1.10-9
673b76
- Use proper private_libs expression for filtering requires/provides.
673b76
673b76
* Fri Jun 08 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.1.10-8
673b76
- Bump release and rebuild for fixed gdb. See RHBZ#1589118.
673b76
673b76
* Mon Jun 04 2018 Jiri Vanek <jvanek@redhat.com> - 1:10.0.1.10-7
673b76
- quoted sed expressions, changed possibly confusing # by @
673b76
- added vendor(origin) into icons
673b76
- removed last trace of relative symlinks
673b76
- added BuildRequires of javapackages-tools to fix build failure after Requires change to javapackages-filesystem
673b76
673b76
* Thu May 17 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.1.10-5
673b76
- Move to javapackages-filesystem for directory ownership.
673b76
  Resolves RHBZ#1500288
673b76
673b76
* Mon Apr 30 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.1.10-4
673b76
- Add JDK-8193802-npe-jar-getVersionMap.patch so as to fix
673b76
  RHBZ#1557375.
673b76
673b76
* Mon Apr 23 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.1.10-3
673b76
- Inject build flags properly. See RHBZ#1571359
673b76
- Added patch JDK-8202262-libjsig.so-extra-link-flags.patch
673b76
  since libjsig.so doesn't get linker flags injected properly.
673b76
673b76
* Fri Apr 20 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.1.10-2
673b76
- Removed unneeded patches:
673b76
  PStack-808293.patch
673b76
  multiple-pkcs11-library-init.patch
673b76
  ppc_stack_overflow_fix.patch 
673b76
- Added patches for s390 Zero builds:
673b76
  JDK-8201495-s390-java-opts.patch
673b76
  JDK-8201509-s390-atomic_store.patch
673b76
- Renamed patches for clarity:
673b76
  aarch64BuildFailure.patch => JDK-8200556-aarch64-slowdebug-crash.patch
673b76
  systemCryptoPolicyPR3183.patch => pr3183-rh1340845-support_fedora_rhel_system_crypto_policy.patch
673b76
  bootcycle_jobs.patch => JDK-8201788-bootcycle-images-jobs.patch
673b76
  system-nss-ec-rh1565658.patch => pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_jdk11.patch
673b76
673b76
* Fri Apr 20 2018 Jiri Vanek <jvanek@redhat.com> - 1:10.0.1.10-1
673b76
- updated to security update 1
673b76
- jexec unlinked from path
673b76
- used java-openjdk as boot jdk
673b76
- aligned provides/requires
673b76
- renamed zip javadoc
673b76
673b76
* Tue Apr 10 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.0.46-12
673b76
- Enable basic EC ciphers test in %%check.
673b76
673b76
* Tue Apr 10 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.0.46-11
673b76
- Port Martin Balao's JDK 9 patch for system NSS support to JDK 10.
673b76
- Resolves RHBZ#1565658
673b76
673b76
* Mon Apr 09 2018 Jiri Vanek <jvanek@redhat.com> - 1:10.0.0.46-10
673b76
- jexec linked to path
673b76
673b76
* Fri Apr 06 2018 Jiri Vanek <jvanek@redhat.com> - 1:10.0.0.46-9
673b76
- subpackage(s) replaced by sub-package(s) and other cosmetic changes
673b76
673b76
* Tue Apr 03 2018 Jiri Vanek <jvanek@redhat.com> - 1:10.0.0.46-8
673b76
- removed accessibility sub-packages
673b76
- kept applied patch and properties files
673b76
- debug sub-packages renamed to slowdebug
673b76
673b76
* Fri Feb 23 2018 Jiri Vanek <jvanek@redhat.com> - 1:10.0.0.46-1
673b76
- initial load