diff options
-rw-r--r-- | .SRCINFO | 12 | ||||
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | PKGBUILD | 60 | ||||
-rw-r--r-- | ddnet-server.service | 13 | ||||
-rw-r--r-- | ddnet-sysusers.conf | 2 | ||||
-rw-r--r-- | ddnet-tmpfiles.conf | 2 |
6 files changed, 41 insertions, 50 deletions
@@ -1,7 +1,7 @@ pkgbase = ddnet-git pkgdesc = A Teeworlds modification with a unique cooperative gameplay. - pkgver = 12.5.r15.g9c9264db8 - pkgrel = 2 + pkgver = 12.5.r24.g6e24bf9ae + pkgrel = 1 url = https://ddnet.tw arch = x86_64 license = custom:BSD @@ -11,8 +11,6 @@ pkgbase = ddnet-git makedepends = cmake makedepends = ninja makedepends = python - makedepends = imagemagick - makedepends = gendesk depends = sdl2 depends = freetype2 depends = opusfile @@ -26,7 +24,13 @@ pkgbase = ddnet-git provides = ddnet conflicts = ddnet source = git+https://github.com/ddnet/ddnet + source = ddnet-server.service + source = ddnet-sysusers.conf + source = ddnet-tmpfiles.conf sha256sums = SKIP + sha256sums = 9377a9d7c87abae166c8fa98cd79a61c74482f80f80bc930ae043349e9a84965 + sha256sums = 70034f237270b38bf312238a26cfd322e212ca5714bfea4ae91e80c639ce8738 + sha256sums = 043452f4de3c86d903973009bb3e59b3492a6669b86d0b1410e59a1476a87369 pkgname = ddnet-git diff --git a/.gitignore b/.gitignore index 1aace9926737..ddfe915b4f92 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,8 @@ !*.desktop !*.png !LICENSE +!*.service +!*.conf # ... except files from PKGBUILD fields !*.changelog @@ -2,21 +2,25 @@ # Maintainer: Ryozuki <ryo@ryozuki.xyz> pkgname=ddnet-git -pkgver=12.5.r15.g9c9264db8 -pkgrel=2 +pkgver=12.5.r24.g6e24bf9ae +pkgrel=1 pkgdesc="A Teeworlds modification with a unique cooperative gameplay." arch=('x86_64') url="https://ddnet.tw" license=('custom:BSD' 'CCPL:by-nc-sa') depends=('sdl2' 'freetype2' 'opusfile' 'curl' 'glew' 'wavpack' 'libwebsockets' 'pnglite') -makedepends=('git' 'cmake' 'ninja' 'python' 'imagemagick' 'gendesk') +makedepends=('git' 'cmake' 'ninja' 'python') checkdepends=('gtest') optdepends=('ddnet-skins: A collection with more than 700 custom tee skins.' 'ddnet-maps-git: All the maps used on the official DDNet Servers') provides=('ddnet') conflicts=('ddnet') -source=("git+https://github.com/ddnet/ddnet") -sha256sums=('SKIP') +source=("git+https://github.com/ddnet/ddnet" + 'ddnet-server.service' 'ddnet-sysusers.conf' 'ddnet-tmpfiles.conf') +sha256sums=('SKIP' + '9377a9d7c87abae166c8fa98cd79a61c74482f80f80bc930ae043349e9a84965' + '70034f237270b38bf312238a26cfd322e212ca5714bfea4ae91e80c639ce8738' + '043452f4de3c86d903973009bb3e59b3492a6669b86d0b1410e59a1476a87369') # Set 1 to enable MySQL support and add dependencies _enable_mysql=0 @@ -36,35 +40,8 @@ pkgver() { printf $v.r$r.g$h } -prepare() { - [ -d build ] && rm -rf build; mkdir build - [ -d prep ] && rm -rf prep; mkdir prep - cd prep - - # Extract icons in .png from .ico (name must be lowercase) - convert ../DDNet-$pkgver/other/icons/DDNet-Server.ico ddnet-server.png - - # Generate the server .desktop file - gendesk --pkgname="DDNet-Server" --name="DDNet Server" \ - --pkgdesc="DDNet Server" --terminal=true \ - --icon="ddnet-server" --categories="Game;ArcadeGame" \ - --exec='sh -c "cd /usr/share/ddnet/data && DDNet-Server"' - - # Create icon files' structure, for installing in package(). How: - # For each png file, check its dimensions (e.g. 128 x 128) using - # the output of 'file' command. Then double-check the 's' as a - # number, then install it into a "size/filename.png" notation - for f in ddnet-server-?.png; do - s=$(file $f | cut -d' ' -f5) - if [ ! -z "${s##*[!0-9]*}" ]; then - install -Dm644 $f ${s}x${s}/apps/${f/-[0-9]/} - rm $f - fi - done -} - - build() { + [ -d build ] && rm -rf build; mkdir build cd build cmake ../ddnet \ -DCMAKE_BUILD_TYPE=Release \ @@ -82,17 +59,8 @@ check() { package() { DESTDIR="$pkgdir" ninja install -C build - - # Install desktop files and folder - install -dvm755 "$pkgdir/usr/share/applications/" - install -vm644 prep/DDNet-Server.desktop "$pkgdir/usr/share/applications/" - - # Install icon files and folders - for f in $(find prep -type f -name '*.png'); do - install -Dvm644 $f "$pkgdir/usr/share/icons/hicolor"/${f/prep\/} - done - - # Install license file - install -dvm755 "$pkgdir/usr/share/licenses/$pkgname/" - install -vm644 ddnet/license.txt "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm644 ddnet/license.txt "$pkgdir/usr/share/licenses/$pkgname/license.txt" + install -vDm644 ddnet-server.service "$pkgdir/usr/lib/systemd/system/ddnet-server.service" + install -vDm644 "$srcdir/ddnet-sysusers.conf" "$pkgdir/usr/lib/sysusers.d/ddnet.conf" + install -vDm644 "$srcdir/ddnet-tmpfiles.conf" "$pkgdir/usr/lib/tmpfiles.d/ddnet.conf" } diff --git a/ddnet-server.service b/ddnet-server.service new file mode 100644 index 000000000000..452fea2d4c9e --- /dev/null +++ b/ddnet-server.service @@ -0,0 +1,13 @@ +[Unit] +Description = DDNet Server +After = network-online.target +Wants = network-online.target + +[Service] +ExecStart = /usr/bin/DDNet-Server +WorkingDirectory = /var/lib/ddnet +User = ddnet +Group = ddnet + +[Install] +WantedBy = multi-user.target diff --git a/ddnet-sysusers.conf b/ddnet-sysusers.conf new file mode 100644 index 000000000000..9d1ff5249d7d --- /dev/null +++ b/ddnet-sysusers.conf @@ -0,0 +1,2 @@ +#Type Name ID GECOS Home directory Shell +u ddnet - "DDNet user" /var/lib/ddnet diff --git a/ddnet-tmpfiles.conf b/ddnet-tmpfiles.conf new file mode 100644 index 000000000000..861bf8a37c86 --- /dev/null +++ b/ddnet-tmpfiles.conf @@ -0,0 +1,2 @@ +#Type Path Mode User Group Age Argument +d /var/lib/ddnet 0755 ddnet ddnet |