From mboxrd@z Thu Jan 1 00:00:00 1970 From: aduskett at gmail.com Date: Thu, 19 Dec 2019 16:04:37 -0800 Subject: [Buildroot] [PATCH 1/1] package/openrc: cleanup sysv-rcs script Message-ID: <20191220000437.475219-1-aduskett@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net From: Adam Duskett Currently, the sysv-rcs script has two issues: - The return code of each RCS script is not checked. - The output does not match the formatting of the other openrc init scripts. Modify the script in the following ways to fix both issues: - Remove the "einfo "Starting sysv rc scripts"" at the top of the start function in favor of "einfo "Starting $i" in the loop itself. - Add a "> /dev/null" to the end of $i start; this suppresses stdout while still allowing for stderr messages to print to the terminal. - add an "eend $? to both the start and stop functions, this allows for openrc to show if an RCS script returned 0 or not. The following is the startup output of OpenRC on a minimal system with S01syslogd modified to exit with a return code 1 for testing purposes: Before: * Adding static routes ... [ ok ] Starting default runlevel * Starting sysv rc scripts Starting syslogd: OK Starting klogd: OK Running sysctl: OK After: * Adding static routes ... [ ok ] Starting default runlevel * Starting /etc/init.d/S01syslogd ... [ !! ] * Starting /etc/init.d/S02klogd ... [ ok ] * Starting /etc/init.d/S02sysctl ... [ ok ] Signed-off-by: Adam Duskett --- package/openrc/sysv-rcs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/package/openrc/sysv-rcs b/package/openrc/sysv-rcs index 606a73d2b4..1564cbe603 100755 --- a/package/openrc/sysv-rcs +++ b/package/openrc/sysv-rcs @@ -7,19 +7,21 @@ depend() { } start() { - einfo "Starting sysv rc scripts" for i in /etc/init.d/S??*; do # Ignore dangling symlinks (if any). [ -e "$i" ] || continue - $i start + einfo "Starting $i" + $i start > /dev/null + eend $? done } stop() { - einfo "Stopping sysv rc scripts" for i in $(ls -r /etc/init.d/S??*); do # Ignore dangling symlinks (if any). [ -e "$i" ] || continue - $i stop + einfo "Stopping $i" + $i stop > /dev/null + eend $? done } -- 2.24.1