I apologize for the long delay in responding, I was sick. On Sun, May 20, 2001 at 08:23:44PM +0200, Arthur Korn wrote: > > Can we change the last sentence in: > > > ! The standard shell interpreter `<tt>/bin/sh</tt>' is a > > ! symbolic link to a POSIX compatible shell. Since the POSIX > > ! standard for shells leaves important areas unspecified, > > ! wherever it is lacking, `<tt>/bin/sh</tt>' shall follow the > > ! <em>consensus behavior</em> of other shell interpreters. > > ! Consensus behavior is determined by testing at least five > > ! shell interpreters which claim to be POSIX compatible. > > to > > "Consensus behavior is determined by testing all shells which > register for the /bin/sh alternative in the distribution the script > is meant for."
>From the point of view of an upstream author I am nervous about that. I deliberately chose the number five to be greater than the number of different POSIX shell implementations in Debian (bash, ash, pdksh) because an upstream author trying to determine consensus behavior would not limit testing to the shells in just one distribution of one operating system. Also, how do you then distinguish a bug in one of Debian's shells which causes it to break the consensus, from a situation where there is genuinely no consensus? The sample size is too small. However, you do have a point. It probably is too much to ask of an arbitrary Debian maintainer that they have access to enough different shell implementations to evaluate the rule as I phrased it, since (as someone else pointed out) their priority is making Debian work cohesively. Upstream people have to worry about portability to many different systems, which is a different, harder problem. [I'm primarily an upstream maintainer (of gcc) myself, so I tend to come at things from that point of view.] Perhaps we could rephrase the proposal in terms of uniformity between shells included in Debian and considered to be suitable alternatives for /bin/sh (ignoring the fact that there is no /bin/sh alternative). This would be a weaker constraint but should do acceptably well. Something like 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? -- zw Actually, we have scientifically determined that Heisenberg did indeed sleep exactly here. However, we have no idea whatsoever just how fast asleep he was. -- Dave Aronson