From 44156738639e32c406c79760e8a3663add107144 Mon Sep 17 00:00:00 2001 From: Rafael Baboni Dominiquini Date: Sat, 12 Apr 2025 10:14:42 -0300 Subject: [PATCH] restore old systemd files --- contrib/package/arch/PKGBUILD | 9 ++++++- contrib/package/arch/copyparty.service | 33 ++++++++++++++++++++++++ contrib/package/arch/prisonparty.service | 33 ++++++++++++++++++++++++ 3 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 contrib/package/arch/copyparty.service create mode 100644 contrib/package/arch/prisonparty.service diff --git a/contrib/package/arch/PKGBUILD b/contrib/package/arch/PKGBUILD index 6604819d..ba6ec466 100644 --- a/contrib/package/arch/PKGBUILD +++ b/contrib/package/arch/PKGBUILD @@ -21,7 +21,9 @@ optdepends=("ffmpeg: thumbnails for videos, images (slower) and audio, music tag "python-impacket-git: smb support (bad idea)" ) source=("https://github.com/9001/${pkgname}/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.gz") -backup=("etc/${pkgname}.d/init" ) +backup=("etc/${pkgname}.d/init" + "usr/lib/systemd/system/${pkgname}.service" + "usr/lib/systemd/system/prisonparty.service") sha256sums=("e18a4a6943d47e87c94ac0bf76006de7674ad78155608b23192e527472e59291") build() { @@ -42,7 +44,9 @@ package() { install -dm755 "${pkgdir}/etc/${pkgname}.d" install -Dm755 "bin/prisonparty.sh" "${pkgdir}/usr/bin/prisonparty" install -Dm644 "contrib/package/arch/${pkgname}.conf" "${pkgdir}/etc/${pkgname}.d/init" + install -Dm644 "contrib/package/arch/${pkgname}.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}.service" install -Dm644 "contrib/package/arch/${pkgname}@.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}@.service" + install -Dm644 "contrib/package/arch/prisonparty.service" "${pkgdir}/usr/lib/systemd/system/prisonparty.service" install -Dm644 "contrib/package/arch/prisonparty@.service" "${pkgdir}/usr/lib/systemd/system/prisonparty@.service" install -Dm644 "contrib/package/arch/index.md" "${pkgdir}/var/lib/${pkgname}-jail/README.md" install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" @@ -50,5 +54,8 @@ package() { find /etc/${pkgname}.d -iname '*.conf' 2>/dev/null | grep -qE . && return echo "┏━━━━━━━━━━━━━━━──-" echo "┃ Configure ${pkgname} by adding .conf files into /etc/${pkgname}.d/" + echo "┃ and maybe copy+edit one of the following to /etc/systemd/system/:" + echo "┣━♦ /usr/lib/systemd/system/${pkgname}.service (standard)" + echo "┣━♦ /usr/lib/systemd/system/prisonparty.service (chroot)" echo "┗━━━━━━━━━━━━━━━──-" } diff --git a/contrib/package/arch/copyparty.service b/contrib/package/arch/copyparty.service new file mode 100644 index 00000000..2479b790 --- /dev/null +++ b/contrib/package/arch/copyparty.service @@ -0,0 +1,33 @@ +# this will start `/usr/bin/copyparty-sfx.py` +# and read config from `/etc/copyparty.d/*.conf` +# +# you probably want to: +# change "User=cpp" "Group=cpp" and "/home/cpp/" to another user +# +# unless you add -q to disable logging, you may want to remove the +# following line to allow buffering (slightly better performance): +# Environment=PYTHONUNBUFFERED=x + +[Unit] +Description=copyparty file server + +[Service] +Type=notify +SyslogIdentifier=copyparty +Environment=PYTHONUNBUFFERED=x +WorkingDirectory=/var/lib/copyparty-jail +ExecReload=/bin/kill -s USR1 $MAINPID + +# user to run as + where the TLS certificate is (if any) +User=cpp +Group=cpp +Environment=XDG_CONFIG_HOME=/home/cpp/.config + +# stop systemd-tmpfiles-clean.timer from deleting copyparty while it's running +ExecStartPre=+/bin/bash -c 'mkdir -p /run/tmpfiles.d/ && echo "x /tmp/pe-copyparty*" > /run/tmpfiles.d/copyparty.conf' + +# run copyparty +ExecStart=/usr/bin/python3 /usr/bin/copyparty -c /etc/copyparty.d/init + +[Install] +WantedBy=multi-user.target diff --git a/contrib/package/arch/prisonparty.service b/contrib/package/arch/prisonparty.service new file mode 100644 index 00000000..cd35ba99 --- /dev/null +++ b/contrib/package/arch/prisonparty.service @@ -0,0 +1,33 @@ +# this will start `/usr/bin/copyparty-sfx.py` +# in a chroot, preventing accidental access elsewhere, +# and read copyparty config from `/etc/copyparty.d/*.conf` +# +# expose additional filesystem locations to copyparty +# by listing them between the last `cpp` and `--` +# +# `cpp cpp` = user/group to run copyparty as; can be IDs (1000 1000) +# +# unless you add -q to disable logging, you may want to remove the +# following line to allow buffering (slightly better performance): +# Environment=PYTHONUNBUFFERED=x + +[Unit] +Description=copyparty file server + +[Service] +SyslogIdentifier=prisonparty +Environment=PYTHONUNBUFFERED=x +WorkingDirectory=/var/lib/copyparty-jail +ExecReload=/bin/kill -s USR1 $MAINPID + +# stop systemd-tmpfiles-clean.timer from deleting copyparty while it's running +ExecStartPre=+/bin/bash -c 'mkdir -p /run/tmpfiles.d/ && echo "x /tmp/pe-copyparty*" > /run/tmpfiles.d/copyparty.conf' + +# run copyparty +ExecStart=/bin/bash /usr/bin/prisonparty /var/lib/copyparty-jail cpp cpp \ + /etc/copyparty.d \ + -- \ + /usr/bin/python3 /usr/bin/copyparty -c /etc/copyparty.d/init + +[Install] +WantedBy=multi-user.target