[gnu.utils.bug] GNU file utilities release 1.0

djm@AI.MIT.EDU (David J. MacKenzie) (02/08/90)

A group of GNU file manipulation programs is now available for
anonymous ftp from prep.ai.mit.edu (18.71.0.38) in the file
pub/gnu/fileutils-1.0.tar.Z.  They will be added to the GNU beta test
tape, as well.

The programs this package contains are:

cat chmod cmp cp dd dir du head ln ls mkdir mv rm rmdir tail vdir

(dir and vdir are ls with different default output formats)

Here is the README from the distribution:

This is the GNU file manipulation utilities package.  Most of these
programs have significant advantages over their Unix counterparts,
such as greater speed or additional flexibility.  The documentation
for these programs is not finished yet; it will be added in a later
release.  Most of them accept descriptive long-named options in
addition to Unix-style short-named options, which should help you
figure out their additional features.  Giving a `-h' option (or any
invalid option) will produce a usage message.  Some of the programs
also have explanatory comments at the top of the source code.

The fileutils are intended to be POSIX compliant, like the rest of the
GNU system.  They were mostly written on BSD Unix and later ported to
System V. 

Known bugs:

* mv cannot rename directories on systems that lack the rename
system call, except when run by root.  I think the System V
mv runs a setuid root program called /etc/mvdir to do this.  No one
has bothered to hack that into the rename emulator in GNU mv.

* When copying sparse files that end in blocks of nulls, cp truncates
the trailing nulls on systems that lack the ftruncate system call.
ftruncate emulations have been written using the fcntl and chsize system
calls on System V release 3 and Xenix.

* On some versions of System V, du sometimes reports that it cannot
stat the last few entries in some directories.  This is probably due
to bugs in those systems' portable directory libraries.

* tail has no -r option (print backwards).  Printing the entire file,
as the Unix manual says, could run out of memory when tailing a pipe.
Reversing a file is really a different job from printing the end of a
file; the BSD tail can get away with kludging it in because of its
limited size buffer.  A more versatile way than tail -r to reverse
files is the `tac' command which comes in the 4.3BSD user-contributed
code distribution.  An enhanced GNU version of `tac' might be included
in a future distribution of the fileutils.

Bug reports and discussion about these programs should go to
bug-gnu-utils@prep.ai.mit.edu.

David MacKenzie <djm@ai.mit.edu> <djm@eng.umd.edu>