Blame SPECS/java-11-openjdk.spec

b6221f
# RPM conditionals so as to be able to dynamically produce
b6221f
# slowdebug/release builds. See:
b6221f
# http://rpm.org/user_doc/conditional_builds.html
b6221f
#
b6221f
# Examples:
b6221f
#
b6221f
# Produce release *and* slowdebug builds on x86_64 (default):
b6221f
# $ rpmbuild -ba java-1.8.0-openjdk.spec
b6221f
#
b6221f
# Produce only release builds (no slowdebug builds) on x86_64:
b6221f
# $ rpmbuild -ba java-1.8.0-openjdk.spec --without slowdebug
b6221f
#
b6221f
# Only produce a release build on x86_64:
b6221f
# $ fedpkg mockbuild --without slowdebug
b6221f
#
b6221f
# Only produce a debug build on x86_64:
b6221f
# $ fedpkg local --without release
b6221f
#
b6221f
# Enable slowdebug builds by default on relevant arches.
b6221f
%bcond_without slowdebug
b6221f
# Enable release builds by default on relevant arches.
b6221f
%bcond_without release
b6221f
b6221f
# The -g flag says to use strip -g instead of full strip on DSOs or EXEs.
b6221f
# This fixes detailed NMT and other tools which need minimal debug info.
b6221f
# See: https://bugzilla.redhat.com/show_bug.cgi?id=1520879
b6221f
%global _find_debuginfo_opts -g
b6221f
b6221f
# note: parametrized macros are order-sensitive (unlike not-parametrized) even with normal macros
b6221f
# also necessary when passing it as parameter to other macros. If not macro, then it is considered a switch
b6221f
# see the difference between global and define:
b6221f
# See https://github.com/rpm-software-management/rpm/issues/127 to comments at  "pmatilai commented on Aug 18, 2017"
b6221f
# (initiated in https://bugzilla.redhat.com/show_bug.cgi?id=1482192)
b6221f
%global debug_suffix_unquoted -slowdebug
b6221f
# quoted one for shell operations
b6221f
%global debug_suffix "%{debug_suffix_unquoted}"
b6221f
%global normal_suffix ""
b6221f
b6221f
# if you want only debug build but providing java build only normal build but set normalbuild_parameter
b6221f
%global debug_warning This package has full debug on. Install only in need and remove asap.
b6221f
%global debug_on with full debug on
b6221f
%global for_debug for packages with debug on
b6221f
b6221f
%if %{with release}
b6221f
%global include_normal_build 1
b6221f
%else
b6221f
%global include_normal_build 0
b6221f
%endif
b6221f
b6221f
%if %{include_normal_build}
b6221f
%global build_loop1 %{normal_suffix}
b6221f
%else
b6221f
%global build_loop1 %{nil}
b6221f
%endif
b6221f
b6221f
# We have hardcoded list of files, which  is appearing in alternatives, and in files
b6221f
# in alternatives those are slaves and master, very often triplicated by man pages
b6221f
# in files all masters and slaves are ghosted
b6221f
# the ghosts are here to allow installation via query like `dnf install /usr/bin/java`
b6221f
# you can list those files, with appropriate sections: cat *.spec | grep -e --install -e --slave -e post_ 
b6221f
# TODO - fix those hardcoded lists via single list
b6221f
# those files ,must *NOT* be ghosted for *slowdebug* packages
b6221f
# FIXME - if you are moving jshell or jlink or simialr, always modify all three sections
b6221f
# you can check via headless and devels:
b6221f
#    rpm -ql --noghost java-11-openjdk-headless-11.0.1.13-8.fc29.x86_64.rpm  | grep bin
b6221f
# == rpm -ql           java-11-openjdk-headless-slowdebug-11.0.1.13-8.fc29.x86_64.rpm  | grep bin
b6221f
# != rpm -ql           java-11-openjdk-headless-11.0.1.13-8.fc29.x86_64.rpm  | grep bin
b6221f
# similarly for other %%{_jvmdir}/{jre,java} and %%{_javadocdir}/{java,java-zip}
b6221f
%define is_release_build() %( if [ "%{?1}" == "%{debug_suffix_unquoted}" ]; then echo "0" ; else echo "1"; fi )
b6221f
b6221f
# 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
b6221f
# as sytem JDK, we mean any JDK which can run whole system java stack without issues (like bytecode issues, module issues, dependencies...)
b6221f
%global is_system_jdk 0
b6221f
b6221f
%global aarch64         aarch64 arm64 armv8
b6221f
# we need to distinguish between big and little endian PPC64
b6221f
%global ppc64le         ppc64le
b6221f
%global ppc64be         ppc64 ppc64p7
b6221f
%global multilib_arches %{power64} sparc64 x86_64
b6221f
%global jit_arches      %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} %{arm} s390x
b6221f
%global aot_arches      x86_64 %{aarch64}
b6221f
b6221f
# By default, we build a debug build during main build on JIT architectures
b6221f
%if %{with slowdebug}
b6221f
%ifarch %{jit_arches}
b6221f
%ifnarch %{arm}
b6221f
%global include_debug_build 1
b6221f
%else
b6221f
%global include_debug_build 0
b6221f
%endif
b6221f
%else
b6221f
%global include_debug_build 0
b6221f
%endif
b6221f
%else
b6221f
%global include_debug_build 0
b6221f
%endif
b6221f
b6221f
# On x86_64 and AArch64, we use the Shenandoah HotSpot
b6221f
%ifarch x86_64 %{aarch64}
b6221f
%global use_shenandoah_hotspot 1
b6221f
%else
b6221f
%global use_shenandoah_hotspot 0
b6221f
%endif
b6221f
b6221f
%if %{include_debug_build}
b6221f
%global build_loop2 %{debug_suffix}
b6221f
%else
b6221f
%global build_loop2 %{nil}
b6221f
%endif
b6221f
b6221f
# if you disable both builds, then the build fails
b6221f
%global build_loop  %{build_loop1} %{build_loop2}
b6221f
# note: that order: normal_suffix debug_suffix, in case of both enabled
b6221f
# is expected in one single case at the end of the build
b6221f
%global rev_build_loop  %{build_loop2} %{build_loop1}
b6221f
b6221f
%ifarch %{jit_arches}
b6221f
%global bootstrap_build 1
b6221f
%else
b6221f
%global bootstrap_build 1
b6221f
%endif
b6221f
b6221f
%if %{bootstrap_build}
b6221f
%global release_targets bootcycle-images docs-zip
b6221f
%else
b6221f
%global release_targets images docs-zip
b6221f
%endif
b6221f
# No docs nor bootcycle for debug builds
b6221f
%global debug_targets images
b6221f
b6221f
b6221f
# Filter out flags from the optflags macro that cause problems with the OpenJDK build
b6221f
# We filter out -O flags so that the optimization of HotSpot is not lowered from O3 to O2
b6221f
# We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs)
b6221f
# We replace it with -Wformat (required by -Werror=format-security) and -Wno-cpp to avoid FORTIFY_SOURCE warnings
b6221f
# We filter out -fexceptions as the HotSpot build explicitly does -fno-exceptions and it's otherwise the default for C++
b6221f
%global ourflags %(echo %optflags | sed -e 's|-Wall|-Wformat -Wno-cpp|' | sed -r -e 's|-O[0-9]*||')
b6221f
%global ourcppflags %(echo %ourflags | sed -e 's|-fexceptions||')
b6221f
%global ourldflags %{__global_ldflags}
b6221f
b6221f
# With disabled nss is NSS deactivated, so NSS_LIBDIR can contain the wrong path
b6221f
# the initialization must be here. Later the pkg-config have buggy behavior
b6221f
# looks like openjdk RPM specific bug
b6221f
# Always set this so the nss.cfg file is not broken
b6221f
%global NSS_LIBDIR %(pkg-config --variable=libdir nss)
b6221f
b6221f
# In some cases, the arch used by the JDK does
b6221f
# not match _arch.
b6221f
# Also, in some cases, the machine name used by SystemTap
b6221f
# does not match that given by _target_cpu
b6221f
%ifarch x86_64
b6221f
%global archinstall amd64
b6221f
%global stapinstall x86_64
b6221f
%endif
b6221f
%ifarch ppc
b6221f
%global archinstall ppc
b6221f
%global stapinstall powerpc
b6221f
%endif
b6221f
%ifarch %{ppc64be}
b6221f
%global archinstall ppc64
b6221f
%global stapinstall powerpc
b6221f
%endif
b6221f
%ifarch %{ppc64le}
b6221f
%global archinstall ppc64le
b6221f
%global stapinstall powerpc
b6221f
%endif
b6221f
%ifarch %{ix86}
b6221f
%global archinstall i686
b6221f
%global stapinstall i386
b6221f
%endif
b6221f
%ifarch ia64
b6221f
%global archinstall ia64
b6221f
%global stapinstall ia64
b6221f
%endif
b6221f
%ifarch s390
b6221f
%global archinstall s390
b6221f
%global stapinstall s390
b6221f
%endif
b6221f
%ifarch s390x
b6221f
%global archinstall s390x
b6221f
%global stapinstall s390
b6221f
%endif
b6221f
%ifarch %{arm}
b6221f
%global archinstall arm
b6221f
%global stapinstall arm
b6221f
%endif
b6221f
%ifarch %{aarch64}
b6221f
%global archinstall aarch64
b6221f
%global stapinstall arm64
b6221f
%endif
b6221f
# 32 bit sparc, optimized for v9
b6221f
%ifarch sparcv9
b6221f
%global archinstall sparc
b6221f
%global stapinstall %{_target_cpu}
b6221f
%endif
b6221f
# 64 bit sparc
b6221f
%ifarch sparc64
b6221f
%global archinstall sparcv9
b6221f
%global stapinstall %{_target_cpu}
b6221f
%endif
b6221f
# Need to support noarch for srpm build
b6221f
%ifarch noarch
b6221f
%global archinstall %{nil}
b6221f
%global stapinstall %{nil}
b6221f
%endif
b6221f
b6221f
%ifarch %{jit_arches}
b6221f
%global with_systemtap 1
b6221f
%else
b6221f
%global with_systemtap 0
b6221f
%endif
b6221f
b6221f
# New Version-String scheme-style defines
b6221f
%global majorver 11
b6221f
%global securityver 6
b6221f
# buildjdkver is usually same as %%{majorver},
b6221f
# but in time of bootstrap of next jdk, it is majorver-1, 
b6221f
# and this it is better to change it here, on single place
b6221f
%global buildjdkver %{majorver}
b6221f
# Used via new version scheme. JDK 11 was
b6221f
# GA'ed in September 2018 => 18.9
b6221f
%global vendor_version_string 18.9
b6221f
# Add LTS designator for RHEL builds
b6221f
%if 0%{?rhel}
b6221f
  %global lts_designator "LTS"
b6221f
  %global lts_designator_zip -%{lts_designator}
b6221f
%else
b6221f
  %global lts_designator ""
b6221f
  %global lts_designator_zip ""
