Blame SPECS/java-11-openjdk.spec

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