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

Re: bash exorcism experiment ('bug' 762923 & 763012)



On Thu, 2014-10-02 at 11:48 +0200, Thorsten Glaser wrote:
> This is wrong. Every script starting with #!/bin/sh must work with a
> POSIX shell that supports “local” and “echo -n” (Policy §10.4).

Solid, working software is hard enough to produce.  A policy requiring
something you can't test for makes it near impossible.

IMO, if Debian has decided the in the default case /bin/sh ==> dash,
then the policy should say "#!/bin/sh scripts" must work with dash.  It
then becomes trivial for Developers to test their code conforms with
policy.  If we allow /bin/sh to be linked to other shells, policy should
say those shells must implement all the features /bin/dash implements so
that any script that works with dash must also work with them.

As is stands, the one thing you can guarantee we will get from our
policy saying "#!/bin/sh" scripts work with a shell that does not exist
and can't be tested against is scripts that have never been tested
against that policy.

If Debian really wants to implement the policy as described, then it
should do the work required to produce robust software that conforms
with it.  In this case that would mean producing a shell that behaves as
described, which we make /bin/sh by default.  Perhaps a flag to dash
stripping all of the features not described in SUSv3 features would
suffice.

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: