Fetch the repository succeeded.
This action will force synchronization from src-openEuler/openjdk-11, which will overwrite any changes that you have made since you forked the repository, and can not be recovered!!!
Synchronous operation will process in the background and will refresh the page when finishing processing. Please be patient.
# RPM conditionals so as to be able to dynamically produce
# slowdebug/release builds. See:
# http://rpm.org/user_doc/conditional_builds.html
#
# Examples:
#
# Produce release *and* slowdebug builds on x86_64 (default):
# $ rpmbuild -ba java-11-openjdk.spec
#
# Produce only release builds (no slowdebug builds) on x86_64:
# $ rpmbuild -ba java-11-openjdk.spec --without slowdebug
#
# Only produce a release build on x86_64:
# $ fedpkg mockbuild --without slowdebug
#
# Only produce a debug build on x86_64:
# $ fedpkg local --without release
#
# Enable slowdebug builds by default on relevant arches.
%bcond_without slowdebug
# Enable release builds by default on relevant arches.
%bcond_without release
# Disable global LTO
%define _lto_cflags %{nil}
# The -g flag says to use strip -g instead of full strip on DSOs or EXEs.
# This fixes detailed NMT and other tools which need minimal debug info.
# See: https://bugzilla.redhat.com/show_bug.cgi?id=1520879
%global _find_debuginfo_opts -g
# note: parametrized macros are order-sensitive (unlike not-parametrized) even with normal macros
# also necessary when passing it as parameter to other macros. If not macro, then it is considered a switch
# see the difference between global and define:
# See https://github.com/rpm-software-management/rpm/issues/127 to comments at "pmatilai commented on Aug 18, 2017"
%global debug_suffix_unquoted -slowdebug
# quoted one for shell operations
%global debug_suffix "%{debug_suffix_unquoted}"
%global normal_suffix ""
# if you want only debug build but providing java build only normal build but set normalbuild_parameter
%global debug_warning This package has full debug on. Install only in need and remove asap.
%global debug_on with full debug on
%global for_debug for packages with debug on
%if %{with release}
%global include_normal_build 1
%else
%global include_normal_build 0
%endif
%if %{include_normal_build}
%global build_loop1 %{normal_suffix}
%else
%global build_loop1 %{nil}
%endif
%global aarch64 aarch64
%global riscv64 riscv64
%global ppc64le ppc64le
# By default, we build a debug build during main build on JIT architectures
%if %{with slowdebug}
%global include_debug_build 1
%else
%global include_debug_build 0
%endif
%if %{include_debug_build}
%global build_loop2 %{debug_suffix}
%else
%global build_loop2 %{nil}
%endif
# if you disable both builds, then the build fails
%global build_loop %{build_loop1} %{build_loop2}
# note: that order: normal_suffix debug_suffix, in case of both enabled
# is expected in one single case at the end of the build
%global rev_build_loop %{build_loop2} %{build_loop1}
%global bootstrap_build 0
%if %{bootstrap_build}
%global release_targets bootcycle-images docs-zip
%else
%global release_targets images docs-zip
%endif
# No docs nor bootcycle for debug builds
%global debug_targets images
# Filter out flags from the optflags macro that cause problems with the OpenJDK build
# We filter out -O flags so that the optimization of HotSpot is not lowered from O3 to O2
# We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs)
# We replace it with -Wformat (required by -Werror=format-security) and -Wno-cpp to avoid FORTIFY_SOURCE warnings
# We filter out -fexceptions as the HotSpot build explicitly does -fno-exceptions and it's otherwise the default for C++
%global ourflags %(echo %optflags | sed -e 's|-Wall|-Wformat -Wno-cpp|' | sed -r -e 's|-O[0-9]*||')
%global ourcppflags %(echo %ourflags | sed -e 's|-fexceptions||')
%global ourldflags %{__global_ldflags}
# With disabled nss is NSS deactivated, so NSS_LIBDIR can contain the wrong path
# the initialization must be here. Later the pkg-config have buggy behavior
# looks like openjdk RPM specific bug
# Always set this so the nss.cfg file is not broken
%global NSS_LIBDIR %(pkg-config --variable=libdir nss)
# In some cases, the arch used by the JDK does
# not match _arch.
# Also, in some cases, the machine name used by SystemTap
# does not match that given by _build_cpu
%ifarch x86_64
%global archinstall amd64
%endif
%ifarch %{aarch64}
%global archinstall aarch64
%endif
%ifarch loongarch64
%global archinstall loongarch64
%endif
%ifarch %{riscv64}
%global archinstall riscv64
%endif
%ifarch %{ppc64le}
%global archinstall ppc64le
%endif
%ifarch sw_64
%global archinstall sw64
%endif
%global with_systemtap 1
# New Version-String scheme-style defines
%global majorver 11
%global securityver 28
# buildjdkver is usually same as %%{majorver},
# but in time of bootstrap of next jdk, it is majorver-1,
# and this it is better to change it here, on single place
%global buildjdkver %{majorver}
%ifnarch loongarch64 ppc64le
%global vendor_version_string BiSheng
%endif
%ifarch loongarch64
%global vendor_version_string Loongson
%endif
# Define IcedTea version used for SystemTap tapsets and desktop file
%global icedteaver 3.15.0
# Standard JPackage naming and versioning defines
%global origin openjdk
%global origin_nice OpenJDK
%global top_level_dir_name %{origin}
%global minorver 0
%global buildver 6
%global patchver 0
%global project jdk-updates
%global repo jdk11u
%global revision jdk-11.0.28-ga
%global full_revision %{project}-%{repo}-%{revision}
# priority must be 7 digits in total
# setting to 1, so debug ones can have 0
%global priority 00000%{minorver}1
%if %{patchver}
%global newjavaver %{majorver}.%{minorver}.%{securityver}.%{patchver}
%else
%global newjavaver %{majorver}.%{minorver}.%{securityver}
%endif
%global javaver %{majorver}
# parametrized macros are order-sensitive
%global compatiblename java-%{majorver}-%{origin}
%global fullversion %{compatiblename}-%{version}-%{release}
# images directories from upstream build
%global jdkimage jdk
# output dir stub
%define buildoutputdir() %{expand:openjdk/build%{?1}}
# we can copy the javadoc to not arched dir, or make it not noarch
%define uniquejavadocdir() %{expand:%{fullversion}.%{_arch}%{?1}}
# main id and dir of this jdk
%define uniquesuffix() %{expand:%{fullversion}.%{_arch}%{?1}}
%global etcjavasubdir %{_sysconfdir}/java/java-%{javaver}-%{origin}
%define etcjavadir() %{expand:%{etcjavasubdir}/%{uniquesuffix -- %{?1}}}
# Standard JPackage directories and symbolic links.
%define sdkdir() %{expand:%{uniquesuffix -- %{?1}}}
%define jrelnk() %{expand:jre-%{javaver}-%{origin}-%{version}-%{release}.%{_arch}%{?1}}
%define sdkbindir() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin}
%define jrebindir() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin}
%global rpm_state_dir %{_localstatedir}/lib/rpm-state/
%if %{with_systemtap}
# Where to install systemtap tapset (links)
# We would like these to be in a package specific sub-dir,
# but currently systemtap doesn't support that, so we have to
# use the root tapset dir for now. To distinguish between 64
# and 32 bit architectures we place the tapsets under the arch
# specific dir (note that systemtap will only pickup the tapset
# for the primary arch for now). Systemtap uses the machine name
# aka build_cpu as architecture specific directory name.
%global tapsetroot /usr/share/systemtap
%global tapsetdirttapset %{tapsetroot}/tapset/
%global tapsetdir %{tapsetdirttapset}/%{_build_cpu}
%endif
# not-duplicated scriptlets for normal/debug packages
%global update_desktop_icons /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%define post_script() %{expand:
update-desktop-database %{_datadir}/applications &> /dev/null || :
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
exit 0
}
%define post_headless() %{expand:
# MetaspaceShared::generate_vtable_methods not implemented for PPC JIT
%{jrebindir -- %{?1}}/java -Xshare:dump >/dev/null 2>/dev/null
PRIORITY=%{priority}
if [ "%{?1}" == %{debug_suffix} ]; then
let PRIORITY=PRIORITY-1
fi
ext=.gz
alternatives \\
--install %{_bindir}/java java %{jrebindir -- %{?1}}/java $PRIORITY --family %{name}.%{_arch} \\
--slave %{_jvmdir}/jre jre %{_jvmdir}/%{sdkdir -- %{?1}} \\
--slave %{_bindir}/jjs jjs %{jrebindir -- %{?1}}/jjs \\
--slave %{_bindir}/keytool keytool %{jrebindir -- %{?1}}/keytool \\
--slave %{_bindir}/pack200 pack200 %{jrebindir -- %{?1}}/pack200 \\
--slave %{_bindir}/rmid rmid %{jrebindir -- %{?1}}/rmid \\
--slave %{_bindir}/rmiregistry rmiregistry %{jrebindir -- %{?1}}/rmiregistry \\
--slave %{_bindir}/unpack200 unpack200 %{jrebindir -- %{?1}}/unpack200 \\
--slave %{_mandir}/man1/java.1$ext java.1$ext \\
%{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/jjs.1$ext jjs.1$ext \\
%{_mandir}/man1/jjs-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \\
%{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/pack200.1$ext pack200.1$ext \\
%{_mandir}/man1/pack200-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \\
%{_mandir}/man1/rmid-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \\
%{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \\
%{_mandir}/man1/unpack200-%{uniquesuffix -- %{?1}}.1$ext
for X in %{origin} %{javaver} ; do
alternatives --install %{_jvmdir}/jre-"$X" jre_"$X" %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{name}.%{_arch}
done
update-alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}} $PRIORITY --family %{name}.%{_arch}
update-desktop-database %{_datadir}/applications &> /dev/null || :
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
# see pretrans where this file is declared
# also see that pretrans is only for non-debug
if [ ! "%{?1}" == %{debug_suffix} ]; then
if [ -f %{_libexecdir}/copy_jdk_configs_fixFiles.sh ] ; then
sh %{_libexecdir}/copy_jdk_configs_fixFiles.sh %{rpm_state_dir}/%{name}.%{_arch} %{_jvmdir}/%{sdkdir -- %{?1}}
fi
fi
exit 0
}
%define postun_script() %{expand:
update-desktop-database %{_datadir}/applications &> /dev/null || :
if [ $1 -eq 0 ] ; then
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
%{update_desktop_icons}
fi
exit 0
}
%define postun_headless() %{expand:
alternatives --remove java %{jrebindir -- %{?1}}/java
alternatives --remove jre_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
alternatives --remove jre_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}}
alternatives --remove jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}}
}
%define posttrans_script() %{expand:
%{update_desktop_icons}
}
%define post_devel() %{expand:
PRIORITY=%{priority}
if [ "%{?1}" == %{debug_suffix} ]; then
let PRIORITY=PRIORITY-1
fi
ext=.gz
alternatives \\
--install %{_bindir}/javac javac %{sdkbindir -- %{?1}}/javac $PRIORITY --family %{name}.%{_arch} \\
--slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir -- %{?1}} \\
%ifarch %{aarch64} x86_64
--slave %{_bindir}/jaotc jaotc %{sdkbindir -- %{?1}}/jaotc \\
%endif
--slave %{_bindir}/jlink jlink %{sdkbindir -- %{?1}}/jlink \\
--slave %{_bindir}/jmod jmod %{sdkbindir -- %{?1}}/jmod \\
--slave %{_bindir}/jhsdb jhsdb %{sdkbindir -- %{?1}}/jhsdb \\
--slave %{_bindir}/jar jar %{sdkbindir -- %{?1}}/jar \\
--slave %{_bindir}/jarsigner jarsigner %{sdkbindir -- %{?1}}/jarsigner \\
--slave %{_bindir}/javadoc javadoc %{sdkbindir -- %{?1}}/javadoc \\
--slave %{_bindir}/javap javap %{sdkbindir -- %{?1}}/javap \\
--slave %{_bindir}/jcmd jcmd %{sdkbindir -- %{?1}}/jcmd \\
--slave %{_bindir}/jconsole jconsole %{sdkbindir -- %{?1}}/jconsole \\
--slave %{_bindir}/jdb jdb %{sdkbindir -- %{?1}}/jdb \\
--slave %{_bindir}/jdeps jdeps %{sdkbindir -- %{?1}}/jdeps \\
--slave %{_bindir}/jdeprscan jdeprscan %{sdkbindir -- %{?1}}/jdeprscan \\
--slave %{_bindir}/jfr jfr %{sdkbindir -- %{?1}}/jfr \\
--slave %{_bindir}/jimage jimage %{sdkbindir -- %{?1}}/jimage \\
--slave %{_bindir}/jinfo jinfo %{sdkbindir -- %{?1}}/jinfo \\
--slave %{_bindir}/jmap jmap %{sdkbindir -- %{?1}}/jmap \\
--slave %{_bindir}/jps jps %{sdkbindir -- %{?1}}/jps \\
--slave %{_bindir}/jrunscript jrunscript %{sdkbindir -- %{?1}}/jrunscript \\
--slave %{_bindir}/jshell jshell %{sdkbindir -- %{?1}}/jshell \\
--slave %{_bindir}/jstack jstack %{sdkbindir -- %{?1}}/jstack \\
--slave %{_bindir}/jstat jstat %{sdkbindir -- %{?1}}/jstat \\
--slave %{_bindir}/jstatd jstatd %{sdkbindir -- %{?1}}/jstatd \\
--slave %{_bindir}/rmic rmic %{sdkbindir -- %{?1}}/rmic \\
--slave %{_bindir}/serialver serialver %{sdkbindir -- %{?1}}/serialver \\
--slave %{_mandir}/man1/jar.1$ext jar.1$ext \\
%{_mandir}/man1/jar-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \\
%{_mandir}/man1/jarsigner-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/javac.1$ext javac.1$ext \\
%{_mandir}/man1/javac-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \\
%{_mandir}/man1/javadoc-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/javap.1$ext javap.1$ext \\
%{_mandir}/man1/javap-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \\
%{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \\
%{_mandir}/man1/jconsole-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \\
%{_mandir}/man1/jdb-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/jdeps.1$ext jdeps.1$ext \\
%{_mandir}/man1/jdeps-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \\
%{_mandir}/man1/jinfo-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \\
%{_mandir}/man1/jmap-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/jps.1$ext jps.1$ext \\
%{_mandir}/man1/jps-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \\
%{_mandir}/man1/jrunscript-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \\
%{_mandir}/man1/jstack-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \\
%{_mandir}/man1/jstat-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \\
%{_mandir}/man1/jstatd-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \\
%{_mandir}/man1/rmic-%{uniquesuffix -- %{?1}}.1$ext \\
--slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \\
%{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1$ext \\
for X in %{origin} %{javaver} ; do
alternatives \\
--install %{_jvmdir}/java-"$X" java_sdk_"$X" %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{name}.%{_arch}
done
update-alternatives --install %{_jvmdir}/java-%{javaver}-%{origin} java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{name}.%{_arch}
update-desktop-database %{_datadir}/applications &> /dev/null || :
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
exit 0
}
%define postun_devel() %{expand:
alternatives --remove javac %{sdkbindir -- %{?1}}/javac
alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}}
alternatives --remove java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
update-desktop-database %{_datadir}/applications &> /dev/null || :
if [ $1 -eq 0 ] ; then
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
%{update_desktop_icons}
fi
exit 0
}
%define posttrans_devel() %{expand:
%{update_desktop_icons}
}
%define post_javadoc() %{expand:
PRIORITY=%{priority}
if [ "%{?1}" == %{debug_suffix} ]; then
let PRIORITY=PRIORITY-1
fi
alternatives \\
--install %{_javadocdir}/java javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api \\
$PRIORITY --family %{name}
exit 0
}
%define postun_javadoc() %{expand:
alternatives --remove javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api
exit 0
}
%define post_javadoc_zip() %{expand:
PRIORITY=%{priority}
if [ "%{?1}" == %{debug_suffix} ]; then
let PRIORITY=PRIORITY-1
fi
alternatives \\
--install %{_javadocdir}/java-zip javadoczip %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip \\
$PRIORITY --family %{name}
exit 0
}
%define postun_javadoc_zip() %{expand:
alternatives --remove javadoczip %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip
exit 0
}
%define files_jre() %{expand:
%{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}-%{origin}.png
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsplashscreen.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt_xawt.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjawt.so
}
%define files_jre_headless() %{expand:
%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
%dir %{_sysconfdir}/.java/.systemPrefs
%dir %{_sysconfdir}/.java
%dir %{_jvmdir}/%{sdkdir -- %{?1}}
%{_jvmdir}/%{sdkdir -- %{?1}}/release
%{_jvmdir}/%{jrelnk -- %{?1}}
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/java
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jjs
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/keytool
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/pack200
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmid
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmiregistry
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/unpack200
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib
%ifnarch sw_64
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/classlist
%endif
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jexec
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jspawnhelper
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jrt-fs.jar
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/modules
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/psfont.properties.ja
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/psfontj2d.properties
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/tzdb.dat
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jli
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jli/libjli.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jvm.cfg
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libattach.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libextnet.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjsig.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt_headless.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libdt_socket.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libfontmanager.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libinstrument.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2gss.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2pcsc.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2pkcs11.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjaas.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjava.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjavajpeg.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjdwp.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjimage.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjsound.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/liblcms.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement_agent.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement_ext.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmlib_image.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libnet.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libnio.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libprefs.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/librmi.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsaproc.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsctp.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsunec.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libunpack.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libverify.so
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libzip.so
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/default.jfc
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/profile.jfc
%{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/jjs-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/pack200-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/rmid-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/unpack200-%{uniquesuffix -- %{?1}}.1*
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/
%attr(444, root, root) %ghost %{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/classes.jsa
%attr(444, root, root) %ghost %{_jvmdir}/%{sdkdir -- %{?1}}/lib/client/classes.jsa
%dir %{etcjavasubdir}
%dir %{etcjavadir -- %{?1}}
%dir %{etcjavadir -- %{?1}}/lib
%dir %{etcjavadir -- %{?1}}/lib/security
%{etcjavadir -- %{?1}}/lib/security/cacerts
%dir %{etcjavadir -- %{?1}}/conf
%dir %{etcjavadir -- %{?1}}/conf/management
%dir %{etcjavadir -- %{?1}}/conf/security
%dir %{etcjavadir -- %{?1}}/conf/security/policy
%dir %{etcjavadir -- %{?1}}/conf/security/policy/limited
%dir %{etcjavadir -- %{?1}}/conf/security/policy/unlimited
%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/default.policy
%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/blocked.certs
%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/public_suffix_list.dat
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/exempt_local.policy
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/default_local.policy
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/default_US_export.policy
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/unlimited/default_local.policy
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/unlimited/default_US_export.policy
%{etcjavadir -- %{?1}}/conf/security/policy/README.txt
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/java.policy
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/java.security
%config(noreplace) %{etcjavadir -- %{?1}}/conf/logging.properties
%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/nss.cfg
%config(noreplace) %{etcjavadir -- %{?1}}/conf/management/jmxremote.access
# this is conifg template, thus not config-noreplace
%config %{etcjavadir -- %{?1}}/conf/management/jmxremote.password.template
%config(noreplace) %{etcjavadir -- %{?1}}/conf/management/management.properties
%config(noreplace) %{etcjavadir -- %{?1}}/conf/net.properties
%config(noreplace) %{etcjavadir -- %{?1}}/conf/sound.properties
%{_jvmdir}/%{sdkdir -- %{?1}}/conf
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/security
}
%define files_devel() %{expand:
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jar
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jarsigner
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javac
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javadoc
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javap
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jconsole
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jcmd
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdb
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeps
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeprscan
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jfr
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jimage
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jhsdb
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jinfo
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jlink
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmap
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmod
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jps
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jrunscript
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jshell
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstack
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstat
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstatd
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmic
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/serialver
%ifnarch loongarch64 sw_64
%ifarch %{aarch64} x86_64
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jaotc
%endif
%endif
%{_jvmdir}/%{sdkdir -- %{?1}}/include
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/ct.sym
%if %{with_systemtap}
%{_jvmdir}/%{sdkdir -- %{?1}}/tapset
%endif
%{_datadir}/applications/*jconsole%{?1}.desktop
%{_mandir}/man1/jar-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/jarsigner-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/javac-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/javadoc-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/javap-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/jconsole-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/jdb-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/jdeps-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/jinfo-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/jmap-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/jps-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/jrunscript-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/jstack-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/jstat-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/jstatd-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/rmic-%{uniquesuffix -- %{?1}}.1*
%{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1*
%if %{with_systemtap}
%dir %{tapsetroot}
%dir %{tapsetdirttapset}
%dir %{tapsetdir}
%{tapsetdir}/*%{_arch}%{?1}.stp
%endif
}
%define files_jmods() %{expand:
%{_jvmdir}/%{sdkdir -- %{?1}}/jmods
}
%define files_demo() %{expand:
%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
%{_jvmdir}/%{sdkdir -- %{?1}}/demo
%{_jvmdir}/%{sdkdir -- %{?1}}/sample
}
%define files_src() %{expand:
%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/src.zip
}
%define files_javadoc() %{expand:
%doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}
%license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/legal
}
%define files_javadoc_zip() %{expand:
%doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip
%license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/legal
}
# not-duplicated requires/provides/obsoletes for normal/debug packages
%define java_rpo() %{expand:
Requires: fontconfig%{?_isa}
Requires: xorg-x11-fonts-Type1
# Require libXcomposite explicitly since it's only dynamically loaded
# at runtime. Fixes screenshot issues. See JDK-8150954.
Requires: libXcomposite%{?_isa}
# Requires rest of java
Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
# for java-X-openjdk package's desktop binding
Recommends: gtk3%{?_isa}
Provides: java-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
# Standard JPackage base provides
Provides: jre-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
Provides: jre-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
Provides: java-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
Provides: java-%{origin}%{?1} = %{epoch}:%{version}-%{release}
Provides: jre-%{origin}%{?1} = %{epoch}:%{version}-%{release}
Provides: java%{?1} = %{epoch}:%{version}-%{release}
Provides: jre%{?1} = %{epoch}:%{version}-%{release}
}
%define java_headless_rpo() %{expand:
# Require /etc/pki/java/cacerts
Requires: ca-certificates
# Require javapackages-filesystem for ownership of /usr/lib/jvm/ and macros
Requires: javapackages-filesystem
# Require zone-info data provided by tzdata-java sub-package
Requires: tzdata-java >= 2019c
# for support of kernel stream control
# libsctp.so.1 is being `dlopen`ed on demand
Requires: lksctp-tools%{?_isa}
# tool to copy jdk's configs - should be Recommends only, but then only dnf/yum enforce it,
# not rpm transaction and so no configs are persisted when pure rpm -u is run. It may be
# considered as regression
Requires: copy-jdk-configs >= 3.9
OrderWithRequires: copy-jdk-configs
# for printing support
Requires: cups-libs
# Post requires alternatives to install tool alternatives
Requires(post): %{_sbindir}/alternatives
# Postun requires alternatives to uninstall tool alternatives
Requires(postun): %{_sbindir}/alternatives
# for optional support of kernel stream control, card reader and printing bindings
Suggests: lksctp-tools%{?_isa}, pcsc-lite-devel%{?_isa}
# Standard JPackage base provides
Provides: jre-headless%{?1} = %{epoch}:%{javaver}
Provides: jre-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
Provides: jre-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
Provides: jre-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release}
Provides: java-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
Provides: java-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release}
Provides: java-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
Provides: jre-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
Provides: java-headless%{?1} = %{epoch}:%{version}-%{release}
Provides: jre-headless%{?1} = %{epoch}:%{version}-%{release}
# To fix /usr/bin/jjs not provided
Provides: /usr/bin/jjs
}
%define java_devel_rpo() %{expand:
# Requires base package
Requires: %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
# Post requires alternatives to install tool alternatives
Requires(post): %{_sbindir}/alternatives
# Postun requires alternatives to uninstall tool alternatives
Requires(postun): %{_sbindir}/alternatives
# Standard JPackage devel provides
Provides: java-sdk-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
Provides: java-sdk-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
Provides: java-%{javaver}-devel%{?1} = %{epoch}:%{version}-%{release}
Provides: java-%{javaver}-%{origin}-devel%{?1} = %{epoch}:%{version}-%{release}
Provides: java-devel-%{origin}%{?1} = %{epoch}:%{version}-%{release}
Provides: java-sdk-%{origin}%{?1} = %{epoch}:%{version}-%{release}
Provides: java-devel%{?1} = %{epoch}:%{version}-%{release}
Provides: java-sdk%{?1} = %{epoch}:%{version}-%{release}
}
%define java_jmods_rpo() %{expand:
# Requires devel package
# as jmods are bytecode, they should be OK without any _isa
Requires: %{name}-devel%{?1} = %{epoch}:%{version}-%{release}
OrderWithRequires: %{name}-headless%{?1} = %{epoch}:%{version}-%{release}
Provides: java-%{javaver}-jmods%{?1} = %{epoch}:%{version}-%{release}
Provides: java-%{javaver}-%{origin}-jmods%{?1} = %{epoch}:%{version}-%{release}
Provides: java-jmods%{?1} = %{epoch}:%{version}-%{release}
}
%define java_demo_rpo() %{expand:
Requires: %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
Provides: java-%{javaver}-demo%{?1} = %{epoch}:%{version}-%{release}
Provides: java-%{javaver}-%{origin}-demo%{?1} = %{epoch}:%{version}-%{release}
Provides: java-demo%{?1} = %{epoch}:%{version}-%{release}
}
%define java_javadoc_rpo() %{expand:
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
# Post requires alternatives to install javadoc alternative
Requires(post): %{_sbindir}/alternatives
# Postun requires alternatives to uninstall javadoc alternative
Requires(postun): %{_sbindir}/alternatives
# Standard JPackage javadoc provides
Provides: java-%{javaver}-javadoc%{?1} = %{epoch}:%{version}-%{release}
Provides: java-%{javaver}-%{origin}-javadoc%{?1} = %{epoch}:%{version}-%{release}
Provides: java-javadoc%{?1} = %{epoch}:%{version}-%{release}
}
%define java_src_rpo() %{expand:
Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
# Standard JPackage sources provides
Provides: java-%{javaver}-src%{?1} = %{epoch}:%{version}-%{release}
Provides: java-%{javaver}-%{origin}-src%{?1} = %{epoch}:%{version}-%{release}
Provides: java-src%{?1} = %{epoch}:%{version}-%{release}
}
Name: java-%{javaver}-%{origin}
Version: %{newjavaver}.%{buildver}
Release: 1
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons
# and this change was brought into RHEL-4. java-1.5.0-ibm packages
# also included the epoch in their virtual provides. This created a
# situation where in-the-wild java-1.5.0-ibm packages provided "java =
# 1:1.5.0". In RPM terms, "1.6.0 < 1:1.5.0" since 1.6.0 is
# interpreted as 0:1.6.0. So the "java >= 1.6.0" requirement would be
# satisfied by the 1:1.5.0 packages. Thus we need to set the epoch in
# JDK package >= 1.6.0 to 1, and packages referring to JDK virtual
# provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0".
Epoch: 1
Summary: %{origin_nice} Runtime Environment %{majorver}
Group: Development/Languages
# HotSpot code is licensed under GPLv2
# JDK library code is licensed under GPLv2 with the Classpath exception
# The Apache license is used in code taken from Apache projects (primarily xalan & xerces)
# DOM levels 2 & 3 and the XML digital signature schemas are licensed under the W3C Software License
# The JSR166 concurrency code is in the public domain
# The BSD and MIT licenses are used for a number of third-party libraries (see ADDITIONAL_LICENSE_INFO)
# The OpenJDK source tree includes:
# - JPEG library (IJG), zlib & libpng (zlib), giflib (MIT), harfbuzz (ISC),
# - freetype (FTL), jline (BSD) and LCMS (MIT)
# - jquery (MIT), jdk.crypto.cryptoki PKCS 11 wrapper (RSA)
# - public_suffix_list.dat from publicsuffix.org (MPLv2.0)
# The test code includes copies of NSS under the Mozilla Public License v2.0
# The PCSClite headers are under a BSD with advertising license
# The elliptic curve cryptography (ECC) source code is licensed under the LGPLv2.1 or any later version
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-MD
URL: http://openjdk.java.net/
Source0: %{full_revision}.tar.xz
# Use 'icedtea_sync.sh' to update the following
# They are based on code contained in the IcedTea project (3.x).
# Systemtap tapsets. Zipped up to keep it small.
Source8: tapsets-icedtea-%{icedteaver}.tar.xz
# Desktop files. Adapted from IcedTea
Source9: jconsole.desktop.in
# nss configuration file
Source11: nss.cfg.in
############################################
#
# LoongArch64 specific patches
#
############################################
Patch2001: LoongArch64-support.patch
#############################################
#
# OpenJDK specific patches
#
#############################################
Patch5: Add-ability-to-configure-third-port-for-remote-JMX.patch
Patch6: 8214527-AArch64-ZGC-for-Aarch64.patch
Patch7: 8224675-Late-GC-barrier-insertion-for-ZGC.patch
Patch9: ZGC-AArch64-Optimizations-and-Fixes.patch
# 11.0.8
Patch33: 8210473-JEP-345-NUMA-Aware-Memory-Allocation-for-G1.patch
Patch34: 8210461-AArch64-Math.cos-intrinsic-gives-incorrect-results.patch
Patch35: NUMA-Aware-Implementation-humongous-region.patch
Patch36: ZGC-in-c1-load-barrier-d0-and-d1-registers-miss-restoring.patch
Patch37: fix-compile-error-without-disable-precompiled-headers.patch
Patch38: fast-serializer-jdk11.patch
Patch39: dfx-enhancement-of-FastSerializer.patch
Patch40: fix-jck-failure-on-FastSerializer.patch
Patch42: 8229496-SIGFPE-division-by-zero-in-C2-OSR-compiled-method.patch
Patch45: leaf-optimize-in-ParallelScanvageGC.patch
Patch46: ZGC-correct-free-heap-size-excluding-waste-in-rule_allocation_rate.patch
Patch47: 8204947-Port-ShenandoahTaskTerminator-to-mainline-and-make-it-default.patch
Patch48: 8205921-Optimizing-best_of_2-work-stealing-queue-selection.patch
# 11.0.9
Patch55: 8215047-Task-terminators-do-not-complete-termination-in-consistent-state.patch
Patch56: add-zgc-parameter-adaptation-feature.patch
Patch57: add-integerCache-feature.patch
Patch58: 8231441-1-AArch64-Initial-SVE-backend-support.patch
Patch59: 8231441-2-AArch64-Initial-SVE-backend-support.patch
Patch60: 8231441-3-AArch64-Initial-SVE-backend-support.patch
# 11.0.10
Patch61: downgrade-the-symver-of-log2f-posix-spawn.patch
Patch62: 8254078-DataOutputStream-is-very-slow-post-disabling.patch
Patch65: add-LazyBox-feature.patch
Patch66: add-G1-Full-GC-optimization.patch
Patch68: src-openeuler-openjdk-11-resolve-code-inconsistencies.patch
Patch69: G1-iterate-region-by-bitmap-rather-than-obj-size-in.patch
# 11.0.11
Patch71: numa_mem_leak.patch
Patch72: select_nearest_numa_node.patch
Patch73: support_jmap_parallel_inspection_for_cms_gc.patch
Patch74: delete_expired_certificates.patch
# 11.0.12
Patch75: 8247691-Incorrect-handling-of-VM-exceptions-in-C1-deopt-stub.patch
Patch76: Update-algorithm-annotations-for-fill_words.patch
Patch77: 8257145-Performance-regression-with-XX-ResizePLAB-af.patch
Patch78: create-jfr-dump-file-with-pid-or-timestamp-if-specif.patch
Patch79: enhance-the-TimeZone-s-path-solution-on-Euler.patch
Patch80: Add-KAE-implementation.patch
Patch82: PS-introduce-UsePSRelaxedForwardee-to-enable-using-r.patch
# 11.0.13
Patch83: 8273111-Default-timezone-should-return-zone-ID-if-locatiome-is-valid-but-not-canonicalization-on-linux.patch
Patch85: 8239017-cmp-baseline-fails-because-of-differences-in-TimeZoneNames_kea.patch
# 11.0.14
Patch86: 8252103-support-Jmap-parallel-heap-inspection.patch
Patch87: fix_macroAssembler_missing_matcher_header_file_causing_build_failure.patch
Patch88: fix-error-in-build-core-variants.patch
Patch89: downgrade-the-symver-of-memcpy-GLIBC_2.14-on-x86.patch
# 11.0.16
Patch90: fix_Internal_and_external_code_inconsistency.patch
# 11.0.18
Patch91: 8222289-Overhaul-logic-for-reading-writing-constant-pool-entries.patch
# 11.0.21
Patch92: 8295068-SSLEngine-throws-NPE-parsing-Certificate.patch
# 11.0.23
Patch93: Cache-byte-when-constructing-String-with-duplicate-c.patch
# 11.0.25
Patch94: change-ActivePrcoessorCount-only-for-HBase.patch
# 11.0.26
Patch96: add-jbolt-feature.patch
Patch97: fix-potential-build-fail-in-jbolt.patch
Patch99: huawei-AArch64-Incorrect-matching-rule.patch
# 11.0.27
Patch100: huawei-remove-provides-in-kaeprovider-module-info.patch
############################################
#
# riscv64 specific patches
#
############################################
Patch2000: Add-riscv64-support.patch
############################################
#
# sw64 specific patches
#
############################################
Patch6000: add-sw_64-support.patch
BuildRequires: autoconf
BuildRequires: alsa-lib-devel
BuildRequires: binutils
BuildRequires: cups-devel
BuildRequires: desktop-file-utils
# elfutils only are OK for build without AOT
BuildRequires: elfutils-devel
BuildRequires: fontconfig-devel
BuildRequires: freetype-devel
BuildRequires: giflib-devel
BuildRequires: gcc-c++
BuildRequires: gdb
BuildRequires: harfbuzz-devel
BuildRequires: lcms2-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: libxslt
BuildRequires: libX11-devel
BuildRequires: libXi-devel
BuildRequires: libXinerama-devel
BuildRequires: libXrandr-devel
BuildRequires: libXrender-devel
BuildRequires: libXt-devel
BuildRequires: libXtst-devel
# Requirements for setting up the nss.cfg
BuildRequires: nss-devel
BuildRequires: pkgconfig
BuildRequires: xorg-x11-proto-devel
BuildRequires: zip
BuildRequires: unzip
BuildRequires: javapackages-filesystem
BuildRequires: java-%{buildjdkver}-openjdk-devel
BuildRequires: tzdata-java >= 2020a
# Earlier versions have a bug in tree vectorization on PPC
BuildRequires: gcc >= 4.8.3-8
# Build requirements for SunEC system NSS support
BuildRequires: nss-softokn-freebl-devel >= 3.16.1
%if %{with_systemtap}
BuildRequires: systemtap-sdt-devel
%endif
# this is always built, also during debug-only build
# when it is built in debug-only this package is just placeholder
%{java_rpo %{nil}}
%description
The %{origin_nice} runtime environment.
%if %{include_debug_build}
%package slowdebug
Summary: %{origin_nice} Runtime Environment %{majorver} %{debug_on}
Group: Development/Languages
%{java_rpo -- %{debug_suffix_unquoted}}
%description slowdebug
The %{origin_nice} runtime environment.
%{debug_warning}
%endif
%if %{include_normal_build}
%package headless
Summary: %{origin_nice} Headless Runtime Environment %{majorver}
Group: Development/Languages
%{java_headless_rpo %{nil}}
%description headless
The %{origin_nice} runtime environment %{majorver} without audio and video support.
%endif
%if %{include_debug_build}
%package headless-slowdebug
Summary: %{origin_nice} Runtime Environment %{debug_on}
Group: Development/Languages
%{java_headless_rpo -- %{debug_suffix_unquoted}}
%description headless-slowdebug
The %{origin_nice} runtime environment %{majorver} without audio and video support.
%{debug_warning}
%endif
%if %{include_normal_build}
%package devel
Summary: %{origin_nice} Development Environment %{majorver}
Group: Development/Tools
%{java_devel_rpo %{nil}}
%description devel
The %{origin_nice} development tools %{majorver}.
%endif
%if %{include_debug_build}
%package devel-slowdebug
Summary: %{origin_nice} Development Environment %{majorver} %{debug_on}
Group: Development/Tools
%{java_devel_rpo -- %{debug_suffix_unquoted}}
%description devel-slowdebug
The %{origin_nice} development tools %{majorver}.
%{debug_warning}
%endif
%if %{include_normal_build}
%package jmods
Summary: JMods for %{origin_nice} %{majorver}
Group: Development/Tools
%{java_jmods_rpo %{nil}}
%description jmods
The JMods for %{origin_nice}.
%endif
%if %{include_debug_build}
%package jmods-slowdebug
Summary: JMods for %{origin_nice} %{majorver} %{debug_on}
Group: Development/Tools
%{java_jmods_rpo -- %{debug_suffix_unquoted}}
%description jmods-slowdebug
The JMods for %{origin_nice} %{majorver}.
%{debug_warning}
%endif
%if %{include_normal_build}
%package demo
Summary: %{origin_nice} Demos %{majorver}
Group: Development/Languages
%{java_demo_rpo %{nil}}
%description demo
The %{origin_nice} demos %{majorver}.
%endif
%if %{include_debug_build}
%package demo-slowdebug
Summary: %{origin_nice} Demos %{majorver} %{debug_on}
Group: Development/Languages
%{java_demo_rpo -- %{debug_suffix_unquoted}}
%description demo-slowdebug
The %{origin_nice} demos %{majorver}.
%{debug_warning}
%endif
%if %{include_normal_build}
%package src
Summary: %{origin_nice} Source Bundle %{majorver}
Group: Development/Languages
%{java_src_rpo %{nil}}
%description src
The java-%{origin}-src sub-package contains the complete %{origin_nice} %{majorver}
class library source code for use by IDE indexers and debuggers.
%endif
%if %{include_debug_build}
%package src-slowdebug
Summary: %{origin_nice} Source Bundle %{majorver} %{for_debug}
Group: Development/Languages
%{java_src_rpo -- %{debug_suffix_unquoted}}
%description src-slowdebug
The java-%{origin}-src-slowdebug sub-package contains the complete %{origin_nice} %{majorver}
class library source code for use by IDE indexers and debuggers. Debugging %{for_debug}.
%endif
%if %{include_normal_build}
%package javadoc
Summary: %{origin_nice} %{majorver} API documentation
Group: Documentation
Requires: javapackages-filesystem
Obsoletes: javadoc-slowdebug < 1:11.0.3.7-4
%{java_javadoc_rpo %{nil}}
%description javadoc
The %{origin_nice} %{majorver} API documentation.
%endif
%if %{include_normal_build}
%package javadoc-zip
Summary: %{origin_nice} %{majorver} API documentation compressed in single archive
Group: Documentation
Requires: javapackages-filesystem
Obsoletes: javadoc-slowdebug < 1:11.0.3.7-4
%{java_javadoc_rpo %{nil}}
%description javadoc-zip
The %{origin_nice} %{majorver} API documentation compressed in single archive.
%endif
%prep
if [ %{include_normal_build} -eq 0 -o %{include_normal_build} -eq 1 ] ; then
echo "include_normal_build is %{include_normal_build}"
else
echo "include_normal_build is %{include_normal_build}, thats invalid. Use 1 for yes or 0 for no"
exit 11
fi
if [ %{include_debug_build} -eq 0 -o %{include_debug_build} -eq 1 ] ; then
echo "include_debug_build is %{include_debug_build}"
else
echo "include_debug_build is %{include_debug_build}, thats invalid. Use 1 for yes or 0 for no"
exit 12
fi
if [ %{include_debug_build} -eq 0 -a %{include_normal_build} -eq 0 ] ; then
echo "You have disabled both include_debug_build and include_normal_build. That is a no go."
exit 13
fi
%setup -q -c -n %{uniquesuffix ""} -T -a 0
prioritylength=`expr length %{priority}`
if [ $prioritylength -ne 7 ] ; then
echo "priority must be 7 digits in total, violated"
exit 14
fi
pushd %{top_level_dir_name}
# OpenJDK patches
%ifnarch loongarch64 ppc64le sw_64
%ifarch riscv64
%patch2000 -p1
%else
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch9 -p1
%patch33 -p1
%patch34 -p1
%patch35 -p1
%patch36 -p1
%patch37 -p1
%patch38 -p1
%patch39 -p1
%patch40 -p1
%patch42 -p1
%patch45 -p1
%patch46 -p1
%patch47 -p1
%patch48 -p1
%patch55 -p1
%patch56 -p1
%patch57 -p1
%patch58 -p1
%patch59 -p1
%patch60 -p1
%patch61 -p1
%patch62 -p1
%patch65 -p1
%patch66 -p1
%patch68 -p1
%patch69 -p1
%patch71 -p1
%patch72 -p1
%patch73 -p1
%patch74 -p1
%patch75 -p1
%patch76 -p1
%patch77 -p1
%patch78 -p1
%patch79 -p1
%patch80 -p1
%patch82 -p1
%patch83 -p1
%patch85 -p1
%patch86 -p1
%patch87 -p1
%patch88 -p1
%patch89 -p1
%patch90 -p1
%patch91 -p1
%patch92 -p1
%patch93 -p1
%patch94 -p1
%patch96 -p1
%patch97 -p1
%patch99 -p1
%patch100 -p1
%endif
%endif
%ifarch loongarch64
%patch2001 -p1
%endif
%ifarch sw_64
%patch6000 -p1
%endif
popd # openjdk
# Extract systemtap tapsets
%if %{with_systemtap}
tar --strip-components=1 -x -I xz -f %{SOURCE8}
%if %{include_debug_build}
cp -r tapset tapset%{debug_suffix}
%endif
for suffix in %{build_loop} ; do
for file in "tapset"$suffix/*.in; do
OUTPUT_FILE=`echo $file | sed -e "s:\.stp\.in$:-%{version}-%{release}.%{_arch}.stp:g"`
sed -e "s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/server/libjvm.so:g" $file > $file.1
# TODO find out which architectures other than i686 have a client vm
%ifarch %{ix86}
sed -e "s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/client/libjvm.so:g" $file.1 > $OUTPUT_FILE
%else
sed -e "/@ABS_CLIENT_LIBJVM_SO@/d" $file.1 > $OUTPUT_FILE
%endif
sed -i -e "s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir -- $suffix}:g" $OUTPUT_FILE
sed -i -e "s:@INSTALL_ARCH_DIR@:%{archinstall}:g" $OUTPUT_FILE
sed -i -e "s:@prefix@:%{_jvmdir}/%{sdkdir -- $suffix}/:g" $OUTPUT_FILE
done
done
# systemtap tapsets ends
%endif
# Prepare desktop files
# The _X_ syntax indicates variables that are replaced by make upstream
# The @X@ syntax indicates variables that are replaced by configure upstream
for suffix in %{build_loop} ; do
for file in %{SOURCE9}; do
FILE=`basename $file | sed -e s:\.in$::g`
EXT="${FILE##*.}"
NAME="${FILE%.*}"
OUTPUT_FILE=$NAME$suffix.$EXT
sed -e "s:_SDKBINDIR_:%{sdkbindir -- $suffix}:g" $file > $OUTPUT_FILE
sed -i -e "s:@target_cpu@:%{_arch}:g" $OUTPUT_FILE
sed -i -e "s:@OPENJDK_VER@:%{version}-%{release}.%{_arch}$suffix:g" $OUTPUT_FILE
sed -i -e "s:@JAVA_VER@:%{javaver}:g" $OUTPUT_FILE
sed -i -e "s:@JAVA_VENDOR@:%{origin}:g" $OUTPUT_FILE
done
done
# Setup nss.cfg
sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE11} > nss.cfg
%build
# How many CPU's do we have?
export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :)
export NUM_PROC=${NUM_PROC:-1}
%if 0%{?_smp_ncpus_max}
# Honor %%_smp_ncpus_max
[ ${NUM_PROC} -gt %{?_smp_ncpus_max} ] && export NUM_PROC=%{?_smp_ncpus_max}
%endif
%ifarch %{aarch64} riscv64 sw_64
export ARCH_DATA_MODEL=64
%endif
# We use ourcppflags because the OpenJDK build seems to
# pass EXTRA_CFLAGS to the HotSpot C++ compiler...
# Explicitly set the C++ standard as the default has changed on GCC >= 6
EXTRA_CFLAGS="%ourcppflags -Wno-error"
EXTRA_CPP_FLAGS="%ourcppflags -Wno-error"
export EXTRA_CFLAGS
for suffix in %{build_loop} ; do
if [ "x$suffix" = "x" ] ; then
debugbuild=release
else
# change --something to something
debugbuild=`echo $suffix | sed "s/-//g"`
fi
# Variable used in hs_err hook on build failures
top_dir_abs_path=$(pwd)/%{top_level_dir_name}
mkdir -p %{buildoutputdir -- $suffix}
pushd %{buildoutputdir -- $suffix}
bash ../configure \
--with-version-build=%{buildver} \
--with-version-pre="" \
--with-version-opt="" \
--with-vendor-version-string="%{vendor_version_string}" \
%ifnarch loongarch64 ppc64le
%ifnarch sw_64
--with-vendor-name="BiSheng" \
%endif
%endif
%ifarch loongarch64
--with-vendor-name="Loongson" \
%endif
--with-vendor-url="https://openeuler.org/" \
--with-vendor-bug-url="https://gitee.com/src-openeuler/openjdk-11/issues/" \
--with-vendor-vm-bug-url="https://gitee.com/src-openeuler/openjdk-11/issues/" \
--with-boot-jdk=/usr/lib/jvm/java-%{buildjdkver}-openjdk \
--with-debug-level=$debugbuild \
--with-native-debug-symbols=internal \
%ifarch sw_64
--with-jvm-variants=custom \
--with-jvm-features=serialgc,vm-structs,parallelgc,compiler2,management,nmt,g1gc,cmsgc,jvmti,services,jni-check,jfr \
--with-zlib=bundled \
%else
--enable-unlimited-crypto \
--with-zlib=system \
%endif
--with-libjpeg=system \
--with-giflib=system \
--with-libpng=system \
--with-lcms=system \
--with-harfbuzz=system \
--with-stdc++lib=dynamic \
%ifarch sw_64
--with-extra-cflags=" -mieee -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=type-limits -Wno-error=format-security -Wno-error=conversion-null -Wno-error=sign-compare -Wno-error=int-to-pointer-cast -mgprel-size=32" \
--with-extra-cxxflags="-mieee -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=type-limits -Wno-error=format-security -Wno-error=conversion-null -Wno-error=sign-compare -Wno-error=int-to-pointer-cast -mgprel-size=32" \
--with-extra-ldflags=" -mieee -Wl,-no-relax" \
%else
--with-extra-cxxflags="$EXTRA_CPP_FLAGS" \
--with-extra-cflags="$EXTRA_CFLAGS" \
--with-extra-ldflags="%{ourldflags}" \
%endif
--with-num-cores="$NUM_PROC" \
--disable-javac-server \
--disable-warnings-as-errors \
# Debug builds don't need same targets as release for
# build speed-up
maketargets="%{release_targets}"
if echo $debugbuild | grep -q "debug" ; then
maketargets="%{debug_targets}"
fi
make \
JAVAC_FLAGS=-g \
WARNINGS_ARE_ERRORS="-Wno-error" \
CFLAGS_WARNINGS_ARE_ERRORS="-Wno-error" \
$maketargets || ( pwd; find $top_dir_abs_path -name "hs_err_pid*.log" | xargs cat && false )
# the build (erroneously) removes read permissions from some jars
# this is a regression in OpenJDK 7 (our compiler):
find images/%{jdkimage} -iname '*.jar' -exec chmod ugo+r {} \;
# Build screws up permissions on binaries
# https://bugs.openjdk.java.net/browse/JDK-8173610
find images/%{jdkimage} -iname '*.so' -exec chmod +x {} \;
find images/%{jdkimage}/bin/ -exec chmod +x {} \;
popd >& /dev/null
# Install nss.cfg right away as we will be using the JRE above
export JAVA_HOME=$(pwd)/%{buildoutputdir -- $suffix}/images/%{jdkimage}
# Install nss.cfg right away as we will be using the JRE above
install -m 644 nss.cfg $JAVA_HOME/conf/security/
# Use system-wide tzdata
rm $JAVA_HOME/lib/tzdb.dat
ln -s %{_datadir}/javazi-1.8/tzdb.dat $JAVA_HOME/lib/tzdb.dat
# build cycles
done
%check
# We test debug first as it will give better diagnostics on a crash
for suffix in %{rev_build_loop} ; do
export JAVA_HOME=$(pwd)/%{buildoutputdir -- $suffix}/images/%{jdkimage}
# Check debug symbols are present and can identify code
find "$JAVA_HOME" -iname '*.so' -print0 | while read -d $'\0' lib
do
if [ ![-f "$lib"] ] ; then
echo "Testing $lib for debug symbols"
# All these tests rely on RPM failing the build if the exit code of any set
# of piped commands is non-zero.
# Test for .debug_* sections in the shared object. This is the main test
# Stripped objects will not contain these
eu-readelf -S "$lib" | grep "] .debug_"
test $(eu-readelf -S "$lib" | grep -E "\]\ .debug_(info|abbrev)" | wc --lines) == 2
# Test FILE symbols. These will most likely be removed by anything that
# manipulates symbol tables because it's generally useless. So a nice test
# that nothing has messed with symbols
old_IFS="$IFS"
IFS=$'\n'
for line in $(eu-readelf -s "$lib" | grep "00000000 0 FILE LOCAL DEFAULT")
do
# We expect to see .cpp files, except for architectures like aarch64 and
# s390 where we expect .o and .oS files
echo "$line" | grep -E "ABS ((.*/)?[-_a-zA-Z0-9]+\.(c|cc|cpp|cxx|o|oS))?$"
done
IFS="$old_IFS"
# If this is the JVM, look for javaCalls.(cpp|o) in FILEs, for extra sanity checking
if [ "`basename $lib`" = "libjvm.so" ]; then
eu-readelf -s "$lib" | \
grep -E "00000000 0 FILE LOCAL DEFAULT ABS javaCalls.(cpp|o)$"
fi
# Test that there are no .gnu_debuglink sections pointing to another
# debuginfo file. There shouldn't be any debuginfo files, so the link makes
# no sense either
eu-readelf -S "$lib" | grep 'gnu'
if eu-readelf -S "$lib" | grep '] .gnu_debuglink' | grep PROGBITS; then
echo "bad .gnu_debuglink section."
eu-readelf -x .gnu_debuglink "$lib"
false
fi
fi
done
# Make sure gdb can do a backtrace based on line numbers on libjvm.so
# javaCalls.cpp:58 should map to:
# http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/ff3b27e6bcc2/src/share/vm/runtime/javaCalls.cpp#l58
# Using line number 1 might cause build problems. See:
%ifnarch loongarch64
gdb -q "$JAVA_HOME/bin/java" <<EOF | tee gdb.out
handle SIGSEGV pass nostop noprint
handle SIGILL pass nostop noprint
set breakpoint pending on
break javaCalls.cpp:1
commands 1
backtrace
quit
end
run -version
EOF
#grep 'JavaCallWrapper::JavaCallWrapper' gdb.out
%endif
# Check src.zip has all sources. See RHBZ#1130490
jar -tf $JAVA_HOME/lib/src.zip | grep 'sun.misc.Unsafe'
# Check class files include useful debugging information
$JAVA_HOME/bin/javap -l java.lang.Object | grep "Compiled from"
$JAVA_HOME/bin/javap -l java.lang.Object | grep LineNumberTable
$JAVA_HOME/bin/javap -l java.lang.Object | grep LocalVariableTable
# Check generated class files include useful debugging information
$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep "Compiled from"
$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LineNumberTable
$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LocalVariableTable
# build cycles check
done
%install
STRIP_KEEP_SYMTAB=libjvm*
for suffix in %{build_loop} ; do
# Install the jdk
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
cp -a %{buildoutputdir -- $suffix}/images/%{jdkimage} \
$RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}
pushd %{buildoutputdir $suffix}/images/%{jdkimage}
%if %{with_systemtap}
# Install systemtap support files
install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset
# note, that uniquesuffix is in BUILD dir in this case
cp -a $RPM_BUILD_DIR/%{uniquesuffix ""}/tapset$suffix/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/
pushd $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/
tapsetFiles=`ls *.stp`
popd
install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir}
for name in $tapsetFiles ; do
targetName=`echo $name | sed "s/.stp/$suffix.stp/"`
ln -sf %{_jvmdir}/%{sdkdir -- $suffix}/tapset/$name $RPM_BUILD_ROOT%{tapsetdir}/$targetName
done
%endif
# Remove empty cacerts database
rm -f $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/security/cacerts
# Install cacerts symlink needed by some apps which hard-code the path
pushd $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/security
ln -sf /etc/pki/java/cacerts .
popd
# Install version-ed symlinks
pushd $RPM_BUILD_ROOT%{_jvmdir}
ln -sf %{sdkdir -- $suffix} %{jrelnk -- $suffix}
popd
# Install man pages
install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
for manpage in man/man1/*
do
# Convert man pages to UTF8 encoding
iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
mv -f $manpage.tmp $manpage
install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename \
$manpage .1)-%{uniquesuffix -- $suffix}.1
done
# Remove man pages from jdk image
rm -rf $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/man
popd
if ! echo $suffix | grep -q "debug" ; then
# Install Javadoc documentation
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
cp -a %{buildoutputdir -- $suffix}/images/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}
cp -a %{buildoutputdir -- $suffix}/bundles/jdk-%{newjavaver}+%{buildver}-docs.zip $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip
fi
# Install icons and menu entries
for s in 16 24 32 48 ; do
install -D -p -m 644 \
%{top_level_dir_name}/src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png \
$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}-%{origin}.png
done
# Install desktop files
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps}
for e in jconsole$suffix ; do
desktop-file-install --vendor=%{uniquesuffix -- $suffix} --mode=644 \
--dir=$RPM_BUILD_ROOT%{_datadir}/applications $e.desktop
done
# Install /etc/.java/.systemPrefs/ directory
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/.java/.systemPrefs
# copy samples next to demos; samples are mostly js files
cp -r %{top_level_dir_name}/src/sample $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/
# moving config files to /etc
mkdir -p $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}
mkdir -p $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}/lib
mv $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/conf/ $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}
mv $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/lib/security $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}/lib
pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}
ln -s %{etcjavadir -- $suffix}/conf ./conf
popd
pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/lib
ln -s %{etcjavadir -- $suffix}/lib/security ./security
popd
# end moving files to /etc
# stabilize permissions
find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -name "*.so" -exec chmod 755 {} \; ;
find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -type d -exec chmod 755 {} \; ;
find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/legal -type f -exec chmod 644 {} \; ;
# end, dual install
done
%if %{include_normal_build}
# intentionally only for non-debug
%pretrans headless -p <lua>
-- if copy-jdk-configs is in transaction, it installs in pretrans to temp
-- if copy_jdk_configs is in temp, then it means that copy-jdk-configs is in transaction and so is
-- preferred over one in %%{_libexecdir}. If it is not in transaction, then depends
-- whether copy-jdk-configs is installed or not. If so, then configs are copied
-- (copy_jdk_configs from %%{_libexecdir} used) or not copied at all
local posix = require "posix"
if (os.getenv("debug") == "true") then
debug = true;
print("cjc: in spec debug is on")
else
debug = false;
end
SOURCE1 = "%{rpm_state_dir}/copy_jdk_configs.lua"
SOURCE2 = "%{_libexecdir}/copy_jdk_configs.lua"
local stat1 = posix.stat(SOURCE1, "type");
local stat2 = posix.stat(SOURCE2, "type");
if (stat1 ~= nil) then
if (debug) then
print(SOURCE1 .." exists - copy-jdk-configs in transaction, using this one.")
end;
package.path = package.path .. ";" .. SOURCE1
else
if (stat2 ~= nil) then
if (debug) then
print(SOURCE2 .." exists - copy-jdk-configs already installed and NOT in transaction. Using.")
end;
package.path = package.path .. ";" .. SOURCE2
else
if (debug) then
print(SOURCE1 .." does NOT exists")
print(SOURCE2 .." does NOT exists")
print("No config files will be copied")
end
return
end
end
-- run content of included file with fake args
arg = nil; -- it is better to null the arg up, no meter if they exists or not, and use cjc as module in unified way, instead of relaying on "main" method during require "copy_jdk_configs.lua"
cjc = require "copy_jdk_configs.lua"
args = {"--currentjvm", "%{uniquesuffix %{nil}}", "--jvmdir", "%{_jvmdir %{nil}}", "--origname", "%{name}", "--origjavaver", "%{javaver}", "--arch", "%{_arch}", "--temp", "%{rpm_state_dir}/%{name}.%{_arch}"}
cjc.mainProgram(args) -- the returns from copy_jdk_configs.lua should not affect this 'main', so it should run under all circumstances, except fatal error
%post
%{post_script %{nil}}
%post headless
%{post_headless %{nil}}
%postun
%{postun_script %{nil}}
%postun headless
%{postun_headless %{nil}}
%posttrans
%{posttrans_script %{nil}}
%post devel
%{post_devel %{nil}}
%postun devel
%{postun_devel %{nil}}
%posttrans devel
%{posttrans_devel %{nil}}
%post javadoc
%{post_javadoc %{nil}}
%postun javadoc
%{postun_javadoc %{nil}}
%post javadoc-zip
%{post_javadoc_zip %{nil}}
%postun javadoc-zip
%{postun_javadoc_zip %{nil}}
%endif
%if %{include_debug_build}
%post slowdebug
%{post_script -- %{debug_suffix_unquoted}}
%post headless-slowdebug
%{post_headless -- %{debug_suffix_unquoted}}
%postun slowdebug
%{postun_script -- %{debug_suffix_unquoted}}
%postun headless-slowdebug
%{postun_headless -- %{debug_suffix_unquoted}}
%posttrans slowdebug
%{posttrans_script -- %{debug_suffix_unquoted}}
%post devel-slowdebug
%{post_devel -- %{debug_suffix_unquoted}}
%postun devel-slowdebug
%{postun_devel -- %{debug_suffix_unquoted}}
%posttrans devel-slowdebug
%{posttrans_devel -- %{debug_suffix_unquoted}}
%endif
%if %{include_normal_build}
%files
# main package builds always
%{files_jre %{nil}}
%else
%files
# placeholder
%endif
%if %{include_normal_build}
%files headless
# all config/noreplace files (and more) have to be declared in pretrans. See pretrans
%{files_jre_headless %{nil}}
%files devel
%{files_devel %{nil}}
%files jmods
%{files_jmods %{nil}}
%files demo
%{files_demo %{nil}}
%files src
%{files_src %{nil}}
%files javadoc
%{files_javadoc %{nil}}
# this puts huge file to /usr/share
# unluckily ti is really a documentation file
# and unluckily it really is architecture-dependent, as eg. aot and grail are now x86_64 only
# same for debug variant
%files javadoc-zip
%{files_javadoc_zip %{nil}}
%endif
%if %{include_debug_build}
%files slowdebug
%{files_jre -- %{debug_suffix_unquoted}}
%files headless-slowdebug
%{files_jre_headless -- %{debug_suffix_unquoted}}
%files devel-slowdebug
%{files_devel -- %{debug_suffix_unquoted}}
%files jmods-slowdebug
%{files_jmods -- %{debug_suffix_unquoted}}
%files demo-slowdebug
%{files_demo -- %{debug_suffix_unquoted}}
%files src-slowdebug
%{files_src -- %{debug_suffix_unquoted}}
%endif
%changelog
* Thu Jul 17 2025 Benshuai5D <Benshuai5d@163.com> -1:11.0.28.6-1
- add huawei-remove-provides-in-kaeprovider-module-info.patch
* Tue Jul 15 2025 yangyingqing <yangyingqing@h-partners.com> -1:11.0.28.6-0
- update to 11.0.28+6(GA)
- delete 8352716-tz-Update-Timezone-Data-to-2025b.patch
- modify delete_expired_certificates.patch
- modify G1-interate-region-by-bitmap-rather-than-obj-size-in.patch
* Tue Jul 15 2025 yangyingqing <yangyingqing@h-partners.com> -1:11.0.27.6-2
- add huawei-AArch64-Incorrect-matching-rule.patch
* Tue Apr 29 2025 wulongyao <wulongyao1@huawei.com> - 1:11.0.27.6-1
- add 8352716-tz-Update-Timezone-Data-to-2025b.patch
* Thu Apr 17 2025 yangyingqing <yangyingqing@h-partners.com> - 1:11.0.27.6-0
- update to 11.0.27+6(GA)
- delete 8347965-tz-Update-Timezone-Data-to-2025a.patch
- add fix-potential-build-fail-in-jbolt.patch
* Tue Apr 1 2025 2025 swcompiler <lc@wxiat.cn> - 1:11.0.26.4-3
- add sw64 port to 11.0.26
* Tue Mar 04 2025 eapen <zhangyipeng7@huawei.com> - 1:11.0.26.4-2
- (tz) update Timezone Data to 2025a
- add jbolt feature
* Wed Feb 12 2025 Dingli Zhang <dingli@iscas.ac.cn> - 1:11.0.26.4-1
- update riscv64 port to 11.0.26
* Wed Jan 22 2025 Autistic_boyya <wangzhongyi7@huawei.com> - 1:11.0.26.4-0
- modified G1-iterate-region-by-bitmap-rather-than-obj-size-in.patch
* Fri Dec 27 2024 Dingli Zhang <dingli@iscas.ac.cn> - 1:11.0.25.9-4
- Fix build error on docker for riscv64
- Fix bogus date in changelog
* Wed Nov 6 2024 Pan Xuefeng <panxuefeng@loongson.cn> - 1:11.0.25.9-3
- update LoongArch64 port to 11.0.25
* Wed Oct 23 2024 Dingli Zhang <dingli@iscas.ac.cn> - 1:11.0.25.9-2
- update riscv64 port to 11.0.25
* Mon Oct 21 2024 wuyafang <wuyafang@huawei.com> - 1:11.0.25.9-1
- disable lto in spec
- add Provides: /usr/bin/jjs
- update license
* Wed Oct 16 2024 wuyafang <wuyafang@huawei.com> - 1:11.0.25.9-0
- upgrade to 11.0.25+9(GA)
- change default ActiveProcessorCount only for HBase
* Fri Aug 30 2024 songliyang <songliyang@kylinos.cn> - 1.11.0.24.8-6
- update License
* Thu Aug 1 2024 aoqi <aoqi@loongson.cn> - 1.11.0.24.8-5
- update LoongArch64 port to 11.0.24
* Mon Jul 29 2024 DXwangg <wangjiawei80@huawei.com> - 1.11.0.24.8-4
- modified delete_expired_certificates.patch
* Thu Jul 25 2024 songliyang <songliyang@kylinos.cn> - 1.11.0.24.8-3
- update Loongarch support patch to fix the error while applying in prep stage
* Tue Jul 23 2024 songliyang <songliyang@kylinos.cn> - 1.11.0.24.8-2
- null the arg to solve openjdk-headless install error
* Thu Jul 18 2024 Dingli Zhang <dingli@iscas.ac.cn> - 1.11.0.24.8-1
- update riscv64 port to 11.0.24
* Thu Jul 18 2024 DXwangg <wangjiawei80@huawei.com> - 1.11.0.24.8-0
- update to 11.0.24+8(GA)
* Thu Jun 20 2024 aoqi <aoqi@loongson.cn> - 1.11.0.23.9-6
- update LoongArch64 port to 11.0.23
* Tue Jun 18 2024 neu-mobi <liuyulong35@huawei.com> - 1.11.0.23.9-5
- fix potential compilation errors
* Sat Jun 15 2024 neu-mobi <liuyulong35@huawei.com> - 1.11.0.23.9-4
- Collate patches and merge patches related to ZGC
* Mon Jun 03 2024 songliyang <songliyng@kylinos.cn> - 1:11.0.23.9-3
- fix loongarch vendor error
- fix changelog error
* Wed May 08 2024 zhangxianting <zhangxianting@uniontech.com> - 1:11.0.23.9-2
- recompress the source0
* Mon Apr 29 2024 huangjie <huangjie150@huawei.com> - 1:11.0.23.9-1
- modified delete_expired_certificates.patch
* Thu Apr 18 2024 huangjie <huangjie150@huawei.com> - 1:11.0.23.9-0
- modified 8224675-Late-GC-barrier-insertion-for-ZGC.patch
- modified delete_expired_certificates.patch
* Wed Mar 13 2024 jiahua.yu <jiahua.yu@shingroup.cn> - 1:11.0.22.7-3
- init support for arch ppc64le
* Mon Feb 26 2024 misaka00251 <liuxin@iscas.ac.cn> - 1:11.0.22.7-2
- Fix build on riscv64
* Tue Feb 20 2024 Leslie Zhai <zhaixiang@loongson.cn> - 1:11.0.22.7-1
- init support of LoongArch64
* Wed Jan 17 2024 DXwangg <wangjiawei80@huawei.com> - 1:11.0.22.7-0
- update to 11.0.22+7(GA)
- modified delete_expired_certificates.patch
- modified G1-iterate-region-by-bitmap-rather-than-obj-size-in.patch
* Mon Oct 23 2023 DXwangg <wangjiawei80@huawei.com> - 1:11.0.21.9-1
- add 8295068-SSLEngine-throws-NPE-parsing-Certificate.patch
* Thu Oct 19 2023 DXwangg <wangjiawei80@huawei.com> - 1:11.0.21.9-0
- update to 11.0.21+9(GA)
- modified delete_expired_certificates.patch
- modified G1-iterate-region-by-bitmap-rather-than-obj-size-in.patch
- modified 8210473-JEP-345-NUMA-Aware-Memory-Allocation-for-G1.patch
- modified 8214527-AArch64-ZGC-for-Aarch64.patch
* Thu Aug 17 2023 misaka00251 <liuxin@iscas.ac.cn> - 1:11.0.20.8-2
- Add riscv64 support (based on bishengjdk riscv branch)
* Wed Aug 16 2023 noah <hedongbo@huawei.com> - 1:11.0.20.8-1
- fix CPUBench kmeans random fails
* Tue Jul 25 2023 DXwangg <wangjiawei80@huawei.com> - 1:11.0.20.8-0
- update to 11.0.20+8(GA)
- modified delete_expired_certificates.patch
* Sun Apr 23 2023 DXwangg <wangjiawei80@huawei.com> - 1:11.0.19.7-0
- update to 11.0.19+7(GA)
- deleted 8225648-TESTBUG-java-lang-annotation-loaderLeak-Main.patch
- modified Add-KAE-implementation.patch
- modified G1-iterate-region-by-bitmap-rather-than-obj-size-in.patch
- modified delete_expired_certificates.patch
- modified 8205921-Optimizing-best_of_2-work-stealing-queue-selection.patch
* Thu Jan 5 2023 Henry_Yang <yangyudong3@huawei.com> - 1:11.0.18.10-1
- add 8222289-Overhaul-logic-for-reading-writing-constant-pool-entries.patch
* Thu Jan 5 2023 DXwangg <wangjiawei80@huawei.com> - 1:11.0.18.10-0
- update to 11.0.18+10(GA)
- modified 8231441-2-AArch64-Initial-SVE-backend-support.patch
- delete 8290705_fix_StringConcat_validate_mem_flow_asserts_with_unexpected_userStoreI.patch
* Wed Oct 19 2022 DXwangg <wangjiawei80@huawei.com> - 1:11.0.17.8-0
- update to 11.0.17+8(GA)
- modified G1-iterate-region-by-bitmap-rather-than-obj-size-in.patch
- modified PS-introduce-UsePSRelaxedForwardee-to-enable-using-r.patch
* Mon Sep 19 2022 DXwangg <wangjiawei80@huawei.com> - 1:11.0.17.6-0
- update to 11.0.17+5
- modified NUMA-Aware-Implementation-humongous-region.patch
- modified Add-KAE-implementation.patch
- modified fast-serializer-jdk11.patch
* Fri Aug 5 2022 kuenking111 <wangkun49@huawei.com> - 1:11.0.16.8-1
- add 8290705_fix_StringConcat_validate_mem_flow_asserts_with_unexpected_userStoreI.patch
* Tue Jul 26 2022 kuenking111 <wangkun49@huawei.com> - 1:11.0.16.8-0
- modified 8224675-Late-GC-barrier-insertion-for-ZGC.patch
- modified ZGC-Redesign-C2-load-barrier-to-expand-on-th.patch
- modified fast-serializer-jdk11.patch
- modified dfx-enhancement-of-FastSerializer.patch
- modified 8210473-JEP-345-NUMA-Aware-Memory-Allocation-for-G1.patch
- modified src-openeuler-openjdk-11-resolve-code-inconsistencies.patch
- modified add-missing-inline.patch
- modified G1-iterate-region-by-bitmap-rather-than-obj-size-in.patch
- delete fix_X509TrustManagerImpl_symantec_distrust.patch
- add fix_Internal_and_external_code_inconsistency.patch
* Thu Apr 28 2022 kuenking111 <wangkun49@huawei.com> - 1:11.0.15.10-1
- add fix_X509TrustManagerImpl_symantec_distrust.patch
* Tue Apr 26 2022 kuenking111 <wangkun49@huawei.com> - 1:11.0.15.10-0
- modified 8231441-3-AArch64-Initial-SVE-backend-support.patch
- modified 8210473-JEP-345-NUMA-Aware-Memory-Allocation-for-G1.patch
- modified delete_expired_certificates.patch
- modified G1-iterate-region-by-bitmap-rather-than-obj-size-in.patch
* Sat Mar 26 2022 eapen <zhangyipeng7@huawei.com> - 1:11.0.14.9-3
- reconstruct applying of memcpy.o used by lib compilations
* Fri Mar 25 2022 eapen <zhangyipeng7@huawei.com> - 1:11.0.14.9-2
- adapted to newst cjc to fix issue with rpm 4.17
* Wed Feb 9 2022 kuenking111 <wangkun49@huawei.com> - 1:11.0.14.9-1
- add fix-error-in-build-core-variants.patch
* Tue Feb 8 2022 kuenking111 <wangkun49@huawei.com> - 1:11.0.14.9-0
- Update to 11.0.14+9 (GA)
* Tue Dec 21 2021 kuenking111 <wangkun49@huawei.com> - 1:11.0.13.7-6
- delete stack protection
* Thu Dec 16 2021 kuenking111 <wangkun49@huawei.com> - 1:11.0.13.7-5
- add Delete-expired-certificate-globalsignr2ca.patch
* Fri Dec 10 2021 kuenking111 <wangkun49@huawei.com> - 1:11.0.13.7-4
- add 8239017-cmp-baseline-fails-because-of-differences-in-TimeZoneNames_kea.patch
* Fri Dec 10 2021 kuenking111 <wangkun49@huawei.com> - 1:11.0.13.7-3
- add fix-memcpy-compile-warning-when-building-on-linux-x86.patch
* Fri Dec 10 2021 kuenking111 <wangkun49@huawei.com> - 1:11.0.13.7-2
- add 8273111-Default-timezone-should-return-zone-ID-if-locatiome-is-valid-but-not-canonicalization-on-linux.patch
* Fri Dec 3 2021 kuenking111 <wangkun49@huawei.com> - 1:11.0.13.7-1
- correct spec file release number typo
* Tue Oct 26 2021 kuenking111 <wangkun49@huawei.com> - 1:11.0.13.7-0
- Update to 11.0.13+7 (GA)
* Sat Sep 18 2021 kuenking111 <wangkun49@huawei.com> - 1:11.0.12.7-3
- add PS-introduce-UsePSRelaxedForwardee-to-enable-using-r.patch
* Fri Sep 17 2021 kuenking111 <wangkun49@huawei.com> - 1:11.0.12.7-2
- add Update-algorithm-annotations-for-fill_words.patch
- add 8257145-Performance-regression-with-XX-ResizePLAB-af.patch
- add create-jfr-dump-file-with-pid-or-timestamp-if-specif.patch
- add enhance-the-TimeZone-s-path-solution-on-Euler.patch
- add Add-KAE-implementation.patch
* Tue Aug 17 2021 eapen <zhangyipeng7@huawei.com> - 1:11.0.12.7-1
- add 8247691-Incorrect-handling-of-VM-exceptions-in-C1-deopt-stub.patch
* Tue Aug 3 2021 linhaibing21 <linhaibing@huawei.com> - 1:11.0.12.7-0
- Update to 11.0.12+7 (GA)
- delete 8207160-ClassReader-adjustMethodParams-can-potentially-return-null-if-the-args-list-is-empty.patch
- delete 8217918-C2-XX-AggressiveUnboxing-is-broken.patch
- delete 8223667-ASAN-build-broken.patch
- delete 8264640.patch
- other adaptations to 11.0.12
* Thu Jul 8 2021 noah <hedongbo@huawei.com> - 1:11.0.11.9-7
- delete debug log to reduce build time
* Thu Jun 17 2021 Benshuai5D <zhangyunbo7@huawei.com> - 1:11.0.11.9-6
- add openjdk-11.yaml
* Wed Jun 9 2021 kuenking111 <wangkun49@huawei.com> - 1:11.0.11.9-5
- add delete_expired_certificates.patch
* Wed Jun 9 2021 kuenking111 <wangkun49@huawei.com> - 1:11.0.11.9-4
- add support_jmap_parallel_inspection_for_cms_gc.patch
* Wed Jun 9 2021 kuenking111 <wangkun49@huawei.com> - 1:11.0.11.9-3
- add select_nearest_numa_node.patch
* Mon May 31 2021 kuenking111 <wangkun49@huawei.com> - 1:11.0.11.9-2
- add numa_mem_leak.patch
* Fri May 28 2021 kuenking111 <wangkun49@huawei.com> - 1:11.0.11.9-1
- add 8264640.patch
* Fri May 14 2021 hu_bo_dao <hubodao@huawei.com> - 1:11.0.11.9-0
- Update to 11.0.11+9 (GA)
* Sat Apr 17 2021 aijm <aijiaming1@huawei.com> - 1:11.0.10.9-8
- add G1-iterate-region-by-bitmap-rather-than-obj-size-in.patch
* Tue Apr 13 2021 kuenking <wangkun49@huawei.com> - 1:11.0.10.9-7
- add src-openeuler-openjdk-11-resolve-code-inconsistencies.patch
* Fri Mar 19 2021 aijm <aijiaming1@huawei.com> - 1:11.0.10.9-6
- add 8214535-support-Jmap-parallel.patch
* Fri Mar 19 2021 aijm <aijiaming1@huawei.com> - 1:11.0.10.9-5
- add add-G1-Full-GC-optimization.patch
* Fri Mar 19 2021 kuenking111 <wangkun49@huawei.com> - 1:11.0.10.9-4
- add add-LazyBox-feature.patch
* Fri Mar 19 2021 aijm <aijiaming1@huawei.com> - 1:11.0.10.9-3
- add downgrade-the-symver-of-log2f-posix-spawn.patch
- add 8254078-DataOutputStream-is-very-slow-post-disabling.patch
- add 8217918-C2-XX-AggressiveUnboxing-is-broken.patch
* Sun Feb 7 2021 jdkboy <ge.guo@huawei.com> - 1:11.0.10.9-2
- remove redundant file info
* Fri Feb 5 2021 eapen <zhangyipeng7@huawei.com> - 1:11.0.10.9-1
- add 8240353.patch
* Fri Feb 5 2021 eapen <zhangyipeng7@huawei.com> - 1:11.0.10.9-0
- update to 11.0.10+9(GA)
- use system harfbuzz now this is supported
* Thu Dec 24 2020 kuenking <wangkun49@huawei.com> - 1:11.0.9.11-10
- add add-SVE-backend-feature.patch
* Thu Dec 24 2020 kuenking <wangkun49@huawei.com> - 1:11.0.9.11-9
- add add-integerCache-feature.patch
* Thu Dec 24 2020 kuenking <wangkun49@huawei.com> - 1:11.0.9.11-8
- add add-zgc-parameter-adaptation-feature.patch
* Wed Dec 23 2020 alapha <sunjianye@huawei.com> - 1:11.0.9.11-7
- add 8215047-Task-terminators-do-not-complete-termination-in-consistent-state.patch
- add 8247766-aarch64-guarantee-val-1U--nbits-failed-Field-too-big-for-insn.patch
* Wed Dec 23 2020 eapen <zhangyipeng7@huawei.com> - 1:11.0.9.11-6
- add 8207160-ClassReader-adjustMethodParams-can-potentially-return-null-if-the-args-list-is-empty.patch
* Tue Dec 22 2020 aijm <aijiaming1@huawei.com> - 1:11.0.9.11-5
- add 8236512-PKCS11-Connection-closed-after-Cipher-doFinal-and-NoPadding.patch
* Mon Dec 21 2020 noah <hedongbo@huawei.com> - 1:11.0.9.11-4
- add a license to this repo
* Fri Nov 6 2020 noah <hedongbo@huawei.com> - 1:11.0.9.11-3
- add 8255781-Bump-patch-update-version-for-OpenJDK-jdk-11.0.9.1.patch
- add 8250861-Crash-in-MinINode-Ideal.patch
* Fri Nov 6 2020 wuyan <wuyan34@huawei.com> - 1:11.0.9.11-2
- add 8248336-AArch64-C2-offset-overflow-in-BoxLockNode-em.patch
* Mon Oct 26 2020 noah <hedongbo@huawei.com> - 1:11.0.9.11-1
- add 8229495-SIGILL-in-C2-generated-OSR-compilation.patch
* Thu Oct 22 2020 noah <hedongbo@huawei.com> - 1:11.0.9.11-0
- Update to 11.0.9+11 (GA)
- rename Boole to Bisheng
- remove 8229495-SIGILL-in-C2-generated-OSR-compilation.patch temporarily
* Tue Oct 20 2020 noah <hedongbo@huawei.com> - 1:11.0.8.10-9
- delete redundant openjdk-11.0.8-ga.tar.xz
* Mon Sep 21 2020 noah <hedongbo@huawei.com> - 1:11.0.8.10-8
- add 8204947-Port-ShenandoahTaskTerminator-to-mainline-and-make-it-default.patch
- add 8205921-Optimizing-best_of_2-work-stealing-queue-selection.patch
- add 8237483-AArch64-C1-OopMap-inserted-twice-fatal-error.patch
* Fri Sep 11 2020 noah <hedongbo@huawei.com> - 1:11.0.8.10-7
- add 8223667-ASAN-build-broken.patch
- add 8229495-SIGILL-in-C2-generated-OSR-compilation.patch
- add 8229496-SIGFPE-division-by-zero-in-C2-OSR-compiled-method.patch
- add 8243670-Unexpected-test-result-caused-by-C2-MergeMem.patch
- add fix-IfNode-s-bugs.patch
- add leaf-optimize-in-ParallelScanvageGC.patch
- add ZGC-correct-free-heap-size-excluding-waste-in-rule_allocation_rate.patch
* Tue Sep 8 2020 noah <hedongbo@huawei.com> - 1:11.0.8.10-6
- add fast-serializer-jdk11.patch
- add fix-jck-failure-on-FastSerializer.patch
* Mon Sep 7 2020 noah <hedongbo@huawei.com> - 1:11.0.8.10-5
- Delete some file header information
* Mon Aug 31 2020 jdkboy <guoge1@huawei.com> - 1:11.0.8.10-4
- Add 8210473-JEP-345-NUMA-Aware-Memory-Allocation-for-G1.patch
- Add 8210461-AArch64-Math.cos-intrinsic-gives-incorrect-results.patch
- Add NUMA-Aware-Implementation-humongous-region.patch
- Add ZGC-in-c1-load-barrier-d0-and-d1-registers-miss-restoring.patch
- Add fix-compile-error-without-disable-precompiled-headers.patch
- Remove fast-serializer-jdk11.patch
- Remove fix-jck-failure-on-FastSerializer.patch
* Tue Aug 25 2020 noah <hedongbo@huawei.com> - 1:11.0.8.10-3
- add fix-jck-failure-on-FastSerializer.patch
- add 8240360-NativeLibraryEvent-has-wrong-library-name-on-linux.patch
* Mon Jul 20 2020 jdkboy <guoge1@huawei.com> - 1:11.0.8.10-2
- add fast-serializer-jdk11.patch
* Mon Jul 20 2020 noah <hedongbo@huawei.com> - 1:11.0.8.10-1
- add ZGC-aarch64-fix-not-using-load-store-Pre-index.patch
- add address-s-offset-may-exceed-the-limit-of-ldrw-instru.patch
- add ZGC-reuse-entries-of-ResolvedMethodTable.patch
* Sat Jul 18 2020 jvmboy <hedongbo@huawei.com> - 1:11.0.8.10-0
- Update to 11.0.8+10 (GA)
* Tue Jun 9 2020 jdkboy <guoge1@huawei.com> - 1:11.0.7.10-5
- Version support fulljavaver.buildver
- Judge with_systemtap
- 8228407: JVM crashes with shared archive file mismatch
- Remove javadoc-slowdebug
* Mon May 25 2020 noah <hedongbo@huawei.com> - 1:11.0.7.10-4
- Support nss, systemtap and desktop
* Thu May 21 2020 jdkboy <guoge1@huawei.com> - 1:11.0.7.10-3
- Update to 11.0.7+10 (GA)
* Tue Apr 28 2020 jdkboy <guoge1@huawei.com> - 1:11.0.6.10-2
- Adjust some patches
* Sun Apr 26 2020 noah <hedongbo@huawei.com> - 1:11.0.6.10-1
- Initial build from OpenJDK 11.0.6
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。