b6221f
%endif
b6221f
b6221f
# Define IcedTea version used for SystemTap tapsets and desktop file
b6221f
%global icedteaver      3.15.0
b6221f
b6221f
# Standard JPackage naming and versioning defines
b6221f
%global origin          openjdk
b6221f
%global origin_nice     OpenJDK
b6221f
%global top_level_dir_name   %{origin}
b6221f
%global minorver        0
b6221f
%global buildver        10
b6221f
%global rpmrelease      4
b6221f
#%%global tagsuffix      ""
b6221f
# priority must be 8 digits in total; untill openjdk 1.8 we were using 18..... so when moving to 11 we had to add another digit
b6221f
%if %is_system_jdk
b6221f
%global priority %( printf '%02d%02d%02d%02d' %{majorver} %{minorver} %{securityver} %{buildver} )
b6221f
%else
b6221f
# for techpreview, using 1, so slowdebugs can have 0
b6221f
%global priority %( printf '%08d' 1 )
b6221f
%endif
b6221f
%global newjavaver      %{majorver}.%{minorver}.%{securityver}
b6221f
b6221f
%global javaver         %{majorver}
b6221f
b6221f
# Define milestone (EA for pre-releases, GA for releases)
b6221f
# Release will be (where N is usually a number starting at 1):
b6221f
# - 0.N%%{?extraver}%%{?dist} for EA releases,
b6221f
# - N%%{?extraver}{?dist} for GA releases
b6221f
%global is_ga           1
b6221f
%if %{is_ga}
b6221f
%global ea_designator ""
b6221f
%global ea_designator_zip ""
b6221f
%global extraver %{nil}
b6221f
%global eaprefix %{nil}
b6221f
%else
b6221f
%global ea_designator ea
b6221f
%global ea_designator_zip -%{ea_designator}
b6221f
%global extraver .%{ea_designator}
b6221f
%global eaprefix 0.
b6221f
%endif
b6221f
b6221f
# parametrized macros are order-sensitive
b6221f
%global compatiblename  java-%{majorver}-%{origin}
b6221f
%global fullversion     %{compatiblename}-%{version}-%{release}
b6221f
# images stub
b6221f
%global jdkimage       jdk
b6221f
# output dir stub
b6221f
%define buildoutputdir() %{expand:openjdk/build%{?1}}
b6221f
# we can copy the javadoc to not arched dir, or make it not noarch
b6221f
%define uniquejavadocdir()    %{expand:%{fullversion}.%{_arch}%{?1}}
b6221f
# main id and dir of this jdk
b6221f
%define uniquesuffix()        %{expand:%{fullversion}.%{_arch}%{?1}}
b6221f
b6221f
#################################################################
b6221f
# fix for https://bugzilla.redhat.com/show_bug.cgi?id=1111349
b6221f
#         https://bugzilla.redhat.com/show_bug.cgi?id=1590796#c14
b6221f
#         https://bugzilla.redhat.com/show_bug.cgi?id=1655938
b6221f
%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.*|libunpack[.]so.*|libzip[.]so.*
b6221f
%global _publiclibs libjawt[.]so.*|libjava[.]so.*|libjvm[.]so.*|libverify[.]so.*|libjsig[.]so.*
b6221f
%if %is_system_jdk
b6221f
%global __provides_exclude ^(%{_privatelibs})$
b6221f
%global __requires_exclude ^(%{_privatelibs})$
b6221f
# Never generate lib-style provides/requires for slowdebug packages
b6221f
%global __provides_exclude_from ^.*/%{uniquesuffix -- %{debug_suffix_unquoted}}/.*$
b6221f
%global __requires_exclude_from ^.*/%{uniquesuffix -- %{debug_suffix_unquoted}}/.*$
b6221f
%else
b6221f
# Don't generate provides/requires for JDK provided shared libraries at all.
b6221f
%global __provides_exclude ^(%{_privatelibs}|%{_publiclibs})$
b6221f
%global __requires_exclude ^(%{_privatelibs}|%{_publiclibs})$
b6221f
%endif
b6221f
b6221f
b6221f
%global etcjavasubdir     %{_sysconfdir}/java/java-%{javaver}-%{origin}
b6221f
%define etcjavadir()      %{expand:%{etcjavasubdir}/%{uniquesuffix -- %{?1}}}
b6221f
# Standard JPackage directories and symbolic links.
b6221f
%define sdkdir()        %{expand:%{uniquesuffix -- %{?1}}}
b6221f
%define jrelnk()        %{expand:jre-%{javaver}-%{origin}-%{version}-%{release}.%{_arch}%{?1}}
b6221f
b6221f
%define sdkbindir()     %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin}
b6221f
%define jrebindir()     %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin}
b6221f
b6221f
%global rpm_state_dir %{_localstatedir}/lib/rpm-state/
b6221f
b6221f
%if %{with_systemtap}
b6221f
# Where to install systemtap tapset (links)
b6221f
# We would like these to be in a package specific sub-dir,
b6221f
# but currently systemtap doesn't support that, so we have to
b6221f
# use the root tapset dir for now. To distinguish between 64
b6221f
# and 32 bit architectures we place the tapsets under the arch
b6221f
# specific dir (note that systemtap will only pickup the tapset
b6221f
# for the primary arch for now). Systemtap uses the machine name
b6221f
# aka target_cpu as architecture specific directory name.
b6221f
%global tapsetroot /usr/share/systemtap
b6221f
%global tapsetdirttapset %{tapsetroot}/tapset/
b6221f
%global tapsetdir %{tapsetdirttapset}/%{stapinstall}
b6221f
%endif
b6221f
b6221f
# not-duplicated scriptlets for normal/debug packages
b6221f
%global update_desktop_icons /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
b6221f
b6221f
b6221f
%define post_script() %{expand:
b6221f
update-desktop-database %{_datadir}/applications &> /dev/null || :
b6221f
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
b6221f
exit 0
b6221f
}
b6221f
b6221f
b6221f
%define post_headless() %{expand:
b6221f
%ifarch %{jit_arches}
b6221f
# MetaspaceShared::generate_vtable_methods not implemented for PPC JIT
b6221f
%ifnarch %{ppc64le}
b6221f
# see https://bugzilla.redhat.com/show_bug.cgi?id=513605
b6221f
%{jrebindir -- %{?1}}/java -Xshare:dump >/dev/null 2>/dev/null
b6221f
%endif
b6221f
%endif
b6221f
b6221f
PRIORITY=%{priority}
b6221f
if [ "%{?1}" == %{debug_suffix} ]; then
b6221f
  let PRIORITY=PRIORITY-1
b6221f
fi
b6221f
b6221f
ext=.gz
b6221f
alternatives \\
b6221f
  --install %{_bindir}/java java %{jrebindir -- %{?1}}/java $PRIORITY  --family %{name}.%{_arch} \\
b6221f
  --slave %{_jvmdir}/jre jre %{_jvmdir}/%{sdkdir -- %{?1}} \\
b6221f
  --slave %{_bindir}/jjs jjs %{jrebindir -- %{?1}}/jjs \\
b6221f
  --slave %{_bindir}/keytool keytool %{jrebindir -- %{?1}}/keytool \\
b6221f
  --slave %{_bindir}/pack200 pack200 %{jrebindir -- %{?1}}/pack200 \\
b6221f
  --slave %{_bindir}/rmid rmid %{jrebindir -- %{?1}}/rmid \\
b6221f
  --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir -- %{?1}}/rmiregistry \\
b6221f
  --slave %{_bindir}/unpack200 unpack200 %{jrebindir -- %{?1}}/unpack200 \\
b6221f
  --slave %{_mandir}/man1/java.1$ext java.1$ext \\
b6221f
  %{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/jjs.1$ext jjs.1$ext \\
b6221f
  %{_mandir}/man1/jjs-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \\
b6221f
  %{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/pack200.1$ext pack200.1$ext \\
b6221f
  %{_mandir}/man1/pack200-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \\
b6221f
  %{_mandir}/man1/rmid-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \\
b6221f
  %{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \\
b6221f
  %{_mandir}/man1/unpack200-%{uniquesuffix -- %{?1}}.1$ext
b6221f
b6221f
for X in %{origin} %{javaver} ; do
b6221f
  alternatives --install %{_jvmdir}/jre-"$X" jre_"$X" %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{name}.%{_arch}
b6221f
done
b6221f
b6221f
update-alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}} $PRIORITY  --family %{name}.%{_arch}
b6221f
b6221f
b6221f
update-desktop-database %{_datadir}/applications &> /dev/null || :
b6221f
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
b6221f
b6221f
# see pretrans where this file is declared
b6221f
# also see that pretrans is only for non-debug
b6221f
if [ ! "%{?1}" == %{debug_suffix} ]; then
b6221f
  if [ -f %{_libexecdir}/copy_jdk_configs_fixFiles.sh ] ; then
b6221f
    sh  %{_libexecdir}/copy_jdk_configs_fixFiles.sh %{rpm_state_dir}/%{name}.%{_arch}  %{_jvmdir}/%{sdkdir -- %{?1}}
b6221f
  fi
b6221f
fi
b6221f
b6221f
exit 0
b6221f
}
b6221f
b6221f
%define postun_script() %{expand:
b6221f
update-desktop-database %{_datadir}/applications &> /dev/null || :
b6221f
if [ $1 -eq 0 ] ; then
b6221f
    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
b6221f
    %{update_desktop_icons}
b6221f
fi
b6221f
exit 0
b6221f
}
b6221f
b6221f
b6221f
%define postun_headless() %{expand:
b6221f
  alternatives --remove java %{jrebindir -- %{?1}}/java
b6221f
  alternatives --remove jre_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
b6221f
  alternatives --remove jre_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}}
b6221f
  alternatives --remove jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}}
b6221f
}
b6221f
b6221f
%define posttrans_script() %{expand:
b6221f
%{update_desktop_icons}
b6221f
}
b6221f
b6221f
%define post_devel() %{expand:
b6221f
b6221f
PRIORITY=%{priority}
b6221f
if [ "%{?1}" == %{debug_suffix} ]; then
b6221f
  let PRIORITY=PRIORITY-1
b6221f
fi
b6221f
b6221f
ext=.gz
b6221f
alternatives \\
b6221f
  --install %{_bindir}/javac javac %{sdkbindir -- %{?1}}/javac $PRIORITY  --family %{name}.%{_arch} \\
b6221f
  --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir -- %{?1}} \\
b6221f
%ifarch %{aot_arches}
b6221f
  --slave %{_bindir}/jaotc jaotc %{sdkbindir -- %{?1}}/jaotc \\
b6221f
%endif
b6221f
  --slave %{_bindir}/jlink jlink %{sdkbindir -- %{?1}}/jlink \\
b6221f
  --slave %{_bindir}/jmod jmod %{sdkbindir -- %{?1}}/jmod \\
b6221f
%ifarch %{jit_arches}
b6221f
%ifnarch s390x
b6221f
  --slave %{_bindir}/jhsdb jhsdb %{sdkbindir -- %{?1}}/jhsdb \\
b6221f
%endif
b6221f
%endif
b6221f
  --slave %{_bindir}/jar jar %{sdkbindir -- %{?1}}/jar \\
b6221f
  --slave %{_bindir}/jarsigner jarsigner %{sdkbindir -- %{?1}}/jarsigner \\
b6221f
  --slave %{_bindir}/javadoc javadoc %{sdkbindir -- %{?1}}/javadoc \\
b6221f
  --slave %{_bindir}/javap javap %{sdkbindir -- %{?1}}/javap \\
b6221f
  --slave %{_bindir}/jcmd jcmd %{sdkbindir -- %{?1}}/jcmd \\
b6221f
  --slave %{_bindir}/jconsole jconsole %{sdkbindir -- %{?1}}/jconsole \\
b6221f
  --slave %{_bindir}/jdb jdb %{sdkbindir -- %{?1}}/jdb \\
b6221f
  --slave %{_bindir}/jdeps jdeps %{sdkbindir -- %{?1}}/jdeps \\
b6221f
  --slave %{_bindir}/jdeprscan jdeprscan %{sdkbindir -- %{?1}}/jdeprscan \\
b6221f
  --slave %{_bindir}/jfr jfr %{sdkbindir -- %{?1}}/jfr \\
b6221f
  --slave %{_bindir}/jimage jimage %{sdkbindir -- %{?1}}/jimage \\
b6221f
  --slave %{_bindir}/jinfo jinfo %{sdkbindir -- %{?1}}/jinfo \\
b6221f
  --slave %{_bindir}/jmap jmap %{sdkbindir -- %{?1}}/jmap \\
b6221f
  --slave %{_bindir}/jps jps %{sdkbindir -- %{?1}}/jps \\
b6221f
  --slave %{_bindir}/jrunscript jrunscript %{sdkbindir -- %{?1}}/jrunscript \\
b6221f
  --slave %{_bindir}/jshell jshell %{sdkbindir -- %{?1}}/jshell \\
b6221f
  --slave %{_bindir}/jstack jstack %{sdkbindir -- %{?1}}/jstack \\
b6221f
  --slave %{_bindir}/jstat jstat %{sdkbindir -- %{?1}}/jstat \\
b6221f
  --slave %{_bindir}/jstatd jstatd %{sdkbindir -- %{?1}}/jstatd \\
b6221f
  --slave %{_bindir}/rmic rmic %{sdkbindir -- %{?1}}/rmic \\
b6221f
  --slave %{_bindir}/serialver serialver %{sdkbindir -- %{?1}}/serialver \\
b6221f
  --slave %{_mandir}/man1/jar.1$ext jar.1$ext \\
b6221f
  %{_mandir}/man1/jar-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \\
b6221f
  %{_mandir}/man1/jarsigner-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/javac.1$ext javac.1$ext \\
b6221f
  %{_mandir}/man1/javac-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \\
b6221f
  %{_mandir}/man1/javadoc-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/javap.1$ext javap.1$ext \\
b6221f
  %{_mandir}/man1/javap-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \\
b6221f
  %{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \\
b6221f
  %{_mandir}/man1/jconsole-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \\
b6221f
  %{_mandir}/man1/jdb-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/jdeps.1$ext jdeps.1$ext \\
b6221f
  %{_mandir}/man1/jdeps-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \\
b6221f
  %{_mandir}/man1/jinfo-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \\
b6221f
  %{_mandir}/man1/jmap-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/jps.1$ext jps.1$ext \\
b6221f
  %{_mandir}/man1/jps-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \\
b6221f
  %{_mandir}/man1/jrunscript-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \\
b6221f
  %{_mandir}/man1/jstack-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \\
b6221f
  %{_mandir}/man1/jstat-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \\
b6221f
  %{_mandir}/man1/jstatd-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \\
b6221f
  %{_mandir}/man1/rmic-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
  --slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \\
b6221f
  %{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1$ext \\
b6221f
b6221f
for X in %{origin} %{javaver} ; do
b6221f
  alternatives \\
b6221f
    --install %{_jvmdir}/java-"$X" java_sdk_"$X" %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY  --family %{name}.%{_arch}
b6221f
done
b6221f
b6221f
update-alternatives --install %{_jvmdir}/java-%{javaver}-%{origin} java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY  --family %{name}.%{_arch}
b6221f
b6221f
update-desktop-database %{_datadir}/applications &> /dev/null || :
b6221f
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
b6221f
b6221f
exit 0
b6221f
}
b6221f
b6221f
%define postun_devel() %{expand:
b6221f
  alternatives --remove javac %{sdkbindir -- %{?1}}/javac
b6221f
  alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
b6221f
  alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}}
b6221f
  alternatives --remove java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
b6221f
b6221f
update-desktop-database %{_datadir}/applications &> /dev/null || :
b6221f
b6221f
if [ $1 -eq 0 ] ; then
b6221f
    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
b6221f
    %{update_desktop_icons}
