From 88586c8f8623150014acb4d82eb5b876dd511cf5 Mon Sep 17 00:00:00 2001
From: Christian Meis <christian.meis@online-service.de>
Date: Wed, 5 Jan 2022 13:32:15 +0100
Subject: [PATCH 1/5] Adjust RPM scriptlets to work on RHEL-flavour OSes, too.

---
 scripts/postinst.sh | 2 +-
 scripts/postrm.sh   | 2 +-
 scripts/preinst.sh  | 2 +-
 scripts/prerm.sh    | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/scripts/postinst.sh b/scripts/postinst.sh
index 4287e0ce..4e47ea66 100755
--- a/scripts/postinst.sh
+++ b/scripts/postinst.sh
@@ -6,7 +6,7 @@ set -e
 #
 # TODO: This is only tested on Debian.
 #
-if [ "$1" = "configure" ] && [ -d /run/systemd/system ]; then
+if ( [ "$1" = "configure" ] || [ "$1" = "1" ] ) && [ -d /run/systemd/system ]; then
   # Create ntfy user/group
   id ntfy >/dev/null 2>&1 || useradd --system --no-create-home ntfy
   chown ntfy.ntfy /var/cache/ntfy
diff --git a/scripts/postrm.sh b/scripts/postrm.sh
index f34f6534..10b2fd95 100755
--- a/scripts/postrm.sh
+++ b/scripts/postrm.sh
@@ -2,7 +2,7 @@
 set -e
 
 # Delete the config if package is purged
-if [ "$1" = "purge" ]; then
+if [ "$1" = "purge" ] || [ "$1" = "0" ]; then
   id ntfy >/dev/null 2>&1 && userdel ntfy
   rm -f /etc/ntfy/server.yml /etc/ntfy/client.yml
   rmdir /etc/ntfy || true
diff --git a/scripts/preinst.sh b/scripts/preinst.sh
index d09528c4..6918a14e 100755
--- a/scripts/preinst.sh
+++ b/scripts/preinst.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 set -e
 
-if [ "$1" = "install" ] || [ "$1" = "upgrade" ]; then
+if [ "$1" = "install" ] || [ "$1" = "upgrade" ] || [ "$1" = "1" ]; then
   # Migration of old to new config file name
   oldconfigfile="/etc/ntfy/config.yml"
   configfile="/etc/ntfy/server.yml"
diff --git a/scripts/prerm.sh b/scripts/prerm.sh
index f3668550..fc026191 100755
--- a/scripts/prerm.sh
+++ b/scripts/prerm.sh
@@ -2,7 +2,7 @@
 set -e
 
 # Stop systemd service
-if [ -d /run/systemd/system ] && [ "$1" = remove ]; then
+if [ -d /run/systemd/system ] && ( [ "$1" = remove ] || [ "$1" = "0" ] ); then
   echo "Stopping ntfy.service ..."
   if [ -x /usr/bin/deb-systemd-invoke ]; then
     deb-systemd-invoke stop 'ntfy.service' >/dev/null || true

From 523e037900c7312ac6a549c3cd9ef0887dbd7674 Mon Sep 17 00:00:00 2001
From: Christian Meis <christian.meis@online-service.de>
Date: Wed, 5 Jan 2022 14:43:25 +0100
Subject: [PATCH 2/5] Switch from parentheses to nested if statements for the
 RPM scriptlets.

---
 scripts/postinst.sh | 48 +++++++++++++++++++++++----------------------
 scripts/prerm.sh    | 14 +++++++------
 2 files changed, 33 insertions(+), 29 deletions(-)

diff --git a/scripts/postinst.sh b/scripts/postinst.sh
index 4e47ea66..1a3b2764 100755
--- a/scripts/postinst.sh
+++ b/scripts/postinst.sh
@@ -6,33 +6,34 @@ set -e
 #
 # TODO: This is only tested on Debian.
 #
