diff options
Diffstat (limited to 'update_version.sh')
-rwxr-xr-x | update_version.sh | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/update_version.sh b/update_version.sh new file mode 100755 index 000000000000..17c13c4625a8 --- /dev/null +++ b/update_version.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +set -e +. /usr/share/makepkg/util/util.sh + +warning "This script calls out to papermc's API to determine the latest" +warning "version and build number. Press Ctrl+C within 2 seconds to abort." +sleep 2 + +mcver=$(curl -s "https://papermc.io/api/v2/projects/waterfall" | jq -r '.version_groups[-1]') + +if ! [[ "$mcver" =~ ^1\.[0-9]{2}$ ]]; then + error "Minecraft version doesn't seem sensible: $mcver" + exit 1 +fi + +build=$(curl -s "https://papermc.io/api/v2/projects/waterfall/versions/${mcver}" | jq -r '.builds[-1]') + +if ! [[ "$build" =~ ^[0-9]{3,5}$ ]]; then + error "Build number doesn't seem sensible: $build" + exit 1 +fi + +msg "Using minecraft version: ${mcver} / waterfall build: ${build}" + +sed -re "/^_mcver=/ c _mcver=${mcver}" -e "/^_build=/ c _build=${build}" -i PKGBUILD + +# delete sha256sums, but leave a placeholder as a hint to use sha256 and not md5 +sed -zre "s;sha256sums=\('([a-f0-9]{64}|SKIP)'(\n *'([a-f0-9]{64}|SKIP)')*\);sha256sums=('SKIP');g" -i PKGBUILD + +makepkg -g >> PKGBUILD +sed -re "/^sha256sums=\('SKIP'\)$/ d" -i PKGBUILD + +makepkg --printsrcinfo > .SRCINFO |