summaryrefslogtreecommitdiff
path: root/ChangeLog-2006
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2016-01-20 10:55:18 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2016-01-20 10:55:18 +0000
commit70e9163c9c18e995515598085cb824e554eb7ae7 (patch)
treea42dc8b2a6c031354bf31472de888bfc8a060132 /ChangeLog-2006
parentcbf5993c43f49281173f185863577d86bfac6eae (diff)
downloadcoreutils-tarball-master.tar.gz
Diffstat (limited to 'ChangeLog-2006')
-rw-r--r--ChangeLog-20064040
1 files changed, 4040 insertions, 0 deletions
diff --git a/ChangeLog-2006 b/ChangeLog-2006
new file mode 100644
index 0000000..702a467
--- /dev/null
+++ b/ChangeLog-2006
@@ -0,0 +1,4040 @@
+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.
+
+ -----
+
+ Copyright (C) 2006-2016 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.