GNU bug report logs -
#9956
Linux program "sum"
Previous Next
Full log
View this message in rfc822 format
On 11/06/2011 01:12 PM, Jim Meyering wrote:
> Pádraig Brady wrote:
>> On 11/04/2011 06:37 PM, Rodney Rieck wrote:
>>> Hello,
>>>
>>> This is about the Linux program "sum" that computes checksums and
>>> number of blocks in a file. I'm not writing about a program error I've
>>> found -- I am writing about how the output from the program is
>>> formatted.
>>>
>>> If you type in something like this: sum -r *
>>>
>>> and if there are multiple files present in the current directory, you
>>> will get output like this for each file it checks:
>>>
>>> [check_sum] [number_of_blocks] [file_name]
>>>
>>> If though on the command line you change the "*" to a single file name,
>>> the output is the same except that it doesn't print/display the
>>> "[file_name]", I guess because that seems redundant because the file
>>> name is already known and was typed in on the command line.
>>
>> I consider that a bug.
>> freebsd always outputs the file name for example.
>> This means that if you do `find -type f | xargs sum`,
>> the last entry could be without a file name.
>>
>> Now we can't change without consideration for backwards compat,
>> though I'd be inclined to fix this inconsistency.
>
> The existing behavior is compatible with that of UCB sum,
> and -r (the default) selects BSD compatibility:
>
> solaris10$ : > k && /usr/ucb/sum k
> 00000 0
> solaris10$ /usr/ucb/sum k k
> 00000 0 k
> 00000 0 k
>
> Since GNU sum's raison d'etre is compatibility, I'd have a hard
> time justifying a change that would render it incompatible.
>
Interesting. On solaris:
$ echo 1 > 1
$ sum -r 1
32802 1 1
$ /usr/ucb/sum 1
32802 1
UCB being the "Berkley" variant.
However BSD changed to always outputting the filename at some stage
because `sum` does so on FreeBSD, and has since 1993 according to
http://svnweb.freebsd.org/base/head/usr.bin/cksum/
This suggests that the UCB variant was added to solaris around 1989
http://src.illumos.org/source/xref/illumos-gate/usr/src/ucbcmd/sum/sum.c
So I'm guessing this was changed in the BSD source sometime
between 1989 and 1993.
cheers,
Pádraig.
This bug report was last modified 13 years and 257 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.