diff --git a/.gitignore b/.gitignore index d3039f1..20fbe8b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u252-b09-4curve.tar.xz +SOURCES/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b07-shenandoah-merge-2020-06-18-4curve.tar.xz SOURCES/tapsets-icedtea-3.15.0.tar.xz diff --git a/.java-1.8.0-openjdk.metadata b/.java-1.8.0-openjdk.metadata index 5a5d0be..c79eee7 100644 --- a/.java-1.8.0-openjdk.metadata +++ b/.java-1.8.0-openjdk.metadata @@ -1,2 +1,2 @@ -9417f1f9fa52d6882a0ffe26c00a478d8bb6465d SOURCES/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u252-b09-4curve.tar.xz +534f81e12f6c7027152728f1ffb004e195d1785b SOURCES/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b07-shenandoah-merge-2020-06-18-4curve.tar.xz 7ae2cba67467825b2c2a5fec7aea041865023002 SOURCES/tapsets-icedtea-3.15.0.tar.xz diff --git a/SOURCES/jdk8143245-pr3548-zero_build_requires_disabled_warnings.patch b/SOURCES/jdk8143245-pr3548-zero_build_requires_disabled_warnings.patch index 298bbd3..98d3903 100644 --- a/SOURCES/jdk8143245-pr3548-zero_build_requires_disabled_warnings.patch +++ b/SOURCES/jdk8143245-pr3548-zero_build_requires_disabled_warnings.patch @@ -145,4 +145,4 @@ diff --git openjdk.orig/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp o + return false; // silence compile warning } - // These routines are only used on cpu architectures that + bool pd_get_top_frame_for_profiling(frame* fr_addr, diff --git a/SOURCES/rh1582504-rsa_default_for_keytool.patch b/SOURCES/rh1582504-rsa_default_for_keytool.patch new file mode 100644 index 0000000..f59dbf5 --- /dev/null +++ b/SOURCES/rh1582504-rsa_default_for_keytool.patch @@ -0,0 +1,12 @@ +diff --git openjdk.orig/jdk/src/share/classes/sun/security/tools/keytool/Main.java openjdk/jdk/src/share/classes/sun/security/tools/keytool/Main.java +--- openjdk.orig/jdk/src/share/classes/sun/security/tools/keytool/Main.java ++++ openjdk/jdk/src/share/classes/sun/security/tools/keytool/Main.java +@@ -1004,7 +1004,7 @@ + } + } else if (command == GENKEYPAIR) { + if (keyAlgName == null) { +- keyAlgName = "DSA"; ++ keyAlgName = "RSA"; + } + doGenKeyPair(alias, dname, keyAlgName, keysize, sigAlgName); + kssave = true; diff --git a/SOURCES/rh1648644-java_access_bridge_privileged_security.patch b/SOURCES/rh1648644-java_access_bridge_privileged_security.patch index 538468a..28060ed 100644 --- a/SOURCES/rh1648644-java_access_bridge_privileged_security.patch +++ b/SOURCES/rh1648644-java_access_bridge_privileged_security.patch @@ -1,22 +1,23 @@ ---- jdk8/jdk/src/share/lib/security/java.security-linux.orig -+++ jdk8/jdk/src/share/lib/security/java.security-linux -@@ -223,7 +223,9 @@ - jdk.nashorn.internal.,\ - jdk.nashorn.tools.,\ - jdk.xml.internal.,\ -- com.sun.activation.registries. -+ com.sun.activation.registries.,\ +diff --git openjdk.orig/jdk/src/share/lib/security/java.security-linux openjdk/jdk/src/share/lib/security/java.security-linux +--- openjdk.orig/jdk/src/share/lib/security/java.security-linux ++++ openjdk/jdk/src/share/lib/security/java.security-linux +@@ -226,7 +226,9 @@ + com.sun.activation.registries.,\ + jdk.jfr.events.,\ + jdk.jfr.internal.,\ +- jdk.management.jfr.internal. ++ jdk.management.jfr.internal.,\ + org.GNOME.Accessibility.,\ + org.GNOME.Bonobo. # # List of comma-separated packages that start with or equal this string -@@ -273,7 +275,9 @@ - jdk.nashorn.internal.,\ - jdk.nashorn.tools.,\ - jdk.xml.internal.,\ -- com.sun.activation.registries. -+ com.sun.activation.registries.,\ +@@ -279,7 +281,9 @@ + com.sun.activation.registries.,\ + jdk.jfr.events.,\ + jdk.jfr.internal.,\ +- jdk.management.jfr.internal. ++ jdk.management.jfr.internal.,\ + org.GNOME.Accessibility.,\ + org.GNOME.Bonobo. diff --git a/SPECS/java-1.8.0-openjdk.spec b/SPECS/java-1.8.0-openjdk.spec index e5aa2a9..07e9c06 100644 --- a/SPECS/java-1.8.0-openjdk.spec +++ b/SPECS/java-1.8.0-openjdk.spec @@ -62,6 +62,7 @@ %global multilib_arches %{power64} sparc64 x86_64 %global jit_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} %global sa_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} +%global jfr_arches x86_64 sparcv9 sparc64 %{aarch64} ${power64} %global fastdebug_arches x86_64 # By default, we build a debug build during main build on JIT architectures @@ -230,7 +231,7 @@ # note, following three variables are sedded from update_sources if used correctly. Hardcode them rather there. %global shenandoah_project aarch64-port %global shenandoah_repo jdk8u-shenandoah -%global shenandoah_revision aarch64-shenandoah-jdk8u252-b09 +%global shenandoah_revision aarch64-shenandoah-jdk8u262-b07-shenandoah-merge-2020-06-18 # Define old aarch64/jdk8u tree variables for compatibility %global project %{shenandoah_project} %global repo %{shenandoah_repo} @@ -246,12 +247,12 @@ %global updatever %(VERSION=%{whole_update}; echo ${VERSION##*u}) # eg jdk8u60-b27 -> b27 %global buildver %(VERSION=%{version_tag}; echo ${VERSION##*-}) -%global rpmrelease 7 +%global rpmrelease 3 # Define milestone (EA for pre-releases, GA ("fcs") for releases) # Release will be (where N is usually a number starting at 1): # - 0.N%%{?extraver}%%{?dist} for EA releases, # - N%%{?extraver}{?dist} for GA releases -%global is_ga 1 +%global is_ga 0 %if %{is_ga} %global milestone fcs %global milestone_version %{nil} @@ -289,6 +290,7 @@ %define jredir() %{expand:%{sdkdir -- %{?1}}/jre} %define sdkbindir() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin} %define jrebindir() %{expand:%{_jvmdir}/%{jredir -- %{?1}}/bin} +%global alt_java_name alt-java %global rpm_state_dir %{_localstatedir}/lib/rpm-state/ @@ -335,6 +337,7 @@ ext=.gz alternatives \\ --install %{_bindir}/java java %{jrebindir -- %{?1}}/java $PRIORITY --family %{name}.%{_arch} \\ --slave %{_jvmdir}/jre jre %{_jvmdir}/%{jredir -- %{?1}} \\ + --slave %{_bindir}/%{alt_java_name} %{alt_java_name} %{jrebindir -- %{?1}}/%{alt_java_name} \\ --slave %{_bindir}/jjs jjs %{jrebindir -- %{?1}}/jjs \\ --slave %{_bindir}/keytool keytool %{jrebindir -- %{?1}}/keytool \\ --slave %{_bindir}/orbd orbd %{jrebindir -- %{?1}}/orbd \\ @@ -347,6 +350,8 @@ alternatives \\ --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/%{alt_java_name}.1$ext %{alt_java_name}.1$ext \\ + %{_mandir}/man1/%{alt_java_name}-%{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 \\ @@ -435,6 +440,7 @@ alternatives \\ --slave %{_bindir}/jconsole jconsole %{sdkbindir -- %{?1}}/jconsole \\ --slave %{_bindir}/jdb jdb %{sdkbindir -- %{?1}}/jdb \\ --slave %{_bindir}/jdeps jdeps %{sdkbindir -- %{?1}}/jdeps \\ + --slave %{_bindir}/jfr jfr %{sdkbindir -- %{?1}}/jfr \\ --slave %{_bindir}/jhat jhat %{sdkbindir -- %{?1}}/jhat \\ --slave %{_bindir}/jinfo jinfo %{sdkbindir -- %{?1}}/jinfo \\ --slave %{_bindir}/jmap jmap %{sdkbindir -- %{?1}}/jmap \\ @@ -605,6 +611,7 @@ exit 0 %dir %{_jvmdir}/%{jredir -- %{?1}}/bin %dir %{_jvmdir}/%{jredir -- %{?1}}/lib %{_jvmdir}/%{jredir -- %{?1}}/bin/java +%{_jvmdir}/%{jredir -- %{?1}}/bin/%{alt_java_name} %{_jvmdir}/%{jredir -- %{?1}}/bin/jjs %{_jvmdir}/%{jredir -- %{?1}}/bin/keytool %{_jvmdir}/%{jredir -- %{?1}}/bin/orbd @@ -636,6 +643,7 @@ exit 0 %{_jvmdir}/%{jredir -- %{?1}}/lib/logging.properties %{_jvmdir}/%{jredir -- %{?1}}/lib/calendars.properties %{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1* +%{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/jjs-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/orbd-%{uniquesuffix -- %{?1}}.1* @@ -694,7 +702,7 @@ exit 0 %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libnet.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libnio.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libnpt.so -%ifarch x86_64 %{ix86} %{aarch64} +%ifarch %{sa_arches} %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libsaproc.so %endif %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libsctp.so @@ -734,12 +742,20 @@ exit 0 %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/sunjce_provider.jar %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/sunpkcs11.jar %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/zipfs.jar +%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: @@ -758,6 +774,7 @@ exit 0 %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jar %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jarsigner %{_jvmdir}/%{sdkdir -- %{?1}}/bin/java +%{_jvmdir}/%{sdkdir -- %{?1}}/bin/%{alt_java_name} %{_jvmdir}/%{sdkdir -- %{?1}}/bin/javac %{_jvmdir}/%{sdkdir -- %{?1}}/bin/javadoc %{_jvmdir}/%{sdkdir -- %{?1}}/bin/javah @@ -767,6 +784,7 @@ exit 0 %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jconsole %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdb %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeps +%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jfr %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jhat %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jinfo %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jjs @@ -907,8 +925,9 @@ Provides: java%{?1} = %{epoch}:%{javaver} 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 >= 2015d +# Require zoneinfo data provided by tzdata-java subpackage. +# 2020a required as of JDK-8243541 +Requires: tzdata-java >= 2020a # 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, @@ -1120,6 +1139,8 @@ Patch1000: rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch Patch1001: rh1655466-global_crypto_and_fips.patch # RH1760838: No ciphersuites available for SSLSocket in FIPS mode Patch1002: rh1760838-fips_default_keystore_type.patch +# RH1582504: Use RSA as default for keytool, as DSA is disabled in all crypto policies except LEGACY +Patch1003: rh1582504-rsa_default_for_keytool.patch ############################################# # @@ -1291,7 +1312,8 @@ BuildRequires: java-1.8.0-openjdk-devel %ifnarch %{jit_arches} BuildRequires: libffi-devel %endif -BuildRequires: tzdata-java >= 2015d +# 2020a required as of JDK-8243541 +BuildRequires: tzdata-java >= 2020a # Earlier versions have a bug in tree vectorization on PPC BuildRequires: gcc >= 4.8.3-8 @@ -1639,6 +1661,7 @@ sh %{SOURCE12} %patch1000 %patch1001 %patch1002 +%patch1003 # RHEL-only patches %if ! 0%{?fedora} && 0%{?rhel} <= 7 @@ -1749,6 +1772,9 @@ mkdir -p %{buildoutputdir -- $suffix} pushd %{buildoutputdir -- $suffix} bash ../../configure \ +%ifarch %{jfr_arches} + --enable-jfr \ +%endif %ifnarch %{jit_arches} --with-jvm-variants=zero \ %endif @@ -1816,6 +1842,15 @@ install -m 644 nss.fips.cfg $JAVA_HOME/jre/lib/security/ rm $JAVA_HOME/jre/lib/tzdb.dat ln -s %{_datadir}/javazi-1.8/tzdb.dat $JAVA_HOME/jre/lib/tzdb.dat +# Create fake alt-java as a placeholder for future alt-java +pushd ${JAVA_HOME} +cp -a jre/bin/java jre/bin/%{alt_java_name} +cp -a bin/java bin/%{alt_java_name} +# add alt-java man page +echo "Hardened java binary recommended for launching untrusted code from the Web e.g. javaws" > man/man1/%{alt_java_name}.1 +cat man/man1/java.1 >> man/man1/%{alt_java_name}.1 +popd + # build cycles done @@ -2032,6 +2067,13 @@ find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/demo \ | sed 's|'$RPM_BUILD_ROOT'||' \ | sed 's|^|%doc |' \ >> %{name}-demo.files"$suffix" +# Find documentation directories. +find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/demo \ + $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/sample \ + -type d | sort \ + | sed 's|'$RPM_BUILD_ROOT'||' \ + | sed 's|^|%dir |' \ + >> %{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 @@ -2284,6 +2326,83 @@ require "copy_jdk_configs.lua" %endif %changelog +* Tue Jul 07 2020 Andrew Hughes - 1:1.8.0.262.b07-0.3.ea +- Update to aarch64-shenandoah-jdk8u262-b07-shenandoah-merge-2020-06-18. +- Resolves: rhbz#1838811 + +* Sun Jul 05 2020 Andrew Hughes - 1:1.8.0.262.b07-0.2.ea +- Sync alt-java support with java-11-openjdk version. +- Resolves: rhbz#1838811 + +* Sat Jul 04 2020 Jiri Vanek - 1:1.8.0.262.b07-0.2.ea +- Created copy of java as alt-java and adapted alternatives and man pages +- Resolves: rhbz#1838811 + +* Fri Jul 03 2020 Andrew Hughes - 1:1.8.0.262.b07-0.1.ea +- Update to aarch64-shenandoah-jdk8u262-b07. +- Require tzdata 2020a so system tzdata matches resource updates in b07 +- Resolves: rhbz#1838811 + +* Tue Jun 30 2020 Andrew Hughes - 1:1.8.0.262.b06-0.1.ea +- Update to aarch64-shenandoah-jdk8u262-b06. +- Resolves: rhbz#1838811 + +* Mon Jun 29 2020 Andrew Hughes - 1:1.8.0.262.b05-0.4.ea +- Update to aarch64-shenandoah-jdk8u262-b05-shenandoah-merge-2020-06-04. +- Resolves: rhbz#1838811 + +* Mon Jun 29 2020 Andrew Hughes - 1:1.8.0.262.b05-0.3.ea +- Add directories to files directive for demo package. +- Resolves: rhbz#1649801 + +* Sun Jun 28 2020 Andrew Hughes - 1:1.8.0.262.b05-0.2.ea +- Use RSA as default for keytool, as DSA is disabled in all crypto policies except LEGACY +- Resolves: rhbz#1582504 + +* Sat Jun 27 2020 Andrew Hughes - 1:1.8.0.262.b05-0.1.ea +- Update to aarch64-shenandoah-jdk8u262-b05. +- Resolves: rhbz#1838811 + +* Fri Jun 26 2020 Andrew Hughes - 1:1.8.0.262.b04-0.1.ea +- Update to aarch64-shenandoah-jdk8u262-b04. +- Resolves: rhbz#1838811 + +* Wed Jun 24 2020 Andrew Hughes - 1:1.8.0.262.b03-0.2.ea +- Update to aarch64-shenandoah-jdk8u262-b03-shenandoah-merge-2020-05-20. +- Resolves: rhbz#1838811 + +* Tue Jun 23 2020 Andrew Hughes - 1:1.8.0.262.b03-0.1.ea +- Update to aarch64-shenandoah-jdk8u262-b03. +- Resolves: rhbz#1838811 + +* Mon Jun 22 2020 Andrew Hughes - 1:1.8.0.262.b02-0.2.ea +- Introduce jfr_arches for architectures which support JFR. +- Fix path to jfr.jar. +- Use sa_arches for libsaproc.so inclusion. +- Resolves: rhbz#1838811 + +* Mon Jun 22 2020 Andrew Hughes - 1:1.8.0.262.b02-0.2.ea +- Explicitly list jfr.jar, default.jfc & profile.jfc in the spec file. +- Resolves: rhbz#1838811 + +* Sun Jun 21 2020 Andrew Hughes - 1:1.8.0.262.b02-0.2.ea +- Enable JFR in our builds, ahead of upstream default. +- Only enable JFR for JIT builds, as it is not supported with Zero. +- Turn off JFR on x86 for now due to assert(SerializePageShiftCount == count) crash. +- Resolves: rhbz#1838811 + +* Sun Jun 21 2020 Andrew Hughes - 1:1.8.0.262.b02-0.1.ea +- Update to aarch64-shenandoah-jdk8u262-b02. +- Resolves: rhbz#1838811 + +* Sat Jun 20 2020 Andrew Hughes - 1:1.8.0.262.b01-0.1.ea +- Update to aarch64-shenandoah-jdk8u262-b01. +- Switch to EA mode. +- Adjust JDK-8143245/PR3548 patch following context changes due to JDK-8203287 for JFR +- Adjust RH1648644 following context changes due to introduction of JFR packages +- Add jfr binary to devel package and alternatives set +- Resolves: rhbz#1838811 + * Tue Jun 02 2020 Andrew John Hughes - 1:1.8.0.252.b09-7 - Enable alignment with FIPS crypto policy by default (-Dcom.redhat.fips=false to disable). - Resolves: rhbz#1655466