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

Bug#512119: False positives for update menus and bashism checks



On Sun, 2009-01-18 at 16:16 +0000, Richard Kettlewell wrote:
> 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[66] 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.
> 
> http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap03.html#tag_03_439

That explicitly specifies that XSI is a super-set of the mandatory
requirements; chapter 2 of the Base Definitions also indicates that a
POSIX conforming system /may/ support the XSI extensions.

> 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.

For as long as I've been following the Debian Policy process, 10.4 (and
the corresponding section in early Policy versions) has always been
understood as referring to the mandatory elements of POSIX / SUS. 

Policy specifies three features which may be assumed to be present on
top of those required by SUS, two of which are clearly marked in SUS as
being XSI extensions and there have been a number of discussions with
regard to allowing the XSI extensions for kill / trap.

I'm sure Russ would welcome suggestions for wording improvements for
Policy :-) but the generally understood meaning of that section has
"always" been "the shell features mandated by POSIX". See #48247, for
instance, which led to the exception for "echo -n".

Regards,

Adam



Reply to: