From patchwork Wed Nov 7 00:49:09 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Carlos Santos X-Patchwork-Id: 994015 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=busybox.net (client-ip=140.211.166.133; helo=hemlock.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=datacom.com.br Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42qSVV00LSz9sCX for ; Wed, 7 Nov 2018 11:49:37 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 6A732822DE; Wed, 7 Nov 2018 00:49:32 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id APZLbeyrcnVN; Wed, 7 Nov 2018 00:49:30 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id B5E7E8222A; Wed, 7 Nov 2018 00:49:30 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id 234D31BF349 for ; Wed, 7 Nov 2018 00:49:29 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 2015586A22 for ; Wed, 7 Nov 2018 00:49:29 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7MxOjm3U8CXe for ; Wed, 7 Nov 2018 00:49:27 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail.datacom.com.br (mx.datacom.ind.br [177.66.5.10]) by fraxinus.osuosl.org (Postfix) with ESMTPS id 2CF4785FB6 for ; Wed, 7 Nov 2018 00:49:27 +0000 (UTC) Received: from mail.datacom.com.br (localhost [127.0.0.1]) by mail.datacom.com.br (Postfix) with ESMTPS id D26971BA363F for ; Tue, 6 Nov 2018 22:49:53 -0200 (-02) Received: from localhost (localhost [127.0.0.1]) by mail.datacom.com.br (Postfix) with ESMTP id C3DDE1BA363A for ; Tue, 6 Nov 2018 22:49:53 -0200 (-02) Received: from mail.datacom.com.br ([127.0.0.1]) by localhost (mail.datacom.com.br [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id HsGKkDJgi7Bp for ; Tue, 6 Nov 2018 22:49:53 -0200 (-02) Received: from p7-1130br.casantos.org (189.27.237.170.dynamic.adsl.gvt.net.br [189.27.237.170]) by mail.datacom.com.br (Postfix) with ESMTPSA id 718FB1BA363C for ; Tue, 6 Nov 2018 22:49:53 -0200 (-02) From: Carlos Santos To: buildroot@buildroot.org Date: Tue, 6 Nov 2018 22:49:09 -0200 Message-Id: <20181107004912.13349-2-casantos@datacom.com.br> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181107004912.13349-1-casantos@datacom.com.br> References: <20181107004912.13349-1-casantos@datacom.com.br> Subject: [Buildroot] [PATCH v5 1/4] busybox: rewrite logging init script X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" - Split S01logging into S01syslogd and S02klogd. Install them only if no other syslog package is selected and the corresponding daemons are selected in the Busybox configuration. - Support /etc/default/$DAEMON configuration files. - Detect and report start/stop errors (previous version ignored them and always reported OK). - Use a separate function for restart. - Implement reload as restart. Signed-off-by: Carlos Santos Reviewed-by: Matt Weber --- Supersedes: https://patchwork.ozlabs.org/patch/992673/ --- Changes v1->v2 - Implement suggestions made by Nicolas Cavallari and Arnout Vandecappelle Changes v2->v3 - None, just series update Changes v3-v4 - Follow the decisions taken at the Buildroot meeting. - Leave the daemon args themselves on a separate line, as suggested by Arnout Vandecappelle. - Drop Matt Weber's Reviewed-by, since there were too many changes since then. - Use a less fancy commit message :-) Changes v4->v5 - Fix typo and simplify comment in the init scripts. --- package/busybox/S01logging | 40 --------------------------- package/busybox/S01syslogd | 55 ++++++++++++++++++++++++++++++++++++++ package/busybox/S02klogd | 55 ++++++++++++++++++++++++++++++++++++++ package/busybox/busybox.mk | 19 +++++++------ 4 files changed, 121 insertions(+), 48 deletions(-) delete mode 100644 package/busybox/S01logging create mode 100644 package/busybox/S01syslogd create mode 100644 package/busybox/S02klogd diff --git a/package/busybox/S01logging b/package/busybox/S01logging deleted file mode 100644 index fcb3e7d236..0000000000 --- a/package/busybox/S01logging +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# -# Start logging -# - -SYSLOGD_ARGS=-n -KLOGD_ARGS=-n -[ -r /etc/default/logging ] && . /etc/default/logging - -start() { - printf "Starting logging: " - start-stop-daemon -b -S -q -m -p /var/run/syslogd.pid --exec /sbin/syslogd -- $SYSLOGD_ARGS - start-stop-daemon -b -S -q -m -p /var/run/klogd.pid --exec /sbin/klogd -- $KLOGD_ARGS - echo "OK" -} - -stop() { - printf "Stopping logging: " - start-stop-daemon -K -q -p /var/run/syslogd.pid - start-stop-daemon -K -q -p /var/run/klogd.pid - echo "OK" -} - -case "$1" in - start) - start - ;; - stop) - stop - ;; - restart|reload) - stop - start - ;; - *) - echo "Usage: $0 {start|stop|restart|reload}" - exit 1 -esac - -exit $? diff --git a/package/busybox/S01syslogd b/package/busybox/S01syslogd new file mode 100644 index 0000000000..6e642a678a --- /dev/null +++ b/package/busybox/S01syslogd @@ -0,0 +1,55 @@ +#!/bin/sh + +DAEMON="syslogd" +PIDFILE="/var/run/$DAEMON.pid" + +SYSLOGD_ARGS="" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +# BusyBox' syslogd does not create a pidfile, so pass "-n" in the command line +# and use "-m" to instruct start-stop-daemon to create one. +start() { + printf 'Starting %s: ' "$DAEMON" + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/sbin/$DAEMON" \ + -- -n $SYSLOGD_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 + rm -f "$PIDFILE" + 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. + restart;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/busybox/S02klogd b/package/busybox/S02klogd new file mode 100644 index 0000000000..a4200cfb34 --- /dev/null +++ b/package/busybox/S02klogd @@ -0,0 +1,55 @@ +#!/bin/sh + +DAEMON="klogd" +PIDFILE="/var/run/$DAEMON.pid" + +KLOGD_ARGS="" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +# BusyBox' klogd does not create a pidfile, so pass "-n" in the command line +# and use "-m" to instruct start-stop-daemon to create one. +start() { + printf 'Starting %s: ' "$DAEMON" + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/sbin/$DAEMON" \ + -- -n $KLOGD_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 + rm -f "$PIDFILE" + 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. + restart;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk index 757086592f..028ca1905c 100644 --- a/package/busybox/busybox.mk +++ b/package/busybox/busybox.mk @@ -55,10 +55,7 @@ BUSYBOX_DEPENDENCIES = \ $(if $(BR2_PACKAGE_PCIUTILS),pciutils) \ $(if $(BR2_PACKAGE_PROCPS_NG),procps-ng) \ $(if $(BR2_PACKAGE_PSMISC),psmisc) \ - $(if $(BR2_PACKAGE_RSYSLOGD),rsyslog) \ $(if $(BR2_PACKAGE_START_STOP_DAEMON),start-stop-daemon) \ - $(if $(BR2_PACKAGE_SYSKLOGD),sysklogd) \ - $(if $(BR2_PACKAGE_SYSLOG_NG),syslog-ng) \ $(if $(BR2_PACKAGE_SYSTEMD),systemd) \ $(if $(BR2_PACKAGE_SYSVINIT),sysvinit) \ $(if $(BR2_PACKAGE_TAR),tar) \ @@ -245,15 +242,21 @@ define BUSYBOX_INSTALL_INDIVIDUAL_BINARIES endef endif -# Only install our own if no other package already did. +# Only install our logging scripts if no other package does it. +ifeq ($(BR2_PACKAGE_SYSKLOGD)$(BR2_PACKAGE_RSYSLOG)$(BR2_PACKAGE_SYSLOG_NG),) define BUSYBOX_INSTALL_LOGGING_SCRIPT - if grep -q CONFIG_SYSLOGD=y $(@D)/.config && \ - [ ! -e $(TARGET_DIR)/etc/init.d/S01logging ]; \ + if grep -q CONFIG_SYSLOGD=y $(@D)/.config; \ then \ - $(INSTALL) -m 0755 -D package/busybox/S01logging \ - $(TARGET_DIR)/etc/init.d/S01logging; \ + $(INSTALL) -m 0755 -D package/busybox/S01syslogd \ + $(TARGET_DIR)/etc/init.d/S01syslogd; \ + fi; \ + if grep -q CONFIG_KLOGD=y $(@D)/.config; \ + then \ + $(INSTALL) -m 0755 -D package/busybox/S02klogd \ + $(TARGET_DIR)/etc/init.d/S02klogd; \ fi endef +endif ifeq ($(BR2_INIT_BUSYBOX),y) define BUSYBOX_INSTALL_INITTAB From patchwork Wed Nov 7 00:49:10 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Carlos Santos X-Patchwork-Id: 994013 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=busybox.net (client-ip=140.211.166.137; helo=fraxinus.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=datacom.com.br Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42qSVN4h82z9sCX for ; Wed, 7 Nov 2018 11:49:32 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id D3ADF85FB6; Wed, 7 Nov 2018 00:49:29 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0shroX_pXP-F; Wed, 7 Nov 2018 00:49:29 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id 3078686A22; Wed, 7 Nov 2018 00:49:29 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id D54D51BF349 for ; Wed, 7 Nov 2018 00:49:27 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id D2C9A20774 for ; Wed, 7 Nov 2018 00:49:27 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sUg6v1lyxlDK for ; Wed, 7 Nov 2018 00:49:27 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail.datacom.com.br (mx.datacom.ind.br [177.66.5.10]) by silver.osuosl.org (Postfix) with ESMTPS id EC54C20772 for ; Wed, 7 Nov 2018 00:49:26 +0000 (UTC) Received: from mail.datacom.com.br (localhost [127.0.0.1]) by mail.datacom.com.br (Postfix) with ESMTPS id 2E7B11BA3641 for ; Tue, 6 Nov 2018 22:49:54 -0200 (-02) Received: from localhost (localhost [127.0.0.1]) by mail.datacom.com.br (Postfix) with ESMTP id 1DF851BA363A for ; Tue, 6 Nov 2018 22:49:54 -0200 (-02) Received: from mail.datacom.com.br ([127.0.0.1]) by localhost (mail.datacom.com.br [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id BOIqHGlhQy0K for ; Tue, 6 Nov 2018 22:49:54 -0200 (-02) Received: from p7-1130br.casantos.org (189.27.237.170.dynamic.adsl.gvt.net.br [189.27.237.170]) by mail.datacom.com.br (Postfix) with ESMTPSA id CA99C1BA363D for ; Tue, 6 Nov 2018 22:49:53 -0200 (-02) From: Carlos Santos To: buildroot@buildroot.org Date: Tue, 6 Nov 2018 22:49:10 -0200 Message-Id: <20181107004912.13349-3-casantos@datacom.com.br> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181107004912.13349-1-casantos@datacom.com.br> References: <20181107004912.13349-1-casantos@datacom.com.br> Subject: [Buildroot] [PATCH v5 2/4] rsyslog: rewrite init script X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" - 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 Reviewed-by: Matt Weber --- Supersedes: https://patchwork.ozlabs.org/patch/992672/ --- Changes v1->v2 - Implement suggestions made by Nicolas Cavallari and Arnout Vandecappelle Changes v2->v3 - Include /etc/default/logging, not /etc/default/$DAEMON. Changes v3-v4 - Follow the decisions taken at the Buildroot meeting. - Leave the daemon args themselves on a separate line, as suggested by Arnout Vandecappelle. - Use a less fancy commit message :-) Changes v4->v5 - None, just series update --- package/rsyslog/S01logging | 36 ------------------------- package/rsyslog/S01rsyslogd | 53 +++++++++++++++++++++++++++++++++++++ package/rsyslog/rsyslog.mk | 4 +-- 3 files changed, 55 insertions(+), 38 deletions(-) delete mode 100644 package/rsyslog/S01logging create mode 100644 package/rsyslog/S01rsyslogd diff --git a/package/rsyslog/S01logging b/package/rsyslog/S01logging deleted file mode 100644 index 8e4a59c2d5..0000000000 --- a/package/rsyslog/S01logging +++ /dev/null @@ -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 $? diff --git a/package/rsyslog/S01rsyslogd b/package/rsyslog/S01rsyslogd new file mode 100644 index 0000000000..e9922d932d --- /dev/null +++ b/package/rsyslog/S01rsyslogd @@ -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 diff --git a/package/rsyslog/rsyslog.mk b/package/rsyslog/rsyslog.mk index 61e08ba765..fcd476cee3 100644 --- a/package/rsyslog/rsyslog.mk +++ b/package/rsyslog/rsyslog.mk @@ -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 From patchwork Wed Nov 7 00:49:11 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Carlos Santos X-Patchwork-Id: 994014 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=busybox.net (client-ip=140.211.166.138; helo=whitealder.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=datacom.com.br Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42qSVQ4SLgz9sCX for ; Wed, 7 Nov 2018 11:49:34 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 09C1E815FB; Wed, 7 Nov 2018 00:49:32 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KLMdDjuHkm1p; Wed, 7 Nov 2018 00:49:30 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id E0FDE81423; Wed, 7 Nov 2018 00:49:29 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id A95C71BF349 for ; Wed, 7 Nov 2018 00:49:28 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id A68A4813F5 for ; Wed, 7 Nov 2018 00:49:28 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CGcyid+k4lJc for ; Wed, 7 Nov 2018 00:49:27 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail.datacom.com.br (mx.datacom.ind.br [177.66.5.10]) by whitealder.osuosl.org (Postfix) with ESMTPS id 3259B8142D for ; Wed, 7 Nov 2018 00:49:27 +0000 (UTC) Received: from mail.datacom.com.br (localhost [127.0.0.1]) by mail.datacom.com.br (Postfix) with ESMTPS id 823181BA3645 for ; Tue, 6 Nov 2018 22:49:54 -0200 (-02) Received: from localhost (localhost [127.0.0.1]) by mail.datacom.com.br (Postfix) with ESMTP id 738D61BA363A for ; Tue, 6 Nov 2018 22:49:54 -0200 (-02) Received: from mail.datacom.com.br ([127.0.0.1]) by localhost (mail.datacom.com.br [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id vaoPY6bhnDls for ; Tue, 6 Nov 2018 22:49:54 -0200 (-02) Received: from p7-1130br.casantos.org (189.27.237.170.dynamic.adsl.gvt.net.br [189.27.237.170]) by mail.datacom.com.br (Postfix) with ESMTPSA id 265D71BA363C for ; Tue, 6 Nov 2018 22:49:54 -0200 (-02) From: Carlos Santos To: buildroot@buildroot.org Date: Tue, 6 Nov 2018 22:49:11 -0200 Message-Id: <20181107004912.13349-4-casantos@datacom.com.br> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181107004912.13349-1-casantos@datacom.com.br> References: <20181107004912.13349-1-casantos@datacom.com.br> Subject: [Buildroot] [PATCH v5 3/4] sysklogd: rewrite init script X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" - Split it into S01syslogd and S02klogd to make every init script be called the same as the executable it starts. - Implement start, stop, restart and reload as functions, like in other init scripts, using start-stop-daemon. - Indent with tabs, not spaces. - Detect and report start/stop errors (previous version ignored them and always reported OK). - Support /etc/default/$DAEMON configuration files. - Do not kill syslogd in "reload". Send a SIGHUP signal, instructing it to perform a re-initialization. - Do not kill klogd in "reload". Send a signal (default 0, which does nothing). Users can configure this signal in /etc/default/klogd to either SIGUSR1 or SIGUSR2. Signed-off-by: Carlos Santos Reviewed-by: Matt Weber --- Supersedes: https://patchwork.ozlabs.org/patch/992676/ --- Changes v1->v2 - Implement suggestions made by Arnout Vandecappelle Changes v2->v3 - Include /etc/default/logging, not /etc/default/$DAEMON. Changes v3-v4 - Follow the decisions taken at the Buildroot meeting. - Leave the daemon args themselves on a separate line, as suggested by Arnout Vandecappelle. - Use a less fancy commit message :-) Changes v4->v5 - None, just series update --- package/sysklogd/S01logging | 25 -------------- package/sysklogd/S01syslogd | 62 ++++++++++++++++++++++++++++++++++ package/sysklogd/S02klogd | 65 ++++++++++++++++++++++++++++++++++++ package/sysklogd/sysklogd.mk | 6 ++-- 4 files changed, 131 insertions(+), 27 deletions(-) delete mode 100644 package/sysklogd/S01logging create mode 100644 package/sysklogd/S01syslogd create mode 100644 package/sysklogd/S02klogd diff --git a/package/sysklogd/S01logging b/package/sysklogd/S01logging deleted file mode 100644 index 1cbfe869fa..0000000000 --- a/package/sysklogd/S01logging +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -case "$1" in - start) - printf "Starting logging: " - /sbin/syslogd -m 0 - /sbin/klogd - echo "OK" - ;; - stop) - printf "Stopping logging: " - [ -f /var/run/klogd.pid ] && kill `cat /var/run/klogd.pid` - [ -f /var/run/syslogd.pid ] && kill `cat /var/run/syslogd.pid` - echo "OK" - ;; - restart|reload) - $0 stop - $0 start - ;; - *) - echo "Usage: $0 {start|stop|restart}" - exit 1 -esac - -exit $? diff --git a/package/sysklogd/S01syslogd b/package/sysklogd/S01syslogd new file mode 100644 index 0000000000..d0951f0235 --- /dev/null +++ b/package/sysklogd/S01syslogd @@ -0,0 +1,62 @@ +#!/bin/sh + +DAEMON="syslogd" +PIDFILE="/var/run/$DAEMON.pid" + +SYSLOGD_ARGS="-m 0" + +# 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 "/sbin/$DAEMON" \ + -- $SYSLOGD_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 +} + +# SIGHUP makes syslogd reload its configuration +reload() { + printf 'Reloading %s: ' "$DAEMON" + start-stop-daemon -K -s HUP -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +case "$1" in + start|stop|restart|reload) + "$1";; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/sysklogd/S02klogd b/package/sysklogd/S02klogd new file mode 100644 index 0000000000..93f39e1f0e --- /dev/null +++ b/package/sysklogd/S02klogd @@ -0,0 +1,65 @@ +#!/bin/sh + +DAEMON="klogd" +PIDFILE="/var/run/$DAEMON.pid" + +KLOGD_ARGS="" + +KLOGD_RELOAD="0" + +# 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 "/sbin/$DAEMON" \ + -- $KLOGD_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 +} + +# SIGUSR1 makes klogd reload kernel module symbols +# SIGUSR2 makes klogd reload static kernel symbols and kernel module symbols +reload() { + printf 'Reloading %s: ' "$DAEMON" + start-stop-daemon -K -s "$KLOGD_RELOAD" -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +case "$1" in + start|stop|restart|reload) + "$1";; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/sysklogd/sysklogd.mk b/package/sysklogd/sysklogd.mk index c4f064c10b..976438c110 100644 --- a/package/sysklogd/sysklogd.mk +++ b/package/sysklogd/sysklogd.mk @@ -23,8 +23,10 @@ define SYSKLOGD_INSTALL_TARGET_CMDS endef define SYSKLOGD_INSTALL_INIT_SYSV - $(INSTALL) -m 755 -D package/sysklogd/S01logging \ - $(TARGET_DIR)/etc/init.d/S01logging + $(INSTALL) -m 755 -D package/sysklogd/S01syslogd \ + $(TARGET_DIR)/etc/init.d/S01syslogd + $(INSTALL) -m 755 -D package/sysklogd/S02klogd \ + $(TARGET_DIR)/etc/init.d/S02klogd endef define SYSKLOGD_INSTALL_INIT_SYSTEMD From patchwork Wed Nov 7 00:49:12 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Carlos Santos X-Patchwork-Id: 994016 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=busybox.net (client-ip=140.211.166.138; helo=whitealder.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=datacom.com.br Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42qSVX3mqwz9sCX for ; Wed, 7 Nov 2018 11:49:40 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id A5EC382BCE; Wed, 7 Nov 2018 00:49:38 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5lr2Ky7WmTpS; Wed, 7 Nov 2018 00:49:35 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id 7E16D814A2; Wed, 7 Nov 2018 00:49:35 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id D5B651BF349 for ; Wed, 7 Nov 2018 00:49:29 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id D18BC8222A for ; Wed, 7 Nov 2018 00:49:29 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Idp7zhTowYVV for ; Wed, 7 Nov 2018 00:49:28 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail.datacom.com.br (mx.datacom.ind.br [177.66.5.10]) by hemlock.osuosl.org (Postfix) with ESMTPS id DEC0C820B0 for ; Wed, 7 Nov 2018 00:49:27 +0000 (UTC) Received: from mail.datacom.com.br (localhost [127.0.0.1]) by mail.datacom.com.br (Postfix) with ESMTPS id D21671BA363C for ; Tue, 6 Nov 2018 22:49:54 -0200 (-02) Received: from localhost (localhost [127.0.0.1]) by mail.datacom.com.br (Postfix) with ESMTP id C42A81BA363A for ; Tue, 6 Nov 2018 22:49:54 -0200 (-02) Received: from mail.datacom.com.br ([127.0.0.1]) by localhost (mail.datacom.com.br [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id loRaxnTWhd84 for ; Tue, 6 Nov 2018 22:49:54 -0200 (-02) Received: from p7-1130br.casantos.org (189.27.237.170.dynamic.adsl.gvt.net.br [189.27.237.170]) by mail.datacom.com.br (Postfix) with ESMTPSA id 7BC571BA363D for ; Tue, 6 Nov 2018 22:49:54 -0200 (-02) From: Carlos Santos To: buildroot@buildroot.org Date: Tue, 6 Nov 2018 22:49:12 -0200 Message-Id: <20181107004912.13349-5-casantos@datacom.com.br> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181107004912.13349-1-casantos@datacom.com.br> References: <20181107004912.13349-1-casantos@datacom.com.br> Subject: [Buildroot] [PATCH v5 4/4] syslog-ng: rewrite init script X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" - Rename it to S01syslog-ng to make every init script be called the same as the executable it starts. - Indent with tabs, not spaces. - Do not kill syslog-ng in "reload". Send a SIGHUP signal, instructing it to perform a re-initialization. - Support a /etc/default/syslog-ng configuration file. Signed-off-by: Carlos Santos Reviewed-by: Matt Weber --- Supersedes: https://patchwork.ozlabs.org/patch/992674/ --- Changes v1->v2: - Implement changes suggested by Arnout Vandecappelle. Changes v2->v3: - Include /etc/default/logging, not /etc/default/$DAEMON. - Remove stray 'g' spotted by Chris Packham. Changes v3-v4: - Follow the decisions taken at the Buildroot meeting. - Leave the daemon args themselves on a separate line, as suggested by Arnout Vandecappelle. - Use a less fancy commit message :-) Changes v4->v5 - None, just series update --- package/syslog-ng/S01logging | 38 --------------------- package/syslog-ng/S01syslog-ng | 62 ++++++++++++++++++++++++++++++++++ package/syslog-ng/syslog-ng.mk | 4 +-- 3 files changed, 64 insertions(+), 40 deletions(-) delete mode 100644 package/syslog-ng/S01logging create mode 100644 package/syslog-ng/S01syslog-ng diff --git a/package/syslog-ng/S01logging b/package/syslog-ng/S01logging deleted file mode 100644 index d7c899a1e3..0000000000 --- a/package/syslog-ng/S01logging +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh - -start() { - printf "Starting syslog-ng daemon: " - start-stop-daemon -S -q -p /var/run/syslog-ng.pid \ - -x /usr/sbin/syslog-ng -- --pidfile /var/run/syslog-ng.pid - [ $? = 0 ] && echo "OK" || echo "FAIL" -} - -stop() { - printf "Stopping syslog-ng daemon: " - start-stop-daemon -K -q -p /var/run/syslog-ng.pid \ - -x /usr/sbin/syslog-ng - [ $? = 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 $? diff --git a/package/syslog-ng/S01syslog-ng b/package/syslog-ng/S01syslog-ng new file mode 100644 index 0000000000..1d74bf8839 --- /dev/null +++ b/package/syslog-ng/S01syslog-ng @@ -0,0 +1,62 @@ +#!/bin/sh + +DAEMON="syslog-ng" +PIDFILE="/var/run/$DAEMON.pid" + +SYSLOG_NG_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" \ + -- $SYSLOG_NG_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 +} + +# SIGHUP makes syslog-ng reload its configuration +reload() { + printf 'Reloading %s: ' "$DAEMON" + start-stop-daemon -K -s HUP -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +case "$1" in + start|stop|restart|reload) + "$1";; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/syslog-ng/syslog-ng.mk b/package/syslog-ng/syslog-ng.mk index 793fea0972..29e284a4bf 100644 --- a/package/syslog-ng/syslog-ng.mk +++ b/package/syslog-ng/syslog-ng.mk @@ -93,8 +93,8 @@ SYSLOG_NG_CONF_OPTS += --disable-systemd endif define SYSLOG_NG_INSTALL_INIT_SYSV - $(INSTALL) -m 0755 -D package/syslog-ng/S01logging \ - $(TARGET_DIR)/etc/init.d/S01logging + $(INSTALL) -m 0755 -D package/syslog-ng/S01syslog-ng \ + $(TARGET_DIR)/etc/init.d/S01syslog-ng endef # By default syslog-ng installs a number of sample configuration