8974596836
Also recreate config.xml by building and running Gerbera using: ``` ~/buildroot/output/target/usr/bin/gerbera --create-config > package/gerbera/config.xml ``` Note, that Gerbera sets the `<home>` parameter now to the runtime user's home by default when generating the script. This is not appropriate when running Gerbera on an embedded Linux system as we usually do not have multiple users or even users at all. Therefore, we set the home directory to /var/lib/gerbera`. As this directory is not created when installing Gerbera to the target, it is created by the start script. Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
56 lines
1011 B
Bash
56 lines
1011 B
Bash
#!/bin/sh
|
|
|
|
DAEMON="gerbera"
|
|
PIDFILE="/var/run/$DAEMON.pid"
|
|
|
|
GERBERA_ARGS="-c /etc/gerbera/config.xml -l /var/log/gerbera.log"
|
|
|
|
# shellcheck source=/dev/null
|
|
[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
|
|
|
|
# (Re)create home directory
|
|
mkdir -p /var/lib/$DAEMON
|
|
|
|
start() {
|
|
printf 'Starting %s: ' "$DAEMON"
|
|
# shellcheck disable=SC2086 # we need the word splitting
|
|
start-stop-daemon -S -q -m -b -p "$PIDFILE" -x "/usr/bin/$DAEMON" \
|
|
-- $GERBERA_ARGS
|
|
status=$?
|
|
if [ "$status" -eq 0 ]; then
|
|
echo "OK"
|
|
else
|
|
echo "FAIL"
|
|
fi
|
|
return "$status"
|
|
}
|
|
|
|
stop() {
|
|
printf 'Stopping %s: ' "$DAEMON"
|
|
start-stop-daemon -K -q -p "$PIDFILE"
|
|
status=$?
|
|
if [ "$status" -eq 0 ]; then
|
|
rm -f "$PIDFILE"
|
|
echo "OK"
|
|
else
|
|
echo "FAIL"
|
|
fi
|
|
return "$status"
|
|
}
|
|
|
|
restart() {
|
|
stop
|
|
start
|
|
}
|
|
|
|
case "$1" in
|
|
start|stop|restart)
|
|
"$1";;
|
|
reload)
|
|
# Restart, since there is no true "reload" feature.
|
|
restart;;
|
|
*)
|
|
echo "Usage: $0 {start|stop|restart|reload}"
|
|
exit 1
|
|
esac
|