Update misc/riptideinstaller.sh

This commit is contained in:
gigirassy
2026-06-17 02:14:37 +02:00
parent dd8cbd87df
commit a2647a4138
+22 -16
View File
@@ -1,8 +1,10 @@
#!/bin/sh #!/bin/sh
set -eu set -eu
repo="gigirassy/riptide" repo="gigirassy/riptide"
base="https://codeberg.org/$repo" base="https://codeberg.org/$repo"
api="https://codeberg.org/api/v1/repos/$repo/releases/latest"
green="$(printf '\033[1;32m')" green="$(printf '\033[1;32m')"
red="$(printf '\033[1;31m')" red="$(printf '\033[1;31m')"
@@ -10,17 +12,24 @@ blue="$(printf '\033[1;34m')"
reset="$(printf '\033[0m')" reset="$(printf '\033[0m')"
info() { info() {
printf "%s[+]%s %s\n" "$green" "$reset" "$*" printf '%s[+]%s %s\n' "$green" "$reset" "$*"
} }
step() { step() {
printf "%s[*]%s %s\n" "$blue" "$reset" "$*" printf '%s[*]%s %s\n' "$blue" "$reset" "$*"
} }
error() { error() {
printf "%s[-]%s %s\n" "$red" "$reset" "$*" >&2 printf '%s[-]%s %s\n' "$red" "$reset" "$*" >&2
} }
for cmd in curl jq sha256sum grep awk sed; do
command -v "$cmd" >/dev/null 2>&1 || {
error "missing dependency: $cmd !"
exit 1
}
done
tmpdir="$(mktemp -d)" tmpdir="$(mktemp -d)"
trap 'rm -rf "$tmpdir"' EXIT trap 'rm -rf "$tmpdir"' EXIT
@@ -37,24 +46,19 @@ fi
step "fetching latest release information..." step "fetching latest release information..."
release_page="$(curl -fsSL "$base/releases/latest")" release_json="$(curl -fsSL "$api")"
version="$( version="$(printf '%s' "$release_json" | jq -r '.tag_name')"
printf '%s' "$release_page" | [ -n "$version" ] && [ "$version" != "null" ] || {
grep -oE '/releases/tag/[0-9]+\.[0-9]+\.[0-9]+' |
head -n1 |
sed 's|.*/||'
)"
[ -n "$version" ] || {
error "failed to determine latest version!" error "failed to determine latest version!"
exit 1 exit 1
} }
checksum="$( checksum="$(
printf '%s' "$release_page" | printf '%s' "$release_json" |
grep -E '^[a-f0-9]{64}[[:space:]]+riptide$' | jq -r '.body' |
awk '{print $1}' grep -oE '[a-f0-9]{64}' |
head -n1
)" )"
[ -n "$checksum" ] || { [ -n "$checksum" ] || {
@@ -65,6 +69,7 @@ checksum="$(
url="$base/releases/download/$version/riptide" url="$base/releases/download/$version/riptide"
info "latest version is $version!" info "latest version is $version!"
info "checksum is $checksum!"
step "downloading riptide..." step "downloading riptide..."
@@ -81,6 +86,7 @@ chmod 755 "$tmpdir/riptide"
step "installing to /usr/local/bin/riptide" step "installing to /usr/local/bin/riptide"
step "authentication may be required ($asroot)" step "authentication may be required ($asroot)"
"$asroot" install -m 755 "$tmpdir/riptide" /usr/local/bin/riptide "$asroot" install -m 755 "$tmpdir/riptide" /usr/local/bin/riptide
info "riptide $version installed successfully <3 have a nice day" info "riptide $version installed successfully <3 have a nice day"