+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>
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.
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"