aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO26
-rw-r--r--PKGBUILD42
-rwxr-xr-xupdate_version.sh34
3 files changed, 69 insertions, 33 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 7cb126327625..68c298425929 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
-
diff --git a/PKGBUILD b/PKGBUILD
index 31328dc947af..4253ba13c3c9 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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