2009-09-11  Jim Meyering  <meyering@redhat.com>

	version 7.6
	* NEWS: Record release date.

2009-09-10  Jim Meyering  <meyering@redhat.com>

	link,ln: use gnulib's link module to work around Solaris 10 deficiency
	Before this change, :>f; ln -T f no-such/ would succeed on Solaris 10.
	After it, ln fails, as it should: ln: accessing `z/': Not a directory
	The command, link f no-such/, had the same problem on that system.
	* bootstrap.conf (gnulib_modules): Add "link".
	* tests/ln/slash-decorated-nonexistent-dest: New test.
	* tests/Makefile.am (TESTS): Add it.
	* NEWS (Portability): Mention the improvement.

	build: update gnulib submodule to latest

2009-09-10  Ondřej Vašík  <ovasik@redhat.com>

	doc: improve various BLOCKSIZE and SIZE help
	* doc/coreutils.texi (multiplierSuffixes): Mention that
	the suffix can be specified without a leading number
	* src/split.c (usage): Refactor SIZE help to within a function
	* src/truncate.c (usage): Likewise
	* src/ls.c (usage): Likewise
	* src/df.c (usage): Likewise. Also add a function with BLOCKSIZE help
	* src/du.c (usage): Likewise.
	* src/system.h: Define 2 functions to emit common help text
	This was prompted by https://bugzilla.redhat.com/show_bug.cgi?id=511188

2009-09-10  Jim Meyering  <meyering@redhat.com>

	dd conv=unblock: print final newline consistently
	* src/dd.c (dd_copy) [C_UNBLOCK]: Always print the final newline for
	non-empty output, not just when output size is a multiple of cbs.
	* doc/coreutils.texi (dd invocation) [conv=unblock]: Mention that dd
	prints a newline after each output record, not just when replacing
	trailing spaces.
	Reported by Ulrich Drepper.
	* tests/dd/unblock: New file.  Test for this.
	* tests/Makefile.am (TESTS): Add it.
	* NEWS (Bug fixes): Mention it.

2009-09-09  Jim Meyering  <meyering@redhat.com>

	maint: make cfg.mk slightly more generic
	* cfg.mk (url_dir_list): Don't hard-code "coreutils".  Use $(PACKAGE).

2009-09-08  Jim Meyering  <meyering@redhat.com>

	* gnulib: Update submodule to latest.

	tail: make the new piped-stdin test as portable as the old one
	* src/tail.c (main): Adapt piped-stdin test to use the same isapipe,
	test as was used in the preceding POSIXLY_CORRECT condition.
	Remove the now-subsumed POSIXLY_CORRECT test.
	Reported by Pádraig Brady.
	* doc/coreutils.texi (tail invocation): Document this change.
	* NEWS (Changes in behavior): Reclassify, clarify.

2009-09-08  Pádraig Brady  <P@draigBrady.com>

	tests: tail-2/assert: reduce risk of race condition
	* tests/tail2/assert: This reverts commit be853120, 25-08-2009,
	"tests: tail-2/assert: avoid risk of race condition"
	kill -0 doesn't send a signal and so will only confirm that the
	background process was forked, which we know already because
	we have its pid.

	tests: address a race condition in misc/cat-buf
	* tests/misc/cat-buf: Increase the delay between writes
	to decrease the chance that dd will read both at once.
	Since the test is inherently racy, print a warning via
	skip_test_ rather than failing outright.
	Reported by Jim Meyering.

2009-09-07  Jim Meyering  <meyering@redhat.com>

	tail: syntax-only: use "false", rather than equivalent, 0
	* src/tail.c (record_open_fd): Initialize "->ignore" to false, not 0.

	tail: ignore -f for piped-stdin, as POSIX requires
	* src/tail.c (main): Tailing a pipe "forever" is not useful,
	and POSIX specifies that tail ignore the -f when there is no
	file argument and stdin is a FIFO or pipe.  So we do that.
	In addition, GNU tail excludes "-" arguments from the list of files
	to tail forever, when the associated file descriptor is connected
	to a FIFO or pipe.  Before this change, ":|tail -f" would hang.
	Reported by Ren Yang and Ulrich Drepper.
	* tests/tail-2/pipe-f: Test for this.
	* tests/tail-2/pipe-f2: Ensure tail doesn't exit early for a fifo.
	* tests/Makefile.am (TESTS): Add these tests.
	* NEWS (POSIX conformance): Mention it.

2009-09-07  Pádraig Brady  <P@draigBrady.com>

	tests: tail-2/flush-initial should not rely on stdbuf
	* tests/tail-2/flush-initial: stdbuf is not built on all systems.
	In any case it's redundant since stdout will automatically be buffered
	since we're redirecting to file. So just call tail without using stdbuf.

2009-09-07  Jim Meyering  <meyering@redhat.com>

	tail: don't give up on inotify mode for an already-ignored "-"
	* src/tail.c (main): Adjust today's change to honor the
	F[i].ignore flag that may have been set in tail_file.

	tests: misc/cat-buf: clean up syntax
	* tests/misc/cat-buf: Don't suppress dd's stderr.
	Remove useless quotes.

	tests: ls/color-clear-to-eol: append NL to accommodate old sed
	* tests/ls/color-clear-to-eol: Some vendor sed programs fail
	to operate on lines that are not NL-terminated.
	This affects at least Solaris 10's /bin/sed.
	Reported by Pádraig Brady.

	tests: tail-2/infloop-1: avoid rare test failure on a busy system
	* tests/tail-2/infloop-1: Sleep 3 seconds, not 1, but in increments
	of 0.1 second.  Before, this test would fail ~1 time in 20 via
	"make -j9 check" on a quad-core system.
	Correct comment.

	build: update gnulib submodule to latest

	doc: tweak NEWS
	* NEWS (dd): Tweak wording.
	Two blank lines between sections.

	tail -f: handle "-"/stdin once again
	* src/tail.c (main) [HAVE_INOTIFY]: When stdin (i.e., "-", or no args,
	but not /dev/stdin) is specified on the command line, don't use inotify.
	Reported by Bill Brelsford in <http://bugs.debian.org/545422>.
	* tests/tail-2/follow-stdin: New file.  Test for this.
	* tests/Makefile.am (TESTS): Add the test.
	* NEWS (Bug fixes): Mention it.
	This bug was introduced in coreutils-7.5 via commit ae494d4b,
	2009-06-02, "tail: use inotify if it is available".

2009-09-06  Jim Meyering  <meyering@redhat.com>

	tests: tail-2/flush-initial: correct race avoidance code
	* tests/tail-2/flush-initial: Wait for the file to be nonempty,
	not for the process.  Based on a suggestion from Pádraig Brady.

	tests: ls-misc: don't let a bogus umask cause test failure
	* tests/misc/ls-misc: Set umask to 022.  A umask setting permitting
	world-write access, e.g., umask o+w, would cause this test to fail.
	Report by Mathias Brodala and analysis by Tom Fitzhenry in
	<http://bugs.debian.org/544965>.

	tail: flush initial output before possibly blocking
	* src/tail.c (main): Flush any output from tail_file,
	before calling tail_forever_inotify, which can block.
	* tests/tail-2/flush-initial: New file.  Test for the bug.
	* tests/Makefile.am (TESTS): Add tail-2/flush-initial.
	* NEWS (Bug fixes): Mention it.
	This bug was introduced in coreutils-7.5 via commit ae494d4b,
	2009-06-02, "tail: use inotify if it is available".

2009-09-05  Jim Meyering  <meyering@redhat.com>

	maint: remove unused file: lib/fdopendir-glibc.c
	* lib/fdopendir-glibc.c: Remove unused file.

	2009-09-05  Jim Meyering  <meyering@redhat.com>

	tests: ls/stat-vs-dirent: avoid spurious test failure
	* tests/ls/stat-vs-dirent: Avoid test failure when run from a
	directory whose name (or ancestor directory name) starts with ".".

2009-09-05  Pádraig Brady  <P@draigBrady.com>

	doc: make the tail --sleep-interval help less confusing
	* src/tail.c (usage): I read "approximately S seconds"
	as "approximately 5 seconds" for approximately 5 seconds.

	maint: remove some tab indentation from copy.c
	* src/copy.c (copy_internal): Remove tabs erroneously added
	in commit 3346c0af.

	tests: test old tail -f method even on systems with inotify
	* src/tail.c (main): Add an undocumented ---disable-inotify option
	to allow disabling inotify.
	* tests/tail-2/pid: Run test in both normal and "disable_inotify" modes.
	* tests/tail-2/tail-n0f: Likewise.
	* tests/tail-2/wait: Likewise.
	* tests/tail-2/append-only: Likewise.

2009-09-05  Jim Meyering  <meyering@redhat.com>

	build: update gnulib submodule to latest

2009-09-05  Petr Salinger  <Petr.Salinger@seznam.cz>

	stty: use TAB0, TAB1, and TAB2 only if defined
	* src/stty.c (mode_info) [TAB0, TAB1, TAB2]: Guard each
	entry with #ifdef.  Required for GNU/kFreeBSD.
	Reported by Petr Salinger in http://bugs.debian.org/520368.

2009-09-05  Eric Blake  <ebb9@byu.net>

	build: update from gnulib
	* gnulib: Update submodule to latest.

2009-09-04  Eric Blake  <ebb9@byu.net>

	ln: add comments related to POSIX 2008
	* src/ln.c (ENABLE_HARD_LINK_TO_SYMLINK_WARNING): Delete.
	(do_link): Update comments per POSIX; add FIXME for -L, -P.

	mv, cp: tweak LINK_FOLLOWS_SYMLINKS logic
	* gnulib: Update to latest gnulib.
	* src/copy.c (copy_internal): Adjust comment in light of POSIX
	2008, and deal with macro now being tri-state.

2009-09-04  Petr Salinger  <Petr.Salinger@seznam.cz>

	tests: fix a tail-2/pid failure on GNU/kFreeBSD
	* tests/tail-2/wait: Increase the file name recheck frequency to
	fix a failure on systems without inotify and a file timestamp precision
	of 1 second (like GNU/kFreeBSD).

2009-09-04  Pádraig Brady  <P@draigBrady.com>

	tests: fix a failure when running tail-2/wait as root
	* tests/tail-2/wait: Silently skip a portion of the test
	when running as root, rather than failing the whole test.
	This regression was introduced with commit 84b5844d, 2009-09-03,
	"tests: simplify and fix a race in 2 tail --follow tests".

2009-09-04  Mike Frysinger  <vapier@gentoo.org>

	build: fix libcap configure flag handling
	* m4/jm-macros.m4 (coreutils_MACROS): The code to handle configure-time
	enabling or disabling of libcap support was broken.  It would treat any
	libcap configure option as --disable-libcap because it doesn't check
	$enableval at all.  This change makes sure we do the sane thing:
	  --disable-libcap -> disable and don't run any tests
	  --enable-libcap -> run tests and fail if not found
	  default -> run tests and warn if not found

2009-09-03  Jim Meyering  <meyering@redhat.com>

	df: don't fail due to an unreadable argument
	* src/df.c (main): If open or fstat fails when we're trying to ensure
	that all arg-partitions are automounted, fall back on using stat.
	Inspired by the report and patch from Olivier Fourdan in
	http://bugzilla.redhat.com/520630.
	* NEWS (Bug fixes): Mention it.
	* tests/df/unreadable: New test for the above.
	* tests/Makefile.am (TESTS): Add df/unreadable.
	The bug was introduced in coreutils-7.3 via commit dbd17157,
	2009-04-28, "df: use open(2), not stat, to trigger automounting".

2009-09-03  Kamil Dudka  <kdudka@redhat.com>

	doc: install -C: fix bug in the texi documentation
	* doc/coreutils.texi: Move the documentation for install --compare (-C)
	from the section on fmt to that for install.
	Reported by Florian Schlichting.

2009-09-03  Pádraig Brady  <P@draigBrady.com>

	tests: simplify and fix a race in 2 tail --follow tests
	* tests/tail-2/pid: Use the timeout command to determine process
	longevity, rather than querying /proc/$pid/status.
	The latter was racy in any case when inotify is used, as then
	tail wakes up periodically even for unchanging files therefore
	causing the check for "S (sleeping)" state to fail intermittently.
	* tests/tail-2/wait: Likewise.

2009-09-03  Ondřej Vašík  <ovasik@redhat.com>

	cp: don't leak resources for each xattr preservation failure
	* src/copy.c (copy_reg): Don't return from the function after an
	unsuccessful and required preservation of extended attributes.
	This resulted in leaking the copy buffer and file descriptors.
	* NEWS (Bug fixes): Mention the fix.
	The bug was introduced in coreutils-7.1 via commit 0889381c, 2009-01-23,
	"cp/mv: add xattr support".

2009-09-01  Pádraig Brady  <P@draigBrady.com>

	chcon, chmod, chgrp, chown, du: report fts_close failure
	* src/du.c (du_files): Don't fail silently upon fts_close failure.
	* src/chcon.c (process_files): Likewise.
	* src/chmod.c (process_files): Likewise.
	* src/chown-core.c (chown_files): Likewise.

2009-09-01  Jim Meyering  <meyering@redhat.com>

	build: update from gnulib
	* gnulib: Update submodule to latest.

	chcon, chmod, chgrp, chown, du: do not ignore fts_close failure
	This is probably never visible, but who knows...
	* src/chcon.c (process_files): Don't ignore fts_close failure.
	* src/chmod.c (process_files): Likewise.
	* src/chown-core.c (chown_files): Likewise.
	* src/du.c (du_files): Likewise.

	maint: du: remove unnecessary initialization
	* src/du.c (main): Don't set "skip_file" unnecessarily.

	maint: chown, chgrp, chmod, chcon: remove unnecessary initialization
	* src/chown-core.c: Include "ignore-value.h".
	(change_file_owner): Don't set "ent" only to ignore it.
	* src/chcon.c (process_file): Likewise.
	* src/chmod.c: Include "ignore-value.h".
	(process_file): Don't set "ent" only to ignore it.
	After diagnosing root-dev/ino failure, return false immediately:
	Now that we don't set "ent" we must be sure not to use it uninitialized,
	and there's no point in issuing --verbose-related output in this case.

	maint: shred: remove unnecessary initialization
	* src/shred.c (genpattern): Value stored to "n" is never used.

	maint: dd: remove unnecessary initialization
	* src/dd.c (skip): Remove set-but-never-used variable, soffset.

	maint: tail: remove unnecessary initialization
	* src/tail.c (tail_bytes): Don't compute "diff" twice.

	maint: mbsalign.c: remove unnecessary assignment
	* gl/lib/mbsalign.c (mbsalign): Remove assignment, the result of which
	is never used.

2009-09-01  Pádraig Brady  <P@draigBrady.com>

	timeout: remove a redundant assignment
	* src/timeout.c (main): While keeping argc and argv in
	sync may be marginally useful, it is redundant to update argc,
	so just remove that to suppress the clang warning.

	timeout: defensive handling of all wait() errors
	* src/timeout.c (main): Handle all possible cases of unexpected
	failures from wait().  This was prompted by the clang tool reporting
	the possible non-initialization of the status variable.

2009-09-01  Jim Meyering  <meyering@redhat.com>

	ls -i: print consistent inode numbers also for mount points
	On most unix- and linux-based kernels, ls -i DIR_CONTAINING_MOUNT_POINT
	would print the wrong inode number for any entry that is a mount point.
	It would do that by relying on readdir's dirent.d_ino values, while
	most readdir implementations return the inode number of the underlying,
	inaccessible directory.  Thus, it is not consistent with what you'd
	get when applying stat to the same entry.  This bug led to surprising
	results like "ls -i" and "ls -i --color" printing different numbers (ls
	must usually "stat" a file to colorize its name).  This change makes it
	so that on offending systems, ls must stat non-command-line-arguments
	for which otherwise it would be able to use "for free" dirent.d_ino
	values.  Regardless of this change, ls is already required to stat every
	command-line argument.  Note: versions of GNU ls prior to coreutils-6.0
	did not perform the invalid optimization, and hence always printed
	correct inode numbers.  Thus, for the sake of correctness, ls -i is
	forgoing the readdir optimization, for any kernel (including linux!)
	with POSIX-nonconforming readdir.  Note that currently, only Cygwin has
	been agile enough to conform.

	* src/ls.c (RELIABLE_D_INO): Define.
	(print_dir): Use it.
	For plenty of discussion, see this long thread:
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14020
	This bug was introduced by the 2006-02-26 commit, 33eb3efe:
	"In ls, avoid calling stat for --inode (-i), when possible."
	* tests/ls/readdir-mountpoint-inode: New test.
	* tests/Makefile.am (TESTS): Add it.
	* tests/ls/stat-vs-dirent: Don't suppress failure of this test,
	now that ls -i is fixed.  Though note that it doesn't test well,
	since it compares only the always-stat'd command-line arguments.
	* NEWS (Bug fixes): Mention it.

2009-08-31  Jim Meyering  <meyering@redhat.com>

	maint: revert my stdbuf change: the result didn't even compile
	This reverts commit c1e158489d88bad418d52ceadf37af0b6f5b2112.

2009-08-30  Jim Meyering  <meyering@redhat.com>

	maint: stdbuf: move a declaration; no-semantic-change
	* src/stdbuf.c (set_program_path): Move a declaration down into
	the scope where it's used.

	build: quiet "make check" in src/
	* src/Makefile.am (check-duplicate-no-install): Use $(AM_V_GEN).
	(check-README): Likewise.  And $(AM_V_at).

	doc: cp: update note on preserving symlink time stamps
	* doc/coreutils.texi (cp invocation): Now, we *do* preserve time
	stamps on symlinks, when possible.

	build: update bootstrap from gnulib
	* bootstrap: Merge from gnulib.

2009-08-30  Pádraig Brady  <P@draigBrady.com>

	tests: don't misbehave if $TMPDIR contains spaces
	* tests/misc/xattr: Add quotes.
	* tests/mv/acl: Likewise.
	* 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/sticky-to-xpart: Likewise.

2009-08-29  Jim Meyering  <meyering@redhat.com>

	tests: other-fs-tmpdir: don't misbehave for quote-unfriendly $TMPDIR
	* tests/other-fs-tmpdir: Quote uses of variables that might expand
	to strings containing e.g., whitespace.

	build: update from gnulib
	* gnulib: Update submodule to latest.

	tests: move a coreutils-specific test from maint.mk to Makefile.am
	* Makefile.am (distcheck-hook): Make taint-distcheck here, since it's
	no longer done via maint.mk.

	tests: cp/reflink-auto guard against a pathological $TMPDIR
	* tests/cp/reflink-auto: Add quotes.

2009-08-29  Pádraig Brady  <P@draigBrady.com>

	cp --reflink: preserve attributes on cloned files if asked
	* src/copy.c (copy_reg): When cloning only skip the data copying
	* tests/cp/reflink-perm: New test to check times and modes copied
	* tests/Makefile.am: Reference the new test
	* NEWS: Mention the fix

	cp --reflink: add an "auto" parameter to fall back to a normal copy
	* doc/coreutils.texi (cp invocation): Document the new
	"auto" and "always" options to --reflink.
	* src/copy.c (copy_reg): Fall back to a standard copy
	when reflink() is not supported and --reflink=auto specified.
	* src/copy.h [struct cp_options] (reflink): Change type s/bool/enum/.
	* src/cp.c (usage): Describe the --reflink={always,auto} options
	and expand a little on what --reflink does.
	(main): parse the new parameters to --reflink and allow all
	--sparse options with --reflink=auto.
	* src/install.c (cp_option_init): Init the enum instead of bool.
	* src/mv.c (cp_option_init): Likewise.
	* tests/cp/reflink-auto: A new test for falling back to normal copy.
	* tests/Makefile.am: Reference the new test.
	* NEWS: Mention the new feature.

	stdbuf: fix a small typo in --help output
	* src/stdbuf.c (usage): s/then/the/

2009-08-28  Eric Blake  <ebb9@byu.net>

	build: avoid unused variable warnings on cygwin
	* src/copy.c (clone_file, copy_attr_by_fd, copy_attr_by_name):
	Mark up unused variables.
	* src/remove.c (dirent_inode_sort_may_be_useful): Likewise.

	dd: detect closed stderr
	* src/dd.c (maybe_close_stdout): Always flush stderr; regression
	introduced in commit 381e69ea.
	* tests/misc/close-stdout (p): Use consistent style.
	* tests/dd/stderr: New test, borrowing from misc/close-stdout.
	* tests/Makefile.am (TESTS): Run it.
	* NEWS: Mention this.

2009-08-28  Jim Meyering  <meyering@redhat.com>

	maint: ignore only man/*.1, not all *.1 files
	* .gitignore: Ignore *.1 only in man/

2009-08-27  Jim Meyering  <meyering@redhat.com>

	build: prefix a few rules with $(AM_V_GEN)
	* Makefile.am (.version, dist-hook, gen-ChangeLog): Use $(AM_V_GEN)
	and $(AM_V_at), so that automake's silent-rules option (make V=1/V=0)
	now controls whether the commands are printed at build time.
	(THANKS-to-translators, check-ls-dircolors): Likewise.

2009-08-26  Jim Meyering  <meyering@redhat.com>

	build: stop earlier if touching ChangeLog fails
	* bootstrap.conf: Exit right away if touching ChangeLog fails.
	Otherwise, the touch failure message is buried under configure output.

	tests: mkdir/selinux: avoid spurious failure on some SELinux systems
	* tests/test-lib.sh (require_selinux_enforcing_): New function.
	* tests/mkdir/selinux: Use it.
	Otherwise, this test would fail on Rawhide with SELinux disabled.

	tests: tail-2/assert: avoid risk of race condition
	* tests/tail-2/assert: Avoid spurious failure due to race condition.
	Rather than sleeping for 1 second and crossing fingers,
	wait explicitly for backgrounded tail process to start.
	Otherwise, this test would fail under heavy load.

2009-08-25  Jim Meyering  <meyering@redhat.com>

	maint: ensure we don't embed Emacs indent-tabs-mode setting lines
	Now that we prohibit indentation via TABs, there's no need for
	Emacs indent-tabs-mode setting lines, so prohibit those, too.
	* cfg.mk (sc_prohibit_emacs__indent_tabs_mode__setting): New rule.

	maint: remove Local Variables: indent-tabs-mode: nil from all sources
	* src/getlimits.c: Likewise.
	* src/group-list.c: Likewise.
	* src/groups.c: Likewise.
	* src/mktemp.c: Likewise.
	* src/setuidgid.c: Likewise.
	* src/stdbuf.c: Likewise.
	* src/timeout.c: Likewise.
	* src/truncate.c: Likewise.
	* gl/lib/mbsalign.c: Likewise.
	* tests/test-lib.sh: Likewise.
	* bootstrap: Likewise.
	* README-hacking: Likewise.

	doc: HACKING: mention the new space-only indentation policy

	maint: teach "make syntax-check" the space-only indentation rule
	* cfg.mk (sc_prohibit_tab_based_indentation): New rule.
	* .x-sc_prohibit_tab_based_indentation: New file.
	* Makefile.am (syntax_check_exceptions): Add file,
	.x-sc_prohibit_tab_based_indentation.

	global: convert indentation-TABs to spaces
	Transformed via this shell code:
	t=$'\t'
	git ls-files \
	  | grep -vE '(^|/)((GNU)?[Mm]akefile|ChangeLog)|\.(am|mk)$' \
	  | grep -vE 'tests/pr/|help2man' \
	  | xargs grep -lE "^ *$t" \
	  | xargs perl -MText::Tabs -ni -le \
	    '$m=/^( *\t[ \t]*)(.*)/; print $m ? expand($1) . $2 : $_'

2009-08-24  Jim Meyering  <meyering@redhat.com>

	cp: ignore obscure failure to preserve symlink time stamps,
	...when run on a kernel older than what was implied by headers and
	libraries tested at configure time.
	* src/copy.c (utimens_symlink): Ignore failure when errno == ENOSYS.
	* NEWS (Bug fixes): Mention it.
	Reported by Todd Zullinger and Kamil Dudka.
	Details in this thread:
	http://thread.gmane.org/gmane.linux.redhat.fedora.devel/119834

2009-08-23  Jim Meyering  <meyering@redhat.com>

	tests: skip (don't fail) a cp test, upon mount-related failure
	* tests/cp/cp-mv-enotsup-xattr: Upon a set-up failiure, rather than
	failing the test with a "framework failure" diagnostic, just skip it.
	Russell Whitaker reported that this test failed on slackware.

	build: update from *public* gnulib
	* gnulib: Update submodule to latest.
	Kamil Dudka reported that bootstrap was broken.

2009-08-22  Jim Meyering  <meyering@redhat.com>

	build: update from gnulib
	* gnulib: Update submodule to latest.

2009-08-20  Jim Meyering  <meyering@redhat.com>

	post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	version 7.5
	* NEWS: Record release date.

	tests: skip the stdbuf tests when the abs build directory name is bogus
	* tests/misc/stdbuf: Avoid spurious failure when the directory name
	from which we'd set LD_PRELOAD contains unsafe characters.

	install: avoid a portability bug when compiling with non-gcc
	* src/install.c (extra_mode): Be careful to return only a 0 or 1
	value, since this is a "bool" function, and there are still some
	compilers for which this is necessary.  Without this change,
	Bernhard Voelker reported that the Forte Developer 7 C 5.4 2002/03/09
	compiler would produce a malfunctioning "install" binary.  Details in
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/17710/focus=17760

2009-08-19  Jim Meyering  <meyering@redhat.com>

	tests: make install-C slightly less prone to confusion
	* tests/install/install-C: Invoke framework_failure, if necessary.

	build: avoid "make dist" failure in man/
	Now that "make check" no longer builds programs like arch, ...
	* src/Makefile.am (dist-hook): Depend on $(all_programs), so that the
	subsequent build in man/ doesn't fail due to lack of a program like
	arch that is not going to be installed.

2009-08-18  Jim Meyering  <meyering@redhat.com>

	build: update from gnulib
	* gnulib: Update submodule to latest.

2009-08-18  Giuseppe Scrivano  <gscrivano@gnu.org>

	nl: deprecate --page-increment in favor of --line-increment
	* NEWS: Mention the change.
	* doc/coreutils.texi: Document the new --line-increment option.
	* src/nl.c (struct option): Add --line-increment,
	(usage): Describe it,
	(main): Use it.

2009-08-18  Jim Meyering  <meyering@redhat.com>

	tests: stdbuf: fix a bug in test script
	* tests/misc/stdbuf: Use skip_test_ only after it's defined.
	Reported by Berhnard Voelker.

	(sc_check-AUTHORS): Rename rule from check-AUTHORS.

	build: perform check-AUTHORS via syntax-check, not via "make check"
	* src/Makefile.am (check): Don't depend on check-AUTHORS.
	That check fails on systems for which a program like stdbuf is
	not built.  Instead, move this check to "make syntax-check".
	(sc_check-AUTHORS): Rename rule from check-AUTHORS.
	* cfg.mk (sc_check-AUTHORS): New rule.
	Reported by Berhnard Voelker.

	sort: use more portable initialization syntax
	* src/sort.c (find_unit_order): Spell out 256-element static
	initializer, rather than relying on C99 syntax.
	Required for Forte Developer 7 C 5.4 2002/03/09 on Solaris 10.
	Reported by Bernhard Voelker.

2009-08-17  Jim Meyering  <meyering@redhat.com>

	build: suppress warnings due to gcc's new -Wjump-misses-init
	* configure.ac: Ignore -Wjump-misses-init violations in remove.c.

	build: update from gnulib
	* gnulib: Update submodule to latest.

2009-08-16  Jim Meyering  <meyering@redhat.com>

	tests: tail-2/append-only: don't discard stderr
	* tests/tail-2/append-only: Don't discard a diagnostic that
	may help explain why this test fails for some.  Details in
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/17621/focus=17641

2009-08-14  Jim Meyering  <meyering@redhat.com>

	tests: skip the misc/stdbuf test if stdbuf was not built
	* tests/misc/stdbuf: Skip this test when stdbuf is not built.
	Reported by Eric Blake.

	build: use gnulib's getopt-gnu module (getopt is now deprecated)
	* bootstrap.conf (gnulib_modules): Gnulib's getopt module is now
	deprecated; use the new, preferred name, getopt-gnu.
	* gnulib: Update to latest.

2009-08-14  Pádraig Brady  <P@draigBrady.com>

	cp,mv: fix issues with preserving timestamps of copied symlinks
	* src/copy.c (copy_internal): On systems without utimensat don't
	use utimens on a symlink, as that would dereference the symlink.
	* tests/cp/abuse: To work around possible attribute preservation
	failures breaking the test, use cp -dR rather than cp -a.

	doc: clarify the cp --reflink NEWS
	* NEWS: Remove the description associated with the removed
	experimental code which unconditionally tried to reflink() on copy.
	Also clarify where --reflink works exactly.

2009-08-13  Jim Meyering  <meyering@redhat.com>

	tests: raise ulimit virt-mem limit to avoid new failure
	* tests/cp/link-heap: Raise limit from 16MB to ~20MB,
	to avoid spurious failure on rawhide.

2009-08-13  Pádraig Brady  <P@draigBrady.com>

	tail: fix tail -f failure when inotify used
	* src/tail.c (tail_forever_inotify): Remove the redundant and
	incorrect error check of the return from inotify_add_watch().
	Also initialize the wd member of each File_spec to an invalid value.
	Reported by C de-Avillez.

	dd: fix a signal handling race
	* src/dd.c (main): Install the signal handlers at startup
	rather than just before the copy starts. In this way signals
	received before the copy (like during a slow truncate for e.g.)
	will be deferred and handled consistently.
	* THANKS: Add Bernhard's email address.
	* NEWS: Mention the fix.
	Reported by Bernhard Voelker.

2009-08-12  Pádraig Brady  <P@draigBrady.com>

	tests: improve one of the tail --pid tests
	* tests/tail-2/pid: Speed up the test by specifying a
	timeout of 100ms rather than the default 1s.  Also
	skip the test instead of failing in the unlikely case
	were the pid required to be missing pid is present.

2009-08-10  Jim Meyering  <meyering@redhat.com>

	nl, pinky: replace uses of strcat
	* src/nl.c (main): Avoid strcat, on principle.  Use stpcpy instead.
	* src/pinky.c (print_long_entry): Likewise.

	build: update from gnulib, for HOST_NAME_MAX on solaris 10
	* gnulib: Update submodule to latest.

2009-08-07  Giuseppe Scrivano  <gscrivano@gnu.org>

	cp: accept the --reflink option
	* NEWS: Mention it.
	* doc/coreutils.texi (cp invocation): Describe it.
	* src/copy.h (struct cp_options) [reflink]: New member.
	* src/copy.c (usage): Describe it.
	(copy_reg): If reflink is true try to clone the file.
	(main): Check for --reflink.
	(cp_option_init): Initialize the new member.
	* src/install.c (cp_option_init): Initialize the new member.
	* src/mv.c (cp_option_init): Likewise.
	* tests/cp/sparse: Add a new test case.

2009-08-07  Jim Meyering  <meyering@redhat.com>

	dd: preserve semantics of O_DIRECT even for final block
	* src/dd.c: Include "ignore-value.h"
	(iwrite): When disabling O_DIRECT, try to compensate
	via POSIX_FADV_DONTNEED and fsync.
	Suggested by Eric Sandeen.

2009-08-06  Jim Meyering  <meyering@redhat.com>

	maint: move selinux-at module from gl/ to gnulib
	* gl/lib/selinux-at.c: Remove file.
	* gl/lib/selinux-at.h: Likewise.
	* gl/modules/selinux-at: Likewise.
	* gnulib: update to latest, to get the new module.

	dd: work around buffer length restrictions with oflag=direct (O_DIRECT)
	dd oflag=direct would fail to copy a file with size that is
	not a multiple of 512 (destination file system specific)

	* NEWS (Bug fixes): Mention it.
	* src/dd.c (iwrite): Turn off O_DIRECT for any
	smaller-than-obs-sized write.  Don't bother to restore it.
	* tests/dd/direct: New test for the above.
	* tests/Makefile.am (TESTS): Add dd/direct.
	* doc/coreutils.texi (dd invocation): Mention oflag=direct
	buffer size restriction.
	Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/17586
	Reported by Eric Sandeen.

2009-08-04  Jim Meyering  <meyering@redhat.com>

	dd: remove unnecessary #if HAVE_FTRUNCATE
	* src/dd.c (main): Remove unnecessary cpp directives.
	Gnulib guarantees that ftruncate is usable.

	cp -pP (and e.g., -a): preserve time stamps on symlinks, too
	* src/copy.c (utimensat_if_possible): New function.
	(copy_internal): Remove variable, "preserve_metadata".
	Replace with "dest_is_symlink".  That covers all cases but one:
	the one in which cp --link has created hard links to non-directories.
	In that case, there is no need to update attributes of the links.
	Use utimensat_if_possible, to preserve timestamps of symlinks.
	* NEWS (New features): Mention this.
	* tests/Makefile.am (TESTS): Add cp/preserve-slink-time.
	* tests/cp/preserve-slink-time: New file.
	* m4/jm-macros.m4 (coreutils_MACROS): Test for utimensat.
	Reported in http://bugzilla.redhat.com/230866

2009-08-04  Kamil Dudka  <kdudka@redhat.com>

	install runs faster again with SELinux enabled
	* m4/jm-macros.m4: Pull in SELinux libraries while checking for
	matchpathcon_init_prefix ().  Emit configure warning when not found
	with SELinux enabled.
	* NEWS (Bug fixes): Mention it.
	The bug was introduced in coreutils-7.0 via commit 0647f3eb, 2008-06-02,
	"accommodate older SELinux which lacks matchpathcon_init_prefix".

2009-08-04  Jim Meyering  <meyering@redhat.com>

	maint: move the update-copyright rule to gnulib's maint.mk
	* gnulib: Update submodule to get latest maint.mk.
	* Makefile.am (update-copyright): Remove rule; now it's in maint.mk.
	* m4/check-decl.m4: Update sole remaining copyright year list.

2009-07-31  Jim Meyering  <meyering@redhat.com>

	build: *really* update to a usable gnulib commit

	build: update to a usable gnulib commit
	The commit, 5ef90695, 2009-07-29, "maint: move update-copyright
	to gnulib" recorded a local-only commit.
	Reported by Pádraig Brady.

2009-07-30  Jim Meyering  <meyering@redhat.com>

	tests: new function: require_openat_support_
	* tests/rm/inaccessible: Factor out openat-support-detection code...
	* tests/test-lib.sh (require_openat_support_): ...into this new function.

	tail: tweak indentation
	* src/tail.c (tail_forever_inotify): Adjust indentation of continued line.

2009-07-30  Pádraig Brady  <P@draigBrady.com>

	tail: properly parse fractional seconds when monitoring a pid
	* src/tail.c (tail_forever_inotify): The fractional
	part of the delay was 1000 times too large.
	* tests/tail-2/pid: Add a test to ensure the
	timeout happens for this case.

2009-07-30  Jim Meyering  <meyering@redhat.com>

	tests: test for just-fixed tail --pid bug
	* tests/tail-2/pid: Ensure tail exits successfully when PID dies.

2009-07-30  Giuseppe Scrivano  <gscrivano@gnu.org>

	tail: exit successfully upon watched process death
	* src/tail.c (tail_forever_inotify): If a PID is specified and the
	watched process dies, exit with status EXIT_SUCCESS, rather than
	falling through to an EXIT_FAILURE.

2009-07-29  Jim Meyering  <meyering@redhat.com>

	maint: move update-copyright to gnulib
	* build-aux/update-copyright: Remove file.
	* bootstrap.conf (gnulib_modules): Add update-copyright.
	* gnulib: Update submodule to latest.

	maint: make update-copyright work in yet another case
	* build-aux/update-copyright: Handle the case in which "\n#"
	appears between the final year number and the copyright holder name.
	* m4/lib-check.m4: Update copyright year list.
	Reported by Joel E. Denny.

	maint: update NEWS
	* NEWS (New features): Mention it.

2009-07-29  Giuseppe Scrivano  <gscrivano@gnu.org>

	cp: support btrfs' copy-on-write file clone operation
	* src/copy.c [HAVE_SYS_IOCTL_H]: Include <sys/ioctl.h>.
	(BTRFS_IOCTL_MAGIC, BTRFS_IOC_CLONE): Define.
	(clone_file): New function.
	(copy_reg): Use the btrfs clone operation if possible.

2009-07-29  Jim Meyering  <meyering@redhat.com>

	maint: update sleep.c's copyright year list
	* src/sleep.c: Update copyright year list to include 2009.
	* tests/sort-time/rand-gen: Remove long-unused file.
	* tests/sort-time/README: Likewise.

2009-07-29  Joel E. Denny  <jdenny@clemson.edu>

	maint: improve update-copyright rule
	* Makefile.am (update-copyright): Relax the selection rule
	to match any file containing the word "Copyright".
	Correct the exclusion rule so that it also excludes ChangeLog
	and COPYING files that are not in the top level directory.

2009-07-29  Jim Meyering  <meyering@redhat.com>

	maint: update-copyright: fix just-introduced bug
	* build-aux/update-copyright: ... and revert-for-now the
	change that made this script invoke localtime only once.

	maint: make update-copyright handle more cases
	* build-aux/update-copyright: Handle cases in which the final
	year number and copyright holder are on separate lines.
	Prompted by a report from Joel E. Denny.
	Also, do not invoke localtime for each line we process.

2009-07-29  Pádraig Brady  <P@draigBrady.com>

	doc: fix the generated HTML index
	* doc/coreutils.texi: Move the "SELinux context" section
	down below the "System context" nodes so that the HTML
	index is generated correctly. Also some extraneous and missing
	'.' characters were corrected in the index.
	Reported by Benno Schulenberg.

2009-07-28  Giuseppe Scrivano  <gscrivano@gnu.org>

	tail: use the inotify backend also with --pid=PID
	* src/tail.c (tail_forever_inotify): When a PID is specified, use
	select to block for no more than sleep_interval seconds at a time,
	and check for process death upon timeout.
	(main): Adapt to new tail_forever_inotify interface.

2009-07-27  Jim Meyering  <meyering@redhat.com>

	tests: new test for bug in ls -1U dir arg ...
	* tests/misc/ls-misc (multi-arg-U1): New test.

2009-07-27  Kamil Dudka  <kdudka@redhat.com>

	ls -1U dir arg ... now works again
	* src/ls.c (print_dir): Emit "$dir_name:\n" *before* accumulating (and
	possibly printing) directory entry names.
	The bug was introduced in coreutils-7.0 via commit
	8d974b00, 2008-07-30, "ls -U1 now uses constant memory".
	Reported by Julian Bradfield.
	* NEWS (Bug fixes): Mention it.

2009-07-27  Heikki Orsila  <heikki.orsila@iki.fi>

	tr: improve --help's description of --complement (-c)

2009-07-27  Pádraig Brady  <P@draigBrady.com>

	doc: add a sort by line length example
	* doc/coreutils.texi (sort invocation): Add an example showing how
	to sort data not directly supported by the sort command.

	doc: mention realpath in the readlink info
	* doc/coreutils.texi (readlink invocation): Add realpath to the index,
	and also mention it in the readlink description so people
	searching for that functionality can easily make the connection.

2009-07-26  Jim Meyering  <meyering@redhat.com>

	build: use a fixed-name temporary in man/Makefile.am
	* man/Makefile.am (check-x-vs-1): Using a fixed-name temporary file
	is better than one ending in -$$, because many -$$-suffixed files
	may accumulate over time.

2009-07-24  Kamil Dudka  <kdudka@redhat.com>

	doc: improve readlink description here, too
	* doc/coreutils.texi (readlink invocation): Update menus.
	Add @cindex entries.

2009-07-24  Jim Meyering  <meyering@redhat.com>

	readlink: improve one-line summary: prints canonical file names, too
	* src/readlink.c (usage): Adjust one-line summary.
	* man/readlink.x: Likewise.
	Suggested by Kamil Dudka.

2009-07-21  Jim Meyering  <meyering@redhat.com>

	build: update from gnulib
	* gnulib: Update submodule to latest.

2009-07-14  Jim Meyering  <meyering@redhat.com>

	doc: point to Guile's ChangeLog-writing guidelines
	* HACKING (Commit log requirements): Point to Guile's
	http://www.gnu.org/software/guile/changelogs/guile-changelogs_3.html.
	Mention that a bit of prose can be welcome.

2009-07-11  Jim Meyering  <meyering@redhat.com>

	tail: adjust type of a local variable
	* src/tail.c (tail_forever_inotify): Declare "len" to be of type
	size_t, not ssize_t, since the former is what safe_read returns.

2009-07-09  Jim Meyering  <meyering@redhat.com>

	tests: avoid false-positive cp/link-heap failure
	* tests/cp/link-heap: Increase address space limit from 14000KB
	to 16000KB, to avoid failure with Debian unstable's libc6-dev-2.9-19

	build: avoid build warn/failure due to -Wstack-protector
	* configure.ac: Do not enable -Wstack-protector.
	Otherwise, at least df.c would provoke a warning.

2009-07-08  Ondřej Vašík  <ovasik@redhat.com>

	copy.c: remove a duplicate expression
	* src/copy.c (copy_attr_error): remove a redundant expression
	added in commit e0cf592f, 2009-04-27, "factor out test for errno ...".

2009-07-08  Jim Meyering  <meyering@redhat.com>

	build: update from gnulib
	* gnulib: Update submodule to latest.

	tail: use size_t for counter and index variables, ...
	* src/tail.c (any_live_files): ... not "int" or even unsigned int
	(tail_forever, tail_forever_inotify, main): Likewise.

	tail: declare "file descriptor" variable to be "int", not size_t
	* src/tail.c (tail_forever_inotify): Use "int", not size_t
	as the type of a file descriptor variable.

2009-07-04  Jim Meyering  <meyering@redhat.com>

	move argv-iter module to gnulib
	* gl/lib/argv-iter.c: Remove file.
	* gl/lib/argv-iter.h: Remove file.
	* gl/modules/argv-iter: Remove file.
	* gl/modules/argv-iter-tests: Remove file.
	* gl/tests/test-argv-iter.c: Remove file.
	* gnulib: Update submodule, to get argv-iter

2009-07-04  Giuseppe Scrivano  <gscrivano@gnu.org>

	tests: refactor code to use require_proc_pid_status_
	* tests/tail-2/tail-n0f: Read the process status using the test-lib.sh
	require_proc_pid_status_ function.

	tests: use the "nobody" user's group as the default group id
	* tests/chroot/credentials: Use the group id, not its name.
	* tests/test-lib.sh (NON_ROOT_GROUP): Use the "nobody" user's group in
	place of "nogroup".

2009-07-03  Jim Meyering  <meyering@redhat.com>

	build: update from gnulib
	* gnulib: Update submodule to latest.

2009-07-03  Pádraig Brady  <P@draigBrady.com>

	sort: allow SI and IEC units on separate human sort fields
	* src/sort.c: Store the si_present state per key rather than globally
	* tests/misc/sort: Add a check that would have previously failed.
	Also add a test to demonstrate that invalid IEC/SI mixtures are not
	always noticed when they're not significant to the sort.

2009-07-03  Giuseppe Scrivano  <gscrivano@gnu.org>

	tail: avoid an inotify portability problem in kernels prior to 2.6.21
	* src/tail.c (tail_forever_inotify): Handle the special case in which
	an old inotify watcher returns 0.  Affects kernels in [2.6.13, 2.6.21).

2009-07-03  Jim Meyering  <meyering@redhat.com>

	tests: tail-2/wait: rename internal file name
	* tests/tail-2/wait: Rename file from not_accessible to unreadable,
	since all the test cares about is readability.

2009-07-03  Giuseppe Scrivano  <gscrivano@gnu.org>

	tests: tail-2/wait: don't fail when run as root
	* tests/tail-2/wait: Ensure that the unreadable file really is not
	readable before trying to run "tail -f" on it.

2009-07-03  Pádraig Brady  <P@draigBrady.com>

	doc: update the info on sort -b and -k
	* doc/coreutils.texi (sort invocation): Mention in the description
	of -b, that the locale can also affect whether blanks are significant.
	Update the list of ordering options for a --key that cause it
	to not inherit any global ordering options.
	Update the list of ordering options that implicitly skip whitespace.

	maint: generalize the development prerequisites docs
	* README-hacking: Add a little more high level info and
	merge notes on specific developer prerequisites into README-prereq
	* README-prereq: Remove the Fedora 8 specific information
	and generalize the information to be applicable to any system.

2009-06-29  Jim Meyering  <meyering@redhat.com>

	tail: add comments noting potential inotify-related problems
	* src/tail.c (tail_forever_inotify): Add two FIXME comments.

2009-06-28  Jim Meyering  <meyering@redhat.com>

	maint: bootstrap: merge changes from gnulib
	* bootstrap: Indent using spaces, not TABs.

	maint: bootstrap: sync submodule usage from gnulib
	* bootstrap: Config for git submodule use only if .gitmodules exists.

	maint: bootstrap: split a few long lines
	* bootstrap (found_aux_dir): Avoid lines longer than 80 columns.

2009-06-27  Jim Meyering  <meyering@redhat.com>

	maint: don't change COPYING
	* COPYING: Don't modify Copyright date list in imported file.
	This file is one of very few exceptions in that we version-control it,
	even though its primary source is another package.
	Spotted by Eric Blake.

	maint: add a rule to automate the annual copyright-year-update process
	* build-aux/update-copyright: New file.
	* Makefile.am (changelog_etc): Add update-copyright.
	(update-copyright): New rule.

2009-06-27  Pádraig Brady  <P@draigBrady.com>

	stdbuf: fix to stop -i option causing an assertion
	* src/stdbuf.c (main): Fix the array bounds check in the assert
	* tests/misc/stdbuf: Add a test for all standard streams

2009-06-25  Pádraig Brady  <P@draigBrady.com>

	doc: clarify the tail inotify NEWS
	* NEWS: Say why inotify was used

2009-06-23  Jim Meyering  <meyering@redhat.com>

	maint: update all Copyright year lists to include 2009

	maint: remove old TODO files
	* lib/TODO: Remove file.
	* tests/join/TODO: Likewise.

	doc: README-hacking tweak
	* README-hacking: Move the "While building..." sentence down
	to where it belongs.

	tests: tail-2/pid: include more info upon failure
	* tests/tail-2/pid: Print unexpected $state upon failing.

2009-06-20  Jim Meyering  <meyering@redhat.com>

	doc: typo fix in README-hacking
	* README-hacking: Fix a typo.
	Don't make building from a git-cloned tree sound so hard.

	build: update from gnulib (hash module updates; maint.mk tweak)
	* gnulib: Update submodule to latest.

2009-06-17  Jim Meyering  <meyering@redhat.com>

	doc: fix a typo
	* doc/coreutils.texi (stdbuf invocation): Insert missing "to".

2009-06-17  Pádraig Brady  <P@draigBrady.com>

	stdbuf: A new program to run a command with modified stdio buffering
	* AUTHORS: Register as the author.
	* NEWS: Mention this change.
	* README: Add stdbuf command to list.
	* configure.ac: Only enable on ELF systems with GCC.
	* cfg.mk (sc_system_h_headers): Use VC_LIST_EXCEPT rather than
	VC_LIST, so we can add an exception, if needed.
	* .x-sc_system_h_headers: New file.  Exempt libstdbuf.c.
	* Makefile.am (syntax_check_exceptions): Add .x-sc_system_h_headers.
	* doc/coreutils.texi (stdbuf invocation): Add stdbuf info.
	* man/.gitignore: Ignore generated manpage.
	* src/.gitignore: Ignore stdbuf and libstdbuf.so binaries.
	* man/Makefile.am (stdbuf.1): Add dependency.
	* man/stdbuf.x: New file with example usage.
	* po/POTFILES.in: Reference new command and shared library sources.
	* src/Makefile.am (build_if_possible__progs): Add stdbuf and libstdbuf,
	(pkglib_PROGRAMS): Reference optional shared lib,
	(libstdbuf_so_LDADD): Ensure we don't link with non PIC libcoreutils.a.
	(libstdbuf_so_LDFLAGS): Add -shared GCC option,
	(libstdbuf_so_CFLAGS): Add -fPIC GCC option.
	(check-README): Exclude libstbuf.
	(check-AUTHORS): ditto.
	(sc_tight_scope): Exclude functions starting with __.
	* src/libstdbuf.c: The LD_PRELOAD shared library to control buffering.
	* src/stdbuf.c: New file to setup env variables before execing command.
	* tests/Makefile.am: Reference new test file.
	* tests/misc/help-version: Set expected exit codes.
	* tests/misc/invalid-opt: ditto.
	* tests/misc/stdbuf: Add 9 tests.

2009-06-16  Jim Meyering  <meyering@redhat.com>

	doc: cp: describe an oddity of combining -H/-L and --preserve=links
	* doc/coreutils.texi (cp invocation) [-L]: Elaborate.
	[--preserve=links]: Remove comments saying that we need documentation
	for just this situation.  Provide more explanation and examples.
	Reported by Brian M. Carlson in http://bugs.debian.org/525048.

2009-06-15  Jim Meyering  <meyering@redhat.com>

	maint: revert last change: we're not ready for "local" in scripts, yet
	Revert "use a local var: more readable"
	This reverts commit c0d82452883a10911c9cbc69c84144d99b7e6b08.

	use a local var: more readable

2009-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>

	tail: use inotify if it is available
	* NEWS: Document the new feature.
	* m4/jm-macros.m4: Check if inotify is present.
	* src/tail.c (tail_forever_inotify): New function.
	(main): Use the inotify-based function, if possible.
	* tests/Makefile.am: Add new tests for tail.
	* tests/test-lib.sh (require_proc_pid_status_, get_process_status_):
	New functions.
	* tests/tail-2/pid: New file.
	* tests/tail-2/wait: New file.
	* tests/tail-2/tail-n0f: Refactor code into the test-lib.sh
	require_proc_pid_status_ function.

2009-06-13  Jim Meyering  <meyering@redhat.com>

	diag: say "failed to...", rather than "cannot..." in a few diagnostics
	* src/chroot.c (main): ...it's more precise.
	* src/nohup.c (main): Likewise.
	* src/setuidgid.c (main): Likewise.
	* src/timeout.c (main): Likewise.

2009-06-13  Cliff Miller  <cbm@whatexit.org>

	sort: Ignore fields where end position is before the start position
	* NEWS: Mention the fix
	* THANKS: Add Cliff Miller
	* src/sort.c (keycompare): Ensure lima >= texta
	* tests/misc/sort: Add 3 corresponding tests

2009-06-11  Pádraig Brady  <P@draigBrady.com>

	tests: ls --color, permissions override hardlink coloring
	* tests/ls/multihardlink: Add a test case to demonstrate
	and test this non obvious behavior.

2009-06-11  Kamil Dudka  <kdudka@redhat.com>

	ls --color: do not colorize files with multiple hard links by default
	* src/ls.c: Rename hl->mh, do not colorize files with multiple
	hard links by default.
	* src/dircolors.c: Rename HARDLINK -> MULTIHARDLINK, hl -> mh.
	* src/dircolors.hin: Do not colorize files with multiple hard links by
	default.
	* tests/Makefile.am: Rename the test case accordingly.
	* tests/ls/multihardlink: Additionally test ls' default behavior
	and factor out some duplication.
	* NEWS: Mention the change in behavior.

2009-06-08  Pádraig Brady  <P@draigBrady.com>

	maint: Add a syntax-check to ensure all .x-sc_ files are distributed
	* Makefile.am: Add a couple of missing entries to
	syntax_check_exceptions for distribution.
	* cfg.mk: Add a rule to ensure the syntax_check_exceptions list
	stays in sync with the .x-sc_* files in the repository.

2009-06-07  Jim Meyering  <meyering@redhat.com>

	build: update from gnulib
	* gnulib: Update submodule to latest.

	sort: die immediately upon heap allocation failure
	* src/sort.c (register_proc): Handle hash_insert failure.

2009-06-04  Mike Frysinger  <vapier@gentoo.org>

	dircolors: add screen-256color-bce to TERM list
	* src/dircolors.hin: Add screen-256color-bce.

2009-06-03  Jim Meyering  <meyering@redhat.com>

	doc: HACKING: minor adjustments, additions
	* HACKING (Amending...): Remove spurious "-e" used with commit --amend.
	(log message policy): Mention the 72-column limit.
	"build:" and "maint:" are common prefixes, these days.

	doc: adjust wording in README-prereq

	dircolors: recognize .xz, .txz, .tbz and .tlz suffixes
	* src/dircolors.hin: Add .xz, .txz, .tbz and .tlz.

	doc: use newer URL for XZ utils
	* README-hacking: Use <http://tukaani.org/xz/>
	* README-prereq: Mention xz, not lzma.

2009-06-03  Matěj Cepl  <mcepl@redhat.com>

	doc: adjust README-prereq instructions
	* README-prereq: Mention new requirement on automake-1.11,
	with its new location and updated dependency on autoconf-2.62.
	Remove the reference to coreutils-7.0 so that this file
	implicitly refers to the latest or release version of coreutils.
	Fix and clarify the instructions for updating the $PATH.

2009-06-02  Jim Meyering  <meyering@redhat.com>

	doc: HACKING: mention the GNU Coding Standards
	* HACKING (Add documentation): Add a link to the GCS.

	build: no longer list gnulib's "memchr" module as obsolete
	* bootstrap.conf (obsolete_gnulib_modules): Remove memchr from
	the list, now that it fixes a problem in some modern C libraries.
	(gnulib_modules): Add it here.

	build: make generated man/*.1 files read-only
	This should help people notice that they are generated.
	Note: each file already has a comment to that effect from help2man.
	* man/Makefile.am (.x.1): Make generated files read-only.
	Also, don't redirect directly to the target, $@.

	build (man/): use automake's new $(AM_V_GEN) variable
	* man/Makefile.am (.x.1, check-x-vs-1, check-programs-vs-x):
	Mark with $(AM_V_GEN), so that automake-1.11 prints
	"GEN $@" by default (stick with "GEN" in spite of the latter two
	rules not officially generating anything -- they're just tests).

	chroot: make --groups= work without --userspec=;  be more robust
	* src/chroot.c (set_additional_groups): Add comments.
	Given an empty or all-comma group list, diagnose it and return nonzero.
	When more than one group is invalid, diagnose all of them,
	not just the first.
	(main): Honor --groups= also when --userspec= is not specified.
	Now that set_additional_groups consistently diagnoses its failures,
	don't diagnose it separately here.
	* tests/chroot/credentials: Do not invoke with an empty group list.

	chroot: don't set bogus user-ID or group-ID for --u=U: or --u=:G
	* src/chroot.c (main): Initialize both "uid" and "gid".  To -1.
	This also allows one to set the user-ID or primary group-ID to 0,
	in case it's not that already.
	* tests/chroot/credentials: Test for the above.

	chroot: set-*-ID failure must provoke nonzero exit before execvp
	* src/chroot.c (main): Exit upon set-group-ID or set-user-ID failure.

	tests: use "nobody" as the default group name in chroot test
	* tests/test-lib.sh (NON_ROOT_GROUP): Use "nobody", not "nogroup".

	build: make distcheck rules use --enable-gcc-warnings
	* dist-check.mk (warn_cflags): Remove definition, now that it's
	been subsumed by --enable-gcc-warnings.
	(my-distcheck): Use configure with --enable-gcc-warnings and remove
	use of $(warn_cflags).

2009-05-30  Eric Blake  <ebb9@byu.net>

	head, tail: make --help less ambiguous
	* src/head.c (usage): Use -n K, not -n N, to avoid confusion.
	* src/tail.c (usage): Likewise.
	* doc/coreutils.texi (head invocation, tail invocation):
	Likewise.
	Reported by Christophe Lyon.

2009-05-26  Michael Speer  <knomenet@gmail.com>

	sort: new --human-numeric-sort option to sort KiB MB etc.
	* NEWS: Document the new option
	* doc/coreutils.texi (sort invocation): ditto
	* src/sort.c (main): handle the new --human-numeric-sort option (-h).
	(human_numcompare): A new function to compare SI and IEC suffixes
	before falling back to the standard --numeric comparison.
	(find_unit_order): A new helper function to find the order
	of magnitude of a number string as determined by its suffix.
	(check_mixed_SI_IEC): A new helper function to exit with error
	if both SI and IEC suffixes are presented.
	* tests/misc/sort: Add 8 tests to test the new functionality.
	* THANKS: Update

2009-05-26  Giuseppe Scrivano  <gscrivano@gnu.org>

	chroot: accept new options --userspec=U:G and --groups=G1,G2,G3
	* NEWS: Note chroot's new options.
	* doc/coreutils.texi: Document them.
	* src/chroot.c (main): Add support for --userspec and --groups.
	* tests/Makefile.am (root-tests): Add chroot/credentials.
	* tests/chroot/credentials: New file.
	* tests/test-lib.sh: Define NON_ROOT_GROUP to a default value.

2009-05-18  Pádraig Brady  <P@draigBrady.com>

	doc: clarify the operation of the comm -123 parameters
	* src/comm.c (usage): give more information on the -123 parameters,
	with examples to show that they can be combined.
	Addresses <http://savannah.gnu.org/bugs/?24974>.
	* doc/coreutils.texi (comm invocation): Mention that the
	column separators are suppressed along with the column.
	Suggestion from Dan Jacobson.
	* man/comm.x: Reference other commands that match adjacent lines.
	* man/join.x: ditto.
	* man/uniq.x: ditto.

2009-05-18  Jim Meyering  <meyering@redhat.com>

	build: require automake-1.11
	* bootstrap.conf (buildreq): Require automake-1.11, not 1.10b,
	for our use of AM_SILENT_RULES.
	* configure.ac (AM_INIT_AUTOMAKE): Likewise.

2009-05-17  Jim Meyering  <meyering@redhat.com>

	maint: HACKING: mention a few more useful git commands
	* HACKING (Miscellaneous useful git commands): Add a few.

	build: avoid new "make distcheck" failure with gcc 4.5.0 20090517
	* dist-check.mk (warn_cflags): Add -Wno-enum-compare.

	build: avoid new warnings from gcc 4.5.0 20090517
	* configure.ac: Add an explicit -Wno-logical-op,
	now that not listing -Wlogical-op is insufficient.

	maint: use ARRAY_CARDINALITY more
	* src/sort.c (main): Use ARRAY_CARDINALITY, rather than open-coding it.
	* src/factor.c (WHEEL_END): Likewise.
	* src/csplit.c (main): Likewise.
	* src/od.c: Likewise,
	* src/ls.c (main): Likewise.
	(N_ENTRIES): Remove definition.  Use ARRAY_CARDINALITY instead.
	* src/dircolors.c: Likewise.
	(array_len): Remove definition.

	build: tr: avoid a warning due to newer gcc's -Wenum-compare
	* src/tr.c (N_CHAR_CLASSES): Remove anonymous enum definition.
	(look_up_char_class): Use ARRAY_CARDINALITY, rather than N_CHAR_CLASSES.

	maint: define ARRAY_CARDINALITY in system.h
	* src/system.h (ARRAY_CARDINALITY): Define if not already defined.

	build: turn off -Wlong-long
	* configure.ac: With --enable-gcc-warnings, -Wlong-long would
	cause compilation failure due to inclusion of lib/gethrxtime.h.
	Initialize "nw".

2009-05-16  Jim Meyering  <meyering@redhat.com>

	maint: cfg.mk: remove now-unnecessary gnulib_dir definition
	* cfg.mk (gnulib_dir): Remove definition, now that gnulib's
	maint.mk provides the default we want.
	* gnulib: Update submodule to latest.

2009-05-15  Pádraig Brady  <P@draigBrady.com>

	tests: fix date-next-dow failure on older systems
	* tests/misc/date-next-dow: In the strftime call use %Y-%m-%d
	rather than the newer %F equivalent which is not available
	on Solaris 8 for example.

2009-05-14  Jim Meyering  <meyering@redhat.com>

	build: update from gnulib, for rename.m4 fix, improved tests, etc.
	* gnulib: Update submodule to latest.

	maint: README-release: minor improvements
	* README-release: Mention gnu_ftp_host-{alpha,...} settings in cfg.mk.
	Now that XZ_OPT is set via maint.mk, don't mention it here.

2009-05-11  Eric Blake  <ebb9@byu.net>

	truncate: fix bug in use of isspace
	* src/truncate.c (main): Pass unsigned characters to isspace.
	* NEWS: Mention this.

2009-05-07  Jim Meyering  <meyering@redhat.com>

	post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	version 7.4
	* NEWS (Build-related): Mention make check fixes.

	admin: update NEWS
	* NEWS (Bug fixes): Mention the date-related fixes.
	(Portability): Mention the ACL-related fixes on *BSD.

2009-05-05  Pádraig Brady  <P@draigBrady.com>

	doc: note the use of LC_COLLATE in comm, join and uniq
	* doc/coreutils.texi (uniq invocation): Simplify the
	text to remove the inconsequential mentioning of order,
	while implying that LC_COLLATE can alter equality comparisons.
	* src/comm.c (usage): Mention LC_COLLATE is significant.
	* src/join.c (usage): Ditto.
	* src/uniq.c (usage): Ditto. Also improve the summary.
	Suggestion from Andries Brouwer

2009-05-05  Jim Meyering  <meyering@redhat.com>

	tests: rm/one-file-system: umount more reliably
	* tests/rm/one-file-system: Run umount via trap, so it runs
	also upon irregular termination.

2009-05-05  Andreas Schwab  <schwab@linux-m68k.org>

	tests: fix typo in check-AUTHORS rule
	* src/Makefile.am (check-AUTHORS): Set locale.

2009-05-04  Jim Meyering  <meyering@redhat.com>

	build: use a gnulib SHA1 that is not private
	* gnulib: Update submodule to latest *public*.

	build: update from gnulib, for ACL-related fixes
	* gnulib: Update submodule to latest.

2009-05-03  David Bartley  <dtbartle@csclub.uwaterloo.ca>

	mv, rm: adapt to new and improved gnulib interfaces
	Use gnulib's new priv-set module and updated write-any-file.
	With them, the remove-called can_write_any_file function no
	longer tries to drop the unlink-directory privilege, so now
	each caller of remove must do that separately, calling
	priv_set_remove_linkdir.
	* bootstrap.conf (gnulib_modules): Add priv-set.
	* src/rm.c: Include "priv-set.h".
	(main): Call priv_set_remove_linkdir.
	* src/mv.c (main): Likewise.
	* gnulib: Update submodule to latest.

2009-05-03  Jim Meyering  <meyering@redhat.com>

	tests: correct the "make check"-run check-AUTHORS test
	* src/Makefile.am (check-AUTHORS): Revert back to using
	en_US.UTF-8, to ease parsing (English-only) text around the
	list of names, even when .po files are not installed.
	Reported by Andreas Schwab.
	Along the way, use $(AM_V_GEN), not "@".
	(sc_tight_scope): Use $(AM_V_GEN) here, too.
	* gnulib: Update submodule to latest, for the proper_name_utf8 fix
	that makes --version output print the UTF-8 rendering of author names
	in more cases.

	tests: add tests of e.g., date -d 'next monday'
	* tests/misc/date-next-dow: New file.
	* tests/Makefile.am (TESTS): Add misc/date-next-dow.
	* gnulib: Update submodule to latest, for getdate.y that
	handles "next Monday" properly when run on a Monday.

2009-05-01  Jim Meyering  <meyering@redhat.com>

	post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	version 7.3
	* NEWS: Record release date.

	maint: tweak release-building notes
	* README-release: Specify -j1 on the command to run all tests.
	Otherwise, running some in parallel would cause failures, e.g.,
	for rm/ext3-perf and tail-2/assert-2.

2009-05-01  Eric Blake  <ebb9@byu.net>

	stdopen: remove unused code
	* m4/stdopen.m4: Delete now-unused file.
	* lib/stdopen.h: Likewise.
	* lib/stdopen.c: Likewise.

2009-04-30  Jim Meyering  <meyering@redhat.com>

	build: update from gnulib, for fixed lib/signbitl.c
	* gnulib: Update submodule to latest.

	build: "make check" now fails in a friendlier manner for missing Perl
	* doc/Makefile.am (sc-lower-case-var): Don't redirect stderr of
	$(PERL) (which is sometimes build-aux/missing) to /dev/null,
	so that a failing "make check" explains that Perl is not installed.
	Reported by James Youngman.

	build: doc: emit something for each "make check"-run rule
	* doc/Makefile.am: Use $(AM_V_GEN) in place of each leading "@".
	(check-texinfo): Align line-continuation backslashes.

2009-04-29  Jim Meyering  <meyering@redhat.com>

	build: update from gnulib, for the lib/*-state.c compilation fixes
	* gnulib: Update submodule to latest.

2009-04-28  Pádraig Brady  <P@draigBrady.com>

	misc: correct NEWS entry about id -G portability
	* NEWS (Portability): getgrouplist has the portability issues,
	not getgroups.

2009-04-28  Jim Meyering  <meyering@redhat.com>

	df: adjust comment to match recent code change
	* src/df.c (main): Update comment to match.

	misc: mention the df vs. automount change
	* NEWS (Portability): Mention that df now accommodates the new
	behavior of some automounters.

	misc: alphabetize NEWS entries

2009-04-28  Tomas Smetana  <t.smetana@gmail.com>

	df: use open(2), not stat, to trigger automounting
	* src/df.c (main): When iterating over command-line arguments,
	attempting to ensure each backing file system is mounted, use
	open, not stat.  stat is no longer sufficient to trigger
	automounting, in some cases.  Based on a suggestion from Ian Kent.
	More details in http://bugzilla.redhat.com/497830

2009-04-28  Ondřej Vašík  <ovasik@redhat.com>

	tests: ensure that cp's -a doesn't silence --preserve=context
	* tests/cp/cp-a-selinux: Ensure that the -a option does not silence
	error diagnostics from --preserve=context, when preserving context
	is required.

	tests: add test for xattr diagnostics on dest. FS lacking xattr support
	* tests/cp/cp-mv-enotsup-xattr: Ensure that xattr diagnostics are
	displayed correctly when destination filesystem lacks xattr support.
	* tests/Makefile.am (root_tests): Add new root-only test.

2009-04-27  Jim Meyering  <meyering@redhat.com>

	copy.c: factor out test for errno value indicating "unsupported"
	* src/copy.c (errno_unsupported): New function.
	(copy_attr_error, copy_internal): Use it.

2009-04-27  Ondřej Vašík  <ovasik@redhat.com>

	cp -a: diagnose failure when preserving xattr/context required
	* src/copy.c (copy_attr_by_fs): Always print diagnostics when preserving
	xattrs is required.
	(copy_attr_by_name): Likewise.
	(copy_reg): Always print diagnostics when preserving SELinux
	context is required.
	(copy_internal): Likewise.  Also, do not ignore ENOTSUP and ENODATA
	errors when preserving SELinux context is required.
	* NEWS (Bug fixes): Mention it.

	mv: ignore xattr-preservation failure when not supported by filesystem
	*src/copy.c: Do not warn about xattr-preservation failure when xattrs
	are not supported and preservation of xattrs is not explicitly required.
	Reported by Eric Sandeen in http://bugzilla.redhat.com/496142

2009-04-25  Jim Meyering  <meyering@redhat.com>

	build: update from gnulib, for the vc-list-files fix
	* gnulib: Update submodule to latest.

	build: adjust use of automake's new $(AM_V_GEN) variable
	* src/Makefile.am (dircolors.h, wheel-size.h, wheel.h, fs.h):
	(version.c, version.h): Use $(AM_V_GEN) only as a prefix of an existing
	command.  Otherwise, it provokes warnings from some "make" programs.
	Suggestion from Ralf Wildenhues.

2009-04-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	tests: fix check-AUTHORS skip logic
	* src/Makefile.am (check-AUTHORS): When this test is skipped, be
	sure to avoid all commands in the recipe, not just those passed
	to the first shell.

2009-04-25  Eric Blake  <ebb9@byu.net>

	cfg.mk: update to latest gnulib change
	* cfg.mk (bootstrap-tools): Override maint.mk default to include
	bison.
	* gnulib: Update to latest gnulib.

2009-04-24  Jim Meyering  <meyering@redhat.com>

	build: move coreutils-specific rules from maint.mk to new file
	* dist-check.mk: New file: coreutils-specific rules extracted
	from maint.mk, now that maint.mk has migrated to gnulib.
	* Makefile.am (EXTRA_DIST): Add dist-check.mk.
	* coreutils/cfg.mk: Include $(srcdir)/dist-check.mk.
	* gnulib: Update submodule to latest.

	tests: avoid unusual (~1-in-20) failure of a new test
	* tests/misc/sort: Remove one of the generated tests.
	363 remain in this file alone.

	build: use automake's new $(AM_V_GEN) and $(AM_V_at) variables
	* src/Makefile.am (dircolors.h, wheel-size.h, wheel.h, fs.h):
	(version.c, version.h): Mark with $(AM_V_GEN) and $(AM_V_at),
	so that the latest automake prints "GEN $@" by default.

2009-04-24  Simon Josefsson  <simon@josefsson.org>

	build: use maint.mk from gnulib
	* maint.mk: Remove file.  Now it's generated.
	* .gitignore: Ignore it.
	* bootstrap.conf (gnulib_modules): Add maintainer-makefile.
	* gnulib: Update submodule to latest.

2009-04-23  Jim Meyering  <meyering@redhat.com>

	build: make --enable-silent-rules the default
	* configure.ac (AM_INIT_AUTOMAKE): Remove silent-rules.  Instead,...
	(AM_SILENT_RULES): Use this, with it's undocumented [yes] argument.
	Those who want verbose build output may configure with
	--disable-silent-rules or use "make V=1".

	* gnulib: Update submodule to latest.

	sort -m: don't segfault when output file is also an input file
	* src/sort.c (avoid_trashing_input): Fix an off-by-one error and
	guard the use of memmove.
	* NEWS (Bug fixes): Mention it.
	* tests/misc/sort: Add tests to exercise the offending code.
	* THANKS: Update.
	Reported by Otavio Salvador in http://bugs.debian.org/525048.

	tests: make the check-AUTHORS test more portable, now that it's...
	run as part of "make check".
	* src/Makefile.am (check-AUTHORS): Don't depend on en_US.UTF-8.
	Instead, use the French UTF8 locale, if configure found one.
	If not found, just skip the test.

	avoid parallel "make distcheck" failure due to two run-in-src/ rules
	Move the check-AUTHORS rule from "syntax-check" to "check".
	* maint.mk (local-checks-available): Remove check-AUTHORS.
	(check-AUTHORS): Remove rule.
	* src/Makefile.am (CLEANFILES): Add $(no_install__progs),
	since they too are built sometimes.
	(check-AUTHORS): Split a longer-than-80 sed command.
	(../AUTHORS): Remove obsolete rule.

2009-04-22  Jim Meyering  <meyering@redhat.com>

	cp: work around linux kernel bug: short-read != EOF on /proc
	Remove the optimization that avoided up to 50% of cp's read syscalls.
	Do not assume that a short read on a regular file indicates EOF.
	When reading from a file in /proc on linux [at least 2.6.9 - 2.6.29]
	into a 4k-byte buffer or larger, a short read does not
	always indicate EOF.  For example, "cp /proc/slabinfo /tmp"
	copies only 4068 of the total 7493 bytes.  This optimization
	(25719a33154f0c62ea9881f0c79ae312dd4cec7a, Improve performance a bit
	by optimizing away; 2005-11-24) appears to have been worth less than
	a 2% speed-up (and usually much less), so the impact of removing it
	is negligible.

	* src/copy.c (copy_reg): Don't exit the loop early.
	* tests/cp/proc-short-read: New test, lightly based on a suggestion
	from Mike Frysinger, to exercise this fix.
	* tests/Makefile.am (TESTS): Add cp/proc-short-read.
	* NEWS (Improve robustness): Mention this change.

	tests: avoid new "make distcheck" failure due to newer File::Temp
	With newer perl (e.g., Fedora 10's 4:5.10.0-68.fc10), tests/CuTmpdir.pm
	stopped removing its temporary directories, with diagnostics like this:
	  cannot remove path when cwd is /c/coreutils/tests/misc/seq.tmp-e2up \
	  for /c/coreutils/tests/misc/seq.tmp-e2up: at \
	  /usr/lib/perl5/5.10.0/File/Temp.pm line 902
	Chdir out of the target directory before that code runs:
	* tests/CuTmpdir.pm (END): chdir '..'.
	(chmod_tree): Remove explicit "chdir $dir".

2009-04-19  Jim Meyering  <meyering@redhat.com>

	doc: update README
	* README: (Reporting bugs): List the bug-reporting address here, too,
	not just in the following more test-oriented paragraph.
	Reported by Tim Mooney.
	All changes are no longer listed in version-controlled ChangeLog
	files, so note that contributions are attributed in the commit logs.
	Mention bootstrap.conf, now that it's the authoritative source of
	minimal prerequisite program/version# pairs.

2009-04-19  Aurelien Jarno  <aurelien@aurel32.net>

	tests: avoid failure of install-C test on FreeBSD UFS file system
	* tests/install/install-C: Use 2755 (set-gid), not 1755 (sticky),
	to test install -C with non-permission mode bits set.  At least on
	FreeBSD with a UFS file system, a non-root user may not set the
	sticky bit on a non-directory.

2009-04-19  Jim Meyering  <meyering@redhat.com>

	comment touch up: insert a space between "#" and text of comment
	* bootstrap: It's easier to read that way.

2009-04-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	fix comment typos
	* bootstrap: Fix comment typos.
	* src/pr.c: Likewise.

2009-04-17  Jim Meyering  <meyering@redhat.com>

	maint: bootstrap: sync a tiny change from gnulib
	* bootstrap: rename variable to sync with gnulib: s/\$depth/$shallow/

2009-04-16  Jim Meyering  <meyering@redhat.com>

	* gnulib: Update submodule to latest.

	build: use '.'-relative name, gnulib_dir
	* cfg.mk (gnulib_dir): Use "gnulib", not "/gnulib", now that
	the former is a git submodule, and guaranteed to exist.

2009-04-15  Jim Meyering  <meyering@redhat.com>

	maint: clean up skipped syntax-check rules
	* cfg.mk (local-checks-to-skip): Remove patch-check and changelog-check.
	* maint.mk (patch-check): Remove rule.
	(local-checks-available): Remove patch-check.
	(changelog-check): Remove rule.

2009-04-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	build: avoid parallel distcheck failure
	* Makefile.am (ALL_RECURSIVE_TARGETS): Initialize here, too,
	to please automake.  Add install-root, check-root, distcheck-hook.
	* cfg.mk (ALL_RECURSIVE_TARGETS): Add sc_tight_scope.
	* maint.mk (ALL_RECURSIVE_TARGETS): Add patch-check,
	check-AUTHORS, maintainer-distcheck, vc-dist, taint-distcheck,
	my-distcheck, alpha, beta, major.

2009-04-10  Jim Meyering  <meyering@redhat.com>

	doc: fix a typo: s/is a is a/is a/
	* doc/coreutils.texi (Putting the tools together): Fix typo.

	build: tight-scope test: don't build excluded programs
	* src/Makefile.am (sc_tight_scope): Depend on $(bin_PROGRAMS),
	not $(all_programs)

	gnulib: update to latest: fix ls -v & sort -V
	* NEWS (Bug fixes): Mention it.

	maint: remove obsolete utime module
	* bootstrap.conf (obsolete_gnulib_modules): Remove utime.

	maint: put each module name on its own line; sort
	* bootstrap.conf (gnulib_modules): List them one per line.

2009-04-09  Jim Meyering  <meyering@redhat.com>

	tests: misc/ls-misc: avoid shadowing local decl of $e
	* tests/misc/ls-misc (make_j_d): Rename latter $e to $env

2009-04-09  Pádraig Brady  <P@draigBrady.com>

	id: fix infinite loop on some systems
	Steven Parkes reported that `id -G $USER` went into an infinite loop
	on Darwin systems for users in more than 10 groups:
	http://bugs.gentoo.org/show_bug.cgi?id=264007
	* gl/lib/mgetgroups.c (mgetgroups): Work around buggy getgrouplist
	implementations that don't update the required size correctly,
	by doubling the result buffer and retrying. Also return the
	parameter updated by getgrouplist rather than its return value,
	as the documentation doesn't actually state the number of groups
	stored is returned by getgrouplist.
	* tests/misc/id-groups: Add test to exercise this logic
	* tests/Makefile.am: Reference new test
	* NEWS: Mention the fix
	* THANKS: Update

2009-04-07  Jim Meyering  <meyering@redhat.com>

	maint: avoid "make syntax-check" failure
	* src/install.c (main): Tweak syntax of new diagnostic.

2009-04-07  Pádraig Brady  <P@draigBrady.com>

	install: deprecate the --preserve_context option
	src/install.c: Print a warning when --preserve_context
	rather than --preserve-context is used as per FIXME.

	maint: remove compiler warnings from randint and randread modules
	* gl/lib/randint.c: Remove unused MAX macro
	* gl/lib/randread.c (randread_error): Add __attribute__((__noreturn__))

	shred,sort,shuf: don't use /dev/urandom by default
	Suggestion from Steven Schveighoffer at:
	http://savannah.gnu.org/patch/?6797
	to greatly speed up the random passes done by shred.
	* gl/lib/randread.c: Default to using the internal
	pseudorandom generator, rather than reading /dev/urandom
	* src/shred.c (usage): remove mention of /dev/urandom
	* src/shuf.c (usage); ditto
	* src/sort.c (usage): ditto
	* doc/coreutils.text: Document the new behaviour
	for aquiring random data.

	maint: Clarify ambiguous refs to Linux kernels or GNU/Linux systems
	* README-prereq: s_linux_GNU/Linux_ or s_linux_Linux kernel_
	* README-valgrind: ditto
	* src/chown-core.c: ditto
	* src/dd.c: ditto
	* src/df.c: ditto
	* src/ls.c: ditto
	* src/mv.c: ditto
	* src/pwd.c: ditto
	* src/remove.c: ditto
	* src/shred.c: ditto
	* src/stat.c: ditto
	* src/su.c: ditto
	* src/system.h: ditto
	* src/timeout.c: ditto
	* src/truncate.c: ditto

	doc: add missing documentation for some SELinux options
	* doc/coreutils.texi (ls invocation): Describe the --context (-Z) option
	(install invocation): Describe the --preserve-context and -Z options
	(id invocation): Describe the --context (-Z) option
	(mkdir invocation): ditto
	(mknod invocation): ditto
	(mkfifo invocation): ditto
	* TODO: remove the todo item

2009-04-06  Jim Meyering  <meyering@redhat.com>

	* doc/code-vs-command: Remove long-unused, never-distributed file.

2009-04-04  Jim Meyering  <meyering@redhat.com>

	gnulib: update to latest: includes Solaris 8 portability fixes

	maint: clean up Makefile.am, rename remaining ChangeLog files
	* Makefile.am (changelog_etc, syntax_check_exceptions): Define.
	(EXTRA_DIST): Use.  Remove names that are now automatically
	included: build-aux/git-version-gen, build-aux/vc-list-files.
	* build-aux/ChangeLog-2007: Rename from */ChangeLog.
	* doc/ChangeLog-2007: Likewise.
	* lib/ChangeLog-2007: Likewise.
	* m4/ChangeLog-2007: Likewise.
	* po/ChangeLog-2007: Likewise.

	tests: tweak po_check syntax check
	* maint.mk (sc_po_check): Don't let dangling lib/*.[ch] links cause
	spurious "grep: lib/file.h: No such file or directory" warnings.

	tests: improve ChangeLog syntax check
	* maint.mk (sc_changelog): Use $(VC_LIST_EXCEPT), not find.
	Don't hang when there are no ChangeLog files.
	(sc_require_config_h): For the file-name-filter, use grep -l
	to be slightly more efficient.
	(sc_require_config_h_first, _header_without_use, sc_program_name):
	Likewise.

2009-04-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	tests: make syntax-checks more robust
	* maint.mk (_prohibit_regexp): Add ';' at end of ':'-introduced
	comment so that the comment doesn't gobble up the following test
	for a missing regexp definition.
	(_header_without_use): Escape all '.'s in a header file name,
	not just the first one.

2009-04-03  Jim Meyering  <meyering@redhat.com>

	* cfg.mk (old_NEWS_hash): Regenerate once more.

	doc: adjust 7.2 "cat,cp,install,mv,split speed-up" NEWS item
	* NEWS: Reword an entry from 7.2 and change "linux" to "GNU/Linux".
	The latter was requested by Richard Stallman.
	* cfg.mk (old_NEWS_hash): Regenerate.

2009-04-03  Pádraig Brady  <P@draigBrady.com>

	ls: fix alignment when month names have varying widths
	Reported by Samuel Thibault and Stéphane Raimbault, as the glibc fr_FR
	locale has recently changed to use the official but variable width
	abbreviated month names. Other glibc locales also have variable widths.
	http://sourceware.org/ml/libc-locales/2008-q1/msg00035.html
	http://sourceware.org/bugzilla/show_bug.cgi?id=9859
	* NEWS: Mention the fix
	* gl/lib/mbsalign.c: A new module to align and truncate a
	string in a specified number of screen cells, while handling
	multi-byte characters appropriately.
	* gl/lib/mbsalign.h: Ditto
	* gl/modules/mbsalign: Ditto
	* bootstrap.conf: Reference the new module
	* src/ls.c (abmon_init): New function, precompute the abbreviated
	months aligned left in a minimum width column <= 5 screen cells.
	(align_nstrftime): New function, replace the first %b in the
	format specification to strftime with the precomputed month string.
	Note using the cached month strings speeds up `ls -lU` by around 17%
	on glibc-2.7-2 on linux at least.  Also if we implement this function
	using heap storage rather than automatic storage, and use snprintf
	instead of strcpy, ls will slow down by 2% and 1% respectively
	(i.e. a net gain of 14% rather than 17%).
	* tests/ls/abmon-align: A new test to test ls alignment for
	various formats and locales
	* tests/Makefile.am: Reference the new test

2009-04-02  Pádraig Brady  <P@draigBrady.com>

	doc: Clarify the help for version sorting in ls and sort
	* src/ls.c: Update the -v help description
	* src/sort.c: Update the -V help description

2009-04-02  Jim Meyering  <meyering@redhat.com>

	doc: adjust README-prereq instructions
	* README-prereq: Reverse order of -b/--track options.
	 Pádraig Brady mentioned that is required with at least git-1.5.3.6.
	Invoke automake's own bootstrap script.

2009-04-02  C de-Avillez  <hggdh2@gmail.com>

	build: require automake-1.10b or newer
	* bootstrap.conf: Require at least automake-1.10b.
	* README-prereq: Mention 1.10b, not 1.10a.

2009-04-02  Jim Meyering  <meyering@redhat.com>

	tests: skip mv/i-3 if /dev/stdin is unreadable
	* tests/mv/i-3: Skip if /dev/stdin is unreadable.
	Reported by Sergei Steshenko.

2009-03-31  Jim Meyering  <meyering@redhat.com>

	build: set automake's silent-rules option via configure.ac
	* bootstrap: Revert commit 9f39fa855, 2009-03-28,
	"build: use automake's --silent-rules option when possible".
	* configure.ac (AM_INIT_AUTOMAKE): Instead, set it here.
	Require the just-released version of automake: 1.10b.

	tests: enable automake's color-tests and parallel-tests via configure.ac
	* gnulib-tests/Makefile.am (AUTOMAKE_OPTIONS): Don't define here.
	* tests/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
	* configure.ac (AM_INIT_AUTOMAKE): Instead, add color-tests and
	parallel-tests here.

2009-03-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	build: use Automake's new parallel-tests feature
	* build-aux/check.mk: Remove, not needed any more.
	* tests/Makefile.am (AUTOMAKE_OPTIONS): Add parallel-tests and
	color-tests.
	* tests/check.mk: Do not include build-aux/check.mk any more.
	(SUFFIXES, TEST_LOGS): Remove.
	(TESTS_ENVIRONMENT): Use $$f rather than $$tst in $PERL invocation.
	* gnulib-tests/Makefile.am: Do not include build-aux/check.mk.
	(AUTOMAKE_OPTIONS): New macro, add parallel-test and color-tests.
	(TEST_LOGS): Remove.

2009-03-31  Jim Meyering  <meyering@redhat.com>

	* README-release (savannah news): Also mention the Subject: to use.

	post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	version 7.2
	* NEWS: Record release date.

2009-03-29  Jim Meyering  <meyering@redhat.com>

	tests: don't use lang-default from individual tests
	* tests/sample-test: Don't recommend using lang-default here.
	It is now run for each test automatically, via TESTS_ENVIRONMENT.
	* tests/dd/reblock: Don't source lang-default here.
	* tests/misc/truncate-fail-diag: Likewise.

	tests: other-fs-tmpdir: remove just-added duplicate /usr/tmp
	* tests/other-fs-tmpdir (CANDIDATE_TMP_DIRS): Remove 2nd /usr/tmp.

	tests: other-fs-tmpdir: avoid bogus "skipped **********..." diagnostic
	* tests/other-fs-tmpdir (CANDIDATE_TMP_DIRS): Add /dev/shm to the list.
	Don't use a line of asterisks as the first line of the "why skipped"
	diagnostic, now that that line is printed on 'make check's stderr.

2009-03-28  Jim Meyering  <meyering@redhat.com>

	build: use automake's --silent-rules option when possible
	* bootstrap: Use automake's --silent-rules option.

2009-03-27  Jim Meyering  <meyering@redhat.com>

	tests: test-argv-iter.c: avoid declaration-after-stmt
	* gl/tests/test-argv-iter.c: Move declaration "up", so as not
	to ruffle feathers of crufty compilers.  We accommodate such
	compilers here solely because this module may migrate to gnulib.
	Tiny patch by Matthew Woehlke.

2009-03-27  Eric Blake  <ebb9@byu.net>

	tests: fix 'make sc_tight_scope' on cygwin
	* src/Makefile.am (sc_tight_scope): Ignore leading underscores in symbols.

2009-03-27  Jim Meyering  <meyering@redhat.com>

	tests: avoid spurious test failure in set-GID build dir
	* tests/install/install-C-root: Skip this test if in set-gid directory.
	Reported by Sven Joachim and C de-Avillez.

	tests: migrate setgid-check into test-lib.sh
	* tests/test-lib.sh (skip_if_setgid_): New function.
	* tests/setgid-check: Remove file.
	* tests/Makefile.am (EXTRA_DIST): Remove setgid-check.
	* tests/chmod/c-option: Use the new function rather than sourcing
	the separate file.
	* tests/cp/cp-parents: Likewise.
	* tests/install/install-C: Likewise.
	* tests/mkdir/parents: Likewise.
	* tests/mkdir/perm: Likewise.

2009-03-26  Jim Meyering  <meyering@redhat.com>

	tests: mark the rm/ext3-perf test as "very" expensive
	* tests/rm/ext3-perf: Relegate this test to the very_expensive
	category, since it is failing too often for me, when run in
	parallel (-j4) with other disk-hammering tests.  This test fails
	when it takes too long, so the fact that it fails under pressure
	is an inconvenience more than a real problem.

	* gnulib: Update submodule to latest.

2009-03-26  Paul Eggert  <eggert@cs.ucla.edu>

	df: port the known-value fix to AIX as well
	* src/df.c (known_value): New function, which also works on AIX
	/proc file systems.
	(df_readable, show_dev): Use it instead of hardcoding comparison to
	UINTMAX_MAX.  Suggested by Jim Meyering and Matthew Woehlke.

	df: fix a bug when totaling unknown values
	* src/df.c (show_dev): Don't add UINTMAX_MAX to grand totals, as that
	value indicates that the true value is unknown; adding it effectively
	subtracts 1 from the total, whereas we want to leave the total alone.

2009-03-25  Jim Meyering  <meyering@redhat.com>

	tests: don't fail "make syntax-check" on cygwin
	* maint.mk (NEWS_hash): Remove trailing " -" or " *-".
	* cfg.mk (old_NEWS_hash): Regenerate, removing " -".
	Reported by Eric Blake.

2009-03-25  Eric Blake  <ebb9@byu.net>

	pwd: support -L and -P
	* src/pwd.c (longopts): New variable.
	(logical_getcwd): New function.
	(main): Use it.
	(usage): Document new options.
	* doc/coreutils.texi (pwd invocation): Likewise.
	* NEWS: Likewise.
	* TODO (pwd): Mark it done.
	* tests/misc/pwd-option: New file.
	* tests/Makefile.am (TESTS): Add test.
	* THANKS: Update.
	Reported by Paul D. Smith, in savannah bug 24949.

2009-03-25  Ondřej Vašík  <ovasik@redhat.com>

	doc: update suffix regex in version sort
	* doc/coreutils.texi: Reflect current filevercmp regex.

2009-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	tests: CuTmpdir.pm: avoid use of undefined variable in warning
	* tests/CuTmpdir.pm (chmod_tree): Do not warn if $dir is undefined.

2009-03-24  Jim Meyering  <meyering@redhat.com>

	tests: ls -v: exercise yet another change in gnulib's new filevercmp
	* tests/misc/ls-misc: Add names with ~ and ~.1~ suffixes.

	* gnulib: Update submodule to latest.

2009-03-24  Kamil Dudka  <kdudka@redhat.com>

	ls: make it possible to disable coloring of hard links
	* src/ls.c (print_color_indicator): Don't color hard links if disabled
	(when there is an empty hl= in the LS_COLORS environment variable).
	* tests/ls/hardlink: Add test case for disabled hard link highlighting.
	* NEWS: Mention the change.

2009-03-21  Jim Meyering  <meyering@redhat.com>

	tests: search only files that are under version control
	* maint.mk (sc_error_exit_success): Search only files
	that are under version control.
	(sc_makefile_path_separator_check): Likewise.
	Check *.mk files, too, not just Makefile.am files.

	tests: follow own advice: use $(PATH_SEPARATOR), not ":"
	* maint.mk (coreutils-path-check): Use the variable, not the literal.

	tests: modernize: use $(var) makefile notation, not @var@
	* maint.mk (sc_makefile_path_separator_check): Recommend
	the use of $(PATH_SEPARATOR), not @PATH_SEPARATOR@.
	Remove an obsolete comment.

2009-03-20  Jim Meyering  <meyering@redhat.com>

	tests: teach sc_dd_O_FLAGS about new syntax in dd.c
	* cfg.mk (sc_dd_O_FLAGS): Adapt to new syntax.

2009-03-20  Eric Blake  <ebb9@byu.net>

	dd: use a more portable definition of O_FULLBLOCK
	* src/dd.c (O_FULLBLOCK): Compute its value without using a 180KB
	macro.  This avoids triggering a compilation failure with HP-UX's cc.
	Reported by Matthew Woehlke.

2009-03-20  Jim Meyering  <meyering@redhat.com>

	tests: avoid spurious mkdir/selinux test failure on HP-UX 11.23
	* tests/mkdir/selinux: Accept yet another diagnostic.
	Reported by Matthew Woehlke.

2009-03-19  Jim Meyering  <meyering@redhat.com>

	tests: df/total-verify: avoid test failure with older Perl
	* tests/df/total-verify: Don't use perl's -f option.
	Reported by Matthew Woehlke.

	* gnulib: Update submodule to latest.

2009-03-18  Jim Meyering  <meyering@redhat.com>

	tests: adjust sort-continue not to fail under valgrind
	* tests/misc/sort-continue: Don't run cat inside fd-limited shell.
	If sort fails to run in an fd-limited shell, skip the test.

2009-03-18  Paul Eggert  <eggert@CS.UCLA.EDU>

	tests: add another sort/nmerge test
	* tests/Makefile.am (TESTS): Add sort-merge-fdlimit.
	* tests/misc/sort-merge-fdlimit: New file.
	* doc/coreutils.texi (sort invocation): Document that we now silently
	lower nmerge if necessary.
	Patch by Paul Eggert, Nima Nikzad, Max Chang, Alexander Nguyen,
	Sahil Amoli, and Nick Graham.

	sort: handle fd exhaustion better when merging
	This is an alternative to my 9 March patch labeled "Silently lower
	nmerge; don't (sometimes incorrectly) range-check"
	<http://lists.gnu.org/archive/html/bug-coreutils/2009-03/msg00070.html>.
	It differs by not using 'dup' to probe for extra file descriptors;
	instead, it simply calls 'open' (and 'pipe') to open files and pipes,
	until one of these calls fails due to file descriptor exhaustion; it
	then backs off by 1, does a merge with the files that it has opened,
	and then retries with the (now-smaller) number of files.

	This patch requires quite a few more changes to the source code than
	the earlier patch, but it is in some sense "better" because it doesn't
	need to call "dup" ahead of time in order to decide whether "open" or
	"pipe" will fail.  Also, it's more robust in the case where "open" or
	"pipe" fails with errno==EMFILE because some system-wide limit is
	exhausted.

	* src/sort.c (create_temp_file): New arg SURVIVE_FD_EXHAUSTION.
	(stream_open): New function, containing guts of xfopen.
	(xfopen): Use it.
	(pipe_fork): Set errno on failure.
	(maybe_create_temp): New function, containing guts of create_temp.
	(create_temp): Use it.
	(open_temp): Distinguish failures due to file descriptor exhaustion
	from other failures, and on fd exhaustion return a notice to caller
	rather than dying.  Don't test execlp's return value; when it returns,
	it *always* returns -1.
	(open_input_files): New function.
	(mergefps): New arg FPS. It's now the caller's responsibility to open
	the input and output files.  All callers changed.
	(mergefiles): New function.
	(avoid_trashing_input, merge): Handle the case where a single merge
	can't merge as much as we wanted due to file descriptor exhaustion, by
	merging as much as we can and then retrying.
	* tests/Makefile.am (TESTS): Add misc/sort-continue.
	* tests/misc/sort-continue: New file.
	* THANKS: Add Glen Lenker and Matt Pham who coauthored this patch.

2009-03-18  Jim Meyering  <meyering@redhat.com>

	maint: normalize leading-TAB indentation in Makefiles
	* maint.mk (sc_makefile_TAB_only_indentation): New rule.
	Replace each TAB+8-space sequence with two TABs.
	* man/Makefile.am: Likewise.
	* build-aux/check.mk: Likewise.
	I used this command (run it more than once, if needed):
	t=$'\t'; git grep -l -E "$t {8}"|grep -E 'Makefile|\.mk$' \
	| xargs perl -pi -e 's/\t {8}/\t\t/'

2009-03-15  Jim Meyering  <meyering@redhat.com>

	maint: remove long-unused Makefile
	* tests/sort-time/Makefile: Remove long-unused file.

	maint: remove unused include and definitions
	* gl/lib/randread.c (__attribute__): Remove unused definition.
	(ATTRIBUTE_UNUSED): Likewise.
	* gl/lib/selinux-at.c (_): Remove unused definition.
	Don't include <gettext.h>.  No longer needed.

	* gnulib: Update submodule to latest.

2009-03-14  Jim Meyering  <meyering@redhat.com>

	system.h: correct compilation error: MAX not defined
	* src/system.h (io_blksize): Move definition down, so it follows that
	of MAX -- to avoid compilation failure on OpenSolaris.  Reported by
	David Bartley.  Details in
	http://lists.gnu.org/archive/html/bug-coreutils/2009-03/msg00190.html

	* gnulib: Update to pull in select/interix work-around.

2009-03-13  Kamil Dudka  <kdudka@redhat.com>

	doc: update "version sort" documentation
	* doc/coreutils.texi: Reflect current filevercmp behavior.

2009-03-12  Jim Meyering  <meyering@redhat.com>

	tests: groups-version: don't require that id be built
	* tests/misc/groups-version: groups is now independent of id.

	tests: skip the groups-dash test when "groups" is not built
	* tests/misc/groups-dash: Skip if groups is not being installed.
	Suggested by Mike Frysinger.
	Also fail if groups exits with nonzero status.

2009-03-12  Pádraig Brady  <P@draigBrady.com>

	maint: mention Autoconf version required to build Automake
	* README-prereq: coreutils currently requires an unreleased
	version of Automake, so mention the minimum version of Autoconf
	required to build that. Suggestion from James Youngman.

2009-03-12  Jim Meyering  <meyering@redhat.com>

	* gnulib: Update submodule to latest.

2009-03-11  Ondřej Vašík  <ovasik@redhat.com>

	cp: make -a option preserve xattrs, but with reduced diagnostics
	* copy.c (copy_attr_by_fd): Reduce xattr diagnostics for 'cp -a'.
	(copy_attr_by_name): Likewise.
	* cp.c (main): Preserve xattrs with -a option, when possible.
	* doc/coreutils.texi: Document that xattrs are preserved with
	cp -a, with no added diagnostics.
	* NEWS: Mention the change.
	* tests/misc/xattr: Add tests for 'cp --preserve=all' and 'cp -a'.

2009-03-11  Pádraig Brady  <P@draigBrady.com>

	maint: Document how to best to enable gcc warnings for developers
	* README-hacking: Mention --enable-gcc-warnings configure option
	* configure.ac: Don't scare developers away from using gcc warnings

2009-03-11  Jim Meyering  <meyering@redhat.com>

	maint: remove an obsolete FIXME comment
	* src/Makefile.am (../AUTHORS): Remove obsolete FIXME comment.
	There are no longer any installed *.sh programs.

2009-03-11  Pádraig Brady  <P@draigBrady.com>

	cat: Fix immediate output of processed data
	Introduced by commit 790892db, 2006-06-08 "Ensure that cat works ...".
	* NEWS: Mention the bugfix.
	* src/cat.c (cat): Fix the typo which stopped the writing
	of processed data before a blocking read() is done.
	* tests/misc/cat-buf: Add to ensure processed data is not buffered.
	* tests/Makefile.am: Reference the new test.

	cat,cp,mv,install,split: Set the minimum IO block size used to 32KiB
	This is following on from this change:
	[02c3dc9d 2008-03-06 cat: use larger buffer sizes ...]
	which increased the IO block size used by cat by 8 times,
	but also capped it at 32KiB.
	* NEWS: Mention the change in behavior.
	* src/system.h: Add a new io_blksize() function that
	returns the max of ST_BLKSIZE or 32KiB, as this was
	seen as a good value for a minimum block size to use
	to get good performance while minimizing system call overhead.
	* src/cat.c: Use it.
	* src/copy.c: ditto
	* src/split.c: ditto

2009-03-08  Jim Meyering  <meyering@redhat.com>

	tests: add a test for newly-fixed bug in comm --check-order
	* tests/misc/comm (ooo-prefix): Add a test for today's fix.
	* NEWS (Bug fixes): Mention it.

2009-03-08  Bruno Haible  <bruno@clisp.org>

	comm: fix a bug in its new --check-order option
	* src/comm.c: Include memcmp2.h.
	(check_order): Use memcmp2 instead of memcmp.
	* bootstrap.conf (gnulib_modules): Add memcmp2.

2009-03-08  Jim Meyering  <meyering@redhat.com>

	tests: ls -v: exercise the bug fixed by gnulib's new filevercmp
	* tests/misc/ls-misc (version-sort): New test.
	(mk_file): New function.
	Reported by Josh Triplett in <http://bugs.debian.org/517558>.
	Details in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16902
	* NEWS (Bug fixes): Mention it.

	gnulib: sync submodule to latest

2009-03-07  Jim Meyering  <meyering@redhat.com>

	pr: fix a bug whereby --indent=N (-o) did not indent header lines
	* src/pr.c (print_header): Honor chars_per_margin also for the header.
	Inspired by a patch from C de-Avillez.
	This change also adjusts two other %*s directives to be %*.*s instead,
	(for the padding on either side of "file_text") to correct a bug that
	could make pr print one space of padding instead of none.
	* NEWS (Bug fixes): Mention it.
	* tests/pr/o3Jml24f-lm-lo: Adjust for new expected output.
	* 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.

	bootstrap: add to XGETTEXT_OPTIONS
	* bootstrap.conf (XGETTEXT_OPTIONS): Add c-format --flag options
	for verror and verror_at_line; alphabetize.

	maint: use a git submodule for gnulib
	* .gitmodules: New file, to track gnulib.
	* gnulib: New file, created by running this:
	git submodule add git://git.sv.gnu.org/gnulib.git gnulib

	build: allow ./bootstrap --srcdir=... to work with a git submodule
	* bootstrap (git_modules_config): Use GIT_CONFIG, not GIT_CONFIG_LOCAL.
	The latter was removed in v1.5.6.1-109-gdc87183.

	build: avoid "multiply defined..." warning from automake
	* Makefile.am (AM_CFLAGS): Add $(WARN_CFLAGS) via +=, not =, to
	avoid "multiply defined..." warning from automake.

2009-03-06  Jim Meyering  <meyering@redhat.com>

	cat: use larger buffer sizes to reduce read/write-syscall overhead
	* src/cat.c (max): Remove definition.  Use MAX from system.h instead.
	(compute_buffer_size): New function to compute the input and output
	buffer sizes, which are now set at 8 times st_blksize with a maximum
	of 32KiB. Previously the typical block sizes used were 1KiB for pipes
	and 4KiB for files, and now will be 8KiB and 32KiB respectively.
	(main): Use it.
	This change can double throughput on modern systems.  For timings,
	see http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/16040
	Suggestion from Tzvi Rotshtein.

	maint: avoid new unused-macro warnings from gcc
	* src/ls.c (ASSERT_MATCHING_DEV_INO): Comment-out unused definition,
	to match commented-out use.
	* src/install.c (INITIAL_HASH_MODULE, INITIAL_ENTRY_TAB_SIZE):
	(READ_SIZE): Remove definitions of unused macros.
	* src/mv.c (INITIAL_HASH_MODULE, INITIAL_ENTRY_TAB_SIZE): Likewise.
	* src/dd.c (max): Likewise.
	* src/expand.c (OUTPUT_BLOCK): Likewise.
	* src/csplit.c (ALLOC_SIZE): Likewise.
	* src/pr.c (NULLCOL): Likewise.
	* src/ptx.c (Sword): Likewise.
	* src/unexpand.c (OUTPUT_BLOCK): Likewise.
	* src/factor.c (NDEBUG): Likewise.

	tests: fix just-introduced typo in rm/ext3-perf
	* tests/rm/ext3-perf: Fix typo in commit 2b1e6636bea,
	2009-02-27 "tests: rm/ext3-perf: relax this test".

	maint: remove spurious case-ignoring option from a test
	* maint.mk (sc_trailing_blank): Remove useless/harmless ignore_case=1.

2009-03-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	policy: use git to help avoid trailing white space
	* HACKING (Avoid trailing white space): Describe how git can help.

2009-03-04  Andreas Schwab  <schwab@linux-m68k.org>

	Update Andreas Schwab's email address
	* THANKS: Update Andreas Schwab's email address.

2009-03-03  Jim Meyering  <meyering@redhat.com>

	maint: improve release-related process and documentation
	* README-release: Fix typo. it's "maintainer-clean".
	Refer to HACKING for full list of dependencies.
	Use cvs add's -ko option to inhibit $Id$-style keyword expansion.
	* maint.mk (web-manual): Factor out definition of $(manual_title).
	(vc-dist): Set XZ_OPT=-9ev for the final "make dist".
	* cfg.mk (manual_title): Define it here.
	Suggestions from Eric Blake.

2009-03-02  Jim Meyering  <meyering@redhat.com>

	dist: document our release procedure
	* README-release: New file.

	dist: automate the post-release web-manual update process
	* maint.mk (web-manual): New rule, from m4's maint.mk.
	* bootstrap.conf (gnulib_modules): Add gendocs.

	tests: rm/ext3-perf: relax this test
	* tests/rm/ext3-perf: If set-up takes too long, use the set-up time
	as the removal time limit.  Otherwise, a parallel "make check" would
	usually fail when run with RUN_VERY_EXPENSIVE_TESTS=yes.

	tests: don't skip setgid-dir related tests on SELinux-enabled systems
	* tests/setgid-check: The change in ls (use ".", not "+") caused
	this check always to report the working directory as set-gid.
	Now, use stat, not ls.

	tests: reflect the s/+/./ SELinux indicator change
	* tests/mkdir/perm: Now that this test is no longer always skipped,
	make it work independently of ls: use stat, not ls, to get perm string.
	* test-lib.sh (rwx_to_mode_): Use stat, not ls to get perm string
	This test was run only when RUN_VERY_EXPENSIVE_TESTS=yes was set.

	tests: when skipping a test, say why on screen, not just in the log
	* tests/test-lib.sh: Redirect also to descriptor 9.
	Better one-line why-skip diagnostics.
	* tests/check.mk (TESTS_ENVIRONMENT): Redirect 9 to stderr.
	* tests/misc/pwd-unreadable-parent: Remove redundant "skipping..." diag.

	maint: enable many gcc warnings
	* bootstrap.conf (gnulib_modules): Add manywarnings.
	* configure.ac: Use gl_MANYWARN_ALL_GCC, and exclude options
	I don't want or that provoke too many warnings.
	(WARN_CFLAGS, WERROR_CFLAGS): Define.
	(lint, GNULIB_PORTCHECK): Define.
	(_FORTIFY_SOURCE): Define to 2.

	maint: avoid gcc warning about missing attributes
	* src/prog-fprintf.h (prog_fprintf): Declare with printf attribute.
	* src/system.h (usage): Declare with the "noreturn" attribute.

	maint: avoid warnings about potentially-counterproductive "inline"
	* src/dd.c (quit): Remove "inline" attribute.
	* src/test.c (advance, unary_advance): Likewise.

	maint: cp: avoid gcc warning about unused macro definitions
	* src/cp.c (INITIAL_HASH_MODULE, INITIAL_ENTRY_TAB_SIZE): Remove.

	dist: do not emit MD5 or SHA1 checksums into announcement template
	* maint.mk (announcement): Use announce-gen's new --no-print-checksums.

2009-02-28  Jim Meyering  <meyering@redhat.com>

	maint: detect unnecessary inclusion of signal.h
	* maint.mk (sc_prohibit_signal_without_use): New rule.

	maint: remove an unnecessary inclusion of <signal.h>
	* src/operand2sig.c: Don't include <signal.h>.

2009-02-28  Pádraig Brady  <P@draigBrady.com>

	tests: sort: Check skipping blanks in multibyte locales
	* tests/misc/sort: On Fedora 8 at least, sort -k1b,1
	mishandles blanks in multibyte locales, so add test.

2009-02-27  Jim Meyering  <meyering@redhat.com>

	* HACKING: avoid trailing white space

	cp: diagnose invalid "cp -rl dir dir" right away, once again
	Running "mkdir dir; cp -rl dir dir" would create dir/dir/dir/...
	rather than diagnosing the "copy-into-self" failure.

	The easy fix would have been to revert this part of the change
	[3ece0355 2008-11-09 cp: use far less memory in some cases]
	that introduced the bug:

	-         remember_copied (dst_name, dst_sb.st_ino, dst_sb.st_dev);
	+         if (!x->hard_link)
	+           remember_copied (dst_name, dst_sb.st_ino, dst_sb.st_dev);

	However, that would have induced the failure of the new cp/link-heap
	test, due to the added memory pressure of recording 10k dev/ino pairs.
	And besides, I liked that improvement and wanted to keep it.

	Now that it's obvious recording the just-created-directory dev/ino
	needn't depend on the setting of hard_link, I realized it is necessary
	to record the pair only for the first directory created for each
	source command-line argument.

	I made that change, then noticed the new test, cp -rl a d d, would pass
	when run once, yet output the into-self diagnostic twice.  Also note
	the side effect: it creates d/a and d/d.  However, running that same
	command a second time, now with the modified directory, would fail.

	That turned out to be due to the fact that although the first into-self
	failure was detected in copy_dir, that function would continue copying
	other entries regardless -- and that would make it fail (eventually)
	with the unwanted recursion.

	* src/copy.c (copy_internal): This function needed an indicator of
	whether, for a give command line argument, it had already created its
	first directory.  If so, no more need to record dev/ino pairs.  If this
	is the first, then do record its pair.  Hence, the new parameter.
	(copy_dir, copy): Update callers.
	(copy_dir): Upon any into-self failure, break out of the loop.
	* tests/cp/into-self: Test for the above.
	Reported by Mikael Magnusson.

2009-02-26  Jim Meyering  <meyering@redhat.com>

	tests: stty-row-col would hang when run in the background
	* tests/misc/stty-row-col: Don't hang when run in background
	at least on Solaris 10 and OpenBSD.

2009-02-26  Pádraig Brady  <P@draigBrady.com>

	sort: Fix two bugs with determining the end of field
	* src/sort.c: When no specific number of chars to skip
	is specified for the end field, always skip the whole field.
	Also never include leading spaces from next field.
	* tests/misc/sort: Add 2 new tests for these cases.
	* NEWS: Mention this bug fix.
	* THANKS: Add bug reporter.
	Reported by Davide Canova.

2009-02-26  Eric Blake  <ebb9@byu.net>

	argv-iter: avoid variadic macro
	* gl/lib/argv-iter.h (_ATTRIBUTE_NONNULL_): Don't assume C99 variadic
	macros are portable yet; needed for at least IRIX/MIPSpro.
	* THANKS: Update.
	Reported by Stuart Shelton.

2009-02-26  Pádraig Brady  <P@draigBrady.com>

	tests: Remove system specific error strings
	* tests/dd/skip-seek-past-file: Just check for
	the non system specific part of the error strings.
	This was causing an erroneous failure on NetBSD 1.6 at least.

2009-02-25  Jim Meyering  <meyering@redhat.com>

	tests: using printf with \e for ESC isn't portable
	* tests/ls/color-clear-to-eol: Use \33, not \e for ascii ESC.
	This test failed when using the built-in printf of /bin/sh from
	NetBSD 1.6.

2009-02-24  Pádraig Brady  <P@draigBrady.com>

	Ensure comment for translators is included in po file
	Issue reported by Göran Uddeborg.

	* src/system.h: Move the translator comment adjacent
	to the translated string.
	* THANKS: Update Göran's email address.

2009-02-22  Tobias Stoeckmann  <tobias@bugol.de>

	truncate: fix typo in man page
	* man/truncate.x: Fix spelling.
	* THANKS: Update.

2009-02-22  Andrew Church  <achurch@achurch.org>

	doc: describe dd's status=noxref option
	* doc/coreutils.texi (dd invocation): Describe status=noxref.

2009-02-22  Jim Meyering  <meyering@redhat.com>

	tests: reenable temporarily-disabled tests using e.g., trap '' TTOU
	Revert "tests: skip newly-modified tests unconditionally..."
	This reverts commit 773a88d33f68e50a2919c8a8310c646a7e5fabc2.
	* tests/misc/stty: Don't skip.
	* tests/misc/stty-invalid: Likewise.
	* tests/mv/i-3: Likewise.

2009-02-22  James Youngman  <jay@gnu.org>

	update James Youngman's email address
	* THANKS: Update James Youngman's email address

2009-02-21  Jim Meyering  <meyering@redhat.com>

	post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	version 7.1
	* NEWS: Record release date.

	* README: Mention that c99-to-c89.diff is no longer maintained.

	tests: skip new install-C test if working directory is set-gid
	* tests/install/install-C: Use setgid-check.

	tests: skip newly-modified tests unconditionally, just to be safe
	* tests/misc/stty-invalid: Skip.
	* tests/misc/stty: Likewise.
	* tests/mv/i-3: Likewise.

	tests: don't let SIGTTOU/TTIN hang a backgrounded "make check"
	Running "make check &" would hang due to SIGTTOU and SIGTTIN signals.
	* tests/misc/stty: Ignore SIGTTOU.
	* tests/misc/stty-invalid: Likewise.
	* tests/mv/i-3: Ignore SIGTTIN.

2009-02-20  Jim Meyering  <meyering@redhat.com>

	doc: ls: clarify description of -s
	* src/ls.c (usage): Make the description of -s mention "allocated size",
	so that it's less likely to be confused with an apparent byte-count.
	Suggested by Vito Caputo.

2009-02-19  Jim Meyering  <meyering@redhat.com>

	doc: dd: document that the default block size is 512 bytes
	* src/dd.c (usage): Document the default block size.
	* doc/coreutils.texi (dd invocation): Document that the default
	block size (bs, ibs, obs) is 512 bytes.
	Reported by Petr Uzel.

2009-02-18  Jim Meyering  <meyering@redhat.com>

	maint: changing NEWS' copyright date must not invalidate checksum
	* maint.mk (NEWS_hash): Don't let the Copyright date line contribute
	to the checksum.
	* cfg.mk (old_NEWS_hash): Update to reflect the new policy.

	doc: explain how to recover from changes committed to master
	* HACKING: A beginner's commit-to-master is so common,
	and causes enough confusion, that we describe how to recover.

	maint: add copyright notices
	* HACKING: Add copyright notice.
	* tests/test-lib.sh: Likewise.

2009-02-18  Ondřej Vašík  <ovasik@redhat.com>

	cp: -a now preserves SELinux context, with reduced diagnostics
	* copy.c (copy_reg): Reduce SELinux context diagnostics for 'cp -a'.
	(copy_internal): Likewise
	* copy.h (cp_options): Add boolean reduce_diagnostics.
	* cp.c (usage): Say that --archive (-a) behaves like -dR --preserve=all.
	(cp_option_init): Initialize added reduce_diagnostics.
	(main): Add reduce_diagnostics for the -a option, and preserve SELinux
	context, if possible.
	* mv.c (cp_options_init): Initialize new cp_options booleans.
	* install.c (cp_option_init): Likewise.
	* NEWS: Mention those behaviour changes.
	* doc/coreutils.texi: Document --preserve=context, document that
	diagnostics are not shown for failures of non-mandatory attributes
	(just SELinux at the moment).
	* tests/cp/cp-a-selinux: Check not only failures, but succesful use
	of preserving SELinux context in cp.

2009-02-18  Eric Blake  <ebb9@byu.net>

	add missing copyright dates
	* NEWS: Add 2009 to copyright.
	* README: Likewise.
	* README-hacking: Likewise.
	* TODO: Likewise.
	* doc/Makefile.am: Likewise.
	* m4/prereq.m4: Likewise.
	* src/nl.c: Likewise.
	* src/seq.c: Likewise.
	* tests/cp/cp-i: Likewise.
	* tests/install/install-C: Likewise.
	* tests/install/install-C-root: Likewise.
	* tests/install/install-C-selinux: Likewise.
	* tests/misc/seq: Likewise.
	* tests/mv/mv-n: Likewise.

2009-02-17  Eric Blake  <ebb9@byu.net>

	install: compare files in binary mode
	* src/install.c (need_copy): Use O_BINARY when it matters.

2009-02-17  Kamil Dudka  <kdudka@redhat.com>

	install: add --compare (-C) option to install file only when necessary
	* src/install.c (have_same_content): New function to compare files
	content.
	(extra_mode): New function checking for non-permission bits in mode.
	(need_copy): New function to check if copy is necessary.
	(main): Handle new option --compare (-C).
	(copy_file): Skip file copying if not necessary.
	(usage): Show new option --compare (-C) in --help.
	* tests/install/install-C: Basic tests for install --compare (-C).
	* tests/install/install-C-root: Tests requiring root privileges.
	* tests/install/install-C-selinux: Tests requiring SELinux.
	* tests/Makefile.am: Add new tests for install --compare (-C).
	* doc/coreutils.texi: Document new install option --compare (-C).
	* NEWS: Mention the change.

2009-02-17  Ondřej Vašík  <ovasik@redhat.com>

	nl: correct long-option name for -v in usage
	* nl.c (usage): Use --starting-line-number, not --first-page for -v

2009-02-15  Jim Meyering  <meyering@redhat.com>

	doc: id: make --help and .man more descriptive
	* src/id.c (usage): Improve description, based on a suggestion
	from Brian M. Carlson in http://bugs.debian.org/514675
	* man/id.x: Use a better one-liner, based on the one at top of id.c.

2009-02-15  Pádraig Brady  <P@draigBrady.com>

	seq: Fix equal width calculation when '.' added to last number
	Issue reported by Samuel Hapák.
	<http://lists.gnu.org/archive/html/bug-coreutils/2009-02/msg00139.html>

	* src/seq.c: Account for '.' added to "last" number.
	* tests/misc/seq: Add corresponding test.
	* NEWS: Mention the fix.

2009-02-13  Jim Meyering  <meyering@redhat.com>

	du,chgrp,chmod,chown: use FTS_DEFER_STAT
	* src/du.c (main): Use FTS_DEFER_STAT, for better locality of inode
	reference.  Important when traversing file systems with fake inodes.
	* src/chgrp.c (main): Likewise.
	* src/chmod.c (main): Likewise.
	* src/chown.c (main): Likewise.
	The only remaining fts client, chcon, doesn't need this, since it goes
	further and uses FTS_NOSTAT, which suppresses all non- directory
	stat calls.

2009-02-13  Pádraig Brady  <P@draigBrady.com>

	maint: mention how to run a single test in HACKING docs
	* HACKING: Give an example of how to run a test in isolation.
	* README: Fix/simplify example for running a single test.
	* README-hacking: Reference the HACKING file.

2009-02-12  Eric Blake  <ebb9@byu.net>

	ln: add details to --help text
	* src/ln.c (usage): Mention more about symlink properties.
	* doc/coreutils.texi (ln invocation): Likewise.
	* THANKS: Update.
	Reported by Vitali Lovich.

2009-02-10  Jim Meyering  <meyering@redhat.com>

	ls: clean up after wrapped+colored file names with clear-to-EOL
	This change addresses a relatively unusual case: ls --color, with
	a highlighted name being printed initially in the last row of a
	terminal emulator (possibly followed by other lines of output) such
	that it is wrapped onto the following line, as the terminal emulator
	scrolls the output.  That would cause the entire following line to
	be highlighted, even if the name happened to use only one position.
	The least-invasive patch would have made colorized output larger for
	all uses.  The approach taken below is more invasive, but limits the
	increase in overhead to only those lines that are expected to wrap.
	* src/ls.c (enum indicator_no): Add C_CLR_TO_EOL.
	(indicator_name): Add "cl".
	(color_indicator): Add default escape codes for "cl".
	(print_long_format): Propagate width to print_name_with_quoting.
	(print_name_with_quoting): Print new C_CLR_TO_EOL string if needed.
	Return the width of what we're printing.
	(print_file_name_and_frills): Propagate width.
	(print_type_indicator): Return bool (aka width).
	(print_many_per_line): Pass column position to print_* function.
	(print_current_files): Likewise.
	(print_horizontal): Likewise.
	(print_with_commas): Likewise.
	* src/dircolors.c (slack_codes): Add "CLRTOEOL".
	(ls_codes): Add "cl".
	* tests/ls/color-clear-to-eol: New file.  Test for this fix.
	* tests/Makefile.am (TESTS): Add ls/color-clear-to-eol.
	* THANKS: Update.
	Reported by Alexander V. Lukyanov.  See thread for details:
	http://thread.gmane.org/gmane.linux.kernel/740021/focus=14824
	Thanks to Jan Engelhardt for helping me reproduce the problem.

	Demonstrate with this in an 80-column xterm:
	  seq 200 # to start in the "bottom" row
	  touch zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.foo
	  env LS_COLORS='*.foo=0;31;42' ls -og --color=always

	Before the fix, you'd see something like this:
	(where the file name is printed in red on a green background,
	and each "=" denotes a space on a green background)
	...
	  -rw-r--r--  1       0 Feb  5 11:31 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz\
	  zzzzzzzzzzzzzz.foo===================================================

	After the patch, the trailing green spaces are gone:

	  -rw-r--r--  1       0 Feb  5 11:31 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz\
	  zzzzzzzzzzzzzz.foo

	* tests/test-lib.sh: Use skip_test_... in place of echo...;exit 77.

2009-02-10  Nix  <nix@esperi.org.uk>

	tests: avoid skipping stty-* tests
	* tests/test-lib.sh (require_controlling_input_terminal_):
	Check stdout, not stdin.

2009-02-09  Jim Meyering  <meyering@redhat.com>

	touch: deprecate --file option: equivalent to --reference (-r)
	* src/touch.c: Mark long-undocumented --file for removal in 2010.
	(main): Warn upon use of --file.

2009-02-06  Pádraig Brady  <P@draigBrady.com>

	tests: fix dd skip=greater_max_file_size test on Solaris 10
	* tests/dd/skip-seek-past-file: I had previously commented that
	on some systems lseek(> max file size) may succeed, but left
	the possibility of failure in that case, so that I could determine
	specific systems to put in the comments for both failure modes.

2009-02-05  Jim Meyering  <meyering@redhat.com>

	avoid spurious parentheses/arith-op-related warnings from newer gcc
	* src/copy.c (set_owner): Use && rather than &.
	* src/stty.c (main): Likewise.
	* src/wc.c (wc): Likewise.

2009-02-02  Jim Meyering  <meyering@redhat.com>

	maint: tighten atoi/atof-prohibiting regexp, clean up .x-sc- file
	* maint.mk (sc_prohibit_atoi_atof): Require "(" after token.
	* .x-sc_prohibit_atoi_atof: Remove names that no longer contain a match.

	doc: preserve --help line breaks in 'REPORTING BUGS' man page section
	* man/help2man: Insert .br between adjacent lines.

	* src/system.h (emit_bug_reporting_address): Remove periods.

	update copyright dates from recent changes
	* src/dd.c: Add 2009 to list of copyright years.
	* tests/dd/seek-skip-past-file: Likewise.
	* tests/dd/seek-skip-past-dev: Likewise.
	* m4/xattr.m4: Likewise.
	* src/copy.h: Likewise.

	* maint.mk (sc_redundant_const): Use $(_prohibit_regexp).

2009-02-02  jidanni@jidanni.org  <jidanni@jidanni.org>

	date doc: warn at -d about LC_TIME
	We also warn here about LC_TIME, so the user will know even if he
	doesn't look in the @xref{Date input formats}.

	document sort --ignore-case --unique interaction

2009-01-31  Jim Meyering  <meyering@redhat.com>

	maint: detect useless inclusion of c-ctype.h
	* maint.mk (sc_prohibit_c_ctype_without_use): New rule.

2009-01-29  Jim Meyering  <meyering@redhat.com>

	maint: teach "make syntax-check" to print each check name as it's run
	* maint.mk (%.m): New rules to print each syntax-checking rule name,
	just before running its commands.
	($(syntax-check-rules)): Depend on it.

	maint: silence some syntax-check rules
	* cfg.mk (sc_strftime_check): Silence the rule.
	(sc_tight_scope): Likewise.
	* src/Makefile.am (check-AUTHORS): Likewise.

	maint: factor syntax-check rules
	* maint.mk (_ignore_case): New macro.
	(_prohibit_regexp): Use it.
	Factor many existing syntax-check rules to use $(_prohibit_regexp).

2009-01-29  Kamil Dudka  <kdudka@redhat.com>

	cp/mv: add xattr support
	This patch was originally written by Andreas GrÃ¼nbacher, nowadays
	available at
	http://www.suse.de/~agruen/coreutils/5.91/coreutils-xattr.diff

	* bootstrap.conf: Add gnulib module verror.
	* po/POTFILES.in: Add lib/verror.c.
	* m4/xattr.m4: Check for libattr availability, new configure option
	--disable-xattr.
	* m4/prereq.m4: Require gl_FUNC_XATTR.
	* src/Makefile.am: Link cp, mv and ginstall with libattr.
	* src/copy.h: Add preserve_xattr and require_preserve_xattr to
	cp_options.
	* src/copy.c (copy_attr_error): New function to handle errors during
	xattr copying.
	(copy_attr_quote): New function to quote file name in error messages
	printed by libattr.
	(copy_attr_free): Empty function requested by libattr to free quoted
	string.
	(copy_attr_by_fd): New fd-oriented function to copy xattr.
	(copy_attr_by_name): New name-oriented function to copy xattr.
	(copy_reg, copy_internal): Call copy_extended_attributes function.
	* src/cp.c (usage): Mention new --preserve=xattr option.
	(decode_preserve_arg): Handle new --preserve=xattr option.
	* src/mv.c: Always attempt to preserve xattr.
	* src/install.c: Never attempt to preserve xattr.
	* tests/misc/xattr: New test for xattr support in cp, mv and install.
	* tests/Makefile.am: Add the new test to list.
	* doc/coreutils.texi: Mention xattr support, new --preserve=xattr
	option.
	* NEWS: Mention the change.

2009-01-28  Jim Meyering  <meyering@redhat.com>

	system.h: add a comment re autoconf's new AC_PACKAGE_URL
	* src/system.h (emit_bug_reporting_address): Add a comment
	suggesting to use AC_PACKAGE_URL once we require autoconf-2.64.

2009-01-28  Pádraig Brady  <P@draigBrady.com>

	tests: Fixup shred-passes test
	* tests/misc/shred-passes: Set the $fail variable correctly.
	The issue was noticed by Jim Meyering.

	tests: Add a test to verify shred's default operations
	* tests/Makefile.am: add new test
	* tests/misc/shred-passes: Verify the operations shred
	does by default to overwrite and remove a zero length file.

	dd: Better handle user specified offsets that are too big
	Following are the before and after operations for seekable files,
	for the various erroneous offsets handled by this patch:

	skip beyond end of file
	  before: immediately exit(0);
	  after : immediately printf("cannot skip to specified offset"); exit(0);

	skip > max file size
	  before: read whole file and exit(0);
	  after : immediately printf("cannot skip: Invalid argument"); exit(1);
	seek > max file size
	  before: immediately printf("truncate error: EFBIG"); exit(1);
	  after : immediately printf("truncate error: EFBIG"); exit(1);

	skip > OFF_T_MAX
	  before: read whole device/file and exit(0);
	  after : immediately printf("cannot skip:"); exit(1);
	seek > OFF_T_MAX
	  before: immediately printf("truncate error: offset too large"); exit(1);
	  after : immediately printf("truncate error: offset too large"); exit(1);

	skip > device size
	  before: read whole device and exit(0);
	  after : immediately printf("cannot skip: Invalid argument"); exit(1);
	seek > device size
	  before: read whole device and printf("write error: ENOSPC"); exit(1);
	  after : immediately printf("cannot seek: Invalid argument"); exit(1);

	* NEWS: Summarize this change in behavior.
	* src/dd.c (skip): Add error checking for large seek/skip offsets on
	seekable files, rather than deferring to using read() to advance offset.
	(dd_copy): Print a warning if skip past EOF, as per FIXME comment.
	* test/Makefile.am: Add 2 new tests.
	* tests/dd/seek-skip-past-file: Add tests for first 3 cases above.
	* tests/dd/seek-skip-past-dev: Add root only test for last case above.

2009-01-27  Jim Meyering  <meyering@redhat.com>

	doc: emit better bug-reporting info, to help help2man
	* src/system.h (emit_bug_reporting_address): End each "sentence"
	with period, mark URLs with <...>.
	Based on a suggestion from Eric Blake.
	Use fputs on a string without %s, not printf.

	doc: ensure that emit_bug_reporting_address changes propagate to *.1
	* man/Makefile.am ($(MAN)): Depend on system.h.

	doc: restore "REPORTING BUGS" section to generated man pages
	* man/help2man ($PAT_BUGS): Update regexp to match the newer
	"Report PROG bugs ..." --help output, as well as "Report bugs...".
	Reported by Eric Blake.

2009-01-26  Jim Meyering  <meyering@redhat.com>

	tests: generalize install-transform-check
	* maint.mk (install-transform-check): Generalize to work also
	in a project that installs manuals in a section other than "1".

2009-01-23  Jim Meyering  <meyering@redhat.com>

	build: resolve conflict with new declaration from version-etc.h
	* src/system.h (emit_bug_reporting_address): Define away,
	now, gnulib's version-etc.h also declares this function.
	In this package, we choose to include each program's name in
	the diagnostic.  Define away the conflicting declaration.
	(emit_bug_reporting_address): Also emit home page and
	"General help..." links, like the new function does.
	Reported by Bob Proulx.

2009-01-23  Pádraig Brady  <P@draigBrady.com>

	doc: shred: Correct docs on default number of overwrites.
	* NEWS: Mention the change to the default number of passes.
	* doc/Makefile.am: Update constants.texi with the default
	number of passes shred uses, so that the documentation
	will automatically reflect any future changes.
	* doc/coreutils.texi (shred invocation): Update the description
	of the --iterations option to have the correct default number,
	while still conveying that there are 25 internal patterns
	that may be useful.

2009-01-22  Pádraig Brady  <P@draigBrady.com>

	shred: change default number of overwrites from 25 to 3
	* src/shred.c: The concensus is that a default of 3
	passes is appropriate for current drive technologies.
	* src/TODO: Reference Paul Eggert's suggestion
	of enhancing shred to conform to DoD 5220 rules.

2009-01-21  Jim Meyering  <meyering@redhat.com>

	m4: don't use AC_REQUIRE([AC_C_BIGENDIAN])
	* m4/jm-macros.m4: Use AC_REQUIRE([gl_BIGENDIAN]) instead.
	This avoids a subtle problem recently documented in autoconf:
	http://git.sv.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=34e2c8d5484

2009-01-19  Jim Meyering  <meyering@redhat.com>

	no longer define *_FILENO constants
	* src/system.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
	Remove definitions.  Now guaranteed by gnulib.

	build: use dist-xz, not dist-lzma, cont'd
	* README-hacking: mention XZ utils
	* README-prereq: Add a FIXME comment.

	tests: tail-2/infloop-1 is racy
	* tests/tail-2/infloop-1: Add a comment to that effect.

2009-01-18  Jim Meyering  <meyering@redhat.com>

	build: use dist-xz, not dist-lzma
	* configure.ac (AM_INIT_AUTOMAKE): s/dist-lzma/dist-xz/.
	Requires recent "xz" from git://ctrl.tukaani.org/lzma-utils.git

2009-01-16  Jim Meyering  <meyering@redhat.com>

	maint: remove obsolete sc_author_mark_check rule
	* maint.mk (sc_author_mark_check): Remove rule.
	"and" no longer appears in the definition of AUTHORS.

	Merge branch 'master' of git://git.sv.gnu.org/coreutils

	maint: enforce existing prohibition: no cvs $keywords$
	* maint.mk (sc_prohibit_cvs_keyword): New rule.

	echo, printf, test: remove unused #include directives
	* src/echo.c: Don't include "long-options.h". No longer used.
	* src/printf.c: Likewise.
	* src/test.c: Likewise.

2009-01-16  Pádraig Brady  <P@draigBrady.com>

	pathchk: avoid -Wsign-compare warnings
	* src/pathchk.c: Compare pathconf limits to _signed_ MAX constants,
	as pathconf returns signed values.

	pr: avoid -Wsign-compare warnings
	* src/pr.c: Use unsigned variables in unsigned comparisons.

	shred: avoid -Wsign-compare warnings
	* src/shred.c: Use already assigned signed variable sizeof_r,
	rather than the unsigned sizeof(r). Don't use signed integer
	overflow check that contemporary compilers may remove anyway.

	simplify mgetgroups() and avoid -Wsign-compare warnings
	* gl/lib/mgetgroups.c: Avoid -Wsign-compare warning by using unsigned
	types for the parameters of the new function realloc_groupbuf().
	mgetgroups() was refactored to use this function rather than
	explicitly allocating and copying from automatic storage itself.
	* src/group-list.c: Use int rather than size_t as variable is
	used in signed comparisons.
	* src/id.c: ditto.

2009-01-14  Eric Blake  <ebb9@byu.net>

	test, echo, printf: don't accept option abbreviation
	* src/test.c (main): Directly parse accepted options, thus
	avoiding abbreviations.
	* src/echo.c (main): Likewise.
	* src/printf.c (main): Likewise.

2009-01-14  Kamil Dudka  <kdudka@redhat.com>

	cp/mv: add --no-clobber (-n) option to not overwrite target
	* src/cp.c (usage): Show new option -n in --help.
	(main): Handle new option -n.
	* src/mv.c (usage): Show new option -n in --help.
	(main): Handle new option -n.
	* doc/coreutils.texi: Document new cp/mv option -n.
	* tests/cp/cp-i: Add tests for -f, -i and -n options.
	* tests/mv/mv-n: New test for mv -n.
	* tests/Makefile.am: Add test mv/mv-n to the list.
	* NEWS: Mention the change.

2009-01-08  Eric Blake  <ebb9@byu.net>

	option handling: make exceptions more consistent
	* doc/coreutils.texi (Common options): Not all utilities reject
	option abbreviations.
	* src/chroot.c (main): Report correct name on failure.
	* src/echo.c (usage): Clarify long option usage.
	* src/setuidgid.c (usage): Likewise.
	* src/hostid.c (usage): Condense.

2009-01-07  Jim Meyering  <meyering@redhat.com>

	* bootstrap.conf (avoided_gnulib_modules): Add dummy.

	* maint.mk: align some backslashes

2009-01-05  Pádraig Brady  <P@draigBrady.com>

	doc: pathchk description enhancements
	* doc/coreutils.texi (pathchk invocation): Mention pathchk
	checks validity (for current system) as well as portability.
	Say messages go to stderr, and reorder description of checks
	done for the -p option, to match what's done in code.
	* src/pathchk.c (usage): Mention pathchk checks name validity.
	Suggested clarifications were from Dan Jacobson.

2009-01-03  Pádraig Brady  <P@draigBrady.com>

	src/.gitignore: Ignore getlimits utility
	* src/.gitignore: Ignore getlimits

	tests: refactor to use the new getlimits utility
	* tests/Coreutils.pm: Add function to make limits available
	* tests/test-lib.sh: ditto
	* tests/misc/join: Check for both SIZE_OFLOW and UINTMAX_OFLOW
	rather than using arbitrary 2^128
	* tests/misc/sort: ditto
	* tests/misc/uniq: ditto
	* tests/misc/printf: Check for both INT_OFLOW and INT_UFLOW
	rather than using arbitrary -2^31
	* tests/misc/seq-long-double: Check for INTMAX_OFLOW
	rather than using arbitrary 2^63
	* tests/misc/split-fail: Check --lines --bytes and --line-bytes
	options limits on all platforms. Note getlimits obviates the
	need to use expr to check if 32 bit integers are supported,
	which I think was invalid anyway as expr now supports bignum?
	* tests/misc/test: Check for UINTMAX_OFLOW rather than
	using arbitrary 2^64 and 2^128. Check for INTMAX_UFLOW
	rather than using arbitrary -2^64
	* tests/misc/timeout-parameters: Check for UINT_OFLOW
	rather than using arbitrary 2^32
	* tests/misc/truncate-overflow: Don't depend on truncate
	to determine if we're on a 32 or 64 bit platform and
	instead use the various OFF_T limits
	* tests/misc/sort-merge: Check for UINTMAX_OFLOW
	rather than using arbitrary 2^64+1
	* tests/misc/unexpand: ditto

2009-01-03  Michael Meskes  <michael@fam-meskes.de>

	stat: print file-system total inode count (%c) as an unsigned number
	* src/stat.c (print_statfs): Print statfs.f_files, the total inode
	count of a file system, as an unsigned number.

2009-01-01  Jim Meyering  <meyering@redhat.com>

	tests: factor ls-misc (no semantic change)
	* tests/misc/ls-misc: Factor out uses of "\e[0m".

	update copyright year
	* doc/coreutils.texi: Likewise.
	* tests/sample-test: Likewise.

2009-01-01  Jim Meyering  <meyering@iou.iou>

	improve M4 quoting
	* configure.ac: Add quotes.
	* gl/m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
	* m4/boottime.m4 (GNULIB_BOOT_TIME): Likewise.
	* m4/check-decl.m4 (gl_CHECK_DECLS): Likewise.
	* m4/gmp.m4 (cu_GMP): Likewise.
	* m4/jm-macros.m4 (coreutils_MACROS, gl_CHECK_ALL_HEADERS): Likewise.
	(gl_CHECK_ALL_TYPES): Likewise.
	* m4/lib-check.m4 (cu_LIB_CHECK): Likewise.
	* m4/stat-prog.m4 (cu_PREREQ_STAT_PROG): Likewise.

	FYI, I first ran this command:
	git ls-files | grep -E '\.(m4|ac)$' | xargs perl -pi \
	-e 's/(AC_[A-Z_]+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
	-e 's/(AC_[A-Z_]+\(\[[^,]+?\], )([^,[()]+?)([,)])/$1\[$2]$3/g;' \
	-e 's/(AC_[A-Z_]+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g'
	Then I updated serial numbers and copyright dates manually.
	Also, I manually added two pairs of quotes in boottime.m4.

2009-01-01  Jim Meyering  <meyering@redhat.com>

	bootstrap: don't use cmp's -s option when reading from a pipe
	GNU cmp exits without reading all input when given the -s option,
	and that can cause termination of the writing process via SIGPIPE.
	Instead, when reading from a pipe, just redirect output to /dev/null
	so that all input is read.

	maint: factor out common code; prohibit use of HAVE_MBRTOWC
	* maint.mk (_prohibit_regexp): New macro.
	(sc_avoid_if_before_free, 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_prohibit_strcmp):
	(sc_prohibit_stat_st_blocks, sc_prohibit_S_IS_definition): Use it.
	(sc_prohibit_HAVE_MBRTOWC): New rule.

	maint: use more sc_-prefixed names
	* maint.mk (sc_po_check): Renamed from po-check.
	(sc_author_mark_check): Renamed from author_mark_check.
	(sc_copyright_check): Renamed from copyright-check.
	(sc_makefile_path_separator_check): Renamed from
	makefile_path_separator_check.
	(local-checks-available): Remove the old names.
	* Makefile.am (EXTRA_DIST): Reflect the renaming: .x-sc_po_check
	* .x-po-check: Rename to...
	* .x-sc_po_check: ...new file.

	maint: tighten m4 AC_ quoting check
	* maint.mk (sc_m4_quote_check): Renamed from m4-check.
	Also search for AC_DEFINE and AC_DEFINE_UNQUOTED.
	Also search in configure.ac.
	* configure.ac: Quote first argument of AC_DEFINE.
	* jm-macros.m4 (coreutils_MACROS): Quote the first argument to AC_DEFINE.

	maint: move coreutils-specific syntax check rules into cfg.mk
	* maint.mk (sc_dd_max_sym_length, sc_prohibit_jm_in_m4):
	(sc_root_tests, sc_always_defined_macros, sc_system_h_headers):
	(sc_sun_os_names, sc_tight_scope, sc_no_exec_perl_coreutils):
	Move rules into cfg.mk.
	(sc_strftime_check): Renamed from strftime-check, and moved, too.
	* cfg.mk: Add the above rules.

	portability: accommodate gnulib's getaddrinfo change
	* src/Makefile.am (pinky_LDADD, who_LDADD): Append $(GETADDRINFO_LIB)

	cleanup/modernize: don't test HAVE_MBRTOWC; now gnulib provides it
	* bootstrap.conf (gnulib_modules): Include mbrtowc explicitly.
	* src/ls.c (quote_name): Don't test HAVE_MBRTOWC, now that we're
	guaranteed to have the function.
	* src/wc.c (wc): Likewise.

2008-12-27  Eric Blake  <ebb9@byu.net>

	doc: mention long option abbreviation
	* doc/coreutils.texi (Common options): Give example of
	abbreviating options.
	* THANKS: Update.
	Reported by Adam Jimerson.

2008-12-26  Jim Meyering  <meyering@redhat.com>

	maint: ensure dd's computation of O_FULLBLOCK uses all O_ symbol names
	* src/dd.c (O_FULLBLOCK): Use a more uniform initializer, that makes
	it easier to extract all O_ symbol names.
	* maint.mk (syntax-check-rules): Also search for sc_ rules in cfg.mk.
	(sc_root_tests): Ensure that this rule sets $diff.
	* cfg.mk (sc_dd_O_FLAGS): New rule.

2008-12-26  Matt Harden  <matth@mindspring.com>

	dd: add support for opening files in Concurrent I/O (CIO) mode
	* src/dd.c (O_CIO): New flag.
	* src/dd.c (O_FULLBLOCK): Add O_CIO to the list of flags that
	O_FULLBLOCK should be greater than.
	* src/dd.c (flags): Give the name "cio" to the new O_CIO flag, mirroring
	the treatment of O_DIRECT.
	* src/dd.c (usage): Add a description of the new flag when it is available.
	* doc/coreutils.text (dd invocation): Describe the new flag.
	* NEWS: Mention the new feature.

2008-12-23  Jim Meyering  <meyering@redhat.com>

	build: do enable $(WERROR_CFLAGS) for src/ files.
	This reverts the more recent commit (of two) entitled "build:
	add configure-time --enable-gcc-warnings option; avoid warnings".
	Pádraig Brady spotted the contradiction between the log message
	and actual change.

	This reverts commit 292d68565a34b237cd2bf586ace545b7cd3dbfcf.

2008-12-23  Pádraig Brady  <P@draigBrady.com>

	doc: stty: Clarification of some input and output settings
	* doc/coreutils.texi (stty invocation): Clarify any
	ambiguity in regard to the direction of input and output settings.
	Add some notes on the case changing settings.
	Most of the text was supplied by Dan Jacobson.

	timeout: remove problematic casts
	* src/timeout.c (apply_time_suffix): Change input parameter from
	unsigned int to unsigned long, which is the type of the variable it's
	actually manipulating.  This removes the need for the cast which was
	giving a warning with the gcc options: -fstrict-aliasing
	-Wstrict-aliasing.  Also add a check for overflow possible on 16-bit
	platforms, and fix indents.
	(main): Remove a redundant cast in the alarm() call.

2008-12-21  Jim Meyering  <meyering@redhat.com>

	* .x-sc_require_config_h: Remove obsolete regexps.

	maint.mk: enforce the "include <config.h> first" rule
	* maint.mk (sc_require_config_h_first): New rule.
	* .x-sc_require_config_h_first: New file.

	build: add configure-time --enable-gcc-warnings option; avoid warnings
	* bootstrap.conf (gnulib_modules): Add "warnings" module.
	* configure.ac: Add --enable-gcc-warnings, derived from code in bison.
	* src/Makefile.am (AM_CFLAGS): Set to $(WARN_CFLAGS) # $(WERROR_CFLAGS)
	* lib/Makefile.am (AM_CFLAGS): Change spelling to $(WARN_CFLAGS)
	Don't use $(WERROR_CFLAGS), yet.
	* src/system.h (usage): Declare.
	* src/base64.c (usage): Declare to be global, for consistency.
	* src/timeout.c (usage): Likewise.
	* src/truncate.c (usage): Likewise.
	* src/getlimits.c (usage): Likewise.
	* src/pinky.c (ttyname): Declare with prototype, rather than an
	empty argument list.
	* src/who.c (ttyname): Likewise.
	* src/su.c (crypt, getusershell, setusershell, endusershell): Likewise.

	build: turn on $(WERROR_CFLAGS) for src/

	build: add configure-time --enable-gcc-warnings option; avoid warnings
	* bootstrap.conf (gnulib_modules): Add "warnings" module.
	* configure.ac: Add --enable-gcc-warnings, derived from code in bison.
	* src/Makefile.am (AM_CFLAGS): Set to $(WARN_CFLAGS) # $(WERROR_CFLAGS)
	* lib/Makefile.am (AM_CFLAGS): Change spelling to $(WARN_CFLAGS)
	Don't use $(WERROR_CFLAGS), yet.
	* src/system.h (usage): Declare.
	* src/base64.c (usage): Declare to be global, for consistency.
	* src/timeout.c (usage): Likewise.
	* src/truncate.c (usage): Likewise.
	* src/getlimits.c (usage): Likewise.
	* src/pinky.c (ttyname): Declare with prototype, rather than an
	empty argument list.
	* src/who.c (ttyname): Likewise.
	* src/su.c (crypt, getusershell, setusershell, endusershell): Likewise.

2008-12-17  Pádraig Brady  <P@draigBrady.com>

	doc: Remove curly quotes from shell examples in man pages
	Use \(aq rather than a literal ' as groff will convert apostrophe
	to a right quote (\u2029) in utf8 locales for example.
	Stepan Kasal details the issue and fix here:
	http://lists.gnu.org/archive/html/bug-coreutils/2008-12/msg00124.html

2008-12-16  Jim Meyering  <meyering@redhat.com>

	ChangeLog-2008: say ChangeLog files are no longer manually maintained
	and point to HACKING's policy.  Suggestion from Dan Jacobson.

	du: -H now does what POSIX requires
	* src/du.c (usage): Update --help output.
	(main): Move -H-handling code from the --si block to
	the one for --dereference-args (-D).
	* doc/coreutils.texi (du invocation): Update description.
	* NEWS (Changes in behavior): Mention this.

2008-12-13  Jim Meyering  <meyering@redhat.com>

	doc: pr: formatting corrections
	* doc/coreutils.texi (pr invocation): Fix some overzealous uses of @var.
	Reported by Andreas Schwab.

2008-12-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	more portable bootstrap procedure
	* bootstrap (get_version): Fix portability issues in sed script.
	(check_versions): For buildreq apps, honor the corresponding
	$APP variable like $AMTAR, $AUTOCONF.
	(usage): Document this.
	(update_po_files): Honor $SHA1SUM.
	(main): Honor $AUTOPOINT, $ACLOCAL, $AUTOCONF, $AUTOHEADER,
	$AUTOMAKE, $LIBTOOLIZE.

2008-12-03  Jim Meyering  <meyering@redhat.com>

	tests: ensure that chmod, chgrp and chown honor --silent
	* tests/chmod/silent: New file, to test all three programs.
	* tests/Makefile.am (TESTS): Add chmod/silent.
	* NEWS (Bug fixes): Mention this.
	The bug was introduced in 96a5d2ce6a53d96cb667af78f13e56fadcdb91e6.

2008-12-03  Ondřej Vašík  <ovasik@redhat.com>

	chmod, chown, chgrp: honor --silent (-f) once again
	* chmod.c (process_file): Make -f suppress fts-related diagnostics.
	* chown-core.c (change_file_owner): Likewise.
	Reported via <http://bugzilla.redhat.com/474220>.

2008-12-02  Jim Meyering  <meyering@redhat.com>

	wc: read and process --files0-from= input a name at a time,
	when the file name list is not too large.  Before, wc would always read
	the entire file name list into memory and *then* process each file name.
	wc does read the list into memory when the list is known not to be too
	large; this is done in order to be able to align the output numbers,
	as it does with arguments specified on the command-line
	* src/wc.c: Include "argv-iter.h".
	(main): Rewrite to use argv-iter when the input file name list
	is known to be too large.
	* NEWS (Bug fixes): Mention it.

	du: read and process --files0-from= input a name at a time,
	rather than by reading the entire input into memory and *then*
	processing each file name.
	* src/du.c: Include "argv-iter.h", not "readtokens0.h".
	(main): Rewrite to use argv-iter.
	Call xfts_open on each argument, rather than on the entire
	argv list at once.
	Call print_size here, not from du_files.
	Diagnose read failure.
	* NEWS (Bug fixes): Mention it.
	* THANKS: update.
	Reported by Barry Kelly.  More details in
	http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/15159/

2008-12-01  Jim Meyering  <meyering@redhat.com>

	seq: plug a leak
	* src/factor.c (emit_ul_factor): Call mpz_clear.

	avoid warnings about initialization of automatic aggregates
	* src/system.h (DZA_CONCAT0, DZA_CONCAT): New macros.
	(DECLARE_ZEROED_AGGREGATE): New macro.
	* src/ls.c (quote_name): Use it.
	* src/pathchk.c (portable_chars_only): Use it.
	* src/shred.c (main): Use it.
	* src/stty.c (main): Use it.
	* src/wc.c (SUPPORT_OLD_MBRTOWC): Use it.

	* bootstrap.conf (gnulib_modules): Add argv-iter.

	argv-iter: add tests
	* gl/modules/argv-iter-tests: New module.
	* gl/tests/test-argv-iter.c: New file.

	argv-iter: new module
	* gl/lib/argv-iter.h: New file.
	* gl/lib/argv-iter.c: New file.
	* gl/modules/argv-iter: New file.
	With a suggestion for improved memory management by Pádraig Brady.

	* src/hostname.c (sethostname) [!HAVE_SETHOSTNAME]: Remove declaration.

	cp, mv: remove 3-year-deprecated+warned-about --reply option
	* src/cp.c (reply_args, reply_vals): Remove globals.
	[REPLY_OPTION]: Remove enum.
	(long_opts) ["reply"]: Remove initializer.
	(main): Remove case stmt.
	* src/mv.c: Likewise.
	Don't include "argmatch.h".  No longer used.
	* NEWS (Changes in behavior): Mention this.
	* tests/Makefile.am (TESTS): Remove mv/reply-no.
	* tests/mv/reply-no: Remove file.
	* tests/mv/i-link-no: Update, now that --reply= is gone.

2008-12-01  Pádraig Brady  <P@draigBrady.com>

	doc: Make descriptions of ASCII NUL and --zero-terminated option consistent
	doc/coretuils.texi: Refactor shuf, sort and uniq --zero-terminated
	option to use the same text. Also refer to NUL characters as
	@acronym{ASCII} @sc{nul} consistently.

2008-12-01  Jim Meyering  <meyering@redhat.com>

	doc: enforce @var{lower} policy
	* doc/coreutils.texi: Fix remaining violations.
	* doc/Makefile.am (sc-lower-case-var): New rule.
	Add some command-suppressing "@" directives so that a successful
	"make check" run is less noisy.

2008-12-01  Pádraig Brady  <P@draigBrady.com>

	doc: Tweak info docs to standarise on lower-case @var{file}
	* doc/coreutils.texi: s/@var{FILE}/@var{file}/

	doc: Improve description of --files0-from option
	* doc/coreutils.texi: Describe the most common
	usage of --files0-from=- to read names from stdin.
	* src/du.c: Likewise.
	* src/sort.c: Likewise.
	* src/wc.c: Likewise.

	tests: dd/reblock: Reduce chance of timing related failures
	* tests/dd/reblock: Change the IPC mechanism to the dd process
	under test, from pipes to fifos. Also change the delay
	between data writes to 0.2s for both tests.
	This should increase the chance that the dd process
	will read the data chunks separately.

2008-11-30  Jim Meyering  <meyering@redhat.com>

	m4: avoid a warning from gcc's -Wstrict-prototypes
	* m4/jm-macros.m4 (ARGMATCH_DIE_DECL): Use proper prototype for usage.

	tests: df: skip total-verify if df fails
	* tests/df/total-verify: Skip the test if df fails.

	build: don't reject definition of STREQ
	* maint.mk (sc_prohibit_strcmp): Tighten rule: exclude
	macro definitions like the one in system.h.
	* .x-sc_prohibit_strcmp: Don't exempt src/system.h.

	tests: start long-running cp/link-heap earlier
	* tests/Makefile.am (TESTS): Move cp/link-heap nearer the start of the
	list, so that its termination doesn't delay a parallel "make check".

	tests: avoid failure of cp/link-heap on some systems
	* tests/cp/link-heap: Raise virtual memory limit from 10,000
	to 14,000, to avoid failure on Debian/unstable (libc6 2.7-16).

	remove explicit declaration of putenv, ...
	* src/date.c: ... now that gnulib guarantees that it's in <stdlib.h>.
	* src/env.c: Likewise.

	tests: dd/reblock: avoid occasional failure
	* tests/dd/reblock: Sleep longer to avoid a race condition.
	Reported by Bob Proulx.

2008-11-27  James Youngman  <jay@gnu.org>

	pwd: add pwd -P, -L to TODO
	* TODO: Add to-do entry for -P and -L options of pwd.

2008-11-26  Ondřej Vašík  <ovasik@redhat.com>

	doc: fix typo in units factorization, removed TODO items
	* doc/coreutils: switch typo (switched gibibytes/gigabytes)
	* TODO:          removed missing chcon and runcon documentation from list

2008-11-26  Jim Meyering  <meyering@redhat.com>

	doc: factor out list of suffix-to-number (e.g., KB->1000B) mappings
	* coreutils.texi (multiplierSuffixes, multiplierSuffixesNoBlocks):
	New macros.
	(od invocation, head invocation, tail invocation, split invocation):
	(truncate invocation): Use them.

	doc: tail: one more s/bytes/n/ change
	* doc/coreutils.texi (tail invocation): Make one more
	@var{bytes} -> @var{n} change.

2008-11-26  Pádraig Brady  <P@draigBrady.com>

	doc: tail: fix description of --bytes=N (-c)
	* doc/coreutils.texi (tail invocation): Use @var{n} consistently,
	not a mix of that and @var{bytes}.  Reported by anonymous
	in <http://savannah.gnu.org/bugs/?24934>.

2008-11-23  Karl Berry  <karl@freefriends.org>

	doc: move @shortcontents and @contents from end to start
	* doc/coreutils.texi: Move @shortcontents and @contents from the
	end to the beginning, just after "@end titlepage".

2008-11-23  Jim Meyering  <meyering@redhat.com>

	doc (stat): clarify: there are two sets of format directives
	* doc/coreutils.texi (stat invocation): Clarify description of
	--file-system format directives.

2008-11-23  Karl Berry  <karl@freefriends.org>

	doc (stat): correct formatting in coreutils.texi
	* doc/coreutils.texi (stat invocation): Move the list of regular,
	non-file-system, format directives from the description of --terse,
	out of the enclosing table.

2008-11-22  Jim Meyering  <meyering@redhat.com>

	tests: dd: add a test for the required behavior
	* tests/dd/reblock: New file.  Test for the required functionality.
	Based on an example and discussion from this thread:
	http://lists.gnu.org/archive/html/bug-coreutils/2008-11/msg00153.html
	* tests/Makefile.am (TESTS): Add dd/reblock.

2008-11-22  Pádraig Brady  <P@draigBrady.com>

	Revert part of "dd: avoid unnecessary memory copies"
	This reverts part of commit fbd87029cfc494a72bb73ade27ef46382c5bc832.
	Paul Eggert noticed the problem in
	http://lists.gnu.org/archive/html/bug-coreutils/2008-11/msg00153.html
	* doc/coreutils.texi (dd invocation): Clarify.

2008-11-21  Pádraig Brady  <P@draigBrady.com>

	getlimits: A new utility for use in coreutils' tests
	* src/getlimits.c: A utility to print platform dependent
	limits in a format suitable for use in shell scripts.
	* src/Makefile.am: Add getlimits to list of utilities
	to build but not install. Also add it to the list linked
	with libiconv
	* po/POTFILES.in: Add getlimits to translation list.

	dd: avoid unnecessary memory copies
	* src/dd.c (scanargs): When not otherwise required (e.g. for
	conversion), use two-buffer mode only when the input and output
	buffer sizes differ.  Before, some of the most basic invocations of
	dd, e.g., dd < in > out, would unnecessarily use separate buffers
	and perform memory copies between them.

2008-11-20  Jim Meyering  <meyering@redhat.com>

	cp: use far less memory in some cases
	cp --link was "remembering" many name,dev,inode triples unnecessarily.
	cp was doing the same, even without --link, for every directory in the
	source hierarchy, while it can do its job with entries merely for the
	command-line arguments.  Prompted by a report from Patrick Shoenfeld.
	Details <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15081>.
	* src/copy.c (copy_internal): Refrain from remembering
	name,dev,inode for most files, when invoked via cp --link.
	Record an infloop-avoidance triple for each directory specified
	on the command line, not for each directory in the source tree.
	Don't record a dir-triple when x->hard_link is set.
	* NEWS (Buf fixes): Mention it.
	* tests/cp/link-heap: New file.  Test for cp's lowered memory usage.
	* tests/Makefile.am (TESTS): Add link-heap.

	tests: add a test of cp --preserve=links
	* tests/cp/link-preserve: Add a case and comments.

	cp: remove unused code
	* src/cp-hash.c (remember_created): Remove unused function.
	Remove thus-obviated headers: <stdio.h>, "quote.h", "error.h".
	* src/cp-hash.h (remember_created): Remove declaration.

2008-11-17  Jim Meyering  <meyering@redhat.com>

	doc: HACKING: reference http://www.gnu.org/licenses/why-assign.html
	Suggestion from Patrick Schoenfeld.

2008-11-16  Jim Meyering  <meyering@redhat.com>

	tests: remove debug code that would try to write into /t/k-env
	* tests/ls/no-cap: Remove debugging "tee".

	tests: change misc/printf-surprise so that it doesn't segfault anymore
	* tests/misc/printf-surprise: Disable MALLOC_PERTURB_, so that "make
	check" no longer provokes a segfault from printf(1).  Before, that
	would be detected as a known problem and cause the test to be skipped.
	Adjust the test so that a segfault once again results in test failure.

2008-11-12  Jim Meyering  <meyering@redhat.com>

	tests: remove df/total
	* tests/df/total: Remove file.
	* tests/Makefile.am (TESTS): Remove df/total.
	It is subsumed by df/total-verify.

2008-11-12  Ondřej Vašík  <ovasik@redhat.com>

	* tests/df/total-verify [VERBOSE]: Run df --version, not ls --version.

2008-11-12  Jim Meyering  <meyering@redhat.com>

	avoid spurious test failure when df always fails
	* tests/df/total-verify: Skip upon _df_ failure, not tee failure.
	Reported by Ondřej Vašík.  Details in
	<http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15028>.

2008-11-11  Eric Blake  <ebb9@byu.net>

	jm-macros.m4: avoid syntax issue with newer autoconf
	* jm-macros.m4 (coreutils_MACROS): Make LIB_CAP assignment persistent.

2008-11-11  Jim Meyering  <meyering@redhat.com>

	Update references to GFDL: 1.2 -> 1.3
	* doc/coreutils.texi: Likewise.
	* doc/perm.texi: Likewise.
	* old/fileutils/NEWS: Likewise.
	* old/sh-utils/NEWS: Likewise.
	* old/textutils/NEWS: Likewise.

2008-11-10  Jim Meyering  <meyering@redhat.com>

	make --help print "Report PROGRAM translation bugs to <...>."
	for all but the C/POSIX locale.
	* src/system.h: Include "hard-locale.h".
	(emit_bug_reporting_address): Tell where to report translation bugs.

	don't include "hard-locale.h", now that system.h does
	* src/comm.c: Likewise.
	* src/join.c: Likewise.
	* src/ls.c: Likewise.
	* src/pinky.c: Likewise.
	* src/pr.c: Likewise.
	* src/sort.c: Likewise.
	* src/uniq.c: Likewise.
	* src/who.c: Likewise.

	avoid warnings about discarding "qualifiers from pointer target type"
	Use the new "bad_cast" function or an actual cast-to-"(char *)"
	to avoid warnings.
	* src/system.h (bad_cast): Define.
	* src/chown.c (main):
	* src/chroot.c (main):
	* src/date.c (main):
	* src/du.c (main):
	* src/expand.c (stdin_argv):
	* src/ls.c (decode_switches):
	* src/md5sum.c (main):
	* src/paste.c (main):
	* src/pr.c (col_sep_string, column_separator, line_separator, main):
	* src/sort.c (main):
	* src/split.c (main):
	* src/tail.c (main):
	* src/unexpand.c (stdin_argv):
	* src/yes.c (main):

	avoid a compiler warning
	(strip_program): Declare to be const.

	use xfreopen in place of unchecked freopen
	* bootstrap.conf (modules): Add xfreopen.
	* src/cat.c (main): Include "xfreopen.h".  Use xfreopen.
	* src/cksum.c (cksum): Likewise.
	* src/head.c (head_file, main): Likewise.
	* src/md5sum.c (digest_file): Likewise.
	* src/od.c (open_next_file): Likewise.
	* src/split.c (type_undef): Likewise.
	* src/sum.c (bsd_sum_file, sysv_sum_file): Likewise.
	* src/tac.c (tac_file, main): Likewise.
	* src/tail.c (tail_file, main): Likewise.
	* src/tee.c (tee_files): Likewise.
	* src/tr.c (main): Likewise.
	* src/wc.c (wc_file): Likewise.
	* po/POTFILES.in: Add lib/xfreopen.c

	xfreopen: new module
	* gl/lib/xfreopen.c: New file.
	* gl/lib/xfreopen.h: New file.
	* gl/modules/xfreopen: New file.

2008-11-09  Jim Meyering  <meyering@redhat.com>

	Update URL: s!www.iro.umontreal.ca!translationproject.org/team/...!
	* Makefile.am (THANKS-to-translators): Update URL template.

2008-11-09  James Youngman  <jay@gnu.org>

	install: indicate clearly it's not for installing packages
	* src/install.c (usage): Indicate the program copies files,
	as opposed to installing packages.

2008-11-08  Jim Meyering  <meyering@redhat.com>

	emit more precise bug-reporting instructions
	Hoping that this will decrease the volume of bug reports
	mistakenly directed to the coreutils mailing list.
	* src/system.h (emit_bug_reporting_address): Specify the program
	name in the "Report bugs to <...>." line in each program's --help
	output and man page.  Now, it will say "Report PROGRAM_NAME bugs
	to <...>."  Suggestion from Ondřej Vašík.

2008-11-05  Jim Meyering  <meyering@redhat.com>

	include gnulib's strdup module explicitly
	* bootstrap.conf (gnulib_modules): Include strdup explicitly, to
	keep the latest version of gnulib-tool from omitting this now-marked-
	as-obsolete module.

2008-10-28  Kamil Dudka  <kdudka@redhat.com>

	ls: --color now highlights hard linked files, too
	* src/ls.c (print_color_indicator): Colorize hard linked files.
	* src/dircolors.c: Add color for hard link.
	* src/dircolors.hin: Add color for hard link.
	* tests/ls/hardlink: Test for ls - colorize hard linked files.
	* tests/Makefile.am (TESTS): Add ls/hardlink.
	* NEWS: Mention the change.

2008-10-28  Jim Meyering  <meyering@redhat.com>

	tests: ls/stat-failed: don't discard stderr.
	* tests/ls/stat-failed: Let stderr be recorded, to ease debugging.

2008-10-26  Jim Meyering  <meyering@redhat.com>

	tests: seq: check for today's extended long double fix
	* tests/misc/seq-long-double: New file.  Test for today's bug fix.
	* tests/check.mk (TESTS_ENVIRONMENT): Export CC definition.
	* tests/Makefile.am (TESTS): Add misc/seq-long-double.
	* NEWS (Bug fixes): Mention it.

2008-10-26  Paul Eggert  <eggert@CS.UCLA.EDU>

	seq: improve quality of format-checking code
	* src/seq.c (validate_format): Remove. Migrate its checks into...
	(long_double_format): Report an error and exit if an error is found,
	instead of returning NULL.  All callers changed.
	Use a more-consistent format for diagnostics.
	* tests/misc/seq: Adjust to the more-consistent format for diagnostics.

2008-10-25  Jim Meyering  <meyering@redhat.com>

	factor: avoid compilation failure without libgmp
	* src/factor.c (debug) [!HAVE_GMP]: Define.
	Reported by Bob Proulx.

2008-10-25  Paul Eggert  <eggert@CS.UCLA.EDU>

	factor: remove --bignum and --no-bignum options
	Here's a patch to remove the --bignum and --no-bignum options from
	'factor'.  The case for removing --bignum isn't as strong as that for
	'expr', but still, it seems to me that these options are not needed and
	complicate the documentation unnecessarily.

	* doc/coreutils.texi (factor invocation): Remove --bignum, --no-bignum.
	* src/factor.c (algorithm, ALGORITHM_CHOICE, USE_BIGNUM, NO_USE_BIGNUM):
	Remove; all uses removed.
	(extract_factors_multi): Remove, replacing with....
	(print_factors_multi): New function, with signature similar to that
	of new signature of print_factors_single.
	(print_factors_single): Migrate checking code to caller.
	(print_factors): Use GMP if it's available; don't bother asking user.
	Improve accuracy of check for "large" numbers.
	(long_options, main): Remove support for --bignum.

2008-10-25  Jim Meyering  <meyering@redhat.com>

	tests: df/total: don't fail for an inaccessible mount point
	* tests/df/total: Ignore nonzero exit status from df.

2008-10-25  Paul Eggert  <eggert@CS.UCLA.EDU>

	seq: revert Solaris 8 work-around that caused x86 regression
	* src/seq.c: Don't include <math.h>, <float.h>.
	(abs_rel_diff): Remove.
	(print_numbers): Test for equality, not for an epsilonish value.
	This reverts 4827dd27b0c655a685947aaa01426a5ecba179f3, aka
	v6.10-185-g4827dd2, which broke 'seq' on the x86; for example, it
	causes "seq 9223372036854775807 9223372036854775808" to incorrectly
	output 3 numbers instead of 2.  It's better to punish obsolescent
	hosts that have incorrectly-working floating-point than to punish
	correctly-working hosts.
	* tests/misc/seq: Use 0.9000000000000, rather than
	0.90000000000000000000, to avoid tickling a bug in Solaris 8 strtold,
	which converts "0.9" and "0.9000000000000" correctly, but incorrectly
	converts "0.90000000000000000000" to a smaller value.

2008-10-24  Eric Blake  <ebb9@byu.net>

	group-list: avoid compiler warning
	* src/group-list.c (print_group_list) [!HAVE_GETGROUPS]: Always
	return value.

2008-10-23  Jim Meyering  <meyering@redhat.com>

	ls: use '.' (not +) as SELinux-only alt. access flag in ls -l output
	* src/ls.c (gobble_file) [long_format]: Map SELinux-only to '.',
	any other nonempty combination of MAC and ACL to '+', and all else
	to the usual ' '.  Suggested by Michael Stone.
	* tests/misc/selinux: Adapt: expect '.', not '+'.
	* doc/coreutils.texi (What information is listed): Document this.
	* NEWS (Changes in behavior): Mention it.

2008-10-22  Pádraig Brady  <P@draigBrady.com>

	Remove lzma as a specific build requirement
	* bootstrap.conf: lzma was added as a build requirement
	in the recently added build tools requirements check.
	Remove that as it's quite new and also only required
	for the make dist stage.

2008-10-22  Paul Eggert  <eggert@cs.ucla.edu>

	* src/ls.c (usage): Describe exit statuses more concisely.

2008-10-22  Pádraig Brady  <P@draigBrady.com>

	Add better checks and docs for build tools
	Prompted by a report from Ed Avis:
	<http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14710>

	* README-hacking: Organise LZMA and Valgrind as
	as optional requirements rather than in their own sections.
	Mention bootstrap will now check tool versions.
	* README-prereq: Make a start on specific instructions
	for optaining build tools. Currently we just have notes
	for Fedora linux.
	* bootstrap.conf: Add the list of tools and versions required.
	* bootstrap: Add the logic to check for the required tools,
	and list all required tools and versions if any are missing.

2008-10-22  Jim Meyering  <meyering@redhat.com>

	clean up gl/modules/selinux-at
	* gl/modules/selinux-at:
	Ensure that LIB_SELINUX is cleared, in case it's set in the environment.
	m4-quote the first two args to AC_SEARCH_LIBS.
	Don't violate autoconf's ac_ namespace: s/ac_save/gl_save/
	Drop the useless double quotes around a simple assignment RHS.

2008-10-21  Jim Meyering  <meyering@redhat.com>

	move selinux-h module from gl/ to gnulib
	* gl/lib/se-context.in.h: Remove file.
	* gl/lib/se-selinux.in.h: Likewise.
	* gl/m4/selinux-context-h.m4: Likewise.
	* gl/m4/selinux-selinux-h.m4: Likewise.
	* gl/modules/selinux-h: Likewise.

	prepare to move selinux-h module to gnulib
	* gl/modules/selinux-h (Makefile.am)
	[selinux/selinux.h, selinux/context.h]:
	Remove temporary file and target, in case they're read-only.
	Use $(MKDIR_P), not mkdir -p.
	(License): Relax to LGPLv2+.
	Remove vestigial comments.

	tests: test today's ls-vs-capability fix
	Test for this fix: f3f1ccfd871ee395e7fafc051c1b7dedb39fdfc9.
	* tests/Makefile.am (TESTS): Add ls/no-cap.
	* tests/ls/no-cap: New file.

2008-10-21  Kamil Dudka  <kdudka@redhat.com>

	ls: make it possible to disable file capabilities checking
	* ls.c (print_color_indicator): Do not check for file capability
	if that attribute is not being colored.
	Since 84f6abfe00b4ab533145623638b417a2221f9c75, ls --color would check
	each file for "capabilities".  In <http://bugzilla.redhat.com/467508>,
	James Antill reported that ls --color seemed slower with capabilities
	detection.

2008-10-21  Jim Meyering  <meyering@redhat.com>

	reflect gnulib's removal of lstat.h
	* src/copy.h: Don't include "lstat.h".
	* src/ls.c: Likewise.
	* src/remove.c: Likewise.
	* src/rm.c: Likewise.

2008-10-20  Pádraig Brady  <P@draigBrady.com>

	expr: Fixup authors
	* src/expr.c: Standardise the format of AUTHORS to
	that used in other utils with multiple authors.
	Also add Paul Eggert since he basically rewrote it
	with his bignum fixes.
	* AUTHORS (expr): Add Paul Eggert.

2008-10-19  Jim Meyering  <meyering@redhat.com>

	accommodate gnulib header removals
	* src/copy.c: Don't include "euidaccess.h" or "lchmod.h".
	* src/cp.c: Don't include "lchmod.h".
	* src/ls.c: Don't include "dirfd.h".
	* src/mkdir.c: Don't include "lchmod.h".
	* src/pwd.c: Don't include "dirfd.h".
	* src/remove.c: Don't include "dirfd.h" or "euidaccess.h".
	* src/test.c: Don't include "euidaccess.h".
	* gl/modules/getloadavg.diff: Adjust diff for changed context.
	* src/uptime.c (uptime): Remove declaration.

2008-10-18  Jim Meyering  <meyering@redhat.com>

	* maint.mk (coreutils-path-check): New definition, now run
	only if src/true.c exists.  Factored out of...
	(my-distcheck):  ...here.

2008-10-17  Jim Meyering  <meyering@redhat.com>

	maint: avoid warning in ls.c
	* src/ls.c (has_capability) [!HAVE_CAP]: Add unused attribute.

	maint: avoid warnings due to attribute warn_unused_result
	Now that a (void) cast no longer suffices to ignore warnings from gcc
	about uses of functions marked with the warn_unused_result attribute,
	we need an alternative.  For the record, here's one of the ignorable
	warnings: "copy.c:233: warning: ignoring return value of 'fchown',
	declared with attribute warn_unused_result"
	* bootstrap.conf (gnulib_modules): Import ignore-value.
	* src/copy.c: Include "ignore-value.h".
	(set_owner): Use ignore_value in place of "(void)" casts,
	to ignore lchown and fchown failures.
	* src/cp.c (re_protect): Likewise, to ignore lchown failure.
	* src/remove.c (preprocess_dir): Remove unnecessary "(void)" cast.

2008-10-16  Jim Meyering  <meyering@redhat.com>

	mktemp: diagnose freopen failure
	* src/mktemp [--quiet]: Don't ignore freopen failure.

2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>

	* src/mktemp.c (main): Add 'const' twice to avoid GCC warning.

2008-10-16  Jim Meyering  <meyering@redhat.com>

	build: when po-check fails, say why and suggest a fix
	* maint.mk (po-check): Before, when this check failed, it just
	spat out a diff mentioning two temporary files.  Now, it tells
	you what's wrong and suggests a fix with a patch using the name
	of the affected file (rather than temporary file names) in the
	diff output.

2008-10-16  Eric Blake  <ebb9@byu.net>

	csplit: prefer sigaction over signal
	* bootstrap.conf (gnulib_modules): Import sigaction.
	* src/csplit.c (sigprocmask, siginterrupt) [SA_NOCLDSTOP]: Delete
	workarounds.
	(interrupt_handler, main): Drop use of signal.  Rely on sigaction
	to block fatal signal during cleanup, and to restore it to default
	in case of nested signals.

2008-10-15  Pádraig Brady  <P@draigBrady.com>

	tests: add option processing tests for 'expr'
	* tests/misc/expr: Add tests for various combinations
	of options where the first part of the expression
	could be confused with an option.

2008-10-15  Paul Eggert  <eggert@cs.ucla.edu>

	expr: remove --bignum and --no-bignum options
	* doc/coreutils.texi (expr invocation): Remove the --bignum and
	--no-bignum options.  They weren't really needed, and they broke
	longstanding (albeit nonportable) scripts.
	* src/expr.c: Don't include <assert.h>.  Include "inttostr.h",
	"long-options.h", "verify.h".  Check at compile-time that
	size_t fits in unsigned long int, as the code assumes this in
	several places.
	(HAVE_GMP): Define to 0 if not defined, for convenience.
	(mpz_t, mpz_clear, mpz_init_set_ui, mpz_init_set_str, mpz_add):
	(mpz_sub, mpz_mul, mpz_tdiv_q, mpz_tdiv_r, mpz_get_str, mpz_sgn):
	(mpz_fits_ulong_p, mpz_get_ui, mpz_out_str):
	Supply substitutes when !HAVE_GMP, which work well enough for
	expr's purposes.
	(mp_integer): Remove.  All integers are gmp, if gmp is available.
	(struct valinfo): Remove 'z' member; no longer needed.  The 'i'
	member is always of type mpz_t.
	(enum arithmetic_mode, MP_NEVER, MP_ALWAYS, MP_AUTO, mode):
	Remove; no longer needed.
	(usage): Remove documentation of --bignum and --no-bignum.
	(integer_overflow): Abort if error misbehaves, to pacify GCC.
	Restore old message on arithmetic overflow, to be conservative.
	(die): Omit exit_status parameter; not needed (is always EXPR_FAILURE).
	(string_too_long, USE_BIGNUM, NO_USE_BIGNUM, long_options):
	Remove; no longer needed.
	(main): Don't use getopt_long; this breaks old nonportable scripts.
	(int_value): Arg is unsigned, in case we have strings whose length
	exceeds LONG_MAX (!).
	(int_value, freev, printv, null, tostring, toarith):
	(eval6, eval4, eval3):
	Always use mpz_ functions, to simplify the code.
	(substr_value): Remove; no longer needed.
	(getsize): Simplify the API: one arg rather than 3.  Don't assume
	unsigned long int fits in size_t.
	(promote, domult, dodivide, doadd): Remove; no longer needed.
	* tests/misc/expr: Don't use --bignum to test for bignum support.
	Instead, use big numbers to test this.

2008-10-15  Jim Meyering  <meyering@redhat.com>

	expr: don't interpret argv[0] as an operand
	* src/expr.c (main): Given a first argument like -22 (negative, with
	two or more digits), expr would decrement optind to 0 and then attempt
	to evaluate argv[0].

	doc: cp, mv: remove mention of deprecated --reply= option
	* doc/coreutils.texi (cp invocation, mv invocation): Don't mention it.

2008-10-13  Jim Meyering  <meyering@redhat.com>

	doc: adjust spacing in ls --help output, for better man formatting
	* src/ls.c (usage): Adjust spacing so the "Exit status:" list
	renders well in the help2man-generated man page.

2008-10-13  Ondřej Vašík  <ovasik@redhat.com>

	doc: ls: clarify exit status description
	* src/ls.c (exit_status): Clarify comments.
	(usage): Clarify exit status description in --help output.
	* doc/coreutils.texi (ls invocation): Clarify exit status documentation
	Reported by Greg Metcalfe in <http://bugzilla.redhat.com/446294>.

2008-10-12  Jim Meyering  <meyering@redhat.com>

	doc: reorder tsort/ptx nodes so body and menu ordering are consistent
	* doc/coreutils.texi (tsort invocation, tsort background): Move these
	nodes "down", so that they follow the ptx nodes, thus matching the
	alphabetized order in the menu.
	(tsort background): Make this a subsection.
	Suggested by Karl Berry.

	tests: move check-misc targets from src/Makefile.am to maint.mk
	* src/Makefile.am (check): Remove check-misc.
	(check-misc): Remove target.
	* maint.mk (sc_prohibit_stat_st_blocks): New target.
	(sc_prohibit_S_IS_definition): New target.
	* Makefile.am (EXTRA_DIST): Add .x-sc_prohibit_stat_st_blocks.
	* .x-sc_prohibit_stat_st_blocks: New file.
	Andreas Schwab reported that "make check" could fail to detect
	violation of the no-S_IS*-definition policy.

	tests: df: avoid test failure when using mawk
	* tests/df/total-awk: Rewrite to use $PERL, not $AWK.
	mawk can't even count above 2^31.  Reported by Ed Avis.
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14792/focus=14802
	* tests/df/total-verify: Rename from total-awk.
	* tests/Makefile.am (TESTS): Reflect renaming.

2008-10-10  Jim Meyering  <meyering@redhat.com>

	bootstrap: merge from gnulib

2008-10-07  Ondřej Vašík  <ovasik@redhat.com>

	doc: document runcon and chcon in SELinux context section
	* doc/coreutils.texi: Document runcon and chcon.
	Add minimal SELinux context section.

2008-10-06  Ondřej Vašík  <ovasik@redhat.com>

	chcon: remove traces of unimplemented --change (-c) option
	This option was never supported in upstream coreutils.
	* chcon.c (usage): Remove --change (-c) from help message.
	(main): Remove 'c' from getopt string.
	Remove related and now-unused enums.

2008-10-06  Andreas Dilger  <adilger@sun.com>

	stat: add lustre filesystem type
	* src/stat.c (human_fstype) [S_MAGIC_LUSTRE]: Add case.
	Make "stat -f" recognize the "Lustre" filesystem type.
	<http://en.wikipedia.org/wiki/Lustre_(file_system)>
	* NEWS: Mention this feature.

2008-10-06  Jim Meyering  <meyering@redhat.com>

	remove.c: avoid compile failure on OS/2
	* src/remove.c (dirent_inode_sort_may_be_useful): Guard also with
	"#if defined __linux__".  Reported by Elbert Pol.

2008-10-05  Jim Meyering  <meyering@redhat.com>

	post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	version 7.0
		* NEWS: Record release date.

	* maint.mk (alpha beta major): Add "-a" to git commit ... command.

2008-10-04  Jim Meyering  <meyering@redhat.com>

	tests: fix the install/strip-program test
	* tests/install/strip-program: Use $PREFERABLY_POSIX_SHELL,
	not POSIX_SHELL.  The latter may be empty, and would fail
	on OpenBSD 3.9.
	* tests/check.mk (TESTS_ENVIRONMENT): Propagate
	PREFERABLY_POSIX_SHELL to tests.

2008-10-03  Jim Meyering  <meyering@redhat.com>

	timeout.c: don't use perror; exit 125 upon failed fork
	* src/timeout.c (main): Use "error", not perror.
	Elbert Pol noticed a build failure on OS/2.
	* src/timeout.c (main): Exit 125 (not errno) upon failed fork.
	Make the failed fork diagnostic match the one from install.c.

2008-10-03  Kamil Dudka  <kdudka@redhat.com>

	ls and sort: use filevercmp instead of strverscmp
	* src/ls.c (cmp_version): Use filevercmp instead of strverscmp.
	* src/sort.c (usage): Remove mna reference to strverscmp(3).
	(compare_version): Use filevercmp instead of strverscmp.
	* bootstrap.conf: Add filevercmp to list of gnulib modules.
	* tests/misc/sort-version: Remove conflicting string and enhance test.
	* NEWS: Mention the change.

2008-10-02  Jim Meyering  <meyering@redhat.com>

	tests: skip a root-only test when configured without libcap
	* tests/ls/capability: Test for HAVE_CAP definition in config.h.

2008-10-02  Eric Blake  <ebb9@byu.net>

	ignore additional built file

	remove.c: allow compilation on cygwin
	* src/remove.c (dirent_inode_sort_may_be_useful)
	[!HAVE_STRUCT_DIRENT_D_TYPE]: Elide definition when there is no point
	in trying to use it.

2008-10-02  Jim Meyering  <meyering@redhat.com>

	bootstrap: merge from gnulib
	* bootstrap: add submodule support, git-merge-changelog

2008-10-01  Jim Meyering  <meyering@redhat.com>

	remove.c: combine two helper functions, to avoid sign-extension
	* src/remove.c (fs_handles_readdir_ordered_dirents_efficiently):
	Remove function, so as not to have to worry about the type of
	statfs.f_type and sign extension.
	(dirent_inode_sort_may_be_useful): Adjust comment.
	Perform the switch directly on the struct.member here, instead.
	Andreas Schwab spotted the potential for a sign-extension bug,
	that happens not to bite for the S_* f_type values currently used.

	rm: don't preprocess a directory on a file system of type tmpfs or nfs
	The preprocessing phase is not necessary on tmpfs, and induces
	a 20% performance decrease when removing a 2M-entry directory.
	* src/remove.c (fs_handles_readdir_ordered_dirents_efficiently):
	(dirent_inode_sort_may_be_useful): New functions from gnulib/fts.c.
	They'll probably become a gnulib module -- eventually.
	(preprocess_dir): Use dirent_inode_sort_may_be_useful.

	tests: use our new timeout program
	* tests/rm/ext3-perf: Also, record set-up duration and FS type.

2008-09-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	fix make variable quotation error
	* tests/check.mk (TESTS_ENVIRONMENT): Quote shell variable
	$tmp__, fix expansion.

2008-09-29  Jim Meyering  <meyering@redhat.com>

	seq: solve e13188e7ef7bbd609c1586332a335b4194b881aa more cleanly
	* src/seq.c (print_numbers): Don't switch c_strtold -> strtold
	in order to accommodate the locale-dependent behavior of our internal
	asprintf use.  Instead, simply set the locale to C before calling
	asprintf, and then set it back afterwards.

2008-09-28  Jim Meyering  <meyering@redhat.com>

	build: avoid spurious valgrind warning about uses of touch
	* .vg-suppressions (utimensat-NULL): Avoid bogus valgrind warning
	that appears on at least Fedora 9.

	mktemp: plug an inconsequential leak
	* src/mktemp.c (main) [lint]: Free template.

	THANKS: add Erik Auerswald

2008-09-28  Eric Blake  <ebb9@byu.net>

	remove.c: avoid compiler warning
	* src/remove.c (compare_ino, dirent_count)
	[!HAVE_STRUCT_DIRENT_D_TYPE]: Mask declaration when unused.

2008-09-27  Jim Meyering  <meyering@redhat.com>

	rm -r: avoid O(n^2) performance for a directory with very many entries
	This enhancement works around a problem that is specific to at least
	ext3 and ext4 file systems.  With them, it would take hours to remove
	a two-million-entry directory.  RAM-backed file systems (tmpfs) are
	not affected, since there is no seek penalty.
	* remove.c (rm_malloc, rm_free, compare_ino): New functions.
	(dirent_count, preprocess_dir): New function.
	[struct readdir_data]: New struct.
	(remove_cwd_entries): Call preprocess_dir.
	* tests/rm/ext3-perf: New file.  Test for the performance fix.
	* NEWS: mention the new feature

	remove.c: don't use xmalloc; don't let obstack call exit on failure
	(obstack_chunk_alloc, obstack_chunk_free): Don't define.
	(top_dir): Param is no longer "const".
	Use malloc, not xmalloc, and call longjmp upon failed malloc.
	(obstack_init_minimal): New function.
	(ds_init): Don't use xmalloc.  Instead, use caller-supplied buffer.
	Use obstack_specify_allocation_with_arg, not obstack_init, so
	that we control what happens upon allocation failure.
	Arrange for ds_free not to free uninitialized if/when
	any obstack_specify_allocation_with_arg allocation fails.
	(ds_free): Don't free DS, now that it's no longer malloc'd.
	(rm): Allocate DS on the stack.
	Arrange to handle ds_init allocation failure.

	step1

	* maint.mk (my-distcheck): remove duplicate c99-related test code

	maint: allow more C99 constructs; stop maintaining c99-to-c89 patch set
	* cfg.mk (local-checks-to-skip): Add patch-check.
	With the recent changes to remove.c, I no longer wish
	to maintain the c99-to-c89 patch set.

2008-09-26  Jim Meyering  <meyering@redhat.com>

	seq -0.1 0.1 2: print final number when locale's decimal point is ","
	* src/seq.c (print_numbers): Use strtold, not c_strtold to convert
	from just-formatted-using-asprintf string back to double, since
	asprintf may have used something other than "." as the decimal point.
	Reported by lsof@nodata.co.uk as <http://bugzilla.redhat.com/463556>.
	Thanks to Ondřej Vašík for discovering that the bug was locale-related.

	    $ LC_ALL=cs_CZ.UTF-8 seq -0.1 0.1 2|grep 2.0
	    [Exit 1]
	    $ seq -0.1 0.1 2|grep 2.0
	    2.0

	* tests/check.mk (TESTS_ENVIRONMENT): Add LOCALE_FR_UTF8, for...
	* tests/misc/seq [locale-dec-pt]: New test for the above.
	* NEWS (bug fix): Mention it.

	maint: relax a check so "make distcheck" succeeds again
	* maint.mk (makefile-check): Relax the check, in order to exempt
	the necessary use of a sole @...@-delimited Makefile.am variable.

2008-09-24  Jim Meyering  <meyering@redhat.com>

	maint: avoid using find -name Makefile.am; could get false positives
	* maint.mk (makefile-check): Instead, search for the offending
	@...@ construct only in version-controlled files.

2008-09-24  Benno Schulenberg  <bensberg@justemail.net>

	pinky: gettextize two missed strings
	Additionally differentiate the strings for unknown idle time and
	unknown real name so they can be translated differently.

2008-09-24  Jim Meyering  <meyering@redhat.com>

	cp.c: adjust a comment to make it consistent with documentation
	'-a' is equivalent to -dpR, so s/-dpPR/-dpR/;  the -P is redundant,
	since -d already implies -P, and both --help and "info cp" say -dpR:
	Corresponding doc changes: 080ac7785071c7f135711a39e57c71d9057d9bd7
	b7c2db676635518c06add0dd570543ae83e21f2e.

2008-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	fix installation with ./ginstall in src
	* src/Makefile.am (cu_install_program): New variable, set to
	either ./ginstall or @INSTALL_PROGRAM@ (for cross compilation).
	(INSTALL_PROGRAM): Override AC_SUBST unconditionally, to avoid
	warning, and wrong initialization order.

2008-09-22  Benno Schulenberg  <bensberg@justemail.net>

	doc: alphabetize 'who's option descriptions
	* doc/coreutils.texi (who invocation): Alphabetize.

2008-09-19  Benno Schulenberg  <bensberg@justemail.net>

	who --help: add a general description

	uptime --help: put together message parts that belong together

	tr --help: gettextize a single paragraph as a single string
	Breaking a paragraph into several strings is awkward for translators.

	tail: gettextize the string, "standard input"

	tail --help: move the --retry entry into alphabetical order
	* src/tail.c (usage): Also simplify --retry description, split a
	long string in two, remove a stray period, and add the usual indent.

	shred --help: lowercase a stray capital

	stty --help: correct the alignment of an entry
	* src/stty.c (usage): Also remove a stray period, and ungettextize
	a debugging message.

	sort --help: sort the options better alphabetically
	Take the opportunity to split the long message into three parts.

	rmdir --help: use lower case in option description; adjust indentation

	remove.c: move comment to right before string, so gettext will pick it up

	pr --help: elide arguments after short options that allow a space
	* src/pr.c (usage): Also, put the -S option with its description.

	od: ungettextize debugging messages

	nohup, remove, tr: also gettextize the alternative messages

	od --help: avoid concatening two messages without a newline
	src/od.c (usage): Better: make them into two separate paragraphs.

	mkfifo, mknod --help: put -Z option in its alphabetical position
	Options are normally sorted by their short form, not their long form.
	Also line up their descriptions.

2008-09-19  Jim Meyering  <meyering@redhat.com>

	doc: coreutils.texi (csplit invocation): Add an example.

2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	various VPATH-related fixes
	* maint.mk (VC_LIST): Prepend '$(srcdir)/'.
	(patch-check): Fix to make it work with a VPATH build.
	* src/Makefile.am (sc_tight_scope): Likewise.
	* man/Makefile.am (.x.1): Do not make outputs unwritable.

2008-09-14  Jim Meyering  <meyering@redhat.com>

	stat: remove obsolete and undocumented option, --filesystem
	* src/stat.c: Remove obsolete and undocumented --filesystem.

2008-09-13  Jim Meyering  <meyering@redhat.com>

	tests: reenable disabled test, now that automake can handle it
	This reverts the change in ae1c205fc473589d028ef63785926263843555cd.

2008-09-11  Jim Meyering  <meyering@redhat.com>

	tests: temporarily disable part of "make distcheck"
	* maint.mk (install-transform-check): Temporarily disable.

	tweak wording and check to avoid failure
	* doc/coreutils.texi (printf invocation): Tweak wording.
	* doc/Makefile.am (check-texinfo): Allow "search path".

2008-09-10  Jim Meyering  <meyering@redhat.com>

	doc: mention which commands may be built-in functions
	* doc/coreutils.texi (mayConflictWithShellBuiltIn): New macro.
	(mknod invocation, stat invocation, echo invocation)
	(printf invocation, test invocation, pwd invocation)
	(nice invocation, kill invocation, sleep invocation): Use it.
	(printf invocation): Invoke via "env" rather than using a
	literal /usr/local/bin/ prefix in examples.

2008-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	simplify installation rules, using new Automake
	This relies on development Automake to provide multi-file
	installation, and avoids relying on undocumented Automake
	interfaces.  It also removes special-casing for `['.
	* configure.ac (AM_INIT_AUTOMAKE): Depend on 1.10a.
	(CROSS_COMPILING): New Automake conditional.
	* src/Makefile.am (install-exec-am, filtered_PROGS)
	(d_bindir, cu-install-binPROGRAMS): Remove.
	(INSTALL_PROGRAM) [!CROSS_COMPILING]: Set to `./ginstall'.

	fix minor shell issues in test suite
	* tests/misc/help-version: Fix bad quoting.
	* tests/cp/same-file: Fix unportable shell quoting.
	* tests/mv/part-symlink: Likewise.

2008-09-10  Jim Meyering  <meyering@redhat.com>

	tests: don't use "local" in bourne shell scripts
	* tests/test-lib.sh (remove_tmp_, skip_if_mcstransd_is_running_):
	Avoid failure on Solaris 11, since their /bin/sh passes the tests
	in posix-shell.m4, yet does not support "local" (which is not POSIX).

	tests: use "Exit $fail", not (exit $fail); exit $fail
	* tests/test-lib.sh (Exit): New function by Ralf Wildenhues in automake
	http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=20594c08f63
	* tests/**: Convert all uses:

	This restrictive change converted the vast majority:

	  git grep -l '^(exit \$fail); exit \$fail$' \
	    | xargs perl -pi -e 's/'^\(exit \$fail\); exit \$fail$/Exit \$fail/'

	And this did the rest, plus a few undesirable ones, so I manually
	backed out the changes to ChangeLog-* and build-aux/check.mk:

	  git grep -l -E '\(exit [^)]+\); exit ' \
	    | xargs perl -pi -e 's/\(exit (.+?)\); exit \1/Exit $1/'

2008-09-08  Jim Meyering  <meyering@redhat.com>

	tests: move input-tty into a test-lib.sh function
	* tests/test-lib.sh (require_controlling_input_terminal_): New function, from
	* tests/input-tty: ...here.  Remove file.
	* tests/Makefile.am (EXTRA_DIST): Remove input-tty.
	* tests/mv/i-3: Use the function, not the file.
	* tests/misc/stty: Likewise.
	* tests/misc/stty-row-col: Likewise.
	* tests/misc/stty-invalid: Likewise.

2008-09-07  Jim Meyering  <meyering@redhat.com>

	tests: work around Solaris 11 bug
	* tests/misc/printf-surprise: Accept bogus prefix on stderr output.

	tests: don't let rounding-to-1KB blocks provoke a failure
	* tests/df/total-awk: Use df's --block-size=512 option.

	tests: don't fail due to built-in sleep from Solaris 11's /bin/sh
	* tests/misc/help-version (id_args): Invoke via env to ensure we
	run the just-built version of sleep.

2008-09-06  Kamil Dudka  <kdudka@redhat.com>

	install: new option: --strip-program,
	...to specify the program used to strip binaries
	* src/install.c (main): Handle new option --strip-program.
	(strip): Use strip program from global variable strip_program.
	(usage): Mention new option --strip-program in --help.
	* tests/tests/strip-program: Test case for new option --strip-program.
	* tests/Makefile.am: Add new test case to test set.
	* doc/coreutils.texi: Mention new option --strip-program.
	* NEWS: Mention the change.
	* TODO: Remove completed task.

2008-09-03  Kamil Dudka  <kdudka@redhat.com>

	df: new option: --total to print grand totals
	* src/df.c (add_uint_with_neg_flag): New function to add two integral
	values with separate negation flag.
	(show_dev): New parameter force_fsu to display numbers directly. Collect
	summary statistics on each printed device.
	(usage): Mention new option --total in --help.
	(main): Initialize summary on program start. Handle new option --total.
	* tests/df/total: Dummy test case for new --total option.
	* tests/df/total-awk: Better test case for new --total option (requires
	awk).
	* doc/coreutils.texi: Mention new parameter --total.
	* NEWS: Mention the change.
	* TODO: Removed completed task.

2008-09-03  Jim Meyering  <meyering@redhat.com>

	TODO: add an item for a chmod optimization

2008-08-31  Jerry Snitselaar  <dev@snitselaar.org>

	env, groups: remove duplicate inclusion of <getopt.h>
	* src/env.c: Remove redundant #include.
	* src/groups.c: Likewise.
	Tiny change.

2008-08-26  Jim Meyering  <meyering@redhat.com>

	generate version.c and version.h
	* src/Makefile.am (version.c, version.h): New rules.  Generate.
	(nodist_libver_a_SOURCES): Define
	* .gitignore: Add src/version.c and src/version.h.
	(DISTCLEANFILES): Add version.c and version.h.

	use new global, "Version", rather than macro, VERSION
	With this change, a version-string update no longer
	forces recompilation of 100+ src/*.o files.
	* src/version.c (Version): New global.  New file.
	* src/version.h: Declare it.
	* src/Makefile.am: Put it in a library that everyone links to.
	(noinst_LIBRARIES, libver_a_SOURCES): Define.
	(LDADD): Add libver.a.
	(sc_tight_scope): Use perl (was sed), and a more relaxed regexp
	to build the global-variable-name-recognizing regexp list.
	* src/system.h: Include "version.h".
	(case_GETOPT_VERSION_CHAR): Use Version rather than VERSION.
	* src/basename.c (main): Use Version rather than VERSION.
	* src/chroot.c (main): Likewise.
	* src/cksum.c (main): Likewise.
	* src/dd.c (main): Likewise.
	* src/dirname.c (main): Likewise.
	* src/echo.c (main): Likewise.
	* 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/sync.c (main): Likewise.
	* src/test.c (main): Likewise.
	* src/timeout.c (main): Likewise.
	* src/true.c (main): Likewise.
	* src/tsort.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.

	bootstrap: preserve permissions of more copied files
	* bootstrap (cp_mark_as_generated): Preserve perms of copied files.
	Remove a kludge, now that this is fixed.

2008-08-23  Bruno Haible  <bruno@clisp.org>

	doc: clarify wc -L documentation
	* doc/coreutils.texi (wc invocation): Explain what the -L option
	measures.

2008-08-20  Eric Blake  <ebb9@byu.net>

	ls: adjust to gnulib change
	* src/ls.c (includes): "strverscmp.h" no longer exists.

2008-08-19  Eric Blake  <ebb9@byu.net>

	.gitignore: ignore more files
	* .gitignore: Ignore directories created by gnulib.

	.gitattributes: generalize
	* .gitattributes: Relax the glob pattern, so it matches *.texinfo, too.
	Suggest a POSIX BRE, rather than one that uses the GNU extension, \\+.

	sort: improve usage wording
	* src/sort.c (usage): Mention that -k defaults to end of line if
	POS2 omitted.
	* THANKS: Update.
	Reported by Tim Ryan.

2008-08-15  Jim Meyering  <meyering@redhat.com>

	adjust

2008-08-15  Bruce Korb  <bkorb@gnu.org>

	sort: new option, --sort=version, for version number ordering
	* src/sort.c [struct keyfield] (version): New member.
	(usage): Describe --version-sort.
	(sort_options): Add 'V'.
	(long_options): Add "version-sort".
	(CHECK_TABLE, _ct_, SORT_TABLE, _st_): Define new macros.
	(check_args, sort_args, sort_types): Use these new macros in declarations.
	(ARGMATCH_VERIFY): Remove use.  No longer needed.
	(compare_version): New function.
	(key_compare): Add a case.
	(check_ordering_compatibility): Handle new type.
	(main): Likewise.  Reformat two expressions for readability.
	* tests/misc/sort-version: new test file
	* tests/Makefile.am: add it to the list
	* doc/coreutils.texi (sort invocation): Document it.
	* NEWS: Mention the new feature.

2008-08-14  Jim Meyering  <meyering@redhat.com>

	set envvars via "env" to avoid spurious set -x output from bad shells
	* tests/dd/misc: Set LC_ALL=C via env.
	* tests/cp/thru-dangling: Set POSIXLY_CORRECT via env.
	This is necessary at least on AIX 5.3.
	Reported by Jeph Cowan and Ralf Wildenhues.  Details here:
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14235/focus=14257

	"expr --bignum 1" now fails when expr is built without libgmp
	* src/expr.c (main): When --bignum is requested, yet expr was built
	without libgmp, exit nonzero (3) in addition to giving a diagnostic.

	mktemp, sort, tac: don't use undefined after mkstemp failure
	When mkstemp fails, the template buffer may have undefined
	contents, so we must not print it.
	* src/sort.c (create_temp_file): Use temp_dir, not "file"
	when diagnosing failed mkstemp, because "file" may be undefined.
	* tests/misc/sort-merge: Adjust for new expected output.
	Jeph Cowan and Ralf Wildenhues reported the test failure:
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14235/focus=14257
	* src/tac.c (copy_to_temp): Don't use template buffer after
	failed mkstemp call, since its contents may be undefined.
	* tests/misc/tac (pipe-bad-tmpdir): New test for the above.
	* src/mktemp.c (main): Save a copy of the template string,
	solely for use in case mkstemp fails.
	* tests/misc/mktemp (pipe-bad-tmpdir): New test for the above.

2008-08-12  Benno Schulenberg  <bensberg@justemail.net>

	kill: micro grammar nit in description of SIGNAL

	groups: let synopsis show that the command allows multiple usernames
	Also make the docstring say so.

	id: remove superfluous condition test; it is caught at -Z above

	id: gettextize a few missed tiny strings

	fmt: remove the 'no file' sentence; the standard phrase is given below
	Replace the sentence with a more useful explanation of -DIGITS.

2008-08-11  Benno Schulenberg  <bensberg@justemail.net>

	echo: correct description of \c
	* src/echo.c (usage): Correct description of \c.
	* coreutils.texi (echo invocation): Likewise.
	* src/echo.c: Remove --help-duplicating comment.

	doc: the quote operator for expr is '+', not 'quote'

	factor: remove duplicate docstring; use the more detailed one

	echo: gettextize the alternative option description too

	dd: clarify meaning of multiplication factors; put xM in order

	doc: remove stray word from date's field width description

	date: remove confusing and unneeded sentence from --help
	It makes it unclear what 'sequences' refers to,
	and the -u option already says enough.

	printenv: say what it does when variables are specified

	doc: put the exitstatus paragraph in a better place
	* doc/coreutils.texi (tsort invocation): move two lines

	cp: move a newline to make second message identical to others

	who: Gettextize two forgotten strings

2008-08-10  Jim Meyering  <meyering@redhat.com>

	sort: remove unnecessary declaration of strtod
	* src/sort.c (STDC_HEADERS): Remove declaration of strtod.

	sort: avoid erroneous cast
	* src/sort.c (OPEN_MAX): Define if not already defined.
	(MAX_NMERGE): Remove definition.
	(specify_nmerge): Don't cast MAX_NMERGE (of type size_t) to unsigned int.
	Instead, use OPEN_MAX as the fall-back value.

	sort: don't print uninitialized in diagnostic
	* src/sort.c (specify_nmerge): Do use uinttostr value.
	Provoke with e.g., sort -m --batch-size=18446744073709551617
	Omit quotes around known-numeric value in diagnostic.
	* tests/misc/sort-merge [nmerge-big]: Tighten ERR_SUBST regexp
	to require a numeric value in that diagnostic, so this particular
	failure cannot reappear.

2008-08-09  Jim Meyering  <meyering@redhat.com>

	* .gitattributes: Better diff output for texinfo sources.

	dd.c: reduce duplication in new O_FULLBLOCK-defining code
	* src/dd.c (MULTIPLE_BITS_SET): New macro, extracted from...
	(multiple_bits_set): ...this function.
	Use a single-line, and far simpler expression (no need to list all
	O_* symbols again) to validate the derived O_FULLBLOCK value.

	* coreutils.texi (factor invocation, expr invocation): Adjust wording.

	expr: avoid compiler warnings
	* src/expr.c (die): New "noreturn" function to wrap one-arg use of
	error
	(string_too_long): Use die rather than error.
	(toint): Remove definition of now-unused function.
	(eval6): Remove a little duplication.
	Use die rather than error.
	(dodivide): Remove declaration of now-unused variable.

	* tests/misc/expr: Add tests of the new GMP-based code.

2008-08-06  James Youngman  <jay@gnu.org>

	expr: support arbitrary-precision arithmetic
	* src/Makefile.am (expr_LDADD): Link expr against GNU MP.
	* doc/coreutils.texi (expr invocation): Describe --bignum,
	--no-bignum.   Explain the new arbitrary-precision functionality.
	* NEWS: Indicate that arbitrary-precision arithmetic is now
	supported in expr.
	* src/expr.c (enum valtype): Added mp_integer, signifying a GNU MP
	number.
	(usage): Document the new options --bignum and --no-bignum which
	force and prohibit the use of arbitrary-precision arithmetic,
	respectively.
	(long_options): data structure for getopt_long, which we need to
	use to parse the options mentioned above.
	(main): parse these options with getopt_long instead of
	parse_long_options.
	(valinfo): Downgrade the numeric member of the union from
	intmax_t to signed long, since MP lacks functions for promoting an
	intmax_t to an arbitrary-precision quantity.
	(enum arithmetic_mode): Represents the current choice between
	--bignum, --no-bignum and the default (automatically switch from
	one to the other if needed).
	(integer_overflow): issue a more explicit error message indicating
	that MP is not available.
	(string_too_long): new function, emits a fatal error message for
	the case where an argument to the 'index' expression is too long
	for a string offset to be represented.
	(int_value): With --bignum, create the value as mp_integer rather
	than plain integer.
	(substr_value): factored out of eval6; implements "substr".
	(freev): also destroy mp_integer values.  Check that no mp_integer
	values exist if --no-bignum was specified.
	(printv, null, tostring): support mp_integer.
	(toint): new funtion for converting from string or mp_integer to
	integer.
	(getsize): extracts a size_t value from a VALUE object; used to
	implement substr.
	(promote): promotes a value from integer to mp_integer.
	(domult, dodivide): functions for multiplication and division,
	factored out of eval4.
	(doadd): addition/subraction function, factpred out of eval3.
	(eval3): support mp_integer types; call doadd.
	(eval4): support mp_integer types; call domult, dodivide.
	(eval6): support mp_integer offsets and lengths for "substr" and
	"index".
	* TODO: Mention that expr supports arbitrary-precision arithmetic,
	and suggest that this might also be a good idea for seq.
	* AUTHORS (expr): Add James Youngman.

	doc: mv,cp: undocument the --reply option
	* doc/coreutils.texi (mv invocation): Remove documentation for mv --reply.
	(cp invocation): Likewise.
	* NEWS: mention this.

	document the supported baud rates beyond 38400
	* doc/coreutils.texi (Special):  Document the supported baud rates
	beyond 38400.

2008-08-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	ls: ignore spurious getfilecon failure due to lack of SELinux support
	* src/ls.c (gobble_file): Upon failed getfilecon, treat an errno value
	of EOPNOTSUPP just like ENOTSUP.  See <http://bugs.debian.org/488549>.

2008-08-05  James Youngman  <jay@gnu.org>

	Document uptime.
	* doc/coreutils.texi (uptime invocation): document uptime.
	* TODO: uptime is documented now.
	* src/uptime.c (print_uptime): Use fprintftime to print the time, rather
	than printf. This should make the situation better for translations.

2008-08-04  Benno Schulenberg  <bensberg@justemail.net>

	doc: correct and normalize --help output of several tools
	* src/chroot.c (usage): Add "[ARG]" to synopsis.
	* src/cut.c (usage): Remove an inconsistent period in an option
	description.
	* src/du.c (usage): Remove superfluous argument after short option -X.
	Also remove inconsistent uppercase and final period.
	Use a single indent level for prettiness.
	* src/shred.c (usage): Normalize the synopsis.
	* src/stty.c (usage): Options -F and --file are alternatives, cannot
	both be used.
	* src/sum.c (usage): -r does not overrule -s; the last one counts.
	* src/uptime.c (usage): Remove inconsistent space from the synopsis.
	* src/users.c: Likewise.

2008-08-04  Jim Meyering  <meyering@redhat.com>

	false: mark "false" description for translation
	* src/true.c (usage): Mark both strings with N_, so that
	the one for "false" is also extracted for translation.
	For consistency, mark both, although only the latter one needed it.
	Inspired by a patch from Benno Schulenberg.

2008-08-04  James Youngman  <jay@gnu.org>

	factor: credit Torbjörn Granlund
	* src/factor.c: Credit Torbjörn Granlund as the author of the
	arbitrary-precision factorization code.

2008-08-03  Jim Meyering  <meyering@redhat.com>

	doc: make it clear we're talking about the Linux kernel
	* doc/coreutils.texi (mv invocation): tweak wording

2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	tests: fix build-aux/check.mk for non-GNU make
	* build-aux/check.mk ($(TEST_LOGS)) [!GNU_MAKE]: Check for
	a $(TESTS) test in the build dir, before one in srcdir.  For details,
	see <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14198>.

	* bootstrap: Fix unportable expr usage.

2008-08-01  Kamil Dudka  <kdudka@redhat.com>

	ls: --color now highlights files with capabilities, too
	* src/ls.c: [HAVE_CAP] Include <sys/capability.h>.
	(has_capability): New function for capability detection.
	(print_color_indicator): Colorize file with capability.
	* m4/jm-macro.m4: New configure option: --disable-libcap.
	Check for libcap usability.
	* src/Makefile.am (dir_LDADD, ls_LDADD, ...): Append $(LIB_CAP).
	* src/dircolors.c: Update color lists.
	* src/dircolors.hin: Mention new CAPABILITY color attribute.
	* tests/ls/capability: Test for ls - colorize file with capability.
	* tests/Makefile.am (root_tests): Add ls/capability.
	* NEWS: Mention the change.

2008-08-01  James Youngman  <jay@gnu.org>

	factor arbitrarily large numbers
	* m4/gmp.m4: New file; adds cu_GMP, which detects GNU MP.
	* configure.ac: Use cu_GMP.
	* src/Makefile.am: Link factor against libgmp if available.
	* src/factor.c: Use GNU MP if it is available.
	(emit_factor, emit_ul_factor, factor_using_division,
	factor_using_pollard_rho, extract_factors_multi,
	sort_and_print_factors, free_factors): new functions
	for the arbitrary-precision implementation, taken from an example
	in GNU MP.
	(factor_wheel): Renamed; was called factor.
	(print_factors_single): Renamed; was called print_factors.
	(print_factors): New function, chooses between the single- and
	arbitrary-precision algorithms according to availability of GNU MP
	and the length of the number to be factored.
	(usage, main): New options --bignum and --no-bignum.
	* coreutils.texi (factor invocation): Document new command-line
	options for the MP implementation and update the performance
	numbers to take into account the asymptotically faster algorithm.
	* TODO: Remove item about factoring large primes (it's done).
	* m4/gmp.m4: Add support for --without-gmp.
	* NEWS: Mention the new feature.

2008-08-01  Kamil Dudka  <kdudka@redhat.com>

	ls -U1 now uses constant memory
	When printing one name per line and not sorting, ls now uses
	constant memory per directory, no matter how many files are in
	the directory.
	* ls.c (print_dir): Print each file name immediately, when possible.
	* NEWS: Mention the improvement.

2008-07-30  Jim Meyering  <meyering@redhat.com>

	* timeout.c: Fix grammar in a comment. Normalize comment syntax.

2008-07-28  Jim Meyering  <meyering@redhat.com>

	bootstrap: work also when there are no .po files in po/
	* bootstrap (update_po_files): Complete the change that I began
	in 7ba2dd808232cff3ee76aaceb97f4381c3c9cde4.

2008-07-27  Jim Meyering  <meyering@redhat.com>

	* NEWS: Move shuf --zero-terminated item into bug-fixes section.

2008-07-27  Mikael Magnusson  <mikachu@gmail.com>

	shuf: correctly document --head-count
	* src/shuf.c (usage): Correct --help output.
	* doc/coreutils.texi: Correct option listing.
	* NEWS: Mention correction.

2008-07-27  Jim Meyering  <meyering@redhat.com>

	shuf: honor --zero-terminated option even with --input-range=LO-HI
	* src/shuf.c (write_permuted_output): Add EOLBYTE parameter and use
	it rather than hard-coding "\n".
	(main): Adjust sole caller.
	* tests/misc/shuf: Add a test to exercise this bug fix.
	* NEWS: Mention it.

2008-07-23  Jim Meyering  <meyering@redhat.com>

	dd: minor fullblock changes
	* src/dd.c (O_FULLBLOCK): Define using an enum, not #define.
	Derive the value, rather than hard-coding to one that might conflict.
	(usage): Mention iflag=fullblock in --help output.
	(scanargs): Reset the O_FULLBLOCK bit, so that we don't try to set
	an undefined attribute via fcntl (fd, F_SETFL, ...
	* tests/dd/misc: Signal framework_failure when necessary.
	Use "compare actual expected", so any diffs look "right".
	* NEWS (dd): Alphabetize and reword.
	* coreutils.texi (dd invocation): Adjust wording.

2008-07-23  Kamil Dudka  <kdudka@redhat.com>

	dd: new option: iflag=fullblock to accumulate full input blocks
	* src/dd.c (iread_fullblock): New function for reading full blocks.
	(scanargs): Check for new parameter iflag=fullblock.
	(skip): Use iread_fnc pointer instead of iread function.
	(dd_copy): Use iread_fnc pointer instead of iread function.
	* tests/dd/misc: Add test for dd - read full blocks.
	* doc/coretuils.texi: Mention new parameter iflag=fullblock.
	* NEWS: Mentioned the change.

2008-07-23  Jim Meyering  <meyering@redhat.com>

	dd: adjust --help output so help2man formats the man page properly
	* src/dd.c (usage): Use two spaces (not one) to separate
	"directory" from its description, so help2man formats
	the derived man page properly.

2008-07-23  Reuben Thomas  <rrt@sc3d.org>

	doc: add example .bashrc code for a ~/.dircolors file
	* coreutils.texi: Add tip for .bashrc use from Jim Meyering.

2008-07-22  Jim Meyering  <meyering@redhat.com>

	tests: do not run chmod on a prefix of space-embedded tmpdir
	* TESTS/test-lib.sh (remove_tmp_): New function.
	(trap 0): Use it instead of open-coded (and misquoted) version.

	tests: ensure "make check" w/tainted build dir no longer impacts $HOME
	* maint.mk (taint-distcheck): New rule.
	(maintainer-distcheck): Make it.

2008-07-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	tests: again, do not change the mode of all directories below $HOME
	* tests/CuTmpdir.pm (chmod_tree): Do not run chmod on undefined
	argument, can happen when the build path contains spaces.

2008-07-19  Jim Meyering  <meyering@redhat.com>

	* THANKS: Update, now that I have a name for jemm4jemm.

2008-07-18  Andreas Schwab  <schwab@suse.de>

	mknod: correct misplaced -Z description in --help output
	* src/mknod.c (usage): Put it after the "Mandatory arguments..." line.

2008-07-16  Jim Meyering  <meyering@redhat.com>

	dircolors.hin: add Ogg/Theora-related extensions
	* dircolors.hin: Add extensions from
	http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
	Suggestion from jemm4jemm@yahoo.com.

	* HACKING: describe how to find a misplaced change-set

2008-07-15  Jim Meyering  <meyering@redhat.com>

	fix two bugs in ptx
	* src/ptx.c (fix_output_parameters): Don't let before_max_width
	go negative -- that would cause an infloop in define_all_fields.
	(main): Don't clobber name[0] with lists of two or more input files.
	* tests/misc/ptx: New file.  Test for the above.
	* tests/Makefile.am (TESTS): Add misc/ptx.

2008-07-11  Pádraig Brady  <P@draigBrady.com>

	tests: expand: test for lines starting with both spaces and tabs
	The expand released in current distributions (Fedora Core 4 - Fedora 9
	at least), doesn't expand --initial tabs if spaces are present.

	tests/misc/expand: Add test to verify --initial works correctly
	with lines starting with both spaces and tabs.

2008-07-10  Jim Meyering  <meyering@redhat.com>

	make check: accommodate stricter POSIX-conforming shells
	Without this, test-related variable settings were not exported to
	the shell_or_perl_ function when using dash or Solaris 11's /bin/sh.
	* tests/check.mk (TESTS_ENVIRONMENT): Use an explicit "export",
	so as not to rely on non-POSIX behavior of some /bin/sh (e.g.,
	bash-based ones).

2008-07-06  Jim Meyering  <meyering@redhat.com>

	* bootstrap: Remove $bt and $bt2 also when not using gettext.

2008-07-04  Jim Meyering  <meyering@redhat.com>

	who -r: don't print "last=" when the corresponding byte is unprintable
	* src/who.c (print_runlevel): Print last=%c only when the "preceding
	run-level" byte is printable.  Reported by Gian Piero De Lolliis in
	<http://bugzilla.redhat.com/453249>.

2008-07-04  Ondřej Vašík  <ovasik@redhat.com>

	doc: describe who's -p, -r, and -t options
	* doc/coreutils.texi (who invocation):

2008-07-04  Jim Meyering  <meyering@redhat.com>

	install with just-built ./ginstall only when not cross-compiling
	* src/Makefile.am (install-exec-am): ...otherwise, use the default
	value, $(INSTALL_PROGRAM).  Reported by Brian Silverman.

	* README-hacking: Update the section on LZMA.

2008-06-30  Pádraig Brady  <P@draigBrady.com>

	truncate: ignore whitespace in --size parameters
	Without this, `truncate -s '> -1' F` would truncate F to length 0,
	and `truncate -s " +1" F` would truncate F to 1 byte.  Now, each
	elicits a diagnostic.
	* src/truncate.c: Skip leading white space in the --size option
	argument and any white space after one of the relative modifiers,
	so that the presence of a +/- modifier can be detected reliably.
	* tests/misc/truncate-parameters: Add tests for the above.

2008-06-28  Jim Meyering  <meyering@redhat.com>

	doc: add "..." to Usage, to indicate there may be multiple OPTIONs
	* src/base64.c (usage): Likewise.
	* src/cat.c (usage): Likewise.
	* src/md5sum.c (usage): Likewise.
	* src/mkdir.c (usage): Likewise.
	* src/mkfifo.c (usage): Likewise.
	* src/split.c (usage): Likewise.
	* src/stat.c (usage): Likewise.
	Heiko Marr reported the problem with mkdir.

	mkfifo: correct misplaced -Z description in --help output
	* src/mkfifo.c (usage): Put it *after* the "Mandatory arguments..." line.

	uniq: remove redundant test
	* src/uniq.c (find_field): Remove redundant test in outer loop-
	termination expression. Also, add a "const" attribute.

2008-06-27  Pádraig Brady  <P@draigBrady.com>

	timeout: fix invalid argument tests
	* tests/misc/timeout-parameters: Remove test for invalid
	signal number (we don't know what signal numbers are
	invalid on all systems). Also tweak the other invalid
	signal check so that the rest of the arguments are correct.

2008-06-27  Jim Meyering  <meyering@redhat.com>

	avoid a -Wsign-compare warning
	* src/tee.c (tee_files): Swap fwrite's size/n_elem args and
	compare the return value against "1".

	base64: don't rely on feof returning 0/1
	* src/base64.c (do_decode): feof is specified to return nonzero,
	not 0/1, so use "k < 1 + !!feof(in)" as the loop termination test.

2008-06-27  Pádraig Brady  <P@draigBrady.com>

	truncate: silence -Wsign-compare warnings
	* src/truncate.c: Cast signed to unsigned to
	confirm intent which will silence -Wsign-compare warnings

2008-06-27  Jim Meyering  <meyering@redhat.com>

	factor out time_t-to-string conversion idiom
	* src/system.h: Include "inttostr.h".
	(timetostr): New function, factored out of...
	* src/date.c (show_date): Use timetostr.
	* src/du.c (show_date): Likewise.
	* src/ls.c (print_long_format): Likewise.
	* src/pinky.c (time_string): Likewise.
	* src/stat.c (human_time): Likewise.
	* src/*.c: Don't include inttostr.h, since system.h does.
	* src/c99-to-c89.diff: Adjust offsets.

2008-06-27  Pádraig Brady  <P@draigBrady.com>

	truncate: Fix integer portability issues
	* src/truncate.c: Explicitly convert from off_t to intmax_t
	when printing numbers as they may be different types.
	Also don't mix size_t and off_t types in operations as
	the latter will be promoted to unsigned when these types
	are the same size.

2008-06-26  Jim Meyering  <meyering@redhat.com>

	tests: adjust c99-to-c89 patch as well as the code to generate it
	* maint.mk (patch-check) [REGEN_PATCH]: Trim some trailing blanks.
	* src/c99-to-c89.diff: Adjust shred.c offsets.

	tests: fix make distcheck failure due to TODO change
	* maint.mk (po-check): Limit check for e.g., _(...)-marked
	messages to files matching *.? and *.??, thus excluding TODO
	and *.diff.

	* TODO: Add item: remove uses of imaxtostr.

2008-06-26  Peter O'Gorman  <bug-coreutils@mlists.thewrittenword.com>

	tests: accommodate difference in an AIX 5.3 diagnostic
	* tests/mkdir/selinux: Handle different strerror (ENOTSUP) spelling.

2008-06-26  Jim Meyering  <meyering@redhat.com>

	shred: also ignore EISDIR upon failed fsync/fdatasync on HP-UX
	* src/shred.c (ignorable_sync_errno): New function.
	(dosync): Use it.
	Based on a patch from Peter O'Gorman.

	* HACKING: use shorter "-1" (over HEAD~1) with git format-patch

	bootstrap.conf: don't list "open" specifically
	It is no longer necessary to list it specifically,
	now that several gnulib modules depend on the "open" module.
	This reverts commit 3ea1fe588e20f196cc9b9907d5943bd620c6b944.

	truncate: handle the case in which off_t != intmax_t
	* src/truncate.c (parse_len): Use a temporary of type intmax_t,
	rather than off_t; detect out of range [OFF_T_MIN..OFF_T_MAX].
	(main) [IF_LINT]: Initialize, to avoid an unwarranted
	"may be used uninitialized" warning.
	Reported by Michael Geng.

2008-06-23  Jim Meyering  <meyering@redhat.com>

	basename: List David MacKenzie as the author.
	* src/basename.c (AUTHORS): List David as the author.
	* AUTHORS: Update here, too.

2008-06-23  Ondřej Vašík  <ovasik@redhat.com>

	echo: use AUTHORS from bash's built-in echo
	* AUTHORS,src/echo.c: Use bash builtin echo authors instead of FIXME unknown

2008-06-22  Jim Meyering  <meyering@redhat.com>

	use gnulib's "open" module
	* bootstrap.conf (gnulib_modules): Add open.
	This is required at least for Solaris 9 and HP-UX 11, to
	avoid a truncate test failure.  For details, see this thread:
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13755

	stat: warn that the --context (-Z) option (a no-op) is obsolete
	* src/stat.c (main): It will be removed in a couple years.
	* NEWS (Change in behavior): Mention this.

2008-06-20  Jim Meyering  <meyering@redhat.com>

	make "make syntax-check" quieter
	* maint.mk (po-check, makefile-check, sc_proper_name_utf8_requires_ICONV):
	Add "@" prefix.

2008-06-20  Bo Borgerson  <gigabo@gmail.com>

	sort: Fix bug where --batch-size option shrank SORT_SIZE.
	* src/sort.c (specify_nmerge, main): Only adjust SORT_SIZE if it's already set.
	* tests/misc/sort-merge: Test bug fix.

2008-06-19  Jim Meyering  <meyering@redhat.com>

	tests: avoid test failure when root's primary group-ID is not 0
	* tests/cp/preserve-gid: Expect a cp-without-`-p'-created file to
	have a group ID of $(id -g).  Reported by Jarod Wilson.  Details in
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13803/focus=13837

	tests: avoid root-only test failure when run in a chroot
	* tests/misc/runcon-no-reorder: Accept the diagnostic that is
	produced when running in a chroot without /selinux/context.
	Reported by Jarod Wilson.  Details in
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13803/focus=13837

2008-06-18  Jim Meyering  <meyering@redhat.com>

	* tests/check.mk: Fix a typo in a comment.

2008-06-17  Jim Meyering  <meyering@redhat.com>

	doc: fix a syntax error
	* coreutils.texi (du invocation): Add missing comma.

2008-06-17  Bo Borgerson  <gigabo@gmail.com>

	sort: accept new option --batch-size=NMERGE
	* src/sort.c: (static unsigned int nmerge) Replace constant NMERGE.
	(specify_nmerge) Validate and apply new option.
	(mergefps) Replace some arrays with pointers to xnmalloc'd storage.
	* tests/misc/sort-merge: Test new option.
	* doc/coreutils.texi: Describe new option.
	* NEWS: Advertise new option.

	sort: add new option --files0-from=F
	* src/sort.c: Support new option.
	* tests/misc/sort-files0-from: Test new option.
	* tests/misc/Makefile.am: Indicate new test.
	* docs/coreutils.texi: Explain new option.
	* NEWS: Advertise new option.

	HACKING: Add section for tips on reducing translator workload.
	* HACKING (Be nice to translators): New section.
	Add Jim's suggestion to avoid changing translatable strings if possible.

2008-06-17  Jim Meyering  <meyering@redhat.com>

	* THANKS: Add name and email for Carl Roth.

2008-06-17  Eric Blake  <ebb9@byu.net>

	ls, od: avoid redundant const
	* src/ls.c (long_time_format, sort_functions): Avoid redundant const.
	* src/od.c (charname): Likewise.
	* maint.mk (sc_redundant_const): Add rule to detect this.

2008-06-17  Bo Borgerson  <gigabo@gmail.com>

	join: improve memory management
	* src/join.c (struct seq): Use a (struct line **) for `lines' rather than
	one long (struct line *).  This allows individual lines to be swapped out
	if necessary.
	(reset_line): Get a line ready for new input.
	(init_linep): Create a new line and assign it to the the pointer passed in.
	(spareline[2]): Hold a spare line for each input file.
	(free_spareline): Clean up.
	(get_line): Take a (struct line **) instead of a (struct line *).  If the
	line to be overwritten is the previous line for the current file then swap
	it out for the spare.
	(join): Accomodate new structure of SEQs and new parameters to get_line;
	Don't free stale lines until the end -- they're re-usable now.
	(dup_line): Remove function.
	* NEWS: Mention the performance improvement.

2008-06-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* doc/coreutils.texi (join invocation): Drop leading blanks.

2008-06-16  Jim Meyering  <meyering@redhat.com>

	remove redundant const directives
	In 1463824d8e7f72c31f1d803d7cfe2b608ccafc5c, I added some
	missing "const" directives, as well as some new, redundant ones.
	This removes the redundant ones.  Pointed out by Eric Blake.
	* base64.c, cat.c, chcon.c, chgrp.c, chmod.c, chown.c, comm.c:
	* cp.c, csplit.c, cut.c, date.c, dd.c, df.c, dircolors.c, du.c:
	* env.c, expand.c, fmt.c, fold.c, groups.c, head.c, id.c:
	* install.c, join.c, kill.c, ln.c, ls.c, md5sum.c, mkdir.c:
	* mkfifo.c, mknod.c, mktemp.c, mv.c, nice.c, nl.c, od.c:
	* paste.c, pathchk.c, pinky.c, pr.c, ptx.c, readlink.c, rm.c:
	* rmdir.c, runcon.c, seq.c, shred.c, shuf.c, sort.c, split.c:
	* stat.c, stty.c, su.c, sum.c, tac.c, tail.c, tee.c, timeout.c:
	* touch.c, tr.c, truncate.c, tty.c, uname.c, unexpand.c, uniq.c:
	* wc.c, who.c: Remove redundant const directives.
	* maint.mk (sc_const_long_option): Don't require redundant "const".

	chcon: correct --verbose output to include newlines
	* src/chcon.c (process_file): Append "\n" to --verbose diagnostic.
	* tests/misc/chcon: Add a test for the above.
	* NEWS: mention the bug fix
	Reported by Carl D. Roth in http://bugzilla.redhat.com/451478.

2008-06-15  Jim Meyering  <meyering@redhat.com>

	address root cause of compilation failures:
	The affected code wasn't even being compiled on my system,
	because HAVE_NL_LANGINFO was not defined.  On other systems, where
	vasnprintf.m4 determines it needs %A or %a replacement support, it
	_would_ check for nl_langinfo, and expose the compilation failure.
	* m4/jm-macros.m4: Check for nl_langinfo, required by sort.c.

	fix the compilation failure for real
	* src/sort.c (monthtab): Neither "const" may be added.

	fix a const-related compilation failure in sort.c
	* src/sort.c (monthtab): Remove overzealous "const".
	Table entries are modified in an #if HAVE_NL_LANGINFO block.
	Introduced by 1463824d8e7f72c31f1d803d7cfe2b608ccafc5c.

	update HACKING guidelines
	* HACKING: Don't suggest --signoff; it's redundant.
	(log requirements): Specify preferred forms.
	Mention preference for "<" over ">".
	Mention the "const placement" preference.

2008-06-14  Jim Meyering  <meyering@redhat.com>

	run gnulib-tests in parallel
	* tests/Makefile.am: Define AUTOMAKE_OPTIONS, so check.mk can append.
	* tests/check.mk: Define SUFFIXES, so check.mk can append.
	* build-aux/check.mk (SUFFIXES): Append, so as not to evoke
	automake warning the prior definition in gnulib-tests/gnulib.mk.
	(AUTOMAKE_OPTIONS): Likewise.
	* gnulib-tests/Makefile.am (TEST_LOGS): Define.
	Include build-aux/check.mk

	* maint.mk (sc_proper_name_utf8_requires_ICONV) Fix typo in diagnostic.

	add "const" attribute, where possible
	* maint.mk (sc_const_long_option): New rule.  Enforce global change.
	* src/base64.c (long_options): Use "const" where possible.
	* src/cat.c (main): Likewise.
	* src/chcon.c (long_options): Likewise.
	* src/chgrp.c (long_options): Likewise.
	* src/chmod.c (long_options): Likewise.
	* src/chown.c (long_options): Likewise.
	* src/comm.c (long_options, OUTPUT_DELIMITER_OPTION): Likewise.
	* src/cp.c (long_opts): Likewise.
	* src/csplit.c (longopts): Likewise.
	* src/cut.c (longopts): Likewise.
	* src/date.c (long_options): Likewise.
	* src/dd.c (conversions, flags, statuses): Likewise.
	* src/df.c (long_options): Likewise.
	* src/dircolors.c (long_options): Likewise.
	* src/du.c (long_options): Likewise.
	* src/env.c (longopts): Likewise.
	* src/expand.c (longopts): Likewise.
	* src/fmt.c (long_options): Likewise.
	* src/fold.c (longopts): Likewise.
	* src/groups.c (longopts): Likewise.
	* src/head.c (long_options): Likewise.
	* src/id.c (longopts): Likewise.
	* src/install.c (long_options): Likewise.
	* src/join.c (longopts): Likewise.
	* src/kill.c (long_options): Likewise.
	* src/ln.c (long_options): Likewise.
	* src/ls.c (long_time_format, long_options, sort_functions): Likewise.
	* src/md5sum.c (long_options): Likewise.
	* src/mkdir.c (longopts): Likewise.
	* src/mkfifo.c (longopts): Likewise.
	* src/mknod.c (longopts): Likewise.
	* src/mktemp.c (longopts): Likewise.
	* src/mv.c (long_options): Likewise.
	* src/nice.c (longopts): Likewise.
	* src/nl.c (longopts): Likewise.
	* src/od.c (charname, long_options): Likewise.
	* src/paste.c (longopts): Likewise.
	* src/pathchk.c (longopts): Likewise.
	* src/pinky.c (longopts): Likewise.
	* src/pr.c (long_options): Likewise.
	* src/ptx.c (long_options): Likewise.
	* src/readlink.c (longopts): Likewise.
	* src/rm.c (long_opts): Likewise.
	* src/rmdir.c (longopts): Likewise.
	* src/runcon.c (long_options): Likewise.
	* src/seq.c (long_options): Likewise.
	* src/shred.c (long_opts): Likewise.
	* src/shuf.c (long_opts): Likewise.
	* src/sort.c (monthtab, long_options): Likewise.
	* src/split.c (longopts): Likewise.
	* src/stat.c (long_options): Likewise.
	* src/stty.c (mode_info, control_info, longopts, set_mode) Likewise.
	(set_control_char, speeds): Likewise.
	* src/su.c (longopts): Likewise.
	* src/sum.c (longopts): Likewise.
	* src/tac.c (longopts): Likewise.
	* src/tail.c (long_options): Likewise.
	* src/tee.c (long_options): Likewise.
	* src/timeout.c (long_options): Likewise.
	* src/touch.c (longopts): Likewise.
	* src/tr.c (long_options): Likewise.
	* src/truncate.c (longopts): Likewise.
	* src/tty.c (longopts): Likewise.
	* src/uname.c (uname_long_options, arch_long_options): Likewise.
	* src/unexpand.c (longopts): Likewise.
	* src/uniq.c (longopts): Likewise.
	* src/wc.c (longopts): Likewise.
	* src/who.c (longopts): Likewise.

	revert previous change, "don't use "const" with scalar types"
	* src/truncate.c: There is nothing wrong with that construct.
	This reverts commit d7d80c5b7b122377fe250357a3ab182e8fbde20a.

	don't use "const" with scalar types
	* src/truncate.c: Several vendor compilers reject that.
	See http://article.gmane.org/gmane.comp.lib.gnulib.bugs/13876

2008-06-13  Eric Blake  <ebb9@byu.net>

	od: improve handling of padding
	* src/od.c (decode_one_format): Alter the format, again.
	(FMT_BYTES_ALLOCATED): Reduce size by adjusting to new format.
	(MAX_INTEGRAL_TYPE_SIZE): Move earlier in the file.
	(charname): Turn it into a 2D array, since there's no need for
	pointers now.
	(PRINT_TYPE, print_named_ascii, print_ascii): Add a width
	parameter.
	(write_block): Account for width parameter.
	Using ideas from Paul Eggert.

	od: align multiple -t specs
	* src/od.c (struct tspec): Add pad_width field, and adjust
	print_function prototype.
	(decode_one_format): Rewrite all fmt_string values to account for
	pad width.
	(FMT_BYTES_ALLOCATED): Adjust to new format style.
	(main): Compute pad width per spec.
	(write_block): Account for pad width.
	(dump): Don't print padding-only fields.
	(PRINT_TYPE, print_named_ascii, print_ascii): All print functions
	adjusted to use variable pad width.
	* tests/Makefile.am (TESTS): Add test.
	* tests/misc/od-multiple-t: New file.
	* THANKS: Update.
	* NEWS: Mention the improvement.
	Reported by Gary Johnson.

	od: use gnulib printf replacement as necessary
	* src/od.c (includes): Add xprintf.h.
	(PRINT_TYPE): New macro, using xprintf instead of printf.
	(print_s_char, print_char, print_s_short, print_short, print_int)
	(print_long, print_long_long, print_float, print_double)
	(print_long_double): Factor into PRINT_TYPE macro.
	(print_named_ascii, print_ascii): Use xprintf.
	* NEWS: Mention this as a bug fix.

	od: simplify long double support
	* m4/jm-macros.m4 (gl_CHECK_ALL_TYPES): Remove obsolete check for
	AC_C_LONG_DOUBLE.
	* src/od.c (LONG_DOUBLE): Delete.
	(width_bytes, MAX_FP_TYPE_SIZE, decode_one_format, main): Just use
	'long double' directly.
	(print_long_double): No longer protect by HAVE_LONG_DOUBLE.

	doc: od defaults to -toS, not -td2
	* src/od.c (usage): Correct description of default.

2008-06-13  Jim Meyering  <meyering@redhat.com>

	skip (don't fail) root-only tests for common set-up failures
	Address 2 of 4 failures reported by Jarod Wilson in
	http://bugzilla.redhat.com/442352.  More details here:
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13803
	* tests/cp/cp-a-selinux: Skip the test if "mkfs -t ext2" fails.
	* tests/rm/fail-2eperm: Skip the test if "rm" is not accessible.

2008-06-12  Jim Meyering  <meyering@redhat.com>

	tweak to conform with syntax policy
	Use "<" or "<=" rather than ">" or ">=".
	Use "Type const *", rather than "const Type *".

2008-06-12  Bo Borgerson  <gigabo@gmail.com>

	comm: accept new option: --output-delimiter=STR
	* src/comm.c (delimiter): New global.
	(writeline): Use delimiter string instead of single TAB character.
	(main): Initialize delimiter.
	* tests/misc/comm: Add tests for comm output delimiter specification.
	* doc/coreutils.texi: Document new option.
	* NEWS: Advertise new option.
	* TODO: Remove associated item.

	comm: ensure that input files are sorted
	* NEWS: List new behavior.
	* doc/coreutils.texi (checkOrderOption) New macro for
	describing `--check-order' and `--nocheck-order', used in
	both join and comm.
	* src/comm.c (main): Initialize new options.
	(usage): Describe new options.
	(compare_files): Keep an extra pair of buffers for the previous
	line from each file to check the internal order.
	(check_order): If an order-check is required, compare and handle
	the result appropriately.
	(copylinebuffer): Copy a linebuffer; used for copy before read.
	* tests/misc/Makefile.am: List new test.
	* tests/misc/comm: Tests for the comm program, including the
	new order-checking functionality and attendant command-line options.

2008-06-11  Jim Meyering  <meyering@redhat.com>

	fix another unportable use of 'tr'
	* configure.ac [EXTRA_PROGRAMS]: Add omitted space in tr's STRING2.
	Spotted by Denis Excoffier, upon Solaris 8 build failure.

	tests: skip a chown test on FreeBSD 6.x
	* tests/chown/separator: Skip this test if is likely to fail
	due to the combination of a bogus group name and a broken
	getgrnam function.

	tests: remove duplicate mention of misc/selinux
	* tests/Makefile.am (TESTS): Remove misc/selinux, since it's
	already listed in $(root_tests).

2008-06-11  Bruno Haible  <bruno@clisp.org>

	fix build failure on AIX 4
	* configure.ac: Fix unportable invocation of 'tr', introduced on
	2008-04-22.  Affects tr from at least AIX 4.3.2.

2008-06-10  Pádraig Brady  <P@draigBrady.com>

	remove test for specific diagnostic when truncating missing directory
	Solaris 10 returns ENOTDIR when truncating a nonexistent directory,
	whereas Linux returns EISDIR (because it has a trailing /).
	* tests/misc/truncate-fail-diag: Remove the test for the specific error.

	timeout: use system-independent exit values
	Change exit values from ETIMEDOUT and ECANCELED,
	the values of which are system dependent, to
	124 and 125 respectively.
	* src/timeout.c (EXIT_TIMEDOUT, EXIT_CANCELED): Define.
	(usage, main): Adjust.
	* coreutils.texi (timeout invocation): Update.
	* tests/misc/timeout: Adjust.

2008-06-09  Jim Meyering  <meyering@redhat.com>

	enforce the proper_name_utf8-requires-ICONV link rule
	* maint.mk (sc_proper_name_utf8_requires_ICONV): New rule.
	* src/Makefile.am (timeout_LDADD, truncate_LDADD): Add $(LIBICONV).

2008-06-09  Bruno Haible  <bruno@clisp.org>

	* NEWS (Improvements): Mention improved (via gnulib) ACL support.

2008-06-08  Jim Meyering  <meyering@redhat.com>

	maint.mk: my-distcheck runs $(MAKE) syntax-check once again
	* maint.mk (my-distcheck): Run $(MAKE) syntax-check once again.
	Run "$(MAKE) check" _after_ the less expensive syntax-check.

2008-06-08  Bo Borgerson  <gigabo@gmail.com>

	standardize some error messages
	* maint.mk: (sc_error_message_warn_fatal, sc_error_message_uppercase):
	(sc_error_message_period): Add automatic checks for non-standard error
	messages.
	* .x-sc_error_message_uppercase: explicit exclusion for this check
	* src/cp.c: Standardize some error messages.
	* src/date.c: Likewise.
	* src/dircolors.c: Likewise.
	* src/du.c: Likewise.
	* src/expr.c: Likewise.
	* src/install.c: Likewise.
	* src/join.c: Likewise.
	* src/ln.c: Likewise.
	* src/mv.c: Likewise.
	* src/od.c: Likewise.
	* src/pr.c: Likewise.
	* src/split.c: Likewise.
	* src/truncate.c: Likewise.
	* src/wc.c: Likewise.
	* tests/du/files0-from: Expect new error message.
	* tests/misc/join: Likewise.
	* tests/misc/split-a: Likewise.
	* tests/misc/wc-files0-from: Likewise.
	* tests/misc/xstrtol: Likewise.
	* lib/xmemxfrm.c: Likewise.

2008-06-08  Jim Meyering  <meyering@redhat.com>

	syntax-check: detect anachronistic Perl-based tests
	* maint.mk (sc_no_exec_perl_coreutils): Rename and rewrite.

2008-06-06  Pádraig Brady  <P@draigBrady.com>

	Add new program: truncate
	* AUTHORS: Register as the author
	* NEWS: Mention this change
	* README: Add truncate command to list
	* src/truncate.c: New command
	* src/Makefile.am: Add truncate command to list to build
	* src/.gitignore: Add truncate binary to list to ignore
	* doc/coreutils.texi (truncate invocation): Add truncate info
	* man/Makefile.am: Add truncate man page to list to build
	* man/truncate.x: Add truncate man page template
	* po/POTFILES.in: Add truncate to list to translate
	* tests/Makefile.am: Add truncate tests
	* tests/misc/help-version: Add support for new truncate command
	* tests/misc/truncate-dangling-symlink: check dangling link ok
	* tests/misc/truncate-dir-fail: ensure dirs fail
	* tests/misc/truncate-fail-diag: validate messages for missing paths
	* tests/misc/truncate-fifo: ensure fifos ignored
	* tests/misc/truncate-no-create-missing: ensure -c option honoured
	* tests/misc/truncate-overflow: check signed integer overflows
	* tests/misc/truncate-owned-by-other: root permissions check
	* tests/misc/truncate-parameters: check invalid parameter combinations
	* tests/misc/truncate-relative: check invalid relative sizes

2008-06-06  Eric Blake  <ebb9@byu.net>

	improve 'date +%C' documentation
	* src/date.c (usage): Use 20, not 21, for current century.
	* THANKS: Update.
	Reported by Dameon G. Rogers, fix suggested by Philip Rowlands.

2008-06-03  Jim Meyering  <meyering@redhat.com>

	nice.c: avoid a cast
	* src/nice.c (main): Use argv[0], rather than
	"program_name with a cast".  Suggestion from Eric Blake.

	adjust c99-to-c89 patch as well as the code to generate it
	* maint.mk (patch-check) [REGEN_PATCH]: Eliminate date-related
	differences in generated diffs.
	* src/c99-to-c89.diff: Adjust offsets.

	use gnulib's progname module
	* bootstrap.conf (gnulib_modules): Add progname.
	* src/*.c (program_name): Remove declaration.
	* (main): Call set_program_name rather than setting program_name.
	* src/nice.c (main): Cast program_name to "(char *)".
	* src/prog-fprintf.c: Include "system.h"
	* src/system.h: Include "progname.h".
	* maint.mk (sc_program_name): Adjust rule.
	Suggestion from Eric Blake.

	remove duplicate definition of matchpathcon_init_prefix
	* gl/lib/se-selinux.in.h (matchpathcon_init_prefix): Remove definition.
	It is already defined there.  Reported by Eric Blake.

2008-06-02  Jim Meyering  <meyering@redhat.com>

	fix cpp indentation policy violations
	* src/copy.c (mkfifo): Indent nested "# define".
	* src/timeout.c (ECANCELED): Likewise.

	accommodate older SELinux which lacks matchpathcon_init_prefix
	* m4/jm-macros.m4: Check for matchpathcon_init_prefix.
	* src/install.c [!HAVE_MATCHPATHCON_INIT_PREFIX]
	(matchpathcon_init_prefix): Define away.
	* gl/lib/se-selinux.in.h (matchpathcon_init_prefix): Define.
	Reported by Ilya N. Golubev in
	<http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13686>.

	each file with a "main" must also declare program_name
	* maint.mk (sc_program_name): New rule.
	* .x-sc_program_name: New file.
	* Makefile.am (EXTRA_DIST): Add .x-sc_program_name.

	declare program_name consistently
	* src/base64.c: Likewise.
	* src/basename.c: Likewise.
	* src/cat.c: Likewise.
	* src/chcon.c: Likewise.
	* src/chgrp.c: Likewise.
	* src/chmod.c: Likewise.
	* src/chown.c: Likewise.
	* src/chroot.c: Likewise.
	* src/cksum.c: Likewise.
	* src/comm.c: Likewise.
	* src/cp.c: Likewise.
	* src/csplit.c: Likewise.
	* src/cut.c: Likewise.
	* src/date.c: Likewise.
	* src/dd.c: Likewise.
	* src/df.c: Likewise.
	* src/dircolors.c: Likewise.
	* src/dirname.c: Likewise.
	* src/du.c: Likewise.
	* src/echo.c: Likewise.
	* src/env.c: Likewise.
	* src/expand.c: Likewise.
	* src/expr.c: Likewise.
	* src/factor.c: Likewise.
	* src/fmt.c: Likewise.
	* src/fold.c: Likewise.
	* src/groups.c: Likewise.
	* src/head.c: Likewise.
	* src/hostid.c: Likewise.
	* src/hostname.c: Likewise.
	* src/id.c: Likewise.
	* src/install.c: Likewise.
	* src/join.c: Likewise.
	* src/kill.c: Likewise.
	* src/link.c: Likewise.
	* src/ln.c: Likewise.
	* src/logname.c: Likewise.
	* src/ls.c: Likewise.
	* src/md5sum.c: Likewise.
	* src/mkdir.c: Likewise.
	* src/mkfifo.c: Likewise.
	* src/mknod.c: Likewise.
	* src/mktemp.c: Likewise.
	* src/mv.c: Likewise.
	* src/nice.c: Likewise.
	* src/nl.c: Likewise.
	* src/nohup.c: Likewise.
	* src/od.c: Likewise.
	* src/paste.c: Likewise.
	* src/pathchk.c: Likewise.
	* src/pinky.c: Likewise.
	* src/pr.c: Likewise.
	* src/printenv.c: Likewise.
	* src/printf.c: Likewise.
	* src/ptx.c: Likewise.
	* src/pwd.c: Likewise.
	* src/readlink.c: Likewise.
	* src/rm.c: Likewise.
	* src/rmdir.c: Likewise.
	* src/runcon.c: Likewise.
	* src/seq.c: Likewise.
	* src/setuidgid.c: Likewise.
	* src/shuf.c: Likewise.
	* src/sleep.c: Likewise.
	* src/sort.c: Likewise.
	* src/split.c: Likewise.
	* src/stat.c: Likewise.
	* src/stty.c: Likewise.
	* src/su.c: Likewise.
	* src/sum.c: Likewise.
	* src/sync.c: Likewise.
	* src/tac.c: Likewise.
	* src/tail.c: Likewise.
	* src/tee.c: Likewise.
	* src/test.c: Likewise.
	* src/timeout.c: Likewise.
	* src/touch.c: Likewise.
	* src/tr.c: Likewise.
	* src/true.c: Likewise.
	* src/tsort.c: Likewise.
	* src/tty.c: Likewise.
	* src/uname.c: Likewise.
	* src/unexpand.c: Likewise.
	* src/uniq.c: Likewise.
	* src/unlink.c: Likewise.
	* src/uptime.c: Likewise.
	* src/users.c: Likewise.
	* src/wc.c: Likewise.
	* src/who.c: Likewise.
	* src/whoami.c: Likewise.
	* src/yes.c: Likewise.

2008-06-02  Eric Blake  <ebb9@byu.net>

	export program_name, required by gnulib
	* src/timeout.c (program_name): Export.

2008-06-02  Jim Meyering  <meyering@redhat.com>

	revert inadvertent change in last patch
	* configure.ac (AM_INIT_AUTOMAKE): Restore accidentally-modified
	options.  Spotted by Eric Blake.

2008-06-02  Pádraig Brady  <P@draigBrady.com>

	new program: timeout
	* AUTHORS: Register as the author.
	* NEWS: Mention this change.
	* README: Add timeout command to list.
	* src/timeout.c: New file.
	* src/kill.c (operand2sig): Move function to its own file,
	now that timeout.c will also use it.
	* src/operand2sig.c (operand2sig): New file, extracted from kill.c.
	* src/operand2sig.h (operand2sig): Declare.
	* src/Makefile.am (EXTRA_PROGRAMS): Add timeout.
	* src/.gitignore: Add timeout binary to list to ignore.
	* doc/coreutils.texi (timeout invocation): Add timeout info.
	(Signal specifications): New section, also referenced by kill.
	* man/Makefile.am (timeout.1): Add dependency.
	* man/timeout.x: New file.
	* po/POTFILES.in: Add timeout.c and operand2sig.c to list to translate.
	* tests/Makefile.am (TESTS): Add the two new tests.
	* tests/misc/help-version: Add support for new timeout command.
	* tests/misc/invalid-opt: Add support for new timeout command.
	* tests/misc/timeout: New file: check basic timeout operation.
	* tests/misc/timeout-parameters: New file: check invalid parameter
	combinations.

2008-06-02  Jim Meyering  <meyering@redhat.com>

	spell author names consistently
	* src/comm.c (AUTHORS): Use RMS' middle initial.
	* src/ls.c (AUTHORS): Likewise.
	* src/rm.c (AUTHORS): Likewise.
	* src/uniq.c (AUTHORS): Likewise.
	* src/cut.c (AUTHORS): Use David M. Ihnat's middle initial.
	* AUTHORS: Update to match.
	Reported by Michael Piefel.

2008-06-01  Simon Josefsson  <simon@josefsson.org>

	doc: adjust base64 documentation
	* coreutils.texi (base64 invocation): Use RFC 4648 as the specification.
	Move the URL down a bit in the text.

2008-06-01  Erik Auerswald  <auerswal@unix-ag.uni-kl.de>

	md5sum: new option, --quiet, to suppress OK messages
	sha1sum, sha224sum, sha384sum, and sha512sum accept it, too.
	* src/md5sum.c: add option --quiet to suppress OK messages
	* doc/coreutils.texi: document option --quiet
	* tests/misc/md5sum: add test for option --quiet
	* NEWS: mention new option --quiet for md5sum+sha*sum in "New
	  features" section

2008-06-01  Jim Meyering  <meyering@redhat.com>

	add rules to commit three post-release changes automatically
	* maint.mk (noteworthy): Define.
	(emit-commit-log): Define.
	(alpha beta major): Also update NEWS and cfg.mk automatically,
	and commit all three changes at once.

	update old_NEWS_hash
	* cfg.mk (old_NEWS_hash): Update by running "make update-NEWS-hash".
	Reported by Erik Auerswald.

2008-06-01  Simon Josefsson  <simon@josefsson.org>

	src/base64.c: Improve comments.

2008-06-01  Jim Meyering  <meyering@redhat.com>

	* NEWS: add header line for next release

	adjust format of .prev-version commit message
	* maint.mk (alpha beta major): Start with "*", omit version number.

	* .prev-version: Record previous version.

2008-05-31  Jim Meyering  <meyering@redhat.com>

	Version 6.12.
	* NEWS: Record release date.

	install: reenable matchpathcon-related code
	The underlying performance problem is being dealt with in Automake
	by limiting the number of install invocations, and in SELinux with
	incremental changes as well as a potential new implementation.
	* src/Makefile.am (ginstall_CPPFLAGS) [ENABLE_MATCHPATHCON]: Define.
	* src/install.c [ENABLE_WHEN_MATCHPATHCON_IS_MORE_EFFICIENT]:
	Rename to ENABLE_MATCHPATHCON.
	* NEWS: mention this change

2008-05-30  Jim Meyering  <meyering@redhat.com>

	configure.ac: remove explicit use of AB_INIT
	* configure.ac: Don't invoke AB_INIT directly, now that it's
	done automatically via gl_INIT.

	tests: ignore known failure on all Darwin 8.x / Mac OS X v10.4.x
	* tests/chgrp/basic: Update comment and host_triplet version test.

	tests: avoid failure with older version of Perl's File::Temp
	* tests/CuTmpdir.pm (import): Use &File::Temp::cleanup only
	if it is defined.  Reported by Bruno Haible in
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13652

	NEWS: mention that cp -p copies permissions more portably
	Based on wording suggested by Bruno Haible.

2008-05-29  Jim Meyering  <meyering@redhat.com>

	improve description of du's--separate-dirs option
	* coreutils.texi (du invocation): Prompted by Volker Badziong's
	report in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13646

	du.c: tiny cleanup (no semantic change)
	* src/du.c (process_file): Use "file", rather than
	equivalent "ent->fts_path".

2008-05-27  Jim Meyering  <meyering@redhat.com>

	in 280+ tests/* files, use $srcdir, not $top_srcdir/tests

	prefer abs_srcdir over abs_top_srcdir, ...
	so that e.g., tests/* may refer to absolute names without
	hard-coding the name of the containing directory (tests/, here).
	* tests/check.mk (TESTS_ENVIRONMENT): Define abs_srcdir.
	* tests/pr/pr-tests: Use $abs_srcdir/pr not $abs_top_srcdir/tests/pr.
	* tests/chmod/c-option: Use $abs_srcdir, not $abs_top_srcdir/tests.
	* tests/cp/cp-parents: Likewise.
	* tests/mkdir/parents: Likewise.
	* tests/mkdir/perm: Likewise.
	* tests/mv/acl: Likewise.
	* tests/mv/backup-is-src: Likewise.
	* tests/mv/hard-link-1: Likewise.
	* tests/mv/into-self-2: 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/sticky-to-xpart: Likewise.
	* tests/mv/to-symlink: Likewise.
	* tests/rm/one-file-system: Likewise.
	* tests/sample-test: Likewise.

	tests: generalize my-distcheck
	* maint.mk (my-distcheck): Accommodate missing gnulib-tests.

2008-05-26  Jim Meyering  <meyering@redhat.com>

	reflect renaming of acl.c in gnulib
	* POTFILES.in: s/acl.c/set-mode-acl.c/

	test installation results more thoroughly
	* maint.mk (my-distcheck): Ensure that properly-named binaries
	are installed.  Also check all man pages, except [.1.
	Move configure-time --prefix= to install-time prefix=.
	(my-instcheck, install-transform-check): Define.

	install many binaries at once, when possible
	* src/Makefile.am (install-exec-am): Override the standard
	automake-generated target, so we can decide whether to use
	the usual install-one-by-one rule, or whether we can use
	the new install-many-at-once rule:
	(cu-install-binPROGRAMS): New rule.

	* src/runcon.c: Add copyright comment.

	adjust AUTHORS and check-AUTHORS rule to accommodate
	* AUTHORS: Add coding: utf-8 comment at end.
	Spell François' and Torbjörn's names properly.
	* src/Makefile.am: Parse AUTHORS file more carefully.
	Use perl to join now-split lines.
	Use en_US.UTF-8 to generate --version output.

	* src/c99-to-c89.diff: Adjust offsets.

	adjust copyright dates

	convert the rest to use proper_name -- manually
	* src/base64.c (AUTHORS): Rename from AUTHOR, for consistency.

	convert 3-author programs to use proper_name
	g grep -E -l 'define AUTHORS "[^,]+", "[^,]+", "[^,]+"$'|xargs perl -pi -e \
	  's/(define AUTHORS) ("[^,]+"), ("[^,]+"), ("[^,]+")$/$1 \\\n  proper_name ($2), \\\n  proper_name ($3), \\\n  proper_name ($4)/'

	convert 2-author programs to use proper_name
	g grep -E -l 'define AUTHORS "[^,]+", "[^,]+"$'|xargs perl -pi -e \
	  's/(define AUTHORS) ("[^,]+"), ("[^,]+")$/$1 \\\n  proper_name ($2), \\\n  proper_name ($3)/'

	convert single-author programs to use proper_name
	g grep -E -l 'define AUTHORS "[^,]+"$'|xargs perl -pi -e \
	  's/(define AUTHORS) ("[^,]+")$/$1 proper_name ($2)/'

	use gnulib's proper_name_utf8 function, but *not* proper_name
	* bootstrap.conf (gnulib_modules): Add propername.
	(XGETTEXT_OPTIONS): Add options to tell xgettext about the functions.
	* src/cat.c, src/cp.c, src/df.c, src/du.c, src/split.c:
	Mark Torbjörn Granlund's name.
	* src/ptx.c: Mark François Pinard's name.
	Use "TRANSLATORS:" comment marker, rather than "Note to translators:".
	* src/system.h: Include propername.h.
	(proper_name): Define away.
	* src/Makefile.am (cat_LDADD, df_LDADD, du_LDADD, ptx_LDADD, split_LDADD):
	Initialize, so we can...
	(cat_LDADD, cp_LDADD, df_LDADD, du_LDADD, ptx_LDADD, split_LDADD):
	...Use "+=" to append $(LIBICONV) for each program that uses
	proper_name_utf8.

2008-05-24  Jim Meyering  <meyering@redhat.com>

	* POTFILES.in: Add lib/copy-acl.c.

2008-05-20  Jim Meyering  <meyering@redhat.com>

	install: avoid a leak in currently-ifdef'd-out code
	* src/install.c (setdefaultfilecon)
	[ENABLE_WHEN_MATCHPATHCON_IS_MORE_EFFICIENT]:
	Call matchpathcon_init_prefix only once.
	Suggestion from Stephen Smalley.  Reported by Ben Webb in
	<http://bugzilla.redhat.com/447410>.

2008-05-19  Jim Meyering  <meyering@redhat.com>

	use gnulib's base64 module, now that it's sync'd to match this one
	* gl/lib/base64.c: Remove file.
	* gl/lib/base64.h: Remove file.

2008-05-19  Pádraig Brady  <P@draigBrady.com>

	doc: clarify field delimiter description in uniq --help output
	* src/uniq.c: Clarify in help output that field delimiters are
	blanks and not the larger set of whitespace characters.

2008-05-17  Jim Meyering  <meyering@redhat.com>

	tests: skip when a debian libc6-2.7-11 bug makes printf segfault
	* tests/misc/printf-surprise: Detect case of a low-memory-provoked
	segfault and skip the test (this is actually a bug in snprintf).
	For details, see http://bugs.debian.org/481543

	tests: sync and update wc and du --files0-from tests
	* tests/du/files0-from: Sync from tests/misc/wc-files0-from.
	(minus-in-minus): New test.
	Adjust for new diagnostics.
	* tests/misc/wc-files0-from: Adjust for new diagnostics.

	du, wc: merge improved --files0-from=F-related diagnostics
	du gave a better diagnostic for one unusual case,
	and wc gave a better diagnostic for a different one.
	Now each diagnoses both unusual cases.
	* src/du.c (main): Disallow '-' as file name when reading from stdin.
	* src/wc.c (main): Give a better diagnostic for a zero-length file name.

	test invalid-option handling in all programs
	* tests/Makefile.am (TESTS): Add misc/invalid-opt.
	* tests/misc/invalid-opt: New file.

	tests: remove ugly /bin/sh wrapper around each perl-based test script
	* tests/check.mk (TESTS_ENVIRONMENT): Save and restore TMPDIR around
	envvar-check, so that the few scripts that require $TMPDIR don't fail.
	This is also good to let a user's default TMPDIR setting be used e.g.,
	in the search for an 'other-partition'.
	FIXME: this is pretty ugly.  maybe undo it and find a better way.
	(TESTS_ENVIRONMENT): Invoke perl scripts with $(PERL), and use -T
	if the script requires that.  Otherwise, use $(SHELL).

	* tests/misc/md5sum-newline: Create a file whose name contains
	a newline in Perl (resort to using "system", since open refuses).

	Fix old brokenness exposed by this change:
	* tests/du/files0-from: Correct test not to rely on stdin
	being attached to a non-tty.
	* tests/misc/sort (3g, 3h, 3i): Likewise: add explicit empty input file.
	Avoid warnings about using qw()-around-commas.

	* tests/rm/fail-eperm: Now that this test is run from a temporary
	subdirectory, adjust the full name of the "rm" program we're going
	to run.

	Change #!/bin/sh to #!/usr/bin/perl, and factor out the few lines
	of boilerplate code to invoke perl.  Do not "require 5.00x";
	a configure-time Perl test handles that
	* tests/dd/skip-seek:
	* tests/misc/base64:
	* tests/misc/basename:
	* tests/misc/cut:
	* tests/misc/date:
	* tests/misc/dircolors:
	* tests/misc/dirname:
	* tests/misc/expand:
	* tests/misc/expr:
	* tests/misc/factor:
	* tests/misc/fmt:
	* tests/misc/fold:
	* tests/misc/head:
	* tests/misc/head-elide-tail:
	* tests/misc/join:
	* tests/misc/ls-misc:
	* tests/misc/md5sum:
	* tests/misc/md5sum-newline:
	* tests/misc/mktemp:
	* tests/misc/od:
	* tests/misc/paste:
	* tests/misc/pr:
	* tests/misc/printf-cov:
	* tests/misc/seq:
	* tests/misc/sha1sum:
	* tests/misc/sha1sum-vec:
	* tests/misc/sha224sum:
	* tests/misc/sha256sum:
	* tests/misc/sha384sum:
	* tests/misc/sha512sum:
	* tests/misc/sort-merge:
	* tests/misc/stat-printf:
	* tests/misc/sum:
	* tests/misc/tac:
	* tests/misc/tail:
	* tests/misc/test:
	* tests/misc/test-diag:
	* tests/misc/tr:
	* tests/misc/tsort:
	* tests/misc/tty-eof:
	* tests/misc/unexpand:
	* tests/misc/uniq:
	* tests/misc/wc:
	* tests/misc/wc-files0-from:
	* tests/misc/xstrtol:
	* tests/mv/i-1:
	* tests/pr/pr-tests:
	* tests/rm/empty-name:
	* tests/rm/fail-eperm:
	* tests/rm/unreadable:

2008-05-16  Jim Meyering  <meyering@redhat.com>

	tests: allow to run Perl tests more cleanly
	Before this change, perl tests were run via a #!/bin/sh script
	in which perl was invoked via $(PERL) ... -- - <<\EOF.
	That made some stty tests fail due to the way stdin was usurped.
	* build-aux/check.mk (am__check_pre): Don't append $(SHELL) to this
	nominally automake-internal variable.
	* tests/check.mk (TESTS_ENVIRONMENT): Instead, define a shell function
	here, and append it to the more user-visible $(TESTS_ENVIRONMENT).

	tests: env-related clean up
	* tests/Coreutils.pm: tiny clean-up: s/env/env --/
	* tests/misc/help-version: Use "env" rather than an absolute file
	name prefix.
	* tests/misc/printf-surprise: Likewise.

	tests: improve coverage of printf.c
	* tests/misc/printf-cov: New file.
	* tests/Makefile.am (TESTS): Add misc/printf-cov.
	* tests/misc/help-version: Use env rather than abs file name prefix.

	make HACKING slightly more generic
	* HACKING: remove some uses of "coreutils"
	Point to git's own SubmittingPatches URL.

2008-05-15  Bruno Haible  <bruno@clisp.org>

	doc: some Unicode characters cannot be specified via \u or \U
	* doc/coreutils.texi (printf invocation): Clarify invalid ranges for
	Unicode character escape syntax.

2008-05-11  Jim Meyering  <meyering@redhat.com>

	move sha256 and sha512 modules to gnulib
	* bootstrap.conf (gnulib_modules) [sha256, sha512]: Add "crypto/"
	prefix to module name, now that they come from gnulib.
	* gl/lib/sha256.c: Remove file.
	* gl/lib/sha256.h: Likewise.
	* gl/lib/sha512.c: Likewise.
	* gl/lib/sha512.h: Likewise.
	* gl/lib/u64.h: Likewise.
	* gl/m4/sha256.m4: Likewise.
	* gl/m4/sha512.m4: Likewise.
	* gl/modules/sha256: Likewise.
	* gl/modules/sha512: Likewise.

2008-05-10  Jim Meyering  <meyering@redhat.com>

	now that the last of the mk-script-using tests is gone...
	* tests/Makefile.am (EXTRA_DIST): Remove Makefile.am.in and mk-script.
	Move/adjust SUBDIRS-related comments.
	* tests/Makefile.am.in: Remove file, no longer used.
	* tests/mk-script: Likewise.
	* bootstrap: Remove coreutils-specific SUBDIRS-related code.

	tests: remove directory, tests/join/
	* configure.ac (AC_CONFIG_FILES): Remove tests/join/Makefile.
	* tests/misc/join: New file, with tests from...
	* tests/join/Test.pm: ...here.  Remove file.
	* tests/Makefile.am (SUBDIRS): Remove definition.

	* tests/misc/tac: Also perform stdin and piped tests.

	tests: convert pr tests
	* configure.ac (AC_CONFIG_FILES): Remove tests/pr/Makefile.
	* tests/Makefile.am (SUBDIRS): Remove pr.
	* tests/pr/pr-tests: New file, with tests from...
	* tests/pr/Test.pm: ...here.  Remove file.
	* tests/Makefile.am (EXTRA_DIST): Add $(pr_data).
	(pr_data): List all of the pr's test-related data files.

	tests: remove directory, tests/tail/
	* configure.ac (AC_CONFIG_FILES): Remove tests/tail/Makefile.
	* tests/Makefile.am (SUBDIRS): Remove tail.
	* tests/misc/tail: New file, with tests from...
	* tests/tail/Test.pm: ...here.  Remove file.

2008-05-09  Bernhard Marx  <berny@bernhard-marx.de>

	doc: improve description of "niceness" values
	* doc/coreutils.texi (nice invocation):

2008-05-09  Jim Meyering  <meyering@redhat.com>

	tests: remove directory, tests/sort/
	* configure.ac (AC_CONFIG_FILES): Remove tests/sort/Makefile.
	* tests/Makefile.am (SUBDIRS): Remove sort.
	* tests/misc/sort: New file, with tests from...
	* tests/sort/Test.pm: ...here.  Remove file.

2008-05-08  Bruno Haible  <bruno@clisp.org>

	Speed up "wc -m" and "wc -w" in multibyte case.
	* src/wc.c: Include mbchar.h.
	(wc): New variable in_shift. Use it to avoid calling mbrtowc for most
	ASCII characters.  Reported via Jan Engelhardt in
	http://bugzilla.novell.com/381873 with discussion here
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13520

2008-05-08  Jim Meyering  <meyering@redhat.com>

	tests: remove directory, tests/tac/
	* configure.ac (AC_CONFIG_FILES): Remove tests/tac/Makefile.
	* tests/Makefile.am (SUBDIRS): Remove tac.
	* tests/misc/tac: Many new tests, from...
	* tests/tac/Test.pm: ...here.  Remove file.

	tests: remove directory, tests/test/
	* configure.ac (AC_CONFIG_FILES): Remove tests/test/Makefile.
	* tests/Makefile.am (SUBDIRS): Remove test.
	* tests/misc/test: Many new tests, from...
	* tests/test/Test.pm: ...here.  Remove file.

	tests: Coreutils.pm: support running a program that is a shell built-in
	* tests/Coreutils.pm (run_tests): Add support for running a
	program like 'test', that is a shell built-in.

2008-05-06  Jim Meyering  <meyering@redhat.com>

	* TODO: Bo Borgerson is rewriting support for cp --recursive

	tests: remove directory, tests/tr/
	* configure.ac (AC_CONFIG_FILES): Remove tests/tr/Makefile.
	* tests/Makefile.am (SUBDIRS): Remove tr.
	* tests/misc/tr: Many new tests, from...
	* tests/tr/Test.pm: ...here.  Remove file.
	* tests/tr/failures: Remove file.
	* tests/tr/TODO: Remove file.

	tests: skip another test if mcstransd is running
	* tests/test-lib.sh (skip_if_mcstransd_is_running_): New function,
	extracted from...
	* tests/misc/chcon: ...here.  Use function, not open-coded test.
	* tests/misc/selinux: Use the function here, too.
	Require root, not non-root.
	* tests/Makefile.am (root_tests): Add misc/selinux.

	tests: translate uniq-z-test-adding code to new framework
	* tests/misc/uniq (add-z-variants): New function.
	Use it.

	tests: remove directory, tests/uniq/
	* configure.ac (AC_CONFIG_FILES): Remove tests/uniq/Makefile.
	* tests/Makefile.am (SUBDIRS): Remove uniq.
	* tests/misc/uniq: Many new tests, from...
	* tests/uniq/Test.pm: ...here.  Remove file.

	tests: remove directory, tests/cut/
	* configure.ac (AC_CONFIG_FILES): Remove tests/cut/Makefile.
	* tests/Makefile.am (SUBDIRS): Remove cut.
	* tests/misc/cut: Many new tests, from...
	* tests/cut/Test.pm: ...here.  Remove file.

	tests: remove directory, tests/head/
	* configure.ac (AC_CONFIG_FILES): Remove tests/head/Makefile.
	* tests/Makefile.am (SUBDIRS): Remove head.
	* tests/misc/head: New file, derived from ...
	* tests/head/Test.pm: ...this.  Remove file.
	* tests/head/in: Remove file.
	* tests/head/in-1024: Remove file.
	* tests/Coreutils.pm (triple_test): New function.

	tests: Coreutils.pm improvements
	* tests/Coreutils.pm: Allow test names longer than 12.
	Print a useful diagnostic for bogus spec entry.

	Handle the combination of IN_PIPE and ENV properly.
	* tests/Coreutils.pm (run_tests): Put ENV right before command,
	not before the "cat INPUT_FILE |" prefix.

	tests: move "sparse-file" into test-lib.sh
	* tests/sparse-file: Remove file  Move contents into ...
	* tests/test-lib.sh (require_sparse_support_): ...here.  New function.
	* tests/cp/sparse: Use the function, not the file.
	* tests/du/8gb: Likewise.
	* tests/Makefile.am (EXTRA_DIST): Remove sparse-file.

	tests: move "group-names" into test-lib.sh
	* tests/group-names: Remove file  Move contents into ...
	* tests/test-lib.sh (require_membership_in_two_groups_): ...here.  New function.
	* tests/chgrp/basic: Use the function, not the file.
	* tests/chgrp/default-no-deref: Likewise.
	* tests/chgrp/deref: Likewise.
	* tests/chgrp/no-x: Likewise.
	* tests/chgrp/posix-H: Likewise.
	* tests/chgrp/recurse: Likewise.
	* tests/cp/existing-perm-race: Likewise.
	* tests/Makefile.am (EXTRA_DIST): Remove group-names.

	tests: use printf+sed rather than yes+head+tr
	* tests/misc/fmt-long-line: Minor clean-up.
	Using "yes" like that has caused trouble in the past.

	tests: save and restore TERM around use of TESTS_ENVIRONMENT,
	now that TESTS_ENVIRONMENT unsets it.
	* check.mk (am__check_pre): Save $TERM.
	(am__check_post): Restore saved value of TERM and export.

	tests: hoist the sourcing of "lang-default"
	* tests/check.mk (TESTS_ENVIRONMENT): Source lang-default here, ...
	... rather than in each of 100+ test scripts.
	* tests/chgrp/basic:
	* tests/chgrp/no-x:
	* tests/chmod/c-option:
	* tests/chmod/no-x:
	* tests/chmod/setgid:
	* tests/chmod/thru-dangling:
	* tests/chmod/umask-x:
	* tests/chmod/usage:
	* tests/chown/basic:
	* tests/chown/deref:
	* tests/chown/preserve-root:
	* tests/cp/abuse:
	* tests/cp/acl:
	* tests/cp/backup-is-src:
	* tests/cp/cp-a-selinux:
	* tests/cp/cp-i:
	* tests/cp/cp-mv-backup:
	* tests/cp/deref-slink:
	* tests/cp/fail-perm:
	* tests/cp/into-self:
	* tests/cp/link-preserve:
	* tests/cp/preserve-gid:
	* tests/cp/same-file:
	* tests/cp/slink-2-slink:
	* tests/cp/special-f:
	* tests/cp/symlink-slash:
	* tests/cp/thru-dangling:
	* tests/du/basic:
	* tests/du/hard-link:
	* tests/du/inacc-dest:
	* tests/du/long-sloop:
	* tests/du/no-x:
	* tests/install/basic-1:
	* tests/ln/hard-backup:
	* tests/ln/sf-1:
	* tests/ls/file-type:
	* tests/ls/infloop:
	* tests/ls/nameless-uid:
	* tests/ls/rt-1:
	* tests/ls/stat-failed:
	* tests/ls/symlink-slash:
	* tests/ls/x-option:
	* tests/misc/chcon:
	* tests/misc/chcon-fail:
	* tests/misc/csplit:
	* tests/misc/df-P:
	* tests/misc/groups-dash:
	* tests/misc/groups-version:
	* tests/misc/nohup:
	* tests/misc/printf-surprise:
	* tests/misc/runcon-no-reorder:
	* tests/misc/selinux:
	* tests/misc/split-a:
	* tests/misc/split-fail:
	* tests/misc/tac-continue:
	* tests/misc/wc-files0:
	* tests/mkdir/p-v:
	* tests/mkdir/selinux:
	* tests/mv/acl:
	* tests/mv/backup-dir:
	* tests/mv/backup-is-src:
	* tests/mv/childproof:
	* tests/mv/diag:
	* tests/mv/dir2dir:
	* tests/mv/dup-source:
	* tests/mv/force:
	* tests/mv/hard-link-1:
	* tests/mv/hard-verbose:
	* tests/mv/i-2:
	* tests/mv/i-3:
	* tests/mv/i-4:
	* tests/mv/i-5:
	* tests/mv/i-link-no:
	* tests/mv/into-self:
	* tests/mv/into-self-2:
	* tests/mv/into-self-3:
	* tests/mv/mv-special-1:
	* tests/mv/part-fail:
	* tests/mv/part-symlink:
	* tests/mv/partition-perm:
	* tests/mv/perm-1:
	* tests/mv/reply-no:
	* tests/mv/sticky-to-xpart:
	* tests/mv/update:
	* tests/rm/cycle:
	* tests/rm/dir-no-w:
	* tests/rm/dir-nonrecur:
	* tests/rm/fail-2eperm:
	* tests/rm/fail-eacces:
	* tests/rm/inaccessible:
	* tests/rm/interactive-always:
	* tests/rm/interactive-once:
	* tests/rm/isatty:
	* tests/rm/one-file-system:
	* tests/rm/r-1:
	* tests/rm/r-2:
	* tests/rm/rm1:
	* tests/rm/rm2:
	* tests/rm/rm3:
	* tests/rm/rm4:
	* tests/rm/rm5:
	* tests/rm/unread2:
	* tests/rm/v-slash:
	* tests/touch/fail-diag:
	* tests/touch/not-owner:

	tests: hoist envvar-check so it is run for every test
	I.e., also for Perl-based tests; not just the ones using test-lib.sh.
	* tests/check.mk (TESTS_ENVIRONMENT): Source envvar-check here, ...
	* tests/test-lib.sh: ...not here.

	fix typo in comments: s/ouput/output/
	adjust spelling in that same comment: s/localisation/localization/

	* tests/touch/Makefile.am: Remove now-unused file.

	tests: test split more thoroughly
	* tests/misc/split-a: Clean up.  Catch more failures.

	* tests/misc/wc: Remove an unused variable.

	tests: detect and check more uses of strcmp
	* maint.mk (sc_prohibit_strcmp): Relax regexp to recognize other
	formatting styles.

	avoid problems with sign-extended "char" operand to is* functions
	* src/cut.c (set_fields): Apply to_uchar to isblank operands.
	* src/uniq.c (find_field): Likewise.
	* src/seq.c (scan_arg): Likewise, for isspace.
	* tests/misc/uniq: New file.  Test for the above, but only
	when isspace(0240).
	* tests/Makefile.am (TESTS): Add misc/uniq.
	* configure.ac: Use gt_LOCALE_FR.
	* tests/check.mk (TESTS_ENVIRONMENT): Propagate LOCALE_FR to scripts.
	* NEWS: Mention the bug fixes.

	Before this patch, on FreeBSD 6:

	  $ printf 'x y z\nx \xa0 y z\n' > in
	  $ LC_ALL=fr_FR.UTF-8 uniq -f2 in|tr ' ' .
	  x.y.z
	  x. .y.z

	With the patch:

	  $ LC_ALL=fr_FR.UTF-8 uniq -f2 in|tr ' ' .
	  x.y.z

	This also affected many other locales:
	for i in $(locale -a); do test $(LC_ALL=$i ./uniq -f1 in|wc -l)
	  = $(LC_ALL=$i uniq -f1 in|wc -l) || echo $i ; done
	...
	en_GB.ISO8859-1
	en_GB.ISO8859-15
	en_GB.UTF-8
	en_IE.UTF-8
	en_NZ.ISO8859-1
	en_NZ.ISO8859-15
	en_NZ.UTF-8
	en_US.ISO8859-1
	en_US.ISO8859-15
	en_US.UTF-8
	...

2008-05-06  Bo Borgerson  <gigabo@gmail.com>

	base64: remove some unused/redundant getopt code
	* src/base64.c (struct option long_option): Remove redundant help/version
	option items.
	(main): Remove unused 'q' from short options.

2008-05-06  Jim Meyering  <meyering@redhat.com>

	help2man: fix perl 5.10 problem properly
	* man/help2man: Do pull LC_ALL via "use POSIX".
	Instead, limit the importing of gettext-related symbols
	to just those two we'll use: gettext and textdomain.

2008-05-05  Jim Meyering  <meyering@redhat.com>

	help2man: avoid failure with Debian unstable's Perl 5.10.0
	Avoid failure that produced this diagnostic:
	Constant subroutine main::LC_ALL redefined at /.../Exporter.pm
	* man/help2man: Don't include LC_ALL in the "use POSIX" list,
	since Locale::gettext->import will get it.

2008-05-05  Bo Borgerson  <gigabo@gmail.com>

	base64 module: adjust API so it's compatible with gnulib's
	* gl/lib/base64.c (base64_decode_ctx): If no context structure was passed in,
	treat newlines as garbage (this is the historical behavior).  Formerly
	base64_decode.
	(base64_decode_alloc_ctx): Formerly base64_decode_alloc.
	* gl/lib/base64.h (base64_decode): Macro for four-argument calls.
	(base64_decode_alloc): Likewise.
	* src/base64.c (do_decode): Call base64_decode_ctx instead of base64_decode.

2008-05-05  Jim Meyering  <meyering@redhat.com>

	* tests/misc/tac: Set execute bit.

	tac: avoid segfault for e.g., "echo > x; tac -r x x"
	* src/tac.c (tac_seekable): Move local "regs" declaration out
	to file scope, so its values aren't clobbered between calls.
	Discovered by Cristian Cadar, Daniel Dunbar and Dawson Engler,
	reported in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13501
	* NEWS: Mention the bug fix.
	* tests/Makefile.am (TESTS): Add misc/tac.
	* tests/misc/tac: New file.  Test for the above.

2008-04-30  Jim Meyering  <meyering@redhat.com>

	tests: avoid a "make check-root" failure when mcstransd is running
	* tests/misc/chcon: Skip this test if mcstransd seems to be running.

	tests: avoid spurious "make check-root" failure
	* README (Running tests as root): Also set PATH in suggested "sudo"
	command.  This avoids failure of at least tests/cp/cp-a-selinux
	when the default PATH does not contain /sbin.
	* tests/cp/cp-a-selinux: Don't redirect stderr to /dev/null.
	"mkfs" was failing due to /sbin not being in PATH.

2008-04-30  Bo Borgerson  <gigabo@gmail.com>

	Add Daniel Dunbar's lcov instructions to HACKING
	* HACKING: New section `Finding things to do', points to TODO file and
	gives instructions on generating an html coverage report as provided by
	Daniel Dunbar.
	* TODO: Add item for improving test coverage.  Point back to HACKING.

2008-04-29  Jim Meyering  <meyering@redhat.com>

	chcon, runcon: make --help print the bug-reporting address
	* src/chcon.c (usage): Use emit_bug_reporting_address.
	* src/runcon.c (usage): Likewise.
	* tests/misc/help-version: Don't exempt chcon and runcon.
	* NEWS: Mention this.

2008-04-28  Jim Meyering  <meyering@redhat.com>

	tests: don't hard-code coreutils list of tests/ SUBDIRS in bootstrap
	* bootstrap: Extract the list from tests/Makefile.am, and die
	when it is empty -- it will be, eventually.

2008-04-28  Bo Borgerson  <gigabo@gmail.com>

	tests: remove references to tests/wc from bootstrap
	* bootstrap: Don't try to initialize anything in tests/wc.

2008-04-28  Jim Meyering  <meyering@redhat.com>

	tests: slightly relax sc_cast_of_argument_to_free syntax check
	* maint.mk (sc_cast_of_argument_to_free): Relax regexp slightly.
	(sc_no_have_config_h): Add a comment.

2008-04-28  Bo Borgerson  <gigabo@gmail.com>

	tests: don't chmod after a failed chdir in cleanup
	* tests/CuTmpdir.pm (chmod_tree): Don't chmod if chdir failed.

	Only cleanup test dirs from the process that created them.
	* tests/CuTmpdir.pm (import): Use closure around current PID to avoid cleanup races.

2008-04-27  Jim Meyering  <meyering@redhat.com>

	move wc tests from own subdir into a single script
	* configure.ac (AC_CONFIG_FILES): Remove wc/Makefile from the list.
	* tests/Makefile.am (SUBDIRS): Remove wc from the list.
	(TESTS): Add misc/wc.
	* tests/misc/wc: New file, derived from tests/wc/Tests.pm.
	* tests/wc/Test.pm: Remove file.

	tests: remove temporary log file upon catchable signal
	* check.mk (am__check_pre): Add signal handler to remove $@-t.

	tests: don't source envvar-check manually, test-lib.sh does it
	* tests/cp/abuse: Remove ". $top_srcdir/tests/envvar-check".
	* tests/cp/parent-perm: Likewise.
	* tests/cp/special-f: Likewise.
	* tests/ls/proc-selinux-segfault: Likewise.
	* tests/misc/help-version: Likewise.
	* tests/mkdir/selinux: Likewise.
	* tests/mv/sticky-to-xpart: Likewise.
	* tests/touch/now-owned-by-other: Likewise.
	* tests/sample-test: Remove commented out suggestion.

	tests: ensure at least one failure when $built_programs is empty
	Before, this test and others would pass with empty $built_programs.
	* tests/misc/help-version: Fail if built_programs is empty.

	tests: improve perl-based tempdir handling
	Before, upon interrupt, directories would be left behind.
	* tests/CuTmpdir.pm: Remove temporary directory on interrupt.

	tests: reorder some tests in the long list
	* tests/Makefile.am (TESTS): Move some tests that use sleep
	"up" in the list so that they don't delay even a little the
	completion of "make check".  Also run a chmod test early.

	tests: put root-only (usually skipped) tests at the end
	* tests/Makefile.am (TESTS): Don't list root-only tests explicitly.
	Instead, just use $(root_tests).
	* tests/check.mk (vc_exe_in_TESTS): Now that root_tests are separate,
	parse out the union of $(TESTS) and $(root_tests).

	tests: move another file (expensive) into test-lib.sh
	* tests/expensive: Remove file.  Move contents into ...
	* tests/test-lib.sh (expensive_): ...here.  New function.
	* tests/du/fd-leak: Update caller to use the new function.
	* tests/mv/leak-fd: Likewise.
	* tests/rm/hash: Likewise.
	* tests/tail-2/big-4gb: Likewise.
	* tests/Makefile.am (EXTRA_DIST): Remove its name.

	tests: cp/perm (usually not run) was failing on systems with SELinux
	* tests/cp/perm: Use stat to get the permission string, not ls.
	This test was run only when RUN_VERY_EXPENSIVE_TESTS=yes was set
	in the environment.  It would fail on SELinux-enable systems
	because ls-generated permission strings would not match, e.g.,
	"test _-rw-r--r--+ = _-rw-r--r--" would fail.

	tweak HACKING advice

2008-04-24  Jim Meyering  <meyering@redhat.com>

	tests: do define built_programs
	* tests/check.mk (built_programs): Define here, where it's used.
	This definition was in now-removed tests/misc/Makefile.am.

2008-04-23  Jim Meyering  <meyering@redhat.com>

	tests: update commented-out examples in sample-test, too
	* tests/sample-test: Use $top_srcdir/tests/SCRIPT_NAME, not
	$top_srcdir/../SCRIPT_NAME here, too.

2008-04-23  Ondřej Vašík  <ovasik@redhat.com>

	tests: don't fail in a non-English locale
	* tests/chmod/thru-dangling: Source lang-default.
	* tests/cp/thru-dangling: Likewise.
	* tests/misc/printf-surprise: Likewise.

2008-04-23  Jim Meyering  <meyering@redhat.com>

	tests: remove now-unused Makefile.am
	* tests/misc/Makefile.am: Remove file.

2008-04-23  Ondřej Vašík  <ovasik@redhat.com>

	id: do not print SELinux context when invoked with a USERNAME argument
	* NEWS: Mention new behaviour.
	* src/id.c (main): Do not print SELinux context when user is specified.
	* tests/Makefile.am: Add the new test.
	* tests/misc/id-context: New file.  Test for the fix.
	Problem reported by Ronny Buchmann in http://bugzilla.redhat.com/443485.

2008-04-23  Jim Meyering  <meyering@redhat.com>

	id: do print the AFS-specific nameless group ID (called a PAG)
	In 6.11, we mistakenly suppressed the printing of certain group IDs,
	thinking they were useless AFS-specific artifacts.
	This change reverts that, so now they are printed once again.
	http://thread.gmane.org/gmane.org.fsf.announce/867/focus=13345
	This also reverts the bug-fix that applied solely to the new code
	used to avoid printing those IDs

	Revert "id bug fix: don't point to potentially clobbered static storage"
	This reverts commit f7d1c59c224f81a8bab5fa2afcaf815988f50467.
	Revert "Work around AFS bug: id and groups would print invalid group number."
	This reverts commit b7a836c0a3524cda8ef79c30c3fe7ea759ae4656.
	Revert "* src/c99-to-c89.diff: Accommodate a C99-ism in id.c."
	This reverts commit d44893c5dba4150b4ded9cf6aad316c1ef620c9f.

2008-04-22  Jim Meyering  <meyering@redhat.com>

	build: move a project-specific definition to cfg.mk
	* cfg.mk (old_NEWS_hash): Define here, ...
	* maint.mk: ... not here.
	(update-NEWS-hash): Update comment.
	Suggestion from Eric Blake.

	Accommodate building on OS/2 (www.ecomstation.com Ecs v2 rc4)
	* configure.ac: Filter out carriage returns in more places.
	Reported by Elbert Pol, details here:
	http://thread.gmane.org/gmane.org.fsf.announce/867/focus=13332

	guard against inserting a NEWS entry into a block for a prior release
	Without a guard like this, it is far too easy to apply a patch
	prepared against a preceding release, and not notice that a NEWS
	entry is inserted into the wrong block.
	* maint.mk (sc_immutable_NEWS): New rule.
	(update-NEWS-hash): New rule to update the hard-coded hash.

	tests: ensure that all exec-$PERL lines are the same
	* maint.mk (sc_perl_coreutils_test): New rule.

2008-04-21  Jim Meyering  <meyering@redhat.com>

	tests: skip (don't fail) rm/one-file-system when mount --bind fails
	* tests/rm/one-file-system: Reported by Allen Hewes.

	tests: convert umask-check to a function
	* tests/test-lib.sh (working_umask_or_skip_): New function, from...
	* tests/umask-check: ...here.  Remove file.
	* tests/Makefile.am (EXTRA_DIST): Remove umask-check.
	* tests/mkdir/perm: Use the function rather than sourcing the file.
	* tests/cp/cp-parents: Likewise.
	* tests/cp/parent-perm: Likewise.
	Bruno Haible reported that parent-perm was failing to run umask-check.

	tests: adjust perl -I to use $top_srcdir/tests, not $srcdir/..

	tests: clean up root tests; adapt to new layout
	* tests/Makefile.am (root_tests): New list.
	(check-root): Add 'SUBDIRS='.
	(root-hint): Point to README.
	* Makefile.am (check-root): Add 'SUBDIRS=' here, too.
	* maint.mk (sc_root_tests): Adapt rule to new syntax used
	in tests/Makefile.am.

	Revamp test-related Makefiles.
	One side-effect of this change is that "make check" now works even if
	you put "." early in your shell's search PATH (don't do that!).

	Remove all test-related Makefile.am files, except those generated
	by mk-script.  Instead, tests/Makefile.am now lists not only the
	tests directly under tests/, but also those in tests/*/ that are
	not generated by mk-script, e.g., cp/abuse, cp/acl, mv/i-1, etc.

	A lot of these changes are like this:

	-. $srcdir/../lang-default
	+. $top_srcdir/tests/lang-default

	-. $srcdir/../test-lib.sh
	+. $top_srcdir/tests/test-lib.sh

	* configure.ac (AC_CONFIG_FILES): Remove corresponding Makefiles.
	* tests/check.mk (vc_exe_in_TESTS): Relax syntax requirements.
	* tests/rwx-to-mode: Remove file.  Rewritten as...
	* tests/test-lib.sh (rwx_to_mode_): ...this new function.
	* tests/Makefile.am (EXTRA_DIST): Remove rwx-to-mode.
	(SUBDIRS): Remove each dir with a removed Makefile.am.
	(EXTRA_DIST): Add $(TESTS).
	(TESTS): Add over 300 entries.

2008-04-20  Jim Meyering  <meyering@redhat.com>

	* tests/misc/Makefile.am (built_programs): Remove.  Unused.

	Use "env" to invoke potential built-ins.
	* tests/misc/pwd-unreadable-parent: Invoke pwd via "env -- pwd",
	rather than via an absolute name.
	* tests/touch/not-owner: Likewise for test.
	* tests/chmod/setgid: Likewise.

2008-04-19  Jim Meyering  <meyering@redhat.com>

	* .prev-version: Record previous version: 6.11.

	Version 6.11.
	* NEWS: Record release date.

	* maint.mk (writable-files): Fix syntax error.

	* doc/.gitignore: Add texinfo-related outputs.

2008-04-19  Sven Joachim  <svenjoac@gmx.de>

	* THANKS: Update my address, correct encoding for a name.

2008-04-19  Jim Meyering  <meyering@redhat.com>

	pr -e, with a mix of backspaces and TABs, could corrupt the heap
	* tests/pr/Test.pm: New tests for the above.
	* src/pr.c (char_to_clump): Ensure that "input_position" never
	goes below 0.
	Also, elide any backspace encountered when input_position is 0,
	to be compatible at least with /bin/pr from Solaris 10.
	This bug is present in the original version:
	b25038ce9a234ea0906ddcbd8a0012e917e6c661
	* NEWS [Bug fixes]: Mention this.
	Report and diagnosis by Cristian Cadar, Daniel Dunbar and Dawson Engler
	in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13272

2008-04-19  Mike Frysinger  <vapier@gentoo.org>

	* src/dircolors.hin: Add .flv.  Move .svgz to "image formats".

2008-04-19  Jim Meyering  <meyering@redhat.com>

	md5sum -c: ignore a line with a NUL byte among checksum hex digits
	* src/md5sum.c (hex_digits): Require that all "digest_hex_bytes"
	be hexadecimal digits, not just those before the first NUL byte.
	This bug dates back to the original version:
	3763a4f24eb21be40674d13ff7b04e078f473e85
	* tests/misc/md5sum (nul-in-cksum): Test for the above.
	* NEWS [Bug fixes]: Mention this.
	Prompted by a report from Flóki Pálsson in
	http://bugzilla.redhat.com/439531

2008-04-16  Matthew Woehlke  <mw_triad@users.sourceforge.net>

	tests: accommodate built-in mknod more cleanly still
	* tests/mkdir/selinux: Use "env" rather than "nice".

2008-04-16  Jim Meyering  <meyering@redhat.com>

	tests: accommodate built-in mknod more cleanly
	* tests/mkdir/selinux: Undo most of previous change,
	bc22dbbf844f31ddaf2e68b167d0128a985d73ab, and instead
	invoke the command via "nice".  Using "exec" should be
	enough, but isn't with OpenBSD's PD KSH v5.2.14 99/07/13.2.
	Eric Blake suggested using nice.

	mknod --help: note that this command may be a shell built-in
	* src/mknod.c (usage): Print USAGE_BUILTIN_WARNING.
	Suggestion from Eric Blake.

	avoid "may be used uninitialized" warning from newer gcc
	* src/md5sum.c (digest_check) [lint]: Initialize local, "filename".

	tests: add a comment explaining the potential failure

	tests: avoid mkdir/selinux failure when mknod is a shell built-in
	* tests/mkdir/selinux: Skip the mknod test if it's a built-in.

2008-04-15  Jim Meyering  <meyering@redhat.com>

	md5sum, sha1sum, etc: handle invalid input (i.e., don't segfault)
	* src/md5sum.c (bsd_split_3): Return right away if s_len == 0.
	* tests/misc/md5sum (bsd-segv): New test for the above.
	* tests/misc/sha1sum (bsd-segv): Likewise.
	* NEWS: Mention the bug fix.
	Reported by Cristian Cadar, Daniel Dunbar and Dawson Engler.

2008-04-14  Jim Meyering  <meyering@redhat.com>

	tests: don't fail on systems without a "stat" syscall
	* tests/test-lib.sh (require_strace_): Add a syscall parameter.
	* tests/ls/stat-free-symlinks: Update caller.
	* tests/mv/atomic: Likewise.
	* tests/mv/atomic2: Likewise.
	Reported by Mike Frysinger in
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13222

	tests: accommodate a different errno string on Irix 6.5
	* tests/mkdir/selinux: Also handle "Not supported".
	Reported by Peter Fales.

	seq: work around floating point inaccuracies on more systems
	* src/seq.c: Include <math.h> for fabs.
	Include <float.h> for DBL_EPSILON.
	(abs_rel_diff): New function.
	(print_numbers): Use abs_rel_diff rather than a strict equality test.
	Without this change, Solaris 8 and Irix 6.2 would fail the float-6
	test.  Reported by Peter Fales in
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13183
	* src/c99-to-c89.diff: Adjust seq.c offsets.

	doc: fix typo
	* coreutils.texi (sort invocation): s/Whitespace/White space/

2008-04-12  Jim Meyering  <meyering@redhat.com>

	tests: Accommodate a different errno value on OSF/1 4.0F.
	* tests/mkdir/selinux: Also handle "Function not implemented".

	Avoid link failure when using mkstemp replacement.
	* src/Makefile.am (tac_LDADD): Add $(LIB_CLOCK_GETTIME).
	This is necessary at least on a DEC Alpha OSF/1 4.0F.

	tests: always enable VERBOSE output, now that test framework works better
	* cfg.mk: Set VERBOSE=yes.
	* tests/check.mk: Likewise.

2008-04-11  Jim Meyering  <meyering@redhat.com>

	doc: avoid "make pdf" failure (due to texi2dvi bug?)
	* doc/coreutils.texi (filesZeroFromOption):
	Comment out @cindex-in-@macro use.

	doc: use a valid texinfo macro name
	* doc/coreutils.texi (filesZeroFromOption): s/0/Zero/

2008-04-08  Jim Meyering  <meyering@redhat.com>

	tests: accommodate a different errno value on HPUX-10.20
	* tests/mkdir/selinux: Also handle "Unknown system error".
	Reported by Peter Fales.

2008-04-06  Jim Meyering  <meyering@redhat.com>

	doc: factor out --files0-from duplication
	* coreutils.texi (wc invocation) [files0fromOption]: New macro.  Use it.
	(du invocation): Use it here, too.

	* src/c99-to-c89.diff: Adjust remove.c diffs.

2008-04-06  Jim Meyering  <jim@meyering.net>

	remove.c: accommodate systems with negative errno values
	This is required at least on Haiku and BeOS.
	* src/remove.c (write_protected_non_symlink): Return 1 for a write-
	protected non-symlink, 0 if we determine it's not, and -1 upon
	error (setting errno accordingly only in this final case).
	(prompt): Deal with the changed semantics of the above function.
	Based on this patch from Axel Dörfler:
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13071

2008-04-05  Jim Meyering  <meyering@redhat.com>

	Accommodate building on OS/2 (www.ecomstation.com Ecs v2 rc4)
	* configure.in: Also filter out carriage returns from the value
	of $no_install_progs_default.  Reported by Elbert Pol.

2008-04-02  Jim Meyering  <meyering@redhat.com>

	"touch E; mkfifo F; cp -fR F E" no longer fails due to existing E
	* src/copy.c (copy_internal): Revert change of 2005-03-01,
	4303f0454592421eea48be87777d32a49e1d5e5b
	Prompted by Michael Stone, who pointed me to an old bug report from
	Ian Jackson: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/7504
	* tests/cp/special-f: New file.  Test for the above.
	* tests/cp/Makefile.am (TESTS): Add special-f.
	* NEWS: mention this bug fix.

	copy.c: remove an in-function #ifdef
	* src/copy.c (rpl_mkfifo) [! HAVE_MKFIFO]: New function.
	(mkfifo) [! HAVE_MKFIFO]: Define to rpl_mkfifo.
	(copy_internal): Remove #ifdef.

	HACKING: rename README-contribution-guidelines
	README-contribution-guidelines: Rename to ..
	HACKING: ...this.

2008-04-01  Jim Meyering  <meyering@redhat.com>

	bootstrap: remove dangling *.[ch] symlinks from lib
	* bootstrap [dangling symlink removal]: Match *.[ch] files, too.
	Suggestion from Eric Blake.

	bootstrap: make find's -depth option be the first.
	* bootstrap [dangling symlink removal]: Move find's -depth
	option to precede all others, to avoid a warning.

	* bootstrap: Remove dangling symlinks from lib (aka $source_base), too.

	Avoid root-only SELinux-related test failures w/o mcstransd.
	When mcstransd is not running (i.e., after service mcstrans stop),
	"make check" as root would provoke two test failures.
	* tests/cp/cp-a-selinux: Use the context, root:object_r:tmp_t:s0,
	that works both with and without mcstransd.
	Thanks to Eric Paris for the tip and to Ondřej Vašík for alerting
	me to the problem.
	Reported by Robert Scheck in <http://bugzilla.redhat.com/436717>.

	root tests: Set NON_ROOT_USERNAME if not set already.
	* tests/test-lib.sh (require_root_): This avoids failure of a
	couple of root-only tests that require a value for that envvar.

	texinfo formatting tweaks
	* coreutils.texi: Avoid some overfull hbox warnings.
	(Treating / specially): Use @file{/} rather than a bare /.

	printf doc: xref print(3) and libc's "Output Conversion Syntax" node
	* coreutils.texi (printf invocation): Add xref.
	Use "The GNU C Library Reference Manual" as the name of the 'libc'
	document consistently.
	* man/printf.x: Add See also: printf(3).
	Suggested by A. Costa in http://bugs.debian.org/465522

2008-03-31  Jim Meyering  <meyering@redhat.com>

	Emit "#line 1" right after the two 'read-only/GENERATED' lines.
	* bootstrap (cp_mark_as_generated): This preserves line numbering
	e.g., in assertions, which is important when correlating between
	coreutils test failures and the original files in gnulib/tests.
	Suggested by Eric Blake.

	* README-contribution-guidelines: Mention how to amend a commit.
	Suggestion from Pádraig Brady.

	Begin documenting contribution guidelines.
	* README-contribution-guidelines: New file.  For now, not distributed.

	"rm -r DIR" would mistakenly prompt about very long names
	* src/remove.c (write_protected_non_symlink): Return 0(-1) when
	euidaccess_stat pronounces a writable(not-writable) file, not -1(0).
	* tests/rm/deep-2: New file.  Test for the above-fixed bug.
	* tests/rm/Makefile.am (TESTS): Add deep-2.
	Discovered while reviewing this change:
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13071

	* NEWS: Note the dd bug fix.  The bug was introduced over 8 years ago:
	9fca49f67c16c8b42c32e185808fe187cedb0fa7

2008-03-31  Paul Eggert  <eggert@cs.ucla.edu>

	dd bug fix: accept e.g., if=/dev/stdin and of=/dev/stdout
	* lib/fd-reopen.c: Work even if FILE is "/dev/stdin".
	Problem reported by Geoffrey Lee in <http://bugs.debian.org/290727>.
	* tests/dd/misc: Check for this bug.

2008-03-29  Jim Meyering  <meyering@redhat.com>

	avoid failure of new test on kernel without SELinux support
	* tests/mkdir/selinux: Also accept ENOENT.
	Reported by Sven Joachim.

	tests: accept ENOTSUP message as well as the EINVAL one
	This test would fail on most non-Linux systems because the original
	expected an "Invalid argument" diagnostic, yet they all produced
	"Operation not supported".
	* tests/mkdir/selinux: Accept both strings.  Factor out duplication.

	Work around a recent glibc/getopt.c diagnostic change.
	* tests/misc/factor: Map new "-- '1'" to expected "-- 1".

2008-03-28  Jim Meyering  <meyering@redhat.com>

	mknod, mkfifo: don't segfault when diagnosing invalid SELinux context
	Identical to the bug fixed by 72d052896a9092b811961a8f3e6ca5d151a59be5.
	* src/mkfifo.c (main): Use "scontext", not NULL optarg in diagnostic.
	* src/mknod.c (main): Likewise.
	Reported by Cristian Cadar, Daniel Dunbar and Dawson Engler.
	* tests/mkdir/selinux: Test for the above fixes.
	* NEWS: Mention the fixes.

	Fix typo in old NEWS and ChangeLog: s/commmand/command/.
	* ChangeLog-2007: Likewise.
	* NEWS: Likewise.
	Prompted by http://bugzilla.redhat.com/439410

2008-03-28  Pádraig Brady  <P@draigBrady.com>

	tests: Factor out code that's going to be reused.
	* tests/test-lib.sh (mkfifo_or_skip_): New function, factored out of...
	* tests/touch/fifo: ...here.

2008-03-28  Jim Meyering  <meyering@redhat.com>

	Require that "(exit $fail); exit $fail" be last line of each test.
	* maint.mk (sc_require_test_exit_idiom): New rule to enforce policy.
	* tests/cp/acl: Adhere to the new policy.
	* tests/cp/preserve-gid: Likewise.
	* tests/dd/misc:
	* tests/install/create-leading:
	* tests/ln/sf-1:
	* tests/ls/symlink-slash:
	* tests/misc/help-version:
	* tests/misc/ls-time:
	* tests/misc/nice:
	* tests/misc/shred-remove:
	* tests/misc/stty:
	* tests/misc/stty-row-col:
	* tests/mkdir/p-1:
	* tests/mkdir/p-2:
	* tests/mkdir/p-3:
	* tests/mkdir/p-v:
	* tests/mkdir/special-1:
	* tests/mkdir/writable-under-readonly:
	* tests/mv/acl:
	* tests/mv/backup-is-src:
	* tests/mv/diag:
	* tests/mv/dir-file:
	* tests/mv/force:
	* tests/mv/hard-link-1:
	* tests/mv/i-2:
	* tests/mv/i-4:
	* tests/mv/into-self:
	* tests/mv/into-self-2:
	* tests/mv/into-self-3:
	* tests/mv/partition-perm:
	* tests/mv/to-symlink:
	* tests/rmdir/ignore:
	* tests/tail-2/assert:
	* tests/tail-2/assert-2:
	* tests/touch/dangling-symlink:
	* tests/touch/dir-1:
	* tests/touch/empty-file:
	* tests/touch/fifo:
	* tests/touch/no-rights: Likewise.

	Perform explicit exit-nonzero if the embedded Perl script fails.
	* tests/misc/pwd-long: Add canonical '(exit $fail); exit $fail'.

2008-03-27  Jim Meyering  <meyering@redhat.com>

	paste -d\\: avoid heap overrun for backslash at end of delim list
	* src/paste.c: Include "quotearg.h".
	(collapse_escapes): Handle backslash-escaped backslash explicitly.
	Handle unescaped backslash at end of string by returning nonzero,
	rather than by overrunning memory.
	(main): Diagnose an invalid delimiter list -- carefully.
	Reported by Cristian Cadar, Daniel Dunbar and Dawson Engler.
	* tests/misc/paste-no-nl (delim-bs): Add a test to demonstrate the
	heap-smashing capability.
	(delim-bs2): Prior to coreutils-5.1.2, this bug was a little harder
	to demonstrate: it would corrupt a first-argument containing e.g., \b
	* NEWS: Mention the bug fix.
	* tests/misc/Makefile.am (TESTS): Reflect renaming.
	* tests/misc/paste: Rename from paste-no-nl.

2008-03-26  Jim Meyering  <meyering@redhat.com>

	* src/join.c (keycmp): Document new parameters.

	Test for mkdir bug fix.
	* tests/mkdir/selinux: New file: test for today's fix.
	* tests/mkdir/Makefile.am (TESTS): Add selinux.

2008-03-26  Daniel Dunbar  <daniel@zuster.org>

	mkdir -Z x d: don't segfault when diagnosing invalid context "x" (tiny change)
	* src/mkdir.c (main): Use "scontext", not NULL optarg in diagnostic.
	Reported by Cristian Cadar, Daniel Dunbar and Dawson Engler.
	* NEWS: Mention the bug fix.

2008-03-25  Peter Fales  <psfales@alcatel-lucent.com>

	id bug fix: don't point to potentially clobbered static storage
	On at least Mac OS, when calling getpwuid twice with the same UID,
	the static storage containing results from the first call is
	invalidated by the second call.
	* src/id.c (main): Point to a copy of the user name string.

2008-03-25  Eric Blake  <ebb9@byu.net>

	Use new gnulib gnumakefile module.
	* bootstrap.conf (gnulib_modules): Pull in new module.
	* GNUmakefile: Remove from version control.
	* .gitignore: Update.
	* configure.ac (AC_CONFIG_LINKS): Delete; rely on gnulib to do
	this now.
	* Makefile.am (EXTRA_DIST, distclean-local): Likewise.

2008-03-25  Jim Meyering  <meyering@redhat.com>

	join bug fix: adapt keycmp to work with new order-checking feature
	* src/join.c (keycmp): Add two join-field parameters.
	(check_order, join): Update callers.
	Reported by Dmitry V. Levin in
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12731/focus=13017
	* tests/join/Test.pm (chkodr-7): New test for this fix.

2008-03-23  Jim Meyering  <meyering@redhat.com>

	join.c: syntax/style tweaks
	* src/join.c (check_order): Rename from checkorder.
	Move definition to precede first use and remove prototype.
	Use EXIT_FAILURE, rather than "1".
	(key_cmp): Move definition to precede first use.

2008-03-22  Jim Meyering  <meyering@redhat.com>

	portability: work around a "busybox sed" limitation
	* configure.ac: While every other sed tested supports usage like
	'/\(re\)/{s//\1/;...<NEWLINE>}', and POSIX appears to requires this,
	busybox's sed does not support it.  So duplicate the regexp:
	'/\(re\)/{s/\(re\)/\1/;...<NEWLINE>}'.  Reported by Vincent Lefevre:
	<http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13013>.

2008-03-21  Jim Meyering  <meyering@redhat.com>

	* src/c99-to-c89.diff: Adjust seq.c offsets.

	ptx: avoid heap overrun for backslash at end of optarg string
	* src/ptx.c (copy_unescaped_string): Ignore a lone backslash
	at end of string.  Reported by Cristian Cadar, Daniel Dunbar
	and Dawson Engler.  Details here:
	<http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13005>.
	* tests/misc/Makefile.am (TESTS): Add ptx-overrun.
	* tests/misc/ptx-overrun: New file.  Test for the above fix.
	* NEWS: Mention the fix.

	ptx.c readability
	* src/ptx.c (copy_unescaped_string): Add braces around 80+-line
	single-stmt while-loop body.

	Write NEWS and update c99-to-c89 patch for today's rm improvement.
	* NEWS: call this a "portability improvement" ;-)
	* src/c99-to-c89.diff: Adjust remove.c offsets.

2008-03-21  Ingo Weinhold  <ingo_weinhold@gmx.de>

	remove.c: Accommodate systems with negative errno values.
	* src/remove.c (cache_fstatat): Store errno value directly in
	the st_ino field, rather than trying to shoehorn it into st_size.
	This is required at least on BeOS and Haiku.

2008-03-21  Jim Meyering  <meyering@redhat.com>

	* src/seq.c (long_double_format): Add a comment.

	* GNUmakefile: Update from gnulib.

2008-03-20  Jim Meyering  <meyering@redhat.com>

	Remove today's automake kludge, altogether.  Fix properly.
	* man/Makefile.am: Use dist_man1_MANS instead of dist_man_MANS.
	Suggestion from Ralf Wildenhues.

	Add a check to detect this problem, in case it reappears.
	* maint.mk (my-distcheck): Run "make install", and then ensure
	that ls.1 is installed.

	Kludge to make automake generate install-man rules
	* man/Makefile.am (dist_man_MANS): Add a literal, rm.1.
	Without this, "make install" would not install man pages.
	However, with this kludge, the rm.1 man page is installed
	even when you configure with --enable-no-install-program=rm.

	Revert recent man/Makefile.am change.
	Revert 4b544e447eb78fd1f031a026a499f6aed177808a.
	* man/Makefile.am: That change was only a band-aid.  It solved
	the stated problem, but not a deeper one: that "make install"
	would no longer man pages.  Reported by Dmitry V. Levin.
	The latter problem arose in
	167b8025aca487de001da2448c1aebc2747bc1d3 with the removal of
	the sole literal from the definition of dist_man_MANS.  When
	automake perceives dist_man_MANS as empty, it no longer emits
	the install-man* rules.

2008-03-20  Eric Blake  <ebb9@byu.net>

	Sync GNUmakefile with gnulib.
	* GNUmakefile (Makefile.cfg): Rename...
	(cfg.mk): ...to this, and make optional.
	(GNUmakefile.cfg): Delete, redundant with cfg.mk.
	(Makefile.maint): Rename...
	(maint.mk): ...to this.
	(all) [!_have-Makefile]: Rename...
	(abort-due-to-no-makefile): ...to this, and invoke via
	.DEFAULT_GOAL to pick up all targets.
	* Makefile.cfg: Rename...
	* cfg.mk: ...to this.
	* Makefile.maint: Rename...
	* maint.mk ...to this.
	(ME): Reflect rename.
	(makefile-check, m4-check, author_mark_check, msg): Use $(ME)
	rather than hard-coded name.
	* Makefile.am (EXTRA_DIST): Distribute renamed files.
	* .x-sc_file_system: Remove Makefile.maint along with others. No longer needed.
	* .x-sc_obsolete_symbols: Likewise.
	* .x-sc_prohibit_atoi_atof: Reflect renaming and remove no-longer-VC'd names.
	* TODO: Likewise.

2008-03-19  Bob Proulx  <bob@proulx.com>

	make check: Remove /tmp/ls-creating debug code.
	* tests/misc/ls-misc: Remove debug code creating /tmp/ls.

2008-03-19  Jim Meyering  <meyering@redhat.com>

	bootstrap: restore kludge removed on 2008-03-12: it's still necessary.
	* bootstrap: Make the gnulib-tests/test-*.sh scripts executable.
	This restores code removed by dec8bb25bb6da2fe9fe6dd63c0fbbd593a0e94cb.
	Reported by Bob Proulx.

	Check for -- and remove -- some unnecessarily included header files.
	* Makefile.maint: Add checks for a handful of additional header files.
	* src/mktemp.c: Don't include "long-options.h".  Not used.
	* src/pr.c: Don't include "inttostr.h".  Not used.
	* src/printenv.c: Don't include "error.h".  Not used.
	* src/test.c: Don't include "error.h".  Not used.
	* src/touch.c: Don't include "safe-read.h".  Not used.

	Remove more vestiges of CVS.
	* Makefile.maint (VC_LIST): Rename from CVS_LIST.
	(VC_LIST_EXCEPT): Rename from CVS_LIST_EXCEPT.

	mv: never unlink a destination file before calling rename
	While cp --preserve=links must unlink certain destination files,
	mv must never do that.
	* src/copy.c (copy_internal): Pull the '! x->move_mode' test "up",
	so it affects the entire condition, and not just DEREF_NEVER mode.
	Reported by James Ralston in <http://bugzilla.redhat.com/438076>.
	* tests/mv/atomic2: New file.  Test for the above fix.
	* tests/mv/Makefile.am (TESTS): Add atomic2.
	* NEWS: Mention the bug-fix.
	[Bug introduced in 367719ba5f1dbd5e2f7fa2466c441f23f66a7c9e]

	"make" would not always update man/*.1 files (but "make dist" would)
	* man/Makefile.am (BUILT_SOURCES): Define, so that "make" always
	updates man/*.1 files.  Reported by Bob Proulx.

2008-03-18  Jim Meyering  <meyering@redhat.com>

	syntax-check: Make the space-before-open-paren optional.
	* Makefile.maint (sc_prohibit_assert_without_use): Match also
	when there is no space before the opening parenthesis.
	(sc_prohibit_getopt_without_use): Likewise.
	(sc_prohibit_quotearg_without_use): Likewise.
	(sc_prohibit_quote_without_use): Likewise.

	* Makefile.maint (sc_no_have_config_h): Use a more precise regexp.

	* Makefile.maint (CVS): Remove now-unused definition.

	Factor out duplication in sc_prohibit_*_without_use rules.
	* Makefile.maint (_header_without_use): New "command",
	factored out of four sc_prohibit_HEADER_without_use rules.
	(sc_prohibit_assert_without_use): Rewrite using $(_header_without_use).
	(sc_prohibit_getopt_without_use): Likewise.
	(sc_prohibit_quotearg_without_use): Likewise.
	(sc_prohibit_quote_without_use): Likewise.

2008-03-18  Dmitry V. Levin  <ldv@altlinux.org>

	Correct typo in "make syntax-check" diagnostic.
	* Makefile.maint (sc_prohibit_getopt_without_use): s/assert.h/getopt.h/

2008-03-16  Jim Meyering  <meyering@redhat.com>

	Prohibit inclusion of getopt.h without use.
	* Makefile.maint (sc_prohibit_getopt_without_use): New rule.

	Include <getopt.h> only if used.
	* src/group-list.c: Don't include <getopt.h>.
	* src/printf.c: Likewise.

2008-03-16  J. Scott Edwards  <qrw.software@gmail.com>

	sha512_process_bytes: fix a bug in processing a buffer where length&64 != 0
	* gl/lib/sha512.c (sha512_process_bytes): s/63/127/.

2008-03-12  Jim Meyering  <meyering@redhat.com>

	Generalize GNUmakefile, ...
	...so that it can be used unmodified by autoconf.
	* GNUmakefile: Include optional file, GNUmakefile.cfg.
	Autoconf will use this to override _autoreconf and to export PATH.
	(_autoreconf): Define.
	(_dummy): cd to $(srcdir) before removing autom4te.cache.

	* bootstrap: Sync from gnulib and remove part of a local kludge.

2008-03-10  Ondřej Vašík  <ovasik@redhat.com>

	install, rmdir: write --verbose output to stdout, not to stderr.
	* src/install.c (announce_mkdir): Write verbose output to stdout,
	not to stderr.
	* src/mkdir.c (announce mkdir): Use prog_fprintf for verbose output.
	* src/prog-fprintf.c (prog_fprintf): New function and file.
	* src/prog-fprintf.h: New file.
	* src/rmdir.c (main): Write verbose output to stdout, not to stderr.
	Quote directory name in a diagnostic.
	* src/rmdir.c (remove_parents): Write verbose output to stdout,
	not to stderr.
	* doc/coreutils.texi: Mention that shred verbose output is to stderr.
	* NEWS: Mention the changes.

2008-03-10  Jim Meyering  <meyering@redhat.com>

	make syntax-check: also check src/*.h files for extern functions,
	* src/Makefile.am (sc_tight_scope): ... now that there is one.

2008-03-07  Jim Meyering  <meyering@redhat.com>

	dd: avoid unnecessary, but harmless close_stdout call.
	* src/dd.c (close_stdout_required): New global.
	(maybe_close_stdout): New function.
	(main): Set the global.
	Reported by Ulrich Drepper in http://bugzilla.redhat.com/436368

2008-03-06  Jim Meyering  <meyering@redhat.com>

	Now that ChangeLog is no longer under version control, ...
	* Makefile.maint (alpha beta major): Don't make changelog-check.
	(changelog-version-check): Rename from changelog-check.

2008-03-05  Jim Meyering  <meyering@redhat.com>

	* src/c99-to-c89.diff: Accommodate a C99-ism in id.c.

2008-03-05  ribalba  <geerd.dietger.hoffmann@gmail.com>

	Work around AFS bug: id and groups would print invalid group number.
	* src/id.c (main): Call print_group_list with a user name, if possible.
	* src/groups.c (main): Likewise.
	* NEWS: Mention this.
	For details, see
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12852
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12875

2008-03-05  Jim Meyering  <meyering@redhat.com>

	Now that Makefile.maint is used in VPATH builds, too...
	* Makefile.maint (prev_version_file): Prefix with $(srcdir)/.
	(syntax-check-rules): Prefix $(ME) with $(srcdir)/.

	Avoid new "make distcheck" failure, now that VPATH has GNUmakefile.
	* GNUmakefile: Remove commands to create ".version".
	They were unnecessary, and caused creation of a newer .version
	file in a VPATH build, which in turn caused creation of updated
	man/*.1 files reflecting the newer time stamp on .version.
	Those *.1 files were not removed (since they're distributed), and
	the fact that they remained after "distclean" triggered the failure.

2008-03-04  Eric Blake  <ebb9@byu.net>

	Reinstate GNUmakefile patch, but with workaround for automake.
	* configure.ac (AC_CONFIG_LINKS): Use shell variable to bypass
	automake distclean rules.
	* Makefile.am (distclean-local): Clean GNUmakefile in VPATH builds,
	since we are bypassing automake.
	* GNUmakefile (_is-dist-target): 'distclean' is not a dist target.

2008-03-04  Jim Meyering  <meyering@redhat.com>

	Clarify comment and attribute preceding change: Reported by Ralf Wildenhues.

	Comment out yesterday's VPATH-friendly addition, for now.
	* configure.ac: ...while we wait for a fixed version of automake.

2008-03-03  Eric Blake  <ebb9@byu.net>

	Use m4_PACKAGE_VERSION, not AC_AUTOCONF_VERSION.
	* configure.ac: The latter is only in post-2.61 autoconf.

	GNUmakefile build tweaks.
	* GNUmakefile: When Makefile is not present, make common targets depend
	on "all" in order to trigger nicer error message.
	* configure.ac: If autoconf is new enough, link GNUmakefile into VPATH
	builds.
	For more details, see
	<http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/12853>.

2008-03-03  Simon Josefsson  <simon@josefsson.org>

	Define SHA*_DIGEST_SIZE symbols.
	* gl/lib/sha256.h (SHA224_DIGEST_SIZE, SHA256_DIGEST_SIZE): Define.
	* gl/lib/sha512.h (SHA384_DIGEST_SIZE, SHA512_DIGEST_SIZE): Define.

2008-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Fix so that out-of-tree VPATH "make dist" works, too.
	* GNUmakefile: Add $(srcdir)/ prefix to git-version-gen and argument.

2008-03-02  Jim Meyering  <meyering@redhat.com>

	One more for non-srcdir "make dist".
	* GNUmakefile: Also cd $(srcdir) before running autoreconf.

	Adjust so that non-srcdir "make dist" works, too.
	* GNUmakefile: Add $(srcdir)/ prefix to git-version-gen and argument.

	Don't infringe namespace of "sub"-Makefiles.
	* GNUmakefile (_dummy, _have-Makefile): Add "_" prefix.

	Create sha256 and sha512 modules and move files into gl/.
	* bootstrap.conf (gnulib_modules): Add sha256 and sha512.
	* m4/prereq.m4: Don't require gl_SHA256 or gl_SHA512.
	* gl/modules/sha512: New file.
	* gl/modules/sha256: New file.
	* m4/sha256.m4: Move to ...
	* gl/m4/sha256.m4: ...here, removing use of AC_SOURCES.
	* m4/sha512.m4: Move to ...
	* gl/m4/sha512.m4: ...here, removing use of AC_SOURCES.
	* lib/sha256.c, lib/sha256.h: Move to ...
	* gl/lib/sha256.c, gl/lib/sha256.h: ...here.
	* lib/sha512.c, lib/sha512.h: Move to ...
	* gl/lib/sha512.c, gl/lib/sha512.h: ...here.
	* lib/u64.h: Move to ...
	* gl/lib/u64.h: ...here.

	* bootstrap: Remove only *.m4, and only from $m4_base/.  Rewrite the comment.

	* bootstrap: Sync from gnulib.

2008-03-01  Jim Meyering  <meyering@redhat.com>

	Don't skip the groups-version test.
	* tests/Makefile.am (built_programs): Remove unused definition.
	* src/Makefile.am (built_programs.list): Print a space-separated
	list of program names, not NL-separated, since all clients now
	expect a space-separated list.

	Don't exempt "groups" from write-failure test, now that it's a C program.
	* tests/misc/help-version: Since groups is no longer a shell
	script, a buggy bourne shell can't cause trouble.

	* configure.ac (AC_INIT): Use .tarball-version, not .version.

	Don't depend on gnulib's deprecated "free" module.
	* bootstrap.conf (obsolete_gnulib_modules): Remove free.
	* gl/modules/mgetgroups (Depends-on): Remove free.

2008-02-29  Jim Meyering  <meyering@redhat.com>

	Merge bootstrap changes from gnulib.
	* bootstrap (MSGID_BUGS_ADDRESS): Define and use.
	(version_controlled_file): Use "git rm", not "git-rm".

	Use "git tag", not "git-tag", in preparation for git-1.6.0.
	* Makefile.maint (VC-tag): Remove '-': s/git-tag/git tag/

2008-02-28  Jim Meyering  <meyering@redhat.com>

	Make copyright comments consistent.
	* src/mktemp.c: Update copyright to use newer form.

	Make first copyright lines consistent. Some did not end in ", Inc.".
	Due to that missing ", Inc" at end of line, emacs' copyright-updating
	code missed some opportunities.  This corrects most of those, and
	adds some mistakenly omitted years.
	* src/chown-core.c: Adjust.
	* src/chown-core.h: Likewise.
	* src/copy.c: Likewise.
	* src/copy.h: Likewise.
	* src/cp-hash.c: Likewise.
	* src/cp.c: Likewise.
	* src/group-list.h: Likewise.
	* src/mktemp.c: Likewise.
	* src/stat.c: Likewise.
	* tests/chmod/equal-x: Likewise.
	* tests/dd/skip-seek: Likewise.
	* tests/envvar-check: Likewise.
	* tests/mv/into-self-2: Likewise.

2008-02-25  Bob Proulx  <bob@proulx.com>

	Fix test failure where rm would appear to succeed incorrectly.
	* tests/rm/fail-eperm: Ignore files that were opportunistically chosen
	to test permission failures but disappear before we can finish the test.

2008-02-24  Jim Meyering  <meyering@redhat.com>

	* gl/lib/mgetgroups.c (mgetgroups): Parenthesize correctly.

	* gl/lib/mgetgroups.c: Include <stdlib.h>.

2008-02-23  Jim Meyering  <meyering@redhat.com>

	Avoid test failures when root (/) is not readable.
	* tests/test-lib.sh (require_readable_root_): New function.
	* tests/misc/pwd-long: Skip this test when / is unreadable.
	* tests/du/slash: Likewise.
	This is required at least for Mandrake/Mandriva in "secure" mode.
	Reported by Theodoros V. Kalamatianos in
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12800

2008-02-22  Jim Meyering  <meyering@redhat.com>

	id: avoid race when a group is added between getgrouplist calls
	* gl/lib/mgetgroups.c (mgetgroups) [N_GROUPS_INIT]: Rename enum.
	Use a larger value.
	Update *groups only upon success.
	Iterate upon failed getgrouplist.

2008-02-21  James Youngman  <jay@gnu.org>

	id: use getgrouplist when possible
	* gl/m4/mgetgroups.m4: Check for getgrouplist.
	* gl/lib/mgetgroups.c (mgetgroups): Use getgrouplist, if available.
	* TODO: Remove the item about switching to getgrouplist.
	* NEWS: mention this

2008-02-21  Paul Eggert  <eggert@CS.UCLA.EDU>

	du vs. hard links and argument order: improve documentation
	* doc/coreutils.texi (du invocation): Document default behavior on
	hard links, and why argument order matters.

2008-02-20  James Youngman  <jay@gnu.org>

	join: avoid new leaks
	* src/join.c (prevline): Make prevline module-level static, so that
	the allocated items can be freed at exit.
	(free_prevline): new atexit function; frees items in prevline[].
	Use ARRAY_CARDINALITY, so include "argmatch.h" to get that.
	(main): Arrange for free_prevline to be called during exit.
	(get_line): Free prevline[which - 1] also, as that
	will have been allocated by dup_line.

2008-02-20  Jim Meyering  <meyering@redhat.com>

	Remove xdelta support, clean up distcheck process. * Makefile.maint (writable-files): Don't create $(release_archive_dir). (my-distcheck): Don't depend on prev-tgz. Remove xdelta-related variables and uses. (alpha beta major): Skip steps if $(release_archive_dir) doesn't exist.

	* bootstrap: Remove dangling symlinks before invoking aclocal.

2008-02-20  Andreas Schwab  <schwab@suse.de>

	sort: add --sort=... option.
	* src/sort.c (SORT_OPTION): New enum.
	(sort_args, sort_types): Define.
	(usage, long_options, main): New option --sort.
	* tests/sort/Test.pm: Test it.
	* doc/coreutils.texi (sort invocation): Document --sort option.
	* NEWS: Mention this.

2008-02-19  Jim Meyering  <meyering@redhat.com>

	2008-02-19  Jim Meyering  <meyering@redhat.com>
	* TODO: Remove final seq-related item.

	* src/c99-to-c89.diff: Adjust seq.c offsets.  Accommodate a new C99-ism.

2008-02-19  Steven Schubiger  <schubiger@gmail.com>

	seq: give better diagnostics for invalid formats.
	* src/seq.c: (validate_format): New function.
	(main): Use it.
	* tests/misc/seq (fmt-d, fmt-e): Test for expected diagnostics with
	invalid formats.
	* NEWS: Mention this change.
	* TODO: Remove this item.
	[jm: src/seq.c: make diagnostics more consistent
	 tests/misc/seq (fmt-eos1): adjust the expected diagnostic ]

2008-02-19  James Youngman  <jay@gnu.org>

	join: new options: --check-order and --nocheck-order.
	* src/join.c: Support --check-order and --nocheck-order.
	New variables check_input_order, seen_unpairable and
	issued_disorder_warning[]. For --check-order, verify that the
	input files are in sorted order.  For the default case, check the
	order only if there are unpairable lines.
	(join): Perform ordering checks after reaching EOF on either
	input.
	(usage): Mention --check-order and --nocheck-order.
	(dupline): Save a copy of the previously-read input line so that
	we can detect disorder on the input.
	(get_line): Temporarily save a copy of the previous line (by
	calling dupline) and check relative ordering (by calling
	checkorder) before returning the newly-read line.
	(getseq, join): Tell get_line which file we are reading from.
	(advance_seq): New function, factoring out some of the code
	commonly surrounding calls to getseq.
	(checkorder): New function.  Verifies that a pair of consecutive
	input lines are in sorted order.
	* doc/coreutils.texi (join invocation): Document the new options
	--check-order and --nocheck-order.
	* tests/join/Test.pm (tv): Added tests for --check-order and
	--nocheck-order.
	* NEWS: Mention this new feature.

	Fix non-srcdir "make distcheck" failure.
	* Makefile.am (check-ls-dircolors): Look for sources under
	$(srcdir), not under ".".

2008-02-18  Jim Meyering  <meyering@redhat.com>

	seq: give a proper diagnostic for an invalid --format=% option
	* src/seq.c (long_double_format): Handle '%' at end of string.
	* tests/misc/seq [fmt-eos1, fmt-eos2]: New tests for the bug.
	* NEWS: Mention this.
	Reported by Pádraig Brady.

2008-02-17  Jim Meyering  <meyering@redhat.com>

	.gitignore, src/.gitignore: ignore more

	Clean up Makefile.maint.
	* Makefile.maint: Remove obsolete comments.
	(local-checks-available): Remove changelog-check.

	Clean up ls.c.
	* src/ls.c (put_indicator): Use fwrite, not a loop.

	Ensure that dircolors.c and ls.c remain in sync.
	* Makefile.am (check-ls-dircolors): New rule.
	(distcheck-hook): Depend on it.

	Expand "ls --color" tests to also use the dircolors defaults.
	* tests/misc/ls-misc: Adjust this test so each is run twice.  First, as usual,
	and the second time with LS_COLORS set using the default settings
	produced by running dircolors.
	* tests/Coreutils.pm: See below.

	This required some changes:
	  - save and restore $ENV{LS_COLORS} for each individual test
	  that requires a specific value.
	  - Since this is the first test to call the run_tests command more
	  than once, it has exposed that that function erroneously modifies
	  the \@Tests array.  Fix that in tests/Coreutils.pm.

	Adjust dircolors to match ls.c.
	* src/dircolors.hin: comment out NORMAL and FILE, define RESET.
	* src/dircolors.c (slack_codes) Add "RESET".
	(ls_codes): Add "rs".

2008-02-17  Ed Avis  <ed@membled.com>

	ls --color no longer outputs unnecessary escape sequences
	In --color mode, plain files do not get any color, not even white.
	When no highlighting is required, ls outputs no escape sequence at all.
	* src/ls.c (print_with_color):
	(used_color): New global.
	(indicator_no) [C_RESET]: New enum value.
	(indicator_name) ["rs"]: Corresponding new string.
	(color_indicator): Make the 'normal' and 'file' markers be NULL.
	Use "rs" (C_RESET) to reset to ordinary colors.
	(process_signals): Restore default colors only if necessary.
	(main): Don't call prep_non_filename_text here.
	(print_name_with_quoting): Call it here, instead.
	(prep_non_filename_text): Use C_RESET, not C_NORM.
	(print_color_indicator): Return bool, not void.
	Print nothing, when possible.
	(put_indicator): Call prep_non_filename_text the first time.
	* tests/misc/ls-misc: Test for above.
	* tests/ls/color-dtype-dir: Adapt: no escapes around regular file name.
	* TODO: Remove item.
	* NEWS: Mention this.

2008-02-17  Dan Jacobson  <jidanni@jidanni.org>

	ls: Improve description of --group-directories-first.
	* src/ls.c (usage) [--group-directories-first]: Improve description.
	* doc/coreutils.texi (Which files are listed): Likewise.

2008-02-16  Jim Meyering  <meyering@redhat.com>

	Avoid tests/cp/acl test failure.
	* tests/check.mk (TESTS_ENVIRONMENT) [CONFIG_HEADER]: Define
	to an absolute name, so it can be used from any point in the
	test hierarchy.  Reported by James Youngman.

2008-02-16  James Youngman  <jay@gnu.org>

	Use the gettime module in ls.c.
	Implement TODO list item to make ls.c use the gettime module.
	* TODO (ls): Now that we use gettime, remove the TODO entry.
	* src/ls.c: Use timespec.h and the gettime module.
	(current_time): Change type from time_t to struct timespec.
	(current_time_ns): Removed.
	(get_current_time): Removed.
	(print_long_format): Remove when and when_ns, since we have
	when_timespec anyway.  Change type of variable six_months_ago from
	time_t to struct timespec.

2008-02-14  Jim Meyering  <meyering@redhat.com>

	groups: don't test printf and putchar calls for failure
	They are unnecessary, since we use gnulib's closeout module.
	* src/group-list.c (print_group): Remove explicit error tests.
	* src/groups.c (main): Likewise.
	(write_error): Remove function.

2008-02-13  James Youngman  <jay@gnu.org>

	Replace groups.sh with groups.c.
	* src/groups.c (main): New file, replacing groups.sh.
	* src/group-list.c, src/group-list.h: New files, factored out of id.c,
	implementing the functionality that "id" and "groups" have in common.
	* src/id.c (print_full_info): Avoid a segfault when trying to print
	an error message if getgroups fails.
	(print_group_list): Move to group-list.c.
	(print_group): Likewise.
	* man/Makefile.am: When building groups.1, obtain the help text
	from src/groups.c, not src/groups.sh.
	(noinst_HEADERS): Add group-list.h.
	(group): Remove rule.
	(dist_man_MANS): Remove groups.1.
	* doc/coreutils.texi (groups: Print group names a user is in):
	Explain why "groups" and "groups $(id -un)" give different results
	in existing login sessions after you change the group database.
	(id: Print user identity): Likewise for "id".
	* po/POTFILES.in: Add src/group-list.c and src/groups.c.
	* NEWS: mention this.
	* AUTHORS: Update.

2008-02-12  Jim Meyering  <meyering@redhat.com>

	Move more test_skip_-using code to follow ". test-lib.sh".
	* tests/mv/acl: Likewise.
	* tests/cp/acl: Likewise.

2008-02-12  Peter Fales  <psfales@alcatel-lucent.com>

	tests/touch/not-owner: Source test-lib.sh before using skip_test_.

2008-02-12  Jim Meyering  <meyering@redhat.com>

	* tests/Makefile.am (EXTRA_DIST): Remove strace.

2008-02-11  Jim Meyering  <meyering@redhat.com>

	tests: Migrate sourced strace file into a function, require_strace_.
	* tests/strace: Remove file.
	* tests/test-lib.sh (require_strace_): New function.
	* tests/mv/atomic: Use require_strace_, rather than ". strace".
	* tests/ls/stat-free-symlinks: Likewise.
	Peter Fales reported that stat-free-symlinks failed without strace.

	* tests/rm/inaccessible: Source test-lib.sh *before* using skip_test_.
	Reported by Peter Fales.

2008-02-10  Jim Meyering  <meyering@redhat.com>

	Ensure there are no removable (useless) if-before-free tests.
	* bootstrap.conf (gnulib_modules): Add useless-if-before-free.
	* Makefile.maint (sc_avoid_if_before_free): New rule.

	Use a better dirname emulation.
	* build-aux/check.mk (_dirname): Define.
	(am__check_pre): Use it.

	Avoid test failure when run with risky PATH ("." before /usr/bin).
	* build-aux/check.mk (approx_dirname_filter): Define.
	(am__check_pre): Emulate dirname using sed.
	Report and suggested fix from Bruno Haible in
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12587/focus=12590

	* build-aux/.gitignore: Remove file from version control. It's generated.

	Generate ChangeLog from git log.
	* bootstrap.conf (gnulib_modules): Add gitlog-to-changelog.
	Ensure that ChangeLog exists, for automake.
	* Makefile.am (gen-ChangeLog): New rule.
	(dist-hook): Depend on it.
	(EXTRA_DIST): Add ChangeLog-2006, ChangeLog-2007, ChangeLog-2008.

	Remove ChangeLog, dividing its content into ChangeLog-200?
	* ChangeLog: Remove file.
	* ChangeLog-2005: Prepend the 2005 entries.
	* ChangeLog-2006: New file.
	* ChangeLog-2007: New file.
	* ChangeLog-2008: New file.

	* ChangeLog: Manually update copyright notice at *bottom*.

2008-02-09  Jim Meyering  <meyering@redhat.com>

	tests: rm/fail-eperm: require-non-root in perl, not sh
	Since it creates no temporaries and since it requires non-root,
	do the require-non-root bit in perl, rather than using test-lib.sh.

	tests: Remove priv-check.  Use new require_root_ function instead.
	* tests/priv-check: Remove file.
	* tests/Makefile.am (EXTRA_DIST): Remove priv-check.
	* tests/test-lib.sh (require_root_): New function.
	Use this function rather than sourcing the priv-check file.
	* tests/sample-test: Use require_root_ rather than priv-check.
	* tests/chown/basic: Likewise.
	* tests/cp/cp-a-selinux: Likewise.
	* tests/cp/preserve-gid: Likewise.
	* tests/cp/special-bits: Likewise.
	* tests/ls/nameless-uid: Likewise.
	* tests/misc/chcon: Likewise.
	* tests/mkdir/writable-under-readonly: Likewise.
	* tests/mv/sticky-to-xpart: Likewise.
	* tests/rm/fail-2eperm: Likewise.
	* tests/rm/no-give-up: Likewise.
	* tests/rm/one-file-system: Likewise.
	* tests/tail-2/append-only: Likewise.
	* tests/touch/now-owned-by-other: Likewise.
	* tests/rm/fail-eperm: Use skip_if_root_ rather than priv-check.
	* Makefile.maint (sc_root_tests): Reflect this change:
	search for the new function name.

	tests: factor out the perl-requiring code in many test scripts
	* tests/require-perl: New file.
	* tests/Makefile.am (EXTRA_DIST): Add require-perl.
	* tests/dd/skip-seek: Use it, and remove manual tests.
	* tests/du/files0-from: Likewise.
	* tests/ls/nameless-uid: 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/pwd-long: 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/sum-sysv: Likewise.
	* tests/misc/test-diag: Likewise.
	* tests/misc/tsort: Likewise.
	* tests/misc/tty-eof: 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/fail-eperm: Likewise.
	* tests/rm/unreadable: Likewise.

	(EXTRA_DIST): *do* require require-perl as a stand-alone, 'source'able script.

	tests: call skip_test_ in place of echo+exit 77
	* tests/mv/no-target-dir: Likewise.
	* tests/other-fs-tmpdir: Likewise.
	* tests/rm/empty-name: Likewise.
	* tests/rm/fail-eperm: Likewise.
	* tests/rm/inaccessible: Likewise.
	* tests/rm/isatty: Likewise.
	* tests/rm/unreadable: Likewise.
	* tests/setgid-check: Likewise.
	* tests/sparse-file: Likewise.
	* tests/strace: Likewise.
	* tests/tail-2/append-only: Likewise.
	* tests/tail-2/big-4gb: Likewise.
	* tests/tail-2/tail-n0f: Likewise.
	* tests/touch/dangling-symlink: Likewise.
	* tests/touch/fifo: Likewise.
	* tests/touch/not-owner: Likewise.
	* tests/mv/i-3: Likewise.
	* tests/umask-check: Likewise.
	* tests/mv/acl: Likewise.
	* tests/cp/acl: Likewise.
	* tests/chgrp/deref: Likewise.
	* tests/chmod/setgid: Likewise.
	* tests/cp/existing-perm-race: Likewise.
	* tests/cp/file-perm-race: Likewise.
	* tests/cp/parent-perm-race: Likewise.
	* tests/du/2g: Likewise.
	* tests/du/8gb: Likewise.
	* tests/du/long-from-unreadable: Likewise.
	* tests/du/long-sloop: Likewise.
	* tests/du/slink: Likewise.
	* tests/ls/nameless-uid: Likewise.
	* tests/ls/stat-dtype: Likewise.
	* tests/misc/cat-proc: Likewise.
	* tests/misc/md5sum-newline: Likewise.
	* tests/misc/nice: Likewise.
	* tests/misc/od-x8: Likewise.
	* tests/misc/pwd-unreadable-parent: Likewise.
	* tests/misc/selinux: Likewise.
	* tests/misc/stty-row-col: Likewise.
	* tests/misc/tac-continue: Likewise.
	* tests/misc/arch: Likewise, and source $srcdir/../test-lib.sh *before*
	the use of skip_test_.

	tests: 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.

	tests: start migrating sourced-file function-like tests into test-lib.sh.
	* tests/acl: Remove file.
	* tests/test-lib.sh (require_acl_): New function.
	* tests/cp/acl: Use require_acl_ instead.
	* tests/mv/acl: Likewise.
	* tests/Makefile.am (EXTRA_DIST): Remove acl.

	tests: mv/acl: Don't mention "yes" as a partition name in diagnostic.
