Followup-For: Bug #985060
Control: tag -1 patch

Please see the attached patches for cleaning up the dangling
alternative and tempfile usage.
I've tested these in my piuparts instance on buster->bullseye
upgrades.


Andreas
>From 061f326aa6a11f9bd15f6b98095546626a2ffc35 Mon Sep 17 00:00:00 2001
From: Andreas Beckmann <a...@debian.org>
Date: Tue, 23 Mar 2021 10:10:40 +0100
Subject: [PATCH 1/2] remove dangling jfr alternative on upgrades if no jdk is
 installed

---
 debian/JB-jre-headless.postinst.in | 5 +++++
 debian/changelog                   | 7 +++++++
 2 files changed, 12 insertions(+)

diff --git a/debian/JB-jre-headless.postinst.in 
b/debian/JB-jre-headless.postinst.in
index 4af7413..6849034 100644
--- a/debian/JB-jre-headless.postinst.in
+++ b/debian/JB-jre-headless.postinst.in
@@ -52,6 +52,11 @@ configure)
        done
     fi
 
+    if dpkg --compare-versions "$2" lt-nl "11.0.11+7-2~" ; then
+        # jfr moved from jre to jdk, remove dangling alternative on upgrades
+       test -x $basedir/bin/jfr || update-alternatives --remove jfr 
$basedir/bin/jfr
+    fi
+
     if [ "$update_alternatives" = y ]; then
     if [ -n "$multiarch" ] && [ "$DPKG_MAINTSCRIPT_ARCH" != $(dpkg 
--print-architecture) ]; then
        priority=$(expr $priority - 1)
diff --git a/debian/changelog b/debian/changelog
index 090f8e9..c5bbc38 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+openjdk-11 (11.0.11+7-2) UNRELEASED; urgency=medium
+
+  * Remove dangling jfr alternative on upgrades if no jdk is installed.
+    (Closes: #985060)
+
+ -- Andreas Beckmann <a...@debian.org>  Tue, 23 Mar 2021 10:07:52 +0100
+
 openjdk-11 (11.0.11+7-1) unstable; urgency=medium
 
   * OpenJDK 11.0.11+7 build (early access).
-- 
2.20.1

>From 76157ae455d9402aad4cce3aed24423371281192 Mon Sep 17 00:00:00 2001
From: Andreas Beckmann <a...@debian.org>
Date: Wed, 24 Mar 2021 12:48:46 +0100
Subject: [PATCH 2/2] use mktemp instead of tempfile in maintainer scripts

---
 debian/JB-jre-headless.postinst.in | 4 ++--
 debian/changelog                   | 1 +
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/debian/JB-jre-headless.postinst.in 
b/debian/JB-jre-headless.postinst.in
index 6849034..8410cad 100644
--- a/debian/JB-jre-headless.postinst.in
+++ b/debian/JB-jre-headless.postinst.in
@@ -101,7 +101,7 @@ configure)
     # activate class data sharing
     case @jvmarch@ in i386|i586|sparc)
        rm -f $basedir/lib/client/classes.jsa
-       log=$(tempfile)
+       log=$(mktemp)
        if ! $basedir/bin/java -client -Xshare:dump -XX:PermSize=128m > $log; 
then
            cat >&2 $log
            rm -f $log
@@ -113,7 +113,7 @@ configure)
     esac
     case @jvmarch@ in amd64|i386|i586|sparc)
        rm -f $basedir/lib/server/classes.jsa
-       log=$(tempfile)
+       log=$(mktemp)
        if ! $basedir/bin/java -server -Xshare:dump > $log; then
            cat >&2 $log
            rm -f $log
diff --git a/debian/changelog b/debian/changelog
index c5bbc38..22f9f1c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ openjdk-11 (11.0.11+7-2) UNRELEASED; urgency=medium
 
   * Remove dangling jfr alternative on upgrades if no jdk is installed.
     (Closes: #985060)
+  * Use mktemp instead of tempfile in maintainer scripts.
 
  -- Andreas Beckmann <a...@debian.org>  Tue, 23 Mar 2021 10:07:52 +0100
 
-- 
2.20.1

Reply via email to