stty: diagnose an invalid hex value in 35-colon commmand-line argument
[platform/upstream/coreutils.git] / ChangeLog
index d0f13eb..0a2f553 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,640 @@
+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"