b6221f
fi
b6221f
exit 0
b6221f
}
b6221f
b6221f
%define posttrans_devel() %{expand:
b6221f
%{update_desktop_icons}
b6221f
}
b6221f
b6221f
%define post_javadoc() %{expand:
b6221f
b6221f
PRIORITY=%{priority}
b6221f
if [ "%{?1}" == %{debug_suffix} ]; then
b6221f
  let PRIORITY=PRIORITY-1
b6221f
fi
b6221f
b6221f
alternatives \\
b6221f
  --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api \\
b6221f
  $PRIORITY  --family %{name}
b6221f
exit 0
b6221f
}
b6221f
b6221f
%define postun_javadoc() %{expand:
b6221f
  alternatives --remove javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api
b6221f
exit 0
b6221f
}
b6221f
b6221f
%define post_javadoc_zip() %{expand:
b6221f
b6221f
PRIORITY=%{priority}
b6221f
if [ "%{?1}" == %{debug_suffix} ]; then
b6221f
  let PRIORITY=PRIORITY-1
b6221f
fi
b6221f
b6221f
alternatives \\
b6221f
  --install %{_javadocdir}/java-zip javadoczip %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip \\
b6221f
  $PRIORITY  --family %{name}
b6221f
exit 0
b6221f
}
b6221f
b6221f
%define postun_javadoc_zip() %{expand:
b6221f
  alternatives --remove javadoczip %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip
b6221f
exit 0
b6221f
}
b6221f
b6221f
%define files_jre() %{expand:
b6221f
%{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}-%{origin}.png
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsplashscreen.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt_xawt.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjawt.so
b6221f
}
b6221f
b6221f
b6221f
%define files_jre_headless() %{expand:
b6221f
%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
b6221f
%dir %{_sysconfdir}/.java/.systemPrefs
b6221f
%dir %{_sysconfdir}/.java
b6221f
%dir %{_jvmdir}/%{sdkdir -- %{?1}}
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/release
b6221f
%{_jvmdir}/%{jrelnk -- %{?1}}
b6221f
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/java
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jjs
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/keytool
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/pack200
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmid
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmiregistry
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/unpack200
b6221f
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib
b6221f
%ifarch %{jit_arches}
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/classlist
b6221f
%endif
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jexec
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jspawnhelper
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jrt-fs.jar
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/modules
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/psfont.properties.ja
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/psfontj2d.properties
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/tzdb.dat
b6221f
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jli
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jli/libjli.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jvm.cfg
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libattach.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libextnet.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjsig.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt_headless.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libdt_socket.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libfontmanager.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libinstrument.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2gss.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2pcsc.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2pkcs11.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjaas.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjava.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjavajpeg.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjdwp.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjimage.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjsound.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/liblcms.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement_agent.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement_ext.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmlib_image.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libnet.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libnio.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libprefs.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/librmi.so
b6221f
# Zero and S390x don't have SA
b6221f
%ifarch %{jit_arches}
b6221f
%ifnarch s390x
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsaproc.so
b6221f
%endif
b6221f
%endif
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsctp.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsunec.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libunpack.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libverify.so
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libzip.so
b6221f
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/default.jfc
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/profile.jfc
b6221f
%{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/jjs-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/pack200-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/rmid-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/unpack200-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/
b6221f
%ifarch %{jit_arches}
b6221f
%ifnarch %{power64}
b6221f
%attr(444, root, root) %ghost %{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/classes.jsa
b6221f
%endif
b6221f
%endif
b6221f
%dir %{etcjavasubdir}
b6221f
%dir %{etcjavadir -- %{?1}}
b6221f
%dir %{etcjavadir -- %{?1}}/lib
b6221f
%dir %{etcjavadir -- %{?1}}/lib/security
b6221f
%{etcjavadir -- %{?1}}/lib/security/cacerts
b6221f
%dir %{etcjavadir -- %{?1}}/conf
b6221f
%dir %{etcjavadir -- %{?1}}/conf/management
b6221f
%dir %{etcjavadir -- %{?1}}/conf/security
b6221f
%dir %{etcjavadir -- %{?1}}/conf/security/policy
b6221f
%dir %{etcjavadir -- %{?1}}/conf/security/policy/limited
b6221f
%dir %{etcjavadir -- %{?1}}/conf/security/policy/unlimited
b6221f
%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/default.policy
b6221f
%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/blacklisted.certs
b6221f
%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/public_suffix_list.dat
b6221f
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/exempt_local.policy
b6221f
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/default_local.policy
b6221f
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/default_US_export.policy
b6221f
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/unlimited/default_local.policy
b6221f
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/unlimited/default_US_export.policy
b6221f
 %{etcjavadir -- %{?1}}/conf/security/policy/README.txt
b6221f
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/java.policy
b6221f
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/java.security
b6221f
%config(noreplace) %{etcjavadir -- %{?1}}/conf/logging.properties
b6221f
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/nss.cfg
b6221f
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/nss.fips.cfg
b6221f
%config(noreplace) %{etcjavadir -- %{?1}}/conf/management/jmxremote.access
b6221f
# this is conifg template, thus not config-noreplace
b6221f
%config  %{etcjavadir -- %{?1}}/conf/management/jmxremote.password.template
b6221f
%config(noreplace) %{etcjavadir -- %{?1}}/conf/management/management.properties
b6221f
%config(noreplace) %{etcjavadir -- %{?1}}/conf/net.properties
b6221f
%config(noreplace) %{etcjavadir -- %{?1}}/conf/sound.properties
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/conf
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/security
b6221f
%if %is_system_jdk
b6221f
%if %{is_release_build -- %{?1}}
b6221f
%ghost %{_bindir}/java
b6221f
%ghost %{_jvmdir}/jre
b6221f
# https://bugzilla.redhat.com/show_bug.cgi?id=1312019
b6221f
%ghost %{_bindir}/jjs
b6221f
%ghost %{_bindir}/keytool
b6221f
%ghost %{_bindir}/pack200
b6221f
%ghost %{_bindir}/rmid
b6221f
%ghost %{_bindir}/rmiregistry
b6221f
%ghost %{_bindir}/unpack200
b6221f
%ghost %{_jvmdir}/jre-%{origin}
b6221f
%ghost %{_jvmdir}/jre-%{javaver}
b6221f
%ghost %{_jvmdir}/jre-%{javaver}-%{origin}
b6221f
%endif
b6221f
%endif
b6221f
}
b6221f
b6221f
%define files_devel() %{expand:
b6221f
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jar
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jarsigner
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javac
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javadoc
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javap
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jconsole
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jcmd
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdb
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeps
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeprscan
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jfr
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jimage
b6221f
# Zero and S390x don't have SA
b6221f
%ifarch %{jit_arches}
b6221f
%ifnarch s390x
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jhsdb
b6221f
%endif
b6221f
%endif
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jinfo
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jlink
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmap
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmod
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jps
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jrunscript
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jshell
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstack
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstat
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstatd
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmic
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/serialver
b6221f
%ifarch %{aot_arches}
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jaotc
b6221f
%endif
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/include
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/ct.sym
b6221f
%if %{with_systemtap}
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/tapset
b6221f
%endif
b6221f
%{_datadir}/applications/*jconsole%{?1}.desktop
b6221f
%{_mandir}/man1/jar-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/jarsigner-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/javac-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/javadoc-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/javap-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/jconsole-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/jdb-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/jdeps-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/jinfo-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/jmap-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/jps-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/jrunscript-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/jstack-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/jstat-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/jstatd-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/rmic-%{uniquesuffix -- %{?1}}.1*
b6221f
%{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1*
b6221f
%if %{with_systemtap}
b6221f
%dir %{tapsetroot}
b6221f
%dir %{tapsetdirttapset}
b6221f
%dir %{tapsetdir}
b6221f
%{tapsetdir}/*%{_arch}%{?1}.stp
b6221f
%endif
b6221f
%if %is_system_jdk
b6221f
%if %{is_release_build -- %{?1}}
b6221f
%ghost %{_bindir}/javac
b6221f
%ghost %{_jvmdir}/java
b6221f
%ghost %{_bindir}/jaotc
b6221f
%ghost %{_bindir}/jlink
b6221f
%ghost %{_bindir}/jmod
b6221f
%ghost %{_bindir}/jhsdb
b6221f
%ghost %{_bindir}/jar
b6221f
%ghost %{_bindir}/jarsigner
b6221f
%ghost %{_bindir}/javadoc
b6221f
%ghost %{_bindir}/javap
b6221f
%ghost %{_bindir}/jcmd
b6221f
%ghost %{_bindir}/jconsole
b6221f
%ghost %{_bindir}/jdb
b6221f
%ghost %{_bindir}/jdeps
b6221f
%ghost %{_bindir}/jdeprscan
b6221f
%ghost %{_bindir}/jimage
b6221f
%ghost %{_bindir}/jinfo
b6221f
%ghost %{_bindir}/jmap
b6221f
%ghost %{_bindir}/jps
b6221f
%ghost %{_bindir}/jrunscript
b6221f
%ghost %{_bindir}/jshell
b6221f
%ghost %{_bindir}/jstack
b6221f
%ghost %{_bindir}/jstat
b6221f
%ghost %{_bindir}/jstatd
b6221f
%ghost %{_bindir}/rmic
b6221f
%ghost %{_bindir}/serialver
b6221f
%ghost %{_jvmdir}/java-%{origin}
b6221f
%ghost %{_jvmdir}/java-%{javaver}
b6221f
%ghost %{_jvmdir}/java-%{javaver}-%{origin}
b6221f
%endif
b6221f
%endif
b6221f
}
b6221f
b6221f
%define files_jmods() %{expand:
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/jmods
b6221f
}
b6221f
b6221f
%define files_demo() %{expand:
b6221f
%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/demo
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/sample
b6221f
}
b6221f
b6221f
%define files_src() %{expand:
b6221f
%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
b6221f
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/src.zip
b6221f
}
b6221f
b6221f
%define files_javadoc() %{expand:
b6221f
%doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}
b6221f
%license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/legal
b6221f
%if %is_system_jdk
b6221f
%if %{is_release_build -- %{?1}}
b6221f
%ghost %{_javadocdir}/java
b6221f
%endif
b6221f
%endif
b6221f
}
b6221f
b6221f
%define files_javadoc_zip() %{expand:
b6221f
%doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip
b6221f
%license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/legal
b6221f
%if %is_system_jdk
b6221f
%if %{is_release_build -- %{?1}}
b6221f
%ghost %{_javadocdir}/java-zip
b6221f
%endif
b6221f
%endif
b6221f
}
b6221f
b6221f
# not-duplicated requires/provides/obsoletes for normal/debug packages
b6221f
%define java_rpo() %{expand:
b6221f
Requires: fontconfig%{?_isa}
b6221f
Requires: xorg-x11-fonts-Type1
b6221f
# Require libXcomposite explicitly since it's only dynamically loaded
b6221f
# at runtime. Fixes screenshot issues. See JDK-8150954.
b6221f
Requires: libXcomposite%{?_isa}
b6221f
# Requires rest of java
b6221f
Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
b6221f
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
b6221f
# for java-X-openjdk package's desktop binding
b6221f
%if 0%{?rhel} >= 8
b6221f
Recommends: gtk3%{?_isa}
b6221f
%endif
b6221f
b6221f
Provides: java-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
b6221f
b6221f
# Standard JPackage base provides
b6221f
Provides: jre-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
b6221f
Provides: jre-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
b6221f
Provides: java-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
b6221f
%if %is_system_jdk
b6221f
Provides: java-%{origin}%{?1} = %{epoch}:%{version}-%{release}
b6221f
Provides: jre-%{origin}%{?1} = %{epoch}:%{version}-%{release}
b6221f
Provides: java%{?1} = %{epoch}:%{version}-%{release}
b6221f
Provides: jre%{?1} = %{epoch}:%{version}-%{release}
b6221f
%endif
b6221f
}
b6221f
b6221f
%define java_headless_rpo() %{expand:
b6221f
# Require /etc/pki/java/cacerts
b6221f
Requires: ca-certificates
b6221f
# Require javapackages-filesystem for ownership of /usr/lib/jvm/ and macros
b6221f
Requires: javapackages-filesystem
b6221f
# Require zone-info data provided by tzdata-java sub-package
b6221f
Requires: tzdata-java >= 2015d
b6221f
# libsctp.so.1 is being `dlopen`ed on demand
b6221f
Requires: lksctp-tools%{?_isa}
b6221f
# tool to copy jdk's configs - should be Recommends only, but then only dnf/yum enforce it,
b6221f
# not rpm transaction and so no configs are persisted when pure rpm -u is run. It may be
b6221f
# considered as regression
b6221f
Requires: copy-jdk-configs >= 3.3
b6221f
OrderWithRequires: copy-jdk-configs
b6221f
# for printing support
b6221f
Requires: cups-libs
b6221f
# Post requires alternatives to install tool alternatives
b6221f
Requires(post):   %{_sbindir}/alternatives
b6221f
# in version 1.7 and higher for --family switch
b6221f
Requires(post):   chkconfig >= 1.7
b6221f
# Postun requires alternatives to uninstall tool alternatives
b6221f
Requires(postun): %{_sbindir}/alternatives
b6221f
# in version 1.7 and higher for --family switch
b6221f
Requires(postun):   chkconfig >= 1.7
b6221f
# for optional support of kernel stream control, card reader and printing bindings
b6221f
%if 0%{?rhel} >= 8
b6221f
Suggests: lksctp-tools%{?_isa}, pcsc-lite-devel%{?_isa}
b6221f
%endif
b6221f
b6221f
# Standard JPackage base provides
b6221f
Provides: jre-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
b6221f
Provides: jre-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release}
b6221f
Provides: java-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
b6221f
Provides: java-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release}
b6221f
%if %is_system_jdk
b6221f
Provides: java-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
b6221f
Provides: jre-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
b6221f
Provides: jre-headless%{?1} = %{epoch}:%{version}-%{release}
b6221f
Provides: java-headless%{?1} = %{epoch}:%{version}-%{release}
b6221f
%endif
b6221f
}
b6221f
b6221f
%define java_devel_rpo() %{expand:
b6221f
# Requires base package
b6221f
Requires:         %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
b6221f
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
b6221f
# Post requires alternatives to install tool alternatives
b6221f
Requires(post):   %{_sbindir}/alternatives
b6221f
# in version 1.7 and higher for --family switch
b6221f
Requires(post):   chkconfig >= 1.7
b6221f
# Postun requires alternatives to uninstall tool alternatives
b6221f
Requires(postun): %{_sbindir}/alternatives
b6221f
# in version 1.7 and higher for --family switch
b6221f
Requires(postun):   chkconfig >= 1.7
b6221f
b6221f
# Standard JPackage devel provides
b6221f
Provides: java-sdk-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
b6221f
Provides: java-sdk-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
b6221f
Provides: java-%{javaver}-devel%{?1} = %{epoch}:%{version}-%{release}
b6221f
Provides: java-%{javaver}-%{origin}-devel%{?1} = %{epoch}:%{version}-%{release}
b6221f
%if %is_system_jdk
b6221f
Provides: java-devel-%{origin}%{?1} = %{epoch}:%{version}-%{release}
b6221f
Provides: java-sdk-%{origin}%{?1} = %{epoch}:%{version}-%{release}
b6221f
Provides: java-devel%{?1} = %{epoch}:%{version}-%{release}
b6221f
Provides: java-sdk%{?1} = %{epoch}:%{version}-%{release}
b6221f
%endif
b6221f
}
b6221f
b6221f
%define java_jmods_rpo() %{expand:
b6221f
# Requires devel package
b6221f
# as jmods are bytecode, they should be OK without any _isa
b6221f
Requires:         %{name}-devel%{?1} = %{epoch}:%{version}-%{release}
b6221f
OrderWithRequires: %{name}-headless%{?1} = %{epoch}:%{version}-%{release}
b6221f
b6221f
Provides: java-%{javaver}-jmods%{?1} = %{epoch}:%{version}-%{release}
b6221f
Provides: java-%{javaver}-%{origin}-jmods%{?1} = %{epoch}:%{version}-%{release}
b6221f
%if %is_system_jdk
b6221f
Provides: java-jmods%{?1} = %{epoch}:%{version}-%{release}
b6221f
%endif
b6221f
}
b6221f
b6221f
%define java_demo_rpo() %{expand:
b6221f
Requires: %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
b6221f
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
b6221f
b6221f
Provides: java-%{javaver}-demo%{?1} = %{epoch}:%{version}-%{release}
b6221f
Provides: java-%{javaver}-%{origin}-demo%{?1} = %{epoch}:%{version}-%{release}
b6221f
%if %is_system_jdk
b6221f
Provides: java-demo%{?1} = %{epoch}:%{version}-%{release}
b6221f
%endif
b6221f
}
b6221f
b6221f
%define java_javadoc_rpo() %{expand:
b6221f
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
b6221f
# Post requires alternatives to install javadoc alternative
b6221f
Requires(post):   %{_sbindir}/alternatives
b6221f
# in version 1.7 and higher for --family switch
b6221f
Requires(post):   chkconfig >= 1.7
b6221f
# Postun requires alternatives to uninstall javadoc alternative
b6221f
Requires(postun): %{_sbindir}/alternatives
b6221f
# in version 1.7 and higher for --family switch
b6221f
Requires(postun):   chkconfig >= 1.7
b6221f
b6221f
# Standard JPackage javadoc provides
b6221f
Provides: java-%{javaver}-javadoc%{?1} = %{epoch}:%{version}-%{release}
b6221f
Provides: java-%{javaver}-%{origin}-javadoc%{?1} = %{epoch}:%{version}-%{release}
b6221f
%if %is_system_jdk
b6221f
Provides: java-javadoc%{?1} = %{epoch}:%{version}-%{release}
b6221f
%endif
b6221f
}
b6221f
b6221f
%define java_src_rpo() %{expand:
b6221f
Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
b6221f
b6221f
# Standard JPackage sources provides
b6221f
Provides: java-%{javaver}-src%{?1} = %{epoch}:%{version}-%{release}
b6221f
Provides: java-%{javaver}-%{origin}-src%{?1} = %{epoch}:%{version}-%{release}
b6221f
%if %is_system_jdk
b6221f
Provides: java-src%{?1} = %{epoch}:%{version}-%{release}
b6221f
%endif
b6221f
}
b6221f
b6221f
# Prevent brp-java-repack-jars from being run
b6221f
%global __jar_repack 0
b6221f
b6221f
Name:    java-%{javaver}-%{origin}
b6221f
Version: %{newjavaver}.%{buildver}
b6221f
Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist}
b6221f
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons
b6221f
# and this change was brought into RHEL-4. java-1.5.0-ibm packages
b6221f
# also included the epoch in their virtual provides. This created a
b6221f
# situation where in-the-wild java-1.5.0-ibm packages provided "java =
b6221f
# 1:1.5.0". In RPM terms, "1.6.0 < 1:1.5.0" since 1.6.0 is
b6221f
# interpreted as 0:1.6.0. So the "java >= 1.6.0" requirement would be
b6221f
# satisfied by the 1:1.5.0 packages. Thus we need to set the epoch in
b6221f
# JDK package >= 1.6.0 to 1, and packages referring to JDK virtual
b6221f
# provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0".
b6221f
b6221f
Epoch:   1
b6221f
Summary: %{origin_nice} Runtime Environment %{majorver}
b6221f
Group:   Development/Languages
b6221f
b6221f
# HotSpot code is licensed under GPLv2
b6221f
# JDK library code is licensed under GPLv2 with the Classpath exception
b6221f
# The Apache license is used in code taken from Apache projects (primarily xalan & xerces)
b6221f
# DOM levels 2 & 3 and the XML digital signature schemas are licensed under the W3C Software License
b6221f
# The JSR166 concurrency code is in the public domain
b6221f
# The BSD and MIT licenses are used for a number of third-party libraries (see ADDITIONAL_LICENSE_INFO)
b6221f
# The OpenJDK source tree includes:
b6221f
# - JPEG library (IJG), zlib & libpng (zlib), giflib (MIT), harfbuzz (ISC),
b6221f
# - freetype (FTL), jline (BSD) and LCMS (MIT)
b6221f
# - jquery (MIT), jdk.crypto.cryptoki PKCS 11 wrapper (RSA)
b6221f
# - public_suffix_list.dat from publicsuffix.org (MPLv2.0)
b6221f
# The test code includes copies of NSS under the Mozilla Public License v2.0
b6221f
# The PCSClite headers are under a BSD with advertising license
b6221f
# The elliptic curve cryptography (ECC) source code is licensed under the LGPLv2.1 or any later version
b6221f
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
b6221f
URL:      http://openjdk.java.net/
b6221f
b6221f
b6221f
# to regenerate source0 (jdk) run update_package.sh
b6221f
# update_package.sh contains hard-coded repos, revisions, tags, and projects to regenerate the source archives
b6221f
Source0: shenandoah-jdk%{majorver}-shenandoah-jdk-%{newjavaver}+%{buildver}%{?tagsuffix:-%{tagsuffix}}-4curve.tar.xz
b6221f
b6221f
# Use 'icedtea_sync.sh' to update the following
b6221f
# They are based on code contained in the IcedTea project (3.x).
b6221f
# Systemtap tapsets. Zipped up to keep it small.
b6221f
Source8: tapsets-icedtea-%{icedteaver}.tar.xz
b6221f
b6221f
# Desktop files. Adapted from IcedTea
b6221f
Source9: jconsole.desktop.in
b6221f
b6221f
# nss configuration file
b6221f
Source11: nss.cfg.in
b6221f
b6221f
# Removed libraries that we link instead
b6221f
Source12: remove-intree-libraries.sh
b6221f
b6221f
# Ensure we aren't using the limited crypto policy
b6221f
Source13: TestCryptoLevel.java
b6221f
b6221f
# Ensure ECDSA is working
b6221f
Source14: TestECDSA.java
b6221f
b6221f
# nss fips configuration file
b6221f
Source15: nss.fips.cfg.in
b6221f
b6221f
############################################
b6221f
#
b6221f
# RPM/distribution specific patches
b6221f
#
b6221f
############################################
b6221f
b6221f
# Ignore AWTError when assistive technologies are loaded
b6221f
Patch1:    rh1648242-accessible_toolkit_crash_do_not_break_jvm.patch
b6221f
# Restrict access to java-atk-wrapper classes
b6221f
Patch2:    rh1648644-java_access_bridge_privileged_security.patch
b6221f
# NSS via SunPKCS11 Provider (disabled due to memory leak).
b6221f
Patch1000: rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch
b6221f
# RH1655466: Support RHEL FIPS mode using SunPKCS11 provider
b6221f
Patch1001: rh1655466-global_crypto_and_fips.patch
b6221f
b6221f
#############################################
b6221f
#
b6221f
# Shenandoah specific patches
b6221f
#
b6221f
#############################################
b6221f
# JDK-8237396: JvmtiTagMap::weak_oops_do() should not trigger barriers
b6221f
Patch10: jdk8237396-avoid_triggering_barriers.patch
b6221f
b6221f
# Currently empty
b6221f
b6221f
#############################################
b6221f
#
b6221f
# Upstreamable patches
b6221f
#
b6221f
# This section includes patches which need to
b6221f
# be reviewed & pushed to the current development
b6221f
# tree of OpenJDK.
b6221f
#############################################
b6221f
b6221f
Patch3:    rh649512-remove_uses_of_far_in_jpeg_libjpeg_turbo_1_4_compat_for_jdk10_and_up.patch
b6221f
# PR3694, RH1340845: Add security.useSystemPropertiesFile option to java.security to use system crypto policy
b6221f
Patch4: pr3694-rh1340845-support_fedora_rhel_system_crypto_policy.patch
b6221f
# RH1566890: CVE-2018-3639
b6221f
Patch6:    rh1566890-CVE_2018_3639-speculative_store_bypass.patch
b6221f
# PR3695: Allow use of system crypto policy to be disabled by the user
b6221f
Patch7: pr3695-toggle_system_crypto_policy.patch
b6221f
# S390 ambiguous log2_intptr call
b6221f
Patch8: s390-8214206_fix.patch
b6221f
# JDK-8236039: JSSE Client does not accept status_request extension in CertificateRequest messages for TLS 1.3
b6221f
Patch9: jdk8236039-status_request_extension.patch
b6221f
b6221f
#############################################
b6221f
#
b6221f
# JDK 9+ only patches
b6221f
#
b6221f
#############################################
b6221f
b6221f
BuildRequires: autoconf
b6221f
BuildRequires: automake
b6221f
BuildRequires: alsa-lib-devel
b6221f
BuildRequires: binutils
b6221f
BuildRequires: cups-devel
b6221f
BuildRequires: desktop-file-utils
b6221f
# elfutils only are OK for build without AOT
b6221f
BuildRequires: elfutils-devel
b6221f
BuildRequires: fontconfig-devel
b6221f
BuildRequires: freetype-devel
b6221f
BuildRequires: giflib-devel
b6221f
BuildRequires: gcc-c++
b6221f
BuildRequires: gdb
b6221f
BuildRequires: lcms2-devel
b6221f
BuildRequires: libjpeg-devel
b6221f
BuildRequires: libpng-devel
b6221f
BuildRequires: libxslt
b6221f
BuildRequires: libX11-devel
b6221f
BuildRequires: libXi-devel
b6221f
BuildRequires: libXinerama-devel
b6221f
BuildRequires: libXrandr-devel
b6221f
BuildRequires: libXrender-devel
b6221f
BuildRequires: libXt-devel
b6221f
BuildRequires: libXtst-devel
b6221f
# Requirements for setting up the nss.cfg
b6221f
BuildRequires: nss-devel
b6221f
BuildRequires: pkgconfig
b6221f
BuildRequires: xorg-x11-proto-devel
b6221f
BuildRequires: zip
b6221f
BuildRequires: unzip
b6221f
BuildRequires: javapackages-filesystem
b6221f
BuildRequires: java-%{buildjdkver}-openjdk-devel
b6221f
# Zero-assembler build requirement
b6221f
%ifnarch %{jit_arches}
b6221f
BuildRequires: libffi-devel
b6221f
%endif
b6221f
BuildRequires: tzdata-java >= 2015d
b6221f
# Earlier versions have a bug in tree vectorization on PPC
b6221f
BuildRequires: gcc >= 4.8.3-8
b6221f
b6221f
%if %{with_systemtap}
b6221f
BuildRequires: systemtap-sdt-devel
b6221f
%endif
b6221f
b6221f
# this is always built, also during debug-only build
b6221f
# when it is built in debug-only this package is just placeholder
b6221f
%{java_rpo %{nil}}
b6221f
b6221f
%description
b6221f
The %{origin_nice} runtime environment.
b6221f
b6221f
%if %{include_debug_build}
b6221f
%package slowdebug
b6221f
Summary: %{origin_nice} Runtime Environment %{majorver} %{debug_on}
b6221f
Group:   Development/Languages
b6221f
b6221f
%{java_rpo -- %{debug_suffix_unquoted}}
b6221f
%description slowdebug
b6221f
The %{origin_nice} runtime environment.
b6221f
%{debug_warning}
b6221f
%endif
b6221f
b6221f
%if %{include_normal_build}
b6221f
%package headless
b6221f
Summary: %{origin_nice} Headless Runtime Environment %{majorver}
b6221f
Group:   Development/Languages
b6221f
b6221f
%{java_headless_rpo %{nil}}
b6221f
b6221f
%description headless
b6221f
The %{origin_nice} runtime environment %{majorver} without audio and video support.
b6221f
%endif
b6221f
b6221f
%if %{include_debug_build}
b6221f
%package headless-slowdebug
b6221f
Summary: %{origin_nice} Runtime Environment %{debug_on}
b6221f
Group:   Development/Languages
b6221f
b6221f
%{java_headless_rpo -- %{debug_suffix_unquoted}}
b6221f
b6221f
%description headless-slowdebug
b6221f
The %{origin_nice} runtime environment %{majorver} without audio and video support.
b6221f
%{debug_warning}
b6221f
%endif
b6221f
b6221f
%if %{include_normal_build}
b6221f
%package devel
b6221f
Summary: %{origin_nice} Development Environment %{majorver}
b6221f
Group:   Development/Tools
b6221f
b6221f
%{java_devel_rpo %{nil}}
b6221f
b6221f
%description devel
b6221f
The %{origin_nice} development tools %{majorver}.
b6221f
%endif
b6221f
b6221f
%if %{include_debug_build}
b6221f
%package devel-slowdebug
b6221f
Summary: %{origin_nice} Development Environment %{majorver} %{debug_on}
b6221f
Group:   Development/Tools
b6221f
b6221f
%{java_devel_rpo -- %{debug_suffix_unquoted}}
b6221f
b6221f
%description devel-slowdebug
b6221f
The %{origin_nice} development tools %{majorver}.
b6221f
%{debug_warning}
b6221f
%endif
b6221f
b6221f
%if %{include_normal_build}
b6221f
%package jmods
b6221f
Summary: JMods for %{origin_nice} %{majorver}
b6221f
Group:   Development/Tools
b6221f
b6221f
%{java_jmods_rpo %{nil}}
b6221f
b6221f
%description jmods
b6221f
The JMods for %{origin_nice}.
b6221f
%endif
b6221f
b6221f
%if %{include_debug_build}
b6221f
%package jmods-slowdebug
b6221f
Summary: JMods for %{origin_nice} %{majorver} %{debug_on}
b6221f
Group:   Development/Tools
b6221f
b6221f
%{java_jmods_rpo -- %{debug_suffix_unquoted}}
b6221f
b6221f
%description jmods-slowdebug
b6221f
The JMods for %{origin_nice} %{majorver}.
b6221f
%{debug_warning}
b6221f
%endif
b6221f
b6221f
%if %{include_normal_build}
b6221f
%package demo
b6221f
Summary: %{origin_nice} Demos %{majorver}
b6221f
Group:   Development/Languages
b6221f
b6221f
%{java_demo_rpo %{nil}}
b6221f
b6221f
%description demo
b6221f
The %{origin_nice} demos %{majorver}.
b6221f
%endif
b6221f
b6221f
%if %{include_debug_build}
b6221f
%package demo-slowdebug
b6221f
Summary: %{origin_nice} Demos %{majorver} %{debug_on}
b6221f
Group:   Development/Languages
b6221f
b6221f
%{java_demo_rpo -- %{debug_suffix_unquoted}}
b6221f
b6221f
%description demo-slowdebug
b6221f
The %{origin_nice} demos %{majorver}.
b6221f
%{debug_warning}
b6221f
%endif
b6221f
b6221f
%if %{include_normal_build}
b6221f
%package src
b6221f
Summary: %{origin_nice} Source Bundle %{majorver}
b6221f
Group:   Development/Languages
b6221f
b6221f
%{java_src_rpo %{nil}}
b6221f
b6221f
%description src
b6221f
The java-%{origin}-src sub-package contains the complete %{origin_nice} %{majorver}
b6221f
class library source code for use by IDE indexers and debuggers.
b6221f
%endif
b6221f
b6221f
%if %{include_debug_build}
b6221f
%package src-slowdebug
b6221f
Summary: %{origin_nice} Source Bundle %{majorver} %{for_debug}
b6221f
Group:   Development/Languages
b6221f
b6221f
%{java_src_rpo -- %{debug_suffix_unquoted}}
b6221f
b6221f
%description src-slowdebug
b6221f
The java-%{origin}-src-slowdebug sub-package contains the complete %{origin_nice} %{majorver}
b6221f
 class library source code for use by IDE indexers and debuggers. Debugging %{for_debug}.
b6221f
%endif
b6221f
b6221f
%if %{include_normal_build}
b6221f
%package javadoc
b6221f
Summary: %{origin_nice} %{majorver} API documentation
b6221f
Group:   Documentation
b6221f
Requires: javapackages-filesystem
b6221f
Obsoletes: javadoc-debug
b6221f
b6221f
%{java_javadoc_rpo %{nil}}
b6221f
b6221f
%description javadoc
b6221f
The %{origin_nice} %{majorver} API documentation.
b6221f
%endif
b6221f
b6221f
%if %{include_normal_build}
b6221f
%package javadoc-zip
b6221f
Summary: %{origin_nice} %{majorver} API documentation compressed in single archive
b6221f
Group:   Documentation
b6221f
Requires: javapackages-filesystem
b6221f
Obsoletes: javadoc-zip-debug
b6221f
b6221f
%{java_javadoc_rpo %{nil}}
b6221f
b6221f
%description javadoc-zip
b6221f
The %{origin_nice} %{majorver} API documentation compressed in single archive.
b6221f
%endif
b6221f
b6221f
%prep
b6221f
b6221f
# Using the echo macro breaks rpmdev-bumpspec, as it parses the first line of stdout :-(
b6221f
%if 0%{?stapinstall:1}
b6221f
  echo "CPU: %{_target_cpu}, arch install directory: %{archinstall}, SystemTap install directory: %{stapinstall}"
b6221f
%else
b6221f
  %{error:Unrecognised architecture %{_target_cpu}}
b6221f
%endif
b6221f
b6221f
if [ %{include_normal_build} -eq 0 -o  %{include_normal_build} -eq 1 ] ; then
b6221f
  echo "include_normal_build is %{include_normal_build}"
b6221f
else
b6221f
  echo "include_normal_build is %{include_normal_build}, thats invalid. Use 1 for yes or 0 for no"
b6221f
  exit 11
b6221f
fi
b6221f
if [ %{include_debug_build} -eq 0 -o  %{include_debug_build} -eq 1 ] ; then
b6221f
  echo "include_debug_build is %{include_debug_build}"
b6221f
else
b6221f
  echo "include_debug_build is %{include_debug_build}, thats invalid. Use 1 for yes or 0 for no"
b6221f
  exit 12
b6221f
fi
b6221f
if [ %{include_debug_build} -eq 0 -a  %{include_normal_build} -eq 0 ] ; then
b6221f
  echo "You have disabled both include_debug_build and include_normal_build. That is a no go."
b6221f
  exit 13
b6221f
fi
b6221f
%setup -q -c -n %{uniquesuffix ""} -T -a 0
b6221f
# https://bugzilla.redhat.com/show_bug.cgi?id=1189084
b6221f
prioritylength=`expr length %{priority}`
b6221f
if [ $prioritylength -ne 8 ] ; then
b6221f
 echo "priority must be 8 digits in total, violated"
b6221f
 exit 14
b6221f
fi
b6221f
b6221f
# OpenJDK patches
b6221f
b6221f
# Remove libraries that are linked
b6221f
sh %{SOURCE12}
b6221f
pushd %{top_level_dir_name}
b6221f
%patch1 -p1
b6221f
%patch2 -p1
b6221f
%patch3 -p1
b6221f
%patch4 -p1
b6221f
%patch6 -p1
b6221f
%patch7 -p1
b6221f
%patch8 -p1
b6221f
%patch9 -p1
b6221f
%patch10 -p1
b6221f
popd # openjdk
b6221f
b6221f
%patch1000
b6221f
%patch1001
b6221f
b6221f
# Extract systemtap tapsets
b6221f
%if %{with_systemtap}
b6221f
tar --strip-components=1 -x -I xz -f %{SOURCE8}
b6221f
%if %{include_debug_build}
b6221f
cp -r tapset tapset%{debug_suffix}
b6221f
%endif
b6221f
b6221f
b6221f
for suffix in %{build_loop} ; do
b6221f
  for file in "tapset"$suffix/*.in; do
b6221f
    OUTPUT_FILE=`echo $file | sed -e "s:\.stp\.in$:-%{version}-%{release}.%{_arch}.stp:g"`
b6221f
    sed -e "s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/server/libjvm.so:g" $file > $file.1
b6221f
# TODO find out which architectures other than i686 have a client vm
b6221f
%ifarch %{ix86}
b6221f
    sed -e "s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/client/libjvm.so:g" $file.1 > $OUTPUT_FILE
b6221f
%else
b6221f
    sed -e "/@ABS_CLIENT_LIBJVM_SO@/d" $file.1 > $OUTPUT_FILE
b6221f
%endif
b6221f
    sed -i -e "s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir -- $suffix}:g" $OUTPUT_FILE
b6221f
    sed -i -e "s:@INSTALL_ARCH_DIR@:%{archinstall}:g" $OUTPUT_FILE
b6221f
    sed -i -e "s:@prefix@:%{_jvmdir}/%{sdkdir -- $suffix}/:g" $OUTPUT_FILE
b6221f
  done
b6221f
done
b6221f
# systemtap tapsets ends
b6221f
%endif
b6221f
b6221f
# Prepare desktop files
b6221f
# The _X_ syntax indicates variables that are replaced by make upstream
b6221f
# The @X@ syntax indicates variables that are replaced by configure upstream
b6221f
for suffix in %{build_loop} ; do
b6221f
for file in %{SOURCE9}; do
b6221f
    FILE=`basename $file | sed -e s:\.in$::g`
b6221f
    EXT="${FILE##*.}"
b6221f
    NAME="${FILE%.*}"
b6221f
    OUTPUT_FILE=$NAME$suffix.$EXT
b6221f
    sed    -e  "s:_SDKBINDIR_:%{sdkbindir -- $suffix}:g" $file > $OUTPUT_FILE
b6221f
    sed -i -e  "s:@target_cpu@:%{_arch}:g" $OUTPUT_FILE
b6221f
    sed -i -e  "s:@OPENJDK_VER@:%{version}-%{release}.%{_arch}$suffix:g" $OUTPUT_FILE
b6221f
    sed -i -e  "s:@JAVA_VER@:%{javaver}:g" $OUTPUT_FILE
b6221f
    sed -i -e  "s:@JAVA_VENDOR@:%{origin}:g" $OUTPUT_FILE
b6221f
done
b6221f
done
b6221f
b6221f
# Setup nss.cfg
b6221f
sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE11} > nss.cfg
b6221f
b6221f
# Setup nss.fips.cfg
b6221f
sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE15} > nss.fips.cfg
b6221f
sed -i -e "s:@NSS_SECMOD@:/etc/pki/nssdb:g" nss.fips.cfg
b6221f
b6221f
%build
b6221f
# How many CPU's do we have?
b6221f
export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :)
b6221f
export NUM_PROC=${NUM_PROC:-1}
b6221f
%if 0%{?_smp_ncpus_max}
b6221f
# Honor %%_smp_ncpus_max
b6221f
[ ${NUM_PROC} -gt %{?_smp_ncpus_max} ] && export NUM_PROC=%{?_smp_ncpus_max}
b6221f
%endif
b6221f
b6221f
%ifarch s390x sparc64 alpha %{power64} %{aarch64}
b6221f
export ARCH_DATA_MODEL=64
b6221f
%endif
b6221f
%ifarch alpha
b6221f
export CFLAGS="$CFLAGS -mieee"
b6221f
%endif
b6221f
b6221f
# We use ourcppflags because the OpenJDK build seems to
b6221f
# pass EXTRA_CFLAGS to the HotSpot C++ compiler...
b6221f
# Explicitly set the C++ standard as the default has changed on GCC >= 6
b6221f
EXTRA_CFLAGS="%ourcppflags -std=gnu++98 -Wno-error -fno-delete-null-pointer-checks -fno-lifetime-dse"
b6221f
EXTRA_CPP_FLAGS="%ourcppflags -std=gnu++98 -fno-delete-null-pointer-checks -fno-lifetime-dse"
b6221f
b6221f
%ifarch %{power64} ppc
b6221f
# fix rpmlint warnings
b6221f
EXTRA_CFLAGS="$EXTRA_CFLAGS -fno-strict-aliasing"
b6221f
%endif
b6221f
export EXTRA_CFLAGS
b6221f
b6221f
for suffix in %{build_loop} ; do
b6221f
if [ "x$suffix" = "x" ] ; then
b6221f
  debugbuild=release
b6221f
else
b6221f
  # change --something to something
b6221f
  debugbuild=`echo $suffix  | sed "s/-//g"`
b6221f
fi
b6221f
b6221f
# Variable used in hs_err hook on build failures
b6221f
top_dir_abs_path=$(pwd)/%{top_level_dir_name}
b6221f
b6221f
mkdir -p %{buildoutputdir -- $suffix}
b6221f
pushd %{buildoutputdir -- $suffix}
b6221f
b6221f
bash ../configure \
b6221f
%ifnarch %{jit_arches}
b6221f
    --with-jvm-variants=zero \
b6221f
%endif
b6221f
%ifarch %{ppc64le}
b6221f
    --with-jobs=1 \
b6221f
%endif
b6221f
    --with-version-build=%{buildver} \
b6221f
    --with-version-pre="%{ea_designator}" \
b6221f
    --with-version-opt=%{lts_designator} \
b6221f
    --with-vendor-version-string="%{vendor_version_string}" \
b6221f
    --with-boot-jdk=/usr/lib/jvm/java-%{buildjdkver}-openjdk \
b6221f
    --with-debug-level=$debugbuild \
b6221f
    --with-native-debug-symbols=internal \
b6221f
    --enable-unlimited-crypto \
b6221f
    --with-zlib=system \
b6221f
    --with-libjpeg=system \
b6221f
    --with-giflib=system \
b6221f
    --with-libpng=system \
b6221f
    --with-lcms=system \
b6221f
    --with-stdc++lib=dynamic \
b6221f
    --with-extra-cxxflags="$EXTRA_CPP_FLAGS" \
b6221f
    --with-extra-cflags="$EXTRA_CFLAGS" \
b6221f
    --with-extra-ldflags="%{ourldflags}" \
b6221f
    --with-num-cores="$NUM_PROC" \
b6221f
    --disable-javac-server \
b6221f
%ifarch x86_64
b6221f
    --with-jvm-features=zgc \
b6221f
%endif
b6221f
    --disable-warnings-as-errors
b6221f
b6221f
# Debug builds don't need same targets as release for
b6221f
# build speed-up
b6221f
maketargets="%{release_targets}"
b6221f
if echo $debugbuild | grep -q "debug" ; then
b6221f
  maketargets="%{debug_targets}"
b6221f
fi
b6221f
make \
b6221f
    JAVAC_FLAGS=-g \
b6221f
    LOG=trace \
b6221f
    WARNINGS_ARE_ERRORS="-Wno-error" \
b6221f
    CFLAGS_WARNINGS_ARE_ERRORS="-Wno-error" \
b6221f
    $maketargets || ( pwd; find $top_dir_abs_path -name "hs_err_pid*.log" | xargs cat && false )
b6221f
b6221f
# the build (erroneously) removes read permissions from some jars
b6221f
# this is a regression in OpenJDK 7 (our compiler):
b6221f
# http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
b6221f
find images/%{jdkimage} -iname '*.jar' -exec chmod ugo+r {} \;
b6221f
b6221f
# Build screws up permissions on binaries
b6221f
# https://bugs.openjdk.java.net/browse/JDK-8173610
b6221f
find images/%{jdkimage} -iname '*.so' -exec chmod +x {} \;
b6221f
find images/%{jdkimage}/bin/ -exec chmod +x {} \;
b6221f
b6221f
popd >& /dev/null
b6221f
b6221f
# Install nss.cfg right away as we will be using the JRE above
b6221f
export JAVA_HOME=$(pwd)/%{buildoutputdir -- $suffix}/images/%{jdkimage}
b6221f
b6221f
# Install nss.cfg right away as we will be using the JRE above
b6221f
install -m 644 nss.cfg $JAVA_HOME/conf/security/
b6221f
b6221f
# Install nss.fips.cfg: NSS configuration for global FIPS mode (crypto-policies)
b6221f
install -m 644 nss.fips.cfg $JAVA_HOME/conf/security/
b6221f
b6221f
# Use system-wide tzdata
b6221f
rm $JAVA_HOME/lib/tzdb.dat
b6221f
ln -s %{_datadir}/javazi-1.8/tzdb.dat $JAVA_HOME/lib/tzdb.dat
b6221f
b6221f
# build cycles
b6221f
done
b6221f
b6221f
%check
b6221f
b6221f
# We test debug first as it will give better diagnostics on a crash
b6221f
for suffix in %{rev_build_loop} ; do
b6221f
b6221f
export JAVA_HOME=$(pwd)/%{buildoutputdir -- $suffix}/images/%{jdkimage}
b6221f
b6221f
#check Shenandoah is enabled
b6221f
%if %{use_shenandoah_hotspot}
b6221f
$JAVA_HOME//bin/java -XX:+UseShenandoahGC -version
b6221f
%endif
b6221f
b6221f
# Check unlimited policy has been used
b6221f
$JAVA_HOME/bin/javac -d . %{SOURCE13}
b6221f
$JAVA_HOME/bin/java --add-opens java.base/javax.crypto=ALL-UNNAMED TestCryptoLevel
b6221f
b6221f
# Check ECC is working
b6221f
$JAVA_HOME/bin/javac -d . %{SOURCE14}
b6221f
$JAVA_HOME/bin/java $(echo $(basename %{SOURCE14})|sed "s|\.java||")
b6221f
b6221f
# Check debug symbols are present and can identify code
b6221f
find "$JAVA_HOME" -iname '*.so' -print0 | while read -d $'\0' lib
b6221f
do
b6221f
  if [ -f "$lib" ] ; then
b6221f
    echo "Testing $lib for debug symbols"
b6221f
    # All these tests rely on RPM failing the build if the exit code of any set
b6221f
    # of piped commands is non-zero.
b6221f
b6221f
    # Test for .debug_* sections in the shared object. This is the main test
b6221f
    # Stripped objects will not contain these
b6221f
    eu-readelf -S "$lib" | grep "] .debug_"
b6221f
    test $(eu-readelf -S "$lib" | grep -E "\]\ .debug_(info|abbrev)" | wc --lines) == 2
b6221f
b6221f
    # Test FILE symbols. These will most likely be removed by anything that
b6221f
    # manipulates symbol tables because it's generally useless. So a nice test
b6221f
    # that nothing has messed with symbols
b6221f
    old_IFS="$IFS"
b6221f
    IFS=$'\n'
b6221f
    for line in $(eu-readelf -s "$lib" | grep "00000000      0 FILE    LOCAL  DEFAULT")
b6221f
    do
b6221f
     # We expect to see .cpp files, except for architectures like aarch64 and
b6221f
     # s390 where we expect .o and .oS files
b6221f
      echo "$line" | grep -E "ABS ((.*/)?[-_a-zA-Z0-9]+\.(c|cc|cpp|cxx|o|oS))?$"
b6221f
    done
b6221f
    IFS="$old_IFS"
b6221f
b6221f
    # If this is the JVM, look for javaCalls.(cpp|o) in FILEs, for extra sanity checking
b6221f
    if [ "`basename $lib`" = "libjvm.so" ]; then
b6221f
      eu-readelf -s "$lib" | \
b6221f
        grep -E "00000000      0 FILE    LOCAL  DEFAULT      ABS javaCalls.(cpp|o)$"
b6221f
    fi
b6221f
b6221f
    # Test that there are no .gnu_debuglink sections pointing to another
b6221f
    # debuginfo file. There shouldn't be any debuginfo files, so the link makes
b6221f
    # no sense either
b6221f
    eu-readelf -S "$lib" | grep 'gnu'
b6221f
    if eu-readelf -S "$lib" | grep '] .gnu_debuglink' | grep PROGBITS; then
b6221f
      echo "bad .gnu_debuglink section."
b6221f
      eu-readelf -x .gnu_debuglink "$lib"
b6221f
      false
b6221f
    fi
b6221f
  fi
b6221f
done
b6221f
b6221f
# Make sure gdb can do a backtrace based on line numbers on libjvm.so
b6221f
# javaCalls.cpp:58 should map to:
b6221f
# http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/ff3b27e6bcc2/src/share/vm/runtime/javaCalls.cpp#l58 
b6221f
# Using line number 1 might cause build problems. See:
b6221f
# https://bugzilla.redhat.com/show_bug.cgi?id=1539664
b6221f
# https://bugzilla.redhat.com/show_bug.cgi?id=1538767
b6221f
gdb -q "$JAVA_HOME/bin/java" <
b6221f
handle SIGSEGV pass nostop noprint
b6221f
handle SIGILL pass nostop noprint
b6221f
set breakpoint pending on
b6221f
break javaCalls.cpp:1
b6221f
commands 1
b6221f
backtrace
b6221f
quit
b6221f
end
b6221f
run -version
b6221f
EOF
b6221f
grep 'JavaCallWrapper::JavaCallWrapper' gdb.out
b6221f
b6221f
# Check src.zip has all sources. See RHBZ#1130490
b6221f
jar -tf $JAVA_HOME/lib/src.zip | grep 'sun.misc.Unsafe'
b6221f
b6221f
# Check class files include useful debugging information
b6221f
$JAVA_HOME/bin/javap -l java.lang.Object | grep "Compiled from"
b6221f
$JAVA_HOME/bin/javap -l java.lang.Object | grep LineNumberTable
b6221f
$JAVA_HOME/bin/javap -l java.lang.Object | grep LocalVariableTable
b6221f
b6221f
# Check generated class files include useful debugging information
b6221f
$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep "Compiled from"
b6221f
$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LineNumberTable
b6221f
$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LocalVariableTable
b6221f
b6221f
# build cycles check
b6221f
done
b6221f
b6221f
%install
b6221f
STRIP_KEEP_SYMTAB=libjvm*
b6221f
b6221f
for suffix in %{build_loop} ; do
b6221f
b6221f
# Install the jdk
b6221f
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
b6221f
cp -a %{buildoutputdir -- $suffix}/images/%{jdkimage} \
b6221f
  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}
