summaryrefslogtreecommitdiffstats
path: root/autoscripts/postinst-systemd-user-restart
diff options
context:
space:
mode:
Diffstat (limited to 'autoscripts/postinst-systemd-user-restart')
-rw-r--r--autoscripts/postinst-systemd-user-restart11
1 files changed, 11 insertions, 0 deletions
diff --git a/autoscripts/postinst-systemd-user-restart b/autoscripts/postinst-systemd-user-restart
new file mode 100644
index 0000000..d24dea2
--- /dev/null
+++ b/autoscripts/postinst-systemd-user-restart
@@ -0,0 +1,11 @@
+if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
+ if [ -z "${DPKG_ROOT:-}" ] && [ -d /run/systemd/system ]; then
+ # Here we reload synchronously, as we really need to block in
+ # order to ensure the following restart also works. Furthermore,
+ # if there is no D-Bus user session, the restart won't work either,
+ # so there's no point if falling back to signals - so either both
+ # of these operations work, or both fail.
+ deb-systemd-invoke --user daemon-reload >/dev/null || true
+ deb-systemd-invoke --user restart #UNITFILES# >/dev/null || true
+ fi
+fi