Bug#512119: False positives for update menus and bashism checks
Richard Kettlewell <firstname.lastname@example.org> writes:
> Russ Allbery wrote:
>> It's an XSI extension (that's what the notation in the synopsis section
>> means), which means you're not allowed to use it in /bin/sh scripts in
>> Debian per current Policy. Only the base POSIX features are allowed at
>> present (plus the exceptions listed in Policy).
> The current online policy text (s10.4) is:
> Scripts may assume that /bin/sh implements the SUSv3 Shell
> Command Language plus the following additional features
> not mandated by SUSv3:
> The SUS text is:
> 3.439 XSI
> The X/Open System Interface is the core application programming
> interface for C and sh programming for systems conforming to the
> Single UNIX Specification. This is a superset of the mandatory
> requirements for conformance to IEEE Std 1003.1-2001.
> To my mind this says that conformance to SUS implies supporting the XSI
> features, so anything that assumes SUSv3 should be able to assume XSI as
> a consequence.
Well, I wrote the text, so I can tell you conclusively that was not the
intention. Note that several of the additional features listed are
mandated by XSI, so if the text meant all of XSI was fine, it's internally
contradictory. Last time I checked, there are XSI features that are not
implemented by dash, so I believe that even on a practical basis using all
of XSI wouldn't work with the Bourne shell implementations currently in
It may very well be that I got the terminology wrong; the merger of three
standards into the current POSIX standard is rather confusing. My
understanding was that the base POSIX and base SUSv3 standards were
identical and the XSI extension was an extension to both of them. But I
can certainly clarify Policy.
Russ Allbery (email@example.com) <http://www.eyrie.org/~eagle/>