Date: Wed, 28 Sep 2005 20:48:03 +0400 From: Yar Tikhiy <yar@comp.chem.msu.su> To: arch@freebsd.org Subject: Minor issues in our rcNG Message-ID: <20050928164803.GA11556@comp.chem.msu.su>
next in thread | raw e-mail | index | archive | help
Hi there, The larger issue I'd like to discuss is as follows. Presently, ${<name>_program} variables are special in that they always override ${command}. Some rc.d scripts (ab)use this to skip setting ${command}, e.g., sshd. Some other scripts (ab)use ${<name>_program} despite they are not just starting ${command} once, e.g., pf, and so make rc.subr think they have functionality that isn't realy there, such as poll. Perhaps it's time to separate these two cases in a way? I can see two possible approaches. One is to require scripts just starting a daemon always set ${command}, and to apply the attached patch to rc.subr. With the patch, ${command} is overridden only if it was set in the first place. The other approach is to prevent non-daemon scripts from abusing ${<name>_program}. However, in the latter case defining ${<name>_program}, e.g., by mistake, still can affect the script while it should not. The second issue is rather small. The rc command "reload" is supported by code in /etc/rc.subr, but it doesn't appear on the default list of commands unlike "status" or "poll" when there is ${pidfile} or ${command} set, and so it is unusable by default. Scripts have to use ``extra_commands=reload''. In addition, all this is undocumented. Should "reload" be added to the list of available commands along with "status" and "poll"? Finally, we have a script named rcconf.sh which doesn't seem to do anything useful now since all the other scripts invoke load_rc_config by their own. Can we drop it then? -- Yar --- rc.subr~ 2005/08/24 16:37:28 +++ rc.subr 2005/09/20 00:03:41 @@ -493,9 +493,7 @@ esac eval _overide_command=\$${name}_program - if [ -n "$_overide_command" ]; then - command=$_overide_command - fi + command=${command:+${_overide_command:-$command}} _keywords="start stop restart rcvar $extra_commands" rc_pid=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050928164803.GA11556>