diff options
-rw-r--r-- | arbie.install | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/arbie.install b/arbie.install index 705e8b87fecb..e7a45b79fed6 100644 --- a/arbie.install +++ b/arbie.install @@ -4,20 +4,27 @@ basename="arbie" mapfile -t users < <(loginctl --no-legend list-users | awk '{ print $2 }' | sed ':a;N;$!ba') _refresh_daemon() { - su "$1" -s /bin/sh -c XDG_RUNTIME_DIR=/run/user/$UID systemctl --user daemon-reload + su "$1" -s /bin/sh -c "XDG_RUNTIME_DIR=/run/user/\$UID systemctl --user daemon-reload" +} + +_start_service() { + su "$1" -s /bin/sh -c "XDG_RUNTIME_DIR=/run/user/\$UID systemctl --user start $basename" +} + +_stop_service() { + su "$1" -s /bin/sh -c "XDG_RUNTIME_DIR=/run/user/\$UID systemctl --user stop $basename" } _enable_service() { su "$1" -s /bin/sh -c "XDG_RUNTIME_DIR=/run/user/\$UID systemctl --user enable $basename" } -_start_service() { - su "$1" -s /bin/sh -c "XDG_RUNTIME_DIR=/run/user/\$UID systemctl --user start $basename" +_disable_service() { + su "$1" -s /bin/sh -c "XDG_RUNTIME_DIR=/run/user/\$UID systemctl --user disable $basename" } _is_service_active() { - if su "$1" -s /bin/sh -c "XDG_RUNTIME_DIR=/run/user/\$UID systemctl --user is-active $basename" &>/dev/null - then + if su "$1" -s /bin/sh -c "XDG_RUNTIME_DIR=/run/user/\$UID systemctl --user is-active $basename" &>/dev/null; then return 0 else return 1 @@ -25,22 +32,17 @@ _is_service_active() { } _is_service_enabled() { - if su "$1" -s /bin/sh -c "XDG_RUNTIME_DIR=/run/user/\$UID systemctl --user is-enabled $basename" &>/dev/null - then + if su "$1" -s /bin/sh -c "XDG_RUNTIME_DIR=/run/user/\$UID systemctl --user is-enabled $basename" &>/dev/null; then return 0 else return 1 fi } -_stop_service() { - su "$1" -s /bin/sh -c "XDG_RUNTIME_DIR=/run/user/\$UID systemctl --user stop $basename" +pre_install() { + : # noop } -# INSTALL -# pre_install() { -# } - post_install() { for user in "${users[@]}"; do _refresh_daemon "$user" @@ -51,7 +53,9 @@ post_install() { pre_upgrade() { for user in "${users[@]}"; do - _stop_service "$user" + if _is_service_active "$user"; then + _stop_service "$user" + fi done } @@ -76,4 +80,3 @@ post_remove() { _refresh_daemon "$user" done } - |