[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Tightening up specification of /bin/sh

On Mon, May 28, 2001 at 08:03:04PM +0200, Arthur Korn wrote:
> Hi
> Zack Weinberg schrieb:
> > I apologize for the long delay in responding, I was sick.
> Bless you.

Thank you.

> > 	The POSIX standard for shells leaves important areas
> > 	unspecified.  In the interest of minimizing the number of
> > 	scripts which are dependent on one particular implementation
> > 	of the shell, all POSIX compatible shells included in Debian
> > 	should behave identically for all features which are mentioned
> > 	in the POSIX standard.  
> > 	<footnote> 
> > 	This is not intended to exclude extensions to the standard,
> > 	only to constrain those features which POSIX mentions but does
> > 	not fully specify.
> > 	</footnote>
> > 	
> > 	{ possibly examples here }
> > 
> > Do you think that would be better?
> Just reading the indented text it looks as if you wanted to ban
> all non-compliant shells from Debian.

That wasn't the intent.  It was supposed to mean "IF foosh is a
posix-compatible shell, THEN it should ..."  Also note that I said
should, not must.

> Maybe this whole thing could be formulated positively, such that
> shells that comply with this way are marked as being useable as
> /bin/sh and might provide means to divert it.

The entire section being tweaked applies only to shells which might be
usable as /bin/sh, but I do agree that it could be worded better.  We
have confusion between requirements on /bin/sh and requirements on
scripts which start with #! /bin/sh...

And we do want some sort of spec for how to control what /bin/sh
points to.  There have been a couple of fiascoes over who owns that
symlink in the past; I wouldn't want to write anything into policy
until we have an existing practice that works.

I've noticed that ash now offers to divert /bin/sh, which seems
sensible enough, although it'd be nice if alternatives could be used
(maybe after update-alternatives stops being a perl script?)

> Further, "identical behaviour" seems a bit strict and hard to
> prove to me, OTOH I don't know POSIX well, thus I have no idea
> what this would apply to.

It's an empirical thing.  You write a test script, and you see what it
does with each shell, and if it doesn't always do the same thing you
file a bug report.

zw   You can tell [the lunatic] by the liberties he takes with common sense,
     his flashes of inspiration, and by the fact that sooner or later he
     brings up the Templars.
     	-- Umberto Eco, _Foucault's Pendulum_

Reply to: