Control: tags -1 patch

Mathieu Malaterre <ma...@debian.org> wrote:
[...]
> In summary:
> 1. Make jexec the default binfmts (before jarwrapper)
> 2. Update jarwrapper to use the above mentionned `java -d32|64` trick
> to build the library path.


Hi,

I think we have reached a point in the release cycle when it becomes
difficult to predict the outcome of implementing 1. We simply can't
foresee all consequences. We know it works for dicomscope but what about
all the other packages that depend on jarwrapper? Most people depend on
jarwrapper because the Java policy states:

"If the package installs a jar (or a symlink to a jar) as an executable
the package must have an absolute dependency on *jarwrapper or an
equivalent package*"

Now they have certain expectations for jarwrapper and since we haven't
seen any complaints except this bug report so far, we should assume that
jarwrapper works in general.

I suggest the following:

1. Clone this bug report, retitle to "Make jexec the default binfmts
   (before jarwrapper)" and lower the severity to important. This
   change should be discussed on debian-java anyway but it is not RC.

2. Fix this bug by applying the attached patch and removing the
   java.library.path from jarwrapper. As Emmanuel already said before,
   the openjdk packages can find the correct multiarch path and
   jarwrapper should let those packages handle it.

3. Please note that dicomscope could "depend on jarwrapper or an
   equivalent package". You could also write your own wrapper script or
   use java-wrappers instead.

4. I think Mathieu is right and dicomscope should install the native
   libraries into specific *-jni packages. The Java policy should be
   changed to say "must be shipped in a separate package" instead of
   "should". In any case dicomscope:amd64 and dicomscope:i386 are
   currently not co-installable, so the whole discussion about the java
   -d32|64 hack is rather academic at the moment.

On a side note: jarwrapper exports LD_LIBRARY_PATH=/usr/lib/jni. Was
this ever useful because -Djava.library.path is still used?

Regards,

Markus
From 1039406c269fa2f33b1077c4b7f9fbca11dc17ca Mon Sep 17 00:00:00 2001
From: Markus Koschany <a...@gambaru.de>
Date: Wed, 3 Dec 2014 07:38:51 +0100
Subject: [PATCH] fix 764630

---
 jarwrapper | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/jarwrapper b/jarwrapper
index 5986233..4ae1dd6 100755
--- a/jarwrapper
+++ b/jarwrapper
@@ -35,7 +35,7 @@ fi
 
 if which "$JAVA" >/dev/null 2>&1; then
 	export LD_LIBRARY_PATH=/usr/lib/jni 
-	exec $JAVA $JAVAOPTS -Djava.library.path=/usr/lib/jni -jar "$JAR" "$@"
+	exec $JAVA $JAVAOPTS -jar "$JAR" "$@"
 else
 	echo "In order to run Java programs you must install a compatible JRE. If you don't know what JRE you need, default-jre is probably a good bet"
 fi
-- 
2.1.3

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to