From a17524bbcfce974d13e760fb5d45e47dbca7c635 Mon Sep 17 00:00:00 2001 From: Jay Larson Date: Sat, 2 Dec 2017 16:51:21 -0600 Subject: [PATCH] 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) --- Makefile | 2 +- SNAP/sysklogd.init | 63 ++++++++++++++++++++++++++++------------------ SNAP/syslog.conf | 10 ++++---- SNAP/usher | 19 ++++++-------- 4 files changed, 53 insertions(+), 41 deletions(-) diff --git a/Makefile b/Makefile index 26e3449..1d70f21 100644 --- a/Makefile +++ b/Makefile @@ -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 \ daemon listens to kernel message sources and is responsible for prioritizing \ and processing operating system messages. -SNAPVER = 6 +SNAPVER = 7 ARCHIVE := $(PWD)/SRC/$(shell ls SRC|egrep '(bz2|gz|tar|xz)$$'|tail -1) TYPE := $(shell file -ib $(ARCHIVE)|cut -d';' -f1|tr -d '\n') diff --git a/SNAP/sysklogd.init b/SNAP/sysklogd.init index 55528ab..f22d687 100755 --- a/SNAP/sysklogd.init +++ b/SNAP/sysklogd.init @@ -12,39 +12,52 @@ ### END INIT INFO SYSLOGD="/sbin/syslogd" +SPIDFILE="/var/run/syslogd.pid" KLOGD="/sbin/klogd" +KPIDFILE="/var/run/klogd.pid" . /lib/lsb/init-functions [ -r /etc/default/sysklogd ] && . /etc/default/sysklogd case "$1" in start) - log_init_msg "Starting system log daemon" - start_daemon "$SYSLOGD" "$SYSLOGD_OPTIONS" && log_success_msg || \ - log_failure_msg + log_init_msg "Starting system log daemon" + start_daemon "$SYSLOGD" "$SYSLOGD_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 - ;; + if [ -z "$container" ]; then + log_init_msg "Starting kernel log daemon" + start_daemon "$KLOGD" "$KLOGD_OPTIONS" && log_success_msg || \ + log_failure_msg + fi + ;; stop) - log_init_msg "Stopping kernel log daemon" - killproc /sbin/klogd && log_success_msg || log_failure_msg + log_init_msg "Stopping system log daemon" + killproc -p "$SPIDFILE" "$SYSLOGD" && log_success_msg || log_failure_msg - log_init_msg "Stopping system log daemon" - killproc /sbin/syslogd && log_success_msg || log_failure_msg - ;; + if [ -z "$container" ]; then + log_init_msg "Stopping kernel log daemon" + killproc -p "$KPIDFILE" "$KLOGD" && log_success_msg || log_failure_msg + fi + ;; reload) - log_init_msg "Reloading system log daemon config file" - killproc "$SYSLOGD" -HUP && log_success_msg || log_failure_msg - ;; + log_init_msg "Reloading system log daemon config file" + 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) - $0 stop - sleep 1 - $0 start - ;; + $0 stop + sleep 1 + $0 start + ;; status) - pid=$(pidofproc "$SYSLOGD"); + pid=$(pidofproc -p "$SPIDFILE" "$SYSLOGD"); if [ "$?" -ne 0 ]; then echo "System log daemon is not runing" @@ -52,12 +65,14 @@ case "$1" in echo "System log daemon running with PID: $pid" fi - pid=$(pidofproc "$KLOGD"); + if [ -z "$container" ]; then + pid=$(pidofproc -p "$KPIDFILE" "$KLOGD"); - if [ "$?" -ne 0 ]; then - echo "Kernel log daemon is not runing" - else - echo "Kernel log daemon running with PID: $pid" + if [ "$?" -ne 0 ]; then + echo "Kernel log daemon is not runing" + else + echo "Kernel log daemon running with PID: $pid" + fi fi ;; *) diff --git a/SNAP/syslog.conf b/SNAP/syslog.conf index 22ea738..3486ee5 100644 --- a/SNAP/syslog.conf +++ b/SNAP/syslog.conf @@ -15,12 +15,12 @@ mail.warn -/var/log/mail.warn mail.err -/var/log/mail.err # Catch all logs -*.=debug;\ - auth,authpriv.none;\ +*.=debug; \ + auth,authpriv.none; \ news.none;mail.none -/var/log/debug -*.=info;*.=notice;*.=warn;\ - auth,authpriv.none;\ - cron,daemon.none;\ +*.=info;*.=notice;*.=warn; \ + auth,authpriv.none; \ + cron,daemon.none; \ mail,news.none -/var/log/messages # Logging of emergency messages diff --git a/SNAP/usher b/SNAP/usher index d89c30b..073f0c7 100755 --- a/SNAP/usher +++ b/SNAP/usher @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh set -e @@ -7,21 +7,18 @@ case $1 in exit 0 ;; postinst) - if [ ! -f ${TARGET}/etc/syslog.conf ]; then - install -m 644 ${TARGET}/usr/share/sysklogd/syslog.conf \ - ${TARGET}/etc/syslog.conf + if [ ! -f /etc/syslog.conf ]; then + install -m 644 /usr/share/sysklogd/syslog.conf /etc/syslog.conf fi - if [ ! -f ${TARGET}/etc/default/sysklogd ]; then - install -m 644 ${TARGET}/usr/share/sysklogd/sysklogd.default \ - ${TARGET}/etc/default/sysklogd + if [ ! -f /etc/default/sysklogd ]; then + install -m 644 /usr/share/sysklogd/sysklogd.default /etc/default/sysklogd fi - if [[ ! ${TARGET} ]]; then + if [ -f /var/run/syslogd.pid ]; then /etc/init.d/sysklogd restart - update-rc enable sysklogd - else - chroot ${TARGET} update-rc enable sysklogd fi + + update-rc enable sysklogd ;; prerm) exit 0