rsyslog: rewrite init script

- Rename it to S01rsyslogd to make every init script be called the same
  as the executable it starts.
- Support a /etc/default/rsyslogd configuration file.
- Indent with tabs, not spaces.

Signed-off-by: Carlos Santos <casantos@datacom.com.br>
Reviewed-by: Matt Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
Carlos Santos 2018-11-06 22:49:10 -02:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent 8b87d87688
commit 5e5c2e2194
3 changed files with 55 additions and 38 deletions

View File

@ -1,36 +0,0 @@
#!/bin/sh
start() {
printf "Starting rsyslog daemon: "
start-stop-daemon -S -q -p /var/run/rsyslogd.pid --exec /usr/sbin/rsyslogd
[ $? = 0 ] && echo "OK" || echo "FAIL"
}
stop() {
printf "Stopping rsyslog daemon: "
start-stop-daemon -K -q -p /var/run/rsyslogd.pid
[ $? = 0 ] && echo "OK" || echo "FAIL"
}
restart() {
stop
sleep 1
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
restart
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?

View File

@ -0,0 +1,53 @@
#!/bin/sh
DAEMON="rsyslogd"
PIDFILE="/var/run/$DAEMON.pid"
RSYSLOGD_ARGS=""
# shellcheck source=/dev/null
[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
start() {
printf 'Starting %s: ' "$DAEMON"
# shellcheck disable=SC2086 # we need the word splitting
start-stop-daemon -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \
-- $RSYSLOGD_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
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
restart() {
stop
sleep 1
start
}
case "$1" in
start|stop|restart)
"$1";;
reload)
# Restart, since there is no true "reload" feature (does not
# reconfigure/restart on SIGHUP, just closes all open files).
restart;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac

View File

@ -72,8 +72,8 @@ RSYSLOG_CONF_OPTS += \
endif
define RSYSLOG_INSTALL_INIT_SYSV
$(INSTALL) -m 0755 -D package/rsyslog/S01logging \
$(TARGET_DIR)/etc/init.d/S01logging
$(INSTALL) -m 0755 -D package/rsyslog/S01rsyslogd \
$(TARGET_DIR)/etc/init.d/S01rsyslogd
endef
# The rsyslog.service is installed by rsyslog, but the link is not created