Bug#1015244: bullseye-pu: package commons-daemon/1.0.15-8

2022-08-06 Thread Adam D. Barratt
Control: tags -1 + confirmed

On Mon, 2022-07-18 at 12:10 +0200, Chris Hofstaedtler wrote:
> Running a java daemon using jsvc and the JVM from (old)stable does
> not
> work. It appears no java programs inside Debian still use jsvc,
> otherwise people would have noticed earlier. This is bug #935336,
> and I want to fix it in oldstable/buster (#1015243) and
> stable/bullseye
> (this bug).
> 
> [ Impact ]
> 
> jsvc just does not work except if on upgrades one keeps the JVM from
> oldoldstable (openjdk 8).
> 

Please go ahead.

Regards,

Adam



Bug#1015244: bullseye-pu: package commons-daemon/1.0.15-8

2022-07-18 Thread Chris Hofstaedtler
Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian@packages.debian.org
Usertags: pu
X-Debbugs-Cc: pkg-java-maintain...@lists.alioth.debian.org

[ Reason ]

Running a java daemon using jsvc and the JVM from (old)stable does not
work. It appears no java programs inside Debian still use jsvc,
otherwise people would have noticed earlier. This is bug #935336,
and I want to fix it in oldstable/buster (#1015243) and stable/bullseye
(this bug).

[ Impact ]

jsvc just does not work except if on upgrades one keeps the JVM from
oldoldstable (openjdk 8).

[ Tests ]

I manually tested the built package on bullseye amd64.

[ Risks ]

The workarounds are either to keep openjdk 8 if available, or use
another mechanism to start services. Some third party packages want to
use jsvc, so there is no good workaround for them.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in stable/bullseye
  [x] the issue is verified as fixed in unstable

[ Changes ]

Add (fixed) patch to find libjvm.so in the locations OpenJDK uses in
Version 11 and newer. The same patch is in unstable, and works on
oldstable, stable and in unstable/testing.

[ Other info ]

I only discovered the problem when recently updating a machine running
buster(!) and third-party software for managing wireless hotspots of a
somewhat popular brand. The third-party packages have "interesting"
dependencies, and only recently are usable with OpenJDK 11. I imagine
other users will also run into this problem.

[ debdiff ]

diff -Nru commons-daemon-1.0.15/debian/changelog 
commons-daemon-1.0.15/debian/changelog
--- commons-daemon-1.0.15/debian/changelog  2017-03-02 12:51:51.0 
+
+++ commons-daemon-1.0.15/debian/changelog  2022-07-16 00:03:17.0 
+
@@ -1,3 +1,10 @@
+commons-daemon (1.0.15-8+deb11u1) bullseye; urgency=medium
+
+  * Non-maintainer upload.
+  * Apply patch from unstable to fix JVM detection. (Closes: #935336)
+
+ -- Chris Hofstaedtler   Sat, 16 Jul 2022 00:03:17 +
+
 commons-daemon (1.0.15-8) unstable; urgency=medium
 
   * Team upload.
diff -Nru commons-daemon-1.0.15/debian/patches/debian-935336.patch 
commons-daemon-1.0.15/debian/patches/debian-935336.patch
--- commons-daemon-1.0.15/debian/patches/debian-935336.patch1970-01-01 
00:00:00.0 +
+++ commons-daemon-1.0.15/debian/patches/debian-935336.patch2022-07-16 
00:03:00.0 +
@@ -0,0 +1,26 @@
+Description: locate more recent JVM (including OpenJDK)
+Author: Graeme Vetterlein ,
+Chris Hofstaedtler 
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=935336
+Last-Update: 2022-07-09
+
+Index: commons-daemon-1.0.15/src/native/unix/native/location.c
+===
+--- commons-daemon-1.0.15.orig/src/native/unix/native/location.c
 commons-daemon-1.0.15/src/native/unix/native/location.c
+@@ -115,6 +115,7 @@ char *location_jvm_default[] = {
+ "$JAVA_HOME/jre/lib/libjvm.so",
+ "$JAVA_HOME/lib/classic/libjvm.so",
+ "$JAVA_HOME/lib/client/libjvm.so",
++"$JAVA_HOME/lib/server/libjvm.so",
+ "$JAVA_HOME/lib/libjvm.so",
+ "$JAVA_HOME/jre/bin/classic/libjvm.so",
+ "$JAVA_HOME/jre/bin/client/libjvm.so",
+@@ -149,6 +150,7 @@ char *location_jvm_configured[] = {
+ #elif defined(OS_LINUX) || defined(OS_SOLARIS) || defined(OS_BSD) || 
defined(OS_FREEBSD) || defined(OS_TRU64)
+ "$JAVA_HOME/jre/lib/" CPU "/$VM_NAME/libjvm.so",/* Sun JDK 1.3 */
+ "$JAVA_HOME/lib/" CPU "/$VM_NAME/libjvm.so",/* Sun JRE 1.3 */
++"$JAVA_HOME/lib/$VM_NAME/libjvm.so",
+ #elif defined(OS_HPUX)
+ "$JAVA_HOME/jre/lib/" CPU "/$VM_NAME/libjvm." SO_EXT,
+ "$JAVA_HOME/lib/" CPU "/$VM_NAME/libjvm." SO_EXT,
diff -Nru commons-daemon-1.0.15/debian/patches/series 
commons-daemon-1.0.15/debian/patches/series
--- commons-daemon-1.0.15/debian/patches/series 2017-03-02 12:51:51.0 
+
+++ commons-daemon-1.0.15/debian/patches/series 2022-07-16 00:03:10.0 
+
@@ -5,3 +5,4 @@
 mips_abi_n32_n64_support.diff
 arm64.diff
 ppc64el.diff
+debian-935336.patch