From 8046d7c25dce7dd6af0642b570944bc165f865fa Mon Sep 17 00:00:00 2001 From: Andreas Messer Date: Sat, 6 Jan 2018 18:59:31 +0100 Subject: Fix several issues found by review --- debian/elogind.init | 133 +++++++++++++++++++++++----------------------------- 1 file changed, 59 insertions(+), 74 deletions(-) (limited to 'debian/elogind.init') diff --git a/debian/elogind.init b/debian/elogind.init index 6c1177e3e..e08335f91 100644 --- a/debian/elogind.init +++ b/debian/elogind.init @@ -1,19 +1,19 @@ #! /bin/sh - ### BEGIN INIT INFO -# Provides: logind -# Required-Start: $dbus $remote_fs $syslog -# Required-Stop: $dbus $remote_fs $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: -# Short-Description: elogind session management daemon +# Provides: elogind +# Required-Start: dbus $remote_fs $syslog +# Required-Stop: dbus $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: start elogind at boot tim +# Description: Enable user and session management by elogind ### END INIT INFO set -e # /etc/init.d/elogind: start and stop the elogind session management daemon -ELOGIND=/lib/elogind/elogind +ELOGIND=/usr/sbin/elogind test -x $ELOGIND || exit 0 @@ -22,82 +22,67 @@ umask 022 . /lib/lsb/init-functions ELOGIND_OPTS="-D" - -# Are we running from init? -run_by_init() { - ([ "$previous" ] && [ "$runlevel" ]) || [ "$runlevel" = S ] -} - -check_for_upstart() { - if init_is_upstart; then - exit $1 - fi -} +ELOGIND_PID=/run/elogind.pid export PATH="${PATH:+$PATH:}/usr/sbin:/sbin" case "$1" in start) - check_for_upstart 1 - log_daemon_msg "Starting session management daemon" "elogind" || true - if start-stop-daemon --start --quiet --oknodo --pidfile /run/elogin.pid --exec $ELOGIND -- $ELOGIND_OPTS; then - log_end_msg 0 || true - else - log_end_msg 1 || true - fi - ;; + log_daemon_msg "Starting session management daemon" "elogind" || true + if start-stop-daemon --start --quiet --oknodo --pidfile $ELOGIND_PID --exec $ELOGIND -- $ELOGIND_OPTS; then + log_end_msg 0 || true + else + log_end_msg 1 || true + fi + ;; stop) - check_for_upstart 0 - log_daemon_msg "Stopping session management daemon" "elogind" || true - if start-stop-daemon --stop --quiet --oknodo --pidfile /run/elogind.pid; then - log_end_msg 0 || true - else - log_end_msg 1 || true - fi - ;; + log_daemon_msg "Stopping session management daemon" "elogind" || true + if start-stop-daemon --stop --quiet --oknodo --pidfile $ELOGIND_PID; then + log_end_msg 0 || true + else + log_end_msg 1 || true + fi + ;; reload|force-reload|restart) - check_for_upstart 1 - log_daemon_msg "Restarting session management daemon" "elogind" || true - start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile /run/elogind.pid - if start-stop-daemon --start --quiet --oknodo --pidfile /run/elogind.pid --exec $ELOGIND -- $ELOGIND_OPTS; then - log_end_msg 0 || true - else - log_end_msg 1 || true - fi - ;; + log_daemon_msg "Restarting session management daemon" "elogind" || true + start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $ELOGIND_PID + if start-stop-daemon --start --quiet --oknodo --pidfile $ELOGIND_PID --exec $ELOGIND -- $ELOGIND_OPTS; then + log_end_msg 0 || true + else + log_end_msg 1 || true + fi + ;; try-restart) - check_for_upstart 1 - log_daemon_msg "Restarting session management daemon" "elogind" || true - RET=0 - start-stop-daemon --stop --quiet --retry 30 --pidfile /run/elogind.pid || RET="$?" - case $RET in - 0) - # old daemon stopped - if start-stop-daemon --start --quiet --oknodo --pidfile /run/elogind.pid --exec $ELOGIND -- $ELOGIND_OPTS; then - log_end_msg 0 || true - else - log_end_msg 1 || true - fi - ;; - 1) - # daemon not running - log_progress_msg "(not running)" || true - log_end_msg 0 || true - ;; - *) - # failed to stop - log_progress_msg "(failed to stop)" || true - log_end_msg 1 || true - ;; - esac - ;; + log_daemon_msg "Restarting session management daemon" "elogind" || true + RET=0 + start-stop-daemon --stop --quiet --retry 30 --pidfile $ELOGIND_PID || RET="$?" + case $RET in + 0) + # old daemon stopped + if start-stop-daemon --start --quiet --oknodo --pidfile $ELOGIND_PID --exec $ELOGIND -- $ELOGIND_OPTS; then + log_end_msg 0 || true + else + log_end_msg 1 || true + fi + ;; + 1) + # daemon not running + log_progress_msg "(not running)" || true + log_end_msg 0 || true + ;; + *) + # failed to stop + log_progress_msg "(failed to stop)" || true + log_end_msg 1 || true + ;; + esac + ;; status) - check_for_upstart 1 - status_of_proc -p /run/elogind.pid $ELOGIND elogind && exit 0 || exit $? - ;; + status_of_proc -p $ELOGIND_PID $ELOGIND elogind && exit 0 || exit $? + ;; *) - log_action_msg "Usage: /etc/init.d/elogind {start|stop|reload|force-reload|restart|try-restart|status}" || true - exit 1 + log_action_msg "Usage: /etc/init.d/elogind {start|stop|reload|force-reload|restart|try-restart|status}" || true + exit 1 esac exit 0 -- cgit v1.2.3