blob: 3cb69c5f404128d461c2ba248b662f8afdd9a83b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#!/sbin/openrc-run
if [ ! "${INDISERVER_USER}" ]; then
INDISERVER_USER="indiserver"
fi
description="indiserver - INDI astronomical control library server"
command="/usr/bin/indiserver"
command_args="${INDISERVER_OPTS} ${INDISERVER_DRIVERS}"
pidfile="/var/run/indiserver.pid"
start_stop_daemon_args="--pidfile ${pidfile} --make-pidfile --background --user ${INDISERVER_USER}"
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."
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
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."
exit 1
fi
else
ewarn "Strange. FIFO file ${INDISERVER_FIFO} already exists"
fi
fi
return 0
}
stop_post() {
if [ -p "${INDISERVER_FIFO}" ]; then
rm -rf "${INDISERVER_FIFO}"
fi
return 0
}
|