Re: Tightening up specification of /bin/sh
On Sat, May 19, 2001 at 09:13:31PM -0700, Zack Weinberg wrote:
> I'd like to tighten this up a bit by requiring that /bin/sh adhere to
> the consensus of implementations, where POSIX leaves things
I disagree, on the grounds that this exchanges an arguably specific standard
for a completely vague description of /bin/sh behaviour with no
understandable gain for Debian.
Debian does have complete control over the shell scripts it ships, so if
shell scripts have POSIX incompatibilities, we can fix them. The fear of
bugs one might encounter when changing /bin/sh for a completely untested
POSIX compatible shell should not stop us from making this requirement.
Debian does not have the requirement that scripts are portable to a large
set of systems with unknown shells, which have bugs or weird behavior in
border cases. We can always fix our supposedly POSIX compatible shells if
they turn out to be not so compatible.
Indeed, we don't have the resources or possibility to test our scripts
against a whole number of shells, or in any other way determine what your
idea of /bin/sh is supposed to be. I am not even sure we have five
supposedly POSIX compatible shells to test against (not to mention we can have
any number of shells which "claim" to be POSIX compatible, because such a
claim can be a fraud).
You don't provide a reasonable motivation for such a change either. I don't
see a hard need for such a move, be it a large area of POSIX-unspecified
behaviour which we need to define, nor a real danger for systems which
install an unknown POSIX compatible shell.
Also, in cases where disagrement on the correct behaviour does indeed exist
(or where optional features should be required within Debian), I favour to
explicitely exempt those items in policy, rather than starting from a
completely unspecified situation and work it into the concrete.
You mention that disputes trigger endless discussions, like echo -n. Your
proposal opens the door to even more discussion. In fact, it requires
endless discussions, because your proposal is completely unspecific about
the details. The attempts you make to specify what is not specified (by
making it a necessity to number five shells claiming compatibility, by
favouring POSIX over other features, by putting the decision in the hand of
the maintainer where no agreement is reached) are failing short because they
can easily circumvented formally and thus will not be effective in
preventing such discussions.
Just saying vaguely that POSIX isn't specific enough is not good enough
to justify any change in the Debian policy. That aside, even if there is an
understandable motivation to specify what POSIX doesn't, your proposal
leaves a lot to be wished for.
`Rhubarb is no Egyptian god.' Debian http://www.debian.org email@example.com
Marcus Brinkmann GNU http://www.gnu.org firstname.lastname@example.org