From owner-freebsd-standards Sun Oct 27 1:29: 2 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2B03E37B401 for ; Sun, 27 Oct 2002 01:29:00 -0700 (PDT) Received: from thuvia.demon.co.uk (thuvia.demon.co.uk [193.237.34.248]) by mx1.FreeBSD.org (Postfix) with ESMTP id 77AC243E6A for ; Sun, 27 Oct 2002 01:28:58 -0700 (PDT) (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (dotar.thuvia.org [10.0.0.4]) by phaidor.thuvia.org (8.12.3/8.12.3) with ESMTP id g9R8SucF055844; Sun, 27 Oct 2002 08:28:56 GMT (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (localhost [IPv6:::1]) by dotar.thuvia.org (8.12.6/8.12.6) with ESMTP id g9R8StH5027812; Sun, 27 Oct 2002 08:28:55 GMT (envelope-from mark@dotar.thuvia.org) Received: (from mark@localhost) by dotar.thuvia.org (8.12.6/8.12.6/Submit) id g9R8Ssdr027811; Sun, 27 Oct 2002 08:28:54 GMT Date: Sun, 27 Oct 2002 08:28:54 GMT From: Mark Valentine Message-Id: <200210270828.g9R8Ssdr027811@dotar.thuvia.org> In-Reply-To: X-Mailer: Mail User's Shell (7.2.6 beta(5) 10/07/98) To: wollman@lcs.mit.edu (Garrett Wollman), standards@freebsd.org Subject: Re: Why I am opposed to a Standards Ghetto 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 > From: wollman@lcs.mit.edu (Garrett Wollman) > Date: Sat 26 Oct, 2002 > Subject: Why I am opposed to a Standards Ghetto > What it boils down to is that we end up with two completely separate > versions of every utility for which a standard exists -- one which > implements the standard behavior, and one which does not -- for all > time. Broken scripts will never get updated, because script-writers > will hard-code them to ignore the standard utilities and use the > non-standard ones instead. Pre-POSIX.1-2001 scripts are NOT BROKEN. > (We see that already in Solaris, where > many users are totally unaware of the way in which their default > environment differs from what the standard says, blithely trusting in > Sun's conformance claim on the ticklist without investigating all the > myriad actions one must take to get a compliant programming > environment.) Sun care about their customers' applications _and_ they care about standards conformance. If you have a better way to satisfy both requirements, please let us know. That the Standard environment is not the default reflects the fact that existing applications matter more than future ones. The choice is simple: support existing user's applications where possible, or screw them in favour of an ideal. I would dearly like to deploy more FreeBSD systems in the Real World, but it's hard to do that with your vision of FreeBSD, and I have to fall back to systems whose vendors support their customers. But still, I want to move along the standards path too. > Note that I am specifically speaking of the base POSIX standard. I am > not including in this discussion the X/Open System Interfaces option > of POSIX.1-2001, which is in essence the old System V Interface > Definition. To the extent we can support XSI behavior without > conflicts, I think we should do so. I do not think that we should > supply a separate XSI version of utilities which do have significant > conflicts (like `ps'), since our aim is not to emulate System V, and > most of the differences as remain are old System V mistakes. I'm with you on not caring much for XSI. "To the extent we can support XSI behavior without conflicts, I think we should do so." This is simply drawing the line in a different place. Substitute POSIX.1 for XSI and you have my view exactly. If we do have /usr/posix, however, is there any harm in populating it with any XSI-compatible utilities which people are prepared to support? Cheers, Mark. -- Mark Valentine, Thuvia Labs "Tigers will do ANYTHING for a tuna fish sandwich." Mark Valentine uses "We're kind of stupid that way." *munch* *munch* and endorses FreeBSD -- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Sun Oct 27 1:44:28 2002 Delivered-To: freebsd-standards@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 931) id E998837B401; Sun, 27 Oct 2002 01:44:27 -0700 (PDT) Date: Sun, 27 Oct 2002 01:44:27 -0700 From: Juli Mallett To: Mark Valentine Cc: Garrett Wollman , standards@freebsd.org Subject: Re: Why I am opposed to a Standards Ghetto Message-ID: <20021027014427.A98289@FreeBSD.org> References: <200210270828.g9R8Ssdr027811@dotar.thuvia.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <200210270828.g9R8Ssdr027811@dotar.thuvia.org>; from mark@thuvia.demon.co.uk on Sun, Oct 27, 2002 at 08:28:54AM +0000 Organisation: The FreeBSD Project X-Alternate-Addresses: , , , , X-Towel: Yes X-LiveJournal: flata, jmallett X-Negacore: Yes 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 * De: Mark Valentine [ Data: 2002-10-27 ] [ Subjecte: Re: Why I am opposed to a Standards Ghetto ] > If we do have /usr/posix, however, is there any harm in populating it > with any XSI-compatible utilities which people are prepared to support? IMO you're both on the right trackish, but I'd prefer to see it like this... /usr/posix Strict POSIX conformance in a utility/library conflict case /usr/bsd Strict BSD bug-for-bug compatability in a conflict case <...> POSIX+BSD in the no-conflicts case The majority of apps fall into the third category, and the majority of software should work, the first two will happily support (with a good PATH) either type of other "broken" software, whether it is broken in terms of what it uses (garrett's academic view) or broken in terms of legacy/support (your unprogressive but real-world view). -- Juli Mallett | FreeBSD: The Power To Serve http://people.FreeBSD.org/~jmallett/ | Support my FreeBSD hacking! To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Sun Oct 27 1:17:19 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5A9FE37B401 for ; Sun, 27 Oct 2002 01:17:16 -0800 (PST) Received: from thuvia.demon.co.uk (thuvia.demon.co.uk [193.237.34.248]) by mx1.FreeBSD.org (Postfix) with ESMTP id A9D8043E6A for ; Sun, 27 Oct 2002 01:17:14 -0800 (PST) (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (dotar.thuvia.org [10.0.0.4]) by phaidor.thuvia.org (8.12.3/8.12.3) with ESMTP id g9R9HCcF055922; Sun, 27 Oct 2002 09:17:12 GMT (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (localhost [IPv6:::1]) by dotar.thuvia.org (8.12.6/8.12.6) with ESMTP id g9R9HBH5028753; Sun, 27 Oct 2002 09:17:11 GMT (envelope-from mark@dotar.thuvia.org) Received: (from mark@localhost) by dotar.thuvia.org (8.12.6/8.12.6/Submit) id g9R9HBas028752; Sun, 27 Oct 2002 09:17:11 GMT Date: Sun, 27 Oct 2002 09:17:11 GMT From: Mark Valentine Message-Id: <200210270917.g9R9HBas028752@dotar.thuvia.org> In-Reply-To: <200210262224.g9QMO4pw026010@khavrinen.lcs.mit.edu> X-Mailer: Mail User's Shell (7.2.6 beta(5) 10/07/98) To: Garrett Wollman Subject: Re: /usr/posix: a first cut Cc: freebsd-standards@freebsd.org 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 > From: Garrett Wollman > Date: Sat 26 Oct, 2002 > Subject: Re: /usr/posix: a first cut > < said: > > > Portable != POSIX (despite all the good POSIX does for steering everyone > > in the same direction eventually). > > Quite to the contraty. POSIX, and other formal standards, define the > behavior portable applications can expect. No, POSIX defines the behaviour POSIX applications can expect. It also defines some of the common ground which can be expected by *portable* applications, increasingly so as time goes by (we hope). > An application which > contains work-arounds for non-standard systems is merely ported, not > necessary portable. _Every_ system is non-standard. I'd sure like my scripts to run on at least some of them. Portability to me is increasing the likelihood that a script will work on diverse platforms with little or no modification. It takes a very perverse vendor to make my scripts have less chance of running on the next release of their system than it has of running on a system I've never tried before (as is most definitely the case for FreeBSD 5.0 in its current state). > > Sheesh, FreeBSD 4.7 doesn't even _have_ getconf(1), > > FreeBSD 4.7 doesn't claim compliance to POSIX.2, so all bets are off. > A script can only hope that the PATH includes utilities which do the > right thing. I think that's what I said earlier... > > and Solaris 9 /bin/sh > > still doesn't support $(foo). > > That's because the only POSIX-compliant shell on Solaris is called > `/usr/xpg4/bin/sh'. Yes, and a "portable" script which has not been "ported" to Solaris can't know how to get that environment. Once getconf is more widely available this will be easier (but a portable #!/bin/sh script still has to exec a new shell to get the standard environment). > The Standard defines a self-consistent environment, and a way > (`getconf -p PATH') for any script to ensure that it gets it. Ah, thanks. My changes now add /usr/posix[/bin] to the start of _PATH_STDPATH in . I'll also update posix(7) to include this information. > > % env PATH=/bin:/usr/bin expr -1 + 2 > > 1 > > Examples should be given in Standard (i.e., Bourne Shell) syntax. OK, ta. I'll use "PATH=/bin/usr/bin expr ..." and "PATH=$(getconf PATH) expr ..." (or should the former just be "expr ..."?). > In any case, this is a red herring, since the expr(1) manual page gives > generous advice as to how to use the `expr' command in a way which > will work identically on both pre-POSIX and POSIX-standard `expr' > implementations. The intention is not to document expr(1), but to illustrate the difference between the POSIX and default environments. Can you suggest a better example? > Rather than pile kluge on top of hack on top of > bogus workaround, just fix your scripts. My scripts work just fine, even on ancient systems such as FreeBSD 4.7. I will port them to FreeBSD 5.0 as needed (but it would be nice if they just worked like they did on old FreeBSD systems, modulo real portability bugs). Cheers, Mark. -- Mark Valentine, Thuvia Labs "Tigers will do ANYTHING for a tuna fish sandwich." Mark Valentine uses "We're kind of stupid that way." *munch* *munch* and endorses FreeBSD -- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Sun Oct 27 1:45:32 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9393D37B401; Sun, 27 Oct 2002 01:45:29 -0800 (PST) Received: from thuvia.demon.co.uk (thuvia.demon.co.uk [193.237.34.248]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2A50343E42; Sun, 27 Oct 2002 01:45:28 -0800 (PST) (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (dotar.thuvia.org [10.0.0.4]) by phaidor.thuvia.org (8.12.3/8.12.3) with ESMTP id g9R9jQcF055980; Sun, 27 Oct 2002 09:45:26 GMT (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (localhost [IPv6:::1]) by dotar.thuvia.org (8.12.6/8.12.6) with ESMTP id g9R9jPH5029200; Sun, 27 Oct 2002 09:45:25 GMT (envelope-from mark@dotar.thuvia.org) Received: (from mark@localhost) by dotar.thuvia.org (8.12.6/8.12.6/Submit) id g9R9jPv7029199; Sun, 27 Oct 2002 09:45:25 GMT Date: Sun, 27 Oct 2002 09:45:25 GMT From: Mark Valentine Message-Id: <200210270945.g9R9jPv7029199@dotar.thuvia.org> In-Reply-To: <20021026184928.E47672@espresso.q9media.com> X-Mailer: Mail User's Shell (7.2.6 beta(5) 10/07/98) To: Mike Barcroft Subject: Re: /usr/posix: a first cut Cc: freebsd-standards@freebsd.org 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 > From: Mike Barcroft > Date: Sat 26 Oct, 2002 > Subject: Re: /usr/posix: a first cut > > > I would prefer to have /usr/posix/bin and /usr/posix/man. I think > > > manuals will get too cluttered if we try to document two differing > > > utilities in one manual. > > > > I was hoping this wouldn't get that much out of hand; I see the > > differences being very small. > > I don't. Take for instance /usr/posix/bin/ps which will be completely > different, with many conflicting options. Ah, I guess XSI stuff makes more if a difference, if we choose to support it. > > Most users will never see the POSIX-related manual pages if they > > are separate. > > Users that don't need POSIX-conformant applications won't need to read > about conformant versions and vice versa. I'm a bit worried that this just hides standards-based manual pages behind the compatibility ones. > > Do you know of any other systems which take this approach? I've > > sort of been following Solaris' style, which I've found to be effective. > > Take a look at the sccs(1) manual on Solaris to see why I think > manuals get cluttered when you go that route. More XSI stuff. Hmm, would a hybrid route work? Shared manual pages for base POSIX.1 stuff, and separate ones for XSI? Our stuff is mostly POSIX.1, but it will never be "mostly XSI". Actually, I think I'm becoming unkeen on the idea of a "getconf PATH" which delivers System V utilities instead of BSD ones. Can anyone think of a mechanism to opt out of the XSI stuff but still get the base POSIX.1-2001 environment? How about having a separate /usr/sysv/bin? Do you have any ideas for implementing conditional processing of manual pages? Preferably the mechanism would allow pre-processed pages to remain syntactically correct and make some degree of sense when fed through nroff -man. My guess would be to use .ifdef POSIX and massage it for feeding through unifdef -t (I've used this technique in the past to pre-process ifdef's in GNU-style makefiles). > > > I think we should suggest in posix(7) that users seeking conformant > > > utilities change their PATH and MANPATH. > > > > I explicitly didn't do that, because I think /usr/posix is there for > > script writers, not users. > > I think both will be using it. OK. I posted an update for this in another message, and will modify it to refer to getconf(1). > > In fact, putting /usr/posix at the start of your path is more likely > > to _break_ the scripts you run. > > I use a different shell for scripting (/bin/sh) vs. my regular shell > (/bin/tcsh). A run of w(1) on freefall shows I'm not alone, 0/27 > users are running sh(1). I believe most advanced Bourne shells define > something to distinguish themselves from regular /bin/sh, so it > shouldn't be a problem to change the path only for interactive > sessions. I was only talking about interactive sessions... Cheers, Mark. -- Mark Valentine, Thuvia Labs "Tigers will do ANYTHING for a tuna fish sandwich." Mark Valentine uses "We're kind of stupid that way." *munch* *munch* and endorses FreeBSD -- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Sun Oct 27 1:55: 4 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9C66637B401; Sun, 27 Oct 2002 01:55:03 -0800 (PST) Received: from thuvia.demon.co.uk (thuvia.demon.co.uk [193.237.34.248]) by mx1.FreeBSD.org (Postfix) with ESMTP id 484CB43E42; Sun, 27 Oct 2002 01:55:02 -0800 (PST) (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (dotar.thuvia.org [10.0.0.4]) by phaidor.thuvia.org (8.12.3/8.12.3) with ESMTP id g9R9sxcF055993; Sun, 27 Oct 2002 09:55:00 GMT (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (localhost [IPv6:::1]) by dotar.thuvia.org (8.12.6/8.12.6) with ESMTP id g9R9sxH5029381; Sun, 27 Oct 2002 09:54:59 GMT (envelope-from mark@dotar.thuvia.org) Received: (from mark@localhost) by dotar.thuvia.org (8.12.6/8.12.6/Submit) id g9R9swIX029380; Sun, 27 Oct 2002 09:54:58 GMT Date: Sun, 27 Oct 2002 09:54:58 GMT From: Mark Valentine Message-Id: <200210270954.g9R9swIX029380@dotar.thuvia.org> In-Reply-To: <20021027014427.A98289@FreeBSD.org> X-Mailer: Mail User's Shell (7.2.6 beta(5) 10/07/98) To: Juli Mallett Subject: Re: Why I am opposed to a Standards Ghetto Cc: Garrett Wollman , standards@freebsd.org 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 > From: Juli Mallett > Date: Sun 27 Oct, 2002 > Subject: Re: Why I am opposed to a Standards Ghetto > * De: Mark Valentine [ Data: 2002-10-27 ] > [ Subjecte: Re: Why I am opposed to a Standards Ghetto ] > > If we do have /usr/posix, however, is there any harm in populating it > > with any XSI-compatible utilities which people are prepared to support? > > IMO you're both on the right trackish, but I'd prefer to see it like this... > > /usr/posix Strict POSIX conformance in a utility/library conflict case > /usr/bsd Strict BSD bug-for-bug compatability in a conflict case > <...> POSIX+BSD in the no-conflicts case Moving the compatibility utilities aside isn't very compatible... Can you give any examples of something you'd move to /usr/bsd? What use would there be for the version left behind? The idea of /usr/bsd on a BSD system seems a little perverse. Cheers, Mark. -- Mark Valentine, Thuvia Labs "Tigers will do ANYTHING for a tuna fish sandwich." Mark Valentine uses "We're kind of stupid that way." *munch* *munch* and endorses FreeBSD -- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Sun Oct 27 1:58:54 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4085D37B401 for ; Sun, 27 Oct 2002 01:58:53 -0800 (PST) Received: from thuvia.demon.co.uk (thuvia.demon.co.uk [193.237.34.248]) by mx1.FreeBSD.org (Postfix) with ESMTP id 09AA343E4A for ; Sun, 27 Oct 2002 01:58:52 -0800 (PST) (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (dotar.thuvia.org [10.0.0.4]) by phaidor.thuvia.org (8.12.3/8.12.3) with ESMTP id g9R9wocF055999; Sun, 27 Oct 2002 09:58:50 GMT (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (localhost [IPv6:::1]) by dotar.thuvia.org (8.12.6/8.12.6) with ESMTP id g9R9woH5029547; Sun, 27 Oct 2002 09:58:50 GMT (envelope-from mark@dotar.thuvia.org) Received: (from mark@localhost) by dotar.thuvia.org (8.12.6/8.12.6/Submit) id g9R9woQG029546; Sun, 27 Oct 2002 09:58:50 GMT Date: Sun, 27 Oct 2002 09:58:50 GMT From: Mark Valentine Message-Id: <200210270958.g9R9woQG029546@dotar.thuvia.org> In-Reply-To: X-Mailer: Mail User's Shell (7.2.6 beta(5) 10/07/98) To: wollman@lcs.mit.edu (Garrett Wollman), standards@freebsd.org Subject: Re: Why I am opposed to a Standards Ghetto 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 > From: mark@thuvia.demon.co.uk (Mark Valentine) > Date: Sun 27 Oct, 2002 > Subject: Re: Why I am opposed to a Standards Ghetto > If we do have /usr/posix, however, is there any harm in populating it > with any XSI-compatible utilities which people are prepared to support? To answer my own question: Yes. Cheers, Mark. -- Mark Valentine, Thuvia Labs "Tigers will do ANYTHING for a tuna fish sandwich." Mark Valentine uses "We're kind of stupid that way." *munch* *munch* and endorses FreeBSD -- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Sun Oct 27 2:13:20 2002 Delivered-To: freebsd-standards@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 931) id 90A7737B401; Sun, 27 Oct 2002 02:13:19 -0800 (PST) Date: Sun, 27 Oct 2002 02:13:19 -0800 From: Juli Mallett To: Mark Valentine Cc: Garrett Wollman , standards@freebsd.org Subject: Re: Why I am opposed to a Standards Ghetto Message-ID: <20021027021319.B799@FreeBSD.org> References: <20021027014427.A98289@FreeBSD.org> <200210270954.g9R9swIX029380@dotar.thuvia.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <200210270954.g9R9swIX029380@dotar.thuvia.org>; from mark@thuvia.demon.co.uk on Sun, Oct 27, 2002 at 09:54:58AM +0000 Organisation: The FreeBSD Project X-Alternate-Addresses: , , , , X-Towel: Yes X-LiveJournal: flata, jmallett X-Negacore: Yes 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 * De: Mark Valentine [ Data: 2002-10-27 ] [ Subjecte: Re: Why I am opposed to a Standards Ghetto ] > > From: Juli Mallett > > Date: Sun 27 Oct, 2002 > > Subject: Re: Why I am opposed to a Standards Ghetto > > > * De: Mark Valentine [ Data: 2002-10-27 ] > > [ Subjecte: Re: Why I am opposed to a Standards Ghetto ] > > > If we do have /usr/posix, however, is there any harm in populating it > > > with any XSI-compatible utilities which people are prepared to support? > > > > IMO you're both on the right trackish, but I'd prefer to see it like this... > > > > /usr/posix Strict POSIX conformance in a utility/library conflict case > > /usr/bsd Strict BSD bug-for-bug compatability in a conflict case > > <...> POSIX+BSD in the no-conflicts case > > Moving the compatibility utilities aside isn't very compatible... > > Can you give any examples of something you'd move to /usr/bsd? What > use would there be for the version left behind? The version left behind would be the "conflicts-free" version. As for something I'd put there... Hmm, ps(1), with the /usr/bsd version preferring BSD in any conflict, /usr/posix preferring POSIX, and the base system either implementing neither in the case of a conflict, or making a value judgement. I'm talking about "strict" compatability/conformance vs. "loose" conflict resolution, with the base system preferring the latter, and the former being available to people who need/want it. > The idea of /usr/bsd on a BSD system seems a little perverse. If you have a better idea of how to refer to "strict traditional BSD behaviour" please let me know :) -- Juli Mallett | FreeBSD: The Power To Serve Will break world for fulltime employment. | finger jmallett@FreeBSD.org http://people.FreeBSD.org/~jmallett/ | Support my FreeBSD hacking! To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Sun Oct 27 2:30: 6 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5962A37B40B; Sun, 27 Oct 2002 02:29:59 -0800 (PST) Received: from thuvia.demon.co.uk (thuvia.demon.co.uk [193.237.34.248]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2F82943E3B; Sun, 27 Oct 2002 02:29:58 -0800 (PST) (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (dotar.thuvia.org [10.0.0.4]) by phaidor.thuvia.org (8.12.3/8.12.3) with ESMTP id g9RATtcF056095; Sun, 27 Oct 2002 10:29:56 GMT (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (localhost [IPv6:::1]) by dotar.thuvia.org (8.12.6/8.12.6) with ESMTP id g9RATtH5030244; Sun, 27 Oct 2002 10:29:55 GMT (envelope-from mark@dotar.thuvia.org) Received: (from mark@localhost) by dotar.thuvia.org (8.12.6/8.12.6/Submit) id g9RATtcI030243; Sun, 27 Oct 2002 10:29:55 GMT Date: Sun, 27 Oct 2002 10:29:55 GMT From: Mark Valentine Message-Id: <200210271029.g9RATtcI030243@dotar.thuvia.org> In-Reply-To: <20021027021319.B799@FreeBSD.org> X-Mailer: Mail User's Shell (7.2.6 beta(5) 10/07/98) To: Juli Mallett Subject: Re: Why I am opposed to a Standards Ghetto Cc: Garrett Wollman , standards@freebsd.org 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 > From: Juli Mallett > Date: Sun 27 Oct, 2002 > Subject: Re: Why I am opposed to a Standards Ghetto > > Can you give any examples of something you'd move to /usr/bsd? What > > use would there be for the version left behind? > > The version left behind would be the "conflicts-free" version. As for > something I'd put there... Hmm, ps(1), with the /usr/bsd version > preferring BSD in any conflict, /usr/posix preferring POSIX, and the > base system either implementing neither in the case of a conflict, or > making a value judgement. That doesn't seem to leave a very functional /bin/ps. > I'm talking about "strict" compatability/conformance > vs. "loose" conflict resolution, with the base system preferring the > latter, and the former being available to people who need/want it. I don't see much use for leaving stale BSD utilities around in /usr/bsd, if the default versions are backwards compatible with them. I feel like I'm missing your point... :-( Cheers, Mark. -- Mark Valentine, Thuvia Labs "Tigers will do ANYTHING for a tuna fish sandwich." Mark Valentine uses "We're kind of stupid that way." *munch* *munch* and endorses FreeBSD -- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Sun Oct 27 3:16: 4 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 39D8B37B401 for ; Sun, 27 Oct 2002 03:16:02 -0800 (PST) Received: from thuvia.demon.co.uk (thuvia.demon.co.uk [193.237.34.248]) by mx1.FreeBSD.org (Postfix) with ESMTP id A871143E42 for ; Sun, 27 Oct 2002 03:16:00 -0800 (PST) (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (dotar.thuvia.org [10.0.0.4]) by phaidor.thuvia.org (8.12.3/8.12.3) with ESMTP id g9RBFwcF056173; Sun, 27 Oct 2002 11:15:58 GMT (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (localhost [IPv6:::1]) by dotar.thuvia.org (8.12.6/8.12.6) with ESMTP id g9RBFwH5031036; Sun, 27 Oct 2002 11:15:58 GMT (envelope-from mark@dotar.thuvia.org) Received: (from mark@localhost) by dotar.thuvia.org (8.12.6/8.12.6/Submit) id g9RBFv1m031035; Sun, 27 Oct 2002 11:15:57 GMT Date: Sun, 27 Oct 2002 11:15:57 GMT From: Mark Valentine Message-Id: <200210271115.g9RBFv1m031035@dotar.thuvia.org> In-Reply-To: X-Mailer: Mail User's Shell (7.2.6 beta(5) 10/07/98) To: wollman@lcs.mit.edu (Garrett Wollman), standards@freebsd.org Subject: Re: Why I am opposed to a Standards Ghetto 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 To tackle the issue raised by Garrett in referring to /usr/posix as a Standards Ghetto... We must not let this be considered a ghetto. We fully recognise that appropriate standards compliance is the way forward. However, the fact is that in order to best support existing applications, we cannot make the POSIX environment the default. We can fix the base system where needed so that everything works in the POSIX environment, but we can't fix third party software. We need to clearly document how application developers can access the Standard environment, and I'd like to write something up for posix(7), but I need a little help from those more familiar with the POSIX environment. Is the developer required to set his environment to use the Standard PATH in order to invoke c99(1)? I'd like to supply sufficient documentation to be able to say "Now follow the POSIX.1-2001 Standard documentation". Is a Standard application expected to assume it will be run in a Standard environment? If so, what is confstr(_CS_PATH, ...) for? Is it really reasonable to assume this? If a Standard application may be run in a non-Standard environment, how does it bootstrap into a Standard environment? For C code this seems clear enough: confstr(3) and so on. How about for shell scripts? #!/bin/sh PATH=$(command -p getconf PATH) sh /my/standard/script "$@" Is that the best we can do? What's missing? If we can make the bridge from the BSD environment to the POSIX environment easy to cross, that will surely encourage people to follow that path. Cheers, Mark. -- Mark Valentine, Thuvia Labs "Tigers will do ANYTHING for a tuna fish sandwich." Mark Valentine uses "We're kind of stupid that way." *munch* *munch* and endorses FreeBSD -- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Sun Oct 27 4:13:35 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 71A0837B401 for ; Sun, 27 Oct 2002 04:13:25 -0800 (PST) Received: from thuvia.demon.co.uk (thuvia.demon.co.uk [193.237.34.248]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1821B43E3B for ; Sun, 27 Oct 2002 04:13:24 -0800 (PST) (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (dotar.thuvia.org [10.0.0.4]) by phaidor.thuvia.org (8.12.3/8.12.3) with ESMTP id g9RCDGcF056259; Sun, 27 Oct 2002 12:13:17 GMT (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (localhost [IPv6:::1]) by dotar.thuvia.org (8.12.6/8.12.6) with ESMTP id g9RCDGH5032247; Sun, 27 Oct 2002 12:13:16 GMT (envelope-from mark@dotar.thuvia.org) Received: (from mark@localhost) by dotar.thuvia.org (8.12.6/8.12.6/Submit) id g9RCDF0p032246; Sun, 27 Oct 2002 12:13:15 GMT Date: Sun, 27 Oct 2002 12:13:15 GMT From: Mark Valentine Message-Id: <200210271213.g9RCDF0p032246@dotar.thuvia.org> X-Mailer: Mail User's Shell (7.2.6 beta(5) 10/07/98) To: wollman@lcs.mit.edu (Garrett Wollman), standards@freebsd.org Subject: Re: Why I am opposed to a Standards Ghetto 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 > From: mark@dotar.thuvia.org (Mark Valentine) > Date: Sun 27 Oct, 2002 > Subject: Re: Why I am opposed to a Standards Ghetto > #!/bin/sh > > PATH=$(command -p getconf PATH) sh /my/standard/script "$@" Doh. This is FreeBSD, and I hope we never need a /usr/posix sh. All we need to state is "Use #!/bin/sh and set PATH=$(command -p getconf PATH) at the start of your script". My own "portable" scripts can do their own worrying about how to bootstrap a Standard shell. Cheers, Mark. -- Mark Valentine, Thuvia Labs "Tigers will do ANYTHING for a tuna fish sandwich." Mark Valentine uses "We're kind of stupid that way." *munch* *munch* and endorses FreeBSD -- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Sun Oct 27 6: 0:22 2002 Delivered-To: freebsd-standards@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 931) id C51CB37B401; Sun, 27 Oct 2002 06:00:20 -0800 (PST) Date: Sun, 27 Oct 2002 06:00:20 -0800 From: Juli Mallett To: Mark Valentine Cc: Garrett Wollman , standards@freebsd.org Subject: Re: Why I am opposed to a Standards Ghetto Message-ID: <20021027060020.A12339@FreeBSD.org> References: <20021027021319.B799@FreeBSD.org> <200210271029.g9RATtcI030243@dotar.thuvia.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <200210271029.g9RATtcI030243@dotar.thuvia.org>; from mark@thuvia.demon.co.uk on Sun, Oct 27, 2002 at 10:29:55AM +0000 Organisation: The FreeBSD Project X-Alternate-Addresses: , , , , X-Towel: Yes X-LiveJournal: flata, jmallett X-Negacore: Yes 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 * De: Mark Valentine [ Data: 2002-10-27 ] [ Subjecte: Re: Why I am opposed to a Standards Ghetto ] > > I'm talking about "strict" compatability/conformance > > vs. "loose" conflict resolution, with the base system preferring the > > latter, and the former being available to people who need/want it. > > I don't see much use for leaving stale BSD utilities around in /usr/bsd, > if the default versions are backwards compatible with them. I'm talking about the cases where they can't be backwards compatible. > I feel like I'm missing your point... :-( Try thinking of it in terms of deprecation... Interface X of thing Y has traditionally not existed in BSD, and conflicts with interface Z, but is required by POSIX. We decide we want to move towards supporting interface X, and deprecate interface Z. Thing Y gets a version in /usr/bsd/Y which provides interface Z and not interface X. The base system thing Y now provides interface X, and not interface Z, and things requiring interface Z should use the traditional (/usr/bsd) version. Also the reverse. Interface X of thing Y has traditionally existed in BSD, and conflicts with interface Z, which is required by POSIX. We decide we want to keep interface X, but provide interface Z for people and things which want it. Thing Y gets a version in /usr/posix/Y which provides interface Z, and not interface X. The base system thing Y continues to provide the BSD-traditional interface X, and people and thingsd requiring interface Z should use the POSIX (/usr/posix) version. Does that help at all? Thanks, juli. -- Juli Mallett | FreeBSD: The Power To Serve Will break world for fulltime employment. | finger jmallett@FreeBSD.org http://people.FreeBSD.org/~jmallett/ | Support my FreeBSD hacking! To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Sun Oct 27 6: 4:10 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 40A7937B401; Sun, 27 Oct 2002 06:04:09 -0800 (PST) Received: from thuvia.demon.co.uk (thuvia.demon.co.uk [193.237.34.248]) by mx1.FreeBSD.org (Postfix) with ESMTP id BBFAE43E42; Sun, 27 Oct 2002 06:04:07 -0800 (PST) (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (dotar.thuvia.org [10.0.0.4]) by phaidor.thuvia.org (8.12.3/8.12.3) with ESMTP id g9RE45cF056423; Sun, 27 Oct 2002 14:04:05 GMT (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (localhost [IPv6:::1]) by dotar.thuvia.org (8.12.6/8.12.6) with ESMTP id g9RE45H5034349; Sun, 27 Oct 2002 14:04:05 GMT (envelope-from mark@dotar.thuvia.org) Received: (from mark@localhost) by dotar.thuvia.org (8.12.6/8.12.6/Submit) id g9RE45sH034348; Sun, 27 Oct 2002 14:04:05 GMT Date: Sun, 27 Oct 2002 14:04:05 GMT From: Mark Valentine Message-Id: <200210271404.g9RE45sH034348@dotar.thuvia.org> X-Mailer: Mail User's Shell (7.2.6 beta(5) 10/07/98) To: Mike Barcroft Subject: Re: /usr/posix: a first cut Cc: freebsd-standards@freebsd.org 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 > From: mark@dotar.thuvia.org (Mark Valentine) > Date: Sun 27 Oct, 2002 > Subject: Re: /usr/posix: a first cut > Can anyone think of a mechanism to opt out of the XSI stuff but still > get the base POSIX.1-2001 environment? How about having a separate > /usr/sysv/bin? Better: /usr/xopen/bin. Cheers, Mark. -- Mark Valentine, Thuvia Labs "Tigers will do ANYTHING for a tuna fish sandwich." Mark Valentine uses "We're kind of stupid that way." *munch* *munch* and endorses FreeBSD -- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Sun Oct 27 6:37:33 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7635D37B401; Sun, 27 Oct 2002 06:37:31 -0800 (PST) Received: from thuvia.demon.co.uk (thuvia.demon.co.uk [193.237.34.248]) by mx1.FreeBSD.org (Postfix) with ESMTP id EB0EC43E6A; Sun, 27 Oct 2002 06:37:29 -0800 (PST) (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (dotar.thuvia.org [10.0.0.4]) by phaidor.thuvia.org (8.12.3/8.12.3) with ESMTP id g9REbRcF056496; Sun, 27 Oct 2002 14:37:28 GMT (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (localhost [IPv6:::1]) by dotar.thuvia.org (8.12.6/8.12.6) with ESMTP id g9REbRH5035144; Sun, 27 Oct 2002 14:37:27 GMT (envelope-from mark@dotar.thuvia.org) Received: (from mark@localhost) by dotar.thuvia.org (8.12.6/8.12.6/Submit) id g9REbRms035143; Sun, 27 Oct 2002 14:37:27 GMT Date: Sun, 27 Oct 2002 14:37:27 GMT From: Mark Valentine Message-Id: <200210271437.g9REbRms035143@dotar.thuvia.org> In-Reply-To: <20021027060020.A12339@FreeBSD.org> X-Mailer: Mail User's Shell (7.2.6 beta(5) 10/07/98) To: Juli Mallett Subject: Re: Why I am opposed to a Standards Ghetto Cc: Garrett Wollman , standards@freebsd.org 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 > From: Juli Mallett > Date: Sun 27 Oct, 2002 > Subject: Re: Why I am opposed to a Standards Ghetto > Does that help at all? Thanks, that got through a bit better! So, given any particular POSIX feature (for example) we wish to adopt in FreeBSD I can see the following cases: 1) No conflict. Adopt the feature. 2) Conflict, but nobody uses the FreeBSD feature. Replace the FreeBSD feature with the POSIX feature. 3) Conflict, but we'd really like to use the POSIX version sooner rather than later, and the FreeBSD flavour is only lightly used. Shove the old version in /usr/bsd (or /usr/compat/bin?) and incorporate the POSIX feature in the standard version. 4) Conflict, and the FreeBSD behaviour is in widespread use. Implement the POSIX feature in a new /usr/posix version. Also, you outlined the possibility that for any given utility, different POSIX features may come into different classes, so you could end up with three versions of the utility. I still favour doing the same for (3) as for (4), but marking the default behaviour as (strongly?) deprecated, with the option of one day (when/if the FreeBSD flavour really can be proven to have gone out of use), replacing the default version with the POSIX version (optionally leaving a symlink in /usr/posix). Perhaps you could give a specific example which might show that this doesn't suffice? Cheers, Mark. -- Mark Valentine, Thuvia Labs "Tigers will do ANYTHING for a tuna fish sandwich." Mark Valentine uses "We're kind of stupid that way." *munch* *munch* and endorses FreeBSD -- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Sun Oct 27 8:56:42 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 914D037B401 for ; Sun, 27 Oct 2002 08:56:41 -0800 (PST) Received: from khavrinen.lcs.mit.edu (khavrinen.lcs.mit.edu [18.24.4.193]) by mx1.FreeBSD.org (Postfix) with ESMTP id EC5AA43E3B for ; Sun, 27 Oct 2002 08:56:40 -0800 (PST) (envelope-from wollman@khavrinen.lcs.mit.edu) Received: from khavrinen.lcs.mit.edu (localhost [IPv6:::1]) by khavrinen.lcs.mit.edu (8.12.3/8.12.5) with ESMTP id g9RGudgQ031353 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=OK); Sun, 27 Oct 2002 11:56:40 -0500 (EST) (envelope-from wollman@khavrinen.lcs.mit.edu) Received: (from wollman@localhost) by khavrinen.lcs.mit.edu (8.12.3/8.12.5/Submit) id g9RGudeO031350; Sun, 27 Oct 2002 11:56:39 -0500 (EST) (envelope-from wollman) Date: Sun, 27 Oct 2002 11:56:39 -0500 (EST) From: Garrett Wollman Message-Id: <200210271656.g9RGudeO031350@khavrinen.lcs.mit.edu> To: Mark Valentine Cc: standards@freebsd.org Subject: Re: Why I am opposed to a Standards Ghetto In-Reply-To: <200210271213.g9RCDF0p032246@dotar.thuvia.org> References: <200210271213.g9RCDF0p032246@dotar.thuvia.org> 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 < said: > Doh. This is FreeBSD, and I hope we never need a /usr/posix sh. So why is a small incompatibility in expr(1) so important to you when the small incompatibilities in sh(1) not? (As we have already noted, Solaris has both a twenty-year-old backwards shell and a working POSIX shell.) -GAWollman To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Sun Oct 27 9:16:11 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D2B7737B401 for ; Sun, 27 Oct 2002 09:16:10 -0800 (PST) Received: from thuvia.demon.co.uk (thuvia.demon.co.uk [193.237.34.248]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8D68543E4A for ; Sun, 27 Oct 2002 09:16:09 -0800 (PST) (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (dotar.thuvia.org [10.0.0.4]) by phaidor.thuvia.org (8.12.3/8.12.3) with ESMTP id g9RHG7cF056855; Sun, 27 Oct 2002 17:16:07 GMT (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (localhost [IPv6:::1]) by dotar.thuvia.org (8.12.6/8.12.6) with ESMTP id g9RHG6H5038741; Sun, 27 Oct 2002 17:16:06 GMT (envelope-from mark@dotar.thuvia.org) Received: (from mark@localhost) by dotar.thuvia.org (8.12.6/8.12.6/Submit) id g9RHG6dl038740; Sun, 27 Oct 2002 17:16:06 GMT Date: Sun, 27 Oct 2002 17:16:06 GMT From: Mark Valentine Message-Id: <200210271716.g9RHG6dl038740@dotar.thuvia.org> In-Reply-To: <200210271656.g9RGudeO031350@khavrinen.lcs.mit.edu> X-Mailer: Mail User's Shell (7.2.6 beta(5) 10/07/98) To: Garrett Wollman Subject: Re: Why I am opposed to a Standards Ghetto Cc: standards@freebsd.org 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 > From: Garrett Wollman > Date: Sun 27 Oct, 2002 > Subject: Re: Why I am opposed to a Standards Ghetto > So why is a small incompatibility in expr(1) so important to you when > the small incompatibilities in sh(1) not? I dealt with incompatibilities between sh(1) implementations years ago; this is the first time I've come across an expr(1) that breaks my scripts. > (As we have already noted, > Solaris has both a twenty-year-old backwards shell and a working POSIX > shell.) My scripts work just fine with both. What's non-working about /bin/sh? Cheers, Mark. -- Mark Valentine, Thuvia Labs "Tigers will do ANYTHING for a tuna fish sandwich." Mark Valentine uses "We're kind of stupid that way." *munch* *munch* and endorses FreeBSD -- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Sun Oct 27 9:24:40 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C9AE637B401 for ; Sun, 27 Oct 2002 09:24:38 -0800 (PST) Received: from khavrinen.lcs.mit.edu (khavrinen.lcs.mit.edu [18.24.4.193]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3B1B443E42 for ; Sun, 27 Oct 2002 09:24:38 -0800 (PST) (envelope-from wollman@khavrinen.lcs.mit.edu) Received: from khavrinen.lcs.mit.edu (localhost [IPv6:::1]) by khavrinen.lcs.mit.edu (8.12.3/8.12.5) with ESMTP id g9RHObgQ031516 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=OK); Sun, 27 Oct 2002 12:24:37 -0500 (EST) (envelope-from wollman@khavrinen.lcs.mit.edu) Received: (from wollman@localhost) by khavrinen.lcs.mit.edu (8.12.3/8.12.5/Submit) id g9RHObQ2031513; Sun, 27 Oct 2002 12:24:37 -0500 (EST) (envelope-from wollman) Date: Sun, 27 Oct 2002 12:24:37 -0500 (EST) From: Garrett Wollman Message-Id: <200210271724.g9RHObQ2031513@khavrinen.lcs.mit.edu> To: Mark Valentine Cc: standards@FreeBSD.ORG Subject: Re: Why I am opposed to a Standards Ghetto In-Reply-To: <200210271115.g9RBFv1m031035@dotar.thuvia.org> References: <200210271115.g9RBFv1m031035@dotar.thuvia.org> 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 < said: > Is a Standard application expected to assume it will be run in a Standard > environment? It may, but need not. > If so, what is confstr(_CS_PATH, ...) for? Is it really reasonable > to assume this? It's not clear to me that changing other settings could not also be required. The purpose of the confstr() call is mainly to help applications have have no environment at all, or can't trust their environment (e.g., set-id programs) figure out what to do. > If a Standard application may be run in a non-Standard environment, how > does it bootstrap into a Standard environment? It is not clear that there is any defined mechanism. > If we can make the bridge from the BSD environment to the POSIX environment > easy to cross, that will surely encourage people to follow that path. I don't see much evidence that this has happened in systems where it has been tried (e.g., Solaris). If we were going to go down this road, the only implementation I could reasonably support would be an environment variable which downgraded from standard to ``like it was in FreeBSD 4.x'' -- with the default being standards-compliant. That is the approach I took for expr(1), and I'd be willing to extend that for the use of other applications. Perhaps something like this: - Deprecate EXPR_COMPAT. - Define a new standard environment variable, _FreeBSD_4_COMPAT, the value of which can be either the empty string or a list of programs to be affected. - Add a new library routine, int check_utility_compat(const char *utility), which centralizes checking for this environment variable. - Update expr(1) and sort(1) to be the first clients. I can have this done tonight after I take care of some existing business in my tree. -GAWollman To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Sun Oct 27 9:34:46 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 07A8237B401 for ; Sun, 27 Oct 2002 09:34:45 -0800 (PST) Received: from thuvia.demon.co.uk (thuvia.demon.co.uk [193.237.34.248]) by mx1.FreeBSD.org (Postfix) with ESMTP id 831F543E75 for ; Sun, 27 Oct 2002 09:34:43 -0800 (PST) (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (dotar.thuvia.org [10.0.0.4]) by phaidor.thuvia.org (8.12.3/8.12.3) with ESMTP id g9RHYfcF056888; Sun, 27 Oct 2002 17:34:42 GMT (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (localhost [IPv6:::1]) by dotar.thuvia.org (8.12.6/8.12.6) with ESMTP id g9RHYfH5039143; Sun, 27 Oct 2002 17:34:41 GMT (envelope-from mark@dotar.thuvia.org) Received: (from mark@localhost) by dotar.thuvia.org (8.12.6/8.12.6/Submit) id g9RHYfFH039142; Sun, 27 Oct 2002 17:34:41 GMT Date: Sun, 27 Oct 2002 17:34:41 GMT From: Mark Valentine Message-Id: <200210271734.g9RHYfFH039142@dotar.thuvia.org> In-Reply-To: <200210271656.g9RGudeO031350@khavrinen.lcs.mit.edu> X-Mailer: Mail User's Shell (7.2.6 beta(5) 10/07/98) To: Garrett Wollman Subject: Re: Why I am opposed to a Standards Ghetto Cc: standards@freebsd.org 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 > From: Garrett Wollman > Date: Sun 27 Oct, 2002 > Subject: Re: Why I am opposed to a Standards Ghetto > So why is a small incompatibility in expr(1) so important to you when > the small incompatibilities in sh(1) not? Incidentally, the reason the expr(1) breakage is so serious to me is that _most_ of my scripts are _guaranteed_ to pass a first argument with a leading hyphen, because of an idiom I have used for many years to parse command line options. The fix is trivial (e.g. use a leading space both sides of the ":" operator, like I do for test(1)), but the consequences are not. Consider my poor former employer's support desk when their FreeBSD using customers upgrade to FreeBSD 5.0 and start seeing the product barf. This affects every product of that company. (Actually, in this case FreeBSD wasn't an officially supported target, though I made sure the products worked on it, but you get the picture.) Generalising this a bit, this may affect third party products which have been mothballed, or the where the vendor doesn't exist any more. Even though the fix is trivial, and since it's a script they have the source code, there will be a lot of end users unfamiliar with the product internals, clueless about shell programming, scratching there heads over this. It's messy, this Real Life business! Cheers, Mark. -- Mark Valentine, Thuvia Labs "Tigers will do ANYTHING for a tuna fish sandwich." Mark Valentine uses "We're kind of stupid that way." *munch* *munch* and endorses FreeBSD -- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Sun Oct 27 10: 4:11 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D7B1037B4A4 for ; Sun, 27 Oct 2002 10:04:07 -0800 (PST) Received: from thuvia.demon.co.uk (thuvia.demon.co.uk [193.237.34.248]) by mx1.FreeBSD.org (Postfix) with ESMTP id 697E843E3B for ; Sun, 27 Oct 2002 10:04:06 -0800 (PST) (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (dotar.thuvia.org [10.0.0.4]) by phaidor.thuvia.org (8.12.3/8.12.3) with ESMTP id g9RI44cF056961; Sun, 27 Oct 2002 18:04:04 GMT (envelope-from mark@thuvia.demon.co.uk) Received: from dotar.thuvia.org (localhost [IPv6:::1]) by dotar.thuvia.org (8.12.6/8.12.6) with ESMTP id g9RI44H5039770; Sun, 27 Oct 2002 18:04:04 GMT (envelope-from mark@dotar.thuvia.org) Received: (from mark@localhost) by dotar.thuvia.org (8.12.6/8.12.6/Submit) id g9RI433K039769; Sun, 27 Oct 2002 18:04:03 GMT Date: Sun, 27 Oct 2002 18:04:03 GMT From: Mark Valentine Message-Id: <200210271804.g9RI433K039769@dotar.thuvia.org> In-Reply-To: <200210271724.g9RHObQ2031513@khavrinen.lcs.mit.edu> X-Mailer: Mail User's Shell (7.2.6 beta(5) 10/07/98) To: Garrett Wollman Subject: Re: Why I am opposed to a Standards Ghetto Cc: standards@freebsd.org 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 > From: Garrett Wollman > Date: Sun 27 Oct, 2002 > Subject: Re: Why I am opposed to a Standards Ghetto > If we were going to go down this road, the only implementation I could > reasonably support would be an environment variable which downgraded > from standard to ``like it was in FreeBSD 4.x'' -- with the default > being standards-compliant. The problem here is that this requires end user action to get "broken" software working again, and it's still not clear what that action is. Consider my example situation with an end user unfamiliar with shell programming and with a "broken" and no longer supported product. It's going to take a *lot* of head scratching to figure out he has to set this environment variable. Even then, where does he set it? In his .profile? That breaks any software he runs which assumes the environment is Standards compliant (e.g. stuff written for FreeBSD 5.0). And it won't help parts of the product started from /etc/rc or from cron(1). > Perhaps something like this: > > - Deprecate EXPR_COMPAT. > - Define a new standard environment variable, _FreeBSD_4_COMPAT, the > value of which can be either the empty string or a list of programs to > be affected. > - Add a new library routine, int check_utility_compat(const char > *utility), which centralizes checking for this environment variable. > - Update expr(1) and sort(1) to be the first clients. This may be a little neater than the current implementation, but it's effectively functionally equivalent - just uses another environment variable - and doesn't actually help solve the problem. Sorry. Cheers, Mark. -- Mark Valentine, Thuvia Labs "Tigers will do ANYTHING for a tuna fish sandwich." Mark Valentine uses "We're kind of stupid that way." *munch* *munch* and endorses FreeBSD -- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message