Hello community, here is the log from the commit of package java-9-openjdk for openSUSE:Factory checked in at 2017-11-11 14:18:23 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/java-9-openjdk (Old) and /work/SRC/openSUSE:Factory/.java-9-openjdk.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "java-9-openjdk" Sat Nov 11 14:18:23 2017 rev:16 rq:540157 version:9.0.1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/java-9-openjdk/java-9-openjdk.changes 2017-11-04 10:24:32.769241206 +0100 +++ /work/SRC/openSUSE:Factory/.java-9-openjdk.new/java-9-openjdk.changes 2017-11-11 14:18:30.689607021 +0100 @@ -1,0 +2,27 @@ +Thu Nov 9 06:58:55 UTC 2017 - fst...@suse.com + +- Modified patch: + * jaw-misc.patch + + Do not look for gdk-3.0, since we are building against gtk2 +- Added patch: + * icedtea-sound-soundproperties.patch + + Even though we build the pulseaudio plugin, disable it by + default in the configuration file, since the internal openjdk + provider is reputed to be better + +------------------------------------------------------------------- +Mon Nov 6 20:09:13 UTC 2017 - fst...@suse.com + +- Removed patch: + * load_java_atk_wrapper.patch + + Give up this approach that requires patching of class loaders +- Build java-atk-wrapper as a modular jar inside the OpenJDK build +- Added patches: + * jaw-misc.patch + + Fix some build issues and add the manifest.txt that is not + not distributed by mistake + * jaw-jdk9.patch + + Make java-atk-wrapper a java module that implements the + javax.accessibility.AccessibilityProvider interface + +------------------------------------------------------------------- Old: ---- load_java_atk_wrapper.patch New: ---- icedtea-sound-soundproperties.patch java-atk-wrapper-0.33.2.tar.xz jaw-jdk9.patch jaw-misc.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ java-9-openjdk.spec ++++++ --- /var/tmp/diff_new_pack.fAwWa0/_old 2017-11-11 14:18:34.477468193 +0100 +++ /var/tmp/diff_new_pack.fAwWa0/_new 2017-11-11 14:18:34.481468047 +0100 @@ -19,7 +19,6 @@ %{!?aarch64:%global aarch64 aarch64 arm64 armv8} %global jit_arches %{ix86} x86_64 ppc64 ppc64le %{aarch64} %{arm} s390x %global debug 0 -%global icedtea_sound_version 1.0.1 %global buildoutputdir build %global oldname java-1_9_0-openjdk # Convert an absolute path to a relative path. Each symbolic link is @@ -45,6 +44,8 @@ %global jdk_revision 2bd4dd6cc820 %global langtools_revision a70b2427c9a7 %global nashorn_revision 850264cdb686 +%global icedtea_sound_version 1.0.1 +%global java_atk_wrapper_version 0.33.2 # priority must be 6 digits in total %global priority 1905 %global javaver %{majorver} @@ -137,6 +138,8 @@ Source5: http://hg.openjdk.java.net/%{root_project}/%{root_repository}/jdk/archive/%{jdk_revision}.tar.bz2 Source6: http://hg.openjdk.java.net/%{root_project}/%{root_repository}/langtools/archive/%{langtools_revision}.tar.bz2 Source7: http://hg.openjdk.java.net/%{root_project}/%{root_repository}/nashorn/archive/%{nashorn_revision}.tar.bz2 +# Accessibility support +Source8: ftp://ftp.gnome.org/pub/GNOME/sources/java-atk-wrapper/0.33/java-atk-wrapper-%{java_atk_wrapper_version}.tar.xz # Pulseaudio support Source9: http://icedtea.classpath.org/download/source/icedtea-sound-%{icedtea_sound_version}.tar.xz # Systemtap tapsets. Zipped up to keep it small. @@ -151,6 +154,7 @@ Source101: config.sub # RPM/distribution specific patches Patch1: icedtea-sound-1.0.1-jdk9.patch +Patch2: icedtea-sound-soundproperties.patch # Restrict access to java-atk-wrapper classes Patch3: java-atk-wrapper-security.patch # RHBZ 808293 @@ -183,7 +187,9 @@ Patch301: bootcycle_jobs.patch Patch302: disable-doclint-by-default.patch Patch303: alternative-tzdb_dat.patch -Patch304: load_java_atk_wrapper.patch +# +Patch400: jaw-misc.patch +Patch401: jaw-jdk9.patch BuildRequires: alsa-lib-devel BuildRequires: autoconf BuildRequires: automake @@ -197,6 +203,12 @@ BuildRequires: gcc-c++ BuildRequires: giflib-devel BuildRequires: gtk2-devel +BuildRequires: java-ca-certificates +BuildRequires: libX11-devel +BuildRequires: libXi-devel +BuildRequires: libXinerama-devel +BuildRequires: libXt-devel +BuildRequires: libXtst-devel BuildRequires: libjpeg-devel BuildRequires: liblcms2-devel BuildRequires: libpng-devel @@ -206,7 +218,16 @@ BuildRequires: unzip BuildRequires: update-desktop-files BuildRequires: xorg-x11-proto-devel +BuildRequires: xprop BuildRequires: zip +BuildRequires: pkgconfig(atk) >= 2.14.0 +BuildRequires: pkgconfig(atk-bridge-2.0) +BuildRequires: pkgconfig(atspi-2) >= 2.14.0 +BuildRequires: pkgconfig(dbus-1) +BuildRequires: pkgconfig(gdk-2.0) +BuildRequires: pkgconfig(glib-2.0) >= 2.32.0 +BuildRequires: pkgconfig(gobject-2.0) +BuildRequires: pkgconfig(gthread-2.0) # Requires rest of java Requires: %{name}-headless = %{version}-%{release} Requires: fontconfig @@ -216,6 +237,8 @@ # java.io.FileNotFoundException: /usr/lib64/libnss3.so #was bnc#634793 Requires: mozilla-nss +Requires(post): file +Requires(post): java-ca-certificates # Standard JPackage base provides. Provides: java = %{javaver} Provides: java-%{javaver} = %{version}-%{release} @@ -253,15 +276,6 @@ %if %{with zero} BuildRequires: libffi-devel %endif -BuildRequires: libX11-devel -BuildRequires: libXi-devel -BuildRequires: libXinerama-devel -BuildRequires: libXt-devel -BuildRequires: libXtst-devel -# runtime certificates generation available in 11.3+ - bnc#596177 -BuildRequires: java-ca-certificates -Requires(post): file -Requires(post): java-ca-certificates %if %{with_systemtap} BuildRequires: systemtap-sdt-devel %endif @@ -387,7 +401,7 @@ Summary: OpenJDK 9 accessibility connector Group: Development/Languages/Java Requires: %{name} = %{version}-%{release} -Requires: java-atk-wrapper +Requires: xprop Provides: %{oldname}-accessibility = %{version}-%{release} Obsoletes: %{oldname}-accessibility < %{version}-%{release} @@ -410,6 +424,7 @@ %setup -q -D -n %{root_repository}-%{root_revision} -T -a 5 %setup -q -D -n %{root_repository}-%{root_revision} -T -a 6 %setup -q -D -n %{root_repository}-%{root_revision} -T -a 7 +%setup -q -D -n %{root_repository}-%{root_revision} -T -a 8 %setup -q -D -n %{root_repository}-%{root_revision} -T -a 9 # Set up the build tree using the subrepository tarballs @@ -437,6 +452,9 @@ rm -rvf jdk/src/java.desktop/share/native/liblcms/lcms2* %patch1 +%if %{with_pulseaudio} +%patch2 -p1 +%endif %patch3 -p1 %patch4 -p1 @@ -470,7 +488,9 @@ %patch301 -p1 %patch302 -p1 %patch303 -p1 -%patch304 -p1 + +%patch400 +%patch401 # Extract systemtap tapsets @@ -620,6 +640,24 @@ rm -rf $JAVA_HOME/../newjdk %endif +# Build the accessibility plugin +pushd java-atk-wrapper-%{java_atk_wrapper_version} +autoreconf --force --install +rm wrapper/org/GNOME/Accessibility/AtkWrapper.java +%configure \ + --without-jdk-auto-detect \ + JDK_SRC=$JAVA_HOME +rm wrapper/org/GNOME/Accessibility/AtkWrapper.java +make %{?_smp_mflags} +cp wrapper/java-atk-wrapper.jar $JAVA_HOME/../jmods/ +cp jni/src/.libs/libatk-wrapper.so $JAVA_HOME/lib/ +popd +# Merge the java-atk-wrapper into the JDK +source $JAVA_HOME/release; export MODULES +$JAVA_HOME/bin/jlink --module-path $JAVA_HOME/../jmods --add-modules "atk.wrapper,${MODULES//\ /,}" --output $JAVA_HOME/../newjdk +cp -rf $JAVA_HOME/../newjdk/* $JAVA_HOME/ +rm -rf $JAVA_HOME/../newjdk + # cacerts are generated in runtime in openSUSE if [ -f %{buildoutputdir}/%{imagesdir}/jdk/lib/security/cacerts ]; then rm %{buildoutputdir}/%{imagesdir}/jdk/lib/security/cacerts @@ -661,7 +699,7 @@ # Install main files. install -d -m 755 %{buildroot}%{_jvmdir}/%{sdkdir} - cp -a bin include lib conf %{buildroot}%{_jvmdir}/%{sdkdir} + cp -a bin include lib conf release %{buildroot}%{_jvmdir}/%{sdkdir} # Install JCE policy symlinks. install -d -m 755 %{buildroot}%{_jvmprivdir}/%{archname}/jce/vanilla @@ -749,18 +787,13 @@ | sed 's|^|%doc |' \ >> %{name}-demo.files -# Create links which leads to separately installed java-atk-bridge and allow configuration -# links points to java-atk-wrapper - an dependence -# mvyskocil: links are handled in post, lets make ghost files there - touch %{buildroot}/%{_jvmdir}/%{sdkdir}/lib/libatk-wrapper.so - touch %{buildroot}/%{_jvmdir}/%{sdkdir}/lib/java-atk-wrapper.jar - pushd %{buildroot}/%{_jvmdir}/%{sdkdir}/conf/ +# Create a config file to enable java-atk-wrapper +pushd %{buildroot}/%{_jvmdir}/%{sdkdir}/conf/ echo "#Config file to enable java-atk-wrapper" > accessibility.properties echo "" >> accessibility.properties echo "assistive_technologies=org.GNOME.Accessibility.AtkWrapper" >> accessibility.properties - echo "assistive_technologies.classpath=%{_jvmdir}/%{sdkdir}/lib/java-atk-wrapper.jar" >> accessibility.properties echo "" >> accessibility.properties - popd +popd # fdupes links the files from JDK to JRE, so it breaks a JRE # use it carefully :)) @@ -983,26 +1016,13 @@ update-alternatives --remove javadocdir %{_javadocdir}/%{sdklnk}/api fi -%post accessibility -# create links to java-atk-wrapper -if [ ! -e %{_jvmdir}/%{sdkdir}/lib/libatk-wrapper.so ]; then - if [ -e %{_libdir}/java-atk-wrapper/libatk-wrapper.so ]; then - ln -sf %{_libdir}/java-atk-wrapper/libatk-wrapper.so %{_jvmdir}/%{sdkdir}/lib/libatk-wrapper.so - else - ln -sf %{_libdir}/java-atk-wrapper/libatk-wrapper.so.0 %{_jvmdir}/%{sdkdir}/lib/libatk-wrapper.so - fi -fi -if [ ! -e %{_jvmdir}/%{sdkdir}/lib/java-atk-wrapper.jar ]; then - ln -sf %{_libdir}/java-atk-wrapper/java-atk-wrapper.jar %{_jvmdir}/%{sdkdir}/lib/java-atk-wrapper.jar -fi - %files %dir %{_jvmdir}/%{sdkdir}/lib %{_jvmdir}/%{sdkdir}/lib/libawt_xawt.so -%{_jvmdir}/%{sdkdir}/lib/libicedtea-sound.so %if %{with_pulseaudio} -%{_jvmdir}/%{sdkdir}/lib/libjawt.so +%{_jvmdir}/%{sdkdir}/lib/libicedtea-sound.so %endif +%{_jvmdir}/%{sdkdir}/lib/libjawt.so %{_jvmdir}/%{sdkdir}/lib/libjsoundalsa.so %{_jvmdir}/%{sdkdir}/lib/libsplashscreen.so %dir %{_datadir}/icons/hicolor @@ -1216,10 +1236,12 @@ %files jmods %dir %{_jvmdir}/%{sdkdir}/jmods +%{_jvmdir}/%{sdkdir}/release %{_jvmdir}/%{sdkdir}/jmods/*.jmod %if %{with_pulseaudio} %{_jvmdir}/%{sdkdir}/jmods/icedtea-sound.jar %endif +%{_jvmdir}/%{sdkdir}/jmods/java-atk-wrapper.jar %files demo -f %{name}-demo.files @@ -1233,7 +1255,6 @@ %files accessibility %config(noreplace) %{_jvmdir}/%{sdkdir}/conf/accessibility.properties -%ghost %{_jvmdir}/%{sdkdir}/lib/libatk-wrapper.so -%ghost %{_jvmdir}/%{sdkdir}/lib/java-atk-wrapper.jar +%{_jvmdir}/%{sdkdir}/lib/libatk-wrapper.so %changelog ++++++ icedtea-sound-soundproperties.patch ++++++ --- jdk9/jdk/src/java.desktop/share/conf/sound.properties 2008-08-28 04:15:18.000000000 -0400 +++ jdk9/jdk/src/java.desktop/share/conf/sound.properties 2008-10-03 16:59:21.000000000 -0400 @@ -37,3 +37,13 @@ # Specify the default Receiver by provider and name: # javax.sound.midi.Receiver=com.sun.media.sound.MidiProvider#SunMIDI1 # + +# javax.sound.sampled.Clip=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider +# javax.sound.sampled.Port=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider +# javax.sound.sampled.SourceDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider +# javax.sound.sampled.TargetDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider + +javax.sound.sampled.Clip=com.sun.media.sound.DirectAudioDeviceProvider +javax.sound.sampled.Port=com.sun.media.sound.PortMixerProvider +javax.sound.sampled.SourceDataLine=com.sun.media.sound.DirectAudioDeviceProvider +javax.sound.sampled.TargetDataLine=com.sun.media.sound.DirectAudioDeviceProvider ++++++ jaw-jdk9.patch ++++++ --- java-atk-wrapper-0.33.2/configure.ac 2017-11-06 13:37:11.504756491 +0100 +++ java-atk-wrapper-0.33.2/configure.ac 2017-11-06 13:37:47.224756626 +0100 @@ -64,7 +64,7 @@ # java wrapper AM_CONDITIONAL(USER, test `whoami` = "root") -JAVA_REQUIRED=1.7.0 +JAVA_REQUIRED=9.0.0 JAVA_ERROR_MESSAGE="Java $JAVA_REQUIRED or later is required to build java-access-bridge" AC_ARG_VAR([JAVA_HOME],[Java Runtime Environment location]) @@ -170,6 +170,8 @@ wrapper/org/GNOME/Makefile wrapper/org/GNOME/Accessibility/Makefile wrapper/org/GNOME/Accessibility/AtkWrapper.java + wrapper/META-INF/Makefile + wrapper/META-INF/services/Makefile ]) AC_OUTPUT --- java-atk-wrapper-0.33.2/wrapper/Makefile.am 2017-11-06 13:37:11.504756491 +0100 +++ java-atk-wrapper-0.33.2/wrapper/Makefile.am 2017-11-06 13:47:48.648845631 +0100 @@ -1,4 +1,4 @@ -SUBDIRS=org +SUBDIRS=org META-INF JARFILES=java-atk-wrapper.jar ALL_CLASSES=org/GNOME/Accessibility/*.class DEP_CLASSES=$(wildcard $(ALL_CLASSES)) @@ -14,10 +14,13 @@ java_atk_wrapper_DATA = $(JARFILES) properties_DATA = accessibility.properties EXTRA_DIST = $(properties_DATA) \ - manifest.txt + manifest.txt module-info.java -$(JARFILES) : $(DEP_CLASSES) - $(JAR) cfm $(JARFILES) manifest.txt org/GNOME/Accessibility/*.class +module-info.class : $(srcdir)/module-info.java + $(JAVAC) -cp $(top_builddir)/wrapper -sourcepath $(top_srcdir)/wrapper:$(top_builddir)/wrapper $(JAVACFLAGS) -d $(top_builddir)/wrapper $< + +$(JARFILES) : $(DEP_CLASSES) module-info.class + $(JAR) cfm $(JARFILES) manifest.txt org/GNOME/Accessibility/*.class module-info.class META-INF/services/javax.accessibility.AccessibilityProvider all-local : $(DATA) $(JARFILES) --- java-atk-wrapper-0.33.2/wrapper/META-INF/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ java-atk-wrapper-0.33.2/wrapper/META-INF/Makefile.am 2017-11-06 13:37:47.224756626 +0100 @@ -0,0 +1 @@ +SUBDIRS=services --- java-atk-wrapper-0.33.2/wrapper/META-INF/services/javax.accessibility.AccessibilityProvider 1970-01-01 01:00:00.000000000 +0100 +++ java-atk-wrapper-0.33.2/wrapper/META-INF/services/javax.accessibility.AccessibilityProvider 2017-11-06 13:37:47.224756626 +0100 @@ -0,0 +1 @@ +org.GNOME.Accessibility.AtkProvider --- java-atk-wrapper-0.33.2/wrapper/META-INF/services/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ java-atk-wrapper-0.33.2/wrapper/META-INF/services/Makefile.am 2017-11-06 13:37:47.224756626 +0100 @@ -0,0 +1 @@ +EXTRA_DIST = javax.accessibility.AccessibilityProvider --- java-atk-wrapper-0.33.2/wrapper/module-info.java 1970-01-01 01:00:00.000000000 +0100 +++ java-atk-wrapper-0.33.2/wrapper/module-info.java 2017-11-06 13:42:08.850466481 +0100 @@ -0,0 +1,6 @@ +module atk.wrapper { + exports org.GNOME.Accessibility; + requires java.desktop; + provides javax.accessibility.AccessibilityProvider + with org.GNOME.Accessibility.AtkProvider; +} --- java-atk-wrapper-0.33.2/wrapper/org/GNOME/Accessibility/AtkProvider.java 1970-01-01 01:00:00.000000000 +0100 +++ java-atk-wrapper-0.33.2/wrapper/org/GNOME/Accessibility/AtkProvider.java 2017-11-06 13:37:47.224756626 +0100 @@ -0,0 +1,38 @@ +/* + * Java ATK Wrapper for GNOME + * Copyright (C) 2017 Oracle and/or its affiliates. + * Copyright (C) 2017 Fridrich Strba <fridrich.st...@bluewin.ch> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +package org.GNOME.Accessibility; + +import javax.accessibility.AccessibilityProvider; + +public final class AtkProvider extends AccessibilityProvider { + private final String name = "org.GNOME.Accessibility.AtkWrapper"; + + public AtkProvider() {} + + public String getName() { + return name; + } + + public void activate() { + new AtkWrapper(); + } + +} --- java-atk-wrapper-0.33.2/wrapper/org/GNOME/Accessibility/Makefile.am 2015-06-30 23:56:32.000000000 +0200 +++ java-atk-wrapper-0.33.2/wrapper/org/GNOME/Accessibility/Makefile.am 2017-10-26 17:42:11.472221491 +0200 @@ -10,7 +10,7 @@ sed -e "s;\@XPROP\@;${XPROP};g" \ < $< >$@ -%.class : %.java +%.class : %.java AtkWrapper.java CLASSPATH=$(top_srcdir)/wrapper $(JAVAC) $(JAVACFLAGS) -d $(top_builddir)/wrapper $< clean-local: ++++++ jaw-misc.patch ++++++ --- java-atk-wrapper-0.33.2/configure.ac 2015-07-07 13:52:28.000000000 +0200 +++ java-atk-wrapper-0.33.2/configure.ac 2017-11-06 17:00:37.366413136 +0100 @@ -46,7 +46,6 @@ glib-2.0 >= 2.32.0 gthread-2.0 gdk-2.0 - gdk-3.0 gobject-2.0 ]) AC_SUBST(JAW_LIBS) @@ -64,7 +63,7 @@ # java wrapper AM_CONDITIONAL(USER, test `whoami` = "root") -JAVA_REQUIRED=1.6 +JAVA_REQUIRED=1.7.0 JAVA_ERROR_MESSAGE="Java $JAVA_REQUIRED or later is required to build java-access-bridge" AC_ARG_VAR([JAVA_HOME],[Java Runtime Environment location]) @@ -125,7 +124,7 @@ if test "x$GCC" = xyes; then - JAW_CFLAGS=$JAW_CFLAGS $CFLAGS + JAW_CFLAGS="$JAW_CFLAGS $CFLAGS" else AC_MSG_ERROR("You should compile with GCC") fi @@ -169,6 +168,7 @@ wrapper/org/Makefile wrapper/org/GNOME/Makefile wrapper/org/GNOME/Accessibility/Makefile + wrapper/org/GNOME/Accessibility/AtkWrapper.java ]) AC_OUTPUT --- java-atk-wrapper-0.33.2/wrapper/Makefile.am 2015-07-01 02:19:15.000000000 +0200 +++ java-atk-wrapper-0.33.2/wrapper/Makefile.am 2017-11-06 17:00:07.962413025 +0100 @@ -13,7 +13,8 @@ java_atk_wrapper_DATA = $(JARFILES) properties_DATA = accessibility.properties -EXTRA_DIST = $(properties_DATA) +EXTRA_DIST = $(properties_DATA) \ + manifest.txt $(JARFILES) : $(DEP_CLASSES) $(JAR) cfm $(JARFILES) manifest.txt org/GNOME/Accessibility/*.class --- java-atk-wrapper-0.33.2/wrapper/manifest.txt 1970-01-01 01:00:00.000000000 +0100 +++ java-atk-wrapper-0.33.2/wrapper/manifest.txt 2017-10-26 15:25:02.159429001 +0200 @@ -0,0 +1,2 @@ +Main-Class: org.GNOME.Accessibility.AtkWrapper +