-if ( [ "$1" = "configure" ] || [ "$1" = "1" ] ) && [ -d /run/systemd/system ]; then
-  # Create ntfy user/group
-  id ntfy >/dev/null 2>&1 || useradd --system --no-create-home ntfy
-  chown ntfy.ntfy /var/cache/ntfy
-  chmod 700 /var/cache/ntfy
+if [ "$1" = "configure" ] || [ "$1" = "1" ]; then
+  if [ -d /run/systemd/system ]; then
+    # Create ntfy user/group
+    id ntfy >/dev/null 2>&1 || useradd --system --no-create-home ntfy
+    chown ntfy.ntfy /var/cache/ntfy
+    chmod 700 /var/cache/ntfy
 
-  # Hack to change permissions on cache file
-  configfile="/etc/ntfy/server.yml"
-  if [ -f "$configfile" ]; then
-    cachefile="$(cat "$configfile" | perl -n -e'/^\s*cache-file: ["'"'"']?([^"'"'"']+)["'"'"']?/ && print $1')" # Oh my, see #47
-    if [ -n "$cachefile" ]; then
-      chown ntfy.ntfy "$cachefile" || true
-      chmod 600 "$cachefile" || true
+    # Hack to change permissions on cache file
+    configfile="/etc/ntfy/server.yml"
+    if [ -f "$configfile" ]; then
+      cachefile="$(cat "$configfile" | perl -n -e'/^\s*cache-file: ["'"'"']?([^"'"'"']+)["'"'"']?/ && print $1')" # Oh my, see #47
+      if [ -n "$cachefile" ]; then
+        chown ntfy.ntfy "$cachefile" || true
+        chmod 600 "$cachefile" || true
+      fi
     fi
-  fi
 
-  # Restart services
-  systemctl --system daemon-reload >/dev/null || true
-  if systemctl is-active -q ntfy.service; then
-    echo "Restarting ntfy.service ..."
-    if [ -x /usr/bin/deb-systemd-invoke ]; then
-      deb-systemd-invoke try-restart ntfy.service >/dev/null || true
-    else
-      systemctl restart ntfy.service >/dev/null || true
+    # Restart services
+    systemctl --system daemon-reload >/dev/null || true
+    if systemctl is-active -q ntfy.service; then
+      echo "Restarting ntfy.service ..."
+      if [ -x /usr/bin/deb-systemd-invoke ]; then
+        deb-systemd-invoke try-restart ntfy.service >/dev/null || true
+      else
+        systemctl restart ntfy.service >/dev/null || true
+      fi
     fi
-  fi
-  if systemctl is-active -q ntfy-client.service; then
+    if systemctl is-active -q ntfy-client.service; then
       echo "Restarting ntfy-client.service ..."
       if [ -x /usr/bin/deb-systemd-invoke ]; then
         deb-systemd-invoke try-restart ntfy-client.service >/dev/null || true
@@ -40,4 +41,5 @@ if ( [ "$1" = "configure" ] || [ "$1" = "1" ] ) && [ -d /run/systemd/system ]; t
         systemctl restart ntfy-client.service >/dev/null || true
       fi
     fi
+  fi
 fi
diff --git a/scripts/prerm.sh b/scripts/prerm.sh
index fc026191..f26af7a7 100755
--- a/scripts/prerm.sh
+++ b/scripts/prerm.sh
@@ -2,11 +2,13 @@
 set -e
 
 # Stop systemd service
-if [ -d /run/systemd/system ] && ( [ "$1" = remove ] || [ "$1" = "0" ] ); then
-  echo "Stopping ntfy.service ..."
-  if [ -x /usr/bin/deb-systemd-invoke ]; then
-    deb-systemd-invoke stop 'ntfy.service' >/dev/null || true
-  else
-    systemctl stop ntfy >/dev/null 2>&1 || true
+if [ -d /run/systemd/system ]; then
+  if [ "$1" = remove ] || [ "$1" = "0" ]; then
+    echo "Stopping ntfy.service ..."
+    if [ -x /usr/bin/deb-systemd-invoke ]; then
+      deb-systemd-invoke stop 'ntfy.service' >/dev/null || true
+    else
+      systemctl stop ntfy >/dev/null 2>&1 || true
+    fi
   fi
 fi

