mirror of
https://github.com/SuperBFG7/ympd
synced 2024-11-23 05:17:18 +00:00
5abfdfda7b
init script: depend on $remote_fs instead of $local_fs. Reason: /usr can be mounted a remote filesystem. Also depend on mpd (instead of $mpd, which doesn't seem to exist.. at least on my system) Also provide a default config (which should be installed as /etc/default/ympd) This commit makes the systemd unit file as well as the init script load values from this configuration file so the user can change ympd settings easily when running it as a service.
106 lines
2.6 KiB
Bash
Executable File
106 lines
2.6 KiB
Bash
Executable File
#!/bin/sh
|
|
### BEGIN INIT INFO
|
|
# Provides: ympd
|
|
# Required-Start: $remote_fs mpd
|
|
# Required-Stop: $remote_fs mpd
|
|
# Default-Start: 2 3 4 5
|
|
# Default-Stop: 0 1 6
|
|
# Short-Description: Daemonized version of ympd.
|
|
# Description: Enable service provided by ympd.
|
|
### END INIT INFO
|
|
#Author: Andrew Karpow <andy@ndyk.de>
|
|
|
|
. /lib/lsb/init-functions
|
|
|
|
PATH=/sbin:/usr/sbin:/bin:/usr/bin
|
|
DESC="ympd Daemon"
|
|
NAME=ympd
|
|
DAEMON=/usr/bin/$NAME
|
|
PIDFILE=/var/run/$NAME.pid
|
|
SCRIPTNAME=/etc/init.d/$NAME
|
|
LOG_OUT=/var/log/$NAME.out
|
|
LOG_ERR=/var/log/$NAME.err
|
|
YMPD_USER=nobody
|
|
MPD_HOST=localhost
|
|
MPD_PORT=6600
|
|
WEB_PORT=8080
|
|
|
|
|
|
# Exit if the package is not installed
|
|
[ -x "$DAEMON" ] || exit 0
|
|
|
|
# Read configuration variable file if it is present
|
|
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
|
|
|
|
# Load the VERBOSE setting and other rcS variables
|
|
[ -f /etc/default/rcS ] && . /etc/default/rcS
|
|
|
|
DAEMON_OPT="--user $YMPD_USER --webport $MPD_WEBHOST --host $MPD_HOST --port $MPD_PORT"
|
|
|
|
do_start()
|
|
{
|
|
start-stop-daemon --start --background --quiet --pidfile $PIDFILE --make-pidfile \
|
|
--exec $DAEMON --test > /dev/null || return 1
|
|
start-stop-daemon --start --background --quiet --pidfile $PIDFILE --make-pidfile \
|
|
--exec $DAEMON -- $DAEMON_OPT || return 2
|
|
}
|
|
|
|
do_stop()
|
|
{
|
|
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
|
|
RETVAL="$?"
|
|
|
|
[ "$RETVAL" = 2 ] && return 2
|
|
rm -f $PIDFILE
|
|
return "$RETVAL"
|
|
}
|
|
|
|
case "$1" in
|
|
start)
|
|
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
|
|
do_start
|
|
case "$?" in
|
|
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
|
|
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
|
|
esac
|
|
;;
|
|
stop)
|
|
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
|
|
do_stop
|
|
case "$?" in
|
|
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
|
|
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
|
|
esac
|
|
;;
|
|
status)
|
|
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
|
|
;;
|
|
restart|force-reload)
|
|
#
|
|
# If the "reload" option is implemented then remove the
|
|
# 'force-reload' alias
|
|
#
|
|
log_daemon_msg "Restarting $DESC" "$NAME"
|
|
do_stop
|
|
case "$?" in
|
|
0|1)
|
|
do_start
|
|
case "$?" in
|
|
0) log_end_msg 0 ;;
|
|
1) log_end_msg 1 ;; # Old process is still running
|
|
*) log_end_msg 1 ;; # Failed to start
|
|
esac
|
|
;;
|
|
*)
|
|
# Failed to stop
|
|
log_end_msg 1
|
|
;;
|
|
esac
|
|
;;
|
|
*)
|
|
echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
|
|
exit 3
|
|
;;
|
|
esac
|
|
|