From owner-freebsd-standards Wed Jun 12 0:39:30 2002 Delivered-To: freebsd-standards@freebsd.org Received: from treetop.robbins.dropbear.id.au (114.b.002.mel.iprimus.net.au [203.134.134.114]) by hub.freebsd.org (Postfix) with ESMTP id 64A5437B408; Wed, 12 Jun 2002 00:39:20 -0700 (PDT) Received: from treetop.robbins.dropbear.id.au (localhost [127.0.0.1]) by treetop.robbins.dropbear.id.au (8.12.2/8.12.2) with ESMTP id g5C7WnBF068887; Wed, 12 Jun 2002 17:32:49 +1000 (EST) (envelope-from tim@treetop.robbins.dropbear.id.au) Received: (from tim@localhost) by treetop.robbins.dropbear.id.au (8.12.2/8.12.2/Submit) id g5C7WmqW068886; Wed, 12 Jun 2002 17:32:48 +1000 (EST) Date: Wed, 12 Jun 2002 17:32:48 +1000 From: "Tim J. Robbins" To: Juli Mallett Cc: standards@FreeBSD.org Subject: Re: cvs commit: www/en/projects/c99 index.sgml Message-ID: <20020612173248.A68800@treetop.robbins.dropbear.id.au> References: <200206070217.g572HH584853@freefall.freebsd.org> <20020606194448.A23497@FreeBSD.ORG> <20020611030857.GB14401@gits.dyndns.org> <20020610202431.A30207@FreeBSD.ORG> <20020612011330.GA45415@gits.dyndns.org> <20020612021437.GA49734@hellblazer.nectar.cc> <20020611191618.A16249@FreeBSD.ORG> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.2.5.1i In-Reply-To: <20020611191618.A16249@FreeBSD.ORG>; from jmallett@FreeBSD.org on Tue, Jun 11, 2002 at 07:16:18PM -0700 Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Tue, Jun 11, 2002 at 07:16:18PM -0700, Juli Mallett wrote: > * "Jacques A. Vidrine" escriurères > > On Wed, Jun 12, 2002 at 03:13:30AM +0200, Cyrille Lefevre wrote: > > > 3) a la SunOS : use different commands located in different paths. > > > > /usr/svr4, anyone? *smirk* > > Hey, I'm all for that. But then again I still think BINDIR should be > /usr/gnu/bin in src/gnu/usr.bin/Makefile.inc, etc. > > It wouldn't hurt us to provide more and more compatible versions of various > utilities in the base system, where we cannot provide a compatible version > inside an existing implementation, especially where standards become an issue. Such a corse-grained solution would work well for some utilities, but not for others. Take tail(1) for example. If we are supporting the 1992 POSIX.2 standard, the "+5" in "tail +5 foo" is an option (marked as obsolescent). With P1003.1-2001, though, the "+5" is a filename argument. uniq is another obvious one where +n is used as an option. Some of them don't matter, split/head/expand and more. I think an environment variable is a decent way to solve this problem. The way some of the GNU tools do it, which I happen to agree with, is to check an environment variable "_POSIX2_VERSION", then fall back to the sysconf() variable by the same name. It becomes more complicated when you deal with XSI extensions. I don't know of a clean way of handling that. This has reminded me of a topic I wanted to bring up: are we ever going to set the user.* sysctl variables and their corresponding sysconf()/ confstr() variables? user.posix2_version: 199212 # Should be 200112 ? user.posix2_c_bind: 0 # \ user.posix2_c_dev: 0 # \ user.posix2_char_term: 0 # / Should these be 1 ? user.posix2_fort_dev: 0 # / user.posix2_fort_run: 0 # user.posix2_localedef: 0 user.posix2_sw_dev: 0 # 1 ? user.posix2_upe: 0 # 1 ? We support UPE as well as we # support the rest of the standard. Tim To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message