GNU bug report logs - #23090
true and false not POSIX

Previous Next

Package: coreutils;

Reported by: Ruediger Meier <sweet_f_a <at> gmx.de>

Date: Tue, 22 Mar 2016 12:44:02 UTC

Severity: normal

Tags: notabug

Done: Eric Blake <eblake <at> redhat.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eric Blake <eblake <at> redhat.com>
To: Ruediger Meier <sweet_f_a <at> gmx.de>, 23090 <at> debbugs.gnu.org
Subject: bug#23090: true and false not POSIX
Date: Tue, 22 Mar 2016 09:13:40 -0600
[Message part 1 (text/plain, inline)]
On 03/22/2016 06:43 AM, Ruediger Meier wrote:
> Hi,
> 
> Is there any good reason why coreutils true and false are not POSIX?

No, because coreutils' true and false ARE compliant with POSIX.

> But coreutils true has --version and --help implemented. It needs 
>> /dev/null redirection to work as expected.

Not true.  POSIX says that behavior is unspecified for 'true --help'.
Therefore, whatever coreutils does in that case does not violate POSIX.

'true -- --help', on the other hand, must be silent - but coreutils
obeys that rule.

> 
> Also these options are the reason why true.c is using many library 
> functions like setlocale, etc. The binary is bloated and the risk that 
> something goes wrong/crashs is much higher. I was looking for a minimal 
> and rock-solid true command to be used in scripts.

If coreutils' true crashes due to wrong file permissions causing
setlocale() to fail, your system is already going to have severe
problems with other utilities.  Coreutils is complying with GNU Coding
Standards at the same time as POSIX, and we do not feel that it is
bloated for doing so.

> 
> IMO it is not worth to violate POSIX just because of cosmetical reasons 
> (--help/--version). Moreover since the true command usually comes from 
> the shell I guess that almost no person on earth ever had seen your 
> nice --help output anyways.

On many GNU/Linux systems, 'man true' displays the coreutils' man page
for true, which in turn was generated from 'true --help' output.  So a
lot more people read it than you might think, even if they don't
directly invoke it.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

[signature.asc (application/pgp-signature, attachment)]

This bug report was last modified 9 years and 61 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.