summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9026
-rw-r--r--ChangeLog-2005605
-rw-r--r--ChangeLog-20064040
-rw-r--r--ChangeLog-20074022
-rw-r--r--ChangeLog-2008374
5 files changed, 9041 insertions, 9026 deletions
diff --git a/ChangeLog b/ChangeLog
deleted file mode 100644
index 253db6f3f..000000000
--- a/ChangeLog
+++ /dev/null
@@ -1,9026 +0,0 @@
-2008-02-07 Jim Meyering <meyering@redhat.com>
-
- We *do* need two different version files.
- One for tarball-only, the other to be updated any time we
- get a new value of $(VERSION).
- * Makefile.am (dist-hook): Create .tarball-version in dist tarball.
- * GNUmakefile (_curr-ver): Make git-version-gen use it.
- * .gitignore: Ignore it.
-
- Fix a typo in description of size suffixes: s/GB/G/.
- * doc/coreutils.texi (od invocation, head invocation, tail invocation):
- Spotted by Bert Wesarg.
-
- * NEWS [6.9.90]: Mention the added feature that head, od, split and
- tail now accept the standard size suffixes (kB, M, MB, G, GB, and
- so on for T, P, Y, Z, and Y) on arguments to selected options.
-
-2008-02-06 Steven Schubiger <schubiger@gmail.com>
-
- mkdir, split: write --verbose output to stdout, not stderr.
- * src/mkdir.c (verbose_output): New function.
- (announce_mkdir): Use it.
- * src/split.c (usage): Update.
- * src/split.c (cwrite): Write to stdout, not stderr.
- * doc/coreutils.texi (split invocation): Remove the mention
- of --verbose output being printed to stderr.
- * tests/mkdir/p-v: Redirect stdout, not stderr.
- * tests/misc/split-a: Likewise.
- * NEWS: Mention this change.
- * TODO: Remove this item.
-
-2008-02-04 Jim Meyering <meyering@redhat.com>
-
- * Makefile.maint (announcement): Remove stale comment.
-
-2008-02-02 Jim Meyering <meyering@redhat.com>
-
- Clarify a comment.
- * tests/sort/Test.pm: Replace a vague ChangeLog reference with a URL.
-
-2008-01-31 Bob Proulx <bob@proulx.com>
-
- Improve wording of date and time man page.
- * man/date.x: Improve compact description of the --date=STRING.
- * man/touch.x: Likewise.
- Suggested by A. Costa.
-
-2008-01-31 Jim Meyering <meyering@redhat.com>
-
- Remove alignment constraint from the sha*_read_ctx functions.
- * lib/sha256.c (set_uint32): New function.
- (sha256_read_ctx, sha224_read_ctx): Use it.
- * lib/sha512.c (set_uint64): New function.
- (sha512_read_ctx, sha384_read_ctx): Use it.
- * lib/sha256.h: Remove warning about alignment constraint.
- * lib/sha512.h: Likewise.
- Prompted by similar changes in gnulib's sha1 and md[45] modules.
-
- Adapt to new version of vc-list-files.
- * tests/check.mk (vc_exe_in_TESTS): Adapt to new constraint
- that vc-list-files be run only from $(top_srcdir).
-
- Pull vc-list-files from gnulib.
- * bootstrap.conf (gnulib_modules): Add vc-list-files.
- * build-aux/vc-list-files: Remove file.
-
- Improve the cp/parent-perm test.
- * tests/cp/parent-perm: Also check that perms of existing dest
- dirs are changed to match those of corresponding src dir
-
-2008-01-30 Paul Eggert <eggert@cs.ucla.edu>
-
- Don't modify argv in dd due to ',' in arguments.
- * src/dd.c: Include quotearg.h.
- (operand_matches): New function.
- (parse_symbols, operand_is): Use it.
- (parse_symbols): 1st arg is now const pointer. Don't modify it.
- msgid arg is now just the message, not a format.
- (scanargs): Add some 'const's to check for problems like the above.
-
-2008-01-30 Jim Meyering <meyering@redhat.com>
-
- * src/c99-to-c89.diff: Adjust remove.c offsets, again.
-
- Now that system.h defines is_empty_dir, include "openat.h".
- * src/system.h: Include "openat.h" here, ...
- * src/chcon.c: ... not here.
- * src/chmod.c: Likewise.
- * src/chown-core.c: Likewise.
- * src/remove.c: Likewise.
-
- * src/c99-to-c89.diff: Adjust remove.c offsets.
-
- Improve "rmdir --ignore-fail-on-non-empty"
- * src/rmdir.c (remove_parents, main): With --ignore-fail-on-non-empty,
- suppress a diagnostic also for other errno values, which can arise
- with read-only media or when the parent directory has the immutable
- attribute (set via chattr +i).
- (errno_may_be_empty, ignorable_failure): New functions.
- * src/remove.c (is_empty_dir): Move function to ...
- * src/system.h (is_empty_dir): ...here, and make it inline.
- Suggested by Josselin Mouette in <http://bugs.debian.org/363011>
- via Bob Proulx.
- * NEWS: Mention the improvement.
-
-2008-01-29 Paul Eggert <eggert@cs.ucla.edu>
-
- Don't modify argv in dd.
- * src/dd.c (operand_is): New function.
- (scanargs): Use it so that we don't need to modify argv, as a nicety.
- Problem reported by Adam Goode in
- <http://lists.gnu.org/archive/html/bug-coreutils/2008-01/msg00264.html>.
-
-2008-01-29 Jim Meyering <meyering@redhat.com>
-
- * Makefile.am (BUILT_SOURCES): Ensure that .version exists.
- Reported by Bob Proulx.
-
-2008-01-29 Bob Proulx <bob@proulx.com>
-
- Improve the man pages of --date=STRING for 'date' and 'touch'.
- * man/date.x: Add a compact description of the --date=STRING.
- * man/touch.x: Likewise.
- Reported by A. Costa in http://bugs.debian.org/363011
-
-2008-01-29 Michael Stone <mstone@debian.org>
-
- Improve the description of when dd outputs its final statistics.
- * doc/coreutils.texi (dd invocation): Say that dd prints stats
- upon normal termination and upon SIGINT.
-
-2008-01-29 Jim Meyering <meyering@redhat.com>
-
- Avoid "make distcheck" failure: newly-created man/*.1 files not removed
- * Makefile.am (EXTRA_DIST): Add .version.
- (.version): New rule.
- (dist-hook): Don't create $(distdir)/.version here, now that it's
- being distributed.
- * man/Makefile.am (common_dep): Use ../.version, not ../VERSION.
- (../VERSION): Remove rule.
- * GNUmakefile (dummy): Create .version, not VERSION.
- Add an extra "...:= $(shell..." statement to ensure that
- .version exists even when the preceding code is not run.
- * .gitignore: Remove both .version and VERSION.
-
- ls: don't segfault on files in /proc with an old libselinux
- * src/ls.c (gobble_file): Work around a bug in libselinux1-2.0.15
- whereby getfilecon returns 0 yet sets the context to NULL.
- Reported by Jan Moringen via Michael Stone in
- http://bugs.debian.org/463043
- * tests/ls/Makefile.am (TESTS): Add proc-selinux-segfault.
- * tests/ls/proc-selinux-segfault: Test for the above fix.
- * NEWS: Mention the fix.
-
-2008-01-26 Jim Meyering <meyering@redhat.com>
-
- Work around Darwin9's set-GID-like group ownership inheritance.
- This avoids another spurious Mac OS 10.5.1 (Darwin 9.1) test failure.
- * tests/cp/preserve-gid: Accept a group ID of 0, as well.
- Reported by Elias Pipping.
-
- Emit "info coreutils 'PROG invocation'" into the man page,
- rather than just "info PROG". The latter would often fail
- or simply display the man page.
- * man/help2man: Change the template.
- Prompted by http://bugs.debian.org/399684
-
- chcon: correct description of --no-dereference (-h) option.
- * src/chcon.c (usage): Remove invalid reference to lchown.
- Reported by Göran Uddeborg.
-
- Ensure that each version string change propagates to man pages.
- * man/Makefile.am (common_dep): Don't depend on configure.ac for
- version changes. Instead, depend on ../VERSION.
- (../VERSION): New rule.
- * Makefile.am (DISTCLEANFILES): Define.
- * GNUmakefile: Update ./VERSION.
- * .gitignore: List VERSION.
- Reported by Sven Joachim.
-
- Avoid cp/preserve-gid test failure on Mac OS 10.5.1 (Darwin 9.1)
- * tests/cp/preserve-gid: Set group as well as owner on ".".
- Reported by Elias Pipping.
-
- Improve a warning about non-portable "mv" usage.
- * doc/coreutils.texi (mv invocation): Adjust the warning: moving a
- dir-symlink-specified-with-a-trailing-slash works in a surprising
- manner only on some systems. Reported by Tomas Pospisek in
- http://bugs.debian.org/343652.
-
-2008-01-26 Mike Frysinger <vapier@gentoo.org>
-
- * src/dircolors.hin (TERM): Add jfbterm.
-
-2008-01-23 Jim Meyering <meyering@redhat.com>
-
- Clean up build-related rules.
- * Makefile.cfg (gnulib_dir): Update comment.
- * Makefile.maint (announcement) [cl_date, utc_date]: Don't set
- now-unused variables.
-
- * TODO: Update the note on getgrouplist.
-
-2008-01-23 Zvi Har'El <rl@math.technion.ac.il>
-
- Add a ";", so "make install" works with --enable-install-program=su.
- * src/Makefile.am (install_su): Add a semicolon. (tiny change)
-
-2008-01-23 Jim Meyering <meyering@redhat.com>
-
- Avoid misinterpreting mgetgroups failure in running root-only tests.
- * src/setuidgid.c (main): Don't misinterpret as size_t an error
- return from mgetgroups. Reported by Theodoros V. Kalamatianos.
-
- * README: Remove/convert a few stray mentions of CVS.
-
-2008-01-22 Jim Meyering <meyering@redhat.com>
-
- Require automake-1.10.1, for its support of dist-lzma.
- * configure.ac (AM_INIT_AUTOMAKE): Require 1.10.1.
-
- Version 6.10.
-
- * NEWS: Record release date.
-
- * README-hacking: Update to reflect existence of automake-1.10.1.
-
-2008-01-18 Jim Meyering <meyering@redhat.com>
-
- Update README.
- * README: Remove a note about failing tests on SunOS 4.
- On Mac OS 10.5.1 (Darwin 9.1), you'll need --disable-acl.
- (Running tests as root): Recommend using "check-root", not "check".
-
-2008-01-17 Jim Meyering <meyering@redhat.com>
-
- Do not define-away __attribute__ when __STRICT_ANSI__ is set.
- * src/system.h (__attribute__): Remove the __STRICT_ANSI__ disjunct.
- It has been unnecessary since approximately gcc-2.6, and now, leaving
- it would cause gcc -Werror -ansi to fail to compile csplit.c.
- * gl/lib/randread.c (__attribute__): Likewise.
-
-2008-01-16 Jim Meyering <meyering@redhat.com>
-
- * NEWS: Mention the configure.ac fix.
-
- * TODO: Add an introduction.
- Remove a few entries. Update a few others.
-
-2008-01-13 Jim Meyering <meyering@redhat.com>
-
- Remove each output redirection target before writing to it.
- * tests/check.mk (vc_exe_in_TESTS): Remove t1 and t2 _first_,
- in case they exist beforehand and are not writable.
- * build-aux/check.mk (am__check_pre): Likewise, remove $@-t.
-
-2008-01-13 Elias Pipping <pipping@gentoo.org>
-
- * configure.ac: Correct a non-portable use of sed.
-
-2008-01-12 Mike Frysinger <vapier@gentoo.org>
-
- * src/dircolors.hin (image formats): Add the .svg suffix.
-
-2008-01-12 Jim Meyering <meyering@redhat.com>
-
- Use new version of announce-gen.
- * Makefile.maint (announcement): Remove use of the
- --gnulib-snapshot-time-stamp option.
- Use new --gnulib-version option instead.
- (gnulib-version): New variable.
-
-2008-01-11 Jim Meyering <meyering@redhat.com>
-
- * Version 6.9.92.
-
- * tests/tr/Test.pm: Prefer en_US.ISO-8859-1 to en_US.iso88591.
- Suggestions from James Youngman and Pádraig Brady in
- http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12218/focus=12227
-
-2008-01-10 Jim Meyering <meyering@redhat.com>
-
- * README-hacking: Add Git to the list of required tools.
-
-2008-01-08 Paul Eggert <eggert@cs.ucla.edu>
-
- Fix a minor race condition when using cp -p --parents.
- * src/cp.c (make_dir_parents_private): If stat fails on the parent
- directory, do not add it to the list of directories whose modes
- might need fixing later. Also, do not bother invoking 'stat'
- unless the stat results might be needed later.
-
-2008-01-08 Jim Meyering <meyering@redhat.com>
-
- parent-perm: avoid a bizarre test failure.
- * tests/cp/parent-perm: Accommodate the situation in which
- chmod ("dir", 02755) returns 0 yet fails to set the S_ISGID bit.
-
- Remove uses of now-undefined Makefile variable.
- * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD): Remove uses
- of no-longer-defined variable, $(LIB_ACL_TRIVIAL).
-
-2008-01-07 Jim Meyering <meyering@redhat.com>
-
- cp (but not copy.c): plug a small leak.
- * src/cp.c (do_copy) [--parents]: Free the attribute list.
-
- Make a racy test failure less likely to happen.
- * tests/misc/tty-eof: Uncomment a debug "warn".
- This change happens to make this test far less likely to fail.
- With that statement commented out, this test would fail about
- 20% of the time on my desktop. Now, it's gone 100 iterations
- in a row with no failure.
-
- * NEWS: Mention the cp bug fix.
-
-2008-01-07 Jan Blunck <jblunck@suse.de>
-
- cp --parents: don't use uninitialized memory when restoring permissions
- * src/cp.c (make_dir_parents_private): Always stat each source
- directory, in case its permissions are required in re_protect,
- when setting permissions of a just-created destination directory.
-
-2008-01-07 Jim Meyering <meyering@redhat.com>
-
- cp: add a test for today's bug fix.
- * tests/cp/parent-perm: New script. Test today's change.
- Based on reproducer from Jan Blunck.
- * tests/cp/Makefile.am (TESTS): Add parent-perm.
-
-2008-01-06 Jim Meyering <meyering@redhat.com>
-
- touch: add a test for today's change.
- * tests/touch/now-owned-by-other: New script. Test today's change.
- * tests/touch/Makefile.am (TESTS): Add now-owned-by-other.
- * tests/Makefile.am (all_t): Add td, a new root-only test.
- (td): New target.
- * NEWS: Mention the improvement.
-
-2008-01-06 Paul Eggert <eggert@cs.ucla.edu>
-
- touch: ignore "-d now" option, when appropriate
- * src/touch.c (main): Treat "-d now" as if it were absent, if
- neither -a nor -m is specified. Problem reported by Dan Jacobson in:
- http://lists.gnu.org/archive/html/bug-coreutils/2008-01/msg00010.html
-
-2008-01-05 Jim Meyering <meyering@redhat.com>
-
- Avoid tr case-conversion failure in some locales.
- * src/tr.c (skip_construct): New function.
- (main): When processing a pair of case-converting classes, don't
- iterate through the elements of each [:upper:] or [:lower:] class.
- Reported by Gerald Pfeifer in
- <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12218>.
- * tests/tr/Test.pm [tolower-F]: New test for the above fix.
- [upcase-xtra, dncase-xtra]: New tests, for a related code path.
- * NEWS: Mention the tr bug fix.
-
-2008-01-02 Jim Meyering <jim@meyering.net>
-
- * .gitignore: Ignore lzma-compressed files, too.
-
- Update copyright date.
- * tests/sample-test: Likewise.
- * doc/coreutils.texi: Likewise.
-
-2007-12-31 Jim Meyering <jim@meyering.net>
-
- * doc/coreutils.texi (Block size): Put braces around multi-digit
- exponents. Reported by Darrel Francis.
-
- Add a syntax check, so this doesn't recur. Reorganize existing checks.
- * doc/Makefile.am (sc-exponent-grouping):
- (syntax_checks): New variable.
- (sc-avoid-io, sc-avoid-non-zero, sc-avoid-timezone):
- (sc-avoid-zeroes, sc-use-small-caps-NUL): New rules, extracted
- from check-texinfo.
- (check-texinfo): Depend on $(syntax_checks).
-
-2007-12-30 Mike Frysinger <vapier@gentoo.org>
-
- * src/dircolors.hin (TERM): Add gnome-256color.
-
-2007-12-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/coreutils.texi: Fix a typo. Avoid the term `relationals'.
-
-2007-12-20 Jim Meyering <meyering@redhat.com>
-
- Use comma-separated list in ./configure --help output.
- * configure.ac: Map commas to spaces in excluded-program list.
- Use a comma-separated list, not a space-separated one.
- * m4/include-exclude-prog.m4 (gl_INCLUDE_EXCLUDE_PROG):
- Expect list of program names to be comma-separated.
- Reported by Jan Bauke Douma.
-
- Avoid another "make check" failure due to omitted programs.
- * tests/test-lib.sh (require_built_): New function.
- * tests/misc/groups-version: Use it to skip this test if
- either groups or id is not built.
-
- Avoid spurious "make check" failures due to omitted programs.
- * man/Makefile.am (distcheck-hook): Make check rules dependents of
- this target, not of check-local, so that people aren't distracted by
- failures due to programs omitted via --enable-no-install-program=...
-
-2007-12-19 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/uniq.c (usage): Improve wording in --help "Note".
-
-2007-12-18 Jim Meyering <meyering@redhat.com>
-
- * src/uniq.c (usage): Note that sorting uniq's input is often useful.
- Suggested by Eric Blake.
- (usage): Say "key-selection", not "field-selection".
- Quote example commands consistently.
-
-2007-12-15 Jim Meyering <meyering@redhat.com>
-
- Version 6.9.91.
-
- * Makefile.cfg (gpg_key_ID): Use new, longer signing subkey.
-
-2007-12-12 Jim Meyering <meyering@redhat.com>
-
- * tests/mv/part-symlink: Redirect diff output to stderr.
-
-2007-12-11 Jim Meyering <meyering@redhat.com>
-
- Add a test to exercise today's bug fix.
- * tests/misc/selinux: Test for today's bug fix.
- * NEWS: Mention the SELinux "ls -l" fix.
-
-2007-12-11 Paul Eggert <eggert@cs.ucla.edu>
-
- "ls -l" wouldn't output "+" on SELinux hosts unless -Z was also given.
- * src/ls.c (gobble_file): Also get the file context if -l is specified.
- Treat getfilecon failures like file_has_acl failures.
- (UNKNOWN_SECURITY_CONTEXT): New constant.
- (clear_files): Don't free it.
- (gobble_file): Set unknown security contexts to it; that way, we
- don't have to have special cases for unknown contexts.
- (print_long_format, print_file_name_and_frills): Don't worry
- about scontext being null, since it's always some string now.
-
-2007-12-11 Jim Meyering <meyering@redhat.com>
-
- * NEWS: Add the "Bug fixes" heading.
-
-2007-12-09 Jim Meyering <meyering@redhat.com>
-
- "rm" as root would fail to unlink a non-directory on OS X 10.4.x
- * src/remove.c (remove_entry) ["can unlink directories"]: Fix a
- mistakenly reversed condition.
- * NEWS: Mention this bug fix.
- Reported by Pieter Bowman.
-
-2007-12-08 Jim Meyering <meyering@redhat.com>
-
- * src/c99-to-c89.diff: Adjust shred.c offsets.
-
-2007-12-04 Jim Meyering <meyering@rho.meyering.net>
-
- Reflect change in gnulib: don't include getpagesize.h,
- now that it's provided by unistd.h.
- * src/cat.c: Don't include getpagesize.h.
- * src/copy.c: Likewise.
- * src/dd.c: Likewise.
- * src/shred.c: Likewise.
- * src/split.c: Likewise.
-
-2007-12-02 Jim Meyering <meyering@redhat.com>
-
- Copy a .po file into place also when the target doesn't exist.
- * bootstrap (gnulib_tool): ... not just when the checksum differs.
- So now, if I manually remove po/xx.po, rerunning bootstrap will
- copy the latest into place.
-
- Make my-distcheck depend on "check".
- * Makefile.maint (my-distcheck): Also depend on "check", so I can't tag
- and release something that fails "make check" (however harmless) when
- run in a checked-out-from-git dir, but not in the distributed tarball.
-
- * NEWS: Add the usual "Noteworthy changes in release 6.9.91..." line.
-
- Remove just-installed su, if unable to make it set-UID root.
- Normally, su isn't even installed. However, if you configure with
- --enable-install-program=su, and then install with insufficient
- privileges, we now make sure to remove the just-installed binary.
- * src/Makefile.am (install-exec-hook): Rename from install-exec-local,
- so that this rule is guaranteed to be run *after* installation.
- If unable to chown and chmod the installed "su" program, remove it.
- Reported by Greg Schaefer.
-
-2007-12-01 Bob Proulx <bob@proulx.com>
-
- Make existing-perm-race executable.
- * tests/cp/existing-perm-race: Update file mode.
-
-2007-12-01 Jim Meyering <meyering@redhat.com>
-
- Version 6.9.90.
-
- * NEWS: Remove the now-untrue statement about cp vs. dangling symlinks
-
- Change release procedure: tag *before* running e.g., "make stable".
- * Makefile.maint (vc-dist): Don't tag. Now, you must apply the tag
- before running "make beta", "make stable", etc.
- (vc-tag-check): Remove rule. No longer makes sense.
-
- * Makefile.maint (vc-tag-check): Correct check for existing git tag.
-
- Defer NEWS and ChangeLog checks until after the version-changing tag.
- * Makefile.maint (alpha beta major): Don't depend on the
- news-date-check changelog-check targets. They must fail before
- applying the version-changing tag. Instead, run them after "vc-dist".
-
- * NEWS: Record release date and new version number.
- Mention some of the SELinux changes.
- * src/stat.c (main): Adjust a comment.
-
- * TODO: Add some entries (documentation needed),
- and remove the one for mktemp.
-
- Add "extern" keyword to declaration of cp_options_default.
- * src/copy.c (cp_options_default): Mark as "extern", so the
- "sc_tight_scope" part of "make distcheck" passes.
-
-2007-12-01 Jim Meyering <meyering@redhat.com>
-
- Change comments: say bug present up to coreutils-6.9, not fixed in 6.10.
- * tests/cut/Test.pm: Adjust comment.
- * tests/misc/cut: Likewise.
- * tests/misc/ls-misc: Likewise.
- * tests/misc/od: Likewise.
- * tests/misc/stty-invalid: Likewise.
- * tests/tr/Test.pm: Likewise.
-
-2007-11-29 Paul Eggert <eggert@cs.ucla.edu>
-
- Add a test for cp -p and existing file permissions.
- * tests/cp/Makefile.am (TESTS): Add existing-perm-race.
- * tests/cp/existing-perm-race: New test. It isn't much of a
- test yet, since it's hard to catch the race, but it has a FIXME
- that will let us do a better test later.
-
-2007-11-28 Paul Eggert <eggert@cs.ucla.edu>
-
- Fix a security race with "cp -p A B" when B already exists.
- * src/copy.h (struct cp_options): New member owner_privileges.
- * src/copy.c (USE_ACL): Define to 0 if not defined, for convenience.
- (owner_failure_ok): New function.
- (set_owner): Avoid a security-related race by doing an extra chmod
- first if it looks like there might be trouble right after a chown.
- Accept a source struct stat rather than a uid and gid, and
- accept a boolean NEW_DST and destination struct stat.
- All callers changed.
- * src/copy.h (cp_options_default): New function, replacing the
- old chown_privileges.
- * src/copy.c (cp_options_default): Likewise.
- * src/cp.c (cp_option_init): Use it.
- * src/install.c (cp_option_init): Likewise.
- * src/mv.c (cp_option_init): Likewise.
-
-2007-11-30 Jim Meyering <meyering@redhat.com>
-
- Move the very-expensive file into test-lib.sh.
- * tests/very-expensive: Remove file.
- * tests/test-lib.sh (very_expensive_): New function.
- * tests/Makefile.am (EXTRA_DIST): Remove very-expensive.
- * tests/cp/perm: Call the new function, rather than sourcing the file.
- * tests/tail-2/assert: Likewise.
- * tests/tail-2/assert-2: Likewise.
- * tests/du/2g: Likewise.
-
- Avoid a spurious test failure when build directory is set-GID.
- * tests/cp/fail-perm: Ensure that '.'s set-GID bit is off.
-
- Be extra careful to quote $abs_top_builddir-derived names.
- * tests/misc/ls-misc (shell_quote): New function.
- Use it to quote file names derived from $abs_top_builddir,
- in case it contains shell meta-characters. This is not currently
- needed, since CuTmpdir detects the fishy name and skips the test.
- But it's important enough to add the extra protection.
- Reported by Ralf Wildenhues.
-
- Include test name in the "unsafe working directory name" diagnostic.
- * tests/CuTmpdir.pm (import): If $ME is '-', use $prefix.
-
-2007-11-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Add quotes to protect against white space in build dir name.
- * tests/check.mk (TESTS_ENVIRONMENT): Quote $(abs_srcdir).
- * tests/chmod/setgid: Quote absolute names.
- * tests/misc/help-version: Likewise.
- * tests/misc/pwd-unreadable-parent: Likewise.
- * tests/rmdir/ignore: Likewise.
- * tests/test-lib.sh: Likewise.
-
- Define `tst', for CU_TEST_NAME.
- * build-aux/check.mk (am__check_pre): Set `tst', for
- CU_TEST_NAME in tests/check.mk.
-
- * tests/CuTmpdir.pm (END): Do not do the cleanup if $dir is not
- defined, because it then goes wild and changes the mode of all
- directories below $HOME. Undefined $dir can happen if the test
- is to be skipped because of an unsafe working directory name.
-
-2007-11-28 Paul Eggert <eggert@cs.ucla.edu>
-
- Close a file descriptor leak when cp --preserve=context fails.
- * src/copy.c (copy_reg): Close dest_desc too, if getfscreatecon
- or fsetfilecon fail.
-
-2007-11-28 Jim Meyering <meyering@redhat.com>
-
- * README: Document the known problem with gettext <= 0.17.
-
-2007-11-28 Paul Eggert <eggert@cs.ucla.edu>
-
- * gl/modules/randread (Depends-on): Remove nonexistent rand-isaac.
-
-2007-11-27 Jim Meyering <meyering@redhat.com>
-
- Don't block use of 'cat' or 'wc' in "make check".
- * Makefile.maint (my-distcheck): Add "cat" and "wc" to the list
- of programs that we can't blacklist.
-
- Fix md5sum+sha*sum on sparc: regenerate files with latest autoconf.
- * configure et al: Regenerate with very latest version of autoconf
- (v2.61a-312-gb524b0f), to fix md5sum and sha*sum miscompilation
- on big-endian systems (like sparc) due to lack of the required
- definition in of WORDS_BIGENDIAN in lib/config.h.
-
-2007-11-26 Jim Meyering <meyering@redhat.com>
-
- setuidgid.c: more cleanup
- * src/setuidgid.c: Include "mgetgroups.h".
- (main): Don't presume there's a fixed limit on the maximum number
- of group IDs. Don't use NGROUPS; it's artificially low.
- Change the name of a local: s/gids_count/n_gids/.
- Remove non-portable "const": s/const int tmp =.../int tmp =.../
-
-2007-11-25 Jim Meyering <meyering@redhat.com>
-
- Document install's -D option.
- * doc/coreutils.texi (install invocation): Document -D.
- Reported by Akim Demialle.
-
- setuidgid: Update --help output.
- * src/setuidgid.c (usage): Describe -g GID[,GID1...] option.
- Mention that USER may be a numeric ID or a user name.
-
-2007-11-24 Jim Meyering <meyering@redhat.com>
-
- Tweak new test.
- * tests/cp/preserve-gid: Split some long lines.
- Prepend "+" to numeric uid and gid chown arguments, on principle.
- Use skip_test_.
-
- setuidgid: minor clean-up.
- * setuidgid.c: Include "xstrtoul.h".
- (main): Detect overflow in string-to-gid_t and -to-uid_t conversions.
- Improve diagnostics.
-
- * src/setuidgid.c: Normalize leading white space: no more TABs.
-
- Test the new feature: cp -p preserves the GID whenever possible.
- * tests/cp/preserve-gid: New file. Test for today's change.
- * tests/cp/Makefile.am (TESTS): Add preserve-gid.
- * tests/Makefile.am (all_t): Add tc.
- (tc): New target.
-
- setuidgid: accept numeric UID, and new option -g GID,GID1,GID2,...
- * src/setuidgid.c: Add functionality for the new test above.
-
- "cp -p" tries to preserve GID even if preserving the UID fails.
- * NEWS: Mention this new feature.
- * src/copy.c (set_owner): Try to preserve just the GID,
- when initial fchown/lchown fails.
- * src/cp.c (re_protect): Likewise.
-
-2007-11-23 Jim Meyering <meyering@redhat.com>
-
- * src/runcon.c (main): Remove unused parameter, "envp".
-
- Add tests to show new class of strings accepted by date -d.
- * tests/misc/date (rel-1day, rel-plus1): New tests for the recent
- change in gnulib's getdate.y.
- * NEWS: Mention the fix.
-
-2007-11-22 Jim Meyering <meyering@redhat.com>
-
- Quiet warnings about unused parameters.
- * src/copy.c (set_author) [!HAVE_STRUCT_STAT_ST_AUTHOR]:
- "Use" each of the parameters.
-
- * GNUmakefile: Correct the "rerunning..." diagnostic.
-
- Make it easier to diagnose PATH-induced "make distcheck" failures.
- * Makefile.maint (write_loser): Define.
- (my-distcheck): Use an always-failing wrapper script, that gives
- a diagnostic, not "false".
- Run only "make -C tests check" with the restrictive PATH.
- Run the new gnulib-tests/ with the usual PATH.
-
- cp: by default, refuse to copy through a dangling destination symlink
- * NEWS: Mention this change.
- * doc/coreutils.texi (cp invocation): Describe the new behavior.
- * src/copy.c: No longer include "canonicalize.h".
- (copy_reg): Upon failure to open a dangling destination symlink,
- don't canonicalize the name, but rather fail (default) or, with
- POSIXLY_CORRECT, repeat the open call without O_EXCL (potentially
- dangerous).
- * src/copy.h (struct cp_options) [open_dangling_dest_symlink]:
- New member. Reorder the others, grouping "bool" and "enum"
- members together.
- * tests/cp/thru-dangling: Test for changed and new behavior.
- * src/cp.c (cp_option_init): Initialize new member.
- * src/install.c (cp_option_init): Likewise.
- * src/mv.c (cp_option_init): Likewise.
-
-2007-11-21 Pádraig Brady <P@draigBrady.com>
-
- * doc/coreutils.texi (split invocation): Improve the
- descriptions of the split command options.
-
-2007-11-21 Jim Meyering <meyering@redhat.com>
-
- * src/c99-to-c89.diff: Adjust seq.c offsets.
-
-2007-11-18 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/seq.c (print_numbers): Rewrite in an attempt to avoid the
- more-general rounding issues exposed by the previous patch.
-
-2007-11-18 Jim Meyering <meyering@redhat.com>
-
- * src/c99-to-c89.diff: Adjust seq.c offsets.
-
- Remove unused parameter in remove.c.
- * src/remove.c (fd_to_subdirp): Remove unused parameter.
- (remove_cwd_entries, remove_dir): Update callers.
-
- bootstrap: work also with 4-argument variant of AC_INIT (from gnulib)
- 2007-11-18 Sergey Poznyakoff <gray@gnu.org.ua>
- * bootstrap (gnulib_extra_files): Adjust sed command.
-
-2007-11-17 Jim Meyering <meyering@redhat.com>
-
- Correct preceding patch.
- * src/seq.c (print_numbers): Also handle first < last && step < 0.
- * tests/misc/seq [empty-rev]: New test for this case.
-
- "seq .1 .1" would mistakenly generate no output on some systems
- * NEWS: Say this.
- * src/seq.c (print_numbers): Handle another floating point corner case.
- This avoids failure of seq's eq-wid-7 test on FreeBSD 6.1.
-
-2007-11-16 Paul Eggert <eggert@cs.ucla.edu>
-
- Port tests/rmdir/ignore away from GNU/Linux.
- * tests/rmdir/ignore: Don't assume that rmdir($PWD) will fail
- with errno==ENOTEMPTY when $PWD is not empty; Posix also allows
- rmdir to fail with errno==EBUSY.
-
-2007-11-16 Jim Meyering <meyering@redhat.com>
-
- Avoid an obscure new "make distcheck" failure.
- * Makefile.maint (my-distcheck): Also allow 'mv', for its use
- in gnulib-tests/Makefile.
-
-2007-11-16 Paul Eggert <eggert@cs.ucla.edu>
-
- Port readlink-fp-loop to Solaris.
- * tests/misc/readlink-fp-loop (symlink_loop_msg): New var,
- which records the symlink-loop message, whose wording is
- not standardized by Posix. Do not rely on "echo x > p/1"
- to work when p/1 has a lot of indirect symlinks. (I'm surprised
- that it works on Linux. Perhaps a Linux bug?)
-
-2007-11-15 Paul Eggert <eggert@cs.ucla.edu>
-
- Port to Solaris 'make' and use a Posixish shell on Solaris.
- * bootstrap.conf (gnulib_modules): Add gnu-make, posix-shell.
- * build-aux/check.mk (SHELL): Set to $(PREFERABLY_POSIX_SHELL),
- so that commands can assume Posix syntax.
- (ENABLE_HARD_ERRORS, TEST_LOGS): Don't use GNU Make's "?=" syntax.
- (SH_E_WORKAROUND): New macro.
- (am__check_pre, $(TEST_SUITE_LOG)): Use it.
- (am__check_pre): Fail if "mkdir" fails. Use $(SHELL)
- rather than relying on the "#!/bin/sh" in the file, so that tests
- can use Posix syntax.
- (am__check_pre, am__tty_colors): Use $$src rather than $$<, to
- support the Posix-make $(TEST_LOGS) rule.
- (%.log: %.test, %.log: %$(EXEEXT)): Remove unused inference rules
- that rely on a GNU Make extension and cause Solaris 'make' to fail.
- (SUFFIXES): New macro, so that we can use Posix style inference rules.
- (%.log: %): Use this rule only if GNU_MAKE.
- Set $$src so that macros can use $$src rather than $$<.
- (CHECK-FORCE, DEPENDENCY, $(TEST_LOGS)): New macros and rules,
- which rely only on Posix 'make' semantics, and are used only with
- non-GNU 'make' implementations. $(TEST_LOGS) invokes 'make'
- recursively (and a bit inefficiently) to simulate the GNU 'make'
- rules.
- (.log.html): Renamed from "%.html: %.log", so that it relies only
- on Posix 'make' semantics.
- (check-clean, .PHONY): Do not depend on check-clean-local, since
- Solaris 'make' complains about nonexistent rules like that.
- * src/Makefile.am (SUFFIXES): Remove; no longer needed.
- (groups): Use a specific rule rather than an inference rule that
- is only instantiated once. The inference-rule approach does not
- work with Solaris 'make', which gets confused by the "groups:
- Makefile" line. It's not clear from the Posix spec that Solaris
- 'make' is buggy here, so instead of worrying about it, rewrite
- the makefile so that it clearly conforms to Posix.
- * tests/check.mk (TESTS_ENVIRONMENT): Export PACKAGE_BUGREPORT.
- GNU 'make' does this automatically for us, but Solaris 'make'
- doesn't.
-
-2007-11-15 Paul Eggert <eggert@cs.ucla.edu>
-
- Port to Solaris 8 perl, which does not support "use warnings;".
- * tests/dd/skip-seek: Skip test if "use warnings;" fails.
- * tests/du/files0-from: Likewise.
- * tests/misc/base64: Likewise.
- * tests/misc/basename: Likewise.
- * tests/misc/cut: Likewise.
- * tests/misc/date: Likewise.
- * tests/misc/dircolors: Likewise.
- * tests/misc/dirname: Likewise.
- * tests/misc/expand: Likewise.
- * tests/misc/expr: Likewise.
- * tests/misc/factor: Likewise.
- * tests/misc/fmt: Likewise.
- * tests/misc/fold: Likewise.
- * tests/misc/head-elide-tail: Likewise.
- * tests/misc/ls-misc: Likewise.
- * tests/misc/md5sum: Likewise.
- * tests/misc/md5sum-newline: Likewise.
- * tests/misc/mktemp: Likewise.
- * tests/misc/od: Likewise.
- * tests/misc/paste-no-nl: Likewise.
- * tests/misc/pr: Likewise.
- * tests/misc/seq: Likewise.
- * tests/misc/sha1sum: Likewise.
- * tests/misc/sha1sum-vec: Likewise.
- * tests/misc/sha224sum: Likewise.
- * tests/misc/sha256sum: Likewise.
- * tests/misc/sha384sum: Likewise.
- * tests/misc/sha512sum: Likewise.
- * tests/misc/sort-merge: Likewise.
- * tests/misc/stat-printf: Likewise.
- * tests/misc/sum: Likewise.
- * tests/misc/test-diag: Likewise.
- * tests/misc/tsort: Likewise.
- * tests/misc/unexpand: Likewise.
- * tests/misc/wc-files0-from: Likewise.
- * tests/misc/xstrtol: Likewise.
- * tests/mv/i-1: Likewise.
- * tests/rm/empty-name: Likewise.
- * tests/rm/unreadable: Likewise.
-
-2007-11-15 Andreas Schwab <schwab@suse.de>
-
- * m4/include-exclude-prog.m4 (gl_REMOVE_PROG): Fix syntax error.
- Remove trailing space from result.
-
-2007-11-15 Jim Meyering <meyering@redhat.com>
-
- Avoid misbehavior of a cross-device "mv" or "install".
- Those programs must not dereference a destination symlink.
- * src/copy.c (copy_reg): Don't treat a dangling destination symlink
- differently in move mode. In move mode, the only way the added
- O_EXCL can cause failure is when some other process has recreated
- the file this code unlinked a few instructions before.
-
-2007-11-14 Jim Meyering <meyering@redhat.com>
-
- Another bootstrap kludge.
- * bootstrap: Ensure gnulib-tests/test-*.sh are executable
-
- #ifdef-out matchpathcon-related code, for now.
- * src/install.c (setdefaultfilecon): #ifdef-out all of the
- matchpathcon-related code, until it's more efficient.
- (setdefaultfilecon): Instead of the above, stub-out the entire function.
-
- Use gnulib's stpncpy module, now required by install.c
- * bootstrap.conf (gnulib_modules): Add stpncpy.
-
- Enable gnulib-tool's --with-tests option.
- * bootstrap: After all is done, transform the generated
- gnulib-tests/gnulib.mk.
- * bootstrap.conf (gnulib_tool_option_extras): Set it here.
- * gnulib-tests/Makefile.am: New file.
- * Makefile.am (SUBDIRS): Add gnulib-tests.
- * configure.ac (AC_CONFIG_FILES): Add gnulib-tests/Makefile.
- * m4/jm-macros.m4 (coreutils_MACROS) [ARGMATCH_DIE_DECL]: Omit the
- "extern " prefix to "void usage ()", so that the macro string value can
- be used to construct a function definition in gnulib's test-argmatch.c.
-
-2007-11-12 Benno Schulenberg <bensberg@justemail.net>
-
- Clarify description of cp's -a option.
- * src/cp.c (usage) [-a]: Remove unnecessary 'P'.
- Since option -d of 'cp' includes the function of -P, mentioning the
- latter in the description of option -a is redundant and therefore
- slightly confusing, as the reader tries to figure out what it adds.
- * doc/coreutils.texi (cp invocation): Likewise: s/-dpPR/-dpR/.
-
-2007-11-09 Jim Meyering <meyering@redhat.com>
-
- bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
- * bootstrap (gnulib_tool_options): Add a space before the use
- of $gnulib_tool_option_extras, so that it's separated from the
- preceding argument.
-
- install+SELinux: reduce a 12x performance hit to ~1.5x
- * src/install.c (setdefaultfilecon): Call matchpathcon_init_prefix,
- to mitigate what would otherwise be a large performance hit due to
- the use of matchpathcon.
- Dan Walsh suggested the use of matchpathcon_init_prefix.
- * gl/lib/se-selinux.in.h (matchpathcon_init_prefix): Define.
-
-2007-11-08 Jim Meyering <meyering@redhat.com>
-
- Adapt to gnulib's s/jm_/gl_/ cache variable renaming.
- * configure.ac: Change the cache variable name prefix "jm_" to "gl_",
- to match today's change in gnulib.
-
-2007-11-05 Jim Meyering <meyering@redhat.com>
-
- Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
- * bootstrap (cp_mark_as_generated): Create any required parent
- destination directories before copying a file into place.
-
- * src/c99-to-c89.diff: Adjust offsets.
-
- Don't use GNU-sed-specific \< \> operators here, either.
- * m4/include-exclude-prog.m4 (gl_REMOVE_PROG): Use a loop, as below.
-
- Use tighter regexps when performing name substitution.
- * man/Makefile.am (mapped_name): Add ^ and $$ anchors.
-
- Don't use GNU-sed-specific \< \> operators.
- * configure.ac (MAN): Transform ginstall.1 to install.1 using
- a loop, rather than sed with \<...\>.
- Problem reported by Bruno Haible.
- Andreas Schwab reminded me that \< and \> are not portable.
-
- Get git-version-gen from gnulib.
- * build-aux/git-version-gen: Remove file.
- * build-aux/.gitignore: Add git-version-gen.
- * bootstrap.conf (gnulib_modules): Add git-version-gen.
-
-2007-11-03 Jim Meyering <meyering@redhat.com>
-
- git-version-gen: Sync from autoconf's version.
- * build-aux/git-version-gen: Run git-status
-
- Sync copyright and scriptversion bits from gnulib.
- * build-aux/git-version-gen: No semantic change.
-
- Change the first '-' to '.' in the snapshot version string,
- e.g., 6.9-377-08144 -> 6.9.377-08144
- * build-aux/git-version-gen: ... and add comments.
-
- seq: add another test for the %% bug.
- * tests/misc/seq (fmt-c): Test the other fixed case, too.
-
-2007-11-03 Paul Eggert <eggert@cs.ucla.edu>
-
- Fix bug with "seq 10.8 0.1 10.95", plus another bug with %% in format.
-
- * NEWS: Mention the %%-in-format bug fix.
- * src/seq.c (struct layout): New type.
- (long_double_format): New arg LAYOUT. Fill it in. Fix mishandling
- of %% in formats.
- (print_numbers): New arg LAYOUT. Don't convert LAST to output format
- when deciding whether to go slightly past LAST. Instead, convert
- X to output format and back. This fixes a bug reported by
- Andreas Schwab in
- <http://lists.gnu.org/archive/html/bug-coreutils/2007-10/msg00237.html>
- where "seq 10.8 0.1 10.95" would output 11.0 on platforms where
- 10.95 rounds to a value that prints as 11.0 when only one digit
- past the decimal point is asked for.
- (main): Compute layout, for benefit of print_numbers.
- * tests/misc/seq (float-3): Undo previous change, since the bug
- should be fixed now.
- (fmt-b): New test, for the %% bug.
-
-2007-11-01 Jim Meyering <meyering@redhat.com>
-
- * tests/misc/printf-surprise: Correct sed transform.
- Reported by Bob Proulx.
-
- Add example inspired by "make dist" running gzip and lzma in sequence.
- * doc/coreutils.texi (tee invocation): Show how to run tar just
- once, compressing the tee'd output streams in parallel.
-
- Say that the first process substitution example is contrived.
- * doc/coreutils.texi (tee invocation): ... and show how to do
- it properly. Pointed out by James Antill.
-
- Use mktemp, not mkdtemp, to create test directories.
- * tests/test-lib.sh: Use the mktemp binary we've just built,
- not the mkdtemp script.
- * tests/mkdtemp: Remove file.
- * tests/Makefile.am (EXTRA_DIST): Remove mkdtemp.
-
- Adjust a seq subtest not to depend on the vagaries of floating point.
- * tests/misc/seq (float-3): Use 10.94 as the endpoint, not 10.95,
- since 10.95 was precisely in the middle of the interval, and with
- a %.1f format could map to either 10.9 or 11.0.
- Reported by Mike Frysinger
-
- Make the new printf-surprise test more precise.
- * tests/test-lib.sh (require_ulimit_): New function.
- * tests/misc/printf-surprise: Use ulimit -v to trigger the fixed bug,
- and rather than checking printf's exit status (which would go wrong
- on FreeBSD 6.1, since their printf(3) function doesn't require
- lots of memory in this case) simply test whether it outputs
- the first 10 bytes.
-
- Accommodate FreeBSD 6.1 hard-link-to-symlink differences.
- * tests/cp/same-file: Detect when linking to a symlink links to
- the target of the symlink (FreeBSD 6.1 does this, Linux does not),
- and skip the few tests that would otherwise fail.
- Redirect output of final comparison to stderr, since all stdout
- is already redirected.
-
-2007-10-31 Jim Meyering <meyering@redhat.com>
-
- Fix a "make distcheck" failure.
- * Makefile.maint (my-distcheck): Don't stub-out dirname,
- since build-aux/check.mk now uses it.
-
- * bootstrap.conf (gnulib_modules): Add xprintf-posix.
-
-2007-10-30 Jim Meyering <meyering@redhat.com>
-
- Avoid seq floating-point test failure on FreeBSD 6.1.
- * tests/misc/seq (float-4): Also accept -0.0.
-
-2007-10-29 Jim Meyering <meyering@redhat.com>
-
- Change a "make dist" diagnostic.
- * GNUmakefile: Don't imply that $(_curr-ver) is the new version string.
-
-2007-10-29 Bob Proulx <bob@proulx.com>
-
- Improve color terminal escape usage.
- * build-aux/check.mk (am__tty_colors): Use 'tput' to deduce
- terminal color capabilities.
-
-2007-10-29 Jim Meyering <meyering@redhat.com>
-
- Don't try to colorize a dumb terminal.
- * build-aux/check.mk (am__tty_colors): Skip colors if $TERM is "dumb".
- Thanks to Bob Proulx.
-
- Remove gnulib's printf-posix module, for now.
- * bootstrap.conf (gnulib_modules): It caused too many test failures.
-
- Remove spurious semicolon after "else".
- * build-aux/check.mk (am__tty_colors): Fix syntax error.
-
- If $TERM is empty, don't use colors. This helps the buildbot,
- since it produces its result in an environment with a tty, but
- we don't want color codes in that case.
- * build-aux/check.mk (am__tty_colors): Test for nonempty $TERM.
- Suggestion from Bob Proulx.
-
- Always initialize terminal colorization string variables.
- * build-aux/check.mk (am__tty_colors): Always initialize red, grn, etc.,
- In case they're defined in the environment.
-
- Avoid test failure in non-srcdir build vs. the git tree.
- * tests/check.mk (vc_exe_in_TESTS): Run this test only in a
- srcdir build directory. Reported by Andreas Schwab.
-
-2007-10-28 Jim Meyering <meyering@redhat.com>
-
- Define ENOTSUP, not ENOSYS. Needed on OpenBSD 3.9.
- * gl/lib/se-context.in.h (ENOTSUP): Define if missing.
- * gl/lib/se-selinux.in.h: Likewise.
-
- Define ENODATA, for FreeBSD 5.0 and 6.1.
- * src/system.h (ENODATA): Define, if missing.
-
- Run autoreconf, not just autoconf, to avoid warnings.
- * GNUmakefile (dummy): Otherwise, we'd sometimes get a warning
- about autoconf version mismatch between what was used to generate
- aclocal.m4 and the currently-running autoconf.
-
- Require gnulib's printf-posix module, to support Interix.
- * bootstrap.conf (gnulib_modules): Add printf-posix.
-
- Help xgettext recognize more printf-style format strings.
- * bootstrap.conf (XGETTEXT_OPTIONS): Add directives for
- error, error_at_line, xasprintf, xfprintf and xprintf.
-
-2007-10-27 Jim Meyering <meyering@redhat.com>
-
- Adjust format string so msgfmt doesn't object.
- * src/df.c (main): Use "%s%s" (not %smsg) to print "msg" with or
- without a "Warning: " prefix. Reported by Clytie Siddall.
-
- Clean up tests/Makefile.am.
- * tests/Makefile.am (EXTRA_DIST): Remove $(TESTS). No longer defined.
- (TESTS_ENVIRONMENT): Remove definition.
-
-2007-10-26 Jim Meyering <meyering@redhat.com>
-
- * build-aux/check.mk: Merge with latest from Akim.
-
- Add a test for the printf fix of 2007-10-21.
- * tests/misc/printf-surprise: New file. Test for 2007-10-21's fix.
- * tests/misc/Makefile.am (TESTS): Add printf-surprise.
-
-2007-10-24 Micah Cowan <micah@cowan.name>
-
- Remove vestiges of cvs-gnulib-checkout process. Now we use git.
- * bootstrap: Remove support for now-unnecessary option, --cvs-user,
- and envvars CVS_USER, CVS_RSH.
-
-2007-10-24 Micah Cowan <micah@cowan.name>
-
- Tell xgettext that "ARG1 % ARG2" is not a C format string.
- * src/expr.c (usage): Add a comment to override xgettext's default
- behavior, which would classify "ARG1 % ARG2" as a fprintf-style
- format string. Reported by Clytie Siddall.
-
-2007-10-24 Jim Meyering <meyering@redhat.com>
-
- Avoid diagnostics from sha1sum when there is no cached checksum.
- * bootstrap (update_po_files): Skip the sha1sum check if the po.s1
- file hasn't been created yet.
-
- Get gnulib from the git repository, not from an obsolete cvs one.
- * bootstrap: Suggestion from Micah Cowan.
-
- Doc improvements.
- * README-hacking: Prefer the no-hyphen variant of git commands,
- e.g., use "git pull" not "git-pull".
- Don't presume that the only way to read this document is via a
- prior git clone: provide instructions for cloning coreutils, too.
-
- * README-hacking: Add "cd automake" in build instructions.
- From Bob Proulx.
-
- Don't fail part 2 of tests/rm/unreadable when run as root.
- * tests/rm/unreadable: With UID == 0, expect different results.
- Reported by Mike Frysinger.
-
-2007-10-23 Jim Meyering <meyering@redhat.com>
-
- * README-hacking: Refer to LZMA Utils <http://tukaani.org/lzma/>.
-
-2007-10-22 Paul Eggert <eggert@cs.ucla.edu>
-
- * README-hacking: Describe how to build with LZMA.
-
-2007-10-22 Jim Meyering <meyering@redhat.com>
-
- Remove git-version-gen's first parameter.
- * build-aux/git-version-gen: Add comments.
- Remove first command-line parameter.
- * configure.ac: Remove corresponding first argument.
- * GNUmakefile (_curr-ver): Likewise.
-
-2007-10-21 Jim Meyering <meyering@redhat.com>
-
- * NEWS: Mention the printf fix.
-
- Reorder tests to run more basic ones earlier.
- * tests/misc/Makefile.am (TESTS): Reorder.
- * tests/Makefile.am (SUBDIRS): Reorder.
-
- tr: do not reject an unmatched [:lower:] or [:upper:] in SET1.
- * NEWS: Mention this.
- * src/tr.c (get_next) [RE_CHAR_CLASS]: Don't skip the loop when
- processing [:lower:] and [:upper:].
- (main): Require [:lower:] or [:upper:] in SET1 only when
- when one of those is specified in SET2.
- * tests/tr/Test.pm: Add tests for this fix.
- Reported by Per Starbäck.
-
-2007-10-20 Jim Meyering <meyering@redhat.com>
-
- * tests/misc/help-version: Add a comment.
-
- Detect printf(3) failure due to ENOMEM.
- * src/printf.c: Include "xprintf.h"
- (print_direc): Use xprintf, rather than printf.
- * bootstrap.conf (gnulib_modules): Add xprintf.
- * po/POTFILES.in: Add lib/xprintf.c.
- Reported by Bruno Haible.
-
- Put always-failing programs first in PATH, so tests cannot mistakenly
- run installed versions.
- * Makefile.maint (my-distcheck): Set up a bogus bin/ dir, to be used
- for "make check".
-
- * doc/coreutils.texi (tee invocation): Fix typo. Add a little.
- Add a cross-reference to bashref's Process Substitution node.
-
- Adjust tests to pass, now that Test.pm ones use check.mk.
- * tests/check.mk (vc_exe_in_TESTS): Adjust regexp not to match the
- "TESTS = $x-tests" line in each Test.pm-derived Makefile.am file.
- * tests/sort/main: Remove this unused file.
-
- Ensure that Test.pm-derived tests use the right $PATH.
- * tests/Makefile.am.in: Include $(top_srcdir)/tests/check.mk.
-
-2007-10-20 Bob Proulx <bob@proulx.com>
-
- Prevent "make check" from leaving mktemp /tmp/tmp.* files behind.
- * tests/misc/help-version (mktemp_args): Tell mktemp to create
- its temporary file in the current directory.
-
-2007-10-16 Jim Meyering <meyering@redhat.com>
-
- Show how to make tee redirect to multiple processes.
- * doc/coreutils.texi (tee invocation): Tee can redirect output
- to multiple _processes_, too.
-
-2007-10-14 Jim Meyering <meyering@redhat.com>
-
- Pull all TESTS_ENVIRONMENT settings "up" into tests/check.mk.
- * tests/Makefile.am.in (TESTS_ENVIRONMENT): Remove definition.
- * tests/chgrp/Makefile.am: Likewise.
- * tests/chmod/Makefile.am: Likewise.
- * tests/chown/Makefile.am: Likewise.
- * tests/cp/Makefile.am: Likewise.
- * tests/dd/Makefile.am: Likewise.
- * tests/du/Makefile.am: Likewise.
- * tests/install/Makefile.am: Likewise.
- * tests/ln/Makefile.am: Likewise.
- * tests/ls/Makefile.am: Likewise.
- * tests/misc/Makefile.am: Likewise.
- * tests/mkdir/Makefile.am: Likewise.
- * tests/mv/Makefile.am: Likewise.
- * tests/readlink/Makefile.am: Likewise.
- * tests/rm/Makefile.am: Likewise.
- * tests/rmdir/Makefile.am: Likewise.
- * tests/tail-2/Makefile.am: Likewise.
- * tests/touch/Makefile.am: Likewise.
- * tests/check.mk (TESTS_ENVIRONMENT) [EXEEXT, EGREP, MAKE, PERL]:
- [CONFIG_HEADER, build_programs, host_os, host_triplet, PATH]:
- [REPLACE_GETCWD, CU_TEST_NAME]: Add definitions here.
- * tests/misc/pwd-long: Use $abs_top_builddir/src, not $BUILD_SRC_DIR.
- * tests/dd/skip-seek: Don't use $ENV{PROG}.
- * tests/rm/empty-name: Likewise.
- * tests/rm/unreadable: Likewise.
- * tests/mv/i-1: Likewise.
-
- Fix a minor typo.
- * configure.ac (AC_INIT): Fix a typo (s/9.6/6.9/) that makes a
- difference only when running "make dist" without a .git/ subdir.
-
-2007-10-09 Jim Meyering <meyering@redhat.com>
-
- Move the help-version test into misc/.
- * tests/help-version: Move to...
- * tests/misc/help-version: ...here.
- Source test-lib.sh, as usual.
- Use $abs_top_builddir, rather than ".." and "../..".
-
- Make the runcon-no-reorder test slightly more general.
- * tests/misc/runcon-no-reorder: Don't hard-code "unconstrained_t".
- Use slightly more general "runcon $(id -Z)".
- Suggestion from Stephen Smalley.
-
- Skip the chcon test on a system with no SELinux support.
- * tests/test-lib.sh (require_selinux_): New function.
- * tests/misc/chcon: Use it.
- * tests/misc/selinux: Use it here, too.
- * tests/cp/cp-a-selinux: and here.
- * tests/selinux: Remove file.
- * tests/Makefile.am (EXTRA_DIST): Remove selinux.
- Reported by Mike Frysinger and Bauke Jan Douma.
-
- * src/dircolors.hin: Recognize .lzma as a compressed-file suffix.
-
- * configure.ac (AM_INIT_AUTOMAKE): Use dist-lzma, rather than dist-bzip2.
-
- Now that we don't install su, don't make misleading suggestions.
- * src/Makefile.am (install-exec-local) [$(INSTALL_SU) != yes]:
- Don't suggest running "make install-root".
- (uninstall-local) [$(INSTALL_SU) != yes]: Don't even check
- the installed binary.
-
-2007-10-08 Jim Meyering <meyering@redhat.com>
-
- When forming a truncated name, use the "[...]" prefix even for
- an extremely long name in the current directory
- * src/remove.c (full_filename_): Rename a local variable.
- Use two separate "truncated" variables, in case the second
- call to right_justify does not indicate any truncation -- which
- would happen only if the single component FILENAME were longer
- than 511 bytes and DIR_NAME were empty.
-
- rm could malfunction under unusual circumstances:
- When operating on a relative name longer than 511 bytes,
- and (when either processing a directory that is neither writable
- nor readable (but still searchable) or when determining whether
- to prompt), and encountering an ENOMEM error while forming the
- file name, rm would operate on a truncated-to-511-byte name
- starting with "[...]" rather than the intended one.
- * NEWS: Describe the bugs.
- * src/remove.c: Correct two misuses of full_filename:
- (full_filename0, xfull_filename): New functions.
- (full_filename_): Rewrite to use full_filename0.
- (AD_pop_and_chdir): Use xfull_filename, not full_filename.
- (write_protected_non_symlink): Likewise.
-
-2007-10-07 Jim Meyering <meyering@redhat.com>
-
- Don't let a helper function modify errno.
- * src/remove.c (full_filename_): Save and restore errno.
- Spotted by Bruno Haible.
-
- Reflect 2->3 GPL copyright version update in gnulib.
- * gl/lib/tempname.h: Update copyright from gnulib.
- * gl/lib/tempname.c: Likewise.
- * .x-sc_GPL_version: Don't make an exception for those two files.
-
- * configure.ac (AM_INIT_AUTOMAKE): Don't use dist-lzma just yet.
-
- New program: mktemp.
- * NEWS: Mention this.
- * README: Add mktemp to the list.
- * AUTHORS: Add this: mktemp: Jim Meyering
- * src/mktemp.c: New file.
- * src/Makefile.am (bin_PROGRAMS): Add mktemp.
- (mktemp_LDADD): Add $(LIB_GETHRXTIME).
- * man/mktemp.x: New file.
- * man/Makefile.am (dist_man_MANS): Add mktemp.1.
- (mktemp.1): New dependency.
- * man/.cvsignore: Add mktemp.1.
- * man/.gitignore: New file.
- * src/.cvsignore, src/.gitignore: Add mktemp.
- * tests/misc/mktemp: New file.
- * tests/misc/Makefile.am (TESTS): Add mktemp.
- * tests/Coreutils.pm (run_tests): Give the POST-test function
- access to stdout and stderr contents, so it can verify that
- the named-on-stdout file/dir does indeed exist and has proper
- permissions, etc.
- [po/ChangeLog]
- * POTFILES.in: Add src/mktemp.c.
-
- Make tempname more random, via the randint module.
- * gl/modules/tempname (Depends-on): Add randint and stdbool.
- * gl/lib/tempname.c: Include randint.h and stdbool.h.
- (uint64_t): Remove definition. Not needed.
- [_LIBC] (RANDOM_BITS): Remove this block, now that we have proper
- random bits.
- (check_x_suffix): New function.
- (gen_tempname_len): Rename from __gen_tempname.
- Add a parameter, x_suffix_len, telling how many X's there must be at
- the end of the template.
- Use pseudo-random numbers all the way, rather than adding 7777
- from one iteration to the next.
- (__gen_tempname): New function, to call gen_tempname_len, requiring a
- suffix length of 6.
- * gl/lib/tempname.h: Add prototype for gen_tempname_len.
-
- Convert coreutils' rand*.{c,h,m4} into modules.
- First step: move these files to gl/lib:
- * lib/rand-isaac.c, lib/rand-isaac.h
- * lib/randint.c, lib/randint.h
- * lib/randperm.c, lib/randperm.h
- * lib/randread.c, lib/randread.h
- Step 2: add modules/rand* and remove now-unneeded .m4 files.
- * gl/modules/randint: New file.
- * gl/modules/randperm: New file.
- * gl/modules/randread: New file.
- * m4/randint.m4: Remove file.
- * m4/randperm.m4: Remove file.
- * m4/randread.m4: Remove file.
- Step 3: use the new modules
- * bootstrap.conf (gnulib_modules): Add randint and randperm.
- * m4/prereq.m4 (gl_RANDINT, gl_RANDREAD, gl_RANDPERM): Don't require;
- These have been removed.
- (gl_ROOT_DEV_INO): Don't require; already handled via bootstrap.conf.
-
- Copy from gnulib the parts of tempname that we'll modify.
- * gl/lib/tempname.c: Copy from gnulib.
- * gl/lib/tempname.h: Likewise.
- * gl/modules/tempname: Likewise.
- Allow GPLv2 on temporarily(?)-imported file from gnulib/libc.
- * .x-sc_GPL_version: New file.
- * Makefile.am (EXTRA_DIST): Add .x-sc_GPL_version
-
-2007-10-07 Jim Meyering <meyering@redhat.com>
-
- Avoid a pseudo-leak in sort.
- * src/sort.c (main) [lint]: Avoid a nominal leak.
-
- Use puts, rather than printf ("%s\n". Slightly cleaner.
- * src/tsort.c (tsort): ...and more efficient.
-
- Avoid seq malfunction on non-POSIX systems: mingw, BeOS, Interix.
- * bootstrap.conf (gnulib_modules): Add vasprintf-posix.
- Suggestion from Bruno Haible.
-
- Avoid a used-uninitialized error.
- * src/copy.c (copy_internal): Don't overload "use_stat".
-
-2007-10-05 Jim Meyering <meyering@redhat.com>
-
- Make a failing cross-partition mv give a sensible diagnostic.
- A cross-partition move of a file in a sticky tmpdir and owned by
- another user would evoke an invalid diagnostic after copying it:
- mv: cannot remove `x': Operation not permitted
- Either of the following (mv.c, remove.c) changes would fix the bug by
- itself. I think it's slightly better to use both; the added cost is
- minimal: mv: an extra lstat-per-mv-cmdline-arg-that-goes-cross-partition,
- rm: an extra lstat-per-unlink-that-fails-w/EPERM.
- * src/remove.c (remove_entry): Also lstat the file upon EPERM.
- * src/mv.c (rm_option_init): Initialize root_dev_ino just as is done
- in rm, so that a cross-partition invoked remove.c:rm call works the
- same way as one invoked from the command-line use of "rm". That
- setting of root_dev_ino makes rm() do the equivalent of an additional
- lstat for each argument, which in turn gives rm enough information to
- issue the right diagnostic.
- * tests/mv/sticky-to-xpart (version): New file. Test for the above.
- * tests/mv/Makefile.am (TESTS): Add sticky-to-xpart.
- Arrange for "make check-root" to run the new root-only test.
- * tests/Makefile.am (tb): New target, to run the new root-only test.
- (all_t): Add tb.
- * src/c99-to-c89.diff: Adjust offsets.
-
- Add PACKAGE_VERSION to TESTS_ENVIRONMENT via check.mk.
- * tests/check.mk (TESTS_ENVIRONMENT): Add PACKAGE_VERSION here,
- rather than in every Makefile.am that needs it.
- * tests/rm/Makefile.am (TESTS_ENVIRONMENT): Remove PACKAGE_VERSION.
- * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Likewise.
-
-2007-10-04 Jim Meyering <jim@meyering.net>
-
- Adapt to new gnulib naming scheme.
- * gl/lib/se-context.in.h: Rename from gl/lib/se-context_.h.
- * gl/lib/se-selinux.in.h: Rename from gl/lib/se-selinux_.h.
- * gl/m4/selinux-context-h.m4: Remove use of AC_LIBSOURCES.
- * gl/m4/selinux-selinux-h.m4: Likewise.
- * gl/modules/selinux-h (Files, Makefile.am): Reflect renaming.
- (Makefile.am) [lib_SOURCES]: Add se-context.in.h and se-selinux.in.h.
-
- * lib/search_.h: Remove unused file.
-
- * bootstrap (slurp): Adapt to _.h -> .in.h name change.
- (update_po_files): Work also when there are no .po files in po/.
-
- Remove test program: lib/t-fpending.c.
- * lib/t-fpending.c: Remove file. Now, this test is in gnulib.
- * lib/Makefile.am: Remove associated rules.
- * .gitignore: Remove lib/t-fpending.
-
-2007-10-03 Jim Meyering <jim@meyering.net>
-
- * tests/misc/selinux: Skip this test if the initial chcon fails.
-
-2007-10-02 Jim Meyering <jim@meyering.net>
-
- Never copy through a symlink that cp has just created.
- * src/copy.c (copy_internal): When same-file detection requires
- 'stat'ing the destination file, also 'lstat' it and ensure that
- it wasn't the destination of a preceding copy operation.
- This bug was introduced on 2007-06-18.
- * tests/cp/abuse: New test for the above.
- * tests/cp/Makefile.am (TESTS): Add abuse.
-
-2007-09-30 Jim Meyering <jim@meyering.net>
-
- cp: do not abbreviate in --help output.
- * src/cp.c (usage): Don't abbreviate: s/=link/=links/.
- Reported by Géraud Meyer in <http://bugs.debian.org/444137>.
-
-2007-09-29 Eric Blake <ebb9@byu.net>
-
- Test previous patch.
- * tests/misc/groups-dash: New test.
- * tests/misc/Makefile.am (TESTS): Add it.
-
-2007-09-28 Eric Blake <ebb9@byu.net>
-
- * src/groups.sh: Don't ignore first argument if later argument is --.
-
-2007-09-27 Jim Meyering <jim@meyering.net>
-
- Avoid spurious test failure when SELinux stats "selinux/class".
- * tests/ls/stat-free-symlinks: Grep for more precise /^stat("x"/.
-
- Move file-set and hash-triple modules to gnulib.
- * bootstrap.conf (gnulib_modules): Remove file-set, now that
- it's in gnulib, and the canonicalize module requires it there.
- * gl/lib/file-set.c, gl/lib/file-set.h, gl/modules/hash-triple: Remove.
- * gl/lib/hash-triple.c, gl/lib/hash-triple.h, gl/modules/file-set:
- Remove.
-
- Add a test to exercise a readlink bug.
- * tests/misc/readlink-fp-loop: New file. Test for the readlink bug
- fixed through today's change to Gnulib's canonicalize module.
- * tests/misc/Makefile.am (TESTS): Add readlink-fp-loop.
- Bug report and a test case from mpb.mail@gmail.com.
-
-2007-09-25 Pádraig Brady <P@draigBrady.com>
-
- * doc/coreutils.texi (date invocation):
- Make "Date input formats" easier to navigate to.
-
-2007-09-25 Jim Meyering <jim@meyering.net>
-
- Use XOR, not OR to combine bits.
- * gl/lib/hash-triple.c (triple_hash): Use XOR (^), not OR (|), to
- combine the bits from hashing the name and those of the inode number.
- Add a few comments and remove out-of-context ones.
-
-2007-09-24 Jim Meyering <jim@meyering.net>
-
- * NEWS: The recent rm-diagnostic fix also affects cross-partition "mv".
-
- copy.c: Remove definitions of factored-out functions.
- * src/copy.c: Include "file-set.h".
- (seen_file, record_file): Remove functions that I factored
- out on 2007-08-23.
-
-2007-09-22 Jim Meyering <jim@meyering.net>
-
- Don't print the commands of a 10-line script that's run in each subdir.
- * tests/check.mk (vc_exe_in_TESTS): Add a leading "@", to reduce noise.
-
- rm: give a sensible diagnostic when failing to remove a symlink
- On some systems (those with openat et al), when rm would fail to
- remove a symlink, it would fail with the misleading diagnostic,
- "Too many levels of symbolic links".
- * NEWS: Mention the bug fix.
- * src/remove.c (is_nondir_lstat): New function.
- (remove_entry): Use it to catch failed-to-remove symlink (and any
- other non-dir) here so that we don't fall through and try to treat
- it as directory, which -- with a symlink -- would provoke the bogus
- ELOOP failure.
- * tests/rm/fail-eacces: Add a test for the above.
- * src/c99-to-c89.diff: Adjust offsets.
-
- rm: fix a tiny, nearly inconsequential bug.
- Don't perform a "."-relative lstat, when the file in question
- may well not be in ".". Although this is a bug, a few attempts
- to exercise it on a linux-2.6.22 system failed. You probably need
- a pre-openat system to trigger the failure. The consequence of this
- bug would be a lower-quality diagnostic upon failed dir removal.
- * src/remove.c (is_dir_lstat): Add a parameter, fd_cwd.
- Use it instead of hard-coding AT_FDCWD.
- (remove_entry): Call is_dir_lstat with fd_cwd.
-
-2007-09-22 Karl Berry <karl@freefriends.org>
-
- * TODO: It'd be nice to add renice.
-
-2007-09-21 Jim Meyering <jim@meyering.net>
-
- Avoid test failure due to now-parallelized tests.
- * tests/du/two-args: Run "du .." from a sub-directory one level deeper.
-
-2007-09-16 Jim Meyering <jim@meyering.net>
-
- * tests/misc/tac-continue: Arrange to remove a temporary file.
-
- * tests/check.mk (vc_exe_in_TESTS): Don't rely on the value of
- $(TESTS), so that "make check TESTS=test-name" works once again.
-
- * tests/CuTmpdir.pm: Use File::Find + chmod syscall, not chmod -R.
-
- Revamp most test scripts.
-
- * tests/rm/v-slash: Avoid test failure with non-C locale.
- Reported by Michael Stone.
-
- Enable some previously omitted test scripts. Add a test cross-check.
- * tests/rm/Makefile.am (TESTS): Add empty-name and unreadable.
- * tests/rm/empty-name: Likewise.
- * tests/rm/unreadable: Reenable this test. Adjust for new rm.
- * tests/mkdir/Makefile.am: Add writable-under-readonly.
- * tests/mkdir/writable-under-readonly: Add some comments.
- This test is always skipped, for now.
- * tests/Makefile.am (ta): Hook up the new root-only script.
- * tests/tail-2/infloop-1: Make this test pass.
- * tests/tail-2/Makefile.am (TESTS): Add infloop-1.
- * tests/tail-2/fflush: Remove unused file.
- * tests/check.mk (vc_executable_is_in_TESTS): More portable.
- * tests/check.mk (check): Depend on the above.
- * build-aux/check.mk: Remove comment mentioning AUTHORS file.
-
- Factor out definitions in TESTS_ENVIRONMENT of srcdir, top_srcdir, etc.
- tests/check.mk (top_srcdir): Define.
- tests/*/Makefile.am: Remove definitions of $(srcdir), $(top_srcdir),
- $(abs_top_srcdir), and $(abs_top_builddir), since they're
- defined via the included tests/check.mk.
-
- tests/general: Remove from VC, this long-unused directory and contents.
-
- Adapt tests/tail-2/ to use test-lib.sh.
- Adapt tests/readlink/ to use test-lib.sh.
-
- Move the sole test in tests/ls-2/ to tests/misc/.
- * tests/ls-2/basic-1: Move this file to ...
- * tests/misc/ls-misc: ...here. Don't rely on $PROG in env.
- * tests/misc/Makefile.am (TESTS): Add ls-misc.
- * tests/Makefile.am (SUBDIRS): Remove ls-2.
- * tests/ls-2: Remove the directory.
- * configure.ac (AC_CONFIG_FILES): Remove tests/ls-2/Makefile.
-
- More misc, test-related changes. (some to allow running tests as root)
-
- Move all tests from test/{od,sha1sum,shred,stty} to tests/misc/.
- Reflect these renamings:
- od/od-N misc/od-N
- od/x8 misc/od-x8
- sha1sum/basic-1 misc/sha1sum
- sha1sum/sample-vec misc/sha1sum-vec
- shred/exact misc/shred-exact
- shred/remove misc/shred-remove
- stty/basic-1 misc/stty
- stty/invalid misc/stty-invalid
- stty/row-col-1 misc/stty-row-col
- * tests/misc/Makefile.am (TESTS): Add the new files.
- * tests/Makefile.am (SUBDIRS): Remove the dir names.
- * tests/od, tests/sha1sum, tests/shred, tests/stty: Remove the
- directories.
- * configure.ac (AC_CONFIG_FILES): Remove the corresponding Makefile
- names.
-
- Move the two tests in tests/tee to tests/misc/.
- * tests/tee/basic: Move this file to ...
- * tests/misc/tee: ...here. Don't rely on $PROG in env.
- * tests/tee/dash: Move this file to ...
- * tests/misc/tee-dash: ...here. Don't rely on $PROG in env.
- * tests/misc/Makefile.am (TESTS): Add tee.
- * tests/Makefile.am (SUBDIRS): Remove tee.
- * tests/tee: Remove the directory.
- * configure.ac (AC_CONFIG_FILES): Remove tests/tee/Makefile
-
- Move the two tests in tests/sum/ to tests/misc/.
- * tests/sum/basic-1: Move this file to ...
- * tests/misc/sum: ...here. Don't rely on $PROG in env.
- * tests/sum/sysv: Move this file to ...
- * tests/misc/sum-sysv: ...here. Adapt it to use test-lib.sh.
- * tests/misc/Makefile.am (TESTS): Add sum and sum-sysv.
- * tests/Makefile.am (SUBDIRS): Remove sum.
- * tests/sum: Remove the directory.
- * configure.ac (AC_CONFIG_FILES): Remove tests/sum/Makefile.
-
- Move the sole test in tests/tsort/ to tests/misc/tsort.
- * tests/tsort/basic-1: Move this file to ...
- * tests/misc/tsort: ...here. Don't rely on $PROG in env.
- * tests/misc/Makefile.am (TESTS): Add tsort.
- * tests/Makefile.am (SUBDIRS): Remove tsort.
- * tests/tsort: Remove the directory.
- * configure.ac (AC_CONFIG_FILES): Remove tests/tsort/Makefile.
-
- Move the sole test in tests/unexpand to tests/misc/unexpand.
- * tests/unexpand/basic-1: Move this file to ...
- * tests/misc/unexpand: ...here. Don't rely on $PROG in env.
- * tests/misc/Makefile.am (TESTS): Add unexpand.
- * tests/Makefile.am (SUBDIRS): Remove unexpand.
- * tests/unexpand: Remove the directory.
- * configure.ac (AC_CONFIG_FILES): Remove tests/unexpand/Makefile.
-
- Move the sole test in tests/seq to tests/misc/seq.
- * tests/seq/basic: Move this file to ...
- * tests/misc/seq: ...here. Don't rely on $PROG in env.
- * tests/misc/Makefile.am (TESTS): Add seq.
- * tests/Makefile.am (SUBDIRS): Remove seq.
- * tests/seq: Remove the directory.
- * configure.ac (AC_CONFIG_FILES): Remove tests/seq/Makefile
-
- Convert tests/mkdir/ to use test-lib.sh.
-
- Move the two tests in tests/md5sum to tests/misc/md5sum.
- * tests/md5sum/basic-1: Move this file to ...
- * tests/misc/md5sum: ...here. Don't rely on $PROG in env.
- * tests/md5sum/newline-1: Move this file to ...
- * tests/misc/md5sum-newline: ...here. Don't rely on $PROG in env.
- * tests/misc/Makefile.am (TESTS): Add md5sum.
- * tests/Makefile.am (SUBDIRS): Remove md5sum.
- * tests/md5sum: Remove the directory.
- * configure.ac (AC_CONFIG_FILES): Remove tests/md5sum/Makefile
-
- tests/sample-test: Update to use test-lib.sh.
-
- Convert tests/misc/ to use test-lib.sh, too.
- Convert tests/ls/, too.
- Convert tests/ln/, too.
- Convert tests/install/, too.
-
- Move the two tests in tests/fmt to tests/misc/fmt.
- * tests/fmt/basic: Move this file to ...
- * tests/misc/fmt: ...here. Don't rely on $PROG in env.
- * tests/fmt/long-line: Move this file to ...
- * tests/misc/fmt-long-line: ...here.
- * tests/misc/Makefile.am (TESTS): Add fmt.
- * tests/Makefile.am (SUBDIRS): Remove fmt.
- * tests/fmt: Remove the directory.
- * configure.ac (AC_CONFIG_FILES): Remove tests/fmt/Makefile
-
- Move the sole test in tests/factor to tests/misc/factor.
- * tests/factor/basic: Move this file to ...
- * tests/misc/factor: ...here. Don't rely on $PROG in env.
- * tests/misc/Makefile.am (TESTS): Add factor.
- * tests/Makefile.am (SUBDIRS): Remove factor.
- * tests/factor: Remove the directory.
- * configure.ac (AC_CONFIG_FILES): Remove tests/factor/Makefile
-
- Move the sole test in tests/expr to tests/misc/expr.
- * tests/expr/basic: Move this file to ...
- * tests/misc/expr: ...here. Don't rely on $PROG in env.
- * tests/misc/Makefile.am (TESTS): Add expr.
- * tests/Makefile.am (SUBDIRS): Remove expr.
- * tests/expr: Remove the directory.
- * configure.ac (AC_CONFIG_FILES): Remove tests/expr/Makefile
-
- Convert tests/du/*, too.
-
- Move the sole test in tests/dircolors to tests/misc/dircolors.
- * tests/dircolors/simple: Move this file to...
- * tests/misc/dircolors: ...here. Don't rely on $PROG in env.
- * tests/misc/Makefile.am (TESTS): Add dircolors.
- * tests/Makefile.am (SUBDIRS): Remove dircolors.
- * tests/dircolors: Remove the directory.
- * configure.ac (AC_CONFIG_FILES): Remove tests/dircolors/Makefile
-
- Convert tests/dd/*, too.
-
- Convert tests/mv, too.
- * tests/other-fs-tmpdir: Before, all callers would exit 77 upon
- failure to find the required dir. Now, exit 77 in this script so
- callers don't have to. Adjust callers.
-
- Adjust chgrp, chmod, chown, cp tests to use test-lib.sh.
- * tests/check.mk: Also define abs_top_builddir.
-
- Parallel "make check" support.
- * build-aux/check.mk: New file, from The Vaucanson Group.
- * .x-sc_GPL_version: New file, to allow "version 2 or later"
- in build-aux/check.mk.
- * Makefile.am (EXTRA_DIST): Add .x-sc_GPL_version.
- * tests/check.mk: New file.
- * tests/Makefile.am (EXTRA_DIST): Add check.mk, mkdtemp and test-lib.sh.
-
- Begin factoring "sample-test" out of test scripts.
- * tests/test-lib.sh: New file, to be sourced by all tests that
- were previously derived from the "sample-test" template.
- * tests/mkdtemp: New file.
- * tests/touch/dir-1: Use test-lib.sh.
- * 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. Also, don't sleep.
- * tests/touch/not-owner: Likewise.
- * tests/touch/obsolescent: Likewise.
- * tests/touch/read-only: Likewise.
- * tests/touch/relative: Likewise.
- * tests/touch/Makefile.am: Include $(top_srcdir)/tests/check.mk,
- to get the parallel-"make check" bits.
-
- Move a slow test into tests/misc.
- * tests/check.mk: Wrapper.
- * tests/ls/time-1: Move this file to tests/misc/ls-time.
- * tests/misc/ls-time: New file. From tests/ls/time-1.
- * tests/ls/Makefile.am (TESTS): Remove time-1.
- * tests/misc/Makefile.am (TESTS): Add ls-time.
-
- Add support for parallel "make check" (in tests/misc, for now)
-
-2007-09-08 Jim Meyering <jim@meyering.net>
-
- Accommodate gnulib's renaming: __fpending.h -> fpending.h.
- * lib/t-fpending.c: Include "fpending.h", not "__fpending.h".
-
-2007-09-07 Jim Meyering <jim@meyering.net>
-
- chmod: don't ignore a dangling symlink
- * NEWS: Mention the bug fix.
- * src/chmod.c (process_file): Handle the case of FTS_SLNONE,
- i.e., give a diagnostic saying we cannot operate on such a file.
- * tests/chmod/thru-dangling: Compare new stderr output with expected.
-
-2007-09-07 Bob Proulx <bob@proulx.com>
-
- Add a test: demonstrate that chmod ignores a dangling symlink
- * tests/chmod/thru-dangling: New test. Fails.
- * tests/chmod/Makefile.am (TESTS): Add thru-dangling.
-
-2007-09-05 Jim Meyering <jim@meyering.net>
-
- Adapt to new SELinux behavior: "?" vs. new "unlabeled"
- * src/ls.c (gobble_file): Interpret the new "unlabeled" indicator
- from getfilecon/lgetfilecon the same way we interpret a negative
- return value: no security context. So we don't print the "+".
- * tests/selinux: Recognize that "unlabeled" means insufficient
- support for SELinux, just like "?".
-
-2007-09-03 Jim Meyering <jim@meyering.net>
-
- Invoke $(AUTOCONF) manually, if needed to get an updated version string.
- * GNUmakefile: Don't actually touch configure.ac.
- That would make git-version-gen always print "...-dirty".
-
- Don't change '-'s to '.'s in the string from git-describe.
- * build-aux/git-version-gen: Leave '-'s in the string from git-describe.
- Otherwise, s/-/./g would make it too hard to distinguish the base
- version number from the appended .DD suffixes.
-
-2007-09-03 Jim Meyering <jim@meyering.net>
-
- * README-hacking: Require rsync, rather than wget.
-
-2007-09-02 Jim Meyering <jim@meyering.net>
-
- * bootstrap (WGET_COMMAND): Remove code to set this variable.
-
- Ensure that $(VERSION) is up to date for dist-related targets.
- * GNUmakefile: Arrange to rerun autoconf, if the version reported by
- git-version-gen doesn't match $(VERSION), but only for dist targets.
-
- bootstrap: uses rsync to download the .po files
- * bootstrap (po_download_command_format): New global.
- (download_po_files): Use rsync.
- (update_po_files): Don't remove .po files after download,
- so future rsync runs can take advantage of the copies.
-
-2007-09-01 Jim Meyering <jim@meyering.net>
-
- * bootstrap (gnulib_tool): Make sha1sum check quietly.
-
- Ensure that snapshot version changes make it to groups, too.
- * src/Makefile.am (groups): Depend on Makefile.
-
- Make groups-version executable,
- * tests/misc/groups-version: ... as it was in the patch.
-
-2007-08-31 Eric Blake <ebb9@byu.net>
-
- Test yesterday's change to groups.
- * tests/misc/groups-version: New test.
- * tests/misc/Makefile.am (TESTS): Add groups-version.
-
-2007-08-31 Jim Meyering <jim@meyering.net>
-
- Solve the unnecessary-.po-file-regeneration problem once and for all.
- * bootstrap (download_po_files): New function, renamed from
- get_translations. Now, downloads, but doesn't update LINGUAS.
- (update_po_files): New function.
-
-2007-08-30 Jim Meyering <jim@meyering.net>
-
- Shorten the snapshot version string by removing the "g".
- * build-aux/git-version-gen: Remove git-describe's "g" that would
- always precede the abbreviated SHA1. Suggestion from Dmitry V. Levin.
-
- Perform the s,rm,/bin/rm, fix-up properly. No more kludge.
- * Makefile.am (EXTRA_DIST): Remove .kludge-stamp.
- (.kludge-stamp): Remove rule. Instead, ...
- (dist-hook): Do the job here, operating on the file in $(distdir).
- (rm_subst): Adjust regexp to match "rm -f rm$(EXEEXT)", not "rm -f rm".
- (MAINTAINERCLEANFILES): s/+=/=/, now that this is the sole use.
- (dist-hook): Remove the legacy-from-cvs install-sh is-executable check.
- * .gitignore: Remove .kludge-stamp.
-
- Make inter-release --version output more useful.
- Now, each snapshot has a version "number" like 6.9-219-g58ddd,
- which indicates that it is built using the 219th change set
- (in _some_ repository) following the "v6.9" tag, and that 58ddd
- is a prefix of the commit SHA1.
- * build-aux/git-version-gen: New file.
- * configure.ac: Run it to set the version.
- * Makefile.am (dist-hook): Arrange so that .version appears only
- in distribution tarballs, never in a checked-out repository.
- * .gitignore: Add .version here, too. Just in case.
-
-2007-08-30 Eric Blake <ebb9@byu.net>
-
- * src/.gitignore: Ignore *.exe for platforms with non-empty $(EXEEXT).
-
-2007-08-30 Eric Blake <ebb9@byu.net>
-
- Use PACKAGE_NAME instead of GNU_PACKAGE.
- * src/Makefile.am (.sh, uninstall-local): Adjust all users of
- hand-rolled GNU_PACKAGE to instead use autoconf-provided
- PACKAGE_NAME.
- * src/basename.c (main): Likewise.
- * src/chroot.c (main): Likewise.
- * src/dirname.c (main): Likewise.
- * src/echo.c (main): Likewise.
- * src/expr.c (main): Likewise.
- * src/factor.c (main): Likewise.
- * src/groups.sh (version): Likewise. Also, reflect change in
- --version output due to GPLv3.
- * src/hostid.c (main): Likewise.
- * src/hostname.c (main): Likewise.
- * src/link.c (main): Likewise.
- * src/logname.c (main): Likewise.
- * src/nice.c (main): Likewise.
- * src/nohup.c (main): Likewise.
- * src/printenv.c (main): Likewise.
- * src/printf.c (main): Likewise.
- * src/pwd.c (main): Likewise.
- * src/setuidgid.c (main): Likewise.
- * src/sleep.c (main): Likewise.
- * src/system.h (case_GETOPT_VERSION_CHAR): Likewise.
- * src/test.c (main): Likewise.
- * src/true.c (main): Likewise.
- * src/unlink.c (main): Likewise.
- * src/uptime.c (main): Likewise.
- * src/users.c (main): Likewise.
- * src/whoami.c (main): Likewise.
- * src/yes.c (main): Likewise.
- * configure.ac (AC_CHECK_DECLS): No need to check strtoimax,
- strtoumax, since gnulib does this.
-
-2007-08-30 Jim Meyering <jim@meyering.net>
-
- Ensure that TMPDIR is valid. Otherwise, it would cause test failures.
- * tests/misc/tty-eof: Set TMPDIR=.
- * tests/misc/sort-compress: Likewise.
-
- Use EXIT_FAILURE, not EXIT_FAIL, now that EXIT_FAILURE is always 1.
- * src/system.h (EXIT_FAIL): Remove definition.
- * src/chroot.c (main): EXIT_FAIL -> EXIT_FAILURE.
- * src/env.c (main): Likewise.
- * src/nice.c (main): Likewise.
- * src/su.c (change_identity, main): Likewise.
- * src/tty.c (main): Likewise.
- Suggestion from Eric Blake.
-
-2007-08-28 Jim Meyering <jim@meyering.net>
-
- * src/test.c (usage): Note that [ honors --help and --version,
- but that test does not. Suggestion from Dan Jacobson.
-
- By default, do not install hostname anymore; no kidding, this time.
- * src/Makefile.am (EXTRA_PROGRAMS): Remove hostname from this list,
- now that it's no longer being installed by default. This should
- have been part of the 2007-08-21 change.
- (check-duplicate-no-install): New rule to ensure this doesn't
- happen again.
- (check): Depend on it.
-
- Reflect renaming: mreadlink-with-size -> areadlink-with-size.
- * bootstrap.conf: Update module name.
- * src/copy.c (copy_internal): Update header and function names.
- * src/ls.c (get_link_name): Likewise.
- * src/readlink.c (main): Likewise.
- * src/stat.c (print_stat): Likewise.
-
- Add file system type names and magic numbers from "man 2 statfs".
- * src/stat.c (human_fstype): Also handle BEFS, BFS, BINFMT_MISC,
- FUSECTL, HUGETLBFS, NFSD and OPENPROM.
-
-2007-08-27 Jim Meyering <jim@meyering.net>
-
- Add some file system type names and magic numbers from glibc.
- * src/stat.c (human_fstype): Add any file system names and values
- present in glibc's linux_fsinfo.h but not in this list.
- Alphabetize the S_* names and capitalize the hexadecimal constants.
-
-2007-08-26 Jim Meyering <jim@meyering.net>
-
- * tests/misc/fold: Fix a typo: missing \ in a diagnostic
- no one is likely ever to see.
-
-2007-08-25 Jim Meyering <jim@meyering.net>
-
- * src/dircolors.hin: Add .dz and .svgz as archive suffixes.
-
- Remove all .cvsignore files from version control.
-
-2007-08-24 Jim Meyering <jim@meyering.net>
-
- bootstrap: Ignore more.
- * bootstrap (symlink_to_dir): Add a directory name like
- uniwidth to e.g., lib/.gitignore.
- (slurp): Handle the sys_stat_.h -> sys mapping, too.
- * .hgignore: Remove this file, too.
- * Makefile.am (EXTRA_DIST): Remove .gitignore and .hgignore.
-
- No longer version-control .???ignore files in lib/, m4/, and po/.
- * .gitignore: Ignore a few files in lib/, m4/, and po/ that are not
- picked up automatically.
- * lib/.gitignore, lib/.cvsignore: Remove files.
- * m4/.gitignore, m4/.cvsignore: Remove files.
- * po/.gitignore, po/.cvsignore: Remove files.
-
- bootstrap: when fetching .po files, do not remove .gmo files.
- * bootstrap (get_translations): Don't remove *.gmo files!
- They can be expensive to regenerate.
-
- Create .gitignore and/or .cvsignore from scratch, if absent.
- This is in preparation for my removing those files from version
- control in the directories managed by gnulib-tool.
- * bootstrap: New setting: vc_ignore.
- (insert_sorted_if_absent): Create $file if absent.
- Adapt to new, possibly empty, list: $vc_ignore.
-
- * src/system.h (fseeko, ftello): Remove now-unneeded definitions.
- * src/od.c (LDBL_DIG): Remove now-unneeded definition.
-
- Arrange to use tag names like vM.N, rather than COREUTILS-M_N.
- * Makefile.maint (this-vc-tag) [git]: Simply use v$(VERSION).
- (this-vc-tag-regexp): New variable.
- (vc-tag-check): Use it, rather than $(this-vc-tag).
-
-2007-08-23 Jim Meyering <jim@meyering.net>
-
- * src/dircolors.hin: Add xterm-16color, xterm-88color and eterm-color.
- Suggestion from Dan Nicolaescu.
-
- Don't let ln be a party to destroying user data.
- * src/ln.c: Include "file-set.h", "hash.h" and "hash-triple.h".
- (dest_set, DEST_INFO_INITIAL_CAPACITY): New globals.
- (do_link): Refuse to remove a just-created link.
- Record a name,dev,ino triple for each link we create.
- (main): Initialize dest_set, if needed.
- * tests/mv/childproof: Test for the above fix.
- * NEWS: Document this.
- Reported by Eric Blake.
-
- Move functions from copy.c into new modules, since ln needs them, too.
- * bootstrap.conf (gnulib_modules): Add file-set.
- * gl/lib/file-set.c (record_file, seen_file): Functions from copy.c.
- * gl/lib/file-set.h: Add prototypes.
- * gl/lib/hash-triple.c (triple_hash, triple_hash_no_name):
- (triple_compare, triple_free): Functions from copy.c.
- * gl/lib/hash-triple.h (struct F_triple): Define. From copy.c.
- Add prototypes.
- * gl/modules/file-set: New module.
- * gl/modules/hash-triple: New module.
- * src/Makefile.am (copy_sources): New variable.
- (ginstall_SOURCES, cp_SOURCES, mv_SOURCES): Use it.
- * src/copy.c: Include hash-triple.h.
- No longer include hash-pjw.h.
- (copy_internal): Don't pass a NULL third argument to record_file,
- since that function no longer accepts that.
- (record_file): Move this function to file-set.c.
- Along the way, remove the code to allow a NULL stat-buffer pointer.
- Adjust sole caller.
- (seen_file): Move this function to file-set.c.
- (struct F_triple): Move declaration to hash-triple.h.
- (triple_compare, triple_free, triple_hash, triple_hash_no_name):
- Move these functions to hash-triple.c.
-
- bootstrap: generate more ignorable names
- * bootstrap (slurp): When generating ignorable names, also map
- .sin to .sed, .gperf to .c, and .y to .c.
-
- * Makefile.maint (patch-check): Don't remove temporaries upon failure.
-
-2007-08-22 Jim Meyering <jim@meyering.net>
-
- * src/c99-to-c89.diff: Adjust offsets.
-
- Change "rm --verbose -r a//" not to print extra slashes in a///b
- * src/remove.c (push_dir): Don't copy trailing slashes onto the stack.
- Reported by François Pinard.
- * tests/rm/v-slash: New file. Test for the above change.
- * tests/rm/Makefile.am (TESTS): Add v-slash.
-
- * src/date.c: Don't include "getline.h", now removed from gnulib;
- its declarations are now in <stdio.h>.
- * src/md5sum.c: Likewise.
- * src/dircolors.c: Likewise.
-
- * src/copy.c (DEST_INFO_INITIAL_CAPACITY): Correct a comment.
-
-2007-08-21 Jim Meyering <jim@meyering.net>
-
- By default, do not install hostname anymore.
- * configure.ac: Add "hostname" to the list of not-installed programs.
- * src/Makefile.am (no_install__progs): Add "hostname" here, too.
- * NEWS: Mention this.
-
-2007-08-20 Bob Proulx <bob@proulx.com>
-
- Clarify touch documentation of file arguments.
- * src/touch.c (usage): Improve wording of documentation regarding
- file argument handling and special handling of - argument.
- * doc/coreutils.texi (touch invocation): Likewise.
- Documentation problem reported by Vincent Lefevre.
-
-2007-08-20 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: The old cp -p bug affected coreutils releases before 6.0.
- Problem reported by Soren Spies in
- <http://lists.gnu.org/archive/html/bug-coreutils/2007-08/msg00106.html>.
- To be conservative, just say the bug was in all versions through 6.6.
-
-2007-08-19 Eric Blake <ebb9@byu.net>
-
- Avoid consuming too much seekable input when yesno is used.
- * bootstrap.conf (gnulib_modules): Add closein.
- * src/system.h (includes): Also include closein.h.
- * src/mv.c (main): Use close_stdin, not close_stdout.
- * src/cp.c (main): Likewise.
- * src/ln.c (main): Likewise.
- * src/rm.c (main): Likewise.
- * src/install.c (main): Likewise.
- * NEWS: Document the fix.
-
-2007-08-20 Jim Meyering <jim@meyering.net>
-
- Parallel "make check" support.
- * build-aux/check.mk: New file, from The Vaucanson Group.
- * .x-sc_GPL_version: New file, to allow "version 2 or later"
- in build-aux/check.mk.
- * Makefile.am (EXTRA_DIST): Add .x-sc_GPL_version.
- * tests/check.mk: New file.
- * tests/Makefile.am (EXTRA_DIST): Add check.mk, mkdtemp and test-lib.sh.
-
- Begin factoring "sample-test" out of test scripts.
- * tests/test-lib.sh: New file, to be sourced by all tests that
- were previously derived from the "sample-test" template.
- * tests/mkdtemp: New file.
- * tests/touch/dir-1: Use test-lib.sh.
- * 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. Also, don't sleep.
- * tests/touch/not-owner: Likewise.
- * tests/touch/obsolescent: Likewise.
- * tests/touch/read-only: Likewise.
- * tests/touch/relative: Likewise.
- * tests/touch/Makefile.am: Include $(top_srcdir)/tests/check.mk,
- to get the parallel-"make check" bits.
-
-2007-08-18 Jim Meyering <jim@meyering.net>
-
- Use new "idcache.h" header.
- * src/ls.c: Remove ancient declarations of getuser and getgroup.
- Include "idcache.h", instead.
-
- Run each Coreutils.pm-based test in its own subdirectory.
- * tests/CuTmpdir.pm: New file.
- * tests/Makefile.am (EXTRA_DIST): Add CuTmpdir.pm.
- * tests/misc/od, tests/misc/base64, tests/misc/basename:
- * tests/misc/cut, tests/misc/date, tests/misc/dirname:
- * tests/misc/expand, tests/misc/fold, tests/misc/head-elide-tail:
- * tests/misc/paste-no-nl, tests/misc/pr, tests/misc/sha224sum:
- * tests/misc/sha256sum, tests/misc/sha384sum, tests/misc/sha512sum:
- * tests/misc/sort-merge, tests/misc/stat-printf, tests/misc/test-diag:
- * tests/misc/wc-files0-from, tests/misc/xstrtol:
- * tests/dd/skip-seek, tests/dircolors/simple, tests/du/files0-from:
- * tests/expr/basic, tests/factor/basic, tests/fmt/basic:
- * tests/ls-2/tests, tests/md5sum/basic-1, tests/md5sum/newline-1:
- * tests/seq/basic, tests/sha1sum/basic-1, tests/sha1sum/sample-vec:
- * tests/sum/basic-1, tests/tsort/basic-1, tests/unexpand/basic-1:
- * tests/mv/i-1, tests/rm/empty-name, tests/rm/unreadable: Use it.
- * tests/misc/test-diag: Use "$ENV{abs_top_builddir}/src/test",
- not "../../src/test", so it works when run from a subdirectory.
- * tests/ls-2/tests: Create temp files and dirs from within the perl
- script, so that they're removed, when run from a subdirectory.
- * tests/ls-2/Makefile.am (TESTS_ENVIRONMENT): Define abs_top_builddir,
- so we can use "$ENV{abs_top_builddir}/src/test" in a test script.
-
-2007-08-16 Jim Meyering <jim@meyering.net>
-
- Consolidate od tests.
- * tests/misc/od: Perform od-zero-len's test here.
- Include boilerplate code, so tests run in a subdirectory.
- * tests/misc/od-zero-len: Remove this file.
-
- * tests/ls/time-1: Include sample-test boilerplate code.
- Remove the then-unnecessary, hard-coded envvar "unset" commands.
-
-2007-08-15 Jim Meyering <jim@meyering.net>
-
- Move a slow test into tests/misc.
- * tests/ls/time-1: Move this file to tests/misc/ls-time.
- * tests/misc/ls-time: New file. From tests/ls/time-1.
- * tests/ls/Makefile.am (TESTS): Remove time-1.
- * tests/misc/Makefile.am (TESTS): Add ls-time.
-
- od --skip (-j) works even on files in /proc, when the kernel lies
- * src/od.c (skip): Don't let kernel misinformation (nonempty files
- in /proc with stat.st_size == 0) make "od -j N" misbehave.
- Patch by Paul Eggert.
- * NEWS: Document this work-around.
- * tests/misc/od-zero-len: New file, test for the above.
-
- * src/printf.c (usage): Adjust summary to also mention OPTIONs.
- From Karl Berry.
-
-2007-08-14 Jim Meyering <jim@meyering.net>
-
- od: fix a bug that arises when skipping exact length of file
- * NEWS: Document the bug fix.
- * src/od.c (skip): Call fseek even when n_skip is exactly the
- same as the length of the current file. Otherwise, the next
- iteration would use unadjusted input stream pointer, thus ignoring
- the desired "skip". Report and patch by Paul GHALEB.
-
- * tests/misc/od: New file, test for the above.
- * tests/misc/Makefile.am (TESTS): Add od.
-
-2007-08-10 Paul Eggert <eggert@cs.ucla.edu>
-
- Accommodate more xstrtol changes.
- * src/df.c (long_options): Don't bother prepending "--" to long
- options that OPT_STR might decode, as that hack is no longer needed.
- (main): Invoke xstrtol_fatal rather than STRTOL_FATAL_ERROR.
- * src/du.c (long_options, main): Likewise.
- * src/ls.c (decode_switches): Likewise.
- * src/od.c (long_options, main): Likewise.
- * src/pr.c (first_last_page, main): Likewise.
- * src/sort.c (long_options, specify_sort_size): Likewise.
- * src/pr.c (first_last_page): Accept option index and option char
- instead of an assembled option string. All callers changed.
- * src/sort.c (specify_sort_size): Likewise.
- * src/system.h (OPT_STR, LONG_OPT_STR, short_opt_str, OPT_STR_INIT):
- Remove.
-
-2007-08-05 Jim Meyering <jim@meyering.net>
-
- Encapsulate a static variable.
- * src/system.h (opt_str_storage): Move static var into...
- (short_opt_str): ... new static inline function.
- (OPT_STR): Use the new function.
-
-2007-08-04 Jim Meyering <jim@meyering.net>
-
- Exercise xstrtol's diagnostics via pr's --pages option.
- * tests/misc/xstrtol: New file.
- * tests/misc/Makefile.am (TESTS): Add xstrtol.
-
-2007-08-04 Paul Eggert <eggert@cs.ucla.edu>
-
- Adapt to new human and xstrtol API.
- * src/df.c (long_options): Prepend "--" to long options that
- OPT_STR might decode.
- * src/du.c (long_options): Likewise.
- * src/od.c (long_options): Likewise.
- * src/sort.c (long_options): Likewise.
- * src/df.c (main): Adjust to new human and xstrtol API.
- * src/du.c (main): Likewise.
- * src/ls.c (decode_switches): Likewise.
- * src/od.c (main): Likewise.
- * src/pr.c (first_last_page): Likewise. New argument OPTION.
- All callers changed.
- * src/sort.c (specify_sort_size): New arg OPTION. All callers
- changed. Adjust to new xstrtol API.
- * src/system.h (opt_str_storage): New static var.
- (OPT_STR, LONG_OPT_STR, OPT_STR_INIT): New macros.
-
-2007-08-02 Jim Meyering <jim@meyering.net>
-
- Adjust one more test to accommodate the recent fts change.
- This matters only on systems with insufficient openat support.
- * tests/du/inacc-dest: Adjust expected diagnostic.
-
- Adjust the other two "no-x" tests and unify all three.
- * tests/du/no-x: Factor out du-specific bits.
- * tests/chmod/no-x: Use the same code.
- * tests/chgrp/no-x: Use the same code.
-
- Adapt du's no-x test not to fail on older Linux systems.
- * tests/du/no-x: Accept a third variant of the diagnostic.
-
-2007-07-31 Jim Meyering <jim@meyering.net>
-
- du: print size (probably incomplete) of each inaccessible directory
- * src/du.c (process_file): Print what we know of the size of a
- directory even when it is inaccessible. What we print is just the
- size of the directory itself, not counting any of its contents.
- * tests/du/inacc-dir: Test for this.
- * NEWS: Mention this change.
-
- Add a test for du not counting size of inaccessible directories.
- * tests/du/inacc-dir: New file. Test for fts.c bug fixed yesterday.
- * tests/du/Makefile.am (TESTS): Add inacc-dir.
- * NEWS: Mention the bug fix.
-
-2007-07-28 Jim Meyering <jim@meyering.net>
-
- Attempt to copy a regular file, even if stat says it is empty.
- * NEWS: Document this bug fix.
- * src/copy.c (copy_reg): Read from a regular file, even if it
- appears (stat.st_size == 0) to be empty. This reverts an
- optimization introduced on 2005-11-23 for coreutils-6.0.
- Otherwise, "cp /proc/cpuinfo /tmp" creates an empty file,
- on e.g., linux-2.6.20.
- * tests/cp/proc-zero-len: New file. Test for the above.
- * tests/cp/Makefile.am (TESTS): Add proc-zero-len.
- Reported by Dan Berrangé.
-
-2007-07-26 Bob Proulx <bob@proulx.com>
-
- sort: Improve sort --random-sort test.
- * tests/misc/sort-rand: If "locale" is available pick a random
- non-C locale and check "sort --random-sort" behavior using it.
-
-2007-07-24 Jim Meyering <jim@meyering.net>
-
- sort: add a test to exercise the affected code.
- * tests/sort/Test.pm (realloc-buf): Exercise the code that changed
- yesterday. No other test in all of "make check" does this.
- * NEWS: Mention the fix.
-
-2007-07-23 Paul Eggert <eggert@cs.ucla.edu>
-
- sort: avoid unaligned access.
- * src/sort.c (fillbuf): When enlarging the line buffer, ensure that
- the new size is a multiple of "sizeof (struct line)". This avoids
- alignment problems when indexing from the end of the buffer.
- Problem reported by Andreas Schwab in
- <http://lists.gnu.org/archive/html/bug-coreutils/2007-07/msg00158.html>.
-
-2007-07-23 Jim Meyering <jim@meyering.net>
-
- Update all copyright notices to use the newer form (e.g., remove
- the postal address, and add the 'licenses' URL).
-
- * COPYING: Update to Version 3.
-
- Update c99/c89 patch for new, copyright-change-induced offsets.
- * Makefile.maint (patch-check): Filter out '^Only in...' lines.
- * src/c99-to-c89.diff: Handle new c99'isms in seq.c.
-
-2007-07-22 Jim Meyering <jim@meyering.net>
-
- * configure.ac: Arrange to rerun configure whenever src/Makefile.am
- changes. That file contains the list of program names that must be
- substituted into files like man/Makefile.
- Add quotes around AC_SUBST arguments.
-
-2007-07-21 Paul Eggert <eggert@cs.ucla.edu>
-
- * bootstrap (slurp): Work even in environments where "ls" defaults
- to "ls -A". Put in a FIXME, though, since the current code does
- not slurp files whose names start with ".", and this looks like
- it might be a troublesome area.
-
-2007-07-20 Jim Meyering <jim@meyering.net>
-
- Document and add a test for today's sort bug fix.
- * NEWS: Describe the bug fix.
- * tests/sort/Test.pm (obs-inval): Add a test for today's fix.
-
-2007-07-20 Andreas Schwab <schwab@suse.de>
-
- * src/sort.c (main): Don't free a pointer to non-malloc'd memory.
-
-2007-07-19 Jim Meyering <jim@meyering.net>
-
- Fix a portability bug in the new ls-color test.
- * tests/ls/stat-free-symlinks: Don't rely on the ability of
- a built-in printf to interpolate '\e'. Use '\033' instead.
-
-2007-07-18 Jim Meyering <jim@meyering.net>
-
- "cp -i --update older newer" no longer prompts; same for mv
- * src/copy.c (copy_internal): Perform "update" check before the
- possible interactive prompt. Reported by zeno_AT_biyg_DOT_org
- in <http://bugzilla.redhat.com/248591>
- * tests/mv/update: Add tests for the above.
- * NEWS: Mention the bug fix.
-
-2007-07-15 Jim Meyering <jim@meyering.net>
-
- ls --color: Don't stat symlinks when neither ORPHAN nor MISSING
- attribute has a color.
- * src/ls.c (main): Don't set check_symlink_color when C_EXEC is
- colored, unless ln=target (aka color_symlink_as_referent) is set.
- (gobble_file): Set f->linkok = true also when !check_symlink_color.
- http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10608/focus=10927
- Reported by Jeremy Maitin-Shepard.
- * tests/strace: New file, contents extracted from...
- * tests/mv/atomic: ...here. Source strace.
- * tests/ls/stat-free-symlinks: New file. Test for the above.
- Use strace to ensure that in this corner case, ls does not call stat.
- * tests/ls/Makefile.am (TESTS): Add stat-free-symlinks.
- * tests/Makefile.am (EXTRA_DIST): Add strace.
-
-2007-07-14 Jim Meyering <jim@meyering.net>
-
- Remove long-deprecated options.
- * NEWS: Mention this.
- * src/df.c, src/ls.c: Remove --kilobytes option.
- * src/du.c: Remove --kilobytes and --megabytes options.
- * src/who.c: Remove -i and --idle options.
- * src/ptx.c: Remove --copyright option.
-
- Change interface: make 2nd param _space_-separated, not comma-separated
- * m4/include-exclude-prog.m4 (gl_INCLUDE_EXCLUDE_PROG): Remove now-
- unnecessary use of tr.
- Improve comments.
- * configure.ac: Adjust caller, as well as the code that ensures the
- 2nd parameter stays in sync with the list in src/Makefile.am.
-
-2007-07-14 Karel Zak <kzak@redhat.com>
-
- * m4/include-exclude-prog.m4 (gl_REMOVE_PROG): Fix typo: s/$2/$1/.
- (gl_INCLUDE_EXCLUDE_PROG): Quote first use of $2 parameter.
- Don't mix comma- and space-separated lists.
- Patch from Karel Zak.
-
-2007-07-13 Jim Meyering <jim@meyering.net>
-
- Warn about non-portable use of unescaped backslash at end of string,
- and treat it as if it were escaped.
- * src/tr.c (unquote): Considering that such usage would make GNU tr
- from coreutils-5.2.1 and earlier *fail*, the least we can do now is
- to warn about it. Solaris' tr ignores it.
- * NEWS: Mention this.
-
- Use proper backslash-quoting inside backticks.
- * configure.ac: Otherwise we run afoul of strict GNU tr:
- a string ending in a lone backslash would provoke a failure.
-
-2007-07-12 Jim Meyering <jim@meyering.net>
-
- Expand default-no-install prog list in ./configure --help output,
- and fix some []-quoting bugs in sed expressions.
- * configure.ac: Hard-code the list, "arch,su" here as well
- as in src/Makefile.am, and ensure the two stay in sync.
- * m4/include-exclude-prog.m4 (gl_INCLUDE_EXCLUDE_PROG): Use $2,
- rather than the nearly-equivalent shell variable.
- Karel Zak reported that ./configure --help's output included
- the literal string, $gl_no_install_progs_default.
-
- Clean up include-exclude-prog.m4.
- * m4/include-exclude-prog.m4 (gl_ADD_PROG): Don't modify MAN.
- (gl_REMOVE_PROG): Likewise.
- Add omitted "\>" in sed regexp.
- Remove any leading or trailing spaces.
- (gl_ADD_PROG): Remove any leading space.
- * configure.ac: Instead, derive $MAN from $optional_bin_progs.
- Append $(EXEEXT) to *all* names, not just the first one.
-
-2007-07-11 Jim Meyering <jim@meyering.net>
-
- If there's a GPL vN copyright comment, require that N == 3.
- * Makefile.maint (sc_GPL_version): New rule.
- * tests/misc/arch: Fix the sole violation.
-
-2007-07-10 Jim Meyering <jim@meyering.net>
-
- Skip "arch" test if it's not built.
- * tests/misc/Makefile.am (built_programs): Define.
- (TESTS_ENVIRONMENT): Add $(built_programs), for...
- * tests/misc/arch: ...this: skip the test if arch is not built.
- * src/Makefile.am (built_programs.list): New rule.
- * tests/Makefile.am (built_programs): Rename from all_programs.
- (TESTS_ENVIRONMENT): Use built_programs, not all_programs.
- * tests/help-version: Likewise.
- * NEWS: Mention that using --enable-no-install-program=X may
- cause "make check" to fail.
-
- Add support for enabling/disabling installation of specified programs.
- * NEWS: Mention new configure-time options.
- Mention that neither arch nor su is built/installed, by default.
- * m4/include-exclude-prog.m4: New file.
- * configure.ac: Use new macro, gl_ADD_PROG, rather than
- manually appending to OPTIONAL_BIN_PROGS and MAN.
- Move the code that adds "df" to the list of programs to build from
- m4/jm-macros into this file.
- Use gl_INCLUDE_EXCLUDE_PROG, then handle special cases: ginstall, [.
- (NO_INSTALL_PROGS_DEFAULT): AC_SUBST it. Used by man/Makefile.am.
- * man/Makefile.am (dist_man_MANS): Remove from this list all man pages
- corresponding to "bin" programs. Add $(MAN) instead.
- (optional_mans): Remove all uses.
- (check-x-vs-1): Adapt to work even though arch and su are typically
- no longer built (and neither are their .1 files).
- * src/Makefile.am (install_su): Rename from INSTALL_SU, now that
- INSTALL_SU has a different meaning. Use the new $(INSTALL_SU) value.
-
-2007-07-10 Karel Zak <kzak@redhat.com>
-
- New program: arch
- * NEWS: Mention arch.
- * README: Add arch to the list of programs.
- * AUTHORS: Add arch.
- * src/uname.c: Include "uname.h".
- (PROGRAM_NAME): Handle arch, too.
- (ARCH_AUTHORS): Define.
- (uname_long_options, arch_long_options): Renamed and new globals.
- (usage): Handle arch-mode as well as uname-mode.
- (decode_switches): New function, extracted from main,
- to handle arch-mode as well as uname-mode.
- (main): Handle both modes.
- * src/uname-arch.c: New program, alias for "uname -m".
- * src/uname-uname.c: New file, default uname mode.
- * src/uname.h: New file, uname modes.
- * src/Makefile.am (EXTRA_PROGRAMS): Add arch.
- (uname_SOURCES, arch_SOURCES): Define.
- * man/arch.x: New file.
- * man/Makefile.am (dist_man_MANS): Add arch.1.
- (arch.1): New dependency.
- * tests/misc/arch: New test, compare "arch" with "uname -m"
- * configure.ac (OPTIONAL_BIN_PROGS): Add arch.
- (MAN): Add arch.1.
- * .x-sc_require_config_h: Exempt uname-arch.c and uname-uname.c
- from the always-include-<config.h> rule.
-
-2007-07-10 Jim Meyering <jim@meyering.net>
-
- Change "version 2" to "version 3" in all copyright notices.
-
-2007-07-09 Jim Meyering <jim@meyering.net>
-
- Compensate for new c99'isms in seq.c.
- * Makefile.maint (patch-check): Use -p1, not -p2, so a patch
- generated via "make patch-check REGEN=1" actually works.
- * src/c99-to-c89.diff: Handle new c99'isms in seq.c.
-
-2007-07-09 Pádraig Brady <P@draigBrady.com>
-
- Fix the automatic number width formatting in seq.
- * src/seq.c: Fix the -w logic. Ignore spaces and '+'
- characters of input numbers when determining width.
- Set format correctly for input numbers in scientific notation.
- * tests/seq/basic: Add various number width tests.
- Details: <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10903>
-
-2007-07-08 Jim Meyering <jim@meyering.net>
-
- Run the coreutils-specific code only if tests/Makefile.am.in exists.
- * bootstrap (mam_template): Move definition out of loop.
-
- Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
- * bootstrap (symlink_to_dir): Rename function from symlink_to_gnulib.
- Add a directory parameter. Update all callers.
- (cp_mark_as_generated): Also check for -- and link to -- files in gl/.
-
- * THANKS: Add Pádraig Brady.
-
-2007-07-08 Jim Meyering <jim@meyering.net>
-
- Adapt to deeper hierarchy in gnulib.
- * bootstrap (symlink_to_dir): If the destination directory doesn't
- exist, create it. This is required at least for "lib/uniwidth/cjk.h".
-
- Use <wchar.h>, not "wcwidth.h".
- * src/wc.c: Now that gnulib provides the POSIX-specified <wchar.h>,
- include it and <wctype.h>, rather than "wcwidth.h".
- * src/ls.c: Include <wchar.h>, rather than "wcwidth.h".
-
-2007-07-05 Jim Meyering <jim@meyering.net>
-
- setuidgid: set all groups, not just the primary one.
- I wanted to use the xgetgroups function from id.c, so factored
- it out and made it into a non-exiting function (hence the "m"
- prefix rather than "x").
- * src/setuidgid.c (main): Use mgetgroups.
- Include "mgetgroups.h".
-
- * src/id.c (xgetgroups): Remove function.
- Include "mgetgroups.h".
- (print_group_list): Use mgetgroups, not xgetgroups.
-
- * gl/modules/mgetgroups: New module.
- * gl/lib/mgetgroups.c: New file. mgetgroups is derived from
- id.c's xgetgroups function.
- * bootstrap.conf (gnulib_modules): Add mgetgroups.
- * gl/m4/mgetgroups.m4: New file.
- * gl/lib/mgetgroups.h: New file.
-
- * bootstrap: Merge in changes from gnulib.
-
- * src/id.c: Include "getugroups.h" rather than declaring manually.
-
-2007-07-04 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: pr -F no longer suppresses the footer or the first two blank
- lines in the header.
- * doc/coreutils.texi (pr invocation): Likewise. Also, a too-short
- page length implies -t, not -T.
- * src/pr.c (lines_per_header, lines_per_footer): Now constants.
- (init_parameters): Don't try to change them.
- (print_header): Use the same header and footer format regardless of
- wither form feeds are being used.
- (usage): Adjust to above change when describing too-short page length.
- Too-short page length impliesy -t, not -T.
- * tests/pr/2-S_f-t_notab: Adjust to the fact that -F now affects
- only formfeed handling; it does not change the header.
- * tests/pr/2-Sf-t_notab: Likewise.
- * tests/pr/2f-t_notab: Likewise.
- * tests/pr/2s_f-t_notab: Likewise.
- * tests/pr/2s_w60f-t_nota: Likewise.
- * tests/pr/2sf-t_notab: Likewise.
- * tests/pr/2sw60f-t_notab: Likewise.
- * tests/pr/2w60f-t_notab: Likewise.
- * tests/pr/3a3f-0F: Likewise.
- * tests/pr/3b3f-0F: Likewise.
- * tests/pr/3b3f-0FF: Likewise.
- * tests/pr/3b3f-FF: Likewise.
- * tests/pr/3f-0F: Likewise.
- * tests/pr/3f-FF: Likewise.
- * tests/pr/Test.pm: Likewise.
- * tests/pr/a3f-0F: Likewise.
- * tests/pr/a3f-0FF: Likewise.
- * tests/pr/a3f-FF: Likewise.
- * tests/pr/b3f-0F: Likewise.
- * tests/pr/b3f-0FF: Likewise.
- * tests/pr/b3f-FF: Likewise.
- * tests/pr/3-5l17f-t: Remove, since it's been renamed to another
- file whose name has a line count 7 larger,
- reflecting the new line count needed for this behavior.
- * tests/pr/3a3l8f-t: Likewise.
- * tests/pr/3b3l8f-t: Likewise.
- * tests/pr/3l17f-t: Likewise.
- * tests/pr/3ml17f-t: Likewise.
- * tests/pr/Ja3l17f-lm: Likewise.
- * tests/pr/Jb3l17f-lm: Likewise.
- * tests/pr/Jml17f-lm-lo: Likewise.
- * tests/pr/W-72l17f-ll: Likewise.
- * tests/pr/W20l17f-ll: Likewise.
- * tests/pr/W26l17f-ll: Likewise.
- * tests/pr/W27l17f-ll: Likewise.
- * tests/pr/W28l17f-ll: Likewise.
- * tests/pr/W35Ja3l17f-lm: Likewise.
- * tests/pr/W35Jb3l17f-lm: Likewise.
- * tests/pr/W35Jml17f-lmlo: Likewise.
- * tests/pr/W35a3l17f-lm: Likewise.
- * tests/pr/W35b3l17f-lm: Likewise.
- * tests/pr/W35ml17f-lm-lo: Likewise.
- * tests/pr/W72Jl17f-ll: Likewise.
- * tests/pr/a3l17f-lm: Likewise.
- * tests/pr/a3l8f-t: Likewise.
- * tests/pr/b3l17f-lm: Likewise.
- * tests/pr/b3l8f-t: Likewise.
- * tests/pr/l17f-t: Likewise.
- * tests/pr/ml17f-0F: Likewise.
- * tests/pr/ml17f-lm-lo: Likewise.
- * tests/pr/ml17f-t: Likewise.
- * tests/pr/ml17f-t-0F: Likewise.
- * tests/pr/n+2-5l17f-0FF: Likewise.
- * tests/pr/n+2l17f-0FF: Likewise.
- * tests/pr/n+2l17f-bl: Likewise.
- * tests/pr/n+3l17f-0FF: Likewise.
- * tests/pr/n+3l17f-bl: Likewise.
- * tests/pr/n+3ml13f-bl-FF: Likewise.
- * tests/pr/n+3ml17f-bl-tn: Likewise.
- * tests/pr/n+3ml17f-tn-bl: Likewise.
- * tests/pr/n+4b2l10f-0FF: Likewise.
- * tests/pr/n+5-8b3l10f-FF: Likewise.
- * tests/pr/n+5a3l6f-0FF: Likewise.
- * tests/pr/n+6b3l6f-FF: Likewise.
- * tests/pr/nJml17f-lmlmlo: Likewise.
- * tests/pr/nJml17f-lmlolm: Likewise.
- * tests/pr/nN1+3l17f-bl: Likewise.
- * tests/pr/nN15l17f-bl: Likewise.
- * tests/pr/nSml13-bl-FF: Likewise.
- * tests/pr/nSml13-t-t-FF: Likewise.
- * tests/pr/nSml13-t-tFFFF: Likewise.
- * tests/pr/nSml17-bl-FF: Likewise.
- * tests/pr/nSml17-t-t-FF: Likewise.
- * tests/pr/nSml17-t-tFFFF: Likewise.
- * tests/pr/nl17f-bl: Likewise.
- * tests/pr/o3Jml17f-lm-lo: Likewise.
- * tests/pr/o3a3Sl17f-tn: Likewise.
- * tests/pr/o3a3Snl17f-tn: Likewise.
- * tests/pr/o3a3l17f-tn: Likewise.
- * tests/pr/o3b3Sl17f-tn: Likewise.
- * tests/pr/o3b3Snl17f-tn: Likewise.
- * tests/pr/o3b3l17f-tn: Likewise.
- * tests/pr/o3mSl17f-bl-tn: Likewise.
- * tests/pr/o3mSnl17fbltn: Likewise.
- * tests/pr/o3ml17f-bl-tn: Likewise.
- * tests/pr/w72l17f-ll: Likewise.
- * tests/pr/3-5l24f-t: New file, containing the contents of the
- file with the same name but with the line count smaller by 7,
- reflecting the new behavior with -F.
- * tests/pr/3a3l15f-t: Likewise.
- * tests/pr/3b3l15f-t: Likewise.
- * tests/pr/3l24f-t: Likewise.
- * tests/pr/3ml24f-t: Likewise.
- * tests/pr/Ja3l24f-lm: Likewise.
- * tests/pr/Jb3l24f-lm: Likewise.
- * tests/pr/Jml24f-lm-lo: Likewise.
- * tests/pr/W-72l24f-ll: Likewise.
- * tests/pr/W20l24f-ll: Likewise.
- * tests/pr/W26l24f-ll: Likewise.
- * tests/pr/W27l24f-ll: Likewise.
- * tests/pr/W28l24f-ll: Likewise.
- * tests/pr/W35Ja3l24f-lm: Likewise.
- * tests/pr/W35Jb3l24f-lm: Likewise.
- * tests/pr/W35Jml24f-lmlo: Likewise.
- * tests/pr/W35a3l24f-lm: Likewise.
- * tests/pr/W35b3l24f-lm: Likewise.
- * tests/pr/W35ml24f-lm-lo: Likewise.
- * tests/pr/W72Jl24f-ll: Likewise.
- * tests/pr/a3l15f-t: Likewise.
- * tests/pr/a3l24f-lm: Likewise.
- * tests/pr/b3l15f-t: Likewise.
- * tests/pr/b3l24f-lm: Likewise.
- * tests/pr/l24f-t: Likewise.
- * tests/pr/ml24f-0F: Likewise.
- * tests/pr/ml24f-lm-lo: Likewise.
- * tests/pr/ml24f-t: Likewise.
- * tests/pr/ml24f-t-0F: Likewise.
- * tests/pr/n+2-5l24f-0FF: Likewise.
- * tests/pr/n+2l24f-0FF: Likewise.
- * tests/pr/n+2l24f-bl: Likewise.
- * tests/pr/n+3l24f-0FF: Likewise.
- * tests/pr/n+3l24f-bl: Likewise.
- * tests/pr/n+3ml20f-bl-FF: Likewise.
- * tests/pr/n+3ml24f-bl-tn: Likewise.
- * tests/pr/n+3ml24f-tn-bl: Likewise.
- * tests/pr/n+4b2l17f-0FF: Likewise.
- * tests/pr/n+5-8b3l17f-FF: Likewise.
- * tests/pr/n+5a3l13f-0FF: Likewise.
- * tests/pr/n+6b3l13f-FF: Likewise.
- * tests/pr/nJml24f-lmlmlo: Likewise.
- * tests/pr/nJml24f-lmlolm: Likewise.
- * tests/pr/nN1+3l24f-bl: Likewise.
- * tests/pr/nN15l24f-bl: Likewise.
- * tests/pr/nSml20-bl-FF: Likewise.
- * tests/pr/nSml20-t-t-FF: Likewise.
- * tests/pr/nSml20-t-tFFFF: Likewise.
- * tests/pr/nSml24-bl-FF: Likewise.
- * tests/pr/nSml24-t-t-FF: Likewise.
- * tests/pr/nSml24-t-tFFFF: Likewise.
- * tests/pr/nl24f-bl: Likewise.
- * tests/pr/o3Jml24f-lm-lo: Likewise.
- * tests/pr/o3a3Sl24f-tn: Likewise.
- * tests/pr/o3a3Snl24f-tn: Likewise.
- * tests/pr/o3a3l24f-tn: Likewise.
- * tests/pr/o3b3Sl24f-tn: Likewise.
- * tests/pr/o3b3Snl24f-tn: Likewise.
- * tests/pr/o3b3l24f-tn: Likewise.
- * tests/pr/o3mSl24f-bl-tn: Likewise.
- * tests/pr/o3mSnl24fbltn: Likewise.
- * tests/pr/o3ml24f-bl-tn: Likewise.
- * tests/pr/w72l24f-ll: Likewise.
-
-2007-06-23 Jim Meyering <jim@meyering.net>
-
- Prefer "STREQ (a, b)" over "strcmp (a, b) == 0"; similar for != 0.
- * src/base64.c (main): Likewise.
- * src/install.c (setdefaultfilecon): Likewise.
- * src/sort.c (main): Likewise.
- * Makefile.maint (sc_prohibit_strcmp): New rule.
- * .x-sc_prohibit_strcmp: New file, to list the few exceptions.
- * Makefile.am (EXTRA_DIST): Add .x-sc_prohibit_strcmp.
-
-2007-06-22 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: seq no longer mishandles obvious cases like
- "seq 0 0.000001 0.000003" by omitting the last output number.
- * doc/coreutils.texi (seq invocation): Remove advice about workaround
- for seq off-by-one problem, since the bug is fixed now. Replace
- it with more-generic advice about rounding errors.
- * src/seq.c (long_double_format, print_numbers):
- New arg NUMERIC_FORMAT. All uses changed.
-
-2007-06-22 Pádraig Brady <P@draigBrady.com> (trivial change)
-
- * tests/seq/basic: Add test cases for seq off-by-one problem.
-
-2007-06-22 Jim Meyering <jim@meyering.net>
-
- * src/stat.c (long_options): Add a FIXME comment to help ensure
- that the deprecated and undocumented "--filesystem" option is
- removed someday.
-
-2007-06-18 Paul Eggert <eggert@cs.ucla.edu>
-
- A few more symlink-related fixes. Fix a bug triggered by cp
- --parents and symlinks. Close some race conditions possible when
- the destination replaces a newly-created file with a symlink.
- * NEWS: Document that 'cp --parents' no longer mishandles
- symlinks in file name components of source.
- * src/copy.c (HAVE_LCHOWN): Default to false.
- (lchown) [!defined HAVE_LCHOWN]: Define to chown, for convenience.
- * src/cp.c (lchown) [!HAVE_LCHOWN]: Likewise.
- * src/install.c (lchown [!HAVE_LCHOWN]: Likewise.
- * src/copy.c (set_owner): Use lchown instead of chown, for safety
- in case the file got replaced by a symlink in the meantime.
- * src/cp.c (re_protect): Likewise.
- * src/install.c (change_attributes): Likewise.
- * src/copy.c (copy_internal): Use ordinary C rather than an #if.
- * src/cp.c (lchown) [!HAVE_LCHOWN]: Define to chown, for convenience.
- (struct dir_attr): Cache the entire struct stat of the directory,
- rather than just its mode, so that we needn't stat the directory
- twice (which can lead to races).
- (re_protect): Don't use XSTAT as that's not appropriate in
- this context (symlinks should be followed here). Instead, use
- the cached stat value.
- (make_dir_parents_private): Save dir's entire struct stat, not
- just its mode.
- * tests/cp/cp-parents: Add test to check against bug with
- cp --parents and symlinks.
-
-2007-06-18 Jim Meyering <jim@meyering.net>
-
- Use mreadlink_with_size (doesn't exit), not xreadlink_with_size.
- * bootstrap.conf (gnulib_modules): Add readlink-with-size.
- Remove xreadlink and xreadlink-with-size.
- * src/copy.c (copy_internal): Use mreadlink_with_size,
- not xreadlink_with_size.
- * src/ls.c (get_link_name): Likewise.
- * src/readlink.c (main): Likewise.
- * src/stat.c (print_stat): Likewise.
-
- * README-hacking: Don't mention Gzip 1.2.4, now that 1.3.12 is out.
-
-2007-06-16 Jim Meyering <jim@meyering.net>
-
- Make chgrp and chown diagnostics consistent.
- * src/chown.c (main): Emit the diagnostic before the file name,
- not after it, to be consistent with chgrp's diagnostic.
- * src/chgrp.c (parse_group): Emit a ":" between the diagnostic
- and the file name.
- Reported by Egmont Koblinger.
- * THANKS: Add Egmont Koblinger.
-
-2007-06-15 Paul Eggert <eggert@cs.ucla.edu>
-
- Correct cp's handling of destination symlinks in some cases.
- * NEWS: "cp" no longer considers a destination symlink to be the
- same as the referenced file when copying links or making backups.
- * src/copy.c (copy_reg): When following a symlink, use the
- followed name in later chown etc. requests, so that the created
- file is affected, rather than the symlink. Use O_NOFOLLOW on
- source when not dereferencing symlinks; this avoids a race.
- Preserve errno correctly when doing multiple open attempts on the
- destination.
- (copy_internal): Follow destination symlinks only when copying a
- regular file and only when we don't intend to remove or rename the
- destination first, regardless of whether following source
- symlinks; this is because since POSIX and tradition (e.g.,
- FreeBSD) say we should ordinarily follow destination symlinks if
- the system calls would ordinarily do so.
- * src/copy.h (struct cp_options): Add comment that 'dereference'
- is only for source files.
- * src/cp.c (usage): Note that --derereference etc. are only for
- source files.
- (make_dir_parents_private): Follow symlinks, regardless of whether
- --dereference is specified, because these are destination symlinks.
- * tests/cp/same-file: Adjust tests to match revised behavior.
- Filter out perror output since it might vary from host to host.
- Use sed alone instead of also using echo.
-
- * doc/coreutils.texi (cp invocation): Document the behavior better when
- the destination is a symlink. Clarify source versus destination
- symlinks. Describe the new behavior for destination symlinks.
-
-2007-06-15 Jim Meyering <jim@meyering.net>
-
- * src/copy.c: Include "canonicalize.h".
- (copy_reg): Use canonicalize_filename_mode to follow the symlink,
- so that we can always open with O_EXCL and avoid a race.
-
-2007-06-15 Jim Meyering <jim@meyering.net>
-
- Don't include "quote.h" when it is not used.
- * src/md5sum.c: Remove unnecessary inclusion of "quote.h".
- * src/expr.c: Likewise.
- * src/shred.c: Likewise.
- * Makefile.maint (sc_prohibit_quote_without_use): New rule.
- * src/c99-to-c89.diff: Adjust offsets.
-
-2007-06-14 Paul Eggert <eggert@cs.ucla.edu>
-
- Clarify what "cat" documentation means by "blank" lines.
- * doc/coreutils.texi (cat invocation): "Blank" lines actually mean
- empty lines.
- * src/cat.c (usage): Say that "nonblank" means nonempty. Clarify
- --squeeze-blank.
-
-2007-06-13 Jim Meyering <jim@meyering.net>
-
- rmdir: give better diagnostics
- * src/rmdir.c (remove_parents): Give a more descriptive/consistent
- diagnostic upon failure.
- (main): Likewise.
- Suggestion from Joey Hess.
- * THANKS: Add Joey Hess.
-
- Don't include "quotearg.h" when it is not used.
- * Makefile.maint (sc_prohibit_quotearg_without_use): New rule.
- * src/cp.c: Don't include "quotearg.h". It wasn't used.
-
- * README-hacking: List Gperf as a build-requirement, too.
- Reported by Steve Ward.
-
-2007-06-11 Jim Meyering <jim@meyering.net>
-
- * README: Mention README-hacking, for whose who start from
- cloned/checked-out sources rather than from a distribution tarball.
- Reported by Steve Ward.
- * THANKS: Add Steve Ward.
-
-2007-06-10 Jim Meyering <jim@meyering.net>
-
- bug-fix: cp would fail to write through a dangling symlink
- * NEWS: Mention the bug fix.
- * src/copy.c (copy_reg): When open fails with EEXIST, the destination
- is lstat'able, and a symlink, call open again, but now without O_EXCL.
- * tests/cp/thru-dangling: New file, to test for the above fix.
- * tests/cp/Makefile.am (TESTS): Add thru-dangling.
- * THANKS: Add Michael McLagan.
- Bug report from Michael McLagan in <http://bugzilla.redhat.com/243588>.
-
-2007-06-04 Paul Eggert <eggert@cs.ucla.edu>
-
- * doc/coreutils.texi (Common options): Mention that -h and
- --human-readable are equivalent to --block-size=human-readable.
- Documentation problem reported by Steve Ward in
- <http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00007.html>.
- (du invocation): Use optSi rather than duplicating the macro's
- contents (incorrectly, since we claimed a "B" was output).
-
-2007-05-31 Jim Meyering <jim@meyering.net>
-
- Pull printf-related code from gnulib, rather than using forked copy.
- * bootstrap.conf (gnulib_modules): Don't avoid size_max and xsize
- modules. While I dislike xsize-style overflow avoidance, maintaining
- a forked version of e.g., vasnprintf.c was too much work.
-
-2007-05-29 Jim Meyering <jim@meyering.net>
-
- * src/dircolors.hin: Add screen-256color.
- Suggested by sdl.web@gmail.com in <http://bugzilla.redhat.com/239266>.
-
-2007-05-26 Jim Meyering <jim@meyering.net>
-
- * TODO: Add an entry for comm --output-delimiter=STR
-
-2007-05-25 James Youngman <jay@gnu.org>
-
- wc: ignore multibyte-character decoding errors
- * src/wc.c (wc): Don't issue an error message when mbrtowc
- indicates that we have seen an invalid byte sequence. This
- makes "wc /bin/sh" bearable (though the word and line counts
- are likely not to be useful).
- * NEWS: Mention the change.
-
-2007-05-22 Jim Meyering <jim@meyering.net>
-
- Check for an up-to-date copyright year in coreutils.texi.
- * Makefile.maint (copyright-check): Also check for an up-to-date
- copyright year in doc/$().texi, if that file exists.
- * doc/coreutils.texi: Add 2007 to list of Copyright years.
- Reported by Karl Berry.
-
- cut: diagnose a range starting with 0 (-f 0-2) as invalid, and
- give a better diagnostic for a field-number/offset of 0.
- * NEWS: Mention the fix.
- * src/cut.c (ADD_RANGE_PAIR): Add an explicit check.
- Based on a patch from James Youngman.
- * tests/misc/cut: Add tests for the above.
-
- "cut -f 2-0" now fails; before, it was equivalent to "cut -f 2-"
- Also, diagnose the '-' in "cut -f -" as an invalid range, rather
- than interpreting it as the unlimited range, "1-".
- * NEWS: Mention these changes.
- * src/cut.c (set_fields): Don't interpret an accumulator "value"
- of 0 as an unspecified range endpoint.
- Give better diagnostics.
- Adjust a comment so that it is true also for 64-bit size_t.
-
- * tests/cut/Test.pm: Add tests for the above.
-
- stty: fix a harmless syntax nit
- * src/stty.c (visible): Use ";" as the statement terminator
- between two assignments, not ",".
- (integer_arg): Join an unnecessarily wrapped line.
-
-2007-05-20 Jim Meyering <jim@meyering.net>
-
- stty: diagnose an invalid hex value in 35-colon commmand-line argument
- * NEWS: Mention this.
- * src/stty.c (strtoul_tcflag_t, strtoul_cc_t): New functions.
- (recover_mode): Use those functions (not sscanf), to parse the
- string robustly.
- * tests/stty/invalid: New file. Test for the above.
- * tests/stty/Makefile.am (TESTS): Add invalid.
- * .x-sc_prohibit_atoi_atof: Don't exempt stty.c from this check.
- Add tests/stty/invalid so we don't have to obfuscate the comment
- about sscanf therein.
- * Makefile.maint (sc_prohibit_atoi_atof): Mention sscanf in the
- diagnostic, too.
-
- * TODO: Remove some now-completed or no longer relevant items.
-
-2007-05-19 Jim Meyering <jim@meyering.net>
-
- Rename uses of futimens -> gl_futimens; glibc now declares the former.
- * src/copy.c (copy_reg): Reflect renaming: futimens -> gl_futimens.
- * src/touch.c (touch): Likewise.
-
-2007-05-18 Jim Meyering <jim@meyering.net>
-
- * Makefile.maint (my-distcheck): Remove -pedantic from $(CFLAGS)
- for now, to avoid c89-check failure due to use of #include_next.
-
-2007-05-15 Jim Meyering <jim@meyering.net>
-
- Generate a dozen test-related Makefile.am files at bootstrap-time.
- * README-hacking: Build-from-checkout now require Perl, too.
- * bootstrap: Now that these generated Makefile.am files are no longer
- under version control, they must be created at bootstrap time.
-
-2007-05-14 Paul Eggert <eggert@cs.ucla.edu>
-
- * man/chmod.x: Document chmod's behavior with setuid and setgid bits.
- Remove misleading implication about leading zero. Problem
- reported by Jan Engelhardt in
- <http://lists.gnu.org/archive/html/bug-coreutils/2007-05/msg00134.html>.
-
-2007-05-13 Jim Meyering <jim@meyering.net>
-
- Remove the generated tests/*/Makefile.am files from version control.
- * tests/cut/Makefile.am: git-remove this generated file.
- * 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.
- * .cvsignore, .gitignore: Ignore these generated files.
-
- * src/.cvsignore, src/.gitignore: Add chcon here, ...
- * .cvsignore, .gitignore: ... not here.
-
- Test uniq's new --zero-terminated (-z) option.
- * tests/uniq/Test.pm: When possible, create a "-z"-testing variant
- of each existing test.
- (2z, 3z, 4z, 5z, 20z, 122, 123): New tests from James Youngman.
-
-2007-05-12 James Youngman <jay@gnu.org>
-
- Add -z option to uniq. Originally proposed by Egmont Koblinger.
- * NEWS: Mention uniq's new option: --zero-terminated (-z).
- * src/uniq.c: Add new option, --zero-terminated (-z), to make
- uniq use the NUL byte as separator/delimiter rather than newline.
- (check_file): Add a parameter: delimiter. Update caller.
- Use readlinebuffer_delim in place of readlinebuffer everywhere.
- (main): Handle the new option.
- (usage): Describe new option the same way sort does.
- * doc/coreutils.texi (uniq invocation): Describe the new option.
-
-2007-05-07 Jim Meyering <jim@meyering.net>
-
- * NEWS: Mention that last week's tr bug dates back to 1992.
-
-2007-05-04 Jim Meyering <jim@meyering.net>
-
- Avoid test failure when run with an unusual umask.
- * tests/ls/color-dtype-dir: Set umask to 022.
- Suggestion from AIDA Shinra.
-
- Avoid failure of root-only test when run with a restrictive umask.
- * tests/rm/no-give-up: Ensure that non-root can access "d/" through
- root-owned ".". Reported by AIDA Shinra.
-
- tr -c: don't abort when translating with S2 larger than complement of S1
- * src/tr.c (main): Remove invalid assertion triggered by e.g.,
- tr -c a '[b*256]'. There's nothing wrong with having Set2 larger
- than Set1. Reported by Guntram Blohm.
- * tests/tr/Test.pm (no-abort-1): Test for the above.
- * NEWS: Mention this bug fix.
- * THANKS: Add Guntram Blohm.
-
-2007-05-03 Jim Meyering <jim@meyering.net>
-
- Avoid test failure when run with a permissive umask.
- * tests/rm/no-give-up: Set permissions of test directory properly,
- i.e., not depending on umask prohibiting go=w.
- Reported by AIDA Shinra.
-
-2007-05-02 Paul Eggert <eggert@cs.ucla.edu>
-
- The following commands and options now support the standard size
- suffixes kB, M, MB, G, GB, and so on for T, P, Y, Z, and Y:
- head -c, head -n, od -j, od -N, od -S, split -b, split -C,
- tail -c, tail -n.
- * doc/coreutils.texi (od invocation, head invocation, tail invocation):
- Document support for new size suffixes.
- (head invocation, tail invocation):
- Document that -n uses the same suffixes as -c.
- (tail invocation): More-clearly document what leading "+" does.
- * src/head.c (usage, string_to_integer): Support new suffixes.
- * src/od.c (usage, main): Likewise.
- * src/split.c (usage, main): Likewise.
- * src/tail.c (usage, parse_options): Likewise.
- Prompted by a patch from Evan Hunt.
-
-2007-05-02 Jim Meyering <jim@meyering.net>
-
- * src/du.c (usage): Tweak description of --dereference-args (-D) again.
- Prompted by another request for clarification from Justin Pryzby.
-
- Invoke rm via 'setuidgid ... env PATH="$PATH" ...', as in fail-eperm.
- * tests/rm/fail-2eperm: Patch from AIDA Shinra.
- Reported by Peter Dyballa.
- * THANKS: Add AIDA Shinra and Peter Dyballa.
-
-2007-04-28 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/nohup.c (usage): Describe how standard input and output
- are redirected.
-
-2007-04-25 Jim Meyering <jim@meyering.net>
-
- * src/du.c (usage): Clarify description of --dereference-args (-D).
- Prompted by a report from Justin Pryzby.
-
- * bootstrap.conf (gnulib_modules): Add fseeko and ftello.
- (gnulib_modules): Add autobuild.
-
-2007-04-24 Jim Meyering <jim@meyering.net>
-
- * THANKS: Add Andreas Frische.
- * NEWS: Mention today's ls --color fix.
- * tests/ls-2/tests (sl-dangle): Add a test for today's fix.
-
-2007-04-24 Eric Blake <ebb9@byu.net>
-
- ls --color once again colors dangling symlinks correctly
- * src/ls.c (gobble_file): Much like the 2007-04-07 fix,
- add a term to the expression that decides whether we need
- stat and/or lstat calls. Reported by Andreas Frische.
-
-2007-04-16 Jim Meyering <jim@meyering.net>
-
- * src/cut.c (usage): Adjust synopsis to show that an OPTION is required.
- Reported by Rudolf Kastl.
- * THANKS: Add Rudolf Kastl.
-
-2007-04-11 Paul Eggert <eggert@cs.ucla.edu>
-
- split --line-bytes=N (-C N): don't create an empty file.
- * src/split.c (line_bytes_split): Don't create an empty line
- afterwards if the last buffer happens to be exactly full.
- * tests/misc/split-fail: Add a test case for this.
- * NEWS: mention this.
-
-2007-04-10 Jim Meyering <jim@meyering.net>
-
- ls: don't form or compute the length of strings that won't be used.
- * src/ls.c (gobble_file): Form and compute length of strings for
- block size, owner, group, author, major+minor numbers and file size
- only if they'll actually be used. I.e., don't form most of them
- when not producing long format output.
-
-2007-04-07 Jim Meyering <jim@meyering.net>
-
- Add a test for, and document, today's fix.
- * NEWS: Mention today's ls --color fix.
- * tests/ls-2/tests (sl-target): Add a test for today's fix.
- * THANKS: Add Kirk Kelsey.
-
-2007-04-07 Eric Blake <ebb9@byu.net>
-
- Fix a bug in how the LS_COLORS ln=target attribute is handled.
- * src/ls.c (gobble_file): Use "stat" (not lstat) also when the
- ln=target attribute applies. Reported by Kirk Kelsey.
-
-2007-04-02 Jim Meyering <jim@meyering.net>
-
- * src/copy.c (copy_reg): Initialize local "con", before calling
- getfscreatecon, in case that function (or its inline stub) does
- not set it.
-
-2007-04-01 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/ls.c (print_horizontal): Fix bug reported by Mike Frysinger:
- ls -x DIR would sometimes output the wrong string in place of the
- first entry.
- * NEWS: Mention the bug fix.
- * tests/ls/x-option: New file.
- * tests/ls/Makefile.am (TESTS): Add x-option.
-
- gnulib moved md5 and sha1 modules into a new crypt/ directory; adapt
- * bootstrap.conf (gnulib_modules): Adjust to gnulib's renaming of
- md5 to crypt/md5 and sha1 to crypt/sha1.
-
-2007-03-30 Jim Meyering <jim@meyering.net>
-
- * NEWS: Mention these SELinux changes.
-
- * ChangeLog-selinux: Remove file.
- Move its contents into this file, removing old dates.
-
- * src/runcon.c (main): Don't reorder arguments. Reported by
- Ulrich Drepper in <http://bugzilla.redhat.com/232652>.
- * tests/misc/runcon-no-reorder: New file. Test for the above.
- * tests/misc/Makefile.am (TESTS): Add runcon-no-reorder.
-
- * src/runcon.c (main): Remove "." at end of a diagnostic.
-
- * src/runcon.c: New program.
- * src/Makefile.am (bin_PROGRAMS): Add runcon.
- (runcon_LDADD): Define.
- * README: Add runcon to the list of programs.
- * AUTHORS: Add this: runcon: Russell Coker
- * tests/help-version: Add runcon as an exception.
- * man/Makefile.am (dist_man_MANS): Add runcon.1.
- (runcon.1): New dependency.
-
- mkfifo, mknod: Accept new "-Z, --context=C" option.
- * src/mkfifo.c, src/mknod.c: Include <selinux/selinux.h>.
- (main): Honor it.
- * src/Makefile.am (mkfifo_LDADD, mknod_LDADD): Use $(LIB_SELINUX).
-
- mkdir: Accept new "-Z, --context=C" option.
- * src/mkdir.c: Include <selinux/selinux.h>.
- (main): Honor it.
- * src/Makefile.am (mkdir_LDADD): Use $(LIB_SELINUX).
-
- * tests/cp/cp-a-selinux: New file. Test for the bug reported in
- <http://bugzilla.redhat.com/219900>.
- * tests/cp/Makefile.am (TESTS): Add cp-a-selinux.
-
- * tests/selinux: New file.
- * tests/Makefile.am (EXTRA_DIST): Add selinux.
- * tests/misc/selinux: Source the new script, rather than open coding it.
-
- Change how "cp -a" and "cp --preserve=context" work with SELinux.
- Now, cp -a attempts to preserve context, but failure to do so does
- not change cp's exit status. However "cp --preserve=context" is
- similar, but failure *does* cause cp to exit with nonzero status.
- * src/copy.h (struct cp_options) [require_preserve_context]: New member.
- * src/copy.c (copy_reg, copy_internal): Implement the above.
- * src/mv.c (cp_option_init): Initialize the new member.
- * src/install.c (cp_option_init): Likewise.
- * src/cp.c (cp_option_init): Likewise.
- (decode_preserve_arg): Set it or reset it.
-
- cp, mv, install: add SELinux support, but unlike with the Red Hat
- patch, mv and cp do not provide the "-Z context" option.
- * src/copy.c: Include <selinux/selinux.h>.
- (restore_default_fscreatecon): New function.
- (copy_reg): Make cp --preserve=context work for existing destination.
- (copy_internal): Likewise for new destinations.
- * src/copy.h (cp_options) [preserve_security_context]: New member.
- * src/cp.c: Include <selinux/selinux.h>.
- (selinux_enabled): New global.
- (usage): Mention new --preserve=context option.
- (PRESERVE_CONTEXT): Define/use.
- (decode_preserve_arg): Handle PRESERVE_CONTEXT.
- (main): Remove an obsolete comment.
- If --preserve=context is specified on a system without SELinux
- enabled, give a diagnostic and fail.
- * src/mv.c: Include <selinux/selinux.h>.
- Set x->preserve_security_context if SELinux is enabled.
- * src/install.c: Accept new "-Z, --context=C" option.
- Accept --preserve-context option (but not -P option).
- Accept alternate spelling: --preserve_context, for now.
- Include <selinux/selinux.h> and "quotearg.h".
- (selinux_enabled, use_default_selinux_context): New globals.
- (PRESERVE_CONTEXT_OPTION): Define.
- (cp_option_init): Default: do not preserve security context.
- (setdefaultfilecon): New function.
- (main): Honor new options.
- * src/Makefile.am (mv_LDADD, cp_LDADD, ginstall_LDADD):
- Add $(LIB_SELINUX).
- * src/system.h (GETOPT_SELINUX_CONTEXT_OPTION_DECL): Define.
-
- * tests/misc/selinux [VERBOSE]: Print version info for each
- of the tested tools, not just ls.
-
- * src/c99-to-c89.diff: Remove the ls.c patch, now that I've
- temporarily removed the offending c99'ism.
-
- * src/chcon.c (usage): Split a string literal that was longer than 509.
-
- * src/ls.c (gobble_file): Don't call getfilecon unless print_scontext.
- Upon failed getfilecon, accept not just ENOTSUP, but also ENODATA.
-
- * src/c99-to-c89.diff: Adjust offsets.
-
- * AUTHORS: Add chcon.
-
- * src/c99-to-c89.diff: Remove trailing blanks.
-
- * src/chcon.c: Don't include "dirname.h". system.h already includes it.
-
- * gl/lib/selinux-at.c: Remove a use of HAVE_CONFIG_H.
-
- * src/c99-to-c89.diff: Handle a new c99'ism in ls.c.
-
- * src/id.c (main): Tweak id -Z diagnostic.
-
- id: Add SELinux support: -Z option.
- * src/id.c (main): Apply patches from Fedora, with these changes:
- Remove #ifdef WITH_SELINUX.
- Use error (EXIT_FAILURE, not fprintf+exit(1).
- * src/Makefile.am (id_LDADD): Define, so as to add $(LIB_SELINUX).
-
- stat: Add support for SELinux in the form of a %C format directive.
- * src/stat.c (follow_links): Make this variable file-global.
- (out_file_context): New function.
- (print_statfs): Honor %C.
- (print_stat): Honor %C.
- (do_stat): Remove follow_links parameter.
- (usage): Document the two %C directives.
- (main): Accept -Z (though it's a no-op).
- * src/Makefile.am (stat_LDADD): Define.
-
- ls: Add support for SELinux and a slightly modified -Z option.
- I started with the patches from Red Hat.
- The entries below tell how the code evolved.
-
- * src/ls.c (print_long_format, print_file_name_and_frills): When
- there is no security context (due to getfilecon/lgetfilecon failing
- with e.g. ENOTSUP), print it as "?", not "".
- * src/ls.c (print_file_name_and_frills): Make -Z work without -l.
- (length_of_file_name_and_frills): Likewise.
-
- * src/ls.c: Remove the --lcontext and --scontext options.
- Change the way -Z, --context work so that it no longer implies -l.
- Thus, -Z -l will work like -lcontext and -Z without -l will work
- like --scontext.
-
- Adjust tests to reflect new 'ls -l' syntax -- affects only
- systems with SELinux when operating on a file with no ACL.
- These tests assumed that everything before the first space on
- each line is the 10-byte mode string. But there may also be a "+"
- in the 11th column, just before the space. However, note that this
- is not new. The same thing would have happened even without the
- change below, when listing a file with an ACL.
- * tests/chmod/equals, tests/cp/cp-parents, tests/cp/fail-perm:
- * tests/cp/link-preserve, tests/install/basic-1, tests/misc/mknod:
- * tests/mkdir/parents, tests/mkdir/special-1, tests/mv/partition-perm:
-
- Don't make compilation depend on USE_ACL. An SELinux security
- context counts as an "alternate access control method", so ls
- must output a "+" for each file with a security context.
- * src/ls.c [struct fileinfo] (have_acl): Declare unconditionally.
- (FILE_HAS_ACL): Remove macro definition. Use f->have_acl directly.
- (gobble_file): Record whether a file has a security context, and
- update the condition used to determine whether to print the "+".
- (gobble_file): Call getfilecon/lgetfilecon also when
- format == long_format, so that we get the "+".
-
- * src/ls.c (gobble_file): Add a comment explaining why (with a
- security context option) ls doesn't exit nonzero due to e.g.,
- getfilecon failing with errno == ENOTSUP.
-
- * src/ls.c (gobble_file): Ignore failure of getfilecon if it's due
- to ENOTSUP.
-
- * src/ls.c (gobble_file): Factor out three small blocks using
- getfilecon and lgetfilecon.
- Don't ignore return value from getfilecon and lgetfilecon.
-
- * src/ls.c (print_long_format): Don't use ?: (empty 2nd arg with C
- ternary operator).
- (print_scontext_format): Likewise.
- (print_scontext): Declare to be "bool", not int. Adjust uses.
-
- * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD): Add $(LIB_SELINUX).
-
- * tests/misc/chcon: New file.
- * tests/misc/chcon-fail: New file.
- * tests/Makefile.am (check-root): Run new, root-only misc/chcon test.
- * tests/misc/Makefile.am (TESTS): Add chcon and chcon-fail.
-
- * tests/misc/Makefile.am (TESTS): Add selinux.
- * tests/misc/selinux: New file.
- * tests/help-version: Skip chcon.
- * man/chcon.x: New file.
- * man/Makefile.am: Build chcon.1.
-
- New program: chcon
- * gl/modules/selinux-at: New module. Check for libselinux and set
- LIB_SELINUX here, unconditionally, rather than depending on
- the configure-time --enable-selinux option.
- * gl/modules/selinux-h: New module.
- * bootstrap.conf (gnulib_modules): Add selinux-at.
- * gl/lib/selinux-at.c, gl/lib/selinux-at.h: New files.
- * gl/lib/se-selinux_.h: New file.
- * gl/lib/se-context_.h: New file.
- * gl/m4/selinux-selinux-h.m4: New file.
- * gl/m4/selinux-context-h.m4: New file.
- * src/Makefile.am (bin_PROGRAMS): Add chcon.
- (chcon_LDADD): Define.
- * README: Add chcon to the list of programs.
- * src/chcon.c: Rewrite the original (Red Hat) chcon to use fts.
-
-2007-03-29 Jim Meyering <jim@meyering.net>
-
- * .vg-suppressions: Add libc-getpwuid-leak.
-
-2007-03-28 Jim Meyering <jim@meyering.net>
-
- Help translators include translation team's web or email address.
- * src/system.h (emit_bug_reporting_address): New function.
- * src/base64.c: Use it rather than a literal printf.
- * src/basename.c, src/cat.c, src/chgrp.c, src/chmod.c:
- * src/chown.c, src/chroot.c, src/cksum.c, src/comm.c, src/cp.c:
- * src/csplit.c, src/cut.c, src/date.c, src/dd.c, src/df.c:
- * src/dircolors.c, src/dirname.c, src/du.c, src/echo.c, src/env.c:
- * src/expand.c, src/expr.c, src/factor.c, src/fmt.c, src/fold.c:
- * src/head.c, src/hostid.c, src/hostname.c, src/id.c, src/install.c:
- * src/join.c, src/kill.c, src/link.c, src/ln.c, src/logname.c:
- * src/ls.c, src/md5sum.c, src/mkdir.c, src/mkfifo.c, src/mknod.c:
- * src/mv.c, src/nice.c, src/nl.c, src/nohup.c, src/od.c:
- * src/paste.c, src/pathchk.c, src/pinky.c, src/pr.c, src/printenv.c:
- * src/printf.c, src/ptx.c, src/pwd.c, src/readlink.c, src/rm.c:
- * src/rmdir.c, src/seq.c, src/setuidgid.c, src/shred.c, src/shuf.c:
- * src/sleep.c, src/sort.c, src/split.c, src/stat.c, src/stty.c:
- * src/su.c, src/sum.c, src/sync.c, src/system.h, src/tac.c:
- * src/tail.c, src/tee.c, src/test.c, src/touch.c, src/tr.c:
- * src/true.c, src/tsort.c, src/tty.c, src/uname.c, src/unexpand.c:
- * src/uniq.c, src/unlink.c, src/uptime.c, src/users.c, src/wc.c:
- * src/who.c, src/whoami.c, src/yes.c: Likewise.
-
- * src/stty.c: Don't include "vasprintf.h", now that its
- declarations are guaranteed to be in gnulib's stdio.h.
- * src/who.c: Likewise.
-
-2007-03-27 Jim Meyering <jim@meyering.net>
-
- * README: Use "install", not "ginstall" in the list of program names.
- * src/Makefile.am (check-README): Substitute s/ginstall/install/.
-
-2007-03-25 Jim Meyering <jim@meyering.net>
-
- * src/c99-to-c89.diff: Regenerate.
-
-2007-03-25 Paul Eggert <eggert@cs.ucla.edu>
-
- Avoid the need for euidaccess and/or lstat on every directory entry
- with 'rm -r dir' (without -f), if we are root, or if we are removing
- a directory tree that is full of symbolic links.
- * bootstrap.conf (gnulib_modules): Add write-any-file.
- * src/copy.c: Include write-any-file.h.
- (UNWRITABLE): Remove macro, replacing with....
- (writable_destination): New function, which uses can_write_any_file
- to avoid the need for euidaccess when we are privileged.
- (overwrite_prompt, abandon_move): Use it.
- * src/remove.c: Include write-any-file.h.
- (D_TYPE): New macro.
- (DT_UNKNOWN, DT_DIR, DT_LNK) [!HAVE_STRUCT_DIRENT_D_TYPE]: New macros.
- (write_protected_non_symlink): Don't bother to stat if we can write
- any file.
- (prompt): New arg PDIRENT_TYPE. All callers changed.
- Use readdir dirent type to avoid the need for 'lstat' on each directory
- entry in cases like 'rm -r dir', if we are root, or if the tree is
- full of symbolic links.
- (DT_IS_KNOWN, DT_MUST_BE): Remove.
- (remove_entry): New arg DIRENT_TYPE_ARG. All callers changed.
-
-2007-03-24 Jim Meyering <jim@meyering.net>
-
- If strace malfunctions, skip the test rather than failing it.
- * tests/mv/atomic: Required on a mips-unknown-linux-gnu system
- running the aging linux-2.4.27-mipscvs-20040814.
-
-2007-03-23 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/pathchk.c: Don't include euidaccess.h, as we don't call
- euidaccess.
-
-2007-03-23 Jim Meyering <jim@meyering.net>
-
- * README-package-renamed-to-coreutils: Add a URL for the FAQ,
- and a couple more archive links.
-
-2007-03-22 Jim Meyering <jim@meyering.net>
-
- Post-release version change.
- * NEWS: Add a line for 6.9+.
- * configure.ac (AC_INIT): Set new version string.
-
- Version 6.9.
- * NEWS: Record release date and new version number.
- * configure.ac (AC_INIT): New version number.
-
- * tests/mv/hard-3: Correct the preceding change: $3 -> $2.
-
-2007-03-22 Paul Eggert <eggert@cs.ucla.edu>
-
- Improve a test script.
- * tests/mv/hard-3: Check for 'ls' failure, too.
- Generate more-useful debugging output when 'ls' fails.
-
-2007-03-21 Jim Meyering <jim@meyering.net>
-
- Fix a test script not to claim an ext2 file system is of type xfs.
- * tests/du/slink: When using df --local and df --type=TYPE,
- test only the exit code. Don't bother with stdout.
- Prompted by a report by Thomas Schwinge of an inaccurate diagnostic.
-
- * gl/lib/savewd.c: Remove this file, since the savewd_save change
- is now in gnulib. The other wasn't useful.
-
-2007-03-20 Jim Meyering <jim@meyering.net>
-
- * gl/lib/acl.c: Remove this file, now that gnulib's version subsumes it.
-
- Skip part of this test when "." is not a local file system.
- * tests/install/basic-1: Otherwise, it would fail on some NFS
- file systems.
- * tests/mkdir/p-3: Likewise.
-
-2007-03-19 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD):
- Add $(LIB_ACL_TRIVIAL).
-
-2007-03-18 Jim Meyering <jim@meyering.net>
-
- Fix a generic NFS-related test failure.
- * tests/mkdir/p-3: When setting up an unreadable "." in an
- inaccessible parent, make the parent inaccessible *after* making "."
- unreadable. Otherwise, running "chmod a-r ." in an already-
- inaccessible parent would fail on NFS with "Stale NFS file handle".
-
- Fix a bug in how pr -m -s works.
- * NEWS: Describe how the fix affects pr.
- * src/pr.c (init_parameters): The --merge (-m) option does
- not imply --expand-tabs (-e), so don't set "untabify_input".
- Reported by Wis Macomson.
- * tests/misc/pr: New file. Test for the above fix.
- * tests/misc/Makefile.am (TESTS): Add pr.
- * THANKS: Update.
-
-2007-03-17 Jim Meyering <jim@meyering.net>
-
- Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
- * bootstrap: Put ""s around use of $build_aux, in case
- someone uses a name containing shell meta-characters.
- Reported by Alfred M. Szmidt.
- * tests/misc/tty-eof: Add shuf to the list of tested commands.
-
- Avoid test failure on NFS-mounted Solaris ZFS file system.
- * tests/du/basic: Skip a test if "." is on a non-local file system.
-
- Avoid an obscure build failure, prefer waitpid over wait.
- * src/install.c (strip): Use waitpid, not wait. It's equivalent,
- but feels less obsolescent.
-
- * bootstrap: Don't use \> in grep regexp. For HP-UX.
-
-2007-03-16 Jim Meyering <jim@meyering.net>
-
- Begin adding support for Solaris ZFS (4 entries per trivial ACL)
- * gl/lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
- (file_has_acl, copy_acl): Use it, rather than enumerating errno values.
- (is_trivial_acl): New function. Incomplete, for now.
- (file_has_acl, copy_acl): Use the new function, rather than
- counting the number of entries in an ACL.
-
- * bootstrap: Update from gnulib.
-
- * .x-sc_prohibit_atoi_atof: Add TODO here, too.
-
-2007-03-16 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/copy.c: Include filemode.h.
- (overwrite_prompt): Say "try to overwrite", not "overwrite", to
- make it clearer that the attempt may fail. Problem reported by
- Dan Jacobson in:
- http://lists.gnu.org/archive/html/bug-coreutils/2007-03/msg00130.html
- Output symbolic mode as well as numeric.
- * tests/mv/i-2 (fail): Adjust to new prompt format.
-
-2007-03-15 Jim Meyering <jim@meyering.net>
-
- Enforce policy: don't use *scanf functions.
- * Makefile.maint (sc_prohibit_atoi_atof): Add to regexp and diagnostic.
- * .x-sc_prohibit_atoi_atof: Give stty a temporary pass.
- * TODO: note that stty.c needs this small clean-up.
-
-2007-03-13 Jim Meyering <jim@meyering.net>
-
- Prepare to work on ACL-related failure when using Solaris ZFS.
- * gl/lib/acl.c: New file, copied from gnulib.
-
- Work around a failing test due to an NFS-based race condition.
- * tests/cp/sparse: Accept a report that the copy is *smaller*.
-
-2007-03-12 Jim Meyering <jim@meyering.net>
-
- Make bootstrap.conf a tiny bit more generic.
- * bootstrap.conf (XGETTEXT_OPTIONS): Exclude gettext-related .m4
- files when e.g., AM_GNU_GETTEXT([external] appears in configure.ac.
-
-2007-03-10 Jim Meyering <jim@meyering.net>
-
- Try to fix today's NFS-related failure: Treat ESTALE like EACCES.
- * gl/lib/savewd.c: Copy this file from gnulib, then change
- "errno != EACCES" to (errno != EACCES && errno != ESTALE).
- The symptom was this failure in tests/install/basic-1:
- ginstall: cannot create directory `rel/a': Stale NFS file handle
-
- The preceding change solved part of the problem. Now ginstall fails.
- * tests/install/basic-1: Temporarily, don't redirect ginstall's
- stderr to /dev/null, so I can see why the NFS autobuilder's NFS test
- is failing.
-
- * tests/install/basic-1: When setting up an unreadable "." in an
- inaccessible parent, make the parent inaccessible *after* making "."
- unreadable. Otherwise, running "chmod a-r ." in an already-
- inaccessible parent would fail on NFS with "Stale NFS file handle".
- Reported by Bob Proulx.
-
- * Makefile.maint (po-check): Exclude c99-to-c89.diff.
-
-2007-03-09 Jim Meyering <jim@meyering.net>
-
- Avoid test failures on Darwin 7.9.0 (MacOS X 10.3.9)
- * tests/chgrp/basic: Don't let failure by chgrp to set the
- group of a symlink make this test fail. Do give a diagnostic.
- In the chgrp-no-change-ctime test, add darwin7.9.0 as another
- known-failing system.
- When failing on some other system, print $host_triplet, too.
- Also avoid test failures on Darwin 8.8.x (MacOS X 10.4).
- Reported by Peter Fales.
-
-2007-03-08 Jim Meyering <jim@meyering.net>
-
- * src/c99-to-c89.diff: Reflect the new c99'ism, update offsets.
-
-2007-03-08 Paul Eggert <eggert@cs.ucla.edu>
-
- rm without -f: give a better diagnostic when euidaccess fails.
- * src/remove.c (write_protected_non_symlink): Return int, not bool,
- so that we can indicate failure too (as a postive error number).
- (prompt): If write_protected_non_symlink fails, report that error
- number and fail rather than charging ahead and removing the dubious
- entry. Redo the logic of printing a diagnostic so that we need to
- invoke quote (full_filename (...)) only once. More details at:
- <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9952/focus=9996>
-
-2007-03-08 Jim Meyering <jim@meyering.net>
-
- Generalize a few more cvs-isms.
- * bootstrap (checkout_only_file): Rename from CVS_only_file.
- Change comments and diagnostics not to say "CVS".
-
- * bootstrap: Run libtool, if necessary.
-
- Make bootstrap a little more general.
- * bootstrap (build_aux): Factor out/use this definition.
- Formally require a "AC_CONFIG_AUX_DIR($build_aux)" line in configure.ac.
- (insert_sorted_if_absent): Move function definition "up", to
- precede new first use.
- If $build_aux/ doesn't exist initially, create it, and
- mark it as ignored.
-
-2007-03-03 Andrew Church <achurch@achurch.org> (tiny change)
- Paul Eggert <eggert@cs.ucla.edu>
-
- Fix a bug: cp -x would fail to set mount point permissions.
- * NEWS: mention cp -x bug fix
- * src/copy.c (copy_internal): Don't return immediately after
- copying a mount point that we do not intend to recurse under.
- Based on a patch by Andrew Church.
-
-2007-03-03 Jim Meyering <jim@meyering.net>
-
- pwd-unreadable-parent: Skip test on ia64/Linux, too.
- * tests/misc/pwd-unreadable-parent: Also skip when $REPLACE_GETCWD.
- Reported by Bob Proulx.
-
-2007-03-02 Jim Meyering <jim@meyering.net>
-
- pwd-unreadable-parent: Skip test on non-Linux/GNU systems.
- * tests/misc/pwd-unreadable-parent: Rather than trying to decide
- whether this test has a chance of succeeding, run it only when
- $(host_os) is linux-gnu. It was failing on powerpc-apple-darwin8.8.0
- * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Add host_os=$(host_os).
-
- * tests/misc/pwd-long: Also allow "+" in $PWD.
-
- Remove another coreutils-ism. Formatting cleanup.
- * Makefile.maint (my-distcheck): Update an outdated comment.
- (emit_upload_commands): Use $(PACKAGE) rather than "coreutils".
- (my-distcheck): Skip the c99/c89 check if there's no such .diff file.
-
-2007-03-01 Jim Meyering <jim@meyering.net>
-
- * Makefile.maint (warn_cflags): Hoist, adding "-Dlint -O".
- (my-distcheck): Use the new variable, instead of too-long literal.
-
- Make "make syntax-check" rules less coreutils-specific.
- * Makefile.maint (sc_cast_of_x_alloc_return_value): Use CVS_LIST_EXCEPT.
- (sc_cast_of_alloca_return_value): Likewise.
- (sc_root_tests): Do nothing if there is no check-root target
- in tests/Makefile.am.
-
- Run the writable-files check only for release-building targets.
- * Makefile.maint (local-checks-available): Remove writable-files.
- (alpha beta major): Put it here, instead.
-
- "make syntax-check" now runs only Makefile.cfg-selected tests
- * Makefile.maint (syntax-check-rules): Hoist this definition so that
- it precedes the indirect use in the definition of $(local-check).
- (local-check): Use :=, not just "=".
- (syntax-check): Depend on $(local-check), not $(syntax-check-rules).
-
-2007-02-28 Bruno Haible <bruno@clisp.org>
-
- * bootstrap.conf (gnulib_modules): Replace xreadlink with
- xreadlink-with-size. Add xreadlink.
- * src/copy.c (copy_internal): Update.
- * src/ls.c (is_directory): Update.
- * src/stat.c (print_stat): Update.
- * src/readlink.c (main): Use the one-argument xreadlink function.
-
-2007-02-28 Paul Eggert <eggert@cs.ucla.edu>
-
- * doc/coreutils.texi (Common options): --si outputs "M", not "MB".
- Problem reported by Philip Rowlands in
- <http://lists.gnu.org/archive/html/bug-coreutils/2007-02/msg00283.html>.
-
-2007-02-28 Jim Meyering <jim@meyering.net>
-
- * .x-sc_file_system: Add the new test, tests/misc/df-P, to this
- list of exceptions, for the "make distcheck" sc_file_system rule.
-
- * Makefile.maint (gnulib_snapshot_date): Remove now-unused definition.
-
-2007-02-27 Paul Eggert <eggert@cs.ucla.edu>
-
- Make df -P immune to effects of e.g., the BLOCK_SIZE envvar.
- * NEWS: With -P, the default block size and output format is not
- affected by DF_BLOCK_SIZE, BLOCK_SIZE, or BLOCKSIZE.
- * src/df.c (main): Implement this.
-
-2007-02-27 Jim Meyering <jim@meyering.net>
-
- Add a test for the above.
- * tests/misc/df-P: New file.
- * tests/misc/Makefile.am (TESTS): Add df-P.
-
-2007-02-25 Jim Meyering <jim@meyering.net>
-
- * Makefile.maint (announcement): Adjust so that it works with
- announce-gen's --gnulib-snapshot-time-stamp option.
- Indent one of the command lines using TAB, not 8 spaces.
-
- Post-release version change.
- * NEWS: Add a line for 6.8+.
- * configure.ac (AC_INIT): Set new version string.
-
-2007-02-24 Jim Meyering <jim@meyering.net>
-
- Version 6.8.
- * NEWS: Record release date and new version number.
- * configure.ac (AC_INIT): New version number.
-
- Don't skip this test on new-enough Linux/GNU systems.
- * tests/misc/pwd-unreadable-parent: Test $REPLACE_GETCWD = 0,
- rather than for __GETCWD_PREFIX in config.h (the latter is no
- longer defined, ever, due to gnulib changes).
- * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Define REPLACE_GETCWD.
-
- Remove the "gnits" option; it prohibits my using "+" as a version
- string suffix, and all it does (beyond the default "gnu" option)
- is to _require_ the THANKS file.
- * configure.ac (AM_INIT_AUTOMAKE): Remove it.
-
- Remove all AUTOMAKE_OPTIONS settings in Makefile.am files.
- * tests/chgrp/Makefile.am, tests/chmod/Makefile.am:
- * tests/chown/Makefile.am, tests/cp/Makefile.am:
- * tests/du/Makefile.am, tests/expr/Makefile.am:
- * tests/factor/Makefile.am, tests/general/Makefile.am:
- * tests/install/Makefile.am, tests/ln/Makefile.am:
- * tests/ls/Makefile.am, tests/mkdir/Makefile.am:
- * tests/mv/Makefile.am, tests/readlink/Makefile.am:
- * tests/rm/Makefile.am, tests/rmdir/Makefile.am:
- * tests/seq/Makefile.am, tests/stty/Makefile.am:
- * tests/tee/Makefile.am, tests/touch/Makefile.am:
-
- * README: Document the OSF/1 4.0d build failure and work-around.
- Reported by Bruno Haible.
-
- * NEWS: Use a simple "+" suffix to denote pre-release, not "-dirty".
- Nicer connotations.
- * configure.ac: Use 6.7+, not 6.7-dirty.
-
-2007-02-24 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: sort no longer compresses temporaries by default.
- * bootstrap.conf: Remove findprog.
- * doc/coreutils.texi (sort invocation): The default is to not
- compress. Don't treat "" specially.
- * src/sort.c: Don't include findprog.h.
- (create_temp): Compress only if the user specified --compress-program.
- * tests/misc/sort-compress: Adjusts tests to match new behavior.
-
-2007-02-24 Jim Meyering <jim@meyering.net>
-
- Avoid a shell syntax error, when building with an inadequate Perl.
- * man/Makefile.am (.x.1): Add quotes around $(PERL) in case, since
- it can expand to "/.../missing perl".
-
- * man/Makefile.am (.x.1): Warn when unable to update a man page.
- Suggestion from Bruno Haible.
-
-2007-02-23 Bruno Haible <bruno@clisp.org>
-
- Handle better the combination of old Perl and a pre-c99 compiler.
- * man/Makefile.am (.x.1): If the autoconf test has determined that
- perl is missing or not a sufficient version, do nothing.
-
- * tests/readlink/can-e: Put the closing double-quote at the end of a
- backquoted word, not in the middle. Works around a bug in sh on
- OSF/1 4.0d.
- * tests/readlink/can-f: Likewise.
- * tests/readlink/can-m: Likewise.
-
- * tests/du/slink: Skip the test if executing on an nfsv3 file system.
- This avoids a test failure at least on OSF/1 4.0d.
-
-2007-02-23 Jim Meyering <jim@meyering.net>
-
- * src/date.c (usage): Split a diagnostic that had grown to be
- longer than the C89 maximum of 509 bytes.
-
-2007-02-23 Ed Santiago <ed@edsantiago.com>
-
- * src/date.c (usage): Mention that --rfc-3339 uses space, not 'T',
- for a separator. Include sample RFC 2822 and 3339 output.
-
-2007-02-23 Jim Meyering <jim@meyering.net>
-
- With -Dlint, make shuf free all heap-allocated storage.
- * src/shuf.c (main): Move declaration of input_lines to
- function scope, and initialize to NULL, so we can free it.
- [lint]: Free all malloc'd memory.
- * tests/misc/shuf: Also test shuf's -e and -i options.
-
-2007-02-22 Jim Meyering <jim@meyering.net>
-
- Merge in a change from some other incarnation of this file (gzip?)
- * bootstrap (gnulib_tool): Skip get_translations if there is no po/ dir.
-
- Adjust preceding change not to perform an unaligned access.
- * src/copy.c (copy_reg): Undo previous change. Instead, make
- it clearer that we're using a single-byte sentinel, and
- [lint]: Initialize sizeof (uintptr_t) - 1 bytes after the sentinel.
- Reported by Andreas Schwab.
-
- Placate valgrind, wrt ./cp --sparse=always
- * src/copy.c (copy_reg): Place the sentinel by setting a
- full word's worth of bits, not just a single byte's worth.
- This avoids a harmless (but distracting) case of memory being
- used-uninitialized.
-
-2007-02-21 Paul Eggert <eggert@cs.ucla.edu>
-
- Honor dd's noatime flag if possible, even if not supported on build fs
- * doc/coreutils.texi (dd invocation): Warn that noatime might not be
- reliable.
- * src/dd.c (flags, usage): Look at O_NOATIME, not
- HAVE_WORKING_O_NOATIME, to decide whether to support the noatime
- flag, so that dd attempts O_NOATIME even if the build file system
- does not support it. Problem reported by Jim Meyering today in
- bug-coreutils.
- * tests/dd/misc: Generate a warning, not a failure, if noatime
- exists but fails.
-
-2007-02-21 Jim Meyering <jim@meyering.net>
-
- * tests/misc/date: Remove vestigial use of Data::Dumper.
-
-2007-02-20 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/copy.c (cached_umask): Cast -1 to mode_t to avoid a warning
- about out-of-range initializer with Sun C 5.8.
-
-2007-02-20 Jim Meyering <jim@meyering.net>
-
- * bootstrap (CVS_only_file): Use README-hacking.
-
- Now that we use GIT, not cvs, rename README-cvs.
- * README-hacking: Renamed from...
- Update to reflect that we now use git.
-
- * README-cvs: ...this.
-
- * src/env.c (main): When invoked with no arguments (i.e. when printing
- the environment), use a local variable to iterate through the global
- "environ" array, rather than "environ" itself. This is solely to
- avoid changing the environment for an LD_PRELOAD-substituted "puts"
- or "exit" function. Tiny patch by Harvey Eneman. See
- <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9735>.
- * THANKS: Update.
-
- * bootstrap: Move definitions of temporary directory names and the
- new bt_regex "up" to precede all uses, so it's clearer what their
- scope is. Also, use [.], rather than \\., since the former works
- even if eval'd.
-
- * bootstrap: Remove occurrences of $bt (._bootmp) from lib/Makefile.
- Based on the bison 2007-02-19 change by Joel E. Denny.
-
-2007-02-19 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: sort now uses a --compress-program option rather than
- an environment variable.
- * doc/coreutils.texi (sort invocation): Document this.
- * src/sort.c (usage): Likewise.
- (COMPRESS_PROGRAM_OPTION): New const.
- (long_options, create_temp, main): Support new option.
- * tests/misc/sort-compress: Test it.
-
-2007-02-19 Jim Meyering <jim@meyering.net>
-
- * bootstrap: Fix typo s/dowloading/downloading/ in --help output.
-
-2007-02-18 Jim Meyering <jim@meyering.net>
-
- * src/system.h: Don't include exit.h, now that it's subsumed
- by the gnulib-generated stdlib.h.
-
- * tests/rm/fail-eacces: Skip this test when running as root.
- Reported by Matthew Woehlke.
-
- * bootstrap: Use "._bootmp" as the temporary directory name,
- not ".#bootmp". The latter's "#" caused trouble with the new,
- gnulib-added "LINK_WARNING_H = $(top_srcdir)/.#bootmp/..." line.
-
-2007-02-14 Paul Eggert <eggert@cs.ucla.edu>
-
- * bootstrap.conf (gnulib_modules): Add c-strcase. Remove strcase.
- * src/dircolors.c: Include c-strcase.h.
- (dc_parse_stream): Use c_strcasecmp rather than
- strcasecmp to avoid unreliable results in locales like Turkish
- where strcasecmp is incompatible with the C locale.
-
-2007-02-13 Jim Meyering <jim@meyering.net>
-
- Also check for and print stderr output, in case a program fails.
- * tests/misc/tty-eof: Occasionally (not reproducible), this
- test would fail, with one or more programs exiting nonzero, e.g.,
- tty-eof: sha224sum exited with status 1 (expected 0)
- Now, maybe we'll get a clue, the next time that happens.
-
-2007-02-12 Jim Meyering <jim@meyering.net>
-
- * .x-sc_useless_cpp_parens: Ignore a false-positive in a shell script.
-
- * tests/misc/pwd-unreadable-parent: Skip the test if we're
- definitely using the replacement.
- * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Define CONFIG_HEADER.
-
-2007-02-10 Jim Meyering <jim@meyering.net>
-
- Remove excess leading spaces that would make help2man misbehave.
- * src/printf.c (usage): Remove excess spaces on 2nd line of %b desc.
- * src/nl.c (usage): Remove excess spaces on 2nd line of pBRE desc.
- * src/dd.c (usage): Remove excess spaces on 2nd line of sync desc.
- * src/date.c (usage): Use two spaces after each optional flag, not one.
- Reported by Thomas Huriaux in <http://bugs.debian.org/410407>.
-
- * Makefile.maint (longopt_re): Relax the regexp, making square
- brackets optional, so it matches the newly reported violations, too.
-
- * src/csplit.c (usage): Use two spaces (not one) to separate
- each option string from its description, so help2man formats
- the derived man page properly. Reported by Thomas Huriaux in
- <http://bugs.debian.org/410407>.
- * src/df.c (usage): Likewise.
- * src/du.c (usage): Likewise.
- * src/install.c (usage): Likewise.
- * src/ls.c (usage): Likewise.
-
-2007-02-03 Jim Meyering <jim@meyering.net>
-
- Test for today's gnulib/lib/getcwd.c fix affecting pwd and readlink
- * NEWS: Mention the bug fix.
- * tests/misc/pwd-unreadable-parent: New file.
- * tests/misc/Makefile.am (TESTS): Ad pwd-unreadable-parent.
-
-2007-02-02 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: Document fix for cp --preserve=mode.
- * src/copy.c (copy_internal): Omit the group- or other-writeable
- permissions when creating a directory, to avoid a race condition
- if the special mode bits aren't right just after the directory is
- created.
- * src/cp.c (make_dir_parents_private): Likewise.
- * tests/cp/parent-perm-race: Test for the "cp --preserve=mode"
- race fix in copy.c.
-
- * NEWS: Document fix for cp --parents.
- * src/cp.c (make_dir_parents_private): Report the error sooner with
- "cp --parents DIR/FILE DEST" when DIR is a non-directory, thus not
- creating the directory, DEST/DIR.
- * tests/cp/cp-parents: Test for the non-race-condition bug fixed
- by the above change.
-
-2007-02-02 Jim Meyering <jim@meyering.net>
-
- * src/nl.c (proc_text): Use "NULL", not "(struct re_registers *) 0".
-
- * src/c99-to-c89.diff: Make shred.c Index: and a/b prefixes
- consistent, so this can be applied with patch -p0.
- Reported by Matthew Woehlke.
-
- Arrange for "make check-root" to run the new root-only test.
- * tests/Makefile.am (t9): New target, to run tests/cp/cp-a-selinux.
- (all_t): Add t9.
-
- * Makefile.maint (patch-check): Use patch with its -p2 option,
- since that makes this check slightly more strict.
-
- Use a directory on a loopback device mounted with -o context=...
- * tests/cp/cp-a-selinux: Since this test now runs mount and umount,
- it is a root-only one.
-
-2007-01-29 Jim Meyering <jim@meyering.net>
-
- Plug a leak in ls.
- * src/ls.c (print_dir): Don't leak a "DIR"+fd upon failure to
- determine dev/inode or upon detecting a symlink loop.
-
- * src/ls.c: Rename three global variables.
- (cwd_file): Rename from 'files'.
- (cwd_n_alloc): Rename from 'nfiles'.
- (cwd_n_used): Rename from 'files_index'.
-
- Shave 8 bytes off the size of "struct fileinfo".
- * src/ls.c (fileinfo): Put all members of type "bool" together.
-
-2007-01-28 Paul Eggert <eggert@cs.ucla.edu>
-
- Modify "ls" to sort its data faster, using the new gnulib mpsort
- module rather than qsort. This is particularly a win in
- environments where strcoll is slow, since mpsort typically calls
- strcoll less often than qsort does.
- * bootstrap.conf (gnulib_modules): Add mpsort.
- * src/ls.c: Include mpsort.h.
- (sorted_file, sorted_file_alloc): New vars, for a new vector of
- pointers to the file info, for speed.
- (clear_files, extract_dirs_from_files, sort_files, print_current_files):
- (print_many_per_line, print_horizontal, print_with_commas):
- (calculate_columns): Set and use new vector.
- (initialize_ordering_vector): New function.
-
-2007-01-26 Paul Eggert <eggert@cs.ucla.edu>
-
- Adjust to today's change to gnulib, which added a module for
- string.h to replace the little include files like strcase.h.
- * src/dircolors.c: Don't include strcase.h.
- * src/system.h: Don't include mempcpy.h, memrchr.h, stpcpy.h, strpbrk.h.
-
-2007-01-26 Jim Meyering <jim@meyering.net>
-
- * src/dd.c (advance_input_after_read_error): Change diagnostic to
- say "invalid file offset" rather than "screwy file offset".
-
- * .x-sc_cast_of_argument_to_free: Remove this file.
- * Makefile.am (EXTRA_DIST): Likewise.
-
-2007-01-25 Dan Hipschman <dsh@linux.ucla.edu>
-
- * src/sort.c (create_temp): Remove superfluous access-X_OK
- check. find_in_path does this for us.
-
-2007-01-24 Jim Meyering <jim@meyering.net>
-
- Remove usually-skipped test.
- * tests/cp/open-perm-race: Remove this file. It is subsumed
- by parent-perm-race.
- * tests/cp/Makefile.am (TESTS): Remove open-perm-race.
- * tests/sort/Makefile.am: Regenerate.
-
- Pass "make distcheck" again.
- * src/sort.c (usage): Split a diagnostic that had grown to be
- longer than the C89 maximum of 509 bytes.
- * .x-sc_cast_of_argument_to_free: New file. Allow a cast in sort.c.
- FIXME: this is just temporary, while we wait to remove the offending
- access-calling code.
- * Makefile.am (EXTRA_DIST): Add .x-sc_cast_of_argument_to_free.
- * Makefile.maint (sc_cast_of_argument_to_free): Use the
- canonical, $$($(CVS_LIST_EXCEPT)).
- * m4/.gitignore, m4/.cvsignore, lib/.gitignore, lib/.cvsignore: Update.
-
-2007-01-24 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: New option sort -C, proposed by XCU ERN 127, which looks
- like it will be approved. Also add --check=quiet, --check=silent
- as long aliases, and --check=diagnose-first as an alias for -c.
- * doc/coreutils.texi (sort invocation): Document this.
- Also, mention that sort -c can take at most one file.
- * src/sort.c: Implement this.
- Include argmatch.h.
- (usage): Document the change.
- (CHECK_OPTION): New constant.
- (long_options): --check now takes an optional argument, and is now
- treated differently from 'c'.
- (check_args, check_types): New constant arrays.
- (check): New arg CHECKONLY, which suppresses diagnostic if -C.
- (main): Parse the new options.
- * tests/sort/Test.pm (02d, 02d, incompat5, incompat6):
- New tests for -C.
-
-2007-01-24 Jim Meyering <jim@meyering.net>
-
- Fix a typo.
- * tests/misc/sort-compress: Use $abs_top_builddir, not $top_builddir.
- * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Likewise.
-
- Don't depend on "which".
- * tests/misc/sort-compress (SORT): Use $abs_builddir, now which.
- * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Export top_builddir.
-
-2007-01-24 Dan Hipschman <dsh@linux.ucla.edu>
-
- Test sort compression.
- * tests/misc/Makefile.am: Add the test.
- * tests/misc/sort-compress: New file containing the tests.
-
-2007-01-24 Jim Meyering <jim@meyering.net>
-
- * NEWS: sort temp file compression: tweak wording.
- * src/sort.c (struct sortfile) [name]: Declare member to be const.
-
-2007-01-21 Jim Meyering <jim@meyering.net>
-
- * src/sort.c (MAX_FORK_RETRIES_COMPRESS, MAX_FORK_RETRIES_DECOMPRESS):
- In pipe_fork callers, use these named constants, not "2" and "8".
- (proctab, nprocs): Declare to be "static".
- (pipe_fork) [lint]: Initialize local, pid,
- to avoid unwarranted may-be-used-uninitialized warning.
- (create_temp): Use the active voice. Describe parameters, too.
-
-2007-01-21 James Youngman <jay@gnu.org>
-
- Centralize all the uses of sigprocmask(). Don't restore an invalid
- saved mask.
- * src/sort.c (enter_cs, leave_cs): New functions for protecting
- code sequences against signal delivery.
- * (exit_cleanup): Use enter_cs and leave_cs instead of
- calling sigprocmask directly.
- (create_temp_file, pipe_fork, zaptemp): Likewise
-
-2007-01-21 Dan Hipschman <dsh@linux.ucla.edu>
-
- Add compression of temp files to sort.
- * NEWS: Mention this.
- * bootstrap.conf: Import findprog.
- * configure.ac: Add AC_FUNC_FORK.
- * doc/coreutils.texi: Document GNUSORT_COMPRESSOR environment
- variable.
- * src/sort.c (compress_program): New global, holds the name of the
- external compression program.
- (struct sortfile): New type used by mergepfs and friends instead
- of filenames to hold PIDs of compressor processes.
- (proctab): New global, holds compressor PIDs on which to wait.
- (enum procstate, struct procnode): New types used by proctab.
- (proctab_hasher, proctab_comparator): New functions for proctab.
- (nprocs): New global, number of forked but unreaped children.
- (reap, reap_some): New function, wait for/cleanup forked processes.
- (register_proc, update_proc, wait_proc): New functions for adding,
- modifying and removing proctab entries.
- (create_temp_file): Change parameter type to pointer to file
- descriptor, and return type to pointer to struct tempnode.
- (dup2_or_die): New function used in create_temp and open_temp.
- (pipe_fork): New function, creates a pipe and child process.
- (create_temp): Creates a temp file and possibly a compression
- program to which we filter output.
- (open_temp): Opens a compressed temp file and creates a
- decompression process through which to filter the input.
- (mergefps): Change FILES parameter type to struct sortfile array
- and update access accordingly. Use open_temp and reap_some.
- (avoid_trashing_input, merge): Change FILES parameter like
- mergefps and call create_temp instead of create_temp_file.
- (sort): Call create_temp instead of create_temp_file.
- Use reap_some.
- (avoid_trashing_input, merge, sort, main): Adapt to mergefps.
-
- The idea of compressing sorts temporary files was first
- suggested/implemented by Jay Soffian in 1998, and again
- by Charles Randall in 2001.
-
-2007-01-20 Jim Meyering <jim@meyering.net>
-
- * tests/misc/pwd-long: Work properly even when run from the
- wrong one of two or more bind-mounted sibling directories.
- Suggestion from Mike Stone in <http://bugs.debian.org/380552>.
-
-2007-01-20 Paul Eggert <eggert@cs.ucla.edu>
-
- Standardize on list of signals when an app catches signals.
- * src/csplit.c (main): Also catch SIGALRM, SIGPIPE, SIGPOLL,
- SIGPROF, SIGVTALRM, SIGXCPU, SIGXFSZ.
- * src/ls.c (main): Likewise (except SIGPIPE was already caught).
- Note that ls.c is special, as it also catches SIGTSTP.
- * src/sort.c (main): Likewise. Also catch SIGQUIT. More details in
- <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9510>.
-
-2007-01-19 Dan Hipschman <dsh@linux.ucla.edu>
- and Paul Eggert <eggert@cs.ucla.edu>
-
- * src/sort.c (cleanup): Clear temphead at the end.
- (exit_cleanup): New function.
- (main): Don't invoke atexit until we're ready.
- Invoke it with exit_cleanup, not with cleanup and close_stdout,
- to avoid a race condition with cleanup and signal handling. More
- details: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9508
-
-2007-01-18 Jim Meyering <jim@meyering.net>
-
- * src/c99-to-c89.diff: Adjust remove.c offsets.
-
-2007-01-17 Jim Meyering <jim@meyering.net>
-
- Make "rm --interactive=never ..." never prompt.
- * NEWS: Mention this.
- * src/remove.h (enum rm_interactive): New ternary type.
- (struct rm_options) [interactive]: Use it, here -- rather than bool.
- * src/remove.c (prompt): Reflect type change.
- * src/mv.c (rm_option_init): Initialize to RMI_NEVER now.
- * src/rm.c (main): Add a FIXME comment for '-d' option.
- Adapt to type change of rm_options.interactive.
-
- * tests/rm/i-never: New file. Test for the above fix.
- * tests/rm/Makefile.am (TESTS): Add i-never.
-
-2007-01-15 Jim Meyering <jim@meyering.net>
-
- * bootstrap (gnulib_tool): When adding to .cvsignore and .gitignore,
- emit foo.h, for each foo_.h. This yields one false-positive, fts.h,
- but that's ok, since fts_.h will eventually be renamed.
-
- * src/remove.c (remove_dir): Don't use errno in diagnostic.
- Root-only test failure reported by Alex van Hout and Jon Grosshart in
- <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9415/focus=9415>.
-
- * bootstrap.conf (avoided_gnulib_modules): Fix my typo:
- s/--avoid=canonicalize-lgpl/--avoid=canonicalize-gpl/
-
-2007-01-14 Bruno Haible <bruno@clisp.org>
-
- Enable use of gnulib's new fchdir module.
- * bootstrap.conf (avoided_gnulib_modules): Avoid canonicalize-lgpl,
- since we use canonicalize.
- (gnulib_modules): Add fchdir.
- * m4/jm-macros.m4 (coreutils_MACROS): Remove fchdir-stub.
-
-2007-01-13 Jim Meyering <jim@meyering.net>
-
- * tests/cp/open-perm-race: Remove gdb-based test.
- It would run only when compiled with -g, and besides is now
- subsumed by file-perm-race.
- * tests/cp/Makefile.am (TESTS): Remove open-perm-race.
-
- * Transform all Makefile.am files so that when running "make check",
- CU_TEST_NAME is set to the name of the test. This is so that when I
- run valgrind-enabled (--log-file-qualifier=CU_TEST_NAME) "make check"
- on the entire package it is more convenient to map a leak or error
- found in a valgrind log file back to the offending test.
- Use this command:
- (echo tests/Makefile.am.in; find tests -name Makefile.am) \
- |xargs perl -pi -e '/^(\s*)PATH=...VG_PATH_PREFIX/ and ' \
- -e 'print $1,q|CU_TEST_NAME=`basename $(abs_srcdir)`,$$tst |,"\\\n"'
-
-2007-01-11 Jim Meyering <jim@meyering.net>
-
- Avoid a leak in expr's implementation of the ":" (match) operator.
- * src/expr.c (docolon): Free the regexp buffer using regfree, rather
- than doing it manually, being careful to set fastmap to NULL first.
- Free any re_regs.start and .end members, if necessary.
-
- * tests/misc/test-diag: Work also when libc's error function
- reports the entire program name ("../../src/test"), rather than
- just the final component.
-
-2007-01-10 Jim Meyering <jim@meyering.net>
-
- Don't use fts_statp uninitialized for "chown -RLh --preserve-root ...".
- * src/chown-core.c (FTSENT_IS_DIRECTORY): New macro.
- (change_file_owner): Perform the ROOT_DEV_INO_CHECK only for a
- directory. Non-directory entries lack fts_statp data when using
- the FTS_NOSTAT option.
-
-2007-01-07 Jim Meyering <jim@meyering.net>
-
- * tests/sample-test: Update copyright date to 2007.
- * Makefile.maint (copyright-check): Also check the copyright date
- in tests/sample-test.
-
-2007-01-06 Jim Meyering <jim@meyering.net>
-
- * tests/fmt/basic (pfx-only, pfx-of-pfx): New tests,
- based on examples from G.P. Halkes in
- <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9388>.
-
-2007-01-06 G.P. Halkes <buscom@ghalkes.nl>
-
- * src/fmt.c (copy_rest): Correct prefix handling.
- Don't elide a line with the prefix followed by only white space.
- (get_line): Move EOF-check to loop-termination condition.
- * tests/fmt/basic (pfx-1): Adjust test to expect desired result.
- (pfx-2): Remove test; its premise was contrary to the documentation.
-
-2007-01-05 Jim Meyering <jim@meyering.net>
-
- Avoid a used-uninitialized bug for invalid input, i.e., when the size
- of the input, not counting newlines, is 1 % 4.
- * gl/lib/base64.c (base64_decode): Don't hard-code inlen==4.
- It may be smaller when flushing.
-
-2007-01-05 Mike Frysinger <vapier@gentoo.org>
-
- * src/dircolors.hin: Add a TERM directive for cons25.
-
-2007-01-04 Jim Meyering <jim@meyering.net>
-
- * Makefile.cfg (local-checks-to-skip): Skip strftime-check, in
- case you don't have convenient access to glibc info documentation.
-
- Use the release year, not the current year.
- * src/groups.sh (version): Use a better name: @RELEASE_YEAR@.
- * src/Makefile.am (RELEASE_YEAR): Define it.
- (.sh): Use it.
- Thanks to a prod from Eric Blake.
-
- Ensure that "group --version" always prints the current year.
- * src/groups.sh (version): Use @CURRENT_YEAR@, rather than 2006.
- * src/Makefile.am (.sh): Also substitute for @CURRENT_YEAR@.
- Suggestion from Eric Blake.
-
- When decoding, always allow newlines in input, with almost no
- performance impact.
- * src/base64.c (do_decode): Initialize decode context.
- Call base64_decode one more time, after all input is processed.
- (usage): When decoding, newlines are always accepted.
-
- * tests/misc/base64: Add a bunch of tests, for the above.
- * gl/lib/base64.c: Include <string.h>.
- (base64_decode_ctx_init, get_4, decode_4): New functions.
- (base64_decode): Efficiently handle interspersed newlines.
- (base64_decode_alloc): Update signature.
- * gl/lib/base64.h (struct base64_decode_context): Define.
- (base64_decode_ctx_init): Add prototype.
- (base64_decode, base64_decode_alloc): Update prototypes.
-
- * gl/lib/base64.c: Copied from gnulib.
- * gl/lib/base64.h: Likewise.
-
-2007-01-03 Jim Meyering <jim@meyering.net>
-
- * THANKS: Add Evan Hunt.
-
-2007-01-03 Bruno Haible <bruno@clisp.org>
-
- Avoid spurious test failures on MacOS X 10.3.9, in a German locale.
- * tests/chown/deref: Apply lang-default.
- * tests/misc/split-a: Likewise.
- * tests/mv/reply-no: Likewise.
-
- * src/copy.c (copy_internal): Use mkfifo as a fallback if mknod fails.
- Needed on MacOS X.
-
-2007-01-02 Paul Eggert <eggert@cs.ucla.edu>
-
- Now, "ls -FRL" always follows symbolic links on Linux.
- * NEWS: Mention this bug fix.
- * src/ls.c (gobble_file): Fix bug reported by
- Nobuyuki Tsuchimura in
- http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00152.html
- where "ls -FRL" didn't follow a symbolic link in some cases on Linux.
- * tests/ls/follow-slink: Add a test for this case.
-
-2007-01-01 Jim Meyering <jim@meyering.net>
-
- * tests/rm/fail-eperm: Revert last change. The PATH=... setting
- is not honored at least on HP-UX 11.23 systems.
- Instead, simply transform the actual output diagnostic.
- Test failure reported by Bob Proulx.
-
-2006-12-30 Jim Meyering <jim@meyering.net>
-
- * bootstrap (gnulib_extra_files): Remove announce-gen.
- * bootstrap.conf (gnulib_modules): Add it here instead, now that
- it's a module.
-
- * tests/misc/base64: Factor a long, repetitive string.
-
- * src/c99-to-c89.diff: Adjust remove.c offsets.
-
- Clean up after the change of 2006-12-28.
- * src/remove.c (AD_pop_and_chdir): Change **DIRP parameter to *DIRP,
- now that this function never modifies the pointer. Adjust comments
- and code accordingly.
- (remove_dir): Set "dirp" to NULL right after AD_pop_and_chdir call,
- now that AD_pop_and_chdir no longer does that.
-
- * tests/rm/fail-eperm: Avoid spurious differences (the error function
- from latest glibc no longer prints the full program_name): so don't
- invoke rm via ../../src/rm. Instead, invoke it via "PATH=../../src rm".
-
- * tests/mv/acl (skip): Skip this test also if the destination
- directory, which is on a different file system, lacks ACL support.
-
- * src/copy.c (copy_reg): Rewrite a comment that was rendered
- inaccurate by the 2006-10-18 change.
-
-2006-12-28 Jim Meyering <jim@meyering.net>
-
- When moving "up" the hierarchy, be careful to remove a just-emptied
- directory before opening ".", to avoid trouble with file system
- implementations that cache readdir results at opendir-time.
- * src/remove.c (AD_pop_and_chdir): Add a file descriptor parameter.
- Don't update **DIRP. Don't call fdopendir here.
- (remove_dir): Call fdopendir here instead.
- Report and patch from Mikulas Patocka:
- <http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00170.html>
-
-2006-12-27 Jim Meyering <jim@meyering.net>
-
- * src/tail.c (usage): Mention +N for --bytes and --lines.
- Suggestion from Evan Hunt.
-
-2006-12-26 Jim Meyering <jim@meyering.net>
-
- * configure.ac: Require autoconf-2.61 and automake-1.10.
- Without the former (even with autoconf-2.60), "make distcheck"
- would fail (without the 2006-09-26 autoconf AC_CHECK_DECL fix),
- due to an inttypes.h generated with CFLAGS including -pedantic.
- With the old decl check, @HAVE_DECL_STRTOUMAX@ would be 0.
-
- * Makefile.maint (VC-tag): Define, so as to gpg-sign each release
- tag, using the release version number as the message.
- (vc-dist): Use $(VC-tag), rather than "$(VC) tag".
-
-2006-12-21 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: dd bs= operands now silently override later ibs= and obs=,
- as POSIX requires.
- * src/dd.c (scanargs): Implement it.
- * tests/dd/misc (outbytes): Test it.
- * doc/coreutils.texi (dd invocation): Specify that bs=N
- overrides later ibs and obs, undoing part of the
- previous change. (The behavior was wrong.)
-
-2006-12-20 Jim Meyering <jim@meyering.net>
-
- "rm -rf /etc/motd" (run by non-root) now prints a diagnostic.
- * src/remove.c (remove_entry): Handle EACCES for a non-directory, too.
- Don't let a non-directory get by with errno == EPERM, either.
- Check the file type directly (using cached stat value), rather
- than trying to guess it from errno values.
- Karl Berry reported that a cross-partition "mv /etc/issue ~"
- failed with the um,... suboptimal diagnostic,
- "mv: cannot remove `/etc/issue': Not a directory".
- * tests/rm/Makefile.am (TESTS): Add fail-eacces.
- * tests/rm/fail-eacces: New file.
- * NEWS: Mention that both mv and rm are affected.
-
- "cut -f 2- A B" no longer triggers a double-free bug
- * src/cut.c (cut_fields): Set file-scoped global to NULL after
- freeing it. This avoids a double-free (and core dump on some systems)
- for this usage: "echo 1>a; echo 2>b; cut -f2- a b". Reported by
- James Hunt in <http://bugzilla.redhat.com/220312>.
- * NEWS: List this bug fix.
- * THANKS: Mention him.
- * tests/misc/cut: New file.
- * tests/misc/Makefile.am (TESTS): Add cut.
-
-2006-12-15 Jim Meyering <jim@meyering.net>
-
- * tests/cp/open-perm-race: Correct the gdb-existence check.
- Don't run either subsequent gdb command in a sub-shell.
- Reported by Thomas Schwinge.
- * THANKS: bring up to date.
-
-2006-12-14 Paul Eggert <eggert@cs.ucla.edu>
-
- Make sure cp -p isn't too generous with file permissions.
- * tests/cp/Makefile.am (TESTS): Add file-perm-race.
- * tests/cp/file-perm-race: New file.
-
- Ensure cp -pR --parents isn't too generous with parent permissions.
- * tests/cp/Makefile.am (TESTS): Add parent-perm-race.
- * tests/cp/parent-perm-race: New file.
-
-2006-12-14 Jim Meyering <jim@meyering.net>
-
- * tests/chgrp/default-no-deref: Don't assume that files are created
- with the primary group by default. That's not true in a directory
- with the set-GID bit set.
-
- Don't hang when there's no input tty.
- * tests/cp/open-perm-race: Skip this test if there is no
- controlling input `terminal'.
-
- Test for a hard-to-detect race fix, using gdb.
- * tests/cp/open-perm-race: New file, to test for the
- cp --preserve=ownership fix of 2006-12-06.
-
- * tests/cp/Makefile.am (TESTS_ENVIRONMENT): Define abs_top_builddir.
- (TESTS): Add open-perm-race.
-
- * src/chgrp.c (main): Don't prohibit -RLh, aka -RL with --no-dereference.
- * src/chown.c (main): Likewise.
- * src/chown-core.c (change_file_owner): Add to a comment.
- * tests/chown/preserve-root: Add tests.
-
- * NEWS: --preserve-root now works with chgrp, chmod, and chown.
- * src/chmod.c (process_file): Do honor the --preserve-root option.
- * src/chown-core.c (change_file_owner): Likewise, but here, also
- handle the case in which a traversal would go "through" a symlink
- to root. Reported by Matthew M. Boedicker
- * tests/chown/preserve-root: Test for the above.
- * tests/chown/Makefile.am (TESTS): Add preserve-root.
-
- * NEWS: Mention the chmod fix induced by the 2006-12-11 change
- to gnulib's m4/openat.m4.
-
-2006-12-13 Andreas Schwab <schwab@suse.de>
-
- Don't fail if mv/acl test succeeds.
- * tests/mv/acl (skip): Check for acl support in the file system.
- * tests/mv/Makefile.am (XFAIL_TESTS): Remove.
- (TESTS_ENVIRONMENT): Pass CONFIG_HEADER.
-
-2006-12-13 Paul Eggert <eggert@cs.ucla.edu>
-
- Remove some arbitrary restrictions on size fields, so that
- commands like "sort -k 18446744073709551616" no longer fail merely
- because 18446744073709551616 doesn't fit in uintmax_t. The trick
- is that these fields can all be treated as effectively infinity;
- their exact values don't matter, since no internal buffer can be
- that long.
- * src/join.c (string_to_join_field): Verify that SIZE_MAX <=
- ULONG_MAX if the code assumes this. Silently truncate too-large
- values to SIZE_MAX, as the remaining code will do the right thing
- in this case.
- * src/sort.c (parse_field_count): Likewise.
- * src/uniq.c (size_opt, main): Likewise.
- * tests/join/Test.pm (bigfield): New test.
- * tests/sort/Test.pm (bigfield): New test.
- * tests/uniq/Test.pm (121): New test.
-
-2006-12-13 Jim Meyering <jim@meyering.net>
-
- * tests/chgrp/default-no-deref: New test.
- * tests/chgrp/Makefile.am (TESTS): Add default-no-deref.
-
-2006-12-12 Jim Meyering <jim@meyering.net>
-
- * src/system.h (SETVBUF): Remove definition, now that the
- autoconf macro, AC_FUNC_SETVBUF_REVERSED, does nothing.
- * src/tee.c (tee_files): s/SETVBUF/setvbuf/.
- * src/od.c (open_next_file): Likewise.
-
-2006-12-09 Jim Meyering <jim@meyering.net>
-
- * man/Makefile.am (.x.1): Make help2man use $(PACKAGE_STRING) as the
- "source". I.e. "GNU coreutils 6.7".
-
- * NEWS: With the change from "-pre" to "-dirty" suffix, also change
- from NEXT_VER-pre to CUR_VER-dirty. So, this is 6.7-dirty.
- * configure.ac (AC_INIT): s/6.8-dirty/6.7-dirty/.
-
- * tests/uniq/Test.pm (test_vector): Skip the pipe-reading test
- whenever uniq is expected to fail. This should catch the other case
- [test #112] in which uniq emits "cat: write error: Broken pipe" on
- some systems.
-
-2006-12-08 Jim Meyering <jim@meyering.net>
-
- Include bootstrap tool version info in the announcement form.
- * Makefile.maint (gnulib_snapshot_date): Define.
- (announcement): Use two new announce-gen options,
- --bootstrap-tools and --gnulib-snapshot-date.
- * Makefile.cfg (gnulib_dir): Set.
-
- Post-release version change.
- * NEWS: Add a line for 6.8-dirty.
- * configure.ac (AC_INIT): Set new version string.
-
-2006-12-07 Jim Meyering jim@meyering.net
-
- Version 6.7.
- * NEWS: Record release date. Remove '-pre' suffix.
- * configure.ac (AC_INIT): Remove version string suffix.
-
-2006-12-07 Jim Meyering <jim@meyering.net>
-
- Make the output of "make check" more reproducible.
- * tests/touch/empty-file: Use envvar-check, so "make check" doesn't
- evoke diagnostics like this when COLUMNS=0 in the environment:
- ls: ignoring invalid width in environment variable COLUMNS: 0
- * tests/touch/no-rights: Likewise.
- * tests/help-version: Likewise.
- * tests/uniq/Test.pm: Don't perform the pipe-reading version of test
- 118, since it emits "cat: write error: Broken pipe" on some systems.
-
-2006-12-06 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: Document the cp -p fix for special bits.
- * src/copy.c (set_owner): Now returns a three-way result, so
- that the caller can clear the special bits. All callers changed.
- (copy_reg): Don't set the special bits if chown failed.
- (copy_internal): Likewise.
- * tests/cp/special-bits: Test this fix.
-
-2006-12-06 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: Document the cp --preserve=ownership fix.
- * m4/jm-macros.m4 (coreutils_MACROS): Check for fchmod.
- * src/copy.c (fchmod_or_lchmod): New function.
- (copy_reg): New arg OMITTED_PERMISSIONS. All uses changed.
- Omit confusing and unused ", dst_mode" arg to 'open' without O_CREAT.
- When creating a file, use O_EXCL, so we're more likely to detect
- funny business by other processes. At the end, if permissions
- were omitted, chmod them back in.
- (copy_internal): If the ownership might change, omit some permissions
- at first, then restore them after chowning the file.
- * src/cp.c (make_dir_parents_private): Likewise.
- * src/copy.c (cached_umask): New function.
- * src/copy.h (cached_umask): New decl.
-
-2006-12-06 Jim Meyering <jim@meyering.net>
-
- Make the output of "make check" more reproducible.
- * tests/misc/date-sec: Don't emit any diagnostic about sleeping.
-
-2006-12-03 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/install.c (install_file_in_file): Preserve time stamps
- before changing owner or file mode bits, for consistency with
- other coreutils programs.
-
-2006-12-03 Jim Meyering <jim@meyering.net>
-
- * tests/misc/date-sec: Output a fixed string.
-
- * NEWS: du --one-file-system (-x) would skip subdirectories of any
- directory listed as second or subsequent command line argument.
- * tests/du/one-file-system: New file. Test for today's fts.c fix.
- * tests/du/Makefile.am (TESTS): Add one-file-system.
- Reported by Mike Frysinger.
-
-2006-12-02 Jim Meyering <jim@meyering.net>
-
- * tests/du/basic: Generate 4KB file simply using printf, rather than
- seq+head. This avoids a spurious "Broken pipe" diagnostic from seq.
-
-2006-11-28 Jim Meyering <jim@meyering.net>
-
- * tests/mv/no-target-dir: Detect a buggy rename syscall. If found,
- skip this test. This happens at least on ia64 linux-2.4.19 w/ext3.
- Reported by Matthew Woehlke.
-
- * tests/mv/dir2dir: Also accept EBUSY.
- Reported by Matthew Woehlke.
-
-2006-11-27 Jim Meyering <jim@meyering.net>
-
- * Makefile.maint (patch-check): Rewrite to diagnose failure.
- * src/c99-to-c89.diff: Adjust shred.c offsets.
-
-2006-11-26 Paul Eggert <eggert@cs.ucla.edu>
-
- Improve the check for departures from C89, and fix the departures
- I found.
- * Makefile.maint (my-distcheck): Also check for C89 compatibility
- as best we can with GCC.
- * src/stat.c (PRINTF_OPTION): Omit comma before } in enum
- declaration; C89 doesn't allow this.
- * src/dcgen: Don't generate string literals longer than
- what C89 requires support for.
- * src/cut.c (usage): Don't use string literals longer than
- what C89 requires support for.
- * src/date.c (usage): Likewise.
- * src/dd.c (usage): Likewise.
- * src/du.c (usage): Likewise.
- * src/ls.c (usage): Likewise.
- * src/od.c (usage): Likewise.
- * src/readlink.c (usage): Likewise.
- * src/seq.c (usage): Likewise.
- * src/shred.c (usage): Likewise.
-
-2006-11-26 Mike Frysinger <vapier@gentoo.org>
-
- Recognize new archive, audio and image formats.
- Give audio files a separate color.
- * src/dircolors.hin: Add comments for common .sh and .csh scripts.
- Add .bz2, .tbz2, .tz, .rar, .ace, .zoo, .cpio, .7z, .rz as archive
- suffixes. Add .mng, .pcx, .m2v, .mkv, .ogm, .mp4, .m4v, .mp4v, .vob,
- .qt, .nuv, .wmv, .asf, .rm, .rmvb, .flc, .yuv as image formats.
- Add .aac, .au, .mid, .midi, .mka, .ra as audio suffixes. Change
- audio color to 00;36 to differentiate from image/video color.
-
-2006-11-26 Jim Meyering <jim@meyering.net>
-
- * Makefile.maint (patch-check): Compile patched sources with
- CFLAGS='-Wdeclaration-after-statement -Werror', to ensure that
- no violations remain.
-
- * src/c99-to-c89.diff: Remove 3 bogus hunks.
-
- * src/remove.c (fd_to_subdirp): Remove unused parameter, ds.
- Update callers.
-
- * src/c99-to-c89.diff: Adjust for changes in rm.c and in remove.c.
-
- * src/rm.c (main): Remove unnecessary (assuming C99) braces.
-
-2006-11-26 Paul Eggert <eggert@cs.ucla.edu>
-
- Port parts of the code to C89 to minimize the need for c99-to-c89.diff,
- while trying to retain the readability of C99 as much as possible.
- * src/remove.c (rm_1): Remove decl of local, fd_cwd.
- Replace each of two uses with literal AT_FDCWD.
- (cache_stat_init): Return its argument, for convenience.
- Update the caller in remove_dir.
- (AD_pop_and_chdir): Return prev_dir rather than storing through
- a pointer argument. All uses changed.
- (AD_ensure_initialized): New function.
- (AD_mark_helper): Use it, to avoid the need for declaration
- after statement.
- (rm): Move cycle_check_init call into callee...
- (rm_1): ...here.
- Use an else clause in place of a "continue" statement.
- (close_preserve_errno): Remove.
- (fd_to_subdirp): Rewrite to avoid the need for decl after statement.
-
-2006-11-25 Jim Meyering <jim@meyering.net>
-
- * Makefile.am (EXTRA_DIST): Remove announce-gen from here, too.
-
-2006-11-24 Theodoros V. Kalamatianos <thkala@softlab.ece.ntua.gr> (tiny change)
-
- * tests/du/inacc-dest: Skip this test when running as root.
-
-2006-11-23 Jim Meyering <jim@meyering.net>
-
- * announce-gen: Remove file. It's moving to gnulib.
- * bootstrap: Pull it from gnulib/build-aux instead.
- * Makefile.maint (announcement): Reflect move to ./build-aux.
-
- * tests/du/deref-args: Use "printf %65536s x" to create a 64KB file,
- rather than a pipeline that would sometimes evoke a diagnostic
- like "seq: write error: Broken pipe".
-
- * tests/help-version: Suppress dd transfer rate output.
-
- * configure.ac (AC_INIT): Bump to 6.7-pre, not 6.6-pre.
-
-2006-11-22 Jim Meyering <jim@meyering.net>
-
- * announce-gen (print_news_deltas): Fix silly, but harmless typo:
- change "(:?..." to "(?:..." in regexps.
-
- Post-release version change.
- * NEWS: Add a line for 6.7-pre.
- * configure.ac (AC_INIT): Bump to 6.7 and add "-pre" suffix.
-
- Version 6.6.
- * NEWS: Record release date. Remove "-pre" suffix.
- * configure.ac (AC_INIT): Remove "-pre" suffix from version string.
-
- * announce-gen: Remove unused --release-archive-directory option.
- (print_news_deltas): Accept new adjective, "Noteworthy", in addition
- to the old "Major".
- Match version numbers in NEWS using tighter regular expressions.
- (main): Require the --gpg-key-id=ID option.
- * Makefile.maint (announcement): Don't use now-removed
- --release-archive-directory=... option.
-
- * NEWS: Mention the three noteworthy changes, all fixed via gnulib.
-
-2006-11-21 Jim Meyering <jim@meyering.net>
-
- * tests/rm/one-file-system: Upon setup failure (e.g., mount failure),
- skip the test rather than failing. Reported by Michael Deutschmann.
-
- * tests/rm/fail-eperm: Use the "(exit N); exit N" idiom,
- rather than just "exit N".
-
- Arrange for "make check-root" to run the new root-only test.
- * tests/Makefile.am (t7): New target, to run tests/ls/nameless-uid.
- (all_t): Add t7.
-
-2006-11-20 Jim Meyering <jim@meyering.net>
-
- Add a root-only test for today's lib/idcache.c fix.
- * tests/ls/nameless-uid: New file.
- * tests/ls/Makefile.am (TESTS): Add nameless-uid.
- (TESTS_ENVIRONMENT): Add PERL to the list.
-
-2006-11-19 Jim Meyering <jim@meyering.net>
-
- * tests/tail-2/assert-2: Mark as a very-expensive test, because I
- find the 7-second sleep annoyingly long. Besides, this test is
- probably far too specific and timing sensitive ever to trigger again.
- * tests/tail-2/assert: Likewise.
-
- Post-release version change.
- * NEWS: Add a line for 6.6-pre.
- * configure.ac (AC_INIT): Bump to 6.6 and add "-pre" suffix.
-
- Version 6.5.
- * NEWS: Record release date. Remove "-cvs" suffix.
- * configure.ac (AC_INIT): Remove "-cvs" suffix from version string.
-
-2006-11-18 Jim Meyering <jim@meyering.net>
-
- "ln --backup f f" produces a misleading diagnostic:
- ln: creating hard link `f' => `f': No such file or directory
- * src/ln.c (do_link): Give a better diagnostic in this unusual case.
- (do_link): Rename local: s/lstat_ok/dest_lstat_ok/.
- * tests/ln/Makefile.am (TESTS): Add hard-backup.
- * tests/ln/hard-backup: New test for the above.
- * NEWS: Mention this fix.
-
-2006-11-16 Paul Eggert <eggert@cs.ucla.edu>
-
- * bootstrap.conf (gnulib_modules): Add sys_stat, since we use it
- directly too.
- * lib/.cvsignore, lib/.gitignore: Add root-dev-ino.c, root-dev-ino.h.
- * m4/.cvsignore, m4/.gitignore: Add root-dev-ino.m4.
- * src/ls.c (DIRED_FPUTS_LITERAL, PUSH_CURRENT_DIRED_POS):
- Omit unnecessary parenthesization of args.
- * src/od.c (EQUAL_BLOCKS): Likewise.
- * src/system.h (STREQ, ASSIGN_STRDUPA): Likewise.
-
-2006-11-16 Jim Meyering <jim@meyering.net>
-
- * tests/tail-2/append-only: If chattr +a fails, exit 77 (to tell
- automake we're skipping this test), and give a diagnostic to tell
- the user the same thing. Reported by Mike Grayson.
-
-2006-11-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * man/Makefile.am (dist_man_MANS): Replace all optional manpages
- with `$(MAN)', computed at configure time; also, list them ...
- (optional_mans): ... in this new variable.
- (max_aux, EXTRA_DIST): Ensure that we distribute all manpages.
-
-2006-11-16 Jim Meyering <jim@meyering.net>
-
- Help valgrind see that there is no leak in dd.c.
- * src/dd.c (dd_copy): Declare real_buf and real_obuf to be static,
- so we need not free them at all. This is easier than freeing
- both buffers at each of the early "return"s.
-
- * src/csplit.c (load_buffer): Plug an inconsequential leak.
-
-2006-11-15 Jim Meyering <jim@meyering.net>
-
- * .x-po-check: Exclude gl/ files. Otherwise, po-check would
- complain that some of gl/lib/*.[ch] are not listed in POTFILES.in.
-
-2006-11-14 Jim Meyering <jim@meyering.net>
-
- * gl/m4/root-dev-ino.m4: Now that this is part of a real "module",
- remove the now-unnecessary use of AC_LIBSOURCES.
-
- Adapt to new version of gnulib-tool.
- * gl/modules/root-dev-ino: New file.
- * lib/root-dev-ino.c, lib/root-dev-ino.h: Move these files ...
- * gl/lib/root-dev-ino.c, gl/lib/root-dev-ino.h: ... to here.
- * m4/root-dev-ino.m4: Move this file ...
- * gl/m4/root-dev-ino.m4: ... to here.
-
- * bootstrap.conf (gnulib_modules): Add root-dev-ino.
-
-2006-11-13 Jim Meyering <jim@meyering.net>
-
- * src/sort.c (insertkey): Use xmemdup, rather than xmalloc+assignment.
- From Paul Eggert.
-
- Plug another technically-unimportant leak in sort.
- * src/sort.c (main): Don't allocate memory for each new key here.
- (insertkey): Allocate memory for each key here, instead.
- (key_init): Rename from new_key. Don't allocate.
-
- * src/sort.c (main): Plug a tiny memory leak.
- Move declaration of local "minus" down to be nearer point of use.
-
-2006-11-12 Jim Meyering <jim@meyering.net>
-
- du would exit early, when encountering an inaccessible directory
- Reported by Mike Frysinger, in
- http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/8831
- * tests/du/inacc-dest: New test, based on an example from Mike Frysinger.
- * tests/chgrp/no-x: Remove the "fts_read failed: ..."
- diagnostic from the expected output when using native fdopendir.
- * tests/chmod/no-x: Likewise.
- * tests/du/no-x: Likewise.
- * NEWS: Mention this bug fix.
- * tests/du/Makefile.am (TESTS): Add inacc-dest.
-
- * Makefile.maint (sc_cast_of_x_alloc_return_value): Add an exclusion
- for xalloc.h itself.
-
- Avoid false-positive when testing via valgrind.
- * tests/mv/atomic: Grep strace output for a more specific pattern
- than just "unlink", since that got a false positive when testing
- under valgrind: unlink("/tmp/valgrind_proc_9657_cmdline_A51E9991") = 0
- * tests/mv/Makefile.am (TESTS_ENVIRONMENT): Define EGREP.
-
-2006-10-28 Jim Meyering <jim@meyering.net>
-
- * Makefile.maint (patch-check): Make it easier to regenerate
- the src/c99-to-c89.diff file. E.g., I do this:
- make patch-check REGEN_PATCH=1; ediff src/c99-to-c89.diff new-diff
-
- * src/c99-to-c89.diff: Update to reflect new offsets in rm.c.
-
-2006-10-26 Jim Meyering <jim@meyering.net>
-
- * src/system.h (ftello): Add a compile-time check for the highly
- unlikely condition of off_t narrower than long int, rather than
- handling it at run time. Based on a patch from Paul Eggert.
-
-2006-10-25 Paul Eggert <eggert@cs.ucla.edu>
-
- * tests/chmod/c-option: When double-quoting part of a word, prefer
- to double-quote the whole word. This is a bit easier to read (at
- least for me), and in some cases it avoids a shell bug with Tru64
- 4.0 sh reported by Nelson H. F. Beebe. For example, instead of
- "$abs_srcdir"/../setgid-check we now write
- "$abs_srcdir/../setgid-check".
- * tests/cp/cp-parents: Likewise.
- * tests/du/inaccessible-cwd: Likewise.
- * tests/du/long-from-unreadable: Likewise.
- * tests/install/basic-1: Likewise.
- * tests/install/trap: Likewise.
- * tests/misc/close-stdout: Likewise.
- * tests/mkdir/concurrent-1: Likewise.
- * tests/mkdir/p-1: Likewise.
- * tests/mkdir/p-3: Likewise.
- * tests/mkdir/parents: Likewise.
- * tests/mkdir/perm: Likewise.
- * tests/readlink/can-e: Likewise.
- * tests/readlink/can-f: Likewise.
- * tests/readlink/can-m: Likewise.
- * tests/rm/inaccessible: Likewise.
- * tests/rm/unread3: Likewise.
- * tests/touch/no-create-missing: Likewise.
-
- * lib/.cvsignore: Add uinttostr.c.
-
-2006-10-25 Jim Meyering <jim@meyering.net>
-
- Portability to Tru64 V4.0.
- * src/system.h (ftello) [!HAVE_FSEEKO && !defined ftello]:
- Define inline replacement function.
- This (along with a yesterday's fix for autoconf's
- _AC_SYS_LARGEFILE_MACRO_VALUE macro) makes it so coreutils
- now builds once more on Tru64 V4.0. Reported by Nelson Beebe.
-
-2006-10-25 Bruno Haible <bruno@clisp.org>
-
- * src/cat.c (infile): Add "const" to declaration.
- * src/csplit.c (prefix): Likewise.
- * src/printf.c (cfcc_msg): Likewise.
- * src/tail.c (valid_file_spec): Likewise.
- * src/cut.c (cut_file): Likewise, for a parameter.
- * src/expr.c (str_value): Likewise.
- * src/fold.c (fold_file): Likewise.
- * src/pr.c (init_header): Likewise.
- * src/dircolors.c (dc_parse_stream): Likewise, for a local.
- * src/tr.c (make_printable_str): Likewise.
- * src/nl.c (body_type, header_type, footer_type, current_type):
- (separator_str, build_type_arg, nl_file): Likewise, for many.
- * src/paste.c (main): Don't assign a read-only string to 'optarg'.
- * src/tac.c (separator, tac_seekable, copy_to_temp): Likewise.
-
-2006-10-25 Jim Meyering <jim@meyering.net>
-
- * tests/sample-test: Update copyright year list to include only
- the current year, since this is what I'll want in any new test.
-
-2006-10-24 Jim Meyering <jim@meyering.net>
-
- * src/c99-to-c89.diff: Update to reflect new offsets.
-
- * NEWS: new feature: rm accepts new option: --one-file-system
- Suggested by Steve McIntyre in <http://bugs.debian.org/392925>.
- * src/remove.h (struct rm_options) [one_file_system]: New member.
- * src/rm.c (rm_option_init): Initialize it.
- (usage): Document the option.
- * src/mv.c (rm_option_init): Likewise.
- * src/remove.c (remove_dir): With --one-file-system and --recursive,
- for each directory command line argument, do not affect a file system
- different from that of the starting directory. And give a diagnostic.
- * src/rm.c (ONE_FILE_SYSTEM): New enum.
- (main): Handle new option.
- * tests/rm/one-file-system: Test the above.
- * tests/rm/Makefile.am (TESTS): Add one-file-system.
- * tests/Makefile.am (check-root): Add the rm/one-file-system
- test to the list.
- (EXTRA_DIST): Add other-fs-tmpdir.
-
- * tests/mv/setup: Removed. Renamed to...
- * tests/other-fs-tmpdir: ...this new file.
- * tests/mv/Makefile.am (EXTRA_DIST): Remove setup.
- * tests/mv/acl: Reflect renaming: use ../other-fs-tmpdir.
- * tests/mv/backup-is-src: Likewise.
- * tests/mv/hard-link-1: Likewise.
- * tests/mv/leak-fd: Likewise.
- * tests/mv/mv-special-1: Likewise.
- * tests/mv/part-fail: Likewise.
- * tests/mv/part-hardlink: Likewise.
- * tests/mv/part-rename: Likewise.
- * tests/mv/part-symlink: Likewise.
- * tests/mv/partition-perm: Likewise.
- * tests/mv/to-symlink: Likewise.
- * tests/mv/into-self-2: Likewise.
-
- Don't let a failure in one test stop "make -k" from running the others.
- * tests/Makefile.am (t1 t2 t3 t4 t5): New targets.
- (check-root): Depend on them, rather than executing the five
- commands in a single rule. Reported by Greg Schafer.
-
-2006-10-23 Bob Proulx <bob@proulx.com> (tiny change)
-
- * Makefile.maint (alpha beta major): Use a better log message for
- the automatic commit of .prev-version.
-
-2006-10-23 Jim Meyering <jim@meyering.net>
-
- * tests/misc/pwd-long: Undo last change, since it made Perl invoke
- pwd via a shell. Instead, ensure that the absolute name of the
- pwd binary consists solely of reasonable characters.
- Whoops. Don't exec the perl script. Otherwise, the sh-trap-based
- clean-up code isn't run.
-
- * NEWS: Add a line for 6.5-cvs.
- * configure.ac (AC_INIT): Bump to 6.5 and add "-cvs" suffix.
-
-2006-10-22 Jim Meyering <jim@meyering.net>
-
- Version 6.4.
-
- * NEWS: Record the 6.4 release date.
- * configure.ac (AC_INIT): Remove "-cvs" suffix from version string.
-
- * Makefile.maint: Complete the adaptation to function with a working
- directory that is using git (rather than cvs) for version control.
-
-2006-10-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * tests/chmod/c-option: Double-quote instances of `$abs_srcdir'.
- * tests/cp/cp-parents: Likewise.
- * tests/mkdir/parents: Likewise.
- * tests/mkdir/perm: Likewise.
-
- * tests/sample-test: Quote variables containing absolute build
- tree paths. In the cleanup trap, make sure `cd' succeeds before
- `chmod'ing and `rm'ing the temporary files.
- * tests/chgrp/basic: Likewise.
- * tests/chgrp/deref: Likewise.
- * tests/chgrp/no-x: Likewise.
- * tests/chgrp/posix-H: Likewise.
- * tests/chgrp/recurse: Likewise.
- * tests/chmod/c-option: Likewise.
- * tests/chmod/equal-x: Likewise.
- * tests/chmod/equals: Likewise.
- * tests/chmod/inaccessible: Likewise.
- * tests/chmod/no-x: Likewise.
- * tests/chmod/octal: Likewise.
- * tests/chmod/setgid: Likewise.
- * tests/chmod/umask-x: Likewise.
- * tests/chmod/usage: Likewise.
- * tests/chown/basic: Likewise.
- * tests/chown/deref: Likewise.
- * tests/chown/separator: Likewise.
- * tests/cp/acl: Likewise.
- * tests/cp/backup-1: Likewise.
- * tests/cp/backup-dir: Likewise.
- * tests/cp/backup-is-src: Likewise.
- * tests/cp/cp-HL: Likewise.
- * tests/cp/cp-deref: Likewise.
- * tests/cp/cp-i: Likewise.
- * tests/cp/cp-mv-backup: Likewise.
- * tests/cp/cp-parents: Likewise.
- * tests/cp/deref-slink: Likewise.
- * tests/cp/dir-rm-dest: Likewise.
- * tests/cp/dir-slash: Likewise.
- * tests/cp/dir-vs-file: Likewise.
- * tests/cp/fail-perm: Likewise.
- * tests/cp/into-self: Likewise.
- * tests/cp/link: Likewise.
- * tests/cp/link-no-deref: Likewise.
- * tests/cp/link-preserve: Likewise.
- * tests/cp/no-deref-link1: Likewise.
- * tests/cp/no-deref-link2: Likewise.
- * tests/cp/no-deref-link3: Likewise.
- * tests/cp/perm: Likewise.
- * tests/cp/preserve-2: Likewise.
- * tests/cp/r-vs-symlink: Likewise.
- * tests/cp/same-file: Likewise.
- * tests/cp/slink-2-slink: Likewise.
- * tests/cp/sparse: Likewise.
- * tests/cp/special-bits: Likewise.
- * tests/cp/src-base-dot: Likewise.
- * tests/cp/symlink-slash: Likewise.
- * tests/dd/not-rewound: Likewise.
- * tests/dd/skip-seek2: Likewise.
- * tests/dd/unblock-sync: Likewise.
- * tests/du/2g: Likewise.
- * tests/du/8gb: Likewise.
- * tests/du/basic: Likewise.
- * tests/du/deref: Likewise.
- * tests/du/deref-args: Likewise.
- * tests/du/exclude: Likewise.
- * tests/du/fd-leak: Likewise.
- * tests/du/hard-link: Likewise.
- * tests/du/inaccessible-cwd: Likewise.
- * tests/du/long-from-unreadable: Likewise.
- * tests/du/long-sloop: Likewise.
- * tests/du/no-deref: Likewise.
- * tests/du/no-x: Likewise.
- * tests/du/restore-wd: Likewise.
- * tests/du/slash: Likewise.
- * tests/du/slink: Likewise.
- * tests/du/trailing-slash: Likewise.
- * tests/du/two-args: Likewise.
- * tests/fmt/long-line: Likewise.
- * tests/install/basic-1: Likewise.
- * tests/install/create-leading: Likewise.
- * tests/install/d-slashdot: Likewise.
- * tests/install/trap: Likewise.
- * tests/ln/misc: Likewise.
- * tests/ln/target-1: Likewise.
- * tests/ls/color-dtype-dir: Likewise.
- * tests/ls/dangle: Likewise.
- * tests/ls/dired: Likewise.
- * tests/ls/file-type: Likewise.
- * tests/ls/follow-slink: Likewise.
- * tests/ls/infloop: Likewise.
- * tests/ls/inode: Likewise.
- * tests/ls/m-option: Likewise.
- * tests/ls/no-arg: Likewise.
- * tests/ls/recursive: Likewise.
- * tests/ls/rt-1: Likewise.
- * tests/ls/stat-dtype: Likewise.
- * tests/ls/stat-failed: Likewise.
- * tests/ls/stat-vs-dirent: Likewise.
- * tests/misc/cat-proc: Likewise.
- * tests/misc/close-stdout: Likewise.
- * tests/misc/csplit: Likewise.
- * tests/misc/date-sec: Likewise.
- * tests/misc/false-status: Likewise.
- * tests/misc/head-c: Likewise.
- * tests/misc/head-pos: Likewise.
- * tests/misc/mknod: Likewise.
- * tests/misc/nl: Likewise.
- * tests/misc/nohup: Likewise.
- * tests/misc/pathchk1: Likewise.
- * tests/misc/printf: Likewise.
- * tests/misc/printf-hex: Likewise.
- * tests/misc/pwd-long: Likewise.
- * tests/misc/shuf: Likewise.
- * tests/misc/sort-rand: Likewise.
- * tests/misc/split-a: Likewise.
- * tests/misc/split-fail: Likewise.
- * tests/misc/split-l: Likewise.
- * tests/misc/stat-fmt: Likewise.
- * tests/misc/tac-continue: Likewise.
- * tests/misc/wc-files0: Likewise.
- * tests/mkdir/concurrent-1: Likewise.
- * tests/mkdir/p-1: Likewise.
- * tests/mkdir/p-2: Likewise.
- * tests/mkdir/p-3: Likewise.
- * tests/mkdir/p-slashdot: Likewise.
- * tests/mkdir/p-thru-slink: Likewise.
- * tests/mkdir/p-v: Likewise.
- * tests/mkdir/parents: Likewise.
- * tests/mkdir/perm: Likewise.
- * tests/mkdir/t-slash: Likewise.
- * tests/mv/acl: Likewise.
- * tests/mv/atomic: Likewise.
- * tests/mv/backup-dir: Likewise.
- * tests/mv/childproof: Likewise.
- * tests/mv/diag: Likewise.
- * tests/mv/dir-file: Likewise.
- * tests/mv/dir2dir: Likewise.
- * tests/mv/dup-source: Likewise.
- * tests/mv/hard-2: Likewise.
- * tests/mv/hard-3: Likewise.
- * tests/mv/hard-4: Likewise.
- * tests/mv/hard-link-1: Likewise.
- * tests/mv/hard-verbose: Likewise.
- * tests/mv/i-2: Likewise.
- * tests/mv/i-3: Likewise.
- * tests/mv/i-4: Likewise.
- * tests/mv/i-5: Likewise.
- * tests/mv/i-link-no: Likewise.
- * tests/mv/into-self-4: Likewise.
- * tests/mv/leak-fd: Likewise.
- * tests/mv/mv-special-1: Likewise.
- * tests/mv/no-target-dir: Likewise.
- * tests/mv/part-fail: Likewise.
- * tests/mv/part-hardlink: Likewise.
- * tests/mv/part-rename: Likewise.
- * tests/mv/part-symlink: Likewise.
- * tests/mv/partition-perm: Likewise.
- * tests/mv/perm-1: Likewise.
- * tests/mv/reply-no: Likewise.
- * tests/mv/trailing-slash: Likewise.
- * tests/mv/update: Likewise.
- * tests/od/od-N: Likewise.
- * tests/od/x8: Likewise.
- * tests/readlink/can-e: Likewise.
- * tests/readlink/can-f: Likewise.
- * tests/readlink/can-m: Likewise.
- * tests/readlink/rl-1: Likewise.
- * tests/rm/cycle: Likewise.
- * tests/rm/dangling-symlink: Likewise.
- * tests/rm/deep-1: Likewise.
- * tests/rm/dir-no-w: Likewise.
- * tests/rm/dir-nonrecur: Likewise.
- * tests/rm/dot-rel: Likewise.
- * tests/rm/empty-inacc: Likewise.
- * tests/rm/f-1: Likewise.
- * tests/rm/fail-2eperm: Likewise.
- * tests/rm/hash: Likewise.
- * tests/rm/i-1: Likewise.
- * tests/rm/i-no-r: Likewise.
- * tests/rm/ignorable: Likewise.
- * tests/rm/inaccessible: Likewise.
- * tests/rm/interactive-always: Likewise.
- * tests/rm/interactive-once: Likewise.
- * tests/rm/ir-1: Likewise.
- * tests/rm/isatty: Likewise.
- * tests/rm/no-give-up: Likewise.
- * tests/rm/r-1: Likewise.
- * tests/rm/r-2: Likewise.
- * tests/rm/r-3: Likewise.
- * tests/rm/r-4: Likewise.
- * tests/rm/readdir-bug: Likewise.
- * tests/rm/rm1: Likewise.
- * tests/rm/rm2: Likewise.
- * tests/rm/rm3: Likewise.
- * tests/rm/rm4: Likewise.
- * tests/rm/rm5: Likewise.
- * tests/rm/sunos-1: Likewise.
- * tests/rm/unread2: Likewise.
- * tests/rm/unread3: Likewise.
- * tests/rmdir/fail-perm: Likewise.
- * tests/rmdir/t-slash: Likewise.
- * tests/shred/exact: Likewise.
- * tests/shred/remove: Likewise.
- * tests/sum/sysv: Likewise.
- * tests/tail-2/append-only: Likewise.
- * tests/tail-2/assert: Likewise.
- * tests/tail-2/assert-2: Likewise.
- * tests/tail-2/big-4gb: Likewise.
- * tests/tail-2/fflush: Likewise.
- * tests/tail-2/infloop-1: Likewise.
- * tests/tail-2/proc-ksyms: Likewise.
- * tests/tail-2/start-middle: Likewise.
- * tests/tail-2/tail-n0f: Likewise.
- * tests/tee/basic: Likewise.
- * tests/tee/dash: Likewise.
- * tests/touch/fail-diag: Likewise.
- * tests/touch/no-create-missing: Likewise.
- * tests/touch/not-owner: Likewise.
- * tests/touch/obsolescent: Likewise.
- * tests/touch/read-only: Likewise.
- * tests/touch/relative: Likewise.
-
-2006-10-21 Jim Meyering <jim@meyering.net>
-
- * NEWS: (cp --backup fix): Fix a typo.
-
- * .gitignore: Remove some references to files in subdirectories.
- * build-aux/.gitignore, doc/.gitignore, lib/.gitignore: New files.
- * m4/.gitignore, po/.gitignore, src/.gitignore: Likewise.
-
- * src/copy.c (copy_internal): Add a comment saying why we prefer
- mknod over mkfifo.
-
- Enable an fts optimization (call lstat only for directories,
- on some file system types) also with the --preserve-root option
- of chown or chgrp.
- * src/chown-core.c (change_file_owner): Compare fts_statp-based
- dev/ino against root dev/ino only for directories.
- (chown_files): Don't let the root_dev_ino setting influence whether
- we use FTS_NOSTAT: fts always sets *fts_statp for a directory.
-
-2006-10-20 Jim Meyering <jim@meyering.net>
-
- * src/od.c (usage): Change description of default to use "-w16",
- not the now-invalid "-w 16" syntax. From Dan Jacobson.
-
-2006-10-19 Jim Meyering <jim@meyering.net>
-
- * bootstrap: Add names to each .gitignore file (if it exists)
- as well as to .cvsignore.
-
- * Makefile.maint (po-check): This rule didn't detect the new use
- of "gettext" (as opposed to the use of "_" everywhere else) in
- lib/xstrtol.h. Adjust the grep regexp so that now it does.
-
-2006-10-18 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/copy.c (copy_reg): Rewrite slightly to avoid duplicate code
- when opening dst_name.
- (copy_reg, copy_internal): Use (SYSCALL != 0) rather than plain
- (SYSCALL) to test for failure in a system call.
-
- * src/copy.c (copy_internal): Use mknod rather than mkfifo to copy
- a fifo. This preserves the special mode bits on Solaris 10, which
- is compatible with what Solaris 10 cp -R does.
-
- * src/copy.c (copy_internal): Remove redundant and confusing local
- variable src_type.
-
- * src/copy.c (copy_internal): Don't pass mkdir a mode greater than
- 7777. This matches historical 'cp' behavior and avoids some
- (though not all) implementation-defined behavior of mkdir.
- * src/cp.c (make_dir_parents_private): Likewise.
- * src/copy.c (copy_internal): Don't pass 'open' a mode greater
- than 777. This is required by POSIX. It doesn't make any difference
- in actual behavior on any host that I know of.
-
-2006-10-17 Jim Meyering <jim@meyering.net>
-
- * src/dd.c (usage): Use two spaces (not one) to separate the
- "fdatasync" option string from its description, so help2man formats
- the derived man page properly. Reported by Samuel Thibault
- in <http://bugs.debian.org/393649>.
-
-2006-10-16 Jim Meyering <jim@meyering.net>
-
- * .x-sc_trailing_blank: Remove names of files that are no longer
- version-controlled.
-
-2006-10-16 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/groups.sh (version): Reword message to match the other programs.
- Problem reported by Eric Blake.
-
-2006-10-14 Jim Meyering <jim@meyering.net>
-
- * Makefile.maint (headers_with_interesting_macro_defs): Define.
- (.re-defmac, sc_always_defined_macros): New rules.
-
- * src/system.h (EXIT_FAILURE, EXIT_SUCCESS): Remove definitions.
- Instead, include "exit.h". This hereby retires the work-around for
- "Sony NEWS-OS Release 4.0C"'s bug due to "#define EXIT_FAILURE 0".
-
- * src/cksum.c (uint_fast32_t): Don't define.
- Instead, include <stdint.h>.
-
- * src/pinky.c (S_IWGRP): Don't define.
- It's already defined by "stat-macros.h" (included via system.h).
-
- * Makefile.cfg: Remove cruft that's now handled via bootstrap.
- * Makefile.maint: Likewise, remove these targets/rules/variables:
- (local_updates, update, cvs-update, wget_files, get-targets): Remove.
- (cvs_files, wget-update, automake_repo): Likewise.
- Move the comment about cvsu to build-aux/vc-list-files,
- where cvsu is actually used.
-
- * Makefile.maint (cvs-update): Use $(CVS), not "cvs".
-
- Work also when the working directory (with e.g. coreutils sources)
- is version controlled with git, rather than CVS.
- * bootstrap (CVS_only_file): Test for the existence of README-cvs,
- rather than CVS.
- In messages and comments, say e.g., "checked-out sources",
- rather than "CVS sources".
- (version_controlled_file): New function. Work for git as well as
- for CVS. Don't use grep's -q option.
- (slurp): Call it here, in place of CVS-specific code.
-
- * NEWS: cp -r --backup dir1 dir2, would rename an existing dir1/dir2
- to dir1/dir2~.
- * src/copy.c (copy_internal): Although we do create a backup of each
- destination directory when in move mode, don't do that when copying.
- Reported by Peter Breitenlohner, in
- <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/8616>.
- * tests/cp/backup-dir: New file. Test for the above.
- * tests/cp/Makefile.am (TESTS): Add backup-dir.
-
-2006-10-13 Jim Meyering <jim@meyering.net>
-
- More chown/chgrp dereferencing-related fixes.
- * src/chown-core.c (change_file_owner): Don't use fts_statp if
- we're dereferencing symlinks.
- Reverse conjuncts, so that we use dereference file_stats
- (aka ent->fts_statp) only *after* we've confirmed that
- chopt->affect_symlink_referent is true. Otherwise, we might
- use ent->fts_statp uninitialized.
- Don't turn on FTS_NOSTAT when dereferencing symlinks.
- * tests/chown/deref: Update the expected diagnostic, now that
- this test case (trying to use "chown --dereference ..." on a
- dangling symlink) takes a different code path.
-
-2006-10-13 Paul Eggert <eggert@cs.ucla.edu>
-
- Sync from Bison, as follows:
-
- 2006-10-01 Paul Eggert <eggert@cs.ucla.edu>
-
- Fix problems with translating English-language diagnostics.
- * bootstrap: Fix bug introduced in recent bootstrap changes, with
- respect to bison-runtime pot generation. The YY_ stuff
- wasn't being captured.
-
-2006-10-13 Jim Meyering <jim@meyering.net>
-
- * src/chown-core.c (change_file_owner): Use fstatat, not stat,
- now that we're using fts_open with FTS_CWDFD.
- * tests/chgrp/posix-H: Add --preserve-root to an invocation of
- chgrp, to exercise the above fix.
- * NEWS: Mention the above.
-
- * src/du-tests: Clean up a little, though it's still not portable.
-
- * .vg-suppressions: Add 3 more for debian unstable.
-
- * tests/ls/Test.pm: Remove long-unused file.
- * Makefile.am (EXTRA_DIST): Add bootstrap.conf.
- Suggestions from Bruno Haible.
-
-2006-10-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (THANKS-to-translators): Add missing $(srcdir).
- (MAINTAINERCLEANFILES): Add .kludge-stamp.
- * man/Makefile.am (MAINTAINERCLEANFILES): Typo $(dist_man_MANS)
- instead of $(man_MANS).
-
-2006-10-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac: Avoid compiler warnings about default return
- type in function definitions and unused variables in tests.
- * src/who.c (print_user) [HAVE_UT_HOST]: hostlen is only needed
- if this is #defined.
-
-2006-10-12 Jim Meyering <jim@meyering.net>
-
- * configure.ac: Reflect s/gl_MACROS/coreutils_MACROS/ renaming.
- Call gl_INIT directly, rather than through the above.
-
-2006-10-11 Paul Eggert <eggert@cs.ucla.edu>
-
- * bootstrap (symlink_to_gnulib): Fix bug: the dot_dots shell
- variable was sometimes used without being initialized. This
- messed up the installation of the INSTALL file in some cases.
-
-2006-10-11 Jim Meyering <jim@meyering.net>
-
- * src/ls.c (usage): Correct description of -s, --size.
- It works even without -l. Suggestion from Karl Berry.
-
-2006-10-10 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/ls.c (quote_name): Use initializer rather than memset to
- initialize an object to zero. This is easier to read and is less
- likely to introduce a runtime error due to a mixup. It causes
- gcc -W to issue a warning, but you can work around this by
- appending -Wno-missing-field-initializers.
- * src/pathchk.c (portable_chars_only): Likewise.
- * src/shred.c (main): Likewise.
- * src/stty.c (main): Likewise.
- * src/tr.c (card_of_complement): Likewise.
- * src/wc.c (wc): Likewise.
-
-2006-10-09 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/sort.c (usage): Mention again that sort fields are origin 1.
-
- * NEWS: Fix typo: iso-8602 -> iso-8601. Problem reported by
- Bob Proulx.
-
- * bootstrap (usage, main program, symlink_to_gnulib): Add option
- --copy. Inspired by a suggestion from Bruno Haible.
-
-2006-10-09 Jim Meyering <jim@meyering.net>
-
- Avoid a compiler warning.
- * src/pathchk.c (portable_chars_only): Initialize variable of type
- mbstate_t via memset, rather than via '{0}'. Patch from Bruno Haible.
-
-2006-10-06 Paul Eggert <eggert@cs.ucla.edu>
-
- Fix bug reported today by Mike Frysinger: mkdir -pv is logging the
- wrong file name in some cases. Lars Wendler reported a bug in
- my original fix.
- * src/install.c (make_ancestor): New arg COMPONENT.
- * src/mkdir.c (make_ancestor): Likewise.
- * tests/install/basic-1: Check for install -Dv bug.
- * tests/mkdir/Makefile.am (TESTS): Add p-v.
- * tests/mkdir/p-v: New file, to test this bug.
-
-2006-10-05 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/chgrp.c: Don't include lchown.h; no longer needed.
- * src/chown.c: Likewise.
-
- * tests/ls/stat-dtype: Use a dynamic test to decide whether the
- current file system has useful d_type info.
-
- * src/dd.c (flags): noatime and nofollow now depend on
- HAVE_WORKING_O_NOATIME and HAVE_WORKING_O_NOFOLLOW, too.
- (usage): Output info about noatime and nofollow only if
- they are known to work.
- * src/remove.c (AD_push): Inspect HAVE_WORKING_O_NOFOLLOW rather
- than O_NOFOLLOW, when testing whether it's possible to avoid a
- race condition reliably.
-
-2006-10-05 Jim Meyering <jim@meyering.net>
-
- * src/c99-to-c89.diff: Update to reflect new offsets.
-
- * tests/install/basic-1: Skip the latter part of this test if the
- just-built dd binary is not readable. Otherwise, this test would fail
- when binaries were created as root. Reported by Bauke Jan Douma in
- <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/8433>.
-
-2006-10-03 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/system.h (ST_BLKSIZE): Ceiling at SIZE_MAX / 8 + 1, not at 4
- MiB, since XFS hosts can legitimately have large values of
- st_blksize. Problem reported by Tony Ernst in
- <http://savannah.gnu.org/bugs/?17903>.
-
-2006-10-04 Jim Meyering <jim@meyering.net>
-
- * src/remove.c (nonexistent_file_errno): Remove ENAMETOOLONG.
- Paul Eggert pointed out that the specified file may exist,
- in spite of such an errno value.
- * tests/rm/Makefile.am (TESTS): Remove ignore-name-too-long.
- * tests/rm/ignore-name-too-long: Remove file.
- * NEWS: Update here, too.
-
-2006-10-03 Jim Meyering <jim@meyering.net>
-
- * tests/rm/fail-eperm: Report failure also if rm is terminated by
- a signal.
-
- * src/c99-to-c89.diff: Convert two c99'isms -- one in remove.c
- and one in shred.c -- that were added before coreutils-6.3.
- Reported by Michael Deutschmann.
-
- * src/c99-to-c89.diff: Update to reflect new offsets.
-
- * src/remove.c (remove_entry): With -f, exit successfully in spite
- of a missing file under some very unusual conditions (with errno
- being any of ENOENT, ENOTDIR, ENAMETOOLONG).
-
- With --force (-f), rm no longer fails for ENOTDIR.
- * src/remove.c (ignorable_missing): New function.
- Use it everywhere, rather than open-coding the test.
- Andreas Schwab reported the ENOTDIR problem.
- (ignorable_missing): Similarly, don't fail for ENAMETOOLONG.
-
- * NEWS: Mention the bug fix.
- * tests/rm/ignorable: New file. Test for the ENOTDIR case.
- * tests/rm/ignore-name-too-long: New file. Test for ENAMETOOLONG.
- * tests/rm/Makefile.am (TESTS): Add the new file names.
-
- * bootstrap: Undo last change to this file, since now gnulib-tool
- sticks with the automake default in generating dependencies.
-
- * NEWS: Add a line for 6.4-cvs.
- * configure.ac (AC_INIT): Bump to 6.4 and add "-cvs" suffix.
-
-2006-09-30 Jim Meyering <jim@meyering.net>
-
- Version 6.3.
- * NEWS: Record the 6.3 release date.
- * configure.ac (AC_INIT): Remove "-cvs" suffix from version string.
-
- * NEWS: Mention Paul's Solaris 8 vs. 10 work-around.
-
- * src/c99-to-c89.diff: Update offsets.
-
-2006-09-29 Paul Eggert <eggert@cs.ucla.edu>
-
- * tests/rm/readdir-bug: Don't use $(...) in a shell script,
- as it doesn't work with Solaris /bin/sh.
-
-2006-09-29 Jim Meyering <jim@meyering.net>
-
- * NEWS: Mention Paul's fix (to gnulib's canon-host.c) for
- the pinky segfault.
-
- * tests/seq/basic [neg-2, eq-wid-2]: Comment out tests that
- use .1 as the increment. Actual output varies too much.
- [eq-wid-3]: New, commented out test.
-
- * src/shuf.c (read_input): Fix an off-by-one error that
- would cause an infloop for piped input of 8KB or more.
- * NEWS: Mention the fix.
- * tests/misc/shuf: Test for the above fix.
-
- Since any system may be affected by the Darwin readdir bug,
- perform the extra rewinddir unconditionally. The performance
- impact of rewinding a directory is negligible.
- * src/remove.c (NEED_REWIND): Define to use
- CONSECUTIVE_READDIR_UNLINK_THRESHOLD unconditionally.
-
- * tests/seq/basic: Use .11 as the upper bound, in case the ".1"
- increment translates to a slightly larger value.
- This corrects a test failure on FreeBSD 6.1 reported by Nelson Beebe.
- The final expected value wasn't being printed.
-
- Work around a readdir bug in Darwin 7.9.0 (MacOS X 10.3.9) on HFS+
- and NFS, whereby rm would not remove all files in a directory.
- * src/remove.c (CONSECUTIVE_READDIR_UNLINK_THRESHOLD): Reduce to 10.
- (NEED_REWIND): New macro, so that we incur the cost of the work-around
- rewinddir only on afflicted systems.
- * NEWS: Clarify and correct.
- * tests/rm/readdir-bug: New file. Test for the above fix.
- * tests/rm/Makefile.am (TESTS): Add it.
- Prompted by testing and analysis from Bruno Haible:
- http://lists.gnu.org/archive/html/bug-coreutils/2006-09/msg00326.html
-
-2006-09-28 Paul Eggert <eggert@cs.ucla.edu>
-
- * tests/rm/fail-eperm: Unset BASH_ENV, CDPATH, and ENV, too;
- suggested for Debian stable, which uses Perl 5.8.4.
-
-2006-09-28 Jim Meyering <jim@meyering.net>
-
- Automatically generated dependencies are important even
- when all of the sources in a directory come from gnulib.
- * bootstrap (gnulib_tool): Remove the "no-dependencies" automake
- option that gnulib-tool adds to what becomes our lib/gnulib.mk.
-
- * tests/rm/fail-eperm: Enable Perl's (-T) taint checking.
- Ensure that IFS is set properly and unset PATH.
- Sanitize inputs.
- Work properly even when the name of the selected file starts with "-".
- Invoke rm via "../../src/rm", and adjust expected output.
- Prompted by a patch from Tim Waugh.
-
- * README-cvs: Add Bison to the list of required packages.
-
-2006-09-26 Jim Meyering <jim@meyering.net>
-
- * src/c99-to-c89.diff: Update offsets.
-
- * NEWS: rm works around a bug in Darwin 8.6.1 w/NFS that kept
- it from removing a directory containing 188 or more entries.
- * src/remove.c (CONSECUTIVE_READDIR_UNLINK_THRESHOLD): Decrease by
- 20, go work around the buggy readdir on Darwin 8.6.1 with NFS.
- Reported by Matthew Woehlke.
-
-2006-09-26 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: "groups user" no longer outputs "user :"; you need at least
- two users. "groups" now processes options like --help more compatibly.
- * src/groups.sh: Implement the option-processing change.
- Handle user and group names with special characters more robustly.
- Report write errors instead of exiting silently with status 1.
-
-2006-09-26 Jim Meyering <jim@meyering.net>
-
- * README: Warn not to run autoreconf manually. Use bootstrap instead.
-
- * src/groups.sh: When invoked with 0 or 1 argument, just exec "id".
- Rewrite to avoid using temporary, $status.
-
- * NEWS: Mention the bug fix.
- * src/groups.sh: Don't hide a write failure.
- Reported by Iain Calder <ic56@rogers.com>.
-
-2006-09-25 Jim Meyering <jim@meyering.net>
-
- * src/chown.c (usage): Clarify --dereference description.
- * src/chgrp.c (usage): Likewise. Suggestion from Jamie McClelland.
-
-2006-09-24 Jim Meyering <jim@meyering.net>
-
- * NEWS: Mention these fixes.
- * src/copy.c (copy_reg): With --verbose (-v), print
- "removed `file_name'" just after unlinking a file.
- (copy_internal): Likewise, in three more places.
- Marc Lehman reported that "touch x; ln x y; mv -v x y" was silent.
- * tests/mv/hard-verbose: New file. Test for the above fix.
- * tests/mv/Makefile.am (TESTS): Add hard-verbose.
-
- * tests/help-version (sync_args): Don't call sync, since it spins up
- disks that I've deliberately caused to spin down (but not unmounted).
-
- * NEWS: Mention the improvement to sort.
-
- * tests/tail-2/proc-ksyms: Require that /proc/ksyms be readable
- as well as existing.
-
- * tests/ls/stat-dtype: Don't use tmpfs on linux-2.4 or older,
- since that predated addition of d_type support.
-
-2006-09-23 Jim Meyering <jim@meyering.net>
-
- * gl/modules/getloadavg.diff: New file. Work around the way the latest
- version of the getloadavg module interacts with our bootstrap script.
- * bootstrap (gnulib_tool_options): Add "--local-dir gl".
- * Makefile.am (EXTRA_DIST): Sort file names.
- Add bootstrap and gl/modules/getloadavg.diff
-
-2006-09-20 Paul Eggert <eggert@cs.ucla.edu>
-
- * bootstrap: Add support for --force.
- (usage): New function. Describe usage less tersely.
- (CVS_only_file): New var.
-
- * NEWS: Document fix for cp -i and mv -i.
- * src/copy.c (copy_internal): With -i, prompt even if the source
- is a directory and the destination is not. This is required by
- POSIX and gives the user a chance to bail out before failing.
- * tests/cp/Makefile.am (TESTS): Add cp-i.
- * tests/cp/cp-i: New file.
- * tests/mv/Makefile.am (TESTS): Add i-5.
- * tests/mv/i-5: New file.
-
-2006-09-20 Jim Meyering <jim@meyering.net>
-
- * NEWS: Mention the chmod bug fix.
-
- * tests/chmod/inaccessible: New test, specifically for this bug.
- Based on a test case from Paul Eggert.
- * tests/chmod/Makefile.am (TESTS): Add inaccessible.
-
- Fix the 2006-09-18 bug differently.
- * src/chmod.c: (process_file): Upon FTS_NS for a top-level file,
- tell fts_read to stat the file again, in case it has become
- accessible since the initial fts_open call.
- * src/chown-core.c (change_file_owner): Likewise.
-
- * src/chmod.c: Revert last change. There is a better way.
- * src/chown-core.c: Likewise.
-
-2006-09-19 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/ln.c (target_directory_operand): Rewrite to avoid porting
- problem on Tandem reported by Matthew Woehlke in
- <https://savannah.gnu.org/bugs/?17172>.
-
-2006-09-18 Paul Eggert <eggert@cs.ucla.edu>
-
- Fix bug where chmod, chown, and chgrp did not process operands
- left-to-right in some cases.
- * src/chmod.c (wd_errno): New var.
- (chmod_file): New function, with most of the contents of the
- old prcess_file function.
- (process_files): Use it. This gives file names to fts one
- at a time, so that they are processed left-to-right as POSIX
- requires.
- * src/chown-core.c (wd_errno, chown_files): Likewise.
- (chown_file): New function.
- * tests/install/basic-1: Redo test so as to not workaround
- the chmod bug, thereby testing for it.
-
- * src/shuf.c (main): Quote the entire range when reporting an
- invalid one, rather than just the part that contained the error.
-
- * tests/stty/row-col-1: Rewrite to avoid temporary file that is
- sometimes left behind if the test is skipped or interrupted.
-
- * bootstrap (symlink_to_gnulib): New function.
- (cp_mark_as_generated): Use it, to prefer symlinks-to-gnulib
- to copies-of-gnulib.
- (cp_mark_as_generated, slurp, gnulib_files):
- Avoid making a copy if it's the same as the old version.
- (gnulib_files): Add support for this variable (used by Bison).
-
- * tests/ls/stat-vs-dirent: Fix quoting problem in diagnostic
- indicating flaw in kernel. Reword to say that the flaw isn't
- serious for coreutils, since the flaw does affect ls -i.
-
- * tests/chgrp/basic: Fix bug in test case exposed by building on
- Solaris 8 in a setgid directory. The test case incorrectly
- assumed that 'symlink' would be in group $g1.
-
-2006-09-18 Jim Meyering <jim@meyering.net>
-
- * NEWS: Add a line for 6.3-cvs.
- * configure.ac (AC_INIT): Bump to 6.3 and add "-cvs" suffix.
-
- Version 6.2.
- * NEWS: Record the 6.2 release date.
- * configure.ac (AC_INIT): Remove "-cvs" suffix from version string.
-
-2006-09-17 Jim Meyering <jim@meyering.net>
-
- * tests/chgrp/basic: On an OpenBSD system, rather than failing
- due to a known problem, merely warn about it.
- Rewrite to avoid testing output of chgrp --verbose and chgrp -c.
- Instead, use stat to test file system for desired results, directly.
- * tests/chgrp/Makefile.am (TESTS_ENVIRONMENT): Set host_triplet.
-
- * tests/envvar-check: Add more variable names to the list of those
- that can affect these programs and tests: _POSIX2_VERSION, COLUMNS,
- QUOTING_STYLE, TABSIZE, TERM, TMPDIR.
-
-2006-09-16 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: Document that mkdir -p and install -d now fork on occasion.
- * bootstrap.conf (gnulib_modules): Add savewd.
- * src/install.c: Include savewd.h.
- (process_dir): New function.
- (main, install_file_in_file_parents): Use it, along with the new
- savewd module, to avoid some race conditions.
- * src/mkdir.c: Include savewd.h.
- (struct mkdir_options): New members make_ancestor_function, mode,
- mode_bits.
- (make_ancestor): Return 1 if the resulting directory is not readable.
- (process_dir): New function.
- (main): Use it, along with new savewd module, to avoid some
- race conditions. Fill in new slots of struct mkdir_options, so
- that callees get the values.
- * tests/install/basic-1: Test for coreutils 5.97 bug that was
- fixed in coreutils 6.0, and which should still be fixed with
- this change.
- * tests/mkdir/p-3: Likewise.
-
-2006-09-15 Jim Meyering <jim@meyering.net>
-
- * bootstrap.conf (gnulib_modules): Add rename-dest-slash.
- The 2006-09-08 changes made it so "mv dir new-name/" would
- fail on NetBSD 1.6. This makes it work once again.
-
-2006-09-14 Jim Meyering <jim@meyering.net>
-
- * src/mv.c (main): Remove unnecessary (always-true) test for 2 <= n.
- Instead, since it's a little fragile, assert the condition.
- (target_directory_operand): Update comment to reflect latest change.
-
-2006-09-12 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/who.c (print_user): Rewrite to avoid warning from
- GCC 4.1.1 with -Wall.
-
-2006-09-12 Jim Meyering <jim@meyering.net>
-
- * tests/mv/atomic: Check for specific strace output, rather than
- simply nonempty. RHEL AS 4 would fail this test due to strace
- generating "[ Process PID=14434 runs in 32 bit mode. ]".
- Reported by Nelson Beebe.
-
-2006-09-11 Jim Meyering <jim@meyering.net>
-
- * src/remove.c (remove_dir): Move new cache_stat_init call onto
- it's own line.
- (rm_1): Move declaration of "st" and new cache_stat_init call
- "down" to nearer where they're used.
- * src/c99-to-c89.diff: Add another set of curly braces.
-
-2006-09-10 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/expr.c (eval6): Fix buffer overrun, or bad performance, if
- substr's last operand is very large. Performance problem reported
- by Sebastian Kreft.
-
-2006-09-09 Jim Meyering <jim@meyering.net>
-
- * Makefile.maint (sc_prohibit_jm_in_m4): Don't hang when there
- are no .m4 files.
- (sc_require_config_h): Skip this test if there are no version-
- controlled .c files.
- (sc_prohibit_assert_without_use): Likewise.
-
-2006-09-08 Jim Meyering <jim@meyering.net>
-
- * bootstrap: Export CVS_RSH separate from its assignment, to work
- even with Solaris 10's /bin/sh. Suggestion from Mark D. Baushke.
-
-2006-09-08 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: tail now ignores the -f option if POSIXLY_CORRECT is set,
- no file operand is given, and standard input is any FIFO.
- This is in response to Open Group XCU ERN 114.
- * src/tail.c (main): Likewise.
-
-2006-09-08 Jim Meyering <jim@meyering.net>
-
- mv and "cp -r" no longer fail when invoked with two arguments
- where the first one names a directory and the second name ends in
- a slash and doesn't exist. E.g., "mv dir B/", for nonexistent B,
- now succeeds, once more. This reverts part of the 2004-06-27
- change for 5.3.0.
- * NEWS: Say the above.
- * src/mv.c (target_directory_operand): Don't require (here)
- that the target operand "look like" a directory. This change
- pushes the test down to the rename syscall level, where a
- "mv dir existing-non-dir/" will mistakenly succeed on older systems
- that ignore trailing slashes in the rename destination argument.
- * src/cp.c (target_directory_operand): Likewise, but for cp.
- * tests/mv/trailing-slash: Exercise the above fixes.
- * tests/cp/trailing-slash: New file.
- * tests/cp/Makefile.am (EXTRA_DIST): Add trailing-slash.
-
- * bootstrap: Use the previously unused variable, $src,
- to avoid repeating "$GNULIB_SRCDIR/$file".
-
- * bootstrap (cp_mark_as_generated): Don't use "local", to
- accommodate ancient "/bin/sh". Suggested by Ralf Wildenhues.
- Rename now-global "$src" and "$dst" to have cp_ prefix.
- Safer, and avoids confusion.
-
- * bootstrap (cp_mark_as_generated): New function.
- (slurp): Use it to prepend editor hints and a warning that
- the file we're copying is generated.
- Suggestion from Bruce Korb.
- (cp_mark_as_generated): Don't add C-style comments for .l or .y files.
- Fix last-minute typo.
-
-2006-09-07 Jim Meyering <jim@meyering.net>
-
- * bootstrap: Revert last change. There are less disruptive ways
- to mark these generated files as read-only.
-
- * src/c99-to-c89.diff: Update to have proper offsets.
-
-2006-09-06 Jim Meyering <jim@meyering.net>
-
- Ensure that some gnulib-tool-generated files are read-only.
- * bootstrap (slurp): Put the body of this function in a sub-shell,
- with "umask a-w" so that all new files are read-only. Remove each
- file before we write to it, in case it's read-only.
- Make po/Makevars and runtime-po/Makevars read-only, too.
-
-2006-09-05 Jim Meyering <jim@meyering.net>
-
- * tests/cp/acl: Skip this test when cp lacks ACL support.
- * tests/cp/Makefile.am (TESTS_ENVIRONMENT): Set $(CONFIG_HEADER).
-
- * src/c99-to-c89.diff (remove.c): Adapt one hunk to match the new
- context from change of 2006-09-02.
-
-2006-09-04 Jim Meyering <jim@meyering.net>
-
- * README-cvs: Fix typo in update command.
-
-2006-09-03 Jim Meyering <jim@meyering.net>
-
- * NEWS: Tweak the wording in the new change description so that
- no one can think this change causes e.g., `rm -fr foo../' to fail.
-
- * tests/rm/inaccessible: Adjust for movement of config.h to lib/.
- Use $CONFIG_HEADER, rather than hard-coding it.
- * tests/rm/Makefile.am (TESTS_ENVIRONMENT): Set $CONFIG_HEADER.
-
-2006-09-02 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: rm now rejects attempts to remove /, ./, and ../.
- * src/basename.c: Don't include dirname.h, since system.h does it now.
- * src/chmod.c: Likewise.
- * src/copy.c: Likewise.
- * src/cp.c: Likewise.
- * src/df.c: Likewise.
- * src/dircolors.c: Likewise.
- * src/dirname.c: Likewise.
- * src/du.c: Likewise.
- * src/install.c: Likewise.
- * src/ln.c: Likewise.
- * src/ls.c: Likewise.
- * src/mkdir.c: Likewise.
- * src/mv.c: Likewise.
- * src/remove.c: Likewise.
- * src/rm.c: Likewise.
- * src/rmdir.c: Likewise.
- * src/shred.c: Likewise.
- * src/split.c: Likewise.
- * src/su.c: Likewise.
- * src/system.h: Include "dirname.h", since dot_or_dotdot needs it
- now.
- (dot_or_dotdot): Succeed even if "." or ".." is followed by a
- slash.
- * src/rm.c (usage, main): --preserve-root is now the default.
- * src/remove.h: Fix comment.
- * src/remove.c (cache_fstatat, cache_stat_init): New functions.
- (cache_statted, cache_stat_ok): New functions.
- (write_protected_non_symlink): Remove struct stat ** buf_p arg,
- which is no longer needed with the new functions. All callers
- changed.
- (prompt, is_dir_lstat, remove_entry, remove_dir):
- New struct stat * arg. All callers changed.
- (write_protected_non_symlink, prompt, is_dir_lstat, remove_entry):
- (remove_cwd_entries, remove_dir, rm_1):
- Use and maintain the file status cache.
- (prompt, remove_entry): Omit the first "directory" in the diagnostic
- "Cannot remove directory `foo': is a directory". This causes "rm"
- to pass a test case that it would otherwise fail now that it
- "knows" more about its argument. I think the diagnostic is better
- without the first "directory" anyway.
- (prompt): Remove the no-longer-needed IS_DIR arg; all callers changed.
- (rm_1): Reject attempts to remove /, ./, or ../.
- * tests/rm/Makefile.am (TESTS): Add r-4.
- * tests/rm/r-4: New file.
-
-2006-09-01 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/stat.c: Include <stddef.h>
- (alignof): New macro.
- (HAVE_STRUCT_STATXFS_F_FSID___VAL, HAVE_STRUCT_STATXFS_F_FSID_VAL):
- Remove.
- (STRUCT_STATXFS_F_FSID_IS_INTEGER): New macro.
- (FSID_VAL): Remove.
- (print_statfs): If f_fsid isn't an integer, grab its words one
- at a time in little-endian order. This is a bit easier to configure
- and should avoid a compilation failure on MacOS reported by Bruno
- Haible.
-
-2006-08-29 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/stat.c (HAVE_STRUCT_STATXFS_F_FSID_VAL, FSID_VAL): New macros, to
- work around a Mac OS X porting problem reported by Bruno Haible in
- <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00308.html>.
- (print_statfs): Use them.
-
- * bootstrap.conf (gnulib_modules): Add isapipe.
- * src/tail.c: Include isapipe.h.
- (IS_PIPE_LIKE_FILE_TYPE): Remove.
- (IS_TAILABLE_FILE_TYPE): Just list both FIFOs and sockets as
- tailable, since this seems to be portable.
- (main): Use isapipe, to fix a bug on MacOS X reported by Bruno Haible in
- <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00304.html>.
-
- * src/system.h (LOCALEDIR): Remove, since configmake.h now defines
- it for us.
-
-2006-08-28 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/copy.c (copy_internal): Don't test whether macros like
- S_ISLNK are defined, since they're always defined now.
- * src/cp.c (main): Likewise.
- * src/ln.c (main): Likewise.
- * src/ls.c (get_link_name, make_link_name): Likewise.
- * src/mknod.c (main): Likewise.
- * src/mkfifo.c (usage): Likewise.
- * src/who.c (S_IWGRP): Likewise.
-
- Adjust to recent gnulib changes for the gnulib module.
- * bootstrap.conf (gnulib_modules): Add fcntl.
- * src/system.h (SEEK_SET, SEEK_CUR, SEEK_END): Remove. Other code
- is already assuming these macros are defined.
- (O_DIRECT, O_DIRECTORY, O_DSYNC, O_NDELAY, O_NOATIME, O_NONBLOCK):
- (O_NOCTTY, O_NOFOLLOW, O_NOLINKS, O_RSYNC, O_SYNC, O_BINARY, O_TEXT):
- Remove; the fcntl module now handles these.
-
- Adjust to recent gnulib changes for the inttypes module.
- * bootstrap.conf (gnulib_modules): Remove stdint; add inttypes.
- (excluded_files): Don't exclude m4/inttypes-h.m4 or m4/inttypes-pri.m4.
-
- * src/system.h: Don't bother to include <stdint.h>, since we can
- now assume inttypes.h does the equivalent of including stdint.h.
-
-2006-08-27 Jim Meyering <jim@meyering.net>
-
- * src/copy.c (copy_internal): Don't make a backup if the last
- component of the source name is "." or "..".
- Reported by Andreas Schwab in http://savannah.gnu.org/bugs/?17540.
- * NEWS: Mention this.
- * tests/cp/src-base-dot: New file. Test for the above fix.
- * tests/cp/Makefile.am (TESTS): Add src-base-dot.
-
- * src/system.h (DOT_OR_DOTDOT): Remove macro. Rewrite as a...
- (dot_or_dotdot): ...new static inline function.
- * src/remove.c (rm_1): Reflect this renaming.
- * src/ls.c (basename_is_dot_or_dotdot): Likewise.
-
- * src/copy.c (copy_internal): Add comments.
-
-2006-08-26 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/Makefile.am (AM_CPPFLAGS): Remove -I$(srcdir) and -I../lib,
- since Automake supplies them for us. It always did -I$(srcdir),
- and with the recent change to AC_CONFIG_HEADERS in configure.ac it
- is now also doing -I../lib.
-
- * bootstrap (get_translations): Skip this if WGET_COMMAND is empty.
- Fail if the first "echo" fails. Suppress diagnostics from "ls po/*.po"
- since there might not be any .po files.
- (WGET_COMMAND): Set to empty if wget doesn't
- seem to be available.
-
-2006-08-26 Jim Meyering <jim@meyering.net>
-
- This test was failing in some environments.
- * tests/ls/color-dtype-dir: Don't rely on eval "`dircolors -b`"
- to set LS_COLORS in the environment.
- * tests/envvar-check: Instead, ensure that LS_COLORS is not set.
- Reported by Bob Proulx.
-
- * src/c99-to-c89.diff: Remove hunk for copy.c; no longer needed.
-
- * Makefile.am (EXTRA_DIST): Remove these files here, too:
- .x-sc_no_if_have_config_h, .x-sc_prohibit_assert_without_use,
- .x-sc_two_space_separator_in_usage.
-
- Fix "mv --verbose --backup" so its output includes the
- " (backup: foo.~1~)" suffix also when backing up a directory.
- * NEWS: Report this bug fix.
- * src/copy.c (emit_verbose): New function, factored out of...
- (copy_internal): ...here. Use the new function.
- * tests/mv/backup-dir: Test for the above fix.
- * tests/mv/Makefile.am (TESTS): Add backup-dir.
-
-2006-08-25 Paul Eggert <eggert@cs.ucla.edu>
-
- * .x-sc_no_if_have_config_h: Remove; no longer needed.
- * .x-sc_prohibit_assert_without_use: Remove; it was empty.
- * .x-sc_two_space_separator_in_usage: Likewise.
- * Makefile.maint (sc_no_have_config_h): Renamed from
- sc_no_if_have_config_h, since it now checks that HAVE_CONFIG_H
- is absent everywhere.
- * bootstrap.conf (gnulib_modules): Add config-h.
- * src/shred.c: Include <config.h> unconditionally, since
- we now assume config.h exists.
- * src/dircolors.c: Likewise.
-
-2006-08-26 Jim Meyering <jim@meyering.net>
-
- "ls --color" would highlight other-writable and sticky directories
- no differently than regular directories on a file system with
- dirent.d_type support.
- * NEWS: Say the above.
- * src/ls.c (gobble_file): With --color, also stat the file when
- we know it is a directory.
- Derived from an anonymous one-line fix and bug report:
- <http://savannah.gnu.org/bugs/?15043>.
- * tests/ls/color-dtype-dir: New file. Test for the above fix.
- * tests/ls/Makefile.am (TESTS): Add color-dtype-dir.
-
-2006-08-25 Paul Eggert <eggert@cs.ucla.edu>
-
- * .cvsignore: Remove stamp-h1. Add coreutils-*, to ignore
- tarballs.
- * bootstrap.conf: Add configmake, verify.
- * src/.cvsignore: Remove localedir.h.
- * src/Makefile.am (localedir, DISTCLEANFILES, localedir.h): Remove;
- subsumed by configmake.
- * src/system.h: Include configmake.h rather than localedir.h
- (LOCALEDIR): New macro.
-
- Rewrite to avoid some unnecessary casts, macros, literals.
- * src/shred.c (DEFAULT_PASSES, VERBOSE_UPDATE): Now constants,
- not macros.
- (SECTOR_SIZE, SECTOR_MASK): New constants.
- (fillpattern, dopass, do_wipefd, main): Remove unnecessary casts,
- and use the SECTOR_* constants when applicable. Check for size <
- 0 rather than size == -1, since negative-size files are a sign of
- trouble anyway.
-
-2006-08-25 Bruno Haible <bruno@clisp.org>
-
- * src/shred.c (dopass): Assume a continuable error if EIO even
- if the current position is not a multiple of 512.
-
-2006-08-24 Jim Meyering <jim@meyering.net>
-
- * src/stat.c (print_statfs): Fix typo: remove extra "sizeof".
-
-2006-08-23 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/stat.c (HAVE_STRUCT_STATXFS_F_FSID___VAL): Define. This
- macro was being used without being defined.
- (SB_F_NAMEMAX): Remove cast.
- (f_fsid) [BeOS]: Likewise.
- (OUT_NAMEMAX): Renamed from NAMEMAX_FORMAT, with a new meaning.
- All uses changed.
- (out_string, out_int, out_uint, out_uint_o, out_uint_x): New
- functions.
- (xstrcat): Remove. All uses changed to use the above functions.
- (print_statfs, print_stat): 2nd arg is now the prefix len, not the
- buffer len. All uses changed. Output '?', not '*', for unknown
- data or errors. Do not assume signed values can be interchanged
- with unsigned when printing.
- (print_statfs): For %i, print the fsid as a single int, not as a
- pair.
- (print_it): Quote invalid format better.
-
- * NEWS: printf supports the I flag.
- * src/printf.c (print_formatted) [glibc 2.2 or later]: Likewise.
-
-2006-08-23 Bruno Haible <bruno@clisp.org>
-
- * src/stat.c (STRUCT_STATVFS, statfs, f_fsid, f_blocks, f_bfree) [BeOS]:
- (f_bavail, f_bsize, STATFS_FRSIZE, f_files, f_ffree) [BeOS]:
- (STATXFS_FILE_SYSTEM_TYPE_MEMBER_NAME) [BeOS]: Define.
-
- * src/ls.c (SA_RESTART): Fallback define.
-
-2006-08-23 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/system.h (EDQUOT): Define if not already defined.
- Problem reported by Bruno Haible for BeOS.
-
- * .cvsignore: Remove config.h, config.hin, as they are now
- in lib.
- * configure.ac (AC_CONFIG_HEADERS): Move config.h and config.hin
- to lib.
- * src/Makefile.am (AM_CPPFLAGS): Remove '-I..'; no longer needed.
-
- * bootstrap (slurp): Define gl_LOCK_EARLY instead of gl_LOCK,
- to accommodate today's gnulib change.
-
-2006-08-23 Jim Meyering <jim@meyering.net>
-
- * NEWS: Mention the sweeping infrastructure changes.
-
-2006-08-22 Paul Eggert <eggert@cs.ucla.edu>
-
- * bootstrap.conf (gnulib_modules): Add gnupload.
- * Makefile.maint (emit_upload_commands): gnupload is now
- in build-aux.
- * gnupload: Remove from CVS, since it's now a gnulib module.
-
- * bootstrap (bootstrap_conf_cleanup): Remove.
- (excluded_files): New var.
- * bootstrap.conf: Likewise.
- * bootstrap (slurp): Exclude files early if they're in the
- excluded_files list. That way, their names don't get put into
- .cvsignore.
-
- * aclocal.m4, config.hin, configure:
- Remove from CVS, since ./bootstrap generates them automatically.
- * .cvsignore: Add INSTALL, Makefile.in, aclocal.m4, config.hin,
- configure, *.cache, *.lineno, *.log.
- Remove more-specific entries. This catches files like configure.lineno.
- * man/.cvsignore: Add Makefile.in.
- * src/.cvsignore: Add Makefile.in.
- Remove .version, dir.c, install, mvdir, stamp-v, vdir.c, version.c.
-
- * tests/.cvsignore:
- * tests/chgrp/.cvsignore:
- * tests/chmod/.cvsignore:
- * tests/chown/.cvsignore:
- * tests/cp/.cvsignore:
- * tests/cut/.cvsignore:
- * tests/dd/.cvsignore:
- * tests/dircolors/.cvsignore:
- * tests/du/.cvsignore:
- * tests/expr/.cvsignore:
- * tests/factor/.cvsignore:
- * tests/fmt/.cvsignore:
- * tests/head/.cvsignore:
- * tests/install/.cvsignore:
- * tests/join/.cvsignore:
- * tests/ln/.cvsignore:
- * tests/ls/.cvsignore:
- * tests/ls-2/.cvsignore:
- * tests/md5sum/.cvsignore:
- * tests/misc/.cvsignore:
- * tests/mkdir/.cvsignore:
- * tests/mv/.cvsignore:
- * tests/od/.cvsignore:
- * tests/pr/.cvsignore:
- * tests/readlink/.cvsignore:
- * tests/rm/.cvsignore:
- * tests/rmdir/.cvsignore:
- * tests/seq/.cvsignore:
- * tests/sha1sum/.cvsignore:
- * tests/shred/.cvsignore:
- * tests/sort/.cvsignore:
- * tests/stty/.cvsignore:
- * tests/sum/.cvsignore:
- * tests/tac/.cvsignore:
- * tests/tail/.cvsignore:
- * tests/tail-2/.cvsignore:
- * tests/tee/.cvsignore:
- * tests/test/.cvsignore:
- * tests/touch/.cvsignore:
- * tests/tr/.cvsignore:
- * tests/tsort/.cvsignore:
- * tests/unexpand/.cvsignore:
- * tests/uniq/.cvsignore:
- * tests/wc/.cvsignore:
- Add Makefile.in. Sort entries if necessary. Remove *.I, *.E,
- *.X, *.O, *-tests, build-script, mk-script if they're never
- created in this directory.
-
-2006-08-22 Bruno Haible <bruno@clisp.org>
-
- BeOS portability.
- * src/uptime.c: Include OS.h if it exists.
- (print_uptime): On BeOS, use the get_system_info function (actually a
- macro). Loop through utmp entries only if utmp.h or utmpx.h exists.
- (uptime): Call read_utmp only if utmp.h or utmpx.h exists.
-
-2006-08-22 Jim Meyering <jim@meyering.net>
-
- * .cvsignore: Add ABOUT-NLS.
-
- Move the check-AUTHORS rule to be run as part of "make distcheck",
- rather than "make check".
- * src/Makefile.am (check): Don't depend on check-AUTHORS; it would
- cause "make check" to fail on systems unable to build all binaries.
- * Makefile.maint (check-AUTHORS): New rule.
- (local-checks-available): Add it here.
- Reported by Bruno Haible. Needed for BeOS.
-
-2006-08-21 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/df.c (print_header, show_dev): Use a column width that
- depends on the block size of -P is specified and not autoscaling.
- Problem reported by Gustavo G. Rondina in:
- http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00164.html
-
-2006-08-21 Jim Meyering <jim@meyering.net>
-
- * tests/dircolors/simple (a): Don't fail with an unexpected diagnostic
- when the shell variable, SHELL, is not set.
- Trigger the failure with "(unset SHELL; make check TESTS=simple)".
- Reported by Sven Joachim in <http://bugs.debian.org/355368>.
-
- * src/od.c: Now that HAVE_UNSIGNED_LONG_LONG is no longer defined
- in config.h, change the uses to HAVE_UNSIGNED_LONG_LONG_INT.
- Otherwise, on a system with 4-byte longs, "od -t u8" fails with this:
- od: invalid type string `u8';
- this system doesn't provide a 8-byte integral type
- FIXME: add a test for this, but skip it when sizeof uintmax < 8.
-
-2006-08-20 Paul Eggert <eggert@cs.ucla.edu>
-
- Add a bootstrap procedure, so that the CVS version contains fewer
- files and we bootstrap the rest from gnulib, gettext, etc.
- * README-cvs: New file.
- * bootstrap: New file.
- * bootstrap.conf: New file.
- * .x-sc_trailing_blank: Remove config-log, .gdb-history. Add .po.
- * configure.ac (AC_PREREQ): Move here from m4/*.m4, for benefit
- of gnulib-tool.
- (gl_DEFAULT_POSIX2_VERSION, gl_USE_SYSTEM_EXTENSIONS, gl_PERL):
- (gl_IGNORE_UNUSED_LIBRARIES): Remove; now done by gnulib.
- (gl_EARLY): Add.
- (gl_MACROS): Call just after gl_EARLY, just for clarity.
- * src/c99-to-c89.diff: Remove patch to ls.c; no longer needed.
- * src/kill.c (strtoimax): Remove decl.
- * src/ls.c: Include "wcwidth.h" instead of rolling it ourselves.
- * src/wc.c: Likewise.
- * src/ls.c (sort_files): Rewrite to avoid need for C99-style
- declaration, so that we don't need to patch this file.
- * src/printf.c (strtoimax, strtoumax): Remove decls.
- * src/su.c: Include getpass.h.
- (getpass): remove.
- * src/system.h: Include mempcpy.h, stpcpy.h, strpbrk.h.
- Include inttypes.h unconditionally.
- (LONGEST_MODIFIER, PRIdMAX, PRIoMAX, PRIuMAX, PRIxMAX): Remove.
- (stpcpy, strndup, strstr, strtoul, mempcpy, CHAR_MIN, CHAR_MAX):
- (SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, SHRT_MIN, SHRT_MAX, INT_MAX):
- (INT_MIN, INTMAX_MAX, INTMAX_MIN, UINT_MAX, LONG_MAX, ULONG_MAX):
- (SIZE_MAX, SSIZE_MAX, UINTMAX_MAX): Remove.
-
- * ABOUT-NLS, INSTALL, Makefile.in, man/Makefile.in:
- * src/Makefile.in, tests/Makefile.in, tests/chgrp/Makefile.in:
- * tests/chmod/Makefile.in, tests/chown/Makefile.in:
- * tests/cp/Makefile.in, tests/cut/Makefile.in:
- * tests/dd/Makefile.in, tests/dircolors/Makefile.in:
- * tests/du/Makefile.in, tests/expr/Makefile.in:
- * tests/factor/Makefile.in, tests/fmt/Makefile.in:
- * tests/general/Makefile.in, tests/head/Makefile.in:
- * tests/install/Makefile.in, tests/join/Makefile.in:
- * tests/ln/Makefile.in, tests/ls/Makefile.in:
- * tests/ls-2/Makefile.in, tests/md5sum/Makefile.in:
- * tests/misc/Makefile.in, tests/mkdir/Makefile.in:
- * tests/mv/Makefile.in, tests/od/Makefile.in:
- * tests/pr/Makefile.in, tests/readlink/Makefile.in:
- * tests/rm/Makefile.in, tests/rmdir/Makefile.in:
- * tests/seq/Makefile.in, tests/sha1sum/Makefile.in:
- * tests/shred/Makefile.in, tests/sort/Makefile.in:
- * tests/stty/Makefile.in, tests/sum/Makefile.in:
- * tests/tac/Makefile.in, tests/tail/Makefile.in:
- * tests/tail-2/Makefile.in, tests/tee/Makefile.in:
- * tests/test/Makefile.in, tests/touch/Makefile.in:
- * tests/tr/Makefile.in, tests/tsort/Makefile.in:
- * tests/unexpand/Makefile.in, tests/uniq/Makefile.in:
- * tests/wc/Makefile.in:
- Remove from CVS, since ./bootstrap generates them automatically.
-
-2006-08-20 Eric Blake <ebb9@byu.net>
-
- * src/stat.c (USE_STATVFS): Reinstate the patch from 2006-08-15;
- the patch from 2006-08-18 broke on cygwin.
-
-2006-08-20 Jim Meyering <jim@meyering.net>
-
- * NEWS: Add a line for 6.2-cvs.
- * configure.ac (AC_INIT): Bump to 6.2 and add "-cvs" suffix.
-
-2006-08-19 Jim Meyering <jim@meyering.net>
-
- * Version 6.1.
- * NEWS: Record the 6.1 release date.
- * configure.ac (AC_INIT): Remove "-cvs" suffix from version string.
-
- * tests/Makefile.am (EXTRA_DIST): Add sparse-file.
-
- Avoid test failure when `make check' is run through debuild.
- * tests/help-version: Ensure that $SHELL is set to some value
- and exported. Patch from Sven Joachim. For details, see
- <http://bugs.debian.org/355368>.
-
- * tests/ls/stat-dtype: Test for the 2006-08-17 `ls -CF' fix.
-
- * README: Describe potential "pre-C99 build failure", and work-around.
-
- Some of my 2006-07-03 changes to tests/*/Makefile.am were being
- backed out due to updates provoked by the copyright changes.
- * tests/Makefile.am.in (PATH): Prepend $(VG_PATH_PREFIX), so that
- it propagates to the derived Makefile.am files.
- ($(srcdir)/Makefile.am): Mark generated .am files as read-only,
- so we don't mistakenly edit them again.
- * tests/cut/Makefile.am: Regenerate.
- * tests/head/Makefile.am: Likewise.
- * tests/join/Makefile.am: Likewise.
- * tests/pr/Makefile.am: Likewise.
- * tests/sort/Makefile.am: Likewise.
- * tests/tac/Makefile.am: Likewise.
- * tests/tail/Makefile.am: Likewise.
- * tests/test/Makefile.am: Likewise.
- * tests/tr/Makefile.am: Likewise.
- * tests/uniq/Makefile.am: Likewise.
- * tests/wc/Makefile.am: Likewise.
-
- * NEWS: Fix cp --sparse so that it preserves tail-end sparseness, even
- when the file's apparent size is not a multiple of its block size.
- * src/copy.c (copy_reg): Don't write a NUL before calling ftruncate.
- For some file sizes, writing that single byte would unnecessarily
- waste a few file blocks. That write may have been necessary in the
- early days of Linux, but now, removing it should be safe.
- Based on a patch by Alan Curry: <http://bugs.debian.org/370792>
- * tests/cp/sparse: New test for the above.
- * tests/cp/Makefile.am (TESTS): Add sparse.
-
- * tests/sparse-file: New file, essence factored out of...
- * tests/du/8gb: ... here. Use the new script.
-
-2006-08-18 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/system.h (select_plural): Reduce by 1000000, not 1000, since
- the CVS gettext manual now suggests 1000000.
-
-2006-08-18 Bruno Haible <bruno@clisp.org>
-
- Add support for NetBSD 3.0.
- * src/stat.c (USE_STATVFS): Set to 1 if 'struct statvfs' has a field
- f_fstypename.
- (STATXFS_FILE_SYSTEM_TYPE_MEMBER_NAME): Define also if 'struct statvfs'
- has a field f_fstypename.
- This undoes the 2006-08-15 to src/stat.c.
-
-2006-08-17 Paul Eggert <eggert@cs.ucla.edu>
-
- Copyright notice fixes.
-
- * COPYING: Upgrade to latest version from FSF.
-
- * src/uname.c: Use (C) in copyright notice.
-
- * .vg-suppressions: Add copyright notice.
- * ChangeLog: Likewise.
- * ChangeLog-2005: Likewise.
- * Makefile.am: Likewise.
- * NEWS: Likewise.
- * README: Likewise.
- * README-valgrind: Likewise.
- * TODO: Likewise.
- * announce-gen: Likewise.
- * man/Makefile.am: Likewise.
- * man/chmod.x: Likewise.
- * man/chown.x: Likewise.
- * man/df.x: Likewise.
- * man/du.x: Likewise.
- * man/rm.x: Likewise.
- * src/dircolors.hin: Likewise.
- * src/du-tests: Likewise.
- * src/extract-magic: Likewise.
- * src/tac-pipe.c: Likewise.
- * src/wheel-gen.pl: Likewise.
- * tests/Coreutils.pm: Likewise.
- * tests/Makefile.am.in: Likewise.
- * tests/acl: Likewise.
- * tests/envvar-check: Likewise.
- * tests/expensive: Likewise.
- * tests/group-names: Likewise.
- * tests/help-version: Likewise.
- * tests/mk-script: Likewise.
- * tests/priv-check: Likewise.
- * tests/rwx-to-mode: Likewise.
- * tests/sample-test: Likewise.
- * tests/setgid-check: Likewise.
- * tests/chgrp/basic: Likewise.
- * tests/chgrp/deref: Likewise.
- * tests/chgrp/no-x: Likewise.
- * tests/chgrp/posix-H: Likewise.
- * tests/chgrp/recurse: Likewise.
- * tests/chmod/c-option: Likewise.
- * tests/chmod/equal-x: Likewise.
- * tests/chmod/equals: Likewise.
- * tests/chmod/no-x: Likewise.
- * tests/chmod/octal: Likewise.
- * tests/chmod/setgid: Likewise.
- * tests/chmod/umask-x: Likewise.
- * tests/chmod/usage: Likewise.
- * tests/chown/basic: Likewise.
- * tests/chown/deref: Likewise.
- * tests/chown/separator: Likewise.
- * tests/cp/Makefile.am: Likewise.
- * tests/cp/acl: Likewise.
- * tests/cp/backup-1: Likewise.
- * tests/cp/backup-is-src: Likewise.
- * tests/cp/cp-HL: Likewise.
- * tests/cp/cp-deref: Likewise.
- * tests/cp/cp-mv-backup: Likewise.
- * tests/cp/cp-parents: Likewise.
- * tests/cp/deref-slink: Likewise.
- * tests/cp/dir-rm-dest: Likewise.
- * tests/cp/dir-slash: Likewise.
- * tests/cp/dir-vs-file: Likewise.
- * tests/cp/fail-perm: Likewise.
- * tests/cp/into-self: Likewise.
- * tests/cp/link: Likewise.
- * tests/cp/link-no-deref: Likewise.
- * tests/cp/link-preserve: Likewise.
- * tests/cp/no-deref-link1: Likewise.
- * tests/cp/no-deref-link2: Likewise.
- * tests/cp/no-deref-link3: Likewise.
- * tests/cp/perm: Likewise.
- * tests/cp/preserve-2: Likewise.
- * tests/cp/r-vs-symlink: Likewise.
- * tests/cp/same-file: Likewise.
- * tests/cp/slink-2-slink: Likewise.
- * tests/cp/special-bits: Likewise.
- * tests/cp/symlink-slash: Likewise.
- * tests/cut/Makefile.am: Likewise.
- * tests/cut/Test.pm: Likewise.
- * tests/dd/misc: Likewise.
- * tests/dd/not-rewound: Likewise.
- * tests/dd/skip-seek: Likewise.
- * tests/dd/skip-seek2: Likewise.
- * tests/dd/unblock-sync: Likewise.
- * tests/dircolors/simple: Likewise.
- * tests/du/2g: Likewise.
- * tests/du/8gb: Likewise.
- * tests/du/Makefile.am: Likewise.
- * tests/du/basic: Likewise.
- * tests/du/deref: Likewise.
- * tests/du/deref-args: Likewise.
- * tests/du/exclude: Likewise.
- * tests/du/fd-leak: Likewise.
- * tests/du/files0-from: Likewise.
- * tests/du/hard-link: Likewise.
- * tests/du/inaccessible-cwd: Likewise.
- * tests/du/long-from-unreadable: Likewise.
- * tests/du/long-sloop: Likewise.
- * tests/du/no-deref: Likewise.
- * tests/du/no-x: Likewise.
- * tests/du/restore-wd: Likewise.
- * tests/du/slash: Likewise.
- * tests/du/slink: Likewise.
- * tests/du/trailing-slash: Likewise.
- * tests/du/two-args: Likewise.
- * tests/expr/basic: Likewise.
- * tests/factor/basic: Likewise.
- * tests/fmt/basic: Likewise.
- * tests/fmt/long-line: Likewise.
- * tests/general/Makefile.am: Likewise.
- * tests/general/atgeneral.m4: Likewise.
- * tests/general/dd.at: Likewise.
- * tests/head/Makefile.am: Likewise.
- * tests/head/Test.pm: Likewise.
- * tests/install/basic-1: Likewise.
- * tests/install/create-leading: Likewise.
- * tests/install/d-slashdot: Likewise.
- * tests/install/trap: Likewise.
- * tests/join/Makefile.am: Likewise.
- * tests/join/Test.pm: Likewise.
- * tests/ln/backup-1: Likewise.
- * tests/ln/misc: Likewise.
- * tests/ln/sf-1: Likewise.
- * tests/ln/target-1: Likewise.
- * tests/ls/Makefile.am: Likewise.
- * tests/ls/Test.pm: Likewise.
- * tests/ls/dangle: Likewise.
- * tests/ls/dired: Likewise.
- * tests/ls/file-type: Likewise.
- * tests/ls/follow-slink: Likewise.
- * tests/ls/infloop: Likewise.
- * tests/ls/inode: Likewise.
- * tests/ls/m-option: Likewise.
- * tests/ls/no-arg: Likewise.
- * tests/ls/recursive: Likewise.
- * tests/ls/rt-1: Likewise.
- * tests/ls/stat-dtype: Likewise.
- * tests/ls/stat-failed: Likewise.
- * tests/ls/stat-vs-dirent: Likewise.
- * tests/ls/symlink-slash: Likewise.
- * tests/ls/time-1: Likewise.
- * tests/ls-2/tests: Likewise.
- * tests/md5sum/basic-1: Likewise.
- * tests/md5sum/newline-1: Likewise.
- * tests/misc/Makefile.am: Likewise.
- * tests/misc/base64: Likewise.
- * tests/misc/basename: Likewise.
- * tests/misc/cat-proc: Likewise.
- * tests/misc/close-stdout: Likewise.
- * tests/misc/csplit: Likewise.
- * tests/misc/date: Likewise.
- * tests/misc/date-sec: Likewise.
- * tests/misc/df: Likewise.
- * tests/misc/dirname: Likewise.
- * tests/misc/expand: Likewise.
- * tests/misc/false-status: Likewise.
- * tests/misc/fold: Likewise.
- * tests/misc/head-c: Likewise.
- * tests/misc/head-elide-tail: Likewise.
- * tests/misc/head-pos: Likewise.
- * tests/misc/mknod: Likewise.
- * tests/misc/nice: Likewise.
- * tests/misc/nl: Likewise.
- * tests/misc/nohup: Likewise.
- * tests/misc/paste-no-nl: Likewise.
- * tests/misc/pathchk1: Likewise.
- * tests/misc/printf: Likewise.
- * tests/misc/printf-hex: Likewise.
- * tests/misc/pwd-long: Likewise.
- * tests/misc/sha224sum: Likewise.
- * tests/misc/sha256sum: Likewise.
- * tests/misc/sha384sum: Likewise.
- * tests/misc/sha512sum: Likewise.
- * tests/misc/shuf: Likewise.
- * tests/misc/sort-merge: Likewise.
- * tests/misc/sort-rand: Likewise.
- * tests/misc/split-a: Likewise.
- * tests/misc/split-fail: Likewise.
- * tests/misc/split-l: Likewise.
- * tests/misc/stat-fmt: Likewise.
- * tests/misc/stat-printf: Likewise.
- * tests/misc/tac-continue: Likewise.
- * tests/misc/test-diag: Likewise.
- * tests/misc/tty-eof: Likewise.
- * tests/misc/wc-files0: Likewise.
- * tests/misc/wc-files0-from: Likewise.
- * tests/mkdir/concurrent-1: Likewise.
- * tests/mkdir/p-1: Likewise.
- * tests/mkdir/p-2: Likewise.
- * tests/mkdir/p-3: Likewise.
- * tests/mkdir/p-slashdot: Likewise.
- * tests/mkdir/p-thru-slink: Likewise.
- * tests/mkdir/parents: Likewise.
- * tests/mkdir/perm: Likewise.
- * tests/mkdir/special-1: Likewise.
- * tests/mkdir/t-slash: Likewise.
- * tests/mkdir/writable-under-readonly: Likewise.
- * tests/mv/Makefile.am: Likewise.
- * tests/mv/acl: Likewise.
- * tests/mv/atomic: Likewise.
- * tests/mv/backup-is-src: Likewise.
- * tests/mv/childproof: Likewise.
- * tests/mv/diag: Likewise.
- * tests/mv/dir-file: Likewise.
- * tests/mv/dir2dir: Likewise.
- * tests/mv/dup-source: Likewise.
- * tests/mv/force: Likewise.
- * tests/mv/hard-2: Likewise.
- * tests/mv/hard-3: Likewise.
- * tests/mv/hard-4: Likewise.
- * tests/mv/hard-link-1: Likewise.
- * tests/mv/i-1: Likewise.
- * tests/mv/i-2: Likewise.
- * tests/mv/i-3: Likewise.
- * tests/mv/i-4: Likewise.
- * tests/mv/i-link-no: Likewise.
- * tests/mv/into-self: Likewise.
- * tests/mv/into-self-2: Likewise.
- * tests/mv/into-self-3: Likewise.
- * tests/mv/into-self-4: Likewise.
- * tests/mv/leak-fd: Likewise.
- * tests/mv/mv-special-1: Likewise.
- * tests/mv/no-target-dir: Likewise.
- * tests/mv/part-fail: Likewise.
- * tests/mv/part-hardlink: Likewise.
- * tests/mv/part-rename: Likewise.
- * tests/mv/part-symlink: Likewise.
- * tests/mv/partition-perm: Likewise.
- * tests/mv/perm-1: Likewise.
- * tests/mv/reply-no: Likewise.
- * tests/mv/setup: Likewise.
- * tests/mv/to-symlink: Likewise.
- * tests/mv/trailing-slash: Likewise.
- * tests/mv/update: Likewise.
- * tests/mv/vfat: Likewise.
- * tests/od/od-N: Likewise.
- * tests/od/x8: Likewise.
- * tests/pr/Makefile.am: Likewise.
- * tests/pr/Test.pm: Likewise.
- * tests/readlink/can-e: Likewise.
- * tests/readlink/can-f: Likewise.
- * tests/readlink/can-m: Likewise.
- * tests/readlink/rl-1: Likewise.
- * tests/rm/Makefile.am: Likewise.
- * tests/rm/cycle: Likewise.
- * tests/rm/dangling-symlink: Likewise.
- * tests/rm/deep-1: Likewise.
- * tests/rm/dir-no-w: Likewise.
- * tests/rm/dir-nonrecur: Likewise.
- * tests/rm/dot-rel: Likewise.
- * tests/rm/empty-inacc: Likewise.
- * tests/rm/empty-name: Likewise.
- * tests/rm/f-1: Likewise.
- * tests/rm/fail-2eperm: Likewise.
- * tests/rm/fail-eperm: Likewise.
- * tests/rm/hash: Likewise.
- * tests/rm/i-1: Likewise.
- * tests/rm/i-no-r: Likewise.
- * tests/rm/inaccessible: Likewise.
- * tests/rm/interactive-always: Likewise.
- * tests/rm/interactive-once: Likewise.
- * tests/rm/ir-1: Likewise.
- * tests/rm/isatty: Likewise.
- * tests/rm/no-give-up: Likewise.
- * tests/rm/r-1: Likewise.
- * tests/rm/r-2: Likewise.
- * tests/rm/r-3: Likewise.
- * tests/rm/rm1: Likewise.
- * tests/rm/rm2: Likewise.
- * tests/rm/rm3: Likewise.
- * tests/rm/rm4: Likewise.
- * tests/rm/rm5: Likewise.
- * tests/rm/sunos-1: Likewise.
- * tests/rm/unread2: Likewise.
- * tests/rm/unread3: Likewise.
- * tests/rm/unreadable: Likewise.
- * tests/rmdir/fail-perm: Likewise.
- * tests/rmdir/ignore: Likewise.
- * tests/rmdir/t-slash: Likewise.
- * tests/seq/basic: Likewise.
- * tests/sha1sum/basic-1: Likewise.
- * tests/sha1sum/sample-vec: Likewise.
- * tests/shred/exact: Likewise.
- * tests/shred/remove: Likewise.
- * tests/sort/Makefile.am: Likewise.
- * tests/sort/Test.pm: Likewise.
- * tests/sort-time/Makefile: Likewise.
- * tests/sort-time/README: Likewise.
- * tests/sort-time/rand-gen: Likewise.
- * tests/stty/basic-1: Likewise.
- * tests/stty/row-col-1: Likewise.
- * tests/sum/basic-1: Likewise.
- * tests/sum/sysv: Likewise.
- * tests/tac/Makefile.am: Likewise.
- * tests/tac/Test.pm: Likewise.
- * tests/tail/Makefile.am: Likewise.
- * tests/tail/Test.pm: Likewise.
- * tests/tail-2/Makefile.am: Likewise.
- * tests/tail-2/append-only: Likewise.
- * tests/tail-2/assert: Likewise.
- * tests/tail-2/assert-2: Likewise.
- * tests/tail-2/big-4gb: Likewise.
- * tests/tail-2/fflush: Likewise.
- * tests/tail-2/infloop-1: Likewise.
- * tests/tail-2/proc-ksyms: Likewise.
- * tests/tail-2/start-middle: Likewise.
- * tests/tail-2/tail-n0f: Likewise.
- * tests/tee/basic: Likewise.
- * tests/tee/dash: Likewise.
- * tests/test/Makefile.am: Likewise.
- * tests/test/Test.pm: Likewise.
- * tests/touch/Makefile.am: Likewise.
- * tests/touch/dangling-symlink: Likewise.
- * tests/touch/empty-file: Likewise.
- * tests/touch/fail-diag: Likewise.
- * tests/touch/fifo: Likewise.
- * tests/touch/no-create-missing: Likewise.
- * tests/touch/no-rights: Likewise.
- * tests/touch/not-owner: Likewise.
- * tests/touch/obsolescent: Likewise.
- * tests/touch/read-only: Likewise.
- * tests/touch/relative: Likewise.
- * tests/tr/Makefile.am: Likewise.
- * tests/tr/Test.pm: Likewise.
- * tests/tr/failures: Likewise.
- * tests/tsort/basic-1: Likewise.
- * tests/unexpand/basic-1: Likewise.
- * tests/uniq/Makefile.am: Likewise.
- * tests/uniq/Test.pm: Likewise.
- * tests/wc/Makefile.am: Likewise.
- * tests/wc/Test.pm: Likewise.
-
-2006-08-17 Jim Meyering <jim@meyering.net>
-
- ls -CF would misalign columns in some cases.
- * src/ls.c (get_type_indicator): New function. extracted from...
- (print_type_indicator): ...here. Use it.
- (length_of_file_name_and_frills): Use it here, too, rather than
- assuming stat.st_mode is valid.
- Reported by Andreas Schwab, here:
- <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/7774>
- See the test for this above. FYI, I did ls -CF /proc and visually
- inspected the result.
-
- * src/copy.c (copy_internal, same_file_ok): Adjust comments not
- to mention the now-removed cp_options.xstat member.
-
- * Makefile.maint (patch-check): Adapt to work now that the patch
- modifies more than one file in src/.
-
- With this patch, permit building with Solaris cc on Solaris 7.
- * src/c99-to-c89.diff: Add diffs to convert more c99-isms.
- This integrates patches from Bruno Haible.
-
-2006-08-16 Paul Eggert <eggert@cs.ucla.edu>
-
- Fix some problems reported by Bruno Haible.
- * tests/chmod/setgid (abs_srcdir): Remove; not used or needed.
- Skip this test if "chmod g+s d" silently does nothing.
- * tests/ls-2/tests: Skip this test suite if we can't set up files
- properly for the setuid-etc test. This simplifies some of the
- hacks we were using to work around porting problems.
-
-2006-08-16 Jim Meyering <jim@meyering.net>
-
- * tests/cp/Makefile.am: Don't mark "acl" as XFAIL.
- * tests/cp/acl: Instead, skip the test if either setfacl
- or getfacl fails.
- Reported by Michael Stone.
-
-2006-08-16 Paul Eggert <eggert@cs.ucla.edu>
-
- * tests/lang-default (LC_ALL): Set to "C", so we get
- English-language diagnostics. Unset the other variables; it
- should be portable to use 'unset' for this stuff nowadays.
- Problem reported by Bruno Haible. Using "C" reverses the
- 2000-10-22 change to fileutils in this area.
-
- Fix bugs when printing plurals of numbers that are not
- unsigned long int values.
- * src/system.h (select_plural): New function.
- * src/md5sum.c (digest_check): Use select_plural to avoid bug.
- * src/uptime.c (print_uptime): Likewise.
- * src/dd.c (print_stats): Likewise. Also, don't use ngettext to
- print a floating point number, as reducing to 0 or 1 doesn't work
- for some languages. Instead, just use "s" for seconds since it
- doesn't need a plural form.
-
-2006-08-16 Bruno Haible <bruno@clisp.org>
-
- Old versions of gzip would write --help output to stderr, and it
- would be annoying to see that in the output of every "make" command.
- * Makefile.maint (gzip_rsyncable): Throw away stderr output of
- "gzip --help".
-
-2006-08-16 Andreas Schwab <schwab@suse.de>
-
- * tests/cp/acl: Don't use non-portable == operator for test.
-
-2006-08-16 Jim Meyering <jim@meyering.net>
-
- * tests/ls/stat-dtype: Use stat to test file system type, rather
- than df -T, in case /etc/mtab lies. Reported by Michael Stone.
-
-2006-08-15 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: Mention that df exits with nonzero status if it generates
- no output. This change was in 6.0 but inadvertently unmentioned.
- * src/df.c (file_systems_processed): Renamed from n_valid_args, and now
- a boolean.
- (show_dev): Don't set it until we actually output something.
- Print the header if this is the first output.
- (main): Don't print a header, as that is now show_dev's job.
- * tests/misc/Makefile.am (TESTS): Add df.
- * tests/misc/df: New file.
-
-2006-08-15 Eric Blake <ebb9@byu.net>
-
- * src/stat.c (USE_STATVFS): Define to 0 if f_type is needed, but
- statvfs.f_type not present. See
- <http://savannah.gnu.org/bugs/?func=detailitem&item_id=16325>.
-
-2006-08-15 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/dd.c (print_stats): Don't substitute "1" for number, as this
- causes confusion for the Hungarian translators. Problem reported
- by Egmont Koblinger here:
- http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/7726
-
-2006-08-15 Jim Meyering <jim@meyering.net>
-
- * .x-sc_require_config_h: Add lib/at-func.c.
-
- * NEWS: Add a line for 6.1-cvs.
- * configure.ac (AC_INIT): Bump to 6.1 and add "-cvs" suffix.
-
-2006-08-15 Jim Meyering <jim@meyering.net>
-
- * Version 6.0.
- * NEWS: Record the 6.0 release date.
- * configure.ac (AC_INIT): Remove "-cvs" suffix from version string.
-
- * TODO: Add an item (convert to use gnulib-tool), add to the plan
- for id-vs-getgrouplist, and remove a few completed items.
-
- * Makefile.maint (alpha beta major): Fix syntax error.
-
-2006-08-13 Jim Meyering <jim@meyering.net>
-
- * src/shred.c (usage): Don't indent the second line of an item.
- Otherwise, help2man would misformat the output.
- Reported by Adam Buchbinder in <https://launchpad.net/bugs/48917>.
-
-2006-08-11 Paul Eggert <eggert@cs.ucla.edu>
-
- * configure.ac (AM_GNU_GETTEXT): Upgrade to need-formatstring-macros.
- Suggested by Eric Blake to avoid problems like
- <http://lists.gnu.org/archive/html/bug-coreutils/2006-07/msg00087.html>.
-
-2006-08-11 Jim Meyering <jim@meyering.net>
-
- * tests/ls/stat-vs-dirent: Too many (losing) systems trigger the
- failure that this test checks for (stat/dirent inode mismatch at
- a mount point), so continue to give a diagnostic about the failure,
- but don't actually count it as a failure.
-
-2006-08-10 Paul Eggert <eggert@cs.ucla.edu>
-
- * ABOUT-NLS: Update from gettext 0.15.
- * configure.ac (AM_GNU_GETTEXT_VERSION): Update from 0.13.1 to 0.15.
-
- * src/csplit.c (struct control): Remove fastmap member.
- (extract_regexp): Allocate fastmap separately, since otherwise
- it might move due to a realloc. This fixes a bug that led
- to a core dump on 64-bit sparc Solaris 10 (Sun Studio 10).
-
-2006-08-10 Jim Meyering <jim@meyering.net>
-
- * tests/ls/stat-dtype: If "." is tmpfs, skip this test unless uname -s
- reports "Linux". This avoids a failure on Solaris 10's tmpfs.
- Redirect both stdout and stderr of df invocations.
-
- * src/dircolors.hin: Add a TERM directive for each of the following:
- ansi, color-xterm, gnome, konsole, kterm, rxvt-cygwin,
- rxvt-cygwin-native, screen.linux, xterm-256color.
- Sort the TERM directives.
- From Mike Frysinger.
-
-2006-08-09 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/dd.c (usage): Warn about oflag=append without conv=notrunc.
- See Debian bug 373736.
-
- * src/dircolors.hin: Add mlterm, rxvt-unicode; this fixes Debian
- bug 317503.
-
- * src/.cvsignore: Add shuf.
-
- * Makefile.maint: Remove the po-update procedure; it doesn't
- work with the new repository on http://www.iro.umontreal.ca/.
- For now I guess we'll have to fix things by hand.
- (do-po-update, po-update): Remove. All references removed.
-
- * src/shuf.c (next_line): New function.
- (read_input): Use it, to avoid relying on GCC-specific behavior
- with void * arithmetic. Problem reported by Bob Proulx.
- * Makefile.maint (my-distcheck): Compile with -Wpointer-arith
- to detect this sort of problem automatically in the future.
-
-2006-08-09 Jim Meyering <jim@meyering.net>
-
- * src/ls.c: Add a compile-time check to ensure that filetype
- and filetype_letter have the same number of elements.
-
- * tests/misc/sort-rand: Remove use of --seed=S.
-
-2006-08-08 Paul Eggert <eggert@cs.ucla.edu>
-
- Add a command 'shuf', and modify shred and sort to use the new
- random number generator library of 'shuf'.
-
- * AUTHORS: Add shuf.
- * README: Likewise.
- * NEWS: Likewise. Mention new --random-source option for shred
- and sort. Move "sort +1 -2" notice to the appropriate section,
- and clarify its role with respect to POSIXLY_CORRECT.
- * man/.cvsignore: Add shuf.1.
- * man/Makefile.am (dist_man_MANS): Add shuf.1.
- (shuf.1): New dependency.
- * man/shuf.x: New file.
- * src/Makefile.am (bin_PROGRAMS): Add shuf.
- (EXTRA_DIST): Remove rand-isaac.c.
- (shuf_LDADD): New macro.
- * src/rand-isaac.c: Remove, moving most of its contents to
- lib/rand-isaac.c.
- * src/shuf.c: New file.
- * src/shred.c: Use new random-number interface rather than rand-isaac.c.
- Don't include rand-isaac.c; include randint.h and randread.h instead.
- (RANDOM_SOURCE_OPTION): New enum.
- (long_opts, usage, main): New option --random-source.
- * src/sort.c: Likewise.
- * src/shred.c (struct irand_state, irand_init, irand32, irand_mod): Remove.
- All callers changed to use randint interface.
- (fillrand): Remove. All callers changed to use randread interface.
- (dopass): Remove dependency on ISAAC buffer size.
- (genpattern): Don't wipe the random state here.
- (randint_source): New static var.
- (clear_random_data): New function.
- (main): Allocate random source, and arrange to wipe it on exit.
- * src/sort.c: Include md5.h, randread.h, xmemxfrm.h.
- (longopts, usage, main): Remove undocumented --seed option;
- it's now replaced by --random-source.
- (rand_state, get_hash): Remove.
- (randread_source): New static var.
- (random_state, cmp_hashes, compare_random): New functions; they guarantee
- no collisions in the random hash function.
- (keycompare): Use compare_random for -R; don't fall back on comparing
- via memcoll, since compare_random does the right thing.
- * tests/misc/Makefile.am (TESTS): Add shuf.
- * tests/misc/shuf: New file.
-
-2006-07-29 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/copy.c (set_author): Preserve the st_author field via the
- file descriptor dest_desc.
-
-2006-07-28 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: chmod now preserves setuid and setgid bits on directories
- if you use a numeric mode with them clear, e.g., "chmod 755 DIR".
-
- Fix test case problems if working directory is setgid,
- reported by Bob Proulx.
- * tests/cp/fail-perm: Use symbolic mode so that we clear
- setgid bit more reliably on directories.
- * tests/mkdir/special-1 (set_mode_string): Likewise.
-
-2006-07-27 Jim Meyering <jim@meyering.net>
-
- * src/chgrp.c (usage): Use correct grammar in description of the
- --reference option
- * src/chown.c (usage): Likewise.
-
-2006-07-26 Thomas Schwinge <tschwinge@gnu.org> (tiny change)
-
- * src/copy.c (set_author) [HAVE_STRUCT_STAT_ST_AUTHOR]:
- Correctly access SRC_SB's element ST_AUTHOR.
-
-2006-07-26 Jim Meyering <jim@meyering.net>
-
- * tests/ls/stat-failed: Adapt to match new expected output.
- From Paul Eggert.
-
- * src/ls.c (print_color_indicator): Test for S_IFREG first, rather
- than having the code test for all of the other types first.
- Hoist the set-uid/gid-testing code "up" into this new block.
- Classify any other type of file (e.g., S_TYPEISSHM, etc.) as
- C_ORPHAN, not as C_FILE.
-
-2006-07-26 Jim Meyering <jim@meyering.net>
-
- Checking in a change from Paul.
-
- 2006-07-25 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/ls.c (DT_INIT): Remove. All uses removed.
- (enum filetype): Use an ordinary enum rather than trying to keep
- the values in sync with DT_FIFO etc. That way, we don't have
- to make special assumptions about them. All uses changed.
- (whiteout): New constant member of enum filetype.
- (filetype_letter): New constant, for use with enum filetype.
- (FILETYPE_INDICATORS): New initializer list.
- (print_dir): Add case for DT_WHT.
- (gobble_file): If stat fails, don't discard information from
- readdir; instead, preserve it so it can be printed.
- (print_long_format): Fall back on readdir result if stat info
- is not available. Use "?" to denote each unknown mode char,
- instead of an overall "?", since we now know some of the mode
- typically.
- (print_type_indicator): Now that MODE isn't necessarily
- useful, guard all uses.
- Now that two blocks in the type-checking tree can set "type = C_FILE",
- move the suffix-handling code out and down.
-
-2006-07-26 Jim Meyering <jim@meyering.net>
-
- Prepare for the above change.
- * src/ls.c [struct fileinfo] (stat_ok): Rename from stat_failed,
- and adjust uses. From a patch by Paul Eggert.
-
-2006-07-26 Jim Meyering <jim@meyering.net>
-
- * src/ls.c: Correct indentation/formatting in a few places.
-
-2006-07-25 Paul Eggert <eggert@cs.ucla.edu>
-
- * tests/cp/fail-perm: Use "chmod 0500" rather than "chmod 500".
- Problem report and fix from Bob Proulx.
- * NEWS: Clarify the "chmod 0500" news, and correct the vague
- statements about compatibility with BSD.
-
-2006-07-25 Jim Meyering <jim@meyering.net>
-
- * src/ls.c (gobble_file): When handling a stat-failed entry,
- print the entry name not the absolute_name -- to be consistent
- with the usual case.
- * tests/ls/stat-failed: Update accordingly.
-
- * src/ls.c: Add parens around the new uses of ?: ternary operator.
-
- * src/dircolors.hin: Mention that ORPHAN refers not just to dangling
- symlinks.
-
- Get --dired offsets right when handling stat-failed entries.
- * src/ls.c (print_long_format): Be careful to increment P by the
- appropriate amount, even when inode_number_width and nlink_width
- are zero.
- * tests/ls/stat-failed: Test for the above.
-
- * src/ls.c (gobble_file) [USE_ACL]: Don't use-uninitialized the
- have_acl member. That would happen for a directory with both a
- non-stat'able entry and one with an ACL.
-
- * src/ls.c (gobble_file): Make it so failure to stat a
- non-command-line file provokes an exit status of 1, not 0.
- Say "cannot access" rather than "cannot stat".
- * tests/ls/stat-failed: New file/test, for the above.
- * tests/ls/Makefile.am (TESTS): Add stat-failed.
- * tests/ls-2/tests (no-a-isdir-b): Update to reflect addition
- of "cannot access " to diagnostic.
-
- * src/ls.c: Declare stat_failed to be "bool", not "int" everywhere.
-
- * src/ls.c [enum filetype] (command_line): Remove member. Not needed.
- Replace all occurrences of "type == command_line" with the
- equivalent, "command_line_arg".
-
- * src/ls.c: Apply the stat-failed parts of Red Hat's
- coreutils-selinux.patch. From Ulrich Drepper.
- This makes it so files not mentioned on the command line (e.g.,
- names read from a directory that *is* mentioned on the command
- line) for which stat fails are still listed. With --color,
- such files are colored just like ORPHANs (aka dangling symlinks).
-
- * src/df.c (n_valid_args): Declare global to be static.
-
-2006-07-24 Jim Meyering <jim@meyering.net>
-
- * tests/ls/stat-dtype: Skip this test on reiserfs, since that file
- system lacks d_type support.
-
-2006-07-22 Paul Eggert <eggert@cs.ucla.edu>
-
- * man/chmod.x: Update to reflect recent changes to coreutils.texi.
-
-2006-07-21 Jim Meyering <jim@meyering.net>
-
- * src/su.c (usage): Correct typo in --help output: s/commmand/command/
- Reported by Tim Waugh.
- Also remove the comment duplicating much of --help output.
-
- * src/ls.c (FILE_TYPE_INDICATOR_OPTION): Reposition this new
- name so the list remains alphabetized.
-
- Fix another bug: ls --indicator-style=file-type would call
- stat for a symlink, even though it wasn't always needed.
- In some cases, that unnecessary stat would cause ls to fail.
- * src/ls.c (gobble_file): Don't treat symlinks specially (in
- requiring a stat syscall). Remove the offending exclusion.
-
- * NEWS: Mention the fix.
-
- * tests/ls/stat-dtype: New file/test, for the above fix.
- Also exercises the new df feature, below.
-
- * src/df.c (main): Fail and don't print the headers if no
- file system is processed. This makes it easy to test whether
- a specified directory is on a file system of a given type or types.
- Otherwise, applications would have had to parse df's output.
- E.g., is "." either ext3 or reiserfs: df -t ext3 -t reiserfs .
-
- Fix a bug: ls --file-type worked like --indicator-style=slash,
- rather than like --indicator-style=file-type.
- * src/ls.c (FILE_TYPE_INDICATOR_OPTION): New enum member.
- (long_options): Map "file-type" to FILE_TYPE_INDICATOR_OPTION,
- not to 'p'.
- (decode_switches): Handle new case: FILE_TYPE_INDICATOR_OPTION.
- * NEWS: Mention the fix.
- * tests/ls-2/tests (file-type): New test, for the above fix.
-
-2006-07-19 Jim Meyering <jim@meyering.net>
-
- * src/ls.c (print_dir): Give a better diagnostic for failed opendir.
-
- * Makefile.am (EXTRA_DIST): Add build-aux/vc-list-files.
-
-2006-07-16 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: chmod, install, and mkdir now leave setgid and setuid bits
- of directories alone unless you specify them explicitly.
- install and mkdir now implement X correctly.
- install now creates parent directories with mode 755, without
- changing their owner or group.
- * src/chmod.c (process_file): Adjust to mode_adjust API change.
- * src/install.c: Include mkancesdirs.h.
- (announce_mkdir, make_ancestor): New functions.
- (DEFAULT_MODE): New macro, specifying initial value of 'mode'.
- (mode): Use it.
- (dir_mode, dir_mode_bits): New vars.
- (main): Set dir modes separately from nondir, so that the X
- op of -m works correctly.
- (main): Remove cwd_errno cruft, since make_dir_parents no longer
- affects cwd. Adjust to new make_dir_parents API.
- (install_file_in_file_parents): 2nd arg is now char *, not char
- const *. Use mkancesdirs instead of rolling our own code.
- (change_attributes): Don't worry about AFS, since that kludge
- should not be needed any more.
- * src/mkdir.c (struct mkdir_options): New struct.
- (announce_mkdir, make_ancestor): New functions.
- (main): Use them. Adjust to mode_adjust API change. Stick with
- umask 0. Use make_dir_parents for all the work.
- * src/mkfifo.c (main): Adjust to new mode_adjust API.
- * src/mknod.c (main): Likewise.
- * tests/chmod/setgid: Do the setgid test instead of bailing.
- * tests/mkdir/p-3: Remove re_protect case that no longer applies.
- GNU chmod now behaves like other versions of chmod.
- * tests/mkdir/perm: Add a test for the X bug.
-
-2006-07-14 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/base64.c (do_decode): Output to parameter OUT, not to stdout.
- This doesn't fix any bugs, since OUT always equals stdout, but it
- makes the code easier to understand.
-
-2006-07-14 Jim Meyering <jim@meyering.net>
-
- * Makefile.maint (CVS_LIST): Use new file, build-aux/vc-list-files,
- rather than open-coding it. Now supports mercurial, too.
- * .hgignore: New file.
- * Makefile.am (EXTRA_DIST): Add .hgignore, which ignores nearly
- all generated files, including ones like configure and po/*.po
- that are currently version-controlled in cvs.
-
- * Makefile.am (EXTRA_DIST): Add a few more .??* files.
- They've been in CVS, just haven't been distributed before this.
- Distribute ChangeLog-2005, too.
- (MAINTAINERCLEANFILES): Add THANKS-to-translators.
-
-2006-07-11 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/system.h: Assume <dirent.h> exists, since gnulib assumes
- this now as well.
-
-2006-07-09 Jim Meyering <jim@meyering.net>
-
- * tests/mv/dir2dir: Adjust so failing with ENOTEMPTY is ok, too.
- That happens with Linux/tmpfs.
- * tests/mv/Makefile.am (TESTS): Add dir2dir.
-
-2006-07-09 Paul Eggert <eggert@cs.ucla.edu>
-
- Adjust to recent updates from gnulib.
- * src/dd.c (apply_translations): Use toupper rather than
- islower followed by toupper; it's simpler and typically
- faster now that we assume at least C89 semantics. Similarly
- for tolower.
- * src/sort.c (inittables): Likewise.
- * src/expand.c (expand): Don't assume that isprint etc. return
- booleans (needed for pre-C99 hosts).
- * src/fmt.c (check_punctuation): Likewise.
- * src/ptx.c (initialize_regex, fix_output_parameters): Likewise.
- * src/tr.c (is_char_class_member): Likewise.
- * src/unexpand.c (unexpand): Likewise.
- * src/join.c (is_blank): Remove; no longer needed. All uses
- replaced by isblank (to_uchar (...)).
- * src/pinky.c (create_fullname): Don't assume char is unsigned.
- * src/printf.c (print_esc): Likewise.
- * src/ptx.c (SKIP_NON_WHITE, SKIP_WHITE, SKIP_WHITE_BACKWARDS):
- (copy_unescaped_string): Likewise.
- * src/stat.c (print_it): Likewise.
- * src/system.h (_D_EXACT_NAMELEN): Renamed from NLENGTH, for
- convenience on GNU systems. All uses changed. Don't bother
- looking for any dirent.h substitute other than ndir.h.
- (D_INO): Remove unnecessary parentheses.
- (IN_CTYPE_DOMAIN, ISGRAPH, ISPRINT, ISALNUM, ISALPHA):
- (ISCNTRL, ISLOWER, ISPUNCT, ISSPACE, ISUPPER, ISXDIGIT):
- (ISDIGIT_LOCALE, TOLOWER, TOUPPER): Remove. All uses changed
- to ctype.h equivalents.
- (isblank): Renamed from ISBLANK. Check for HAVE_DECL_ISBLANK too.
- All uses changed.
-
-2006-07-08 Jim Meyering <jim@meyering.net>
-
- * tests/mv/dir2dir: New file, test for 2006-07-05 fix in copy.c.
-
- * Makefile.maint (sc_the_the): New rule.
-
- * src/dd.c (skip): Remove one of two adjacent "the"s in a comment.
- * tests/Coreutils.pm (run_tests): Remove one of two adjacent "then"s
- in a comment.
-
-2006-07-07 Jim Meyering <jim@meyering.net>
-
- * NEWS: Mention that mv can now remove an empty destination directory,
- and give an example. Prompted by a report from Florent Bayle.
-
-2006-07-05 Jim Meyering <jim@meyering.net>
-
- * src/ls.c (usage): Correct the description of -G: it is useful
- only in a long listing. Reported by Martin Pool in
- <https://launchpad.net/distros/ubuntu/+source/coreutils/+bug/51653>.
-
- * man/chmod.x: Correct the description of the sticky bit. Reported
- by Chris Moore via Ian Jackson in <http://bugs.debian.org/376745>.
-
- * src/copy.c (copy_internal): Don't work around old NFS clients like
- SunOS-4.1.4 and Irix 5.3 that set errno to values like EIO and
- ENOTEMPTY upon failed rename. Otherwise, we risk misinterpreting
- a banal failure as a recursive move-into-self failure.
- Reported by Florent Bayle in <http://bugs.debian.org/376749>.
-
- * src/c99-to-c89.diff: Regenerate, to remove fuzz.
-
-2006-07-03 Jim Meyering <jim@meyering.net>
-
- Plug another unusual leak.
- (AD_mark_helper): Free malloc'd filename if hash_insert says
- that string is already in the hash table.
-
- The dev/inode of the topmost directory in each hierarchy were not
- being recorded.
- * src/remove.c (remove_cwd_entries): Don't call cycle_check here.
- (AD_push): Call it from here instead.
-
- Fix two small leaks.
- * src/remove.c (AD_stack_clear): New function.
- (rm_1): Use it.
- (AD_pop_and_chdir): Free *prev_dir just before longjmp.
-
- * tests/Makefile.am, tests/*/Makefile.am: (TESTS_ENVIRONMENT):
- Add $VG_PATH_PREFIX as a prefix to $PATH
-
- * tests/envvar-check (vars): Add CDPATH and POSIXLY_CORRECT.
- * tests/Makefile.am (evar-check): Remove rule.
- (EXTRA_DIST): Remove .env-warn.
- * tests/.env-warn: Remove file. No longer used.
- Suggestion from Eric Blake.
-
-2006-07-02 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/system.h: Include <stdint.h> unconditionally, since we
- now assume the stdint module.
-
-2006-07-01 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: With no operand, 'tail -f' now silently ignores the '-f'
- only if standard input is a FIFO or pipe and POSIXLY_CORRECT is set.
- * src/tail.c (main): Implement this.
- * tests/tail/Test.pm (f-pipe-1): Renamed from f-1.
- (test_vector): Set POSIXLY_CORRECT for the f-pipe-* tests.
-
-2006-07-01 Jim Meyering <jim@meyering.net>
-
- * src/ln.c (do_link): Use new, shorter URL, for ag-review link.
-
- * .x-sc_require_config_h: Add ^lib/xstrtold\.c$, so make distcheck
- passes once again.
-
-2006-06-30 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: seq now uses long double internally rather than double.
- It now defaults to a minimal fixed point format if possible.
- It lets you use %a, %A, %E, %F, %G.
- * src/Makefile.am (seq_LDADD): Remove $(SEQ_LIBM); add $(POW_LIB).
- * src/seq.c: Don't include <math.h> or <xstrtol.h>; no longer needed.
- (isfinite) [!defined isfinite]: New macro.
- (separator, terminator): Now points to const.
- (first, step, last): Remove.
- (usage): Update to match new behavior.
- (struct operand, operand): New type.
- (scan_arg): Renamed from scan_double_arg, since we no longer use double.
- All uses changed.
- Compute and return a value of type operand, not double.
- (long_double_format): Renamed from valid_format, and now returns a
- new format with an "L" added if needed, if the original format was
- valid. Allow %a, %A, %E, %F, and %G formats.
- (print_numbers): Take numeric values as args rather than from globals.
- Print long double, not double.
- (get_width_format): Remove.
- (get_default_format): New function.
- (main): Implement new way of calculating default format.
- Don't worry about locale's representation of the decimal point, since
- the arguments are always processed in the C locale.
- * tests/seq/basic (neg-2): Adjust to new default format.
- (eq-wid-1, eq-wid-2): Resurrect these tests, since the new
- implementation should do the right thing.
-
-2006-06-30 Jim Meyering <jim@meyering.net>
-
- * tests/stty/basic-1: Work around an intermittent test failure
- on HP-UX 11.11. Report and analysis from Bob Proulx.
- http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/7475
-
-2006-06-28 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: Support obsolete usages like "sort +1 -2" even when
- conforming to POSIX 1003.1-2001, since this is a pure extension to
- POSIX. Problem reported by Christian in:
- http://lists.gnu.org/archive/html/bug-coreutils/2006-06/msg00220.html
- * src/sort.c (main): Implement this.
-
- * src/system.h (CLOSEDIR): Remove. All uses changed to closedir.
- Autoconf 2.60 says this stuff was obsolete.
-
-2006-06-28 Jim Meyering <jim@meyering.net>
-
- * src/c99-to-c89.diff: Regenerate, to remove fuzz.
-
-2006-06-28 Bob Proulx <bob@proulx.com> (tiny change)
-
- * tests/mv/i-link-no: Work around HP-UX /bin/sh tracing problem
- (set -x when VERBOSE=yes) when stderr is redirected before stdout
- causing shell tracing of the stdout redirection to be written to
- the stderr file. Avoid problem and test failure on HP-UX by
- redirecting stderr last.
- * tests/dd/unblock-sync: Order shell file redirections for
- stderr and stdout in the common style.
- tests/acl: Likewise.
-
-2006-06-27 Jim Meyering <jim@meyering.net>
-
- * tests/misc/cat-proc: Try to avoid any spurious numeric
- differences in frequently-changing /proc/cpuinfo.
- Reported by Nelson Beebe.
-
-2006-06-26 Jim Meyering <jim@meyering.net>
-
- Attempt rmdir (actually, unlinkat-with-AT_REMOVEDIR) upon any
- fd_to_subdirp failure, not just when errno == EACCES.
- * src/remove.c (remove_dir): Use unlinkat-with-AT_REMOVEDIR, not
- rmdir, here, even though rmdir may happen to be adequate.
-
- * NEWS: rm no longer fails to remove an empty, unreadable directory
- * src/remove.c (remove_cwd_entries): If we can't open a directory,
- and the failure is not being ignored, try to remove the directory
- with rmdir (aka unlinkat-with-AT_REMOVEDIR), in case it's empty.
- Problem report and test case from Paul Eggert in
- <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/7425>.
-
- * tests/rm/empty-inacc: New test, for the above.
-
- Avoid a segfault for wc --files0=- < /dev/null.
- * src/wc.c (compute_number_width): Return right away if nfiles == 0.
-
-2006-06-25 Jim Meyering <jim@meyering.net>
-
- * NEWS: wc accepts a new option --files0-from=FILE, where FILE
- contains a list of NUL-separated file names.
-
- * src/wc.c: Include "readtokens.h".
- (usage): Describe the new option, and adjust the `Usage':
- with this option, no FILE may be specified on the command line.
- (main): Handle the new option.
- * tests/misc/wc-files0: New tests, for the above.
- * tests/misc/wc-files0-from: Likewise.
- * tests/misc/Makefile.am (TESTS): Add wc-files0.
-
-2006-06-24 Jim Meyering <jim@meyering.net>
-
- * src/md5sum.c (DIGEST_BUFFER): Remove now-unused definitions.
-
-2006-06-22 Jim Meyering <jim@meyering.net>
-
- * src/tee.c (tee_files): Rename from tee, to avoid conflict with
- the function in glibc's <fcntl.h>. Reported by Andreas Schwab.
-
-2006-06-19 Jim Meyering <jim@meyering.net>
-
- * Makefile.cfg (local-checks-to-skip): Add changelog-check,
- so this check is not run as part of "make distcheck".
-
-2006-06-18 Bob Proulx <bob@proulx.com> (tiny change)
-
- * tests/misc/pwd-long: Fix typo (s/neq/ne/) in previous change.
-
-2006-06-18 Jim Meyering <jim@meyering.net>
-
- * tests/misc/pwd-long: Make error output a little clearer.
-
-2006-06-17 Jim Meyering <jim@meyering.net>
-
- * tests/rm/inaccessible: Skip this test on systems without openat
- support. Reported by Bob Proulx.
-
-2006-06-15 Bob Proulx <bob@proulx.com> (tiny change)
-
- * tests/misc/mknod: Improve permission checks to handle
- running mkdir test in set-gid directories.
-
-2006-06-14 Jim Meyering <jim@meyering.net>
-
- * tests/du/basic: Revamp not to hard-code file system block sizes.
-
-2006-06-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * tests/du/Makefile.am (TESTS_ENVIRONMENT): Pass $(PERL), for
- files0-from test.
-
-2006-06-11 Jim Meyering <jim@meyering.net>
-
- * .gitignore: New file.
- * Makefile.am (EXTRA_DIST): Add .gitignore.
-
- Setting TIME_STYLE=long-iso in the environment would make the
- cp/same-file test fail.
- * tests/envvar-check (vars): Add TIME_STYLE to the list.
- * tests/cp/same-file: Revert last change.
- Source the envvar-check script, to ensure that TIME_STYLE
- settings don't affect these tests.
-
-2006-06-11 Paul Eggert <eggert@cs.ucla.edu>
-
- * tests/cp/same-file: Execute 'ls' in the C locale, so that it
- uses POSIX time stamp formats. Problem reported by John Nixon in
- <http://lists.gnu.org/archive/html/bug-coreutils/2006-06/msg00062.html>.
-
-2006-06-10 Jim Meyering <jim@meyering.net>
-
- * NEWS: Mention the AIX-strndup-bug vs. dircolors workaround.
-
- Require a "Version N.M" line at the top of the ChangeLog
- file only when making the actual release, not when running
- "make distcheck".
- * Makefile.maint (maintainer-distcheck): Don't depend on
- changelog-check.
- (alpha beta major): Depend on it here, instead.
-
-2006-06-08 Jim Meyering <jim@meyering.net>
-
- Ensure that cat works with any of the options, -A -v -e -E -T,
- when applied to files in /proc and /sys, even when the FIONREAD
- ioctl produces nonsensical results. Before this change, cat would
- produce no output (or truncated output), for some linux kernels.
-
- * src/cat.c (write_pending): New function, factored out of cat.
- (cat): Also interpret a negative ioctl/FIONREAD count as indicating
- that there are bytes to read. Some versions of linux-2.6.16 do that.
- Write any pending output before returning.
- Reported by Dan Jacobson in <http://bugs.debian.org/370583>.
- * NEWS: Mention this bug fix.
- * tests/misc/cat-proc: New file. Test for the above.
- * tests/misc/Makefile.am (TESTS): Add cat-proc.
-
-2006-06-07 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/expr.c (eval4): Detect overflow properly when multiplying
- INTMAX_MIN * -1.
-
-2006-06-06 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: The 'expr' command now detects and reports integer overflow.
- (It would be better to use extended precision instead, but that
- would be more work.)
- * src/expr.c (integer_overflow): New function.
- (eval4, eval3): Check for integer overflow.
-
-2006-06-05 Paul Eggert <eggert@cs.ucla.edu>
-
- Fix problems when building with Solaris/SVR4/etc. make, which uses a
- different and somewhat bogus implementation of VPATH. In the
- directory tests/misc, rename tests whose names might appear in the
- Automake-generated rules. For example, we can't use a test named
- 'test', since Automake generates a rule that contains the text
- "if test -f ./$$tst; ...", and this might expand to something like
- "if ../../../coreutils-6.0/tests/misc/test -f ./$$test; ...",
- which executes the 'test' script rather than the 'test' command.
- * tests/misc/false-status: Renamed from tests/misc/false.
- * tests/misc/pwd-long: Renamed from tests/misc/pwd.
- * tests/misc/sort-merge: Renamed from tests/misc/sort.
- ($prog): Set to 'sort' rather than to $PROG.
- * tests/misc/test-diag: Renamed from tests/misc/test.
- * tests/misc/Makefile.am (PROG): Take the basename of $$tst,
- in case Solaris make has prepended the directory.
- (TESTS): Adjust to above renamings.
- * tests/misc/expand: Don't assign to PROG; no longer needed
- now that Makefile.am sets PROG to the basename.
- * tests/misc/fold: Likewise.
-
-2006-06-03 Jim Meyering <jim@meyering.net>
-
- Make `cp --link --no-dereference' work also on systems where the
- link system call cannot create a hard link to a symbolic link.
- * src/copy.c (copy_internal) [LINK_FOLLOWS_SYMLINKS]: Don't use
- the link syscall on a symlink when it would do the wrong thing.
- Based on the patch by Aurelien Jarno: <http://bugs.debian.org/329451>
- * tests/cp/link-no-deref: New file/test for the above.
- * tests/cp/Makefile.am (TESTS): Add link-no-deref.
- * NEWS: Mention the change (doesn't affect Linux).
-
-2006-06-01 Paul Eggert <eggert@cs.ucla.edu>
-
- Fix some porting problems in the test cases reported by
- Ralf Wildenhues for HP-UX 11.23 in:
- http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00238.html
- * tests/help-version: Don't assume that \< \> works in sed.
- * tests/misc/close-stdout: Don't assume that >&- works.
- Add a /dev/full test.
- * tests/touch/no-create-missing: Don't assume that >&- works.
-
-2006-05-30 Jim Meyering <jim@meyering.net>
-
- * src/ls.c (usage): Add `v' to the list of sorting-related options.
- From Justin Pryzby.
-
-2006-05-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * tests/cp/fail-perm: source lang-default.
- * tests/rm/inaccessible: Likewise.
-
-2006-05-28 Jim Meyering <jim@meyering.net>
-
- * tests/rm/inaccessible: AIX 4.3.3 gives a different diagnostic.
- Recognize it, too. Reported by Ralf Wildenhues, in
- http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00192.html
-
-2006-05-27 Jim Meyering <jim@meyering.net>
-
- * src/chgrp.c: Support new options: --preserve-root and
- --no-preserve-root. Somehow this program was skipped when those
- options were added to chown, chmod, and rm. Reported by
- vaqflabuopac@spammotel.com in <http://bugs.debian.org/365656>.
- * NEWS: Mention this.
-
-2006-05-25 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: Remove mention of --seed. We'll replace it with something
- better, and don't want to indicate that it is supported.
- * src/sort.c (usage): Likewise.
-
-2006-05-20 Jim Meyering <jim@meyering.net>
-
- * src/chmod.c (main): Use FTS_PHYSICAL here, too.
-
- * src/du.c (main): Rename local, s/symlink_deref_bit/symlink_deref_bits/
- and arrange for -D to set fts' FTS_PHYSICAL bit as well as
- FTS_COMFOLLOW. Spotted by Justin Pryzby.
-
- * gnupload: Merge changes from automake, retaining the ""--to...
- kludge to placate overzealous `make distcheck' check.
-
-2006-05-19 Jim Meyering <jim@meyering.net>
-
- * src/du.c (main): Don't let -D, -L, or -P turn off the internal
- FTS_TIGHT_CYCLE_CHECK directory traversal option.
- Reported by Justin Pryzby in http://bugs.debian.org/367691
-
-2006-05-15 Jim Meyering <jim@meyering.net>
-
- * src/cp.c (usage): Correct description of -a: s/-dpR/-dpPR/.
- From Tomas Pospisek.
-
-2006-05-13 Jim Meyering <jim@meyering.net>
-
- * tests/mv/no-target-dir: Test two more cases.
-
-2006-05-11 Jim Meyering <jim@meyering.net>
-
- mv -T DIR EMPTY_DIR no longer fails unconditionally
- * src/copy.c (copy_internal): Don't manually prohibit a move where
- the destination is an existing directory. Sometimes doing that is
- valid. Let the rename system call enforce the rules. That is
- allowed only when the source is a directory and the destination
- directory (to be replaced) is empty. Reported by Eric Blake.
- * tests/mv/no-target-dir: New file/test for this.
- * tests/mv/Makefile.am (TESTS): Add no-target-dir.
- * NEWS: Mention this.
-
- * tests/mv/atomic: New file/test for yesterday's fix.
- * tests/mv/Makefile.am (TESTS): Add atomic.
-
- * tests/du/long-sloop: Avoid harmless `ambiguous redirect' diagnostic.
-
-2006-05-10 Jim Meyering <jim@meyering.net>
-
- * src/copy.c (copy_internal): Don't explicitly unlink the destination
- when moving a symlink into the place of an existing non-directory.
- Reported by Joshua Hudson.
- * NEWS: mention this.
-
-2006-05-07 Jim Meyering <jim@meyering.net>
-
- * Makefile.maint (patch-check): Fail if patch generates any output,
- even merely for changed offsets.
-
- * src/c99-to-c89.diff: Adjust to reflect new offsets.
-
- * NEWS: Mention changes affecting df, pwd, shred.
-
-2006-05-06 Jim Meyering <jim@meyering.net>
-
- * tests/ls/stat-vs-dirent: New test, to detect the bogus file
- system condition where dirent.d_ino != stat.st_ino.
- * tests/ls/Makefile.am (TESTS): Add stat-vs-dirent.
-
-2006-05-06 Eric Blake <ebb9@byu.net>
-
- * tests/ls/inode: Expand to test inode from readdir case.
- * tests/ls/follow-slink: Expand to test broken links encountered
- implicitly, favoring Solaris 9 and OpenBSD 3.4 behavior.
-
-2006-05-06 Eric Blake <ebb9@byu.net>
-
- * tests/mv/leak-fd: Work even on case-insensitive file system.
-
-2006-05-04 Jim Meyering <jim@meyering.net>
-
- * NEWS: Mention the 2006-03-19 pwd-related change that makes
- lib/getcwd.c work around inconsistent file system dirent.d_ino data.
-
-2006-05-03 Jim Meyering <jim@meyering.net>
-
- * src/ls.c (DEFINE_SORT_FUNCTIONS, LIST_SORTFUNCTION_VARIANTS):
- Use better macro parameter names: s/basename/key_name/,
- s/basefunc/key_cmp_func. Fix typo in comment.
-
-2006-04-29 Eric Blake <ebb9@byu.net>
-
- * src/ls.c (main): On systems with d_type, directories_first only
- implies format_needs_type, not format_needs_stat.
-
-2006-05-03 Jim Meyering <jim@meyering.net>
-
- * src/ls.c (xstrcoll_df_version, rev_xstrcoll_df_version): Add space
- after comma in arg list, from Eric Blake.
-
-2006-04-25 Paul Eggert <eggert@cs.ucla.edu>
-
- * tests/misc/date (relative-3): New test, derived from a bug
- report by John Thomas McDole.
-
-2006-04-23 Francesco Montorsi <fr_m@hotmail.com>
-
- New option for ls: --group-directories-first.
- It makes ls list directories before files.
- * NEWS [New features]: Mention it.
- * src/ls.c (sort_type): Rearrange to use as an array index when
- choosing sort function; added new sort_numtypes member for
- compile-time check.
- (time_type): Add new time_numtypes member for compile-time check.
- (directories_first): New global variable.
- (GROUP_DIRECTORIES_FIRST_OPTION): New enum.
- (long_options): Add --directories-first.
- (main): Support new option.
- (is_directory): New function.
- (extract_dirs_from_files): Use it.
- (DIRFIRST_CHECK, DEFINE_SORT_FUNCTIONS)
- (LIST_SORTFUNCTION_VARIANTS): New macros.
- (sort_functions): New global variable.
- (sort_files): Use it.
- (usage): Document new option.
-
-2006-04-18 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/shred.c (fillrand): The assertion was way too weak, due to
- what must be a typo. Strengthen it to its intended value.
- (dopass): Don't use alloca; it's not worth the aggravation here,
- since it's used only to get a page-aligned buffer, and page
- alignment doesn't buy us much here. I'm suspicious that alloca
- causes problems on some hosts, due to a recent bug report by Adam
- Waltman: http://bugs.gentoo.org/130246.
-
-2006-04-18 Jim Meyering <jim@meyering.net>
-
- * tests/misc/tty-eof: Add new programs, base64, sha224sum, sha256sum,
- sha384sum, sha512sum.
-
-2006-04-17 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/chmod.c (describe_change): Adjust to filemode changes.
- * src/ls.c (HAVE_ST_DM_MODE): Remove; moved to ../lib/filemode.c.
- (print_long_format): Use (new) filemodestring rather than
- (old) mode_string, so that we get more file types right, at least
- in theory. Adjust to filemode changes.
- * src/stat.c (human_access): Likewise.
-
-2006-04-18 Jim Meyering <jim@meyering.net>
-
- * src/ptx.c (main) [DEFAULT_IGNORE_FILE]: Remove code to use a default
- ignore file. This has never been enabled. Reported by Eric Blake.
-
-2006-04-12 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/ln.c (linkfunc): Remove. This method ran into a compiler/linker
- bug in Interix. Just call symlink or link directly. All uses changed.
- * src/setuidgid.c (main) [! HAVE_SETGROUPS]: Don't call setgroups.
- * src/stat.c (USE_STATVFS): New macro.
- Include <sys/statvfs.h> and use statvfs only if USE_STATVFS.
- (NAMEMAX_FORMAT): define a bit more clearly, now that the
- statvfs-using code is a bit more regular.
- * src/system.h (sync) [!HAVE_SYNC]: New macro.
-
-2006-04-11 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: csplit, nl, expr now conform to POSIX better, and are
- more-compatible with traditional Unix, with respect to regular
- expressions.
- * src/csplit.c (extract_regexp): Set re_syntax_options to a
- value that is compatible with what POSIX requires.
- * src/nl.c (build_type_arg): Likewise.
- * src/expr.c (docolon): Likewise. Also, don't let anchors match
- newline; this fixes an incompatibility with tradition and with POSIX.
- Don't warn about leading ^. POSIX says it is unspecified whether
- ^ is a special character, which means that implementations can
- either treat it as special or not, but either way a warning is not
- allowed (unless the regexp is otherwise invalid). Instead, anchor
- the expression but treat ^ as an anchor; this is the traditional
- behavior (e.g., Solaris 10).
- (eval4, eval3, eval2): Treat non-numeric args, division by zero,
- and the like as invalid expressions (exit status 2), not as
- failure of 'expr' (exit status 3). This is more consistent with
- how Solaris behaves.
- * tests/expr/basic (fail-a): Adjust exit status to match new expr
- behavior, for status 2 versus 3.
- (anchor): New test.
- (bre1, bre2, bre3, bre4, bre5, bre6, bre7, bre8, bre9, bre10):
- (bre11, bre12, bre13, bre14, bre15, bre16, bre17, bre18, bre19, bre20):
- (bre21, bre22, bre23, bre24, bre25, bre26, bre27, bre28, bre29, bre30):
- (bre31, bre32, bre33, bre34, bre35, bre36, bre37, bre38, bre39, bre40):
- (bre41, bre42, bre43, bre44, bre45, bre46, bre47, bre48, bre49, bre50):
- (bre51, bre52, bre53, bre54, bre55, bre56, bre57, bre58, bre59, bre60):
- (bre61, bre62): New tests.
- * tests/misc/csplit: Use \{...\} in test RE, to test that we're
- conforming to POSIX.
-
- Port to Solaris 8.
- * tests/du/long-from-unreachable: Solaris 8 sh doesn't understand
- "if !". Do not assume that 'sed' can handle long, newline-free input.
- * tests/du/long-sloop: Likewise. Evaluate expr once, not $n times.
-
-2006-04-10 Paul Eggert <eggert@cs.ucla.edu>
-
- Adjust to new regex.h API (with new fastmap type), and clean
- up the regex storage allocation a bit.
-
- * src/csplit.c (struct control): Put re_compiled member at the
- end, since it's large. Change regexpr member from char * to bool;
- all uses changed. Add new member fastmap.
- (extract_regexp): regexp arg is now char const *, not char *.
- Don't bother duplicating the regular expression; it's not needed.
- Set fastmap from new fastmap member. Don't bother allocating
- a buffer, as the regexp code does a better job than we do.
- * src/expr.c (docolon): Allocate and use a fastmap.
- Don't bother allocating a buffer.
- * src/nl.c (body_fastmap, header_fastmap, footer_fastmap):
- New vars.
- (build_type_arg): New fastmap arg. All uses changed.
- Don't bother allocating a buffer, but set a fastmap.
- * src/ptx.c (context_regex_string, word_regex_string): Remove.
- (context_regex, word_regex): New vars, replacing the above.
- All uses changed.
- (struct regex_data): New type.
- (compile_regex): Renamed from alloc_and_compile_regex, since
- we no longer allocate storage. Arg is now a struct regex_data *,
- not a const char *. All uses changed. Don't allocate the fastmap;
- instead, take it from the caller. Don't convert size_t to int,
- to avoid arithmetic overflow problems. Don't bother freeing
- storage afterwards; it's not worth the aggravation.
- * src/tac.c (compiled_separator_fastmap): New ver.
- (main): Use it. Don't bother allocating a buffer.
-
-2006-03-30 Jim Meyering <jim@meyering.net>
-
- * src/dd.c (iwrite): Remove assignment without effect.
- Reported by Felix Rauch Valenti.
-
-2006-03-22 Eric Blake <ebb9@byu.net>
-
- * src/ptx.c (usage): Remove mention of --copyright/-C.
- (main): Alias --copyright to --version plus a deprecation warning.
- * NEWS: Mention this.
-
-2006-03-27 Jim Meyering <jim@meyering.net>
-
- * src/Makefile.am (uptime_LDADD): Add $(POW_LIB), for uptime's
- use of strtod. Tiny patch from Nickolai Zeldovich.
-
-2006-03-11 Eric Blake <ebb9@byu.net>
-
- * tests/misc/dirname: New file.
- * tests/basename/Makefile.am: Delete.
- * tests/basename/basic: Move to...
- * tests/misc/basename: ... this new file. Add some tests,
- including fixed behavior for //.
- * tests/misc/Makefile.am (TESTS): Sort. Add basename, dirname.
- * tests/Makefile.am (SUBDIRS): Remove basename.
- * configure.ac (AC_CONFIG_FILES): Remove tests/basename.
-
- Improvements to dirname/basename handling on platforms like
- cygwin with distinct // and with drive letters.
- * NEWS: Document new behavior.
- * src/basename.c (main): Don't strip suffix from file system
- roots.
- * src/cp.c (target_directory_operand): Use new last_component.
- (ASSIGN_BASENAME_STRDUPA): Likewise. Reduce time spent
- traversing the string.
- * src/dircolors.c (guess_shell_syntax): Use new last_component.
- * src/install.c (target_directory_operand, install_file_in_dir):
- Likewise.
- * src/ln.c (target_directory_operand, main): Likewise.
- * src/ls.c (basename_is_dot_or_dotdot): Likewise.
- * src/mv.c (target_directory_operand, movefile): Likewise.
- * src/remove.c (rm_1): Likewise.
- * src/shred.c (wipename): Likewise.
- * src/split.c (next_file_name): Likewise.
- * src/su.c (log_su, run_shell): Likewise.
-
-2006-03-23 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: nohup diagnostics are now more precise, and nohup now
- redirects stderr to nohup.out if stdout is closed and stderr is a tty.
- * src/nohup.c (main): Implement this.
- * tests/misc/nohup: Test the new behavior.
-
-2006-03-12 Jim Meyering <jim@meyering.net>
-
- * src/copy.c (set_author): Rename function, from preserve_author.
-
- * src/remove.c (AD_pop_and_chdir): Use new macro,
- CYCLE_CHECK_REFLECT_CHDIR_UP, rather than open-coding it.
-
- * src/system.h (SAME_INODE): Remove definition.
- Include "same-inode.h", instead.
-
-2006-03-11 Eric Blake <ebb9@byu.net>
-
- * src/pwd.c (robust_getcwd): Prepend only one slash, not two.
-
-2006-03-10 Jim Meyering <jim@meyering.net>
-
- Fix a bug whereby a user with write access to a directory being removed
- could cause the removal of that directory to fail with an erroneous
- diagnostic about a directory cycle. Reported by Vineet Chadha.
-
- * NEWS: Mention this.
- * src/remove.c (AD_pop_and_chdir): If the directory we're about to
- leave (and try to rmdir) is the one whose dev_ino is being used to
- detect a cycle, reset cycle_check_state.dev_ino to that of the parent.
-
-2006-03-08 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: Document dd's new 'directory' and 'nolinks' flags.
- * src/dd.c (set_fd_flags): Handle file-creation flags on file
- descriptors, rather than ignoring them.
- * tests/dd/misc: Add test cases for append, nofollow, directory,
- and nolinks flags. Simplify redirection to /dev/null in some cases.
-
- * tests/dd/misc: iflags->iflag. This fixes a typo that meant the
- noatime test never tested anything.
-
-2006-03-05 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/dd.c (flags, usage): New flags directory, nolinks.
- * src/system.h (O_NOLINKS): Define to 0 if not already defined.
-
- * src/ls.c (usage): Mention that -f disables --color.
- Problem reported by Niels Möller.
-
-2006-03-03 Justin Pryzby <pryzbyj@justinpryzby.com>
-
- * man/*.x: Add references to syscalls from utilities of the same name.
-
-2006-03-05 Jim Meyering <jim@meyering.net>
-
- * tests/help-version: Set SHELL, if not already set, in order to
- avoid failure when `make check' is run through debuild; dircolors
- would fail due to lack of $SHELL. Reported by Sven Joachim.
-
- Make `base64 --wrap=N' work for N=0, and for N larger than SIZE_MAX.
- * src/base64.c (wrap_write, do_encode, main): Change type of
- parameters and locals, wrap_column, form size_t to uintmax_t.
- (main): Adjust to use xstrtoumax, accordingly.
-
-2006-03-03 Jim Meyering <jim@meyering.net>
-
- Don't fail when run from an environment with SHELL not a Bourne
- shell, e.g. `env SHELL=/bin/csh make check' would fail this test.
- * tests/dircolors/simple: Invoke each non-failing test with -b.
- Reported by Michael Stone.
-
-2006-02-27 Jim Meyering <jim@meyering.net>
-
- * tests/misc/base64: Derive --decode-using tests from the
- encode-based ones.
-
- * tests/misc/base64: Factor out a long constant string.
- Split lines to stay within 80 columns.
-
- * tests/misc/Makefile.am (TESTS): Add base64.
- * tests/misc/base64: Test base64. From Simon Josefsson.
-
- * src/base64.c (do_decode): Use correct type for parameter,
- ignore_garbage: s/size_t/bool/.
-
- * src/base64.c: Don't include .h files already included by system.h:
- <string.h>, <stdlib.h>, <stdbool.h>, <limits.h>, <errno.h>.
- Include "system.h" before the other lib/*.h header files.
- Include <sys/types.h> before "system.h".
- (wrap_write): Remove declaration of unused local, initial_column.
- (wrap_write): Correct declaration syntax: s/size_t * V/size_t *V/.
-
- * README: Add base64 to the list.
-
-2006-02-17 Simon Josefsson <jas@extundo.com>
-
- New program: base64.
- * AUTHORS: Mention base64.
- * NEWS: Likewise.
- * man/Makefile.am: Build base64.1.
- * man/base64.x: New file.
- * src/Makefile.am (bin_PROGRAMS): Add base64.
- * src/base64.c: New file.
-
-2006-02-25 Eric Blake <ebb9@byu.net>
-
- In ls, avoid calling stat for --inode (-i), when possible.
- * src/pwd.c (NOT_AN_INODE_NUMBER, D_INO): Move to ...
- * src/system.h: ... here, for use in ...
- * src/ls.c (main): ... here. Prefer dirent.d_ino to stat when
- possible.
- (gobble_file): Add inode argument.
- (print_dir): Pass inode if available.
- (usage): Remove inaccuracy.
-
-2006-02-23 Jim Meyering <jim@meyering.net>
-
- * TODO: Update/correct some obsolete entries.
-
-2006-02-20 Paul Eggert <eggert@cs.ucla.edu>
-
- * doc/coreutils.texi (join invocation): Mention `sort -k 1b,1'.
- * src/join.c (usage): Likewise.
- Documentation problem reported by Philip Kensche.
-
-2006-02-20 Eric Blake <ebb9@byu.net>
-
- * man/rm.x: Update documentation to match previous patch.
-
-2006-02-18 Eric Blake <ebb9@byu.net>
-
- New option for rm: --interactive=once (-I).
- * NEWS: Document it, along with change to rm --interactive.
- * TODO: Remove entry for implementing rm -I
- * src/rm.c (INTERACTIVE_OPTION): New enum value.
- (interactive_type): New enum.
- (long_opts): Let interactive take an optional argument.
- (interactive_args, interactive_types): New option arguments.
- (usage): Document -I, --interactive=WHEN. Use program_name
- instead of a basename.
- (main): New -I option, new behavior to --interactive.
- * tests/rm/interactive-once: New tests.
- * tests/rm/interactive-always: Ditto.
- * tests/rm/Makefile.am (TESTS): Run them.
-
-2006-02-18 Jim Meyering <jim@meyering.net>
-
- * Makefile.maint (sc_two_space_separator_in_usage): Make the regular
- expression match more of the target lines, e.g., those that start with
- `-S,' (short option followed by a comma) or that include `=[...]'.
- Patch by Nicolas François.
- Fix the four offenders thus exposed:
- * src/join.c (usage): Use two spaces (not one) to separate the
- --first-only option string from its description, so help2man formats
- the derived man page properly.
- * src/pr.c (usage): Likewise.
- * src/uniq.c (usage): Likewise.
- * src/install.c (usage): Likewise.
-
-2006-02-15 Jim Meyering <jim@meyering.net>
-
- * Makefile.maint (alpha beta major): For `make major', ensure that the
- version string is of the form N.N[.N]*, where N is one or more digits.
-
-2006-02-14 Jim Meyering <jim@meyering.net>
-
- * INSTALL: Update from gnulib.
-
-2006-02-13 Jim Meyering <jim@meyering.net>
-
- * GNUmakefile (all): Emit diagnostics to stderr, not stdout.
-
-2006-02-12 Jim Meyering <jim@meyering.net>
-
- * Makefile.maint (patch-check): New target.
- (local-checks-available): Add to the list.
-
-2006-02-11 Jim Meyering <jim@meyering.net>
-
- * src/c99-to-c89.diff: New file.
- * src/Makefile.am (EXTRA_DIST): Add c99-to-c89.diff.
-
- * .x-po-check: New file, with exclusions so that `make distcheck'
- passes once again.
- * Makefile.am (EXTRA_DIST): Add .x-po-check.
-
- rm -r must remove an empty directory, even if it is inaccessible.
- * src/remove.c (close_preserve_errno): New function.
- (fd_to_subdirp): Don't print a diagnostic in this function.
- Do it from the callers instead, unless rmdir succeeds.
- (remove_cwd_entries, remove_dir): Adjust callers.
- * tests/rm/empty-inacc: New test for the above.
- * tests/rm/Makefile.am (TESTS): Add empty-inacc.
- * NEWS: Mention this bug fix.
- * tests/rm/rm2: Adjust two expected diagnostics, now that they're
- a tiny bit less precise: cannot remove `a/1': ... instead of
- cannot open directory `a/1': ...
-
- * Makefile.maint (syntax-check-rules): Automatically derive this
- list of sc_-prefixed rule names.
-
-2006-02-10 Paul Eggert <eggert@cs.ucla.edu>
-
- * Makefile.maint (CVS_LIST): Don't assume cvsu is available.
- (CVS_LIST_EXCEPT): New macro, to simplify exception-processing.
- Most uses of CVS_LIST changed to use CVS_LIST_EXCEPT.
- (syntax-check-rules): Bring back sc_changelong. (Hmm, why did it
- go away? was that an accident?)
- (sc_cast_of_argument_to_free, sc_cast_of_x_alloc_return_value):
- (sc_cast_of_alloca_return_value, sc_space_tab, sc_prohibit_atoi_atof):
- (sc_error_exit_success, sc_file_system, sc_no_if_have_config_h):
- (sc_system_h_headers, sc_sun_os_names, sc_trailing_blank):
- (sc_two_space_separator_in_usage, sc_unmarked_diagnostics):
- (sc_obsolete_symbols, sc_changelog, sc_prohibit_jm_in_m4):
- (sc_useless_cpp_parens, makefile-check, m4-check, po-check):
- (author_mark_check, makefile_path_separator_check):
- Output line numbers, to simplify navigation of Emacs *compilation*
- buffers.
- (sc_prohibit_atoi_atof, sc_file_system):
- Rework slightly so that Makefile.maint doesn't get reported as a
- violation of its own syntax rules.
- (sc_dd_max_sym_length): Use ifneq to do nothing, instead of doing
- it at run-time (which didn't work with Bison). Fix a makefile typo,
- caught by Makefile.maint itself: spaces where a tab should be.
- (po-check): Check lib/*.[ch] even if not in CVS; used by Bison,
- which copies from ../gnulib/lib/*.[ch] to lib/*.[ch].
- Ignore djgpp and man subdirectories, to avoid false matches with
- Bison and coreutils, respectively. Use sort -u to remove the
- resulting duplicates.
- * gnupload: Rework slightly to avoid bogus warning from
- sc_two_space_separator_in_usage.
-
-2006-02-10 Jim Meyering <jim@meyering.net>
-
- Use gzip's --rsyncable option only if it's available.
- * Makefile.maint (gzip_rsyncable): New variable.
- (GZIP_ENV): Use it.
-
-2006-02-08 Jim Meyering <jim@meyering.net>
-
- * Makefile.maint (local-checks-available): Define in terms of
- the expansion, $(syntax-check-rules), rather than the single,
- top-level target `syntax-check', so that it's easier to exclude
- individual rules (via $(local-checks-to-skip)).
- (tgz-md5, tgz-sha1, ...): Remove now-unused definitions.
-
-2006-02-07 Jim Meyering <jim@meyering.net>
-
- * src/system.h (!defined O_DIRECT): If O_DIRECTIO is defined (as it
- is on Tru64), define O_DIRECT to that. Patch From James Lemley.
-
- * tests/help-version (expected_failure_status_vdir):
- Redirect an expected disk-full diagnostic to /dev/null.
-
-2006-02-06 Jim Meyering <jim@meyering.net>
-
- * src/unexpand.c (usage): Use two spaces (not one) to separate the
- --first-only option string from its description, so help2man formats
- the derived man page properly.
- * src/rm.c (usage): Likewise for --no-preserve-root.
- * src/chown.c (usage): Likewise.
- * src/chgrp.c (usage): Likewise.
-
- Add a rule to ensure that the above doesn't happen again.
- * Makefile.maint (sc_two_space_separator_in_usage): New rule.
- (syntax-check-rules): Add it.
- * .x-sc_two_space_separator_in_usage: New empty file.
- * Makefile.am (EXTRA_DIST): Add .x-sc_two_space_separator_in_usage.
-
-2006-02-06 Jim Meyering <jim@meyering.net>
-
- * src/cp.c (usage): Use two spaces (not one) to separate each
- option string from its description, so help2man formats the
- derived man page properly.
- * src/mv.c (usage): Likewise.
- Patch from Nicolas François in http://bugs.debian.org/351601.
-
-2006-02-04 Jim Meyering <jim@meyering.net>
-
- * src/copy.c (copy_internal): cp -RL would fail when encountering
- the same directory more than once in the hierarchy beneath a single
- command-line argument. That is legitimate, e.g. when there are
- two or more symbolic links, each pointing to some directory that
- would not otherwise be copied. Reported by Christophe LYON.
- * tests/cp/cp-deref: New file. Test for today's fix.
- * tests/cp/Makefile.am (TESTS): Add cp-deref.
- * NEWS: Document this.
-
-2006-02-03 Jim Meyering <jim@meyering.net>
-
- * configure.ac: Require automake-1.9.6, not 1.8.3.
-
-2006-02-01 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/od.c (usage): Mention that -t a ignores high order bit.
- Documentation problem reported by Ed Avis.
-
-2006-02-01 Jim Meyering <jim@meyering.net>
-
- * src/pwd.c (find_dir_entry): Remove unused local, `ent_sb_valid'.
-
-2006-01-30 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/head.c (main): Use a better diagnostic when someone uses a
- trailing numeric option in an invalid way. Problem reported by
- Karl Berry.
- * src/tail.c (parse_options): Likewise.
-
-2006-01-30 Jim Meyering <jim@meyering.net>
-
- * man/wc.x: Include `count' keyword in man page synopsis,
- per suggestion from http://bugs.debian.org/181585.
-
-2006-01-24 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/df.c (show_dev): If the file system claims to have
- more available than total blocks, report the number of used
- blocks as being total - available (a negative number) rather
- than as garbage. Problem reported by Toralf Foerster.
-
-2006-01-24 Jim Meyering <jim@meyering.net>
-
- * src/tail.c (tail_forever): Don't exit-nonzero when an attempt
- to put a regular file in O_NONBLOCK mode fails with EPERM.
- That happens on Linux (up to 2.6.15) when using tail -f on a file with
- the append-only attribute. Reported by Dean Gaudet. For details,
- see http://savannah.gnu.org/bugs/?func=detailitem&item_id=15473.
- * NEWS: Mention this fix.
- * tests/tail-2/append-only: New file. Test for the above.
- * tests/tail-2/Makefile.am (TESTS): Add append-only.
- * tests/Makefile.am (check-root): Add tail-2/append-only
-
-2006-01-21 Jim Meyering <jim@meyering.net>
-
- * NEWS: Mention fts-related improvements and bug fixes.
-
-2006-01-19 Jim Meyering <jim@meyering.net>
-
- * tests/fmt/basic (pfx-1, pfx-2): New tests, to demonstrate the bug
- reported as http://bugs.debian.org/147577. Forwarded by Thomas Hood.
-
-2006-01-18 Jim Meyering <jim@meyering.net>
-
- * tests/du/Makefile.am (TESTS): Add long-from-unreadable.
-
-2006-01-17 Jim Meyering <jim@meyering.net>
-
- Now that fts no longer changes the current working directory, adjust
- its clients accordingly -- note that du.c uses fts but doesn't need
- any adjustment, since it doesn't operate on the actual files,
- but rather just uses the stat buffers provided by fts.
-
- * src/chown-core.c: Include "openat.h".
- Don't include "lchown.h".
- (restricted_chown): Accept a new parameter, CWD_FD, and use it in
- calling openat, lchownat, chownat, rather than open, lchown, chown.
- Update caller.
- * src/chmod.c: Include "openat.h".
- (process_file): Use chmodat (fts->fts_cwd_fd,... in place of chmod (...
-
- * tests/du/long-from-unreadable: New test, to exercise one small
- corner of fts.c.
-
-2006-01-13 Jim Meyering <jim@meyering.net>
-
- * tests/Makefile.am (SUBDIRS): Add comments discouraging the
- addition of new directories under tests/.
-
- * tests/acl: Redirect stdin to /dev/null. Otherwise, FreeBSD 5.0's
- getfacl would hang.
-
-2006-01-12 Jim Meyering <jim@meyering.net>
-
- * tests/du/long-sloop: Adjust not to hard-code the expected
- diagnostic corresponding to ELOOP. Solaris' diagnostic differs
- from that of GNU libc. Reported by Paul Eggert.
-
- * tests/du/long-sloop: Create file at end of symlink chain.
-
- * tests/misc/test: New file, with a test for one of the
- bugs fixed by yesterday's test.c changes.
- * tests/misc/Makefile.am (TESTS): Add test.
-
-2006-01-11 Jim Meyering <jim@meyering.net>
-
- * tests/du/long-sloop: New file. Test for today's fts.c bug fix.
- That bug could make du -L, chgrp -L, or chown -L fail to diagnose
- a very long sequence of symbolic links (not necessarily a loop).
- * tests/du/Makefile.am (TESTS): Add long-sloop.
-
-2006-01-11 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/test.c (test_syntax_error): Append a newline. All callers
- changed, except for the ones that didn't already append a newline.
- Bug reported by Eric Blake.
-
-2006-01-11 Jim Meyering <jim@meyering.net>
-
- * src/system.h (X2NREALLOC): Now that verify_true is no longer
- void, cast its result to void, to avoid gcc's warning that
- ``left-hand operand of comma expression has no effect''.
- (DECIMAL_DIGIT_ACCUMULATE, X2REALLOC): Likewise.
-
-2006-01-10 Jim Meyering <jim@meyering.net>
-
- * tests/chmod/no-x: Add a test for today's fts.c fix.
-
-2006-01-10 Jim Meyering <jim@meyering.net> (tiny change)
-
- * src/ls.c (gobble_file): Use DTTOIF only if it's defined.
- This is necessary for Dragonfly. Patch by Joerg Sonnenberger.
-
-2006-01-10 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/system.h (X2NREALLOC, X2REALLOC, DECIMAL_DIGIT_ACCUMULATE):
- Use verify_true instead of verify_expr, to sync with gnulib.
-
-2006-01-08 Jim Meyering <jim@meyering.net>
-
- * src/date.c (usage): Adjust the formatting of the entries for
- %::z and %:::z (separate with two spaces, not one) so that help2man
- formats them properly. Reported by Philip Rowlands.
-
-2006-01-06 Paul Eggert <eggert@cs.ucla.edu>
-
- * configure.ac (gl_IGNORE_UNUSED_LIBRARIES): Add.
-
-2006-01-06 Jim Meyering <jim@meyering.net>
-
- * Makefile.maint (copyright-check): Use date +%Y in place of
- hard-coded 2005.
-
- * src/remove.c (rm_1): Remove `static' attribute on local `status'.
- First off, the attribute should have been `volatile' (not static)
- to avoid longjmp-related risk of clobber. Secondly, now there is
- no longer any risk of a local variable being clobbered, so there's
- no need for any attribute at all.
-
-2006-01-05 Jim Meyering <jim@meyering.net>
-
- * src/remove.c: Give a few functions the inline attribute.
- (AD_pop_and_chdir): Use gotos to avoid some duplication.
- (AD_push): Rewrite an assertion so that the entire computation
- goes away when assertions are turned off.
-
- * src/tail.c (ENOSYS) [!defined ENOSYS]: Don't define here.
- It's already defined in "system.h".
- * Makefile.maint: Add a FIXME comment.
-
-2006-01-04 Jim Meyering <jim@meyering.net>
-
- * ChangeLog: Remove entries from 2005-10-22 and earlier.
- * ChangeLog-2005: New file, for entries up to version 5.92.
-
-2006-01-03 Jim Meyering <jim@meyering.net>
-
- * tests/du/no-x: Also allow a slightly different diagnostic -- the
- one you get when using openat-enabled fts.c and du (coming soon).
- * tests/chmod/no-x: Likewise.
- * tests/chgrp/no-x: Likewise.
-
- * src/system.h (O_DIRECTORY) [!defined O_DIRECTORY]: Define.
-
-2006-01-02 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/chown-core.c (RC_do_ordinary_chown): New enum value.
- (restricted_chown): Return it, if the file cannot be accessed due
- to EPERM, or if no uid or gid are required, or if the file is
- neither a directory nor a regular file. Rewrite to avoid gotos.
- (change_file_owner): Handle RC_do_ordinary_chown case.
- Rewrite to avoid gotos.
- * tests/chgrp/basic: Make sure we can change the group of
- inaccessible files.
-
- * src/date.c (usage): Explain %g, %G, and %V a bit better.
-
-2006-01-02 Jim Meyering <jim@meyering.net>
-
- * src/copy.c (set_owner): Correct a comment.
-
- * src/tail.c (parse_options): Change warning to say that --retry
- is useful `mainly' (not `only') when following by name.
- Reported here: http://bugs.debian.org/273781
-
-2006-01-01 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: Document that mkfifo and mknod -m no longer set special bits.
- * src/copy.c: Include lchmod.h.
- (copy_internal): Use lchmod rather than chmod.
- * src/cp.c: Include lchmod.h.
- (re_protect, make_dir_parents_private): Use lchmod rather than chmod.
- * src/mkdir.c: Include lchmod.h.
- (usage): Clarify -m's operation.
- (main): Use lchmod rather than chmod. Don't use lchmod unless the
- new mode contains bits outside the 777 range.
- * src/mkfifo.c (usage): Clarify -m's operation.
- (main): If -m is given, don't invoke chmod; use umask 0 instead.
- Report an error if -m asks for bits outside the 777 range.
- * src/mknod.c (usage, main): Likewise.
-
- * src/mkdir.c, src/mkfifo.c, src/mknod.c: Undo 2005-12-19 changes.
-
-2005-12-27 Jim Meyering <jim@meyering.net>
-
- * Makefile.maint (sc_obsolete_symbols): Prohibit use of O_NDELAY.
- (sc_prohibit_assert_without_use): New rule.
- (syntax-check-rules): Add it to the list.
- * .x-sc_prohibit_assert_without_use: New empty file.
- * Makefile.am (EXTRA_DIST): Add it.
-
- * Makefile.maint (CVS_LIST): Define in terms of $(srcdir).
-
- * cp.c, df.c, link.c, mknod.c, nice.c, sleep.c, unlink.c:
- Don't include <assert.h>; it wasn't used.
-
-2005-12-26 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/chown-core.c (restricted_chown):
- Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
- * src/remove.c (fd_to_subdirp): Open with O_DIRECTORY | O_NOCTTY
- | O_NOFOLLOW too, for consistency with other dir-openers.
- Use POSIX-preferred O_NONBLOCK rather than O_NDELAY.
- (is_empty_dir): Likewise.
- * src/shred.c (wipename): Likewise. Don't bother trying to open
- dir for writing, since POSIX prohibits it.
-
-2005-12-22 Jim Meyering <jim@meyering.net>
-
- * tests/help-version: Redirect stderr to /dev/full, to suppress
- write error diagnostic.
-
-2005-12-19 Jim Meyering <jim@meyering.net>
-
- * src/mkdir.c, src/mknod.c, src/mkfifo.c (main)
- Avoid a minor race condition when `-m MODE' is specified, by using
- open, fchown, and close rather than just chown. To do that reliably --
- even with an overly restrictive umask -- ensure that each mkdir,
- mknod and mkfifo call uses a mode including at least owner-read access.
- * src/mknod.c (main): When `-m MODE' is specified, exit nonzero if
- the subsequent chown (or equivalent open,fchown,close) fails.
- * tests/misc/mknod: New tests.
- * tests/misc/Makefile.am (TESTS): Add mknod.
-
-2005-12-17 Jim Meyering <jim@meyering.net>
-
- * src/remove.c (is_empty_dir): Open with O_NDELAY, so we don't hang,
- e.g., on a named pipe.
- (OPEN_NO_FOLLOW_SYMLINK): Remove definition. Use O_NOFOLLOW in
- place of all uses, since it is guaranteed (system.h) to be defined.
-
-2005-12-05 Andreas Gruenbacher <agruen@suse.de>
-
- Add POSIX ACL support
- * src/ls.c: Switch back from HAVE_ACL to USE_ACL: The acl() syscall
- is no requirement for ACL support; particularly, it does not exist
- on systems that have POSIX ACLs.
- * src/copy.h (cp_option_init) [umask_kill]: Remove member.
- * src/cp.c (umask_kill): With default acls, the umask is not to be
- applied. Remove umask_kill, don't change the process umask, and let
- the kernel apply the umask where appropriate.
- * src/cp.c (make_dir_parents_private): Fix logic for POSIX ACLs.
- * src/copy.c (get_dest_mode): Remove; it is obsolete after removing
- umask_kill.
- (copy_reg, copy_internal): Use copy_acl and set_acl
- instead of fchown/chown. Fix the logic for POSIX ACLs.
- (chown_succeded): Remove; we now always copy acls and
- preserve S_ISUID, S_ISGID, and S_ISVTX when needed, no matter if we
- did a chown before or not.
- * src/mv.c, src/install.c (cp_option_init): Don't set umask_kill member.
- * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD, cp_LDADD,
- mv_LDADD, ginstall_LDADD): On systems with an ACL library, arrange
- to link with it via $(LIB_ACL), for the utilities that need it.
-
-2005-12-16 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/remove.c (OPENAT_CWD_RESTORE__REQUIRE): Remove.
- (OPENAT_CWD_RESTORE__ALLOW_FAILURE): Likewise.
- (fd_to_subdirp): Remove openat_cwd_restore_allow_failure arg; its
- value is now signified by whether cwd_errno is null.
- (fd_to_subdirp, remove_dir, rm_1); Change cwd failure indicator from
- pointer-to-bool to pointer-to-errno-value. All callers changed.
- (rm_1): Don't bother setting a local cwd failure flag and then
- ORing it into the caller's. Just set the caller's.
- (rm): Use cwd failure errno value to print a slightly-better
- diagnostic.
-
-2005-12-15 Jim Meyering <jim@meyering.net>
-
- * src/stat.c (print_it): Properly handle a backslash at the
- end of a --printf format string. Reported by Paul Eggert.
- * tests/misc/stat-printf (end-bs): Add a test for the above.
-
-2005-12-15 Paul Eggert <eggert@cs.ucla.edu>
-
- * tests/acl: Port to pre-POSIX shells like Solaris 8 /bin/sh.
- Don't assume /etc/passwd contains user names; use 'id' instead.
-
-2005-12-15 Jim Meyering <jim@meyering.net>
-
- stat: revert behavior of --format=FMT (-c)
- stat: add new option: --printf=FMT
- * NEWS: Mention this.
- * src/stat.c (isodigit, octtobin, hextobin): Define.
- (PRINTF_OPTION): Define.
- (interpret_backslash_escapes, trailing_delim): New globals.
- (usage): Document them. Alphabetize on long option names.
- (print_esc_char): New function.
- (print_it): Rewrite, in order to handle backslash escapes.
- (main): Handle new option. Set globals for --format, too.
-
- * tests/misc/stat-printf: Test --printf and --format.
- * tests/misc/Makefile.am (TESTS): Add stat-printf.
-
-2005-12-14 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: sort now reports incompatible options.
- * src/sort.c (incompatible_options, check_ordering_compatibility):
- New functions.
- (main): Use them. Don't bother with a usage message for
- "sort -c a b", for consistency with other error diagnostics.
- * tests/sort/Test.pm (incompat1, incompat2, incompat3, incompat4):
- New tests.
-
- * src/cat.c (main): Undo previous change. close_stdout already
- does the check, so the previous change wasn't necessary.
-
-2005-12-13 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/cat.c (main): Check for close (STDOUT_FILENO) failure.
-
-2005-12-12 Paul Eggert <eggert@cs.ucla.edu>
-
- Install a more-conservative approach for sort -R. It's the
- same basic idea as the existing code, except it uses the full ISAAC
- approach (called the "more kosher" approach in the existing comments).
- This makes "sort -R" quite a bit slower (about a factor of 2 on my
- little tests involving 10000 lines on a 2.4 GHz P4), but I think it's
- better to be conservative here at first, and review any performance
- improvements carefully.
- * .x-sc_require_config_h: Add src/rand-isaac.c.
- * src/rand-isaac.h: Remove. All uses now simply include rand-isaac.c.
- * src/Makefile.am (noinst_HEADERS): Remove rand-isaac.h.
- (shred_SOURCES, sort_SOURCES): Remove.
- (EXTRA_DIST): Add rand-isaac.c.
- * src/rand-isaac.c: Revert to what used to be in shred.c, without
- changing it to allow for varying numbers of words in the state.
- Alter so that we include rand-isaac.c directly rather than
- compiling it and linking to it. Don't include config.h or
- system.h; that's the includer's responsibility.
- Omit functions that are specific to shred.
- (ISAAC_LOG, ISAAC_WORDS, ISAAC_BYTES, struct isaac_state, ind):
- (isaac_step, struct irand_state):
- Resurrect these, with the same defns that used to be in shred.c.
- (ISAAC_SIZE, isaac_new, isaac_copy): Remove.
- (isaac_refill, isaac_seed_start, isaac_seed_data, irand_init, irand32):
- static again.
- (struct isaac_state, isaac_refill, isaac_mix, isaac_init):
- (isaac_seed_start, isaac_seed_data, isaac_seed_finish, isaac_seed):
- (irand_init, irand32, irand_mod):
- Number of words is constant again.
- (struct irand_state, irand_init, irand32, irand_mod): Move to shred.c.
- * src/shred.c: Include rand-isaac.c rather than rand-isaac.h.
- * src/sort.c: Likewise.
- * src/shred.c (fillrand, dopass, main): Undo previous change.
- (struct irand_state, irand_init, irand32, irand_mod): Moved back here,
- from rand-isaac.c.
- * src/sort.c: Don't include md5.h; it wasn't needed.
- (struct keyfield): Rename random_hash to random, for consistency
- with the other member names. All uses changed.
- (usage): Tweak wording to mention STRING for --seed option.
- (short_options): Rorder for consistency with other programs.
- (rand_state): Now a struct, not a pointer to one. All uses changed.
- (HASH_WORDS, HASH_SIZE): Remove.
- (get_hash): Remove comments around resbuf size, since we can assume C89.
- Use a "more-kosher" (but slower) approach of invoking isaac_refill.
- (keycompare): Adjust to the new get_hash.
- Add a FIXME.
- (badfieldspec): Omit recently-introduced comment; it isn't needed.
- (main): Don't set need_random simply because gkey has it set; that
- doesn't necessarily mean we'll need random numbers.
- Redo seeding to match new get_hash approach.
-
-2005-12-10 Jim Meyering <jim@meyering.net>
-
- * src/Makefile.am (noinst_HEADERS): Add rand-isaac.h.
-
- Avoid shred segfault on 64-bit systems.
- * src/rand-isaac.c (isaac_refill): Don't try to negate a
- local of type uint32_t. Make the local an `int' instead.
-
- * NEWS: Mention sort's new options.
-
- * src/rand-isaac.c (isaac_mix): Declare to be static.
- Mark all other functions as `extern' so the tight-scope
- part of `make distcheck' passes once again.
- * src/rand-isaac.h (isaac_mix): Remove declaration.
-
- * src/sort.c (get_hash): Change position of `*' in parameter
- type to conform with convention.
- (main): Split a long line so it fits in 80 columns.
- (keycompare): Remove stray SPACE before TAB that was
- causing `make distcheck' to fail.
-
- * src/shred.c: Don't include gethrxtime.h. No longer needed.
-
- * tests/misc/sort-rand: New file: basic tests for the new options.
- * tests/misc/Makefile.am (TESTS): Add sort-rand.
-
-2005-12-10 Frederik Eaton <frederik@ofb.net>
-
- * src/Makefile.am (sort_LDADD): Add $(LIB_GETHRXTIME).
- (shred_SOURCES, sort_SOURCES): New macros, so we compile rand-isaac.c.
- * src/rand-isaac.c: New file, containing ISAAC code that was in shred.c.
- Make state size runtime-configurable.
- (isaac_new, isaac_copy): New functions.
- * src/rand-isaac.h: New file.
- * src/shred.c: Include rand-isaac.h. Move ISAAC code to rand-isaac.c.
- (fillrand, main): Adjust to the fact that the state size is now
- runtime-configurable.
- * src/sort.c (short_options, long_options, WORDS, keycompare, main):
- (usage): Add options --random-sort and --seed to implement a random
- shuffle.
- Include md5.h and rand-isaac.h.
- (get_hash): New function.
- (rand_state): New var.
- (HASH_WORDS, HASH_SIZE): New macros.
-
-2005-12-09 Paul Eggert <eggert@cs.ucla.edu>
-
- * tests/dd/misc: Add test for dd iflags=noatime.
-
-2005-12-09 Jim Meyering <jim@meyering.net>
-
- * src/sort.c (usage): Mention white space vs -b and -t options.
- From The Wanderer.
-
-2005-12-09 Eric Blake <ebb9@byu.net>
-
- * src/test.c (main): Fix misleading comment.
-
-2005-12-07 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: Mention dd's new noatime flag.
- * src/system.h (O_NOATIME): Define to 0 if not already defined.
- * src/dd.c (flags, usage): Add support for noatime flag.
-
-2005-12-07 Jim Meyering <jim@meyering.net>
-
- Distribute the cvsu script, used only by `make syntax-check'.
- * Makefile.am (EXTRA_DIST): Add build-aux/cvsu.
- * Makefile.maint (CVS_LIST): Use build-aux/cvsu, now that we
- distribute a copy of this script.
- * .x-sc_unmarked_diagnostics: Add build-aux/cvsu.
-
- * tests/mv/acl: exit-77 before the trap, not after, if we fail
- to create a temporary directory on another partition.
- From Andreas Gruenbacher.
-
-2005-12-06 Tomas Pospisek <tpo@sourcepole.ch> (tiny change)
-
- * man/basename.x: Cross-reference to dirname and readlink.
- * man/dirname.x: Cross-reference to basename and readlink.
-
-2005-12-05 Andreas Gruenbacher
-
- * src/copy.c [!HAVE_FCHOWN]: Define fchown(...) to -1.
- (set_owner, preserve_author): New functions, factored out of copy_reg.
- (copy_reg): Use them.
- (copy_internal): Use them here, too.
-
-2005-12-04 Jim Meyering <jim@meyering.net>
-
- * src/sleep.c (usage): Say what happens with two or more arguments.
- Suggested by Justin Pryzby.
-
- * src/uptime.c (print_uptime): Move decl of `upsecs' into scope
- where it's used.
-
-2005-12-03 Jim Meyering <jim@meyering.net>
-
- * src/rm.c (long_opts): Change the name of each undocumented, for-
- testing-only option to start with `-', so that it cannot render
- ambiguous any prefix it happens to share with some other option name.
- Problem reported by Eric Blake.
- * src/head.c (long_options): Likewise.
- * src/tail.c (long_options): Likewise.
-
- * tests/misc/head-elide-tail: Update uses of undocumented, for-
- testing-only --presume* options to start with `---'.
- * tests/rm/dangling-symlink: Likewise.
- * tests/rm/dir-no-w: Likewise.
- * tests/rm/isatty: Likewise.
-
-2005-11-30 Jim Meyering <jim@meyering.net>
-
- * Makefile.maint: Add a comment about cvsu.
-
-2005-11-25 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: df updates for "none", "proc", inaccessible file systems.
- * src/df.c (show_point): Ignore inaccessible file systems.
- (usage): -a includes dummy file systems, not size-0 file systems.
-
- * src/od.c (unsigned_long_long_int): Renamed from ulonglong_t,
- to avoid collision with POSIX name space. All uses changed.
-
-2005-11-24 Jim Meyering <jim@meyering.net>
-
- * tests/Makefile.am (EXTRA_DIST): Add acl to the list.
- * tests/acl: Add `$0: ' prefix to diagnostics.
-
- * .x-sc_require_config_h: Add lib/buffer-lcm.c to the list.
-
-2005-11-23 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/copy.c: Improve performance a bit by optimizing away
- unnecessary system calls and going to a block size of at least
- 8192 (on normal hosts, anyway). This improved performance 5% on my
- Debian stable host (2.4.27 kernel, x86, copying from root
- ext3 file system to itself).
- Include "buffer-lcm.h".
- (copy_reg): Omit last argument. All callers changed.
- Use xmalloc to allocate rather than trusting alloca
- (which is unwise with large block sizes).
- Declare locals more locally, if possible.
- Use uintptr_t words instead of int words, for a bit more speed
- when looking for null blocks on 64-bit hosts.
- Optimize away reads of zero bytes on regular files.
- In the typical case, insist on 8 KiB buffers, at least.
- Avoid unnecessary extra call to fstat when checking for sparse files.
- Avoid now-unnecessary cast to off_t, and "0L".
- Avoid unnecessary test of *new_dst when checking for same owner
- and group.
-
-2005-11-22 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/remove.c (rm): Don't assume C99 for-loop syntax.
-
-2005-11-22 Jim Meyering <jim@meyering.net>
-
- * src/remove.c (AD_push): Remove debugging cruft.
-
- * tests/rm/unread2 (rm): Change expected diagnostic,
- `cannot open directory' to `cannot remove', to align with
- new version of rm.
- * tests/rm/rm2: Ensure that rm now continues removing entries
- even after certain types of failure.
-
- * src/remove.c: Rewrite. Now, this module is reentrant on systems
- that provide openat (Solaris), and on systems like Linux+procfs
- where our openat emulation code is reentrant. This also fixes a
- few low-probability leaks and eliminates some code that could,
- in very unusual circumstances, cause rm() (via a callee) to exit.
- * NEWS: Mention this.
-
- * configure.ac: Put copyright dates all on one line so the
- emacs function that updates them works properly.
-
-2005-11-18 Paul Eggert <eggert@cs.ucla.edu>
-
- * configure.ac (AM_PROG_CC_C_O): Add. Needed for CVS Automake.
- Problem reported by Eric Blake.
- (AC_PROG_CC_STDC): Use this instead of AC_PROG_CC, so that
- we get a standard-conforming compiler. This relies on the new
- m4/c.m4 file. Note that it's a bit tricky, since c.m4 doesn't
- define AC_PROG_CC_STDC; we are relying on Autoconf 2.59 internals.
- m4/c.m4 can go away with Autoconf 2.60 comes out.
-
-2005-11-17 Jim Meyering <jim@meyering.net>
-
- * src/remove.c (AD_mark_helper): Make a `char *' parameter `const'.
- (AD_mark_current_as_unremovable): Likewise, but for a local.
- (rm_1): Likewise.
-
- * tests/mv/acl: Let traps handle removing temporary directories.
-
- Expect acl-related tests to fail, until the corresponding
- patches are committed.
- * tests/mv/Makefile.am (XFAIL_TESTS): Add acl.
- * tests/cp/Makefile.am (XFAIL_TESTS): Likewise.
-
- ACL tests, from Andreas Gruenbacher.
- * tests/acl, tests/mv/acl, tests/cp/acl: New files.
- * tests/mv/Makefile.am (TESTS): Add acl.
- * tests/cp/Makefile.am (TESTS): Add acl.
-
- * src/ls.c (basename_is_dot_or_dotdot): Correct wording in comment.
-
-2005-11-16 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: Improve quality of ln's diagnostics.
- * src/ln.c (do_link, usage): Likewise.
- (do_link): Don't use alloca on a buffer of unbounded size.
-
-2005-11-16 Jim Meyering <jim@meyering.net>
-
- * tests/cp/fail-perm: Accommodate HPUX. It appears to fail
- with EACCES rather than EPERM. Reported by Peter O'Gorman here:
- http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/5766
- This also affects AIX 4.3.3, according to Ralf Wildenhues, in
- http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00192.html
-
-2005-11-14 Jim Meyering <jim@meyering.net>
-
- * NEWS (sort): Mention consequences of today's mkstemp-safer.c fix.
-
-2005-11-13 Jim Meyering <jim@meyering.net>
-
- * announce-gen: Accept new option, --gpg-key-id=ID and
- emit a blurb telling how to use the .sig files.
- * Makefile.cfg (gpg_key_ID): Define.
- * Makefile.maint (announcement): Use new option and key.
-
- Require that most .c files include <config.h>.
- * Makefile.maint (sc_require_config_h): New rule.
- (syntax-check-rules): Add it.
- * .x-sc_require_config_h: New file listing exceptions to the
- above rule. Some are legit, others are simply grandfathered in.
- * Makefile.am (EXTRA_DIST): Add .x-sc_require_config_h here, too.
-
-2005-11-12 Jim Meyering <jim@meyering.net>
-
- * src/checksum.h, src/md5.c, src/sha1sum.c: Remove now-unused files.
-
-2005-11-11 Jim Meyering <jim@meyering.net>
-
- * NEWS: Mention `readlink -f' bug fix in 5.3.0 news.
- Mention new readlink options in 5.3.0's `New features' section.
- Spotted by Thomas Hood.
-
-2005-11-08 Jim Meyering <jim@meyering.net>
-
- * NEWS: Merge in changes from b5_9x branch.
-
-2005-11-08 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: ls now defaults to --time-style='locale', which in turn acts
- like --time-style='posix-long-iso' if the locale settings are messed up.
- * src/ls.c (decode_switches): Implement this.
-
-2005-11-08 Jim Meyering <jim@meyering.net>
-
- * tests/du/2g: s/expensive/very expensive/ in a comment.
- From Paul Townsend.
-
-2005-10-17 Eric Blake <ebb9@byu.net>
-
- * src/ls.c (usage): Fix descriptions of --sort, --time.
- Reported by Vitaly A. Ostanin.
-
-2005-11-04 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/ln.c: Include filenamecat.c.
- (FILE_BASENAME_CONCAT): Remove.
- (do_link): Remove last arg DEST_IS_DIR. All callers changed.
- (main): Use file_name_concat, base_name, and strip_trailing_slashes
- instead of FILE_BASENAME_CONCAT. This simplifies the code, and avoids
- the use of alloca.
-
-2005-11-04 Jim Meyering <jim@meyering.net>
-
- * src/du.c (process_file): Don't overflow for files of size >= 2^31
- on systems with stat.st_blocks of a signed 32-bit type.
- This bug causes trouble on some AIX 5.1 systems.
- Report and trivial patch from Paul Townsend:
- <http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00033.html>
- * NEWS: Mention this.
-
- * tests/du/2g: New (very-expensive) test for the above-fixed bug.
- * tests/du/Makefile.am (TESTS): Add it here.
- * tests/very-expensive: New file.
- * tests/Makefile.am (EXTRA_DIST): Add it here.
- * tests/cp/perm: Mark this test as `very-expensive', too.
-
-2005-11-02 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: Mention that rm -d and maybe ln -d are scheduled for
- removal in 2006.
- * src/remove.h (struct rm_options): Remove unlink_dirs. All uses
- removed.
- * src/rm.c (usage): Don't mention rm -d.
-
-2005-11-02 Jim Meyering <jim@meyering.net>
-
- * tests/dd/skip-seek: Fix typo in comment: s/fileutils/coreutils.
- From Andreas Schwab.
-
- * tests/dd/unblock-sync: Redirect stderr to /dev/null so the
- `M+N records in/out' lines don't pollute `make check' output.
-
- * tests/dd/skip-seek (sk-seek4): New test, to exercise the bug
- fixed on 2005-10-31. This test uses the new, IN_PIPE specifier.
- * tests/Coreutils.pm: Accept a new type of input specifier: IN_PIPE,
- to indicate that the input file should be piped into the command
- under test (via `cat FILE | $prog ...').
-
- * src/remove.c (remove_entry): Emit a better diagnostic when rm
- (without -r) fails to remove a directory on a non-Linux system.
- This change affects only newer Solaris systems (with priv_*
- functions like priv_allocset). Reported by Keith Thompson.
-
- * tests/rm/dir-nonrecur: New file/test for the above fix.
- * tests/rm/Makefile.am (TESTS): Add dir-nonrecur.
-
-2005-11-01 Paul Eggert <eggert@cs.ucla.edu>
-
- * NEWS: "tail -c 2 FILE" and "touch 0101000000" now operate as
- POSIX 1002.1-2001 requires.
- * src/tail.c (parse_obsolete_option): Implement this.
- Problem reported by Vincent Lefevre.
- * src/touch.c (main): Pass PDS_PRE_2000 to posixtime.
- * tests/tail/Test.pm (c-2, c-2-minus, c2, c2-minus): New tests.
- (test_vector): Add special cases for _POSIX2_VERSION, and
- regularize the old ones a bit.
- * tests/touch/obsolescent: Add y2000 test.
-
-2005-10-31 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/dd.c (skip): Fix off-by-one error reported by
- Theodoros V. Kalamatianos.
-
-2005-10-30 Paul Eggert <eggert@cs.ucla.edu>
-
- * tests/mkdir/p-3: Require that the test be run as non-root.
- Problem and trivial fix reported by Theodoros V. Kalamatianos.
-
-2005-10-28 Paul Eggert <eggert@cs.ucla.edu>
-
- * src/ln.c (FILE_BASENAME_CONCAT): Omit unnecessary slashes in the
- boundary between DEST and SOURCE in the result.
-
-2005-10-26 Dmitry V. Levin <ldv@altlinux.org>
-
- * src/md5sum.c (main) [!O_BINARY]: Changed default read mode
- back to text, to sync with documentation and for backwards
- compatibility.
-
-2005-10-25 Jim Meyering <jim@meyering.net>
-
- * tests/dircolors/simple (other-wr): Add an explicit test for
- the dircolors bug (NULL-dereference) fixed yesterday.
-
-2005-10-24 Jim Meyering <jim@meyering.net>
-
- * src/tac.c (tac_file): When determining whether a file is seekable,
- also test whether it is a tty. Using only the lseek-based test would
- give a false positive on Solaris. Reported by Peter Fales.
-
-2005-10-24 Dmitry V. Levin <ldv@altlinux.org>
-
- * tests/install/d-slashdot: New test, for "install -d" failure.
- * tests/install/Makefile.am (TESTS): Add d-slashdot.
- * tests/mkdir/p-slashdot: New test, for "mkdir -p" failure.
- * tests/mkdir/Makefile.am (TESTS): Add p-slashdot.
-
-2005-10-24 Jim Meyering <jim@meyering.net>
-
- * src/dircolors.c (ls_codes): Add missing comma.
- Anonymous report and patch from
- http://savannah.gnu.org/bugs/?func=detailitem&item_id=14849
-
- * src/dircolors.c: Add compile-time assertion that the slack_codes
- and ls_codes arrays have the same number of elements. This would
- have prevented the above-fixed bug.
-
- * src/expand.c (parse_tab_stops): Add a comment to make this function
- identical to the one in unexpand.c.
- * src/unexpand.c (parse_tab_stops): Adjust syntax to make this function
- identical to the one in expand.c.
-
- * src/expand.c (next_file): Don't assume fopen cannot return stdin.
-
-2005-10-23 Jim Meyering <jim@meyering.net>
-
- * src/md5sum.c (digest_check, main): Use ptr_align rather than
- a dangerous pointer-value-to-`unsigned' cast.
- * NEWS: mention the new sha* programs.
- * AUTHORS: Add new sha* programs.
-
-2005-08-28 David Madore <david.madore@ens.fr>
-
- Add new programs: sha224sum, sha256sum, sha384sum, sha512sum.
- * README: Add their names to the list.
- * src/md5sum.c: Provide framework for computing sha-2 hashes.
- * src/Makefile.am (sha224sum, sha256sum, sha384sum, sha512sum):
- Rules for compiling sha-2 utilities
- (noinst_HEADERS): Remove checksum.h.
- * man/sha512sum.x, man/sha384sum.x, man/sha256sum.x, man/sha224sum.x:
- New files.
- * man/Makefile.am (dist_man_MANS): Add the corresponding .1 names.
- (sha224sum.1, sha256sum.1, sha384sum.1, sha512sum.1): New dependencies.
- * tests/misc/sha224sum, tests/misc/sha256sum: New files.
- * tests/misc/sha384sum, tests/misc/sha512sum: New files.
- * tests/misc/Makefile.am (TESTS): Add new sha224sum, sha256sum,
- sha384sum, sha512sum test scripts here rather that each in its
- own directory.
-
-2005-08-28 David Madore <david.madore@ens.fr>
-
- * tests/sha1sum/basic-1 (million-a): Add the "million a's" test (one
- of the FIPS test vectors).
-
-2005-10-23 Jim Meyering <jim@meyering.net>
-
- * configure.ac: Use 6.0-cvs as the version string.
- * NEWS: Adjust accordingly.
-
-
- -----
-
- Copyright (C) 2005-2008 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.
diff --git a/ChangeLog-2005 b/ChangeLog-2005
index 4ec81dc42..83a6f9e50 100644
--- a/ChangeLog-2005
+++ b/ChangeLog-2005
@@ -1,3 +1,608 @@
+2005-12-27 Jim Meyering <jim@meyering.net>
+
+ * Makefile.maint (sc_obsolete_symbols): Prohibit use of O_NDELAY.
+ (sc_prohibit_assert_without_use): New rule.
+ (syntax-check-rules): Add it to the list.
+ * .x-sc_prohibit_assert_without_use: New empty file.
+ * Makefile.am (EXTRA_DIST): Add it.
+
+ * Makefile.maint (CVS_LIST): Define in terms of $(srcdir).
+
+ * cp.c, df.c, link.c, mknod.c, nice.c, sleep.c, unlink.c:
+ Don't include <assert.h>; it wasn't used.
+
+2005-12-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/chown-core.c (restricted_chown):
+ Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
+ * src/remove.c (fd_to_subdirp): Open with O_DIRECTORY | O_NOCTTY
+ | O_NOFOLLOW too, for consistency with other dir-openers.
+ Use POSIX-preferred O_NONBLOCK rather than O_NDELAY.
+ (is_empty_dir): Likewise.
+ * src/shred.c (wipename): Likewise. Don't bother trying to open
+ dir for writing, since POSIX prohibits it.
+
+2005-12-22 Jim Meyering <jim@meyering.net>
+
+ * tests/help-version: Redirect stderr to /dev/full, to suppress
+ write error diagnostic.
+
+2005-12-19 Jim Meyering <jim@meyering.net>
+
+ * src/mkdir.c, src/mknod.c, src/mkfifo.c (main)
+ Avoid a minor race condition when `-m MODE' is specified, by using
+ open, fchown, and close rather than just chown. To do that reliably --
+ even with an overly restrictive umask -- ensure that each mkdir,
+ mknod and mkfifo call uses a mode including at least owner-read access.
+ * src/mknod.c (main): When `-m MODE' is specified, exit nonzero if
+ the subsequent chown (or equivalent open,fchown,close) fails.
+ * tests/misc/mknod: New tests.
+ * tests/misc/Makefile.am (TESTS): Add mknod.
+
+2005-12-17 Jim Meyering <jim@meyering.net>
+
+ * src/remove.c (is_empty_dir): Open with O_NDELAY, so we don't hang,
+ e.g., on a named pipe.
+ (OPEN_NO_FOLLOW_SYMLINK): Remove definition. Use O_NOFOLLOW in
+ place of all uses, since it is guaranteed (system.h) to be defined.
+
+2005-12-05 Andreas Gruenbacher <agruen@suse.de>
+
+ Add POSIX ACL support
+ * src/ls.c: Switch back from HAVE_ACL to USE_ACL: The acl() syscall
+ is no requirement for ACL support; particularly, it does not exist
+ on systems that have POSIX ACLs.
+ * src/copy.h (cp_option_init) [umask_kill]: Remove member.
+ * src/cp.c (umask_kill): With default acls, the umask is not to be
+ applied. Remove umask_kill, don't change the process umask, and let
+ the kernel apply the umask where appropriate.
+ * src/cp.c (make_dir_parents_private): Fix logic for POSIX ACLs.
+ * src/copy.c (get_dest_mode): Remove; it is obsolete after removing
+ umask_kill.
+ (copy_reg, copy_internal): Use copy_acl and set_acl
+ instead of fchown/chown. Fix the logic for POSIX ACLs.
+ (chown_succeded): Remove; we now always copy acls and
+ preserve S_ISUID, S_ISGID, and S_ISVTX when needed, no matter if we
+ did a chown before or not.
+ * src/mv.c, src/install.c (cp_option_init): Don't set umask_kill member.
+ * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD, cp_LDADD,
+ mv_LDADD, ginstall_LDADD): On systems with an ACL library, arrange
+ to link with it via $(LIB_ACL), for the utilities that need it.
+
+2005-12-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/remove.c (OPENAT_CWD_RESTORE__REQUIRE): Remove.
+ (OPENAT_CWD_RESTORE__ALLOW_FAILURE): Likewise.
+ (fd_to_subdirp): Remove openat_cwd_restore_allow_failure arg; its
+ value is now signified by whether cwd_errno is null.
+ (fd_to_subdirp, remove_dir, rm_1); Change cwd failure indicator from
+ pointer-to-bool to pointer-to-errno-value. All callers changed.
+ (rm_1): Don't bother setting a local cwd failure flag and then
+ ORing it into the caller's. Just set the caller's.
+ (rm): Use cwd failure errno value to print a slightly-better
+ diagnostic.
+
+2005-12-15 Jim Meyering <jim@meyering.net>
+
+ * src/stat.c (print_it): Properly handle a backslash at the
+ end of a --printf format string. Reported by Paul Eggert.
+ * tests/misc/stat-printf (end-bs): Add a test for the above.
+
+2005-12-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ * tests/acl: Port to pre-POSIX shells like Solaris 8 /bin/sh.
+ Don't assume /etc/passwd contains user names; use 'id' instead.
+
+2005-12-15 Jim Meyering <jim@meyering.net>
+
+ stat: revert behavior of --format=FMT (-c)
+ stat: add new option: --printf=FMT
+ * NEWS: Mention this.
+ * src/stat.c (isodigit, octtobin, hextobin): Define.
+ (PRINTF_OPTION): Define.
+ (interpret_backslash_escapes, trailing_delim): New globals.
+ (usage): Document them. Alphabetize on long option names.
+ (print_esc_char): New function.
+ (print_it): Rewrite, in order to handle backslash escapes.
+ (main): Handle new option. Set globals for --format, too.
+
+ * tests/misc/stat-printf: Test --printf and --format.
+ * tests/misc/Makefile.am (TESTS): Add stat-printf.
+
+2005-12-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: sort now reports incompatible options.
+ * src/sort.c (incompatible_options, check_ordering_compatibility):
+ New functions.
+ (main): Use them. Don't bother with a usage message for
+ "sort -c a b", for consistency with other error diagnostics.
+ * tests/sort/Test.pm (incompat1, incompat2, incompat3, incompat4):
+ New tests.
+
+ * src/cat.c (main): Undo previous change. close_stdout already
+ does the check, so the previous change wasn't necessary.
+
+2005-12-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/cat.c (main): Check for close (STDOUT_FILENO) failure.
+
+2005-12-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ Install a more-conservative approach for sort -R. It's the
+ same basic idea as the existing code, except it uses the full ISAAC
+ approach (called the "more kosher" approach in the existing comments).
+ This makes "sort -R" quite a bit slower (about a factor of 2 on my
+ little tests involving 10000 lines on a 2.4 GHz P4), but I think it's
+ better to be conservative here at first, and review any performance
+ improvements carefully.
+ * .x-sc_require_config_h: Add src/rand-isaac.c.
+ * src/rand-isaac.h: Remove. All uses now simply include rand-isaac.c.
+ * src/Makefile.am (noinst_HEADERS): Remove rand-isaac.h.
+ (shred_SOURCES, sort_SOURCES): Remove.
+ (EXTRA_DIST): Add rand-isaac.c.
+ * src/rand-isaac.c: Revert to what used to be in shred.c, without
+ changing it to allow for varying numbers of words in the state.
+ Alter so that we include rand-isaac.c directly rather than
+ compiling it and linking to it. Don't include config.h or
+ system.h; that's the includer's responsibility.
+ Omit functions that are specific to shred.
+ (ISAAC_LOG, ISAAC_WORDS, ISAAC_BYTES, struct isaac_state, ind):
+ (isaac_step, struct irand_state):
+ Resurrect these, with the same defns that used to be in shred.c.
+ (ISAAC_SIZE, isaac_new, isaac_copy): Remove.
+ (isaac_refill, isaac_seed_start, isaac_seed_data, irand_init, irand32):
+ static again.
+ (struct isaac_state, isaac_refill, isaac_mix, isaac_init):
+ (isaac_seed_start, isaac_seed_data, isaac_seed_finish, isaac_seed):
+ (irand_init, irand32, irand_mod):
+ Number of words is constant again.
+ (struct irand_state, irand_init, irand32, irand_mod): Move to shred.c.
+ * src/shred.c: Include rand-isaac.c rather than rand-isaac.h.
+ * src/sort.c: Likewise.
+ * src/shred.c (fillrand, dopass, main): Undo previous change.
+ (struct irand_state, irand_init, irand32, irand_mod): Moved back here,
+ from rand-isaac.c.
+ * src/sort.c: Don't include md5.h; it wasn't needed.
+ (struct keyfield): Rename random_hash to random, for consistency
+ with the other member names. All uses changed.
+ (usage): Tweak wording to mention STRING for --seed option.
+ (short_options): Rorder for consistency with other programs.
+ (rand_state): Now a struct, not a pointer to one. All uses changed.
+ (HASH_WORDS, HASH_SIZE): Remove.
+ (get_hash): Remove comments around resbuf size, since we can assume C89.
+ Use a "more-kosher" (but slower) approach of invoking isaac_refill.
+ (keycompare): Adjust to the new get_hash.
+ Add a FIXME.
+ (badfieldspec): Omit recently-introduced comment; it isn't needed.
+ (main): Don't set need_random simply because gkey has it set; that
+ doesn't necessarily mean we'll need random numbers.
+ Redo seeding to match new get_hash approach.
+
+2005-12-10 Jim Meyering <jim@meyering.net>
+
+ * src/Makefile.am (noinst_HEADERS): Add rand-isaac.h.
+
+ Avoid shred segfault on 64-bit systems.
+ * src/rand-isaac.c (isaac_refill): Don't try to negate a
+ local of type uint32_t. Make the local an `int' instead.
+
+ * NEWS: Mention sort's new options.
+
+ * src/rand-isaac.c (isaac_mix): Declare to be static.
+ Mark all other functions as `extern' so the tight-scope
+ part of `make distcheck' passes once again.
+ * src/rand-isaac.h (isaac_mix): Remove declaration.
+
+ * src/sort.c (get_hash): Change position of `*' in parameter
+ type to conform with convention.
+ (main): Split a long line so it fits in 80 columns.
+ (keycompare): Remove stray SPACE before TAB that was
+ causing `make distcheck' to fail.
+
+ * src/shred.c: Don't include gethrxtime.h. No longer needed.
+
+ * tests/misc/sort-rand: New file: basic tests for the new options.
+ * tests/misc/Makefile.am (TESTS): Add sort-rand.
+
+2005-12-10 Frederik Eaton <frederik@ofb.net>
+
+ * src/Makefile.am (sort_LDADD): Add $(LIB_GETHRXTIME).
+ (shred_SOURCES, sort_SOURCES): New macros, so we compile rand-isaac.c.
+ * src/rand-isaac.c: New file, containing ISAAC code that was in shred.c.
+ Make state size runtime-configurable.
+ (isaac_new, isaac_copy): New functions.
+ * src/rand-isaac.h: New file.
+ * src/shred.c: Include rand-isaac.h. Move ISAAC code to rand-isaac.c.
+ (fillrand, main): Adjust to the fact that the state size is now
+ runtime-configurable.
+ * src/sort.c (short_options, long_options, WORDS, keycompare, main):
+ (usage): Add options --random-sort and --seed to implement a random
+ shuffle.
+ Include md5.h and rand-isaac.h.
+ (get_hash): New function.
+ (rand_state): New var.
+ (HASH_WORDS, HASH_SIZE): New macros.
+
+2005-12-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ * tests/dd/misc: Add test for dd iflags=noatime.
+
+2005-12-09 Jim Meyering <jim@meyering.net>
+
+ * src/sort.c (usage): Mention white space vs -b and -t options.
+ From The Wanderer.
+
+2005-12-09 Eric Blake <ebb9@byu.net>
+
+ * src/test.c (main): Fix misleading comment.
+
+2005-12-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Mention dd's new noatime flag.
+ * src/system.h (O_NOATIME): Define to 0 if not already defined.
+ * src/dd.c (flags, usage): Add support for noatime flag.
+
+2005-12-07 Jim Meyering <jim@meyering.net>
+
+ Distribute the cvsu script, used only by `make syntax-check'.
+ * Makefile.am (EXTRA_DIST): Add build-aux/cvsu.
+ * Makefile.maint (CVS_LIST): Use build-aux/cvsu, now that we
+ distribute a copy of this script.
+ * .x-sc_unmarked_diagnostics: Add build-aux/cvsu.
+
+ * tests/mv/acl: exit-77 before the trap, not after, if we fail
+ to create a temporary directory on another partition.
+ From Andreas Gruenbacher.
+
+2005-12-06 Tomas Pospisek <tpo@sourcepole.ch> (tiny change)
+
+ * man/basename.x: Cross-reference to dirname and readlink.
+ * man/dirname.x: Cross-reference to basename and readlink.
+
+2005-12-05 Andreas Gruenbacher
+
+ * src/copy.c [!HAVE_FCHOWN]: Define fchown(...) to -1.
+ (set_owner, preserve_author): New functions, factored out of copy_reg.
+ (copy_reg): Use them.
+ (copy_internal): Use them here, too.
+
+2005-12-04 Jim Meyering <jim@meyering.net>
+
+ * src/sleep.c (usage): Say what happens with two or more arguments.
+ Suggested by Justin Pryzby.
+
+ * src/uptime.c (print_uptime): Move decl of `upsecs' into scope
+ where it's used.
+
+2005-12-03 Jim Meyering <jim@meyering.net>
+
+ * src/rm.c (long_opts): Change the name of each undocumented, for-
+ testing-only option to start with `-', so that it cannot render
+ ambiguous any prefix it happens to share with some other option name.
+ Problem reported by Eric Blake.
+ * src/head.c (long_options): Likewise.
+ * src/tail.c (long_options): Likewise.
+
+ * tests/misc/head-elide-tail: Update uses of undocumented, for-
+ testing-only --presume* options to start with `---'.
+ * tests/rm/dangling-symlink: Likewise.
+ * tests/rm/dir-no-w: Likewise.
+ * tests/rm/isatty: Likewise.
+
+2005-11-30 Jim Meyering <jim@meyering.net>
+
+ * Makefile.maint: Add a comment about cvsu.
+
+2005-11-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: df updates for "none", "proc", inaccessible file systems.
+ * src/df.c (show_point): Ignore inaccessible file systems.
+ (usage): -a includes dummy file systems, not size-0 file systems.
+
+ * src/od.c (unsigned_long_long_int): Renamed from ulonglong_t,
+ to avoid collision with POSIX name space. All uses changed.
+
+2005-11-24 Jim Meyering <jim@meyering.net>
+
+ * tests/Makefile.am (EXTRA_DIST): Add acl to the list.
+ * tests/acl: Add `$0: ' prefix to diagnostics.
+
+ * .x-sc_require_config_h: Add lib/buffer-lcm.c to the list.
+
+2005-11-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/copy.c: Improve performance a bit by optimizing away
+ unnecessary system calls and going to a block size of at least
+ 8192 (on normal hosts, anyway). This improved performance 5% on my
+ Debian stable host (2.4.27 kernel, x86, copying from root
+ ext3 file system to itself).
+ Include "buffer-lcm.h".
+ (copy_reg): Omit last argument. All callers changed.
+ Use xmalloc to allocate rather than trusting alloca
+ (which is unwise with large block sizes).
+ Declare locals more locally, if possible.
+ Use uintptr_t words instead of int words, for a bit more speed
+ when looking for null blocks on 64-bit hosts.
+ Optimize away reads of zero bytes on regular files.
+ In the typical case, insist on 8 KiB buffers, at least.
+ Avoid unnecessary extra call to fstat when checking for sparse files.
+ Avoid now-unnecessary cast to off_t, and "0L".
+ Avoid unnecessary test of *new_dst when checking for same owner
+ and group.
+
+2005-11-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/remove.c (rm): Don't assume C99 for-loop syntax.
+
+2005-11-22 Jim Meyering <jim@meyering.net>
+
+ * src/remove.c (AD_push): Remove debugging cruft.
+
+ * tests/rm/unread2 (rm): Change expected diagnostic,
+ `cannot open directory' to `cannot remove', to align with
+ new version of rm.
+ * tests/rm/rm2: Ensure that rm now continues removing entries
+ even after certain types of failure.
+
+ * src/remove.c: Rewrite. Now, this module is reentrant on systems
+ that provide openat (Solaris), and on systems like Linux+procfs
+ where our openat emulation code is reentrant. This also fixes a
+ few low-probability leaks and eliminates some code that could,
+ in very unusual circumstances, cause rm() (via a callee) to exit.
+ * NEWS: Mention this.
+
+ * configure.ac: Put copyright dates all on one line so the
+ emacs function that updates them works properly.
+
+2005-11-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ * configure.ac (AM_PROG_CC_C_O): Add. Needed for CVS Automake.
+ Problem reported by Eric Blake.
+ (AC_PROG_CC_STDC): Use this instead of AC_PROG_CC, so that
+ we get a standard-conforming compiler. This relies on the new
+ m4/c.m4 file. Note that it's a bit tricky, since c.m4 doesn't
+ define AC_PROG_CC_STDC; we are relying on Autoconf 2.59 internals.
+ m4/c.m4 can go away with Autoconf 2.60 comes out.
+
+2005-11-17 Jim Meyering <jim@meyering.net>
+
+ * src/remove.c (AD_mark_helper): Make a `char *' parameter `const'.
+ (AD_mark_current_as_unremovable): Likewise, but for a local.
+ (rm_1): Likewise.
+
+ * tests/mv/acl: Let traps handle removing temporary directories.
+
+ Expect acl-related tests to fail, until the corresponding
+ patches are committed.
+ * tests/mv/Makefile.am (XFAIL_TESTS): Add acl.
+ * tests/cp/Makefile.am (XFAIL_TESTS): Likewise.
+
+ ACL tests, from Andreas Gruenbacher.
+ * tests/acl, tests/mv/acl, tests/cp/acl: New files.
+ * tests/mv/Makefile.am (TESTS): Add acl.
+ * tests/cp/Makefile.am (TESTS): Add acl.
+
+ * src/ls.c (basename_is_dot_or_dotdot): Correct wording in comment.
+
+2005-11-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Improve quality of ln's diagnostics.
+ * src/ln.c (do_link, usage): Likewise.
+ (do_link): Don't use alloca on a buffer of unbounded size.
+
+2005-11-16 Jim Meyering <jim@meyering.net>
+
+ * tests/cp/fail-perm: Accommodate HPUX. It appears to fail
+ with EACCES rather than EPERM. Reported by Peter O'Gorman here:
+ http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/5766
+ This also affects AIX 4.3.3, according to Ralf Wildenhues, in
+ http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00192.html
+
+2005-11-14 Jim Meyering <jim@meyering.net>
+
+ * NEWS (sort): Mention consequences of today's mkstemp-safer.c fix.
+
+2005-11-13 Jim Meyering <jim@meyering.net>
+
+ * announce-gen: Accept new option, --gpg-key-id=ID and
+ emit a blurb telling how to use the .sig files.
+ * Makefile.cfg (gpg_key_ID): Define.
+ * Makefile.maint (announcement): Use new option and key.
+
+ Require that most .c files include <config.h>.
+ * Makefile.maint (sc_require_config_h): New rule.
+ (syntax-check-rules): Add it.
+ * .x-sc_require_config_h: New file listing exceptions to the
+ above rule. Some are legit, others are simply grandfathered in.
+ * Makefile.am (EXTRA_DIST): Add .x-sc_require_config_h here, too.
+
+2005-11-12 Jim Meyering <jim@meyering.net>
+
+ * src/checksum.h, src/md5.c, src/sha1sum.c: Remove now-unused files.
+
+2005-11-11 Jim Meyering <jim@meyering.net>
+
+ * NEWS: Mention `readlink -f' bug fix in 5.3.0 news.
+ Mention new readlink options in 5.3.0's `New features' section.
+ Spotted by Thomas Hood.
+
+2005-11-08 Jim Meyering <jim@meyering.net>
+
+ * NEWS: Merge in changes from b5_9x branch.
+
+2005-11-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: ls now defaults to --time-style='locale', which in turn acts
+ like --time-style='posix-long-iso' if the locale settings are messed up.
+ * src/ls.c (decode_switches): Implement this.
+
+2005-11-08 Jim Meyering <jim@meyering.net>
+
+ * tests/du/2g: s/expensive/very expensive/ in a comment.
+ From Paul Townsend.
+
+2005-10-17 Eric Blake <ebb9@byu.net>
+
+ * src/ls.c (usage): Fix descriptions of --sort, --time.
+ Reported by Vitaly A. Ostanin.
+
+2005-11-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/ln.c: Include filenamecat.c.
+ (FILE_BASENAME_CONCAT): Remove.
+ (do_link): Remove last arg DEST_IS_DIR. All callers changed.
+ (main): Use file_name_concat, base_name, and strip_trailing_slashes
+ instead of FILE_BASENAME_CONCAT. This simplifies the code, and avoids
+ the use of alloca.
+
+2005-11-04 Jim Meyering <jim@meyering.net>
+
+ * src/du.c (process_file): Don't overflow for files of size >= 2^31
+ on systems with stat.st_blocks of a signed 32-bit type.
+ This bug causes trouble on some AIX 5.1 systems.
+ Report and trivial patch from Paul Townsend:
+ <http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00033.html>
+ * NEWS: Mention this.
+
+ * tests/du/2g: New (very-expensive) test for the above-fixed bug.
+ * tests/du/Makefile.am (TESTS): Add it here.
+ * tests/very-expensive: New file.
+ * tests/Makefile.am (EXTRA_DIST): Add it here.
+ * tests/cp/perm: Mark this test as `very-expensive', too.
+
+2005-11-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Mention that rm -d and maybe ln -d are scheduled for
+ removal in 2006.
+ * src/remove.h (struct rm_options): Remove unlink_dirs. All uses
+ removed.
+ * src/rm.c (usage): Don't mention rm -d.
+
+2005-11-02 Jim Meyering <jim@meyering.net>
+
+ * tests/dd/skip-seek: Fix typo in comment: s/fileutils/coreutils.
+ From Andreas Schwab.
+
+ * tests/dd/unblock-sync: Redirect stderr to /dev/null so the
+ `M+N records in/out' lines don't pollute `make check' output.
+
+ * tests/dd/skip-seek (sk-seek4): New test, to exercise the bug
+ fixed on 2005-10-31. This test uses the new, IN_PIPE specifier.
+ * tests/Coreutils.pm: Accept a new type of input specifier: IN_PIPE,
+ to indicate that the input file should be piped into the command
+ under test (via `cat FILE | $prog ...').
+
+ * src/remove.c (remove_entry): Emit a better diagnostic when rm
+ (without -r) fails to remove a directory on a non-Linux system.
+ This change affects only newer Solaris systems (with priv_*
+ functions like priv_allocset). Reported by Keith Thompson.
+
+ * tests/rm/dir-nonrecur: New file/test for the above fix.
+ * tests/rm/Makefile.am (TESTS): Add dir-nonrecur.
+
+2005-11-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: "tail -c 2 FILE" and "touch 0101000000" now operate as
+ POSIX 1002.1-2001 requires.
+ * src/tail.c (parse_obsolete_option): Implement this.
+ Problem reported by Vincent Lefevre.
+ * src/touch.c (main): Pass PDS_PRE_2000 to posixtime.
+ * tests/tail/Test.pm (c-2, c-2-minus, c2, c2-minus): New tests.
+ (test_vector): Add special cases for _POSIX2_VERSION, and
+ regularize the old ones a bit.
+ * tests/touch/obsolescent: Add y2000 test.
+
+2005-10-31 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/dd.c (skip): Fix off-by-one error reported by
+ Theodoros V. Kalamatianos.
+
+2005-10-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ * tests/mkdir/p-3: Require that the test be run as non-root.
+ Problem and trivial fix reported by Theodoros V. Kalamatianos.
+
+2005-10-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/ln.c (FILE_BASENAME_CONCAT): Omit unnecessary slashes in the
+ boundary between DEST and SOURCE in the result.
+
+2005-10-26 Dmitry V. Levin <ldv@altlinux.org>
+
+ * src/md5sum.c (main) [!O_BINARY]: Changed default read mode
+ back to text, to sync with documentation and for backwards
+ compatibility.
+
+2005-10-25 Jim Meyering <jim@meyering.net>
+
+ * tests/dircolors/simple (other-wr): Add an explicit test for
+ the dircolors bug (NULL-dereference) fixed yesterday.
+
+2005-10-24 Jim Meyering <jim@meyering.net>
+
+ * src/tac.c (tac_file): When determining whether a file is seekable,
+ also test whether it is a tty. Using only the lseek-based test would
+ give a false positive on Solaris. Reported by Peter Fales.
+
+2005-10-24 Dmitry V. Levin <ldv@altlinux.org>
+
+ * tests/install/d-slashdot: New test, for "install -d" failure.
+ * tests/install/Makefile.am (TESTS): Add d-slashdot.
+ * tests/mkdir/p-slashdot: New test, for "mkdir -p" failure.
+ * tests/mkdir/Makefile.am (TESTS): Add p-slashdot.
+
+2005-10-24 Jim Meyering <jim@meyering.net>
+
+ * src/dircolors.c (ls_codes): Add missing comma.
+ Anonymous report and patch from
+ http://savannah.gnu.org/bugs/?func=detailitem&item_id=14849
+
+ * src/dircolors.c: Add compile-time assertion that the slack_codes
+ and ls_codes arrays have the same number of elements. This would
+ have prevented the above-fixed bug.
+
+ * src/expand.c (parse_tab_stops): Add a comment to make this function
+ identical to the one in unexpand.c.
+ * src/unexpand.c (parse_tab_stops): Adjust syntax to make this function
+ identical to the one in expand.c.
+
+ * src/expand.c (next_file): Don't assume fopen cannot return stdin.
+
+2005-10-23 Jim Meyering <jim@meyering.net>
+
+ * src/md5sum.c (digest_check, main): Use ptr_align rather than
+ a dangerous pointer-value-to-`unsigned' cast.
+ * NEWS: mention the new sha* programs.
+ * AUTHORS: Add new sha* programs.
+
+2005-08-28 David Madore <david.madore@ens.fr>
+
+ Add new programs: sha224sum, sha256sum, sha384sum, sha512sum.
+ * README: Add their names to the list.
+ * src/md5sum.c: Provide framework for computing sha-2 hashes.
+ * src/Makefile.am (sha224sum, sha256sum, sha384sum, sha512sum):
+ Rules for compiling sha-2 utilities
+ (noinst_HEADERS): Remove checksum.h.
+ * man/sha512sum.x, man/sha384sum.x, man/sha256sum.x, man/sha224sum.x:
+ New files.
+ * man/Makefile.am (dist_man_MANS): Add the corresponding .1 names.
+ (sha224sum.1, sha256sum.1, sha384sum.1, sha512sum.1): New dependencies.
+ * tests/misc/sha224sum, tests/misc/sha256sum: New files.
+ * tests/misc/sha384sum, tests/misc/sha512sum: New files.
+ * tests/misc/Makefile.am (TESTS): Add new sha224sum, sha256sum,
+ sha384sum, sha512sum test scripts here rather that each in its
+ own directory.
+
+2005-08-28 David Madore <david.madore@ens.fr>
+
+ * tests/sha1sum/basic-1 (million-a): Add the "million a's" test (one
+ of the FIPS test vectors).
+
+2005-10-23 Jim Meyering <jim@meyering.net>
+
+ * configure.ac: Use 6.0-cvs as the version string.
+ * NEWS: Adjust accordingly.
+
2005-10-22 Jim Meyering <jim@meyering.net>
* Version 5.92.
diff --git a/ChangeLog-2006 b/ChangeLog-2006
new file mode 100644
index 000000000..1c734b0e5
--- /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 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.
diff --git a/ChangeLog-2007 b/ChangeLog-2007
new file mode 100644
index 000000000..a335938ea
--- /dev/null
+++ b/ChangeLog-2007
@@ -0,0 +1,4022 @@
+2007-12-31 Jim Meyering <jim@meyering.net>
+
+ * doc/coreutils.texi (Block size): Put braces around multi-digit
+ exponents. Reported by Darrel Francis.
+
+ Add a syntax check, so this doesn't recur. Reorganize existing checks.
+ * doc/Makefile.am (sc-exponent-grouping):
+ (syntax_checks): New variable.
+ (sc-avoid-io, sc-avoid-non-zero, sc-avoid-timezone):
+ (sc-avoid-zeroes, sc-use-small-caps-NUL): New rules, extracted
+ from check-texinfo.
+ (check-texinfo): Depend on $(syntax_checks).
+
+2007-12-30 Mike Frysinger <vapier@gentoo.org>
+
+ * src/dircolors.hin (TERM): Add gnome-256color.
+
+2007-12-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * doc/coreutils.texi: Fix a typo. Avoid the term `relationals'.
+
+2007-12-20 Jim Meyering <meyering@redhat.com>
+
+ Use comma-separated list in ./configure --help output.
+ * configure.ac: Map commas to spaces in excluded-program list.
+ Use a comma-separated list, not a space-separated one.
+ * m4/include-exclude-prog.m4 (gl_INCLUDE_EXCLUDE_PROG):
+ Expect list of program names to be comma-separated.
+ Reported by Jan Bauke Douma.
+
+ Avoid another "make check" failure due to omitted programs.
+ * tests/test-lib.sh (require_built_): New function.
+ * tests/misc/groups-version: Use it to skip this test if
+ either groups or id is not built.
+
+ Avoid spurious "make check" failures due to omitted programs.
+ * man/Makefile.am (distcheck-hook): Make check rules dependents of
+ this target, not of check-local, so that people aren't distracted by
+ failures due to programs omitted via --enable-no-install-program=...
+
+2007-12-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/uniq.c (usage): Improve wording in --help "Note".
+
+2007-12-18 Jim Meyering <meyering@redhat.com>
+
+ * src/uniq.c (usage): Note that sorting uniq's input is often useful.
+ Suggested by Eric Blake.
+ (usage): Say "key-selection", not "field-selection".
+ Quote example commands consistently.
+
+2007-12-15 Jim Meyering <meyering@redhat.com>
+
+ Version 6.9.91.
+
+ * Makefile.cfg (gpg_key_ID): Use new, longer signing subkey.
+
+2007-12-12 Jim Meyering <meyering@redhat.com>
+
+ * tests/mv/part-symlink: Redirect diff output to stderr.
+
+2007-12-11 Jim Meyering <meyering@redhat.com>
+
+ Add a test to exercise today's bug fix.
+ * tests/misc/selinux: Test for today's bug fix.
+ * NEWS: Mention the SELinux "ls -l" fix.
+
+2007-12-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ "ls -l" wouldn't output "+" on SELinux hosts unless -Z was also given.
+ * src/ls.c (gobble_file): Also get the file context if -l is specified.
+ Treat getfilecon failures like file_has_acl failures.
+ (UNKNOWN_SECURITY_CONTEXT): New constant.
+ (clear_files): Don't free it.
+ (gobble_file): Set unknown security contexts to it; that way, we
+ don't have to have special cases for unknown contexts.
+ (print_long_format, print_file_name_and_frills): Don't worry
+ about scontext being null, since it's always some string now.
+
+2007-12-11 Jim Meyering <meyering@redhat.com>
+
+ * NEWS: Add the "Bug fixes" heading.
+
+2007-12-09 Jim Meyering <meyering@redhat.com>
+
+ "rm" as root would fail to unlink a non-directory on OS X 10.4.x
+ * src/remove.c (remove_entry) ["can unlink directories"]: Fix a
+ mistakenly reversed condition.
+ * NEWS: Mention this bug fix.
+ Reported by Pieter Bowman.
+
+2007-12-08 Jim Meyering <meyering@redhat.com>
+
+ * src/c99-to-c89.diff: Adjust shred.c offsets.
+
+2007-12-04 Jim Meyering <meyering@rho.meyering.net>
+
+ Reflect change in gnulib: don't include getpagesize.h,
+ now that it's provided by unistd.h.
+ * src/cat.c: Don't include getpagesize.h.
+ * src/copy.c: Likewise.
+ * src/dd.c: Likewise.
+ * src/shred.c: Likewise.
+ * src/split.c: Likewise.
+
+2007-12-02 Jim Meyering <meyering@redhat.com>
+
+ Copy a .po file into place also when the target doesn't exist.
+ * bootstrap (gnulib_tool): ... not just when the checksum differs.
+ So now, if I manually remove po/xx.po, rerunning bootstrap will
+ copy the latest into place.
+
+ Make my-distcheck depend on "check".
+ * Makefile.maint (my-distcheck): Also depend on "check", so I can't tag
+ and release something that fails "make check" (however harmless) when
+ run in a checked-out-from-git dir, but not in the distributed tarball.
+
+ * NEWS: Add the usual "Noteworthy changes in release 6.9.91..." line.
+
+ Remove just-installed su, if unable to make it set-UID root.
+ Normally, su isn't even installed. However, if you configure with
+ --enable-install-program=su, and then install with insufficient
+ privileges, we now make sure to remove the just-installed binary.
+ * src/Makefile.am (install-exec-hook): Rename from install-exec-local,
+ so that this rule is guaranteed to be run *after* installation.
+ If unable to chown and chmod the installed "su" program, remove it.
+ Reported by Greg Schaefer.
+
+2007-12-01 Bob Proulx <bob@proulx.com>
+
+ Make existing-perm-race executable.
+ * tests/cp/existing-perm-race: Update file mode.
+
+2007-12-01 Jim Meyering <meyering@redhat.com>
+
+ Version 6.9.90.
+
+ * NEWS: Remove the now-untrue statement about cp vs. dangling symlinks
+
+ Change release procedure: tag *before* running e.g., "make stable".
+ * Makefile.maint (vc-dist): Don't tag. Now, you must apply the tag
+ before running "make beta", "make stable", etc.
+ (vc-tag-check): Remove rule. No longer makes sense.
+
+ * Makefile.maint (vc-tag-check): Correct check for existing git tag.
+
+ Defer NEWS and ChangeLog checks until after the version-changing tag.
+ * Makefile.maint (alpha beta major): Don't depend on the
+ news-date-check changelog-check targets. They must fail before
+ applying the version-changing tag. Instead, run them after "vc-dist".
+
+ * NEWS: Record release date and new version number.
+ Mention some of the SELinux changes.
+ * src/stat.c (main): Adjust a comment.
+
+ * TODO: Add some entries (documentation needed),
+ and remove the one for mktemp.
+
+ Add "extern" keyword to declaration of cp_options_default.
+ * src/copy.c (cp_options_default): Mark as "extern", so the
+ "sc_tight_scope" part of "make distcheck" passes.
+
+2007-12-01 Jim Meyering <meyering@redhat.com>
+
+ Change comments: say bug present up to coreutils-6.9, not fixed in 6.10.
+ * tests/cut/Test.pm: Adjust comment.
+ * tests/misc/cut: Likewise.
+ * tests/misc/ls-misc: Likewise.
+ * tests/misc/od: Likewise.
+ * tests/misc/stty-invalid: Likewise.
+ * tests/tr/Test.pm: Likewise.
+
+2007-11-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ Add a test for cp -p and existing file permissions.
+ * tests/cp/Makefile.am (TESTS): Add existing-perm-race.
+ * tests/cp/existing-perm-race: New test. It isn't much of a
+ test yet, since it's hard to catch the race, but it has a FIXME
+ that will let us do a better test later.
+
+2007-11-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix a security race with "cp -p A B" when B already exists.
+ * src/copy.h (struct cp_options): New member owner_privileges.
+ * src/copy.c (USE_ACL): Define to 0 if not defined, for convenience.
+ (owner_failure_ok): New function.
+ (set_owner): Avoid a security-related race by doing an extra chmod
+ first if it looks like there might be trouble right after a chown.
+ Accept a source struct stat rather than a uid and gid, and
+ accept a boolean NEW_DST and destination struct stat.
+ All callers changed.
+ * src/copy.h (cp_options_default): New function, replacing the
+ old chown_privileges.
+ * src/copy.c (cp_options_default): Likewise.
+ * src/cp.c (cp_option_init): Use it.
+ * src/install.c (cp_option_init): Likewise.
+ * src/mv.c (cp_option_init): Likewise.
+
+2007-11-30 Jim Meyering <meyering@redhat.com>
+
+ Move the very-expensive file into test-lib.sh.
+ * tests/very-expensive: Remove file.
+ * tests/test-lib.sh (very_expensive_): New function.
+ * tests/Makefile.am (EXTRA_DIST): Remove very-expensive.
+ * tests/cp/perm: Call the new function, rather than sourcing the file.
+ * tests/tail-2/assert: Likewise.
+ * tests/tail-2/assert-2: Likewise.
+ * tests/du/2g: Likewise.
+
+ Avoid a spurious test failure when build directory is set-GID.
+ * tests/cp/fail-perm: Ensure that '.'s set-GID bit is off.
+
+ Be extra careful to quote $abs_top_builddir-derived names.
+ * tests/misc/ls-misc (shell_quote): New function.
+ Use it to quote file names derived from $abs_top_builddir,
+ in case it contains shell meta-characters. This is not currently
+ needed, since CuTmpdir detects the fishy name and skips the test.
+ But it's important enough to add the extra protection.
+ Reported by Ralf Wildenhues.
+
+ Include test name in the "unsafe working directory name" diagnostic.
+ * tests/CuTmpdir.pm (import): If $ME is '-', use $prefix.
+
+2007-11-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ Add quotes to protect against white space in build dir name.
+ * tests/check.mk (TESTS_ENVIRONMENT): Quote $(abs_srcdir).
+ * tests/chmod/setgid: Quote absolute names.
+ * tests/misc/help-version: Likewise.
+ * tests/misc/pwd-unreadable-parent: Likewise.
+ * tests/rmdir/ignore: Likewise.
+ * tests/test-lib.sh: Likewise.
+
+ Define `tst', for CU_TEST_NAME.
+ * build-aux/check.mk (am__check_pre): Set `tst', for
+ CU_TEST_NAME in tests/check.mk.
+
+ * tests/CuTmpdir.pm (END): Do not do the cleanup if $dir is not
+ defined, because it then goes wild and changes the mode of all
+ directories below $HOME. Undefined $dir can happen if the test
+ is to be skipped because of an unsafe working directory name.
+
+2007-11-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ Close a file descriptor leak when cp --preserve=context fails.
+ * src/copy.c (copy_reg): Close dest_desc too, if getfscreatecon
+ or fsetfilecon fail.
+
+2007-11-28 Jim Meyering <meyering@redhat.com>
+
+ * README: Document the known problem with gettext <= 0.17.
+
+2007-11-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ * gl/modules/randread (Depends-on): Remove nonexistent rand-isaac.
+
+2007-11-27 Jim Meyering <meyering@redhat.com>
+
+ Don't block use of 'cat' or 'wc' in "make check".
+ * Makefile.maint (my-distcheck): Add "cat" and "wc" to the list
+ of programs that we can't blacklist.
+
+ Fix md5sum+sha*sum on sparc: regenerate files with latest autoconf.
+ * configure et al: Regenerate with very latest version of autoconf
+ (v2.61a-312-gb524b0f), to fix md5sum and sha*sum miscompilation
+ on big-endian systems (like sparc) due to lack of the required
+ definition in of WORDS_BIGENDIAN in lib/config.h.
+
+2007-11-26 Jim Meyering <meyering@redhat.com>
+
+ setuidgid.c: more cleanup
+ * src/setuidgid.c: Include "mgetgroups.h".
+ (main): Don't presume there's a fixed limit on the maximum number
+ of group IDs. Don't use NGROUPS; it's artificially low.
+ Change the name of a local: s/gids_count/n_gids/.
+ Remove non-portable "const": s/const int tmp =.../int tmp =.../
+
+2007-11-25 Jim Meyering <meyering@redhat.com>
+
+ Document install's -D option.
+ * doc/coreutils.texi (install invocation): Document -D.
+ Reported by Akim Demialle.
+
+ setuidgid: Update --help output.
+ * src/setuidgid.c (usage): Describe -g GID[,GID1...] option.
+ Mention that USER may be a numeric ID or a user name.
+
+2007-11-24 Jim Meyering <meyering@redhat.com>
+
+ Tweak new test.
+ * tests/cp/preserve-gid: Split some long lines.
+ Prepend "+" to numeric uid and gid chown arguments, on principle.
+ Use skip_test_.
+
+ setuidgid: minor clean-up.
+ * setuidgid.c: Include "xstrtoul.h".
+ (main): Detect overflow in string-to-gid_t and -to-uid_t conversions.
+ Improve diagnostics.
+
+ * src/setuidgid.c: Normalize leading white space: no more TABs.
+
+ Test the new feature: cp -p preserves the GID whenever possible.
+ * tests/cp/preserve-gid: New file. Test for today's change.
+ * tests/cp/Makefile.am (TESTS): Add preserve-gid.
+ * tests/Makefile.am (all_t): Add tc.
+ (tc): New target.
+
+ setuidgid: accept numeric UID, and new option -g GID,GID1,GID2,...
+ * src/setuidgid.c: Add functionality for the new test above.
+
+ "cp -p" tries to preserve GID even if preserving the UID fails.
+ * NEWS: Mention this new feature.
+ * src/copy.c (set_owner): Try to preserve just the GID,
+ when initial fchown/lchown fails.
+ * src/cp.c (re_protect): Likewise.
+
+2007-11-23 Jim Meyering <meyering@redhat.com>
+
+ * src/runcon.c (main): Remove unused parameter, "envp".
+
+ Add tests to show new class of strings accepted by date -d.
+ * tests/misc/date (rel-1day, rel-plus1): New tests for the recent
+ change in gnulib's getdate.y.
+ * NEWS: Mention the fix.
+
+2007-11-22 Jim Meyering <meyering@redhat.com>
+
+ Quiet warnings about unused parameters.
+ * src/copy.c (set_author) [!HAVE_STRUCT_STAT_ST_AUTHOR]:
+ "Use" each of the parameters.
+
+ * GNUmakefile: Correct the "rerunning..." diagnostic.
+
+ Make it easier to diagnose PATH-induced "make distcheck" failures.
+ * Makefile.maint (write_loser): Define.
+ (my-distcheck): Use an always-failing wrapper script, that gives
+ a diagnostic, not "false".
+ Run only "make -C tests check" with the restrictive PATH.
+ Run the new gnulib-tests/ with the usual PATH.
+
+ cp: by default, refuse to copy through a dangling destination symlink
+ * NEWS: Mention this change.
+ * doc/coreutils.texi (cp invocation): Describe the new behavior.
+ * src/copy.c: No longer include "canonicalize.h".
+ (copy_reg): Upon failure to open a dangling destination symlink,
+ don't canonicalize the name, but rather fail (default) or, with
+ POSIXLY_CORRECT, repeat the open call without O_EXCL (potentially
+ dangerous).
+ * src/copy.h (struct cp_options) [open_dangling_dest_symlink]:
+ New member. Reorder the others, grouping "bool" and "enum"
+ members together.
+ * tests/cp/thru-dangling: Test for changed and new behavior.
+ * src/cp.c (cp_option_init): Initialize new member.
+ * src/install.c (cp_option_init): Likewise.
+ * src/mv.c (cp_option_init): Likewise.
+
+2007-11-21 Pádraig Brady <P@draigBrady.com>
+
+ * doc/coreutils.texi (split invocation): Improve the
+ descriptions of the split command options.
+
+2007-11-21 Jim Meyering <meyering@redhat.com>
+
+ * src/c99-to-c89.diff: Adjust seq.c offsets.
+
+2007-11-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/seq.c (print_numbers): Rewrite in an attempt to avoid the
+ more-general rounding issues exposed by the previous patch.
+
+2007-11-18 Jim Meyering <meyering@redhat.com>
+
+ * src/c99-to-c89.diff: Adjust seq.c offsets.
+
+ Remove unused parameter in remove.c.
+ * src/remove.c (fd_to_subdirp): Remove unused parameter.
+ (remove_cwd_entries, remove_dir): Update callers.
+
+ bootstrap: work also with 4-argument variant of AC_INIT (from gnulib)
+ 2007-11-18 Sergey Poznyakoff <gray@gnu.org.ua>
+ * bootstrap (gnulib_extra_files): Adjust sed command.
+
+2007-11-17 Jim Meyering <meyering@redhat.com>
+
+ Correct preceding patch.
+ * src/seq.c (print_numbers): Also handle first < last && step < 0.
+ * tests/misc/seq [empty-rev]: New test for this case.
+
+ "seq .1 .1" would mistakenly generate no output on some systems
+ * NEWS: Say this.
+ * src/seq.c (print_numbers): Handle another floating point corner case.
+ This avoids failure of seq's eq-wid-7 test on FreeBSD 6.1.
+
+2007-11-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port tests/rmdir/ignore away from GNU/Linux.
+ * tests/rmdir/ignore: Don't assume that rmdir($PWD) will fail
+ with errno==ENOTEMPTY when $PWD is not empty; Posix also allows
+ rmdir to fail with errno==EBUSY.
+
+2007-11-16 Jim Meyering <meyering@redhat.com>
+
+ Avoid an obscure new "make distcheck" failure.
+ * Makefile.maint (my-distcheck): Also allow 'mv', for its use
+ in gnulib-tests/Makefile.
+
+2007-11-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port readlink-fp-loop to Solaris.
+ * tests/misc/readlink-fp-loop (symlink_loop_msg): New var,
+ which records the symlink-loop message, whose wording is
+ not standardized by Posix. Do not rely on "echo x > p/1"
+ to work when p/1 has a lot of indirect symlinks. (I'm surprised
+ that it works on Linux. Perhaps a Linux bug?)
+
+2007-11-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port to Solaris 'make' and use a Posixish shell on Solaris.
+ * bootstrap.conf (gnulib_modules): Add gnu-make, posix-shell.
+ * build-aux/check.mk (SHELL): Set to $(PREFERABLY_POSIX_SHELL),
+ so that commands can assume Posix syntax.
+ (ENABLE_HARD_ERRORS, TEST_LOGS): Don't use GNU Make's "?=" syntax.
+ (SH_E_WORKAROUND): New macro.
+ (am__check_pre, $(TEST_SUITE_LOG)): Use it.
+ (am__check_pre): Fail if "mkdir" fails. Use $(SHELL)
+ rather than relying on the "#!/bin/sh" in the file, so that tests
+ can use Posix syntax.
+ (am__check_pre, am__tty_colors): Use $$src rather than $$<, to
+ support the Posix-make $(TEST_LOGS) rule.
+ (%.log: %.test, %.log: %$(EXEEXT)): Remove unused inference rules
+ that rely on a GNU Make extension and cause Solaris 'make' to fail.
+ (SUFFIXES): New macro, so that we can use Posix style inference rules.
+ (%.log: %): Use this rule only if GNU_MAKE.
+ Set $$src so that macros can use $$src rather than $$<.
+ (CHECK-FORCE, DEPENDENCY, $(TEST_LOGS)): New macros and rules,
+ which rely only on Posix 'make' semantics, and are used only with
+ non-GNU 'make' implementations. $(TEST_LOGS) invokes 'make'
+ recursively (and a bit inefficiently) to simulate the GNU 'make'
+ rules.
+ (.log.html): Renamed from "%.html: %.log", so that it relies only
+ on Posix 'make' semantics.
+ (check-clean, .PHONY): Do not depend on check-clean-local, since
+ Solaris 'make' complains about nonexistent rules like that.
+ * src/Makefile.am (SUFFIXES): Remove; no longer needed.
+ (groups): Use a specific rule rather than an inference rule that
+ is only instantiated once. The inference-rule approach does not
+ work with Solaris 'make', which gets confused by the "groups:
+ Makefile" line. It's not clear from the Posix spec that Solaris
+ 'make' is buggy here, so instead of worrying about it, rewrite
+ the makefile so that it clearly conforms to Posix.
+ * tests/check.mk (TESTS_ENVIRONMENT): Export PACKAGE_BUGREPORT.
+ GNU 'make' does this automatically for us, but Solaris 'make'
+ doesn't.
+
+2007-11-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port to Solaris 8 perl, which does not support "use warnings;".
+ * tests/dd/skip-seek: Skip test if "use warnings;" fails.
+ * tests/du/files0-from: Likewise.
+ * tests/misc/base64: Likewise.
+ * tests/misc/basename: Likewise.
+ * tests/misc/cut: Likewise.
+ * tests/misc/date: Likewise.
+ * tests/misc/dircolors: Likewise.
+ * tests/misc/dirname: Likewise.
+ * tests/misc/expand: Likewise.
+ * tests/misc/expr: Likewise.
+ * tests/misc/factor: Likewise.
+ * tests/misc/fmt: Likewise.
+ * tests/misc/fold: Likewise.
+ * tests/misc/head-elide-tail: Likewise.
+ * tests/misc/ls-misc: Likewise.
+ * tests/misc/md5sum: Likewise.
+ * tests/misc/md5sum-newline: Likewise.
+ * tests/misc/mktemp: Likewise.
+ * tests/misc/od: Likewise.
+ * tests/misc/paste-no-nl: Likewise.
+ * tests/misc/pr: Likewise.
+ * tests/misc/seq: Likewise.
+ * tests/misc/sha1sum: Likewise.
+ * tests/misc/sha1sum-vec: Likewise.
+ * tests/misc/sha224sum: Likewise.
+ * tests/misc/sha256sum: Likewise.
+ * tests/misc/sha384sum: Likewise.
+ * tests/misc/sha512sum: Likewise.
+ * tests/misc/sort-merge: Likewise.
+ * tests/misc/stat-printf: Likewise.
+ * tests/misc/sum: Likewise.
+ * tests/misc/test-diag: Likewise.
+ * tests/misc/tsort: Likewise.
+ * tests/misc/unexpand: Likewise.
+ * tests/misc/wc-files0-from: Likewise.
+ * tests/misc/xstrtol: Likewise.
+ * tests/mv/i-1: Likewise.
+ * tests/rm/empty-name: Likewise.
+ * tests/rm/unreadable: Likewise.
+
+2007-11-15 Andreas Schwab <schwab@suse.de>
+
+ * m4/include-exclude-prog.m4 (gl_REMOVE_PROG): Fix syntax error.
+ Remove trailing space from result.
+
+2007-11-15 Jim Meyering <meyering@redhat.com>
+
+ Avoid misbehavior of a cross-device "mv" or "install".
+ Those programs must not dereference a destination symlink.
+ * src/copy.c (copy_reg): Don't treat a dangling destination symlink
+ differently in move mode. In move mode, the only way the added
+ O_EXCL can cause failure is when some other process has recreated
+ the file this code unlinked a few instructions before.
+
+2007-11-14 Jim Meyering <meyering@redhat.com>
+
+ Another bootstrap kludge.
+ * bootstrap: Ensure gnulib-tests/test-*.sh are executable
+
+ #ifdef-out matchpathcon-related code, for now.
+ * src/install.c (setdefaultfilecon): #ifdef-out all of the
+ matchpathcon-related code, until it's more efficient.
+ (setdefaultfilecon): Instead of the above, stub-out the entire function.
+
+ Use gnulib's stpncpy module, now required by install.c
+ * bootstrap.conf (gnulib_modules): Add stpncpy.
+
+ Enable gnulib-tool's --with-tests option.
+ * bootstrap: After all is done, transform the generated
+ gnulib-tests/gnulib.mk.
+ * bootstrap.conf (gnulib_tool_option_extras): Set it here.
+ * gnulib-tests/Makefile.am: New file.
+ * Makefile.am (SUBDIRS): Add gnulib-tests.
+ * configure.ac (AC_CONFIG_FILES): Add gnulib-tests/Makefile.
+ * m4/jm-macros.m4 (coreutils_MACROS) [ARGMATCH_DIE_DECL]: Omit the
+ "extern " prefix to "void usage ()", so that the macro string value can
+ be used to construct a function definition in gnulib's test-argmatch.c.
+
+2007-11-12 Benno Schulenberg <bensberg@justemail.net>
+
+ Clarify description of cp's -a option.
+ * src/cp.c (usage) [-a]: Remove unnecessary 'P'.
+ Since option -d of 'cp' includes the function of -P, mentioning the
+ latter in the description of option -a is redundant and therefore
+ slightly confusing, as the reader tries to figure out what it adds.
+ * doc/coreutils.texi (cp invocation): Likewise: s/-dpPR/-dpR/.
+
+2007-11-09 Jim Meyering <meyering@redhat.com>
+
+ bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
+ * bootstrap (gnulib_tool_options): Add a space before the use
+ of $gnulib_tool_option_extras, so that it's separated from the
+ preceding argument.
+
+ install+SELinux: reduce a 12x performance hit to ~1.5x
+ * src/install.c (setdefaultfilecon): Call matchpathcon_init_prefix,
+ to mitigate what would otherwise be a large performance hit due to
+ the use of matchpathcon.
+ Dan Walsh suggested the use of matchpathcon_init_prefix.
+ * gl/lib/se-selinux.in.h (matchpathcon_init_prefix): Define.
+
+2007-11-08 Jim Meyering <meyering@redhat.com>
+
+ Adapt to gnulib's s/jm_/gl_/ cache variable renaming.
+ * configure.ac: Change the cache variable name prefix "jm_" to "gl_",
+ to match today's change in gnulib.
+
+2007-11-05 Jim Meyering <meyering@redhat.com>
+
+ Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
+ * bootstrap (cp_mark_as_generated): Create any required parent
+ destination directories before copying a file into place.
+
+ * src/c99-to-c89.diff: Adjust offsets.
+
+ Don't use GNU-sed-specific \< \> operators here, either.
+ * m4/include-exclude-prog.m4 (gl_REMOVE_PROG): Use a loop, as below.
+
+ Use tighter regexps when performing name substitution.
+ * man/Makefile.am (mapped_name): Add ^ and $$ anchors.
+
+ Don't use GNU-sed-specific \< \> operators.
+ * configure.ac (MAN): Transform ginstall.1 to install.1 using
+ a loop, rather than sed with \<...\>.
+ Problem reported by Bruno Haible.
+ Andreas Schwab reminded me that \< and \> are not portable.
+
+ Get git-version-gen from gnulib.
+ * build-aux/git-version-gen: Remove file.
+ * build-aux/.gitignore: Add git-version-gen.
+ * bootstrap.conf (gnulib_modules): Add git-version-gen.
+
+2007-11-03 Jim Meyering <meyering@redhat.com>
+
+ git-version-gen: Sync from autoconf's version.
+ * build-aux/git-version-gen: Run git-status
+
+ Sync copyright and scriptversion bits from gnulib.
+ * build-aux/git-version-gen: No semantic change.
+
+ Change the first '-' to '.' in the snapshot version string,
+ e.g., 6.9-377-08144 -> 6.9.377-08144
+ * build-aux/git-version-gen: ... and add comments.
+
+ seq: add another test for the %% bug.
+ * tests/misc/seq (fmt-c): Test the other fixed case, too.
+
+2007-11-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix bug with "seq 10.8 0.1 10.95", plus another bug with %% in format.
+
+ * NEWS: Mention the %%-in-format bug fix.
+ * src/seq.c (struct layout): New type.
+ (long_double_format): New arg LAYOUT. Fill it in. Fix mishandling
+ of %% in formats.
+ (print_numbers): New arg LAYOUT. Don't convert LAST to output format
+ when deciding whether to go slightly past LAST. Instead, convert
+ X to output format and back. This fixes a bug reported by
+ Andreas Schwab in
+ <http://lists.gnu.org/archive/html/bug-coreutils/2007-10/msg00237.html>
+ where "seq 10.8 0.1 10.95" would output 11.0 on platforms where
+ 10.95 rounds to a value that prints as 11.0 when only one digit
+ past the decimal point is asked for.
+ (main): Compute layout, for benefit of print_numbers.
+ * tests/misc/seq (float-3): Undo previous change, since the bug
+ should be fixed now.
+ (fmt-b): New test, for the %% bug.
+
+2007-11-01 Jim Meyering <meyering@redhat.com>
+
+ * tests/misc/printf-surprise: Correct sed transform.
+ Reported by Bob Proulx.
+
+ Add example inspired by "make dist" running gzip and lzma in sequence.
+ * doc/coreutils.texi (tee invocation): Show how to run tar just
+ once, compressing the tee'd output streams in parallel.
+
+ Say that the first process substitution example is contrived.
+ * doc/coreutils.texi (tee invocation): ... and show how to do
+ it properly. Pointed out by James Antill.
+
+ Use mktemp, not mkdtemp, to create test directories.
+ * tests/test-lib.sh: Use the mktemp binary we've just built,
+ not the mkdtemp script.
+ * tests/mkdtemp: Remove file.
+ * tests/Makefile.am (EXTRA_DIST): Remove mkdtemp.
+
+ Adjust a seq subtest not to depend on the vagaries of floating point.
+ * tests/misc/seq (float-3): Use 10.94 as the endpoint, not 10.95,
+ since 10.95 was precisely in the middle of the interval, and with
+ a %.1f format could map to either 10.9 or 11.0.
+ Reported by Mike Frysinger
+
+ Make the new printf-surprise test more precise.
+ * tests/test-lib.sh (require_ulimit_): New function.
+ * tests/misc/printf-surprise: Use ulimit -v to trigger the fixed bug,
+ and rather than checking printf's exit status (which would go wrong
+ on FreeBSD 6.1, since their printf(3) function doesn't require
+ lots of memory in this case) simply test whether it outputs
+ the first 10 bytes.
+
+ Accommodate FreeBSD 6.1 hard-link-to-symlink differences.
+ * tests/cp/same-file: Detect when linking to a symlink links to
+ the target of the symlink (FreeBSD 6.1 does this, Linux does not),
+ and skip the few tests that would otherwise fail.
+ Redirect output of final comparison to stderr, since all stdout
+ is already redirected.
+
+2007-10-31 Jim Meyering <meyering@redhat.com>
+
+ Fix a "make distcheck" failure.
+ * Makefile.maint (my-distcheck): Don't stub-out dirname,
+ since build-aux/check.mk now uses it.
+
+ * bootstrap.conf (gnulib_modules): Add xprintf-posix.
+
+2007-10-30 Jim Meyering <meyering@redhat.com>
+
+ Avoid seq floating-point test failure on FreeBSD 6.1.
+ * tests/misc/seq (float-4): Also accept -0.0.
+
+2007-10-29 Jim Meyering <meyering@redhat.com>
+
+ Change a "make dist" diagnostic.
+ * GNUmakefile: Don't imply that $(_curr-ver) is the new version string.
+
+2007-10-29 Bob Proulx <bob@proulx.com>
+
+ Improve color terminal escape usage.
+ * build-aux/check.mk (am__tty_colors): Use 'tput' to deduce
+ terminal color capabilities.
+
+2007-10-29 Jim Meyering <meyering@redhat.com>
+
+ Don't try to colorize a dumb terminal.
+ * build-aux/check.mk (am__tty_colors): Skip colors if $TERM is "dumb".
+ Thanks to Bob Proulx.
+
+ Remove gnulib's printf-posix module, for now.
+ * bootstrap.conf (gnulib_modules): It caused too many test failures.
+
+ Remove spurious semicolon after "else".
+ * build-aux/check.mk (am__tty_colors): Fix syntax error.
+
+ If $TERM is empty, don't use colors. This helps the buildbot,
+ since it produces its result in an environment with a tty, but
+ we don't want color codes in that case.
+ * build-aux/check.mk (am__tty_colors): Test for nonempty $TERM.
+ Suggestion from Bob Proulx.
+
+ Always initialize terminal colorization string variables.
+ * build-aux/check.mk (am__tty_colors): Always initialize red, grn, etc.,
+ In case they're defined in the environment.
+
+ Avoid test failure in non-srcdir build vs. the git tree.
+ * tests/check.mk (vc_exe_in_TESTS): Run this test only in a
+ srcdir build directory. Reported by Andreas Schwab.
+
+2007-10-28 Jim Meyering <meyering@redhat.com>
+
+ Define ENOTSUP, not ENOSYS. Needed on OpenBSD 3.9.
+ * gl/lib/se-context.in.h (ENOTSUP): Define if missing.
+ * gl/lib/se-selinux.in.h: Likewise.
+
+ Define ENODATA, for FreeBSD 5.0 and 6.1.
+ * src/system.h (ENODATA): Define, if missing.
+
+ Run autoreconf, not just autoconf, to avoid warnings.
+ * GNUmakefile (dummy): Otherwise, we'd sometimes get a warning
+ about autoconf version mismatch between what was used to generate
+ aclocal.m4 and the currently-running autoconf.
+
+ Require gnulib's printf-posix module, to support Interix.
+ * bootstrap.conf (gnulib_modules): Add printf-posix.
+
+ Help xgettext recognize more printf-style format strings.
+ * bootstrap.conf (XGETTEXT_OPTIONS): Add directives for
+ error, error_at_line, xasprintf, xfprintf and xprintf.
+
+2007-10-27 Jim Meyering <meyering@redhat.com>
+
+ Adjust format string so msgfmt doesn't object.
+ * src/df.c (main): Use "%s%s" (not %smsg) to print "msg" with or
+ without a "Warning: " prefix. Reported by Clytie Siddall.
+
+ Clean up tests/Makefile.am.
+ * tests/Makefile.am (EXTRA_DIST): Remove $(TESTS). No longer defined.
+ (TESTS_ENVIRONMENT): Remove definition.
+
+2007-10-26 Jim Meyering <meyering@redhat.com>
+
+ * build-aux/check.mk: Merge with latest from Akim.
+
+ Add a test for the printf fix of 2007-10-21.
+ * tests/misc/printf-surprise: New file. Test for 2007-10-21's fix.
+ * tests/misc/Makefile.am (TESTS): Add printf-surprise.
+
+2007-10-24 Micah Cowan <micah@cowan.name>
+
+ Remove vestiges of cvs-gnulib-checkout process. Now we use git.
+ * bootstrap: Remove support for now-unnecessary option, --cvs-user,
+ and envvars CVS_USER, CVS_RSH.
+
+2007-10-24 Micah Cowan <micah@cowan.name>
+
+ Tell xgettext that "ARG1 % ARG2" is not a C format string.
+ * src/expr.c (usage): Add a comment to override xgettext's default
+ behavior, which would classify "ARG1 % ARG2" as a fprintf-style
+ format string. Reported by Clytie Siddall.
+
+2007-10-24 Jim Meyering <meyering@redhat.com>
+
+ Avoid diagnostics from sha1sum when there is no cached checksum.
+ * bootstrap (update_po_files): Skip the sha1sum check if the po.s1
+ file hasn't been created yet.
+
+ Get gnulib from the git repository, not from an obsolete cvs one.
+ * bootstrap: Suggestion from Micah Cowan.
+
+ Doc improvements.
+ * README-hacking: Prefer the no-hyphen variant of git commands,
+ e.g., use "git pull" not "git-pull".
+ Don't presume that the only way to read this document is via a
+ prior git clone: provide instructions for cloning coreutils, too.
+
+ * README-hacking: Add "cd automake" in build instructions.
+ From Bob Proulx.
+
+ Don't fail part 2 of tests/rm/unreadable when run as root.
+ * tests/rm/unreadable: With UID == 0, expect different results.
+ Reported by Mike Frysinger.
+
+2007-10-23 Jim Meyering <meyering@redhat.com>
+
+ * README-hacking: Refer to LZMA Utils <http://tukaani.org/lzma/>.
+
+2007-10-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ * README-hacking: Describe how to build with LZMA.
+
+2007-10-22 Jim Meyering <meyering@redhat.com>
+
+ Remove git-version-gen's first parameter.
+ * build-aux/git-version-gen: Add comments.
+ Remove first command-line parameter.
+ * configure.ac: Remove corresponding first argument.
+ * GNUmakefile (_curr-ver): Likewise.
+
+2007-10-21 Jim Meyering <meyering@redhat.com>
+
+ * NEWS: Mention the printf fix.
+
+ Reorder tests to run more basic ones earlier.
+ * tests/misc/Makefile.am (TESTS): Reorder.
+ * tests/Makefile.am (SUBDIRS): Reorder.
+
+ tr: do not reject an unmatched [:lower:] or [:upper:] in SET1.
+ * NEWS: Mention this.
+ * src/tr.c (get_next) [RE_CHAR_CLASS]: Don't skip the loop when
+ processing [:lower:] and [:upper:].
+ (main): Require [:lower:] or [:upper:] in SET1 only when
+ when one of those is specified in SET2.
+ * tests/tr/Test.pm: Add tests for this fix.
+ Reported by Per Starbäck.
+
+2007-10-20 Jim Meyering <meyering@redhat.com>
+
+ * tests/misc/help-version: Add a comment.
+
+ Detect printf(3) failure due to ENOMEM.
+ * src/printf.c: Include "xprintf.h"
+ (print_direc): Use xprintf, rather than printf.
+ * bootstrap.conf (gnulib_modules): Add xprintf.
+ * po/POTFILES.in: Add lib/xprintf.c.
+ Reported by Bruno Haible.
+
+ Put always-failing programs first in PATH, so tests cannot mistakenly
+ run installed versions.
+ * Makefile.maint (my-distcheck): Set up a bogus bin/ dir, to be used
+ for "make check".
+
+ * doc/coreutils.texi (tee invocation): Fix typo. Add a little.
+ Add a cross-reference to bashref's Process Substitution node.
+
+ Adjust tests to pass, now that Test.pm ones use check.mk.
+ * tests/check.mk (vc_exe_in_TESTS): Adjust regexp not to match the
+ "TESTS = $x-tests" line in each Test.pm-derived Makefile.am file.
+ * tests/sort/main: Remove this unused file.
+
+ Ensure that Test.pm-derived tests use the right $PATH.
+ * tests/Makefile.am.in: Include $(top_srcdir)/tests/check.mk.
+
+2007-10-20 Bob Proulx <bob@proulx.com>
+
+ Prevent "make check" from leaving mktemp /tmp/tmp.* files behind.
+ * tests/misc/help-version (mktemp_args): Tell mktemp to create
+ its temporary file in the current directory.
+
+2007-10-16 Jim Meyering <meyering@redhat.com>
+
+ Show how to make tee redirect to multiple processes.
+ * doc/coreutils.texi (tee invocation): Tee can redirect output
+ to multiple _processes_, too.
+
+2007-10-14 Jim Meyering <meyering@redhat.com>
+
+ Pull all TESTS_ENVIRONMENT settings "up" into tests/check.mk.
+ * tests/Makefile.am.in (TESTS_ENVIRONMENT): Remove definition.
+ * tests/chgrp/Makefile.am: Likewise.
+ * tests/chmod/Makefile.am: Likewise.
+ * tests/chown/Makefile.am: Likewise.
+ * tests/cp/Makefile.am: Likewise.
+ * tests/dd/Makefile.am: Likewise.
+ * tests/du/Makefile.am: Likewise.
+ * tests/install/Makefile.am: Likewise.
+ * tests/ln/Makefile.am: Likewise.
+ * tests/ls/Makefile.am: Likewise.
+ * tests/misc/Makefile.am: Likewise.
+ * tests/mkdir/Makefile.am: Likewise.
+ * tests/mv/Makefile.am: Likewise.
+ * tests/readlink/Makefile.am: Likewise.
+ * tests/rm/Makefile.am: Likewise.
+ * tests/rmdir/Makefile.am: Likewise.
+ * tests/tail-2/Makefile.am: Likewise.
+ * tests/touch/Makefile.am: Likewise.
+ * tests/check.mk (TESTS_ENVIRONMENT) [EXEEXT, EGREP, MAKE, PERL]:
+ [CONFIG_HEADER, build_programs, host_os, host_triplet, PATH]:
+ [REPLACE_GETCWD, CU_TEST_NAME]: Add definitions here.
+ * tests/misc/pwd-long: Use $abs_top_builddir/src, not $BUILD_SRC_DIR.
+ * tests/dd/skip-seek: Don't use $ENV{PROG}.
+ * tests/rm/empty-name: Likewise.
+ * tests/rm/unreadable: Likewise.
+ * tests/mv/i-1: Likewise.
+
+ Fix a minor typo.
+ * configure.ac (AC_INIT): Fix a typo (s/9.6/6.9/) that makes a
+ difference only when running "make dist" without a .git/ subdir.
+
+2007-10-09 Jim Meyering <meyering@redhat.com>
+
+ Move the help-version test into misc/.
+ * tests/help-version: Move to...
+ * tests/misc/help-version: ...here.
+ Source test-lib.sh, as usual.
+ Use $abs_top_builddir, rather than ".." and "../..".
+
+ Make the runcon-no-reorder test slightly more general.
+ * tests/misc/runcon-no-reorder: Don't hard-code "unconstrained_t".
+ Use slightly more general "runcon $(id -Z)".
+ Suggestion from Stephen Smalley.
+
+ Skip the chcon test on a system with no SELinux support.
+ * tests/test-lib.sh (require_selinux_): New function.
+ * tests/misc/chcon: Use it.
+ * tests/misc/selinux: Use it here, too.
+ * tests/cp/cp-a-selinux: and here.
+ * tests/selinux: Remove file.
+ * tests/Makefile.am (EXTRA_DIST): Remove selinux.
+ Reported by Mike Frysinger and Bauke Jan Douma.
+
+ * src/dircolors.hin: Recognize .lzma as a compressed-file suffix.
+
+ * configure.ac (AM_INIT_AUTOMAKE): Use dist-lzma, rather than dist-bzip2.
+
+ Now that we don't install su, don't make misleading suggestions.
+ * src/Makefile.am (install-exec-local) [$(INSTALL_SU) != yes]:
+ Don't suggest running "make install-root".
+ (uninstall-local) [$(INSTALL_SU) != yes]: Don't even check
+ the installed binary.
+
+2007-10-08 Jim Meyering <meyering@redhat.com>
+
+ When forming a truncated name, use the "[...]" prefix even for
+ an extremely long name in the current directory
+ * src/remove.c (full_filename_): Rename a local variable.
+ Use two separate "truncated" variables, in case the second
+ call to right_justify does not indicate any truncation -- which
+ would happen only if the single component FILENAME were longer
+ than 511 bytes and DIR_NAME were empty.
+
+ rm could malfunction under unusual circumstances:
+ When operating on a relative name longer than 511 bytes,
+ and (when either processing a directory that is neither writable
+ nor readable (but still searchable) or when determining whether
+ to prompt), and encountering an ENOMEM error while forming the
+ file name, rm would operate on a truncated-to-511-byte name
+ starting with "[...]" rather than the intended one.
+ * NEWS: Describe the bugs.
+ * src/remove.c: Correct two misuses of full_filename:
+ (full_filename0, xfull_filename): New functions.
+ (full_filename_): Rewrite to use full_filename0.
+ (AD_pop_and_chdir): Use xfull_filename, not full_filename.
+ (write_protected_non_symlink): Likewise.
+
+2007-10-07 Jim Meyering <meyering@redhat.com>
+
+ Don't let a helper function modify errno.
+ * src/remove.c (full_filename_): Save and restore errno.
+ Spotted by Bruno Haible.
+
+ Reflect 2->3 GPL copyright version update in gnulib.
+ * gl/lib/tempname.h: Update copyright from gnulib.
+ * gl/lib/tempname.c: Likewise.
+ * .x-sc_GPL_version: Don't make an exception for those two files.
+
+ * configure.ac (AM_INIT_AUTOMAKE): Don't use dist-lzma just yet.
+
+ New program: mktemp.
+ * NEWS: Mention this.
+ * README: Add mktemp to the list.
+ * AUTHORS: Add this: mktemp: Jim Meyering
+ * src/mktemp.c: New file.
+ * src/Makefile.am (bin_PROGRAMS): Add mktemp.
+ (mktemp_LDADD): Add $(LIB_GETHRXTIME).
+ * man/mktemp.x: New file.
+ * man/Makefile.am (dist_man_MANS): Add mktemp.1.
+ (mktemp.1): New dependency.
+ * man/.cvsignore: Add mktemp.1.
+ * man/.gitignore: New file.
+ * src/.cvsignore, src/.gitignore: Add mktemp.
+ * tests/misc/mktemp: New file.
+ * tests/misc/Makefile.am (TESTS): Add mktemp.
+ * tests/Coreutils.pm (run_tests): Give the POST-test function
+ access to stdout and stderr contents, so it can verify that
+ the named-on-stdout file/dir does indeed exist and has proper
+ permissions, etc.
+ [po/ChangeLog]
+ * POTFILES.in: Add src/mktemp.c.
+
+ Make tempname more random, via the randint module.
+ * gl/modules/tempname (Depends-on): Add randint and stdbool.
+ * gl/lib/tempname.c: Include randint.h and stdbool.h.
+ (uint64_t): Remove definition. Not needed.
+ [_LIBC] (RANDOM_BITS): Remove this block, now that we have proper
+ random bits.
+ (check_x_suffix): New function.
+ (gen_tempname_len): Rename from __gen_tempname.
+ Add a parameter, x_suffix_len, telling how many X's there must be at
+ the end of the template.
+ Use pseudo-random numbers all the way, rather than adding 7777
+ from one iteration to the next.
+ (__gen_tempname): New function, to call gen_tempname_len, requiring a
+ suffix length of 6.
+ * gl/lib/tempname.h: Add prototype for gen_tempname_len.
+
+ Convert coreutils' rand*.{c,h,m4} into modules.
+ First step: move these files to gl/lib:
+ * lib/rand-isaac.c, lib/rand-isaac.h
+ * lib/randint.c, lib/randint.h
+ * lib/randperm.c, lib/randperm.h
+ * lib/randread.c, lib/randread.h
+ Step 2: add modules/rand* and remove now-unneeded .m4 files.
+ * gl/modules/randint: New file.
+ * gl/modules/randperm: New file.
+ * gl/modules/randread: New file.
+ * m4/randint.m4: Remove file.
+ * m4/randperm.m4: Remove file.
+ * m4/randread.m4: Remove file.
+ Step 3: use the new modules
+ * bootstrap.conf (gnulib_modules): Add randint and randperm.
+ * m4/prereq.m4 (gl_RANDINT, gl_RANDREAD, gl_RANDPERM): Don't require;
+ These have been removed.
+ (gl_ROOT_DEV_INO): Don't require; already handled via bootstrap.conf.
+
+ Copy from gnulib the parts of tempname that we'll modify.
+ * gl/lib/tempname.c: Copy from gnulib.
+ * gl/lib/tempname.h: Likewise.
+ * gl/modules/tempname: Likewise.
+ Allow GPLv2 on temporarily(?)-imported file from gnulib/libc.
+ * .x-sc_GPL_version: New file.
+ * Makefile.am (EXTRA_DIST): Add .x-sc_GPL_version
+
+2007-10-07 Jim Meyering <meyering@redhat.com>
+
+ Avoid a pseudo-leak in sort.
+ * src/sort.c (main) [lint]: Avoid a nominal leak.
+
+ Use puts, rather than printf ("%s\n". Slightly cleaner.
+ * src/tsort.c (tsort): ...and more efficient.
+
+ Avoid seq malfunction on non-POSIX systems: mingw, BeOS, Interix.
+ * bootstrap.conf (gnulib_modules): Add vasprintf-posix.
+ Suggestion from Bruno Haible.
+
+ Avoid a used-uninitialized error.
+ * src/copy.c (copy_internal): Don't overload "use_stat".
+
+2007-10-05 Jim Meyering <meyering@redhat.com>
+
+ Make a failing cross-partition mv give a sensible diagnostic.
+ A cross-partition move of a file in a sticky tmpdir and owned by
+ another user would evoke an invalid diagnostic after copying it:
+ mv: cannot remove `x': Operation not permitted
+ Either of the following (mv.c, remove.c) changes would fix the bug by
+ itself. I think it's slightly better to use both; the added cost is
+ minimal: mv: an extra lstat-per-mv-cmdline-arg-that-goes-cross-partition,
+ rm: an extra lstat-per-unlink-that-fails-w/EPERM.
+ * src/remove.c (remove_entry): Also lstat the file upon EPERM.
+ * src/mv.c (rm_option_init): Initialize root_dev_ino just as is done
+ in rm, so that a cross-partition invoked remove.c:rm call works the
+ same way as one invoked from the command-line use of "rm". That
+ setting of root_dev_ino makes rm() do the equivalent of an additional
+ lstat for each argument, which in turn gives rm enough information to
+ issue the right diagnostic.
+ * tests/mv/sticky-to-xpart (version): New file. Test for the above.
+ * tests/mv/Makefile.am (TESTS): Add sticky-to-xpart.
+ Arrange for "make check-root" to run the new root-only test.
+ * tests/Makefile.am (tb): New target, to run the new root-only test.
+ (all_t): Add tb.
+ * src/c99-to-c89.diff: Adjust offsets.
+
+ Add PACKAGE_VERSION to TESTS_ENVIRONMENT via check.mk.
+ * tests/check.mk (TESTS_ENVIRONMENT): Add PACKAGE_VERSION here,
+ rather than in every Makefile.am that needs it.
+ * tests/rm/Makefile.am (TESTS_ENVIRONMENT): Remove PACKAGE_VERSION.
+ * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Likewise.
+
+2007-10-04 Jim Meyering <jim@meyering.net>
+
+ Adapt to new gnulib naming scheme.
+ * gl/lib/se-context.in.h: Rename from gl/lib/se-context_.h.
+ * gl/lib/se-selinux.in.h: Rename from gl/lib/se-selinux_.h.
+ * gl/m4/selinux-context-h.m4: Remove use of AC_LIBSOURCES.
+ * gl/m4/selinux-selinux-h.m4: Likewise.
+ * gl/modules/selinux-h (Files, Makefile.am): Reflect renaming.
+ (Makefile.am) [lib_SOURCES]: Add se-context.in.h and se-selinux.in.h.
+
+ * lib/search_.h: Remove unused file.
+
+ * bootstrap (slurp): Adapt to _.h -> .in.h name change.
+ (update_po_files): Work also when there are no .po files in po/.
+
+ Remove test program: lib/t-fpending.c.
+ * lib/t-fpending.c: Remove file. Now, this test is in gnulib.
+ * lib/Makefile.am: Remove associated rules.
+ * .gitignore: Remove lib/t-fpending.
+
+2007-10-03 Jim Meyering <jim@meyering.net>
+
+ * tests/misc/selinux: Skip this test if the initial chcon fails.
+
+2007-10-02 Jim Meyering <jim@meyering.net>
+
+ Never copy through a symlink that cp has just created.
+ * src/copy.c (copy_internal): When same-file detection requires
+ 'stat'ing the destination file, also 'lstat' it and ensure that
+ it wasn't the destination of a preceding copy operation.
+ This bug was introduced on 2007-06-18.
+ * tests/cp/abuse: New test for the above.
+ * tests/cp/Makefile.am (TESTS): Add abuse.
+
+2007-09-30 Jim Meyering <jim@meyering.net>
+
+ cp: do not abbreviate in --help output.
+ * src/cp.c (usage): Don't abbreviate: s/=link/=links/.
+ Reported by Géraud Meyer in <http://bugs.debian.org/444137>.
+
+2007-09-29 Eric Blake <ebb9@byu.net>
+
+ Test previous patch.
+ * tests/misc/groups-dash: New test.
+ * tests/misc/Makefile.am (TESTS): Add it.
+
+2007-09-28 Eric Blake <ebb9@byu.net>
+
+ * src/groups.sh: Don't ignore first argument if later argument is --.
+
+2007-09-27 Jim Meyering <jim@meyering.net>
+
+ Avoid spurious test failure when SELinux stats "selinux/class".
+ * tests/ls/stat-free-symlinks: Grep for more precise /^stat("x"/.
+
+ Move file-set and hash-triple modules to gnulib.
+ * bootstrap.conf (gnulib_modules): Remove file-set, now that
+ it's in gnulib, and the canonicalize module requires it there.
+ * gl/lib/file-set.c, gl/lib/file-set.h, gl/modules/hash-triple: Remove.
+ * gl/lib/hash-triple.c, gl/lib/hash-triple.h, gl/modules/file-set:
+ Remove.
+
+ Add a test to exercise a readlink bug.
+ * tests/misc/readlink-fp-loop: New file. Test for the readlink bug
+ fixed through today's change to Gnulib's canonicalize module.
+ * tests/misc/Makefile.am (TESTS): Add readlink-fp-loop.
+ Bug report and a test case from mpb.mail@gmail.com.
+
+2007-09-25 Pádraig Brady <P@draigBrady.com>
+
+ * doc/coreutils.texi (date invocation):
+ Make "Date input formats" easier to navigate to.
+
+2007-09-25 Jim Meyering <jim@meyering.net>
+
+ Use XOR, not OR to combine bits.
+ * gl/lib/hash-triple.c (triple_hash): Use XOR (^), not OR (|), to
+ combine the bits from hashing the name and those of the inode number.
+ Add a few comments and remove out-of-context ones.
+
+2007-09-24 Jim Meyering <jim@meyering.net>
+
+ * NEWS: The recent rm-diagnostic fix also affects cross-partition "mv".
+
+ copy.c: Remove definitions of factored-out functions.
+ * src/copy.c: Include "file-set.h".
+ (seen_file, record_file): Remove functions that I factored
+ out on 2007-08-23.
+
+2007-09-22 Jim Meyering <jim@meyering.net>
+
+ Don't print the commands of a 10-line script that's run in each subdir.
+ * tests/check.mk (vc_exe_in_TESTS): Add a leading "@", to reduce noise.
+
+ rm: give a sensible diagnostic when failing to remove a symlink
+ On some systems (those with openat et al), when rm would fail to
+ remove a symlink, it would fail with the misleading diagnostic,
+ "Too many levels of symbolic links".
+ * NEWS: Mention the bug fix.
+ * src/remove.c (is_nondir_lstat): New function.
+ (remove_entry): Use it to catch failed-to-remove symlink (and any
+ other non-dir) here so that we don't fall through and try to treat
+ it as directory, which -- with a symlink -- would provoke the bogus
+ ELOOP failure.
+ * tests/rm/fail-eacces: Add a test for the above.
+ * src/c99-to-c89.diff: Adjust offsets.
+
+ rm: fix a tiny, nearly inconsequential bug.
+ Don't perform a "."-relative lstat, when the file in question
+ may well not be in ".". Although this is a bug, a few attempts
+ to exercise it on a linux-2.6.22 system failed. You probably need
+ a pre-openat system to trigger the failure. The consequence of this
+ bug would be a lower-quality diagnostic upon failed dir removal.
+ * src/remove.c (is_dir_lstat): Add a parameter, fd_cwd.
+ Use it instead of hard-coding AT_FDCWD.
+ (remove_entry): Call is_dir_lstat with fd_cwd.
+
+2007-09-22 Karl Berry <karl@freefriends.org>
+
+ * TODO: It'd be nice to add renice.
+
+2007-09-21 Jim Meyering <jim@meyering.net>
+
+ Avoid test failure due to now-parallelized tests.
+ * tests/du/two-args: Run "du .." from a sub-directory one level deeper.
+
+2007-09-16 Jim Meyering <jim@meyering.net>
+
+ * tests/misc/tac-continue: Arrange to remove a temporary file.
+
+ * tests/check.mk (vc_exe_in_TESTS): Don't rely on the value of
+ $(TESTS), so that "make check TESTS=test-name" works once again.
+
+ * tests/CuTmpdir.pm: Use File::Find + chmod syscall, not chmod -R.
+
+ Revamp most test scripts.
+
+ * tests/rm/v-slash: Avoid test failure with non-C locale.
+ Reported by Michael Stone.
+
+ Enable some previously omitted test scripts. Add a test cross-check.
+ * tests/rm/Makefile.am (TESTS): Add empty-name and unreadable.
+ * tests/rm/empty-name: Likewise.
+ * tests/rm/unreadable: Reenable this test. Adjust for new rm.
+ * tests/mkdir/Makefile.am: Add writable-under-readonly.
+ * tests/mkdir/writable-under-readonly: Add some comments.
+ This test is always skipped, for now.
+ * tests/Makefile.am (ta): Hook up the new root-only script.
+ * tests/tail-2/infloop-1: Make this test pass.
+ * tests/tail-2/Makefile.am (TESTS): Add infloop-1.
+ * tests/tail-2/fflush: Remove unused file.
+ * tests/check.mk (vc_executable_is_in_TESTS): More portable.
+ * tests/check.mk (check): Depend on the above.
+ * build-aux/check.mk: Remove comment mentioning AUTHORS file.
+
+ Factor out definitions in TESTS_ENVIRONMENT of srcdir, top_srcdir, etc.
+ tests/check.mk (top_srcdir): Define.
+ tests/*/Makefile.am: Remove definitions of $(srcdir), $(top_srcdir),
+ $(abs_top_srcdir), and $(abs_top_builddir), since they're
+ defined via the included tests/check.mk.
+
+ tests/general: Remove from VC, this long-unused directory and contents.
+
+ Adapt tests/tail-2/ to use test-lib.sh.
+ Adapt tests/readlink/ to use test-lib.sh.
+
+ Move the sole test in tests/ls-2/ to tests/misc/.
+ * tests/ls-2/basic-1: Move this file to ...
+ * tests/misc/ls-misc: ...here. Don't rely on $PROG in env.
+ * tests/misc/Makefile.am (TESTS): Add ls-misc.
+ * tests/Makefile.am (SUBDIRS): Remove ls-2.
+ * tests/ls-2: Remove the directory.
+ * configure.ac (AC_CONFIG_FILES): Remove tests/ls-2/Makefile.
+
+ More misc, test-related changes. (some to allow running tests as root)
+
+ Move all tests from test/{od,sha1sum,shred,stty} to tests/misc/.
+ Reflect these renamings:
+ od/od-N misc/od-N
+ od/x8 misc/od-x8
+ sha1sum/basic-1 misc/sha1sum
+ sha1sum/sample-vec misc/sha1sum-vec
+ shred/exact misc/shred-exact
+ shred/remove misc/shred-remove
+ stty/basic-1 misc/stty
+ stty/invalid misc/stty-invalid
+ stty/row-col-1 misc/stty-row-col
+ * tests/misc/Makefile.am (TESTS): Add the new files.
+ * tests/Makefile.am (SUBDIRS): Remove the dir names.
+ * tests/od, tests/sha1sum, tests/shred, tests/stty: Remove the
+ directories.
+ * configure.ac (AC_CONFIG_FILES): Remove the corresponding Makefile
+ names.
+
+ Move the two tests in tests/tee to tests/misc/.
+ * tests/tee/basic: Move this file to ...
+ * tests/misc/tee: ...here. Don't rely on $PROG in env.
+ * tests/tee/dash: Move this file to ...
+ * tests/misc/tee-dash: ...here. Don't rely on $PROG in env.
+ * tests/misc/Makefile.am (TESTS): Add tee.
+ * tests/Makefile.am (SUBDIRS): Remove tee.
+ * tests/tee: Remove the directory.
+ * configure.ac (AC_CONFIG_FILES): Remove tests/tee/Makefile
+
+ Move the two tests in tests/sum/ to tests/misc/.
+ * tests/sum/basic-1: Move this file to ...
+ * tests/misc/sum: ...here. Don't rely on $PROG in env.
+ * tests/sum/sysv: Move this file to ...
+ * tests/misc/sum-sysv: ...here. Adapt it to use test-lib.sh.
+ * tests/misc/Makefile.am (TESTS): Add sum and sum-sysv.
+ * tests/Makefile.am (SUBDIRS): Remove sum.
+ * tests/sum: Remove the directory.
+ * configure.ac (AC_CONFIG_FILES): Remove tests/sum/Makefile.
+
+ Move the sole test in tests/tsort/ to tests/misc/tsort.
+ * tests/tsort/basic-1: Move this file to ...
+ * tests/misc/tsort: ...here. Don't rely on $PROG in env.
+ * tests/misc/Makefile.am (TESTS): Add tsort.
+ * tests/Makefile.am (SUBDIRS): Remove tsort.
+ * tests/tsort: Remove the directory.
+ * configure.ac (AC_CONFIG_FILES): Remove tests/tsort/Makefile.
+
+ Move the sole test in tests/unexpand to tests/misc/unexpand.
+ * tests/unexpand/basic-1: Move this file to ...
+ * tests/misc/unexpand: ...here. Don't rely on $PROG in env.
+ * tests/misc/Makefile.am (TESTS): Add unexpand.
+ * tests/Makefile.am (SUBDIRS): Remove unexpand.
+ * tests/unexpand: Remove the directory.
+ * configure.ac (AC_CONFIG_FILES): Remove tests/unexpand/Makefile.
+
+ Move the sole test in tests/seq to tests/misc/seq.
+ * tests/seq/basic: Move this file to ...
+ * tests/misc/seq: ...here. Don't rely on $PROG in env.
+ * tests/misc/Makefile.am (TESTS): Add seq.
+ * tests/Makefile.am (SUBDIRS): Remove seq.
+ * tests/seq: Remove the directory.
+ * configure.ac (AC_CONFIG_FILES): Remove tests/seq/Makefile
+
+ Convert tests/mkdir/ to use test-lib.sh.
+
+ Move the two tests in tests/md5sum to tests/misc/md5sum.
+ * tests/md5sum/basic-1: Move this file to ...
+ * tests/misc/md5sum: ...here. Don't rely on $PROG in env.
+ * tests/md5sum/newline-1: Move this file to ...
+ * tests/misc/md5sum-newline: ...here. Don't rely on $PROG in env.
+ * tests/misc/Makefile.am (TESTS): Add md5sum.
+ * tests/Makefile.am (SUBDIRS): Remove md5sum.
+ * tests/md5sum: Remove the directory.
+ * configure.ac (AC_CONFIG_FILES): Remove tests/md5sum/Makefile
+
+ tests/sample-test: Update to use test-lib.sh.
+
+ Convert tests/misc/ to use test-lib.sh, too.
+ Convert tests/ls/, too.
+ Convert tests/ln/, too.
+ Convert tests/install/, too.
+
+ Move the two tests in tests/fmt to tests/misc/fmt.
+ * tests/fmt/basic: Move this file to ...
+ * tests/misc/fmt: ...here. Don't rely on $PROG in env.
+ * tests/fmt/long-line: Move this file to ...
+ * tests/misc/fmt-long-line: ...here.
+ * tests/misc/Makefile.am (TESTS): Add fmt.
+ * tests/Makefile.am (SUBDIRS): Remove fmt.
+ * tests/fmt: Remove the directory.
+ * configure.ac (AC_CONFIG_FILES): Remove tests/fmt/Makefile
+
+ Move the sole test in tests/factor to tests/misc/factor.
+ * tests/factor/basic: Move this file to ...
+ * tests/misc/factor: ...here. Don't rely on $PROG in env.
+ * tests/misc/Makefile.am (TESTS): Add factor.
+ * tests/Makefile.am (SUBDIRS): Remove factor.
+ * tests/factor: Remove the directory.
+ * configure.ac (AC_CONFIG_FILES): Remove tests/factor/Makefile
+
+ Move the sole test in tests/expr to tests/misc/expr.
+ * tests/expr/basic: Move this file to ...
+ * tests/misc/expr: ...here. Don't rely on $PROG in env.
+ * tests/misc/Makefile.am (TESTS): Add expr.
+ * tests/Makefile.am (SUBDIRS): Remove expr.
+ * tests/expr: Remove the directory.
+ * configure.ac (AC_CONFIG_FILES): Remove tests/expr/Makefile
+
+ Convert tests/du/*, too.
+
+ Move the sole test in tests/dircolors to tests/misc/dircolors.
+ * tests/dircolors/simple: Move this file to...
+ * tests/misc/dircolors: ...here. Don't rely on $PROG in env.
+ * tests/misc/Makefile.am (TESTS): Add dircolors.
+ * tests/Makefile.am (SUBDIRS): Remove dircolors.
+ * tests/dircolors: Remove the directory.
+ * configure.ac (AC_CONFIG_FILES): Remove tests/dircolors/Makefile
+
+ Convert tests/dd/*, too.
+
+ Convert tests/mv, too.
+ * tests/other-fs-tmpdir: Before, all callers would exit 77 upon
+ failure to find the required dir. Now, exit 77 in this script so
+ callers don't have to. Adjust callers.
+
+ Adjust chgrp, chmod, chown, cp tests to use test-lib.sh.
+ * tests/check.mk: Also define abs_top_builddir.
+
+ Parallel "make check" support.
+ * build-aux/check.mk: New file, from The Vaucanson Group.
+ * .x-sc_GPL_version: New file, to allow "version 2 or later"
+ in build-aux/check.mk.
+ * Makefile.am (EXTRA_DIST): Add .x-sc_GPL_version.
+ * tests/check.mk: New file.
+ * tests/Makefile.am (EXTRA_DIST): Add check.mk, mkdtemp and test-lib.sh.
+
+ Begin factoring "sample-test" out of test scripts.
+ * tests/test-lib.sh: New file, to be sourced by all tests that
+ were previously derived from the "sample-test" template.
+ * tests/mkdtemp: New file.
+ * tests/touch/dir-1: Use test-lib.sh.
+ * 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. Also, don't sleep.
+ * tests/touch/not-owner: Likewise.
+ * tests/touch/obsolescent: Likewise.
+ * tests/touch/read-only: Likewise.
+ * tests/touch/relative: Likewise.
+ * tests/touch/Makefile.am: Include $(top_srcdir)/tests/check.mk,
+ to get the parallel-"make check" bits.
+
+ Move a slow test into tests/misc.
+ * tests/check.mk: Wrapper.
+ * tests/ls/time-1: Move this file to tests/misc/ls-time.
+ * tests/misc/ls-time: New file. From tests/ls/time-1.
+ * tests/ls/Makefile.am (TESTS): Remove time-1.
+ * tests/misc/Makefile.am (TESTS): Add ls-time.
+
+ Add support for parallel "make check" (in tests/misc, for now)
+
+2007-09-08 Jim Meyering <jim@meyering.net>
+
+ Accommodate gnulib's renaming: __fpending.h -> fpending.h.
+ * lib/t-fpending.c: Include "fpending.h", not "__fpending.h".
+
+2007-09-07 Jim Meyering <jim@meyering.net>
+
+ chmod: don't ignore a dangling symlink
+ * NEWS: Mention the bug fix.
+ * src/chmod.c (process_file): Handle the case of FTS_SLNONE,
+ i.e., give a diagnostic saying we cannot operate on such a file.
+ * tests/chmod/thru-dangling: Compare new stderr output with expected.
+
+2007-09-07 Bob Proulx <bob@proulx.com>
+
+ Add a test: demonstrate that chmod ignores a dangling symlink
+ * tests/chmod/thru-dangling: New test. Fails.
+ * tests/chmod/Makefile.am (TESTS): Add thru-dangling.
+
+2007-09-05 Jim Meyering <jim@meyering.net>
+
+ Adapt to new SELinux behavior: "?" vs. new "unlabeled"
+ * src/ls.c (gobble_file): Interpret the new "unlabeled" indicator
+ from getfilecon/lgetfilecon the same way we interpret a negative
+ return value: no security context. So we don't print the "+".
+ * tests/selinux: Recognize that "unlabeled" means insufficient
+ support for SELinux, just like "?".
+
+2007-09-03 Jim Meyering <jim@meyering.net>
+
+ Invoke $(AUTOCONF) manually, if needed to get an updated version string.
+ * GNUmakefile: Don't actually touch configure.ac.
+ That would make git-version-gen always print "...-dirty".
+
+ Don't change '-'s to '.'s in the string from git-describe.
+ * build-aux/git-version-gen: Leave '-'s in the string from git-describe.
+ Otherwise, s/-/./g would make it too hard to distinguish the base
+ version number from the appended .DD suffixes.
+
+2007-09-03 Jim Meyering <jim@meyering.net>
+
+ * README-hacking: Require rsync, rather than wget.
+
+2007-09-02 Jim Meyering <jim@meyering.net>
+
+ * bootstrap (WGET_COMMAND): Remove code to set this variable.
+
+ Ensure that $(VERSION) is up to date for dist-related targets.
+ * GNUmakefile: Arrange to rerun autoconf, if the version reported by
+ git-version-gen doesn't match $(VERSION), but only for dist targets.
+
+ bootstrap: uses rsync to download the .po files
+ * bootstrap (po_download_command_format): New global.
+ (download_po_files): Use rsync.
+ (update_po_files): Don't remove .po files after download,
+ so future rsync runs can take advantage of the copies.
+
+2007-09-01 Jim Meyering <jim@meyering.net>
+
+ * bootstrap (gnulib_tool): Make sha1sum check quietly.
+
+ Ensure that snapshot version changes make it to groups, too.
+ * src/Makefile.am (groups): Depend on Makefile.
+
+ Make groups-version executable,
+ * tests/misc/groups-version: ... as it was in the patch.
+
+2007-08-31 Eric Blake <ebb9@byu.net>
+
+ Test yesterday's change to groups.
+ * tests/misc/groups-version: New test.
+ * tests/misc/Makefile.am (TESTS): Add groups-version.
+
+2007-08-31 Jim Meyering <jim@meyering.net>
+
+ Solve the unnecessary-.po-file-regeneration problem once and for all.
+ * bootstrap (download_po_files): New function, renamed from
+ get_translations. Now, downloads, but doesn't update LINGUAS.
+ (update_po_files): New function.
+
+2007-08-30 Jim Meyering <jim@meyering.net>
+
+ Shorten the snapshot version string by removing the "g".
+ * build-aux/git-version-gen: Remove git-describe's "g" that would
+ always precede the abbreviated SHA1. Suggestion from Dmitry V. Levin.
+
+ Perform the s,rm,/bin/rm, fix-up properly. No more kludge.
+ * Makefile.am (EXTRA_DIST): Remove .kludge-stamp.
+ (.kludge-stamp): Remove rule. Instead, ...
+ (dist-hook): Do the job here, operating on the file in $(distdir).
+ (rm_subst): Adjust regexp to match "rm -f rm$(EXEEXT)", not "rm -f rm".
+ (MAINTAINERCLEANFILES): s/+=/=/, now that this is the sole use.
+ (dist-hook): Remove the legacy-from-cvs install-sh is-executable check.
+ * .gitignore: Remove .kludge-stamp.
+
+ Make inter-release --version output more useful.
+ Now, each snapshot has a version "number" like 6.9-219-g58ddd,
+ which indicates that it is built using the 219th change set
+ (in _some_ repository) following the "v6.9" tag, and that 58ddd
+ is a prefix of the commit SHA1.
+ * build-aux/git-version-gen: New file.
+ * configure.ac: Run it to set the version.
+ * Makefile.am (dist-hook): Arrange so that .version appears only
+ in distribution tarballs, never in a checked-out repository.
+ * .gitignore: Add .version here, too. Just in case.
+
+2007-08-30 Eric Blake <ebb9@byu.net>
+
+ * src/.gitignore: Ignore *.exe for platforms with non-empty $(EXEEXT).
+
+2007-08-30 Eric Blake <ebb9@byu.net>
+
+ Use PACKAGE_NAME instead of GNU_PACKAGE.
+ * src/Makefile.am (.sh, uninstall-local): Adjust all users of
+ hand-rolled GNU_PACKAGE to instead use autoconf-provided
+ PACKAGE_NAME.
+ * src/basename.c (main): Likewise.
+ * src/chroot.c (main): Likewise.
+ * src/dirname.c (main): Likewise.
+ * src/echo.c (main): Likewise.
+ * src/expr.c (main): Likewise.
+ * src/factor.c (main): Likewise.
+ * src/groups.sh (version): Likewise. Also, reflect change in
+ --version output due to GPLv3.
+ * src/hostid.c (main): Likewise.
+ * src/hostname.c (main): Likewise.
+ * src/link.c (main): Likewise.
+ * src/logname.c (main): Likewise.
+ * src/nice.c (main): Likewise.
+ * src/nohup.c (main): Likewise.
+ * src/printenv.c (main): Likewise.
+ * src/printf.c (main): Likewise.
+ * src/pwd.c (main): Likewise.
+ * src/setuidgid.c (main): Likewise.
+ * src/sleep.c (main): Likewise.
+ * src/system.h (case_GETOPT_VERSION_CHAR): Likewise.
+ * src/test.c (main): Likewise.
+ * src/true.c (main): Likewise.
+ * src/unlink.c (main): Likewise.
+ * src/uptime.c (main): Likewise.
+ * src/users.c (main): Likewise.
+ * src/whoami.c (main): Likewise.
+ * src/yes.c (main): Likewise.
+ * configure.ac (AC_CHECK_DECLS): No need to check strtoimax,
+ strtoumax, since gnulib does this.
+
+2007-08-30 Jim Meyering <jim@meyering.net>
+
+ Ensure that TMPDIR is valid. Otherwise, it would cause test failures.
+ * tests/misc/tty-eof: Set TMPDIR=.
+ * tests/misc/sort-compress: Likewise.
+
+ Use EXIT_FAILURE, not EXIT_FAIL, now that EXIT_FAILURE is always 1.
+ * src/system.h (EXIT_FAIL): Remove definition.
+ * src/chroot.c (main): EXIT_FAIL -> EXIT_FAILURE.
+ * src/env.c (main): Likewise.
+ * src/nice.c (main): Likewise.
+ * src/su.c (change_identity, main): Likewise.
+ * src/tty.c (main): Likewise.
+ Suggestion from Eric Blake.
+
+2007-08-28 Jim Meyering <jim@meyering.net>
+
+ * src/test.c (usage): Note that [ honors --help and --version,
+ but that test does not. Suggestion from Dan Jacobson.
+
+ By default, do not install hostname anymore; no kidding, this time.
+ * src/Makefile.am (EXTRA_PROGRAMS): Remove hostname from this list,
+ now that it's no longer being installed by default. This should
+ have been part of the 2007-08-21 change.
+ (check-duplicate-no-install): New rule to ensure this doesn't
+ happen again.
+ (check): Depend on it.
+
+ Reflect renaming: mreadlink-with-size -> areadlink-with-size.
+ * bootstrap.conf: Update module name.
+ * src/copy.c (copy_internal): Update header and function names.
+ * src/ls.c (get_link_name): Likewise.
+ * src/readlink.c (main): Likewise.
+ * src/stat.c (print_stat): Likewise.
+
+ Add file system type names and magic numbers from "man 2 statfs".
+ * src/stat.c (human_fstype): Also handle BEFS, BFS, BINFMT_MISC,
+ FUSECTL, HUGETLBFS, NFSD and OPENPROM.
+
+2007-08-27 Jim Meyering <jim@meyering.net>
+
+ Add some file system type names and magic numbers from glibc.
+ * src/stat.c (human_fstype): Add any file system names and values
+ present in glibc's linux_fsinfo.h but not in this list.
+ Alphabetize the S_* names and capitalize the hexadecimal constants.
+
+2007-08-26 Jim Meyering <jim@meyering.net>
+
+ * tests/misc/fold: Fix a typo: missing \ in a diagnostic
+ no one is likely ever to see.
+
+2007-08-25 Jim Meyering <jim@meyering.net>
+
+ * src/dircolors.hin: Add .dz and .svgz as archive suffixes.
+
+ Remove all .cvsignore files from version control.
+
+2007-08-24 Jim Meyering <jim@meyering.net>
+
+ bootstrap: Ignore more.
+ * bootstrap (symlink_to_dir): Add a directory name like
+ uniwidth to e.g., lib/.gitignore.
+ (slurp): Handle the sys_stat_.h -> sys mapping, too.
+ * .hgignore: Remove this file, too.
+ * Makefile.am (EXTRA_DIST): Remove .gitignore and .hgignore.
+
+ No longer version-control .???ignore files in lib/, m4/, and po/.
+ * .gitignore: Ignore a few files in lib/, m4/, and po/ that are not
+ picked up automatically.
+ * lib/.gitignore, lib/.cvsignore: Remove files.
+ * m4/.gitignore, m4/.cvsignore: Remove files.
+ * po/.gitignore, po/.cvsignore: Remove files.
+
+ bootstrap: when fetching .po files, do not remove .gmo files.
+ * bootstrap (get_translations): Don't remove *.gmo files!
+ They can be expensive to regenerate.
+
+ Create .gitignore and/or .cvsignore from scratch, if absent.
+ This is in preparation for my removing those files from version
+ control in the directories managed by gnulib-tool.
+ * bootstrap: New setting: vc_ignore.
+ (insert_sorted_if_absent): Create $file if absent.
+ Adapt to new, possibly empty, list: $vc_ignore.
+
+ * src/system.h (fseeko, ftello): Remove now-unneeded definitions.
+ * src/od.c (LDBL_DIG): Remove now-unneeded definition.
+
+ Arrange to use tag names like vM.N, rather than COREUTILS-M_N.
+ * Makefile.maint (this-vc-tag) [git]: Simply use v$(VERSION).
+ (this-vc-tag-regexp): New variable.
+ (vc-tag-check): Use it, rather than $(this-vc-tag).
+
+2007-08-23 Jim Meyering <jim@meyering.net>
+
+ * src/dircolors.hin: Add xterm-16color, xterm-88color and eterm-color.
+ Suggestion from Dan Nicolaescu.
+
+ Don't let ln be a party to destroying user data.
+ * src/ln.c: Include "file-set.h", "hash.h" and "hash-triple.h".
+ (dest_set, DEST_INFO_INITIAL_CAPACITY): New globals.
+ (do_link): Refuse to remove a just-created link.
+ Record a name,dev,ino triple for each link we create.
+ (main): Initialize dest_set, if needed.
+ * tests/mv/childproof: Test for the above fix.
+ * NEWS: Document this.
+ Reported by Eric Blake.
+
+ Move functions from copy.c into new modules, since ln needs them, too.
+ * bootstrap.conf (gnulib_modules): Add file-set.
+ * gl/lib/file-set.c (record_file, seen_file): Functions from copy.c.
+ * gl/lib/file-set.h: Add prototypes.
+ * gl/lib/hash-triple.c (triple_hash, triple_hash_no_name):
+ (triple_compare, triple_free): Functions from copy.c.
+ * gl/lib/hash-triple.h (struct F_triple): Define. From copy.c.
+ Add prototypes.
+ * gl/modules/file-set: New module.
+ * gl/modules/hash-triple: New module.
+ * src/Makefile.am (copy_sources): New variable.
+ (ginstall_SOURCES, cp_SOURCES, mv_SOURCES): Use it.
+ * src/copy.c: Include hash-triple.h.
+ No longer include hash-pjw.h.
+ (copy_internal): Don't pass a NULL third argument to record_file,
+ since that function no longer accepts that.
+ (record_file): Move this function to file-set.c.
+ Along the way, remove the code to allow a NULL stat-buffer pointer.
+ Adjust sole caller.
+ (seen_file): Move this function to file-set.c.
+ (struct F_triple): Move declaration to hash-triple.h.
+ (triple_compare, triple_free, triple_hash, triple_hash_no_name):
+ Move these functions to hash-triple.c.
+
+ bootstrap: generate more ignorable names
+ * bootstrap (slurp): When generating ignorable names, also map
+ .sin to .sed, .gperf to .c, and .y to .c.
+
+ * Makefile.maint (patch-check): Don't remove temporaries upon failure.
+
+2007-08-22 Jim Meyering <jim@meyering.net>
+
+ * src/c99-to-c89.diff: Adjust offsets.
+
+ Change "rm --verbose -r a//" not to print extra slashes in a///b
+ * src/remove.c (push_dir): Don't copy trailing slashes onto the stack.
+ Reported by François Pinard.
+ * tests/rm/v-slash: New file. Test for the above change.
+ * tests/rm/Makefile.am (TESTS): Add v-slash.
+
+ * src/date.c: Don't include "getline.h", now removed from gnulib;
+ its declarations are now in <stdio.h>.
+ * src/md5sum.c: Likewise.
+ * src/dircolors.c: Likewise.
+
+ * src/copy.c (DEST_INFO_INITIAL_CAPACITY): Correct a comment.
+
+2007-08-21 Jim Meyering <jim@meyering.net>
+
+ By default, do not install hostname anymore.
+ * configure.ac: Add "hostname" to the list of not-installed programs.
+ * src/Makefile.am (no_install__progs): Add "hostname" here, too.
+ * NEWS: Mention this.
+
+2007-08-20 Bob Proulx <bob@proulx.com>
+
+ Clarify touch documentation of file arguments.
+ * src/touch.c (usage): Improve wording of documentation regarding
+ file argument handling and special handling of - argument.
+ * doc/coreutils.texi (touch invocation): Likewise.
+ Documentation problem reported by Vincent Lefevre.
+
+2007-08-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: The old cp -p bug affected coreutils releases before 6.0.
+ Problem reported by Soren Spies in
+ <http://lists.gnu.org/archive/html/bug-coreutils/2007-08/msg00106.html>.
+ To be conservative, just say the bug was in all versions through 6.6.
+
+2007-08-19 Eric Blake <ebb9@byu.net>
+
+ Avoid consuming too much seekable input when yesno is used.
+ * bootstrap.conf (gnulib_modules): Add closein.
+ * src/system.h (includes): Also include closein.h.
+ * src/mv.c (main): Use close_stdin, not close_stdout.
+ * src/cp.c (main): Likewise.
+ * src/ln.c (main): Likewise.
+ * src/rm.c (main): Likewise.
+ * src/install.c (main): Likewise.
+ * NEWS: Document the fix.
+
+2007-08-20 Jim Meyering <jim@meyering.net>
+
+ Parallel "make check" support.
+ * build-aux/check.mk: New file, from The Vaucanson Group.
+ * .x-sc_GPL_version: New file, to allow "version 2 or later"
+ in build-aux/check.mk.
+ * Makefile.am (EXTRA_DIST): Add .x-sc_GPL_version.
+ * tests/check.mk: New file.
+ * tests/Makefile.am (EXTRA_DIST): Add check.mk, mkdtemp and test-lib.sh.
+
+ Begin factoring "sample-test" out of test scripts.
+ * tests/test-lib.sh: New file, to be sourced by all tests that
+ were previously derived from the "sample-test" template.
+ * tests/mkdtemp: New file.
+ * tests/touch/dir-1: Use test-lib.sh.
+ * 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. Also, don't sleep.
+ * tests/touch/not-owner: Likewise.
+ * tests/touch/obsolescent: Likewise.
+ * tests/touch/read-only: Likewise.
+ * tests/touch/relative: Likewise.
+ * tests/touch/Makefile.am: Include $(top_srcdir)/tests/check.mk,
+ to get the parallel-"make check" bits.
+
+2007-08-18 Jim Meyering <jim@meyering.net>
+
+ Use new "idcache.h" header.
+ * src/ls.c: Remove ancient declarations of getuser and getgroup.
+ Include "idcache.h", instead.
+
+ Run each Coreutils.pm-based test in its own subdirectory.
+ * tests/CuTmpdir.pm: New file.
+ * tests/Makefile.am (EXTRA_DIST): Add CuTmpdir.pm.
+ * tests/misc/od, tests/misc/base64, tests/misc/basename:
+ * tests/misc/cut, tests/misc/date, tests/misc/dirname:
+ * tests/misc/expand, tests/misc/fold, tests/misc/head-elide-tail:
+ * tests/misc/paste-no-nl, tests/misc/pr, tests/misc/sha224sum:
+ * tests/misc/sha256sum, tests/misc/sha384sum, tests/misc/sha512sum:
+ * tests/misc/sort-merge, tests/misc/stat-printf, tests/misc/test-diag:
+ * tests/misc/wc-files0-from, tests/misc/xstrtol:
+ * tests/dd/skip-seek, tests/dircolors/simple, tests/du/files0-from:
+ * tests/expr/basic, tests/factor/basic, tests/fmt/basic:
+ * tests/ls-2/tests, tests/md5sum/basic-1, tests/md5sum/newline-1:
+ * tests/seq/basic, tests/sha1sum/basic-1, tests/sha1sum/sample-vec:
+ * tests/sum/basic-1, tests/tsort/basic-1, tests/unexpand/basic-1:
+ * tests/mv/i-1, tests/rm/empty-name, tests/rm/unreadable: Use it.
+ * tests/misc/test-diag: Use "$ENV{abs_top_builddir}/src/test",
+ not "../../src/test", so it works when run from a subdirectory.
+ * tests/ls-2/tests: Create temp files and dirs from within the perl
+ script, so that they're removed, when run from a subdirectory.
+ * tests/ls-2/Makefile.am (TESTS_ENVIRONMENT): Define abs_top_builddir,
+ so we can use "$ENV{abs_top_builddir}/src/test" in a test script.
+
+2007-08-16 Jim Meyering <jim@meyering.net>
+
+ Consolidate od tests.
+ * tests/misc/od: Perform od-zero-len's test here.
+ Include boilerplate code, so tests run in a subdirectory.
+ * tests/misc/od-zero-len: Remove this file.
+
+ * tests/ls/time-1: Include sample-test boilerplate code.
+ Remove the then-unnecessary, hard-coded envvar "unset" commands.
+
+2007-08-15 Jim Meyering <jim@meyering.net>
+
+ Move a slow test into tests/misc.
+ * tests/ls/time-1: Move this file to tests/misc/ls-time.
+ * tests/misc/ls-time: New file. From tests/ls/time-1.
+ * tests/ls/Makefile.am (TESTS): Remove time-1.
+ * tests/misc/Makefile.am (TESTS): Add ls-time.
+
+ od --skip (-j) works even on files in /proc, when the kernel lies
+ * src/od.c (skip): Don't let kernel misinformation (nonempty files
+ in /proc with stat.st_size == 0) make "od -j N" misbehave.
+ Patch by Paul Eggert.
+ * NEWS: Document this work-around.
+ * tests/misc/od-zero-len: New file, test for the above.
+
+ * src/printf.c (usage): Adjust summary to also mention OPTIONs.
+ From Karl Berry.
+
+2007-08-14 Jim Meyering <jim@meyering.net>
+
+ od: fix a bug that arises when skipping exact length of file
+ * NEWS: Document the bug fix.
+ * src/od.c (skip): Call fseek even when n_skip is exactly the
+ same as the length of the current file. Otherwise, the next
+ iteration would use unadjusted input stream pointer, thus ignoring
+ the desired "skip". Report and patch by Paul GHALEB.
+
+ * tests/misc/od: New file, test for the above.
+ * tests/misc/Makefile.am (TESTS): Add od.
+
+2007-08-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ Accommodate more xstrtol changes.
+ * src/df.c (long_options): Don't bother prepending "--" to long
+ options that OPT_STR might decode, as that hack is no longer needed.
+ (main): Invoke xstrtol_fatal rather than STRTOL_FATAL_ERROR.
+ * src/du.c (long_options, main): Likewise.
+ * src/ls.c (decode_switches): Likewise.
+ * src/od.c (long_options, main): Likewise.
+ * src/pr.c (first_last_page, main): Likewise.
+ * src/sort.c (long_options, specify_sort_size): Likewise.
+ * src/pr.c (first_last_page): Accept option index and option char
+ instead of an assembled option string. All callers changed.
+ * src/sort.c (specify_sort_size): Likewise.
+ * src/system.h (OPT_STR, LONG_OPT_STR, short_opt_str, OPT_STR_INIT):
+ Remove.
+
+2007-08-05 Jim Meyering <jim@meyering.net>
+
+ Encapsulate a static variable.
+ * src/system.h (opt_str_storage): Move static var into...
+ (short_opt_str): ... new static inline function.
+ (OPT_STR): Use the new function.
+
+2007-08-04 Jim Meyering <jim@meyering.net>
+
+ Exercise xstrtol's diagnostics via pr's --pages option.
+ * tests/misc/xstrtol: New file.
+ * tests/misc/Makefile.am (TESTS): Add xstrtol.
+
+2007-08-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ Adapt to new human and xstrtol API.
+ * src/df.c (long_options): Prepend "--" to long options that
+ OPT_STR might decode.
+ * src/du.c (long_options): Likewise.
+ * src/od.c (long_options): Likewise.
+ * src/sort.c (long_options): Likewise.
+ * src/df.c (main): Adjust to new human and xstrtol API.
+ * src/du.c (main): Likewise.
+ * src/ls.c (decode_switches): Likewise.
+ * src/od.c (main): Likewise.
+ * src/pr.c (first_last_page): Likewise. New argument OPTION.
+ All callers changed.
+ * src/sort.c (specify_sort_size): New arg OPTION. All callers
+ changed. Adjust to new xstrtol API.
+ * src/system.h (opt_str_storage): New static var.
+ (OPT_STR, LONG_OPT_STR, OPT_STR_INIT): New macros.
+
+2007-08-02 Jim Meyering <jim@meyering.net>
+
+ Adjust one more test to accommodate the recent fts change.
+ This matters only on systems with insufficient openat support.
+ * tests/du/inacc-dest: Adjust expected diagnostic.
+
+ Adjust the other two "no-x" tests and unify all three.
+ * tests/du/no-x: Factor out du-specific bits.
+ * tests/chmod/no-x: Use the same code.
+ * tests/chgrp/no-x: Use the same code.
+
+ Adapt du's no-x test not to fail on older Linux systems.
+ * tests/du/no-x: Accept a third variant of the diagnostic.
+
+2007-07-31 Jim Meyering <jim@meyering.net>
+
+ du: print size (probably incomplete) of each inaccessible directory
+ * src/du.c (process_file): Print what we know of the size of a
+ directory even when it is inaccessible. What we print is just the
+ size of the directory itself, not counting any of its contents.
+ * tests/du/inacc-dir: Test for this.
+ * NEWS: Mention this change.
+
+ Add a test for du not counting size of inaccessible directories.
+ * tests/du/inacc-dir: New file. Test for fts.c bug fixed yesterday.
+ * tests/du/Makefile.am (TESTS): Add inacc-dir.
+ * NEWS: Mention the bug fix.
+
+2007-07-28 Jim Meyering <jim@meyering.net>
+
+ Attempt to copy a regular file, even if stat says it is empty.
+ * NEWS: Document this bug fix.
+ * src/copy.c (copy_reg): Read from a regular file, even if it
+ appears (stat.st_size == 0) to be empty. This reverts an
+ optimization introduced on 2005-11-23 for coreutils-6.0.
+ Otherwise, "cp /proc/cpuinfo /tmp" creates an empty file,
+ on e.g., linux-2.6.20.
+ * tests/cp/proc-zero-len: New file. Test for the above.
+ * tests/cp/Makefile.am (TESTS): Add proc-zero-len.
+ Reported by Dan Berrangé.
+
+2007-07-26 Bob Proulx <bob@proulx.com>
+
+ sort: Improve sort --random-sort test.
+ * tests/misc/sort-rand: If "locale" is available pick a random
+ non-C locale and check "sort --random-sort" behavior using it.
+
+2007-07-24 Jim Meyering <jim@meyering.net>
+
+ sort: add a test to exercise the affected code.
+ * tests/sort/Test.pm (realloc-buf): Exercise the code that changed
+ yesterday. No other test in all of "make check" does this.
+ * NEWS: Mention the fix.
+
+2007-07-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ sort: avoid unaligned access.
+ * src/sort.c (fillbuf): When enlarging the line buffer, ensure that
+ the new size is a multiple of "sizeof (struct line)". This avoids
+ alignment problems when indexing from the end of the buffer.
+ Problem reported by Andreas Schwab in
+ <http://lists.gnu.org/archive/html/bug-coreutils/2007-07/msg00158.html>.
+
+2007-07-23 Jim Meyering <jim@meyering.net>
+
+ Update all copyright notices to use the newer form (e.g., remove
+ the postal address, and add the 'licenses' URL).
+
+ * COPYING: Update to Version 3.
+
+ Update c99/c89 patch for new, copyright-change-induced offsets.
+ * Makefile.maint (patch-check): Filter out '^Only in...' lines.
+ * src/c99-to-c89.diff: Handle new c99'isms in seq.c.
+
+2007-07-22 Jim Meyering <jim@meyering.net>
+
+ * configure.ac: Arrange to rerun configure whenever src/Makefile.am
+ changes. That file contains the list of program names that must be
+ substituted into files like man/Makefile.
+ Add quotes around AC_SUBST arguments.
+
+2007-07-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ * bootstrap (slurp): Work even in environments where "ls" defaults
+ to "ls -A". Put in a FIXME, though, since the current code does
+ not slurp files whose names start with ".", and this looks like
+ it might be a troublesome area.
+
+2007-07-20 Jim Meyering <jim@meyering.net>
+
+ Document and add a test for today's sort bug fix.
+ * NEWS: Describe the bug fix.
+ * tests/sort/Test.pm (obs-inval): Add a test for today's fix.
+
+2007-07-20 Andreas Schwab <schwab@suse.de>
+
+ * src/sort.c (main): Don't free a pointer to non-malloc'd memory.
+
+2007-07-19 Jim Meyering <jim@meyering.net>
+
+ Fix a portability bug in the new ls-color test.
+ * tests/ls/stat-free-symlinks: Don't rely on the ability of
+ a built-in printf to interpolate '\e'. Use '\033' instead.
+
+2007-07-18 Jim Meyering <jim@meyering.net>
+
+ "cp -i --update older newer" no longer prompts; same for mv
+ * src/copy.c (copy_internal): Perform "update" check before the
+ possible interactive prompt. Reported by zeno_AT_biyg_DOT_org
+ in <http://bugzilla.redhat.com/248591>
+ * tests/mv/update: Add tests for the above.
+ * NEWS: Mention the bug fix.
+
+2007-07-15 Jim Meyering <jim@meyering.net>
+
+ ls --color: Don't stat symlinks when neither ORPHAN nor MISSING
+ attribute has a color.
+ * src/ls.c (main): Don't set check_symlink_color when C_EXEC is
+ colored, unless ln=target (aka color_symlink_as_referent) is set.
+ (gobble_file): Set f->linkok = true also when !check_symlink_color.
+ http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10608/focus=10927
+ Reported by Jeremy Maitin-Shepard.
+ * tests/strace: New file, contents extracted from...
+ * tests/mv/atomic: ...here. Source strace.
+ * tests/ls/stat-free-symlinks: New file. Test for the above.
+ Use strace to ensure that in this corner case, ls does not call stat.
+ * tests/ls/Makefile.am (TESTS): Add stat-free-symlinks.
+ * tests/Makefile.am (EXTRA_DIST): Add strace.
+
+2007-07-14 Jim Meyering <jim@meyering.net>
+
+ Remove long-deprecated options.
+ * NEWS: Mention this.
+ * src/df.c, src/ls.c: Remove --kilobytes option.
+ * src/du.c: Remove --kilobytes and --megabytes options.
+ * src/who.c: Remove -i and --idle options.
+ * src/ptx.c: Remove --copyright option.
+
+ Change interface: make 2nd param _space_-separated, not comma-separated
+ * m4/include-exclude-prog.m4 (gl_INCLUDE_EXCLUDE_PROG): Remove now-
+ unnecessary use of tr.
+ Improve comments.
+ * configure.ac: Adjust caller, as well as the code that ensures the
+ 2nd parameter stays in sync with the list in src/Makefile.am.
+
+2007-07-14 Karel Zak <kzak@redhat.com>
+
+ * m4/include-exclude-prog.m4 (gl_REMOVE_PROG): Fix typo: s/$2/$1/.
+ (gl_INCLUDE_EXCLUDE_PROG): Quote first use of $2 parameter.
+ Don't mix comma- and space-separated lists.
+ Patch from Karel Zak.
+
+2007-07-13 Jim Meyering <jim@meyering.net>
+
+ Warn about non-portable use of unescaped backslash at end of string,
+ and treat it as if it were escaped.
+ * src/tr.c (unquote): Considering that such usage would make GNU tr
+ from coreutils-5.2.1 and earlier *fail*, the least we can do now is
+ to warn about it. Solaris' tr ignores it.
+ * NEWS: Mention this.
+
+ Use proper backslash-quoting inside backticks.
+ * configure.ac: Otherwise we run afoul of strict GNU tr:
+ a string ending in a lone backslash would provoke a failure.
+
+2007-07-12 Jim Meyering <jim@meyering.net>
+
+ Expand default-no-install prog list in ./configure --help output,
+ and fix some []-quoting bugs in sed expressions.
+ * configure.ac: Hard-code the list, "arch,su" here as well
+ as in src/Makefile.am, and ensure the two stay in sync.
+ * m4/include-exclude-prog.m4 (gl_INCLUDE_EXCLUDE_PROG): Use $2,
+ rather than the nearly-equivalent shell variable.
+ Karel Zak reported that ./configure --help's output included
+ the literal string, $gl_no_install_progs_default.
+
+ Clean up include-exclude-prog.m4.
+ * m4/include-exclude-prog.m4 (gl_ADD_PROG): Don't modify MAN.
+ (gl_REMOVE_PROG): Likewise.
+ Add omitted "\>" in sed regexp.
+ Remove any leading or trailing spaces.
+ (gl_ADD_PROG): Remove any leading space.
+ * configure.ac: Instead, derive $MAN from $optional_bin_progs.
+ Append $(EXEEXT) to *all* names, not just the first one.
+
+2007-07-11 Jim Meyering <jim@meyering.net>
+
+ If there's a GPL vN copyright comment, require that N == 3.
+ * Makefile.maint (sc_GPL_version): New rule.
+ * tests/misc/arch: Fix the sole violation.
+
+2007-07-10 Jim Meyering <jim@meyering.net>
+
+ Skip "arch" test if it's not built.
+ * tests/misc/Makefile.am (built_programs): Define.
+ (TESTS_ENVIRONMENT): Add $(built_programs), for...
+ * tests/misc/arch: ...this: skip the test if arch is not built.
+ * src/Makefile.am (built_programs.list): New rule.
+ * tests/Makefile.am (built_programs): Rename from all_programs.
+ (TESTS_ENVIRONMENT): Use built_programs, not all_programs.
+ * tests/help-version: Likewise.
+ * NEWS: Mention that using --enable-no-install-program=X may
+ cause "make check" to fail.
+
+ Add support for enabling/disabling installation of specified programs.
+ * NEWS: Mention new configure-time options.
+ Mention that neither arch nor su is built/installed, by default.
+ * m4/include-exclude-prog.m4: New file.
+ * configure.ac: Use new macro, gl_ADD_PROG, rather than
+ manually appending to OPTIONAL_BIN_PROGS and MAN.
+ Move the code that adds "df" to the list of programs to build from
+ m4/jm-macros into this file.
+ Use gl_INCLUDE_EXCLUDE_PROG, then handle special cases: ginstall, [.
+ (NO_INSTALL_PROGS_DEFAULT): AC_SUBST it. Used by man/Makefile.am.
+ * man/Makefile.am (dist_man_MANS): Remove from this list all man pages
+ corresponding to "bin" programs. Add $(MAN) instead.
+ (optional_mans): Remove all uses.
+ (check-x-vs-1): Adapt to work even though arch and su are typically
+ no longer built (and neither are their .1 files).
+ * src/Makefile.am (install_su): Rename from INSTALL_SU, now that
+ INSTALL_SU has a different meaning. Use the new $(INSTALL_SU) value.
+
+2007-07-10 Karel Zak <kzak@redhat.com>
+
+ New program: arch
+ * NEWS: Mention arch.
+ * README: Add arch to the list of programs.
+ * AUTHORS: Add arch.
+ * src/uname.c: Include "uname.h".
+ (PROGRAM_NAME): Handle arch, too.
+ (ARCH_AUTHORS): Define.
+ (uname_long_options, arch_long_options): Renamed and new globals.
+ (usage): Handle arch-mode as well as uname-mode.
+ (decode_switches): New function, extracted from main,
+ to handle arch-mode as well as uname-mode.
+ (main): Handle both modes.
+ * src/uname-arch.c: New program, alias for "uname -m".
+ * src/uname-uname.c: New file, default uname mode.
+ * src/uname.h: New file, uname modes.
+ * src/Makefile.am (EXTRA_PROGRAMS): Add arch.
+ (uname_SOURCES, arch_SOURCES): Define.
+ * man/arch.x: New file.
+ * man/Makefile.am (dist_man_MANS): Add arch.1.
+ (arch.1): New dependency.
+ * tests/misc/arch: New test, compare "arch" with "uname -m"
+ * configure.ac (OPTIONAL_BIN_PROGS): Add arch.
+ (MAN): Add arch.1.
+ * .x-sc_require_config_h: Exempt uname-arch.c and uname-uname.c
+ from the always-include-<config.h> rule.
+
+2007-07-10 Jim Meyering <jim@meyering.net>
+
+ Change "version 2" to "version 3" in all copyright notices.
+
+2007-07-09 Jim Meyering <jim@meyering.net>
+
+ Compensate for new c99'isms in seq.c.
+ * Makefile.maint (patch-check): Use -p1, not -p2, so a patch
+ generated via "make patch-check REGEN=1" actually works.
+ * src/c99-to-c89.diff: Handle new c99'isms in seq.c.
+
+2007-07-09 Pádraig Brady <P@draigBrady.com>
+
+ Fix the automatic number width formatting in seq.
+ * src/seq.c: Fix the -w logic. Ignore spaces and '+'
+ characters of input numbers when determining width.
+ Set format correctly for input numbers in scientific notation.
+ * tests/seq/basic: Add various number width tests.
+ Details: <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10903>
+
+2007-07-08 Jim Meyering <jim@meyering.net>
+
+ Run the coreutils-specific code only if tests/Makefile.am.in exists.
+ * bootstrap (mam_template): Move definition out of loop.
+
+ Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
+ * bootstrap (symlink_to_dir): Rename function from symlink_to_gnulib.
+ Add a directory parameter. Update all callers.
+ (cp_mark_as_generated): Also check for -- and link to -- files in gl/.
+
+ * THANKS: Add Pádraig Brady.
+
+2007-07-08 Jim Meyering <jim@meyering.net>
+
+ Adapt to deeper hierarchy in gnulib.
+ * bootstrap (symlink_to_dir): If the destination directory doesn't
+ exist, create it. This is required at least for "lib/uniwidth/cjk.h".
+
+ Use <wchar.h>, not "wcwidth.h".
+ * src/wc.c: Now that gnulib provides the POSIX-specified <wchar.h>,
+ include it and <wctype.h>, rather than "wcwidth.h".
+ * src/ls.c: Include <wchar.h>, rather than "wcwidth.h".
+
+2007-07-05 Jim Meyering <jim@meyering.net>
+
+ setuidgid: set all groups, not just the primary one.
+ I wanted to use the xgetgroups function from id.c, so factored
+ it out and made it into a non-exiting function (hence the "m"
+ prefix rather than "x").
+ * src/setuidgid.c (main): Use mgetgroups.
+ Include "mgetgroups.h".
+
+ * src/id.c (xgetgroups): Remove function.
+ Include "mgetgroups.h".
+ (print_group_list): Use mgetgroups, not xgetgroups.
+
+ * gl/modules/mgetgroups: New module.
+ * gl/lib/mgetgroups.c: New file. mgetgroups is derived from
+ id.c's xgetgroups function.
+ * bootstrap.conf (gnulib_modules): Add mgetgroups.
+ * gl/m4/mgetgroups.m4: New file.
+ * gl/lib/mgetgroups.h: New file.
+
+ * bootstrap: Merge in changes from gnulib.
+
+ * src/id.c: Include "getugroups.h" rather than declaring manually.
+
+2007-07-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: pr -F no longer suppresses the footer or the first two blank
+ lines in the header.
+ * doc/coreutils.texi (pr invocation): Likewise. Also, a too-short
+ page length implies -t, not -T.
+ * src/pr.c (lines_per_header, lines_per_footer): Now constants.
+ (init_parameters): Don't try to change them.
+ (print_header): Use the same header and footer format regardless of
+ wither form feeds are being used.
+ (usage): Adjust to above change when describing too-short page length.
+ Too-short page length impliesy -t, not -T.
+ * tests/pr/2-S_f-t_notab: Adjust to the fact that -F now affects
+ only formfeed handling; it does not change the header.
+ * tests/pr/2-Sf-t_notab: Likewise.
+ * tests/pr/2f-t_notab: Likewise.
+ * tests/pr/2s_f-t_notab: Likewise.
+ * tests/pr/2s_w60f-t_nota: Likewise.
+ * tests/pr/2sf-t_notab: Likewise.
+ * tests/pr/2sw60f-t_notab: Likewise.
+ * tests/pr/2w60f-t_notab: Likewise.
+ * tests/pr/3a3f-0F: Likewise.
+ * tests/pr/3b3f-0F: Likewise.
+ * tests/pr/3b3f-0FF: Likewise.
+ * tests/pr/3b3f-FF: Likewise.
+ * tests/pr/3f-0F: Likewise.
+ * tests/pr/3f-FF: Likewise.
+ * tests/pr/Test.pm: Likewise.
+ * tests/pr/a3f-0F: Likewise.
+ * tests/pr/a3f-0FF: Likewise.
+ * tests/pr/a3f-FF: Likewise.
+ * tests/pr/b3f-0F: Likewise.
+ * tests/pr/b3f-0FF: Likewise.
+ * tests/pr/b3f-FF: Likewise.
+ * tests/pr/3-5l17f-t: Remove, since it's been renamed to another
+ file whose name has a line count 7 larger,
+ reflecting the new line count needed for this behavior.
+ * tests/pr/3a3l8f-t: Likewise.
+ * tests/pr/3b3l8f-t: Likewise.
+ * tests/pr/3l17f-t: Likewise.
+ * tests/pr/3ml17f-t: Likewise.
+ * tests/pr/Ja3l17f-lm: Likewise.
+ * tests/pr/Jb3l17f-lm: Likewise.
+ * tests/pr/Jml17f-lm-lo: Likewise.
+ * tests/pr/W-72l17f-ll: Likewise.
+ * tests/pr/W20l17f-ll: Likewise.
+ * tests/pr/W26l17f-ll: Likewise.
+ * tests/pr/W27l17f-ll: Likewise.
+ * tests/pr/W28l17f-ll: Likewise.
+ * tests/pr/W35Ja3l17f-lm: Likewise.
+ * tests/pr/W35Jb3l17f-lm: Likewise.
+ * tests/pr/W35Jml17f-lmlo: Likewise.
+ * tests/pr/W35a3l17f-lm: Likewise.
+ * tests/pr/W35b3l17f-lm: Likewise.
+ * tests/pr/W35ml17f-lm-lo: Likewise.
+ * tests/pr/W72Jl17f-ll: Likewise.
+ * tests/pr/a3l17f-lm: Likewise.
+ * tests/pr/a3l8f-t: Likewise.
+ * tests/pr/b3l17f-lm: Likewise.
+ * tests/pr/b3l8f-t: Likewise.
+ * tests/pr/l17f-t: Likewise.
+ * tests/pr/ml17f-0F: Likewise.
+ * tests/pr/ml17f-lm-lo: Likewise.
+ * tests/pr/ml17f-t: Likewise.
+ * tests/pr/ml17f-t-0F: Likewise.
+ * tests/pr/n+2-5l17f-0FF: Likewise.
+ * tests/pr/n+2l17f-0FF: Likewise.
+ * tests/pr/n+2l17f-bl: Likewise.
+ * tests/pr/n+3l17f-0FF: Likewise.
+ * tests/pr/n+3l17f-bl: Likewise.
+ * tests/pr/n+3ml13f-bl-FF: Likewise.
+ * tests/pr/n+3ml17f-bl-tn: Likewise.
+ * tests/pr/n+3ml17f-tn-bl: Likewise.
+ * tests/pr/n+4b2l10f-0FF: Likewise.
+ * tests/pr/n+5-8b3l10f-FF: Likewise.
+ * tests/pr/n+5a3l6f-0FF: Likewise.
+ * tests/pr/n+6b3l6f-FF: Likewise.
+ * tests/pr/nJml17f-lmlmlo: Likewise.
+ * tests/pr/nJml17f-lmlolm: Likewise.
+ * tests/pr/nN1+3l17f-bl: Likewise.
+ * tests/pr/nN15l17f-bl: Likewise.
+ * tests/pr/nSml13-bl-FF: Likewise.
+ * tests/pr/nSml13-t-t-FF: Likewise.
+ * tests/pr/nSml13-t-tFFFF: Likewise.
+ * tests/pr/nSml17-bl-FF: Likewise.
+ * tests/pr/nSml17-t-t-FF: Likewise.
+ * tests/pr/nSml17-t-tFFFF: Likewise.
+ * tests/pr/nl17f-bl: Likewise.
+ * tests/pr/o3Jml17f-lm-lo: Likewise.
+ * tests/pr/o3a3Sl17f-tn: Likewise.
+ * tests/pr/o3a3Snl17f-tn: Likewise.
+ * tests/pr/o3a3l17f-tn: Likewise.
+ * tests/pr/o3b3Sl17f-tn: Likewise.
+ * tests/pr/o3b3Snl17f-tn: Likewise.
+ * tests/pr/o3b3l17f-tn: Likewise.
+ * tests/pr/o3mSl17f-bl-tn: Likewise.
+ * tests/pr/o3mSnl17fbltn: Likewise.
+ * tests/pr/o3ml17f-bl-tn: Likewise.
+ * tests/pr/w72l17f-ll: Likewise.
+ * tests/pr/3-5l24f-t: New file, containing the contents of the
+ file with the same name but with the line count smaller by 7,
+ reflecting the new behavior with -F.
+ * tests/pr/3a3l15f-t: Likewise.
+ * tests/pr/3b3l15f-t: Likewise.
+ * tests/pr/3l24f-t: Likewise.
+ * tests/pr/3ml24f-t: Likewise.
+ * tests/pr/Ja3l24f-lm: Likewise.
+ * tests/pr/Jb3l24f-lm: Likewise.
+ * tests/pr/Jml24f-lm-lo: Likewise.
+ * tests/pr/W-72l24f-ll: Likewise.
+ * tests/pr/W20l24f-ll: Likewise.
+ * tests/pr/W26l24f-ll: Likewise.
+ * tests/pr/W27l24f-ll: Likewise.
+ * tests/pr/W28l24f-ll: Likewise.
+ * tests/pr/W35Ja3l24f-lm: Likewise.
+ * tests/pr/W35Jb3l24f-lm: Likewise.
+ * tests/pr/W35Jml24f-lmlo: Likewise.
+ * tests/pr/W35a3l24f-lm: Likewise.
+ * tests/pr/W35b3l24f-lm: Likewise.
+ * tests/pr/W35ml24f-lm-lo: Likewise.
+ * tests/pr/W72Jl24f-ll: Likewise.
+ * tests/pr/a3l15f-t: Likewise.
+ * tests/pr/a3l24f-lm: Likewise.
+ * tests/pr/b3l15f-t: Likewise.
+ * tests/pr/b3l24f-lm: Likewise.
+ * tests/pr/l24f-t: Likewise.
+ * tests/pr/ml24f-0F: Likewise.
+ * tests/pr/ml24f-lm-lo: Likewise.
+ * tests/pr/ml24f-t: Likewise.
+ * tests/pr/ml24f-t-0F: Likewise.
+ * tests/pr/n+2-5l24f-0FF: Likewise.
+ * tests/pr/n+2l24f-0FF: Likewise.
+ * tests/pr/n+2l24f-bl: Likewise.
+ * tests/pr/n+3l24f-0FF: Likewise.
+ * tests/pr/n+3l24f-bl: Likewise.
+ * tests/pr/n+3ml20f-bl-FF: Likewise.
+ * tests/pr/n+3ml24f-bl-tn: Likewise.
+ * tests/pr/n+3ml24f-tn-bl: Likewise.
+ * tests/pr/n+4b2l17f-0FF: Likewise.
+ * tests/pr/n+5-8b3l17f-FF: Likewise.
+ * tests/pr/n+5a3l13f-0FF: Likewise.
+ * tests/pr/n+6b3l13f-FF: Likewise.
+ * tests/pr/nJml24f-lmlmlo: Likewise.
+ * tests/pr/nJml24f-lmlolm: Likewise.
+ * tests/pr/nN1+3l24f-bl: Likewise.
+ * tests/pr/nN15l24f-bl: Likewise.
+ * tests/pr/nSml20-bl-FF: Likewise.
+ * tests/pr/nSml20-t-t-FF: Likewise.
+ * tests/pr/nSml20-t-tFFFF: Likewise.
+ * tests/pr/nSml24-bl-FF: Likewise.
+ * tests/pr/nSml24-t-t-FF: Likewise.
+ * tests/pr/nSml24-t-tFFFF: Likewise.
+ * tests/pr/nl24f-bl: Likewise.
+ * tests/pr/o3Jml24f-lm-lo: Likewise.
+ * tests/pr/o3a3Sl24f-tn: Likewise.
+ * tests/pr/o3a3Snl24f-tn: Likewise.
+ * tests/pr/o3a3l24f-tn: Likewise.
+ * tests/pr/o3b3Sl24f-tn: Likewise.
+ * tests/pr/o3b3Snl24f-tn: Likewise.
+ * tests/pr/o3b3l24f-tn: Likewise.
+ * tests/pr/o3mSl24f-bl-tn: Likewise.
+ * tests/pr/o3mSnl24fbltn: Likewise.
+ * tests/pr/o3ml24f-bl-tn: Likewise.
+ * tests/pr/w72l24f-ll: Likewise.
+
+2007-06-23 Jim Meyering <jim@meyering.net>
+
+ Prefer "STREQ (a, b)" over "strcmp (a, b) == 0"; similar for != 0.
+ * src/base64.c (main): Likewise.
+ * src/install.c (setdefaultfilecon): Likewise.
+ * src/sort.c (main): Likewise.
+ * Makefile.maint (sc_prohibit_strcmp): New rule.
+ * .x-sc_prohibit_strcmp: New file, to list the few exceptions.
+ * Makefile.am (EXTRA_DIST): Add .x-sc_prohibit_strcmp.
+
+2007-06-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: seq no longer mishandles obvious cases like
+ "seq 0 0.000001 0.000003" by omitting the last output number.
+ * doc/coreutils.texi (seq invocation): Remove advice about workaround
+ for seq off-by-one problem, since the bug is fixed now. Replace
+ it with more-generic advice about rounding errors.
+ * src/seq.c (long_double_format, print_numbers):
+ New arg NUMERIC_FORMAT. All uses changed.
+
+2007-06-22 Pádraig Brady <P@draigBrady.com> (trivial change)
+
+ * tests/seq/basic: Add test cases for seq off-by-one problem.
+
+2007-06-22 Jim Meyering <jim@meyering.net>
+
+ * src/stat.c (long_options): Add a FIXME comment to help ensure
+ that the deprecated and undocumented "--filesystem" option is
+ removed someday.
+
+2007-06-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ A few more symlink-related fixes. Fix a bug triggered by cp
+ --parents and symlinks. Close some race conditions possible when
+ the destination replaces a newly-created file with a symlink.
+ * NEWS: Document that 'cp --parents' no longer mishandles
+ symlinks in file name components of source.
+ * src/copy.c (HAVE_LCHOWN): Default to false.
+ (lchown) [!defined HAVE_LCHOWN]: Define to chown, for convenience.
+ * src/cp.c (lchown) [!HAVE_LCHOWN]: Likewise.
+ * src/install.c (lchown [!HAVE_LCHOWN]: Likewise.
+ * src/copy.c (set_owner): Use lchown instead of chown, for safety
+ in case the file got replaced by a symlink in the meantime.
+ * src/cp.c (re_protect): Likewise.
+ * src/install.c (change_attributes): Likewise.
+ * src/copy.c (copy_internal): Use ordinary C rather than an #if.
+ * src/cp.c (lchown) [!HAVE_LCHOWN]: Define to chown, for convenience.
+ (struct dir_attr): Cache the entire struct stat of the directory,
+ rather than just its mode, so that we needn't stat the directory
+ twice (which can lead to races).
+ (re_protect): Don't use XSTAT as that's not appropriate in
+ this context (symlinks should be followed here). Instead, use
+ the cached stat value.
+ (make_dir_parents_private): Save dir's entire struct stat, not
+ just its mode.
+ * tests/cp/cp-parents: Add test to check against bug with
+ cp --parents and symlinks.
+
+2007-06-18 Jim Meyering <jim@meyering.net>
+
+ Use mreadlink_with_size (doesn't exit), not xreadlink_with_size.
+ * bootstrap.conf (gnulib_modules): Add readlink-with-size.
+ Remove xreadlink and xreadlink-with-size.
+ * src/copy.c (copy_internal): Use mreadlink_with_size,
+ not xreadlink_with_size.
+ * src/ls.c (get_link_name): Likewise.
+ * src/readlink.c (main): Likewise.
+ * src/stat.c (print_stat): Likewise.
+
+ * README-hacking: Don't mention Gzip 1.2.4, now that 1.3.12 is out.
+
+2007-06-16 Jim Meyering <jim@meyering.net>
+
+ Make chgrp and chown diagnostics consistent.
+ * src/chown.c (main): Emit the diagnostic before the file name,
+ not after it, to be consistent with chgrp's diagnostic.
+ * src/chgrp.c (parse_group): Emit a ":" between the diagnostic
+ and the file name.
+ Reported by Egmont Koblinger.
+ * THANKS: Add Egmont Koblinger.
+
+2007-06-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ Correct cp's handling of destination symlinks in some cases.
+ * NEWS: "cp" no longer considers a destination symlink to be the
+ same as the referenced file when copying links or making backups.
+ * src/copy.c (copy_reg): When following a symlink, use the
+ followed name in later chown etc. requests, so that the created
+ file is affected, rather than the symlink. Use O_NOFOLLOW on
+ source when not dereferencing symlinks; this avoids a race.
+ Preserve errno correctly when doing multiple open attempts on the
+ destination.
+ (copy_internal): Follow destination symlinks only when copying a
+ regular file and only when we don't intend to remove or rename the
+ destination first, regardless of whether following source
+ symlinks; this is because since POSIX and tradition (e.g.,
+ FreeBSD) say we should ordinarily follow destination symlinks if
+ the system calls would ordinarily do so.
+ * src/copy.h (struct cp_options): Add comment that 'dereference'
+ is only for source files.
+ * src/cp.c (usage): Note that --derereference etc. are only for
+ source files.
+ (make_dir_parents_private): Follow symlinks, regardless of whether
+ --dereference is specified, because these are destination symlinks.
+ * tests/cp/same-file: Adjust tests to match revised behavior.
+ Filter out perror output since it might vary from host to host.
+ Use sed alone instead of also using echo.
+
+ * doc/coreutils.texi (cp invocation): Document the behavior better when
+ the destination is a symlink. Clarify source versus destination
+ symlinks. Describe the new behavior for destination symlinks.
+
+2007-06-15 Jim Meyering <jim@meyering.net>
+
+ * src/copy.c: Include "canonicalize.h".
+ (copy_reg): Use canonicalize_filename_mode to follow the symlink,
+ so that we can always open with O_EXCL and avoid a race.
+
+2007-06-15 Jim Meyering <jim@meyering.net>
+
+ Don't include "quote.h" when it is not used.
+ * src/md5sum.c: Remove unnecessary inclusion of "quote.h".
+ * src/expr.c: Likewise.
+ * src/shred.c: Likewise.
+ * Makefile.maint (sc_prohibit_quote_without_use): New rule.
+ * src/c99-to-c89.diff: Adjust offsets.
+
+2007-06-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ Clarify what "cat" documentation means by "blank" lines.
+ * doc/coreutils.texi (cat invocation): "Blank" lines actually mean
+ empty lines.
+ * src/cat.c (usage): Say that "nonblank" means nonempty. Clarify
+ --squeeze-blank.
+
+2007-06-13 Jim Meyering <jim@meyering.net>
+
+ rmdir: give better diagnostics
+ * src/rmdir.c (remove_parents): Give a more descriptive/consistent
+ diagnostic upon failure.
+ (main): Likewise.
+ Suggestion from Joey Hess.
+ * THANKS: Add Joey Hess.
+
+ Don't include "quotearg.h" when it is not used.
+ * Makefile.maint (sc_prohibit_quotearg_without_use): New rule.
+ * src/cp.c: Don't include "quotearg.h". It wasn't used.
+
+ * README-hacking: List Gperf as a build-requirement, too.
+ Reported by Steve Ward.
+
+2007-06-11 Jim Meyering <jim@meyering.net>
+
+ * README: Mention README-hacking, for whose who start from
+ cloned/checked-out sources rather than from a distribution tarball.
+ Reported by Steve Ward.
+ * THANKS: Add Steve Ward.
+
+2007-06-10 Jim Meyering <jim@meyering.net>
+
+ bug-fix: cp would fail to write through a dangling symlink
+ * NEWS: Mention the bug fix.
+ * src/copy.c (copy_reg): When open fails with EEXIST, the destination
+ is lstat'able, and a symlink, call open again, but now without O_EXCL.
+ * tests/cp/thru-dangling: New file, to test for the above fix.
+ * tests/cp/Makefile.am (TESTS): Add thru-dangling.
+ * THANKS: Add Michael McLagan.
+ Bug report from Michael McLagan in <http://bugzilla.redhat.com/243588>.
+
+2007-06-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ * doc/coreutils.texi (Common options): Mention that -h and
+ --human-readable are equivalent to --block-size=human-readable.
+ Documentation problem reported by Steve Ward in
+ <http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00007.html>.
+ (du invocation): Use optSi rather than duplicating the macro's
+ contents (incorrectly, since we claimed a "B" was output).
+
+2007-05-31 Jim Meyering <jim@meyering.net>
+
+ Pull printf-related code from gnulib, rather than using forked copy.
+ * bootstrap.conf (gnulib_modules): Don't avoid size_max and xsize
+ modules. While I dislike xsize-style overflow avoidance, maintaining
+ a forked version of e.g., vasnprintf.c was too much work.
+
+2007-05-29 Jim Meyering <jim@meyering.net>
+
+ * src/dircolors.hin: Add screen-256color.
+ Suggested by sdl.web@gmail.com in <http://bugzilla.redhat.com/239266>.
+
+2007-05-26 Jim Meyering <jim@meyering.net>
+
+ * TODO: Add an entry for comm --output-delimiter=STR
+
+2007-05-25 James Youngman <jay@gnu.org>
+
+ wc: ignore multibyte-character decoding errors
+ * src/wc.c (wc): Don't issue an error message when mbrtowc
+ indicates that we have seen an invalid byte sequence. This
+ makes "wc /bin/sh" bearable (though the word and line counts
+ are likely not to be useful).
+ * NEWS: Mention the change.
+
+2007-05-22 Jim Meyering <jim@meyering.net>
+
+ Check for an up-to-date copyright year in coreutils.texi.
+ * Makefile.maint (copyright-check): Also check for an up-to-date
+ copyright year in doc/$().texi, if that file exists.
+ * doc/coreutils.texi: Add 2007 to list of Copyright years.
+ Reported by Karl Berry.
+
+ cut: diagnose a range starting with 0 (-f 0-2) as invalid, and
+ give a better diagnostic for a field-number/offset of 0.
+ * NEWS: Mention the fix.
+ * src/cut.c (ADD_RANGE_PAIR): Add an explicit check.
+ Based on a patch from James Youngman.
+ * tests/misc/cut: Add tests for the above.
+
+ "cut -f 2-0" now fails; before, it was equivalent to "cut -f 2-"
+ Also, diagnose the '-' in "cut -f -" as an invalid range, rather
+ than interpreting it as the unlimited range, "1-".
+ * NEWS: Mention these changes.
+ * src/cut.c (set_fields): Don't interpret an accumulator "value"
+ of 0 as an unspecified range endpoint.
+ Give better diagnostics.
+ Adjust a comment so that it is true also for 64-bit size_t.
+
+ * tests/cut/Test.pm: Add tests for the above.
+
+ stty: fix a harmless syntax nit
+ * src/stty.c (visible): Use ";" as the statement terminator
+ between two assignments, not ",".
+ (integer_arg): Join an unnecessarily wrapped line.
+
+2007-05-20 Jim Meyering <jim@meyering.net>
+
+ stty: diagnose an invalid hex value in 35-colon commmand-line argument
+ * NEWS: Mention this.
+ * src/stty.c (strtoul_tcflag_t, strtoul_cc_t): New functions.
+ (recover_mode): Use those functions (not sscanf), to parse the
+ string robustly.
+ * tests/stty/invalid: New file. Test for the above.
+ * tests/stty/Makefile.am (TESTS): Add invalid.
+ * .x-sc_prohibit_atoi_atof: Don't exempt stty.c from this check.
+ Add tests/stty/invalid so we don't have to obfuscate the comment
+ about sscanf therein.
+ * Makefile.maint (sc_prohibit_atoi_atof): Mention sscanf in the
+ diagnostic, too.
+
+ * TODO: Remove some now-completed or no longer relevant items.
+
+2007-05-19 Jim Meyering <jim@meyering.net>
+
+ Rename uses of futimens -> gl_futimens; glibc now declares the former.
+ * src/copy.c (copy_reg): Reflect renaming: futimens -> gl_futimens.
+ * src/touch.c (touch): Likewise.
+
+2007-05-18 Jim Meyering <jim@meyering.net>
+
+ * Makefile.maint (my-distcheck): Remove -pedantic from $(CFLAGS)
+ for now, to avoid c89-check failure due to use of #include_next.
+
+2007-05-15 Jim Meyering <jim@meyering.net>
+
+ Generate a dozen test-related Makefile.am files at bootstrap-time.
+ * README-hacking: Build-from-checkout now require Perl, too.
+ * bootstrap: Now that these generated Makefile.am files are no longer
+ under version control, they must be created at bootstrap time.
+
+2007-05-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * man/chmod.x: Document chmod's behavior with setuid and setgid bits.
+ Remove misleading implication about leading zero. Problem
+ reported by Jan Engelhardt in
+ <http://lists.gnu.org/archive/html/bug-coreutils/2007-05/msg00134.html>.
+
+2007-05-13 Jim Meyering <jim@meyering.net>
+
+ Remove the generated tests/*/Makefile.am files from version control.
+ * tests/cut/Makefile.am: git-remove this generated file.
+ * 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.
+ * .cvsignore, .gitignore: Ignore these generated files.
+
+ * src/.cvsignore, src/.gitignore: Add chcon here, ...
+ * .cvsignore, .gitignore: ... not here.
+
+ Test uniq's new --zero-terminated (-z) option.
+ * tests/uniq/Test.pm: When possible, create a "-z"-testing variant
+ of each existing test.
+ (2z, 3z, 4z, 5z, 20z, 122, 123): New tests from James Youngman.
+
+2007-05-12 James Youngman <jay@gnu.org>
+
+ Add -z option to uniq. Originally proposed by Egmont Koblinger.
+ * NEWS: Mention uniq's new option: --zero-terminated (-z).
+ * src/uniq.c: Add new option, --zero-terminated (-z), to make
+ uniq use the NUL byte as separator/delimiter rather than newline.
+ (check_file): Add a parameter: delimiter. Update caller.
+ Use readlinebuffer_delim in place of readlinebuffer everywhere.
+ (main): Handle the new option.
+ (usage): Describe new option the same way sort does.
+ * doc/coreutils.texi (uniq invocation): Describe the new option.
+
+2007-05-07 Jim Meyering <jim@meyering.net>
+
+ * NEWS: Mention that last week's tr bug dates back to 1992.
+
+2007-05-04 Jim Meyering <jim@meyering.net>
+
+ Avoid test failure when run with an unusual umask.
+ * tests/ls/color-dtype-dir: Set umask to 022.
+ Suggestion from AIDA Shinra.
+
+ Avoid failure of root-only test when run with a restrictive umask.
+ * tests/rm/no-give-up: Ensure that non-root can access "d/" through
+ root-owned ".". Reported by AIDA Shinra.
+
+ tr -c: don't abort when translating with S2 larger than complement of S1
+ * src/tr.c (main): Remove invalid assertion triggered by e.g.,
+ tr -c a '[b*256]'. There's nothing wrong with having Set2 larger
+ than Set1. Reported by Guntram Blohm.
+ * tests/tr/Test.pm (no-abort-1): Test for the above.
+ * NEWS: Mention this bug fix.
+ * THANKS: Add Guntram Blohm.
+
+2007-05-03 Jim Meyering <jim@meyering.net>
+
+ Avoid test failure when run with a permissive umask.
+ * tests/rm/no-give-up: Set permissions of test directory properly,
+ i.e., not depending on umask prohibiting go=w.
+ Reported by AIDA Shinra.
+
+2007-05-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ The following commands and options now support the standard size
+ suffixes kB, M, MB, G, GB, and so on for T, P, Y, Z, and Y:
+ head -c, head -n, od -j, od -N, od -S, split -b, split -C,
+ tail -c, tail -n.
+ * doc/coreutils.texi (od invocation, head invocation, tail invocation):
+ Document support for new size suffixes.
+ (head invocation, tail invocation):
+ Document that -n uses the same suffixes as -c.
+ (tail invocation): More-clearly document what leading "+" does.
+ * src/head.c (usage, string_to_integer): Support new suffixes.
+ * src/od.c (usage, main): Likewise.
+ * src/split.c (usage, main): Likewise.
+ * src/tail.c (usage, parse_options): Likewise.
+ Prompted by a patch from Evan Hunt.
+
+2007-05-02 Jim Meyering <jim@meyering.net>
+
+ * src/du.c (usage): Tweak description of --dereference-args (-D) again.
+ Prompted by another request for clarification from Justin Pryzby.
+
+ Invoke rm via 'setuidgid ... env PATH="$PATH" ...', as in fail-eperm.
+ * tests/rm/fail-2eperm: Patch from AIDA Shinra.
+ Reported by Peter Dyballa.
+ * THANKS: Add AIDA Shinra and Peter Dyballa.
+
+2007-04-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/nohup.c (usage): Describe how standard input and output
+ are redirected.
+
+2007-04-25 Jim Meyering <jim@meyering.net>
+
+ * src/du.c (usage): Clarify description of --dereference-args (-D).
+ Prompted by a report from Justin Pryzby.
+
+ * bootstrap.conf (gnulib_modules): Add fseeko and ftello.
+ (gnulib_modules): Add autobuild.
+
+2007-04-24 Jim Meyering <jim@meyering.net>
+
+ * THANKS: Add Andreas Frische.
+ * NEWS: Mention today's ls --color fix.
+ * tests/ls-2/tests (sl-dangle): Add a test for today's fix.
+
+2007-04-24 Eric Blake <ebb9@byu.net>
+
+ ls --color once again colors dangling symlinks correctly
+ * src/ls.c (gobble_file): Much like the 2007-04-07 fix,
+ add a term to the expression that decides whether we need
+ stat and/or lstat calls. Reported by Andreas Frische.
+
+2007-04-16 Jim Meyering <jim@meyering.net>
+
+ * src/cut.c (usage): Adjust synopsis to show that an OPTION is required.
+ Reported by Rudolf Kastl.
+ * THANKS: Add Rudolf Kastl.
+
+2007-04-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ split --line-bytes=N (-C N): don't create an empty file.
+ * src/split.c (line_bytes_split): Don't create an empty line
+ afterwards if the last buffer happens to be exactly full.
+ * tests/misc/split-fail: Add a test case for this.
+ * NEWS: mention this.
+
+2007-04-10 Jim Meyering <jim@meyering.net>
+
+ ls: don't form or compute the length of strings that won't be used.
+ * src/ls.c (gobble_file): Form and compute length of strings for
+ block size, owner, group, author, major+minor numbers and file size
+ only if they'll actually be used. I.e., don't form most of them
+ when not producing long format output.
+
+2007-04-07 Jim Meyering <jim@meyering.net>
+
+ Add a test for, and document, today's fix.
+ * NEWS: Mention today's ls --color fix.
+ * tests/ls-2/tests (sl-target): Add a test for today's fix.
+ * THANKS: Add Kirk Kelsey.
+
+2007-04-07 Eric Blake <ebb9@byu.net>
+
+ Fix a bug in how the LS_COLORS ln=target attribute is handled.
+ * src/ls.c (gobble_file): Use "stat" (not lstat) also when the
+ ln=target attribute applies. Reported by Kirk Kelsey.
+
+2007-04-02 Jim Meyering <jim@meyering.net>
+
+ * src/copy.c (copy_reg): Initialize local "con", before calling
+ getfscreatecon, in case that function (or its inline stub) does
+ not set it.
+
+2007-04-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/ls.c (print_horizontal): Fix bug reported by Mike Frysinger:
+ ls -x DIR would sometimes output the wrong string in place of the
+ first entry.
+ * NEWS: Mention the bug fix.
+ * tests/ls/x-option: New file.
+ * tests/ls/Makefile.am (TESTS): Add x-option.
+
+ gnulib moved md5 and sha1 modules into a new crypt/ directory; adapt
+ * bootstrap.conf (gnulib_modules): Adjust to gnulib's renaming of
+ md5 to crypt/md5 and sha1 to crypt/sha1.
+
+2007-03-30 Jim Meyering <jim@meyering.net>
+
+ * NEWS: Mention these SELinux changes.
+
+ * ChangeLog-selinux: Remove file.
+ Move its contents into this file, removing old dates.
+
+ * src/runcon.c (main): Don't reorder arguments. Reported by
+ Ulrich Drepper in <http://bugzilla.redhat.com/232652>.
+ * tests/misc/runcon-no-reorder: New file. Test for the above.
+ * tests/misc/Makefile.am (TESTS): Add runcon-no-reorder.
+
+ * src/runcon.c (main): Remove "." at end of a diagnostic.
+
+ * src/runcon.c: New program.
+ * src/Makefile.am (bin_PROGRAMS): Add runcon.
+ (runcon_LDADD): Define.
+ * README: Add runcon to the list of programs.
+ * AUTHORS: Add this: runcon: Russell Coker
+ * tests/help-version: Add runcon as an exception.
+ * man/Makefile.am (dist_man_MANS): Add runcon.1.
+ (runcon.1): New dependency.
+
+ mkfifo, mknod: Accept new "-Z, --context=C" option.
+ * src/mkfifo.c, src/mknod.c: Include <selinux/selinux.h>.
+ (main): Honor it.
+ * src/Makefile.am (mkfifo_LDADD, mknod_LDADD): Use $(LIB_SELINUX).
+
+ mkdir: Accept new "-Z, --context=C" option.
+ * src/mkdir.c: Include <selinux/selinux.h>.
+ (main): Honor it.
+ * src/Makefile.am (mkdir_LDADD): Use $(LIB_SELINUX).
+
+ * tests/cp/cp-a-selinux: New file. Test for the bug reported in
+ <http://bugzilla.redhat.com/219900>.
+ * tests/cp/Makefile.am (TESTS): Add cp-a-selinux.
+
+ * tests/selinux: New file.
+ * tests/Makefile.am (EXTRA_DIST): Add selinux.
+ * tests/misc/selinux: Source the new script, rather than open coding it.
+
+ Change how "cp -a" and "cp --preserve=context" work with SELinux.
+ Now, cp -a attempts to preserve context, but failure to do so does
+ not change cp's exit status. However "cp --preserve=context" is
+ similar, but failure *does* cause cp to exit with nonzero status.
+ * src/copy.h (struct cp_options) [require_preserve_context]: New member.
+ * src/copy.c (copy_reg, copy_internal): Implement the above.
+ * src/mv.c (cp_option_init): Initialize the new member.
+ * src/install.c (cp_option_init): Likewise.
+ * src/cp.c (cp_option_init): Likewise.
+ (decode_preserve_arg): Set it or reset it.
+
+ cp, mv, install: add SELinux support, but unlike with the Red Hat
+ patch, mv and cp do not provide the "-Z context" option.
+ * src/copy.c: Include <selinux/selinux.h>.
+ (restore_default_fscreatecon): New function.
+ (copy_reg): Make cp --preserve=context work for existing destination.
+ (copy_internal): Likewise for new destinations.
+ * src/copy.h (cp_options) [preserve_security_context]: New member.
+ * src/cp.c: Include <selinux/selinux.h>.
+ (selinux_enabled): New global.
+ (usage): Mention new --preserve=context option.
+ (PRESERVE_CONTEXT): Define/use.
+ (decode_preserve_arg): Handle PRESERVE_CONTEXT.
+ (main): Remove an obsolete comment.
+ If --preserve=context is specified on a system without SELinux
+ enabled, give a diagnostic and fail.
+ * src/mv.c: Include <selinux/selinux.h>.
+ Set x->preserve_security_context if SELinux is enabled.
+ * src/install.c: Accept new "-Z, --context=C" option.
+ Accept --preserve-context option (but not -P option).
+ Accept alternate spelling: --preserve_context, for now.
+ Include <selinux/selinux.h> and "quotearg.h".
+ (selinux_enabled, use_default_selinux_context): New globals.
+ (PRESERVE_CONTEXT_OPTION): Define.
+ (cp_option_init): Default: do not preserve security context.
+ (setdefaultfilecon): New function.
+ (main): Honor new options.
+ * src/Makefile.am (mv_LDADD, cp_LDADD, ginstall_LDADD):
+ Add $(LIB_SELINUX).
+ * src/system.h (GETOPT_SELINUX_CONTEXT_OPTION_DECL): Define.
+
+ * tests/misc/selinux [VERBOSE]: Print version info for each
+ of the tested tools, not just ls.
+
+ * src/c99-to-c89.diff: Remove the ls.c patch, now that I've
+ temporarily removed the offending c99'ism.
+
+ * src/chcon.c (usage): Split a string literal that was longer than 509.
+
+ * src/ls.c (gobble_file): Don't call getfilecon unless print_scontext.
+ Upon failed getfilecon, accept not just ENOTSUP, but also ENODATA.
+
+ * src/c99-to-c89.diff: Adjust offsets.
+
+ * AUTHORS: Add chcon.
+
+ * src/c99-to-c89.diff: Remove trailing blanks.
+
+ * src/chcon.c: Don't include "dirname.h". system.h already includes it.
+
+ * gl/lib/selinux-at.c: Remove a use of HAVE_CONFIG_H.
+
+ * src/c99-to-c89.diff: Handle a new c99'ism in ls.c.
+
+ * src/id.c (main): Tweak id -Z diagnostic.
+
+ id: Add SELinux support: -Z option.
+ * src/id.c (main): Apply patches from Fedora, with these changes:
+ Remove #ifdef WITH_SELINUX.
+ Use error (EXIT_FAILURE, not fprintf+exit(1).
+ * src/Makefile.am (id_LDADD): Define, so as to add $(LIB_SELINUX).
+
+ stat: Add support for SELinux in the form of a %C format directive.
+ * src/stat.c (follow_links): Make this variable file-global.
+ (out_file_context): New function.
+ (print_statfs): Honor %C.
+ (print_stat): Honor %C.
+ (do_stat): Remove follow_links parameter.
+ (usage): Document the two %C directives.
+ (main): Accept -Z (though it's a no-op).
+ * src/Makefile.am (stat_LDADD): Define.
+
+ ls: Add support for SELinux and a slightly modified -Z option.
+ I started with the patches from Red Hat.
+ The entries below tell how the code evolved.
+
+ * src/ls.c (print_long_format, print_file_name_and_frills): When
+ there is no security context (due to getfilecon/lgetfilecon failing
+ with e.g. ENOTSUP), print it as "?", not "".
+ * src/ls.c (print_file_name_and_frills): Make -Z work without -l.
+ (length_of_file_name_and_frills): Likewise.
+
+ * src/ls.c: Remove the --lcontext and --scontext options.
+ Change the way -Z, --context work so that it no longer implies -l.
+ Thus, -Z -l will work like -lcontext and -Z without -l will work
+ like --scontext.
+
+ Adjust tests to reflect new 'ls -l' syntax -- affects only
+ systems with SELinux when operating on a file with no ACL.
+ These tests assumed that everything before the first space on
+ each line is the 10-byte mode string. But there may also be a "+"
+ in the 11th column, just before the space. However, note that this
+ is not new. The same thing would have happened even without the
+ change below, when listing a file with an ACL.
+ * tests/chmod/equals, tests/cp/cp-parents, tests/cp/fail-perm:
+ * tests/cp/link-preserve, tests/install/basic-1, tests/misc/mknod:
+ * tests/mkdir/parents, tests/mkdir/special-1, tests/mv/partition-perm:
+
+ Don't make compilation depend on USE_ACL. An SELinux security
+ context counts as an "alternate access control method", so ls
+ must output a "+" for each file with a security context.
+ * src/ls.c [struct fileinfo] (have_acl): Declare unconditionally.
+ (FILE_HAS_ACL): Remove macro definition. Use f->have_acl directly.
+ (gobble_file): Record whether a file has a security context, and
+ update the condition used to determine whether to print the "+".
+ (gobble_file): Call getfilecon/lgetfilecon also when
+ format == long_format, so that we get the "+".
+
+ * src/ls.c (gobble_file): Add a comment explaining why (with a
+ security context option) ls doesn't exit nonzero due to e.g.,
+ getfilecon failing with errno == ENOTSUP.
+
+ * src/ls.c (gobble_file): Ignore failure of getfilecon if it's due
+ to ENOTSUP.
+
+ * src/ls.c (gobble_file): Factor out three small blocks using
+ getfilecon and lgetfilecon.
+ Don't ignore return value from getfilecon and lgetfilecon.
+
+ * src/ls.c (print_long_format): Don't use ?: (empty 2nd arg with C
+ ternary operator).
+ (print_scontext_format): Likewise.
+ (print_scontext): Declare to be "bool", not int. Adjust uses.
+
+ * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD): Add $(LIB_SELINUX).
+
+ * tests/misc/chcon: New file.
+ * tests/misc/chcon-fail: New file.
+ * tests/Makefile.am (check-root): Run new, root-only misc/chcon test.
+ * tests/misc/Makefile.am (TESTS): Add chcon and chcon-fail.
+
+ * tests/misc/Makefile.am (TESTS): Add selinux.
+ * tests/misc/selinux: New file.
+ * tests/help-version: Skip chcon.
+ * man/chcon.x: New file.
+ * man/Makefile.am: Build chcon.1.
+
+ New program: chcon
+ * gl/modules/selinux-at: New module. Check for libselinux and set
+ LIB_SELINUX here, unconditionally, rather than depending on
+ the configure-time --enable-selinux option.
+ * gl/modules/selinux-h: New module.
+ * bootstrap.conf (gnulib_modules): Add selinux-at.
+ * gl/lib/selinux-at.c, gl/lib/selinux-at.h: New files.
+ * gl/lib/se-selinux_.h: New file.
+ * gl/lib/se-context_.h: New file.
+ * gl/m4/selinux-selinux-h.m4: New file.
+ * gl/m4/selinux-context-h.m4: New file.
+ * src/Makefile.am (bin_PROGRAMS): Add chcon.
+ (chcon_LDADD): Define.
+ * README: Add chcon to the list of programs.
+ * src/chcon.c: Rewrite the original (Red Hat) chcon to use fts.
+
+2007-03-29 Jim Meyering <jim@meyering.net>
+
+ * .vg-suppressions: Add libc-getpwuid-leak.
+
+2007-03-28 Jim Meyering <jim@meyering.net>
+
+ Help translators include translation team's web or email address.
+ * src/system.h (emit_bug_reporting_address): New function.
+ * src/base64.c: Use it rather than a literal printf.
+ * src/basename.c, src/cat.c, src/chgrp.c, src/chmod.c:
+ * src/chown.c, src/chroot.c, src/cksum.c, src/comm.c, src/cp.c:
+ * src/csplit.c, src/cut.c, src/date.c, src/dd.c, src/df.c:
+ * src/dircolors.c, src/dirname.c, src/du.c, src/echo.c, src/env.c:
+ * src/expand.c, src/expr.c, src/factor.c, src/fmt.c, src/fold.c:
+ * src/head.c, src/hostid.c, src/hostname.c, src/id.c, src/install.c:
+ * src/join.c, src/kill.c, src/link.c, src/ln.c, src/logname.c:
+ * src/ls.c, src/md5sum.c, src/mkdir.c, src/mkfifo.c, src/mknod.c:
+ * src/mv.c, src/nice.c, src/nl.c, src/nohup.c, src/od.c:
+ * src/paste.c, src/pathchk.c, src/pinky.c, src/pr.c, src/printenv.c:
+ * src/printf.c, src/ptx.c, src/pwd.c, src/readlink.c, src/rm.c:
+ * src/rmdir.c, src/seq.c, src/setuidgid.c, src/shred.c, src/shuf.c:
+ * src/sleep.c, src/sort.c, src/split.c, src/stat.c, src/stty.c:
+ * src/su.c, src/sum.c, src/sync.c, src/system.h, src/tac.c:
+ * src/tail.c, src/tee.c, src/test.c, src/touch.c, src/tr.c:
+ * src/true.c, src/tsort.c, src/tty.c, src/uname.c, src/unexpand.c:
+ * src/uniq.c, src/unlink.c, src/uptime.c, src/users.c, src/wc.c:
+ * src/who.c, src/whoami.c, src/yes.c: Likewise.
+
+ * src/stty.c: Don't include "vasprintf.h", now that its
+ declarations are guaranteed to be in gnulib's stdio.h.
+ * src/who.c: Likewise.
+
+2007-03-27 Jim Meyering <jim@meyering.net>
+
+ * README: Use "install", not "ginstall" in the list of program names.
+ * src/Makefile.am (check-README): Substitute s/ginstall/install/.
+
+2007-03-25 Jim Meyering <jim@meyering.net>
+
+ * src/c99-to-c89.diff: Regenerate.
+
+2007-03-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ Avoid the need for euidaccess and/or lstat on every directory entry
+ with 'rm -r dir' (without -f), if we are root, or if we are removing
+ a directory tree that is full of symbolic links.
+ * bootstrap.conf (gnulib_modules): Add write-any-file.
+ * src/copy.c: Include write-any-file.h.
+ (UNWRITABLE): Remove macro, replacing with....
+ (writable_destination): New function, which uses can_write_any_file
+ to avoid the need for euidaccess when we are privileged.
+ (overwrite_prompt, abandon_move): Use it.
+ * src/remove.c: Include write-any-file.h.
+ (D_TYPE): New macro.
+ (DT_UNKNOWN, DT_DIR, DT_LNK) [!HAVE_STRUCT_DIRENT_D_TYPE]: New macros.
+ (write_protected_non_symlink): Don't bother to stat if we can write
+ any file.
+ (prompt): New arg PDIRENT_TYPE. All callers changed.
+ Use readdir dirent type to avoid the need for 'lstat' on each directory
+ entry in cases like 'rm -r dir', if we are root, or if the tree is
+ full of symbolic links.
+ (DT_IS_KNOWN, DT_MUST_BE): Remove.
+ (remove_entry): New arg DIRENT_TYPE_ARG. All callers changed.
+
+2007-03-24 Jim Meyering <jim@meyering.net>
+
+ If strace malfunctions, skip the test rather than failing it.
+ * tests/mv/atomic: Required on a mips-unknown-linux-gnu system
+ running the aging linux-2.4.27-mipscvs-20040814.
+
+2007-03-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/pathchk.c: Don't include euidaccess.h, as we don't call
+ euidaccess.
+
+2007-03-23 Jim Meyering <jim@meyering.net>
+
+ * README-package-renamed-to-coreutils: Add a URL for the FAQ,
+ and a couple more archive links.
+
+2007-03-22 Jim Meyering <jim@meyering.net>
+
+ Post-release version change.
+ * NEWS: Add a line for 6.9+.
+ * configure.ac (AC_INIT): Set new version string.
+
+ Version 6.9.
+ * NEWS: Record release date and new version number.
+ * configure.ac (AC_INIT): New version number.
+
+ * tests/mv/hard-3: Correct the preceding change: $3 -> $2.
+
+2007-03-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ Improve a test script.
+ * tests/mv/hard-3: Check for 'ls' failure, too.
+ Generate more-useful debugging output when 'ls' fails.
+
+2007-03-21 Jim Meyering <jim@meyering.net>
+
+ Fix a test script not to claim an ext2 file system is of type xfs.
+ * tests/du/slink: When using df --local and df --type=TYPE,
+ test only the exit code. Don't bother with stdout.
+ Prompted by a report by Thomas Schwinge of an inaccurate diagnostic.
+
+ * gl/lib/savewd.c: Remove this file, since the savewd_save change
+ is now in gnulib. The other wasn't useful.
+
+2007-03-20 Jim Meyering <jim@meyering.net>
+
+ * gl/lib/acl.c: Remove this file, now that gnulib's version subsumes it.
+
+ Skip part of this test when "." is not a local file system.
+ * tests/install/basic-1: Otherwise, it would fail on some NFS
+ file systems.
+ * tests/mkdir/p-3: Likewise.
+
+2007-03-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD):
+ Add $(LIB_ACL_TRIVIAL).
+
+2007-03-18 Jim Meyering <jim@meyering.net>
+
+ Fix a generic NFS-related test failure.
+ * tests/mkdir/p-3: When setting up an unreadable "." in an
+ inaccessible parent, make the parent inaccessible *after* making "."
+ unreadable. Otherwise, running "chmod a-r ." in an already-
+ inaccessible parent would fail on NFS with "Stale NFS file handle".
+
+ Fix a bug in how pr -m -s works.
+ * NEWS: Describe how the fix affects pr.
+ * src/pr.c (init_parameters): The --merge (-m) option does
+ not imply --expand-tabs (-e), so don't set "untabify_input".
+ Reported by Wis Macomson.
+ * tests/misc/pr: New file. Test for the above fix.
+ * tests/misc/Makefile.am (TESTS): Add pr.
+ * THANKS: Update.
+
+2007-03-17 Jim Meyering <jim@meyering.net>
+
+ Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
+ * bootstrap: Put ""s around use of $build_aux, in case
+ someone uses a name containing shell meta-characters.
+ Reported by Alfred M. Szmidt.
+ * tests/misc/tty-eof: Add shuf to the list of tested commands.
+
+ Avoid test failure on NFS-mounted Solaris ZFS file system.
+ * tests/du/basic: Skip a test if "." is on a non-local file system.
+
+ Avoid an obscure build failure, prefer waitpid over wait.
+ * src/install.c (strip): Use waitpid, not wait. It's equivalent,
+ but feels less obsolescent.
+
+ * bootstrap: Don't use \> in grep regexp. For HP-UX.
+
+2007-03-16 Jim Meyering <jim@meyering.net>
+
+ Begin adding support for Solaris ZFS (4 entries per trivial ACL)
+ * gl/lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
+ (file_has_acl, copy_acl): Use it, rather than enumerating errno values.
+ (is_trivial_acl): New function. Incomplete, for now.
+ (file_has_acl, copy_acl): Use the new function, rather than
+ counting the number of entries in an ACL.
+
+ * bootstrap: Update from gnulib.
+
+ * .x-sc_prohibit_atoi_atof: Add TODO here, too.
+
+2007-03-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/copy.c: Include filemode.h.
+ (overwrite_prompt): Say "try to overwrite", not "overwrite", to
+ make it clearer that the attempt may fail. Problem reported by
+ Dan Jacobson in:
+ http://lists.gnu.org/archive/html/bug-coreutils/2007-03/msg00130.html
+ Output symbolic mode as well as numeric.
+ * tests/mv/i-2 (fail): Adjust to new prompt format.
+
+2007-03-15 Jim Meyering <jim@meyering.net>
+
+ Enforce policy: don't use *scanf functions.
+ * Makefile.maint (sc_prohibit_atoi_atof): Add to regexp and diagnostic.
+ * .x-sc_prohibit_atoi_atof: Give stty a temporary pass.
+ * TODO: note that stty.c needs this small clean-up.
+
+2007-03-13 Jim Meyering <jim@meyering.net>
+
+ Prepare to work on ACL-related failure when using Solaris ZFS.
+ * gl/lib/acl.c: New file, copied from gnulib.
+
+ Work around a failing test due to an NFS-based race condition.
+ * tests/cp/sparse: Accept a report that the copy is *smaller*.
+
+2007-03-12 Jim Meyering <jim@meyering.net>
+
+ Make bootstrap.conf a tiny bit more generic.
+ * bootstrap.conf (XGETTEXT_OPTIONS): Exclude gettext-related .m4
+ files when e.g., AM_GNU_GETTEXT([external] appears in configure.ac.
+
+2007-03-10 Jim Meyering <jim@meyering.net>
+
+ Try to fix today's NFS-related failure: Treat ESTALE like EACCES.
+ * gl/lib/savewd.c: Copy this file from gnulib, then change
+ "errno != EACCES" to (errno != EACCES && errno != ESTALE).
+ The symptom was this failure in tests/install/basic-1:
+ ginstall: cannot create directory `rel/a': Stale NFS file handle
+
+ The preceding change solved part of the problem. Now ginstall fails.
+ * tests/install/basic-1: Temporarily, don't redirect ginstall's
+ stderr to /dev/null, so I can see why the NFS autobuilder's NFS test
+ is failing.
+
+ * tests/install/basic-1: When setting up an unreadable "." in an
+ inaccessible parent, make the parent inaccessible *after* making "."
+ unreadable. Otherwise, running "chmod a-r ." in an already-
+ inaccessible parent would fail on NFS with "Stale NFS file handle".
+ Reported by Bob Proulx.
+
+ * Makefile.maint (po-check): Exclude c99-to-c89.diff.
+
+2007-03-09 Jim Meyering <jim@meyering.net>
+
+ Avoid test failures on Darwin 7.9.0 (MacOS X 10.3.9)
+ * tests/chgrp/basic: Don't let failure by chgrp to set the
+ group of a symlink make this test fail. Do give a diagnostic.
+ In the chgrp-no-change-ctime test, add darwin7.9.0 as another
+ known-failing system.
+ When failing on some other system, print $host_triplet, too.
+ Also avoid test failures on Darwin 8.8.x (MacOS X 10.4).
+ Reported by Peter Fales.
+
+2007-03-08 Jim Meyering <jim@meyering.net>
+
+ * src/c99-to-c89.diff: Reflect the new c99'ism, update offsets.
+
+2007-03-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ rm without -f: give a better diagnostic when euidaccess fails.
+ * src/remove.c (write_protected_non_symlink): Return int, not bool,
+ so that we can indicate failure too (as a postive error number).
+ (prompt): If write_protected_non_symlink fails, report that error
+ number and fail rather than charging ahead and removing the dubious
+ entry. Redo the logic of printing a diagnostic so that we need to
+ invoke quote (full_filename (...)) only once. More details at:
+ <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9952/focus=9996>
+
+2007-03-08 Jim Meyering <jim@meyering.net>
+
+ Generalize a few more cvs-isms.
+ * bootstrap (checkout_only_file): Rename from CVS_only_file.
+ Change comments and diagnostics not to say "CVS".
+
+ * bootstrap: Run libtool, if necessary.
+
+ Make bootstrap a little more general.
+ * bootstrap (build_aux): Factor out/use this definition.
+ Formally require a "AC_CONFIG_AUX_DIR($build_aux)" line in configure.ac.
+ (insert_sorted_if_absent): Move function definition "up", to
+ precede new first use.
+ If $build_aux/ doesn't exist initially, create it, and
+ mark it as ignored.
+
+2007-03-03 Andrew Church <achurch@achurch.org> (tiny change)
+ Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix a bug: cp -x would fail to set mount point permissions.
+ * NEWS: mention cp -x bug fix
+ * src/copy.c (copy_internal): Don't return immediately after
+ copying a mount point that we do not intend to recurse under.
+ Based on a patch by Andrew Church.
+
+2007-03-03 Jim Meyering <jim@meyering.net>
+
+ pwd-unreadable-parent: Skip test on ia64/Linux, too.
+ * tests/misc/pwd-unreadable-parent: Also skip when $REPLACE_GETCWD.
+ Reported by Bob Proulx.
+
+2007-03-02 Jim Meyering <jim@meyering.net>
+
+ pwd-unreadable-parent: Skip test on non-Linux/GNU systems.
+ * tests/misc/pwd-unreadable-parent: Rather than trying to decide
+ whether this test has a chance of succeeding, run it only when
+ $(host_os) is linux-gnu. It was failing on powerpc-apple-darwin8.8.0
+ * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Add host_os=$(host_os).
+
+ * tests/misc/pwd-long: Also allow "+" in $PWD.
+
+ Remove another coreutils-ism. Formatting cleanup.
+ * Makefile.maint (my-distcheck): Update an outdated comment.
+ (emit_upload_commands): Use $(PACKAGE) rather than "coreutils".
+ (my-distcheck): Skip the c99/c89 check if there's no such .diff file.
+
+2007-03-01 Jim Meyering <jim@meyering.net>
+
+ * Makefile.maint (warn_cflags): Hoist, adding "-Dlint -O".
+ (my-distcheck): Use the new variable, instead of too-long literal.
+
+ Make "make syntax-check" rules less coreutils-specific.
+ * Makefile.maint (sc_cast_of_x_alloc_return_value): Use CVS_LIST_EXCEPT.
+ (sc_cast_of_alloca_return_value): Likewise.
+ (sc_root_tests): Do nothing if there is no check-root target
+ in tests/Makefile.am.
+
+ Run the writable-files check only for release-building targets.
+ * Makefile.maint (local-checks-available): Remove writable-files.
+ (alpha beta major): Put it here, instead.
+
+ "make syntax-check" now runs only Makefile.cfg-selected tests
+ * Makefile.maint (syntax-check-rules): Hoist this definition so that
+ it precedes the indirect use in the definition of $(local-check).
+ (local-check): Use :=, not just "=".
+ (syntax-check): Depend on $(local-check), not $(syntax-check-rules).
+
+2007-02-28 Bruno Haible <bruno@clisp.org>
+
+ * bootstrap.conf (gnulib_modules): Replace xreadlink with
+ xreadlink-with-size. Add xreadlink.
+ * src/copy.c (copy_internal): Update.
+ * src/ls.c (is_directory): Update.
+ * src/stat.c (print_stat): Update.
+ * src/readlink.c (main): Use the one-argument xreadlink function.
+
+2007-02-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ * doc/coreutils.texi (Common options): --si outputs "M", not "MB".
+ Problem reported by Philip Rowlands in
+ <http://lists.gnu.org/archive/html/bug-coreutils/2007-02/msg00283.html>.
+
+2007-02-28 Jim Meyering <jim@meyering.net>
+
+ * .x-sc_file_system: Add the new test, tests/misc/df-P, to this
+ list of exceptions, for the "make distcheck" sc_file_system rule.
+
+ * Makefile.maint (gnulib_snapshot_date): Remove now-unused definition.
+
+2007-02-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ Make df -P immune to effects of e.g., the BLOCK_SIZE envvar.
+ * NEWS: With -P, the default block size and output format is not
+ affected by DF_BLOCK_SIZE, BLOCK_SIZE, or BLOCKSIZE.
+ * src/df.c (main): Implement this.
+
+2007-02-27 Jim Meyering <jim@meyering.net>
+
+ Add a test for the above.
+ * tests/misc/df-P: New file.
+ * tests/misc/Makefile.am (TESTS): Add df-P.
+
+2007-02-25 Jim Meyering <jim@meyering.net>
+
+ * Makefile.maint (announcement): Adjust so that it works with
+ announce-gen's --gnulib-snapshot-time-stamp option.
+ Indent one of the command lines using TAB, not 8 spaces.
+
+ Post-release version change.
+ * NEWS: Add a line for 6.8+.
+ * configure.ac (AC_INIT): Set new version string.
+
+2007-02-24 Jim Meyering <jim@meyering.net>
+
+ Version 6.8.
+ * NEWS: Record release date and new version number.
+ * configure.ac (AC_INIT): New version number.
+
+ Don't skip this test on new-enough Linux/GNU systems.
+ * tests/misc/pwd-unreadable-parent: Test $REPLACE_GETCWD = 0,
+ rather than for __GETCWD_PREFIX in config.h (the latter is no
+ longer defined, ever, due to gnulib changes).
+ * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Define REPLACE_GETCWD.
+
+ Remove the "gnits" option; it prohibits my using "+" as a version
+ string suffix, and all it does (beyond the default "gnu" option)
+ is to _require_ the THANKS file.
+ * configure.ac (AM_INIT_AUTOMAKE): Remove it.
+
+ Remove all AUTOMAKE_OPTIONS settings in Makefile.am files.
+ * tests/chgrp/Makefile.am, tests/chmod/Makefile.am:
+ * tests/chown/Makefile.am, tests/cp/Makefile.am:
+ * tests/du/Makefile.am, tests/expr/Makefile.am:
+ * tests/factor/Makefile.am, tests/general/Makefile.am:
+ * tests/install/Makefile.am, tests/ln/Makefile.am:
+ * tests/ls/Makefile.am, tests/mkdir/Makefile.am:
+ * tests/mv/Makefile.am, tests/readlink/Makefile.am:
+ * tests/rm/Makefile.am, tests/rmdir/Makefile.am:
+ * tests/seq/Makefile.am, tests/stty/Makefile.am:
+ * tests/tee/Makefile.am, tests/touch/Makefile.am:
+
+ * README: Document the OSF/1 4.0d build failure and work-around.
+ Reported by Bruno Haible.
+
+ * NEWS: Use a simple "+" suffix to denote pre-release, not "-dirty".
+ Nicer connotations.
+ * configure.ac: Use 6.7+, not 6.7-dirty.
+
+2007-02-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: sort no longer compresses temporaries by default.
+ * bootstrap.conf: Remove findprog.
+ * doc/coreutils.texi (sort invocation): The default is to not
+ compress. Don't treat "" specially.
+ * src/sort.c: Don't include findprog.h.
+ (create_temp): Compress only if the user specified --compress-program.
+ * tests/misc/sort-compress: Adjusts tests to match new behavior.
+
+2007-02-24 Jim Meyering <jim@meyering.net>
+
+ Avoid a shell syntax error, when building with an inadequate Perl.
+ * man/Makefile.am (.x.1): Add quotes around $(PERL) in case, since
+ it can expand to "/.../missing perl".
+
+ * man/Makefile.am (.x.1): Warn when unable to update a man page.
+ Suggestion from Bruno Haible.
+
+2007-02-23 Bruno Haible <bruno@clisp.org>
+
+ Handle better the combination of old Perl and a pre-c99 compiler.
+ * man/Makefile.am (.x.1): If the autoconf test has determined that
+ perl is missing or not a sufficient version, do nothing.
+
+ * tests/readlink/can-e: Put the closing double-quote at the end of a
+ backquoted word, not in the middle. Works around a bug in sh on
+ OSF/1 4.0d.
+ * tests/readlink/can-f: Likewise.
+ * tests/readlink/can-m: Likewise.
+
+ * tests/du/slink: Skip the test if executing on an nfsv3 file system.
+ This avoids a test failure at least on OSF/1 4.0d.
+
+2007-02-23 Jim Meyering <jim@meyering.net>
+
+ * src/date.c (usage): Split a diagnostic that had grown to be
+ longer than the C89 maximum of 509 bytes.
+
+2007-02-23 Ed Santiago <ed@edsantiago.com>
+
+ * src/date.c (usage): Mention that --rfc-3339 uses space, not 'T',
+ for a separator. Include sample RFC 2822 and 3339 output.
+
+2007-02-23 Jim Meyering <jim@meyering.net>
+
+ With -Dlint, make shuf free all heap-allocated storage.
+ * src/shuf.c (main): Move declaration of input_lines to
+ function scope, and initialize to NULL, so we can free it.
+ [lint]: Free all malloc'd memory.
+ * tests/misc/shuf: Also test shuf's -e and -i options.
+
+2007-02-22 Jim Meyering <jim@meyering.net>
+
+ Merge in a change from some other incarnation of this file (gzip?)
+ * bootstrap (gnulib_tool): Skip get_translations if there is no po/ dir.
+
+ Adjust preceding change not to perform an unaligned access.
+ * src/copy.c (copy_reg): Undo previous change. Instead, make
+ it clearer that we're using a single-byte sentinel, and
+ [lint]: Initialize sizeof (uintptr_t) - 1 bytes after the sentinel.
+ Reported by Andreas Schwab.
+
+ Placate valgrind, wrt ./cp --sparse=always
+ * src/copy.c (copy_reg): Place the sentinel by setting a
+ full word's worth of bits, not just a single byte's worth.
+ This avoids a harmless (but distracting) case of memory being
+ used-uninitialized.
+
+2007-02-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ Honor dd's noatime flag if possible, even if not supported on build fs
+ * doc/coreutils.texi (dd invocation): Warn that noatime might not be
+ reliable.
+ * src/dd.c (flags, usage): Look at O_NOATIME, not
+ HAVE_WORKING_O_NOATIME, to decide whether to support the noatime
+ flag, so that dd attempts O_NOATIME even if the build file system
+ does not support it. Problem reported by Jim Meyering today in
+ bug-coreutils.
+ * tests/dd/misc: Generate a warning, not a failure, if noatime
+ exists but fails.
+
+2007-02-21 Jim Meyering <jim@meyering.net>
+
+ * tests/misc/date: Remove vestigial use of Data::Dumper.
+
+2007-02-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/copy.c (cached_umask): Cast -1 to mode_t to avoid a warning
+ about out-of-range initializer with Sun C 5.8.
+
+2007-02-20 Jim Meyering <jim@meyering.net>
+
+ * bootstrap (CVS_only_file): Use README-hacking.
+
+ Now that we use GIT, not cvs, rename README-cvs.
+ * README-hacking: Renamed from...
+ Update to reflect that we now use git.
+
+ * README-cvs: ...this.
+
+ * src/env.c (main): When invoked with no arguments (i.e. when printing
+ the environment), use a local variable to iterate through the global
+ "environ" array, rather than "environ" itself. This is solely to
+ avoid changing the environment for an LD_PRELOAD-substituted "puts"
+ or "exit" function. Tiny patch by Harvey Eneman. See
+ <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9735>.
+ * THANKS: Update.
+
+ * bootstrap: Move definitions of temporary directory names and the
+ new bt_regex "up" to precede all uses, so it's clearer what their
+ scope is. Also, use [.], rather than \\., since the former works
+ even if eval'd.
+
+ * bootstrap: Remove occurrences of $bt (._bootmp) from lib/Makefile.
+ Based on the bison 2007-02-19 change by Joel E. Denny.
+
+2007-02-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: sort now uses a --compress-program option rather than
+ an environment variable.
+ * doc/coreutils.texi (sort invocation): Document this.
+ * src/sort.c (usage): Likewise.
+ (COMPRESS_PROGRAM_OPTION): New const.
+ (long_options, create_temp, main): Support new option.
+ * tests/misc/sort-compress: Test it.
+
+2007-02-19 Jim Meyering <jim@meyering.net>
+
+ * bootstrap: Fix typo s/dowloading/downloading/ in --help output.
+
+2007-02-18 Jim Meyering <jim@meyering.net>
+
+ * src/system.h: Don't include exit.h, now that it's subsumed
+ by the gnulib-generated stdlib.h.
+
+ * tests/rm/fail-eacces: Skip this test when running as root.
+ Reported by Matthew Woehlke.
+
+ * bootstrap: Use "._bootmp" as the temporary directory name,
+ not ".#bootmp". The latter's "#" caused trouble with the new,
+ gnulib-added "LINK_WARNING_H = $(top_srcdir)/.#bootmp/..." line.
+
+2007-02-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * bootstrap.conf (gnulib_modules): Add c-strcase. Remove strcase.
+ * src/dircolors.c: Include c-strcase.h.
+ (dc_parse_stream): Use c_strcasecmp rather than
+ strcasecmp to avoid unreliable results in locales like Turkish
+ where strcasecmp is incompatible with the C locale.
+
+2007-02-13 Jim Meyering <jim@meyering.net>
+
+ Also check for and print stderr output, in case a program fails.
+ * tests/misc/tty-eof: Occasionally (not reproducible), this
+ test would fail, with one or more programs exiting nonzero, e.g.,
+ tty-eof: sha224sum exited with status 1 (expected 0)
+ Now, maybe we'll get a clue, the next time that happens.
+
+2007-02-12 Jim Meyering <jim@meyering.net>
+
+ * .x-sc_useless_cpp_parens: Ignore a false-positive in a shell script.
+
+ * tests/misc/pwd-unreadable-parent: Skip the test if we're
+ definitely using the replacement.
+ * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Define CONFIG_HEADER.
+
+2007-02-10 Jim Meyering <jim@meyering.net>
+
+ Remove excess leading spaces that would make help2man misbehave.
+ * src/printf.c (usage): Remove excess spaces on 2nd line of %b desc.
+ * src/nl.c (usage): Remove excess spaces on 2nd line of pBRE desc.
+ * src/dd.c (usage): Remove excess spaces on 2nd line of sync desc.
+ * src/date.c (usage): Use two spaces after each optional flag, not one.
+ Reported by Thomas Huriaux in <http://bugs.debian.org/410407>.
+
+ * Makefile.maint (longopt_re): Relax the regexp, making square
+ brackets optional, so it matches the newly reported violations, too.
+
+ * src/csplit.c (usage): Use two spaces (not one) to separate
+ each option string from its description, so help2man formats
+ the derived man page properly. Reported by Thomas Huriaux in
+ <http://bugs.debian.org/410407>.
+ * src/df.c (usage): Likewise.
+ * src/du.c (usage): Likewise.
+ * src/install.c (usage): Likewise.
+ * src/ls.c (usage): Likewise.
+
+2007-02-03 Jim Meyering <jim@meyering.net>
+
+ Test for today's gnulib/lib/getcwd.c fix affecting pwd and readlink
+ * NEWS: Mention the bug fix.
+ * tests/misc/pwd-unreadable-parent: New file.
+ * tests/misc/Makefile.am (TESTS): Ad pwd-unreadable-parent.
+
+2007-02-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Document fix for cp --preserve=mode.
+ * src/copy.c (copy_internal): Omit the group- or other-writeable
+ permissions when creating a directory, to avoid a race condition
+ if the special mode bits aren't right just after the directory is
+ created.
+ * src/cp.c (make_dir_parents_private): Likewise.
+ * tests/cp/parent-perm-race: Test for the "cp --preserve=mode"
+ race fix in copy.c.
+
+ * NEWS: Document fix for cp --parents.
+ * src/cp.c (make_dir_parents_private): Report the error sooner with
+ "cp --parents DIR/FILE DEST" when DIR is a non-directory, thus not
+ creating the directory, DEST/DIR.
+ * tests/cp/cp-parents: Test for the non-race-condition bug fixed
+ by the above change.
+
+2007-02-02 Jim Meyering <jim@meyering.net>
+
+ * src/nl.c (proc_text): Use "NULL", not "(struct re_registers *) 0".
+
+ * src/c99-to-c89.diff: Make shred.c Index: and a/b prefixes
+ consistent, so this can be applied with patch -p0.
+ Reported by Matthew Woehlke.
+
+ Arrange for "make check-root" to run the new root-only test.
+ * tests/Makefile.am (t9): New target, to run tests/cp/cp-a-selinux.
+ (all_t): Add t9.
+
+ * Makefile.maint (patch-check): Use patch with its -p2 option,
+ since that makes this check slightly more strict.
+
+ Use a directory on a loopback device mounted with -o context=...
+ * tests/cp/cp-a-selinux: Since this test now runs mount and umount,
+ it is a root-only one.
+
+2007-01-29 Jim Meyering <jim@meyering.net>
+
+ Plug a leak in ls.
+ * src/ls.c (print_dir): Don't leak a "DIR"+fd upon failure to
+ determine dev/inode or upon detecting a symlink loop.
+
+ * src/ls.c: Rename three global variables.
+ (cwd_file): Rename from 'files'.
+ (cwd_n_alloc): Rename from 'nfiles'.
+ (cwd_n_used): Rename from 'files_index'.
+
+ Shave 8 bytes off the size of "struct fileinfo".
+ * src/ls.c (fileinfo): Put all members of type "bool" together.
+
+2007-01-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ Modify "ls" to sort its data faster, using the new gnulib mpsort
+ module rather than qsort. This is particularly a win in
+ environments where strcoll is slow, since mpsort typically calls
+ strcoll less often than qsort does.
+ * bootstrap.conf (gnulib_modules): Add mpsort.
+ * src/ls.c: Include mpsort.h.
+ (sorted_file, sorted_file_alloc): New vars, for a new vector of
+ pointers to the file info, for speed.
+ (clear_files, extract_dirs_from_files, sort_files, print_current_files):
+ (print_many_per_line, print_horizontal, print_with_commas):
+ (calculate_columns): Set and use new vector.
+ (initialize_ordering_vector): New function.
+
+2007-01-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ Adjust to today's change to gnulib, which added a module for
+ string.h to replace the little include files like strcase.h.
+ * src/dircolors.c: Don't include strcase.h.
+ * src/system.h: Don't include mempcpy.h, memrchr.h, stpcpy.h, strpbrk.h.
+
+2007-01-26 Jim Meyering <jim@meyering.net>
+
+ * src/dd.c (advance_input_after_read_error): Change diagnostic to
+ say "invalid file offset" rather than "screwy file offset".
+
+ * .x-sc_cast_of_argument_to_free: Remove this file.
+ * Makefile.am (EXTRA_DIST): Likewise.
+
+2007-01-25 Dan Hipschman <dsh@linux.ucla.edu>
+
+ * src/sort.c (create_temp): Remove superfluous access-X_OK
+ check. find_in_path does this for us.
+
+2007-01-24 Jim Meyering <jim@meyering.net>
+
+ Remove usually-skipped test.
+ * tests/cp/open-perm-race: Remove this file. It is subsumed
+ by parent-perm-race.
+ * tests/cp/Makefile.am (TESTS): Remove open-perm-race.
+ * tests/sort/Makefile.am: Regenerate.
+
+ Pass "make distcheck" again.
+ * src/sort.c (usage): Split a diagnostic that had grown to be
+ longer than the C89 maximum of 509 bytes.
+ * .x-sc_cast_of_argument_to_free: New file. Allow a cast in sort.c.
+ FIXME: this is just temporary, while we wait to remove the offending
+ access-calling code.
+ * Makefile.am (EXTRA_DIST): Add .x-sc_cast_of_argument_to_free.
+ * Makefile.maint (sc_cast_of_argument_to_free): Use the
+ canonical, $$($(CVS_LIST_EXCEPT)).
+ * m4/.gitignore, m4/.cvsignore, lib/.gitignore, lib/.cvsignore: Update.
+
+2007-01-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: New option sort -C, proposed by XCU ERN 127, which looks
+ like it will be approved. Also add --check=quiet, --check=silent
+ as long aliases, and --check=diagnose-first as an alias for -c.
+ * doc/coreutils.texi (sort invocation): Document this.
+ Also, mention that sort -c can take at most one file.
+ * src/sort.c: Implement this.
+ Include argmatch.h.
+ (usage): Document the change.
+ (CHECK_OPTION): New constant.
+ (long_options): --check now takes an optional argument, and is now
+ treated differently from 'c'.
+ (check_args, check_types): New constant arrays.
+ (check): New arg CHECKONLY, which suppresses diagnostic if -C.
+ (main): Parse the new options.
+ * tests/sort/Test.pm (02d, 02d, incompat5, incompat6):
+ New tests for -C.
+
+2007-01-24 Jim Meyering <jim@meyering.net>
+
+ Fix a typo.
+ * tests/misc/sort-compress: Use $abs_top_builddir, not $top_builddir.
+ * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Likewise.
+
+ Don't depend on "which".
+ * tests/misc/sort-compress (SORT): Use $abs_builddir, now which.
+ * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Export top_builddir.
+
+2007-01-24 Dan Hipschman <dsh@linux.ucla.edu>
+
+ Test sort compression.
+ * tests/misc/Makefile.am: Add the test.
+ * tests/misc/sort-compress: New file containing the tests.
+
+2007-01-24 Jim Meyering <jim@meyering.net>
+
+ * NEWS: sort temp file compression: tweak wording.
+ * src/sort.c (struct sortfile) [name]: Declare member to be const.
+
+2007-01-21 Jim Meyering <jim@meyering.net>
+
+ * src/sort.c (MAX_FORK_RETRIES_COMPRESS, MAX_FORK_RETRIES_DECOMPRESS):
+ In pipe_fork callers, use these named constants, not "2" and "8".
+ (proctab, nprocs): Declare to be "static".
+ (pipe_fork) [lint]: Initialize local, pid,
+ to avoid unwarranted may-be-used-uninitialized warning.
+ (create_temp): Use the active voice. Describe parameters, too.
+
+2007-01-21 James Youngman <jay@gnu.org>
+
+ Centralize all the uses of sigprocmask(). Don't restore an invalid
+ saved mask.
+ * src/sort.c (enter_cs, leave_cs): New functions for protecting
+ code sequences against signal delivery.
+ * (exit_cleanup): Use enter_cs and leave_cs instead of
+ calling sigprocmask directly.
+ (create_temp_file, pipe_fork, zaptemp): Likewise
+
+2007-01-21 Dan Hipschman <dsh@linux.ucla.edu>
+
+ Add compression of temp files to sort.
+ * NEWS: Mention this.
+ * bootstrap.conf: Import findprog.
+ * configure.ac: Add AC_FUNC_FORK.
+ * doc/coreutils.texi: Document GNUSORT_COMPRESSOR environment
+ variable.
+ * src/sort.c (compress_program): New global, holds the name of the
+ external compression program.
+ (struct sortfile): New type used by mergepfs and friends instead
+ of filenames to hold PIDs of compressor processes.
+ (proctab): New global, holds compressor PIDs on which to wait.
+ (enum procstate, struct procnode): New types used by proctab.
+ (proctab_hasher, proctab_comparator): New functions for proctab.
+ (nprocs): New global, number of forked but unreaped children.
+ (reap, reap_some): New function, wait for/cleanup forked processes.
+ (register_proc, update_proc, wait_proc): New functions for adding,
+ modifying and removing proctab entries.
+ (create_temp_file): Change parameter type to pointer to file
+ descriptor, and return type to pointer to struct tempnode.
+ (dup2_or_die): New function used in create_temp and open_temp.
+ (pipe_fork): New function, creates a pipe and child process.
+ (create_temp): Creates a temp file and possibly a compression
+ program to which we filter output.
+ (open_temp): Opens a compressed temp file and creates a
+ decompression process through which to filter the input.
+ (mergefps): Change FILES parameter type to struct sortfile array
+ and update access accordingly. Use open_temp and reap_some.
+ (avoid_trashing_input, merge): Change FILES parameter like
+ mergefps and call create_temp instead of create_temp_file.
+ (sort): Call create_temp instead of create_temp_file.
+ Use reap_some.
+ (avoid_trashing_input, merge, sort, main): Adapt to mergefps.
+
+ The idea of compressing sorts temporary files was first
+ suggested/implemented by Jay Soffian in 1998, and again
+ by Charles Randall in 2001.
+
+2007-01-20 Jim Meyering <jim@meyering.net>
+
+ * tests/misc/pwd-long: Work properly even when run from the
+ wrong one of two or more bind-mounted sibling directories.
+ Suggestion from Mike Stone in <http://bugs.debian.org/380552>.
+
+2007-01-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ Standardize on list of signals when an app catches signals.
+ * src/csplit.c (main): Also catch SIGALRM, SIGPIPE, SIGPOLL,
+ SIGPROF, SIGVTALRM, SIGXCPU, SIGXFSZ.
+ * src/ls.c (main): Likewise (except SIGPIPE was already caught).
+ Note that ls.c is special, as it also catches SIGTSTP.
+ * src/sort.c (main): Likewise. Also catch SIGQUIT. More details in
+ <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9510>.
+
+2007-01-19 Dan Hipschman <dsh@linux.ucla.edu>
+ and Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/sort.c (cleanup): Clear temphead at the end.
+ (exit_cleanup): New function.
+ (main): Don't invoke atexit until we're ready.
+ Invoke it with exit_cleanup, not with cleanup and close_stdout,
+ to avoid a race condition with cleanup and signal handling. More
+ details: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9508
+
+2007-01-18 Jim Meyering <jim@meyering.net>
+
+ * src/c99-to-c89.diff: Adjust remove.c offsets.
+
+2007-01-17 Jim Meyering <jim@meyering.net>
+
+ Make "rm --interactive=never ..." never prompt.
+ * NEWS: Mention this.
+ * src/remove.h (enum rm_interactive): New ternary type.
+ (struct rm_options) [interactive]: Use it, here -- rather than bool.
+ * src/remove.c (prompt): Reflect type change.
+ * src/mv.c (rm_option_init): Initialize to RMI_NEVER now.
+ * src/rm.c (main): Add a FIXME comment for '-d' option.
+ Adapt to type change of rm_options.interactive.
+
+ * tests/rm/i-never: New file. Test for the above fix.
+ * tests/rm/Makefile.am (TESTS): Add i-never.
+
+2007-01-15 Jim Meyering <jim@meyering.net>
+
+ * bootstrap (gnulib_tool): When adding to .cvsignore and .gitignore,
+ emit foo.h, for each foo_.h. This yields one false-positive, fts.h,
+ but that's ok, since fts_.h will eventually be renamed.
+
+ * src/remove.c (remove_dir): Don't use errno in diagnostic.
+ Root-only test failure reported by Alex van Hout and Jon Grosshart in
+ <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9415/focus=9415>.
+
+ * bootstrap.conf (avoided_gnulib_modules): Fix my typo:
+ s/--avoid=canonicalize-lgpl/--avoid=canonicalize-gpl/
+
+2007-01-14 Bruno Haible <bruno@clisp.org>
+
+ Enable use of gnulib's new fchdir module.
+ * bootstrap.conf (avoided_gnulib_modules): Avoid canonicalize-lgpl,
+ since we use canonicalize.
+ (gnulib_modules): Add fchdir.
+ * m4/jm-macros.m4 (coreutils_MACROS): Remove fchdir-stub.
+
+2007-01-13 Jim Meyering <jim@meyering.net>
+
+ * tests/cp/open-perm-race: Remove gdb-based test.
+ It would run only when compiled with -g, and besides is now
+ subsumed by file-perm-race.
+ * tests/cp/Makefile.am (TESTS): Remove open-perm-race.
+
+ * Transform all Makefile.am files so that when running "make check",
+ CU_TEST_NAME is set to the name of the test. This is so that when I
+ run valgrind-enabled (--log-file-qualifier=CU_TEST_NAME) "make check"
+ on the entire package it is more convenient to map a leak or error
+ found in a valgrind log file back to the offending test.
+ Use this command:
+ (echo tests/Makefile.am.in; find tests -name Makefile.am) \
+ |xargs perl -pi -e '/^(\s*)PATH=...VG_PATH_PREFIX/ and ' \
+ -e 'print $1,q|CU_TEST_NAME=`basename $(abs_srcdir)`,$$tst |,"\\\n"'
+
+2007-01-11 Jim Meyering <jim@meyering.net>
+
+ Avoid a leak in expr's implementation of the ":" (match) operator.
+ * src/expr.c (docolon): Free the regexp buffer using regfree, rather
+ than doing it manually, being careful to set fastmap to NULL first.
+ Free any re_regs.start and .end members, if necessary.
+
+ * tests/misc/test-diag: Work also when libc's error function
+ reports the entire program name ("../../src/test"), rather than
+ just the final component.
+
+2007-01-10 Jim Meyering <jim@meyering.net>
+
+ Don't use fts_statp uninitialized for "chown -RLh --preserve-root ...".
+ * src/chown-core.c (FTSENT_IS_DIRECTORY): New macro.
+ (change_file_owner): Perform the ROOT_DEV_INO_CHECK only for a
+ directory. Non-directory entries lack fts_statp data when using
+ the FTS_NOSTAT option.
+
+2007-01-07 Jim Meyering <jim@meyering.net>
+
+ * tests/sample-test: Update copyright date to 2007.
+ * Makefile.maint (copyright-check): Also check the copyright date
+ in tests/sample-test.
+
+2007-01-06 Jim Meyering <jim@meyering.net>
+
+ * tests/fmt/basic (pfx-only, pfx-of-pfx): New tests,
+ based on examples from G.P. Halkes in
+ <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9388>.
+
+2007-01-06 G.P. Halkes <buscom@ghalkes.nl>
+
+ * src/fmt.c (copy_rest): Correct prefix handling.
+ Don't elide a line with the prefix followed by only white space.
+ (get_line): Move EOF-check to loop-termination condition.
+ * tests/fmt/basic (pfx-1): Adjust test to expect desired result.
+ (pfx-2): Remove test; its premise was contrary to the documentation.
+
+2007-01-05 Jim Meyering <jim@meyering.net>
+
+ Avoid a used-uninitialized bug for invalid input, i.e., when the size
+ of the input, not counting newlines, is 1 % 4.
+ * gl/lib/base64.c (base64_decode): Don't hard-code inlen==4.
+ It may be smaller when flushing.
+
+2007-01-05 Mike Frysinger <vapier@gentoo.org>
+
+ * src/dircolors.hin: Add a TERM directive for cons25.
+
+2007-01-04 Jim Meyering <jim@meyering.net>
+
+ * Makefile.cfg (local-checks-to-skip): Skip strftime-check, in
+ case you don't have convenient access to glibc info documentation.
+
+ Use the release year, not the current year.
+ * src/groups.sh (version): Use a better name: @RELEASE_YEAR@.
+ * src/Makefile.am (RELEASE_YEAR): Define it.
+ (.sh): Use it.
+ Thanks to a prod from Eric Blake.
+
+ Ensure that "group --version" always prints the current year.
+ * src/groups.sh (version): Use @CURRENT_YEAR@, rather than 2006.
+ * src/Makefile.am (.sh): Also substitute for @CURRENT_YEAR@.
+ Suggestion from Eric Blake.
+
+ When decoding, always allow newlines in input, with almost no
+ performance impact.
+ * src/base64.c (do_decode): Initialize decode context.
+ Call base64_decode one more time, after all input is processed.
+ (usage): When decoding, newlines are always accepted.
+
+ * tests/misc/base64: Add a bunch of tests, for the above.
+ * gl/lib/base64.c: Include <string.h>.
+ (base64_decode_ctx_init, get_4, decode_4): New functions.
+ (base64_decode): Efficiently handle interspersed newlines.
+ (base64_decode_alloc): Update signature.
+ * gl/lib/base64.h (struct base64_decode_context): Define.
+ (base64_decode_ctx_init): Add prototype.
+ (base64_decode, base64_decode_alloc): Update prototypes.
+
+ * gl/lib/base64.c: Copied from gnulib.
+ * gl/lib/base64.h: Likewise.
+
+2007-01-03 Jim Meyering <jim@meyering.net>
+
+ * THANKS: Add Evan Hunt.
+
+2007-01-03 Bruno Haible <bruno@clisp.org>
+
+ Avoid spurious test failures on MacOS X 10.3.9, in a German locale.
+ * tests/chown/deref: Apply lang-default.
+ * tests/misc/split-a: Likewise.
+ * tests/mv/reply-no: Likewise.
+
+ * src/copy.c (copy_internal): Use mkfifo as a fallback if mknod fails.
+ Needed on MacOS X.
+
+2007-01-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ Now, "ls -FRL" always follows symbolic links on Linux.
+ * NEWS: Mention this bug fix.
+ * src/ls.c (gobble_file): Fix bug reported by
+ Nobuyuki Tsuchimura in
+ http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00152.html
+ where "ls -FRL" didn't follow a symbolic link in some cases on Linux.
+ * tests/ls/follow-slink: Add a test for this case.
+
+2007-01-01 Jim Meyering <jim@meyering.net>
+
+ * tests/rm/fail-eperm: Revert last change. The PATH=... setting
+ is not honored at least on HP-UX 11.23 systems.
+ Instead, simply transform the actual output diagnostic.
+ Test failure reported by Bob Proulx.
+
+
+ -----
+
+ Copyright (C) 2007 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.
diff --git a/ChangeLog-2008 b/ChangeLog-2008
new file mode 100644
index 000000000..aac9febeb
--- /dev/null
+++ b/ChangeLog-2008
@@ -0,0 +1,374 @@
+2008-02-07 Jim Meyering <meyering@redhat.com>
+
+ We *do* need two different version files.
+ One for tarball-only, the other to be updated any time we
+ get a new value of $(VERSION).
+ * Makefile.am (dist-hook): Create .tarball-version in dist tarball.
+ * GNUmakefile (_curr-ver): Make git-version-gen use it.
+ * .gitignore: Ignore it.
+
+ Fix a typo in description of size suffixes: s/GB/G/.
+ * doc/coreutils.texi (od invocation, head invocation, tail invocation):
+ Spotted by Bert Wesarg.
+
+ * NEWS [6.9.90]: Mention the added feature that head, od, split and
+ tail now accept the standard size suffixes (kB, M, MB, G, GB, and
+ so on for T, P, Y, Z, and Y) on arguments to selected options.
+
+2008-02-06 Steven Schubiger <schubiger@gmail.com>
+
+ mkdir, split: write --verbose output to stdout, not stderr.
+ * src/mkdir.c (verbose_output): New function.
+ (announce_mkdir): Use it.
+ * src/split.c (usage): Update.
+ * src/split.c (cwrite): Write to stdout, not stderr.
+ * doc/coreutils.texi (split invocation): Remove the mention
+ of --verbose output being printed to stderr.
+ * tests/mkdir/p-v: Redirect stdout, not stderr.
+ * tests/misc/split-a: Likewise.
+ * NEWS: Mention this change.
+ * TODO: Remove this item.
+
+2008-02-04 Jim Meyering <meyering@redhat.com>
+
+ * Makefile.maint (announcement): Remove stale comment.
+
+2008-02-02 Jim Meyering <meyering@redhat.com>
+
+ Clarify a comment.
+ * tests/sort/Test.pm: Replace a vague ChangeLog reference with a URL.
+
+2008-01-31 Bob Proulx <bob@proulx.com>
+
+ Improve wording of date and time man page.
+ * man/date.x: Improve compact description of the --date=STRING.
+ * man/touch.x: Likewise.
+ Suggested by A. Costa.
+
+2008-01-31 Jim Meyering <meyering@redhat.com>
+
+ Remove alignment constraint from the sha*_read_ctx functions.
+ * lib/sha256.c (set_uint32): New function.
+ (sha256_read_ctx, sha224_read_ctx): Use it.
+ * lib/sha512.c (set_uint64): New function.
+ (sha512_read_ctx, sha384_read_ctx): Use it.
+ * lib/sha256.h: Remove warning about alignment constraint.
+ * lib/sha512.h: Likewise.
+ Prompted by similar changes in gnulib's sha1 and md[45] modules.
+
+ Adapt to new version of vc-list-files.
+ * tests/check.mk (vc_exe_in_TESTS): Adapt to new constraint
+ that vc-list-files be run only from $(top_srcdir).
+
+ Pull vc-list-files from gnulib.
+ * bootstrap.conf (gnulib_modules): Add vc-list-files.
+ * build-aux/vc-list-files: Remove file.
+
+ Improve the cp/parent-perm test.
+ * tests/cp/parent-perm: Also check that perms of existing dest
+ dirs are changed to match those of corresponding src dir
+
+2008-01-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ Don't modify argv in dd due to ',' in arguments.
+ * src/dd.c: Include quotearg.h.
+ (operand_matches): New function.
+ (parse_symbols, operand_is): Use it.
+ (parse_symbols): 1st arg is now const pointer. Don't modify it.
+ msgid arg is now just the message, not a format.
+ (scanargs): Add some 'const's to check for problems like the above.
+
+2008-01-30 Jim Meyering <meyering@redhat.com>
+
+ * src/c99-to-c89.diff: Adjust remove.c offsets, again.
+
+ Now that system.h defines is_empty_dir, include "openat.h".
+ * src/system.h: Include "openat.h" here, ...
+ * src/chcon.c: ... not here.
+ * src/chmod.c: Likewise.
+ * src/chown-core.c: Likewise.
+ * src/remove.c: Likewise.
+
+ * src/c99-to-c89.diff: Adjust remove.c offsets.
+
+ Improve "rmdir --ignore-fail-on-non-empty"
+ * src/rmdir.c (remove_parents, main): With --ignore-fail-on-non-empty,
+ suppress a diagnostic also for other errno values, which can arise
+ with read-only media or when the parent directory has the immutable
+ attribute (set via chattr +i).
+ (errno_may_be_empty, ignorable_failure): New functions.
+ * src/remove.c (is_empty_dir): Move function to ...
+ * src/system.h (is_empty_dir): ...here, and make it inline.
+ Suggested by Josselin Mouette in <http://bugs.debian.org/363011>
+ via Bob Proulx.
+ * NEWS: Mention the improvement.
+
+2008-01-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ Don't modify argv in dd.
+ * src/dd.c (operand_is): New function.
+ (scanargs): Use it so that we don't need to modify argv, as a nicety.
+ Problem reported by Adam Goode in
+ <http://lists.gnu.org/archive/html/bug-coreutils/2008-01/msg00264.html>.
+
+2008-01-29 Jim Meyering <meyering@redhat.com>
+
+ * Makefile.am (BUILT_SOURCES): Ensure that .version exists.
+ Reported by Bob Proulx.
+
+2008-01-29 Bob Proulx <bob@proulx.com>
+
+ Improve the man pages of --date=STRING for 'date' and 'touch'.
+ * man/date.x: Add a compact description of the --date=STRING.
+ * man/touch.x: Likewise.
+ Reported by A. Costa in http://bugs.debian.org/363011
+
+2008-01-29 Michael Stone <mstone@debian.org>
+
+ Improve the description of when dd outputs its final statistics.
+ * doc/coreutils.texi (dd invocation): Say that dd prints stats
+ upon normal termination and upon SIGINT.
+
+2008-01-29 Jim Meyering <meyering@redhat.com>
+
+ Avoid "make distcheck" failure: newly-created man/*.1 files not removed
+ * Makefile.am (EXTRA_DIST): Add .version.
+ (.version): New rule.
+ (dist-hook): Don't create $(distdir)/.version here, now that it's
+ being distributed.
+ * man/Makefile.am (common_dep): Use ../.version, not ../VERSION.
+ (../VERSION): Remove rule.
+ * GNUmakefile (dummy): Create .version, not VERSION.
+ Add an extra "...:= $(shell..." statement to ensure that
+ .version exists even when the preceding code is not run.
+ * .gitignore: Remove both .version and VERSION.
+
+ ls: don't segfault on files in /proc with an old libselinux
+ * src/ls.c (gobble_file): Work around a bug in libselinux1-2.0.15
+ whereby getfilecon returns 0 yet sets the context to NULL.
+ Reported by Jan Moringen via Michael Stone in
+ http://bugs.debian.org/463043
+ * tests/ls/Makefile.am (TESTS): Add proc-selinux-segfault.
+ * tests/ls/proc-selinux-segfault: Test for the above fix.
+ * NEWS: Mention the fix.
+
+2008-01-26 Jim Meyering <meyering@redhat.com>
+
+ Work around Darwin9's set-GID-like group ownership inheritance.
+ This avoids another spurious Mac OS 10.5.1 (Darwin 9.1) test failure.
+ * tests/cp/preserve-gid: Accept a group ID of 0, as well.
+ Reported by Elias Pipping.
+
+ Emit "info coreutils 'PROG invocation'" into the man page,
+ rather than just "info PROG". The latter would often fail
+ or simply display the man page.
+ * man/help2man: Change the template.
+ Prompted by http://bugs.debian.org/399684
+
+ chcon: correct description of --no-dereference (-h) option.
+ * src/chcon.c (usage): Remove invalid reference to lchown.
+ Reported by Göran Uddeborg.
+
+ Ensure that each version string change propagates to man pages.
+ * man/Makefile.am (common_dep): Don't depend on configure.ac for
+ version changes. Instead, depend on ../VERSION.
+ (../VERSION): New rule.
+ * Makefile.am (DISTCLEANFILES): Define.
+ * GNUmakefile: Update ./VERSION.
+ * .gitignore: List VERSION.
+ Reported by Sven Joachim.
+
+ Avoid cp/preserve-gid test failure on Mac OS 10.5.1 (Darwin 9.1)
+ * tests/cp/preserve-gid: Set group as well as owner on ".".
+ Reported by Elias Pipping.
+
+ Improve a warning about non-portable "mv" usage.
+ * doc/coreutils.texi (mv invocation): Adjust the warning: moving a
+ dir-symlink-specified-with-a-trailing-slash works in a surprising
+ manner only on some systems. Reported by Tomas Pospisek in
+ http://bugs.debian.org/343652.
+
+2008-01-26 Mike Frysinger <vapier@gentoo.org>
+
+ * src/dircolors.hin (TERM): Add jfbterm.
+
+2008-01-23 Jim Meyering <meyering@redhat.com>
+
+ Clean up build-related rules.
+ * Makefile.cfg (gnulib_dir): Update comment.
+ * Makefile.maint (announcement) [cl_date, utc_date]: Don't set
+ now-unused variables.
+
+ * TODO: Update the note on getgrouplist.
+
+2008-01-23 Zvi Har'El <rl@math.technion.ac.il>
+
+ Add a ";", so "make install" works with --enable-install-program=su.
+ * src/Makefile.am (install_su): Add a semicolon. (tiny change)
+
+2008-01-23 Jim Meyering <meyering@redhat.com>
+
+ Avoid misinterpreting mgetgroups failure in running root-only tests.
+ * src/setuidgid.c (main): Don't misinterpret as size_t an error
+ return from mgetgroups. Reported by Theodoros V. Kalamatianos.
+
+ * README: Remove/convert a few stray mentions of CVS.
+
+2008-01-22 Jim Meyering <meyering@redhat.com>
+
+ Require automake-1.10.1, for its support of dist-lzma.
+ * configure.ac (AM_INIT_AUTOMAKE): Require 1.10.1.
+
+ Version 6.10.
+
+ * NEWS: Record release date.
+
+ * README-hacking: Update to reflect existence of automake-1.10.1.
+
+2008-01-18 Jim Meyering <meyering@redhat.com>
+
+ Update README.
+ * README: Remove a note about failing tests on SunOS 4.
+ On Mac OS 10.5.1 (Darwin 9.1), you'll need --disable-acl.
+ (Running tests as root): Recommend using "check-root", not "check".
+
+2008-01-17 Jim Meyering <meyering@redhat.com>
+
+ Do not define-away __attribute__ when __STRICT_ANSI__ is set.
+ * src/system.h (__attribute__): Remove the __STRICT_ANSI__ disjunct.
+ It has been unnecessary since approximately gcc-2.6, and now, leaving
+ it would cause gcc -Werror -ansi to fail to compile csplit.c.
+ * gl/lib/randread.c (__attribute__): Likewise.
+
+2008-01-16 Jim Meyering <meyering@redhat.com>
+
+ * NEWS: Mention the configure.ac fix.
+
+ * TODO: Add an introduction.
+ Remove a few entries. Update a few others.
+
+2008-01-13 Jim Meyering <meyering@redhat.com>
+
+ Remove each output redirection target before writing to it.
+ * tests/check.mk (vc_exe_in_TESTS): Remove t1 and t2 _first_,
+ in case they exist beforehand and are not writable.
+ * build-aux/check.mk (am__check_pre): Likewise, remove $@-t.
+
+2008-01-13 Elias Pipping <pipping@gentoo.org>
+
+ * configure.ac: Correct a non-portable use of sed.
+
+2008-01-12 Mike Frysinger <vapier@gentoo.org>
+
+ * src/dircolors.hin (image formats): Add the .svg suffix.
+
+2008-01-12 Jim Meyering <meyering@redhat.com>
+
+ Use new version of announce-gen.
+ * Makefile.maint (announcement): Remove use of the
+ --gnulib-snapshot-time-stamp option.
+ Use new --gnulib-version option instead.
+ (gnulib-version): New variable.
+
+2008-01-11 Jim Meyering <meyering@redhat.com>
+
+ * Version 6.9.92.
+
+ * tests/tr/Test.pm: Prefer en_US.ISO-8859-1 to en_US.iso88591.
+ Suggestions from James Youngman and Pádraig Brady in
+ http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12218/focus=12227
+
+2008-01-10 Jim Meyering <meyering@redhat.com>
+
+ * README-hacking: Add Git to the list of required tools.
+
+2008-01-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix a minor race condition when using cp -p --parents.
+ * src/cp.c (make_dir_parents_private): If stat fails on the parent
+ directory, do not add it to the list of directories whose modes
+ might need fixing later. Also, do not bother invoking 'stat'
+ unless the stat results might be needed later.
+
+2008-01-08 Jim Meyering <meyering@redhat.com>
+
+ parent-perm: avoid a bizarre test failure.
+ * tests/cp/parent-perm: Accommodate the situation in which
+ chmod ("dir", 02755) returns 0 yet fails to set the S_ISGID bit.
+
+ Remove uses of now-undefined Makefile variable.
+ * src/Makefile.am (dir_LDADD, ls_LDADD, vdir_LDADD): Remove uses
+ of no-longer-defined variable, $(LIB_ACL_TRIVIAL).
+
+2008-01-07 Jim Meyering <meyering@redhat.com>
+
+ cp (but not copy.c): plug a small leak.
+ * src/cp.c (do_copy) [--parents]: Free the attribute list.
+
+ Make a racy test failure less likely to happen.
+ * tests/misc/tty-eof: Uncomment a debug "warn".
+ This change happens to make this test far less likely to fail.
+ With that statement commented out, this test would fail about
+ 20% of the time on my desktop. Now, it's gone 100 iterations
+ in a row with no failure.
+
+ * NEWS: Mention the cp bug fix.
+
+2008-01-07 Jan Blunck <jblunck@suse.de>
+
+ cp --parents: don't use uninitialized memory when restoring permissions
+ * src/cp.c (make_dir_parents_private): Always stat each source
+ directory, in case its permissions are required in re_protect,
+ when setting permissions of a just-created destination directory.
+
+2008-01-07 Jim Meyering <meyering@redhat.com>
+
+ cp: add a test for today's bug fix.
+ * tests/cp/parent-perm: New script. Test today's change.
+ Based on reproducer from Jan Blunck.
+ * tests/cp/Makefile.am (TESTS): Add parent-perm.
+
+2008-01-06 Jim Meyering <meyering@redhat.com>
+
+ touch: add a test for today's change.
+ * tests/touch/now-owned-by-other: New script. Test today's change.
+ * tests/touch/Makefile.am (TESTS): Add now-owned-by-other.
+ * tests/Makefile.am (all_t): Add td, a new root-only test.
+ (td): New target.
+ * NEWS: Mention the improvement.
+
+2008-01-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ touch: ignore "-d now" option, when appropriate
+ * src/touch.c (main): Treat "-d now" as if it were absent, if
+ neither -a nor -m is specified. Problem reported by Dan Jacobson in:
+ http://lists.gnu.org/archive/html/bug-coreutils/2008-01/msg00010.html
+
+2008-01-05 Jim Meyering <meyering@redhat.com>
+
+ Avoid tr case-conversion failure in some locales.
+ * src/tr.c (skip_construct): New function.
+ (main): When processing a pair of case-converting classes, don't
+ iterate through the elements of each [:upper:] or [:lower:] class.
+ Reported by Gerald Pfeifer in
+ <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12218>.
+ * tests/tr/Test.pm [tolower-F]: New test for the above fix.
+ [upcase-xtra, dncase-xtra]: New tests, for a related code path.
+ * NEWS: Mention the tr bug fix.
+
+2008-01-02 Jim Meyering <jim@meyering.net>
+
+ * .gitignore: Ignore lzma-compressed files, too.
+
+ Update copyright date.
+ * tests/sample-test: Likewise.
+ * doc/coreutils.texi: Likewise.
+
+
+ -----
+
+ Copyright (C) 2008 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.