Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Jun 2002 17:32:48 +1000
From:      "Tim J. Robbins" <tjr@FreeBSD.org>
To:        Juli Mallett <jmallett@FreeBSD.org>
Cc:        standards@FreeBSD.org
Subject:   Re: cvs commit: www/en/projects/c99 index.sgml
Message-ID:  <20020612173248.A68800@treetop.robbins.dropbear.id.au>
In-Reply-To: <20020611191618.A16249@FreeBSD.ORG>; from jmallett@FreeBSD.org on Tue, Jun 11, 2002 at 07:16:18PM -0700
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>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jun 11, 2002 at 07:16:18PM -0700, Juli Mallett wrote:

> * "Jacques A. Vidrine" <nectar@FreeBSD.org> 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020612173248.A68800>