2022-10-08 08:38:01 +00:00
|
|
|
#!/bin/sh
|
2026-07-25 14:27:15 +00:00
|
|
|
# Update the termius AUR package to the latest snap release.
|
|
|
|
|
# Any failing step aborts the script before the git commit.
|
|
|
|
|
|
|
|
|
|
set -eu
|
|
|
|
|
|
|
|
|
|
cd "$(dirname "$0")"
|
2022-10-08 08:38:01 +00:00
|
|
|
|
|
|
|
|
# Get new version info
|
2026-07-25 14:27:15 +00:00
|
|
|
INFO=$(curl -fsS -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app)
|
|
|
|
|
VER=$(printf '%s\n' "$INFO" | jq -er '.version')
|
|
|
|
|
REV=$(printf '%s\n' "$INFO" | jq -er '.download_url' | grep -o '_[0-9]\+\.snap$')
|
|
|
|
|
|
|
|
|
|
case $VER in
|
|
|
|
|
*[!0-9A-Za-z._+-]*|'')
|
|
|
|
|
echo "Unexpected version '$VER'" >&2
|
|
|
|
|
exit 1
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
# Nothing to do if PKGBUILD is already at this version and committed
|
|
|
|
|
if [ "$VER" = "$(sed -n 's/^pkgver=//p' PKGBUILD)" ] \
|
|
|
|
|
&& [ -z "$(git status --porcelain -- PKGBUILD .SRCINFO)" ]; then
|
|
|
|
|
echo "Already up to date ($VER)"
|
|
|
|
|
exit 0
|
|
|
|
|
fi
|
2022-10-08 08:38:01 +00:00
|
|
|
|
|
|
|
|
# Update PKGBUILD
|
2026-07-25 14:27:15 +00:00
|
|
|
sed -i "s/_[0-9]\+\.snap/$REV/g" PKGBUILD
|
|
|
|
|
sed -i "s/^pkgver=.*$/pkgver=$VER/" PKGBUILD
|
2022-10-08 08:38:01 +00:00
|
|
|
|
2026-01-08 17:04:58 +00:00
|
|
|
# Calc new hash
|
2022-10-08 08:38:01 +00:00
|
|
|
updpkgsums
|
|
|
|
|
|
|
|
|
|
# Build & install pkg
|
2026-07-25 14:27:15 +00:00
|
|
|
makepkg -sif --noconfirm
|
2022-10-08 08:38:01 +00:00
|
|
|
|
|
|
|
|
# Update .SRCINFO
|
|
|
|
|
makepkg --printsrcinfo > .SRCINFO
|
|
|
|
|
|
|
|
|
|
# Git ops
|
|
|
|
|
git add .SRCINFO PKGBUILD
|
|
|
|
|
git commit -m "Update to $VER"
|
|
|
|
|
|
2022-12-26 08:33:49 +00:00
|
|
|
# Cleanup
|
2022-10-08 08:38:01 +00:00
|
|
|
rm -rf pkg/ src/ *.snap *.pkg.tar.zst
|
|
|
|
|
|
2026-07-25 14:27:15 +00:00
|
|
|
printf '\nAll done!\nRemember to git push!\n'
|