From 6b847ba34e5088bb6a6d4c3b1bc320b5d75ed59f Mon Sep 17 00:00:00 2001 From: Neshura Date: Fri, 29 Dec 2023 01:18:36 +0100 Subject: [PATCH] Convert systemd unit to user script via custom install scripts --- debian/postinst | 33 +++++++++++++++++++++++++++++++++ debian/postrm | 24 ++++++++++++++++++++++++ debian/prerm | 8 ++++++++ 3 files changed, 65 insertions(+) create mode 100644 debian/postinst create mode 100644 debian/postrm create mode 100644 debian/prerm diff --git a/debian/postinst b/debian/postinst new file mode 100644 index 0000000..e7a0c28 --- /dev/null +++ b/debian/postinst @@ -0,0 +1,33 @@ +#!/bin/sh +set -e +# Automatically added by cargo-deb +if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then + if deb-systemd-helper --user debian-installed cloudflare-dns-updater.service; then + # This will only remove masks created by d-s-h on package removal. + deb-systemd-helper --user unmask cloudflare-dns-updater.service >/dev/null || true + + if deb-systemd-helper --user --quiet was-enabled cloudflare-dns-updater.service; then + # Create new symlinks, if any. + deb-systemd-helper --user enable cloudflare-dns-updater.service >/dev/null || true + fi + fi + + # Update the statefile to add new symlinks (if any), which need to be cleaned + # up on purge. Also remove old symlinks. + deb-systemd-helper --user update-state cloudflare-dns-updater.service >/dev/null || true +fi +# End automatically added section +# Automatically added by cargo-deb +if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then + if [ -d /run/systemd/system ]; then + USER="$(who | head -1 | awk '{print $1;}')" + runuser -l $USER -c "XDG_RUNTIME_DIR=/run/user/$(id -u $USER) systemctl --user daemon-reload >/dev/null || true" + if [ -n "$2" ]; then + _dh_action=restart + else + _dh_action=start + fi + runuser -l $USER -c "XDG_RUNTIME_DIR=/run/user/$(id -u $USER) deb-systemd-invoke --user $_dh_action cloudflare-dns-updater.service >/dev/null || true" + fi +fi +# End automatically added section diff --git a/debian/postrm b/debian/postrm new file mode 100644 index 0000000..4d419ee --- /dev/null +++ b/debian/postrm @@ -0,0 +1,24 @@ +#!/bin/sh +set -e +# Automatically added by cargo-deb +if [ -d /run/systemd/system ]; then + USER="$(who | head -1 | awk '{print $1;}')" + runuser -l $USER -c "XDG_RUNTIME_DIR=/run/user/$(id -u $USER) systemctl --user daemon-reload >/dev/null || true" +fi +# End automatically added section +# Automatically added by cargo-deb +if [ "$1" = "remove" ]; then + if [ -x "/usr/bin/deb-systemd-helper" ]; then + USER="$(who | head -1 | awk '{print $1;}')" + runuser -l $USER -c "XDG_RUNTIME_DIR=/run/user/$(id -u $USER) deb-systemd-helper --user mask cloudflare-dns-updater.service >/dev/null || true" + fi +fi + +if [ "$1" = "purge" ]; then + if [ -x "/usr/bin/deb-systemd-helper" ]; then + USER="$(who | head -1 | awk '{print $1;}')" + runuser -l $USER -c "XDG_RUNTIME_DIR=/run/user/$(id -u $USER) deb-systemd-helper --user purge cloudflare-dns-updater.service >/dev/null || true" + runuser -l $USER -c "XDG_RUNTIME_DIR=/run/user/$(id -u $USER) deb-systemd-helper --user unmask cloudflare-dns-updater.service >/dev/null || true" + fi +fi +# End automatically added section diff --git a/debian/prerm b/debian/prerm new file mode 100644 index 0000000..3e14f92 --- /dev/null +++ b/debian/prerm @@ -0,0 +1,8 @@ +#!/bin/sh +set -e +# Automatically added by cargo-deb +if [ -d /run/systemd/system ] && [ "$1" = remove ]; then + USER="$(who | head -1 | awk '{print $1;}')" + runuser -l $USER -c "XDG_RUNTIME_DIR=/run/user/$(id -u $USER) deb-systemd-invoke --user stop cloudflare-dns-updater.service >/dev/null || true" +fi +# End automatically added section