USE_RC_SUBR

Charles Swiger cswiger at mac.com
Mon Feb 2 11:51:44 PST 2004


On Feb 2, 2004, at 1:32 AM, Dag-Erling Smørgrav wrote:
> Another issue with rc.subr is POLA.  Previously, anything listed in
> /usr/local/etc/rc.d would start at boot time (or when you ran the
> script manually).  Now, though, ports using rc.subr don't start unless
> you explicitly enable them in /etc/rc.conf.  The startup script will
> simply do nothing, with no warning to the user.  [ ... ]

Strongly agreed.  You've described the conflict with previous behavior 
and user expectations admirably.

> I'm not going to start an argument about the desirability of this; the
> point is that people need to be made aware of it.

Would something like this help:

--- rc.subr~    Fri Sep 26 11:52:23 2003
+++ rc.subr     Mon Feb  2 14:41:39 2004
@@ -516,6 +516,8 @@
                                         #
         if [ -n "${rcvar}" -a "$rc_arg" != "rcvar" ]; then
                 if ! checkyesno ${rcvar}; then
+                       echo "Unable to ${rc_arg} ${name}: ${rcvar} not 
set."
+                       echo "(Check /etc/rc.conf or try 
'force${rc_arg}'...)"
                         return 0
                 fi
         fi

This addresses the concern of a startup script not doing anything and 
not displaying any indication to the user that the command did not run. 
  It suggests to the user what they should change, and where, and also 
tells them how to use something like "forcestart" or "forcestop" if 
they still want to invoke the script manually.

I that life would be better, or less astonishing :-), if rcvar 
defaulted to "y" for manual invocation and for startup scripts in 
/usr/local/etc/rc.d...

-- 
-Chuck



More information about the freebsd-ports mailing list