diff options
Diffstat (limited to 'files/usr/local/libexec')
-rw-r--r-- | files/usr/local/libexec/invidious-sighelper-update.invidious_server | 48 | ||||
-rw-r--r-- | files/usr/local/libexec/invidious-update.invidious_server | 4 |
2 files changed, 50 insertions, 2 deletions
diff --git a/files/usr/local/libexec/invidious-sighelper-update.invidious_server b/files/usr/local/libexec/invidious-sighelper-update.invidious_server new file mode 100644 index 0000000..0aacbb1 --- /dev/null +++ b/files/usr/local/libexec/invidious-sighelper-update.invidious_server @@ -0,0 +1,48 @@ +#!/bin/sh + +set -eu -o pipefail + +prog=$(basename "$(readlink -f "$0")") +usage="${prog} [-q] INVIDIOUS_USER SIGHELPER_SRCDIR" + +die() { + printf '%s: %s\n' "$prog" "$*" 1>&2 + exit 1 +} + +usage(){ + printf 'usage: %s\n' "$usage" 1>&2 + exit 2 +} + +as_invidious(){ + su -m "$invidious_user" -c "HOME=$(dirname "$sighelper_dir") ${@}" +} + +while getopts hq opt; do + case $opt in + h) usage ;; + q) exec 1>/dev/null ;; + esac +done +shift $((OPTIND - 1)) + +[ $# -eq 2 ] || usage + +invidious_user=$1 +sighelper_dir=$2 + +cd "$sighelper_dir" + +as_invidious 'git fetch' +local_rev=$(as_invidious 'git rev-parse HEAD') +upstream_rev=$(as_invidious 'git rev-parse "@{u}"') + +if [ "$local_rev" != "$upstream_rev" ]; then + echo "updating inv_sig_helper to rev ${upstream_rev}" + as_invidious 'git pull --ff-only && cargo build --release' +else + echo "inv_sig_helper already up to date at rev ${local_rev}" +fi + +service inv_sig_helper status 2>/dev/null && service inv_sig_helper restart diff --git a/files/usr/local/libexec/invidious-update.invidious_server b/files/usr/local/libexec/invidious-update.invidious_server index b89b4bf..bbc5e72 100644 --- a/files/usr/local/libexec/invidious-update.invidious_server +++ b/files/usr/local/libexec/invidious-update.invidious_server @@ -34,7 +34,7 @@ invidious_dir=$2 cd "$invidious_dir" -su -m "$invidious_user" -c 'git fetch' +as_invidious 'git fetch' local_rev=$(as_invidious 'git rev-parse HEAD') upstream_rev=$(as_invidious 'git rev-parse "@{u}"') @@ -45,4 +45,4 @@ else echo "invidious already up to date at rev ${local_rev}" fi -service invidious restart +service invidious status 2>/dev/null && service invidious restart |