Bug#1064191: openjdk-8: fails to install on i386 mantic, focal and jammy

Vladimir Petko vpa1977 at gmail.com
Sun Feb 18 08:07:37 GMT 2024


Package: openjdk-8
Severity: wishlist
Tags: patch
User: ubuntu-devel at 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
-------------- next part --------------
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)


More information about the pkg-java-maintainers mailing list