From 8f7b61291f6ac4786593a2a5aa2151bdcff8b669 Mon Sep 17 00:00:00 2001
From: Christian Meis <christian.meis@online-service.de>
Date: Wed, 5 Jan 2022 14:44:02 +0100
Subject: [PATCH 3/5] Add quotes

---
 scripts/prerm.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/prerm.sh b/scripts/prerm.sh
index f26af7a7..91068180 100755
--- a/scripts/prerm.sh
+++ b/scripts/prerm.sh
@@ -3,7 +3,7 @@ set -e
 
 # Stop systemd service
 if [ -d /run/systemd/system ]; then
-  if [ "$1" = remove ] || [ "$1" = "0" ]; then
+  if [ "$1" = "remove" ] || [ "$1" = "0" ]; then
     echo "Stopping ntfy.service ..."
     if [ -x /usr/bin/deb-systemd-invoke ]; then
       deb-systemd-invoke stop 'ntfy.service' >/dev/null || true

From 9b2ddabca9130d61d67fc41dc43fe0ea24075290 Mon Sep 17 00:00:00 2001
From: Christian Meis <christian.meis@online-service.de>
Date: Wed, 5 Jan 2022 15:47:24 +0100
Subject: [PATCH 4/5] Corrected RPM scriptlets to actually restart the systemd
 service on a package upgrade.

---
 scripts/postinst.sh | 2 +-
 scripts/preinst.sh  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/postinst.sh b/scripts/postinst.sh
index 1a3b2764..55752eaf 100755
--- a/scripts/postinst.sh
+++ b/scripts/postinst.sh
@@ -6,7 +6,7 @@ set -e
 #
 # TODO: This is only tested on Debian.
 #
-if [ "$1" = "configure" ] || [ "$1" = "1" ]; then
+if [ "$1" = "configure" ] || [ "$1" -gt 1 ]; then
   if [ -d /run/systemd/system ]; then
     # Create ntfy user/group
     id ntfy >/dev/null 2>&1 || useradd --system --no-create-home ntfy
diff --git a/scripts/preinst.sh b/scripts/preinst.sh
index 6918a14e..805cd2b3 100755
--- a/scripts/preinst.sh
+++ b/scripts/preinst.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 set -e
 
-if [ "$1" = "install" ] || [ "$1" = "upgrade" ] || [ "$1" = "1" ]; then
+if [ "$1" = "install" ] || [ "$1" = "upgrade" ] || [ "$1" -gt 1 ]; then
   # Migration of old to new config file name
   oldconfigfile="/etc/ntfy/config.yml"
   configfile="/etc/ntfy/server.yml"

From 814690e66b48d362d4295204427df0279771d622 Mon Sep 17 00:00:00 2001
From: Christian Meis <christian.meis@online-service.de>
Date: Wed, 5 Jan 2022 16:00:27 +0100
Subject: [PATCH 5/5] One more correction to RPM scriptlets

---
 scripts/postinst.sh | 2 +-
 scripts/preinst.sh  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/postinst.sh b/scripts/postinst.sh
index 55752eaf..04cc91e5 100755
--- a/scripts/postinst.sh
+++ b/scripts/postinst.sh
@@ -6,7 +6,7 @@ set -e
 #
 # TODO: This is only tested on Debian.
 #
-if [ "$1" = "configure" ] || [ "$1" -gt 1 ]; then
+if [ "$1" = "configure" ] || [ "$1" -ge 1 ]; then
   if [ -d /run/systemd/system ]; then
     # Create ntfy user/group
     id ntfy >/dev/null 2>&1 || useradd --system --no-create-home ntfy
diff --git a/scripts/preinst.sh b/scripts/preinst.sh
index 805cd2b3..1a40f1a7 100755
--- a/scripts/preinst.sh
+++ b/scripts/preinst.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 set -e
 
-if [ "$1" = "install" ] || [ "$1" = "upgrade" ] || [ "$1" -gt 1 ]; then
+if [ "$1" = "install" ] || [ "$1" = "upgrade" ] || [ "$1" -ge 1 ]; then
   # Migration of old to new config file name
   oldconfigfile="/etc/ntfy/config.yml"
   configfile="/etc/ntfy/server.yml"