summaryrefslogtreecommitdiff
path: root/sci-libs/indilib/files/indiserver.sh
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/indilib/files/indiserver.sh')
-rw-r--r--sci-libs/indilib/files/indiserver.sh19
1 files changed, 13 insertions, 6 deletions
diff --git a/sci-libs/indilib/files/indiserver.sh b/sci-libs/indilib/files/indiserver.sh
index 3cb69c5..8444109 100644
--- a/sci-libs/indilib/files/indiserver.sh
+++ b/sci-libs/indilib/files/indiserver.sh
@@ -1,12 +1,18 @@
#!/sbin/openrc-run
if [ ! "${INDISERVER_USER}" ]; then
- INDISERVER_USER="indiserver"
+ INDISERVER_USER="indiserver"
fi
description="indiserver - INDI astronomical control library server"
command="/usr/bin/indiserver"
-command_args="${INDISERVER_OPTS} ${INDISERVER_DRIVERS}"
+
+if [ "${INDISERVER_FIFO}" ]; then
+ command_args="${INDISERVER_OPTS} -f ${INDISERVER_FIFO} ${INDISERVER_DRIVERS}"
+else
+ command_args="${INDISERVER_OPTS} ${INDISERVER_DRIVERS}"
+fi
+
pidfile="/var/run/indiserver.pid"
start_stop_daemon_args="--pidfile ${pidfile} --make-pidfile --background --user ${INDISERVER_USER}"
@@ -14,19 +20,20 @@ start_pre() {
IFS=' ' read -ra DRIVER <<< "${INDISERVER_DRIVERS}"
for file in "${DRIVER[@]}"; do
if [ ! -x /usr/bin/"${file}" ]; then
- eerror "Driver ${file} not found. Check configuration file."
+ eerror "Driver ${file} not found. Please check configuration file."
exit 1
fi
done
if [ "${INDISERVER_FIFO}" ]; then
INDISERVER_OPTS="-f ${INDISERVER_FIFO} ${INDISERVER_OPTS}"
if [ ! -p "${INDISERVER_FIFO}" ]; then
- if ! su -m "${INDISERVER_USER}" -c "/usr/bin/mkfifo \"${INDISERVER_FIFO}\""; then
+ if ! /usr/bin/mkfifo ${INDISERVER_FIFO}; then
eerror "Could not create FIFO file in ${INDISERVER_FIFO}!"
- eerror "indiserver is started with user ${INDISERVER_USER}"
- eerror "Check permissions or unset INDISERVER_FIFO in config."
+ eerror "indiserver is started with user ${INDISERVER_USER}"
+ eerror "Check permissions or unset INDISERVER_FIFO in config."
exit 1
fi
+ chown indiserver:indiserver ${INDISERVER_FIFO}
else
ewarn "Strange. FIFO file ${INDISERVER_FIFO} already exists"
fi