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

Re: [PATCH] latest ash has broken 'echo' command



* Herbert Xu said:
> Marek Habersack <grendel@vip.net.pl> wrote:
> >
> > That's about a *script*, we're talking about the *shell* which is supposed
> > to provide every capability in the standard. This means the echo command
> 
> Sorry, I don't follow.  Who says that we must implement every *optional*
> capability in the standard? Many of them in incompatible.
No if the options come from a single standard. There are mandatory features
and optional ones in every standard. I think that implementing all of them
is a good thing. The only thing left is how to let the, in our case, script
writer know that this or that feature is actually supported. An environment
variable to that effect would do.
 
> > Still, what I said above applies here. Supporting the params in the shell's
> > builtin is NOT breaking the standard or making the shell non-portable. Shell
> > itself doesn't use the builtin, the scripts do. And scripts are written by
> > people who make decisions whether their script is to be portable or not.
> 
> You're right.  ash's old behaviour was probably POSIX.2 compliant.  But our
> policy currently says that #!/bin/sh scripts need to work with *all* POSIX.2
> compliant shells.  This is not possible as it currently stands.  So after
> potato is released, we should either change the policy or start fixing those
> scripts (unlikely due to the number involved here as well as traditional
> practice on Linux).
Either way, the statement that they need to work with all shells, doesn't
prevent one from supporting off the standard features *if* they don't break
the standard, right? After all, we are talking about features that are used
by thousands of programmers worldwide making them a de-facto standard that,
in fact, doesn't contradict POSIX.

marek

Attachment: pgpgp3vl8Edol.pgp
Description: PGP signature


Reply to: