Makefile.m4: Remove mplimits.[ch] on clean.
[u/mdw/catacomb] / hashsum.1
index dfbb2b1..bc956d0 100644 (file)
--- a/hashsum.1
+++ b/hashsum.1
@@ -12,7 +12,7 @@
 hashsum \- compute and verify cryptographic checksums of files
 .SH SYNOPSIS
 .B hashsum
-.RB [ \-f0ecbv ]
+.RB [ \-f0ecbpv ]
 .RB [ \-a
 .IR algorithm ]
 .RB [ \-E
@@ -26,10 +26,12 @@ files.  A number of hashing algorithms are available.
 .PP
 The
 .B hashsum
-program's options and output are designed to be upwardly compatible with
-the GNU
+program's options and output were originally designed to be upwardly
+compatible with the GNU
 .BR md5sum (1)
-program.
+program, but the two have diverged somewhat.  See the
+.B "COMPATIBILITY NOTES"
+section of this manual for details.
 .PP
 Usually,
 .B hashsum
@@ -71,7 +73,7 @@ Use the given
 to represent hashes in the output.  This is not interoperable with other
 programs, but it's handy, e.g., for building sha1 URNs.  The encodings
 recognized are
-.B hex 
+.B hex
 (the default),
 .B base64
 and
@@ -122,6 +124,10 @@ Assume that the files to be hashed are binary files.  This doesn't make
 any difference in Unix systems, although it might on other platforms
 which draw a distinction.
 .TP
+.B "\-p, \-\-progress"
+Display a progress indicator while hashing large files.  The progress
+indicator is written to standard error.
+.TP
 .B "\-v, \-\-verbose"
 In conjunction with the
 .B \-c
@@ -142,7 +148,7 @@ A
 .I directive
 begins with a hash
 .RB (` # ')
-character.  Two directives are currently understood:
+character.  These directives are currently understood:
 .TP
 .BI "#hash " alg
 Subsequent hashes in this file were generated using the algorithm
@@ -291,6 +297,49 @@ option,
 will emit a
 .RB ` #hash '
 directive in its output.
+.SH "COMPATIBILITY NOTES"
+Once upon a time, there was only the
+.BR md5sum (1)
+utility.  As its name suggested, it calculated MD5 hashes of files.  MD5
+was shown to be weak, so the author wrote
+.B hashsum
+to do the same job with other, hopefully stronger, hash functions.  The
+original
+.B hashsum
+program tried hard to be compatible with GNU
+.BR md5sum (1),
+but the latter has itself changed in incompatible ways since then;
+.B hashsum
+has intentionally not changed to match.
+.PP
+The following
+.B hashsum
+features are not found in the GNU Coreutils hashing utilities.
+.hP
+Filename escaping (the
+.B \-e
+option).
+.hP
+Magic comment lines in hash data to indicate algorithm selection, hash
+encoding, and filename escaping.
+.hP
+Base-64 and Base-32 output.
+.PP
+Other differences are as follows.
+.hP
+Originally, if GNU
+.B md5sum
+was invoked without any filename arguments, it would print only the hash
+of its stdin to stdout, which was very convenient for scripts which
+manipulate hashes in nontrivial ways.  This behaviour was later changed,
+and now the GNU Coreutils hashing utilities always print a filename or
+.RB ` \- '
+after the hash.  The
+.B hashsum
+program follows the original
+.B md5sum
+behaviour, and doesn't print a filename if no files were listed on the
+command line.
 .SH "SEE ALSO"
 .BR md5sum (1),
 .BR dsig (1),