Hello community, here is the log from the commit of package java-9-openjdk for openSUSE:Factory checked in at 2017-11-04 10:22:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 4 10:22:57 2017 rev:15 rq:538792 version:9.0.1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/java-9-openjdk/java-9-openjdk.changes 2017-10-20 16:13:02.551653100 +0200 +++ /work/SRC/openSUSE:Factory/.java-9-openjdk.new/java-9-openjdk.changes 2017-11-04 10:24:32.769241206 +0100 @@ -1,0 +2,104 @@ +Fri Nov 3 09:20:09 UTC 2017 - fst...@suse.com + +- Packaging improvements: + * add all binaries in JAVA_HOME/bin to alternatives in order to + have them in the system binary path when this alternative is + chosen + +------------------------------------------------------------------- +Thu Nov 2 18:27:49 UTC 2017 - fst...@suse.com + +- Add back the icedtea-sound plugin and integrate it into the + system modules +- Added patch: + * icedtea-sound-1.0.1-jdk9.patch + + make icedtea-sound.jar modular for jdk9 +- Clean some conditionals for very old %%suse_version + +------------------------------------------------------------------- +Thu Nov 2 08:37:56 UTC 2017 - fst...@suse.com + +- Modified patch + * alternative-tzdb_dat.patch + + Place the tz.properties file to JAVA_HOME/conf where OpenJDK9 + expects to have the configuration files + + Patch also the other place in jdk that loads the tzdb.dat + file + +------------------------------------------------------------------- +Tue Oct 31 12:46:03 UTC 2017 - fst...@suse.com + +- Remove the icedtea-sound plugin + * it is not built or buildable, and does not work +- Removed patches: + * icedtea-sound-1.0.1-runtime.patch + * icedtea-sound-source_target.patch + +------------------------------------------------------------------- +Fri Oct 27 13:08:38 UTC 2017 - fst...@suse.com + +- OpenJDK 9.0.1 (October 2017 CPU) + * Security fixes + + S8165543: Better window framing + + S8169026, CVE-2017-10274: Handle smartcard clean up better + (bsc#1064071) + + S8169966: Larger AWT menus + + S8170218: Improved Font Metrics + + S8171252: Improve exception checking + + S8171261: Stability fixes for lcms + + S8174109, CVE-2017-10281: Better queuing priorities + (bsc#1064072) + + S8174966, CVE-2017-10285: Unreferenced references + (bsc#1064073) + + S8175940: More certificate subject checking + + S8176751, CVE-2017-10295: Better URL connections + (bsc#1064075) + + S8178794, CVE-2017-10388: Correct Kerberos ticket grants + (bsc#1064086) + + S8180024: Improve construction of objects during + deserialization + + S8180711, CVE-2017-10346: Better invokespecial checks + (bsc#1064078) + + S8181100, CVE-2017-10350: Better Base Exceptions + (bsc#1064082) + + S8181323, CVE-2017-10347: Better timezone processing + (bsc#1064079) + + S8181327, CVE-2017-10349: Better X processing (bsc#1064081) + + S8181370, CVE-2017-10345: Better keystore handling + (bsc#1064077) + + S8181432, CVE-2017-10348: Better processing of unresolved + permissions (bsc#1064080) + + S8181597, CVE-2017-10357: Process Proxy presentation + (bsc#1064085) + + S8181612, CVE-2017-10355: More stable connection processing + (bsc#1064083) + + S8181692, CVE-2017-10356: Update storage implementations + (bsc#1064084) + + S8183028, CVE-2016-10165: Improve CMS header processing + (bsc#1064069) + * Other fixes + + S8178714: PKIX validator nameConstraints check failing after + change 8175940 + + S8179564: Missing @bug for tests added with JDK-8165367 + + S8181048: Refactor existing providers to refer to the same + constants for default values for key length + + S8181788: Unable to build JDK10 on SPARC-M8 machines + + S8182879: Add warnings to keytool when using JKS and JCEKS + + S8183297: Allow duplicate bugid for changeset in jdk9 update + forest + + S8184937: LCMS error 13: Couldn't link the profiles + +------------------------------------------------------------------- +Tue Oct 24 13:31:07 UTC 2017 - fst...@suse.com + +- Added patch: + * load_java_atk_wrapper.patch + + put jar that is specified in accessibility.properties file in + assistive_technologies.classpath property on the class path + +------------------------------------------------------------------- +Fri Oct 13 11:47:34 UTC 2017 - fst...@suse.com + + Make the conditions for aot a bit more readable + +------------------------------------------------------------------- @@ -4,2 +108,2 @@ -- For accessibility subpackage, try to copy Oracle Java as to the - places of *.properties files and *.jar files. +- For accessibility subpackage, adapt to where the OpenJDK9 expects + to find the *.properties files and the *.jar files. Old: ---- 47f8d75b8765.tar.bz2 4a443796f6f5.tar.bz2 4f852cc3a1c9.tar.bz2 5ecbed313125.tar.bz2 b656dea9398e.tar.bz2 ba71941ad9db.tar.bz2 bd66ea2fdde3.tar.bz2 ea18d767c9ec.tar.bz2 icedtea-sound-1.0.1-runtime.patch icedtea-sound-source_target.patch New: ---- 067a3eada8b5.tar.bz2 2bd4dd6cc820.tar.bz2 3546eb2ee269.tar.bz2 850264cdb686.tar.bz2 a70b2427c9a7.tar.bz2 b8e948250ebb.tar.bz2 e6edc89f5b2d.tar.bz2 f67e7e2c0192.tar.bz2 icedtea-sound-1.0.1-jdk9.patch load_java_atk_wrapper.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ java-9-openjdk.spec ++++++ ++++ 607 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/java-9-openjdk/java-9-openjdk.spec ++++ and /work/SRC/openSUSE:Factory/.java-9-openjdk.new/java-9-openjdk.spec ++++++ 47f8d75b8765.tar.bz2 -> 067a3eada8b5.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/java-9-openjdk/47f8d75b8765.tar.bz2 /work/SRC/openSUSE:Factory/.java-9-openjdk.new/067a3eada8b5.tar.bz2 differ: char 11, line 1 ++++++ 47f8d75b8765.tar.bz2 -> 2bd4dd6cc820.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/java-9-openjdk/47f8d75b8765.tar.bz2 /work/SRC/openSUSE:Factory/.java-9-openjdk.new/2bd4dd6cc820.tar.bz2 differ: char 11, line 1 ++++++ 47f8d75b8765.tar.bz2 -> 3546eb2ee269.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/java-9-openjdk/47f8d75b8765.tar.bz2 /work/SRC/openSUSE:Factory/.java-9-openjdk.new/3546eb2ee269.tar.bz2 differ: char 11, line 1 ++++++ 47f8d75b8765.tar.bz2 -> 850264cdb686.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/java-9-openjdk/47f8d75b8765.tar.bz2 /work/SRC/openSUSE:Factory/.java-9-openjdk.new/850264cdb686.tar.bz2 differ: char 11, line 1 ++++++ 47f8d75b8765.tar.bz2 -> a70b2427c9a7.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/java-9-openjdk/47f8d75b8765.tar.bz2 /work/SRC/openSUSE:Factory/.java-9-openjdk.new/a70b2427c9a7.tar.bz2 differ: char 11, line 1 ++++++ alternative-tzdb_dat.patch ++++++ --- /var/tmp/diff_new_pack.N6RgJm/_old 2017-11-04 10:24:36.125119087 +0100 +++ /var/tmp/diff_new_pack.N6RgJm/_new 2017-11-04 10:24:36.129118942 +0100 @@ -1,14 +1,61 @@ ---- jdk9/jdk/src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java 2017-07-27 20:04:48.000000000 +0200 -+++ jdk9/jdk/src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java 2017-09-28 18:47:17.942873513 +0200 -@@ -31,6 +31,7 @@ - import java.io.DataInputStream; - import java.io.File; - import java.io.FileInputStream; -+import java.io.InputStream; - import java.io.IOException; - import java.io.StreamCorruptedException; - import java.security.AccessController; -@@ -47,6 +48,7 @@ +--- jdk9/jdk/src/java.base/share/classes/java/time/zone/TzdbZoneRulesProvider.java 2017-11-03 10:50:12.830289041 +0100 ++++ jdk9/jdk/src/java.base/share/classes/java/time/zone/TzdbZoneRulesProvider.java 2017-11-03 12:26:00.272831220 +0100 +@@ -74,6 +74,7 @@ + import java.util.Map; + import java.util.NavigableMap; + import java.util.Objects; ++import java.util.Properties; + import java.util.Set; + import java.util.TreeMap; + import java.util.concurrent.ConcurrentHashMap; +@@ -106,7 +107,14 @@ + */ + public TzdbZoneRulesProvider() { + try { +- String libDir = System.getProperty("java.home") + File.separator + "lib"; ++ final String homeDir = System.getProperty("java.home"); ++ if (homeDir == null) { ++ throw new Error("java.home is not set"); ++ } ++ String libDir = homeDir + File.separator + "lib"; ++ String otherDir = getZoneInfoDir(homeDir); ++ if (otherDir != null) ++ libDir = otherDir; + try (DataInputStream dis = new DataInputStream( + new BufferedInputStream(new FileInputStream( + new File(libDir, "tzdb.dat"))))) { +@@ -117,6 +125,28 @@ + } + } + ++ private static String getZoneInfoDir(final String homeDir) { ++ try { ++ File f = new File(homeDir + File.separator + "conf" + ++ File.separator + "tz.properties"); ++ if (!f.exists()) ++ return null; ++ BufferedInputStream bin = new BufferedInputStream(new FileInputStream(f)); ++ Properties props = new Properties(); ++ props.load(bin); ++ bin.close(); ++ String dir = props.getProperty("sun.zoneinfo.dir"); ++ if (dir == null) ++ return null; ++ File tzdbdat = new File(dir, "tzdb.dat"); ++ if (tzdbdat.exists()) ++ return dir; ++ return null; ++ } catch (Exception x) { ++ return null; ++ } ++ } ++ + @Override + protected Set<String> provideZoneIds() { + return new HashSet<>(regionIds); +--- jdk9/jdk/src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java 2017-11-03 10:54:05.574289920 +0100 ++++ jdk9/jdk/src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java 2017-11-03 12:45:06.470197019 +0100 +@@ -47,6 +47,7 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Objects; @@ -16,7 +63,7 @@ import java.util.Set; import java.util.SimpleTimeZone; import java.util.concurrent.ConcurrentHashMap; -@@ -252,7 +254,15 @@ +@@ -252,7 +253,15 @@ AccessController.doPrivileged(new PrivilegedAction<Void>() { public Void run() { try { @@ -26,41 +73,39 @@ + throw new Error("java.home is not set"); + } + String libDir = homeDir + File.separator + "lib"; -+ String otherDir = getZoneInfoDir(libDir); ++ String otherDir = getZoneInfoDir(homeDir); + if (otherDir != null) + libDir = otherDir; + try (DataInputStream dis = new DataInputStream( new BufferedInputStream(new FileInputStream( new File(libDir, "tzdb.dat"))))) { -@@ -265,6 +275,30 @@ - } +@@ -266,6 +275,28 @@ }); } -+ -+ private static String getZoneInfoDir(final String libDir) { -+ return AccessController.doPrivileged (new PrivilegedAction<String>() { -+ public String run() { -+ try { -+ File f = new File(libDir + File.separator + "tz.properties"); -+ InputStream in = new FileInputStream(f); -+ BufferedInputStream bin = new BufferedInputStream(in); -+ Properties props = new Properties(); -+ props.load(bin); -+ bin.close(); -+ String dir = props.getProperty("sun.zoneinfo.dir"); -+ if (dir == null) -+ return null; -+ File tzdbdat = new File(dir, "tzdb.dat"); -+ if (tzdbdat.exists()) -+ return dir; -+ return null; -+ } catch (Exception x) { -+ return null; -+ } -+ } -+ }); -+ } ++ private static String getZoneInfoDir(final String homeDir) { ++ try { ++ File f = new File(homeDir + File.separator + "conf" + ++ File.separator + "tz.properties"); ++ if (!f.exists()) ++ return null; ++ BufferedInputStream bin = new BufferedInputStream(new FileInputStream(f)); ++ Properties props = new Properties(); ++ props.load(bin); ++ bin.close(); ++ String dir = props.getProperty("sun.zoneinfo.dir"); ++ if (dir == null) ++ return null; ++ File tzdbdat = new File(dir, "tzdb.dat"); ++ if (tzdbdat.exists()) ++ return dir; ++ return null; ++ } catch (Exception x) { ++ return null; ++ } ++ } ++ private static void addOldMapping() { for (String[] alias : oldMappings) { + aliases.put(alias[0], alias[1]); ++++++ 47f8d75b8765.tar.bz2 -> b8e948250ebb.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/java-9-openjdk/47f8d75b8765.tar.bz2 /work/SRC/openSUSE:Factory/.java-9-openjdk.new/b8e948250ebb.tar.bz2 differ: char 11, line 1 ++++++ 47f8d75b8765.tar.bz2 -> e6edc89f5b2d.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/java-9-openjdk/47f8d75b8765.tar.bz2 /work/SRC/openSUSE:Factory/.java-9-openjdk.new/e6edc89f5b2d.tar.bz2 differ: char 11, line 1 ++++++ 47f8d75b8765.tar.bz2 -> f67e7e2c0192.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/java-9-openjdk/47f8d75b8765.tar.bz2 /work/SRC/openSUSE:Factory/.java-9-openjdk.new/f67e7e2c0192.tar.bz2 differ: char 11, line 1 ++++++ icedtea-sound-1.0.1-jdk9.patch ++++++ --- icedtea-sound-1.0.1/Makefile.am Fri Jul 18 23:46:15 2014 +0100 +++ icedtea-sound-1.0.1/Makefile.am Thu Nov 02 13:16:38 2017 +0100 @@ -28,7 +28,6 @@ ICEDTEA_SOUND_JAVA_GENDIR = $(abs_top_builddir)/src/java # Build directories -RUNTIME = $(SYSTEM_JDK_DIR)/jre/lib/rt.jar ICEDTEA_SOUND_BUILDDIR = $(abs_top_builddir)/build ICEDTEA_SOUND_NATIVE_BUILDDIR = $(ICEDTEA_SOUND_BUILDDIR)/native ICEDTEA_SOUND_NATIVE_OBJECTS = \ @@ -38,6 +37,7 @@ # Files # Must use relative paths so as not to break make distcheck ICEDTEA_SOUND_JAVA_SRCS = $(top_srcdir)/src/java/org/classpath/icedtea/*/*.java \ + $(top_srcdir)/src/java/module-info.java \ $(top_builddir)/src/java/org/classpath/icedtea/Config.java ICEDTEA_SOUND_SRCS = $(ICEDTEA_SOUND_JAVA_SRCS) \ $(top_srcdir)/src/java/META-INF/services/javax.sound.sampled.spi.MixerProvider \ @@ -51,10 +51,15 @@ EXTRA_DIST = $(ICEDTEA_SOUND_SRCS) # Flags -IT_LANGUAGE_SOURCE_VERSION=6 -IT_CLASS_TARGET_VERSION=6 +IT_LANGUAGE_SOURCE_VERSION=9 +IT_CLASS_TARGET_VERSION=9 IT_JAVAC_SETTINGS=-g -encoding utf-8 $(JAVACFLAGS) $(MEMORY_LIMIT) $(PREFER_SOURCE) IT_JAVACFLAGS=$(IT_JAVAC_SETTINGS) -source $(IT_LANGUAGE_SOURCE_VERSION) -target $(IT_CLASS_TARGET_VERSION) +if ENABLE_WARNINGS +IT_JAVACFLAGS+=-Xlint +else +IT_JAVACFLAGS+=-nowarn +endif IT_CFLAGS=$(CFLAGS) $(ARCHFLAG) LDFLAGS+=-Xlinker -z -Xlinker defs if ENABLE_DOCS @@ -62,7 +67,7 @@ JAVADOC_OPTS=-use -keywords -encoding UTF-8 -splitIndex \ -bottom '<font size="-1"> <a href="http://icedtea.classpath.org/bugzilla">Submit a bug or feature</a></font>' if JAVADOC_SUPPORTS_J_OPTIONS -JAVADOC_MEM_OPTS=-J-Xmx1024m -J-Xms128m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m +JAVADOC_MEM_OPTS=-J-Xmx1024m -J-Xms128m endif endif @@ -80,8 +85,7 @@ install-exec-local: $(ICEDTEA_SOUND_NATIVE_BUILDDIR)/$(TARGET_NAME) ${mkinstalldirs} $(DESTDIR)$(libdir) ${INSTALL_PROGRAM} $(ICEDTEA_SOUND_NATIVE_BUILDDIR)/$(TARGET_NAME) \ - $(DESTDIR)$(libdir)/$(LIBRARY_NAME) - ln -sf $(LIBRARY_NAME) $(DESTDIR)$(libdir)/$(TARGET_NAME) + $(DESTDIR)$(libdir)/ install-data-local: stamps/icedtea-sound-jar.stamp stamps/docs.stamp ${mkinstalldirs} $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/ @@ -112,9 +116,8 @@ touch $@ stamps/icedtea-sound-class.stamp: - mkdir -p $(ICEDTEA_SOUND_CLASS_DIR) - $(abs_top_builddir)/javac $(IT_JAVACFLAGS) -d $(ICEDTEA_SOUND_CLASS_DIR) \ - -bootclasspath $(RUNTIME) $(ICEDTEA_SOUND_JAVA_SRCS) + mkdir -p $(ICEDTEA_SOUND_CLASS_DIR) $(ICEDTEA_SOUND_NATIVE_BUILDDIR) + $(JAVAC) $(IT_JAVACFLAGS) -h $(ICEDTEA_SOUND_NATIVE_BUILDDIR) -d $(ICEDTEA_SOUND_CLASS_DIR) $(ICEDTEA_SOUND_JAVA_SRCS) cp -r $(ICEDTEA_SOUND_JAVA_SRCDIR)/META-INF $(ICEDTEA_SOUND_CLASS_DIR) chmod -R ug+w $(ICEDTEA_SOUND_CLASS_DIR)/META-INF mkdir -p stamps @@ -125,24 +128,7 @@ mkdir -p stamps touch $@ -stamps/icedtea-sound-headers.stamp: stamps/icedtea-sound-class.stamp - mkdir -p $(ICEDTEA_SOUND_NATIVE_BUILDDIR) - $(JAVAH) -d $(ICEDTEA_SOUND_NATIVE_BUILDDIR) -classpath $(ICEDTEA_SOUND_CLASS_DIR) \ - -J-Xbootclasspath/p:$(ICEDTEA_SOUND_CLASS_DIR) org.classpath.icedtea.pulseaudio.EventLoop ; \ - $(JAVAH) -d $(ICEDTEA_SOUND_NATIVE_BUILDDIR) -classpath $(ICEDTEA_SOUND_CLASS_DIR) \ - -J-Xbootclasspath/p:$(ICEDTEA_SOUND_CLASS_DIR) org.classpath.icedtea.pulseaudio.Stream ; \ - $(JAVAH) -d $(ICEDTEA_SOUND_NATIVE_BUILDDIR) -classpath $(ICEDTEA_SOUND_CLASS_DIR) \ - -J-Xbootclasspath/p:$(ICEDTEA_SOUND_CLASS_DIR) org.classpath.icedtea.pulseaudio.Operation; \ - $(JAVAH) -d $(ICEDTEA_SOUND_NATIVE_BUILDDIR) -classpath $(ICEDTEA_SOUND_CLASS_DIR) \ - -J-Xbootclasspath/p:$(ICEDTEA_SOUND_CLASS_DIR) org.classpath.icedtea.pulseaudio.PulseAudioSourcePort ; \ - $(JAVAH) -d $(ICEDTEA_SOUND_NATIVE_BUILDDIR) -classpath $(ICEDTEA_SOUND_CLASS_DIR) \ - -J-Xbootclasspath/p:$(ICEDTEA_SOUND_CLASS_DIR) org.classpath.icedtea.pulseaudio.PulseAudioTargetPort ; \ - $(JAVAH) -d $(ICEDTEA_SOUND_NATIVE_BUILDDIR) -classpath $(ICEDTEA_SOUND_CLASS_DIR) \ - -J-Xbootclasspath/p:$(ICEDTEA_SOUND_CLASS_DIR) org.classpath.icedtea.pulseaudio.ContextEvent - mkdir -p stamps - touch $@ - -$(ICEDTEA_SOUND_NATIVE_BUILDDIR)/%.o: $(ICEDTEA_SOUND_NATIVE_SRCDIR)/%.c stamps/icedtea-sound-headers.stamp +$(ICEDTEA_SOUND_NATIVE_BUILDDIR)/%.o: $(ICEDTEA_SOUND_NATIVE_SRCDIR)/%.c stamps/icedtea-sound-class.stamp $(CC) $(IT_CFLAGS) -fPIC -I$(SYSTEM_JDK_DIR)/include/linux -I$(SYSTEM_JDK_DIR)/include \ -I$(ICEDTEA_SOUND_NATIVE_BUILDDIR) -o $@ -c $< --- icedtea-sound-1.0.1/acinclude.m4 Fri Jul 18 23:46:15 2014 +0100 +++ icedtea-sound-1.0.1/acinclude.m4 Thu Nov 02 13:16:38 2017 +0100 @@ -129,63 +129,16 @@ AC_DEFUN([IT_FIND_COMPILER], [ AC_REQUIRE([IT_FIND_JAVA]) - AC_REQUIRE([IT_FIND_ECJ_JAR]) IT_FIND_JAVAC - IT_FIND_ECJ - IT_USING_ECJ - if test "x${ECJ_JAR}" = "xno"; then - if test "x${JAVAC}" = "x"; then - AC_MSG_ERROR("No compiler or ecj JAR file was found.") - fi + if test "x${JAVAC}" = "x"; then + AC_MSG_ERROR("No compiler found.") fi - AC_SUBST(ECJ) AC_SUBST(JAVAC) ]) -AC_DEFUN_ONCE([IT_FIND_ECJ], -[ - ECJ_DEFAULT=/usr/bin/ecj - AC_MSG_CHECKING([if an ecj binary was specified]) - AC_ARG_WITH([ecj], - [AS_HELP_STRING(--with-ecj,bytecode compilation with ecj)], - [ - if test "x${withval}" = "xyes"; then - ECJ=no - else - ECJ="${withval}" - fi - ], - [ - ECJ=no - ]) - AC_MSG_RESULT(${ECJ}) - if test "x${ECJ}" = "xno"; then - ECJ=${ECJ_DEFAULT} - fi - AC_MSG_CHECKING([if $ECJ is a valid executable file]) - if test -x "${ECJ}" && test -f "${ECJ}"; then - AC_MSG_RESULT([yes]) - else - ECJ="" - AC_PATH_PROG(ECJ, "ecj") - if test -z "${ECJ}"; then - AC_PATH_PROG(ECJ, "ecj-3.1") - fi - if test -z "${ECJ}"; then - AC_PATH_PROG(ECJ, "ecj-3.2") - fi - if test -z "${ECJ}"; then - AC_PATH_PROG(ECJ, "ecj-3.3") - fi - if test -z "${ECJ}"; then - AC_PATH_PROG(ECJ, "ecj-3.4") - fi - fi -]) - AC_DEFUN_ONCE([IT_FIND_JAVAC], [ AC_REQUIRE([IT_CHECK_FOR_JDK]) @@ -260,74 +213,6 @@ AC_SUBST(JAVA) ]) -AC_DEFUN_ONCE([IT_FIND_ECJ_JAR], -[ - AC_MSG_CHECKING([for an ecj JAR file]) - AC_ARG_WITH([ecj-jar], - [AS_HELP_STRING([--with-ecj-jar[[=PATH]]],specify location of an ECJ JAR file)], - [ - if test -f "${withval}"; then - ECJ_JAR="${withval}" - fi - ], - [ - ECJ_JAR= - ]) - if test -z "${ECJ_JAR}"; then - for jar in /usr/share/java/eclipse-ecj.jar \ - /usr/share/java/ecj.jar \ - /usr/share/eclipse-ecj-3.{2,3,4,5}/lib/ecj.jar; do - if test -e $jar; then - ECJ_JAR=$jar - break - fi - done - if test -z "${ECJ_JAR}"; then - ECJ_JAR=no - fi - fi - AC_MSG_RESULT(${ECJ_JAR}) - AC_SUBST(ECJ_JAR) -]) - -AC_DEFUN_ONCE([IT_FIND_JAVAH], -[ - AC_REQUIRE([IT_CHECK_FOR_JDK]) - JAVAH_DEFAULT=${SYSTEM_JDK_DIR}/bin/javah - AC_MSG_CHECKING([if a javah executable is specified]) - AC_ARG_WITH([javah], - [AS_HELP_STRING([--with-javah[[=PATH]]],specify location of javah)], - [ - if test "x${withval}" = "xyes"; then - JAVAH=no - else - JAVAH="${withval}" - fi - ], - [ - JAVAH=no - ]) - AC_MSG_RESULT(${JAVAH}) - if test "x${JAVAH}" == "xno"; then - JAVAH=${JAVAH_DEFAULT} - fi - AC_MSG_CHECKING([if $JAVAH is a valid executable file]) - if test -x "${JAVAH}" && test -f "${JAVAH}"; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - JAVAH="" - AC_PATH_PROG(JAVAH, "javah") - if test -z "${JAVAH}"; then - AC_PATH_PROG(JAVAH, "gjavah") - fi - if test -z "${JAVAH}"; then - AC_MSG_ERROR("A Java header generator was not found.") - fi - fi - AC_SUBST(JAVAH) -]) - AC_DEFUN_ONCE([IT_FIND_JAR], [ AC_REQUIRE([IT_CHECK_FOR_JDK]) @@ -457,7 +342,7 @@ [ AC_MSG_CHECKING([for a JDK home directory]) AC_ARG_WITH([jdk-home], - [AS_HELP_STRING([--with-jdk-home[[=PATH]]], + [AS_HELP_STRING([--with-jdk-home[[=PATH]]], [jdk home directory (default is first predefined JDK found)])], [ if test "x${withval}" = xyes @@ -474,50 +359,28 @@ SYSTEM_JDK_DIR= ]) if test -z "${SYSTEM_JDK_DIR}"; then - AC_MSG_RESULT([not specified]) - if test "x${enable_bootstrap}" = "xyes"; then - BOOTSTRAP_VMS="/usr/lib/jvm/java-gcj /usr/lib/jvm/gcj-jdk /usr/lib/jvm/cacao"; - fi - ICEDTEA6_VMS="/usr/lib/jvm/icedtea-6 /usr/lib/jvm/icedtea6 /usr/lib/jvm/java-6-openjdk - /usr/lib/jvm/java-1.6.0-openjdk.x86_64 /usr/lib64/jvm/java-1.6.0-openjdk - /usr/lib/jvm/java-1.6.0" - ICEDTEA7_VMS="/usr/lib/jvm/icedtea-7 /usr/lib/jvm/icedtea7 /usr/lib/jvm/java-1.7.0-openjdk - /usr/lib/jvm/java-1.7.0-openjdk.x86_64 /usr/lib64/jvm/java-1.7.0-openjdk - /usr/lib/jvm/java-1.7.0 /usr/lib/jvm/java-7-openjdk" - for dir in ${BOOTSTRAP_VMS} ${ICEDTEA7_VMS} ${ICEDTEA6_VMS} \ - /usr/lib/jvm/java-openjdk /usr/lib/jvm/openjdk /usr/lib/jvm/java-icedtea \ - /etc/alternatives/java_sdk_openjdk ; do - AC_MSG_CHECKING([for ${dir}]); + for dir in /etc/alternatives/java_sdk \ + /usr/lib/jvm/java-1.9.0-openjdk \ + /usr/lib64/jvm/java-1.9.0-openjdk \ + /usr/lib/jvm/icedtea9 \ + /usr/lib64/jvm/icedtea9 \ + /usr/lib/jvm/java-9-openjdk \ + /usr/lib64/jvm/java-9-openjdk ; do if test -d $dir; then - SYSTEM_JDK_DIR=$dir ; - AC_MSG_RESULT([found]) ; - break ; - else - AC_MSG_RESULT([not found]) ; + SYSTEM_JDK_DIR=$dir + break fi done - else - AC_MSG_RESULT(${SYSTEM_JDK_DIR}) fi if ! test -d "${SYSTEM_JDK_DIR}"; then - AC_MSG_ERROR("A JDK home directory could not be found.") + AC_MSG_ERROR("A JDK home directory could not be found. ${SYSTEM_JDK_DIR}") + else + READ=`readlink -f ${SYSTEM_JDK_DIR}` + AC_MSG_RESULT(${SYSTEM_JDK_DIR} (link to ${READ})) fi AC_SUBST(SYSTEM_JDK_DIR) ]) -AC_DEFUN([IT_USING_ECJ],[ -AC_CACHE_CHECK([if we are using ecj as javac], it_cv_ecj, [ -if $JAVAC -version 2>&1| grep '^Eclipse' >&AS_MESSAGE_LOG_FD ; then - it_cv_ecj=yes; -else - it_cv_ecj=no; -fi -]) -USING_ECJ=$it_cv_ecj -AC_SUBST(USING_ECJ) -AC_PROVIDE([$0])dnl -]) - dnl check that javac and java work AC_DEFUN_ONCE([IT_CHECK_JAVA_AND_JAVAC_WORK],[ AC_REQUIRE([IT_FIND_JAVA]) @@ -538,7 +401,7 @@ } }] EOF - if $JAVAC -cp . $JAVACFLAGS -source 5 -target 5 $CLASS >&AS_MESSAGE_LOG_FD 2>&1; then + if $JAVAC -cp . $JAVACFLAGS -source 9 -target 9 $CLASS >&AS_MESSAGE_LOG_FD 2>&1; then if $JAVA -classpath . $BYTECODE >&AS_MESSAGE_LOG_FD 2>&1; then it_cv_jdk_works=yes; else @@ -560,7 +423,7 @@ [ AC_MSG_CHECKING(whether to enable Java compiler warnings) AC_ARG_ENABLE([warnings], - [AS_HELP_STRING(--enable-warnings,produce warnings from javac/ecj [[default=no]])], + [AS_HELP_STRING(--enable-warnings,produce warnings from javac [[default=no]])], [ ENABLE_WARNINGS="${enableval}" ], @@ -570,5 +433,4 @@ AC_MSG_RESULT(${ENABLE_WARNINGS}) AM_CONDITIONAL(ENABLE_WARNINGS, test x"${ENABLE_WARNINGS}" = "xyes") - AC_SUBST(ENABLE_WARNINGS) ]) --- icedtea-sound-1.0.1/configure.ac Fri Jul 18 23:46:15 2014 +0100 +++ icedtea-sound-1.0.1/configure.ac Thu Nov 02 13:16:38 2017 +0100 @@ -43,10 +43,8 @@ IT_FIND_TOOL([ZIP], [zip]) IT_CHECK_JAVA_AND_JAVAC_WORK -IT_FIND_JAVAH IT_FIND_JAR IT_FIND_JAVADOC -AC_CONFIG_FILES([javac], [chmod +x javac]) IT_CHECK_ENABLE_WARNINGS --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ icedtea-sound-1.0.1/src/java/module-info.java Thu Nov 02 13:16:38 2017 +0100 @@ -0,0 +1,6 @@ +module icedtea.sound { + exports org.classpath.icedtea.pulseaudio; + requires java.desktop; + provides javax.sound.sampled.spi.MixerProvider + with org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider; +} ++++++ load_java_atk_wrapper.patch ++++++ --- jdk9/jdk/src/java.base/share/classes/jdk/internal/loader/ClassLoaders.java 2017-10-24 09:33:07.188671701 +0200 +++ jdk9/jdk/src/java.base/share/classes/jdk/internal/loader/ClassLoaders.java 2017-10-24 14:53:52.881676873 +0200 @@ -26,6 +26,7 @@ package jdk.internal.loader; import java.io.File; +import java.io.FileInputStream; import java.io.IOException; import java.net.URL; import java.nio.file.InvalidPathException; @@ -33,6 +34,7 @@ import java.security.CodeSource; import java.security.PermissionCollection; import java.util.jar.Manifest; +import java.util.Properties; import jdk.internal.misc.JavaLangAccess; import jdk.internal.misc.SharedSecrets; @@ -79,6 +81,59 @@ if (mainMid == null || cp.length() > 0) addClassPathToUCP(cp, ucp); + // Get accessibility properties + final String sep = File.separator; + final Properties properties = new Properties(); + + // Try loading the per-user accessibility properties file. + try { + File propsFile = new File( + System.getProperty("user.home") + + sep + ".accessibility.properties"); + FileInputStream in = + new FileInputStream(propsFile); + + // Inputstream has been buffered in Properties class + properties.load(in); + in.close(); + } catch (Exception e) { + // Per-user accessibility properties file does not exist + } + + // Try loading the system-wide accessibility properties + // file only if a per-user accessibility properties + // file does not exist or is empty. + if (properties.size() == 0) { + try { + File propsFile = new File( + System.getProperty("java.home") + sep + "conf" + + sep + "accessibility.properties"); + FileInputStream in = + new FileInputStream(propsFile); + + // Inputstream has been buffered in Properties class + properties.load(in); + in.close(); + } catch (Exception e) { + // System-wide accessibility properties file does + // not exist; + } + } + + // Add the jar with assistive technologies to the looked up classpath. + final String atCp = properties.getProperty("assistive_technologies.classpath", null); + if (atCp != null) { + File atCpFile = new File(atCp); + if (atCpFile.exists()) { + addClassPathToUCP(atCp, ucp); + if (cp == null || cp.isEmpty()) { + System.setProperty("java.class.path", atCp); + } else { + System.setProperty("java.class.path", cp + System.getProperty("path.separator") + atCp); + } + } + } + // create the class loaders BOOT_LOADER = new BootClassLoader(bcp); PLATFORM_LOADER = new PlatformClassLoader(BOOT_LOADER);