summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2007-03-22 21:23:21 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2007-03-22 21:23:21 +0000
commitcbf5993c43f49281173f185863577d86bfac6eae (patch)
tree90737c96cf15b97273a2bdc5950b3cf09f1d94ca /ChangeLog
downloadcoreutils-tarball-cbf5993c43f49281173f185863577d86bfac6eae.tar.gz
coreutils-6.9coreutils-6.9
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog5539
1 files changed, 5539 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..034a6d6
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,5539 @@
+2007-03-22 Jim Meyering <jim@meyering.net>
+
+ Version 6.9.
+ * NEWS: Record release date and new version number.
+ * configure.ac (AC_INIT): New version number.
+
+ * tests/mv/hard-3: Correct the preceding change: $3 -> $2.
+
+2007-03-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ Improve a test script.
+ * tests/mv/hard-3: Check for 'ls' failure, too.
+ Generate more-useful debugging output when 'ls' fails.
+
+2007-03-21 Jim Meyering <jim@meyering.net>
+
+ Fix a test script not to claim an ext2 file system is of type xfs.
+ * tests/du/slink: When using df --local and df --type=TYPE,
+ test only the exit code. Don't bother with stdout.
+ Prompted by a report by Thomas Schwinge of an inaccurate diagnostic.
+
+ * gl/lib/savewd.c: Remove this file, since the savewd_save change
+ is now in gnulib. The other wasn't useful.
+
+2007-03-20 Jim Meyering <jim@meyering.net>
+
+ * gl/lib/acl.c: Remove this file, now that gnulib's version subsumes it.
+
+ Skip part of this test when "." is not a local file system.
+ * tests/install/basic-1: Otherwise, it would fail on some NFS
+ file systems.
+ * tests/mkdir/p-3: Likewise.
+
+2007-03-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD):
+ Add $(LIB_ACL_TRIVIAL).
+
+2007-03-18 Jim Meyering <jim@meyering.net>
+
+ Fix a generic NFS-related test failure.
+ * tests/mkdir/p-3: When setting up an unreadable "." in an
+ inaccessible parent, make the parent inaccessible *after* making "."
+ unreadable. Otherwise, running "chmod a-r ." in an already-
+ inaccessible parent would fail on NFS with "Stale NFS file handle".
+
+ Fix a bug in how pr -m -s works.
+ * NEWS: Describe how the fix affects pr.
+ * src/pr.c (init_parameters): The --merge (-m) option does
+ not imply --expand-tabs (-e), so don't set "untabify_input".
+ Reported by Wis Macomson.
+ * tests/misc/pr: New file. Test for the above fix.
+ * tests/misc/Makefile.am (TESTS): Add pr.
+ * THANKS: Update.
+
+2007-03-17 Jim Meyering <jim@meyering.net>
+
+ Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
+ * bootstrap: Put ""s around use of $build_aux, in case
+ someone uses a name containing shell meta-characters.
+ Reported by Alfred M. Szmidt.
+ * tests/misc/tty-eof: Add shuf to the list of tested commands.
+
+ Avoid test failure on NFS-mounted Solaris ZFS file system.
+ * tests/du/basic: Skip a test if "." is on a non-local file system.
+
+ Avoid an obscure build failure, prefer waitpid over wait.
+ * src/install.c (strip): Use waitpid, not wait. It's equivalent,
+ but feels less obsolescent.
+
+ * bootstrap: Don't use \> in grep regexp. For HP-UX.
+
+2007-03-16 Jim Meyering <jim@meyering.net>
+
+ Begin adding support for Solaris ZFS (4 entries per trivial ACL)
+ * gl/lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
+ (file_has_acl, copy_acl): Use it, rather than enumerating errno values.
+ (is_trivial_acl): New function. Incomplete, for now.
+ (file_has_acl, copy_acl): Use the new function, rather than
+ counting the number of entries in an ACL.
+
+ * bootstrap: Update from gnulib.
+
+ * .x-sc_prohibit_atoi_atof: Add TODO here, too.
+
+2007-03-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/copy.c: Include filemode.h.
+ (overwrite_prompt): Say "try to overwrite", not "overwrite", to
+ make it clearer that the attempt may fail. Problem reported by
+ Dan Jacobson in:
+ http://lists.gnu.org/archive/html/bug-coreutils/2007-03/msg00130.html
+ Output symbolic mode as well as numeric.
+ * tests/mv/i-2 (fail): Adjust to new prompt format.
+
+2007-03-15 Jim Meyering <jim@meyering.net>
+
+ Enforce policy: don't use *scanf functions.
+ * Makefile.maint (sc_prohibit_atoi_atof): Add to regexp and diagnostic.
+ * .x-sc_prohibit_atoi_atof: Give stty a temporary pass.
+ * TODO: note that stty.c needs this small clean-up.
+
+2007-03-13 Jim Meyering <jim@meyering.net>
+
+ Prepare to work on ACL-related failure when using Solaris ZFS.
+ * gl/lib/acl.c: New file, copied from gnulib.
+
+ Work around a failing test due to an NFS-based race condition.
+ * tests/cp/sparse: Accept a report that the copy is *smaller*.
+
+2007-03-12 Jim Meyering <jim@meyering.net>
+
+ Make bootstrap.conf a tiny bit more generic.
+ * bootstrap.conf (XGETTEXT_OPTIONS): Exclude gettext-related .m4
+ files when e.g., AM_GNU_GETTEXT([external] appears in configure.ac.
+
+2007-03-10 Jim Meyering <jim@meyering.net>
+
+ Try to fix today's NFS-related failure: Treat ESTALE like EACCES.
+ * gl/lib/savewd.c: Copy this file from gnulib, then change
+ "errno != EACCES" to (errno != EACCES && errno != ESTALE).
+ The symptom was this failure in tests/install/basic-1:
+ ginstall: cannot create directory `rel/a': Stale NFS file handle
+
+ The preceding change solved part of the problem. Now ginstall fails.
+ * tests/install/basic-1: Temporarily, don't redirect ginstall's
+ stderr to /dev/null, so I can see why the NFS autobuilder's NFS test
+ is failing.
+
+ * tests/install/basic-1: When setting up an unreadable "." in an
+ inaccessible parent, make the parent inaccessible *after* making "."
+ unreadable. Otherwise, running "chmod a-r ." in an already-
+ inaccessible parent would fail on NFS with "Stale NFS file handle".
+ Reported by Bob Proulx.
+
+ * Makefile.maint (po-check): Exclude c99-to-c89.diff.
+
+2007-03-09 Jim Meyering <jim@meyering.net>
+
+ Avoid test failures on Darwin 7.9.0 (MacOS X 10.3.9)
+ * tests/chgrp/basic: Don't let failure by chgrp to set the
+ group of a symlink make this test fail. Do give a diagnostic.
+ In the chgrp-no-change-ctime test, add darwin7.9.0 as another
+ known-failing system.
+ When failing on some other system, print $host_triplet, too.
+ Also avoid test failures on Darwin 8.8.x (MacOS X 10.4).
+ Reported by Peter Fales.
+
+2007-03-08 Jim Meyering <jim@meyering.net>
+
+ * src/c99-to-c89.diff: Reflect the new c99'ism, update offsets.
+
+2007-03-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ rm without -f: give a better diagnostic when euidaccess fails.
+ * src/remove.c (write_protected_non_symlink): Return int, not bool,
+ so that we can indicate failure too (as a postive error number).
+ (prompt): If write_protected_non_symlink fails, report that error
+ number and fail rather than charging ahead and removing the dubious
+ entry. Redo the logic of printing a diagnostic so that we need to
+ invoke quote (full_filename (...)) only once. More details at:
+ <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9952/focus=9996>
+
+2007-03-08 Jim Meyering <jim@meyering.net>
+
+ Generalize a few more cvs-isms.
+ * bootstrap (checkout_only_file): Rename from CVS_only_file.
+ Change comments and diagnostics not to say "CVS".
+
+ * bootstrap: Run libtool, if necessary.
+
+ Make bootstrap a little more general.
+ * bootstrap (build_aux): Factor out/use this definition.
+ Formally require a "AC_CONFIG_AUX_DIR($build_aux)" line in configure.ac.
+ (insert_sorted_if_absent): Move function definition "up", to
+ precede new first use.
+ If $build_aux/ doesn't exist initially, create it, and
+ mark it as ignored.
+
+2007-03-03 Andrew Church <achurch@achurch.org> (tiny change)
+ Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix a bug: cp -x would fail to set mount point permissions.
+ * NEWS: mention cp -x bug fix
+ * src/copy.c (copy_internal): Don't return immediately after
+ copying a mount point that we do not intend to recurse under.
+ Based on a patch by Andrew Church.
+
+2007-03-03 Jim Meyering <jim@meyering.net>
+
+ pwd-unreadable-parent: Skip test on ia64/Linux, too.
+ * tests/misc/pwd-unreadable-parent: Also skip when $REPLACE_GETCWD.
+ Reported by Bob Proulx.
+
+2007-03-02 Jim Meyering <jim@meyering.net>
+
+ pwd-unreadable-parent: Skip test on non-Linux/GNU systems.
+ * tests/misc/pwd-unreadable-parent: Rather than trying to decide
+ whether this test has a chance of succeeding, run it only when
+ $(host_os) is linux-gnu. It was failing on powerpc-apple-darwin8.8.0
+ * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Add host_os=$(host_os).
+
+ * tests/misc/pwd-long: Also allow "+" in $PWD.
+
+ Remove another coreutils-ism. Formatting cleanup.
+ * Makefile.maint (my-distcheck): Update an outdated comment.
+ (emit_upload_commands): Use $(PACKAGE) rather than "coreutils".
+ (my-distcheck): Skip the c99/c89 check if there's no such .diff file.
+
+2007-03-01 Jim Meyering <jim@meyering.net>
+
+ * Makefile.maint (warn_cflags): Hoist, adding "-Dlint -O".
+ (my-distcheck): Use the new variable, instead of too-long literal.
+
+ Make "make syntax-check" rules less coreutils-specific.
+ * Makefile.maint (sc_cast_of_x_alloc_return_value): Use CVS_LIST_EXCEPT.
+ (sc_cast_of_alloca_return_value): Likewise.
+ (sc_root_tests): Do nothing if there is no check-root target
+ in tests/Makefile.am.
+
+ Run the writable-files check only for release-building targets.
+ * Makefile.maint (local-checks-available): Remove writable-files.
+ (alpha beta major): Put it here, instead.
+
+ "make syntax-check" now runs only Makefile.cfg-selected tests
+ * Makefile.maint (syntax-check-rules): Hoist this definition so that
+ it precedes the indirect use in the definition of $(local-check).
+ (local-check): Use :=, not just "=".
+ (syntax-check): Depend on $(local-check), not $(syntax-check-rules).
+
+2007-02-28 Bruno Haible <bruno@clisp.org>
+
+ * bootstrap.conf (gnulib_modules): Replace xreadlink with
+ xreadlink-with-size. Add xreadlink.
+ * src/copy.c (copy_internal): Update.
+ * src/ls.c (is_directory): Update.
+ * src/stat.c (print_stat): Update.
+ * src/readlink.c (main): Use the one-argument xreadlink function.
+
+2007-02-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ * doc/coreutils.texi (Common options): --si outputs "M", not "MB".
+ Problem reported by Philip Rowlands in
+ <http://lists.gnu.org/archive/html/bug-coreutils/2007-02/msg00283.html>.
+
+2007-02-28 Jim Meyering <jim@meyering.net>
+
+ * .x-sc_file_system: Add the new test, tests/misc/df-P, to this
+ list of exceptions, for the "make distcheck" sc_file_system rule.
+
+ * Makefile.maint (gnulib_snapshot_date): Remove now-unused definition.
+
+2007-02-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ Make df -P immune to effects of e.g., the BLOCK_SIZE envvar.
+ * NEWS: With -P, the default block size and output format is not
+ affected by DF_BLOCK_SIZE, BLOCK_SIZE, or BLOCKSIZE.
+ * src/df.c (main): Implement this.
+
+2007-02-27 Jim Meyering <jim@meyering.net>
+
+ Add a test for the above.
+ * tests/misc/df-P: New file.
+ * tests/misc/Makefile.am (TESTS): Add df-P.
+
+2007-02-25 Jim Meyering <jim@meyering.net>
+
+ * Makefile.maint (announcement): Adjust so that it works with
+ announce-gen's --gnulib-snapshot-time-stamp option.
+ Indent one of the command lines using TAB, not 8 spaces.
+
+ Post-release version change.
+ * NEWS: Add a line for 6.8+.
+ * configure.ac (AC_INIT): Set new version string.
+
+2007-02-24 Jim Meyering <jim@meyering.net>
+
+ Version 6.8.
+ * NEWS: Record release date and new version number.
+ * configure.ac (AC_INIT): New version number.
+
+ Don't skip this test on new-enough Linux/GNU systems.
+ * tests/misc/pwd-unreadable-parent: Test $REPLACE_GETCWD = 0,
+ rather than for __GETCWD_PREFIX in config.h (the latter is no
+ longer defined, ever, due to gnulib changes).
+ * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Define REPLACE_GETCWD.
+
+ Remove the "gnits" option; it prohibits my using "+" as a version
+ string suffix, and all it does (beyond the default "gnu" option)
+ is to _require_ the THANKS file.
+ * configure.ac (AM_INIT_AUTOMAKE): Remove it.
+
+ Remove all AUTOMAKE_OPTIONS settings in Makefile.am files.
+ * tests/chgrp/Makefile.am, tests/chmod/Makefile.am:
+ * tests/chown/Makefile.am, tests/cp/Makefile.am:
+ * tests/du/Makefile.am, tests/expr/Makefile.am:
+ * tests/factor/Makefile.am, tests/general/Makefile.am:
+ * tests/install/Makefile.am, tests/ln/Makefile.am:
+ * tests/ls/Makefile.am, tests/mkdir/Makefile.am:
+ * tests/mv/Makefile.am, tests/readlink/Makefile.am:
+ * tests/rm/Makefile.am, tests/rmdir/Makefile.am:
+ * tests/seq/Makefile.am, tests/stty/Makefile.am:
+ * tests/tee/Makefile.am, tests/touch/Makefile.am:
+
+ * README: Document the OSF/1 4.0d build failure and work-around.
+ Reported by Bruno Haible.
+
+ * NEWS: Use a simple "+" suffix to denote pre-release, not "-dirty".
+ Nicer connotations.
+ * configure.ac: Use 6.7+, not 6.7-dirty.
+
+2007-02-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: sort no longer compresses temporaries by default.
+ * bootstrap.conf: Remove findprog.
+ * doc/coreutils.texi (sort invocation): The default is to not
+ compress. Don't treat "" specially.
+ * src/sort.c: Don't include findprog.h.
+ (create_temp): Compress only if the user specified --compress-program.
+ * tests/misc/sort-compress: Adjusts tests to match new behavior.
+
+2007-02-24 Jim Meyering <jim@meyering.net>
+
+ Avoid a shell syntax error, when building with an inadequate Perl.
+ * man/Makefile.am (.x.1): Add quotes around $(PERL) in case, since
+ it can expand to "/.../missing perl".
+
+ * man/Makefile.am (.x.1): Warn when unable to update a man page.
+ Suggestion from Bruno Haible.
+
+2007-02-23 Bruno Haible <bruno@clisp.org>
+
+ Handle better the combination of old Perl and a pre-c99 compiler.
+ * man/Makefile.am (.x.1): If the autoconf test has determined that
+ perl is missing or not a sufficient version, do nothing.
+
+ * tests/readlink/can-e: Put the closing double-quote at the end of a
+ backquoted word, not in the middle. Works around a bug in sh on
+ OSF/1 4.0d.
+ * tests/readlink/can-f: Likewise.
+ * tests/readlink/can-m: Likewise.
+
+ * tests/du/slink: Skip the test if executing on an nfsv3 file system.
+ This avoids a test failure at least on OSF/1 4.0d.
+
+2007-02-23 Jim Meyering <jim@meyering.net>
+
+ * src/date.c (usage): Split a diagnostic that had grown to be
+ longer than the C89 maximum of 509 bytes.
+
+2007-02-23 Ed Santiago <ed@edsantiago.com>
+
+ * src/date.c (usage): Mention that --rfc-3339 uses space, not 'T',
+ for a separator. Include sample RFC 2822 and 3339 output.
+
+2007-02-23 Jim Meyering <jim@meyering.net>
+
+ With -Dlint, make shuf free all heap-allocated storage.
+ * src/shuf.c (main): Move declaration of input_lines to
+ function scope, and initialize to NULL, so we can free it.
+ [lint]: Free all malloc'd memory.
+ * tests/misc/shuf: Also test shuf's -e and -i options.
+
+2007-02-22 Jim Meyering <jim@meyering.net>
+
+ Merge in a change from some other incarnation of this file (gzip?)
+ * bootstrap (gnulib_tool): Skip get_translations if there is no po/ dir.
+
+ Adjust preceding change not to perform an unaligned access.
+ * src/copy.c (copy_reg): Undo previous change. Instead, make
+ it clearer that we're using a single-byte sentinel, and
+ [lint]: Initialize sizeof (uintptr_t) - 1 bytes after the sentinel.
+ Reported by Andreas Schwab.
+
+ Placate valgrind, wrt ./cp --sparse=always
+ * src/copy.c (copy_reg): Place the sentinel by setting a
+ full word's worth of bits, not just a single byte's worth.
+ This avoids a harmless (but distracting) case of memory being
+ used-uninitialized.
+
+2007-02-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ Honor dd's noatime flag if possible, even if not supported on build fs
+ * doc/coreutils.texi (dd invocation): Warn that noatime might not be
+ reliable.
+ * src/dd.c (flags, usage): Look at O_NOATIME, not
+ HAVE_WORKING_O_NOATIME, to decide whether to support the noatime
+ flag, so that dd attempts O_NOATIME even if the build file system
+ does not support it. Problem reported by Jim Meyering today in
+ bug-coreutils.
+ * tests/dd/misc: Generate a warning, not a failure, if noatime
+ exists but fails.
+
+2007-02-21 Jim Meyering <jim@meyering.net>
+
+ * tests/misc/date: Remove vestigial use of Data::Dumper.
+
+2007-02-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/copy.c (cached_umask): Cast -1 to mode_t to avoid a warning
+ about out-of-range initializer with Sun C 5.8.
+
+2007-02-20 Jim Meyering <jim@meyering.net>
+
+ * bootstrap (CVS_only_file): Use README-hacking.
+
+ Now that we use GIT, not cvs, rename README-cvs.
+ * README-hacking: Renamed from...
+ Update to reflect that we now use git.
+
+ * README-cvs: ...this.
+
+ * src/env.c (main): When invoked with no arguments (i.e. when printing
+ the environment), use a local variable to iterate through the global
+ "environ" array, rather than "environ" itself. This is solely to
+ avoid changing the environment for an LD_PRELOAD-substituted "puts"
+ or "exit" function. Tiny patch by Harvey Eneman. See
+ <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9735>.
+ * THANKS: Update.
+
+ * bootstrap: Move definitions of temporary directory names and the
+ new bt_regex "up" to precede all uses, so it's clearer what their
+ scope is. Also, use [.], rather than \\., since the former works
+ even if eval'd.
+
+ * bootstrap: Remove occurrences of $bt (._bootmp) from lib/Makefile.
+ Based on the bison 2007-02-19 change by Joel E. Denny.
+
+2007-02-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: sort now uses a --compress-program option rather than
+ an environment variable.
+ * doc/coreutils.texi (sort invocation): Document this.
+ * src/sort.c (usage): Likewise.
+ (COMPRESS_PROGRAM_OPTION): New const.
+ (long_options, create_temp, main): Support new option.
+ * tests/misc/sort-compress: Test it.
+
+2007-02-19 Jim Meyering <jim@meyering.net>
+
+ * bootstrap: Fix typo s/dowloading/downloading/ in --help output.
+
+2007-02-18 Jim Meyering <jim@meyering.net>
+
+ * src/system.h: Don't include exit.h, now that it's subsumed
+ by the gnulib-generated stdlib.h.
+
+ * tests/rm/fail-eacces: Skip this test when running as root.
+ Reported by Matthew Woehlke.
+
+ * bootstrap: Use "._bootmp" as the temporary directory name,
+ not ".#bootmp". The latter's "#" caused trouble with the new,
+ gnulib-added "LINK_WARNING_H = $(top_srcdir)/.#bootmp/..." line.
+
+2007-02-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * bootstrap.conf (gnulib_modules): Add c-strcase. Remove strcase.
+ * src/dircolors.c: Include c-strcase.h.
+ (dc_parse_stream): Use c_strcasecmp rather than
+ strcasecmp to avoid unreliable results in locales like Turkish
+ where strcasecmp is incompatible with the C locale.
+
+2007-02-13 Jim Meyering <jim@meyering.net>
+
+ Also check for and print stderr output, in case a program fails.
+ * tests/misc/tty-eof: Occasionally (not reproducible), this
+ test would fail, with one or more programs exiting nonzero, e.g.,
+ tty-eof: sha224sum exited with status 1 (expected 0)
+ Now, maybe we'll get a clue, the next time that happens.
+
+2007-02-12 Jim Meyering <jim@meyering.net>
+
+ * .x-sc_useless_cpp_parens: Ignore a false-positive in a shell script.
+
+ * tests/misc/pwd-unreadable-parent: Skip the test if we're
+ definitely using the replacement.
+ * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Define CONFIG_HEADER.
+
+2007-02-10 Jim Meyering <jim@meyering.net>
+
+ Remove excess leading spaces that would make help2man misbehave.
+ * src/printf.c (usage): Remove excess spaces on 2nd line of %b desc.
+ * src/nl.c (usage): Remove excess spaces on 2nd line of pBRE desc.
+ * src/dd.c (usage): Remove excess spaces on 2nd line of sync desc.
+ * src/date.c (usage): Use two spaces after each optional flag, not one.
+ Reported by Thomas Huriaux in <http://bugs.debian.org/410407>.
+
+ * Makefile.maint (longopt_re): Relax the regexp, making square
+ brackets optional, so it matches the newly reported violations, too.
+
+ * src/csplit.c (usage): Use two spaces (not one) to separate
+ each option string from its description, so help2man formats
+ the derived man page properly. Reported by Thomas Huriaux in
+ <http://bugs.debian.org/410407>.
+ * src/df.c (usage): Likewise.
+ * src/du.c (usage): Likewise.
+ * src/install.c (usage): Likewise.
+ * src/ls.c (usage): Likewise.
+
+2007-02-03 Jim Meyering <jim@meyering.net>
+
+ Test for today's gnulib/lib/getcwd.c fix affecting pwd and readlink
+ * NEWS: Mention the bug fix.
+ * tests/misc/pwd-unreadable-parent: New file.
+ * tests/misc/Makefile.am (TESTS): Ad pwd-unreadable-parent.
+
+2007-02-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Document fix for cp --preserve=mode.
+ * src/copy.c (copy_internal): Omit the group- or other-writeable
+ permissions when creating a directory, to avoid a race condition
+ if the special mode bits aren't right just after the directory is
+ created.
+ * src/cp.c (make_dir_parents_private): Likewise.
+ * tests/cp/parent-perm-race: Test for the "cp --preserve=mode"
+ race fix in copy.c.
+
+ * NEWS: Document fix for cp --parents.
+ * src/cp.c (make_dir_parents_private): Report the error sooner with
+ "cp --parents DIR/FILE DEST" when DIR is a non-directory, thus not
+ creating the directory, DEST/DIR.
+ * tests/cp/cp-parents: Test for the non-race-condition bug fixed
+ by the above change.
+
+2007-02-02 Jim Meyering <jim@meyering.net>
+
+ * src/nl.c (proc_text): Use "NULL", not "(struct re_registers *) 0".
+
+ * src/c99-to-c89.diff: Make shred.c Index: and a/b prefixes
+ consistent, so this can be applied with patch -p0.
+ Reported by Matthew Woehlke.
+
+ * Makefile.maint (patch-check): Use patch with its -p2 option,
+ since that makes this check slightly more strict.
+
+2007-01-29 Jim Meyering <jim@meyering.net>
+
+ Plug a leak in ls.
+ * src/ls.c (print_dir): Don't leak a "DIR"+fd upon failure to
+ determine dev/inode or upon detecting a symlink loop.
+
+ * src/ls.c: Rename three global variables.
+ (cwd_file): Rename from 'files'.
+ (cwd_n_alloc): Rename from 'nfiles'.
+ (cwd_n_used): Rename from 'files_index'.
+
+ Shave 8 bytes off the size of "struct fileinfo".
+ * src/ls.c (fileinfo): Put all members of type "bool" together.
+
+2007-01-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ Modify "ls" to sort its data faster, using the new gnulib mpsort
+ module rather than qsort. This is particularly a win in
+ environments where strcoll is slow, since mpsort typically calls
+ strcoll less often than qsort does.
+ * bootstrap.conf (gnulib_modules): Add mpsort.
+ * src/ls.c: Include mpsort.h.
+ (sorted_file, sorted_file_alloc): New vars, for a new vector of
+ pointers to the file info, for speed.
+ (clear_files, extract_dirs_from_files, sort_files, print_current_files):
+ (print_many_per_line, print_horizontal, print_with_commas):
+ (calculate_columns): Set and use new vector.
+ (initialize_ordering_vector): New function.
+
+2007-01-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ Adjust to today's change to gnulib, which added a module for
+ string.h to replace the little include files like strcase.h.
+ * src/dircolors.c: Don't include strcase.h.
+ * src/system.h: Don't include mempcpy.h, memrchr.h, stpcpy.h, strpbrk.h.
+
+2007-01-26 Jim Meyering <jim@meyering.net>
+
+ * src/dd.c (advance_input_after_read_error): Change diagnostic to
+ say "invalid file offset" rather than "screwy file offset".
+
+ * .x-sc_cast_of_argument_to_free: Remove this file.
+ * Makefile.am (EXTRA_DIST): Likewise.
+
+2007-01-25 Dan Hipschman <dsh@linux.ucla.edu>
+
+ * src/sort.c (create_temp): Remove superfluous access-X_OK
+ check. find_in_path does this for us.
+
+2007-01-24 Jim Meyering <jim@meyering.net>
+
+ Remove usually-skipped test.
+ * tests/cp/open-perm-race: Remove this file. It is subsumed
+ by parent-perm-race.
+ * tests/cp/Makefile.am (TESTS): Remove open-perm-race.
+ * tests/sort/Makefile.am: Regenerate.
+
+ Pass "make distcheck" again.
+ * src/sort.c (usage): Split a diagnostic that had grown to be
+ longer than the C89 maximum of 509 bytes.
+ * .x-sc_cast_of_argument_to_free: New file. Allow a cast in sort.c.
+ FIXME: this is just temporary, while we wait to remove the offending
+ access-calling code.
+ * Makefile.am (EXTRA_DIST): Add .x-sc_cast_of_argument_to_free.
+ * Makefile.maint (sc_cast_of_argument_to_free): Use the
+ canonical, $$($(CVS_LIST_EXCEPT)).
+ * m4/.gitignore, m4/.cvsignore, lib/.gitignore, lib/.cvsignore: Update.
+
+2007-01-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: New option sort -C, proposed by XCU ERN 127, which looks
+ like it will be approved. Also add --check=quiet, --check=silent
+ as long aliases, and --check=diagnose-first as an alias for -c.
+ * doc/coreutils.texi (sort invocation): Document this.
+ Also, mention that sort -c can take at most one file.
+ * src/sort.c: Implement this.
+ Include argmatch.h.
+ (usage): Document the change.
+ (CHECK_OPTION): New constant.
+ (long_options): --check now takes an optional argument, and is now
+ treated differently from 'c'.
+ (check_args, check_types): New constant arrays.
+ (check): New arg CHECKONLY, which suppresses diagnostic if -C.
+ (main): Parse the new options.
+ * tests/sort/Test.pm (02d, 02d, incompat5, incompat6):
+ New tests for -C.
+
+2007-01-24 Jim Meyering <jim@meyering.net>
+
+ Fix a typo.
+ * tests/misc/sort-compress: Use $abs_top_builddir, not $top_builddir.
+ * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Likewise.
+
+ Don't depend on "which".
+ * tests/misc/sort-compress (SORT): Use $abs_builddir, now which.
+ * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Export top_builddir.
+
+2007-01-24 Dan Hipschman <dsh@linux.ucla.edu>
+
+ Test sort compression.
+ * tests/misc/Makefile.am: Add the test.
+ * tests/misc/sort-compress: New file containing the tests.
+
+2007-01-24 Jim Meyering <jim@meyering.net>
+
+ * NEWS: sort temp file compression: tweak wording.
+ * src/sort.c (struct sortfile) [name]: Declare member to be const.
+
+2007-01-21 Jim Meyering <jim@meyering.net>
+
+ * src/sort.c (MAX_FORK_RETRIES_COMPRESS, MAX_FORK_RETRIES_DECOMPRESS):
+ In pipe_fork callers, use these named constants, not "2" and "8".
+ (proctab, nprocs): Declare to be "static".
+ (pipe_fork) [lint]: Initialize local, pid,
+ to avoid unwarranted may-be-used-uninitialized warning.
+ (create_temp): Use the active voice. Describe parameters, too.
+
+2007-01-21 James Youngman <jay@gnu.org>
+
+ Centralize all the uses of sigprocmask(). Don't restore an invalid
+ saved mask.
+ * src/sort.c (enter_cs, leave_cs): New functions for protecting
+ code sequences against signal delivery.
+ * (exit_cleanup): Use enter_cs and leave_cs instead of
+ calling sigprocmask directly.
+ (create_temp_file, pipe_fork, zaptemp): Likewise
+
+2007-01-21 Dan Hipschman <dsh@linux.ucla.edu>
+
+ Add compression of temp files to sort.
+ * NEWS: Mention this.
+ * bootstrap.conf: Import findprog.
+ * configure.ac: Add AC_FUNC_FORK.
+ * doc/coreutils.texi: Document GNUSORT_COMPRESSOR environment
+ variable.
+ * src/sort.c (compress_program): New global, holds the name of the
+ external compression program.
+ (struct sortfile): New type used by mergepfs and friends instead
+ of filenames to hold PIDs of compressor processes.
+ (proctab): New global, holds compressor PIDs on which to wait.
+ (enum procstate, struct procnode): New types used by proctab.
+ (proctab_hasher, proctab_comparator): New functions for proctab.
+ (nprocs): New global, number of forked but unreaped children.
+ (reap, reap_some): New function, wait for/cleanup forked processes.
+ (register_proc, update_proc, wait_proc): New functions for adding,
+ modifying and removing proctab entries.
+ (create_temp_file): Change parameter type to pointer to file
+ descriptor, and return type to pointer to struct tempnode.
+ (dup2_or_die): New function used in create_temp and open_temp.
+ (pipe_fork): New function, creates a pipe and child process.
+ (create_temp): Creates a temp file and possibly a compression
+ program to which we filter output.
+ (open_temp): Opens a compressed temp file and creates a
+ decompression process through which to filter the input.
+ (mergefps): Change FILES parameter type to struct sortfile array
+ and update access accordingly. Use open_temp and reap_some.
+ (avoid_trashing_input, merge): Change FILES parameter like
+ mergefps and call create_temp instead of create_temp_file.
+ (sort): Call create_temp instead of create_temp_file.
+ Use reap_some.
+ (avoid_trashing_input, merge, sort, main): Adapt to mergefps.
+
+ The idea of compressing sorts temporary files was first
+ suggested/implemented by Jay Soffian in 1998, and again
+ by Charles Randall in 2001.
+
+2007-01-20 Jim Meyering <jim@meyering.net>
+
+ * tests/misc/pwd-long: Work properly even when run from the
+ wrong one of two or more bind-mounted sibling directories.
+ Suggestion from Mike Stone in <http://bugs.debian.org/380552>.
+
+2007-01-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ Standardize on list of signals when an app catches signals.
+ * src/csplit.c (main): Also catch SIGALRM, SIGPIPE, SIGPOLL,
+ SIGPROF, SIGVTALRM, SIGXCPU, SIGXFSZ.
+ * src/ls.c (main): Likewise (except SIGPIPE was already caught).
+ Note that ls.c is special, as it also catches SIGTSTP.
+ * src/sort.c (main): Likewise. Also catch SIGQUIT. More details in
+ <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9510>.
+
+2007-01-19 Dan Hipschman <dsh@linux.ucla.edu>
+ and Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/sort.c (cleanup): Clear temphead at the end.
+ (exit_cleanup): New function.
+ (main): Don't invoke atexit until we're ready.
+ Invoke it with exit_cleanup, not with cleanup and close_stdout,
+ to avoid a race condition with cleanup and signal handling. More
+ details: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9508
+
+2007-01-18 Jim Meyering <jim@meyering.net>
+
+ * src/c99-to-c89.diff: Adjust remove.c offsets.
+
+2007-01-17 Jim Meyering <jim@meyering.net>
+
+ Make "rm --interactive=never ..." never prompt.
+ * NEWS: Mention this.
+ * src/remove.h (enum rm_interactive): New ternary type.
+ (struct rm_options) [interactive]: Use it, here -- rather than bool.
+ * src/remove.c (prompt): Reflect type change.
+ * src/mv.c (rm_option_init): Initialize to RMI_NEVER now.
+ * src/rm.c (main): Add a FIXME comment for '-d' option.
+ Adapt to type change of rm_options.interactive.
+
+ * tests/rm/i-never: New file. Test for the above fix.
+ * tests/rm/Makefile.am (TESTS): Add i-never.
+
+2007-01-15 Jim Meyering <jim@meyering.net>
+
+ * bootstrap (gnulib_tool): When adding to .cvsignore and .gitignore,
+ emit foo.h, for each foo_.h. This yields one false-positive, fts.h,
+ but that's ok, since fts_.h will eventually be renamed.
+
+ * src/remove.c (remove_dir): Don't use errno in diagnostic.
+ Root-only test failure reported by Alex van Hout and Jon Grosshart in
+ <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9415/focus=9415>.
+
+ * bootstrap.conf (avoided_gnulib_modules): Fix my typo:
+ s/--avoid=canonicalize-lgpl/--avoid=canonicalize-gpl/
+
+2007-01-14 Bruno Haible <bruno@clisp.org>
+
+ Enable use of gnulib's new fchdir module.
+ * bootstrap.conf (avoided_gnulib_modules): Avoid canonicalize-lgpl,
+ since we use canonicalize.
+ (gnulib_modules): Add fchdir.
+ * m4/jm-macros.m4 (coreutils_MACROS): Remove fchdir-stub.
+
+2007-01-13 Jim Meyering <jim@meyering.net>
+
+ * Transform all Makefile.am files so that when running "make check",
+ CU_TEST_NAME is set to the name of the test. This is so that when I
+ run valgrind-enabled (--log-file-qualifier=CU_TEST_NAME) "make check"
+ on the entire package it is more convenient to map a leak or error
+ found in a valgrind log file back to the offending test.
+ Use this command:
+ (echo tests/Makefile.am.in; find tests -name Makefile.am) \
+ |xargs perl -pi -e '/^(\s*)PATH=...VG_PATH_PREFIX/ and ' \
+ -e 'print $1,q|CU_TEST_NAME=`basename $(abs_srcdir)`,$$tst |,"\\\n"'
+
+2007-01-11 Jim Meyering <jim@meyering.net>
+
+ Avoid a leak in expr's implementation of the ":" (match) operator.
+ * src/expr.c (docolon): Free the regexp buffer using regfree, rather
+ than doing it manually, being careful to set fastmap to NULL first.
+ Free any re_regs.start and .end members, if necessary.
+
+ * tests/misc/test-diag: Work also when libc's error function
+ reports the entire program name ("../../src/test"), rather than
+ just the final component.
+
+2007-01-10 Jim Meyering <jim@meyering.net>
+
+ Don't use fts_statp uninitialized for "chown -RLh --preserve-root ...".
+ * src/chown-core.c (FTSENT_IS_DIRECTORY): New macro.
+ (change_file_owner): Perform the ROOT_DEV_INO_CHECK only for a
+ directory. Non-directory entries lack fts_statp data when using
+ the FTS_NOSTAT option.
+
+2007-01-07 Jim Meyering <jim@meyering.net>
+
+ * tests/sample-test: Update copyright date to 2007.
+ * Makefile.maint (copyright-check): Also check the copyright date
+ in tests/sample-test.
+
+2007-01-06 Jim Meyering <jim@meyering.net>
+
+ * tests/fmt/basic (pfx-only, pfx-of-pfx): New tests,
+ based on examples from G.P. Halkes in
+ <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9388>.
+
+2007-01-06 G.P. Halkes <buscom@ghalkes.nl>
+
+ * src/fmt.c (copy_rest): Correct prefix handling.
+ Don't elide a line with the prefix followed by only white space.
+ (get_line): Move EOF-check to loop-termination condition.
+ * tests/fmt/basic (pfx-1): Adjust test to expect desired result.
+ (pfx-2): Remove test; its premise was contrary to the documentation.
+
+2007-01-05 Jim Meyering <jim@meyering.net>
+
+ Avoid a used-uninitialized bug for invalid input, i.e., when the size
+ of the input, not counting newlines, is 1 % 4.
+ * gl/lib/base64.c (base64_decode): Don't hard-code inlen==4.
+ It may be smaller when flushing.
+
+2007-01-05 Mike Frysinger <vapier@gentoo.org>
+
+ * src/dircolors.hin: Add a TERM directive for cons25.
+
+2007-01-04 Jim Meyering <jim@meyering.net>
+
+ * Makefile.cfg (local-checks-to-skip): Skip strftime-check, in
+ case you don't have convenient access to glibc info documentation.
+
+ Use the release year, not the current year.
+ * src/groups.sh (version): Use a better name: @RELEASE_YEAR@.
+ * src/Makefile.am (RELEASE_YEAR): Define it.
+ (.sh): Use it.
+ Thanks to a prod from Eric Blake.
+
+ Ensure that "group --version" always prints the current year.
+ * src/groups.sh (version): Use @CURRENT_YEAR@, rather than 2006.
+ * src/Makefile.am (.sh): Also substitute for @CURRENT_YEAR@.
+ Suggestion from Eric Blake.
+
+ When decoding, always allow newlines in input, with almost no
+ performance impact.
+ * src/base64.c (do_decode): Initialize decode context.
+ Call base64_decode one more time, after all input is processed.
+ (usage): When decoding, newlines are always accepted.
+
+ * tests/misc/base64: Add a bunch of tests, for the above.
+ * gl/lib/base64.c: Include <string.h>.
+ (base64_decode_ctx_init, get_4, decode_4): New functions.
+ (base64_decode): Efficiently handle interspersed newlines.
+ (base64_decode_alloc): Update signature.
+ * gl/lib/base64.h (struct base64_decode_context): Define.
+ (base64_decode_ctx_init): Add prototype.
+ (base64_decode, base64_decode_alloc): Update prototypes.
+
+ * gl/lib/base64.c: Copied from gnulib.
+ * gl/lib/base64.h: Likewise.
+
+2007-01-03 Jim Meyering <jim@meyering.net>
+
+ * THANKS: Add Evan Hunt.
+
+2007-01-03 Bruno Haible <bruno@clisp.org>
+
+ Avoid spurious test failures on MacOS X 10.3.9, in a German locale.
+ * tests/chown/deref: Apply lang-default.
+ * tests/misc/split-a: Likewise.
+ * tests/mv/reply-no: Likewise.
+
+ * src/copy.c (copy_internal): Use mkfifo as a fallback if mknod fails.
+ Needed on MacOS X.
+
+2007-01-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ Now, "ls -FRL" always follows symbolic links on Linux.
+ * NEWS: Mention this bug fix.
+ * src/ls.c (gobble_file): Fix bug reported by
+ Nobuyuki Tsuchimura in
+ http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00152.html
+ where "ls -FRL" didn't follow a symbolic link in some cases on Linux.
+ * tests/ls/follow-slink: Add a test for this case.
+
+2007-01-01 Jim Meyering <jim@meyering.net>
+
+ * tests/rm/fail-eperm: Revert last change. The PATH=... setting
+ is not honored at least on HP-UX 11.23 systems.
+ Instead, simply transform the actual output diagnostic.
+ Test failure reported by Bob Proulx.
+
+2006-12-30 Jim Meyering <jim@meyering.net>
+
+ * bootstrap (gnulib_extra_files): Remove announce-gen.
+ * bootstrap.conf (gnulib_modules): Add it here instead, now that
+ it's a module.
+
+ * tests/misc/base64: Factor a long, repetitive string.
+
+ * src/c99-to-c89.diff: Adjust remove.c offsets.
+
+ Clean up after the change of 2006-12-28.
+ * src/remove.c (AD_pop_and_chdir): Change **DIRP parameter to *DIRP,
+ now that this function never modifies the pointer. Adjust comments
+ and code accordingly.
+ (remove_dir): Set "dirp" to NULL right after AD_pop_and_chdir call,
+ now that AD_pop_and_chdir no longer does that.
+
+ * tests/rm/fail-eperm: Avoid spurious differences (the error function
+ from latest glibc no longer prints the full program_name): so don't
+ invoke rm via ../../src/rm. Instead, invoke it via "PATH=../../src rm".
+
+ * tests/mv/acl (skip): Skip this test also if the destination
+ directory, which is on a different file system, lacks ACL support.
+
+ * src/copy.c (copy_reg): Rewrite a comment that was rendered
+ inaccurate by the 2006-10-18 change.
+
+2006-12-28 Jim Meyering <jim@meyering.net>
+
+ When moving "up" the hierarchy, be careful to remove a just-emptied
+ directory before opening ".", to avoid trouble with file system
+ implementations that cache readdir results at opendir-time.
+ * src/remove.c (AD_pop_and_chdir): Add a file descriptor parameter.
+ Don't update **DIRP. Don't call fdopendir here.
+ (remove_dir): Call fdopendir here instead.
+ Report and patch from Mikulas Patocka:
+ <http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00170.html>
+
+2006-12-27 Jim Meyering <jim@meyering.net>
+
+ * src/tail.c (usage): Mention +N for --bytes and --lines.
+ Suggestion from Evan Hunt.
+
+2006-12-26 Jim Meyering <jim@meyering.net>
+
+ * configure.ac: Require autoconf-2.61 and automake-1.10.
+ Without the former (even with autoconf-2.60), "make distcheck"
+ would fail (without the 2006-09-26 autoconf AC_CHECK_DECL fix),
+ due to an inttypes.h generated with CFLAGS including -pedantic.
+ With the old decl check, @HAVE_DECL_STRTOUMAX@ would be 0.
+
+ * Makefile.maint (VC-tag): Define, so as to gpg-sign each release
+ tag, using the release version number as the message.
+ (vc-dist): Use $(VC-tag), rather than "$(VC) tag".
+
+2006-12-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: dd bs= operands now silently override later ibs= and obs=,
+ as POSIX requires.
+ * src/dd.c (scanargs): Implement it.
+ * tests/dd/misc (outbytes): Test it.
+ * doc/coreutils.texi (dd invocation): Specify that bs=N
+ overrides later ibs and obs, undoing part of the
+ previous change. (The behavior was wrong.)
+
+2006-12-20 Jim Meyering <jim@meyering.net>
+
+ "rm -rf /etc/motd" (run by non-root) now prints a diagnostic.
+ * src/remove.c (remove_entry): Handle EACCES for a non-directory, too.
+ Don't let a non-directory get by with errno == EPERM, either.
+ Check the file type directly (using cached stat value), rather
+ than trying to guess it from errno values.
+ Karl Berry reported that a cross-partition "mv /etc/issue ~"
+ failed with the um,... suboptimal diagnostic,
+ "mv: cannot remove `/etc/issue': Not a directory".
+ * tests/rm/Makefile.am (TESTS): Add fail-eacces.
+ * tests/rm/fail-eacces: New file.
+ * NEWS: Mention that both mv and rm are affected.
+
+ "cut -f 2- A B" no longer triggers a double-free bug
+ * src/cut.c (cut_fields): Set file-scoped global to NULL after
+ freeing it. This avoids a double-free (and core dump on some systems)
+ for this usage: "echo 1>a; echo 2>b; cut -f2- a b". Reported by
+ James Hunt in <http://bugzilla.redhat.com/220312>.
+ * NEWS: List this bug fix.
+ * THANKS: Mention him.
+ * tests/misc/cut: New file.
+ * tests/misc/Makefile.am (TESTS): Add cut.
+
+2006-12-15 Jim Meyering <jim@meyering.net>
+
+ * tests/cp/open-perm-race: Correct the gdb-existence check.
+ Don't run either subsequent gdb command in a sub-shell.
+ Reported by Thomas Schwinge.
+ * THANKS: bring up to date.
+
+2006-12-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ Make sure cp -p isn't too generous with file permissions.
+ * tests/cp/Makefile.am (TESTS): Add file-perm-race.
+ * tests/cp/file-perm-race: New file.
+
+ Ensure cp -pR --parents isn't too generous with parent permissions.
+ * tests/cp/Makefile.am (TESTS): Add parent-perm-race.
+ * tests/cp/parent-perm-race: New file.
+
+2006-12-14 Jim Meyering <jim@meyering.net>
+
+ * tests/chgrp/default-no-deref: Don't assume that files are created
+ with the primary group by default. That's not true in a directory
+ with the set-GID bit set.
+
+ Don't hang when there's no input tty.
+ * tests/cp/open-perm-race: Skip this test if there is no
+ controlling input `terminal'.
+
+ Test for a hard-to-detect race fix, using gdb.
+ * tests/cp/open-perm-race: New file, to test for the
+ cp --preserve=ownership fix of 2006-12-06.
+
+ * tests/cp/Makefile.am (TESTS_ENVIRONMENT): Define abs_top_builddir.
+ (TESTS): Add open-perm-race.
+
+ * src/chgrp.c (main): Don't prohibit -RLh, aka -RL with --no-dereference.
+ * src/chown.c (main): Likewise.
+ * src/chown-core.c (change_file_owner): Add to a comment.
+ * tests/chown/preserve-root: Add tests.
+
+ * NEWS: --preserve-root now works with chgrp, chmod, and chown.
+ * src/chmod.c (process_file): Do honor the --preserve-root option.
+ * src/chown-core.c (change_file_owner): Likewise, but here, also
+ handle the case in which a traversal would go "through" a symlink
+ to root. Reported by Matthew M. Boedicker
+ * tests/chown/preserve-root: Test for the above.
+ * tests/chown/Makefile.am (TESTS): Add preserve-root.
+
+ * NEWS: Mention the chmod fix induced by the 2006-12-11 change
+ to gnulib's m4/openat.m4.
+
+2006-12-13 Andreas Schwab <schwab@suse.de>
+
+ Don't fail if mv/acl test succeeds.
+ * tests/mv/acl (skip): Check for acl support in the file system.
+ * tests/mv/Makefile.am (XFAIL_TESTS): Remove.
+ (TESTS_ENVIRONMENT): Pass CONFIG_HEADER.
+
+2006-12-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ Remove some arbitrary restrictions on size fields, so that
+ commands like "sort -k 18446744073709551616" no longer fail merely
+ because 18446744073709551616 doesn't fit in uintmax_t. The trick
+ is that these fields can all be treated as effectively infinity;
+ their exact values don't matter, since no internal buffer can be
+ that long.
+ * src/join.c (string_to_join_field): Verify that SIZE_MAX <=
+ ULONG_MAX if the code assumes this. Silently truncate too-large
+ values to SIZE_MAX, as the remaining code will do the right thing
+ in this case.
+ * src/sort.c (parse_field_count): Likewise.
+ * src/uniq.c (size_opt, main): Likewise.
+ * tests/join/Test.pm (bigfield): New test.
+ * tests/sort/Test.pm (bigfield): New test.
+ * tests/uniq/Test.pm (121): New test.
+
+2006-12-13 Jim Meyering <jim@meyering.net>
+
+ * tests/chgrp/default-no-deref: New test.
+ * tests/chgrp/Makefile.am (TESTS): Add default-no-deref.
+
+2006-12-12 Jim Meyering <jim@meyering.net>
+
+ * src/system.h (SETVBUF): Remove definition, now that the
+ autoconf macro, AC_FUNC_SETVBUF_REVERSED, does nothing.
+ * src/tee.c (tee_files): s/SETVBUF/setvbuf/.
+ * src/od.c (open_next_file): Likewise.
+
+2006-12-09 Jim Meyering <jim@meyering.net>
+
+ * man/Makefile.am (.x.1): Make help2man use $(PACKAGE_STRING) as the
+ "source". I.e. "GNU coreutils 6.7".
+
+ * NEWS: With the change from "-pre" to "-dirty" suffix, also change
+ from NEXT_VER-pre to CUR_VER-dirty. So, this is 6.7-dirty.
+ * configure.ac (AC_INIT): s/6.8-dirty/6.7-dirty/.
+
+ * tests/uniq/Test.pm (test_vector): Skip the pipe-reading test
+ whenever uniq is expected to fail. This should catch the other case
+ [test #112] in which uniq emits "cat: write error: Broken pipe" on
+ some systems.
+
+2006-12-08 Jim Meyering <jim@meyering.net>
+
+ Include bootstrap tool version info in the announcement form.
+ * Makefile.maint (gnulib_snapshot_date): Define.
+ (announcement): Use two new announce-gen options,
+ --bootstrap-tools and --gnulib-snapshot-date.
+ * Makefile.cfg (gnulib_dir): Set.
+
+ Post-release version change.
+ * NEWS: Add a line for 6.8-dirty.
+ * configure.ac (AC_INIT): Set new version string.
+
+2006-12-07 Jim Meyering jim@meyering.net
+
+ Version 6.7.
+ * NEWS: Record release date. Remove '-pre' suffix.
+ * configure.ac (AC_INIT): Remove version string suffix.
+
+2006-12-07 Jim Meyering <jim@meyering.net>
+
+ Make the output of "make check" more reproducible.
+ * tests/touch/empty-file: Use envvar-check, so "make check" doesn't
+ evoke diagnostics like this when COLUMNS=0 in the environment:
+ ls: ignoring invalid width in environment variable COLUMNS: 0
+ * tests/touch/no-rights: Likewise.
+ * tests/help-version: Likewise.
+ * tests/uniq/Test.pm: Don't perform the pipe-reading version of test
+ 118, since it emits "cat: write error: Broken pipe" on some systems.
+
+2006-12-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Document the cp -p fix for special bits.
+ * src/copy.c (set_owner): Now returns a three-way result, so
+ that the caller can clear the special bits. All callers changed.
+ (copy_reg): Don't set the special bits if chown failed.
+ (copy_internal): Likewise.
+ * tests/cp/special-bits: Test this fix.
+
+2006-12-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Document the cp --preserve=ownership fix.
+ * m4/jm-macros.m4 (coreutils_MACROS): Check for fchmod.
+ * src/copy.c (fchmod_or_lchmod): New function.
+ (copy_reg): New arg OMITTED_PERMISSIONS. All uses changed.
+ Omit confusing and unused ", dst_mode" arg to 'open' without O_CREAT.
+ When creating a file, use O_EXCL, so we're more likely to detect
+ funny business by other processes. At the end, if permissions
+ were omitted, chmod them back in.
+ (copy_internal): If the ownership might change, omit some permissions
+ at first, then restore them after chowning the file.
+ * src/cp.c (make_dir_parents_private): Likewise.
+ * src/copy.c (cached_umask): New function.
+ * src/copy.h (cached_umask): New decl.
+
+2006-12-06 Jim Meyering <jim@meyering.net>
+
+ Make the output of "make check" more reproducible.
+ * tests/misc/date-sec: Don't emit any diagnostic about sleeping.
+
+2006-12-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/install.c (install_file_in_file): Preserve time stamps
+ before changing owner or file mode bits, for consistency with
+ other coreutils programs.
+
+2006-12-03 Jim Meyering <jim@meyering.net>
+
+ * tests/misc/date-sec: Output a fixed string.
+
+ * NEWS: du --one-file-system (-x) would skip subdirectories of any
+ directory listed as second or subsequent command line argument.
+ * tests/du/one-file-system: New file. Test for today's fts.c fix.
+ * tests/du/Makefile.am (TESTS): Add one-file-system.
+ Reported by Mike Frysinger.
+
+2006-12-02 Jim Meyering <jim@meyering.net>
+
+ * tests/du/basic: Generate 4KB file simply using printf, rather than
+ seq+head. This avoids a spurious "Broken pipe" diagnostic from seq.
+
+2006-11-28 Jim Meyering <jim@meyering.net>
+
+ * tests/mv/no-target-dir: Detect a buggy rename syscall. If found,
+ skip this test. This happens at least on ia64 linux-2.4.19 w/ext3.
+ Reported by Matthew Woehlke.
+
+ * tests/mv/dir2dir: Also accept EBUSY.
+ Reported by Matthew Woehlke.
+
+2006-11-27 Jim Meyering <jim@meyering.net>
+
+ * Makefile.maint (patch-check): Rewrite to diagnose failure.
+ * src/c99-to-c89.diff: Adjust shred.c offsets.
+
+2006-11-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ Improve the check for departures from C89, and fix the departures
+ I found.
+ * Makefile.maint (my-distcheck): Also check for C89 compatibility
+ as best we can with GCC.
+ * src/stat.c (PRINTF_OPTION): Omit comma before } in enum
+ declaration; C89 doesn't allow this.
+ * src/dcgen: Don't generate string literals longer than
+ what C89 requires support for.
+ * src/cut.c (usage): Don't use string literals longer than
+ what C89 requires support for.
+ * src/date.c (usage): Likewise.
+ * src/dd.c (usage): Likewise.
+ * src/du.c (usage): Likewise.
+ * src/ls.c (usage): Likewise.
+ * src/od.c (usage): Likewise.
+ * src/readlink.c (usage): Likewise.
+ * src/seq.c (usage): Likewise.
+ * src/shred.c (usage): Likewise.
+
+2006-11-26 Mike Frysinger <vapier@gentoo.org>
+
+ Recognize new archive, audio and image formats.
+ Give audio files a separate color.
+ * src/dircolors.hin: Add comments for common .sh and .csh scripts.
+ Add .bz2, .tbz2, .tz, .rar, .ace, .zoo, .cpio, .7z, .rz as archive
+ suffixes. Add .mng, .pcx, .m2v, .mkv, .ogm, .mp4, .m4v, .mp4v, .vob,
+ .qt, .nuv, .wmv, .asf, .rm, .rmvb, .flc, .yuv as image formats.
+ Add .aac, .au, .mid, .midi, .mka, .ra as audio suffixes. Change
+ audio color to 00;36 to differentiate from image/video color.
+
+2006-11-26 Jim Meyering <jim@meyering.net>
+
+ * Makefile.maint (patch-check): Compile patched sources with
+ CFLAGS='-Wdeclaration-after-statement -Werror', to ensure that
+ no violations remain.
+
+ * src/c99-to-c89.diff: Remove 3 bogus hunks.
+
+ * src/remove.c (fd_to_subdirp): Remove unused parameter, ds.
+ Update callers.
+
+ * src/c99-to-c89.diff: Adjust for changes in rm.c and in remove.c.
+
+ * src/rm.c (main): Remove unnecessary (assuming C99) braces.
+
+2006-11-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port parts of the code to C89 to minimize the need for c99-to-c89.diff,
+ while trying to retain the readability of C99 as much as possible.
+ * src/remove.c (rm_1): Remove decl of local, fd_cwd.
+ Replace each of two uses with literal AT_FDCWD.
+ (cache_stat_init): Return its argument, for convenience.
+ Update the caller in remove_dir.
+ (AD_pop_and_chdir): Return prev_dir rather than storing through
+ a pointer argument. All uses changed.
+ (AD_ensure_initialized): New function.
+ (AD_mark_helper): Use it, to avoid the need for declaration
+ after statement.
+ (rm): Move cycle_check_init call into callee...
+ (rm_1): ...here.
+ Use an else clause in place of a "continue" statement.
+ (close_preserve_errno): Remove.
+ (fd_to_subdirp): Rewrite to avoid the need for decl after statement.
+
+2006-11-25 Jim Meyering <jim@meyering.net>
+
+ * Makefile.am (EXTRA_DIST): Remove announce-gen from here, too.
+
+2006-11-24 Theodoros V. Kalamatianos <thkala@softlab.ece.ntua.gr> (tiny change)
+
+ * tests/du/inacc-dest: Skip this test when running as root.
+
+2006-11-23 Jim Meyering <jim@meyering.net>
+
+ * announce-gen: Remove file. It's moving to gnulib.
+ * bootstrap: Pull it from gnulib/build-aux instead.
+ * Makefile.maint (announcement): Reflect move to ./build-aux.
+
+ * tests/du/deref-args: Use "printf %65536s x" to create a 64KB file,
+ rather than a pipeline that would sometimes evoke a diagnostic
+ like "seq: write error: Broken pipe".
+
+ * tests/help-version: Suppress dd transfer rate output.
+
+ * configure.ac (AC_INIT): Bump to 6.7-pre, not 6.6-pre.
+
+2006-11-22 Jim Meyering <jim@meyering.net>
+
+ * announce-gen (print_news_deltas): Fix silly, but harmless typo:
+ change "(:?..." to "(?:..." in regexps.
+
+ Post-release version change.
+ * NEWS: Add a line for 6.7-pre.
+ * configure.ac (AC_INIT): Bump to 6.7 and add "-pre" suffix.
+
+ Version 6.6.
+ * NEWS: Record release date. Remove "-pre" suffix.
+ * configure.ac (AC_INIT): Remove "-pre" suffix from version string.
+
+ * announce-gen: Remove unused --release-archive-directory option.
+ (print_news_deltas): Accept new adjective, "Noteworthy", in addition
+ to the old "Major".
+ Match version numbers in NEWS using tighter regular expressions.
+ (main): Require the --gpg-key-id=ID option.
+ * Makefile.maint (announcement): Don't use now-removed
+ --release-archive-directory=... option.
+
+ * NEWS: Mention the three noteworthy changes, all fixed via gnulib.
+
+2006-11-21 Jim Meyering <jim@meyering.net>
+
+ * tests/rm/one-file-system: Upon setup failure (e.g., mount failure),
+ skip the test rather than failing. Reported by Michael Deutschmann.
+
+ * tests/rm/fail-eperm: Use the "(exit N); exit N" idiom,
+ rather than just "exit N".
+
+ Arrange for "make check-root" to run the new root-only test.
+ * tests/Makefile.am (t7): New target, to run tests/ls/nameless-uid.
+ (all_t): Add t7.
+
+2006-11-20 Jim Meyering <jim@meyering.net>
+
+ Add a root-only test for today's lib/idcache.c fix.
+ * tests/ls/nameless-uid: New file.
+ * tests/ls/Makefile.am (TESTS): Add nameless-uid.
+ (TESTS_ENVIRONMENT): Add PERL to the list.
+
+2006-11-19 Jim Meyering <jim@meyering.net>
+
+ * tests/tail-2/assert-2: Mark as a very-expensive test, because I
+ find the 7-second sleep annoyingly long. Besides, this test is
+ probably far too specific and timing sensitive ever to trigger again.
+ * tests/tail-2/assert: Likewise.
+
+ Post-release version change.
+ * NEWS: Add a line for 6.6-pre.
+ * configure.ac (AC_INIT): Bump to 6.6 and add "-pre" suffix.
+
+ Version 6.5.
+ * NEWS: Record release date. Remove "-cvs" suffix.
+ * configure.ac (AC_INIT): Remove "-cvs" suffix from version string.
+
+2006-11-18 Jim Meyering <jim@meyering.net>
+
+ "ln --backup f f" produces a misleading diagnostic:
+ ln: creating hard link `f' => `f': No such file or directory
+ * src/ln.c (do_link): Give a better diagnostic in this unusual case.
+ (do_link): Rename local: s/lstat_ok/dest_lstat_ok/.
+ * tests/ln/Makefile.am (TESTS): Add hard-backup.
+ * tests/ln/hard-backup: New test for the above.
+ * NEWS: Mention this fix.
+
+2006-11-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ * bootstrap.conf (gnulib_modules): Add sys_stat, since we use it
+ directly too.
+ * lib/.cvsignore, lib/.gitignore: Add root-dev-ino.c, root-dev-ino.h.
+ * m4/.cvsignore, m4/.gitignore: Add root-dev-ino.m4.
+ * src/ls.c (DIRED_FPUTS_LITERAL, PUSH_CURRENT_DIRED_POS):
+ Omit unnecessary parenthesization of args.
+ * src/od.c (EQUAL_BLOCKS): Likewise.
+ * src/system.h (STREQ, ASSIGN_STRDUPA): Likewise.
+
+2006-11-16 Jim Meyering <jim@meyering.net>
+
+ * tests/tail-2/append-only: If chattr +a fails, exit 77 (to tell
+ automake we're skipping this test), and give a diagnostic to tell
+ the user the same thing. Reported by Mike Grayson.
+
+2006-11-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * man/Makefile.am (dist_man_MANS): Replace all optional manpages
+ with `$(MAN)', computed at configure time; also, list them ...
+ (optional_mans): ... in this new variable.
+ (max_aux, EXTRA_DIST): Ensure that we distribute all manpages.
+
+2006-11-16 Jim Meyering <jim@meyering.net>
+
+ Help valgrind see that there is no leak in dd.c.
+ * src/dd.c (dd_copy): Declare real_buf and real_obuf to be static,
+ so we need not free them at all. This is easier than freeing
+ both buffers at each of the early "return"s.
+
+ * src/csplit.c (load_buffer): Plug an inconsequential leak.
+
+2006-11-15 Jim Meyering <jim@meyering.net>
+
+ * .x-po-check: Exclude gl/ files. Otherwise, po-check would
+ complain that some of gl/lib/*.[ch] are not listed in POTFILES.in.
+
+2006-11-14 Jim Meyering <jim@meyering.net>
+
+ * gl/m4/root-dev-ino.m4: Now that this is part of a real "module",
+ remove the now-unnecessary use of AC_LIBSOURCES.
+
+ Adapt to new version of gnulib-tool.
+ * gl/modules/root-dev-ino: New file.
+ * lib/root-dev-ino.c, lib/root-dev-ino.h: Move these files ...
+ * gl/lib/root-dev-ino.c, gl/lib/root-dev-ino.h: ... to here.
+ * m4/root-dev-ino.m4: Move this file ...
+ * gl/m4/root-dev-ino.m4: ... to here.
+
+ * bootstrap.conf (gnulib_modules): Add root-dev-ino.
+
+2006-11-13 Jim Meyering <jim@meyering.net>
+
+ * src/sort.c (insertkey): Use xmemdup, rather than xmalloc+assignment.
+ From Paul Eggert.
+
+ Plug another technically-unimportant leak in sort.
+ * src/sort.c (main): Don't allocate memory for each new key here.
+ (insertkey): Allocate memory for each key here, instead.
+ (key_init): Rename from new_key. Don't allocate.
+
+ * src/sort.c (main): Plug a tiny memory leak.
+ Move declaration of local "minus" down to be nearer point of use.
+
+2006-11-12 Jim Meyering <jim@meyering.net>
+
+ du would exit early, when encountering an inaccessible directory
+ Reported by Mike Frysinger, in
+ http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/8831
+ * tests/du/inacc-dest: New test, based on an example from Mike Frysinger.
+ * tests/chgrp/no-x: Remove the "fts_read failed: ..."
+ diagnostic from the expected output when using native fdopendir.
+ * tests/chmod/no-x: Likewise.
+ * tests/du/no-x: Likewise.
+ * NEWS: Mention this bug fix.
+ * tests/du/Makefile.am (TESTS): Add inacc-dest.
+
+ * Makefile.maint (sc_cast_of_x_alloc_return_value): Add an exclusion
+ for xalloc.h itself.
+
+ Avoid false-positive when testing via valgrind.
+ * tests/mv/atomic: Grep strace output for a more specific pattern
+ than just "unlink", since that got a false positive when testing
+ under valgrind: unlink("/tmp/valgrind_proc_9657_cmdline_A51E9991") = 0
+ * tests/mv/Makefile.am (TESTS_ENVIRONMENT): Define EGREP.
+
+2006-10-28 Jim Meyering <jim@meyering.net>
+
+ * Makefile.maint (patch-check): Make it easier to regenerate
+ the src/c99-to-c89.diff file. E.g., I do this:
+ make patch-check REGEN_PATCH=1; ediff src/c99-to-c89.diff new-diff
+
+ * src/c99-to-c89.diff: Update to reflect new offsets in rm.c.
+
+2006-10-26 Jim Meyering <jim@meyering.net>
+
+ * src/system.h (ftello): Add a compile-time check for the highly
+ unlikely condition of off_t narrower than long int, rather than
+ handling it at run time. Based on a patch from Paul Eggert.
+
+2006-10-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ * tests/chmod/c-option: When double-quoting part of a word, prefer
+ to double-quote the whole word. This is a bit easier to read (at
+ least for me), and in some cases it avoids a shell bug with Tru64
+ 4.0 sh reported by Nelson H. F. Beebe. For example, instead of
+ "$abs_srcdir"/../setgid-check we now write
+ "$abs_srcdir/../setgid-check".
+ * tests/cp/cp-parents: Likewise.
+ * tests/du/inaccessible-cwd: Likewise.
+ * tests/du/long-from-unreadable: Likewise.
+ * tests/install/basic-1: Likewise.
+ * tests/install/trap: Likewise.
+ * tests/misc/close-stdout: Likewise.
+ * tests/mkdir/concurrent-1: Likewise.
+ * tests/mkdir/p-1: Likewise.
+ * tests/mkdir/p-3: Likewise.
+ * tests/mkdir/parents: Likewise.
+ * tests/mkdir/perm: Likewise.
+ * tests/readlink/can-e: Likewise.
+ * tests/readlink/can-f: Likewise.
+ * tests/readlink/can-m: Likewise.
+ * tests/rm/inaccessible: Likewise.
+ * tests/rm/unread3: Likewise.
+ * tests/touch/no-create-missing: Likewise.
+
+ * lib/.cvsignore: Add uinttostr.c.
+
+2006-10-25 Jim Meyering <jim@meyering.net>
+
+ Portability to Tru64 V4.0.
+ * src/system.h (ftello) [!HAVE_FSEEKO && !defined ftello]:
+ Define inline replacement function.
+ This (along with a yesterday's fix for autoconf's
+ _AC_SYS_LARGEFILE_MACRO_VALUE macro) makes it so coreutils
+ now builds once more on Tru64 V4.0. Reported by Nelson Beebe.
+
+2006-10-25 Bruno Haible <bruno@clisp.org>
+
+ * src/cat.c (infile): Add "const" to declaration.
+ * src/csplit.c (prefix): Likewise.
+ * src/printf.c (cfcc_msg): Likewise.
+ * src/tail.c (valid_file_spec): Likewise.
+ * src/cut.c (cut_file): Likewise, for a parameter.
+ * src/expr.c (str_value): Likewise.
+ * src/fold.c (fold_file): Likewise.
+ * src/pr.c (init_header): Likewise.
+ * src/dircolors.c (dc_parse_stream): Likewise, for a local.
+ * src/tr.c (make_printable_str): Likewise.
+ * src/nl.c (body_type, header_type, footer_type, current_type):
+ (separator_str, build_type_arg, nl_file): Likewise, for many.
+ * src/paste.c (main): Don't assign a read-only string to 'optarg'.
+ * src/tac.c (separator, tac_seekable, copy_to_temp): Likewise.
+
+2006-10-25 Jim Meyering <jim@meyering.net>
+
+ * tests/sample-test: Update copyright year list to include only
+ the current year, since this is what I'll want in any new test.
+
+2006-10-24 Jim Meyering <jim@meyering.net>
+
+ * src/c99-to-c89.diff: Update to reflect new offsets.
+
+ * NEWS: new feature: rm accepts new option: --one-file-system
+ Suggested by Steve McIntyre in <http://bugs.debian.org/392925>.
+ * src/remove.h (struct rm_options) [one_file_system]: New member.
+ * src/rm.c (rm_option_init): Initialize it.
+ (usage): Document the option.
+ * src/mv.c (rm_option_init): Likewise.
+ * src/remove.c (remove_dir): With --one-file-system and --recursive,
+ for each directory command line argument, do not affect a file system
+ different from that of the starting directory. And give a diagnostic.
+ * src/rm.c (ONE_FILE_SYSTEM): New enum.
+ (main): Handle new option.
+ * tests/rm/one-file-system: Test the above.
+ * tests/rm/Makefile.am (TESTS): Add one-file-system.
+ * tests/Makefile.am (check-root): Add the rm/one-file-system
+ test to the list.
+ (EXTRA_DIST): Add other-fs-tmpdir.
+
+ * tests/mv/setup: Removed. Renamed to...
+ * tests/other-fs-tmpdir: ...this new file.
+ * tests/mv/Makefile.am (EXTRA_DIST): Remove setup.
+ * tests/mv/acl: Reflect renaming: use ../other-fs-tmpdir.
+ * tests/mv/backup-is-src: Likewise.
+ * tests/mv/hard-link-1: Likewise.
+ * tests/mv/leak-fd: Likewise.
+ * tests/mv/mv-special-1: Likewise.
+ * tests/mv/part-fail: Likewise.
+ * tests/mv/part-hardlink: Likewise.
+ * tests/mv/part-rename: Likewise.
+ * tests/mv/part-symlink: Likewise.
+ * tests/mv/partition-perm: Likewise.
+ * tests/mv/to-symlink: Likewise.
+ * tests/mv/into-self-2: Likewise.
+
+ Don't let a failure in one test stop "make -k" from running the others.
+ * tests/Makefile.am (t1 t2 t3 t4 t5): New targets.
+ (check-root): Depend on them, rather than executing the five
+ commands in a single rule. Reported by Greg Schafer.
+
+2006-10-23 Bob Proulx <bob@proulx.com> (tiny change)
+
+ * Makefile.maint (alpha beta major): Use a better log message for
+ the automatic commit of .prev-version.
+
+2006-10-23 Jim Meyering <jim@meyering.net>
+
+ * tests/misc/pwd-long: Undo last change, since it made Perl invoke
+ pwd via a shell. Instead, ensure that the absolute name of the
+ pwd binary consists solely of reasonable characters.
+ Whoops. Don't exec the perl script. Otherwise, the sh-trap-based
+ clean-up code isn't run.
+
+ * NEWS: Add a line for 6.5-cvs.
+ * configure.ac (AC_INIT): Bump to 6.5 and add "-cvs" suffix.
+
+2006-10-22 Jim Meyering <jim@meyering.net>
+
+ Version 6.4.
+
+ * NEWS: Record the 6.4 release date.
+ * configure.ac (AC_INIT): Remove "-cvs" suffix from version string.
+
+ * Makefile.maint: Complete the adaptation to function with a working
+ directory that is using git (rather than cvs) for version control.
+
+2006-10-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * tests/chmod/c-option: Double-quote instances of `$abs_srcdir'.
+ * tests/cp/cp-parents: Likewise.
+ * tests/mkdir/parents: Likewise.
+ * tests/mkdir/perm: Likewise.
+
+ * tests/sample-test: Quote variables containing absolute build
+ tree paths. In the cleanup trap, make sure `cd' succeeds before
+ `chmod'ing and `rm'ing the temporary files.
+ * tests/chgrp/basic: Likewise.
+ * tests/chgrp/deref: Likewise.
+ * tests/chgrp/no-x: Likewise.
+ * tests/chgrp/posix-H: Likewise.
+ * tests/chgrp/recurse: Likewise.
+ * tests/chmod/c-option: Likewise.
+ * tests/chmod/equal-x: Likewise.
+ * tests/chmod/equals: Likewise.
+ * tests/chmod/inaccessible: Likewise.
+ * tests/chmod/no-x: Likewise.
+ * tests/chmod/octal: Likewise.
+ * tests/chmod/setgid: Likewise.
+ * tests/chmod/umask-x: Likewise.
+ * tests/chmod/usage: Likewise.
+ * tests/chown/basic: Likewise.
+ * tests/chown/deref: Likewise.
+ * tests/chown/separator: Likewise.
+ * tests/cp/acl: Likewise.
+ * tests/cp/backup-1: Likewise.
+ * tests/cp/backup-dir: Likewise.
+ * tests/cp/backup-is-src: Likewise.
+ * tests/cp/cp-HL: Likewise.
+ * tests/cp/cp-deref: Likewise.
+ * tests/cp/cp-i: Likewise.
+ * tests/cp/cp-mv-backup: Likewise.
+ * tests/cp/cp-parents: Likewise.
+ * tests/cp/deref-slink: Likewise.
+ * tests/cp/dir-rm-dest: Likewise.
+ * tests/cp/dir-slash: Likewise.
+ * tests/cp/dir-vs-file: Likewise.
+ * tests/cp/fail-perm: Likewise.
+ * tests/cp/into-self: Likewise.
+ * tests/cp/link: Likewise.
+ * tests/cp/link-no-deref: Likewise.
+ * tests/cp/link-preserve: Likewise.
+ * tests/cp/no-deref-link1: Likewise.
+ * tests/cp/no-deref-link2: Likewise.
+ * tests/cp/no-deref-link3: Likewise.
+ * tests/cp/perm: Likewise.
+ * tests/cp/preserve-2: Likewise.
+ * tests/cp/r-vs-symlink: Likewise.
+ * tests/cp/same-file: Likewise.
+ * tests/cp/slink-2-slink: Likewise.
+ * tests/cp/sparse: Likewise.
+ * tests/cp/special-bits: Likewise.
+ * tests/cp/src-base-dot: Likewise.
+ * tests/cp/symlink-slash: Likewise.
+ * tests/dd/not-rewound: Likewise.
+ * tests/dd/skip-seek2: Likewise.
+ * tests/dd/unblock-sync: Likewise.
+ * tests/du/2g: Likewise.
+ * tests/du/8gb: Likewise.
+ * tests/du/basic: Likewise.
+ * tests/du/deref: Likewise.
+ * tests/du/deref-args: Likewise.
+ * tests/du/exclude: Likewise.
+ * tests/du/fd-leak: Likewise.
+ * tests/du/hard-link: Likewise.
+ * tests/du/inaccessible-cwd: Likewise.
+ * tests/du/long-from-unreadable: Likewise.
+ * tests/du/long-sloop: Likewise.
+ * tests/du/no-deref: Likewise.
+ * tests/du/no-x: Likewise.
+ * tests/du/restore-wd: Likewise.
+ * tests/du/slash: Likewise.
+ * tests/du/slink: Likewise.
+ * tests/du/trailing-slash: Likewise.
+ * tests/du/two-args: Likewise.
+ * tests/fmt/long-line: Likewise.
+ * tests/install/basic-1: Likewise.
+ * tests/install/create-leading: Likewise.
+ * tests/install/d-slashdot: Likewise.
+ * tests/install/trap: Likewise.
+ * tests/ln/misc: Likewise.
+ * tests/ln/target-1: Likewise.
+ * tests/ls/color-dtype-dir: Likewise.
+ * tests/ls/dangle: Likewise.
+ * tests/ls/dired: Likewise.
+ * tests/ls/file-type: Likewise.
+ * tests/ls/follow-slink: Likewise.
+ * tests/ls/infloop: Likewise.
+ * tests/ls/inode: Likewise.
+ * tests/ls/m-option: Likewise.
+ * tests/ls/no-arg: Likewise.
+ * tests/ls/recursive: Likewise.
+ * tests/ls/rt-1: Likewise.
+ * tests/ls/stat-dtype: Likewise.
+ * tests/ls/stat-failed: Likewise.
+ * tests/ls/stat-vs-dirent: Likewise.
+ * tests/misc/cat-proc: Likewise.
+ * tests/misc/close-stdout: Likewise.
+ * tests/misc/csplit: Likewise.
+ * tests/misc/date-sec: Likewise.
+ * tests/misc/false-status: Likewise.
+ * tests/misc/head-c: Likewise.
+ * tests/misc/head-pos: Likewise.
+ * tests/misc/mknod: Likewise.
+ * tests/misc/nl: Likewise.
+ * tests/misc/nohup: Likewise.
+ * tests/misc/pathchk1: Likewise.
+ * tests/misc/printf: Likewise.
+ * tests/misc/printf-hex: Likewise.
+ * tests/misc/pwd-long: Likewise.
+ * tests/misc/shuf: Likewise.
+ * tests/misc/sort-rand: Likewise.
+ * tests/misc/split-a: Likewise.
+ * tests/misc/split-fail: Likewise.
+ * tests/misc/split-l: Likewise.
+ * tests/misc/stat-fmt: Likewise.
+ * tests/misc/tac-continue: Likewise.
+ * tests/misc/wc-files0: Likewise.
+ * tests/mkdir/concurrent-1: Likewise.
+ * tests/mkdir/p-1: Likewise.
+ * tests/mkdir/p-2: Likewise.
+ * tests/mkdir/p-3: Likewise.
+ * tests/mkdir/p-slashdot: Likewise.
+ * tests/mkdir/p-thru-slink: Likewise.
+ * tests/mkdir/p-v: Likewise.
+ * tests/mkdir/parents: Likewise.
+ * tests/mkdir/perm: Likewise.
+ * tests/mkdir/t-slash: Likewise.
+ * tests/mv/acl: Likewise.
+ * tests/mv/atomic: Likewise.
+ * tests/mv/backup-dir: Likewise.
+ * tests/mv/childproof: Likewise.
+ * tests/mv/diag: Likewise.
+ * tests/mv/dir-file: Likewise.
+ * tests/mv/dir2dir: Likewise.
+ * tests/mv/dup-source: Likewise.
+ * tests/mv/hard-2: Likewise.
+ * tests/mv/hard-3: Likewise.
+ * tests/mv/hard-4: Likewise.
+ * tests/mv/hard-link-1: Likewise.
+ * tests/mv/hard-verbose: Likewise.
+ * tests/mv/i-2: Likewise.
+ * tests/mv/i-3: Likewise.
+ * tests/mv/i-4: Likewise.
+ * tests/mv/i-5: Likewise.
+ * tests/mv/i-link-no: Likewise.
+ * tests/mv/into-self-4: Likewise.
+ * tests/mv/leak-fd: Likewise.
+ * tests/mv/mv-special-1: Likewise.
+ * tests/mv/no-target-dir: Likewise.
+ * tests/mv/part-fail: Likewise.
+ * tests/mv/part-hardlink: Likewise.
+ * tests/mv/part-rename: Likewise.
+ * tests/mv/part-symlink: Likewise.
+ * tests/mv/partition-perm: Likewise.
+ * tests/mv/perm-1: Likewise.
+ * tests/mv/reply-no: Likewise.
+ * tests/mv/trailing-slash: Likewise.
+ * tests/mv/update: Likewise.
+ * tests/od/od-N: Likewise.
+ * tests/od/x8: Likewise.
+ * tests/readlink/can-e: Likewise.
+ * tests/readlink/can-f: Likewise.
+ * tests/readlink/can-m: Likewise.
+ * tests/readlink/rl-1: Likewise.
+ * tests/rm/cycle: Likewise.
+ * tests/rm/dangling-symlink: Likewise.
+ * tests/rm/deep-1: Likewise.
+ * tests/rm/dir-no-w: Likewise.
+ * tests/rm/dir-nonrecur: Likewise.
+ * tests/rm/dot-rel: Likewise.
+ * tests/rm/empty-inacc: Likewise.
+ * tests/rm/f-1: Likewise.
+ * tests/rm/fail-2eperm: Likewise.
+ * tests/rm/hash: Likewise.
+ * tests/rm/i-1: Likewise.
+ * tests/rm/i-no-r: Likewise.
+ * tests/rm/ignorable: Likewise.
+ * tests/rm/inaccessible: Likewise.
+ * tests/rm/interactive-always: Likewise.
+ * tests/rm/interactive-once: Likewise.
+ * tests/rm/ir-1: Likewise.
+ * tests/rm/isatty: Likewise.
+ * tests/rm/no-give-up: Likewise.
+ * tests/rm/r-1: Likewise.
+ * tests/rm/r-2: Likewise.
+ * tests/rm/r-3: Likewise.
+ * tests/rm/r-4: Likewise.
+ * tests/rm/readdir-bug: Likewise.
+ * tests/rm/rm1: Likewise.
+ * tests/rm/rm2: Likewise.
+ * tests/rm/rm3: Likewise.
+ * tests/rm/rm4: Likewise.
+ * tests/rm/rm5: Likewise.
+ * tests/rm/sunos-1: Likewise.
+ * tests/rm/unread2: Likewise.
+ * tests/rm/unread3: Likewise.
+ * tests/rmdir/fail-perm: Likewise.
+ * tests/rmdir/t-slash: Likewise.
+ * tests/shred/exact: Likewise.
+ * tests/shred/remove: Likewise.
+ * tests/sum/sysv: Likewise.
+ * tests/tail-2/append-only: Likewise.
+ * tests/tail-2/assert: Likewise.
+ * tests/tail-2/assert-2: Likewise.
+ * tests/tail-2/big-4gb: Likewise.
+ * tests/tail-2/fflush: Likewise.
+ * tests/tail-2/infloop-1: Likewise.
+ * tests/tail-2/proc-ksyms: Likewise.
+ * tests/tail-2/start-middle: Likewise.
+ * tests/tail-2/tail-n0f: Likewise.
+ * tests/tee/basic: Likewise.
+ * tests/tee/dash: Likewise.
+ * tests/touch/fail-diag: Likewise.
+ * tests/touch/no-create-missing: Likewise.
+ * tests/touch/not-owner: Likewise.
+ * tests/touch/obsolescent: Likewise.
+ * tests/touch/read-only: Likewise.
+ * tests/touch/relative: Likewise.
+
+2006-10-21 Jim Meyering <jim@meyering.net>
+
+ * NEWS: (cp --backup fix): Fix a typo.
+
+ * .gitignore: Remove some references to files in subdirectories.
+ * build-aux/.gitignore, doc/.gitignore, lib/.gitignore: New files.
+ * m4/.gitignore, po/.gitignore, src/.gitignore: Likewise.
+
+ * src/copy.c (copy_internal): Add a comment saying why we prefer
+ mknod over mkfifo.
+
+ Enable an fts optimization (call lstat only for directories,
+ on some file system types) also with the --preserve-root option
+ of chown or chgrp.
+ * src/chown-core.c (change_file_owner): Compare fts_statp-based
+ dev/ino against root dev/ino only for directories.
+ (chown_files): Don't let the root_dev_ino setting influence whether
+ we use FTS_NOSTAT: fts always sets *fts_statp for a directory.
+
+2006-10-20 Jim Meyering <jim@meyering.net>
+
+ * src/od.c (usage): Change description of default to use "-w16",
+ not the now-invalid "-w 16" syntax. From Dan Jacobson.
+
+2006-10-19 Jim Meyering <jim@meyering.net>
+
+ * bootstrap: Add names to each .gitignore file (if it exists)
+ as well as to .cvsignore.
+
+ * Makefile.maint (po-check): This rule didn't detect the new use
+ of "gettext" (as opposed to the use of "_" everywhere else) in
+ lib/xstrtol.h. Adjust the grep regexp so that now it does.
+
+2006-10-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/copy.c (copy_reg): Rewrite slightly to avoid duplicate code
+ when opening dst_name.
+ (copy_reg, copy_internal): Use (SYSCALL != 0) rather than plain
+ (SYSCALL) to test for failure in a system call.
+
+ * src/copy.c (copy_internal): Use mknod rather than mkfifo to copy
+ a fifo. This preserves the special mode bits on Solaris 10, which
+ is compatible with what Solaris 10 cp -R does.
+
+ * src/copy.c (copy_internal): Remove redundant and confusing local
+ variable src_type.
+
+ * src/copy.c (copy_internal): Don't pass mkdir a mode greater than
+ 7777. This matches historical 'cp' behavior and avoids some
+ (though not all) implementation-defined behavior of mkdir.
+ * src/cp.c (make_dir_parents_private): Likewise.
+ * src/copy.c (copy_internal): Don't pass 'open' a mode greater
+ than 777. This is required by POSIX. It doesn't make any difference
+ in actual behavior on any host that I know of.
+
+2006-10-17 Jim Meyering <jim@meyering.net>
+
+ * src/dd.c (usage): Use two spaces (not one) to separate the
+ "fdatasync" option string from its description, so help2man formats
+ the derived man page properly. Reported by Samuel Thibault
+ in <http://bugs.debian.org/393649>.
+
+2006-10-16 Jim Meyering <jim@meyering.net>
+
+ * .x-sc_trailing_blank: Remove names of files that are no longer
+ version-controlled.
+
+2006-10-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/groups.sh (version): Reword message to match the other programs.
+ Problem reported by Eric Blake.
+
+2006-10-14 Jim Meyering <jim@meyering.net>
+
+ * Makefile.maint (headers_with_interesting_macro_defs): Define.
+ (.re-defmac, sc_always_defined_macros): New rules.
+
+ * src/system.h (EXIT_FAILURE, EXIT_SUCCESS): Remove definitions.
+ Instead, include "exit.h". This hereby retires the work-around for
+ "Sony NEWS-OS Release 4.0C"'s bug due to "#define EXIT_FAILURE 0".
+
+ * src/cksum.c (uint_fast32_t): Don't define.
+ Instead, include <stdint.h>.
+
+ * src/pinky.c (S_IWGRP): Don't define.
+ It's already defined by "stat-macros.h" (included via system.h).
+
+ * Makefile.cfg: Remove cruft that's now handled via bootstrap.
+ * Makefile.maint: Likewise, remove these targets/rules/variables:
+ (local_updates, update, cvs-update, wget_files, get-targets): Remove.
+ (cvs_files, wget-update, automake_repo): Likewise.
+ Move the comment about cvsu to build-aux/vc-list-files,
+ where cvsu is actually used.
+
+ * Makefile.maint (cvs-update): Use $(CVS), not "cvs".
+
+ Work also when the working directory (with e.g. coreutils sources)
+ is version controlled with git, rather than CVS.
+ * bootstrap (CVS_only_file): Test for the existence of README-cvs,
+ rather than CVS.
+ In messages and comments, say e.g., "checked-out sources",
+ rather than "CVS sources".
+ (version_controlled_file): New function. Work for git as well as
+ for CVS. Don't use grep's -q option.
+ (slurp): Call it here, in place of CVS-specific code.
+
+ * NEWS: cp -r --backup dir1 dir2, would rename an existing dir1/dir2
+ to dir1/dir2~.
+ * src/copy.c (copy_internal): Although we do create a backup of each
+ destination directory when in move mode, don't do that when copying.
+ Reported by Peter Breitenlohner, in
+ <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/8616>.
+ * tests/cp/backup-dir: New file. Test for the above.
+ * tests/cp/Makefile.am (TESTS): Add backup-dir.
+
+2006-10-13 Jim Meyering <jim@meyering.net>
+
+ More chown/chgrp dereferencing-related fixes.
+ * src/chown-core.c (change_file_owner): Don't use fts_statp if
+ we're dereferencing symlinks.
+ Reverse conjuncts, so that we use dereference file_stats
+ (aka ent->fts_statp) only *after* we've confirmed that
+ chopt->affect_symlink_referent is true. Otherwise, we might
+ use ent->fts_statp uninitialized.
+ Don't turn on FTS_NOSTAT when dereferencing symlinks.
+ * tests/chown/deref: Update the expected diagnostic, now that
+ this test case (trying to use "chown --dereference ..." on a
+ dangling symlink) takes a different code path.
+
+2006-10-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ Sync from Bison, as follows:
+
+ 2006-10-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix problems with translating English-language diagnostics.
+ * bootstrap: Fix bug introduced in recent bootstrap changes, with
+ respect to bison-runtime pot generation. The YY_ stuff
+ wasn't being captured.
+
+2006-10-13 Jim Meyering <jim@meyering.net>
+
+ * src/chown-core.c (change_file_owner): Use fstatat, not stat,
+ now that we're using fts_open with FTS_CWDFD.
+ * tests/chgrp/posix-H: Add --preserve-root to an invocation of
+ chgrp, to exercise the above fix.
+ * NEWS: Mention the above.
+
+ * src/du-tests: Clean up a little, though it's still not portable.
+
+ * .vg-suppressions: Add 3 more for debian unstable.
+
+ * tests/ls/Test.pm: Remove long-unused file.
+ * Makefile.am (EXTRA_DIST): Add bootstrap.conf.
+ Suggestions from Bruno Haible.
+
+2006-10-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * Makefile.am (THANKS-to-translators): Add missing $(srcdir).
+ (MAINTAINERCLEANFILES): Add .kludge-stamp.
+ * man/Makefile.am (MAINTAINERCLEANFILES): Typo $(dist_man_MANS)
+ instead of $(man_MANS).
+
+2006-10-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * configure.ac: Avoid compiler warnings about default return
+ type in function definitions and unused variables in tests.
+ * src/who.c (print_user) [HAVE_UT_HOST]: hostlen is only needed
+ if this is #defined.
+
+2006-10-12 Jim Meyering <jim@meyering.net>
+
+ * configure.ac: Reflect s/gl_MACROS/coreutils_MACROS/ renaming.
+ Call gl_INIT directly, rather than through the above.
+
+2006-10-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ * bootstrap (symlink_to_gnulib): Fix bug: the dot_dots shell
+ variable was sometimes used without being initialized. This
+ messed up the installation of the INSTALL file in some cases.
+
+2006-10-11 Jim Meyering <jim@meyering.net>
+
+ * src/ls.c (usage): Correct description of -s, --size.
+ It works even without -l. Suggestion from Karl Berry.
+
+2006-10-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/ls.c (quote_name): Use initializer rather than memset to
+ initialize an object to zero. This is easier to read and is less
+ likely to introduce a runtime error due to a mixup. It causes
+ gcc -W to issue a warning, but you can work around this by
+ appending -Wno-missing-field-initializers.
+ * src/pathchk.c (portable_chars_only): Likewise.
+ * src/shred.c (main): Likewise.
+ * src/stty.c (main): Likewise.
+ * src/tr.c (card_of_complement): Likewise.
+ * src/wc.c (wc): Likewise.
+
+2006-10-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/sort.c (usage): Mention again that sort fields are origin 1.
+
+ * NEWS: Fix typo: iso-8602 -> iso-8601. Problem reported by
+ Bob Proulx.
+
+ * bootstrap (usage, main program, symlink_to_gnulib): Add option
+ --copy. Inspired by a suggestion from Bruno Haible.
+
+2006-10-09 Jim Meyering <jim@meyering.net>
+
+ Avoid a compiler warning.
+ * src/pathchk.c (portable_chars_only): Initialize variable of type
+ mbstate_t via memset, rather than via '{0}'. Patch from Bruno Haible.
+
+2006-10-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix bug reported today by Mike Frysinger: mkdir -pv is logging the
+ wrong file name in some cases. Lars Wendler reported a bug in
+ my original fix.
+ * src/install.c (make_ancestor): New arg COMPONENT.
+ * src/mkdir.c (make_ancestor): Likewise.
+ * tests/install/basic-1: Check for install -Dv bug.
+ * tests/mkdir/Makefile.am (TESTS): Add p-v.
+ * tests/mkdir/p-v: New file, to test this bug.
+
+2006-10-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/chgrp.c: Don't include lchown.h; no longer needed.
+ * src/chown.c: Likewise.
+
+ * tests/ls/stat-dtype: Use a dynamic test to decide whether the
+ current file system has useful d_type info.
+
+ * src/dd.c (flags): noatime and nofollow now depend on
+ HAVE_WORKING_O_NOATIME and HAVE_WORKING_O_NOFOLLOW, too.
+ (usage): Output info about noatime and nofollow only if
+ they are known to work.
+ * src/remove.c (AD_push): Inspect HAVE_WORKING_O_NOFOLLOW rather
+ than O_NOFOLLOW, when testing whether it's possible to avoid a
+ race condition reliably.
+
+2006-10-05 Jim Meyering <jim@meyering.net>
+
+ * src/c99-to-c89.diff: Update to reflect new offsets.
+
+ * tests/install/basic-1: Skip the latter part of this test if the
+ just-built dd binary is not readable. Otherwise, this test would fail
+ when binaries were created as root. Reported by Bauke Jan Douma in
+ <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/8433>.
+
+2006-10-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/system.h (ST_BLKSIZE): Ceiling at SIZE_MAX / 8 + 1, not at 4
+ MiB, since XFS hosts can legitimately have large values of
+ st_blksize. Problem reported by Tony Ernst in
+ <http://savannah.gnu.org/bugs/?17903>.
+
+2006-10-04 Jim Meyering <jim@meyering.net>
+
+ * src/remove.c (nonexistent_file_errno): Remove ENAMETOOLONG.
+ Paul Eggert pointed out that the specified file may exist,
+ in spite of such an errno value.
+ * tests/rm/Makefile.am (TESTS): Remove ignore-name-too-long.
+ * tests/rm/ignore-name-too-long: Remove file.
+ * NEWS: Update here, too.
+
+2006-10-03 Jim Meyering <jim@meyering.net>
+
+ * tests/rm/fail-eperm: Report failure also if rm is terminated by
+ a signal.
+
+ * src/c99-to-c89.diff: Convert two c99'isms -- one in remove.c
+ and one in shred.c -- that were added before coreutils-6.3.
+ Reported by Michael Deutschmann.
+
+ * src/c99-to-c89.diff: Update to reflect new offsets.
+
+ * src/remove.c (remove_entry): With -f, exit successfully in spite
+ of a missing file under some very unusual conditions (with errno
+ being any of ENOENT, ENOTDIR, ENAMETOOLONG).
+
+ With --force (-f), rm no longer fails for ENOTDIR.
+ * src/remove.c (ignorable_missing): New function.
+ Use it everywhere, rather than open-coding the test.
+ Andreas Schwab reported the ENOTDIR problem.
+ (ignorable_missing): Similarly, don't fail for ENAMETOOLONG.
+
+ * NEWS: Mention the bug fix.
+ * tests/rm/ignorable: New file. Test for the ENOTDIR case.
+ * tests/rm/ignore-name-too-long: New file. Test for ENAMETOOLONG.
+ * tests/rm/Makefile.am (TESTS): Add the new file names.
+
+ * bootstrap: Undo last change to this file, since now gnulib-tool
+ sticks with the automake default in generating dependencies.
+
+ * NEWS: Add a line for 6.4-cvs.
+ * configure.ac (AC_INIT): Bump to 6.4 and add "-cvs" suffix.
+
+2006-09-30 Jim Meyering <jim@meyering.net>
+
+ Version 6.3.
+ * NEWS: Record the 6.3 release date.
+ * configure.ac (AC_INIT): Remove "-cvs" suffix from version string.
+
+ * NEWS: Mention Paul's Solaris 8 vs. 10 work-around.
+
+ * src/c99-to-c89.diff: Update offsets.
+
+2006-09-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ * tests/rm/readdir-bug: Don't use $(...) in a shell script,
+ as it doesn't work with Solaris /bin/sh.
+
+2006-09-29 Jim Meyering <jim@meyering.net>
+
+ * NEWS: Mention Paul's fix (to gnulib's canon-host.c) for
+ the pinky segfault.
+
+ * tests/seq/basic [neg-2, eq-wid-2]: Comment out tests that
+ use .1 as the increment. Actual output varies too much.
+ [eq-wid-3]: New, commented out test.
+
+ * src/shuf.c (read_input): Fix an off-by-one error that
+ would cause an infloop for piped input of 8KB or more.
+ * NEWS: Mention the fix.
+ * tests/misc/shuf: Test for the above fix.
+
+ Since any system may be affected by the Darwin readdir bug,
+ perform the extra rewinddir unconditionally. The performance
+ impact of rewinding a directory is negligible.
+ * src/remove.c (NEED_REWIND): Define to use
+ CONSECUTIVE_READDIR_UNLINK_THRESHOLD unconditionally.
+
+ * tests/seq/basic: Use .11 as the upper bound, in case the ".1"
+ increment translates to a slightly larger value.
+ This corrects a test failure on FreeBSD 6.1 reported by Nelson Beebe.
+ The final expected value wasn't being printed.
+
+ Work around a readdir bug in Darwin 7.9.0 (MacOS X 10.3.9) on HFS+
+ and NFS, whereby rm would not remove all files in a directory.
+ * src/remove.c (CONSECUTIVE_READDIR_UNLINK_THRESHOLD): Reduce to 10.
+ (NEED_REWIND): New macro, so that we incur the cost of the work-around
+ rewinddir only on afflicted systems.
+ * NEWS: Clarify and correct.
+ * tests/rm/readdir-bug: New file. Test for the above fix.
+ * tests/rm/Makefile.am (TESTS): Add it.
+ Prompted by testing and analysis from Bruno Haible:
+ http://lists.gnu.org/archive/html/bug-coreutils/2006-09/msg00326.html
+
+2006-09-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ * tests/rm/fail-eperm: Unset BASH_ENV, CDPATH, and ENV, too;
+ suggested for Debian stable, which uses Perl 5.8.4.
+
+2006-09-28 Jim Meyering <jim@meyering.net>
+
+ Automatically generated dependencies are important even
+ when all of the sources in a directory come from gnulib.
+ * bootstrap (gnulib_tool): Remove the "no-dependencies" automake
+ option that gnulib-tool adds to what becomes our lib/gnulib.mk.
+
+ * tests/rm/fail-eperm: Enable Perl's (-T) taint checking.
+ Ensure that IFS is set properly and unset PATH.
+ Sanitize inputs.
+ Work properly even when the name of the selected file starts with "-".
+ Invoke rm via "../../src/rm", and adjust expected output.
+ Prompted by a patch from Tim Waugh.
+
+ * README-cvs: Add Bison to the list of required packages.
+
+2006-09-26 Jim Meyering <jim@meyering.net>
+
+ * src/c99-to-c89.diff: Update offsets.
+
+ * NEWS: rm works around a bug in Darwin 8.6.1 w/NFS that kept
+ it from removing a directory containing 188 or more entries.
+ * src/remove.c (CONSECUTIVE_READDIR_UNLINK_THRESHOLD): Decrease by
+ 20, go work around the buggy readdir on Darwin 8.6.1 with NFS.
+ Reported by Matthew Woehlke.
+
+2006-09-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: "groups user" no longer outputs "user :"; you need at least
+ two users. "groups" now processes options like --help more compatibly.
+ * src/groups.sh: Implement the option-processing change.
+ Handle user and group names with special characters more robustly.
+ Report write errors instead of exiting silently with status 1.
+
+2006-09-26 Jim Meyering <jim@meyering.net>
+
+ * README: Warn not to run autoreconf manually. Use bootstrap instead.
+
+ * src/groups.sh: When invoked with 0 or 1 argument, just exec "id".
+ Rewrite to avoid using temporary, $status.
+
+ * NEWS: Mention the bug fix.
+ * src/groups.sh: Don't hide a write failure.
+ Reported by Iain Calder <ic56@rogers.com>.
+
+2006-09-25 Jim Meyering <jim@meyering.net>
+
+ * src/chown.c (usage): Clarify --dereference description.
+ * src/chgrp.c (usage): Likewise. Suggestion from Jamie McClelland.
+
+2006-09-24 Jim Meyering <jim@meyering.net>
+
+ * NEWS: Mention these fixes.
+ * src/copy.c (copy_reg): With --verbose (-v), print
+ "removed `file_name'" just after unlinking a file.
+ (copy_internal): Likewise, in three more places.
+ Marc Lehman reported that "touch x; ln x y; mv -v x y" was silent.
+ * tests/mv/hard-verbose: New file. Test for the above fix.
+ * tests/mv/Makefile.am (TESTS): Add hard-verbose.
+
+ * tests/help-version (sync_args): Don't call sync, since it spins up
+ disks that I've deliberately caused to spin down (but not unmounted).
+
+ * NEWS: Mention the improvement to sort.
+
+ * tests/tail-2/proc-ksyms: Require that /proc/ksyms be readable
+ as well as existing.
+
+ * tests/ls/stat-dtype: Don't use tmpfs on linux-2.4 or older,
+ since that predated addition of d_type support.
+
+2006-09-23 Jim Meyering <jim@meyering.net>
+
+ * gl/modules/getloadavg.diff: New file. Work around the way the latest
+ version of the getloadavg module interacts with our bootstrap script.
+ * bootstrap (gnulib_tool_options): Add "--local-dir gl".
+ * Makefile.am (EXTRA_DIST): Sort file names.
+ Add bootstrap and gl/modules/getloadavg.diff
+
+2006-09-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ * bootstrap: Add support for --force.
+ (usage): New function. Describe usage less tersely.
+ (CVS_only_file): New var.
+
+ * NEWS: Document fix for cp -i and mv -i.
+ * src/copy.c (copy_internal): With -i, prompt even if the source
+ is a directory and the destination is not. This is required by
+ POSIX and gives the user a chance to bail out before failing.
+ * tests/cp/Makefile.am (TESTS): Add cp-i.
+ * tests/cp/cp-i: New file.
+ * tests/mv/Makefile.am (TESTS): Add i-5.
+ * tests/mv/i-5: New file.
+
+2006-09-20 Jim Meyering <jim@meyering.net>
+
+ * NEWS: Mention the chmod bug fix.
+
+ * tests/chmod/inaccessible: New test, specifically for this bug.
+ Based on a test case from Paul Eggert.
+ * tests/chmod/Makefile.am (TESTS): Add inaccessible.
+
+ Fix the 2006-09-18 bug differently.
+ * src/chmod.c: (process_file): Upon FTS_NS for a top-level file,
+ tell fts_read to stat the file again, in case it has become
+ accessible since the initial fts_open call.
+ * src/chown-core.c (change_file_owner): Likewise.
+
+ * src/chmod.c: Revert last change. There is a better way.
+ * src/chown-core.c: Likewise.
+
+2006-09-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/ln.c (target_directory_operand): Rewrite to avoid porting
+ problem on Tandem reported by Matthew Woehlke in
+ <https://savannah.gnu.org/bugs/?17172>.
+
+2006-09-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix bug where chmod, chown, and chgrp did not process operands
+ left-to-right in some cases.
+ * src/chmod.c (wd_errno): New var.
+ (chmod_file): New function, with most of the contents of the
+ old prcess_file function.
+ (process_files): Use it. This gives file names to fts one
+ at a time, so that they are processed left-to-right as POSIX
+ requires.
+ * src/chown-core.c (wd_errno, chown_files): Likewise.
+ (chown_file): New function.
+ * tests/install/basic-1: Redo test so as to not workaround
+ the chmod bug, thereby testing for it.
+
+ * src/shuf.c (main): Quote the entire range when reporting an
+ invalid one, rather than just the part that contained the error.
+
+ * tests/stty/row-col-1: Rewrite to avoid temporary file that is
+ sometimes left behind if the test is skipped or interrupted.
+
+ * bootstrap (symlink_to_gnulib): New function.
+ (cp_mark_as_generated): Use it, to prefer symlinks-to-gnulib
+ to copies-of-gnulib.
+ (cp_mark_as_generated, slurp, gnulib_files):
+ Avoid making a copy if it's the same as the old version.
+ (gnulib_files): Add support for this variable (used by Bison).
+
+ * tests/ls/stat-vs-dirent: Fix quoting problem in diagnostic
+ indicating flaw in kernel. Reword to say that the flaw isn't
+ serious for coreutils, since the flaw does affect ls -i.
+
+ * tests/chgrp/basic: Fix bug in test case exposed by building on
+ Solaris 8 in a setgid directory. The test case incorrectly
+ assumed that 'symlink' would be in group $g1.
+
+2006-09-18 Jim Meyering <jim@meyering.net>
+
+ * NEWS: Add a line for 6.3-cvs.
+ * configure.ac (AC_INIT): Bump to 6.3 and add "-cvs" suffix.
+
+ Version 6.2.
+ * NEWS: Record the 6.2 release date.
+ * configure.ac (AC_INIT): Remove "-cvs" suffix from version string.
+
+2006-09-17 Jim Meyering <jim@meyering.net>
+
+ * tests/chgrp/basic: On an OpenBSD system, rather than failing
+ due to a known problem, merely warn about it.
+ Rewrite to avoid testing output of chgrp --verbose and chgrp -c.
+ Instead, use stat to test file system for desired results, directly.
+ * tests/chgrp/Makefile.am (TESTS_ENVIRONMENT): Set host_triplet.
+
+ * tests/envvar-check: Add more variable names to the list of those
+ that can affect these programs and tests: _POSIX2_VERSION, COLUMNS,
+ QUOTING_STYLE, TABSIZE, TERM, TMPDIR.
+
+2006-09-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Document that mkdir -p and install -d now fork on occasion.
+ * bootstrap.conf (gnulib_modules): Add savewd.
+ * src/install.c: Include savewd.h.
+ (process_dir): New function.
+ (main, install_file_in_file_parents): Use it, along with the new
+ savewd module, to avoid some race conditions.
+ * src/mkdir.c: Include savewd.h.
+ (struct mkdir_options): New members make_ancestor_function, mode,
+ mode_bits.
+ (make_ancestor): Return 1 if the resulting directory is not readable.
+ (process_dir): New function.
+ (main): Use it, along with new savewd module, to avoid some
+ race conditions. Fill in new slots of struct mkdir_options, so
+ that callees get the values.
+ * tests/install/basic-1: Test for coreutils 5.97 bug that was
+ fixed in coreutils 6.0, and which should still be fixed with
+ this change.
+ * tests/mkdir/p-3: Likewise.
+
+2006-09-15 Jim Meyering <jim@meyering.net>
+
+ * bootstrap.conf (gnulib_modules): Add rename-dest-slash.
+ The 2006-09-08 changes made it so "mv dir new-name/" would
+ fail on NetBSD 1.6. This makes it work once again.
+
+2006-09-14 Jim Meyering <jim@meyering.net>
+
+ * src/mv.c (main): Remove unnecessary (always-true) test for 2 <= n.
+ Instead, since it's a little fragile, assert the condition.
+ (target_directory_operand): Update comment to reflect latest change.
+
+2006-09-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/who.c (print_user): Rewrite to avoid warning from
+ GCC 4.1.1 with -Wall.
+
+2006-09-12 Jim Meyering <jim@meyering.net>
+
+ * tests/mv/atomic: Check for specific strace output, rather than
+ simply nonempty. RHEL AS 4 would fail this test due to strace
+ generating "[ Process PID=14434 runs in 32 bit mode. ]".
+ Reported by Nelson Beebe.
+
+2006-09-11 Jim Meyering <jim@meyering.net>
+
+ * src/remove.c (remove_dir): Move new cache_stat_init call onto
+ it's own line.
+ (rm_1): Move declaration of "st" and new cache_stat_init call
+ "down" to nearer where they're used.
+ * src/c99-to-c89.diff: Add another set of curly braces.
+
+2006-09-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/expr.c (eval6): Fix buffer overrun, or bad performance, if
+ substr's last operand is very large. Performance problem reported
+ by Sebastian Kreft.
+
+2006-09-09 Jim Meyering <jim@meyering.net>
+
+ * Makefile.maint (sc_prohibit_jm_in_m4): Don't hang when there
+ are no .m4 files.
+ (sc_require_config_h): Skip this test if there are no version-
+ controlled .c files.
+ (sc_prohibit_assert_without_use): Likewise.
+
+2006-09-08 Jim Meyering <jim@meyering.net>
+
+ * bootstrap: Export CVS_RSH separate from its assignment, to work
+ even with Solaris 10's /bin/sh. Suggestion from Mark D. Baushke.
+
+2006-09-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: tail now ignores the -f option if POSIXLY_CORRECT is set,
+ no file operand is given, and standard input is any FIFO.
+ This is in response to Open Group XCU ERN 114.
+ * src/tail.c (main): Likewise.
+
+2006-09-08 Jim Meyering <jim@meyering.net>
+
+ mv and "cp -r" no longer fail when invoked with two arguments
+ where the first one names a directory and the second name ends in
+ a slash and doesn't exist. E.g., "mv dir B/", for nonexistent B,
+ now succeeds, once more. This reverts part of the 2004-06-27
+ change for 5.3.0.
+ * NEWS: Say the above.
+ * src/mv.c (target_directory_operand): Don't require (here)
+ that the target operand "look like" a directory. This change
+ pushes the test down to the rename syscall level, where a
+ "mv dir existing-non-dir/" will mistakenly succeed on older systems
+ that ignore trailing slashes in the rename destination argument.
+ * src/cp.c (target_directory_operand): Likewise, but for cp.
+ * tests/mv/trailing-slash: Exercise the above fixes.
+ * tests/cp/trailing-slash: New file.
+ * tests/cp/Makefile.am (EXTRA_DIST): Add trailing-slash.
+
+ * bootstrap: Use the previously unused variable, $src,
+ to avoid repeating "$GNULIB_SRCDIR/$file".
+
+ * bootstrap (cp_mark_as_generated): Don't use "local", to
+ accommodate ancient "/bin/sh". Suggested by Ralf Wildenhues.
+ Rename now-global "$src" and "$dst" to have cp_ prefix.
+ Safer, and avoids confusion.
+
+ * bootstrap (cp_mark_as_generated): New function.
+ (slurp): Use it to prepend editor hints and a warning that
+ the file we're copying is generated.
+ Suggestion from Bruce Korb.
+ (cp_mark_as_generated): Don't add C-style comments for .l or .y files.
+ Fix last-minute typo.
+
+2006-09-07 Jim Meyering <jim@meyering.net>
+
+ * bootstrap: Revert last change. There are less disruptive ways
+ to mark these generated files as read-only.
+
+ * src/c99-to-c89.diff: Update to have proper offsets.
+
+2006-09-06 Jim Meyering <jim@meyering.net>
+
+ Ensure that some gnulib-tool-generated files are read-only.
+ * bootstrap (slurp): Put the body of this function in a sub-shell,
+ with "umask a-w" so that all new files are read-only. Remove each
+ file before we write to it, in case it's read-only.
+ Make po/Makevars and runtime-po/Makevars read-only, too.
+
+2006-09-05 Jim Meyering <jim@meyering.net>
+
+ * tests/cp/acl: Skip this test when cp lacks ACL support.
+ * tests/cp/Makefile.am (TESTS_ENVIRONMENT): Set $(CONFIG_HEADER).
+
+ * src/c99-to-c89.diff (remove.c): Adapt one hunk to match the new
+ context from change of 2006-09-02.
+
+2006-09-04 Jim Meyering <jim@meyering.net>
+
+ * README-cvs: Fix typo in update command.
+
+2006-09-03 Jim Meyering <jim@meyering.net>
+
+ * NEWS: Tweak the wording in the new change description so that
+ no one can think this change causes e.g., `rm -fr foo../' to fail.
+
+ * tests/rm/inaccessible: Adjust for movement of config.h to lib/.
+ Use $CONFIG_HEADER, rather than hard-coding it.
+ * tests/rm/Makefile.am (TESTS_ENVIRONMENT): Set $CONFIG_HEADER.
+
+2006-09-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: rm now rejects attempts to remove /, ./, and ../.
+ * src/basename.c: Don't include dirname.h, since system.h does it now.
+ * src/chmod.c: Likewise.
+ * src/copy.c: Likewise.
+ * src/cp.c: Likewise.
+ * src/df.c: Likewise.
+ * src/dircolors.c: Likewise.
+ * src/dirname.c: Likewise.
+ * src/du.c: Likewise.
+ * src/install.c: Likewise.
+ * src/ln.c: Likewise.
+ * src/ls.c: Likewise.
+ * src/mkdir.c: Likewise.
+ * src/mv.c: Likewise.
+ * src/remove.c: Likewise.
+ * src/rm.c: Likewise.
+ * src/rmdir.c: Likewise.
+ * src/shred.c: Likewise.
+ * src/split.c: Likewise.
+ * src/su.c: Likewise.
+ * src/system.h: Include "dirname.h", since dot_or_dotdot needs it
+ now.
+ (dot_or_dotdot): Succeed even if "." or ".." is followed by a
+ slash.
+ * src/rm.c (usage, main): --preserve-root is now the default.
+ * src/remove.h: Fix comment.
+ * src/remove.c (cache_fstatat, cache_stat_init): New functions.
+ (cache_statted, cache_stat_ok): New functions.
+ (write_protected_non_symlink): Remove struct stat ** buf_p arg,
+ which is no longer needed with the new functions. All callers
+ changed.
+ (prompt, is_dir_lstat, remove_entry, remove_dir):
+ New struct stat * arg. All callers changed.
+ (write_protected_non_symlink, prompt, is_dir_lstat, remove_entry):
+ (remove_cwd_entries, remove_dir, rm_1):
+ Use and maintain the file status cache.
+ (prompt, remove_entry): Omit the first "directory" in the diagnostic
+ "Cannot remove directory `foo': is a directory". This causes "rm"
+ to pass a test case that it would otherwise fail now that it
+ "knows" more about its argument. I think the diagnostic is better
+ without the first "directory" anyway.
+ (prompt): Remove the no-longer-needed IS_DIR arg; all callers changed.
+ (rm_1): Reject attempts to remove /, ./, or ../.
+ * tests/rm/Makefile.am (TESTS): Add r-4.
+ * tests/rm/r-4: New file.
+
+2006-09-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/stat.c: Include <stddef.h>
+ (alignof): New macro.
+ (HAVE_STRUCT_STATXFS_F_FSID___VAL, HAVE_STRUCT_STATXFS_F_FSID_VAL):
+ Remove.
+ (STRUCT_STATXFS_F_FSID_IS_INTEGER): New macro.
+ (FSID_VAL): Remove.
+ (print_statfs): If f_fsid isn't an integer, grab its words one
+ at a time in little-endian order. This is a bit easier to configure
+ and should avoid a compilation failure on MacOS reported by Bruno
+ Haible.
+
+2006-08-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/stat.c (HAVE_STRUCT_STATXFS_F_FSID_VAL, FSID_VAL): New macros, to
+ work around a Mac OS X porting problem reported by Bruno Haible in
+ <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00308.html>.
+ (print_statfs): Use them.
+
+ * bootstrap.conf (gnulib_modules): Add isapipe.
+ * src/tail.c: Include isapipe.h.
+ (IS_PIPE_LIKE_FILE_TYPE): Remove.
+ (IS_TAILABLE_FILE_TYPE): Just list both FIFOs and sockets as
+ tailable, since this seems to be portable.
+ (main): Use isapipe, to fix a bug on MacOS X reported by Bruno Haible in
+ <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00304.html>.
+
+ * src/system.h (LOCALEDIR): Remove, since configmake.h now defines
+ it for us.
+
+2006-08-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/copy.c (copy_internal): Don't test whether macros like
+ S_ISLNK are defined, since they're always defined now.
+ * src/cp.c (main): Likewise.
+ * src/ln.c (main): Likewise.
+ * src/ls.c (get_link_name, make_link_name): Likewise.
+ * src/mknod.c (main): Likewise.
+ * src/mkfifo.c (usage): Likewise.
+ * src/who.c (S_IWGRP): Likewise.
+
+ Adjust to recent gnulib changes for the gnulib module.
+ * bootstrap.conf (gnulib_modules): Add fcntl.
+ * src/system.h (SEEK_SET, SEEK_CUR, SEEK_END): Remove. Other code
+ is already assuming these macros are defined.
+ (O_DIRECT, O_DIRECTORY, O_DSYNC, O_NDELAY, O_NOATIME, O_NONBLOCK):
+ (O_NOCTTY, O_NOFOLLOW, O_NOLINKS, O_RSYNC, O_SYNC, O_BINARY, O_TEXT):
+ Remove; the fcntl module now handles these.
+
+ Adjust to recent gnulib changes for the inttypes module.
+ * bootstrap.conf (gnulib_modules): Remove stdint; add inttypes.
+ (excluded_files): Don't exclude m4/inttypes-h.m4 or m4/inttypes-pri.m4.
+
+ * src/system.h: Don't bother to include <stdint.h>, since we can
+ now assume inttypes.h does the equivalent of including stdint.h.
+
+2006-08-27 Jim Meyering <jim@meyering.net>
+
+ * src/copy.c (copy_internal): Don't make a backup if the last
+ component of the source name is "." or "..".
+ Reported by Andreas Schwab in http://savannah.gnu.org/bugs/?17540.
+ * NEWS: Mention this.
+ * tests/cp/src-base-dot: New file. Test for the above fix.
+ * tests/cp/Makefile.am (TESTS): Add src-base-dot.
+
+ * src/system.h (DOT_OR_DOTDOT): Remove macro. Rewrite as a...
+ (dot_or_dotdot): ...new static inline function.
+ * src/remove.c (rm_1): Reflect this renaming.
+ * src/ls.c (basename_is_dot_or_dotdot): Likewise.
+
+ * src/copy.c (copy_internal): Add comments.
+
+2006-08-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/Makefile.am (AM_CPPFLAGS): Remove -I$(srcdir) and -I../lib,
+ since Automake supplies them for us. It always did -I$(srcdir),
+ and with the recent change to AC_CONFIG_HEADERS in configure.ac it
+ is now also doing -I../lib.
+
+ * bootstrap (get_translations): Skip this if WGET_COMMAND is empty.
+ Fail if the first "echo" fails. Suppress diagnostics from "ls po/*.po"
+ since there might not be any .po files.
+ (WGET_COMMAND): Set to empty if wget doesn't
+ seem to be available.
+
+2006-08-26 Jim Meyering <jim@meyering.net>
+
+ This test was failing in some environments.
+ * tests/ls/color-dtype-dir: Don't rely on eval "`dircolors -b`"
+ to set LS_COLORS in the environment.
+ * tests/envvar-check: Instead, ensure that LS_COLORS is not set.
+ Reported by Bob Proulx.
+
+ * src/c99-to-c89.diff: Remove hunk for copy.c; no longer needed.
+
+ * Makefile.am (EXTRA_DIST): Remove these files here, too:
+ .x-sc_no_if_have_config_h, .x-sc_prohibit_assert_without_use,
+ .x-sc_two_space_separator_in_usage.
+
+ Fix "mv --verbose --backup" so its output includes the
+ " (backup: foo.~1~)" suffix also when backing up a directory.
+ * NEWS: Report this bug fix.
+ * src/copy.c (emit_verbose): New function, factored out of...
+ (copy_internal): ...here. Use the new function.
+ * tests/mv/backup-dir: Test for the above fix.
+ * tests/mv/Makefile.am (TESTS): Add backup-dir.
+
+2006-08-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ * .x-sc_no_if_have_config_h: Remove; no longer needed.
+ * .x-sc_prohibit_assert_without_use: Remove; it was empty.
+ * .x-sc_two_space_separator_in_usage: Likewise.
+ * Makefile.maint (sc_no_have_config_h): Renamed from
+ sc_no_if_have_config_h, since it now checks that HAVE_CONFIG_H
+ is absent everywhere.
+ * bootstrap.conf (gnulib_modules): Add config-h.
+ * src/shred.c: Include <config.h> unconditionally, since
+ we now assume config.h exists.
+ * src/dircolors.c: Likewise.
+
+2006-08-26 Jim Meyering <jim@meyering.net>
+
+ "ls --color" would highlight other-writable and sticky directories
+ no differently than regular directories on a file system with
+ dirent.d_type support.
+ * NEWS: Say the above.
+ * src/ls.c (gobble_file): With --color, also stat the file when
+ we know it is a directory.
+ Derived from an anonymous one-line fix and bug report:
+ <http://savannah.gnu.org/bugs/?15043>.
+ * tests/ls/color-dtype-dir: New file. Test for the above fix.
+ * tests/ls/Makefile.am (TESTS): Add color-dtype-dir.
+
+2006-08-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ * .cvsignore: Remove stamp-h1. Add coreutils-*, to ignore
+ tarballs.
+ * bootstrap.conf: Add configmake, verify.
+ * src/.cvsignore: Remove localedir.h.
+ * src/Makefile.am (localedir, DISTCLEANFILES, localedir.h): Remove;
+ subsumed by configmake.
+ * src/system.h: Include configmake.h rather than localedir.h
+ (LOCALEDIR): New macro.
+
+ Rewrite to avoid some unnecessary casts, macros, literals.
+ * src/shred.c (DEFAULT_PASSES, VERBOSE_UPDATE): Now constants,
+ not macros.
+ (SECTOR_SIZE, SECTOR_MASK): New constants.
+ (fillpattern, dopass, do_wipefd, main): Remove unnecessary casts,
+ and use the SECTOR_* constants when applicable. Check for size <
+ 0 rather than size == -1, since negative-size files are a sign of
+ trouble anyway.
+
+2006-08-25 Bruno Haible <bruno@clisp.org>
+
+ * src/shred.c (dopass): Assume a continuable error if EIO even
+ if the current position is not a multiple of 512.
+
+2006-08-24 Jim Meyering <jim@meyering.net>
+
+ * src/stat.c (print_statfs): Fix typo: remove extra "sizeof".
+
+2006-08-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/stat.c (HAVE_STRUCT_STATXFS_F_FSID___VAL): Define. This
+ macro was being used without being defined.
+ (SB_F_NAMEMAX): Remove cast.
+ (f_fsid) [BeOS]: Likewise.
+ (OUT_NAMEMAX): Renamed from NAMEMAX_FORMAT, with a new meaning.
+ All uses changed.
+ (out_string, out_int, out_uint, out_uint_o, out_uint_x): New
+ functions.
+ (xstrcat): Remove. All uses changed to use the above functions.
+ (print_statfs, print_stat): 2nd arg is now the prefix len, not the
+ buffer len. All uses changed. Output '?', not '*', for unknown
+ data or errors. Do not assume signed values can be interchanged
+ with unsigned when printing.
+ (print_statfs): For %i, print the fsid as a single int, not as a
+ pair.
+ (print_it): Quote invalid format better.
+
+ * NEWS: printf supports the I flag.
+ * src/printf.c (print_formatted) [glibc 2.2 or later]: Likewise.
+
+2006-08-23 Bruno Haible <bruno@clisp.org>
+
+ * src/stat.c (STRUCT_STATVFS, statfs, f_fsid, f_blocks, f_bfree) [BeOS]:
+ (f_bavail, f_bsize, STATFS_FRSIZE, f_files, f_ffree) [BeOS]:
+ (STATXFS_FILE_SYSTEM_TYPE_MEMBER_NAME) [BeOS]: Define.
+
+ * src/ls.c (SA_RESTART): Fallback define.
+
+2006-08-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/system.h (EDQUOT): Define if not already defined.
+ Problem reported by Bruno Haible for BeOS.
+
+ * .cvsignore: Remove config.h, config.hin, as they are now
+ in lib.
+ * configure.ac (AC_CONFIG_HEADERS): Move config.h and config.hin
+ to lib.
+ * src/Makefile.am (AM_CPPFLAGS): Remove '-I..'; no longer needed.
+
+ * bootstrap (slurp): Define gl_LOCK_EARLY instead of gl_LOCK,
+ to accommodate today's gnulib change.
+
+2006-08-23 Jim Meyering <jim@meyering.net>
+
+ * NEWS: Mention the sweeping infrastructure changes.
+
+2006-08-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ * bootstrap.conf (gnulib_modules): Add gnupload.
+ * Makefile.maint (emit_upload_commands): gnupload is now
+ in build-aux.
+ * gnupload: Remove from CVS, since it's now a gnulib module.
+
+ * bootstrap (bootstrap_conf_cleanup): Remove.
+ (excluded_files): New var.
+ * bootstrap.conf: Likewise.
+ * bootstrap (slurp): Exclude files early if they're in the
+ excluded_files list. That way, their names don't get put into
+ .cvsignore.
+
+ * aclocal.m4, config.hin, configure:
+ Remove from CVS, since ./bootstrap generates them automatically.
+ * .cvsignore: Add INSTALL, Makefile.in, aclocal.m4, config.hin,
+ configure, *.cache, *.lineno, *.log.
+ Remove more-specific entries. This catches files like configure.lineno.
+ * man/.cvsignore: Add Makefile.in.
+ * src/.cvsignore: Add Makefile.in.
+ Remove .version, dir.c, install, mvdir, stamp-v, vdir.c, version.c.
+
+ * tests/.cvsignore:
+ * tests/chgrp/.cvsignore:
+ * tests/chmod/.cvsignore:
+ * tests/chown/.cvsignore:
+ * tests/cp/.cvsignore:
+ * tests/cut/.cvsignore:
+ * tests/dd/.cvsignore:
+ * tests/dircolors/.cvsignore:
+ * tests/du/.cvsignore:
+ * tests/expr/.cvsignore:
+ * tests/factor/.cvsignore:
+ * tests/fmt/.cvsignore:
+ * tests/head/.cvsignore:
+ * tests/install/.cvsignore:
+ * tests/join/.cvsignore:
+ * tests/ln/.cvsignore:
+ * tests/ls/.cvsignore:
+ * tests/ls-2/.cvsignore:
+ * tests/md5sum/.cvsignore:
+ * tests/misc/.cvsignore:
+ * tests/mkdir/.cvsignore:
+ * tests/mv/.cvsignore:
+ * tests/od/.cvsignore:
+ * tests/pr/.cvsignore:
+ * tests/readlink/.cvsignore:
+ * tests/rm/.cvsignore:
+ * tests/rmdir/.cvsignore:
+ * tests/seq/.cvsignore:
+ * tests/sha1sum/.cvsignore:
+ * tests/shred/.cvsignore:
+ * tests/sort/.cvsignore:
+ * tests/stty/.cvsignore:
+ * tests/sum/.cvsignore:
+ * tests/tac/.cvsignore:
+ * tests/tail/.cvsignore:
+ * tests/tail-2/.cvsignore:
+ * tests/tee/.cvsignore:
+ * tests/test/.cvsignore:
+ * tests/touch/.cvsignore:
+ * tests/tr/.cvsignore:
+ * tests/tsort/.cvsignore:
+ * tests/unexpand/.cvsignore:
+ * tests/uniq/.cvsignore:
+ * tests/wc/.cvsignore:
+ Add Makefile.in. Sort entries if necessary. Remove *.I, *.E,
+ *.X, *.O, *-tests, build-script, mk-script if they're never
+ created in this directory.
+
+2006-08-22 Bruno Haible <bruno@clisp.org>
+
+ BeOS portability.
+ * src/uptime.c: Include OS.h if it exists.
+ (print_uptime): On BeOS, use the get_system_info function (actually a
+ macro). Loop through utmp entries only if utmp.h or utmpx.h exists.
+ (uptime): Call read_utmp only if utmp.h or utmpx.h exists.
+
+2006-08-22 Jim Meyering <jim@meyering.net>
+
+ * .cvsignore: Add ABOUT-NLS.
+
+ Move the check-AUTHORS rule to be run as part of "make distcheck",
+ rather than "make check".
+ * src/Makefile.am (check): Don't depend on check-AUTHORS; it would
+ cause "make check" to fail on systems unable to build all binaries.
+ * Makefile.maint (check-AUTHORS): New rule.
+ (local-checks-available): Add it here.
+ Reported by Bruno Haible. Needed for BeOS.
+
+2006-08-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/df.c (print_header, show_dev): Use a column width that
+ depends on the block size of -P is specified and not autoscaling.
+ Problem reported by Gustavo G. Rondina in:
+ http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00164.html
+
+2006-08-21 Jim Meyering <jim@meyering.net>
+
+ * tests/dircolors/simple (a): Don't fail with an unexpected diagnostic
+ when the shell variable, SHELL, is not set.
+ Trigger the failure with "(unset SHELL; make check TESTS=simple)".
+ Reported by Sven Joachim in <http://bugs.debian.org/355368>.
+
+ * src/od.c: Now that HAVE_UNSIGNED_LONG_LONG is no longer defined
+ in config.h, change the uses to HAVE_UNSIGNED_LONG_LONG_INT.
+ Otherwise, on a system with 4-byte longs, "od -t u8" fails with this:
+ od: invalid type string `u8';
+ this system doesn't provide a 8-byte integral type
+ FIXME: add a test for this, but skip it when sizeof uintmax < 8.
+
+2006-08-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ Add a bootstrap procedure, so that the CVS version contains fewer
+ files and we bootstrap the rest from gnulib, gettext, etc.
+ * README-cvs: New file.
+ * bootstrap: New file.
+ * bootstrap.conf: New file.
+ * .x-sc_trailing_blank: Remove config-log, .gdb-history. Add .po.
+ * configure.ac (AC_PREREQ): Move here from m4/*.m4, for benefit
+ of gnulib-tool.
+ (gl_DEFAULT_POSIX2_VERSION, gl_USE_SYSTEM_EXTENSIONS, gl_PERL):
+ (gl_IGNORE_UNUSED_LIBRARIES): Remove; now done by gnulib.
+ (gl_EARLY): Add.
+ (gl_MACROS): Call just after gl_EARLY, just for clarity.
+ * src/c99-to-c89.diff: Remove patch to ls.c; no longer needed.
+ * src/kill.c (strtoimax): Remove decl.
+ * src/ls.c: Include "wcwidth.h" instead of rolling it ourselves.
+ * src/wc.c: Likewise.
+ * src/ls.c (sort_files): Rewrite to avoid need for C99-style
+ declaration, so that we don't need to patch this file.
+ * src/printf.c (strtoimax, strtoumax): Remove decls.
+ * src/su.c: Include getpass.h.
+ (getpass): remove.
+ * src/system.h: Include mempcpy.h, stpcpy.h, strpbrk.h.
+ Include inttypes.h unconditionally.
+ (LONGEST_MODIFIER, PRIdMAX, PRIoMAX, PRIuMAX, PRIxMAX): Remove.
+ (stpcpy, strndup, strstr, strtoul, mempcpy, CHAR_MIN, CHAR_MAX):
+ (SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, SHRT_MIN, SHRT_MAX, INT_MAX):
+ (INT_MIN, INTMAX_MAX, INTMAX_MIN, UINT_MAX, LONG_MAX, ULONG_MAX):
+ (SIZE_MAX, SSIZE_MAX, UINTMAX_MAX): Remove.
+
+ * ABOUT-NLS, INSTALL, Makefile.in, man/Makefile.in:
+ * src/Makefile.in, tests/Makefile.in, tests/chgrp/Makefile.in:
+ * tests/chmod/Makefile.in, tests/chown/Makefile.in:
+ * tests/cp/Makefile.in, tests/cut/Makefile.in:
+ * tests/dd/Makefile.in, tests/dircolors/Makefile.in:
+ * tests/du/Makefile.in, tests/expr/Makefile.in:
+ * tests/factor/Makefile.in, tests/fmt/Makefile.in:
+ * tests/general/Makefile.in, tests/head/Makefile.in:
+ * tests/install/Makefile.in, tests/join/Makefile.in:
+ * tests/ln/Makefile.in, tests/ls/Makefile.in:
+ * tests/ls-2/Makefile.in, tests/md5sum/Makefile.in:
+ * tests/misc/Makefile.in, tests/mkdir/Makefile.in:
+ * tests/mv/Makefile.in, tests/od/Makefile.in:
+ * tests/pr/Makefile.in, tests/readlink/Makefile.in:
+ * tests/rm/Makefile.in, tests/rmdir/Makefile.in:
+ * tests/seq/Makefile.in, tests/sha1sum/Makefile.in:
+ * tests/shred/Makefile.in, tests/sort/Makefile.in:
+ * tests/stty/Makefile.in, tests/sum/Makefile.in:
+ * tests/tac/Makefile.in, tests/tail/Makefile.in:
+ * tests/tail-2/Makefile.in, tests/tee/Makefile.in:
+ * tests/test/Makefile.in, tests/touch/Makefile.in:
+ * tests/tr/Makefile.in, tests/tsort/Makefile.in:
+ * tests/unexpand/Makefile.in, tests/uniq/Makefile.in:
+ * tests/wc/Makefile.in:
+ Remove from CVS, since ./bootstrap generates them automatically.
+
+2006-08-20 Eric Blake <ebb9@byu.net>
+
+ * src/stat.c (USE_STATVFS): Reinstate the patch from 2006-08-15;
+ the patch from 2006-08-18 broke on cygwin.
+
+2006-08-20 Jim Meyering <jim@meyering.net>
+
+ * NEWS: Add a line for 6.2-cvs.
+ * configure.ac (AC_INIT): Bump to 6.2 and add "-cvs" suffix.
+
+2006-08-19 Jim Meyering <jim@meyering.net>
+
+ * Version 6.1.
+ * NEWS: Record the 6.1 release date.
+ * configure.ac (AC_INIT): Remove "-cvs" suffix from version string.
+
+ * tests/Makefile.am (EXTRA_DIST): Add sparse-file.
+
+ Avoid test failure when `make check' is run through debuild.
+ * tests/help-version: Ensure that $SHELL is set to some value
+ and exported. Patch from Sven Joachim. For details, see
+ <http://bugs.debian.org/355368>.
+
+ * tests/ls/stat-dtype: Test for the 2006-08-17 `ls -CF' fix.
+
+ * README: Describe potential "pre-C99 build failure", and work-around.
+
+ Some of my 2006-07-03 changes to tests/*/Makefile.am were being
+ backed out due to updates provoked by the copyright changes.
+ * tests/Makefile.am.in (PATH): Prepend $(VG_PATH_PREFIX), so that
+ it propagates to the derived Makefile.am files.
+ ($(srcdir)/Makefile.am): Mark generated .am files as read-only,
+ so we don't mistakenly edit them again.
+ * tests/cut/Makefile.am: Regenerate.
+ * tests/head/Makefile.am: Likewise.
+ * tests/join/Makefile.am: Likewise.
+ * tests/pr/Makefile.am: Likewise.
+ * tests/sort/Makefile.am: Likewise.
+ * tests/tac/Makefile.am: Likewise.
+ * tests/tail/Makefile.am: Likewise.
+ * tests/test/Makefile.am: Likewise.
+ * tests/tr/Makefile.am: Likewise.
+ * tests/uniq/Makefile.am: Likewise.
+ * tests/wc/Makefile.am: Likewise.
+
+ * NEWS: Fix cp --sparse so that it preserves tail-end sparseness, even
+ when the file's apparent size is not a multiple of its block size.
+ * src/copy.c (copy_reg): Don't write a NUL before calling ftruncate.
+ For some file sizes, writing that single byte would unnecessarily
+ waste a few file blocks. That write may have been necessary in the
+ early days of Linux, but now, removing it should be safe.
+ Based on a patch by Alan Curry: <http://bugs.debian.org/370792>
+ * tests/cp/sparse: New test for the above.
+ * tests/cp/Makefile.am (TESTS): Add sparse.
+
+ * tests/sparse-file: New file, essence factored out of...
+ * tests/du/8gb: ... here. Use the new script.
+
+2006-08-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/system.h (select_plural): Reduce by 1000000, not 1000, since
+ the CVS gettext manual now suggests 1000000.
+
+2006-08-18 Bruno Haible <bruno@clisp.org>
+
+ Add support for NetBSD 3.0.
+ * src/stat.c (USE_STATVFS): Set to 1 if 'struct statvfs' has a field
+ f_fstypename.
+ (STATXFS_FILE_SYSTEM_TYPE_MEMBER_NAME): Define also if 'struct statvfs'
+ has a field f_fstypename.
+ This undoes the 2006-08-15 to src/stat.c.
+
+2006-08-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ Copyright notice fixes.
+
+ * COPYING: Upgrade to latest version from FSF.
+
+ * src/uname.c: Use (C) in copyright notice.
+
+ * .vg-suppressions: Add copyright notice.
+ * ChangeLog: Likewise.
+ * ChangeLog-2005: Likewise.
+ * Makefile.am: Likewise.
+ * NEWS: Likewise.
+ * README: Likewise.
+ * README-valgrind: Likewise.
+ * TODO: Likewise.
+ * announce-gen: Likewise.
+ * man/Makefile.am: Likewise.
+ * man/chmod.x: Likewise.
+ * man/chown.x: Likewise.
+ * man/df.x: Likewise.
+ * man/du.x: Likewise.
+ * man/rm.x: Likewise.
+ * src/dircolors.hin: Likewise.
+ * src/du-tests: Likewise.
+ * src/extract-magic: Likewise.
+ * src/tac-pipe.c: Likewise.
+ * src/wheel-gen.pl: Likewise.
+ * tests/Coreutils.pm: Likewise.
+ * tests/Makefile.am.in: Likewise.
+ * tests/acl: Likewise.
+ * tests/envvar-check: Likewise.
+ * tests/expensive: Likewise.
+ * tests/group-names: Likewise.
+ * tests/help-version: Likewise.
+ * tests/mk-script: Likewise.
+ * tests/priv-check: Likewise.
+ * tests/rwx-to-mode: Likewise.
+ * tests/sample-test: Likewise.
+ * tests/setgid-check: Likewise.
+ * tests/chgrp/basic: Likewise.
+ * tests/chgrp/deref: Likewise.
+ * tests/chgrp/no-x: Likewise.
+ * tests/chgrp/posix-H: Likewise.
+ * tests/chgrp/recurse: Likewise.
+ * tests/chmod/c-option: Likewise.
+ * tests/chmod/equal-x: Likewise.
+ * tests/chmod/equals: Likewise.
+ * tests/chmod/no-x: Likewise.
+ * tests/chmod/octal: Likewise.
+ * tests/chmod/setgid: Likewise.
+ * tests/chmod/umask-x: Likewise.
+ * tests/chmod/usage: Likewise.
+ * tests/chown/basic: Likewise.
+ * tests/chown/deref: Likewise.
+ * tests/chown/separator: Likewise.
+ * tests/cp/Makefile.am: Likewise.
+ * tests/cp/acl: Likewise.
+ * tests/cp/backup-1: Likewise.
+ * tests/cp/backup-is-src: Likewise.
+ * tests/cp/cp-HL: Likewise.
+ * tests/cp/cp-deref: Likewise.
+ * tests/cp/cp-mv-backup: Likewise.
+ * tests/cp/cp-parents: Likewise.
+ * tests/cp/deref-slink: Likewise.
+ * tests/cp/dir-rm-dest: Likewise.
+ * tests/cp/dir-slash: Likewise.
+ * tests/cp/dir-vs-file: Likewise.
+ * tests/cp/fail-perm: Likewise.
+ * tests/cp/into-self: Likewise.
+ * tests/cp/link: Likewise.
+ * tests/cp/link-no-deref: Likewise.
+ * tests/cp/link-preserve: Likewise.
+ * tests/cp/no-deref-link1: Likewise.
+ * tests/cp/no-deref-link2: Likewise.
+ * tests/cp/no-deref-link3: Likewise.
+ * tests/cp/perm: Likewise.
+ * tests/cp/preserve-2: Likewise.
+ * tests/cp/r-vs-symlink: Likewise.
+ * tests/cp/same-file: Likewise.
+ * tests/cp/slink-2-slink: Likewise.
+ * tests/cp/special-bits: Likewise.
+ * tests/cp/symlink-slash: Likewise.
+ * tests/cut/Makefile.am: Likewise.
+ * tests/cut/Test.pm: Likewise.
+ * tests/dd/misc: Likewise.
+ * tests/dd/not-rewound: Likewise.
+ * tests/dd/skip-seek: Likewise.
+ * tests/dd/skip-seek2: Likewise.
+ * tests/dd/unblock-sync: Likewise.
+ * tests/dircolors/simple: Likewise.
+ * tests/du/2g: Likewise.
+ * tests/du/8gb: Likewise.
+ * tests/du/Makefile.am: Likewise.
+ * tests/du/basic: Likewise.
+ * tests/du/deref: Likewise.
+ * tests/du/deref-args: Likewise.
+ * tests/du/exclude: Likewise.
+ * tests/du/fd-leak: Likewise.
+ * tests/du/files0-from: Likewise.
+ * tests/du/hard-link: Likewise.
+ * tests/du/inaccessible-cwd: Likewise.
+ * tests/du/long-from-unreadable: Likewise.
+ * tests/du/long-sloop: Likewise.
+ * tests/du/no-deref: Likewise.
+ * tests/du/no-x: Likewise.
+ * tests/du/restore-wd: Likewise.
+ * tests/du/slash: Likewise.
+ * tests/du/slink: Likewise.
+ * tests/du/trailing-slash: Likewise.
+ * tests/du/two-args: Likewise.
+ * tests/expr/basic: Likewise.
+ * tests/factor/basic: Likewise.
+ * tests/fmt/basic: Likewise.
+ * tests/fmt/long-line: Likewise.
+ * tests/general/Makefile.am: Likewise.
+ * tests/general/atgeneral.m4: Likewise.
+ * tests/general/dd.at: Likewise.
+ * tests/head/Makefile.am: Likewise.
+ * tests/head/Test.pm: Likewise.
+ * tests/install/basic-1: Likewise.
+ * tests/install/create-leading: Likewise.
+ * tests/install/d-slashdot: Likewise.
+ * tests/install/trap: Likewise.
+ * tests/join/Makefile.am: Likewise.
+ * tests/join/Test.pm: Likewise.
+ * tests/ln/backup-1: Likewise.
+ * tests/ln/misc: Likewise.
+ * tests/ln/sf-1: Likewise.
+ * tests/ln/target-1: Likewise.
+ * tests/ls/Makefile.am: Likewise.
+ * tests/ls/Test.pm: Likewise.
+ * tests/ls/dangle: Likewise.
+ * tests/ls/dired: Likewise.
+ * tests/ls/file-type: Likewise.
+ * tests/ls/follow-slink: Likewise.
+ * tests/ls/infloop: Likewise.
+ * tests/ls/inode: Likewise.
+ * tests/ls/m-option: Likewise.
+ * tests/ls/no-arg: Likewise.
+ * tests/ls/recursive: Likewise.
+ * tests/ls/rt-1: Likewise.
+ * tests/ls/stat-dtype: Likewise.
+ * tests/ls/stat-failed: Likewise.
+ * tests/ls/stat-vs-dirent: Likewise.
+ * tests/ls/symlink-slash: Likewise.
+ * tests/ls/time-1: Likewise.
+ * tests/ls-2/tests: Likewise.
+ * tests/md5sum/basic-1: Likewise.
+ * tests/md5sum/newline-1: Likewise.
+ * tests/misc/Makefile.am: Likewise.
+ * tests/misc/base64: Likewise.
+ * tests/misc/basename: Likewise.
+ * tests/misc/cat-proc: Likewise.
+ * tests/misc/close-stdout: Likewise.
+ * tests/misc/csplit: Likewise.
+ * tests/misc/date: Likewise.
+ * tests/misc/date-sec: Likewise.
+ * tests/misc/df: Likewise.
+ * tests/misc/dirname: Likewise.
+ * tests/misc/expand: Likewise.
+ * tests/misc/false-status: Likewise.
+ * tests/misc/fold: Likewise.
+ * tests/misc/head-c: Likewise.
+ * tests/misc/head-elide-tail: Likewise.
+ * tests/misc/head-pos: Likewise.
+ * tests/misc/mknod: Likewise.
+ * tests/misc/nice: Likewise.
+ * tests/misc/nl: Likewise.
+ * tests/misc/nohup: Likewise.
+ * tests/misc/paste-no-nl: Likewise.
+ * tests/misc/pathchk1: Likewise.
+ * tests/misc/printf: Likewise.
+ * tests/misc/printf-hex: Likewise.
+ * tests/misc/pwd-long: Likewise.
+ * tests/misc/sha224sum: Likewise.
+ * tests/misc/sha256sum: Likewise.
+ * tests/misc/sha384sum: Likewise.
+ * tests/misc/sha512sum: Likewise.
+ * tests/misc/shuf: Likewise.
+ * tests/misc/sort-merge: Likewise.
+ * tests/misc/sort-rand: Likewise.
+ * tests/misc/split-a: Likewise.
+ * tests/misc/split-fail: Likewise.
+ * tests/misc/split-l: Likewise.
+ * tests/misc/stat-fmt: Likewise.
+ * tests/misc/stat-printf: Likewise.
+ * tests/misc/tac-continue: Likewise.
+ * tests/misc/test-diag: Likewise.
+ * tests/misc/tty-eof: Likewise.
+ * tests/misc/wc-files0: Likewise.
+ * tests/misc/wc-files0-from: Likewise.
+ * tests/mkdir/concurrent-1: Likewise.
+ * tests/mkdir/p-1: Likewise.
+ * tests/mkdir/p-2: Likewise.
+ * tests/mkdir/p-3: Likewise.
+ * tests/mkdir/p-slashdot: Likewise.
+ * tests/mkdir/p-thru-slink: Likewise.
+ * tests/mkdir/parents: Likewise.
+ * tests/mkdir/perm: Likewise.
+ * tests/mkdir/special-1: Likewise.
+ * tests/mkdir/t-slash: Likewise.
+ * tests/mkdir/writable-under-readonly: Likewise.
+ * tests/mv/Makefile.am: Likewise.
+ * tests/mv/acl: Likewise.
+ * tests/mv/atomic: Likewise.
+ * tests/mv/backup-is-src: Likewise.
+ * tests/mv/childproof: Likewise.
+ * tests/mv/diag: Likewise.
+ * tests/mv/dir-file: Likewise.
+ * tests/mv/dir2dir: Likewise.
+ * tests/mv/dup-source: Likewise.
+ * tests/mv/force: Likewise.
+ * tests/mv/hard-2: Likewise.
+ * tests/mv/hard-3: Likewise.
+ * tests/mv/hard-4: Likewise.
+ * tests/mv/hard-link-1: Likewise.
+ * tests/mv/i-1: Likewise.
+ * tests/mv/i-2: Likewise.
+ * tests/mv/i-3: Likewise.
+ * tests/mv/i-4: Likewise.
+ * tests/mv/i-link-no: Likewise.
+ * tests/mv/into-self: Likewise.
+ * tests/mv/into-self-2: Likewise.
+ * tests/mv/into-self-3: Likewise.
+ * tests/mv/into-self-4: Likewise.
+ * tests/mv/leak-fd: Likewise.
+ * tests/mv/mv-special-1: Likewise.
+ * tests/mv/no-target-dir: Likewise.
+ * tests/mv/part-fail: Likewise.
+ * tests/mv/part-hardlink: Likewise.
+ * tests/mv/part-rename: Likewise.
+ * tests/mv/part-symlink: Likewise.
+ * tests/mv/partition-perm: Likewise.
+ * tests/mv/perm-1: Likewise.
+ * tests/mv/reply-no: Likewise.
+ * tests/mv/setup: Likewise.
+ * tests/mv/to-symlink: Likewise.
+ * tests/mv/trailing-slash: Likewise.
+ * tests/mv/update: Likewise.
+ * tests/mv/vfat: Likewise.
+ * tests/od/od-N: Likewise.
+ * tests/od/x8: Likewise.
+ * tests/pr/Makefile.am: Likewise.
+ * tests/pr/Test.pm: Likewise.
+ * tests/readlink/can-e: Likewise.
+ * tests/readlink/can-f: Likewise.
+ * tests/readlink/can-m: Likewise.
+ * tests/readlink/rl-1: Likewise.
+ * tests/rm/Makefile.am: Likewise.
+ * tests/rm/cycle: Likewise.
+ * tests/rm/dangling-symlink: Likewise.
+ * tests/rm/deep-1: Likewise.
+ * tests/rm/dir-no-w: Likewise.
+ * tests/rm/dir-nonrecur: Likewise.
+ * tests/rm/dot-rel: Likewise.
+ * tests/rm/empty-inacc: Likewise.
+ * tests/rm/empty-name: Likewise.
+ * tests/rm/f-1: Likewise.
+ * tests/rm/fail-2eperm: Likewise.
+ * tests/rm/fail-eperm: Likewise.
+ * tests/rm/hash: Likewise.
+ * tests/rm/i-1: Likewise.
+ * tests/rm/i-no-r: Likewise.
+ * tests/rm/inaccessible: Likewise.
+ * tests/rm/interactive-always: Likewise.
+ * tests/rm/interactive-once: Likewise.
+ * tests/rm/ir-1: Likewise.
+ * tests/rm/isatty: Likewise.
+ * tests/rm/no-give-up: Likewise.
+ * tests/rm/r-1: Likewise.
+ * tests/rm/r-2: Likewise.
+ * tests/rm/r-3: Likewise.
+ * tests/rm/rm1: Likewise.
+ * tests/rm/rm2: Likewise.
+ * tests/rm/rm3: Likewise.
+ * tests/rm/rm4: Likewise.
+ * tests/rm/rm5: Likewise.
+ * tests/rm/sunos-1: Likewise.
+ * tests/rm/unread2: Likewise.
+ * tests/rm/unread3: Likewise.
+ * tests/rm/unreadable: Likewise.
+ * tests/rmdir/fail-perm: Likewise.
+ * tests/rmdir/ignore: Likewise.
+ * tests/rmdir/t-slash: Likewise.
+ * tests/seq/basic: Likewise.
+ * tests/sha1sum/basic-1: Likewise.
+ * tests/sha1sum/sample-vec: Likewise.
+ * tests/shred/exact: Likewise.
+ * tests/shred/remove: Likewise.
+ * tests/sort/Makefile.am: Likewise.
+ * tests/sort/Test.pm: Likewise.
+ * tests/sort-time/Makefile: Likewise.
+ * tests/sort-time/README: Likewise.
+ * tests/sort-time/rand-gen: Likewise.
+ * tests/stty/basic-1: Likewise.
+ * tests/stty/row-col-1: Likewise.
+ * tests/sum/basic-1: Likewise.
+ * tests/sum/sysv: Likewise.
+ * tests/tac/Makefile.am: Likewise.
+ * tests/tac/Test.pm: Likewise.
+ * tests/tail/Makefile.am: Likewise.
+ * tests/tail/Test.pm: Likewise.
+ * tests/tail-2/Makefile.am: Likewise.
+ * tests/tail-2/append-only: Likewise.
+ * tests/tail-2/assert: Likewise.
+ * tests/tail-2/assert-2: Likewise.
+ * tests/tail-2/big-4gb: Likewise.
+ * tests/tail-2/fflush: Likewise.
+ * tests/tail-2/infloop-1: Likewise.
+ * tests/tail-2/proc-ksyms: Likewise.
+ * tests/tail-2/start-middle: Likewise.
+ * tests/tail-2/tail-n0f: Likewise.
+ * tests/tee/basic: Likewise.
+ * tests/tee/dash: Likewise.
+ * tests/test/Makefile.am: Likewise.
+ * tests/test/Test.pm: Likewise.
+ * tests/touch/Makefile.am: Likewise.
+ * tests/touch/dangling-symlink: Likewise.
+ * tests/touch/empty-file: Likewise.
+ * tests/touch/fail-diag: Likewise.
+ * tests/touch/fifo: Likewise.
+ * tests/touch/no-create-missing: Likewise.
+ * tests/touch/no-rights: Likewise.
+ * tests/touch/not-owner: Likewise.
+ * tests/touch/obsolescent: Likewise.
+ * tests/touch/read-only: Likewise.
+ * tests/touch/relative: Likewise.
+ * tests/tr/Makefile.am: Likewise.
+ * tests/tr/Test.pm: Likewise.
+ * tests/tr/failures: Likewise.
+ * tests/tsort/basic-1: Likewise.
+ * tests/unexpand/basic-1: Likewise.
+ * tests/uniq/Makefile.am: Likewise.
+ * tests/uniq/Test.pm: Likewise.
+ * tests/wc/Makefile.am: Likewise.
+ * tests/wc/Test.pm: Likewise.
+
+2006-08-17 Jim Meyering <jim@meyering.net>
+
+ ls -CF would misalign columns in some cases.
+ * src/ls.c (get_type_indicator): New function. extracted from...
+ (print_type_indicator): ...here. Use it.
+ (length_of_file_name_and_frills): Use it here, too, rather than
+ assuming stat.st_mode is valid.
+ Reported by Andreas Schwab, here:
+ <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/7774>
+ See the test for this above. FYI, I did ls -CF /proc and visually
+ inspected the result.
+
+ * src/copy.c (copy_internal, same_file_ok): Adjust comments not
+ to mention the now-removed cp_options.xstat member.
+
+ * Makefile.maint (patch-check): Adapt to work now that the patch
+ modifies more than one file in src/.
+
+ With this patch, permit building with Solaris cc on Solaris 7.
+ * src/c99-to-c89.diff: Add diffs to convert more c99-isms.
+ This integrates patches from Bruno Haible.
+
+2006-08-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix some problems reported by Bruno Haible.
+ * tests/chmod/setgid (abs_srcdir): Remove; not used or needed.
+ Skip this test if "chmod g+s d" silently does nothing.
+ * tests/ls-2/tests: Skip this test suite if we can't set up files
+ properly for the setuid-etc test. This simplifies some of the
+ hacks we were using to work around porting problems.
+
+2006-08-16 Jim Meyering <jim@meyering.net>
+
+ * tests/cp/Makefile.am: Don't mark "acl" as XFAIL.
+ * tests/cp/acl: Instead, skip the test if either setfacl
+ or getfacl fails.
+ Reported by Michael Stone.
+
+2006-08-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ * tests/lang-default (LC_ALL): Set to "C", so we get
+ English-language diagnostics. Unset the other variables; it
+ should be portable to use 'unset' for this stuff nowadays.
+ Problem reported by Bruno Haible. Using "C" reverses the
+ 2000-10-22 change to fileutils in this area.
+
+ Fix bugs when printing plurals of numbers that are not
+ unsigned long int values.
+ * src/system.h (select_plural): New function.
+ * src/md5sum.c (digest_check): Use select_plural to avoid bug.
+ * src/uptime.c (print_uptime): Likewise.
+ * src/dd.c (print_stats): Likewise. Also, don't use ngettext to
+ print a floating point number, as reducing to 0 or 1 doesn't work
+ for some languages. Instead, just use "s" for seconds since it
+ doesn't need a plural form.
+
+2006-08-16 Bruno Haible <bruno@clisp.org>
+
+ Old versions of gzip would write --help output to stderr, and it
+ would be annoying to see that in the output of every "make" command.
+ * Makefile.maint (gzip_rsyncable): Throw away stderr output of
+ "gzip --help".
+
+2006-08-16 Andreas Schwab <schwab@suse.de>
+
+ * tests/cp/acl: Don't use non-portable == operator for test.
+
+2006-08-16 Jim Meyering <jim@meyering.net>
+
+ * tests/ls/stat-dtype: Use stat to test file system type, rather
+ than df -T, in case /etc/mtab lies. Reported by Michael Stone.
+
+2006-08-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Mention that df exits with nonzero status if it generates
+ no output. This change was in 6.0 but inadvertently unmentioned.
+ * src/df.c (file_systems_processed): Renamed from n_valid_args, and now
+ a boolean.
+ (show_dev): Don't set it until we actually output something.
+ Print the header if this is the first output.
+ (main): Don't print a header, as that is now show_dev's job.
+ * tests/misc/Makefile.am (TESTS): Add df.
+ * tests/misc/df: New file.
+
+2006-08-15 Eric Blake <ebb9@byu.net>
+
+ * src/stat.c (USE_STATVFS): Define to 0 if f_type is needed, but
+ statvfs.f_type not present. See
+ <http://savannah.gnu.org/bugs/?func=detailitem&item_id=16325>.
+
+2006-08-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/dd.c (print_stats): Don't substitute "1" for number, as this
+ causes confusion for the Hungarian translators. Problem reported
+ by Egmont Koblinger here:
+ http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/7726
+
+2006-08-15 Jim Meyering <jim@meyering.net>
+
+ * .x-sc_require_config_h: Add lib/at-func.c.
+
+ * NEWS: Add a line for 6.1-cvs.
+ * configure.ac (AC_INIT): Bump to 6.1 and add "-cvs" suffix.
+
+2006-08-15 Jim Meyering <jim@meyering.net>
+
+ * Version 6.0.
+ * NEWS: Record the 6.0 release date.
+ * configure.ac (AC_INIT): Remove "-cvs" suffix from version string.
+
+ * TODO: Add an item (convert to use gnulib-tool), add to the plan
+ for id-vs-getgrouplist, and remove a few completed items.
+
+ * Makefile.maint (alpha beta major): Fix syntax error.
+
+2006-08-13 Jim Meyering <jim@meyering.net>
+
+ * src/shred.c (usage): Don't indent the second line of an item.
+ Otherwise, help2man would misformat the output.
+ Reported by Adam Buchbinder in <https://launchpad.net/bugs/48917>.
+
+2006-08-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ * configure.ac (AM_GNU_GETTEXT): Upgrade to need-formatstring-macros.
+ Suggested by Eric Blake to avoid problems like
+ <http://lists.gnu.org/archive/html/bug-coreutils/2006-07/msg00087.html>.
+
+2006-08-11 Jim Meyering <jim@meyering.net>
+
+ * tests/ls/stat-vs-dirent: Too many (losing) systems trigger the
+ failure that this test checks for (stat/dirent inode mismatch at
+ a mount point), so continue to give a diagnostic about the failure,
+ but don't actually count it as a failure.
+
+2006-08-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ * ABOUT-NLS: Update from gettext 0.15.
+ * configure.ac (AM_GNU_GETTEXT_VERSION): Update from 0.13.1 to 0.15.
+
+ * src/csplit.c (struct control): Remove fastmap member.
+ (extract_regexp): Allocate fastmap separately, since otherwise
+ it might move due to a realloc. This fixes a bug that led
+ to a core dump on 64-bit sparc Solaris 10 (Sun Studio 10).
+
+2006-08-10 Jim Meyering <jim@meyering.net>
+
+ * tests/ls/stat-dtype: If "." is tmpfs, skip this test unless uname -s
+ reports "Linux". This avoids a failure on Solaris 10's tmpfs.
+ Redirect both stdout and stderr of df invocations.
+
+ * src/dircolors.hin: Add a TERM directive for each of the following:
+ ansi, color-xterm, gnome, konsole, kterm, rxvt-cygwin,
+ rxvt-cygwin-native, screen.linux, xterm-256color.
+ Sort the TERM directives.
+ From Mike Frysinger.
+
+2006-08-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/dd.c (usage): Warn about oflag=append without conv=notrunc.
+ See Debian bug 373736.
+
+ * src/dircolors.hin: Add mlterm, rxvt-unicode; this fixes Debian
+ bug 317503.
+
+ * src/.cvsignore: Add shuf.
+
+ * Makefile.maint: Remove the po-update procedure; it doesn't
+ work with the new repository on http://www.iro.umontreal.ca/.
+ For now I guess we'll have to fix things by hand.
+ (do-po-update, po-update): Remove. All references removed.
+
+ * src/shuf.c (next_line): New function.
+ (read_input): Use it, to avoid relying on GCC-specific behavior
+ with void * arithmetic. Problem reported by Bob Proulx.
+ * Makefile.maint (my-distcheck): Compile with -Wpointer-arith
+ to detect this sort of problem automatically in the future.
+
+2006-08-09 Jim Meyering <jim@meyering.net>
+
+ * src/ls.c: Add a compile-time check to ensure that filetype
+ and filetype_letter have the same number of elements.
+
+ * tests/misc/sort-rand: Remove use of --seed=S.
+
+2006-08-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ Add a command 'shuf', and modify shred and sort to use the new
+ random number generator library of 'shuf'.
+
+ * AUTHORS: Add shuf.
+ * README: Likewise.
+ * NEWS: Likewise. Mention new --random-source option for shred
+ and sort. Move "sort +1 -2" notice to the appropriate section,
+ and clarify its role with respect to POSIXLY_CORRECT.
+ * man/.cvsignore: Add shuf.1.
+ * man/Makefile.am (dist_man_MANS): Add shuf.1.
+ (shuf.1): New dependency.
+ * man/shuf.x: New file.
+ * src/Makefile.am (bin_PROGRAMS): Add shuf.
+ (EXTRA_DIST): Remove rand-isaac.c.
+ (shuf_LDADD): New macro.
+ * src/rand-isaac.c: Remove, moving most of its contents to
+ lib/rand-isaac.c.
+ * src/shuf.c: New file.
+ * src/shred.c: Use new random-number interface rather than rand-isaac.c.
+ Don't include rand-isaac.c; include randint.h and randread.h instead.
+ (RANDOM_SOURCE_OPTION): New enum.
+ (long_opts, usage, main): New option --random-source.
+ * src/sort.c: Likewise.
+ * src/shred.c (struct irand_state, irand_init, irand32, irand_mod): Remove.
+ All callers changed to use randint interface.
+ (fillrand): Remove. All callers changed to use randread interface.
+ (dopass): Remove dependency on ISAAC buffer size.
+ (genpattern): Don't wipe the random state here.
+ (randint_source): New static var.
+ (clear_random_data): New function.
+ (main): Allocate random source, and arrange to wipe it on exit.
+ * src/sort.c: Include md5.h, randread.h, xmemxfrm.h.
+ (longopts, usage, main): Remove undocumented --seed option;
+ it's now replaced by --random-source.
+ (rand_state, get_hash): Remove.
+ (randread_source): New static var.
+ (random_state, cmp_hashes, compare_random): New functions; they guarantee
+ no collisions in the random hash function.
+ (keycompare): Use compare_random for -R; don't fall back on comparing
+ via memcoll, since compare_random does the right thing.
+ * tests/misc/Makefile.am (TESTS): Add shuf.
+ * tests/misc/shuf: New file.
+
+2006-07-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/copy.c (set_author): Preserve the st_author field via the
+ file descriptor dest_desc.
+
+2006-07-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: chmod now preserves setuid and setgid bits on directories
+ if you use a numeric mode with them clear, e.g., "chmod 755 DIR".
+
+ Fix test case problems if working directory is setgid,
+ reported by Bob Proulx.
+ * tests/cp/fail-perm: Use symbolic mode so that we clear
+ setgid bit more reliably on directories.
+ * tests/mkdir/special-1 (set_mode_string): Likewise.
+
+2006-07-27 Jim Meyering <jim@meyering.net>
+
+ * src/chgrp.c (usage): Use correct grammar in description of the
+ --reference option
+ * src/chown.c (usage): Likewise.
+
+2006-07-26 Thomas Schwinge <tschwinge@gnu.org> (tiny change)
+
+ * src/copy.c (set_author) [HAVE_STRUCT_STAT_ST_AUTHOR]:
+ Correctly access SRC_SB's element ST_AUTHOR.
+
+2006-07-26 Jim Meyering <jim@meyering.net>
+
+ * tests/ls/stat-failed: Adapt to match new expected output.
+ From Paul Eggert.
+
+ * src/ls.c (print_color_indicator): Test for S_IFREG first, rather
+ than having the code test for all of the other types first.
+ Hoist the set-uid/gid-testing code "up" into this new block.
+ Classify any other type of file (e.g., S_TYPEISSHM, etc.) as
+ C_ORPHAN, not as C_FILE.
+
+2006-07-26 Jim Meyering <jim@meyering.net>
+
+ Checking in a change from Paul.
+
+ 2006-07-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/ls.c (DT_INIT): Remove. All uses removed.
+ (enum filetype): Use an ordinary enum rather than trying to keep
+ the values in sync with DT_FIFO etc. That way, we don't have
+ to make special assumptions about them. All uses changed.
+ (whiteout): New constant member of enum filetype.
+ (filetype_letter): New constant, for use with enum filetype.
+ (FILETYPE_INDICATORS): New initializer list.
+ (print_dir): Add case for DT_WHT.
+ (gobble_file): If stat fails, don't discard information from
+ readdir; instead, preserve it so it can be printed.
+ (print_long_format): Fall back on readdir result if stat info
+ is not available. Use "?" to denote each unknown mode char,
+ instead of an overall "?", since we now know some of the mode
+ typically.
+ (print_type_indicator): Now that MODE isn't necessarily
+ useful, guard all uses.
+ Now that two blocks in the type-checking tree can set "type = C_FILE",
+ move the suffix-handling code out and down.
+
+2006-07-26 Jim Meyering <jim@meyering.net>
+
+ Prepare for the above change.
+ * src/ls.c [struct fileinfo] (stat_ok): Rename from stat_failed,
+ and adjust uses. From a patch by Paul Eggert.
+
+2006-07-26 Jim Meyering <jim@meyering.net>
+
+ * src/ls.c: Correct indentation/formatting in a few places.
+
+2006-07-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ * tests/cp/fail-perm: Use "chmod 0500" rather than "chmod 500".
+ Problem report and fix from Bob Proulx.
+ * NEWS: Clarify the "chmod 0500" news, and correct the vague
+ statements about compatibility with BSD.
+
+2006-07-25 Jim Meyering <jim@meyering.net>
+
+ * src/ls.c (gobble_file): When handling a stat-failed entry,
+ print the entry name not the absolute_name -- to be consistent
+ with the usual case.
+ * tests/ls/stat-failed: Update accordingly.
+
+ * src/ls.c: Add parens around the new uses of ?: ternary operator.
+
+ * src/dircolors.hin: Mention that ORPHAN refers not just to dangling
+ symlinks.
+
+ Get --dired offsets right when handling stat-failed entries.
+ * src/ls.c (print_long_format): Be careful to increment P by the
+ appropriate amount, even when inode_number_width and nlink_width
+ are zero.
+ * tests/ls/stat-failed: Test for the above.
+
+ * src/ls.c (gobble_file) [USE_ACL]: Don't use-uninitialized the
+ have_acl member. That would happen for a directory with both a
+ non-stat'able entry and one with an ACL.
+
+ * src/ls.c (gobble_file): Make it so failure to stat a
+ non-command-line file provokes an exit status of 1, not 0.
+ Say "cannot access" rather than "cannot stat".
+ * tests/ls/stat-failed: New file/test, for the above.
+ * tests/ls/Makefile.am (TESTS): Add stat-failed.
+ * tests/ls-2/tests (no-a-isdir-b): Update to reflect addition
+ of "cannot access " to diagnostic.
+
+ * src/ls.c: Declare stat_failed to be "bool", not "int" everywhere.
+
+ * src/ls.c [enum filetype] (command_line): Remove member. Not needed.
+ Replace all occurrences of "type == command_line" with the
+ equivalent, "command_line_arg".
+
+ * src/ls.c: Apply the stat-failed parts of Red Hat's
+ coreutils-selinux.patch. From Ulrich Drepper.
+ This makes it so files not mentioned on the command line (e.g.,
+ names read from a directory that *is* mentioned on the command
+ line) for which stat fails are still listed. With --color,
+ such files are colored just like ORPHANs (aka dangling symlinks).
+
+ * src/df.c (n_valid_args): Declare global to be static.
+
+2006-07-24 Jim Meyering <jim@meyering.net>
+
+ * tests/ls/stat-dtype: Skip this test on reiserfs, since that file
+ system lacks d_type support.
+
+2006-07-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ * man/chmod.x: Update to reflect recent changes to coreutils.texi.
+
+2006-07-21 Jim Meyering <jim@meyering.net>
+
+ * src/su.c (usage): Correct typo in --help output: s/commmand/command/
+ Reported by Tim Waugh.
+ Also remove the comment duplicating much of --help output.
+
+ * src/ls.c (FILE_TYPE_INDICATOR_OPTION): Reposition this new
+ name so the list remains alphabetized.
+
+ Fix another bug: ls --indicator-style=file-type would call
+ stat for a symlink, even though it wasn't always needed.
+ In some cases, that unnecessary stat would cause ls to fail.
+ * src/ls.c (gobble_file): Don't treat symlinks specially (in
+ requiring a stat syscall). Remove the offending exclusion.
+
+ * NEWS: Mention the fix.
+
+ * tests/ls/stat-dtype: New file/test, for the above fix.
+ Also exercises the new df feature, below.
+
+ * src/df.c (main): Fail and don't print the headers if no
+ file system is processed. This makes it easy to test whether
+ a specified directory is on a file system of a given type or types.
+ Otherwise, applications would have had to parse df's output.
+ E.g., is "." either ext3 or reiserfs: df -t ext3 -t reiserfs .
+
+ Fix a bug: ls --file-type worked like --indicator-style=slash,
+ rather than like --indicator-style=file-type.
+ * src/ls.c (FILE_TYPE_INDICATOR_OPTION): New enum member.
+ (long_options): Map "file-type" to FILE_TYPE_INDICATOR_OPTION,
+ not to 'p'.
+ (decode_switches): Handle new case: FILE_TYPE_INDICATOR_OPTION.
+ * NEWS: Mention the fix.
+ * tests/ls-2/tests (file-type): New test, for the above fix.
+
+2006-07-19 Jim Meyering <jim@meyering.net>
+
+ * src/ls.c (print_dir): Give a better diagnostic for failed opendir.
+
+ * Makefile.am (EXTRA_DIST): Add build-aux/vc-list-files.
+
+2006-07-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: chmod, install, and mkdir now leave setgid and setuid bits
+ of directories alone unless you specify them explicitly.
+ install and mkdir now implement X correctly.
+ install now creates parent directories with mode 755, without
+ changing their owner or group.
+ * src/chmod.c (process_file): Adjust to mode_adjust API change.
+ * src/install.c: Include mkancesdirs.h.
+ (announce_mkdir, make_ancestor): New functions.
+ (DEFAULT_MODE): New macro, specifying initial value of 'mode'.
+ (mode): Use it.
+ (dir_mode, dir_mode_bits): New vars.
+ (main): Set dir modes separately from nondir, so that the X
+ op of -m works correctly.
+ (main): Remove cwd_errno cruft, since make_dir_parents no longer
+ affects cwd. Adjust to new make_dir_parents API.
+ (install_file_in_file_parents): 2nd arg is now char *, not char
+ const *. Use mkancesdirs instead of rolling our own code.
+ (change_attributes): Don't worry about AFS, since that kludge
+ should not be needed any more.
+ * src/mkdir.c (struct mkdir_options): New struct.
+ (announce_mkdir, make_ancestor): New functions.
+ (main): Use them. Adjust to mode_adjust API change. Stick with
+ umask 0. Use make_dir_parents for all the work.
+ * src/mkfifo.c (main): Adjust to new mode_adjust API.
+ * src/mknod.c (main): Likewise.
+ * tests/chmod/setgid: Do the setgid test instead of bailing.
+ * tests/mkdir/p-3: Remove re_protect case that no longer applies.
+ GNU chmod now behaves like other versions of chmod.
+ * tests/mkdir/perm: Add a test for the X bug.
+
+2006-07-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/base64.c (do_decode): Output to parameter OUT, not to stdout.
+ This doesn't fix any bugs, since OUT always equals stdout, but it
+ makes the code easier to understand.
+
+2006-07-14 Jim Meyering <jim@meyering.net>
+
+ * Makefile.maint (CVS_LIST): Use new file, build-aux/vc-list-files,
+ rather than open-coding it. Now supports mercurial, too.
+ * .hgignore: New file.
+ * Makefile.am (EXTRA_DIST): Add .hgignore, which ignores nearly
+ all generated files, including ones like configure and po/*.po
+ that are currently version-controlled in cvs.
+
+ * Makefile.am (EXTRA_DIST): Add a few more .??* files.
+ They've been in CVS, just haven't been distributed before this.
+ Distribute ChangeLog-2005, too.
+ (MAINTAINERCLEANFILES): Add THANKS-to-translators.
+
+2006-07-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/system.h: Assume <dirent.h> exists, since gnulib assumes
+ this now as well.
+
+2006-07-09 Jim Meyering <jim@meyering.net>
+
+ * tests/mv/dir2dir: Adjust so failing with ENOTEMPTY is ok, too.
+ That happens with Linux/tmpfs.
+ * tests/mv/Makefile.am (TESTS): Add dir2dir.
+
+2006-07-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ Adjust to recent updates from gnulib.
+ * src/dd.c (apply_translations): Use toupper rather than
+ islower followed by toupper; it's simpler and typically
+ faster now that we assume at least C89 semantics. Similarly
+ for tolower.
+ * src/sort.c (inittables): Likewise.
+ * src/expand.c (expand): Don't assume that isprint etc. return
+ booleans (needed for pre-C99 hosts).
+ * src/fmt.c (check_punctuation): Likewise.
+ * src/ptx.c (initialize_regex, fix_output_parameters): Likewise.
+ * src/tr.c (is_char_class_member): Likewise.
+ * src/unexpand.c (unexpand): Likewise.
+ * src/join.c (is_blank): Remove; no longer needed. All uses
+ replaced by isblank (to_uchar (...)).
+ * src/pinky.c (create_fullname): Don't assume char is unsigned.
+ * src/printf.c (print_esc): Likewise.
+ * src/ptx.c (SKIP_NON_WHITE, SKIP_WHITE, SKIP_WHITE_BACKWARDS):
+ (copy_unescaped_string): Likewise.
+ * src/stat.c (print_it): Likewise.
+ * src/system.h (_D_EXACT_NAMELEN): Renamed from NLENGTH, for
+ convenience on GNU systems. All uses changed. Don't bother
+ looking for any dirent.h substitute other than ndir.h.
+ (D_INO): Remove unnecessary parentheses.
+ (IN_CTYPE_DOMAIN, ISGRAPH, ISPRINT, ISALNUM, ISALPHA):
+ (ISCNTRL, ISLOWER, ISPUNCT, ISSPACE, ISUPPER, ISXDIGIT):
+ (ISDIGIT_LOCALE, TOLOWER, TOUPPER): Remove. All uses changed
+ to ctype.h equivalents.
+ (isblank): Renamed from ISBLANK. Check for HAVE_DECL_ISBLANK too.
+ All uses changed.
+
+2006-07-08 Jim Meyering <jim@meyering.net>
+
+ * tests/mv/dir2dir: New file, test for 2006-07-05 fix in copy.c.
+
+ * Makefile.maint (sc_the_the): New rule.
+
+ * src/dd.c (skip): Remove one of two adjacent "the"s in a comment.
+ * tests/Coreutils.pm (run_tests): Remove one of two adjacent "then"s
+ in a comment.
+
+2006-07-07 Jim Meyering <jim@meyering.net>
+
+ * NEWS: Mention that mv can now remove an empty destination directory,
+ and give an example. Prompted by a report from Florent Bayle.
+
+2006-07-05 Jim Meyering <jim@meyering.net>
+
+ * src/ls.c (usage): Correct the description of -G: it is useful
+ only in a long listing. Reported by Martin Pool in
+ <https://launchpad.net/distros/ubuntu/+source/coreutils/+bug/51653>.
+
+ * man/chmod.x: Correct the description of the sticky bit. Reported
+ by Chris Moore via Ian Jackson in <http://bugs.debian.org/376745>.
+
+ * src/copy.c (copy_internal): Don't work around old NFS clients like
+ SunOS-4.1.4 and Irix 5.3 that set errno to values like EIO and
+ ENOTEMPTY upon failed rename. Otherwise, we risk misinterpreting
+ a banal failure as a recursive move-into-self failure.
+ Reported by Florent Bayle in <http://bugs.debian.org/376749>.
+
+ * src/c99-to-c89.diff: Regenerate, to remove fuzz.
+
+2006-07-03 Jim Meyering <jim@meyering.net>
+
+ Plug another unusual leak.
+ (AD_mark_helper): Free malloc'd filename if hash_insert says
+ that string is already in the hash table.
+
+ The dev/inode of the topmost directory in each hierarchy were not
+ being recorded.
+ * src/remove.c (remove_cwd_entries): Don't call cycle_check here.
+ (AD_push): Call it from here instead.
+
+ Fix two small leaks.
+ * src/remove.c (AD_stack_clear): New function.
+ (rm_1): Use it.
+ (AD_pop_and_chdir): Free *prev_dir just before longjmp.
+
+ * tests/Makefile.am, tests/*/Makefile.am: (TESTS_ENVIRONMENT):
+ Add $VG_PATH_PREFIX as a prefix to $PATH
+
+ * tests/envvar-check (vars): Add CDPATH and POSIXLY_CORRECT.
+ * tests/Makefile.am (evar-check): Remove rule.
+ (EXTRA_DIST): Remove .env-warn.
+ * tests/.env-warn: Remove file. No longer used.
+ Suggestion from Eric Blake.
+
+2006-07-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/system.h: Include <stdint.h> unconditionally, since we
+ now assume the stdint module.
+
+2006-07-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: With no operand, 'tail -f' now silently ignores the '-f'
+ only if standard input is a FIFO or pipe and POSIXLY_CORRECT is set.
+ * src/tail.c (main): Implement this.
+ * tests/tail/Test.pm (f-pipe-1): Renamed from f-1.
+ (test_vector): Set POSIXLY_CORRECT for the f-pipe-* tests.
+
+2006-07-01 Jim Meyering <jim@meyering.net>
+
+ * src/ln.c (do_link): Use new, shorter URL, for ag-review link.
+
+ * .x-sc_require_config_h: Add ^lib/xstrtold\.c$, so make distcheck
+ passes once again.
+
+2006-06-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: seq now uses long double internally rather than double.
+ It now defaults to a minimal fixed point format if possible.
+ It lets you use %a, %A, %E, %F, %G.
+ * src/Makefile.am (seq_LDADD): Remove $(SEQ_LIBM); add $(POW_LIB).
+ * src/seq.c: Don't include <math.h> or <xstrtol.h>; no longer needed.
+ (isfinite) [!defined isfinite]: New macro.
+ (separator, terminator): Now points to const.
+ (first, step, last): Remove.
+ (usage): Update to match new behavior.
+ (struct operand, operand): New type.
+ (scan_arg): Renamed from scan_double_arg, since we no longer use double.
+ All uses changed.
+ Compute and return a value of type operand, not double.
+ (long_double_format): Renamed from valid_format, and now returns a
+ new format with an "L" added if needed, if the original format was
+ valid. Allow %a, %A, %E, %F, and %G formats.
+ (print_numbers): Take numeric values as args rather than from globals.
+ Print long double, not double.
+ (get_width_format): Remove.
+ (get_default_format): New function.
+ (main): Implement new way of calculating default format.
+ Don't worry about locale's representation of the decimal point, since
+ the arguments are always processed in the C locale.
+ * tests/seq/basic (neg-2): Adjust to new default format.
+ (eq-wid-1, eq-wid-2): Resurrect these tests, since the new
+ implementation should do the right thing.
+
+2006-06-30 Jim Meyering <jim@meyering.net>
+
+ * tests/stty/basic-1: Work around an intermittent test failure
+ on HP-UX 11.11. Report and analysis from Bob Proulx.
+ http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/7475
+
+2006-06-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Support obsolete usages like "sort +1 -2" even when
+ conforming to POSIX 1003.1-2001, since this is a pure extension to
+ POSIX. Problem reported by Christian in:
+ http://lists.gnu.org/archive/html/bug-coreutils/2006-06/msg00220.html
+ * src/sort.c (main): Implement this.
+
+ * src/system.h (CLOSEDIR): Remove. All uses changed to closedir.
+ Autoconf 2.60 says this stuff was obsolete.
+
+2006-06-28 Jim Meyering <jim@meyering.net>
+
+ * src/c99-to-c89.diff: Regenerate, to remove fuzz.
+
+2006-06-28 Bob Proulx <bob@proulx.com> (tiny change)
+
+ * tests/mv/i-link-no: Work around HP-UX /bin/sh tracing problem
+ (set -x when VERBOSE=yes) when stderr is redirected before stdout
+ causing shell tracing of the stdout redirection to be written to
+ the stderr file. Avoid problem and test failure on HP-UX by
+ redirecting stderr last.
+ * tests/dd/unblock-sync: Order shell file redirections for
+ stderr and stdout in the common style.
+ tests/acl: Likewise.
+
+2006-06-27 Jim Meyering <jim@meyering.net>
+
+ * tests/misc/cat-proc: Try to avoid any spurious numeric
+ differences in frequently-changing /proc/cpuinfo.
+ Reported by Nelson Beebe.
+
+2006-06-26 Jim Meyering <jim@meyering.net>
+
+ Attempt rmdir (actually, unlinkat-with-AT_REMOVEDIR) upon any
+ fd_to_subdirp failure, not just when errno == EACCES.
+ * src/remove.c (remove_dir): Use unlinkat-with-AT_REMOVEDIR, not
+ rmdir, here, even though rmdir may happen to be adequate.
+
+ * NEWS: rm no longer fails to remove an empty, unreadable directory
+ * src/remove.c (remove_cwd_entries): If we can't open a directory,
+ and the failure is not being ignored, try to remove the directory
+ with rmdir (aka unlinkat-with-AT_REMOVEDIR), in case it's empty.
+ Problem report and test case from Paul Eggert in
+ <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/7425>.
+
+ * tests/rm/empty-inacc: New test, for the above.
+
+ Avoid a segfault for wc --files0=- < /dev/null.
+ * src/wc.c (compute_number_width): Return right away if nfiles == 0.
+
+2006-06-25 Jim Meyering <jim@meyering.net>
+
+ * NEWS: wc accepts a new option --files0-from=FILE, where FILE
+ contains a list of NUL-separated file names.
+
+ * src/wc.c: Include "readtokens.h".
+ (usage): Describe the new option, and adjust the `Usage':
+ with this option, no FILE may be specified on the command line.
+ (main): Handle the new option.
+ * tests/misc/wc-files0: New tests, for the above.
+ * tests/misc/wc-files0-from: Likewise.
+ * tests/misc/Makefile.am (TESTS): Add wc-files0.
+
+2006-06-24 Jim Meyering <jim@meyering.net>
+
+ * src/md5sum.c (DIGEST_BUFFER): Remove now-unused definitions.
+
+2006-06-22 Jim Meyering <jim@meyering.net>
+
+ * src/tee.c (tee_files): Rename from tee, to avoid conflict with
+ the function in glibc's <fcntl.h>. Reported by Andreas Schwab.
+
+2006-06-19 Jim Meyering <jim@meyering.net>
+
+ * Makefile.cfg (local-checks-to-skip): Add changelog-check,
+ so this check is not run as part of "make distcheck".
+
+2006-06-18 Bob Proulx <bob@proulx.com> (tiny change)
+
+ * tests/misc/pwd-long: Fix typo (s/neq/ne/) in previous change.
+
+2006-06-18 Jim Meyering <jim@meyering.net>
+
+ * tests/misc/pwd-long: Make error output a little clearer.
+
+2006-06-17 Jim Meyering <jim@meyering.net>
+
+ * tests/rm/inaccessible: Skip this test on systems without openat
+ support. Reported by Bob Proulx.
+
+2006-06-15 Bob Proulx <bob@proulx.com> (tiny change)
+
+ * tests/misc/mknod: Improve permission checks to handle
+ running mkdir test in set-gid directories.
+
+2006-06-14 Jim Meyering <jim@meyering.net>
+
+ * tests/du/basic: Revamp not to hard-code file system block sizes.
+
+2006-06-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * tests/du/Makefile.am (TESTS_ENVIRONMENT): Pass $(PERL), for
+ files0-from test.
+
+2006-06-11 Jim Meyering <jim@meyering.net>
+
+ * .gitignore: New file.
+ * Makefile.am (EXTRA_DIST): Add .gitignore.
+
+ Setting TIME_STYLE=long-iso in the environment would make the
+ cp/same-file test fail.
+ * tests/envvar-check (vars): Add TIME_STYLE to the list.
+ * tests/cp/same-file: Revert last change.
+ Source the envvar-check script, to ensure that TIME_STYLE
+ settings don't affect these tests.
+
+2006-06-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ * tests/cp/same-file: Execute 'ls' in the C locale, so that it
+ uses POSIX time stamp formats. Problem reported by John Nixon in
+ <http://lists.gnu.org/archive/html/bug-coreutils/2006-06/msg00062.html>.
+
+2006-06-10 Jim Meyering <jim@meyering.net>
+
+ * NEWS: Mention the AIX-strndup-bug vs. dircolors workaround.
+
+ Require a "Version N.M" line at the top of the ChangeLog
+ file only when making the actual release, not when running
+ "make distcheck".
+ * Makefile.maint (maintainer-distcheck): Don't depend on
+ changelog-check.
+ (alpha beta major): Depend on it here, instead.
+
+2006-06-08 Jim Meyering <jim@meyering.net>
+
+ Ensure that cat works with any of the options, -A -v -e -E -T,
+ when applied to files in /proc and /sys, even when the FIONREAD
+ ioctl produces nonsensical results. Before this change, cat would
+ produce no output (or truncated output), for some linux kernels.
+
+ * src/cat.c (write_pending): New function, factored out of cat.
+ (cat): Also interpret a negative ioctl/FIONREAD count as indicating
+ that there are bytes to read. Some versions of linux-2.6.16 do that.
+ Write any pending output before returning.
+ Reported by Dan Jacobson in <http://bugs.debian.org/370583>.
+ * NEWS: Mention this bug fix.
+ * tests/misc/cat-proc: New file. Test for the above.
+ * tests/misc/Makefile.am (TESTS): Add cat-proc.
+
+2006-06-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/expr.c (eval4): Detect overflow properly when multiplying
+ INTMAX_MIN * -1.
+
+2006-06-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: The 'expr' command now detects and reports integer overflow.
+ (It would be better to use extended precision instead, but that
+ would be more work.)
+ * src/expr.c (integer_overflow): New function.
+ (eval4, eval3): Check for integer overflow.
+
+2006-06-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix problems when building with Solaris/SVR4/etc. make, which uses a
+ different and somewhat bogus implementation of VPATH. In the
+ directory tests/misc, rename tests whose names might appear in the
+ Automake-generated rules. For example, we can't use a test named
+ 'test', since Automake generates a rule that contains the text
+ "if test -f ./$$tst; ...", and this might expand to something like
+ "if ../../../coreutils-6.0/tests/misc/test -f ./$$test; ...",
+ which executes the 'test' script rather than the 'test' command.
+ * tests/misc/false-status: Renamed from tests/misc/false.
+ * tests/misc/pwd-long: Renamed from tests/misc/pwd.
+ * tests/misc/sort-merge: Renamed from tests/misc/sort.
+ ($prog): Set to 'sort' rather than to $PROG.
+ * tests/misc/test-diag: Renamed from tests/misc/test.
+ * tests/misc/Makefile.am (PROG): Take the basename of $$tst,
+ in case Solaris make has prepended the directory.
+ (TESTS): Adjust to above renamings.
+ * tests/misc/expand: Don't assign to PROG; no longer needed
+ now that Makefile.am sets PROG to the basename.
+ * tests/misc/fold: Likewise.
+
+2006-06-03 Jim Meyering <jim@meyering.net>
+
+ Make `cp --link --no-dereference' work also on systems where the
+ link system call cannot create a hard link to a symbolic link.
+ * src/copy.c (copy_internal) [LINK_FOLLOWS_SYMLINKS]: Don't use
+ the link syscall on a symlink when it would do the wrong thing.
+ Based on the patch by Aurelien Jarno: <http://bugs.debian.org/329451>
+ * tests/cp/link-no-deref: New file/test for the above.
+ * tests/cp/Makefile.am (TESTS): Add link-no-deref.
+ * NEWS: Mention the change (doesn't affect Linux).
+
+2006-06-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix some porting problems in the test cases reported by
+ Ralf Wildenhues for HP-UX 11.23 in:
+ http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00238.html
+ * tests/help-version: Don't assume that \< \> works in sed.
+ * tests/misc/close-stdout: Don't assume that >&- works.
+ Add a /dev/full test.
+ * tests/touch/no-create-missing: Don't assume that >&- works.
+
+2006-05-30 Jim Meyering <jim@meyering.net>
+
+ * src/ls.c (usage): Add `v' to the list of sorting-related options.
+ From Justin Pryzby.
+
+2006-05-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * tests/cp/fail-perm: source lang-default.
+ * tests/rm/inaccessible: Likewise.
+
+2006-05-28 Jim Meyering <jim@meyering.net>
+
+ * tests/rm/inaccessible: AIX 4.3.3 gives a different diagnostic.
+ Recognize it, too. Reported by Ralf Wildenhues, in
+ http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00192.html
+
+2006-05-27 Jim Meyering <jim@meyering.net>
+
+ * src/chgrp.c: Support new options: --preserve-root and
+ --no-preserve-root. Somehow this program was skipped when those
+ options were added to chown, chmod, and rm. Reported by
+ vaqflabuopac@spammotel.com in <http://bugs.debian.org/365656>.
+ * NEWS: Mention this.
+
+2006-05-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Remove mention of --seed. We'll replace it with something
+ better, and don't want to indicate that it is supported.
+ * src/sort.c (usage): Likewise.
+
+2006-05-20 Jim Meyering <jim@meyering.net>
+
+ * src/chmod.c (main): Use FTS_PHYSICAL here, too.
+
+ * src/du.c (main): Rename local, s/symlink_deref_bit/symlink_deref_bits/
+ and arrange for -D to set fts' FTS_PHYSICAL bit as well as
+ FTS_COMFOLLOW. Spotted by Justin Pryzby.
+
+ * gnupload: Merge changes from automake, retaining the ""--to...
+ kludge to placate overzealous `make distcheck' check.
+
+2006-05-19 Jim Meyering <jim@meyering.net>
+
+ * src/du.c (main): Don't let -D, -L, or -P turn off the internal
+ FTS_TIGHT_CYCLE_CHECK directory traversal option.
+ Reported by Justin Pryzby in http://bugs.debian.org/367691
+
+2006-05-15 Jim Meyering <jim@meyering.net>
+
+ * src/cp.c (usage): Correct description of -a: s/-dpR/-dpPR/.
+ From Tomas Pospisek.
+
+2006-05-13 Jim Meyering <jim@meyering.net>
+
+ * tests/mv/no-target-dir: Test two more cases.
+
+2006-05-11 Jim Meyering <jim@meyering.net>
+
+ mv -T DIR EMPTY_DIR no longer fails unconditionally
+ * src/copy.c (copy_internal): Don't manually prohibit a move where
+ the destination is an existing directory. Sometimes doing that is
+ valid. Let the rename system call enforce the rules. That is
+ allowed only when the source is a directory and the destination
+ directory (to be replaced) is empty. Reported by Eric Blake.
+ * tests/mv/no-target-dir: New file/test for this.
+ * tests/mv/Makefile.am (TESTS): Add no-target-dir.
+ * NEWS: Mention this.
+
+ * tests/mv/atomic: New file/test for yesterday's fix.
+ * tests/mv/Makefile.am (TESTS): Add atomic.
+
+ * tests/du/long-sloop: Avoid harmless `ambiguous redirect' diagnostic.
+
+2006-05-10 Jim Meyering <jim@meyering.net>
+
+ * src/copy.c (copy_internal): Don't explicitly unlink the destination
+ when moving a symlink into the place of an existing non-directory.
+ Reported by Joshua Hudson.
+ * NEWS: mention this.
+
+2006-05-07 Jim Meyering <jim@meyering.net>
+
+ * Makefile.maint (patch-check): Fail if patch generates any output,
+ even merely for changed offsets.
+
+ * src/c99-to-c89.diff: Adjust to reflect new offsets.
+
+ * NEWS: Mention changes affecting df, pwd, shred.
+
+2006-05-06 Jim Meyering <jim@meyering.net>
+
+ * tests/ls/stat-vs-dirent: New test, to detect the bogus file
+ system condition where dirent.d_ino != stat.st_ino.
+ * tests/ls/Makefile.am (TESTS): Add stat-vs-dirent.
+
+2006-05-06 Eric Blake <ebb9@byu.net>
+
+ * tests/ls/inode: Expand to test inode from readdir case.
+ * tests/ls/follow-slink: Expand to test broken links encountered
+ implicitly, favoring Solaris 9 and OpenBSD 3.4 behavior.
+
+2006-05-06 Eric Blake <ebb9@byu.net>
+
+ * tests/mv/leak-fd: Work even on case-insensitive file system.
+
+2006-05-04 Jim Meyering <jim@meyering.net>
+
+ * NEWS: Mention the 2006-03-19 pwd-related change that makes
+ lib/getcwd.c work around inconsistent file system dirent.d_ino data.
+
+2006-05-03 Jim Meyering <jim@meyering.net>
+
+ * src/ls.c (DEFINE_SORT_FUNCTIONS, LIST_SORTFUNCTION_VARIANTS):
+ Use better macro parameter names: s/basename/key_name/,
+ s/basefunc/key_cmp_func. Fix typo in comment.
+
+2006-04-29 Eric Blake <ebb9@byu.net>
+
+ * src/ls.c (main): On systems with d_type, directories_first only
+ implies format_needs_type, not format_needs_stat.
+
+2006-05-03 Jim Meyering <jim@meyering.net>
+
+ * src/ls.c (xstrcoll_df_version, rev_xstrcoll_df_version): Add space
+ after comma in arg list, from Eric Blake.
+
+2006-04-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ * tests/misc/date (relative-3): New test, derived from a bug
+ report by John Thomas McDole.
+
+2006-04-23 Francesco Montorsi <fr_m@hotmail.com>
+
+ New option for ls: --group-directories-first.
+ It makes ls list directories before files.
+ * NEWS [New features]: Mention it.
+ * src/ls.c (sort_type): Rearrange to use as an array index when
+ choosing sort function; added new sort_numtypes member for
+ compile-time check.
+ (time_type): Add new time_numtypes member for compile-time check.
+ (directories_first): New global variable.
+ (GROUP_DIRECTORIES_FIRST_OPTION): New enum.
+ (long_options): Add --directories-first.
+ (main): Support new option.
+ (is_directory): New function.
+ (extract_dirs_from_files): Use it.
+ (DIRFIRST_CHECK, DEFINE_SORT_FUNCTIONS)
+ (LIST_SORTFUNCTION_VARIANTS): New macros.
+ (sort_functions): New global variable.
+ (sort_files): Use it.
+ (usage): Document new option.
+
+2006-04-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/shred.c (fillrand): The assertion was way too weak, due to
+ what must be a typo. Strengthen it to its intended value.
+ (dopass): Don't use alloca; it's not worth the aggravation here,
+ since it's used only to get a page-aligned buffer, and page
+ alignment doesn't buy us much here. I'm suspicious that alloca
+ causes problems on some hosts, due to a recent bug report by Adam
+ Waltman: http://bugs.gentoo.org/130246.
+
+2006-04-18 Jim Meyering <jim@meyering.net>
+
+ * tests/misc/tty-eof: Add new programs, base64, sha224sum, sha256sum,
+ sha384sum, sha512sum.
+
+2006-04-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/chmod.c (describe_change): Adjust to filemode changes.
+ * src/ls.c (HAVE_ST_DM_MODE): Remove; moved to ../lib/filemode.c.
+ (print_long_format): Use (new) filemodestring rather than
+ (old) mode_string, so that we get more file types right, at least
+ in theory. Adjust to filemode changes.
+ * src/stat.c (human_access): Likewise.
+
+2006-04-18 Jim Meyering <jim@meyering.net>
+
+ * src/ptx.c (main) [DEFAULT_IGNORE_FILE]: Remove code to use a default
+ ignore file. This has never been enabled. Reported by Eric Blake.
+
+2006-04-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/ln.c (linkfunc): Remove. This method ran into a compiler/linker
+ bug in Interix. Just call symlink or link directly. All uses changed.
+ * src/setuidgid.c (main) [! HAVE_SETGROUPS]: Don't call setgroups.
+ * src/stat.c (USE_STATVFS): New macro.
+ Include <sys/statvfs.h> and use statvfs only if USE_STATVFS.
+ (NAMEMAX_FORMAT): define a bit more clearly, now that the
+ statvfs-using code is a bit more regular.
+ * src/system.h (sync) [!HAVE_SYNC]: New macro.
+
+2006-04-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: csplit, nl, expr now conform to POSIX better, and are
+ more-compatible with traditional Unix, with respect to regular
+ expressions.
+ * src/csplit.c (extract_regexp): Set re_syntax_options to a
+ value that is compatible with what POSIX requires.
+ * src/nl.c (build_type_arg): Likewise.
+ * src/expr.c (docolon): Likewise. Also, don't let anchors match
+ newline; this fixes an incompatibility with tradition and with POSIX.
+ Don't warn about leading ^. POSIX says it is unspecified whether
+ ^ is a special character, which means that implementations can
+ either treat it as special or not, but either way a warning is not
+ allowed (unless the regexp is otherwise invalid). Instead, anchor
+ the expression but treat ^ as an anchor; this is the traditional
+ behavior (e.g., Solaris 10).
+ (eval4, eval3, eval2): Treat non-numeric args, division by zero,
+ and the like as invalid expressions (exit status 2), not as
+ failure of 'expr' (exit status 3). This is more consistent with
+ how Solaris behaves.
+ * tests/expr/basic (fail-a): Adjust exit status to match new expr
+ behavior, for status 2 versus 3.
+ (anchor): New test.
+ (bre1, bre2, bre3, bre4, bre5, bre6, bre7, bre8, bre9, bre10):
+ (bre11, bre12, bre13, bre14, bre15, bre16, bre17, bre18, bre19, bre20):
+ (bre21, bre22, bre23, bre24, bre25, bre26, bre27, bre28, bre29, bre30):
+ (bre31, bre32, bre33, bre34, bre35, bre36, bre37, bre38, bre39, bre40):
+ (bre41, bre42, bre43, bre44, bre45, bre46, bre47, bre48, bre49, bre50):
+ (bre51, bre52, bre53, bre54, bre55, bre56, bre57, bre58, bre59, bre60):
+ (bre61, bre62): New tests.
+ * tests/misc/csplit: Use \{...\} in test RE, to test that we're
+ conforming to POSIX.
+
+ Port to Solaris 8.
+ * tests/du/long-from-unreachable: Solaris 8 sh doesn't understand
+ "if !". Do not assume that 'sed' can handle long, newline-free input.
+ * tests/du/long-sloop: Likewise. Evaluate expr once, not $n times.
+
+2006-04-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ Adjust to new regex.h API (with new fastmap type), and clean
+ up the regex storage allocation a bit.
+
+ * src/csplit.c (struct control): Put re_compiled member at the
+ end, since it's large. Change regexpr member from char * to bool;
+ all uses changed. Add new member fastmap.
+ (extract_regexp): regexp arg is now char const *, not char *.
+ Don't bother duplicating the regular expression; it's not needed.
+ Set fastmap from new fastmap member. Don't bother allocating
+ a buffer, as the regexp code does a better job than we do.
+ * src/expr.c (docolon): Allocate and use a fastmap.
+ Don't bother allocating a buffer.
+ * src/nl.c (body_fastmap, header_fastmap, footer_fastmap):
+ New vars.
+ (build_type_arg): New fastmap arg. All uses changed.
+ Don't bother allocating a buffer, but set a fastmap.
+ * src/ptx.c (context_regex_string, word_regex_string): Remove.
+ (context_regex, word_regex): New vars, replacing the above.
+ All uses changed.
+ (struct regex_data): New type.
+ (compile_regex): Renamed from alloc_and_compile_regex, since
+ we no longer allocate storage. Arg is now a struct regex_data *,
+ not a const char *. All uses changed. Don't allocate the fastmap;
+ instead, take it from the caller. Don't convert size_t to int,
+ to avoid arithmetic overflow problems. Don't bother freeing
+ storage afterwards; it's not worth the aggravation.
+ * src/tac.c (compiled_separator_fastmap): New ver.
+ (main): Use it. Don't bother allocating a buffer.
+
+2006-03-30 Jim Meyering <jim@meyering.net>
+
+ * src/dd.c (iwrite): Remove assignment without effect.
+ Reported by Felix Rauch Valenti.
+
+2006-03-22 Eric Blake <ebb9@byu.net>
+
+ * src/ptx.c (usage): Remove mention of --copyright/-C.
+ (main): Alias --copyright to --version plus a deprecation warning.
+ * NEWS: Mention this.
+
+2006-03-27 Jim Meyering <jim@meyering.net>
+
+ * src/Makefile.am (uptime_LDADD): Add $(POW_LIB), for uptime's
+ use of strtod. Tiny patch from Nickolai Zeldovich.
+
+2006-03-11 Eric Blake <ebb9@byu.net>
+
+ * tests/misc/dirname: New file.
+ * tests/basename/Makefile.am: Delete.
+ * tests/basename/basic: Move to...
+ * tests/misc/basename: ... this new file. Add some tests,
+ including fixed behavior for //.
+ * tests/misc/Makefile.am (TESTS): Sort. Add basename, dirname.
+ * tests/Makefile.am (SUBDIRS): Remove basename.
+ * configure.ac (AC_CONFIG_FILES): Remove tests/basename.
+
+ Improvements to dirname/basename handling on platforms like
+ cygwin with distinct // and with drive letters.
+ * NEWS: Document new behavior.
+ * src/basename.c (main): Don't strip suffix from file system
+ roots.
+ * src/cp.c (target_directory_operand): Use new last_component.
+ (ASSIGN_BASENAME_STRDUPA): Likewise. Reduce time spent
+ traversing the string.
+ * src/dircolors.c (guess_shell_syntax): Use new last_component.
+ * src/install.c (target_directory_operand, install_file_in_dir):
+ Likewise.
+ * src/ln.c (target_directory_operand, main): Likewise.
+ * src/ls.c (basename_is_dot_or_dotdot): Likewise.
+ * src/mv.c (target_directory_operand, movefile): Likewise.
+ * src/remove.c (rm_1): Likewise.
+ * src/shred.c (wipename): Likewise.
+ * src/split.c (next_file_name): Likewise.
+ * src/su.c (log_su, run_shell): Likewise.
+
+2006-03-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: nohup diagnostics are now more precise, and nohup now
+ redirects stderr to nohup.out if stdout is closed and stderr is a tty.
+ * src/nohup.c (main): Implement this.
+ * tests/misc/nohup: Test the new behavior.
+
+2006-03-12 Jim Meyering <jim@meyering.net>
+
+ * src/copy.c (set_author): Rename function, from preserve_author.
+
+ * src/remove.c (AD_pop_and_chdir): Use new macro,
+ CYCLE_CHECK_REFLECT_CHDIR_UP, rather than open-coding it.
+
+ * src/system.h (SAME_INODE): Remove definition.
+ Include "same-inode.h", instead.
+
+2006-03-11 Eric Blake <ebb9@byu.net>
+
+ * src/pwd.c (robust_getcwd): Prepend only one slash, not two.
+
+2006-03-10 Jim Meyering <jim@meyering.net>
+
+ Fix a bug whereby a user with write access to a directory being removed
+ could cause the removal of that directory to fail with an erroneous
+ diagnostic about a directory cycle. Reported by Vineet Chadha.
+
+ * NEWS: Mention this.
+ * src/remove.c (AD_pop_and_chdir): If the directory we're about to
+ leave (and try to rmdir) is the one whose dev_ino is being used to
+ detect a cycle, reset cycle_check_state.dev_ino to that of the parent.
+
+2006-03-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Document dd's new 'directory' and 'nolinks' flags.
+ * src/dd.c (set_fd_flags): Handle file-creation flags on file
+ descriptors, rather than ignoring them.
+ * tests/dd/misc: Add test cases for append, nofollow, directory,
+ and nolinks flags. Simplify redirection to /dev/null in some cases.
+
+ * tests/dd/misc: iflags->iflag. This fixes a typo that meant the
+ noatime test never tested anything.
+
+2006-03-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/dd.c (flags, usage): New flags directory, nolinks.
+ * src/system.h (O_NOLINKS): Define to 0 if not already defined.
+
+ * src/ls.c (usage): Mention that -f disables --color.
+ Problem reported by Niels Möller.
+
+2006-03-03 Justin Pryzby <pryzbyj@justinpryzby.com>
+
+ * man/*.x: Add references to syscalls from utilities of the same name.
+
+2006-03-05 Jim Meyering <jim@meyering.net>
+
+ * tests/help-version: Set SHELL, if not already set, in order to
+ avoid failure when `make check' is run through debuild; dircolors
+ would fail due to lack of $SHELL. Reported by Sven Joachim.
+
+ Make `base64 --wrap=N' work for N=0, and for N larger than SIZE_MAX.
+ * src/base64.c (wrap_write, do_encode, main): Change type of
+ parameters and locals, wrap_column, form size_t to uintmax_t.
+ (main): Adjust to use xstrtoumax, accordingly.
+
+2006-03-03 Jim Meyering <jim@meyering.net>
+
+ Don't fail when run from an environment with SHELL not a Bourne
+ shell, e.g. `env SHELL=/bin/csh make check' would fail this test.
+ * tests/dircolors/simple: Invoke each non-failing test with -b.
+ Reported by Michael Stone.
+
+2006-02-27 Jim Meyering <jim@meyering.net>
+
+ * tests/misc/base64: Derive --decode-using tests from the
+ encode-based ones.
+
+ * tests/misc/base64: Factor out a long constant string.
+ Split lines to stay within 80 columns.
+
+ * tests/misc/Makefile.am (TESTS): Add base64.
+ * tests/misc/base64: Test base64. From Simon Josefsson.
+
+ * src/base64.c (do_decode): Use correct type for parameter,
+ ignore_garbage: s/size_t/bool/.
+
+ * src/base64.c: Don't include .h files already included by system.h:
+ <string.h>, <stdlib.h>, <stdbool.h>, <limits.h>, <errno.h>.
+ Include "system.h" before the other lib/*.h header files.
+ Include <sys/types.h> before "system.h".
+ (wrap_write): Remove declaration of unused local, initial_column.
+ (wrap_write): Correct declaration syntax: s/size_t * V/size_t *V/.
+
+ * README: Add base64 to the list.
+
+2006-02-17 Simon Josefsson <jas@extundo.com>
+
+ New program: base64.
+ * AUTHORS: Mention base64.
+ * NEWS: Likewise.
+ * man/Makefile.am: Build base64.1.
+ * man/base64.x: New file.
+ * src/Makefile.am (bin_PROGRAMS): Add base64.
+ * src/base64.c: New file.
+
+2006-02-25 Eric Blake <ebb9@byu.net>
+
+ In ls, avoid calling stat for --inode (-i), when possible.
+ * src/pwd.c (NOT_AN_INODE_NUMBER, D_INO): Move to ...
+ * src/system.h: ... here, for use in ...
+ * src/ls.c (main): ... here. Prefer dirent.d_ino to stat when
+ possible.
+ (gobble_file): Add inode argument.
+ (print_dir): Pass inode if available.
+ (usage): Remove inaccuracy.
+
+2006-02-23 Jim Meyering <jim@meyering.net>
+
+ * TODO: Update/correct some obsolete entries.
+
+2006-02-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ * doc/coreutils.texi (join invocation): Mention `sort -k 1b,1'.
+ * src/join.c (usage): Likewise.
+ Documentation problem reported by Philip Kensche.
+
+2006-02-20 Eric Blake <ebb9@byu.net>
+
+ * man/rm.x: Update documentation to match previous patch.
+
+2006-02-18 Eric Blake <ebb9@byu.net>
+
+ New option for rm: --interactive=once (-I).
+ * NEWS: Document it, along with change to rm --interactive.
+ * TODO: Remove entry for implementing rm -I
+ * src/rm.c (INTERACTIVE_OPTION): New enum value.
+ (interactive_type): New enum.
+ (long_opts): Let interactive take an optional argument.
+ (interactive_args, interactive_types): New option arguments.
+ (usage): Document -I, --interactive=WHEN. Use program_name
+ instead of a basename.
+ (main): New -I option, new behavior to --interactive.
+ * tests/rm/interactive-once: New tests.
+ * tests/rm/interactive-always: Ditto.
+ * tests/rm/Makefile.am (TESTS): Run them.
+
+2006-02-18 Jim Meyering <jim@meyering.net>
+
+ * Makefile.maint (sc_two_space_separator_in_usage): Make the regular
+ expression match more of the target lines, e.g., those that start with
+ `-S,' (short option followed by a comma) or that include `=[...]'.
+ Patch by Nicolas François.
+ Fix the four offenders thus exposed:
+ * src/join.c (usage): Use two spaces (not one) to separate the
+ --first-only option string from its description, so help2man formats
+ the derived man page properly.
+ * src/pr.c (usage): Likewise.
+ * src/uniq.c (usage): Likewise.
+ * src/install.c (usage): Likewise.
+
+2006-02-15 Jim Meyering <jim@meyering.net>
+
+ * Makefile.maint (alpha beta major): For `make major', ensure that the
+ version string is of the form N.N[.N]*, where N is one or more digits.
+
+2006-02-14 Jim Meyering <jim@meyering.net>
+
+ * INSTALL: Update from gnulib.
+
+2006-02-13 Jim Meyering <jim@meyering.net>
+
+ * GNUmakefile (all): Emit diagnostics to stderr, not stdout.
+
+2006-02-12 Jim Meyering <jim@meyering.net>
+
+ * Makefile.maint (patch-check): New target.
+ (local-checks-available): Add to the list.
+
+2006-02-11 Jim Meyering <jim@meyering.net>
+
+ * src/c99-to-c89.diff: New file.
+ * src/Makefile.am (EXTRA_DIST): Add c99-to-c89.diff.
+
+ * .x-po-check: New file, with exclusions so that `make distcheck'
+ passes once again.
+ * Makefile.am (EXTRA_DIST): Add .x-po-check.
+
+ rm -r must remove an empty directory, even if it is inaccessible.
+ * src/remove.c (close_preserve_errno): New function.
+ (fd_to_subdirp): Don't print a diagnostic in this function.
+ Do it from the callers instead, unless rmdir succeeds.
+ (remove_cwd_entries, remove_dir): Adjust callers.
+ * tests/rm/empty-inacc: New test for the above.
+ * tests/rm/Makefile.am (TESTS): Add empty-inacc.
+ * NEWS: Mention this bug fix.
+ * tests/rm/rm2: Adjust two expected diagnostics, now that they're
+ a tiny bit less precise: cannot remove `a/1': ... instead of
+ cannot open directory `a/1': ...
+
+ * Makefile.maint (syntax-check-rules): Automatically derive this
+ list of sc_-prefixed rule names.
+
+2006-02-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ * Makefile.maint (CVS_LIST): Don't assume cvsu is available.
+ (CVS_LIST_EXCEPT): New macro, to simplify exception-processing.
+ Most uses of CVS_LIST changed to use CVS_LIST_EXCEPT.
+ (syntax-check-rules): Bring back sc_changelong. (Hmm, why did it
+ go away? was that an accident?)
+ (sc_cast_of_argument_to_free, sc_cast_of_x_alloc_return_value):
+ (sc_cast_of_alloca_return_value, sc_space_tab, sc_prohibit_atoi_atof):
+ (sc_error_exit_success, sc_file_system, sc_no_if_have_config_h):
+ (sc_system_h_headers, sc_sun_os_names, sc_trailing_blank):
+ (sc_two_space_separator_in_usage, sc_unmarked_diagnostics):
+ (sc_obsolete_symbols, sc_changelog, sc_prohibit_jm_in_m4):
+ (sc_useless_cpp_parens, makefile-check, m4-check, po-check):
+ (author_mark_check, makefile_path_separator_check):
+ Output line numbers, to simplify navigation of Emacs *compilation*
+ buffers.
+ (sc_prohibit_atoi_atof, sc_file_system):
+ Rework slightly so that Makefile.maint doesn't get reported as a
+ violation of its own syntax rules.
+ (sc_dd_max_sym_length): Use ifneq to do nothing, instead of doing
+ it at run-time (which didn't work with Bison). Fix a makefile typo,
+ caught by Makefile.maint itself: spaces where a tab should be.
+ (po-check): Check lib/*.[ch] even if not in CVS; used by Bison,
+ which copies from ../gnulib/lib/*.[ch] to lib/*.[ch].
+ Ignore djgpp and man subdirectories, to avoid false matches with
+ Bison and coreutils, respectively. Use sort -u to remove the
+ resulting duplicates.
+ * gnupload: Rework slightly to avoid bogus warning from
+ sc_two_space_separator_in_usage.
+
+2006-02-10 Jim Meyering <jim@meyering.net>
+
+ Use gzip's --rsyncable option only if it's available.
+ * Makefile.maint (gzip_rsyncable): New variable.
+ (GZIP_ENV): Use it.
+
+2006-02-08 Jim Meyering <jim@meyering.net>
+
+ * Makefile.maint (local-checks-available): Define in terms of
+ the expansion, $(syntax-check-rules), rather than the single,
+ top-level target `syntax-check', so that it's easier to exclude
+ individual rules (via $(local-checks-to-skip)).
+ (tgz-md5, tgz-sha1, ...): Remove now-unused definitions.
+
+2006-02-07 Jim Meyering <jim@meyering.net>
+
+ * src/system.h (!defined O_DIRECT): If O_DIRECTIO is defined (as it
+ is on Tru64), define O_DIRECT to that. Patch From James Lemley.
+
+ * tests/help-version (expected_failure_status_vdir):
+ Redirect an expected disk-full diagnostic to /dev/null.
+
+2006-02-06 Jim Meyering <jim@meyering.net>
+
+ * src/unexpand.c (usage): Use two spaces (not one) to separate the
+ --first-only option string from its description, so help2man formats
+ the derived man page properly.
+ * src/rm.c (usage): Likewise for --no-preserve-root.
+ * src/chown.c (usage): Likewise.
+ * src/chgrp.c (usage): Likewise.
+
+ Add a rule to ensure that the above doesn't happen again.
+ * Makefile.maint (sc_two_space_separator_in_usage): New rule.
+ (syntax-check-rules): Add it.
+ * .x-sc_two_space_separator_in_usage: New empty file.
+ * Makefile.am (EXTRA_DIST): Add .x-sc_two_space_separator_in_usage.
+
+2006-02-06 Jim Meyering <jim@meyering.net>
+
+ * src/cp.c (usage): Use two spaces (not one) to separate each
+ option string from its description, so help2man formats the
+ derived man page properly.
+ * src/mv.c (usage): Likewise.
+ Patch from Nicolas François in http://bugs.debian.org/351601.
+
+2006-02-04 Jim Meyering <jim@meyering.net>
+
+ * src/copy.c (copy_internal): cp -RL would fail when encountering
+ the same directory more than once in the hierarchy beneath a single
+ command-line argument. That is legitimate, e.g. when there are
+ two or more symbolic links, each pointing to some directory that
+ would not otherwise be copied. Reported by Christophe LYON.
+ * tests/cp/cp-deref: New file. Test for today's fix.
+ * tests/cp/Makefile.am (TESTS): Add cp-deref.
+ * NEWS: Document this.
+
+2006-02-03 Jim Meyering <jim@meyering.net>
+
+ * configure.ac: Require automake-1.9.6, not 1.8.3.
+
+2006-02-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/od.c (usage): Mention that -t a ignores high order bit.
+ Documentation problem reported by Ed Avis.
+
+2006-02-01 Jim Meyering <jim@meyering.net>
+
+ * src/pwd.c (find_dir_entry): Remove unused local, `ent_sb_valid'.
+
+2006-01-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/head.c (main): Use a better diagnostic when someone uses a
+ trailing numeric option in an invalid way. Problem reported by
+ Karl Berry.
+ * src/tail.c (parse_options): Likewise.
+
+2006-01-30 Jim Meyering <jim@meyering.net>
+
+ * man/wc.x: Include `count' keyword in man page synopsis,
+ per suggestion from http://bugs.debian.org/181585.
+
+2006-01-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/df.c (show_dev): If the file system claims to have
+ more available than total blocks, report the number of used
+ blocks as being total - available (a negative number) rather
+ than as garbage. Problem reported by Toralf Foerster.
+
+2006-01-24 Jim Meyering <jim@meyering.net>
+
+ * src/tail.c (tail_forever): Don't exit-nonzero when an attempt
+ to put a regular file in O_NONBLOCK mode fails with EPERM.
+ That happens on Linux (up to 2.6.15) when using tail -f on a file with
+ the append-only attribute. Reported by Dean Gaudet. For details,
+ see http://savannah.gnu.org/bugs/?func=detailitem&item_id=15473.
+ * NEWS: Mention this fix.
+ * tests/tail-2/append-only: New file. Test for the above.
+ * tests/tail-2/Makefile.am (TESTS): Add append-only.
+ * tests/Makefile.am (check-root): Add tail-2/append-only
+
+2006-01-21 Jim Meyering <jim@meyering.net>
+
+ * NEWS: Mention fts-related improvements and bug fixes.
+
+2006-01-19 Jim Meyering <jim@meyering.net>
+
+ * tests/fmt/basic (pfx-1, pfx-2): New tests, to demonstrate the bug
+ reported as http://bugs.debian.org/147577. Forwarded by Thomas Hood.
+
+2006-01-18 Jim Meyering <jim@meyering.net>
+
+ * tests/du/Makefile.am (TESTS): Add long-from-unreadable.
+
+2006-01-17 Jim Meyering <jim@meyering.net>
+
+ Now that fts no longer changes the current working directory, adjust
+ its clients accordingly -- note that du.c uses fts but doesn't need
+ any adjustment, since it doesn't operate on the actual files,
+ but rather just uses the stat buffers provided by fts.
+
+ * src/chown-core.c: Include "openat.h".
+ Don't include "lchown.h".
+ (restricted_chown): Accept a new parameter, CWD_FD, and use it in
+ calling openat, lchownat, chownat, rather than open, lchown, chown.
+ Update caller.
+ * src/chmod.c: Include "openat.h".
+ (process_file): Use chmodat (fts->fts_cwd_fd,... in place of chmod (...
+
+ * tests/du/long-from-unreadable: New test, to exercise one small
+ corner of fts.c.
+
+2006-01-13 Jim Meyering <jim@meyering.net>
+
+ * tests/Makefile.am (SUBDIRS): Add comments discouraging the
+ addition of new directories under tests/.
+
+ * tests/acl: Redirect stdin to /dev/null. Otherwise, FreeBSD 5.0's
+ getfacl would hang.
+
+2006-01-12 Jim Meyering <jim@meyering.net>
+
+ * tests/du/long-sloop: Adjust not to hard-code the expected
+ diagnostic corresponding to ELOOP. Solaris' diagnostic differs
+ from that of GNU libc. Reported by Paul Eggert.
+
+ * tests/du/long-sloop: Create file at end of symlink chain.
+
+ * tests/misc/test: New file, with a test for one of the
+ bugs fixed by yesterday's test.c changes.
+ * tests/misc/Makefile.am (TESTS): Add test.
+
+2006-01-11 Jim Meyering <jim@meyering.net>
+
+ * tests/du/long-sloop: New file. Test for today's fts.c bug fix.
+ That bug could make du -L, chgrp -L, or chown -L fail to diagnose
+ a very long sequence of symbolic links (not necessarily a loop).
+ * tests/du/Makefile.am (TESTS): Add long-sloop.
+
+2006-01-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/test.c (test_syntax_error): Append a newline. All callers
+ changed, except for the ones that didn't already append a newline.
+ Bug reported by Eric Blake.
+
+2006-01-11 Jim Meyering <jim@meyering.net>
+
+ * src/system.h (X2NREALLOC): Now that verify_true is no longer
+ void, cast its result to void, to avoid gcc's warning that
+ ``left-hand operand of comma expression has no effect''.
+ (DECIMAL_DIGIT_ACCUMULATE, X2REALLOC): Likewise.
+
+2006-01-10 Jim Meyering <jim@meyering.net>
+
+ * tests/chmod/no-x: Add a test for today's fts.c fix.
+
+2006-01-10 Jim Meyering <jim@meyering.net> (tiny change)
+
+ * src/ls.c (gobble_file): Use DTTOIF only if it's defined.
+ This is necessary for Dragonfly. Patch by Joerg Sonnenberger.
+
+2006-01-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/system.h (X2NREALLOC, X2REALLOC, DECIMAL_DIGIT_ACCUMULATE):
+ Use verify_true instead of verify_expr, to sync with gnulib.
+
+2006-01-08 Jim Meyering <jim@meyering.net>
+
+ * src/date.c (usage): Adjust the formatting of the entries for
+ %::z and %:::z (separate with two spaces, not one) so that help2man
+ formats them properly. Reported by Philip Rowlands.
+
+2006-01-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ * configure.ac (gl_IGNORE_UNUSED_LIBRARIES): Add.
+
+2006-01-06 Jim Meyering <jim@meyering.net>
+
+ * Makefile.maint (copyright-check): Use date +%Y in place of
+ hard-coded 2005.
+
+ * src/remove.c (rm_1): Remove `static' attribute on local `status'.
+ First off, the attribute should have been `volatile' (not static)
+ to avoid longjmp-related risk of clobber. Secondly, now there is
+ no longer any risk of a local variable being clobbered, so there's
+ no need for any attribute at all.
+
+2006-01-05 Jim Meyering <jim@meyering.net>
+
+ * src/remove.c: Give a few functions the inline attribute.
+ (AD_pop_and_chdir): Use gotos to avoid some duplication.
+ (AD_push): Rewrite an assertion so that the entire computation
+ goes away when assertions are turned off.
+
+ * src/tail.c (ENOSYS) [!defined ENOSYS]: Don't define here.
+ It's already defined in "system.h".
+ * Makefile.maint: Add a FIXME comment.
+
+2006-01-04 Jim Meyering <jim@meyering.net>
+
+ * ChangeLog: Remove entries from 2005-10-22 and earlier.
+ * ChangeLog-2005: New file, for entries up to version 5.92.
+
+2006-01-03 Jim Meyering <jim@meyering.net>
+
+ * tests/du/no-x: Also allow a slightly different diagnostic -- the
+ one you get when using openat-enabled fts.c and du (coming soon).
+ * tests/chmod/no-x: Likewise.
+ * tests/chgrp/no-x: Likewise.
+
+ * src/system.h (O_DIRECTORY) [!defined O_DIRECTORY]: Define.
+
+2006-01-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/chown-core.c (RC_do_ordinary_chown): New enum value.
+ (restricted_chown): Return it, if the file cannot be accessed due
+ to EPERM, or if no uid or gid are required, or if the file is
+ neither a directory nor a regular file. Rewrite to avoid gotos.
+ (change_file_owner): Handle RC_do_ordinary_chown case.
+ Rewrite to avoid gotos.
+ * tests/chgrp/basic: Make sure we can change the group of
+ inaccessible files.
+
+ * src/date.c (usage): Explain %g, %G, and %V a bit better.
+
+2006-01-02 Jim Meyering <jim@meyering.net>
+
+ * src/copy.c (set_owner): Correct a comment.
+
+ * src/tail.c (parse_options): Change warning to say that --retry
+ is useful `mainly' (not `only') when following by name.
+ Reported here: http://bugs.debian.org/273781
+
+2006-01-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Document that mkfifo and mknod -m no longer set special bits.
+ * src/copy.c: Include lchmod.h.
+ (copy_internal): Use lchmod rather than chmod.
+ * src/cp.c: Include lchmod.h.
+ (re_protect, make_dir_parents_private): Use lchmod rather than chmod.
+ * src/mkdir.c: Include lchmod.h.
+ (usage): Clarify -m's operation.
+ (main): Use lchmod rather than chmod. Don't use lchmod unless the
+ new mode contains bits outside the 777 range.
+ * src/mkfifo.c (usage): Clarify -m's operation.
+ (main): If -m is given, don't invoke chmod; use umask 0 instead.
+ Report an error if -m asks for bits outside the 777 range.
+ * src/mknod.c (usage, main): Likewise.
+
+ * src/mkdir.c, src/mkfifo.c, src/mknod.c: Undo 2005-12-19 changes.
+
+2005-12-27 Jim Meyering <jim@meyering.net>
+
+ * Makefile.maint (sc_obsolete_symbols): Prohibit use of O_NDELAY.
+ (sc_prohibit_assert_without_use): New rule.
+ (syntax-check-rules): Add it to the list.
+ * .x-sc_prohibit_assert_without_use: New empty file.
+ * Makefile.am (EXTRA_DIST): Add it.
+
+ * Makefile.maint (CVS_LIST): Define in terms of $(srcdir).
+
+ * cp.c, df.c, link.c, mknod.c, nice.c, sleep.c, unlink.c:
+ Don't include <assert.h>; it wasn't used.
+
+2005-12-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/chown-core.c (restricted_chown):
+ Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
+ * src/remove.c (fd_to_subdirp): Open with O_DIRECTORY | O_NOCTTY
+ | O_NOFOLLOW too, for consistency with other dir-openers.
+ Use POSIX-preferred O_NONBLOCK rather than O_NDELAY.
+ (is_empty_dir): Likewise.
+ * src/shred.c (wipename): Likewise. Don't bother trying to open
+ dir for writing, since POSIX prohibits it.
+
+2005-12-22 Jim Meyering <jim@meyering.net>
+
+ * tests/help-version: Redirect stderr to /dev/full, to suppress
+ write error diagnostic.
+
+2005-12-19 Jim Meyering <jim@meyering.net>
+
+ * src/mkdir.c, src/mknod.c, src/mkfifo.c (main)
+ Avoid a minor race condition when `-m MODE' is specified, by using
+ open, fchown, and close rather than just chown. To do that reliably --
+ even with an overly restrictive umask -- ensure that each mkdir,
+ mknod and mkfifo call uses a mode including at least owner-read access.
+ * src/mknod.c (main): When `-m MODE' is specified, exit nonzero if
+ the subsequent chown (or equivalent open,fchown,close) fails.
+ * tests/misc/mknod: New tests.
+ * tests/misc/Makefile.am (TESTS): Add mknod.
+
+2005-12-17 Jim Meyering <jim@meyering.net>
+
+ * src/remove.c (is_empty_dir): Open with O_NDELAY, so we don't hang,
+ e.g., on a named pipe.
+ (OPEN_NO_FOLLOW_SYMLINK): Remove definition. Use O_NOFOLLOW in
+ place of all uses, since it is guaranteed (system.h) to be defined.
+
+2005-12-05 Andreas Gruenbacher <agruen@suse.de>
+
+ Add POSIX ACL support
+ * src/ls.c: Switch back from HAVE_ACL to USE_ACL: The acl() syscall
+ is no requirement for ACL support; particularly, it does not exist
+ on systems that have POSIX ACLs.
+ * src/copy.h (cp_option_init) [umask_kill]: Remove member.
+ * src/cp.c (umask_kill): With default acls, the umask is not to be
+ applied. Remove umask_kill, don't change the process umask, and let
+ the kernel apply the umask where appropriate.
+ * src/cp.c (make_dir_parents_private): Fix logic for POSIX ACLs.
+ * src/copy.c (get_dest_mode): Remove; it is obsolete after removing
+ umask_kill.
+ (copy_reg, copy_internal): Use copy_acl and set_acl
+ instead of fchown/chown. Fix the logic for POSIX ACLs.
+ (chown_succeded): Remove; we now always copy acls and
+ preserve S_ISUID, S_ISGID, and S_ISVTX when needed, no matter if we
+ did a chown before or not.
+ * src/mv.c, src/install.c (cp_option_init): Don't set umask_kill member.
+ * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD, cp_LDADD,
+ mv_LDADD, ginstall_LDADD): On systems with an ACL library, arrange
+ to link with it via $(LIB_ACL), for the utilities that need it.
+
+2005-12-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/remove.c (OPENAT_CWD_RESTORE__REQUIRE): Remove.
+ (OPENAT_CWD_RESTORE__ALLOW_FAILURE): Likewise.
+ (fd_to_subdirp): Remove openat_cwd_restore_allow_failure arg; its
+ value is now signified by whether cwd_errno is null.
+ (fd_to_subdirp, remove_dir, rm_1); Change cwd failure indicator from
+ pointer-to-bool to pointer-to-errno-value. All callers changed.
+ (rm_1): Don't bother setting a local cwd failure flag and then
+ ORing it into the caller's. Just set the caller's.
+ (rm): Use cwd failure errno value to print a slightly-better
+ diagnostic.
+
+2005-12-15 Jim Meyering <jim@meyering.net>
+
+ * src/stat.c (print_it): Properly handle a backslash at the
+ end of a --printf format string. Reported by Paul Eggert.
+ * tests/misc/stat-printf (end-bs): Add a test for the above.
+
+2005-12-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ * tests/acl: Port to pre-POSIX shells like Solaris 8 /bin/sh.
+ Don't assume /etc/passwd contains user names; use 'id' instead.
+
+2005-12-15 Jim Meyering <jim@meyering.net>
+
+ stat: revert behavior of --format=FMT (-c)
+ stat: add new option: --printf=FMT
+ * NEWS: Mention this.
+ * src/stat.c (isodigit, octtobin, hextobin): Define.
+ (PRINTF_OPTION): Define.
+ (interpret_backslash_escapes, trailing_delim): New globals.
+ (usage): Document them. Alphabetize on long option names.
+ (print_esc_char): New function.
+ (print_it): Rewrite, in order to handle backslash escapes.
+ (main): Handle new option. Set globals for --format, too.
+
+ * tests/misc/stat-printf: Test --printf and --format.
+ * tests/misc/Makefile.am (TESTS): Add stat-printf.
+
+2005-12-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: sort now reports incompatible options.
+ * src/sort.c (incompatible_options, check_ordering_compatibility):
+ New functions.
+ (main): Use them. Don't bother with a usage message for
+ "sort -c a b", for consistency with other error diagnostics.
+ * tests/sort/Test.pm (incompat1, incompat2, incompat3, incompat4):
+ New tests.
+
+ * src/cat.c (main): Undo previous change. close_stdout already
+ does the check, so the previous change wasn't necessary.
+
+2005-12-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/cat.c (main): Check for close (STDOUT_FILENO) failure.
+
+2005-12-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ Install a more-conservative approach for sort -R. It's the
+ same basic idea as the existing code, except it uses the full ISAAC
+ approach (called the "more kosher" approach in the existing comments).
+ This makes "sort -R" quite a bit slower (about a factor of 2 on my
+ little tests involving 10000 lines on a 2.4 GHz P4), but I think it's
+ better to be conservative here at first, and review any performance
+ improvements carefully.
+ * .x-sc_require_config_h: Add src/rand-isaac.c.
+ * src/rand-isaac.h: Remove. All uses now simply include rand-isaac.c.
+ * src/Makefile.am (noinst_HEADERS): Remove rand-isaac.h.
+ (shred_SOURCES, sort_SOURCES): Remove.
+ (EXTRA_DIST): Add rand-isaac.c.
+ * src/rand-isaac.c: Revert to what used to be in shred.c, without
+ changing it to allow for varying numbers of words in the state.
+ Alter so that we include rand-isaac.c directly rather than
+ compiling it and linking to it. Don't include config.h or
+ system.h; that's the includer's responsibility.
+ Omit functions that are specific to shred.
+ (ISAAC_LOG, ISAAC_WORDS, ISAAC_BYTES, struct isaac_state, ind):
+ (isaac_step, struct irand_state):
+ Resurrect these, with the same defns that used to be in shred.c.
+ (ISAAC_SIZE, isaac_new, isaac_copy): Remove.
+ (isaac_refill, isaac_seed_start, isaac_seed_data, irand_init, irand32):
+ static again.
+ (struct isaac_state, isaac_refill, isaac_mix, isaac_init):
+ (isaac_seed_start, isaac_seed_data, isaac_seed_finish, isaac_seed):
+ (irand_init, irand32, irand_mod):
+ Number of words is constant again.
+ (struct irand_state, irand_init, irand32, irand_mod): Move to shred.c.
+ * src/shred.c: Include rand-isaac.c rather than rand-isaac.h.
+ * src/sort.c: Likewise.
+ * src/shred.c (fillrand, dopass, main): Undo previous change.
+ (struct irand_state, irand_init, irand32, irand_mod): Moved back here,
+ from rand-isaac.c.
+ * src/sort.c: Don't include md5.h; it wasn't needed.
+ (struct keyfield): Rename random_hash to random, for consistency
+ with the other member names. All uses changed.
+ (usage): Tweak wording to mention STRING for --seed option.
+ (short_options): Rorder for consistency with other programs.
+ (rand_state): Now a struct, not a pointer to one. All uses changed.
+ (HASH_WORDS, HASH_SIZE): Remove.
+ (get_hash): Remove comments around resbuf size, since we can assume C89.
+ Use a "more-kosher" (but slower) approach of invoking isaac_refill.
+ (keycompare): Adjust to the new get_hash.
+ Add a FIXME.
+ (badfieldspec): Omit recently-introduced comment; it isn't needed.
+ (main): Don't set need_random simply because gkey has it set; that
+ doesn't necessarily mean we'll need random numbers.
+ Redo seeding to match new get_hash approach.
+
+2005-12-10 Jim Meyering <jim@meyering.net>
+
+ * src/Makefile.am (noinst_HEADERS): Add rand-isaac.h.
+
+ Avoid shred segfault on 64-bit systems.
+ * src/rand-isaac.c (isaac_refill): Don't try to negate a
+ local of type uint32_t. Make the local an `int' instead.
+
+ * NEWS: Mention sort's new options.
+
+ * src/rand-isaac.c (isaac_mix): Declare to be static.
+ Mark all other functions as `extern' so the tight-scope
+ part of `make distcheck' passes once again.
+ * src/rand-isaac.h (isaac_mix): Remove declaration.
+
+ * src/sort.c (get_hash): Change position of `*' in parameter
+ type to conform with convention.
+ (main): Split a long line so it fits in 80 columns.
+ (keycompare): Remove stray SPACE before TAB that was
+ causing `make distcheck' to fail.
+
+ * src/shred.c: Don't include gethrxtime.h. No longer needed.
+
+ * tests/misc/sort-rand: New file: basic tests for the new options.
+ * tests/misc/Makefile.am (TESTS): Add sort-rand.
+
+2005-12-10 Frederik Eaton <frederik@ofb.net>
+
+ * src/Makefile.am (sort_LDADD): Add $(LIB_GETHRXTIME).
+ (shred_SOURCES, sort_SOURCES): New macros, so we compile rand-isaac.c.
+ * src/rand-isaac.c: New file, containing ISAAC code that was in shred.c.
+ Make state size runtime-configurable.
+ (isaac_new, isaac_copy): New functions.
+ * src/rand-isaac.h: New file.
+ * src/shred.c: Include rand-isaac.h. Move ISAAC code to rand-isaac.c.
+ (fillrand, main): Adjust to the fact that the state size is now
+ runtime-configurable.
+ * src/sort.c (short_options, long_options, WORDS, keycompare, main):
+ (usage): Add options --random-sort and --seed to implement a random
+ shuffle.
+ Include md5.h and rand-isaac.h.
+ (get_hash): New function.
+ (rand_state): New var.
+ (HASH_WORDS, HASH_SIZE): New macros.
+
+2005-12-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ * tests/dd/misc: Add test for dd iflags=noatime.
+
+2005-12-09 Jim Meyering <jim@meyering.net>
+
+ * src/sort.c (usage): Mention white space vs -b and -t options.
+ From The Wanderer.
+
+2005-12-09 Eric Blake <ebb9@byu.net>
+
+ * src/test.c (main): Fix misleading comment.
+
+2005-12-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Mention dd's new noatime flag.
+ * src/system.h (O_NOATIME): Define to 0 if not already defined.
+ * src/dd.c (flags, usage): Add support for noatime flag.
+
+2005-12-07 Jim Meyering <jim@meyering.net>
+
+ Distribute the cvsu script, used only by `make syntax-check'.
+ * Makefile.am (EXTRA_DIST): Add build-aux/cvsu.
+ * Makefile.maint (CVS_LIST): Use build-aux/cvsu, now that we
+ distribute a copy of this script.
+ * .x-sc_unmarked_diagnostics: Add build-aux/cvsu.
+
+ * tests/mv/acl: exit-77 before the trap, not after, if we fail
+ to create a temporary directory on another partition.
+ From Andreas Gruenbacher.
+
+2005-12-06 Tomas Pospisek <tpo@sourcepole.ch> (tiny change)
+
+ * man/basename.x: Cross-reference to dirname and readlink.
+ * man/dirname.x: Cross-reference to basename and readlink.
+
+2005-12-05 Andreas Gruenbacher
+
+ * src/copy.c [!HAVE_FCHOWN]: Define fchown(...) to -1.
+ (set_owner, preserve_author): New functions, factored out of copy_reg.
+ (copy_reg): Use them.
+ (copy_internal): Use them here, too.
+
+2005-12-04 Jim Meyering <jim@meyering.net>
+
+ * src/sleep.c (usage): Say what happens with two or more arguments.
+ Suggested by Justin Pryzby.
+
+ * src/uptime.c (print_uptime): Move decl of `upsecs' into scope
+ where it's used.
+
+2005-12-03 Jim Meyering <jim@meyering.net>
+
+ * src/rm.c (long_opts): Change the name of each undocumented, for-
+ testing-only option to start with `-', so that it cannot render
+ ambiguous any prefix it happens to share with some other option name.
+ Problem reported by Eric Blake.
+ * src/head.c (long_options): Likewise.
+ * src/tail.c (long_options): Likewise.
+
+ * tests/misc/head-elide-tail: Update uses of undocumented, for-
+ testing-only --presume* options to start with `---'.
+ * tests/rm/dangling-symlink: Likewise.
+ * tests/rm/dir-no-w: Likewise.
+ * tests/rm/isatty: Likewise.
+
+2005-11-30 Jim Meyering <jim@meyering.net>
+
+ * Makefile.maint: Add a comment about cvsu.
+
+2005-11-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: df updates for "none", "proc", inaccessible file systems.
+ * src/df.c (show_point): Ignore inaccessible file systems.
+ (usage): -a includes dummy file systems, not size-0 file systems.
+
+ * src/od.c (unsigned_long_long_int): Renamed from ulonglong_t,
+ to avoid collision with POSIX name space. All uses changed.
+
+2005-11-24 Jim Meyering <jim@meyering.net>
+
+ * tests/Makefile.am (EXTRA_DIST): Add acl to the list.
+ * tests/acl: Add `$0: ' prefix to diagnostics.
+
+ * .x-sc_require_config_h: Add lib/buffer-lcm.c to the list.
+
+2005-11-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/copy.c: Improve performance a bit by optimizing away
+ unnecessary system calls and going to a block size of at least
+ 8192 (on normal hosts, anyway). This improved performance 5% on my
+ Debian stable host (2.4.27 kernel, x86, copying from root
+ ext3 file system to itself).
+ Include "buffer-lcm.h".
+ (copy_reg): Omit last argument. All callers changed.
+ Use xmalloc to allocate rather than trusting alloca
+ (which is unwise with large block sizes).
+ Declare locals more locally, if possible.
+ Use uintptr_t words instead of int words, for a bit more speed
+ when looking for null blocks on 64-bit hosts.
+ Optimize away reads of zero bytes on regular files.
+ In the typical case, insist on 8 KiB buffers, at least.
+ Avoid unnecessary extra call to fstat when checking for sparse files.
+ Avoid now-unnecessary cast to off_t, and "0L".
+ Avoid unnecessary test of *new_dst when checking for same owner
+ and group.
+
+2005-11-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/remove.c (rm): Don't assume C99 for-loop syntax.
+
+2005-11-22 Jim Meyering <jim@meyering.net>
+
+ * src/remove.c (AD_push): Remove debugging cruft.
+
+ * tests/rm/unread2 (rm): Change expected diagnostic,
+ `cannot open directory' to `cannot remove', to align with
+ new version of rm.
+ * tests/rm/rm2: Ensure that rm now continues removing entries
+ even after certain types of failure.
+
+ * src/remove.c: Rewrite. Now, this module is reentrant on systems
+ that provide openat (Solaris), and on systems like Linux+procfs
+ where our openat emulation code is reentrant. This also fixes a
+ few low-probability leaks and eliminates some code that could,
+ in very unusual circumstances, cause rm() (via a callee) to exit.
+ * NEWS: Mention this.
+
+ * configure.ac: Put copyright dates all on one line so the
+ emacs function that updates them works properly.
+
+2005-11-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ * configure.ac (AM_PROG_CC_C_O): Add. Needed for CVS Automake.
+ Problem reported by Eric Blake.
+ (AC_PROG_CC_STDC): Use this instead of AC_PROG_CC, so that
+ we get a standard-conforming compiler. This relies on the new
+ m4/c.m4 file. Note that it's a bit tricky, since c.m4 doesn't
+ define AC_PROG_CC_STDC; we are relying on Autoconf 2.59 internals.
+ m4/c.m4 can go away with Autoconf 2.60 comes out.
+
+2005-11-17 Jim Meyering <jim@meyering.net>
+
+ * src/remove.c (AD_mark_helper): Make a `char *' parameter `const'.
+ (AD_mark_current_as_unremovable): Likewise, but for a local.
+ (rm_1): Likewise.
+
+ * tests/mv/acl: Let traps handle removing temporary directories.
+
+ Expect acl-related tests to fail, until the corresponding
+ patches are committed.
+ * tests/mv/Makefile.am (XFAIL_TESTS): Add acl.
+ * tests/cp/Makefile.am (XFAIL_TESTS): Likewise.
+
+ ACL tests, from Andreas Gruenbacher.
+ * tests/acl, tests/mv/acl, tests/cp/acl: New files.
+ * tests/mv/Makefile.am (TESTS): Add acl.
+ * tests/cp/Makefile.am (TESTS): Add acl.
+
+ * src/ls.c (basename_is_dot_or_dotdot): Correct wording in comment.
+
+2005-11-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Improve quality of ln's diagnostics.
+ * src/ln.c (do_link, usage): Likewise.
+ (do_link): Don't use alloca on a buffer of unbounded size.
+
+2005-11-16 Jim Meyering <jim@meyering.net>
+
+ * tests/cp/fail-perm: Accommodate HPUX. It appears to fail
+ with EACCES rather than EPERM. Reported by Peter O'Gorman here:
+ http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/5766
+ This also affects AIX 4.3.3, according to Ralf Wildenhues, in
+ http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00192.html
+
+2005-11-14 Jim Meyering <jim@meyering.net>
+
+ * NEWS (sort): Mention consequences of today's mkstemp-safer.c fix.
+
+2005-11-13 Jim Meyering <jim@meyering.net>
+
+ * announce-gen: Accept new option, --gpg-key-id=ID and
+ emit a blurb telling how to use the .sig files.
+ * Makefile.cfg (gpg_key_ID): Define.
+ * Makefile.maint (announcement): Use new option and key.
+
+ Require that most .c files include <config.h>.
+ * Makefile.maint (sc_require_config_h): New rule.
+ (syntax-check-rules): Add it.
+ * .x-sc_require_config_h: New file listing exceptions to the
+ above rule. Some are legit, others are simply grandfathered in.
+ * Makefile.am (EXTRA_DIST): Add .x-sc_require_config_h here, too.
+
+2005-11-12 Jim Meyering <jim@meyering.net>
+
+ * src/checksum.h, src/md5.c, src/sha1sum.c: Remove now-unused files.
+
+2005-11-11 Jim Meyering <jim@meyering.net>
+
+ * NEWS: Mention `readlink -f' bug fix in 5.3.0 news.
+ Mention new readlink options in 5.3.0's `New features' section.
+ Spotted by Thomas Hood.
+
+2005-11-08 Jim Meyering <jim@meyering.net>
+
+ * NEWS: Merge in changes from b5_9x branch.
+
+2005-11-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: ls now defaults to --time-style='locale', which in turn acts
+ like --time-style='posix-long-iso' if the locale settings are messed up.
+ * src/ls.c (decode_switches): Implement this.
+
+2005-11-08 Jim Meyering <jim@meyering.net>
+
+ * tests/du/2g: s/expensive/very expensive/ in a comment.
+ From Paul Townsend.
+
+2005-10-17 Eric Blake <ebb9@byu.net>
+
+ * src/ls.c (usage): Fix descriptions of --sort, --time.
+ Reported by Vitaly A. Ostanin.
+
+2005-11-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/ln.c: Include filenamecat.c.
+ (FILE_BASENAME_CONCAT): Remove.
+ (do_link): Remove last arg DEST_IS_DIR. All callers changed.
+ (main): Use file_name_concat, base_name, and strip_trailing_slashes
+ instead of FILE_BASENAME_CONCAT. This simplifies the code, and avoids
+ the use of alloca.
+
+2005-11-04 Jim Meyering <jim@meyering.net>
+
+ * src/du.c (process_file): Don't overflow for files of size >= 2^31
+ on systems with stat.st_blocks of a signed 32-bit type.
+ This bug causes trouble on some AIX 5.1 systems.
+ Report and trivial patch from Paul Townsend:
+ <http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00033.html>
+ * NEWS: Mention this.
+
+ * tests/du/2g: New (very-expensive) test for the above-fixed bug.
+ * tests/du/Makefile.am (TESTS): Add it here.
+ * tests/very-expensive: New file.
+ * tests/Makefile.am (EXTRA_DIST): Add it here.
+ * tests/cp/perm: Mark this test as `very-expensive', too.
+
+2005-11-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Mention that rm -d and maybe ln -d are scheduled for
+ removal in 2006.
+ * src/remove.h (struct rm_options): Remove unlink_dirs. All uses
+ removed.
+ * src/rm.c (usage): Don't mention rm -d.
+
+2005-11-02 Jim Meyering <jim@meyering.net>
+
+ * tests/dd/skip-seek: Fix typo in comment: s/fileutils/coreutils.
+ From Andreas Schwab.
+
+ * tests/dd/unblock-sync: Redirect stderr to /dev/null so the
+ `M+N records in/out' lines don't pollute `make check' output.
+
+ * tests/dd/skip-seek (sk-seek4): New test, to exercise the bug
+ fixed on 2005-10-31. This test uses the new, IN_PIPE specifier.
+ * tests/Coreutils.pm: Accept a new type of input specifier: IN_PIPE,
+ to indicate that the input file should be piped into the command
+ under test (via `cat FILE | $prog ...').
+
+ * src/remove.c (remove_entry): Emit a better diagnostic when rm
+ (without -r) fails to remove a directory on a non-Linux system.
+ This change affects only newer Solaris systems (with priv_*
+ functions like priv_allocset). Reported by Keith Thompson.
+
+ * tests/rm/dir-nonrecur: New file/test for the above fix.
+ * tests/rm/Makefile.am (TESTS): Add dir-nonrecur.
+
+2005-11-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: "tail -c 2 FILE" and "touch 0101000000" now operate as
+ POSIX 1002.1-2001 requires.
+ * src/tail.c (parse_obsolete_option): Implement this.
+ Problem reported by Vincent Lefevre.
+ * src/touch.c (main): Pass PDS_PRE_2000 to posixtime.
+ * tests/tail/Test.pm (c-2, c-2-minus, c2, c2-minus): New tests.
+ (test_vector): Add special cases for _POSIX2_VERSION, and
+ regularize the old ones a bit.
+ * tests/touch/obsolescent: Add y2000 test.
+
+2005-10-31 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/dd.c (skip): Fix off-by-one error reported by
+ Theodoros V. Kalamatianos.
+
+2005-10-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ * tests/mkdir/p-3: Require that the test be run as non-root.
+ Problem and trivial fix reported by Theodoros V. Kalamatianos.
+
+2005-10-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/ln.c (FILE_BASENAME_CONCAT): Omit unnecessary slashes in the
+ boundary between DEST and SOURCE in the result.
+
+2005-10-26 Dmitry V. Levin <ldv@altlinux.org>
+
+ * src/md5sum.c (main) [!O_BINARY]: Changed default read mode
+ back to text, to sync with documentation and for backwards
+ compatibility.
+
+2005-10-25 Jim Meyering <jim@meyering.net>
+
+ * tests/dircolors/simple (other-wr): Add an explicit test for
+ the dircolors bug (NULL-dereference) fixed yesterday.
+
+2005-10-24 Jim Meyering <jim@meyering.net>
+
+ * src/tac.c (tac_file): When determining whether a file is seekable,
+ also test whether it is a tty. Using only the lseek-based test would
+ give a false positive on Solaris. Reported by Peter Fales.
+
+2005-10-24 Dmitry V. Levin <ldv@altlinux.org>
+
+ * tests/install/d-slashdot: New test, for "install -d" failure.
+ * tests/install/Makefile.am (TESTS): Add d-slashdot.
+ * tests/mkdir/p-slashdot: New test, for "mkdir -p" failure.
+ * tests/mkdir/Makefile.am (TESTS): Add p-slashdot.
+
+2005-10-24 Jim Meyering <jim@meyering.net>
+
+ * src/dircolors.c (ls_codes): Add missing comma.
+ Anonymous report and patch from
+ http://savannah.gnu.org/bugs/?func=detailitem&item_id=14849
+
+ * src/dircolors.c: Add compile-time assertion that the slack_codes
+ and ls_codes arrays have the same number of elements. This would
+ have prevented the above-fixed bug.
+
+ * src/expand.c (parse_tab_stops): Add a comment to make this function
+ identical to the one in unexpand.c.
+ * src/unexpand.c (parse_tab_stops): Adjust syntax to make this function
+ identical to the one in expand.c.
+
+ * src/expand.c (next_file): Don't assume fopen cannot return stdin.
+
+2005-10-23 Jim Meyering <jim@meyering.net>
+
+ * src/md5sum.c (digest_check, main): Use ptr_align rather than
+ a dangerous pointer-value-to-`unsigned' cast.
+ * NEWS: mention the new sha* programs.
+ * AUTHORS: Add new sha* programs.
+
+2005-08-28 David Madore <david.madore@ens.fr>
+
+ Add new programs: sha224sum, sha256sum, sha384sum, sha512sum.
+ * README: Add their names to the list.
+ * src/md5sum.c: Provide framework for computing sha-2 hashes.
+ * src/Makefile.am (sha224sum, sha256sum, sha384sum, sha512sum):
+ Rules for compiling sha-2 utilities
+ (noinst_HEADERS): Remove checksum.h.
+ * man/sha512sum.x, man/sha384sum.x, man/sha256sum.x, man/sha224sum.x:
+ New files.
+ * man/Makefile.am (dist_man_MANS): Add the corresponding .1 names.
+ (sha224sum.1, sha256sum.1, sha384sum.1, sha512sum.1): New dependencies.
+ * tests/misc/sha224sum, tests/misc/sha256sum: New files.
+ * tests/misc/sha384sum, tests/misc/sha512sum: New files.
+ * tests/misc/Makefile.am (TESTS): Add new sha224sum, sha256sum,
+ sha384sum, sha512sum test scripts here rather that each in its
+ own directory.
+
+2005-08-28 David Madore <david.madore@ens.fr>
+
+ * tests/sha1sum/basic-1 (million-a): Add the "million a's" test (one
+ of the FIPS test vectors).
+
+2005-10-23 Jim Meyering <jim@meyering.net>
+
+ * configure.ac: Use 6.0-cvs as the version string.
+ * NEWS: Adjust accordingly.
+
+
+ -----
+
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without
+ modification, are permitted provided the copyright notice
+ and this notice are preserved.