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: