From 16b2c40fea63c915a0f85892ae192d534340d4ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ctibor=20Bran=C4=8D=C3=ADk?= Date: Thu, 20 Sep 2018 21:53:32 +0200 Subject: Update init script for indilib --- sci-libs/indilib/files/indiserver.sh | 19 +++++++++++++------ 1 file 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 -- cgit v1.2.3