summaryrefslogtreecommitdiff
path: root/old/fileutils/NEWS
diff options
context:
space:
mode:
Diffstat (limited to 'old/fileutils/NEWS')
-rw-r--r--old/fileutils/NEWS760
1 files changed, 760 insertions, 0 deletions
diff --git a/old/fileutils/NEWS b/old/fileutils/NEWS
new file mode 100644
index 0000000..5adff8f
--- /dev/null
+++ b/old/fileutils/NEWS
@@ -0,0 +1,760 @@
+[4.1.11]
+* `rm symlink-to-unwritable' doesn't prompt [introduced in 4.1.10]
+[4.1.10]
+* rm once again gives a reasonable diagnostic when failing to remove a file
+ owned by someone else in a sticky directory [introduced in 4.1.9]
+* df now rounds all quantities up, as per POSIX.
+* New ls time style: long-iso, which generates YYYY-MM-DD HH:MM.
+* Any time style can be preceded by "posix-"; this causes "ls" to
+ use traditional timestamp format when in the POSIX locale.
+* The default time style is now posix-long-iso instead of posix-iso.
+ Set TIME_STYLE="posix-iso" to revert to the behavior of 4.1.1 thru 4.1.9.
+* `rm dangling-symlink' doesn't prompt [introduced in 4.1.9]
+* stat: remove support for --secure/-s option and related %S and %C format specs
+* stat: rename --link/-l to --dereference/-L.
+ The old options will continue to work for a while.
+[4.1.9]
+* rm can now remove very deep hierarchies, in spite of any limit on stack size
+* new programs: link, unlink, and stat
+* New ls option: --author (for the Hurd).
+* `touch -c no-such-file' no longer fails, per POSIX
+[4.1.8]
+* mv no longer mistakenly creates links to preexisting destination files
+ that aren't moved
+[4.1.7]
+* rm: close a hole that would allow a running rm process to be subverted
+[4.1.6]
+* New cp option: --copy-contents.
+* cp -r is now equivalent to cp -R. Use cp -R -L --copy-contents to get the
+ traditional (and rarely desirable) cp -r behavior.
+* ls now accepts --time-style=+FORMAT, where +FORMAT works like date's format
+* The obsolete usage `touch [-acm] MMDDhhmm[YY] FILE...' is no longer
+ supported on systems conforming to POSIX 1003.1-2001. Use touch -t instead.
+* cp and inter-partition mv no longer give a misleading diagnostic in some
+ unusual cases
+[4.1.5]
+* cp -r no longer preserves symlinks
+* The block size notation is now compatible with SI and with IEC 60027-2.
+ For example, --block-size=1MB now means --block-size=1000000,
+ whereas --block-size=1MiB now means --block-size=1048576.
+ A missing `B' (e.g. `1M') has the same meaning as before.
+ A trailing `B' now means decimal, not binary; this is a silent change.
+ The nonstandard `D' suffix (e.g. `1MD') is now obsolescent.
+* -H or --si now outputs the trailing 'B', for consistency with the above.
+* Programs now output trailing 'K' (not 'k') to mean 1024, as per IEC 60027-2.
+* New df, du short option -B is short for --block-size.
+* You can omit an integer `1' before a block size suffix,
+ e.g. `df -BG' is equivalent to `df -B 1G' and to `df --block-size=1G'.
+* The following options are now obsolescent, as their names are
+ incompatible with IEC 60027-2:
+ df, du: -m or --megabytes (use -BM or --block-size=1M)
+ df, du, ls: --kilobytes (use --block-size=1K)
+[4.1.4]
+* df --local no longer lists smbfs file systems whose name starts with //
+* dd now detects the Linux/tape/lseek bug at run time and warns about it.
+[4.1.3]
+* ls -R once again outputs a blank line between per-directory groups of files.
+ This was broken by the cycle-detection change in 4.1.1.
+* dd once again uses `lseek' on character devices like /dev/mem and /dev/kmem.
+ On systems with the linux kernel (at least up to 2.4.16), dd must still
+ resort to emulating `skip=N' behavior using reads on tape devices, because
+ lseek has no effect, yet appears to succeed. This may be a kernel bug.
+[4.1.2]
+* cp no longer fails when two or more source files are the same;
+ now it just gives a warning and doesn't copy the file the second time.
+ E.g., cp a a d/ produces this:
+ cp: warning: source file `a' specified more than once
+* chmod would set the wrong bit when given symbolic mode strings like
+ these: g=o, o=g, o=u. E.g., `chmod a=,o=w,ug=o f' would give a mode
+ of --w-r---w- rather than --w--w--w-.
+[4.1.1]
+* mv (likewise for cp), now fails rather than silently clobbering one of
+ the source files in the following example:
+ rm -rf a b c; mkdir a b c; touch a/f b/f; mv a/f b/f c
+* ls -R detects directory cycles, per POSIX. It warns and doesn't infloop.
+* cp's -P option now means the same as --no-dereference, per POSIX.
+ Use --parents to get the old meaning.
+* When copying with the -H and -L options, cp can preserve logical
+ links between source files with --preserve=links
+* cp accepts new options:
+ --preserve[={mode,ownership,timestamps,links,all}]
+ --no-preserve={mode,ownership,timestamps,links,all}
+* cp's -p and --preserve options remain unchanged and are equivalent
+ to `--preserve=mode,ownership,timestamps'
+* mv and cp accept a new option: --reply={yes,no,query}; provides a consistent
+ mechanism to control whether one is prompted about certain existing
+ destination files. Note that cp's and mv's -f options don't have the
+ same meaning: cp's -f option no longer merely turns off `-i'.
+* remove portability limitations (e.g., PATH_MAX on the Hurd, fixes for
+ 64-bit systems)
+* mv now prompts before overwriting an existing, unwritable destination file
+ when stdin is a tty, unless --force (-f) is specified, as per POSIX.
+* mv: fix the bug whereby `mv -uf source dest' would delete source,
+ even though it's older than dest.
+* chown's --from=CURRENT_OWNER:CURRENT_GROUP option now works
+* cp now ensures that the set-user-ID and set-group-ID bits are cleared for
+ the destination file when when copying and not preserving permissions.
+* `ln -f --backup k k' gives a clearer diagnostic
+* ls no longer truncates user names or group names that are longer
+ than 8 characters.
+* ls's new --dereference-command-line option causes it to dereference
+ symbolic links on the command-line only. It is the default unless
+ one of the -d, -F, or -l options are given.
+* ls -H now means the same as ls --dereference-command-line, as per POSIX.
+* ls -g now acts like ls -l, except it does not display owner, as per POSIX.
+* ls -n now implies -l, as per POSIX.
+* ls can now display dates and times in one of four time styles:
+
+ - The `full-iso' time style gives full ISO-style time stamps like
+ `2001-05-14 23:45:56.477817180 -0700'.
+ - The 'iso' time style gives ISO-style time stamps like '2001-05-14 '
+ and '05-14 23:45'.
+ - The 'locale' time style gives locale-dependent time stamps like
+ 'touko 14 2001' and 'touko 14 23:45' (in a Finnish locale).
+ - The 'posix-iso' time style gives traditional POSIX-locale
+ time stamps like 'May 14 2001' and 'May 14 23:45' unless the user
+ specifies a non-POSIX locale, in which case it uses ISO-style dates.
+ This is the default.
+
+ You can specify a time style with an option like --time-style='iso'
+ or with an environment variable like TIME_STYLE='iso'. GNU Emacs 21
+ and later can parse ISO dates, but older Emacs versions cannot, so
+ if you are using an older version of Emacs outside the default POSIX
+ locale, you may need to set TIME_STYLE="locale".
+
+* --full-time is now an alias for "-l --time-style=full-iso".
+
+Changes in release 4.1:
+[4.0.45]
+* dd conv=sync,block now pads only with spaces
+* ls's -1 option no longer cancels the effect of a preceding -l
+* regenerate configure using a patched version of autoconf-2.49e to work
+ around a bug in its test for a working memcmp function
+* ls: fix off-by-one error introduced with the previous change
+[4.0.44]
+* ls: When given two or more arguments but the only one that exists is a
+ directory, don't treat it as if it were the only argument. Before,
+ `mkdir d; ls no-dir d 2>/dev/null' would act like `ls d' and produce
+ no output. Now, it prints `d:'.
+* touch -d 'last friday' would use a time stamp that was one hour off
+ (e.g., 23:00 on *thursday* rather than 00:00 of the preceding friday)
+ when run such that the current time and the target date/time fall on
+ opposite sides of a daylight savings time transition.
+ This problem arises only with relative date strings like `last monday'.
+ It is not a problem with strings that include absolute dates.
+[4.0.43]
+* regenerate configure-related files using autoconf-2.49d
+[4.0.42]
+* Using ls's short-named `-H' option evokes the warning that the
+ meaning of `-H' will soon change. Use `--si' instead.
+[4.0.41]
+* fix bug in rm introduced in 4.0.38: `chmod 0 f; rm f' would no longer prompt
+ before removal.
+[4.0.40]
+* portability fixes, mainly for UnixWare 7.1.1
+[4.0.39]
+* cp and mv accept --strip-trailing-slashes, not just --strip-trailing-slash
+[4.0.38]
+* ls --full-time now implies -l; before, without -l it was a no-op
+[4.0.37]
+* portability fixes for SunOS4.1.1, Fujitsu (f300-fujitsu-uxpv4.1_ES),
+ and Unicos (alphaev5-cray-unicosmk2.0.5.X)
+[4.0.36]
+* `mv dir/ new-name' no longer fails on SunOS4.1.1U
+* attempting to use mv to move a symlink onto itself no longer removes
+ the symlink
+* `cp -R directory file' no longer removes `file'. now it fails and gives
+ a diagnostic
+* The manual now warns that ls's --full-time format string is planned
+ to change in a future release.
+* ls -l's time stamp format now depends on LC_TIME, not LC_MESSAGES,
+ as POSIX requires.
+* ls -l now reports the year for files even slightly in the future, as
+ POSIX requires. This helps warn users about clock skew problems.
+* `cp -d file symlink-to-some-other-file' no longer fails
+* performance improvements for ls
+[4.0.35]
+* ln --backup=simple --suffix=SUFFIX once again uses SUFFIX
+* install: Likewise.
+[4.0.34]
+* fix a bug (introduced in 4.0z) that made `chown 123:456 file' act like
+ `chown 123:123 file'. Other uses with a numeric group ID would cause
+ chown to fail when it shouldn't have.
+* the chown and chgrp programs preserve set-uid and set-gid bits, even on
+ systems for which the chown function call resets those bits.
+* `ls -L dangling-symlink' now fails (per POSIX) rather than printing the
+ link name
+* dd no longer honors the just-added `B' suffix on skip= and seek= arguments.
+* `mkdir no-such-dir/' no longer fails on NetBSD systems
+[4.0.33]
+* dd now accepts skip=nB and seek=nB, to advance past some number of bytes, n,
+ that need not be a multiple of the block size.
+* dd (without conv=notrunc) now complains only when ftruncate fails on a
+ regular file, a directory, or a shared memory object -- not when it fails
+ to truncate other types of files, like /dev/fd0.
+* chmod --changes (-c) once again issues diagnostics only for the files
+ with changed permissions
+* mkdir now gives one diagnostic (rather than two) for certain failures
+* mkdir portability fix for NetBSD
+[4.0.32]
+* touch now interprets a lone numeric argument of 8 or 10 digits as a file name,
+ rather than as a date/time in the obsolescent `MMDDhhmm[YY]' format.
+* mkdir no longer sets the permissions of the final directory component
+ if it already exists (this bug, too, was introduced recently)
+* ls's --full-time format string is now locale dependent
+[4.0.31]
+* mkdir: fix a bug introduced in 4.0.30 whereby `mkdir existing-dir' would
+ succeed. Now it fails, as it should (and used to).
+[4.0.30]
+* mkdir: fix a bug introduced in 4.0.28 whereby parent directories created
+ via `mkdir -p' would have permissions that did not account for the umask
+[4.0.29]
+* ls.c wouldn't compile on some systems: fix it
+* `cp -R --parents dir1/ dir2' failed on NetBSD, due to a portability problem
+[4.0.28]
+* ls is much more efficient on systems (e.g., linux-2.4.*) that store file
+ type information in directory entries.
+* shred now automatically determines the size of each block device argument
+* ls's date/time format strings are now locale dependent
+* mkdir, mknod, mkfifo, and chmod work better in conjunction with ACLs
+* `cp --parents dir1/ dir2' no longer gets a failed assertion
+* shred now determines the size of block devices like /dev/fd0
+* `shred --exact file1 file2' now erases `file1', too
+[4.0.27]
+* install once again unlinks an existing destination before trying to open it
+* mv no longer gets a failed assertion when moving a directory (specified with
+ a trailing slash) from one partition to another, and giving it a different
+ name at the destination.
+* `cp --link -f src existing-dest' no longer fails (bug introduced in 4.0z)
+* cp's new --remove-destination option now works with -R
+[4.0z]
+* `cp -p' once again preserves `special' permission bits (this bug was
+ introduced in 4.0y)
+* mv's --force (-f) option now controls solely whether mv prompts (per POSIX)
+* `cp -f' now first attempts to open an existing destination file, and only
+ if that fails does it resort to unlinking the file and retrying the open.
+ Before, it would unlink the file before trying to open it.
+* cp accepts a new option, --remove-destination, that provides the old behavior
+* cp's -f option no longer cancels the effect of --interactive (-i) (per POSIX)
+* when ls sorts directory entries, it now honors the current locale settings
+* dd's `skip=BLOCKS' operator once again works on systems with a buggy lseek
+ function (Linux, at least on SCSI tape devices)
+* fix a typo in install-sh
+[4.0y]
+* cp now accepts the POSIX-mandated -H and -L options.
+* cp -p and mv now try to preserve uid even if you're not root, as per POSIX.2.
+ This affects behavior only on hosts that let you give files away via chmod.
+* du would fail when given `.' or `..' followed by other command line arguments
+* Using cp's short-named `-P' option evokes the warning that the
+ meaning of `-P' will soon change. Use `--parents' instead.
+* chgrp, chmod, and chown: when used with the --verbose option, might give an
+ invalid diagnostic (due to clobbered errno) when failing.
+[4.0x]
+* Fix cp so that `cp -r DIR1/ DIR2' works properly once again.
+* New ls option --quoting-style=clocale acts like --quoting-style=locale,
+ except that it quotes "like this" by default instead of `like this'.
+[4.0w]
+* When `cp -pR' fails to copy a file, it now preserves permissions, owner,
+ and group of the containing directory.
+[4.0v]
+* df, du, and ls now round disk usage up and disk free space down
+* df, du, ls: --block-size=N now works for values of N that are e.g.,
+ not a multiple of the file's block size
+[4.0u]
+* give proper diagnostic for mv usage error
+* fix compile problem with lib/strnlen.c
+[4.0t]
+* `cp -d -u' no longer fails with certain existing destination symlinks
+* rmdir and mkdir accept -v as synonym for --verbose
+[4.0s]
+* rm no longer segfaults on certain very deep hierarchies
+* IMPORTANT SECURITY FIX: a running `rm -r' may no longer be subverted to
+ remove unintended directories
+* cp can now remove unwritable files in interactive mode; contrary to how mv
+ works, cp's --interactive (-i) option does *not* cancel the effect of a
+ preceding --force (-f) option.
+* all programs fail when printing --help or --version output to a full device
+* install no longer performs chmod if chown fails (see ChangeLog for example)
+[4.0r]
+* `du dir/subdir1 dir/subdir2' no longer fails
+* chown accepts new option: --from=CURRENT_OWNER:CURRENT_GROUP
+* cp accepts new option: --strip-trailing-slashes
+* install --directory (-d) may now be used to set special bits
+ e.g., `install -m a=rwx,o+t -d DIR' now honors the `o+t' part
+* cp, mv, ln, install: document that while the --backup option takes an
+ optional argument, the -b option accepts none
+* `ls -e' fails with a more useful diagnostic
+* df produces better output for loop file system mount points
+[4.0q]
+* install -D bug is fixed
+* chown now works properly when the specified login name contains a period
+ This is at the expense of always looking up the entire USER.GROUP string
+ as a login name first, and only then (upon failure) interpreting the `.'
+ as a separator and looking up `USER'. To avoid the extra getpwnam call,
+ always use the POSIX-mandated `:' character as the separator.
+* `du some-other-dir' no longer fails if it can't open the current directory
+* `mv DIR EXISTING-FILE' no longer removes EXISTING-FILE. Now it gets an error
+ as POSIX says it must.
+* touch no longer hangs on fifos
+[4.0p]
+* various tools: quote multibyte characters correctly in diagnostics
+* mv: portability fix for alpha
+* dd: portability fix
+* unified lib/: now that directory and most of the configuration framework
+ is common between fileutils, textutils, and sh-utils
+[4.0o]
+* Include lib/nanosleep.h.
+[4.0n]
+* cp, install, ln, and mv: when making backup files in verbose mode, these
+ commands now print the backup file name on the same line as the rest of the
+ information, e.g., `a -> b (backup: b.~13~)' rather than on a separate line
+ as all but ln used to do. ln didn't output the backup file name at all.
+[4.0m]
+* mv accepts new option: --strip-trailing-slashes (soon, many other
+ programs will, too)
+* df no longer hangs when there is an inaccessible mount point unrelated to PATH
+* rmdir --verbose no longer prints extra, bogus diagnosic upon failure
+* fix df bug that made it print bogus values in the `Use%' column.
+* touch -d once again parses dates with `hh:mm ZONE' time zone info.
+[4.0l]
+* ls -l honors a trailing slash on a symlink argument, per POSIX.
+* shred no longer appears to infloop when asked to remove files in
+ unwritable directories
+* `ls -ul' and `ls -uc' sort by name once again, as they should
+[4.0k]
+* mv may now be used to move a file onto a symlink to itself when that
+ symlink is on a separate partition. With fileutils-4.0j, it would
+ fail with a diagnostic saying they were the same file.
+* touch would fail with the misleading diagnostic `no such file' when asked
+ to create a file in an unwritable directory. Now it says something like
+ `permission denied' or `read-only file system'.
+[4.0j]
+* mkdir may now be used to set special bits e.g., `mkdir -m o+t dir' works
+* touch can now change the time(s) of a file you own even if you don't have
+ read or write access to it
+* rm no longer dumps core after warning about directory cycles
+* mv now refuses to move a file onto a symlink to itself when that symlink
+ is on a separate partition. Before, it would remove the file and leave
+ only the symlink.
+* `install -d -g foo 1/2' now sets the `group' of the final component as well
+ as that of the leading one.
+* df, du, and ls no longer divide by zero when an invalid block size is
+ specified through an environment variable
+* under certain conditions, chgrp would fail to affect files referenced
+ through symlinks. Now it does.
+* ln now makes hard links to symlinks on systems that support it.
+* touch: no longer infloop on dangling symlinks
+* cp, install, ln, mv: deprecate the --version-control option. Use --backup's
+ new optional argument instead. The old option still works, but now evokes a
+ warning.
+* cp, install, ln, mv: the --backup option now accepts an optional argument
+* cp, install, ln, mv: accept new option: --target-directory=DIR
+* chgrp: accept new option, --dereference. --no-dereference is now the default.
+* New ls option --quoting-style=locale acts like --quoting-style=c, except
+ with locale-specific quoting symbols (` and ' by default) instead of ".
+* `df DIR' is less likely to hang due to bad NFS mounts
+* As per POSIX.2, `df -P' now uses ceiling rather than rounding, and its
+ header now says `1024-blocks ... Capacity' instead of `1k-blocks ... Use%'.
+[4.0i]
+* `cp -f FILE FILE' and `mv -f FILE FILE' no longer remove FILE
+* touch works once again (DST-wise) when certain `--date DATE-TIME'
+ values are specified.
+* shred's -u option (short form of --remove) is now accepted
+[4.0h]
+* cp --one-file-system (-x) no longer crosses filesystem boundaries.
+* touch can once again operate on directories
+[4.0g]
+* New large-file support for AIX and HP-UX, and for cross-compiles.
+* shred's default options are now suitable for devices, not files, since
+ shred is more reliable on devices. shred now does not remove by default;
+ the old -p or --preserve option was inverted and renamed to -u or --remove.
+* shred -u now attempts to truncate devices before removing them.
+* shred -v no longer outputs carriage-returns; shred -vv has no extra effect;
+ shred -v now outputs to stderr.
+* shred now tries to find the size of a non-regular file by seeking to its end.
+* dd now opens the output file for *read* access only if `seek=' is used.
+[4.0f]
+* `ls --color' no longer segfaults
+* dd works once again
+[4.0e]
+* shred --devices option renamed to -D so that -d, -i and -r can be
+ compatible with rm.
+* shred -s/--size=N option added to specify the size of the object to be
+ shredded.
+* `shred -' now shreds stdout rather than stdin. This is incompatible with -v.
+* shred now does not need to read from its output file, so opens it O_WRONLY
+* `ls -l' uses `+' to designate each file that has a custom ACL
+* eliminate race condition that could make touch truncate a nonempty file
+* No longer use *_unlocked I/O macros on systems (like solaris5.5.1) where
+ they're not declared, so selected executables (e.g., rm) that are linked
+ with shared libraries will once again run on solaris5.6 systems.
+[4.0d (aka 4.1-b3)]
+* ls recognizes solaris 2 `doors'
+* new program: shred
+* ln: Allow creation of a hard link to a dangling symlink
+* cp, mv, install: --verbose now prints a message for each backup-related
+ renaming
+* portability fixes for copy.c's code to detect move-directory-into-self
+* upgrade to automake-1.3b
+* upgrade to autoconf-2.13, and...
+* remove some of the kludges in m4/*.m4 that permitted
+[4.1-b2]
+* concurrent `mkdir -p' processes no longer fail when creating the
+ same hierarchy
+* argmatch.c has been fixed so that the unambiguous usage `ls --color=n'
+ no longer evokes an error.
+* now, specifying an improper argument for an option that accepts enumerated
+ values evokes diagnostics like this:
+ $ src/touch --time=x file
+ src/touch: invalid argument `x' for `--time'
+ Valid arguments are:
+ - `atime', `access', `use'
+ - `mtime', `modify'
+ Try `src/touch --help' for more information.
+[4.1-b1]
+* ls --quoting-style=c prints correct octal escapes for certain nonprinting
+ characters in file names.
+* fix `ls -R .' formatting bug that broke mktexlsr
+* moving a directory into itself is properly diagnosed in more cases
+* moving a directory containing hard-linked files now works
+
+Changes in release 4.0:
+[4.0-b7]
+* rm -rf '' no longer gets a failed assertion on the Hurd
+[4.0-b6]
+* rm simply fails as it should (rather than segfaulting) for
+ `mkdir -m 0100 x; rm -rf x'
+[4.0-b5]
+* still *more* mktime.c portability tweaks
+[4.0-b4]
+* mktime.c portability tweak for headers with GNU libc 5.4.44.
+[4.0-b3]
+* mktime.c works around problems with Digital Unix 4.0A and 4.0D.
+* mktime.c handles dates in the spring-forward gap the same way other
+ implementations do
+* install accepts long option --suffix=SUFFIX
+[4.0-b2]
+* man/Makefile.maint framework tweaks
+* add test for `mv -i' bug
+[4.0-pre1]
+* fix serious bug whereby `touch a b; echo n|mv -i a b' would remove b.
+[3.16z]
+* portability tweaks
+* avoid `root `cp -a' from Netapp snapshot' corruption
+[3.16y]
+* `install -D' now works
+* distribute maintainer Makefiles in man/
+[3.16x]
+* man pages are now automatically generated from a combination of --help
+ output and the contents of new (though mostly empty), man/*.x files.
+[3.16w]
+* touch now interprets `-t TIME-DATE' as POSIX specifies
+* `ls EMPTY-DIR EMPTY-DIR' once again outputs the directory names
+[3.16v]
+* portability fixes
+* `ls -R EMPTY-DIR' now outputs the name of the directory
+[3.16u]
+* mv now fails (as it should) upon attempt to move a directory into itself
+* `cp -a --one-file-system' now copies any mount point directories it
+ encounters on the selected file system.
+[3.16t]
+* cp (with --update) and ls compare time stamps with subsecond resolution when
+ available (e.g., on systems with recent Linux kernels and on Solaris 2.6).
+* install once again does the -m-specified chmod *after* running strip
+ (this fixes another bug introduced in 3.16o)
+[3.16s]
+* df accept a new option --local (-l)
+* touch works around a system-specific bug so it now affects existing,
+ zero-length files on certain systems
+* chown now works even on certain SVR3 systems where it used to fail
+[3.16r]
+* include gettext's m4 macros
+* minor cp bug fixed
+* non-portable cp tests removed
+* --without-included-regex now means don't compile regex.c
+* rx support removed
+[3.16q]
+* `df', `du', and `ls' now accept a new option --block-size=SIZE,
+ where SIZE can be a positive integer block size, followed by an
+ optional SI prefix (e.g. `k' for kilo, `M' for Mega), followed by an
+ optional `B' (for ``byte'', indicating powers of 1024, which is the
+ default) or `D' (for ``decimal byte'', indicating powers of 1000).
+ SIZE can also be `human-readable' (for -h or --human-readable
+ behavior) or `si' (for -H or --si behavior).
+* These suffixes can also be used by `dd'; e.g. `dd bs=1MB' is equivalent
+ to `dd bs=1048576'.
+* The default block size for the `df' command is now obtained from the
+ DF_BLOCK_SIZE environment variable or, if that is not set, from BLOCK_SIZE.
+ Similarly for `du' and `ls'.
+* The output columns of `df' have been adjusted slightly to accommodate
+ larger filesystems.
+* fix gettext-related link failures seen when configuring certain ways
+[3.16p]
+* fix install bug introduced in 3.16o
+* build/test changes only
+[3.16o]
+* chown accepts new option, --dereference. --no-dereference is now the default.
+* install now shares core copying code with mv and cp
+* mv (between distinct filesystems) now uses more of the core copying code
+* fixed a bug or two in mv
+* df once again displays negative numbers when that's what's returned
+ by get_fs_usage
+[3.16n]
+* `mv dir dir' once again does *not* remove dir/
+* ls accepts new options:
+ --indicator-style=none (no indicators, the default)
+ --indicator-style=classify (all indicators)
+ (equivalent to -F or --classify)
+ --indicator-style=file-type (file type indicators)
+ (equivalent to -p or --file-type)
+
+ --quoting-style=literal (do not quote output)
+ --quoting-style=shell (minimally quote output for the shell)
+ --quoting-style=shell-always (always quote output with '' for the shell)
+ --quoting-style=c (quote output as for a C-language string)
+ (equivalent to -Q or --quote-name)
+ --quoting-style=escape (like c but omit enclosing "")
+ (equivalent to -b or --escape)
+
+ --show-control-chars is the opposite of --hide-control-chars
+ This option can be useful if output is to a terminal,
+ to override the default beahvior of hiding control characters.
+
+* The QUOTING_STYLE environment variable can now be used to specify the
+ default value for ls's --quoting-style option. If not specified,
+ the default quoting style is 'literal', but this default may change to
+ 'shell' in a future version of this package.
+* ls's quoting style now affects operands in diagnostics, too.
+* ls's --dired option now outputs the quoting style
+ using the format of the new --quoting-style option.
+* ls's -e or --quote-shell option (introduced in 3.16j) has been removed;
+ use --quoting-style=shell to get its functionality.
+[3.16m]
+* mv can move (and doesn't read) special files
+* remove maintainer mode
+[3.16l]
+* mv can finally move non-regular files between partitions
+[3.16k]
+* install accepts new option, -D
+[3.16j]
+* du accepts new options, --exclude=PAT and --exclude-from=FILE (-X FILE)
+* ls now quotes file names for the shell by default, if they contain
+ characters that need quoting. Use -N to get the old default behavior.
+ The new behavior is also enabled by the new option -e or --quote-shell.
+* ln --backup is now consistent with cp and mv in that --force is no longer
+ required when the destination is an existing non-directory.
+* install accepts new option, --verbose (-v)
+* mkdir -p is a lot faster when creating very deep directories on some systems
+* rm -i no longer exits with status indicating failure solely because the
+ user declines to remove a file
+* rm -r is a lot faster on some systems when removing deep hierarchies
+* chgrp, chmod, and chown no longer give contradictory output when --verbose
+ is used and an operation fails
+* ls's multicolumn option now uses variable width columns to conserve
+ vertical space
+* install accepts new option, --preserve-timestamps
+* du --megabytes --total now shows total in megabytes
+* ls accepts new option, -h or --human-readable
+* df, du, and ls now accept new option, -H or --si, for powers of 1000 not 1024
+* df, du, and ls now consistently round to nearest, with ties going to even
+* df, du, and ls now use `k' instead of `K' for `kilo',
+ and support larger abbreviations T(era), P(eta), E(xa), Z(etta), Y(otta)
+* touch -d DATE now works on Unicos
+* du accepts new option --max-depth=N
+* rmdir accepts new options: --ignore-fail-on-non-empty and --verbose
+* on most hosts df, du, and ls now overflow at 2**64 bytes, not 2**31 bytes
+* all programs now work on large files on LFS systems like Solaris 2.6 and
+ Linux with the pre-2.1 development version of GNU libc.
+* df now works with OpenBSD 2.1 beta
+* cp -d FILE SYMLINK-TO-FILE doesn't erase FILE. Now it gives an error.
+
+Changes in release 3.16:
+* du --megabytes (-m) works
+* ls -l works even on systems with non-POSIX strftime in their C library
+
+Changes in release 3.15:
+* touch --date=DATE bug (due to broken getdate.y) has been fixed
+* ls -l no longer misformats the date when run in a locale for which the
+ locale's abbreviated week-day name (strftime's %a format) is shorter or
+ longer than the `normal' three bytes (with LANG=de it's a two-byte string).
+* Using --program-prefix no longer applies the prefix twice
+* ls --color properly restores color attributes upon completion when the
+ normal (`no') color attribute is not the default color.
+* with ls -s --color, the `total' and size of the first file are printed
+* ls --color stats symlinks and distinguishes between regular symlinks
+ and orphan ones.
+* cp --preserve preserves owner and group of symlinks on Linux when run
+ with EUID == 0
+* dircolors no longer accepts --print-data-base (alternate spelling of
+ --print-database)
+
+Changes in release 3.14:
+* ls --color highlights based on suffix rules only for regular files
+* touch --date=DATE accepts dates like those in an RCS log listing, e.g.,
+ `1992/11/01 05:44:34'.
+* install SRC DST no longer rejects non-regular, non-directory SRC
+* df accepts -F as a synonym for -t for compatibility with Solaris
+* cp -i /dev/null existing-file now prompts before overwriting the target
+* ls --color highlights orphaned symlinks text on terminals that support it
+* ls -l honors current locale with respect to abbreviated month names (and,
+ with --full-time day names) on systems with a locale-supporting strftime
+ function, e.g., ones based on recent versions of the GNU C library
+* ls -l recognizes Cray's migrated dmf files.
+* chgrp no longer aborts when given a group number larger than INT_MAX
+* chgrp now fails when run by root with an unrecognized group name
+* when possible, cp -p preserves owner/group even on symlinks in case
+ they're in a directory that has the sticky-bit set.
+* cp --recursive --parents SRC DEST works when SRC is an absolute file name.
+
+Changes in release 3.13:
+* ls properly determines window size on SunOS and Solaris systems
+* ls accepts new option --color[=WHEN] where WHEN is `always', `never',
+ or `auto'. --color=never is the default. --color is equivalent
+ to --color=always.
+* new program: dircolors
+* ls allows 0 as argument to --tabsize (-T) option. Using --tabsize=0
+ inhibits the use of TAB characters for separating columns.
+* you can create a backup of FILE with cp --force --backup FILE FILE. Before,
+ that command failed saying that ``FILE' and `FILE' are the same file'.
+* uses automake-generated Makefile templates
+* chown and chgrp accept new option --no-dereference (-h)
+* ln -f FILE FILE fails with a diagnostic rather than silently removing FILE
+* when building on systems that have getopt_long (most GNU-oriented ones),
+ the system-provided function will be used -- so executables may be a
+ little smaller
+* cp -p, and mv modify owner and/or group of symlinks on systems
+ (like Solaris) that provide the lchown system call.
+* df no longer invokes the sync system call by default. You can use the
+ --sync option to make df invoke sync before getting file system sizes.
+* internationalized diagnostic messages
+* mkdir accepts new option: --verbose
+* `cp file D/' uses the full file name `D/file' instead of `D//file'.
+* cp --backup a~ a fails instead of silently destroying the source file
+* df and du have new options --human-readable (-h) and --megabytes (-m).
+* install now honors --backup (-b), --suffix=SUFFIX (-S SUFFIX), and
+ --version-control=WORD (-V WORD) options just as cp, ln, and mv do.
+* ln --verbose output is less prone to misinterpretation
+* ls -o works like -lG; for compatibility with other versions of ls
+* cp has a new option to control creation of sparse files:
+ --sparse={auto,always,never}. --sparse=auto is the default.
+* rm -rf '' behaves properly on SunOS 4 systems
+* touch: rename long option name, --file, to --reference.
+ `touch --file' will continue to work a little longer.
+* df fails if the same file system type is both selected and excluded.
+* df works around SunOS statfs brokenness wrt filesystems larger than 2GB
+* df better handles inconsistent mtab entries
+* `ls -lDR dir dir2' works
+* `ls -c' does what it's supposed to
+* all programs include program name in --version output
+* `ls --quote-name' works
+* mv properly determines whether src and dest are the same file
+ Before, it could (though with very low probability) fail to do the move,
+ reporting that distinct source and destination are the same file.
+* du --dereference (-L) works with directory symlinks
+* du works on SunOS 4 systems even when accounting is enabled
+* many programs that convert strings to integers now use strtol or strtoul
+ and detect overflow
+
+User-visible changes in release 3.12:
+* None.
+User-visible changes in release 3.11:
+* None.
+User-visible changes in release 3.10:
+* mkdir -p now ignores arguments that are existing directories. Before,
+ (contrary to POSIX spec) it would attempt to change ownership and/or
+ protections of existing directories listed on the command line. And
+ it would fail when such a directory was owned by another user.
+* Fix bug in cp that made the commands `mkdir dir; touch foo; cp -P foo dir'
+ incorrectly change the permissions on directory, dir.
+* df accepts a new option, --no-sync, that inhibits the default invocation
+ of the sync system call.
+* ls accepts a new option, --dired, that makes emacs' dired mode more efficient
+* skeletal texinfo documentation (mainly just the `invoking' nodes)
+* ln accepts a new option: --no-dereference (-n). With this option,
+ if the destination command line argument is a symlink to a directory,
+ use that as the destination instead of the file in the directory.
+* `ln -i no-such-file existing-file' gives a diagnostic and fails.
+ Before, if you responded `yes' to the prompt it would both remove
+ `existing-file' and fail to make a link.
+* du no longer requires read access to all of the directory components
+ of the current working directory on systems with fchdir.
+* touch -d 'date' is no longer off by one hour.
+* New program: sync.
+* Fix bug in cp that made the commands `ln -s . s; cp -rd s r' incorrectly
+ create `r' as a symlink instead of as a regular file.
+* du's -S and -c options now work when used together.
+ Before, the grand total was always reported to be zero.
+
+Major changes in release 3.9:
+* --help gives a one-line description of each option and shows the
+ correspondence between short and long-named options.
+* work around systems with BROKEN_STAT_MACROS
+* work around problem where $(srcdir)/config.h was used instead of
+ ../config.h -- this happened only when building in a subdirectory
+ and when config.h remained in $(srcdir) from a previous ./configure.
+* GNU chmod treats symlinks the same way other vendor's versions do.
+ Now symlinks listed on the command line are processed (they were
+ ignored before); the permissions of the dereferenced files are
+ changed. Symlinks encountered in recursive traversals are still
+ ignored. This makes GNU chmod act more like e.g. Sun's.
+* configure uses config.h, so DEFS won't exceed preprocessor limits of
+ some compilers on the number of symbols defined via -D.
+* ls and cp can handle mount points on more systems
+* cp, mkdir, and rmdir long option --path renamed to --parents; --path
+ will still work for a while
+* cp, ln, and mv convert `cp A B/' to cp A B/A when A is not a directory.
+ This change affects only the two-argument form of the commands. It makes
+ such commands fail when the target has a trailing slash but is not a
+ directory or symlink to a directory and the source is not a directory.
+ They used to succeed, ignoring the implicitly contradictory trailing slash.
+
+Major changes in release 3.8:
+* install isn't as likely to produce spurious errors
+* avoid redundant compilations for `dir' and `vdir';
+* configure properly defines STAT_STATFS2_BSIZE on a Pyramid MIServer
+ running OSx 5.1
+
+Major changes in release 3.7:
+* none
+Major changes in release 3.6:
+* `ln -s dir_pathname .' works when the pathname has a trailing slash
+* with the --version option programs print the version and exit immediately
+* GNU ls -f works like Unix ls -f
+* mktime replacement works
+
+Major changes in release 3.5:
+* adds support for DEC Alpha under OSF/1
+* configuring with gcc uses CFLAGS='-g -O' by default
+* all programs accept --help and --version options
+* long-named options must be introduced with `--'; `+' is no longer
+ accepted since it is incompatible with the POSIX.2 standard
+* chmod accepts long-named options
+* dd conv=unblock doesn't hang
+* new df option --exclude=fstype
+* new ls option --full-time
+
+Major changes in release 3.4:
+* cp -p and mv preserve setuid and setgid bits
+* chown works on systems where sizeof(uid_t) != sizeof(int)
+ or sizeof(uid) != sizeof(gid)
+* catch errors from spurious slashes at ends of arguments
+
+Major changes in release 3.3:
+* df sped up by not calling sync for every filesystem
+* df ported to AIX (RS/6000 and PS/2), and SVR2 port fixed
+* df -i now also prints the total number of inodes per filesystem
+* ls sped up by not reading symlink contents unnecessarily
+* du doesn't die on POSIX systems when the root filesystem is NFS mounted
+* cp and mv report chown Permission denied errors when run by root
+
+========================================================================
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the ``GNU Free
+Documentation License'' file as part of this distribution.