21 lines
879 B
Bash
Executable File
21 lines
879 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -Euo pipefail
|
|
|
|
STATE_DIR="${XDG_STATE_HOME:-$HOME/.local/state}/hermes-stack-maintenance"
|
|
NOTIFIER="$HOME/.local/libexec/hermes-stack-notify"
|
|
mkdir -p "$STATE_DIR"
|
|
|
|
command -v signal-cli >/dev/null 2>&1 || exit 0
|
|
installed="$(signal-cli --version 2>/dev/null | grep -Eo '[0-9]+(\.[0-9]+)+' | head -n1)"
|
|
latest_url="$(curl -LsS --max-time 30 -o /dev/null -w '%{url_effective}' \
|
|
https://github.com/AsamK/signal-cli/releases/latest || true)"
|
|
latest="${latest_url##*/v}"
|
|
|
|
[[ "$installed" =~ ^[0-9]+(\.[0-9]+)+$ ]] || exit 1
|
|
[[ "$latest" =~ ^[0-9]+(\.[0-9]+)+$ ]] || exit 1
|
|
|
|
if [[ "$(printf '%s\n%s\n' "$installed" "$latest" | sort -V | tail -n1)" == "$latest" &&
|
|
"$installed" != "$latest" ]]; then
|
|
"$NOTIFIER" "signal-cli-Update verfügbar: $installed -> $latest. Manuell ausführen: ~/.local/libexec/hermes-stack-signal-update $latest" || true
|
|
fi
|