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