From owner-freebsd-rc@FreeBSD.ORG Thu Sep 17 10:42:42 2009 Return-Path: Delivered-To: freebsd-rc@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6BF361065676 for ; Thu, 17 Sep 2009 10:42:42 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from mail2.fluidhosting.com (mx21.fluidhosting.com [204.14.89.4]) by mx1.freebsd.org (Postfix) with ESMTP id A994E8FC12 for ; Thu, 17 Sep 2009 10:42:40 +0000 (UTC) Received: (qmail 11105 invoked by uid 399); 17 Sep 2009 10:42:36 -0000 Received: from localhost (HELO foreign.dougb.net) (dougb@dougbarton.us@127.0.0.1) by localhost with ESMTPAM; 17 Sep 2009 10:42:36 -0000 X-Originating-IP: 127.0.0.1 X-Sender: dougb@dougbarton.us Message-ID: <4AB21295.5080103@FreeBSD.org> Date: Thu, 17 Sep 2009 03:42:29 -0700 From: Doug Barton Organization: http://www.FreeBSD.org/ User-Agent: Thunderbird 2.0.0.23 (X11/20090822) MIME-Version: 1.0 To: Ian Smith References: <4AAFED75.4020502@andric.com> <4AB099BB.9040603@therek.net> <4AB17CB9.3040704@FreeBSD.org> <20090917183525.O73400@sola.nimnet.asn.au> In-Reply-To: <20090917183525.O73400@sola.nimnet.asn.au> X-Enigmail-Version: 0.96.0 OpenPGP: id=D5B2F0FB Content-Type: multipart/mixed; boundary="------------090801000801060201050607" Cc: freebsd-rc@freebsd.org, Oliver Fromme , Dimitry Andric , freebsd-stable@freebsd.org, Cezary Morga Subject: Re: 8.0 rc.d scripts less verbose? X-BeenThere: freebsd-rc@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussion related to /etc/rc.d design and implementation." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Sep 2009 10:42:42 -0000 This is a multi-part message in MIME format. --------------090801000801060201050607 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Please follow up to this post on the freebsd-rc@freebsd.org list, thanks. See below for my comments. Ian Smith wrote: > On Wed, 16 Sep 2009, Doug Barton wrote: >> Cezary Morga wrote: >>> Dimitry Andric pisze: >>>> Index: etc/rc.subr >>>> =================================================================== >>>> --- etc/rc.subr (revision 196888) +++ etc/rc.subr >>>> (working copy) @@ -680,7 +680,7 @@ run_rc_command() >>>> >>>> # setup the full command to run # - [ -z >>>> "${rc_quiet}" ] && echo "Starting ${name}." + echo >>>> "Starting ${name}." if [ -n "$_chroot" ]; then _doit="\ >>>> ${_nice:+nice -n $_nice }\ >>> >>> Wouldn't it be easier to set rc_quiet to zero-length value, >>> like rc_quiet=""? >> >> That actually would give off too much information because >> rc_quiet suppresses error messages about scripts that don't >> currently have _enable set to anything useful. That's arguably a >> bug, but it's a bug that we've come to depend on. >> >> The attached patch adds a knob you can set in rc.conf to see >> "Starting foo" messages again. If people find this useful I'll be >> glad to commit it. I'm also open to suggestions for a better >> name. > >> From your patch: > - [ -z "${rc_quiet}" ] && echo "Starting ${name}." > + [ -z "${rc_quiet}" -o -n "${rc_starting}" ] && echo "Starting ${name}." > > Presumably this variable would go in /etc/defaults/rc.conf .. seems > that all the other rc.conf binary choices are either set "YES" or > "NO" rather than something or empty, so perhaps more consistent > with that might be: > > [ -z "${rc_quiet}" -o "${rc_starting}" = "YES" ] && echo "Starting > ${name}." No, we don't test boolean flags for specific values. I've attached a proper patch to this message. > As for name, not fussed, but maybe rc_startmsgs maybe more > indicative? That sounds fine to me, if anyone else has a better idea follow up on the freebsd-rc list. > Also, I agree with Oliver; YES should probably be the default > (POLA) so folks annoyed by 'too much information' in console.log > can disable it. This late in the release cycle I'm comfortable adding a knob, but I'm not comfortable toggling the default. If there is consensus on the freebsd-rc list to make the default "yes" then I will go with that consensus. Dimitry Andric wrote: > On 2009-09-17 09:17, Oliver Fromme wrote: >> My feeling is that hiding all of the "starting" messages is a >> regression that needs to be fixed. I cannot think of a good >> reason why they should be hidden, but there are certainly good >> reasons to display them. > > The commit that introduced this, r179946, has this log message: > > ==== Move the diagnostic output when the rc.subr(8) glue > automatically starts a > service behind $rc_quiet. Instead, output a warning if the > pre-command routine or the command itself failed. Arguably, it's > more useful to know when > a command failed to start than it is to have an endless list of > "Starting ...." lines[1]. > > [1] - This change actually helped me to discover a bug in > rc.d/{lockd,statd} > (fixed in r179941) that used to fail silently before. ==== > > It is really a matter of taste, I guess. There is something to be > said for eliminating verbosity, in order to make real errors more > visible. > > On the other hand, if one of your startup rc scripts hangs (for > whatever reason), it is nice to have an approximate idea which one > it is. :) I tend to agree that the current default is a little too un-verbose. If there is support for adding this knob I'll follow up with re@ to see about getting it into 8.0-release, although I'm not sure how they'll feel about a change like this so late in the cycle. Doug -- This .signature sanitized for your protection --------------090801000801060201050607 Content-Type: text/plain; name="rc-startmsgs.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="rc-startmsgs.diff" Index: share/man/man5/rc.conf.5 =================================================================== --- share/man/man5/rc.conf.5 (revision 197259) +++ share/man/man5/rc.conf.5 (working copy) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 2, 2009 +.Dd September 17, 2009 .Dt RC.CONF 5 .Os .Sh NAME @@ -95,6 +95,13 @@ Informational messages are displayed when a condition that is not serious enough to warrant a warning or an error occurs. +.It Va rc_startmsgs +.Pq Vt bool +If set to +.Dq Li YES , +show +.Dq Starting foo: +when faststart is used (e.g., at boot time). .It Va early_late_divider .Pq Vt str The name of the script that should be used as the Index: etc/defaults/rc.conf =================================================================== --- etc/defaults/rc.conf (revision 197259) +++ etc/defaults/rc.conf (working copy) @@ -23,6 +23,7 @@ rc_debug="NO" # Set to YES to enable debugging output from rc.d rc_info="NO" # Enables display of informational messages at boot. +rc_startmsgs="NO" # Show "Starting foo:" messages at boot rcshutdown_timeout="30" # Seconds to wait before terminating rc.shutdown early_late_divider="FILESYSTEMS" # Script that separates early/late # stages of the boot process. Make sure you know Index: etc/rc.subr =================================================================== --- etc/rc.subr (revision 197259) +++ etc/rc.subr (working copy) @@ -708,7 +708,13 @@ # setup the full command to run # - [ -z "${rc_quiet}" ] && echo "Starting ${name}." + _show_startmsgs=1 + if [ -n "${rc_quiet}" ]; then + if ! checkyesno rc_startmsgs; then + unset _show_startmsgs + fi + fi + [ -n "$_show_startmsgs" ] && echo "Starting ${name}." if [ -n "$_chroot" ]; then _doit="\ ${_nice:+nice -n $_nice }\ --------------090801000801060201050607--