From b7f2cddc233074bcaeaeead5d44685cc1704fdff Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Sun, 17 Mar 2013 13:43:59 +0100 Subject: [PATCH] busybox: Copy the new OE-core syslog startup for the loglevel handling We want to only log a given loglevel, backport the start up script from OE-Core to get the LOGLEVEL variable. This removes the MARKINT and adds DROPDUPLICATES and LOGLEVEL. --- recipes-apps/busybox/busybox_sysmocom.inc | 2 +- recipes-apps/busybox/files/syslog | 77 +++++++++++++++++++++++ 2 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 recipes-apps/busybox/files/syslog diff --git a/recipes-apps/busybox/busybox_sysmocom.inc b/recipes-apps/busybox/busybox_sysmocom.inc index 4f0c2aa..a7671b9 100644 --- a/recipes-apps/busybox/busybox_sysmocom.inc +++ b/recipes-apps/busybox/busybox_sysmocom.inc @@ -1,6 +1,6 @@ SYSMOCOM := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" FILESEXTRAPATHS_prepend := "${SYSMOCOM}/files:" -PRINC = "7" +PRINC = "10" SRC_URI += "file://busybox-ifplugd.sh \ file://ifplugd.sh" diff --git a/recipes-apps/busybox/files/syslog b/recipes-apps/busybox/files/syslog new file mode 100644 index 0000000..88397e2 --- /dev/null +++ b/recipes-apps/busybox/files/syslog @@ -0,0 +1,77 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: sysklogd +# Required-Start: $remote_fs $time +# Required-Stop: $remote_fs $time +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: System logger +### END INIT INFO + +set -e + +if [ -f /etc/syslog.conf ]; then + . /etc/syslog.conf + LOG_LOCAL=0 + LOG_REMOTE=0 + for D in $DESTINATION; do + if [ "$D" = "buffer" ]; then + SYSLOG_ARGS="$SYSLOG_ARGS -C$BUFFERSIZE" + LOG_LOCAL=1 + elif [ "$D" = "file" ]; then + if [ -n "$LOGFILE" ]; then + SYSLOG_ARGS="$SYSLOG_ARGS -O $LOGFILE" + fi + if [ -n "$ROTATESIZE" ]; then + SYSLOG_ARGS="$SYSLOG_ARGS -s $ROTATESIZE" + fi + if [ -n "$ROTATEGENS" ]; then + SYSLOG_ARGS="$SYSLOG_ARGS -b $ROTATEGENS" + fi + LOCAL=0 + elif [ "$D" = "remote" ]; then + SYSLOG_ARGS="$SYSLOG_ARGS -R $REMOTE" + LOG_REMOTE=1 + fi + done + if [ "$LOG_LOCAL" = "1" -a "$LOG_REMOTE" = "1" ]; then + SYSLOG_ARGS="$SYSLOG_ARGS -L" + fi + if [ "$REDUCE" = "yes" ]; then + SYSLOG_ARGS="$SYSLOG_ARGS -S" + fi + if [ "$DROPDUPLICATES" = "yes" ]; then + SYSLOG_ARGS="$SYSLOG_ARGS -D" + fi + if [ -n "$LOGLEVEL" ]; then + SYSLOG_ARGS="$SYSLOG_ARGS -l $LOGLEVEL" + fi +else + # default: log to 16K shm circular buffer + SYSLOG_ARGS="-C" +fi + +case "$1" in + start) + echo -n "Starting syslogd/klogd: " + start-stop-daemon -S -b -n syslogd -a /sbin/syslogd -- -n $SYSLOG_ARGS + start-stop-daemon -S -b -n klogd -a /sbin/klogd -- -n + echo "done" + ;; + stop) + echo -n "Stopping syslogd/klogd: " + start-stop-daemon -K -n syslogd + start-stop-daemon -K -n klogd + echo "done" + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "Usage: syslog { start | stop | restart }" >&2 + exit 1 + ;; +esac + +exit 0