From d3139e9665f39065eb1a8ff568a2cfbb8436c115 Mon Sep 17 00:00:00 2001 From: George Rawlinson Date: Wed, 22 Sep 2021 07:31:04 +0000 Subject: [PATCH] addpkg: jellyfin-server 10.7.7-1 --- jellyfin-server/PKGBUILD | 58 +++++++++++++++++++++++++++++++++ jellyfin-server/systemd.service | 45 +++++++++++++++++++++++++ jellyfin-server/sysusers.conf | 1 + jellyfin-server/tmpfiles.conf | 4 +++ 4 files changed, 108 insertions(+) create mode 100644 jellyfin-server/PKGBUILD create mode 100644 jellyfin-server/systemd.service create mode 100644 jellyfin-server/sysusers.conf create mode 100644 jellyfin-server/tmpfiles.conf diff --git a/jellyfin-server/PKGBUILD b/jellyfin-server/PKGBUILD new file mode 100644 index 0000000..0255f65 --- /dev/null +++ b/jellyfin-server/PKGBUILD @@ -0,0 +1,58 @@ +# Maintainer: + +pkgname=jellyfin-server +_pkgname=jellyfin +pkgver=10.7.7 +pkgrel=1 +pkgdesc='Jellyfin server backend' +arch=('x86_64') +url='https://jellyfin.org' +_url="https://github.com/jellyfin/jellyfin" +license=('GPL2' 'GPL3') +depends=('dotnet-runtime' 'aspnet-runtime' 'ffmpeg' 'sqlite' 'fontconfig') +makedepends=('dotnet-sdk') +optdepends=('jellyfin-web: to run web-app on the same machine') +source=( + "$pkgname-$pkgver.tar.gz::$_url/archive/v$pkgver.tar.gz" + 'systemd.service' + 'sysusers.conf' + 'tmpfiles.conf' +) +b2sums=('589f9f811dc1f0b5cc7ade6aae34386a846856ffe0bc62fe18ebb0c0a234b00ff87e6f7e1007bce0fac0772350fca219e584d03f95fc777be4f6eaf78b7f55df' + 'a85349afe83be5b0c563fc2d1712825df858b859df450e64450b5ac8b62792908e6127403008b3d13bf1b90bd57647a9179900acaa1f9d87a59f75f9cf02630b' + 'f73c72e1d66480c410dbe71be1af91a2bd76206dfed76e64b8264ee3537f6eb477bcba905ce69a0ec8b273e33c2e46439b9b32ce21543a48d98d80434a46a781' + '76d92a78a6600885841a19e8629ccc39aab485416b51541c351f04b4c1350f898257e47db77121e0364ee3a1e1924a73aa82ce8dcec8d4ddee6947ac1e0395ea') + +prepare() { + cd "$_pkgname-$pkgver" + mkdir -p publish +} + +build(){ + cd "$_pkgname-$pkgver" + + # Disable dotnet telemetry + export DOTNET_CLI_TELEMETRY_OPTOUT=1 + export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 + export DOTNET_NOLOGO=1 + + dotnet publish Jellyfin.Server \ + --configuration Release \ + --output=publish \ + --self-contained \ + --runtime linux-x64 \ + "-p:DebugSymbols=false;DebugType=none" +} + +package() { + # systemd integration + install -vDm644 systemd.service "$pkgdir/usr/lib/systemd/system/$_pkgname.service" + install -vDm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/$_pkgname.conf" + install -vDm644 tmpfiles.conf "$pkgdir/usr/lib/tmpfiles.d/$_pkgname.conf" + + cd "$_pkgname-$pkgver" + install -vd "$pkgdir/usr/lib" + cp -dr --no-preserve='ownership' publish "$pkgdir/usr/lib/$_pkgname" +} + +# vim: ts=2 sw=2 et: diff --git a/jellyfin-server/systemd.service b/jellyfin-server/systemd.service new file mode 100644 index 0000000..7b8ed82 --- /dev/null +++ b/jellyfin-server/systemd.service @@ -0,0 +1,45 @@ +[Unit] +Description=Jellyfin Media Server +After=network-online.target + +[Service] +WorkingDirectory=/var/lib/jellyfin +ExecStart=/usr/lib/jellyfin/jellyfin ${JELLYFIN_WEB_OPT} ${JELLYFIN_RESTART_OPT} ${JELLYFIN_FFMPEG_OPT} ${JELLYFIN_SERVICE_OPT} ${JELLYFIN_NOWEBAPP_OPT} +TimeoutSec=15 +Restart=on-failure +User=jellyfin +Group=jellyfin + +# Environment variables +# To override these variables, use a drop-in systemd file. +# See `man 5 systemd.unit` for details. + +# Program directories +Environment="JELLYFIN_DATA_DIR=/var/lib/jellyfin" +Environment="JELLYFIN_CONFIG_DIR=/etc/jellyfin" +Environment="JELLYFIN_LOG_DIR=/var/log/jellyfin" +Environment="JELLYFIN_CACHE_DIR=/var/cache/jellyfin" + +# [OPTIONAL] Web client path +#Environment="JELLYFIN_WEB_OPT=--webdir=/usr/share/jellyfin-web" + +# [OPTIONAL] In-App service control +#Environment="JELLYFIN_RESTART_OPT=--restartpath=/usr/lib/jellyfin/restart.sh" + +# [OPTIONAL] ffmpeg binary paths, overriding the UI-configured values +#Environment="JELLYFIN_FFMPEG_OPT=--ffmpeg=/usr/bin/ffmpeg" + +# [OPTIONAL] run Jellyfin as a headless service +#Environment="JELLYFIN_SERVICE_OPT=--service" + +# [OPTIONAL] run Jellyfin without the web app +#Environment="JELLYFIN_NOWEBAPP_OPT=--noautorunwebapp" + +# [OPTIONAL] run Jellyfin with ASP.NET Server Garbage Collection (uses more RAM and less CPU than Workstation GC) +# 0 = Workstation +# 1 = Server +#Environment="COMPlus_gcServer=1" + +[Install] +WantedBy=multi-user.target + diff --git a/jellyfin-server/sysusers.conf b/jellyfin-server/sysusers.conf new file mode 100644 index 0000000..564134e --- /dev/null +++ b/jellyfin-server/sysusers.conf @@ -0,0 +1 @@ +u jellyfin - "Jellyfin default user" /var/lib/jellyfin diff --git a/jellyfin-server/tmpfiles.conf b/jellyfin-server/tmpfiles.conf new file mode 100644 index 0000000..7b8a397 --- /dev/null +++ b/jellyfin-server/tmpfiles.conf @@ -0,0 +1,4 @@ +d /var/cache/jellyfin 0750 jellyfin jellyfin +d /var/lib/jellyfin 0750 jellyfin jellyfin +d /var/log/jellyfin 0750 jellyfin jellyfin +d /etc/jellyfin 0750 jellyfin jellyfin