From owner-freebsd-stable@FreeBSD.ORG Mon Nov 12 10:34:16 2012 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 808842D4 for ; Mon, 12 Nov 2012 10:34:16 +0000 (UTC) (envelope-from freebsd@psconsult.nl) Received: from mx1.psconsult.nl (unknown [IPv6:2001:7b8:30f:e0::5059:ee8a]) by mx1.freebsd.org (Postfix) with ESMTP id EF11C8FC12 for ; Mon, 12 Nov 2012 10:34:15 +0000 (UTC) Received: from mx1.psconsult.nl (mx1.hvnu.psconsult.nl [46.44.189.154]) by mx1.psconsult.nl (8.14.5/8.14.4) with ESMTP id qACAY97x014357 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 12 Nov 2012 11:34:14 +0100 (CET) (envelope-from freebsd@psconsult.nl) Received: (from paul@localhost) by mx1.psconsult.nl (8.14.5/8.14.4/Submit) id qACAY9MJ014356; Mon, 12 Nov 2012 11:34:09 +0100 (CET) (envelope-from freebsd@psconsult.nl) X-Authentication-Warning: mx1.psconsult.nl: paul set sender to freebsd@psconsult.nl using -f Date: Mon, 12 Nov 2012 11:34:09 +0100 From: Paul Schenkeveld To: freebsd-stable@freebsd.org Subject: Re: nomenclature for conf files Message-ID: <20121112103409.GA81838@psconsult.nl> References: <20121112051229.GA1235@mycenae.sbb.rs> <20121112085524.GA52287@psconsult.nl> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Cc: Chris Rees X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Nov 2012 10:34:16 -0000 On Mon, Nov 12, 2012 at 10:24:57AM +0000, Chris Rees wrote: > On 12 Nov 2012 08:55, "Paul Schenkeveld" wrote: > > > > On Mon, Nov 12, 2012 at 08:29:27AM +0000, Chris Rees wrote: > > > On 12 Nov 2012 05:20, "Kurt Buff" wrote: > > > > > > > > On Sun, Nov 11, 2012 at 9:12 PM, Zoran Kolic 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. > > 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