mirror of
https://codeberg.org/gigirassy/riptide
synced 2026-08-30 15:27:38 +00:00
Update misc/riptideinstaller.sh
This commit is contained in:
+21
-15
@@ -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"
|
||||||
Reference in New Issue
Block a user