Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

nomenclature for conf files

49 views
Skip to first unread message

Zoran Kolic

unread,
Nov 12, 2012, 12:12:29 AM11/12/12
to
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

Best regards

Zoran

_______________________________________________
freebsd...@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stabl...@freebsd.org"

Kurt Buff

unread,
Nov 12, 2012, 12:20:13 AM11/12/12
to
On Sun, Nov 11, 2012 at 9:12 PM, Zoran Kolic <zko...@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.

Kurt

Zoran Kolic

unread,
Nov 12, 2012, 12:29:39 AM11/12/12
to
> > 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.

Yep, in rc.conf only the second one. I was thinking of make.conf.
It is the place kms should be set. Loader conf might take only
"" versions also.
Thank you and best regards

Zoran

Kevin Oberman

unread,
Nov 12, 2012, 2:13:02 AM11/12/12
to
On Sun, Nov 11, 2012 at 9:29 PM, Zoran Kolic <zko...@sbb.rs> wrote:

> > > 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.
>
> Yep, in rc.conf only the second one. I was thinking of make.conf.
> It is the place kms should be set. Loader conf might take only
> "" versions also.
> Thank you and best regards
>

A minor detail, but the line does not belong in rc.conf (a shell script),
but in /etc/make.conf (a Makefile). Normally you don't use quotation marks
in that case, but it really does not matter in this case as the presence of
"WITH_KMS=" is the significant part. I believe that "WITH_KMS=no" and
"WITH_KMS=yes" are equivalent.
--
R. Kevin Oberman, Network Engineer
E-mail: kob...@gmail.com

Chris Rees

unread,
Nov 12, 2012, 3:29:27 AM11/12/12
to
On 12 Nov 2012 05:20, "Kurt Buff" <kurt...@gmail.com> wrote:
>
> On Sun, Nov 11, 2012 at 9:12 PM, Zoran Kolic <zko...@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

Paul Schenkeveld

unread,
Nov 12, 2012, 3:55:24 AM11/12/12
to
On Mon, Nov 12, 2012 at 08:29:27AM +0000, Chris Rees wrote:
> On 12 Nov 2012 05:20, "Kurt Buff" <kurt...@gmail.com> wrote:
> >
> > On Sun, Nov 11, 2012 at 9:12 PM, Zoran Kolic <zko...@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".

HTH

Paul Schenkeveld

Chris Rees

unread,
Nov 12, 2012, 5:24:57 AM11/12/12
to
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

Paul Schenkeveld

unread,
Nov 12, 2012, 5:34:09 AM11/12/12
to
> Chris

I wouldn't want to verify all home-grown scripts written by sysadmins
around the Internet though.

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

For Makefiles yes, quotes are not part of the assignment syntax but
appear in the expansion of the macros so be careful. For sh compatible
config files better use them for clarity and parsability although I
realize that then differences between " and ' come into play too.

HTH

Paul Schenkeveld

Kurt Buff

unread,
Nov 12, 2012, 10:35:12 AM11/12/12
to
On Mon, Nov 12, 2012 at 12:29 AM, Chris Rees <uti...@gmail.com> wrote:
>
> On 12 Nov 2012 05:20, "Kurt Buff" <kurt...@gmail.com> wrote:
>>
>> On Sun, Nov 11, 2012 at 9:12 PM, Zoran Kolic <zko...@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

This has not been my experience - but I will experiment soon and see
if I can verify.

Kurt

Chris Rees

unread,
Nov 12, 2012, 10:51:55 AM11/12/12
to
On 12 Nov 2012 15:35, "Kurt Buff" <kurt...@gmail.com> wrote:
>
> On Mon, Nov 12, 2012 at 12:29 AM, Chris Rees <uti...@gmail.com> wrote:
> >
> > On 12 Nov 2012 05:20, "Kurt Buff" <kurt...@gmail.com> wrote:
> >>
> >> On Sun, Nov 11, 2012 at 9:12 PM, Zoran Kolic <zko...@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
>
> This has not been my experience - but I will experiment soon and see
> if I can verify.

Anything that complains about any of those syntaxes is a bug. Please file
a PR if you find any examples.

Chris

ill...@gmail.com

unread,
Nov 13, 2012, 11:49:47 AM11/13/12
to
On 12 November 2012 00:12, Zoran Kolic <zko...@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
>
> Best regards

In /etc/make.conf it shouldn't matter: they should all
be treated as synonyms for:
WITH_KMS=

--
--

Jakub Lach

unread,
Nov 13, 2012, 12:42:42 PM11/13/12
to
> 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.

This is exactly the point. But I still use 'yes' just for mnemotechnical
reason.



--
View this message in context: http://freebsd.1045724.n5.nabble.com/nomenclature-for-conf-files-tp5760163p5760661.html
Sent from the freebsd-stable mailing list archive at Nabble.com.

Kurt Buff

unread,
Nov 13, 2012, 1:02:12 PM11/13/12
to
OK - I figured it out.

I have always followed the examples in the handbook. I have also been
bitten more than once when I've typoed, and left out one of the quote
marks.

That tends to leave a lasting impression, as it can be painful to fix,
sometimes requiring to drop into single user mode to clean up.

Kurt
0 new messages