summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Souza2024-02-07 01:36:07 -0300
committerDaniel Souza2024-02-07 01:36:07 -0300
commit5e8607fa444f9c94e11c628ad643f915d2328ad0 (patch)
treef845631ee584ae6a8d398a75ffb67495088651a9
parent1ee7762f1db652c7740b64d5152b853377f6b540 (diff)
downloadaur-5e8607fa444f9c94e11c628ad643f915d2328ad0.tar.gz
rewrite & improve install script
-rw-r--r--.SRCINFO2
-rw-r--r--PKGBUILD4
-rw-r--r--arbie.install85
3 files changed, 59 insertions, 32 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 506cdf6efbd7..eb0b26456a32 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = arbie-git
pkgdesc = Encrypted backup and synchronization tool
- pkgver = v1.3.1.r7.g57fd068
+ pkgver = v1.3.1.r9.gffe0a05
pkgrel = 1
url = https://github.com/danisztls/arbie
install = arbie.install
diff --git a/PKGBUILD b/PKGBUILD
index cb6951a42517..719abaa7a078 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,7 +5,7 @@ _gitauthor="danisztls"
_gitbranch="main"
pkgname="${_pkgname}-git"
-pkgver=v1.3.1.r7.g57fd068
+pkgver=v1.3.1.r9.gffe0a05
pkgrel=1
pkgdesc="Encrypted backup and synchronization tool"
arch=('any')
@@ -21,7 +21,7 @@ conflicts=("${_pkgname}")
replaces=()
backup=()
options=()
-install=arbie.install
+install="${_pkgname}.install"
changelog=
source=("git+https://github.com/${_gitauthor}/${_pkgname}.git#branch=${_gitbranch}")
noextract=()
diff --git a/arbie.install b/arbie.install
index d499fa7280f3..705e8b87fecb 100644
--- a/arbie.install
+++ b/arbie.install
@@ -1,52 +1,79 @@
-# based on https://github.com/archlinux/svntogit-community/tree/packages/profile-sync-daemon/trunk
-# shellcheck disable=SC2016 # don't wish them to expand
+#!/bin/bash
-# users=($(loginctl --no-legend list-users | awk '{ print $2 }' | sed ':a;N;$!ba'))
+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
+}
+
+_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"
+}
+
+_is_service_active() {
+ 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
+ fi
+}
+
+_is_service_enabled() {
+ 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"
+}
+
+# INSTALL
# pre_install() {
# }
-# post_install() {
-# }
+post_install() {
+ for user in "${users[@]}"; do
+ _refresh_daemon "$user"
+ _start_service "$user"
+ _enable_service "$user"
+ done
+}
pre_upgrade() {
- # stop system service now since it will be removed upon updating
- if systemctl is-active arbie.service &>/dev/null; then
- systemctl stop arbie.service &>/dev/null
- fi
+ for user in "${users[@]}"; do
+ _stop_service "$user"
+ done
}
post_upgrade() {
- _daemon_refresh
+ for user in "${users[@]}"; do
+ _refresh_daemon "$user"
+ _start_service "$user"
+ done
}
pre_remove() {
for user in "${users[@]}"; do
- if _daemon_user_check "$user"; then
- _daemon_user_stop "$user"
+ if _is_service_active "$user"; then
+ _stop_service "$user"
+ _disable_service "$user"
fi
done
}
-# post_remove() {
-# }
-
-_daemon_refresh() {
+post_remove() {
for user in "${users[@]}"; do
- su "$user" -s /bin/sh -c 'XDG_RUNTIME_DIR=/run/user/$UID systemctl --user daemon-reload'
+ _refresh_daemon "$user"
done
}
-_daemon_user_check() {
- running="$(su "$1" -s /bin/sh -c 'XDG_RUNTIME_DIR=/run/user/$UID systemctl --user is-active arbie')"
- if [[ "$running" = "active" ]]; then
- return 0
- else
- return 1
- fi
-}
-
-_daemon_user_stop() {
- su "$1" -s /bin/sh -c 'XDG_RUNTIME_DIR=/run/user/$UID systemctl --user stop arbie.service'
-}