diff options
| -rw-r--r-- | PKGBUILD | 52 | ||||
| -rwxr-xr-x | indiserver-systemd | 20 | ||||
| -rw-r--r-- | indiserver.conf | 8 | ||||
| -rw-r--r-- | indiserver.service | 27 | ||||
| -rw-r--r-- | indiserver.sysusers | 3 |
5 files changed, 110 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..40270f3 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,52 @@ +# Maintainer: Stijn Buys <ingar@telenet.be> + +# TODO +# create indiserver user and /var/lib/indiserver directory + +pkgname=indiserver-systemd +pkgver=0.1.0 +pkgrel=1 +pkgdesc="" +license=(LGPL2.1) +arch=(any) +depends=(libindi) +makedepends=() +conflicts=() +source=( + "indiserver.conf" + "indiserver.service" + "indiserver-systemd" + "indiserver.sysusers" +) +sha256sums=( + "9632e852af95df289fdb340590da792c49b7e7032fb8bd5d85a3455303a25946" + "60455b1bf64ded411cd660cf29d56d479e591d754e177d604c2416053fa9ca16" + "64b0197fd6296c201516e5f81e1edc4b4415e3d80663c3533c9ed249ab844d6a" + "43f1be09f500f4cf34000078e4fdba7d28a6bbbc7899ea5c7b8fd7644ff545e9" +) +backup=(etc/indiserver.conf) + +prepare() { + cd "${srcdir}" +} + +build() { + cd "${srcdir}" +} + +package() { + cd "${pkgdir}" + + install -d "etc/" + install -m 644 "${srcdir}/indiserver.conf" "etc/indiserver.conf" + + install -d "usr/lib/systemd/system/" + install -m 644 "${srcdir}/indiserver.service" "usr/lib/systemd/system/indiserver.service" + + install -d "usr/bin/" + install -m 755 "${srcdir}/indiserver-systemd" "usr/bin/indiserver-systemd" + + install -d "usr/lib/sysusers.d" + install -m 644 "${srcdir}/indiserver.sysusers" "usr/lib/sysusers.d/indiserver.conf" +} + diff --git a/indiserver-systemd b/indiserver-systemd new file mode 100755 index 0000000..cc3aafb --- /dev/null +++ b/indiserver-systemd @@ -0,0 +1,20 @@ +#!/bin/sh + +INDI_CONF=/etc/indiserver.conf + +if [ -r "${INDI_CONF}" ]; then + source "${INDI_CONF}" +else + echo "INDI server: could not open file ${INDI_CONF}" + exit 127 +fi + +if [ -z "${INDI_DRIVERS}" ]; then + echo "INDI server: no drivers defined in INDI_DRIVERS" + exit 127 +fi + +echo "Launching INDI server with drivers ${INDI_DRIVERS}" + +exec /usr/bin/indiserver -v ${INDI_DRIVERS} + diff --git a/indiserver.conf b/indiserver.conf new file mode 100644 index 0000000..f51d53d --- /dev/null +++ b/indiserver.conf @@ -0,0 +1,8 @@ +# +# /etc/indiserver.conf +# Configuration file for indiserver-systemd +# + +# INDI drivers to load +INDI_DRIVERS="indi_omegonprocam_ccd indi_asi_ccd indi_eqmod_telescope" + diff --git a/indiserver.service b/indiserver.service new file mode 100644 index 0000000..1a10ef0 --- /dev/null +++ b/indiserver.service @@ -0,0 +1,27 @@ +# systemd unit file for INDI server + +[Unit] +Description=server for local and remote INDI drivers +Wants=network.target +After=syslog.target network-online.target + +[Service] +Type=simple +Restart=on-failure +RestartSec=30 +User=indiserver +Group=indiserver + +PrivateUsers=true +ProtectSystem=false +ProtectHome=false +ProtectKernelTunables=true +ProtectKernelModules=true +ProtectControlGroups=true + +WorkingDirectory=/var/lib/indiserver +ExecStart=/usr/bin/indiserver-systemd + +[Install] +WantedBy=multi-user.target + diff --git a/indiserver.sysusers b/indiserver.sysusers new file mode 100644 index 0000000..eec7234 --- /dev/null +++ b/indiserver.sysusers @@ -0,0 +1,3 @@ +# service account for INDI server +u! indiserver 6006 "INDI server service account" /var/lib/indiserver /usr/bin/bash +m indiserver uucp |
