Package: openjdk-8
Severity: wishlist
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu noble ubuntu-patch

Dear Maintainer,

  openjdk-8 402-ga-2 introduced changes that make the package fail to install
in i386 Ubuntu noble.
  binfmt-support might not be installed and /usr/share/binfmts directory might
not exist. This causes postinstall script to fail in a new installation.
  ATK wrapper package for i386 is not present in stable releases of Ubuntu and
will require SRU process to be introduced. This makes package uninstallable.

 Would it be possible to consider the following changes:

  * Fix installation issue on i386 (LP: #2053110):
    - d/rules: build without atk bridge on i386 for Ubuntu versions that
      do not have it.
    - d/JB-jre-headless.postinst.in: check that /usr/share/binfmts exists
      before trying to delete it.


Thanks for considering the patch.


-- System Information:
Debian Release: trixie/sid
  APT prefers mantic-updates
  APT policy: (500, 'mantic-updates'), (500, 'mantic-security'), (500, 
'mantic'), (100, 'mantic-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.5.0-17-generic (SMP w/32 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru openjdk-8-8u402-ga/debian/JB-jre-headless.postinst.in 
openjdk-8-8u402-ga/debian/JB-jre-headless.postinst.in
--- openjdk-8-8u402-ga/debian/JB-jre-headless.postinst.in       2024-01-31 
18:05:28.000000000 +1300
+++ openjdk-8-8u402-ga/debian/JB-jre-headless.postinst.in       2024-02-14 
19:58:48.000000000 +1300
@@ -19,7 +19,9 @@
          --remove jar /usr/bin/jexec 2>/dev/null || true
        update-alternatives --remove jexec \
          $basedir/jre/lib/jexec 2>/dev/null || true
-       rmdir --ignore-fail-on-non-empty /usr/share/binfmts
+       if [ -e /usr/share/binfmts ]; then
+           rmdir --ignore-fail-on-non-empty /usr/share/binfmts
+       fi
     fi
 
     # fail early.  java currently uses tricks to find its own shared
diff -Nru openjdk-8-8u402-ga/debian/rules openjdk-8-8u402-ga/debian/rules
--- openjdk-8-8u402-ga/debian/rules     2024-01-31 18:05:28.000000000 +1300
+++ openjdk-8-8u402-ga/debian/rules     2024-02-14 19:58:48.000000000 +1300
@@ -305,6 +305,16 @@
   with_bridge = atk
 endif
 
+ifeq ($(derivative),Ubuntu)
+  ifeq ($(DEB_HOST_ARCH),i386)
+# disable bridge on focal, jammy and mantic until atk wrapper is introduced
+# in those releases on i386
+    ifneq (,$(filter $(distrel),focal jammy mantic))
+      with_bridge =
+    endif
+  endif
+endif
+
 with_nss = yes
 
 on_buildd := $(shell [ -f /CurrentlyBuilding -o "$$LOGNAME" = buildd ] && echo 
yes)

Reply via email to