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

Bug#267142: huh?



> You may note that I replied directly to your original bug report.

I have just reviewed bugs.debian.org/267142, and AFAICT, this is
incorrect.  Your messages listed there have only been in response to
other people's statements, and seem to be mistaken in taking Debian
Policy to require restriction to the entire Posix.1 spec.

Incidentally, you are also incorrect when you say:

> "debconf" is not specified by POSIX.  A #!/bin/sh maintainer script
> calling "debconf" does not suddenly violate policy if bash implements a
> "debconf" builtin.  Nor does bash violate policy by doing so.  

Policy 10.4 says that /bin/sh can be "a symbolic link to any POSIX
compatible shell..."  

A shell with a crazy debconf builtin is still a POSIX compatible
shell, and so the "should" advice in Policy 10.4 kicks in, and one
should not use debconf (or use it through a complete path name).

Strictly speaking, section 10.4 prohibits the use of a non-Posix
feature in any Posix-specified program, and prohibits the use of
non-Posix-specified programs entirely (or rather, if one does not use
a full pathname for the command in question).

But this is clearly not the intention of the section.  The section is
intending only to restrict the use of Posix features *of the shell
command interpreter*.  The problem is that "whether such-and-such is a
feature of the shell" is itself an issue that shell disagree about,
and moreover.

Note that test -a *will* work on a truly Posix minimal shell, because
a truly Posix minimal shell won't implement that as a builtin, and so
/usr/bin/test will be executed, which on Debian does support -a.

So the problem is that Policy 10.4 has a technical bug.  My preferred
fix is to list which shells' features one can use, by listing the
shells.  I am happy to see posh on that list, or not; it doesn't
matter much to me one way or the other.

Thomas



Reply to: