Hello community,
here is the log from the commit of package java-11-openj9 for
openSUSE:Leap:15.2 checked in at 2020-02-19 18:47:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/java-11-openj9 (Old)
and /work/SRC/openSUSE:Leap:15.2/.java-11-openj9.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "java-11-openj9"
Wed Feb 19 18:47:18 2020 rev:1 rq:776040 version:11.0.6.0
Changes:
--------
New Changes file:
--- /dev/null 2019-12-19 10:12:34.003146842 +0100
+++
/work/SRC/openSUSE:Leap:15.2/.java-11-openj9.new.26092/java-11-openj9.changes
2020-02-19 18:47:25.574926500 +0100
@@ -0,0 +1,5 @@
+-------------------------------------------------------------------
+Sun Feb 2 15:47:35 UTC 2020 - Fridrich Strba <[email protected]>
+
+- Initial release of OpenJDK 11.0.6 with OpenJ9 0.18.1 virtual
+ machine
New:
----
51a5857d24eca5e220ccd932bc98e9f1d0438e71.zip
7a1b0239a91f9d8819cb541812b4d774edd5bba4.zip
97897f4e4d7cb61d36ca114cc585ea148ccf9f45.zip
JDK-8208602.patch
TestCryptoLevel.java
TestECDSA.java
_constraints
activation-JAF-1_2_0.tar.gz
activation-module.patch
alternative-tzdb_dat.patch
annotation-module.patch
disable-doclint-by-default.patch
freemarker-2.3.29-sources.jar
freemarker-2.3.29.jar
icedtea-sound-1.0.1-jdk9.patch
icedtea-sound-1.0.1.tar.xz
icedtea-sound-soundproperties.patch
implicit-pointer-decl.patch
java-11-openj9.changes
java-11-openj9.spec
java-atk-wrapper-0.33.2.tar.xz
java-atk-wrapper-security.patch
javax.annotation-1.3.2.tar.gz
javax.xml.soap-1.4.0.tar.gz
jaw-jdk10.patch
jaw-misc.patch
jaw-nogtk.patch
jax-ws-spec-2.4.0.tar.gz
jaxb-istack-commons-3.0.7-RELEASE.tar.gz
jaxb-spec-2.4.0.tar.gz
jaxb-v2-2.3.1.tar.gz
jconsole.desktop.in
loadAssistiveTechnologies.patch
metro-fi-1.2.15-RELEASE.tar.gz
metro-stax-ex-1.8.tar.gz
multiple-pkcs11-library-init.patch
nss.cfg
openj9-nogit.patch.in
system-pcsclite.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ java-11-openj9.spec ++++++
++++ 1239 lines (skipped)
++++++ JDK-8208602.patch ++++++
# HG changeset patch
# User weijun
# Date 1533101708 -28800
# Node ID 9d92ff04a29c12a5d47f2ca4e772f7716bfdb8ff
# Parent b6e0bfe4a6ec5d8d9d9476c05627dfb47f2263e1
8208602: Cannot read PEM X.509 cert if there is whitespace after the header or
footer
Reviewed-by: xuelei
diff -r b6e0bfe4a6ec -r 9d92ff04a29c
src/java.base/share/classes/sun/security/provider/X509Factory.java
--- a/src/java.base/share/classes/sun/security/provider/X509Factory.java
Wed Aug 01 01:40:44 2018 -0400
+++ b/src/java.base/share/classes/sun/security/provider/X509Factory.java
Wed Aug 01 13:35:08 2018 +0800
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -635,7 +635,8 @@
if (next != '\r') footer.append((char)next);
}
- checkHeaderFooter(header.toString(), footer.toString());
+ checkHeaderFooter(header.toString().stripTrailing(),
+ footer.toString().stripTrailing());
try {
return Base64.getDecoder().decode(data.toByteArray());
diff -r b6e0bfe4a6ec -r 9d92ff04a29c
test/jdk/sun/security/provider/X509Factory/BadPem.java
--- a/test/jdk/sun/security/provider/X509Factory/BadPem.java Wed Aug 01
01:40:44 2018 -0400
+++ b/test/jdk/sun/security/provider/X509Factory/BadPem.java Wed Aug 01
13:35:08 2018 +0800
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -23,14 +23,13 @@
/*
* @test
- * @bug 8074935
- * @summary jdk8 keytool doesn't validate pem files for RFC 1421 correctness,
as jdk7 did
+ * @bug 8074935 8208602
+ * @summary X.509 cert PEM format read
* @modules java.base/sun.security.provider
*/
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
-import java.io.FileOutputStream;
import java.io.PrintStream;
import java.security.KeyStore;
import java.security.cert.CertificateException;
@@ -49,10 +48,12 @@
String pass = "passphrase";
String alias = "dummy";
+ CertificateFactory cf = CertificateFactory.getInstance("X.509");
KeyStore keyStore = KeyStore.getInstance("JKS");
keyStore.load(new FileInputStream(ks), pass.toCharArray());
byte[] cert = keyStore.getCertificate(alias).getEncoded();
+ // 8074935
ByteArrayOutputStream bout = new ByteArrayOutputStream();
PrintStream pout = new PrintStream(bout);
byte[] CRLF = new byte[] {'\r', '\n'};
@@ -64,14 +65,20 @@
}
pout.println(X509Factory.END_CERT);
- CertificateFactory cf = CertificateFactory.getInstance("X.509");
-
try {
cf.generateCertificate(new
ByteArrayInputStream(bout.toByteArray()));
throw new Exception("Should fail");
} catch (CertificateException e) {
// Good
}
+
+ // 8208602
+ bout.reset();
+ pout.println(X509Factory.BEGIN_CERT + " ");
+ pout.println(Base64.getMimeEncoder().encodeToString(cert));
+ pout.println(X509Factory.END_CERT + " ");
+
+ cf.generateCertificate(new ByteArrayInputStream(bout.toByteArray()));
}
}
++++++ TestCryptoLevel.java ++++++
/* TestCryptoLevel -- Ensure unlimited crypto policy is in use.
Copyright (C) 2012 Red Hat, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program 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 Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;
import java.security.Permission;
import java.security.PermissionCollection;
public class TestCryptoLevel
{
public static void main(String[] args)
throws NoSuchFieldException, ClassNotFoundException,
IllegalAccessException, InvocationTargetException
{
Class<?> cls = null;
Method def = null, exempt = null;
try
{
cls = Class.forName("javax.crypto.JceSecurity");
}
catch (ClassNotFoundException ex)
{
System.err.println("Running a non-Sun JDK.");
System.exit(0);
}
try
{
def = cls.getDeclaredMethod("getDefaultPolicy");
exempt = cls.getDeclaredMethod("getExemptPolicy");
}
catch (NoSuchMethodException ex)
{
System.err.println("Running IcedTea with the original crypto patch.");
System.exit(0);
}
def.setAccessible(true);
exempt.setAccessible(true);
PermissionCollection defPerms = (PermissionCollection) def.invoke(null);
PermissionCollection exemptPerms = (PermissionCollection)
exempt.invoke(null);
Class<?> apCls = Class.forName("javax.crypto.CryptoAllPermission");
Field apField = apCls.getDeclaredField("INSTANCE");
apField.setAccessible(true);
Permission allPerms = (Permission) apField.get(null);
if (defPerms.implies(allPerms) && (exemptPerms == null ||
exemptPerms.implies(allPerms)))
{
System.err.println("Running with the unlimited policy.");
System.exit(0);
}
else
{
System.err.println("WARNING: Running with a restricted crypto policy.");
System.exit(-1);
}
}
}
++++++ TestECDSA.java ++++++
/* TestECDSA -- Ensure ECDSA signatures are working.
Copyright (C) 2016 Red Hat, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program 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 Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import java.math.BigInteger;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.Signature;
/**
* @test
*/
public class TestECDSA {
public static void main(String[] args) throws Exception {
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("EC");
KeyPair key = keyGen.generateKeyPair();
byte[] data = "This is a string to sign".getBytes("UTF-8");
Signature dsa = Signature.getInstance("NONEwithECDSA");
dsa.initSign(key.getPrivate());
dsa.update(data);
byte[] sig = dsa.sign();
System.out.println("Signature: " + new BigInteger(1, sig).toString(16));
Signature dsaCheck = Signature.getInstance("NONEwithECDSA");
dsaCheck.initVerify(key.getPublic());
dsaCheck.update(data);
boolean success = dsaCheck.verify(sig);
if (!success) {
throw new RuntimeException("Test failed. Signature verification
error");
}
System.out.println("Test passed.");
}
}
++++++ _constraints ++++++
<constraints>
<hardware>
<physicalmemory>
<size unit="M">4096</size>
</physicalmemory>
<disk>
<size unit="G">20</size>
</disk>
</hardware>
</constraints>
++++++ activation-module.patch ++++++
--- activation-JAF-1_2_0/activation/src/main/java/module-info.java
1970-01-01 01:00:00.000000000 +0100
+++ activation-JAF-1_2_0/activation/src/main/java/module-info.java
2018-07-13 21:56:33.025843992 +0200
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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 General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * Defines the JavaBeans Activation Framework (JAF) API.
+ *
+ * <p> This module is upgradeable.
+ *
+ * @moduleGraph
+ * @since 9
+ */
+module java.activation {
+ requires java.logging;
+ requires java.desktop;
+
+ requires transitive java.datatransfer;
+
+ exports javax.activation;
+}
+
++++++ alternative-tzdb_dat.patch ++++++
--- a/src/java.base/share/classes/java/time/zone/TzdbZoneRulesProvider.java
Thu Jun 28 17:49:13 2018 -0700
+++ b/src/java.base/share/classes/java/time/zone/TzdbZoneRulesProvider.java
Fri Jun 29 08:23:40 2018 +0200
@@ -74,6 +74,7 @@
import java.util.List;
import java.util.Map;
import java.util.NavigableMap;
+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 = StaticProperty.javaHome() + File.separator + "lib";
+ final String homeDir = StaticProperty.javaHome();
+ 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);
--- a/src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java Thu Jun
28 17:49:13 2018 -0700
+++ b/src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java Fri Jun
29 08:23:40 2018 +0200
@@ -45,6 +45,7 @@
import java.util.List;
import java.util.Locale;
import java.util.Map;
+import java.util.Properties;
import java.util.SimpleTimeZone;
import java.util.concurrent.ConcurrentHashMap;
import java.util.zip.CRC32;
@@ -251,7 +252,15 @@
AccessController.doPrivileged(new PrivilegedAction<Void>() {
public Void run() {
try {
- String libDir = StaticProperty.javaHome() + File.separator
+ "lib";
+ final String homeDir = StaticProperty.javaHome();
+ 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"))))) {
@@ -265,6 +274,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;
+ }
+ }
+
private static void addOldMapping() {
for (String[] alias : oldMappings) {
aliases.put(alias[0], alias[1]);
++++++ annotation-module.patch ++++++
2018-07-14 20:40 diff -ulEbwB /dev/null
javax.annotation-1.3.2/src/main/java/module-info.java Page 1
--- /dev/null 2018-07-14 10:01:53.274827758 +0200
+++ javax.annotation-1.3.2/src/main/java/module-info.java 2018-07-14
20:37:45.336213151 +0200
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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 General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * Defines a subset of the Common Annotations API to support programs running
+ * on the Java SE Platform.
+ */
+module java.annotation {
+ exports javax.annotation;
+}
+
++++++ disable-doclint-by-default.patch ++++++
--- jdk10/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/DocEnv.java
2018-01-18 00:25:18.000000000 +0100
+++ jdk10/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/DocEnv.java
2018-01-18 17:45:18.697161064 +0100
@@ -839,7 +839,7 @@
}
if (!msgOptionSeen) {
- doclintOpts.add(DocLint.XMSGS_OPTION);
+ return;
}
String sep = "";
---
jdk10/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java
2018-01-18 00:25:18.000000000 +0100
+++
jdk10/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java
2018-01-18 17:45:18.697161064 +0100
@@ -127,7 +127,7 @@
}
if (!msgOptionSeen) {
- doclintOpts.add(DocLint.XMSGS_OPTION);
+ return;
}
String sep = "";
--- jdk10/test/langtools/jdk/javadoc/tool/doclint/DocLintTest.java
2018-01-18 00:25:18.000000000 +0100
+++ jdk10/test/langtools/jdk/javadoc/tool/doclint/DocLintTest.java
2018-01-18 17:49:48.865162085 +0100
@@ -147,12 +147,12 @@
files = List.of(new TestJFO("Test.java", code));
test(List.of(htmlVersion),
- Main.Result.ERROR,
- EnumSet.of(Message.DL_ERR9A, Message.DL_WRN12A));
+ Main.Result.OK,
+ EnumSet.of(Message.JD_WRN10, Message.JD_WRN13));
test(List.of(htmlVersion, rawDiags),
- Main.Result.ERROR,
- EnumSet.of(Message.DL_ERR9, Message.DL_WRN12));
+ Main.Result.OK,
+ EnumSet.of(Message.JD_WRN10, Message.JD_WRN13));
// test(List.of("-Xdoclint:none"),
// Main.Result.OK,
@@ -175,8 +175,8 @@
EnumSet.of(Message.DL_WRN12));
test(List.of(htmlVersion, rawDiags, "-private"),
- Main.Result.ERROR,
- EnumSet.of(Message.DL_ERR6, Message.DL_ERR9,
Message.DL_WRN12));
+ Main.Result.OK,
+ EnumSet.of(Message.JD_WRN10, Message.JD_WRN13));
test(List.of(htmlVersion, rawDiags, "-Xdoclint:syntax",
"-private"),
Main.Result.ERROR,
++++++ 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=10
+IT_CLASS_TARGET_VERSION=10
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-10-openjdk \
+ /usr/lib64/jvm/java-10-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 10 -target 10 $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;
+}
++++++ icedtea-sound-soundproperties.patch ++++++
--- jdk10/src/java.desktop/share/conf/sound.properties 2008-08-28
04:15:18.000000000 -0400
+++ jdk10/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
++++++ implicit-pointer-decl.patch ++++++
--- jdk10/src/java.instrument/share/native/libinstrument/JarFacade.c
2014-10-02 10:59:00.105666221 +0200
+++ jdk10/src/java.instrument/share/native/libinstrument/JarFacade.c
2014-10-02 11:59:03.355452975 +0200
@@ -23,6 +23,7 @@
* questions.
*/
+#include <ctype.h>
#include <string.h>
#include <stdlib.h>
++++++ java-atk-wrapper-security.patch ++++++
--- jdk10/src/java.base/share/conf/security/java.security 2017-01-23
23:56:02.000000000 +0100
+++ jdk10/src/java.base/share/conf/security/java.security 2017-01-27
08:41:10.551819770 +0100
@@ -304,6 +304,8 @@
#
package.access=sun.misc.,\
sun.reflect.,\
+ org.GNOME.Accessibility.,\
+ org.GNOME.Bonobo.,\
#
# List of comma-separated packages that start with or equal this string
@@ -316,6 +318,8 @@
#
package.definition=sun.misc.,\
sun.reflect.,\
+ org.GNOME.Accessibility.,\
+ org.GNOME.Bonobo.,\
#
# Determines whether this properties file can be appended to
++++++ jaw-jdk10.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 <[email protected]>
+ *
+ * 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])
@@ -98,12 +98,6 @@ if test -z "$JAVAC"; then
fi
AC_SUBST(JAVAC)
-AC_PATH_PROG(JAVAH,javah,,${JAVA_PATH})
-if test -z "$JAVAH"; then
- AC_MSG_ERROR([$JAVA_ERROR_MESSAGE])
-fi
-AC_SUBST(JAVAH)
-
AC_SUBST(JAVACFLAGS)
AC_PATH_PROG(JAR,jar,,${JAVA_PATH})
@@ -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
+
++++++ jaw-nogtk.patch ++++++
--- java-atk-wrapper-0.33.2/configure.ac 2018-08-21 13:51:47.158216451
+0200
+++ java-atk-wrapper-0.33.2/configure.ac 2018-08-21 13:52:22.122434818
+0200
@@ -45,7 +45,6 @@
dbus-1
glib-2.0 >= 2.32.0
gthread-2.0
- gdk-2.0
gobject-2.0
])
AC_SUBST(JAW_LIBS)
--- java-atk-wrapper-0.33.2/jni/src/AtkWrapper.c 2015-07-02
15:18:08.000000000 +0200
+++ java-atk-wrapper-0.33.2/jni/src/AtkWrapper.c 2018-08-21
13:53:20.206797576 +0200
@@ -23,9 +23,6 @@
#include <stdlib.h>
#include <glib.h>
#include <atk-bridge.h>
-#include <gdk/gdk.h>
-#include <gdk/gdkx.h>
-#include <gtk/gtk.h>
#include <X11/Xlib.h>
#include "jawutil.h"
#include "jawimpl.h"
@@ -258,7 +255,7 @@
{
jobject global_ac = (*jniEnv)->NewGlobalRef(jniEnv, jAccContext);
CallbackPara *para = alloc_callback_para(global_ac);
- gdk_threads_add_idle(focus_notify_handler, para);
+ g_idle_add(focus_notify_handler, para);
}
static gboolean
@@ -336,7 +333,7 @@
jobject global_ac = (*jniEnv)->NewGlobalRef(jniEnv, jAccContext);
CallbackPara *para = alloc_callback_para(global_ac);
para->is_toplevel = (jIsToplevel == JNI_TRUE) ? TRUE : FALSE;
- gdk_threads_add_idle(window_open_handler, para);
+ g_idle_add(window_open_handler, para);
}
static gboolean
@@ -413,7 +410,7 @@
jobject global_ac = (*jniEnv)->NewGlobalRef(jniEnv, jAccContext);
CallbackPara *para = alloc_callback_para(global_ac);
para->is_toplevel = (jIsToplevel == JNI_TRUE) ? TRUE : FALSE;
- gdk_threads_add_idle(window_close_handler, para);
+ g_idle_add(window_close_handler, para);
}
static gboolean
@@ -462,7 +459,7 @@
{
jobject global_ac = (*jniEnv)->NewGlobalRef(jniEnv, jAccContext);
CallbackPara *para = alloc_callback_para(global_ac);
- gdk_threads_add_idle(window_minimize_handler, para);
+ g_idle_add(window_minimize_handler, para);
}
static gboolean
@@ -511,7 +508,7 @@
{
jobject global_ac = (*jniEnv)->NewGlobalRef(jniEnv, jAccContext);
CallbackPara *para = alloc_callback_para(global_ac );
- gdk_threads_add_idle(window_maximize_handler, para);
+ g_idle_add(window_maximize_handler, para);
}
static gboolean
@@ -561,7 +558,7 @@
jobject global_ac = (*jniEnv)->NewGlobalRef(jniEnv, jAccContext);
CallbackPara *para = alloc_callback_para(global_ac);
- gdk_threads_add_idle(window_restore_handler, para);
+ g_idle_add(window_restore_handler, para);
}
static gboolean
@@ -609,7 +606,7 @@
jobject global_ac = (*jniEnv)->NewGlobalRef(jniEnv, jAccContext);
CallbackPara *para = alloc_callback_para(global_ac);
- gdk_threads_add_idle(window_activate_handler, para);
+ g_idle_add(window_activate_handler, para);
}
static gboolean
@@ -659,7 +656,7 @@
jobject global_ac = (*jniEnv)->NewGlobalRef(jniEnv, jAccContext);
CallbackPara *para = alloc_callback_para(global_ac);
- gdk_threads_add_idle(window_deactivate_handler, para);
+ g_idle_add(window_deactivate_handler, para);
}
static gboolean
@@ -710,7 +707,7 @@
jobject global_ac = (*jniEnv)->NewGlobalRef(jniEnv, jAccContext);
CallbackPara *para = alloc_callback_para(global_ac);
- gdk_threads_add_idle(window_state_change_handler, para);
+ g_idle_add(window_state_change_handler, para);
}
static gchar
@@ -1047,7 +1044,7 @@
CallbackPara *para = alloc_callback_para(global_ac);
para->signal_id = (gint)id;
para->args = global_args;
- gdk_threads_add_idle(signal_emit_handler, para);
+ g_idle_add(signal_emit_handler, para);
}
static gboolean
@@ -1106,7 +1103,7 @@
} else {
para->state_value = FALSE;
}
- gdk_threads_add_idle(object_state_change_handler, para);
+ g_idle_add(object_state_change_handler, para);
}
static gboolean
@@ -1163,7 +1160,7 @@
{
jobject global_ac = (*jniEnv)->NewGlobalRef(jniEnv, jAccContext);
CallbackPara *para = alloc_callback_para(global_ac);
- gdk_threads_add_idle(component_added_handler, para);
+ g_idle_add(component_added_handler, para);
}
static gboolean
@@ -1222,7 +1219,7 @@
{
jobject global_ac = (*jniEnv)->NewGlobalRef(jniEnv, jAccContext);
CallbackPara *para = alloc_callback_para(global_ac);
- gdk_threads_add_idle(component_removed_handler, para);
+ g_idle_add(component_removed_handler, para);
}
static gboolean
@@ -1340,7 +1337,7 @@
{
jboolean key_consumed;
jobject global_key_event = (*jniEnv)->NewGlobalRef(jniEnv, jAtkKeyEvent);
- gdk_threads_add_idle(key_dispatch_handler, (gpointer)global_key_event);
+ g_idle_add(key_dispatch_handler, (gpointer)global_key_event);
if(jaw_debug)
printf("key_dispatch_result saved = %d\n ", key_dispatch_result);
++++++ jconsole.desktop.in ++++++
[Desktop Entry]
Name=OpenJDK @VERSION@ Monitoring & Management Console
GenericName=OpenJDK Monitoring & Management Console
Comment=Monitor and manage OpenJDK applications
Exec=@JAVA_HOME@/bin/jconsole
Icon=java
Terminal=false
Type=Application
StartupWMClass=sun-tools-jconsole-JConsole
Categories=Development;Profiling;
Version=1.0
++++++ loadAssistiveTechnologies.patch ++++++
--- openjdk/src/java.desktop/share/classes/java/awt/Toolkit.java
+++ openjdk/src/java.desktop/share/classes/java/awt/Toolkit.java
@@ -883,9 +883,13 @@
return null;
}
});
if (!GraphicsEnvironment.isHeadless()) {
- loadAssistiveTechnologies();
+ try {
+ loadAssistiveTechnologies();
+ } catch (AWTError error) {
+ // ignore silently
+ }
}
}
return toolkit;
}
++++++ multiple-pkcs11-library-init.patch ++++++
--- jdk10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java
2016-12-20 23:13:34.000000000 +0100
+++ jdk10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java
2016-12-22 11:45:10.418651583 +0100
@@ -51,6 +51,7 @@
static final int ERR_HALT = 1;
static final int ERR_IGNORE_ALL = 2;
static final int ERR_IGNORE_LIB = 3;
+ static final int ERR_IGNORE_MULTI_INIT = 4;
// same as allowSingleThreadedModules but controlled via a system property
// and applied to all providers. if set to false, no SunPKCS11 instances
@@ -992,6 +993,8 @@
handleStartupErrors = ERR_IGNORE_LIB;
} else if (val.equals("halt")) {
handleStartupErrors = ERR_HALT;
+ } else if (val.equals("ignoreMultipleInitialisation")) {
+ handleStartupErrors = ERR_IGNORE_MULTI_INIT;
} else {
throw excToken("Invalid value for handleStartupErrors:");
}
---
jdk10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java
2016-12-20 23:13:34.000000000 +0100
+++
jdk10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java
2016-12-22 11:45:10.418651583 +0100
@@ -174,26 +174,37 @@
String nssLibraryDirectory = config.getNssLibraryDirectory();
String nssSecmodDirectory = config.getNssSecmodDirectory();
boolean nssOptimizeSpace = config.getNssOptimizeSpace();
+ int errorHandling = config.getHandleStartupErrors();
if (secmod.isInitialized()) {
if (nssSecmodDirectory != null) {
String s = secmod.getConfigDir();
if ((s != null) &&
(s.equals(nssSecmodDirectory) == false)) {
- throw new ProviderException("Secmod directory "
- + nssSecmodDirectory
- + " invalid, NSS already initialized with "
- + s);
+ String msg = "Secmod directory " +
nssSecmodDirectory
+ + " invalid, NSS already initialized with " +
s;
+ if (errorHandling == Config.ERR_IGNORE_MULTI_INIT
||
+ errorHandling == Config.ERR_IGNORE_ALL) {
+ throw new UnsupportedOperationException(msg);
+ } else {
+ throw new ProviderException(msg);
+ }
}
}
if (nssLibraryDirectory != null) {
String s = secmod.getLibDir();
if ((s != null) &&
(s.equals(nssLibraryDirectory) == false)) {
- throw new ProviderException("NSS library directory
"
+ String msg = "NSS library directory "
+ nssLibraryDirectory
+ " invalid, NSS already initialized with "
- + s);
+ + s;
+ if (errorHandling == Config.ERR_IGNORE_MULTI_INIT
||
+ errorHandling == Config.ERR_IGNORE_ALL) {
+ throw new UnsupportedOperationException(msg);
+ } else {
+ throw new ProviderException(msg);
+ }
}
}
} else {
++++++ nss.cfg ++++++
name = NSS
nssLibraryDirectory =
nssDbMode = noDb
attributes = compatibility
++++++ openj9-nogit.patch.in ++++++
--- a/closed/OpenJ9.gmk
+++ b/closed/OpenJ9.gmk
@@ -32,15 +32,15 @@ ifeq (,$(BUILD_ID))
BUILD_ID := 000000
endif
-OPENJ9_SHA := $(shell git -C $(OPENJ9_TOPDIR) rev-parse --short HEAD)
+OPENJ9_SHA := @OPENJ9_SHA@
ifeq (,$(OPENJ9_SHA))
$(error Could not determine OpenJ9 SHA)
endif
# Find OpenJ9 tag associated with current commit (suppressing stderr in case
there is no such tag).
-OPENJ9_TAG := $(shell git -C $(OPENJ9_TOPDIR) describe --exact-match HEAD
2>/dev/null)
+OPENJ9_TAG := @OPENJ9_TAG@
ifeq (,$(OPENJ9_TAG))
- OPENJ9_BRANCH := $(shell git -C $(OPENJ9_TOPDIR) rev-parse --abbrev-ref HEAD)
+ OPENJ9_BRANCH := @OPENJ9_BRANCH@
ifeq (,$(OPENJ9_BRANCH))
$(error Could not determine OpenJ9 branch)
endif
@@ -49,7 +49,7 @@ else
OPENJ9_VERSION_STRING := $(OPENJ9_TAG)
endif
-OPENJ9OMR_SHA := $(shell git -C $(OPENJ9OMR_TOPDIR) rev-parse --short HEAD)
+OPENJ9OMR_SHA := @OPENJ9OMR_SHA@
ifeq (,$(OPENJ9OMR_SHA))
$(error Could not determine OMR SHA)
endif
--- a/closed/autoconf/custom-hook.m4
+++ b/closed/autoconf/custom-hook.m4
@@ -436,7 +436,7 @@ AC_DEFUN_ONCE([OPENJ9_CHECK_NASM_VERSION],
AC_DEFUN_ONCE([OPENJDK_VERSION_DETAILS],
[
- OPENJDK_SHA=`git -C $TOPDIR rev-parse --short HEAD`
+ OPENJDK_SHA=@OPENJDK_SHA@
AC_SUBST(OPENJDK_SHA)
++++++ system-pcsclite.patch ++++++
--- jdk11/make/autoconf/lib-bundled.m4 2018-06-13 06:35:04.000000000 +0200
+++ jdk11/make/autoconf/lib-bundled.m4 2018-06-14 15:06:38.825090243 +0200
@@ -37,6 +37,7 @@
LIB_SETUP_LIBPNG
LIB_SETUP_ZLIB
LIB_SETUP_LCMS
+ LIB_SETUP_PCSCLITE
])
################################################################################
@@ -260,3 +261,41 @@
AC_SUBST(LCMS_CFLAGS)
AC_SUBST(LCMS_LIBS)
])
+
+################################################################################
+# Setup pcsclite
+################################################################################
+AC_DEFUN_ONCE([LIB_SETUP_PCSCLITE],
+[
+ AC_ARG_WITH(pcsclite, [AS_HELP_STRING([--with-pcsclite],
+ [use pcsclite from build system or OpenJDK source (system, bundled)
@<:@bundled@:>@])])
+
+ AC_MSG_CHECKING([for which pcsclite to use])
+
+ # default is bundled
+ DEFAULT_PCSCLITE=bundled
+ # if user didn't specify, use DEFAULT_PCSCLITE
+ if test "x${with_pcsclite}" = "x"; then
+ with_libpng=${DEFAULT_PCSCLITE}
+ fi
+
+ if test "x${with_pcsclite}" = "xbundled"; then
+ USE_EXTERNAL_PCSCLITE=false
+ AC_MSG_RESULT([bundled])
+ elif test "x${with_pcsclite}" = "xsystem"; then
+ PKG_CHECK_MODULES(PCSCLITE, libpcsclite,
+ [ PCSCLITE_FOUND=yes ],
+ [ PCSCLITE_FOUND=no ])
+ if test "x${PCSCLITE_FOUND}" = "xyes"; then
+ USE_EXTERNAL_PCSCLITE=true
+ AC_MSG_RESULT([system])
+ else
+ AC_MSG_RESULT([system not found])
+ AC_MSG_ERROR([--with-pcsclite=system specified, but no pcsclite
found!])
+ fi
+ else
+ AC_MSG_ERROR([Invalid value of --with-pcsclite: ${with_pcsclite}, use
'system' or 'bundled'])
+ fi
+
+ AC_SUBST(USE_EXTERNAL_PCSCLITE)
+])
--- jdk11/make/autoconf/spec.gmk.in 2018-06-13 06:35:04.000000000 +0200
+++ jdk11/make/autoconf/spec.gmk.in 2018-06-14 15:06:38.873090499 +0200
@@ -730,6 +730,7 @@
ENABLE_INTREE_EC:=@ENABLE_INTREE_EC@
USE_EXTERNAL_LIBJPEG:=@USE_EXTERNAL_LIBJPEG@
USE_EXTERNAL_LIBGIF:=@USE_EXTERNAL_LIBGIF@
+USE_EXTERNAL_LIBPCSCLITE:=@USE_EXTERNAL_LIBPCSCLITE@
USE_EXTERNAL_LIBZ:=@USE_EXTERNAL_LIBZ@
LIBZ_CFLAGS:=@LIBZ_CFLAGS@
LIBZ_LIBS:=@LIBZ_LIBS@
--- jdk11/make/lib/Lib-java.smartcardio.gmk 2018-06-13 06:35:04.000000000
+0200
+++ jdk11/make/lib/Lib-java.smartcardio.gmk 2018-06-14 15:09:10.281896734
+0200
@@ -30,12 +30,12 @@
$(eval $(call SetupJdkLibrary, BUILD_LIBJ2PCSC, \
NAME := j2pcsc, \
CFLAGS := $(CFLAGS_JDKLIB), \
- CFLAGS_unix := -D__sun_jdk, \
- EXTRA_HEADER_DIRS := libj2pcsc/MUSCLE, \
+ CFLAGS_unix := -D__sun_jdk -DUSE_SYSTEM_LIBPCSCLITE, \
+ EXTRA_HEADER_DIRS := /usr/include/PCSC, \
OPTIMIZATION := LOW, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
- LIBS_unix := $(LIBDL), \
+ LIBS_unix := -lpcsclite $(LIBDL), \
LIBS_windows := winscard.lib, \
))
--- jdk11/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.c 2018-06-13
06:35:04.000000000 +0200
+++ jdk11/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.c 2018-06-14
15:06:38.877090521 +0200
@@ -36,6 +36,7 @@
#include "pcsc_md.h"
+#ifndef USE_SYSTEM_LIBPCSCLITE
void *hModule;
FPTR_SCardEstablishContext scardEstablishContext;
FPTR_SCardConnect scardConnect;
@@ -47,6 +48,7 @@
FPTR_SCardBeginTransaction scardBeginTransaction;
FPTR_SCardEndTransaction scardEndTransaction;
FPTR_SCardControl scardControl;
+#endif
/*
* Throws a Java Exception by name
@@ -75,6 +77,7 @@
throwByName(env, "java/io/IOException", msg);
}
+#ifndef USE_SYSTEM_LIBPCSCLITE
void *findFunction(JNIEnv *env, void *hModule, char *functionName) {
void *fAddress = dlsym(hModule, functionName);
if (fAddress == NULL) {
@@ -85,9 +88,11 @@
}
return fAddress;
}
+#endif
JNIEXPORT void JNICALL Java_sun_security_smartcardio_PlatformPCSC_initialize
(JNIEnv *env, jclass thisClass, jstring jLibName) {
+#ifndef USE_SYSTEM_LIBPCSCLITE
const char *libName = (*env)->GetStringUTFChars(env, jLibName, NULL);
if (libName == NULL) {
throwNullPointerException(env, "PCSC library name is null");
@@ -141,4 +146,5 @@
#else
scardControl = (FPTR_SCardControl) findFunction(env,
hModule, "SCardControl132");
#endif // __APPLE__
+#endif
}
--- jdk11/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.h 2018-06-13
06:35:04.000000000 +0200
+++ jdk11/src/java.smartcardio/unix/native/libj2pcsc/pcsc_md.h 2018-06-14
15:06:38.877090521 +0200
@@ -23,6 +23,8 @@
* questions.
*/
+#ifndef USE_SYSTEM_LIBPCSCLITE
+
typedef LONG (*FPTR_SCardEstablishContext)(DWORD dwScope,
LPCVOID pvReserved1,
LPCVOID pvReserved2,
@@ -110,3 +112,41 @@
extern FPTR_SCardBeginTransaction scardBeginTransaction;
extern FPTR_SCardEndTransaction scardEndTransaction;
extern FPTR_SCardControl scardControl;
+
+#else
+
+#define CALL_SCardEstablishContext(dwScope, pvReserved1, pvReserved2,
phContext) \
+ (SCardEstablishContext(dwScope, pvReserved1, pvReserved2, phContext))
+
+#define CALL_SCardConnect(hContext, szReader, dwSharedMode,
dwPreferredProtocols, phCard, pdwActiveProtocols) \
+ (SCardConnect(hContext, szReader, dwSharedMode, dwPreferredProtocols,
phCard, pdwActiveProtocols))
+
+#define CALL_SCardDisconnect(hCard, dwDisposition) \
+ (SCardDisconnect(hCard, dwDisposition))
+
+#define CALL_SCardStatus(hCard, mszReaderNames, pcchReaderLen, pdwState,
pdwProtocol, pbAtr, pcbAtrLen) \
+ (SCardStatus(hCard, mszReaderNames, pcchReaderLen, pdwState, pdwProtocol,
pbAtr, pcbAtrLen))
+
+#define CALL_SCardGetStatusChange(hContext, dwTimeout, rgReaderStates,
cReaders) \
+ (SCardGetStatusChange(hContext, dwTimeout, rgReaderStates, cReaders))
+
+#define CALL_SCardTransmit(hCard, pioSendPci, pbSendBuffer, cbSendLength, \
+ pioRecvPci, pbRecvBuffer, pcbRecvLength) \
+ (SCardTransmit(hCard, pioSendPci, pbSendBuffer, cbSendLength, \
+ pioRecvPci, pbRecvBuffer, pcbRecvLength))
+
+#define CALL_SCardListReaders(hContext, mszGroups, mszReaders, pcchReaders) \
+ (SCardListReaders(hContext, mszGroups, mszReaders, pcchReaders))
+
+#define CALL_SCardBeginTransaction(hCard) \
+ (SCardBeginTransaction(hCard))
+
+#define CALL_SCardEndTransaction(hCard, dwDisposition) \
+ (SCardEndTransaction(hCard, dwDisposition))
+
+#define CALL_SCardControl(hCard, dwControlCode, pbSendBuffer, cbSendLength, \
+ pbRecvBuffer, pcbRecvLength, lpBytesReturned) \
+ (SCardControl(hCard, dwControlCode, pbSendBuffer, cbSendLength, \
+ pbRecvBuffer, pcbRecvLength, lpBytesReturned))
+
+#endif