Bug#959224: buster-pu: package scilab/6.0.1-10
Le vendredi 01 mai 2020 à 15:39 +0100, Adam D. Barratt a écrit :
>
> Why -11? I assume the unstable upload will be 6.1.0+dfsg1-3, so this
> is still the first stable update to 6.0.1-10.
I uploaded 6.1.0+dfsg1-3 right now with the improved patch.
Here is the new commit against 6.0.1-10, making it 6.0.1-10+deb10u1.
Cheers,
JP
PS:
diff --git a/debian/changelog b/debian/changelog
index cf6e4d47f..deede011f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+scilab (6.0.1-10+deb10u1) buster; urgency=medium
+
+ * Add patch from Gilles Filippini to fix library path loading
+ with the recent openjdk 11.0.7 upload. (Closes: #955694, #959034)
+
+ -- Julien Puydt <jpuydt@debian.org> Fri, 01 May 2020 16:47:40 +0200
+
scilab (6.0.1-10) unstable; urgency=medium
[ Alexis Murzeau ]
diff --git a/debian/patches/addLibraryPath.patch
b/debian/patches/addLibraryPath.patch
new file mode 100644
index 000000000..84abb8df3
--- /dev/null
+++ b/debian/patches/addLibraryPath.patch
@@ -0,0 +1,50 @@
+Description: openjdk 11.0.7 changes how reloading java.library.path
works
+ Now it's not possible anymore to force it by setting sys_paths to
null
+ The related jdk changeset is:
+ http://hg.openjdk.java.net/jdk-updates/jdk11u/rev/21710e014d7f
+Author: Gilles Filippini
+Forwarded: http://bugzilla.scilab.org/show_bug.cgi?id=16423
+
+---
scilab.orig/modules/jvm/src/java/org/scilab/modules/jvm/LibraryPath.jav
a
++++
scilab/modules/jvm/src/java/org/scilab/modules/jvm/LibraryPath.java
+@@ -19,7 +19,9 @@
+ /*-------------------------------------------------------------------
-------*/
+ import java.io.IOException;
+ import java.io.File;
++import java.lang.reflect.Method;
+ import java.lang.reflect.Field;
++import java.lang.reflect.InvocationTargetException;
+ /*-------------------------------------------------------------------
-------*/
+ /*
http://forum.java.sun.com/thread.jspa?threadID=135560&start=15&tstart=0
*/
+ /*-------------------------------------------------------------------
-------*/
+@@ -64,14 +66,25 @@
+ /* The order matter here... see bug #4022 */
+ String newLibPath = System.getProperty(JAVALIBRARYPATH) +
File.pathSeparator + p;
+ System.setProperty(JAVALIBRARYPATH, newLibPath);
++ // First try the new initLibraryPaths method
+ try {
+- Field fieldSysPath =
ClassLoader.class.getDeclaredField("sys_paths");
+- fieldSysPath.setAccessible(true);
+- if (fieldSysPath != null) {
++ final Method initLibraryPaths =
ClassLoader.class.getDeclaredMethod("initLibraryPaths");
++ initLibraryPaths.setAccessible(true);
++ initLibraryPaths.invoke(null);
++ } catch (NoSuchMethodException e) {
++ // The initLibraryPaths method doesn't exist
++ // Fallback setting sys_paths to null
++ try {
++ Field fieldSysPath =
ClassLoader.class.getDeclaredField("sys_paths");
++ fieldSysPath.setAccessible(true);
+ fieldSysPath.set(System.class.getClassLoader(),
null);
++ } catch (NoSuchFieldException e1) {
++ throw new IOException("Error
NoSuchFieldException, could not add path to " + JAVALIBRARYPATH);
++ } catch (IllegalAccessException e1) {
++ throw new IOException("Error
IllegalAccessException, could not add path to " + JAVALIBRARYPATH);
+ }
+- } catch (NoSuchFieldException e) {
+- throw new IOException("Error NoSuchFieldException,
could not add path to " + JAVALIBRARYPATH);
++ } catch (InvocationTargetException e) {
++ throw new IOException("Error
InvocationTargetException, could not add path to " + JAVALIBRARYPATH);
+ } catch (IllegalAccessException e) {
+ throw new IOException("Error IllegalAccessException,
could not add path to " + JAVALIBRARYPATH);
+ }
diff --git a/debian/patches/series b/debian/patches/series
index c00c002ff..1979678c0 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
+addLibraryPath.patch
adddemo.diff
librarypath.diff
jh.diff
Reply to: