diff options
Diffstat (limited to 'isdad-git')
-rw-r--r-- | isdad-git/PKGBUILD | 41 | ||||
-rw-r--r-- | isdad-git/isdad.service | 33 | ||||
-rw-r--r-- | isdad-git/sysusers.conf | 1 |
3 files changed, 75 insertions, 0 deletions
diff --git a/isdad-git/PKGBUILD b/isdad-git/PKGBUILD new file mode 100644 index 0000000..d4728c5 --- /dev/null +++ b/isdad-git/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: metamuffin <metamuffin@disroot.org> + +pkgname=isdad-git +pkgver=r20.6640da7 +pkgrel=3 +pkgdesc="Generic task queue server with scripts for downloading" +arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') +url="https://codeberg.org/metamuffin/isda" +license=('AGPL3') +conflics=('isdad') +provides=('isdad') +makedepends=('rustup') +source=("git+https://codeberg.org/metamuffin/isda.git" + "isdad.service" + "sysusers.conf") +sha256sums=("SKIP" + "SKIP" + "SKIP") + +rust_chost() { + sed -e "s/-pc-linux/-unknown-linux/" -e "s/armv7l-/armv7-/" <<< "$CHOST" +} + +pkgver() { + cd "isda" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} +prepare() { + cd "isda" + cargo +nightly fetch --locked --target "$(rust_chost)" +} +build() { + cd "isda" + cargo +nightly build --frozen --release --target "$(rust_chost)" +} +package() { + install -Dm755 isda/target/$(rust_chost)/release/isdad "$pkgdir/usr/bin/isdad" + install -Dm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/isdad.conf" + install -Dm644 isdad.service "$pkgdir/usr/lib/systemd/system/isdad.service" + install -Dm644 isda/COPYING "$pkgdir/usr/share/licenses/isdad/COPYING" +} diff --git a/isdad-git/isdad.service b/isdad-git/isdad.service new file mode 100644 index 0000000..0722231 --- /dev/null +++ b/isdad-git/isdad.service @@ -0,0 +1,33 @@ +[Unit] +Description=industrial-scale downloading agent daemon process +After=network.target +Wants=network-online.target + +[Service] +ExecStart=/usr/bin/isdad /etc/isda.yaml +WorkingDirectory=/var/lib/isda +User=isda +LockPersonality=yes +MemoryDenyWriteExecute=yes +NoNewPrivileges=yes +PrivateDevices=true +PrivateTmp=true +ProtectClock=yes +ProtectControlGroups=yes +ProtectHome=true +ProtectHostname=yes +ProtectKernelLogs=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +ProtectSystem=full +RestrictAddressFamilies=~AF_PACKET AF_NETLINK +RestrictNamespaces=yes +RestrictSUIDSGID=yes +RestrictRealtime=yes +Restart=always +SystemCallArchitectures=native +SystemCallFilter=@system-service +Type=simple + +[Install] +WantedBy=multi-user.target diff --git a/isdad-git/sysusers.conf b/isdad-git/sysusers.conf new file mode 100644 index 0000000..dd9f78b --- /dev/null +++ b/isdad-git/sysusers.conf @@ -0,0 +1 @@ +u isda - "industrial-scale downloading agent" - - |