# 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-1.8.0-openjdk.spec # # Produce only release builds (no slowdebug builds) on x86_64: # $ rpmbuild -ba java-1.8.0-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 # 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. %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 jit_arches x86_64 %{aarch64} %global sa_arches x86_64 %{aarch64} %global jfr_arches x86_64 %{aarch64} # By default, we build a debug build during main build on JIT architectures %global include_debug_build 1 %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} %ifarch %{jit_arches} %global bootstrap_build 1 %else %global bootstrap_build 0 %endif %global release_targets images docs-zip # 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 -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs) # We filter out -O flags so that the optimization of HotSpot is not lowered from O3 to O2 # 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||' | sed -e 's|-Werror=format-security||') %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) %global NSS_LIBS %(pkg-config --libs nss) %global NSS_CFLAGS %(pkg-config --cflags nss-softokn) %global NSSSOFTOKN_BUILDTIME_NUMBER %(pkg-config --modversion nss-softokn || : ) %global NSS_BUILDTIME_NUMBER %(pkg-config --modversion nss || : ) # this is workaround for processing of requires during srpm creation %global NSSSOFTOKN_BUILDTIME_VERSION %(if [ "x%{NSSSOFTOKN_BUILDTIME_NUMBER}" == "x" ] ; then echo "" ;else echo ">= %{NSSSOFTOKN_BUILDTIME_NUMBER}" ;fi) %global NSS_BUILDTIME_VERSION %(if [ "x%{NSS_BUILDTIME_NUMBER}" == "x" ] ; then echo "" ;else echo ">= %{NSS_BUILDTIME_NUMBER}" ;fi) # 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 _target_cpu %ifarch x86_64 %global archinstall amd64 %global stapinstall x86_64 %endif %ifarch %{aarch64} %global archinstall aarch64 %global stapinstall arm64 %endif %ifarch %{jit_arches} %global with_systemtap 1 %else %global with_systemtap 0 %endif # New Version-String scheme-style defines %global majorver 8 %global with_openjfx_binding 1 %global openjfx_path %{_jvmdir}/openjfx8 # links src directories %global jfx_jre_libs_dir %{openjfx_path}/rt/lib %global jfx_jre_native_dir %{jfx_jre_libs_dir}/%{archinstall} %global jfx_sdk_libs_dir %{openjfx_path}/lib %global jfx_sdk_bins_dir %{openjfx_path}/bin %global jfx_jre_exts_dir %{jfx_jre_libs_dir}/ext # links src files # maybe depend on jfx and generate the lists in build time? Yes, bad idea to inlcude cyclic depndenci, but this list is aweful %global jfx_jre_libs jfxswt.jar javafx.properties %global jfx_jre_native libprism_es2.so libprism_common.so libjavafx_font.so libdecora_sse.so libjavafx_font_freetype.so libprism_sw.so libjavafx_font_pango.so libglass.so libjavafx_iio.so libglassgtk2.so libglassgtk3.so %global jfx_sdk_libs javafx-mx.jar packager.jar ant-javafx.jar %global jfx_sdk_bins javafxpackager javapackager %global jfx_jre_exts jfxrt.jar # Standard JPackage naming and versioning defines. %global origin openjdk %global origin_nice OpenJDK %global top_level_dir_name %{origin} %global repo jdk8u %global revision jdk8u302-b07 %global full_revision %{repo}-%{revision} # Define IcedTea version used for SystemTap tapsets and desktop files %global icedteaver 3.15.0 %global updatever 302 %global buildver b07 # priority must be 7 digits in total. The expression is workarounding tip %global priority 1800%{updatever} %global javaver 1.%{majorver}.0 # parametrized macros are order-sensitive %global compatiblename %{name} %global fullversion %{compatiblename}-%{version}-%{release} # images stub %global jdkimage j2sdk-image # output dir stub %define buildoutputdir() %{expand:build/jdk8.build%{?1}} # we can copy the javadoc to not arched dir, or make it not noarch %define uniquejavadocdir() %{expand:%{fullversion}%{?1}} # main id and dir of this jdk %define uniquesuffix() %{expand:%{fullversion}.%{_arch}%{?1}} %global _privatelibs libatk-wrapper[.]so.*|libattach[.]so.*|libawt_headless[.]so.*|libawt[.]so.*|libawt_xawt[.]so.*|libdt_socket[.]so.*|libfontmanager[.]so.*|libhprof[.]so.*|libinstrument[.]so.*|libj2gss[.]so.*|libj2pcsc[.]so.*|libj2pkcs11[.]so.*|libjaas_unix[.]so.*|libjava_crw_demo[.]so.*|libjavajpeg[.]so.*|libjdwp[.]so.*|libjli[.]so.*|libjsdt[.]so.*|libjsoundalsa[.]so.*|libjsound[.]so.*|liblcms[.]so.*|libmanagement[.]so.*|libmlib_image[.]so.*|libnet[.]so.*|libnio[.]so.*|libnpt[.]so.*|libsaproc[.]so.*|libsctp[.]so.*|libsplashscreen[.]so.*|libsunec[.]so.*|libunpack[.]so.*|libzip[.]so.*|lib[.]so\\(SUNWprivate_.* %global _publiclibs libjawt[.]so.*|libjava[.]so.*|libjvm[.]so.*|libverify[.]so.*|libjsig[.]so.* %global __provides_exclude ^(%{_privatelibs})$ %global __requires_exclude ^(%{_privatelibs})$ # Never generate lib-style provides/requires for slowdebug packages %global __provides_exclude_from ^.*/%{uniquesuffix -- %{debug_suffix_unquoted}}/.*$ %global __requires_exclude_from ^.*/%{uniquesuffix -- %{debug_suffix_unquoted}}/.*$ %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 jredir() %{expand:%{sdkdir -- %{?1}}/jre} %define sdkbindir() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin} %define jrebindir() %{expand:%{_jvmdir}/%{jredir -- %{?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 target_cpu as architecture specific directory name. %global tapsetroot /usr/share/systemtap %global tapsetdirttapset %{tapsetroot}/tapset/ %global tapsetdir %{tapsetdirttapset}/%{stapinstall} %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: 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}/%{jredir -- %{?1}} \\ --slave %{_bindir}/jjs jjs %{jrebindir -- %{?1}}/jjs \\ --slave %{_bindir}/keytool keytool %{jrebindir -- %{?1}}/keytool \\ --slave %{_bindir}/orbd orbd %{jrebindir -- %{?1}}/orbd \\ --slave %{_bindir}/pack200 pack200 %{jrebindir -- %{?1}}/pack200 \\ --slave %{_bindir}/rmid rmid %{jrebindir -- %{?1}}/rmid \\ --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir -- %{?1}}/rmiregistry \\ --slave %{_bindir}/servertool servertool %{jrebindir -- %{?1}}/servertool \\ --slave %{_bindir}/tnameserv tnameserv %{jrebindir -- %{?1}}/tnameserv \\ --slave %{_bindir}/policytool policytool %{jrebindir -- %{?1}}/policytool \\ --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/orbd.1$ext orbd.1$ext \\ %{_mandir}/man1/orbd-%{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/servertool.1$ext servertool.1$ext \\ %{_mandir}/man1/servertool-%{uniquesuffix -- %{?1}}.1$ext \\ --slave %{_mandir}/man1/tnameserv.1$ext tnameserv.1$ext \\ %{_mandir}/man1/tnameserv-%{uniquesuffix -- %{?1}}.1$ext \\ --slave %{_mandir}/man1/policytool.1$ext policytool.1$ext \\ %{_mandir}/man1/policytool-%{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}/%{jredir -- %{?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}/%{jredir -- %{?1}} alternatives --remove jre_%{javaver} %{_jvmdir}/%{jredir -- %{?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}} \\ --slave %{_bindir}/appletviewer appletviewer %{sdkbindir -- %{?1}}/appletviewer \\ --slave %{_bindir}/clhsdb clhsdb %{sdkbindir -- %{?1}}/clhsdb \\ --slave %{_bindir}/extcheck extcheck %{sdkbindir -- %{?1}}/extcheck \\ --slave %{_bindir}/hsdb hsdb %{sdkbindir -- %{?1}}/hsdb \\ --slave %{_bindir}/idlj idlj %{sdkbindir -- %{?1}}/idlj \\ --slave %{_bindir}/jar jar %{sdkbindir -- %{?1}}/jar \\ --slave %{_bindir}/jarsigner jarsigner %{sdkbindir -- %{?1}}/jarsigner \\ --slave %{_bindir}/javadoc javadoc %{sdkbindir -- %{?1}}/javadoc \\ --slave %{_bindir}/javah javah %{sdkbindir -- %{?1}}/javah \\ --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 \\ %ifarch %{jfr_arches} --slave %{_bindir}/jfr jfr %{sdkbindir -- %{?1}}/jfr \\ %endif --slave %{_bindir}/jhat jhat %{sdkbindir -- %{?1}}/jhat \\ --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}/jsadebugd jsadebugd %{sdkbindir -- %{?1}}/jsadebugd \\ --slave %{_bindir}/jstack jstack %{sdkbindir -- %{?1}}/jstack \\ --slave %{_bindir}/jstat jstat %{sdkbindir -- %{?1}}/jstat \\ --slave %{_bindir}/jstatd jstatd %{sdkbindir -- %{?1}}/jstatd \\ --slave %{_bindir}/native2ascii native2ascii %{sdkbindir -- %{?1}}/native2ascii \\ --slave %{_bindir}/rmic rmic %{sdkbindir -- %{?1}}/rmic \\ --slave %{_bindir}/schemagen schemagen %{sdkbindir -- %{?1}}/schemagen \\ --slave %{_bindir}/serialver serialver %{sdkbindir -- %{?1}}/serialver \\ --slave %{_bindir}/wsgen wsgen %{sdkbindir -- %{?1}}/wsgen \\ --slave %{_bindir}/wsimport wsimport %{sdkbindir -- %{?1}}/wsimport \\ --slave %{_bindir}/xjc xjc %{sdkbindir -- %{?1}}/xjc \\ --slave %{_mandir}/man1/appletviewer.1$ext appletviewer.1$ext \\ %{_mandir}/man1/appletviewer-%{uniquesuffix -- %{?1}}.1$ext \\ --slave %{_mandir}/man1/extcheck.1$ext extcheck.1$ext \\ %{_mandir}/man1/extcheck-%{uniquesuffix -- %{?1}}.1$ext \\ --slave %{_mandir}/man1/idlj.1$ext idlj.1$ext \\ %{_mandir}/man1/idlj-%{uniquesuffix -- %{?1}}.1$ext \\ --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/javah.1$ext javah.1$ext \\ %{_mandir}/man1/javah-%{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/jhat.1$ext jhat.1$ext \\ %{_mandir}/man1/jhat-%{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/jsadebugd.1$ext jsadebugd.1$ext \\ %{_mandir}/man1/jsadebugd-%{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/native2ascii.1$ext native2ascii.1$ext \\ %{_mandir}/man1/native2ascii-%{uniquesuffix -- %{?1}}.1$ext \\ --slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \\ %{_mandir}/man1/rmic-%{uniquesuffix -- %{?1}}.1$ext \\ --slave %{_mandir}/man1/schemagen.1$ext schemagen.1$ext \\ %{_mandir}/man1/schemagen-%{uniquesuffix -- %{?1}}.1$ext \\ --slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \\ %{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1$ext \\ --slave %{_mandir}/man1/wsgen.1$ext wsgen.1$ext \\ %{_mandir}/man1/wsgen-%{uniquesuffix -- %{?1}}.1$ext \\ --slave %{_mandir}/man1/wsimport.1$ext wsimport.1$ext \\ %{_mandir}/man1/wsimport-%{uniquesuffix -- %{?1}}.1$ext \\ --slave %{_mandir}/man1/xjc.1$ext xjc.1$ext \\ %{_mandir}/man1/xjc-%{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 %{_datadir}/applications/*policytool%{?1}.desktop %{_jvmdir}/%{sdkdir -- %{?1}}/jre/lib/%{archinstall}/libjsoundalsa.so %{_jvmdir}/%{sdkdir -- %{?1}}/jre/lib/%{archinstall}/libsplashscreen.so %{_jvmdir}/%{sdkdir -- %{?1}}/jre/lib/%{archinstall}/libawt_xawt.so %{_jvmdir}/%{sdkdir -- %{?1}}/jre/lib/%{archinstall}/libjawt.so %{_jvmdir}/%{sdkdir -- %{?1}}/jre/bin/policytool } %define files_jre_headless() %{expand: %defattr(-,root,root,-) %dir %{_sysconfdir}/.java/.systemPrefs %dir %{_sysconfdir}/.java %license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/jre/ASSEMBLY_EXCEPTION %license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/jre/LICENSE %license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/jre/THIRD_PARTY_README %dir %{_jvmdir}/%{sdkdir -- %{?1}} %{_jvmdir}/%{jrelnk -- %{?1}} %dir %{_jvmdir}/%{jredir -- %{?1}}/lib/security %{_jvmdir}/%{jredir -- %{?1}}/lib/security/cacerts %dir %{_jvmdir}/%{jredir -- %{?1}} %dir %{_jvmdir}/%{jredir -- %{?1}}/bin %dir %{_jvmdir}/%{jredir -- %{?1}}/lib %{_jvmdir}/%{jredir -- %{?1}}/bin/java %{_jvmdir}/%{jredir -- %{?1}}/bin/jjs %{_jvmdir}/%{jredir -- %{?1}}/bin/keytool %{_jvmdir}/%{jredir -- %{?1}}/bin/orbd %{_jvmdir}/%{jredir -- %{?1}}/bin/pack200 %{_jvmdir}/%{jredir -- %{?1}}/bin/rmid %{_jvmdir}/%{jredir -- %{?1}}/bin/rmiregistry %{_jvmdir}/%{jredir -- %{?1}}/bin/servertool %{_jvmdir}/%{jredir -- %{?1}}/bin/tnameserv %{_jvmdir}/%{jredir -- %{?1}}/bin/unpack200 %dir %{_jvmdir}/%{jredir -- %{?1}}/lib/security/policy/unlimited/ %dir %{_jvmdir}/%{jredir -- %{?1}}/lib/security/policy/limited/ %dir %{_jvmdir}/%{jredir -- %{?1}}/lib/security/policy/ %config(noreplace) %{etcjavadir -- %{?1}}/lib/security/policy/unlimited/US_export_policy.jar %config(noreplace) %{etcjavadir -- %{?1}}/lib/security/policy/unlimited/local_policy.jar %config(noreplace) %{etcjavadir -- %{?1}}/lib/security/policy/limited/US_export_policy.jar %config(noreplace) %{etcjavadir -- %{?1}}/lib/security/policy/limited/local_policy.jar %config(noreplace) %{etcjavadir -- %{?1}}/lib/security/java.policy %config(noreplace) %{etcjavadir -- %{?1}}/lib/security/java.security %config(noreplace) %{etcjavadir -- %{?1}}/lib/security/blacklisted.certs %config(noreplace) %{etcjavadir -- %{?1}}/lib/logging.properties %config(noreplace) %{etcjavadir -- %{?1}}/lib/calendars.properties %{_jvmdir}/%{jredir -- %{?1}}/lib/security/policy/unlimited/US_export_policy.jar %{_jvmdir}/%{jredir -- %{?1}}/lib/security/policy/unlimited/local_policy.jar %{_jvmdir}/%{jredir -- %{?1}}/lib/security/policy/limited/US_export_policy.jar %{_jvmdir}/%{jredir -- %{?1}}/lib/security/policy/limited/local_policy.jar %{_jvmdir}/%{jredir -- %{?1}}/lib/security/java.policy %{_jvmdir}/%{jredir -- %{?1}}/lib/security/java.security %{_jvmdir}/%{jredir -- %{?1}}/lib/security/blacklisted.certs %{_jvmdir}/%{jredir -- %{?1}}/lib/logging.properties %{_jvmdir}/%{jredir -- %{?1}}/lib/calendars.properties %{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/jjs-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/orbd-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/pack200-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/rmid-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/servertool-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/tnameserv-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/unpack200-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/policytool-%{uniquesuffix -- %{?1}}.1* %{_jvmdir}/%{jredir -- %{?1}}/lib/security/nss.cfg %config(noreplace) %{etcjavadir -- %{?1}}/lib/security/nss.cfg %ifarch %{jit_arches} %attr(444, root, root) %ghost %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/server/classes.jsa %attr(444, root, root) %ghost %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/client/classes.jsa %endif %dir %{etcjavasubdir} %dir %{etcjavadir -- %{?1}} %dir %{etcjavadir -- %{?1}}/lib %dir %{etcjavadir -- %{?1}}/lib/security %{etcjavadir -- %{?1}}/lib/security/cacerts %dir %{etcjavadir -- %{?1}}/lib/security/policy %dir %{etcjavadir -- %{?1}}/lib/security/policy/limited %dir %{etcjavadir -- %{?1}}/lib/security/policy/unlimited %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/server/ %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/client/ %dir %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall} %dir %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/jli %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/jli/libjli.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/jvm.cfg %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libattach.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libawt.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libawt_headless.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libdt_socket.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libfontmanager.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libhprof.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libinstrument.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libj2gss.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libj2pcsc.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libj2pkcs11.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libjaas_unix.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libjava.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libjava_crw_demo.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libjpeg.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libjdwp.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libjsdt.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libjsig.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libjsound.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/liblcms.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libmanagement.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libmlib_image.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libnet.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libnio.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libnpt.so %ifarch %{aarch64} %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libj2kae.so %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/kaeprovider.conf %endif %ifarch %{sa_arches} %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libsaproc.so %endif %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libsctp.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libsunec.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libunpack.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libverify.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libzip.so %{_jvmdir}/%{jredir -- %{?1}}/lib/charsets.jar %{_jvmdir}/%{jredir -- %{?1}}/lib/classlist %{_jvmdir}/%{jredir -- %{?1}}/lib/content-types.properties %{_jvmdir}/%{jredir -- %{?1}}/lib/currency.data %{_jvmdir}/%{jredir -- %{?1}}/lib/flavormap.properties %{_jvmdir}/%{jredir -- %{?1}}/lib/hijrah-config-umalqura.properties %{_jvmdir}/%{jredir -- %{?1}}/lib/images/cursors/* %{_jvmdir}/%{jredir -- %{?1}}/lib/jce.jar %{_jvmdir}/%{jredir -- %{?1}}/lib/jexec %{_jvmdir}/%{jredir -- %{?1}}/lib/jsse.jar %{_jvmdir}/%{jredir -- %{?1}}/lib/jvm.hprof.txt %{_jvmdir}/%{jredir -- %{?1}}/lib/meta-index %{_jvmdir}/%{jredir -- %{?1}}/lib/net.properties %config(noreplace) %{etcjavadir -- %{?1}}/lib/net.properties %{_jvmdir}/%{jredir -- %{?1}}/lib/psfont.properties.ja %{_jvmdir}/%{jredir -- %{?1}}/lib/psfontj2d.properties %{_jvmdir}/%{jredir -- %{?1}}/lib/resources.jar %{_jvmdir}/%{jredir -- %{?1}}/lib/rt.jar %{_jvmdir}/%{jredir -- %{?1}}/lib/sound.properties %{_jvmdir}/%{jredir -- %{?1}}/lib/tzdb.dat %{_jvmdir}/%{jredir -- %{?1}}/lib/management-agent.jar %{_jvmdir}/%{jredir -- %{?1}}/lib/management/* %{_jvmdir}/%{jredir -- %{?1}}/lib/cmm/* %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/cldrdata.jar %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/dnsns.jar %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/jaccess.jar %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/localedata.jar %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/meta-index %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/nashorn.jar %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/sunec.jar %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/sunjce_provider.jar %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/sunpkcs11.jar %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/zipfs.jar %ifarch %{aarch64} %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/kae_openssl.jar %endif %ifarch %{jfr_arches} %{_jvmdir}/%{jredir -- %{?1}}/lib/jfr.jar %{_jvmdir}/%{jredir -- %{?1}}/lib/jfr/default.jfc %{_jvmdir}/%{jredir -- %{?1}}/lib/jfr/profile.jfc %endif %dir %{_jvmdir}/%{jredir -- %{?1}}/lib/images %dir %{_jvmdir}/%{jredir -- %{?1}}/lib/images/cursors %dir %{_jvmdir}/%{jredir -- %{?1}}/lib/management %dir %{_jvmdir}/%{jredir -- %{?1}}/lib/cmm %dir %{_jvmdir}/%{jredir -- %{?1}}/lib/ext %ifarch %{jfr_arches} %dir %{_jvmdir}/%{jredir -- %{?1}}/lib/jfr %endif } %define files_devel() %{expand: %defattr(-,root,root,-) %license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/ASSEMBLY_EXCEPTION %license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/LICENSE %license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/THIRD_PARTY_README %dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin %dir %{_jvmdir}/%{sdkdir -- %{?1}}/include %dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib %{_jvmdir}/%{sdkdir -- %{?1}}/bin/appletviewer %{_jvmdir}/%{sdkdir -- %{?1}}/bin/clhsdb %{_jvmdir}/%{sdkdir -- %{?1}}/bin/extcheck %{_jvmdir}/%{sdkdir -- %{?1}}/bin/hsdb %{_jvmdir}/%{sdkdir -- %{?1}}/bin/idlj %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jar %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jarsigner %{_jvmdir}/%{sdkdir -- %{?1}}/bin/java %{_jvmdir}/%{sdkdir -- %{?1}}/bin/javac %{_jvmdir}/%{sdkdir -- %{?1}}/bin/javadoc %{_jvmdir}/%{sdkdir -- %{?1}}/bin/javah %{_jvmdir}/%{sdkdir -- %{?1}}/bin/javap %{_jvmdir}/%{sdkdir -- %{?1}}/bin/java-rmi.cgi %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jcmd %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jconsole %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdb %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeps %ifarch %{jfr_arches} %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jfr %endif %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jhat %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jinfo %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jjs %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmap %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jps %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jrunscript %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jsadebugd %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstack %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstat %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstatd %{_jvmdir}/%{sdkdir -- %{?1}}/bin/keytool %{_jvmdir}/%{sdkdir -- %{?1}}/bin/native2ascii %{_jvmdir}/%{sdkdir -- %{?1}}/bin/orbd %{_jvmdir}/%{sdkdir -- %{?1}}/bin/pack200 %{_jvmdir}/%{sdkdir -- %{?1}}/bin/policytool %{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmic %{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmid %{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmiregistry %{_jvmdir}/%{sdkdir -- %{?1}}/bin/schemagen %{_jvmdir}/%{sdkdir -- %{?1}}/bin/serialver %{_jvmdir}/%{sdkdir -- %{?1}}/bin/servertool %{_jvmdir}/%{sdkdir -- %{?1}}/bin/tnameserv %{_jvmdir}/%{sdkdir -- %{?1}}/bin/unpack200 %{_jvmdir}/%{sdkdir -- %{?1}}/bin/wsgen %{_jvmdir}/%{sdkdir -- %{?1}}/bin/wsimport %{_jvmdir}/%{sdkdir -- %{?1}}/bin/xjc %{_jvmdir}/%{sdkdir -- %{?1}}/include/* %{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{archinstall} %{_jvmdir}/%{sdkdir -- %{?1}}/lib/ct.sym %if %{with_systemtap} %{_jvmdir}/%{sdkdir -- %{?1}}/tapset %endif %{_jvmdir}/%{sdkdir -- %{?1}}/lib/ir.idl %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jconsole.jar %{_jvmdir}/%{sdkdir -- %{?1}}/lib/orb.idl %ifarch %{sa_arches} %{_jvmdir}/%{sdkdir -- %{?1}}/lib/sa-jdi.jar %endif %{_jvmdir}/%{sdkdir -- %{?1}}/lib/dt.jar %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jexec %{_jvmdir}/%{sdkdir -- %{?1}}/lib/tools.jar %{_datadir}/applications/*jconsole%{?1}.desktop %{_mandir}/man1/appletviewer-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/extcheck-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/idlj-%{uniquesuffix -- %{?1}}.1* %{_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/javah-%{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/jhat-%{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/jsadebugd-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/jstack-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/jstat-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/jstatd-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/native2ascii-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/rmic-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/schemagen-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/wsgen-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/wsimport-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/xjc-%{uniquesuffix -- %{?1}}.1* %if %{with_systemtap} %dir %{tapsetroot} %dir %{tapsetdirttapset} %dir %{tapsetdir} %{tapsetdir}/*%{_arch}%{?1}.stp %endif } %define files_demo() %{expand: %defattr(-,root,root,-) %license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/jre/LICENSE } %define files_src() %{expand: %defattr(-,root,root,-) %{_jvmdir}/%{sdkdir -- %{?1}}/src.zip } %define files_javadoc() %{expand: %defattr(-,root,root,-) %doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}} %license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/jre/LICENSE } %define files_javadoc_zip() %{expand: %defattr(-,root,root,-) %doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip %license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/jre/LICENSE } %define files_accessibility() %{expand: %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libatk-wrapper.so %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/java-atk-wrapper.jar %{_jvmdir}/%{jredir -- %{?1}}/lib/accessibility.properties } # 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: gtk2%{?_isa} Provides: java-%{javaver}-%{origin} = %{epoch}:%{version}-%{release} # Standard JPackage base provides Provides: jre%{?1} = %{epoch}:%{version}-%{release} Provides: jre-%{origin}%{?1} = %{epoch}:%{version}-%{release} 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: java%{?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/ Requires: javapackages-filesystem # Require zone-info data provided by tzdata-java sub-package Requires: tzdata-java >= 2020a # libsctp.so.1 is being `dlopen`ed on demand Requires: lksctp-tools%{?_isa} # there is a need to depend on the exact version of NSS Requires: nss%{?_isa} %{NSS_BUILDTIME_VERSION} Requires: nss-softokn%{?_isa} %{NSSSOFTOKN_BUILDTIME_VERSION} # 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.3 OrderWithRequires: copy-jdk-configs # for printing support Requires: cups-libs # Post requires alternatives to install tool alternatives Requires(post): %{_sbindir}/alternatives # in version 1.7 and higher for --family switch Requires(post): chkconfig >= 1.7 # Postun requires alternatives to uninstall tool alternatives Requires(postun): %{_sbindir}/alternatives # in version 1.7 and higher for --family switch Requires(postun): chkconfig >= 1.7 # for optional support of kernel stream control, card reader and printing bindings Suggests: lksctp-tools%{?_isa}, pcsc-lite-devel%{?_isa}, cups # Standard JPackage base provides Provides: jre-headless%{?1} = %{epoch}:%{version}-%{release} 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: java-headless%{?1} = %{epoch}:%{version}-%{release} } %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-sdk-%{origin}%{?1} = %{epoch}:%{version}-%{release} Provides: java-sdk%{?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-devel%{?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-demo%{?1} = %{epoch}:%{version}-%{release} Provides: java-%{origin}-demo%{?1} = %{epoch}:%{version}-%{release} Provides: java-%{javaver}-demo%{?1} = %{epoch}:%{version}-%{release} Provides: java-%{javaver}-%{origin}-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-javadoc%{?1} = %{epoch}:%{version}-%{release} Provides: java-%{javaver}-javadoc%{?1} = %{epoch}:%{version}-%{release} Provides: java-%{javaver}-%{origin}-javadoc%{?1} = %{epoch}:%{version}-%{release} } %define java_src_rpo() %{expand: Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release} # Standard JPackage sources provides Provides: java-src%{?1} = %{epoch}:%{version}-%{release} Provides: java-%{origin}-src%{?1} = %{epoch}:%{version}-%{release} Provides: java-%{javaver}-src%{?1} = %{epoch}:%{version}-%{release} Provides: java-%{javaver}-%{origin}-src%{?1} = %{epoch}:%{version}-%{release} } %define java_accessibility_rpo() %{expand: Requires: java-atk-wrapper%{?_isa} Requires: %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release} OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release} Provides: java-accessibility%{?1} = %{epoch}:%{version}-%{release} Provides: java-%{origin}-accessibility%{?1} = %{epoch}:%{version}-%{release} Provides: java-%{javaver}-accessibility%{?1} = %{epoch}:%{version}-%{release} Provides: java-%{javaver}-%{origin}-accessibility%{?1} = %{epoch}:%{version}-%{release} } # Prevent brp-java-repack-jars from being run %global __jar_repack 0 Name: java-%{javaver}-%{origin} Version: %{javaver}.%{updatever}.%{buildver} Release: 2 # 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 JAXP & JAXWS) # 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 THIRD_PARTY_README) # The OpenJDK source tree includes the JPEG library (IJG), zlib & libpng (zlib), giflib and LCMS (MIT) # 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 URL: http://openjdk.java.net/ Source0: %{full_revision}.tar.xz # Custom README for -src subpackage Source2: README.md # 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 Source10: policytool.desktop.in # nss configuration file Source11: nss.cfg.in # Ensure we aren't using the limited crypto policy Source13: TestCryptoLevel.java # Ensure ECDSA is working Source14: TestECDSA.java Source20: repackReproduciblePolycies.sh Patch8: replace-vector-to-improve-performance-of-xml.validat.patch Patch10: 8221658.patch Patch18: fix-vendor-info.patch Patch21: 8202952.patch Patch25: 8196485.patch Patch26: disable-UseLSE-on-ARMv8.1-by-default.patch Patch27: 8157570.patch Patch28: 8194246.patch Patch30: 8191483.patch Patch31: 8141356.patch Patch33: 8166253.patch Patch35: 8186042.patch Patch36: 8060463.patch Patch37: 8131600.patch Patch38: 8138971.patch Patch41: 8203699.patch Patch47: 8166197.patch Patch50: 8158946.patch Patch51: add-with-company-name-option.patch Patch57: 8031085.patch Patch58: Reduce-the-probability-of-the-crash-related-to-ciObj.patch Patch62: 8165857.patch Patch63: 8033552.patch Patch67: 8165860.patch Patch68: 8194154.patch Patch70: 8164948.patch Patch72: inline-optimize-for-aarch64.patch # 8u242 Patch75: Add-ability-to-configure-third-port-for-remote-JMX.patch Patch83: 8204947.patch Patch85: 8139041.patch # 8u252 Patch86: 6858051-Create-GC-worker-threads-dynamically.patch Patch87: 6858051-Add-a-switch-for-the-dynamic-thread-related-log.patch Patch88: dismiss-warnings-in-GCC-8.X.patch # 8u262 Patch89: 8144993.patch Patch90: 8223504.patch Patch91: add-vm-option-BoxTypeCachedMax-for-Integer-and-Long-cache.patch Patch92: 8080289-8040213-8189067-move-the-store-out-of-the-loop.patch Patch94: 8182397.patch Patch95: 8205921.patch # 8u265 Patch96: fix-Long-cache-range-and-remove-VM-option-java.lang.IntegerCache.high-by-default.patch Patch97: leaf-optimize-in-ParallelScanvageGC.patch Patch102: fix-LongCache-s-range-when-BoxTypeCachedMax-number-is-bigger-than-Integer.MAX_VALUE.patch Patch103: Ddot-intrinsic-implement.patch Patch104: 8234003.patch Patch105: 8220159.patch Patch106: fast-serializer-jdk8.patch Patch109: Test8167409.sh-fails-to-run-with-32bit-jdk-on-64bit-.patch Patch112: 8048210-8056152.patch Patch113: 8160425.patch Patch114: 8181503.patch Patch115: 8243670.patch Patch118: Fix-LineBuffer-vappend-when-buffer-too-small.patch Patch121: Remove-unused-GenericTaskQueueSet-T-F-tasks.patch Patch122: optimize-jmap-F-dump-xxx.patch Patch123: recreate-.java_pid-file-when-deleted-for-attach-mechanism.patch Patch124: Support-Git-commit-ID-in-the-SOURCE-field-of-the-release.patch Patch125: Extend-CDS-to-support-app-class-metadata-sharing.patch Patch127: add-DumpSharedSpace-guarantee-when-create-anonymous-classes.patch # 8u272 Patch133: 8160369.patch Patch134: PS-GC-adding-acquire_size-method-for-PSParallelCompa.patch Patch138: add-appcds-file-lock.patch Patch139: G1-memory-uncommit.patch Patch140: 8015927.patch Patch141: 8040327.patch Patch142: 8207160.patch Patch144: add-appcds-test-case.patch # 8u282 Patch146: 8168926.patch Patch147: 8215047.patch Patch148: 8237894.patch Patch149: Remove-the-parentheses-around-company-name.patch Patch151: kae-phase1.patch Patch153: initialized-value-should-be-0-in-perfInit.patch Patch154: 8254078-DataOutputStream-is-very-slow-post-disabling.patch Patch155: Use-atomic-operation-when-G1Uncommit.patch Patch157: 8140597-Postpone-the-initial-mark-request-until-the-.patch Patch158: Use-Mutex-when-G1Uncommit.patch Patch159: C1-typos-repair.patch Patch160: 8214418-half-closed-SSLEngine-status-may-cause-appli.patch Patch162: 8214535-support-Jmap-parallel.patch Patch163: Fixed-a-copyright-writing-problem.patch Patch164: fix-arguments.cpp-error-C2131-on-windows.patch Patch166: add-missing-test-case.patch Patch167: fix-BoxTypeCachedMax-build-failure-when-jvm-variants.patch Patch168: fix-windows-compile-fail.patch Patch169: Code-style-fix.patch Patch170: kae-phase2.patch Patch171: add-kaeEngine-to-rsa.patch # 8u292 Patch172: 8031818.patch Patch173: 8193518.patch Patch174: Disable-ddot-intrinsic-on-CPUs-that-not-suppo.patch Patch175: add-appcds-jtreg-test-case-UnusedCPDuringDump.patch Patch176: add-safe-compilation-flags.patch Patch177: downgrade-symver-of-memcpy-GLIBC.patch Patch178: fix-log-bug-enhance-aes-hmac-performance.patch Patch179: keep-the-binary-equal.patch Patch180: link-option-use-rpath-instead-of-runpath.patch Patch181: remove-gnu-debuglink-when-using-enable-debug-.patch Patch183: revert-windows-bugfix.patch Patch184: set-vm.vendor-by-configure.patch Patch185: update-cacerts-and-VerifyCACerts.java-test.patch Patch186: update-to-keep-same-with-master.patch Patch187: 8182036.patch Patch188: 8247691_incorrect_handling_of_VM_exceptions_in_C1_deopt_stub.patch Patch189: 8266187_Memory_leak_in_appendBootClassPath.patch Patch192: add_kae_implementation_add_default_conf_file.patch Patch193: improve_algorithmConstraints_checkAlgorithm_performance.patch Patch194: modify_the_default_iteration_time_and_forks_in_the_JMH_of_KAEProvider.patch Patch195: support_CMS_parallel_inspection.patch Patch196: g1gc-numa-aware-Implementation.patch Patch197: implementation_of_Blas_hotspot_function_in_Intrinsics.patch Patch198: fix_G1GC_memory_leak_in_numa.patch Patch200: Fix-ECDH-and-DH-memory-usage.patch Patch201: fix_run_SPECjvm2008_failed_on_32_bit_system.patch Patch202: Fix-RSACipher-memory-usage.patch # 8u302 Patch203: fix-lock-ordering-issue-when-calling-JVMTI-GetLoaded.patch Patch204: 8069191.patch Patch205: fix_g1uncommit_ygc_expand_crash.patch ############################################# # # Upstreamable patches # # This section includes patches which need to # be reviewed & pushed to the current development # tree of OpenJDK. ############################################# # PR2888: OpenJDK should check for system cacerts database (e.g. /etc/pki/java/cacerts) # PR3575, RH1567204: System cacerts database handling should not affect jssecacerts Patch539: pr2888-openjdk_should_check_for_system_cacerts_database_eg_etc_pki_java_cacerts.patch ############################################# # # Patches which need backporting to 8u # # This section includes patches which have # been pushed upstream to the latest OpenJDK # development tree, but need to be backported # to OpenJDK 8u. ############################################# # S8154313: Generated javadoc scattered all over the place # 8035341: Allow using a system installed libpng # Patch202: jdk8035341-allow_using_system_installed_libpng.patch # 8042159: Allow using a system-installed lcms2 # Patch203: jdk8042159-allow_using_system_installed_lcms2.patch ############################################# # # Patches ineligible for 8u # # This section includes patches which are present # upstream, but ineligible for upstream 8u backport. ############################################# # 8043805: Allow using a system-installed libjpeg # Patch201: jdk8043805-allow_using_system_installed_libjpeg.patch ############################################# # # Non-OpenJDK fixes # # This section includes patches to code other # that from OpenJDK. ############################################# Patch1000: rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch ############################################# # # Dependencies # ############################################# BuildRequires: autoconf BuildRequires: automake 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: lcms2-devel BuildRequires: libjpeg-devel BuildRequires: libpng-devel BuildRequires: libxslt BuildRequires: libX11-devel BuildRequires: libXext-devel BuildRequires: libXi-devel BuildRequires: libXinerama-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: openssl-devel BuildRequires: java-1.8.0-openjdk-devel BuildRequires: tzdata-java >= 2015d # 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 %{majorver}. %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 %{majorver}. %{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 %{majorver} %{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 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:1.8.0.222.b10-1 BuildArch: noarch %{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 a single archive Requires: javapackages-filesystem Obsoletes: javadoc-zip-slowdebug < 1:1.8.0.222.b10-1 BuildArch: noarch %{java_javadoc_rpo %{nil}} %description javadoc-zip The %{origin_nice} %{majorver} API documentation compressed in a single archive. %endif %if %{include_normal_build} %package accessibility Summary: %{origin_nice} %{majorver} accessibility connector %{java_accessibility_rpo %{nil}} %description accessibility Enables accessibility support in %{origin_nice} %{majorver} by using java-atk-wrapper. This allows compatible at-spi2 based accessibility programs to work for AWT and Swing-based programs. Please note, the java-atk-wrapper is still in beta, and %{origin_nice} %{majorver} itself is still being tuned to be working with accessibility features. There are known issues with accessibility on, so please do not install this package unless you really need to. %endif %if %{include_debug_build} %package accessibility-slowdebug Summary: %{origin_nice} %{majorver} accessibility connector %{for_debug} %{java_accessibility_rpo -- %{debug_suffix_unquoted}} %description accessibility-slowdebug See normal java-%{version}-openjdk-accessibility description. %endif %if %{with_openjfx_binding} %package openjfx Summary: OpenJDK x OpenJFX connector. This package adds symliks finishing Java FX integration to %{name} Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} Requires: openjfx8%{?_isa} Provides: javafx = %{epoch}:%{version}-%{release} %description openjfx Set of links from OpenJDK (jre) to OpenJFX %package openjfx-devel Summary: OpenJDK x OpenJFX connector for FX developers. This package adds symliks finishing Java FX integration to %{name}-devel Requires: %{name}-devel%{?_isa} = %{epoch}:%{version}-%{release} Requires: openjfx8-devel%{?_isa} Provides: javafx-devel = %{epoch}:%{version}-%{release} %description openjfx-devel Set of links from OpenJDK (sdk) to OpenJFX %if %{include_debug_build} %package openjfx-slowdebug Summary: OpenJDK x OpenJFX connector %{for_debug}. his package adds symliks finishing Java FX integration to %{name}-slowdebug Requires: %{name}-slowdebug%{?_isa} = %{epoch}:%{version}-%{release} Requires: openjfx8%{?_isa} Provides: javafx-slowdebug = %{epoch}:%{version}-%{release} %description openjfx-slowdebug Set of links from OpenJDK-slowdebug (jre) to normal OpenJFX. OpenJFX do not support debug buuilds of itself %package openjfx-devel-slowdebug Summary: OpenJDK x OpenJFX connector for FX developers %{for_debug}. This package adds symliks finishing Java FX integration to %{name}-devel-slowdebug Requires: %{name}-devel-slowdebug%{?_isa} = %{epoch}:%{version}-%{release} Requires: openjfx8-devel%{?_isa} Provides: javafx-devel-slowdebug = %{epoch}:%{version}-%{release} %description openjfx-devel-slowdebug Set of links from OpenJDK-slowdebug (sdk) to normal OpenJFX. OpenJFX do not support debug buuilds of itself %endif %endif %prep # Using the echo macro breaks rpmdev-bumpspec, as it parses the first line of stdout :-( %if 0%{?stapinstall:1} echo "CPU: %{_target_cpu}, arch install directory: %{archinstall}, SystemTap install directory: %{stapinstall}" %else %{error:Unrecognised architecture %{_target_cpu}} %endif 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 # For old patches ln -s %{top_level_dir_name} jdk8 pushd %{top_level_dir_name} # OpenJDK patches %patch8 -p1 %patch10 -p1 %patch18 -p1 %patch21 -p1 %patch25 -p1 %patch26 -p1 %patch27 -p1 %patch28 -p1 %patch30 -p1 %patch31 -p1 %patch33 -p1 %patch35 -p1 %patch36 -p1 %patch37 -p1 %patch38 -p1 %patch41 -p1 %patch47 -p1 %patch50 -p1 %patch51 -p1 %patch57 -p1 %patch58 -p1 %patch62 -p1 %patch63 -p1 %patch67 -p1 %patch68 -p1 %patch70 -p1 %patch72 -p1 %patch75 -p1 %patch83 -p1 %patch85 -p1 %patch86 -p1 %patch87 -p1 %patch88 -p1 %patch89 -p1 %patch90 -p1 %patch91 -p1 %patch92 -p1 %patch94 -p1 %patch95 -p1 %patch96 -p1 %patch97 -p1 %patch102 -p1 %patch103 -p1 %patch104 -p1 %patch105 -p1 %patch106 -p1 %patch109 -p1 %patch112 -p1 %patch113 -p1 %patch114 -p1 %patch115 -p1 %patch118 -p1 %patch121 -p1 %patch122 -p1 %patch123 -p1 %patch124 -p1 %patch125 -p1 %patch127 -p1 %patch133 -p1 %patch134 -p1 %patch138 -p1 %patch139 -p1 %patch140 -p1 %patch141 -p1 %patch142 -p1 %patch144 -p1 %patch146 -p1 %patch147 -p1 %patch148 -p1 %patch149 -p1 %patch151 -p1 %patch153 -p1 %patch154 -p1 %patch155 -p1 %patch157 -p1 %patch158 -p1 %patch159 -p1 %patch160 -p1 %patch162 -p1 %patch163 -p1 %patch164 -p1 %patch166 -p1 %patch167 -p1 %patch168 -p1 %patch169 -p1 %patch170 -p1 %patch171 -p1 %patch172 -p1 %patch173 -p1 %patch174 -p1 %patch175 -p1 %patch176 -p1 %patch177 -p1 %patch178 -p1 %patch179 -p1 %patch180 -p1 %patch181 -p1 %patch183 -p1 %patch184 -p1 %patch185 -p1 %patch186 -p1 %patch187 -p1 %patch188 -p1 %patch189 -p1 %patch192 -p1 %patch194 -p1 %patch195 -p1 %patch196 -p1 %patch197 -p1 %patch198 -p1 %patch200 -p1 %patch201 -p1 %patch202 -p1 %patch203 -p1 %patch204 -p1 %patch205 -p1 popd # System library fixes # %patch201 # %patch202 # %patch203 # RPM-only fixes # %patch1000 # 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}/jre/lib/%{archinstall}/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}/jre/lib/%{archinstall}/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} %{SOURCE10} ; 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:_JREBINDIR_:%{jrebindir -- $suffix}:g" $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} export ARCH_DATA_MODEL=64 %endif # We use ourcppflags because the OpenJDK build seems to # pass EXTRA_CFLAGS to the HotSpot C++ compiler... EXTRA_CFLAGS="%ourcppflags -Wno-error -fcommon -fsigned-char" EXTRA_CPP_FLAGS="%ourcppflags -Wno-error" EXTRA_ASFLAGS="${EXTRA_CFLAGS} -Wa,--generate-missing-build-notes=yes" export EXTRA_CFLAGS EXTRA_ASFLAGS 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_srcdir_abs_path=$(pwd)/%{top_level_dir_name} mkdir -p %{buildoutputdir -- $suffix} pushd %{buildoutputdir -- $suffix} bash ${top_srcdir_abs_path}/configure \ %ifarch %{jfr_arches} --enable-jfr \ %endif --with-native-debug-symbols=internal \ --with-milestone="fcs" \ --with-update-version=%{updatever} \ --with-build-number=%{buildver} \ --with-company-name="Bisheng" \ --with-vendor-name="Bisheng" \ --with-vendor-url="https://openeuler.org/" \ --with-vendor-bug-url="https://gitee.com/src-openeuler/openjdk-1.8.0/issues/" \ --with-vendor-vm-bug-url="https://gitee.com/src-openeuler/openjdk-1.8.0/issues/" \ --with-debug-level=$debugbuild \ --enable-unlimited-crypto \ --with-zlib=system \ --enable-kae=yes \ --with-stdc++lib=dynamic \ --with-extra-cflags="$EXTRA_CFLAGS" \ --with-extra-cxxflags="$EXTRA_CPP_FLAGS" \ --with-extra-asflags="$EXTRA_ASFLAGS" \ --with-extra-ldflags="%{ourldflags}" \ --with-num-cores="$NUM_PROC" \ --with-boot-jdk-jvmargs=-XX:-UsePerfData cat spec.gmk cat hotspot-spec.gmk # 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 \ SCTP_WERROR= \ ${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 {} \; chmod ugo+r images/%{jdkimage}/lib/ct.sym # remove redundant *diz and *debuginfo files find images/%{jdkimage} -iname '*.diz' -exec rm {} \; find images/%{jdkimage} -iname '*.debuginfo' -exec rm {} \; # 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/jre/lib/security/ # Use system-wide tzdata rm $JAVA_HOME/jre/lib/tzdb.dat ln -s %{_datadir}/javazi-1.8/tzdb.dat $JAVA_HOME/jre/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 unlimited policy has been used $JAVA_HOME/bin/javac -d . %{SOURCE13} $JAVA_HOME/bin/java TestCryptoLevel # Check ECC is working $JAVA_HOME/bin/javac -d . %{SOURCE14} $JAVA_HOME/bin/java $(echo $(basename %{SOURCE14})|sed "s|\.java||") # 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. gdb -q "$JAVA_HOME/bin/java" <> %{name}-demo.files"$suffix" # Find documentation demo files. find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/demo \ $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/sample \ -type f -o -type l | sort \ | grep README \ | sed 's|'$RPM_BUILD_ROOT'||' \ | sed 's|^|%doc |' \ >> %{name}-demo.files"$suffix" # Create links which leads to separately installed java-atk-bridge and allow configuration # links points to java-atk-wrapper - an dependence pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir -- $suffix}/lib/%{archinstall} ln -s %{_libdir}/java-atk-wrapper/libatk-wrapper.so.0 libatk-wrapper.so popd pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir -- $suffix}/lib/ext ln -s %{_libdir}/java-atk-wrapper/java-atk-wrapper.jar java-atk-wrapper.jar popd pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir -- $suffix}/lib/ echo "#Config file to enable java-atk-wrapper" > accessibility.properties echo "" >> accessibility.properties echo "assistive_technologies=org.GNOME.Accessibility.AtkWrapper" >> accessibility.properties echo "" >> accessibility.properties popd # intentionally after all else, fx links with redirections on its own %if %{with_openjfx_binding} FXSDK_FILES=%{name}-openjfx-devel.files"$suffix" FXJRE_FILES=%{name}-openjfx.files"$suffix" echo -n "" > $FXJRE_FILES echo -n "" > $FXSDK_FILES for file in %{jfx_jre_libs} ; do srcfile=%{jfx_jre_libs_dir}/$file targetfile=%{_jvmdir}/%{jredir -- $suffix}/lib/$file ln -s $srcfile $RPM_BUILD_ROOT/$targetfile echo $targetfile >> $FXJRE_FILES done for file in %{jfx_jre_native} ; do srcfile=%{jfx_jre_native_dir}/$file targetfile=%{_jvmdir}/%{jredir -- $suffix}/lib/%{archinstall}/$file ln -s $srcfile $RPM_BUILD_ROOT/$targetfile echo $targetfile >> $FXJRE_FILES done for file in %{jfx_jre_exts} ; do srcfile=%{jfx_jre_exts_dir}/$file targetfile=%{_jvmdir}/%{jredir -- $suffix}/lib/ext/$file ln -s $srcfile $RPM_BUILD_ROOT/$targetfile echo $targetfile >> $FXJRE_FILES done for file in %{jfx_sdk_libs} ; do srcfile=%{jfx_sdk_libs_dir}/$file targetfile=%{_jvmdir}/%{sdkdir -- $suffix}/lib/$file ln -s $srcfile $RPM_BUILD_ROOT/$targetfile echo $targetfile >> $FXSDK_FILES done for file in %{jfx_sdk_bins} ; do srcfile=%{jfx_sdk_bins_dir}/$file targetfile=%{_jvmdir}/%{sdkdir -- $suffix}/bin/$file ln -s $srcfile $RPM_BUILD_ROOT/$targetfile echo $targetfile >> $FXSDK_FILES done %endif bash %{SOURCE20} $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir -- $suffix} %{javaver} touch -t 201401010000 $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir -- $suffix}/lib/security/java.security # moving config files to /etc mkdir -p $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}/lib/security/policy/unlimited/ mkdir -p $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}/lib/security/policy/limited/ for file in lib/security/cacerts lib/security/policy/unlimited/US_export_policy.jar lib/security/policy/unlimited/local_policy.jar lib/security/policy/limited/US_export_policy.jar lib/security/policy/limited/local_policy.jar lib/security/java.policy lib/security/java.security lib/security/blacklisted.certs lib/logging.properties lib/calendars.properties lib/security/nss.cfg lib/net.properties ; do mv $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir -- $suffix}/$file $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}/$file ln -sf %{etcjavadir -- $suffix}/$file $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir -- $suffix}/$file done # 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}/ -name "ASSEMBLY_EXCEPTION" -exec chmod 644 {} \; ; find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -name "LICENSE" -exec chmod 644 {} \; ; find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -name "THIRD_PARTY_README" -exec chmod 644 {} \; ; # end, dual install done %if %{include_normal_build} # intentionally only for non-debug %pretrans headless -p -- 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" local debug = false 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 = {"--currentjvm", "%{uniquesuffix %{nil}}", "--jvmdir", "%{_jvmdir %{nil}}", "--origname", "%{name}", "--origjavaver", "%{javaver}", "--arch", "%{_arch}", "--temp", "%{rpm_state_dir}/%{name}.%{_arch}"} require "copy_jdk_configs.lua" %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 %{files_jre_headless %{nil}} %files devel %{files_devel %{nil}} %files demo -f %{name}-demo.files %{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}} %files accessibility %{files_accessibility %{nil}} %if %{with_openjfx_binding} %files openjfx -f %{name}-openjfx.files %files openjfx-devel -f %{name}-openjfx-devel.files %endif %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 demo-slowdebug -f %{name}-demo.files-slowdebug %{files_demo -- %{debug_suffix_unquoted}} %files src-slowdebug %{files_src -- %{debug_suffix_unquoted}} %files accessibility-slowdebug %{files_accessibility -- %{debug_suffix_unquoted}} %if %{with_openjfx_binding} %files openjfx-slowdebug -f %{name}-openjfx.files-slowdebug %files openjfx-devel-slowdebug -f %{name}-openjfx-devel.files-slowdebug %endif %endif %changelog * Fri Aug 20 2021 kuenking111 - 1:1.8.0.302-b07.2 - add fix_g1uncommit_ygc_expand_crash.patch * Thu Aug 19 2021 eapen - 1:1.8.0.302-b07.1 - delete 8266929_huawei_add_oid_mapping_common_sig_types.patch * Wed Aug 11 2021 eapen - 1:1.8.0.302-b07.0 - update to 8u302-b07(ga)(switch to jdk8u from aarch64-port/jdk8u-shenandoah) - add 8069191.patch - add fix-lock-ordering-issue-when-calling-JVMTI-GetLoaded.patch - delete 8134883.patch - delete 818172_overflow_when_strength_reducing_interger_multiply.patch - delete 8190332.patch - delete 8191955.patch - delete 8203196.patch - delete 8214345.patch - delete 8231631.patch - delete 8231841-debug.cpp-help-is-missing-an-AArch64-line-fo.patch - delete 8259886-Improve-SSL-session-cache-performance-and-sc.patch - delete 8264640.patch - delete delete_untrustworthy_cacert_soneraclass2ca.patch - delete fix-crash-in-JVMTI-debug.patch - other adaptations to jdk8u302 * Thu Jul 12 2021 noah - 1:1.8.0.292-b10.19 - add Fix-RSACipher-memory-usage.patch * Thu Jul 12 2021 kuenking111 - 1:1.8.0.292-b10.18 - fix run SPECjvm2008 failed on 32 bit system * Thu Jul 8 2021 noah - 1:1.8.0.292-b10.17 - remove debug log to reduce build time * Mon Jul 5 2021 noah - 1:1.8.0.292-b10.16 - add Fix-ECDH-and-DH-memory-usage.patch * Mon Jun 28 2021 kuenking111 - 1:1.8.0.292-b10.15 - fix delete_untrustworthy_cacert_soneraclass2ca.patch * Thu Jun 17 2021 kuenking111 - 1:1.8.0.292-b10.14 - fix systemDictionary resolve_from_stream ResourceMark * Wed Jun 16 2021 kuenking111 - 1:1.8.0.292-b10.13 - add fix_G1GC_memory_leak_in_numa.patch * Sat Jun 12 2021 kuenking111 - 1:1.8.0.292-b10.12 - add implementation_of_Blas_hotspot_function_in_Intrinsics.patch * Sat Jun 12 2021 kuenking111 - 1:1.8.0.292-b10.11 - add g1gc-numa-aware-Implementation.patch * Wed Jun 10 2021 hu_bo_dao - 1:1.8.0.292-b10.10 - add support_CMS_parallel_inspection.patch * Wed Jun 9 2021 noah - 1:1.8.0.292-b10.9 - add modify_the_default_iteration_time_and_forks_in_the_JMH_of_KAEProvider.patch * Tue Jun 8 2021 noah - 1:1.8.0.292-b10.8 - fix kae exception compatibility * Tue Jun 8 2021 kuenking111 - 1:1.8.0.292-b10.7 - add improve_algorithmConstraints_checkAlgorithm_performance.patch * Mon Jun 7 2021 kuenking111 - 1:1.8.0.292-b10.6 - add add_kae_implementation_add_default_conf_file.patch * Fri Jun 4 2021 hedongbo - 1:1.8.0.292-b10.5 - change the way to get the version in openjdk-1.8.0.spec * Thu May 27 2021 kuenking111 - 1:1.8.0.292-b10.4 - add 8264640.patch * Fri May 20 2021 kuenking111 - 1:1.8.0.292-b10.3 - add 8266929_huawei_add_oid_mapping_common_sig_types.patch * Fri May 20 2021 kuenking111 - 1:1.8.0.292-b10.2 - add 8266187_Memory_leak_in_appendBootClassPath.patch * Fri May 20 2021 kuenking111 - 1:1.8.0.292-b10.1 - add 8247691_incorrect_handling_of_VM_exceptions_in_C1_deopt_stub.patch * Tue May 18 2021 eapen - 1:1.8.0.292-b10.0 - update to jdk8u292-b10 - split sync-patch to multi patches * Wed May 19 2021 Noah - 1:1.8.0.282-b08.19 - add add-kaeEngine-to-rsa.patch * Mon May 17 2021 Noah - 1:1.8.0.282-b08.18 - add kae-phase2.patch * Tue Apr 20 2021 aijm - 1:1.8.0.282-b08.17 - delete zlib-optimization.patch - modify src-openeuler-openjdk-1.8.0-resolve-code-inconsistencies.patch * Tue Apr 20 2021 aijm - 1:1.8.0.282-b08.16 - add Code-style-fix.patch * Tue Apr 20 2021 aijm - 1:1.8.0.282-b08.15 - add fix-windows-compile-fail.patch * Tue Apr 20 2021 aijm - 1:1.8.0.282-b08.14 - add fix-BoxTypeCachedMax-build-failure-when-jvm-variants.patch * Mon Apr 19 2021 aijm - 1:1.8.0.282-b08.13 - add add-missing-test-case.patch * Thu Apr 15 2021 kuenking - 1:1.8.0.282-b08.12 - add 818172_overflow_when_strength_reducing_interger_multiply.patch * Tue Apr 13 2021 kuenking - 1:1.8.0.282-b08.11 - add src-openeuler-openjdk-1.8.0-resolve-code-inconsistencies.patch * Fri Apr 2 2021 Benshuai5D - 1:1.8.0.282-b08.10 - delete redundant set-vm.vendor-by-configure.patch - delete redundant make-disable-precompiled-headers-work.patch - delete redundant FromCardCache-default-card-index-can-cause.patch - delete redundant The-runok-method-retrying-another-port-does-not-take.patch - delete redundant fix-incorrect-offset-for-opp-field-with-weak-memory-.patch - delete redundant dismiss-company_name-info-of-java-version.patch * Sat Mar 27 2021 Noah - 1:1.8.0.282-b08.9 - add fix_VerifyCerts.java_testcase_bug.patch * Fri Mar 19 2021 kuenking111 - 1:1.8.0.282-b08.8 - add 8214535-support-Jmap-parallel.patch * Fri Mar 19 2021 DataAndOperation - 1:1.8.0.282-b08.7 - add 8231841-debug.cpp-help-is-missing-an-AArch64-line-fo.patch - add initialized-value-should-be-0-in-perfInit.patch - add 8254078-DataOutputStream-is-very-slow-post-disabling.patch - add Use-atomic-operation-when-G1Uncommit.patch - add 8168996-backport-of-C2-crash-at-postaloc.cpp-140-ass.patch - add 8140597-Postpone-the-initial-mark-request-until-the-.patch - add Use-Mutex-when-G1Uncommit.patch - add C1-typos-repair.patch - add 8214418-half-closed-SSLEngine-status-may-cause-appli.patch - add 8259886-Improve-SSL-session-cache-performance-and-sc.patch * Wed Mar 17 2021 noah - 1:1.8.0.282-b08.6 - add kae-phase1.patch * Fri Feb 5 2021 noah - 1:1.8.0.282-b08.5 - delete some file header * Thu Feb 4 2021 jdkboy - 1:1.8.0.282-b08.4 - add 8240353.patch * Thu Feb 4 2021 jdkboy - 1:1.8.0.282-b08.3 - fix wrong patch G1-memory-uncommit.patch * Wed Feb 3 2021 jdkboy - 1:1.8.0.282-b08.2 - add missing mapfile in G1-memory-uncommit.patch * Wed Feb 3 2021 jdkboy - 1:1.8.0.282-b08.1 - update sha512sum of arch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u282-b08.tar.xz * Tue Feb 2 2021 jdkboy - 1:1.8.0.282-b08.0 - updated to aarch64-shenandoah-jdk8u282-b08 (from aarch64-port/jdk8u-shenandoah) - delete 8160300.patch - delete The-runok-method-retrying-another-port-does-not-take.patch - delete 8214440-ldap-over-a-TLS-connection-negotiate-fail.patch - delete 8165808-Add-release-barriers-when-allocating-objects-with-concurrent-collection.patch - delete 8166583-Add-oopDesc-klass_or_null_acquire.patch - delete 8166862-CMS-needs-klass_or_null_acquire.patch - delete 8223940-Private-key-not-supported-by-chosen-signature.patch - delete 8236512-PKCS11-Connection-closed-after-Cipher.doFinal-and-NoPadding.patch - delete 8250861-Crash-in-MinINode-Ideal-PhaseGVN-bool.patch - add 8080911.patch - add 8168926.patch - add 8215047.patch - add 8237894.patch - add Remove-the-parentheses-around-company-name.patch * Thu Dec 24 2020 lee18767 - 1:1.8.0.272-b10.14 - add add-appcds-test-case.patch * Wed Dec 23 2020 hubodao - 1:1.8.0.272-b10.13 - add delete-untrustworthy-cacert.patch * Wed Dec 23 2020 wujiahua - 1:1.8.0.272-b10.12 - add 8207160-ClassReader-adjustMethodParams-can-potentially-return-null-if-the-args-list-is-empty.patch * Wed Dec 23 2020 DataAndOperation - 1:1.8.0.272-b10.11 - add 8040327-Eliminate-AnnotatedType-8040319-Clean-up-type-annotation-exception-index.patch * Tue Dec 22 2020 miaozhuojun - 1:1.8.0.272-b10.10 - add 8015927-Class-reference-duplicates-in-constant-pool.patch * Tue Dec 22 2020 cruise01 - 1:1.8.0.272-b10.9 - add G1-memory-uncommit.patch * Tue Dec 22 2020 kuenking - 1:1.8.0.272-b10.8 - add add-appcds-file-lock.patch * Mon Dec 21 2020 noah - 1:1.8.0.272-b10.7 - add a license to this repo * Tue Nov 10 2020 ow_wo - 1:1.8.0.272-b10.6 - add 8236512-PKCS11-Connection-closed-after-Cipher.doFinal-and-NoPadding.patch - add 8250861-Crash-in-MinINode-Ideal-PhaseGVN-bool.patch * Mon Nov 09 2020 ow_wo - 1:1.8.0.272-b10.5 - add 8223940-Private-key-not-supported-by-chosen-signature.patch * Fri Nov 06 2020 jdkboy - 1:1.8.0.272-b10.4 - add 8165808-Add-release-barriers-when-allocating-objects-with-concurrent-collection.patch - add 8166583-Add-oopDesc-klass_or_null_acquire.patch - add 8166862-CMS-needs-klass_or_null_acquire.patch - add 8160369.patch - add PS-GC-adding-acquire_size-method-for-PSParallelCompa.patch * Fri Nov 06 2020 wuyan - 1:1.8.0.272-b10.3 - add 8248336-AArch64-C2-offset-overflow-in-BoxLockNode-em.patch * Fri Nov 06 2020 xiezhaokun - 1:1.8.0.272-b10.2 - add 8214440-ldap-over-a-TLS-connection-negotiate-fail.patch * Sat Oct 24 2020 noah - 1:1.8.0.272-b10.1 - rename Boole to Bisheng * Fri Oct 23 2020 - 1:1.8.0.272-b10.0 - updated to aarch64-shenandoah-jdk8u272-b10 (from aarch64-port/jdk8u-shenandoah) - deleted: 8046294-Generate-the-4-byte-timestamp-randomly.patch - deleted: 8148754-C2-loop-unrolling-fails-due-to-unexpected-gr.patch - deleted: 8151788.patch - deleted: 8161072.patch - deleted: 8171537.patch - deleted: 8203481-Incorrect-constraint-for-unextended_sp-in-frame-safe_for_sender.patch - deleted: 8203699-java-lang-invoke-SpecialInte.patch - modified: Extend-CDS-to-support-app-class-metadata-sharing.patch - deleted: Test-SSLSocketSSLEngineTemplate.java-intermittent-fa.patch - modified: fast-serializer-jdk8.patch - deleted: fix-CompactibleFreeListSpace-block_size-crash.patch - deleted: fix-incorrect-klass-field-in-oop-with-weak-memory-model.patch * Mon Sep 21 2020 noah -:1.8.0.265-b10.6 - add add-DumpSharedSpace-guarantee-when-create-anonymous-classes.patch * Fri Sep 11 2020 noah -:1.8.0.265-b10.5 - add 6896810-Pin.java-fails-with-OOME-during-System.out.p.patch - add 8231631-sun-net-ftp-FtpURLConnectionLeak.java-fails-.patch - add Test8167409.sh-fails-to-run-with-32bit-jdk-on-64bit-.patch - add Test-SSLSocketSSLEngineTemplate.java-intermittent-fa.patch - add The-runok-method-retrying-another-port-does-not-take.patch - add 8048210-8056152-fix-assert-fail-for-an-InnocuousThre.patch - add 8160425-Vectorization-with-signalling-NaN-returns-wr.patch - add 8181503-Can-t-compile-hotspot-with-c-11.patch - add 8243670-Unexpected-test-result-caused-by-C2-MergeMem.patch - add fix-crash-in-JVMTI-debug.patch - add fix-incorrect-klass-field-in-oop-with-weak-memory-model.patch - add Fix-LineBuffer-vappend-when-buffer-too-small.patch - add make-disable-precompiled-headers-work.patch - add fix-CompactibleFreeListSpace-block_size-crash.patch - add Remove-unused-GenericTaskQueueSet-T-F-tasks.patch - add optimize-jmap-F-dump-xxx.patch - add recreate-.java_pid-file-when-deleted-for-attach-mechanism.patch - add Support-Git-commit-ID-in-the-SOURCE-field-of-the-release.patch - add Extend-CDS-to-support-app-class-metadata-sharing.patch - add zlib-optimization.patch * Tue Sep 8 2020 noah - 1:1.8.0.265-b10.4 - add fast-serializer-jdk8.patch * Mon Sep 7 2020 noah - 1:1.8.0.265-b10.3 - Delete some file header information * Mon Sep 1 2020 jdkboy - 1:1.8.0.265-b10.2 - Remove fast-serializer-jdk8.patch * Tue Aug 29 2020 jdkboy - 1:1.8.0.265-b10.1 - Add leaf-optimize-in-ParallelScanvageGC.patch - Add 8046294-Generate-the-4-byte-timestamp-randomly.patch - Add 8203481-Incorrect-constraint-for-unextended_sp-in-frame-safe_for_sender.patch - Add fix-LongCache-s-range-when-BoxTypeCachedMax-number-is-bigger-than-Integer.MAX_VALUE.patch - Add Ddot-intrinsic-implement.patch - Add 8234003-Improve-IndexSet-iteration.patch - Add 8220159-Optimize-various-RegMask-operations-by-introducing-watermarks.patch - Remove prohibition-of-irreducible-loop-in-mergers.patch * Tue Aug 25 2020 noah - 1:1.8.0.265-b10.0 - Update to aarch64-shenandoah-jdk8u-8u265-b01 - add fix-Long-cache-range-and-remove-VM-option-java.lang.IntegerCache.high-by-default.patch * Mon Jul 21 2020 noah - 1:1.8.0.262-b10.1 - add 8205921-Optimizing-best-of-2-work-stealing-queue-selection.patch * Thu Jul 18 2020 jdkboy - 1:1.8.0.262-b10.0 - Update to aarch64-shenandoah-jdk8u-8u262-b10 - add 8144993-Elide-redundant-memory-barrier-after-AllocationNode.patch - add 8223504-improve-performance-of-forall-loops-by-better.patch - add add-vm-option-BoxTypeCachedMax-for-Integer-and-Long-cache.patch - add 8080289-8040213-8189067-move-the-store-out-of-the-loop.patch - add fast-serializer-jdk8.patch - add 8182397-race-in-field-updates.patch - add --with-company-name="Boole" - remove fix-incorrect-offset-for-oop-field-with-weak-memory-.patch * Thu Jun 11 2020 jdkboy - 1:1.8.0.262-b05.9 - Update to aarch64-shenandoah-jdk8u-8u262-b05 * Tue Jun 9 2020 jdkboy - 1:1.8.0.262-b02.8 - Add some judgement * Fri May 29 2020 Noah - 1:1.8.0.262-b02.7 - Support desktop, nss, systemtap and openjfx. - Provide slowdebug and java-doc-zip * Thu May 21 2020 jdkboy - 1:1.8.0.262-b02.6 - Update to jdk8u-shenandoah-8u262-b02 - Create GC worker threads dynamically * Fri Mar 20 2020 jdkboy - 1:1.8.0.242-b08.5 - upgrade openjdk to jdk8u242-b08 * Thu Mar 12 2020 jdkboy - 1:1.8.0.232-b09.4 - add inline optimize for aarch64 * Thu Mar 12 2020 jdkboy - 1:1.8.0.232-b09.3 - add libjpeg.so in jre * Tue Jan 21 2020 jdkboy - 1:1.8.0.232-b09.2 - remove accessibility * Sat Dec 14 2019 guoge - 1:1.8.0.232-b09.1 - Initial build from OpenJDK aarch64-shenandoah-8u232-b09