blob: 8444109d3708ddb8d8c0b185e702905bf6f6740f (
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
43
44
45
46
47
48
49
|
#!/sbin/openrc-run
if [ ! "${INDISERVER_USER}" ]; then
INDISERVER_USER="indiserver"
fi
description="indiserver - INDI astronomical control library server"
command="/usr/bin/indiserver"
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}"
start_pre() {
IFS=' ' read -ra DRIVER <<< "${INDISERVER_DRIVERS}"
for file in "${DRIVER[@]}"; do
if [ ! -x /usr/bin/"${file}" ]; then
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 ! /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
chown indiserver:indiserver ${INDISERVER_FIFO}
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
}
|