Paul Schmehl wrote:
--On Tuesday, June 03, 2008 13:19:37 +0100 RW
<[EMAIL PROTECTED]> wrote:
On Mon, 02 Jun 2008 22:13:15 -0500
Paul Schmehl <[EMAIL PROTECTED]> wrote:
Imagine my surprise when I discovered that *all* of my startup
scripts=20 were running double flags!
So, I looked at /etc/rc.subr, and lo and behold:
Line 670 of /etc/rc.subr has "$command $rc_flags $command_args"
So, the question is, is this an error in rc_subr?
No, it's always been that way, and it's actually fairly well documented.
There are a number of /etc/rc.d scripts that follow similar usage, but
they are mostly using flag variable names that don't match
"${name}_flags". The exception is auditd which presumably would
get double flags, if it were actually given any.
That usage in auditd appears to be an error.
$ grep -Ei "command_args.*=.*flags" /etc/rc.d/*
/etc/rc.d/auditd:command_args="${auditd_flags}"
/etc/rc.d/nfsd:command_args="${nfs_server_flags}"
/etc/rc.d/ypbind:command_args="${nis_client_flags}"
/etc/rc.d/yppasswdd:command_args="${nis_yppasswdd_flags}"
/etc/rc.d/ypserv:command_args="${nis_server_flags}"
/etc/rc.d/ypset:command_args="${nis_ypset_flags}"
/etc/rc.d/ypxfrd:command_args="${nis_ypxfrd_flags}"
I'm willing to bet that if you run some of these scripts through sh -x
(auditd, for example) you will find that they use double flags, just
like mine do.
That would be true for auditd, but not for the others, for the reason
described above.
Since rc.subr will append the flags to the commandline, adding them to
command_args is superfluous. If you set flags defaults in the script
such that /etc/rc.conf settings will override them, there's no need to
add flags to the commandline. Rc.subr does it for you.
That's right. I try to catch these when scripts are committed or
modified, but I can't review them all. Glad to hear that you got the
right education though, and hopefully this being on the ports list
will help someone else too.
Doug
--
This .signature sanitized for your protection
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "[EMAIL PROTECTED]"