The following changes were made

* killproc in init script now properly uses PID files
  * pidofproc now checks PID files in init script
  * Will no longer attempt to start klogd if running in container
  * Updated default syslog.conf to prevent annoying 'noone' errors
  * Updated usher to use /bin/sh
  * Removed chroot from usher (will be performed by latest snap)
This commit is contained in:
2017-12-02 16:51:21 -06:00
parent 9f9452db63
commit a17524bbcf
4 changed files with 53 additions and 41 deletions

View File

@@ -16,7 +16,7 @@ DESC = This package implements two system log daemons. The syslogd daemon \
is an enhanced version of the standard Berkeley utility program. The klogd \ is an enhanced version of the standard Berkeley utility program. The klogd \
daemon listens to kernel message sources and is responsible for prioritizing \ daemon listens to kernel message sources and is responsible for prioritizing \
and processing operating system messages. and processing operating system messages.
SNAPVER = 6 SNAPVER = 7
ARCHIVE := $(PWD)/SRC/$(shell ls SRC|egrep '(bz2|gz|tar|xz)$$'|tail -1) ARCHIVE := $(PWD)/SRC/$(shell ls SRC|egrep '(bz2|gz|tar|xz)$$'|tail -1)
TYPE := $(shell file -ib $(ARCHIVE)|cut -d';' -f1|tr -d '\n') TYPE := $(shell file -ib $(ARCHIVE)|cut -d';' -f1|tr -d '\n')

View File

@@ -12,39 +12,52 @@
### END INIT INFO ### END INIT INFO
SYSLOGD="/sbin/syslogd" SYSLOGD="/sbin/syslogd"
SPIDFILE="/var/run/syslogd.pid"
KLOGD="/sbin/klogd" KLOGD="/sbin/klogd"
KPIDFILE="/var/run/klogd.pid"
. /lib/lsb/init-functions . /lib/lsb/init-functions
[ -r /etc/default/sysklogd ] && . /etc/default/sysklogd [ -r /etc/default/sysklogd ] && . /etc/default/sysklogd
case "$1" in case "$1" in
start) start)
log_init_msg "Starting system log daemon" log_init_msg "Starting system log daemon"
start_daemon "$SYSLOGD" "$SYSLOGD_OPTIONS" && log_success_msg || \ start_daemon "$SYSLOGD" "$SYSLOGD_OPTIONS" && log_success_msg || \
log_failure_msg log_failure_msg
log_init_msg "Starting kernel log daemon" if [ -z "$container" ]; then
start_daemon "$KLOGD" "$KLOGD_OPTIONS" && log_success_msg || log_failure_msg log_init_msg "Starting kernel log daemon"
;; start_daemon "$KLOGD" "$KLOGD_OPTIONS" && log_success_msg || \
log_failure_msg
fi
;;
stop) stop)
log_init_msg "Stopping kernel log daemon" log_init_msg "Stopping system log daemon"
killproc /sbin/klogd && log_success_msg || log_failure_msg killproc -p "$SPIDFILE" "$SYSLOGD" && log_success_msg || log_failure_msg
log_init_msg "Stopping system log daemon" if [ -z "$container" ]; then
killproc /sbin/syslogd && log_success_msg || log_failure_msg log_init_msg "Stopping kernel log daemon"
;; killproc -p "$KPIDFILE" "$KLOGD" && log_success_msg || log_failure_msg
fi
;;
reload) reload)
log_init_msg "Reloading system log daemon config file" log_init_msg "Reloading system log daemon config file"
killproc "$SYSLOGD" -HUP && log_success_msg || log_failure_msg killproc -p "$SPIDFILE" "$SYSLOGD" -HUP && log_success_msg || \
;; log_failure_msg
if [ -z "$container" ]; then
killproc -p "$KPIDFILE" "$KLOGD" -USR2 && log_success_msg || \
log_failure_msg
fi
;;
restart) restart)
$0 stop $0 stop
sleep 1 sleep 1
$0 start $0 start
;; ;;
status) status)
pid=$(pidofproc "$SYSLOGD"); pid=$(pidofproc -p "$SPIDFILE" "$SYSLOGD");
if [ "$?" -ne 0 ]; then if [ "$?" -ne 0 ]; then
echo "System log daemon is not runing" echo "System log daemon is not runing"
@@ -52,12 +65,14 @@ case "$1" in
echo "System log daemon running with PID: $pid" echo "System log daemon running with PID: $pid"
fi fi
pid=$(pidofproc "$KLOGD"); if [ -z "$container" ]; then
pid=$(pidofproc -p "$KPIDFILE" "$KLOGD");
if [ "$?" -ne 0 ]; then if [ "$?" -ne 0 ]; then
echo "Kernel log daemon is not runing" echo "Kernel log daemon is not runing"
else else
echo "Kernel log daemon running with PID: $pid" echo "Kernel log daemon running with PID: $pid"
fi
fi fi
;; ;;
*) *)

View File

@@ -15,12 +15,12 @@ mail.warn -/var/log/mail.warn
mail.err -/var/log/mail.err mail.err -/var/log/mail.err
# Catch all logs # Catch all logs
*.=debug;\ *.=debug; \
auth,authpriv.none;\ auth,authpriv.none; \
news.none;mail.none -/var/log/debug news.none;mail.none -/var/log/debug
*.=info;*.=notice;*.=warn;\ *.=info;*.=notice;*.=warn; \
auth,authpriv.none;\ auth,authpriv.none; \
cron,daemon.none;\ cron,daemon.none; \
mail,news.none -/var/log/messages mail,news.none -/var/log/messages
# Logging of emergency messages # Logging of emergency messages

View File

@@ -1,4 +1,4 @@
#!/bin/bash #!/bin/sh
set -e set -e
@@ -7,21 +7,18 @@ case $1 in
exit 0 exit 0
;; ;;
postinst) postinst)
if [ ! -f ${TARGET}/etc/syslog.conf ]; then if [ ! -f /etc/syslog.conf ]; then
install -m 644 ${TARGET}/usr/share/sysklogd/syslog.conf \ install -m 644 /usr/share/sysklogd/syslog.conf /etc/syslog.conf
${TARGET}/etc/syslog.conf
fi fi
if [ ! -f ${TARGET}/etc/default/sysklogd ]; then if [ ! -f /etc/default/sysklogd ]; then
install -m 644 ${TARGET}/usr/share/sysklogd/sysklogd.default \ install -m 644 /usr/share/sysklogd/sysklogd.default /etc/default/sysklogd
${TARGET}/etc/default/sysklogd
fi fi
if [[ ! ${TARGET} ]]; then if [ -f /var/run/syslogd.pid ]; then
/etc/init.d/sysklogd restart /etc/init.d/sysklogd restart
update-rc enable sysklogd
else
chroot ${TARGET} update-rc enable sysklogd
fi fi
update-rc enable sysklogd
;; ;;
prerm) prerm)
exit 0 exit 0