b6221f
b6221f
pushd %{buildoutputdir $suffix}/images/%{jdkimage}
b6221f
b6221f
%if %{with_systemtap}
b6221f
  # Install systemtap support files
b6221f
  install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset
b6221f
  # note, that uniquesuffix  is in BUILD dir in this case
b6221f
  cp -a $RPM_BUILD_DIR/%{uniquesuffix ""}/tapset$suffix/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/
b6221f
  pushd  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/
b6221f
   tapsetFiles=`ls *.stp`
b6221f
  popd
b6221f
  install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir}
b6221f
  for name in $tapsetFiles ; do
b6221f
    targetName=`echo $name | sed "s/.stp/$suffix.stp/"`
b6221f
    ln -sf %{_jvmdir}/%{sdkdir -- $suffix}/tapset/$name $RPM_BUILD_ROOT%{tapsetdir}/$targetName
b6221f
  done
b6221f
%endif
b6221f
b6221f
  # Remove empty cacerts database
b6221f
  rm -f $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/security/cacerts
b6221f
  # Install cacerts symlink needed by some apps which hard-code the path
b6221f
  pushd $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/security
b6221f
      ln -sf /etc/pki/java/cacerts .
b6221f
  popd
b6221f
b6221f
  # Install version-ed symlinks
