nomenclature for conf files

Chris Rees utisoft at gmail.com
Mon Nov 12 10:24:59 UTC 2012


On 12 Nov 2012 08:55, "Paul Schenkeveld" <freebsd at psconsult.nl> wrote:
>
> On Mon, Nov 12, 2012 at 08:29:27AM +0000, Chris Rees wrote:
> > On 12 Nov 2012 05:20, "Kurt Buff" <kurt.buff at gmail.com> wrote:
> > >
> > > On Sun, Nov 11, 2012 at 9:12 PM, Zoran Kolic <zkolic at sbb.rs> wrote:
> > > > It might sound stupid, but I'd like to know if there's
> > > > any difference. Are those 3 line the same?
> > > >
> > > > WITH_KMS=YES
> > > > WITH_KMS="YES"
> > > > WITH_KMS=yes
> > >
> > > With regard to their use in /etc/rc.conf, no, absolutely not.
> > >
> > > In general, from my experience, only the second one will work.
> > >
> > > This might, or might not, be true for other uses, but rc.conf is
> > > pretty picky about this.
> >
> > All three are fine in make.conf and rc.conf
> >
> > The issue with rc.conf is when people put spaces around the = sign.
> >
> > Chris
>
> Indeed /etc/rc (executed by /bin/sh) accepts all three forms because
> quotes are optional in /bin/sh and /etc/rc.subr (sourced by /etc/rc)
> matches the value against "[Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1".
>
> Also, the FreeBSD makefiles and sources test all WITH_* variables with
> .ifdef or #ifdef so the value doesn't matter and can even be empty.
> White space around the = is permitted too (but not in rc.conf!).
>
> However, things are different when people start using tools to maintain
> rc.conf/make.conf.  If not written with the above in mind, these tools
> may have problems parsing these files.
>
> It's good practice to be consistent and use a canonical form that
> matches the documentation or example files as this is probably the
> syntax that is guarenteed to not confuse such tools.  In other words:
> "Be conservative in what you send [write], liberal in what you accept".

Doesn't sound like a very good tool if it can't handle quoting and capital
letters, but I accept the principle.

Quotes in Makefiles are often harmful, so good practice IMO is to only use
them when necessary.

Chris


More information about the freebsd-stable mailing list