Minor issues in our rcNG

From: Yar Tikhiy (yar_at_comp.chem.msu.su)
Date: 09/28/05

  • Next message: Peter Jeremy: "Re: Bridges"
    Date: Wed, 28 Sep 2005 20:48:03 +0400
    To: arch@freebsd.org
    
    

    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=
    _______________________________________________
    freebsd-arch@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-arch
    To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"
    

  • Next message: Peter Jeremy: "Re: Bridges"

    Relevant Pages

    • Re: Cron to email notification of ftp file upload?
      ... or traceroute and getting "command not found" messages and then trying to ... >use sudo command when you need to make root privileged changes, ie, ... [ohmster@ohmster scripts]$ sudo crontab -l ... $ cat ftpwatch ...
      (alt.os.linux)
    • Re: Beginners questions (tcsh) 1. set histdup 2. ??
      ... > learn two shells, one for interactive, and one for scripting. ... What do you do in your scripts which is the ... SAME as what you do on the command line? ... far more comfortable than those of zsh, bash or ksh. ...
      (comp.unix.shell)
    • Re: Primary Differences: FreeBSD/Linux
      ... > shell for scripts, ... Some do, it's in ports. ... ports tree or package tools from a console command line. ...
      (comp.unix.bsd.freebsd.misc)
    • Re: Confusing stack effects
      ... Or you would have the scripts generate several ... But what you really seem to be aiming for is an easy to use GUI ... I am not one to say "Command line pwns your GUI", but instead, ... After that, call "sort" to sort the list, and then remove double ...
      (alt.lang.asm)
    • Re: Minor issues in our rcNG
      ... Ok, so, this is going to seem like "pick on Yar" night, but it really isn't ... One is to require scripts just ... With the patch, ${command} is overridden only ... | default list of commands unlike "status" or "poll" when there is ...
      (freebsd-arch)