thinrasp/etc_org/init.d/brltty
2019-11-26 21:36:24 +01:00

89 lines
2.1 KiB
Bash
Executable File

#! /bin/sh
### BEGIN INIT INFO
# Provides: brltty
# Required-Start: mountkernfs
# Required-Stop:
# Should-Start: udev
# Should-Stop:
# Default-Start: S
# Default-Stop:
# Short-Description: Braille terminal driver
# Description: Used to provide access to refreshable braille terminals.
### END INIT INFO
set -e
DAEMON=/sbin/brltty
NAME=brltty
DESC='Braille terminal driver'
test -f $DAEMON || exit 0
# /etc/brltty.conf may need to be propagated from the initramfs. (This is a
# pretty awful hack.)
if [ -e /dev/.initramfs/brltty.conf ] && [ -e /etc/default/brltty ]; then
mv /dev/.initramfs/brltty.conf /etc/brltty.conf
sed -i -e 's/^RUN_BRLTTY=.*/RUN_BRLTTY=yes/' /etc/default/brltty
fi
[ -r /etc/default/brltty ] && . /etc/default/brltty
# Edit /etc/default/brltty and set RUN_BRLTTY=yes to allow brltty to be
# started.
if [ "$RUN_BRLTTY" != yes ]; then
exit 0
fi
set -e
[ -r /etc/default/locale ] && . /etc/default/locale
[ -n "$LANG" ] && export LANG
. /lib/lsb/init-functions
case "$1" in
start)
if [ "$RUNLEVEL" = "S" -a "$PREVLEVEL" = "N" ]; then
if [ "$START_IN_INITRAMFS" = "true" -o "$START_IN_INITRAMFS" = "yes" ]; then
if $0 status >/dev/null; then
$0 stop
else
log_warning_msg 'BRLTTY was not running, did you forget to invoke "update-initramfs -u"?'
fi
fi
fi
log_daemon_msg "Starting $DESC" "$NAME"
if start-stop-daemon --start --oknodo --exec $DAEMON -- $ARGUMENTS; then
log_end_msg 0
else
log_end_msg 1
fi
;;
stop)
log_daemon_msg "Stopping $DESC" "$NAME"
if start-stop-daemon --stop --quiet --oknodo --retry 5 --exec $DAEMON; then
log_end_msg 0
else
log_end_msg 1
fi
;;
restart|force-reload)
log_daemon_msg "Restarting $DESC" "$NAME"
start-stop-daemon --stop --quiet --retry 5 --exec $DAEMON
if start-stop-daemon --start --quiet --exec $DAEMON -- $ARGUMENTS; then
log_end_msg 0
else
log_end_msg 1
fi
;;
status)
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
;;
*)
echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload|status}" >&2
exit 1
;;
esac
exit 0