b6221f
  pushd $RPM_BUILD_ROOT%{_jvmdir}
b6221f
    ln -sf %{sdkdir -- $suffix} %{jrelnk -- $suffix}
b6221f
  popd
b6221f
b6221f
b6221f
  # Install man pages
b6221f
  install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
b6221f
  for manpage in man/man1/*
b6221f
  do
b6221f
    # Convert man pages to UTF8 encoding
b6221f
    iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
b6221f
    mv -f $manpage.tmp $manpage
b6221f
    install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename \
b6221f
      $manpage .1)-%{uniquesuffix -- $suffix}.1
b6221f
  done
b6221f
  # Remove man pages from jdk image
b6221f
  rm -rf $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/man
b6221f
b6221f
popd
b6221f
b6221f
b6221f
if ! echo $suffix | grep -q "debug" ; then
b6221f
  # Install Javadoc documentation
b6221f
  install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
b6221f
  cp -a %{buildoutputdir $suffix}/images/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir $suffix}
b6221f
  cp -a %{buildoutputdir -- $suffix}/bundles/jdk-%{newjavaver}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip
b6221f
fi
b6221f
b6221f
# Install icons and menu entries
b6221f
for s in 16 24 32 48 ; do
b6221f
  install -D -p -m 644 \
b6221f
    %{top_level_dir_name}/src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png \
b6221f
    $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}-%{origin}.png
b6221f
done
b6221f
b6221f
# Install desktop files
b6221f
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps}
b6221f
for e in jconsole$suffix ; do
b6221f
    desktop-file-install --vendor=%{uniquesuffix -- $suffix} --mode=644 \
b6221f
        --dir=$RPM_BUILD_ROOT%{_datadir}/applications $e.desktop
b6221f
done
b6221f
b6221f
# Install /etc/.java/.systemPrefs/ directory
b6221f
# See https://bugzilla.redhat.com/show_bug.cgi?id=741821
b6221f
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/.java/.systemPrefs
b6221f
b6221f
# copy samples next to demos; samples are mostly js files
b6221f
cp -r %{top_level_dir_name}/src/sample  $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/
b6221f
b6221f
b6221f
# moving config files to /etc
b6221f
mkdir -p $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}
b6221f
mkdir -p $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}/lib
b6221f
mv $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/conf/  $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}
b6221f
mv $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/lib/security  $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}/lib
b6221f
pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}
b6221f
  ln -s %{etcjavadir -- $suffix}/conf  ./conf
b6221f
popd
b6221f
pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/lib
b6221f
  ln -s %{etcjavadir -- $suffix}/lib/security  ./security
b6221f
popd
b6221f
# end moving files to /etc
b6221f
b6221f
# stabilize permissions
b6221f
find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -name "*.so" -exec chmod 755 {} \; ; 
b6221f
find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -type d -exec chmod 755 {} \; ; 
b6221f
find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/legal -type f -exec chmod 644 {} \; ; 
b6221f
b6221f
# end, dual install
b6221f
done
b6221f
b6221f
%if %{include_normal_build}
b6221f
# intentionally only for non-debug
b6221f
%pretrans headless -p <lua>
b6221f
-- see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
b6221f
-- see https://bugzilla.redhat.com/show_bug.cgi?id=1290388 for pretrans over pre
b6221f
-- if copy-jdk-configs is in transaction, it installs in pretrans to temp
b6221f
-- if copy_jdk_configs is in temp, then it means that copy-jdk-configs is in transaction  and so is
b6221f
-- preferred over one in %%{_libexecdir}. If it is not in transaction, then depends
b6221f
-- whether copy-jdk-configs is installed or not. If so, then configs are copied
b6221f
-- (copy_jdk_configs from %%{_libexecdir} used) or not copied at all
b6221f
local posix = require "posix"
b6221f
local debug = false
b6221f
b6221f
SOURCE1 = "%{rpm_state_dir}/copy_jdk_configs.lua"
b6221f
SOURCE2 = "%{_libexecdir}/copy_jdk_configs.lua"
b6221f
b6221f
local stat1 = posix.stat(SOURCE1, "type");
b6221f
local stat2 = posix.stat(SOURCE2, "type");
b6221f
b6221f
  if (stat1 ~= nil) then
b6221f
  if (debug) then
b6221f
    print(SOURCE1 .." exists - copy-jdk-configs in transaction, using this one.")
b6221f
  end;
b6221f
  package.path = package.path .. ";" .. SOURCE1
b6221f
else
b6221f
  if (stat2 ~= nil) then
b6221f
  if (debug) then
b6221f
    print(SOURCE2 .." exists - copy-jdk-configs already installed and NOT in transaction. Using.")
b6221f
  end;
b6221f
  package.path = package.path .. ";" .. SOURCE2
b6221f
  else
b6221f
    if (debug) then
b6221f
      print(SOURCE1 .." does NOT exists")
b6221f
      print(SOURCE2 .." does NOT exists")
b6221f
      print("No config files will be copied")
b6221f
    end
b6221f
  return
b6221f
  end
b6221f
end
b6221f
-- run content of included file with fake args
b6221f
arg = {"--currentjvm", "%{uniquesuffix %{nil}}", "--jvmdir", "%{_jvmdir %{nil}}", "--origname", "%{name}", "--origjavaver", "%{javaver}", "--arch", "%{_arch}", "--temp", "%{rpm_state_dir}/%{name}.%{_arch}"}
b6221f
require "copy_jdk_configs.lua"
b6221f
b6221f
%post
b6221f
%{post_script %{nil}}
b6221f
b6221f
%post headless
b6221f
%{post_headless %{nil}}
b6221f
b6221f
%postun
b6221f
%{postun_script %{nil}}
b6221f
b6221f
%postun headless
b6221f
%{postun_headless %{nil}}
b6221f
b6221f
%posttrans
b6221f
%{posttrans_script %{nil}}
b6221f
b6221f
%post devel
b6221f
%{post_devel %{nil}}
b6221f
b6221f
%postun devel
b6221f
%{postun_devel %{nil}}
b6221f
b6221f
%posttrans  devel
b6221f
%{posttrans_devel %{nil}}
b6221f
b6221f
%post javadoc
b6221f
%{post_javadoc %{nil}}
b6221f
b6221f
%postun javadoc
b6221f
%{postun_javadoc %{nil}}
b6221f
b6221f
%post javadoc-zip
b6221f
%{post_javadoc_zip %{nil}}
b6221f
b6221f
%postun javadoc-zip
b6221f
%{postun_javadoc_zip %{nil}}
b6221f
%endif
b6221f
b6221f
%if %{include_debug_build}
b6221f
%post slowdebug
b6221f
%{post_script -- %{debug_suffix_unquoted}}
b6221f
b6221f
%post headless-slowdebug
b6221f
%{post_headless -- %{debug_suffix_unquoted}}
b6221f
b6221f
%postun slowdebug
b6221f
%{postun_script -- %{debug_suffix_unquoted}}
b6221f
b6221f
%postun headless-slowdebug
b6221f
%{postun_headless -- %{debug_suffix_unquoted}}
b6221f
b6221f
%posttrans slowdebug
b6221f
%{posttrans_script -- %{debug_suffix_unquoted}}
b6221f
b6221f
%post devel-slowdebug
b6221f
%{post_devel -- %{debug_suffix_unquoted}}
b6221f
b6221f
%postun devel-slowdebug
b6221f
%{postun_devel -- %{debug_suffix_unquoted}}
b6221f
b6221f
%posttrans  devel-slowdebug
b6221f
%{posttrans_devel -- %{debug_suffix_unquoted}}
b6221f
b6221f
%endif
b6221f
b6221f
%if %{include_normal_build}
b6221f
%files
b6221f
# main package builds always
b6221f
%{files_jre %{nil}}
b6221f
%else
b6221f
%files
b6221f
# placeholder
b6221f
%endif
b6221f
b6221f
b6221f
%if %{include_normal_build}
b6221f
%files headless
b6221f
# important note, see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
b6221f
# all config/noreplace files (and more) have to be declared in pretrans. See pretrans
b6221f
%{files_jre_headless %{nil}}
b6221f
b6221f
%files devel
b6221f
%{files_devel %{nil}}
b6221f
b6221f
%files jmods
b6221f
%{files_jmods %{nil}}
b6221f
b6221f
%files demo
b6221f
%{files_demo %{nil}}
b6221f
b6221f
%files src
b6221f
%{files_src %{nil}}
b6221f
b6221f
%files javadoc
b6221f
%{files_javadoc %{nil}}
b6221f
b6221f
# this puts huge file to /usr/share
b6221f
# unluckily ti is really a documentation file
b6221f
# and unluckily it really is architecture-dependent, as eg. aot and grail are now x86_64 only
b6221f
# same for debug variant
b6221f
%files javadoc-zip
b6221f
%{files_javadoc_zip %{nil}}
b6221f
%endif
b6221f
b6221f
%if %{include_debug_build}
b6221f
%files slowdebug
b6221f
%{files_jre -- %{debug_suffix_unquoted}}
b6221f
b6221f
%files headless-slowdebug
b6221f
%{files_jre_headless -- %{debug_suffix_unquoted}}
b6221f
b6221f
%files devel-slowdebug
b6221f
%{files_devel -- %{debug_suffix_unquoted}}
b6221f
b6221f
%files jmods-slowdebug
b6221f
%{files_jmods -- %{debug_suffix_unquoted}}
b6221f
b6221f
%files demo-slowdebug
b6221f
%{files_demo -- %{debug_suffix_unquoted}}
b6221f
b6221f
%files src-slowdebug
b6221f
%{files_src -- %{debug_suffix_unquoted}}
b6221f
b6221f
%endif
b6221f
b6221f
%changelog
b6221f
* Fri Mar 27 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.6.10-4
b6221f
- Need to support noarch for creating source RPMs for non-scratch builds.
b6221f
- Resolves: rhbz#1737115
b6221f
b6221f
* Thu Mar 19 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.6.10-4
b6221f
- Introduce stapinstall variable to set SystemTap arch directory correctly (e.g. arm64 on aarch64)
b6221f
- Resolves: rhbz#1737115
b6221f
b6221f
* Sun Feb 23 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.6.10-3
b6221f
- Sync SystemTap & desktop files with upstream IcedTea release 3.15.0
b6221f
- Resolves: rhbz#1737115
b6221f
b6221f
* Sun Feb 23 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.6.10-3
b6221f
- Sync SystemTap & desktop files with upstream IcedTea release 3.11.0 using new script
b6221f
- Resolves: rhbz#1737115
b6221f
b6221f
* Sun Feb 16 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.6.10-2
b6221f
- Add JDK-8237396 backport to resolve Shenandoah TCK breakage in traversal mode.
b6221f
- Resolves: rhbz#1785753
b6221f
b6221f
* Sat Jan 11 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.6.10-1
b6221f
- Update to shenandoah-jdk-11.0.6+10 (GA)
b6221f
- Switch to GA mode for final release.
b6221f
- Add JDK-8236039 backport to resolve OpenShift blocker
b6221f
- Resolves: rhbz#1785753
b6221f
b6221f
* Thu Jan 09 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.6.1-0.1.ea
b6221f
- Update to shenandoah-jdk-11.0.6+1 (EA)
b6221f
- Switch to EA mode for 11.0.6 pre-release builds.
b6221f
- Add support for jfr binary.
b6221f
- Drop JDK-8230923 now applied upstream.
b6221f
- Resolves: rhbz#1785753
b6221f
b6221f
* Wed Jan 08 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.5.10-6
b6221f
- Update generate_source_tarball.sh script to use the PR3751 patch and retain the secp256k1 curve.
b6221f
- Regenerate source tarball using the updated script and add the -'4curve' suffix.
b6221f
- Resolves: rhbz#1746875
b6221f
b6221f
* Thu Jan 02 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.5.10-5
b6221f
- Revert SSBD removal for now, until appropriate messaging has been decided.
b6221f
- Resolves: rhbz#1784116
b6221f
b6221f
* Fri Dec 27 2019 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.5.10-4
b6221f
- Remove CVE-2018-3639 mitigation due to performance regression and
b6221f
    OpenJDK position on speculative execution vulnerabilities.
b6221f
    https://mail.openjdk.java.net/pipermail/vuln-announce/2019-July/000002.html
b6221f
- Resolves: rhbz#1784116
b6221f
b6221f
* Wed Nov 06 2019 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.5.10-3
b6221f
- Bump release number for RHEL 8.2.0.
b6221f
- Resolves: rhbz#1753423
b6221f
b6221f
* Fri Oct 25 2019 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.5.10-2
b6221f
- Disable FIPS mode support unless com.redhat.fips is set to "true".
b6221f
- Resolves: rhbz#1751845
b6221f
b6221f
* Wed Oct 09 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.5.10-1
b6221f
- Update to shenandoah-jdk-11.0.5+10 (GA)
b6221f
- Switch to GA mode for final release.
b6221f
- Remove PR1834/RH1022017 which is now handled by JDK-8228825 upstream.
b6221f
- Resolves: rhbz#1753423
b6221f
b6221f
* Wed Oct 09 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.5.9-0.0.ea
b6221f
- Update to shenandoah-jdk-11.0.5+9 (EA)
b6221f
- Resolves: rhbz#1753423
b6221f
b6221f
* Mon Oct 07 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.5.1-0.1.ea
b6221f
- Update to shenandoah-jdk-11.0.5+1 (EA)
b6221f
- Switch to EA mode for 11.0.5 pre-release builds.
b6221f
- Drop JDK-8223482 which is included upstream in 11.0.5+1.
b6221f
- Resolves: rhbz#1753423
b6221f
b6221f
* Mon Sep 30 2019 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.4.11-4
b6221f
- Backport JDK-8230923 so arguments are passed to security providers.
b6221f
- Update RH1655466 patch with changes in OpenJDK 8 version.
b6221f
- SunPKCS11 runtime provider name is a concatenation of "SunPKCS11-" and the name in the config file.
b6221f
- Change nss.fips.cfg config name to "NSS-FIPS" to avoid confusion with nss.cfg.
b6221f
- No need to substitute path to nss.fips.cfg as java.security file supports a java.home variable.
b6221f
- Resolves: rhbz#1751845
b6221f
b6221f
* Tue Aug 13 2019 Martin Balao <mbalao@redhat.com> - 1:11.0.4.11-3
b6221f
- Support the FIPS mode crypto policy on RHEL 8.
b6221f
- Resolves: rhbz#1725961
b6221f
b6221f
* Tue Jul 09 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.4.11-2
b6221f
- Drop NSS runtime dependencies and patches to link against it.
b6221f
- Resolves: rhbz#1678554
b6221f
b6221f
* Tue Jul 09 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.4.11-1
b6221f
- Update to shenandoah-jdk-11.0.4+11 (GA)
b6221f
- Switch to GA mode for final release.
b6221f
- Resolves: rhbz#1724452
b6221f
b6221f
* Mon Jul 08 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.4.10-0.1.ea
b6221f
- Update to shenandoah-jdk-11.0.4+10 (EA)
b6221f
- Resolves: rhbz#1724452
b6221f
b6221f
* Mon Jul 08 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.4.9-0.1.ea
b6221f
- Update to shenandoah-jdk-11.0.4+9 (EA)
b6221f
- Resolves: rhbz#1724452
b6221f
b6221f
* Mon Jul 08 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.4.8-0.1.ea
b6221f
- Update to shenandoah-jdk-11.0.4+8 (EA)
b6221f
- Resolves: rhbz#1724452
b6221f
b6221f
* Sun Jul 07 2019 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.4.7-0.2.ea
b6221f
- fontconfig build requirement should be fontconfig-devel, previously masked by Gtk3+ dependency
b6221f
- Resolves: rhbz#1724452
b6221f
b6221f
* Sun Jul 07 2019 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.4.7-0.2.ea
b6221f
- Add missing build requirement for libXrandr-devel, previously masked by Gtk3+ dependency
b6221f
- Resolves: rhbz#1724452
b6221f
b6221f
* Sun Jul 07 2019 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.4.7-0.2.ea
b6221f
- Add missing build requirement for libXrender-devel, previously masked by Gtk3+ dependency
b6221f
- Resolves: rhbz#1724452
b6221f
b6221f
* Sun Jul 07 2019 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.4.7-0.2.ea
b6221f
- Make use of Recommends and Suggests dependent on RHEL 8+ environment.
b6221f
- Drop unnecessary build requirement on gtk3-devel, as OpenJDK searches for Gtk+ at runtime.
b6221f
- Resolves: rhbz#1724452
b6221f
b6221f
* Sun Jul 07 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.4.7-0.1.ea
b6221f
- Update to shenandoah-jdk-11.0.4+7 (EA)
b6221f
- Resolves: rhbz#1724452
b6221f
b6221f
* Wed Jul 03 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.4.6-0.1.ea
b6221f
- Obsolete javadoc-debug and javadoc-debug-zip packages via javadoc and javadoc-zip respectively.
b6221f
- Resolves: rhbz#1724452
b6221f
b6221f
* Wed Jul 03 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.4.6-0.1.ea
b6221f
- Update to shenandoah-jdk-11.0.4+6 (EA)
b6221f
- Resolves: rhbz#1724452
b6221f
b6221f
* Wed Jul 03 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.4.5-0.1.ea
b6221f
- Update to shenandoah-jdk-11.0.4+5 (EA)
b6221f
- Resolves: rhbz#1724452
b6221f
b6221f
* Tue Jul 02 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.4.4-0.1.ea
b6221f
- Update to shenandoah-jdk-11.0.4+4 (EA)
b6221f
- Resolves: rhbz#1724452
b6221f
b6221f
* Mon Jul 01 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.4.3-0.1.ea
b6221f
- Update to shenandoah-jdk-11.0.4+3 (EA)
b6221f
- Resolves: rhbz#1724452
b6221f
b6221f
* Sun Jun 30 2019 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.4.2-0.1.ea
b6221f
- Update to shenandoah-jdk-11.0.4+2 (EA)
b6221f
- Resolves: rhbz#1724452
b6221f
b6221f
* Fri Jun 21 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.4.2-0.1.ea
b6221f
- Package jspawnhelper (see JDK-8220360).
b6221f
- Resolves: rhbz#1724452
b6221f
b6221f
* Fri Jun 21 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.3.7-5
b6221f
- Include 'ea' designator in Release when appropriate.
b6221f
- Resolves: rhbz#1724452
b6221f
b6221f
* Wed May 22 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.3.7-5
b6221f
- Handle milestone as variables so we can alter it easily and set the docs zip filename appropriately.
b6221f
- Resolves: rhbz#1724452
b6221f
b6221f
* Thu Apr 25 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.3.7-4
b6221f
- Don't build the test images needlessly.
b6221f
- Don't produce javadoc/javadoc-zip sub packages for the debug variant build.
b6221f
- Don't perform a bootcycle build for the debug variant build.
b6221f
- Resolves: rhbz#1724452
b6221f
b6221f
* Wed Apr 24 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.3.7-3
b6221f
- Do not generate lib-style requires for -slowdebug subpackages.
b6221f
- Resolves: rhbz#1693468
b6221f
b6221f
* Tue Apr 23 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.3.7-3
b6221f
- Fix requires/provides for the non-system JDK case. JDK 11 is not a system JDK at this point.
b6221f
- Resolves: rhbz#1693468
b6221f
b6221f
* Tue Apr 16 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.3.7-2
b6221f
- Don't package lib/client and lib/client/classes.jsa which don't exist (see RH1643469)
b6221f
- Resolves: rhbz#1693468
b6221f
b6221f
* Sun Apr 07 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.3.7-1
b6221f
- Update to shenandoah-jdk-11.0.3+7 (April 2019 GA)
b6221f
- Resolves: rhbz#1693468
b6221f
b6221f
* Sat Apr 06 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.3.6-1
b6221f
- Update to shenandoah-jdk-11.0.3+6 (April 2019 EA)
b6221f
- Drop JDK-8210416/RH1632174 applied upstream.
b6221f
- Drop JDK-8210425/RH1632174 applied upstream.
b6221f
- Drop JDK-8210647/RH1632174 applied upstream.
b6221f
- Drop JDK-8210761/RH1632174 applied upstream.
b6221f
- Drop JDK-8210703/RH1632174 applied upstream.
b6221f
- Add cast to resolve s390 ambiguity in call to log2_intptr
b6221f
- Resolves: rhbz#1693468
b6221f
b6221f
* Fri Apr 05 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.2.7-4
b6221f
- Add patch for RH1566890
b6221f
- Resolves: rhbz#1693468
b6221f
b6221f
* Tue Mar 26 2019 Jiri Vanek <jvanek@redhat.com> - 1:11.0.2.7-3
b6221f
- added gating
b6221f
b6221f
* Fri Feb 08 2019 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.2.7-2
b6221f
- Add explicit requirement for libXcomposite which is used when performing
b6221f
  screenshots from Java.
b6221f
- Add explicit BR unzip required for building OpenJDK.
b6221f
- Resolves: rhbz#1666532
b6221f
b6221f
* Thu Feb 07 2019 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.2.7-1
b6221f
- Add PR3695 to allow the system crypto policy to be turned off.
b6221f
- Correct original system crypto policy patch to refer to OpenJDK 11 bug (PR3694)
b6221f
- Resolves: rhbz#1666532
b6221f
b6221f
* Tue Jan 15 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.2.7-0
b6221f
- Update to shenandoah-jdk-11.0.2+7 (January 2019 CPU)
b6221f
- Drop JDK-8211105/RH1628612/RH1630996 applied upstream.
b6221f
- Drop JDK-8209639/RH1640127 applied upstream.
b6221f
- Re-generate JDK-8210416/RH1632174 following JDK-8209786
b6221f
- Resolves: rhbz#1666532
b6221f
- Resolves: rhbz#1659143
b6221f
b6221f
* Fri Jan 11 2019 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.1.13-11
b6221f
- Update to shenandoah-jdk-11.0.1+13-20190101
b6221f
- Update tarball generation script in preparation for PR3681/RH1656677 SunEC changes.
b6221f
- Use remove-intree-libraries.sh to remove the remaining SunEC code for now.
b6221f
- Fix PR1983 SunEC patch so that ecc_impl.h is patched rather than added
b6221f
- Add missing RH1022017 patch to reduce curves reported by SSL to those we support.
b6221f
- Remove RH1648995; fixed upstream
b6221f
- Resolves: rhbz#1659143
b6221f
b6221f
* Wed Dec 5 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.1.13-9
b6221f
- for non debug supackages, ghosted all masters and slaves (rhbz1649776)
b6221f
- for tech-preview packages, if-outed versionless provides. Aligned versions to be %%{epoch}:%%{version}-%%{release} instead of chaotic
b6221f
- Removed all slowdebug provides (rhbz1655938); for tech-preview packages also removed all internal provides
b6221f
b6221f
* Wed Dec 5 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.1.13-8
b6221f
- Added %%global _find_debuginfo_opts -g
b6221f
- Resolves: rhbz#1657335
b6221f
b6221f
* Mon Nov 12 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.1.13-6
b6221f
- fixed tck failures of arraycopy and process exec with shenandoah on
b6221f
- added patch585 rh1648995-shenandoah_array_copy_broken_by_not_always_copy_forward_for_disjoint_arrays.patch
b6221f
b6221f
* Wed Nov 07 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.1.13-5
b6221f
- headless' suggests of cups, replaced by Requires of cups-libs
b6221f
b6221f
* Thu Nov 01 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.1.13-3
b6221f
- added Patch584 jdk8209639-rh1640127-02-coalesce_attempted_spill_non_spillable.patch
b6221f
b6221f
* Mon Oct 29 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.1.13-3
b6221f
- Use upstream's version of Aarch64 intrinsics disable patch:
b6221f
  - Removed:
b6221f
    RHBZ-1628612-JDK-8210461-workaround-disable-aarch64-intrinsic.patch
b6221f
    RHBZ-1630996-JDK-8210858-workaround-disable-aarch64-intrinsic-log.patch
b6221f
  - Superceded by:
b6221f
    jdk8211105-aarch64-disable_cos_sin_and_log_intrinsics.patch
b6221f
b6221f
* Thu Oct 18 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.1.13-2
b6221f
- Use LTS designator in version output for RHEL.
b6221f
b6221f
* Thu Oct 18 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.1.13-1
b6221f
- Update to October 2018 CPU release, 11.0.1+13.
b6221f
b6221f
* Wed Oct 17 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.0.28-2
b6221f
- Use --with-vendor-version-string=18.9 so as to show original
b6221f
  GA date for the JDK.
b6221f
b6221f
* Fri Sep 28 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.0.28-1
b6221f
- Identify as GA version and no longer as early access (EA).
b6221f
- JDK 11 has been released for GA on 2018-09-25.
b6221f
b6221f
* Fri Sep 28 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.28-9
b6221f
- Rework changes from 1:11.0.ea.22-6. RHBZ#1632174 supercedes
b6221f
  RHBZ-1624122.
b6221f
- Add patch, jdk8210416-rh1632174-compile_fdlibm_with_o2_ffp_contract_off_on_gcc_clang_arches.patch, so as to
b6221f
  optimize compilation of fdlibm library.
b6221f
- Add patch, jdk8210425-rh1632174-sharedRuntimeTrig_sharedRuntimeTrans_compiled_without_optimization.patch, so
b6221f
  as to optimize compilation of sharedRuntime{Trig,Trans}.cpp
b6221f
- Add patch, jdk8210647-rh1632174-libsaproc_is_being_compiled_without_optimization.patch, so as to
b6221f
  optimize compilation of libsaproc (extra c flags won't override
b6221f
  optimization).
b6221f
- Add patch, jdk8210761-rh1632174-libjsig_is_being_compiled_without_optimization.patch, so as to
b6221f
  optimize compilation of libjsig.
b6221f
- Add patch, jdk8210703-rh1632174-vmStructs_cpp_no_longer_compiled_with_o0, so as to
b6221f
  optimize compilation of vmStructs.cpp (part of libjvm.so).
b6221f
- Reinstate filtering of opt flags coming from redhat-rpm-config.
b6221f
b6221f
* Thu Sep 27 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.28-8
b6221f
- removed version less provides
b6221f
- javadocdir moved to arched dir as it is no longer noarch
b6221f
b6221f
* Thu Sep 20 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.28-6
b6221f
- Add patch, RHBZ-1630996-JDK-8210858-workaround-disable-aarch64-intrinsic-log.patch,
b6221f
  so as to disable log math intrinsic on aarch64. Work-around for
b6221f
  JDK-8210858
b6221f
b6221f
* Thu Sep 13 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.28-5
b6221f
- Add patch, RHBZ-1628612-JDK-8210461-workaround-disable-aarch64-intrinsic.patch,
b6221f
  so as to disable dsin/dcos math intrinsics on aarch64. Work-around for
b6221f
  JDK-8210461.
b6221f
b6221f
* Wed Sep 12 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.22-6
b6221f
- Add patch, JDK-8210416-RHBZ-1624122-fdlibm-opt-fix.patch, so as to
b6221f
  optimize compilation of fdlibm library.
b6221f
- Add patch, JDK-8210425-RHBZ-1624122-sharedRuntimeTrig-opt-fix.patch, so
b6221f
  as to optimize compilation of sharedRuntime{Trig,Trans}.cpp
b6221f
- Add patch, JDK-8210647-RHBZ-1624122-libsaproc-opt-fix.patch, so as to
b6221f
  optimize compilation of libsaproc (extra c flags won't override
b6221f
  optimization).
b6221f
- Add patch, JDK-8210703-RHBZ-1624122-vmStructs-opt-fix.patch, so as to
b6221f
  optimize compilation of vmStructs.cpp (part of libjvm.so).
b6221f
- No longer filter -O flags from C flags coming from
b6221f
  redhat-rpm-config.
b6221f
b6221f
* Mon Sep 10 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.28-4
b6221f
- link to jhsdb followed its file to ifarch jit_arches ifnarch s390x
b6221f
b6221f
* Fri Sep 7 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.28-3
b6221f
- Enable ZGC on x86_64.
b6221f
b6221f
* Tue Sep 4 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.28-2
b6221f
- jfr/*jfc files listed for all arches
b6221f
- lib/classlist do not exists s390, ifarch-ed via jit_arches out
b6221f
b6221f
* Fri Aug 31 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.28-1
b6221f
- Update to latest upstream build jdk11+28, the first release
b6221f
  candidate.
b6221f
b6221f
* Wed Aug 29 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.22-8
b6221f
- Adjust system NSS patch, pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_jdk11.patch, so
b6221f
  as to filter -Wl,--as-needed from linker flags. Fixes FTBFS issue.
b6221f
b6221f
* Thu Aug 23 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.22-6
b6221f
- dissabled accessibility, fixed provides for main package's debug variant
b6221f
b6221f
* Mon Jul 30 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.22-5
b6221f
- now buildrequires javapackages-filesystem as the  issue with macros should be fixed
b6221f
b6221f
* Wed Jul 18 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.22-2
b6221f
- changed to build by itself instead of by jdk10
b6221f
b6221f
* Tue Jul 17 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.22-1
b6221f
- added Recommends gtk3 for main package
b6221f
- changed BuildRequires from gtk2-devel to gtk3-devel (it can be more likely dropped)
b6221f
- added Suggests lksctp-tools, pcsc-lite-devel, cups for headless package
b6221f
- see RHBZ1598152
b6221f
- added trick to catch hs_err files (sgehwolf)
b6221f
- updated to shenandaoh-jdk-11+22
b6221f
b6221f
* Sat Jul 07 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.20-1
b6221f
- removed patch6 JDK-8205616-systemLcmsAndJpgFixFor-rev_f0aeede1b855.patch
b6221f
- improved a bit generate_source_tarball.sh to serve also for systemtap
b6221f
- thus deleted generate_tapsets.sh
b6221f
- simplified and cleared update_package.sh
b6221f
- moved to single source jdk - from shenandoah/jdk11
b6221f
- bumped to latest jdk11+20
b6221f
- adapted PR2126 to jdk11+20
b6221f
- adapted handling of systemtap sources to new style
b6221f
- (no (misleading) version inside (full version is in name), thus different sed on tapsets and different directory)
b6221f
- shortened summaries and descriptions to around 80 chars
b6221f
- Hunspell spell checked
b6221f
- license fixed to correct jdk11 (sgehwolf)
b6221f
- more correct handling of internal libraries (sgehwolf)
b6221f
- added lib/security/public_suffix_list.dat as +20 have added it (JDK-8201815)
b6221f
- added test for shenandaoh GC presence where expected
b6221f
- Removed workaround for broken aarch64 slowdebug build
b6221f
- Removed all defattrs
b6221f
- Removed no longer necessary cleanup of diz and  debuginfo files
b6221f
b6221f
* Fri Jun 22 2018 Jiri Vanek <jvanek@redhat.com> - 1:11.0.ea.19-1
b6221f
- updated sources to jdk-11+19
b6221f
- added patch6 systemLcmsAndJpgFixFor-f0aeede1b855.patch to fix regression of system libraries after f0aeede1b855 commit
b6221f
- adapted pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_jdk11.patch to accommodate changes after f0aeede1b855 commit
b6221f
b6221f
* Thu Jun 14 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.16-5
b6221f
- Revert rename: java-11-openjdk => java-openjdk.
b6221f
b6221f
* Wed Jun 13 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.16-4
b6221f
- Add aarch64 to aot_arches.
b6221f
b6221f
* Wed Jun 13 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.16-3
b6221f
- Rename to package java-11-openjdk.
b6221f
b6221f
* Wed Jun 13 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.16-2
b6221f
- Disable Aarch64 slowdebug build (see JDK-8204331).
b6221f
- s390x doesn't have the SA even though it's a JIT arch.
b6221f
b6221f
* Wed Jun 13 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.ea.16-1
b6221f
- Initial version of JDK 11 ea based on tag jdk-11+16.
b6221f
- Removed patches no longer needed or upstream:
b6221f
  sorted-diff.patch (see JDK-8198844)
b6221f
  JDK-8201788-bootcycle-images-jobs.patch
b6221f
  JDK-8201509-s390-atomic_store.patch
b6221f
  JDK-8202262-libjsig.so-extra-link-flags.patch (never was an issue on 11)
b6221f
  JDK-8193802-npe-jar-getVersionMap.patch
b6221f
- Updated and renamed patches:
b6221f
  java-openjdk-s390-size_t.patch => JDK-8203030-s390-size_t.patch
b6221f
- Updated patches for JDK 11:
b6221f
  pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_jdk11.patch
b6221f
b6221f
* Tue Jun 12 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.1.10-9
b6221f
- Use proper private_libs expression for filtering requires/provides.
b6221f
b6221f
* Fri Jun 08 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.1.10-8
b6221f
- Bump release and rebuild for fixed gdb. See RHBZ#1589118.
b6221f
b6221f
* Mon Jun 04 2018 Jiri Vanek <jvanek@redhat.com> - 1:10.0.1.10-7
b6221f
- quoted sed expressions, changed possibly confusing # by @
b6221f
- added vendor(origin) into icons
b6221f
- removed last trace of relative symlinks
b6221f
- added BuildRequires of javapackages-tools to fix build failure after Requires change to javapackages-filesystem
b6221f
b6221f
* Thu May 17 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.1.10-5
b6221f
- Move to javapackages-filesystem for directory ownership.
b6221f
  Resolves RHBZ#1500288
b6221f
b6221f
* Mon Apr 30 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.1.10-4
b6221f
- Add JDK-8193802-npe-jar-getVersionMap.patch so as to fix
b6221f
  RHBZ#1557375.
b6221f
b6221f
* Mon Apr 23 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.1.10-3
b6221f
- Inject build flags properly. See RHBZ#1571359
b6221f
- Added patch JDK-8202262-libjsig.so-extra-link-flags.patch
b6221f
  since libjsig.so doesn't get linker flags injected properly.
b6221f
b6221f
* Fri Apr 20 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.1.10-2
b6221f
- Removed unneeded patches:
b6221f
  PStack-808293.patch
b6221f
  multiple-pkcs11-library-init.patch
b6221f
  ppc_stack_overflow_fix.patch 
b6221f
- Added patches for s390 Zero builds:
b6221f
  JDK-8201495-s390-java-opts.patch
b6221f
  JDK-8201509-s390-atomic_store.patch
b6221f
- Renamed patches for clarity:
b6221f
  aarch64BuildFailure.patch => JDK-8200556-aarch64-slowdebug-crash.patch
b6221f
  systemCryptoPolicyPR3183.patch => pr3183-rh1340845-support_fedora_rhel_system_crypto_policy.patch
b6221f
  bootcycle_jobs.patch => JDK-8201788-bootcycle-images-jobs.patch
b6221f
  system-nss-ec-rh1565658.patch => pr1983-rh1565658-support_using_the_system_installation_of_nss_with_the_sunec_provider_jdk11.patch
b6221f
b6221f
* Fri Apr 20 2018 Jiri Vanek <jvanek@redhat.com> - 1:10.0.1.10-1
b6221f
- updated to security update 1
b6221f
- jexec unlinked from path
b6221f
- used java-openjdk as boot jdk
b6221f
- aligned provides/requires
b6221f
- renamed zip javadoc
b6221f
b6221f
* Tue Apr 10 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.0.46-12
b6221f
- Enable basic EC ciphers test in %check.
b6221f
b6221f
* Tue Apr 10 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:10.0.0.46-11
b6221f
- Port Martin Balao's JDK 9 patch for system NSS support to JDK 10.
b6221f
- Resolves RHBZ#1565658
b6221f
b6221f
* Mon Apr 09 2018 Jiri Vanek <jvanek@redhat.com> - 1:10.0.0.46-10
b6221f
- jexec linked to path
b6221f
b6221f
* Fri Apr 06 2018 Jiri Vanek <jvanek@redhat.com> - 1:10.0.0.46-9
b6221f
- subpackage(s) replaced by sub-package(s) and other cosmetic changes
b6221f
b6221f
* Tue Apr 03 2018 Jiri Vanek <jvanek@redhat.com> - 1:10.0.0.46-8
b6221f
- removed accessibility sub-packages
b6221f
- kept applied patch and properties files
b6221f
- debug sub-packages renamed to slowdebug
b6221f
b6221f
* Fri Feb 23 2018 Jiri Vanek <jvanek@redhat.com> - 1:10.0.0.46-1
b6221f
- initial load