diff options
author | Dan Fuhry | 2022-05-17 21:21:56 -0400 |
---|---|---|
committer | Dan Fuhry | 2022-05-17 21:26:14 -0400 |
commit | eca06e6f0fbc36906cfb1288c480e034f124105a (patch) | |
tree | dc9c41080074b7c42e8f10a1a4b8863a6649b963 | |
parent | 3aadd1a75504814cd7bc1ee078fd339e17dc4999 (diff) | |
download | aur-eca06e6f0fbc36906cfb1288c480e034f124105a.tar.gz |
use minecraft versioning, add update_version script
-rw-r--r-- | .SRCINFO | 26 | ||||
-rw-r--r-- | PKGBUILD | 42 | ||||
-rwxr-xr-x | update_version.sh | 34 |
3 files changed, 69 insertions, 33 deletions
@@ -1,11 +1,12 @@ pkgbase = waterfall pkgdesc = A fork of BungeeCord to improve performance and stability. - pkgver = 403 - pkgrel = 2 + pkgver = 1.18.486 + pkgrel = 1 url = https://papermc.io/ install = waterfall.install arch = any license = custom + makedepends = jq depends = java-runtime-headless>=8 depends = screen depends = sudo @@ -14,9 +15,9 @@ pkgbase = waterfall depends = sed optdepends = tar: needed in order to create world backups optdepends = nmap-netcat: required in order to suspend an idle server - noextract = waterfall.403.jar + noextract = waterfall.486.jar backup = etc/conf.d/waterfall - source = waterfall.403.jar::https://papermc.io/api/v2/projects/waterfall/versions/1.16/builds/403/downloads/waterfall-1.16-403.jar + source = waterfall.486.jar::https://papermc.io/api/v2/projects/waterfall/versions/1.18/builds/486/downloads/waterfall-1.18-486.jar source = waterfall-backup@.service source = waterfall-backup.timer source = waterfall@.service @@ -24,14 +25,13 @@ pkgbase = waterfall source = waterfall.sh source = proxy.conf source = LICENSE::https://raw.githubusercontent.com/PaperMC/Waterfall/master/LICENSE.txt - md5sums = SKIP - md5sums = 4c718e2d8aab760d4e2c2d66d262485e - md5sums = e43edd4fa467326c2fd7606fb336350c - md5sums = d2b077821aa4bb08236a2ff110dd5d6a - md5sums = eead14ee047e6635005177e59d132a43 - md5sums = aeba0d41f95979d34a3c33107d50e54a - md5sums = 7e394351b749f9e7bbd8ea60f4768c1b - md5sums = SKIP + sha256sums = 01d131e63a1ed68b0638d0c5ece2716e2a0e1e39d908bcbda9d58bbdf5a80b2f + sha256sums = d4d7db9a2265b53437b5328d4df4eda4e993a3c0a9557e2da7d490b0d9c64039 + sha256sums = 086bf54f2c17ed11669fd3b4766a42b513db832d78ad10bb0bfebb24b715f8f6 + sha256sums = cf2aa39e1cbdfd9a40667cfa577437c8d2a35ce74320257bcdda3e6cd5ec1a31 + sha256sums = bdc7bf948d1516735bb5eb761506c45bd1cfa000041de8955604eee6f8273e50 + sha256sums = 1301e6cb9737d19ce93086539578917f7fc26f711c4b8328c83117464f979657 + sha256sums = 5d2b7d2ce8b1c7694e299b5f7b07e5ef9b014d4800235e31d0cbe189a48bd1ac + sha256sums = 5cd2fc4aff03d515b9689197a835c7923c10123b0a30c08d61828beac817be04 pkgname = waterfall - @@ -5,30 +5,31 @@ # Contributer: sowieso <sowieso@dukun.de> pkgname=waterfall -pkgver=403 -pkgrel=2 -mcver=1.16 +_mcver=1.18 +_build=486 +pkgver=${_mcver}.${_build} +pkgrel=1 pkgdesc="A fork of BungeeCord to improve performance and stability." arch=('any') url="https://papermc.io/" license=('custom') depends=('java-runtime-headless>=8' 'screen' 'sudo' 'bash' 'awk' 'sed') +makedepends=('jq') optdepends=("tar: needed in order to create world backups" "nmap-netcat: required in order to suspend an idle server") backup=('etc/conf.d/waterfall') install="${pkgname}.install" _subserver=proxy - -source=("${pkgname}.${pkgver}.jar"::"https://papermc.io/api/v2/projects/waterfall/versions/${mcver}/builds/${pkgver}/downloads/waterfall-${mcver}-${pkgver}.jar" +source=("${pkgname}.${_build}.jar"::"https://papermc.io/api/v2/projects/waterfall/versions/${_mcver}/builds/${_build}/downloads/waterfall-${_mcver}-${_build}.jar" "${pkgname}-backup@.service" "${pkgname}-backup.timer" "${pkgname}@.service" "${pkgname}.conf" "${pkgname}.sh" - "${_subserver}.conf" - "LICENSE"::"https://raw.githubusercontent.com/PaperMC/Waterfall/master/LICENSE.txt") + "${_subserver}.conf" + "LICENSE"::"https://raw.githubusercontent.com/PaperMC/Waterfall/master/LICENSE.txt") -noextract=("${pkgname}.${pkgver}.jar") +noextract=("${pkgname}.${_build}.jar") _server_root="/srv/waterfall" @@ -38,9 +39,9 @@ package() { install -Dm644 ${pkgname}@.service "${pkgdir}/usr/lib/systemd/system/${pkgname}@.service" install -Dm644 ${pkgname}-backup@.service "${pkgdir}/usr/lib/systemd/system/${pkgname}-backup@.service" install -Dm644 ${pkgname}-backup.timer "${pkgdir}/usr/lib/systemd/system/${pkgname}-backup.timer" - install -Dm644 ${_subserver}.conf "${pkgdir}${_server_root}/servers/${_subserver}.conf" - install -Dm644 ${pkgname}.${pkgver}.jar "${pkgdir}${_server_root}/servers/${_subserver}/${pkgname}.${pkgver}.jar" - ln -s "${pkgname}.${pkgver}.jar" "${pkgdir}${_server_root}/servers/${_subserver}/server.jar" + install -Dm644 ${_subserver}.conf "${pkgdir}${_server_root}/servers/${_subserver}.conf" + install -Dm644 ${pkgname}.${_build}.jar "${pkgdir}${_server_root}/servers/${_subserver}/${pkgname}.${_build}.jar" + ln -s "${pkgname}.${_build}.jar" "${pkgdir}${_server_root}/servers/${_subserver}/server.jar" # Link the log files mkdir -p "${pkgdir}/var/log/" @@ -50,13 +51,14 @@ package() { # Give the group write permissions and set user or group ID on execution chmod g+ws "${pkgdir}${_server_root}" - install -D ./LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + install -D ./LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } -md5sums=('SKIP' - '4c718e2d8aab760d4e2c2d66d262485e' - 'e43edd4fa467326c2fd7606fb336350c' - 'd2b077821aa4bb08236a2ff110dd5d6a' - 'eead14ee047e6635005177e59d132a43' - 'aeba0d41f95979d34a3c33107d50e54a' - '7e394351b749f9e7bbd8ea60f4768c1b' - 'SKIP') + +sha256sums=('01d131e63a1ed68b0638d0c5ece2716e2a0e1e39d908bcbda9d58bbdf5a80b2f' + 'd4d7db9a2265b53437b5328d4df4eda4e993a3c0a9557e2da7d490b0d9c64039' + '086bf54f2c17ed11669fd3b4766a42b513db832d78ad10bb0bfebb24b715f8f6' + 'cf2aa39e1cbdfd9a40667cfa577437c8d2a35ce74320257bcdda3e6cd5ec1a31' + 'bdc7bf948d1516735bb5eb761506c45bd1cfa000041de8955604eee6f8273e50' + '1301e6cb9737d19ce93086539578917f7fc26f711c4b8328c83117464f979657' + '5d2b7d2ce8b1c7694e299b5f7b07e5ef9b014d4800235e31d0cbe189a48bd1ac' + '5cd2fc4aff03d515b9689197a835c7923c10123b0a30c08d61828beac817be04') 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 |