summarylogtreecommitdiffstats
path: root/update.sh
diff options
context:
space:
mode:
authorgyara2021-07-22 22:54:16 +0900
committergyara2021-07-22 22:54:16 +0900
commita82a26c20a8909df06303e68fcf942f0b6849d1a (patch)
tree4a2185a915c5c88d85d72721ca5b49adef3f2b4f /update.sh
parent0ce30c5479d4777120ecc579efc263a7875da513 (diff)
downloadaur-a82a26c20a8909df06303e68fcf942f0b6849d1a.tar.gz
add update.sh to git
Diffstat (limited to 'update.sh')
-rwxr-xr-xupdate.sh40
1 files changed, 40 insertions, 0 deletions
diff --git a/update.sh b/update.sh
new file mode 100755
index 000000000000..435146aef1ef
--- /dev/null
+++ b/update.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+set -euxo pipefail
+
+# Read pkg name
+PKG=$(awk -F '=' '/pkgname=/{ print $2 }' PKGBUILD)
+
+get_latest_release() {
+ curl --silent "https://api.github.com/repos/$1/releases/latest" | # Get latest release from GitHub api
+ grep '"tag_name":' | # Get tag line
+ sed -E 's/.*"v([^"]+)".*/\1/' # Pluck JSON value
+}
+
+# Get latest version
+VER=$(get_latest_release nanozuki/dantalian)
+
+# Insert latest version into PKGBUILD
+sed -i \
+ -e "s/^pkgver=.*/pkgver=${VER}/" \
+ PKGBUILD
+
+# Check whether this changed anything
+if (git diff --exit-code PKGBUILD); then
+ echo "Package ${PKG} has most recent version ${VER}"
+ exit 0
+fi
+
+# Reset pkgrel
+sed -i \
+ -e 's/pkgrel=.*/pkgrel=1/' \
+ PKGBUILD
+
+# Update source hashes
+updpkgsums
+
+# Update .SRCINFO
+makepkg --printsrcinfo >.SRCINFO
+
+# Commit changes
+git add PKGBUILD .SRCINFO
+git commit -m "${PKG} v${VER}"