diff --git a/.gitignore b/.gitignore index 203a3f9..ce4ecd1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ -SOURCES/jdk8-aarch64-jdk8u60-b24.2.tar.xz -SOURCES/jdk8u60-jdk8u60-b27.tar.xz +SOURCES/jdk8u-aarch64-jdk8u65-b17.tar.xz +SOURCES/jdk8u-jdk8u65-b17.tar.xz SOURCES/systemtap-tapset.tar.gz diff --git a/.java-1.8.0-openjdk.metadata b/.java-1.8.0-openjdk.metadata index 1430689..a73a3ba 100644 --- a/.java-1.8.0-openjdk.metadata +++ b/.java-1.8.0-openjdk.metadata @@ -1,3 +1,3 @@ -571055abf6051d0c413186af3719a22b0d8e41fe SOURCES/jdk8-aarch64-jdk8u60-b24.2.tar.xz -bd62f637b2e488389850afc9ed8d9d33500e7ceb SOURCES/jdk8u60-jdk8u60-b27.tar.xz +ed9cc63e8d5035083293782de07f286de93100f5 SOURCES/jdk8u-aarch64-jdk8u65-b17.tar.xz +a2d502f3c093628e8547515087c43a11ccfa25fe SOURCES/jdk8u-jdk8u65-b17.tar.xz 8dd5345808d840741a9619becc84302f44b54e78 SOURCES/systemtap-tapset.tar.gz diff --git a/SOURCES/java-1.8.0-openjdk-remove-intree-libraries.sh b/SOURCES/java-1.8.0-openjdk-remove-intree-libraries.sh index 76a4156..1f022f6 100644 --- a/SOURCES/java-1.8.0-openjdk-remove-intree-libraries.sh +++ b/SOURCES/java-1.8.0-openjdk-remove-intree-libraries.sh @@ -97,6 +97,8 @@ if [ ! -d ${LCMS_SRC} ]; then echo "${LCMS_SRC} does not exist. Refusing to proceed." exit 1 fi +# temporary change to move bundled LCMS +if [ ! true ]; then rm -vf ${LCMS_SRC}/cmscam02.c rm -vf ${LCMS_SRC}/cmscgats.c rm -vf ${LCMS_SRC}/cmscnvrt.c @@ -125,3 +127,4 @@ rm -vf ${LCMS_SRC}/cmsxform.c rm -vf ${LCMS_SRC}/lcms2.h rm -vf ${LCMS_SRC}/lcms2_internal.h rm -vf ${LCMS_SRC}/lcms2_plugin.h +fi diff --git a/SOURCES/java-1.8.0-openjdk-rh1191652-hotspot-aarch64.patch b/SOURCES/java-1.8.0-openjdk-rh1191652-hotspot-aarch64.patch index 2933063..cd75fec 100644 --- a/SOURCES/java-1.8.0-openjdk-rh1191652-hotspot-aarch64.patch +++ b/SOURCES/java-1.8.0-openjdk-rh1191652-hotspot-aarch64.patch @@ -1,16 +1,8 @@ -# HG changeset patch -# User andrew -# Date 1424102734 0 -# Mon Feb 16 16:05:34 2015 +0000 -# Node ID 4fdaf786d977aa77afdb68b8829579d31069e39c -# Parent 01a0011cc101f3308c5876db8282c0fc5e3ba2e6 -PR2236: ppc64le should report its os.arch as ppc64le so tools can detect it -Summary: Use ppc64le as the arch directory on that platform and report it in os.arch - ---- openjdk/hotspot/make/defs.make.orig 2015-03-03 17:05:51.000000000 -0500 -+++ openjdk/hotspot/make/defs.make 2015-03-03 19:18:20.000000000 -0500 -@@ -319,6 +319,13 @@ - LIBARCH/arm = arm +diff -r dbbde6b99709 make/defs.make +--- openjdk/hotspot/make/defs.make Thu Oct 15 03:31:35 2015 +0100 ++++ openjdk/hotspot/make/defs.make Thu Oct 15 04:22:45 2015 +0100 +@@ -315,6 +315,13 @@ + LIBARCH/ppc64 = ppc64 LIBARCH/zero = $(ZERO_LIBARCH) + # Override LIBARCH for ppc64le @@ -20,21 +12,6 @@ Summary: Use ppc64le as the arch directory on that platform and report it in os. + endif + endif + - LP64_ARCH = sparcv9 amd64 ppc64 aarch64 ia64 zero + LP64_ARCH += sparcv9 amd64 ia64 ppc64 aarch64 zero endif -diff -r 01a0011cc101 -r 4fdaf786d977 src/os/linux/vm/os_linux.cpp ---- openjdk/hotspot/src/os/linux/vm/os_linux.cpp Mon Feb 16 13:18:10 2015 +0000 -+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp Mon Feb 16 16:05:34 2015 +0000 -@@ -305,7 +305,11 @@ - #elif defined(PPC32) - static char cpu_arch[] = "ppc"; - #elif defined(PPC64) -+#if defined(VM_LITTLE_ENDIAN) -+static char cpu_arch[] = "ppc64le"; -+#else - static char cpu_arch[] = "ppc64"; -+#endif - #elif defined(SPARC) - # ifdef _LP64 - static char cpu_arch[] = "sparcv9"; diff --git a/SOURCES/system-lcms.patch b/SOURCES/system-lcms.patch index c098f3a..6f39b57 100644 --- a/SOURCES/system-lcms.patch +++ b/SOURCES/system-lcms.patch @@ -1,6 +1,6 @@ diff -ruN jdk8/common/autoconf/libraries.m4 jdk8/common/autoconf/libraries.m4 ---- jdk8/common/autoconf/libraries.m4 2013-11-14 22:04:38.039440136 -0500 -+++ jdk8/common/autoconf/libraries.m4 2013-11-14 22:05:11.474356424 -0500 +--- openjdk/common/autoconf/libraries.m4 2013-11-14 22:04:38.039440136 -0500 ++++ openjdk/common/autoconf/libraries.m4 2013-11-14 22:05:11.474356424 -0500 @@ -676,6 +676,46 @@ ############################################################################### @@ -49,54 +49,70 @@ diff -ruN jdk8/common/autoconf/libraries.m4 jdk8/common/autoconf/libraries.m4 # diff -ruN jdk8/jdk/make/lib/Awt2dLibraries.gmk jdk8/jdk/make/lib/Awt2dLibraries.gmk ---- jdk8/jdk/make/lib/Awt2dLibraries.gmk 2013-11-14 22:04:38.040440133 -0500 -+++ jdk8/jdk/make/lib/Awt2dLibraries.gmk 2013-11-14 22:05:11.475356411 -0500 -@@ -661,8 +661,8 @@ +--- openjdk/jdk/make/lib/Awt2dLibraries.gmk 2013-11-14 22:04:38.040440133 -0500 ++++ openjdk/jdk/make/lib/Awt2dLibraries.gmk 2013-11-14 22:05:11.475356411 -0500 +@@ -666,18 +666,35 @@ + ########################################################################################## ++LIBLCMS_DIR := $(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms ++ ++ifeq ($(USE_EXTERNAL_LCMS), true) ++ # If we're using an external library, we'll just need the wrapper part. ++ # By including it explicitely, all other files will be excluded. ++ BUILD_LIBLCMS_INCLUDE_FILES := LCMS.c ++ BUILD_LIBLCMS_HEADERS := ++else ++ BUILD_LIBLCMS_INCLUDE_FILES := ++ # If we're using the bundled library, we'll need to include it in the ++ # include path explicitly. Otherwise the system headers will be used. ++ BUILD_LIBLCMS_HEADERS := -I$(LIBLCMS_DIR) ++endif ++ # TODO: Update awt lib path when awt is converted --$(eval $(call SetupNativeCompilation,BUILD_LIBLCMS, \ -- LIBRARY := lcms, \ -+$(eval $(call SetupNativeCompilation,BUILD_LIBJAVALCMS, \ -+ LIBRARY := javalcms, \ + $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS, \ + LIBRARY := lcms, \ OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ - SRC := $(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms, \ +- SRC := $(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms, \ ++ SRC := $(LIBLCMS_DIR), \ ++ INCLUDE_FILES := $(BUILD_LIBLCMS_INCLUDE_FILES), \ LANG := C, \ -@@ -680,19 +680,19 @@ + OPTIMIZATION := HIGHEST, \ + CFLAGS := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB)) \ + -DCMS_DONT_USE_FAST_FLOOR \ + $(SHARED_LIBRARY_FLAGS) \ + -I$(JDK_TOPDIR)/src/share/native/sun/java2d \ +- -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug, \ ++ -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \ ++ $(BUILD_LIBLCMS_HEADERS) \ ++ $(LCMS_CFLAGS), \ + CFLAGS_solaris := -xc99=no_lib, \ + CFLAGS_windows := -DCMS_IS_WINDOWS_, \ + MAPFILE := $(JDK_TOPDIR)/make/mapfiles/liblcms/mapfile-vers, \ +@@ -685,10 +702,10 @@ + $(call SET_SHARED_LIBRARY_ORIGIN), \ + LDFLAGS_solaris := /usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2, \ LDFLAGS_windows := $(WIN_AWT_LIB) $(WIN_JAVA_LIB), \ - LDFLAGS_SUFFIX_solaris := -lawt -ljava -ljvm -lc, \ - LDFLAGS_SUFFIX_macosx := $(LIBM) -lawt -ljava -ljvm, \ +- LDFLAGS_SUFFIX_solaris := -lawt -ljava -ljvm -lc, \ +- LDFLAGS_SUFFIX_macosx := $(LIBM) -lawt -ljava -ljvm, \ - LDFLAGS_SUFFIX_linux := -lm -lawt -ljava -ljvm, \ -+ LDFLAGS_SUFFIX_linux := -lm -lawt -ljava -ljvm -llcms2, \ - LDFLAGS_SUFFIX_aix := -lm -lawt -ljava -ljvm,\ +- LDFLAGS_SUFFIX_aix := -lm -lawt -ljava -ljvm,\ ++ LDFLAGS_SUFFIX_solaris := -lawt -ljava -ljvm -lc $(LCMS_LIBS), \ ++ LDFLAGS_SUFFIX_macosx := $(LIBM) -lawt -ljava -ljvm $(LCMS_LIBS), \ ++ LDFLAGS_SUFFIX_linux := -lm -lawt -ljava -ljvm $(LCMS_LIBS), \ ++ LDFLAGS_SUFFIX_aix := -lm -lawt -ljava -ljvm $(LCMS_LIBS),\ VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ RC_FLAGS := $(RC_FLAGS) \ -- -D "JDK_FNAME=lcms.dll" \ -- -D "JDK_INTERNAL_NAME=lcms" \ -+ -D "JDK_FNAME=javalcms.dll" \ -+ -D "JDK_INTERNAL_NAME=javalcms" \ - -D "JDK_FTYPE=0x2L", \ -- OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/liblcms, \ -+ OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjavalcms, \ - DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) + -D "JDK_FNAME=lcms.dll" \ +diff -r 3d1c3b0b73a3 src/share/native/sun/java2d/cmm/lcms/LCMS.c +--- openjdk/jdk/src/share/native/sun/java2d/cmm/lcms/LCMS.c Tue Sep 08 22:31:26 2015 +0300 ++++ openjdk/jdk/src/share/native/sun/java2d/cmm/lcms/LCMS.c Thu Oct 15 05:29:28 2015 +0100 +@@ -30,7 +30,7 @@ + #include "jni_util.h" + #include "Trace.h" + #include "Disposer.h" +-#include "lcms2.h" ++#include + #include "jlong.h" --BUILD_LIBRARIES += $(BUILD_LIBLCMS) -+BUILD_LIBRARIES += $(BUILD_LIBJAVALCMS) - --$(BUILD_LIBLCMS): $(BUILD_LIBAWT) -+$(BUILD_LIBJAVALCMS): $(BUILD_LIBAWT) - - ########################################################################################## -diff -ruN jdk8/jdk/src/share/classes/sun/cmm/lcms/LCMS.java jdk8/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java ---- jdk8/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java 2013-10-31 19:44:18.000000000 -0400 -+++ jdk8/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java 2013-11-14 22:05:11.476356403 -0500 -@@ -207,7 +207,7 @@ - * disposer frameworks - */ - System.loadLibrary("awt"); -- System.loadLibrary("lcms"); -+ System.loadLibrary("javalcms"); - return null; - } - }); diff --git a/SPECS/java-1.8.0-openjdk.spec b/SPECS/java-1.8.0-openjdk.spec index 3709eee..24ca7fe 100644 --- a/SPECS/java-1.8.0-openjdk.spec +++ b/SPECS/java-1.8.0-openjdk.spec @@ -75,6 +75,13 @@ %global with_systemtap 0 %endif +# AArch64 currently uses a different OpenJDK source tarball +%ifarch %{aarch64} +%global openjdk_sourceid 1 +%else +%global openjdk_sourceid 0 +%endif + # Convert an absolute path to a relative path. Each symbolic link is # specified relative to the directory in which it is installed so that # it will resolve properly within chrooted installations. @@ -84,10 +91,10 @@ # Standard JPackage naming and versioning defines. %global origin openjdk -%global updatever 60 -%global buildver b27 -%global aarch64_updatever 60 -%global aarch64_buildver b24.2 +%global updatever 65 +%global buildver b17 +%global aarch64_updatever 65 +%global aarch64_buildver b17 %global aarch64_changesetid aarch64-jdk8u%{aarch64_updatever}-%{aarch64_buildver} # priority must be 7 digits in total %global priority 00000%{updatever} @@ -144,11 +151,11 @@ Group: Development/Languages License: ASL 1.1 and ASL 2.0 and GPL+ and GPLv2 and GPLv2 with exceptions and LGPL+ and LGPLv2 and MPLv1.0 and MPLv1.1 and Public Domain and W3C URL: http://openjdk.java.net/ -# Source from upstrem OpenJDK8 project. To regenerate, use -# ./generate_source_tarball.sh jdk8u jdk8u jdk8u%%{updatever}-%%{buildver} -# ./generate_source_tarball.sh aarch64-port jdk8 %%{aarch64_hg_tag} -Source0: jdk8u60-jdk8u%{updatever}-%{buildver}.tar.xz -Source1: jdk8-%{aarch64_changesetid}.tar.xz +# Sources from internal security patched trees. +# ./generate_local_tarball.sh jdk8u%%{updatever}-%%{buildver} +# ./generate_local_tarball.sh %%{aarch64_changesetid} +Source0: jdk8u-jdk8u%{updatever}-%{buildver}.tar.xz +Source1: jdk8u-%{aarch64_changesetid}.tar.xz # Custom README for -src subpackage Source2: README.src @@ -410,23 +417,13 @@ need to. %prep -%setup -q -c -n %{uniquesuffix} -T -a 0 +%setup -q -c -n %{uniquesuffix} -T -a %{openjdk_sourceid} # https://bugzilla.redhat.com/show_bug.cgi?id=1189084 prioritylength=`expr length %{priority}` if [ $prioritylength -ne 7 ] ; then echo "priority must be 7 digits in total, violated" exit 14 fi -# For old patches -# Swap HotSpot for AArch64 port -%ifarch %{aarch64} -#pushd openjdk -#rm -r hotspot -# tmp - containing whole aarch64 forest -rm -r openjdk -tar xf %{SOURCE1} -#popd -%endif ln -s openjdk jdk8 cp %{SOURCE2} . @@ -569,7 +566,7 @@ bash ../../configure \ --with-libjpeg=system \ --with-giflib=system \ --with-libpng=system \ - --with-lcms=system \ + --with-lcms=bundled \ --with-stdc++lib=dynamic \ --with-extra-cxxflags="$EXTRA_CPP_FLAGS" \ --with-extra-cflags="$EXTRA_CFLAGS" \ @@ -638,11 +635,9 @@ jar -tf $JAVA_HOME/src.zip | grep Unsafe rm -rf $RPM_BUILD_ROOT STRIP_KEEP_SYMTAB=libjvm* -# Install symlink to default soundfont -install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/audio -pushd $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/audio -ln -s %{_datadir}/soundfonts/default.sf2 -popd +# there used to be and link to soundfont +# will be replaced by fix of http://mail.openjdk.java.net/pipermail/sound-dev/2015-October/000352.html +# once done, and have to go to fedora first. Removed from rhel7 for now pushd %{buildoutputdir}/images/j2sdk-image @@ -1026,7 +1021,9 @@ if [ "$1" -gt 1 ]; then # This is the md5sum of an unmodified java.security file if [ "${sum}" = '1690ac33955594f71dc952c9e83fd396' -o \ "${sum}" = 'b138695d0c0ea947e64a21a627d973ba' -o \ - "${sum}" = 'd17958676bdb9f9d941c8a59655311fb' ]; then + "${sum}" = 'd17958676bdb9f9d941c8a59655311fb' -o \ + "${sum}" = '5463aef7dbf0bbcfe79e0336a7f92701' -o \ + "${sum}" = '400cc64d4dd31f36dc0cc2c701d603db' ]; then if [ -f "${javasecurity}.rpmnew" ]; then mv -f "${javasecurity}.rpmnew" "${javasecurity}" fi @@ -1292,7 +1289,8 @@ exit 0 %{_mandir}/man1/tnameserv-%{uniquesuffix}.1* %{_mandir}/man1/unpack200-%{uniquesuffix}.1* %config(noreplace) %{_jvmdir}/%{jredir}/lib/security/nss.cfg -%{_jvmdir}/%{jredir}/lib/audio/ +# removed %%{_jvmdir}/%%{jredir}/lib/audio/ +# see soundfont in %%install %ifarch %{jit_arches} %ifnarch %{ppc64} %attr(664, root, root) %ghost %{_jvmdir}/%{jredir}/lib/%{archinstall}/server/classes.jsa @@ -1376,7 +1374,27 @@ exit 0 %{_jvmdir}/%{jredir}/lib/accessibility.properties %changelog -* Tue Sep 08 2015 Jiri Vanek - 1:1.8.0.60-1.b27 +* Mon Oct 19 2015 Jiri Vanek - 1:1.8.0.65-2.b17 +- fixd dual \\ to single \ +- Resolves: rhbz#1257656 + +* Fri Oct 16 2015 Jiri Vanek - 1:1.8.0.65-1.b17 +- moved to bundled lcms +- Resolves: rhbz#1257656 + +* Thu Oct 15 2015 Andrew Hughes - 1:1.8.0.65-0.b17 +- October 2015 security update to u65b17. +- Add script for generating OpenJDK tarballs from a local Mercurial tree. +- Update RH1191652 patch to build against current AArch64 tree. +- Use appropriate source ID to avoid unpacking both tarballs on AArch64. +- Add MD5 checksums for java.security from 8u51 and 8u60 RPMs. +- Resolves: rhbz#1257656 + +* Wed Oct 14 2015 Jiri Vanek - 1:1.8.0.60-3.b27 +- removed link to soundfont. Unused in rhel7 and will be fixed upstream +- Resolves: rhbz#1257653 + +* Tue Sep 08 2015 Jiri Vanek - 1:1.8.0.60-2.b27 - removed double slash forgotten when sciplet mved out of macro - Resolves: rhbz#1260077