summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog4106
1 files changed, 4043 insertions, 63 deletions
diff --git a/ChangeLog b/ChangeLog
index a56ddfec..205b3d4e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,3973 @@
+2013-02-14 Pádraig Brady <P@draigBrady.com>
+
+ version 8.21
+ * NEWS: Record release date.
+
+ tests: avoid non portable sed use of \t
+ * tests/du/threshold.sh: use `cut` rather than
+ sed to avoid using the non portable \t which
+ fails on sed on openbsd 5 at least.
+ Also remove a redundant call to `tr` and avoid
+ explicit setting of LANG=C which is done globally.
+
+2013-02-14 Pádraig Brady <P@draigBrady.com>
+
+ build: avoid link failure in devmsg() on older linkers
+ On linkers that don't remove unused functions,
+ there will be a reference to a missing dev_debug symbol
+ in the devmsg() function. So for now ...
+
+ * src/system.h: ... move devmsg() from here ...
+ * src/numfmt.c: ... to here, and document future cleanup.
+ * src/factor.c: Likewise.
+
+2013-02-13 Assaf Gordon <assafgordon@gmail.com>
+
+ numfmt: fix strtol() return code handling
+ src/numfmt.c (parse_format_string): On some systems, strtol() returns
+ EINVAL if no conversion was performed. So only handle ERANGE here,
+ and handle other format errors directly.
+
+2013-02-11 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ maint: avoid running check-root tests in gnulib
+ * tests/local.mk (check-root): Restrict to SUBDIRS=. as traversing
+ into gnulib-tests induces a false failure.
+
+2013-02-11 Pádraig Brady <P@draigBrady.com>
+
+ doc: improve the numfmt man page format
+ * src/numfmt.c (usage): Keep a single space between the "K = 1000",
+ so that it's not displayed on a separate line. Also place ','
+ between each unit entry to improve readability.
+
+2013-02-10 Benno Schulenberg <bensberg@justemail.net>
+
+ doc: standardize helptext of numfmt and slice into single options
+ * src/numfmt.c (usage): Correct synopsis and make command description
+ clearer. Start option descriptions with lowercase letter; use
+ semicolon instead of period where needed; indent continuation lines;
+ gettextize single options for ease of translation and maintenance;
+ sort options alphabetically.
+ * doc/coreutils.texi (numfmt invocation): Sort numfmt options
+ alphabetically. Enforce double-blank-after-period style.
+
+ This addresses http://bugs.gnu.org/13681.
+ Improved-by: Bernhard Voelker
+
+2013-02-10 Pádraig Brady <P@draigBrady.com>
+
+ maint: consolidate developer debug messages
+ Both factor and numfmt recently introduced debug messages
+ for developers, enabled by --verbose and ---devdebug respectively.
+ There were a few issues though:
+ 1. They used different mechanisms to enable these messages.
+ 2. factor used --verbose which might be needed for something else
+ 3. They used different methods to output the messages,
+ and numfmt used error() which added an unwanted newline
+ 4. numfmt marked all these messages for translation and factor
+ marked a couple. We really don't need these translated.
+ So we fix the above issues here while renaming the enabling
+ option for both commands to ---debug (still undocumented).
+
+ * src/factor.c (verbose): Rename to dev_debug and change from int to
+ bool as it's just a toggle flag.
+ (long_options): Rename --verbose to ---debug.
+ * src/system.h (devmsg): A new inline function to output a message
+ if enabled by a global dev_debug variable in the compilation unit.
+ * src/numfmt.c: Use devmsg() rather than error().
+ Also remove the translation tags from these messages.
+ Also change debug flag to bool from int.
+ * tests/misc/numfmt.pl: Adjust for the ---devdebug to ---debug change.
+ * cfg.mk (sc_marked_devdiagnostics): Add a syntax check to ensure
+ translations are not added to devmsg calls.
+
+ Reported by Göran Uddeborg in http://bugs.gnu.org/13665
+
+2013-02-10 Pádraig Brady <P@draigBrady.com>
+
+ tests: tail-2/inotify-rotate: fix a false failure on NFS
+ * tests/tail-2/inotify-rotate.sh: Avoid a subshell with bash,
+ which in turn causes the `kill` to be ineffective to the tail
+ processes (as the SIGTERM is sent to the subshell which doesn't
+ propagate the signal on to its children). On NFS the test
+ cleanup will then fail as there will be .nfs files maintained
+ in the directory for the files still opened by the tail processes.
+ Reported by Bernhard Voelker.
+
+ tests: skip numfmt grouping tests on some systems
+ * tests/misc/numfmt.pl: When the system locale grouping doesn't
+ match our expected format for grouping 1234 in the fr_FR locale,
+ reset the locale to 'C' so as to skip all locale tests.
+
+2013-02-07 Jim Meyering <meyering@fb.com>
+
+ tests: avoid actual/expected mismatch due to changed diagnostic
+ * tests/cp/fail-perm.sh: Adjust expected diagnostic to match
+ just-changed cp diagnostic.
+ * tests/ln/hard-to-sym.sh: Likewise.
+ * .mailmap: Also map my new address.
+
+2013-02-07 Pádraig Brady <P@draigBrady.com>
+
+ build: update gnulib submodule; also bootstrap to latest
+ Notes tests/init.sh is still in sync with gnulib
+
+ * bootstrap: update to latest
+ * gnulib: update avoiding secure_getenv and subsequent patches
+ as these are reported to fail on FreeBSD at least.
+
+2013-02-06 Benno Schulenberg <bensberg@justemail.net>
+
+ maint: improve error messages upon failed read, write, access, close
+ Note we use "failed to {access,close}" for those single operations,
+ and "error {read,writ}ing" for those partial operation failures.
+
+ * src/copy.c: Improve error messages for failing read, write and close.
+ * src/cp.c: Improve error messages for failing access.
+ * src/dd.c: Improve error messages for failing read, write and open.
+ * src/head.c: Improve error message for failing close.
+ * src/install.c: Improve error messages for failing access.
+ * src/ln.c: Likewise.
+ * src/mv.c: Likewise.
+ * src/touch.c: Improve error message for failing close.
+ * src/truncate.c: Likewise.
+
+2013-02-05 Assaf Gordon <assafgordon@gmail.com>
+
+ doc: fix a numfmt help section typo
+ * src/numfmt.c (usage): Change erroneous "G" to "M".
+
+2013-02-05 Ondřej Vašík <ovasik@redhat.com>
+
+ stty: add support for DTR/DSR hardware control flow
+ Originally requested in Red Hat bugzilla #445213.
+
+ * src/stty.c (mode_info): Add support for DTR/DSR hardware flow control,
+ if available.
+ * doc/coreutils.texi: Document it.
+ * tests/misc/stty.sh: Add it to the list of serial options to avoid.
+ * NEWS: Mention the improvement.
+
+2013-02-05 Pádraig Brady <P@draigBrady.com>
+
+ numfmt: correct a printf format
+ Prompted by the continuous integration build failure at:
+ http://hydra.nixos.org/build/4010493
+
+ * src/numfmt.c (parse_format_string): Correct both sign and size of
+ a printf format, which only gives a warning on 32 bit builds.
+
+2013-02-04 Assaf Gordon <assafgordon@gmail.com>
+
+ numfmt: a new command to format numbers
+ * AUTHORS: Add my name.
+ * NEWS: Mention the new program.
+ * README: Reference the new program.
+ * src/numfmt.c: New file.
+ * src/.gitignore: Ignore the new binary.
+ * build-aux/gen-lists-of-programs.sh: Update.
+ * scripts/git-hooks/commit-msg: Allow numfmt: commit prefix.
+ * po/POTFILES.in: Add new c file.
+ * tests/misc/numfmt.pl: A new test file giving >93% coverage.
+ * tests/local.mk: Reference the new test.
+ * man/.gitignore: Ignore the new man page.
+ * man/local.mk: Reference the new man page.
+ * man/numfmt.x: A new template.
+ * doc/coreutils.texi: Document the new command.
+
+2013-02-04 Pádraig Brady <P@draigBrady.com>
+
+ cut: fix a segfault with disjoint open ended ranges
+ Fixes the issue introduced in unreleased commit v8.20-60-gec48bea.
+
+ * src/cut.c (set_fields): Don't access the bit array if
+ we've an open ended range that's outside any finite range.
+ * tests/misc/cut.pl: Add tests for this case.
+ Reported by Marcel Böhme in http://bugs.gnu.org/13627
+
+2013-02-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ doc: say how to tac char-by-char
+ This fixes Bug#12115, reported by Reuben Thomas.
+ * doc/coreutils.texi (tac invocation): Document how to reverse a
+ file character by character. Break out MS-DOS into a separate
+ section, like 'cat' does.
+
+2013-01-28 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ df: do not treat rootfs specially
+ Like any other pseudo file system, df should show rootfs only
+ when the -a option is specified, i.e. specifying -trootfs alone
+ is not sufficient. As the rootfs entry is now elided by the
+ general deduplication in filter_mount_list (commit v8.20-103-gbb116d3),
+ all other references to rootfs can be removed again.
+
+ * src/df.c (show_rootfs): Remove global variable.
+ (ROOTFS): Remove constant.
+ (filter_mount_list): Remove case to handle rootfs specially.
+ (main): In the case for handling the -t option, remove setting
+ of the show_rootfs variable.
+ * tests/df/skip-rootfs.sh: Adapt the test case "df -t rootfs":
+ the rootfs file system must not be printed (because no -a).
+ * doc/coreutils.texi (df invocation): Correct the documentation
+ about eliding mount entries: it is not the first occurrence of
+ the the device which wins, but now rather the entry with the
+ shortest mount point name. Also adapt the description about
+ eliding pseudo file system types like rootfs.
+ * NEWS (Changes in behavior): Adapt entry.
+
+2013-01-27 Ondrej Oprala <ooprala@redhat.com>
+ Bernhard Voelker <mail@bernhard-voelker.de>
+
+ df: prefer fullpath entries when deduplicating
+ * src/df.c (struct devlist): Add a new element for storing
+ pointers to mount_entry structures.
+ (devlist_head, dev_examined): Remove.
+ (filter_mount_list): Add new function to filter out the rootfs
+ entry (unless -trootfs is specified), and duplicities. The
+ function favors entries with a '/' character in me_devname
+ or those with the shortest me_mountdir string, if multiple
+ entries fulfill the first condition.
+ Use struct devlist to build up a list of entries already known,
+ and finally rebuild the global mount_list.
+ (get_all_entries): Call the above new function unless the -a
+ option is specified.
+ (get_dev): Remove the code for skipping rootfs and duplicities.
+ * tests/df/skip-duplicates.sh: Add test cases.
+
+2013-01-26 Stephan Krempel <krempel@par-tec.com>
+
+ timeout: ensure a blocked SIGALRM from the parent is unblocked
+ * src/timeout.c (unblock_signal): A new function to unblock a
+ specified signal, or warn if not possible.
+ (set_timeout): Ensure SIGALRM is unblocked before we setup the timer.
+ * tests/misc/timeout-blocked.pl: A new test for the issue.
+ * tests/local.mk: Reference the new test.
+ * NEWS: Mention the fix.
+ Fixes: http://bugs.gnu.org/13535
+
+2013-01-26 Pádraig Brady <P@draigBrady.com>
+
+ seq: fix to always honor the step value
+ * src/seq.c (main): With 3 positive integer args we were
+ checking the end value was == "1", rather than the step value.
+ * tests/misc/seq.pl: Add tests for this case.
+ Reported by Marcel Böhme in http://bugs.gnu.org/13525
+
+ seq: fix misaligment with -w when no precision for start value
+ * src/seq.c (get_default_format): Also account for the case where '.'
+ is auto added to the start value, which is significant when the
+ number sequence narrows.
+ * tests/misc/seq.pl: Add two new tests for the failing cases.
+ * NEWS: Mention the fix.
+ Fixes http://bugs.gnu.org/13394
+
+ cut: fix -f to work with the -d$'\n' edge case
+ * src/cut.c (cut_fields): Handle the edge case where '\n' is
+ the delimiter, which could be used for example to suppress
+ the last line if it doesn't contain a '\n'.
+ * test/misc/cut.pl: Add tests for this edge case.
+
+2013-01-26 Pádraig Brady <P@draigBrady.com>
+
+ cut: with -f, process each line independently
+ Previously line N+1 was inspected before line N was fully output,
+ which causes output ordering issues at the terminal or delays
+ from intermittent sources like tail -f.
+
+ * src/cut.c (cut_fields): Adjust so that we record the
+ previous output character so we can use that info to
+ determine wether to output a '\n' or not.
+ * tests/misc/cut.pl: Add tests to ensure existing
+ functionality isn't broken.
+ * NEWS: Mention the fix.
+ Fixes bug http://bugs.gnu.org/13498
+
+2013-01-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ build: update gnulib submodule to latest
+ * bootstrap.conf (gnulib_modules): Add statat.
+ The fstatat module was split in two, and we need both halves.
+
+2013-01-24 Pádraig Brady <P@draigBrady.com>
+
+ doc: fix an example in the od man page
+ * man/od.x: s/-w 16/-w16/ as -w takes an optional
+ parameter and so the space is significant.
+
+2013-01-23 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ doc: fix order of du options in usage and texinfo manual
+ * src/du.c (usage): Bring options into alphabetical order.
+ * doc/coreutils.texi (du invocation): Likewise.
+ Furthermore, use the @itemx macro for the long options
+ --max-depth and --threshold instead of @item.
+
+2013-01-23 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ maint: define usage note about mandatory args centrally
+ Each program with at least one long option which is marked as
+ 'required_argument' and which has also a short option for that
+ option, should print a note about mandatory arguments.
+ Define that well-known note centrally and use it rather than
+ literal printf/fputs, and add it where it was missing.
+
+ * src/system.h (emit_mandatory_arg_note): Add new function.
+
+ * src/cp.c (usage): Use it rather than literal printf/fputs.
+ * src/csplit.c, src/cut.c, src/date.c, src/df.c, src/du.c:
+ * src/expand.c, src/fmt.c, src/fold.c, src/head.c, src/install.c:
+ * src/kill.c, src/ln.c, src/ls.c, src/mkdir.c, src/mkfifo.c:
+ * src/mknod.c, src/mv.c, src/nl.c, src/od.c, src/paste.c:
+ * src/pr.c, src/ptx.c, src/shred.c, src/shuf.c, src/sort.c:
+ * src/split.c, src/stdbuf.c, src/tac.c, src/tail.c, src/timeout.c:
+ * src/touch.c, src/truncate.c, src/unexpand.c, src/uniq.c:
+ Likewise.
+
+ * src/base64.c (usage): Add call of the above new function
+ because at least one long option has a required argument.
+ * src/basename.c, src/chcon.c, src/date.c, src/env.c:
+ * src/nice.c, src/runcon.c, src/seq.c, src/stat.c, src/stty.c:
+ Likewise.
+
+2013-01-21 Jakob Truelsen <jakob@scalgo.com>
+ Bernhard Voelker <mail@bernhard-voelker.de>
+
+ du: add -t SIZE, --threshold=SIZE option
+ * src/du.c (opt_threshold): Add variable to hold the value of
+ the --threshold option specified by the user.
+ (long_options): Add a required_argument entry for the new
+ --threshold option.
+ (usage): Add --threshold option.
+ (process_file): Elide printing the entry if its size does not
+ meet the value specified by the --threshold option.
+ (main): In the argument parsing loop, add a case for the new
+ -t option. Convert the given argument by permitting the
+ well-known suffixes for megabyte, gigabytes, etc.
+ Handle the special case "-0": give an error as this value is
+ not permitted.
+ * doc/coreutils.texi (du invocation): Add documentation for the
+ above new option.
+ * tests/du/threshold.sh: Add new test to exercise the new option.
+ * tests/local.mk (all_tests): Mention the above test.
+
+2013-01-20 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ tests: remove test case du/slink
+ This test tried to ensure that not all symlinks (across all
+ file system types) have Zero size and refers to a change
+ in system.h from 2002-08-31 (commit SH-UTILS-2_0_15-55-g62808a7).
+ The test used to do this by working on symlinks to long file
+ names. This assumption is dependant on the underlying file
+ system, and in some environments like XEN does not even work
+ on file systems known to work otherwise.
+
+ The test for dereferencing and no-dereferencing symlinks is
+ already covered by other tests (du/deref.sh, du/deref-args.sh,
+ and du/no-deref.sh). Therefore, remove it.
+
+ * tests/du/slink.sh: Remove file.
+ * tests/local.mk (all_tests): Remove the above test.
+
+ Discussed in:
+ http://lists.gnu.org/archive/html/coreutils/2013-01/msg00053.html
+
+2013-01-20 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ maint: fix alphabetical order in .gitignore
+ Since commit v8.20-67-g0f525b6, .gitignore sometimes
+ showed up as changed because the entries "*.gcda" and
+ "*.gcno" had not been in alphabetical order.
+
+ * .gitignore: Exchange the entries "*.gcda" and "*.gcno".
+
+2013-01-12 Benno Schulenberg <bensberg@justemail.net>
+
+ uptime: gettextize an overlooked string, and normalize another
+ * src/uptime.c: Add calls to gettext() and select_plural().
+
+2013-01-10 Benno Schulenberg <bensberg@justemail.net>
+
+ doc: make a --help text fragment identical to three others
+ * src/ln.c (usage): Move a newline to the next text fragment, so
+ the preceding fragment about backup methods becomes the same as
+ the ones for cp, mv, and install. A bit easier for translators.
+
+2013-01-07 Pádraig Brady <P@draigBrady.com>
+
+ factor: apply a more general fix to enable correct assembly
+ In addition to the previous 64 bit guards we've placed in longlong.h
+ there are additional _LP64 guards required for mips with -mcpu >= 3,
+ to avoid a build failure (http://bugs.gnu.org/13353) and on sparc
+ with -mcpu >= v9 in 32 bit mode where for example,
+ `factor 2123123123123123123123` would go into an infinite loop.
+
+ Since factor.c currently operates on uintmax_t, we restrict the use
+ of the assembly in longlong.h to when 'long' has the same width, to
+ provide a more general guard for this code.
+
+ * src/factor.c: Restrict the use of longlong.h assembly code,
+ to when the width of intmax_t == long.
+ * src/longlong.h: Remove the previous _LP64 guards to avoid
+ divergence from GMP's longlong.h
+ * NEWS: Adjust the info on build and runtime fixes.
+
+2013-01-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ doc: sync parse-datetime from gnulib
+ * doc/coreutils.texi (Top): Sync from gnulib parse-datetime.texi menu.
+
+2013-01-06 Karl Berry <karl@gnu.org>
+
+ doc: avoid @sc in texinfo; it is unnecessary
+ * doc/coreutils.texi: avoid @sc and use explicit capitals.
+ * doc/local.mk (sc-use-small-caps-NUL): Remove, as no longer applicable.
+
+2013-01-04 Karl Berry <karl@gnu.org>
+
+ doc: remove stale pr news in the manual
+ * coreutils.texi (pr invocation): remove list of ancient news
+ items; the main documentation already covers what is needed.
+
+2013-01-01 Jim Meyering <jim@meyering.net>
+
+ maint: update all copyright year number ranges
+ Run "make update-copyright", but then also run this,
+ perl -pi -e 's/2\d\d\d-//' tests/sample-test
+ to make that one script use the single most recent year number.
+
+ build: update gnulib submodule to latest
+
+2012-12-31 Jim Meyering <jim@meyering.net>
+
+ maint: adjust NEWS entry wording
+ * NEWS: Adjust wording in a few entries.
+
+2012-12-27 Pádraig Brady <P@draigBrady.com>
+
+ doc: improve od --help and man page
+ * src/od.c: Redorder the information output by --help
+ to ease interpretation and so that appropriate sections
+ are generated by help2man.
+ * doc/coreutils.texi (od invocation): Fix an incorrect
+ reference to @var{n}, which should be @var{bytes}.
+ * man/od.x: Add an "Examples" section, and move the
+ default od format to there, and add a commonly required
+ format to generate hexdumps.
+ Reported by Akim Demaille in http://bugs.gnu.org/13280.
+
+2012-12-21 Mike Frysinger <vapier@gentoo.org>
+
+ factor: disable x86_64 assembly code for x32 builds
+ The current x86_64 asm code does not work for x32 (__ILP32__) ABIs,
+ so disable it. Note simply deleting the q suffix is not enough.
+
+ * src/longlong.h: Restrict x86_64 assembly to _LP64 targets,
+ which is consistent with other checks in longlong.h and
+ avoids this code on x32.
+ * NEWS: Mention the build fix.
+
+2012-12-21 Pádraig Brady <P@draigBrady.com>
+
+ tests: avoid false positive valgrind failures
+ * init.cfg (require_valgrind_): Check the `true` program,
+ which will check more valgrind failure cases as now
+ detailed in the function comments.
+
+ dd: fix a printf format mismatch in an error message
+ * src/dd.c (dd_copy): To print an off_t portably we need
+ to use PRIdMAX and cast to intmax_t, otherwise there
+ could be a mismatch between say a 32 bit off_t
+ and uintmax_t. This was flagged by -Wformat on
+ a 64 bit host when compiling with CFLAGS=-m32.
+
+2012-12-21 Pádraig Brady <P@draigBrady.com>
+
+ seq: fix newline output when -s specified
+ This regression was introduced in commit v8.19-132-g3786fb6.
+
+ * src/seq.c (seq_fast): Don't use puts() to output the first number,
+ and instead insert it into the buffer as for other numbers.
+ Also output the terminator unconditionally.
+ * tests/misc/seq.pl: Add some basic tests for the -s option.
+ * NEWS: Mention the fix.
+ * THANKS.in: Reported by Philipp Gortan.
+
+2012-12-20 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ tests: add tests for basename's --zero option
+ The -z option has been introduced in commit v8.15-60-ga3eb71a,
+ i.e. in coreutils-8.16. Time to add some tests for it.
+
+ * tests/misc/basename.pl: Add tests exercising the -z option.
+ In the foreach loop to append a newline to the end of each
+ expected 'OUT' string, skip the -z tests.
+
+2012-12-20 Assaf Gordon <assafgordon@gmail.com>
+
+ doc: tweak 'lcov' in HACKING
+ * HACKING: In the paragraph about creating coverage statistics,
+ use the correct -b (--base-directory) parameter.
+
+2012-12-19 Pádraig Brady <P@draigBrady.com>
+
+ maint: rewrap a long line noticed by make syntax-check
+ * configure.ac: Wrap the recently introduced long line.
+
+ doc: clarify when dd iflag=fullblock is useful
+ * doc/coreutils.texi (dd invocation): Explain that iflag=fullblock
+ ensures that count= will count blocks rather than reads, and
+ reference that in both the count= and iflag=fullblock descriptions.
+ Suggested by John Reiser.
+
+ tests: avoid a race in timeout-group.sh
+ * tests/misc/timeout-group.sh: The kernel might possibly delay
+ signal propagation to timeout.cmd long enough, that it exits
+ normally without running the signal handler (as sleep will
+ be in the same process group and so get the signal too).
+ So avoid this by explicitly checking that the signal handler
+ is called, which should always happen under normal circumstances.
+ Reported by Stefano Lattarini on linux-2.6.30-2-686 and bash-4.2.36.
+
+ build: avoid --enable-gcc-warnings on GCC <= 4.5
+ * configure.ac: Only enable warnings automatically when
+ on GCC >= 4.6 (and when building from a git checkout)
+ as that was the first GCC version to support fine-grained
+ control of warnings, allowing them to be adjusted around
+ certain code sections. gnulib relies on this for certain
+ warnings, so avoid auto enabling this option lest we trigger
+ build failures on now over two year old compilers.
+ Reported by Zartaj Majeed with GCC 4.5.3 on cygwin.
+
+2012-12-19 Zartaj Majeed <zmajeed@sbcglobal.net>
+
+ build: fix cygwin build issues
+ * doc/local.mk (doc/constants.texi): Ensure the doc directory
+ is present which is needed when doing a non source dir build,
+ when the doc/constants.texi target is built before other doc targets.
+ * src/local.mk: Add $(EXEEXT) to the make-prime-list calls.
+
+2012-12-17 Pádraig Brady <P@draigBrady.com>
+
+ maint: consistently use @dots{} in coreutils.texi
+ * doc/coreutils.texi: s/\.\.\./@dots{}/ except in code and examples.
+
+2012-12-17 Pádraig Brady <P@draigBrady.com>
+
+ readlink: support multiple command line arguments
+ This allows efficient processing of multiple files,
+ while also increasing compatibility with BSD's readlink(1).
+ We also add the -z, --zero option to delimit output items
+ with the NUL character which disambiguates output in the
+ presence of '\n' characters.
+
+ * src/readlink.c (usage): Add the --zero description,
+ and also adjust the description of --no-newline accordingly.
+ (main): Handle the -z option and iterate over multiple arguments.
+ Also as in commit v8.15-24-g9d46b25 we use fputs() and putchar()
+ rather than printf() for performance reasons.
+ * doc/coreutils.texi (readlink invocation): Document the
+ new --zero option, adjust the --no-newline description, and
+ tweak the general info to indicate multiple files are supported.
+ * tests/readlink/multi.sh: A new test for the new functionality.
+ * tests/local.mk: Reference the new test.
+ * man/readlink.x: Adjust the summary and also reference realpath.
+ * NEWS: Mention the improvement.
+ * THANKS.in: Suggested by Aaron Davies.
+
+2012-12-15 Assaf Gordon <assafgordon@gmail.com>
+
+ maint: update gitignore entries
+ * .gitignore: ignore GCC coverage data files.
+
+2012-12-14 Assaf Gordon <assafgordon@gmail.com>
+
+ doc: mention "git stash" in HACKING
+ * HACKING: In the paragraph about switching branches, mention
+ "git stash" as a way to continue while preserving uncommitted
+ changes.
+
+2012-12-14 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ tail,stat: improve support for the ceph file system
+ Teach tail -f that it must use polling on ceph file systems, and
+ let stat -f --format=%T report the file system type name, "ceph".
+ Website: http://ceph.com/
+
+ * src/stat.c (human_fstype): Add a case: ceph, 0x00C36400, remote.
+ * NEWS (Improvements): Mention it.
+ * THANKS.in: Update.
+ Reported by Konrad Wróblewski in http://bugs.gnu.org/13172.
+
+2012-12-14 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ maint: fix typos found by misspellings
+ * doc/coreutils.texi (df invocation): s/occurence/occurrence/.
+ * tests/df/skip-rootfs.sh: s/supressed/suppressed/
+
+2012-12-09 Jim Meyering <jim@meyering.net>
+
+ tests: add test case and note that last week's cut change is a bug fix
+ * tests/misc/cut-huge-to-eol-range.sh: New test, showing that
+ the change in v8.20-51-g7d03466 is a bug fix after all.
+ * tests/local.mk (all_tests): Add it.
+ * NEWS (Bug fixes): Mention it.
+
+2012-12-08 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ cp: fix --no-preserve=mode to not exit 1
+ cp --no-preserve=mode exited 1 unconditionally. Furthermore,
+ the tests which would have detected this error - namely
+ link-preserve.sh and reserve-mode.sh - failed to test
+ cp's exit code.
+
+ * src/copy.c (copy_reg): In the case x->explicit_no_preserve_mode,
+ do only set return_val to false iff the previous set_acl ()
+ failed.
+ * tests/cp/link-preserve.sh: Check cp's exit code.
+ * tests/cp/link-symlink.sh: Likewise.
+ * tests/cp/preserve-mode.sh: Likewise.
+ * NEWS: Mention the fix.
+
+ Bug introduced in commit v8.19-145-g24ebca6.
+
+ Reported by Florian Pritz in http://bugs.gnu.org/13119.
+
+2012-12-07 Ondrej Oprala <ooprala@redhat.com>
+ Bernhard Voelker.
+
+ df: do not print duplicate entries and rootfs by default
+ * src/df.c (struct devlist): Add new struct for storing already-
+ examined device numbers.
+ (devlist_head): Add new store of the above type.
+ (show_rootfs): Add new global boolean to not skip rootfs.
+ (dev_examined): Add new function to check if the device has
+ already been traversed.
+ (get_dev): Filter out rootfs unless "-t rootfs" or the -a
+ option is specified. Filter out duplicate entries by calling
+ the above new dev_examined unless the -a option is specified.
+ (main): Set the show_rootfs variable appropriately when the -t
+ option is specified for rootfs. Free device list (guarded by
+ IF_LINT).
+ * tests/df/skip-duplicates.sh: Add test to exercise the skipping
+ of duplicate entries.
+ * tests/df/skip-rootfs.sh: Add test to exercise the skipping
+ of the rootfs pseudo file system.
+ * tests/local.mk: Add the above new tests.
+ * NEWS (Changes in behavior): Mention the changes.
+ * doc/coreutils.texi (df invocation): Document df's behavior about
+ skipping rootfs and duplicate entries.
+
+2012-12-06 Cojocaru Alexandru <xojoc@gmx.com>
+
+ cut: avoid a redundant heap allocation
+ * src/cut.c (set_fields): Don't allocate memory for
+ `printable_field' if there are no finite ranges.
+ This is achieved by keeping max_range_endpoint as 0 when
+ there are no finite ranges. max_range_endpoint is then
+ used throughout the code to guard against allocation of,
+ and access to the bit array.
+ The extra allocation was introduced via commit v8.10-3-g2e636af.
+
+2012-12-06 Pádraig Brady <P@draigBrady.com>
+
+ maint: fix a referenced coreutils version in a test comment
+ * tests/misc/cut.pl: This particular bug existed up to v8.10.
+
+2012-12-06 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ tests: fix regex to match "-" in ipcent field in df/total-verify.sh
+ The regular expression failed to match for file systems that
+ do not provide inode statistics, e.g. VFAT or CIFS (depending
+ on the underlying peer file system).
+
+ * tests/df/total-verify.sh: Fix the regular expression to match
+ a dash in the ipcent field again.
+
+ Reported by Assaf Gordon in http://bugs.gnu.org/13099.
+ Bug introduced in commit v8.20-18-gdae8d22.
+
+2012-12-06 Assaf Gordon <assafgordon@gmail.com>
+
+ maint: adjust HACKING instructions to run a single test
+ * HACKING: Adjust as per the recent changes introduced
+ when switching to non recursive make.
+
+2012-12-06 Pádraig Brady <P@draigBrady.com>
+
+ tests: cut.pl: adjust for changed diagnostic
+ * tests/misc/cut.pl: Since we now output the more
+ complete error message irrespective of running
+ in a multi-byte locale or not, adjust the test accordingly.
+
+2012-12-06 Cojocaru Alexandru <xojoc@gmx.com>
+
+ cut: improve error reporting
+ * src/cut.c (main): Treat a NUL delimiter (-d '') consistently
+ with non NUL delimiters, and disallow such a delimiter option,
+ unless a field is also specified.
+ (set_fields): Provide a more accurate error message when
+ a given list is invalid.
+ * tests/misc/cut.pl: Add a test case.
+
+2012-12-06 Pádraig Brady <P@draigBrady.com>
+
+ maint: adjust instructions to run a single test
+ * README: Adjust as per the recent changes introduced
+ when switching to non recursive make.
+
+2012-12-05 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ maint: remove now auto-added entry from THANKS.in
+ The syntax-check sc_THANKS_in_duplicates complained about
+ that excess entry.
+
+ * THANKS.in (Colin Watson): Remove entry, now that it will be
+ automatically included in the generated THANKS file.
+
+2012-12-04 Pádraig Brady <P@draigBrady.com>
+
+ maint: remove a redundant odd sized alloc from factor.c
+ * src/factor.c (mp_factor_init): Init the pointers with NULL,
+ which xrealloc (or realloc) handles fine.
+
+2012-12-04 Colin Watson <cjwatson@ubuntu.com>
+
+ factor: fix infinite loop on 32 bit powerpc
+ Both Debian and Ubuntu builds of coreutils 8.20 hang while running the
+ test suite on powerpc, which is reproducible using 'factor 122'.
+
+ This turns out to be somewhat related to http://bugs.gnu.org/12754,
+ but not quite the same. uintmax_t is 64 bits, but the cntlzw
+ instruction takes 32-bit operands, and the cntlzd option is only
+ available on 64-bit hardware.
+
+ * src/longlong.h: Add an _LP64 check around the PPC64 code,
+ so that this falls back to the C implementations.
+ * NEWS: Mention the fix.
+
+2012-11-24 Jim Meyering <jim@meyering.net>
+
+ cut: do not print extraneous delimiters in some unusual cases
+ When printing output delimiters, and when a to-EOL range subsumes
+ at least one other range, cut would mistakenly print delimiters for
+ the subsumed range. This bug was probably introduced via commit
+ v5.2.1-639-g847e066.
+ * src/cut.c (set_fields): Ignore any range that is subsumed by a
+ to-EOL range. Also, move two declarations down.
+ * tests/misc/cut.pl: Add tests to exercise this.
+ * NEWS (Bug fixes): Mention it.
+ Reported by Marcel Böhme in http://bugs.gnu.org/12966
+
+ cut: treat -b2-,3- like -b2-, not like -b3-
+ * src/cut.c (set_fields): When two right-open-ended ranges are
+ specified, don't blindly let the latter one take precedence over
+ the former. Instead, use the union of the ranges.
+ * tests/misc/cut.pl: Add tests to exercise this.
+ * NEWS (Bug fixes): Mention it.
+ Reported by Marcel Böhme in http://bugs.gnu.org/12966
+ Thanks to Berhard Voelker for catching log and NEWS typos.
+
+2012-11-24 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ doc: cp: clarify behavior of the --preserve=xattr option
+ * doc/coreutils.texi (cp invocation): Enhance documentation
+ of the --preserve=xattr option regarding the preservation
+ of ACLs, SELinux contexts and capabilities: the user may
+ notice this only when not specifying --preserve=mode
+ and --preserve=context, too, i.e., otherwise, these attributes
+ are preserved anyway.
+
+2012-11-24 Pádraig Brady <P@draigBrady.com>
+
+ doc: update info cross reference to bash
+ * doc/coreutils.texi (tee invocation): Reference
+ the bash manual rather than bashref, as the latter
+ is more likely to work on newer systems.
+
+ tests: use sub-second timeouts to speed up a timeout test
+ * tests/misc/timeout.sh: Take advantage of recent support for
+ sub-second timeouts to decrease runtime from about 6s to 2s.
+
+ doc: clarify that renice is needed to adjust niceness
+ * doc/coreutils.texi (nice invocation): Ensure there is no
+ ambiguity in the summary in relation to nice being able
+ to adjust the niceness of an existing process.
+ Reference the renice command.
+ * man/nice.x: Reference renice (1)
+
+ tests: accept EEXIST from rm -d
+ * tests/rm/d-2.sh: EEXIST is a valid error on some systems.
+ Reported by Michael Felt on AIX 6.1
+
+ tests: don't rely on sed -i being available
+ * tests/df/df-output.sh: sed --in-place is not generally available.
+ Also add a couple of simplifications from Bernhard Voelker.
+ Removing all spaces, rather than just leading spaces, suffices.
+ Searching for ' --output' in unadjusted df --help, suffices.
+
+ seq: ensure correct output width for scientific notation input
+ * src/seq.c (scan_arg): Calculate the width more accurately
+ for numbers specified using scientific notation.
+ * tests/misc/seq.pl: Add tests for cases that were mishandled.
+ * NEWS: Mention the fix.
+ * THANKS.in: Reported by Marcel Böhme.
+ Fixes http://bugs.gnu.org/12959
+
+2012-11-22 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ df: reorder default field list of --output option
+ As the inodes information is usually not so much of interest,
+ and some file systems including btrfs do not even provide it,
+ reading of the full df --output is easier when the block
+ statistic fields come just left of the last field, the mount
+ point.
+
+ * src/df.c (all_args_string): Move the inodes fields before
+ the block fields.
+ (usage): Likewise.
+ * tests/df/df-output.sh: Likewise.
+ * doc/coreutils.texi (df invocation): Likewise. Additionally,
+ explicitly mention the default order of the --output option.
+
+2012-11-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ install: fix security race
+ * NEWS: Document this.
+
+2012-11-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ install: fix security race
+ * src/copy.c (copy_internal): Use DST_MODE_BITS, not SRC_MODE.
+ See Bernhard R. Link in <http://bugs.gnu.org/12947> and in
+ <http://bugs.debian.org/598018>.
+
+2012-11-20 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ nl: remove deprecated --page-increment option
+ The above option has been deprecated since coreutils-7.5
+ by commit v7.4-129-g718b279.
+
+ * src/nl.c (PAGE_INCREMENT_OPTION_DEPRECATED): Remove enum.
+ (longopts): Remove "page-increment" entry.
+ (main): Remove PAGE_INCREMENT_OPTION_DEPRECATED case.
+ * NEWS (Changes in behavior): Mention the change.
+
+ Reported by Marcel Böhme in <http://bugs.gnu.org/12940>.
+
+2012-11-19 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ doc: remove already implemented items from TODO
+ * TODO (renice): The renice program is part of util-linux for
+ years now. Remove entry.
+ (dd): The option status=none has been implemented in commit
+ v8.19-143-g7331ab5. Remove entry.
+
+2012-11-18 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ cut: do not accept the invalid range 0-
+ The command "echo 12345 | cut -b 0-" prints an empty line while
+ it should fail with "fields and positions are numbered from 1".
+
+ * src/cut.c (set_fields): Add a diagnostic for the invalid open
+ range which starts with Zero, i.e., the range 0-.
+ * tests/misc/cut.pl: Add tests to ensure the range 0- fails for
+ fields (-f) and for positions (-b, -c).
+ * NEWS: Mention the fix.
+
+ Reported by Marcel Böhme in <http://bugs.gnu.org/12903>.
+
+2012-11-18 Daniel Schepler <dschepler@gmail.com>
+
+ build: fix compilation failure on x32
+ * src/factor.c [HAVE_ATTRIBUTE_MODE]: Fix typo in #if test:
+ s/HAVE_LONG_LONG/HAVE_LONG_LONG_INT/. Otherwise, factor.c would
+ elicit assembler errors on x32: it was incorrectly defining DItype
+ to long instead of long long. Patch and report in
+ http://bugs.debian.org/693337; Mike Stone notified upstream.
+
+2012-11-18 Jim Meyering <jim@meyering.net>
+
+ maint: reenable accidentally-disabled cppi-check syntax-check rule
+ * cfg.mk (exclude_file_name_regexp--sc_preprocessor_indentation): Fix
+ typo that disabled the sc_preprocessor_indentation syntax-check rule
+ by exempting all files. s/__ll/_ll/ The typo was introduced in
+ commit v8.19-157-g759ebcb.
+
+ maint: correct indentation of W_TYPE_SIZE-defining cpp directives
+ * src/factor.c: Indent cpp directives to reflect their nesting.
+
+ maint: avoid i686-specific syntax-check failure
+ * cfg.mk (_gl_TS_unmarked_extern_vars): Define.
+
+2012-11-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ doc: explain why dd is called "dd"
+ * doc/coreutils.texi (dd invocation): Mention JCL.
+
+ factor: tidy up primes.h again
+ See Stefano Lattarini in <http://bugs.gnu.org/12899>.
+ * src/local.mk (BUILT_SOURCES): Put $(top_srcdir)/src/primes.h here
+ (MAINTAINERCLEANFILES): ... instead of here.
+
+2012-11-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ factor: cleanup for primes.h
+ * .gitignore: Add src/primes.h back, since it's no longer
+ in the repository.
+
+2012-11-13 Jim Meyering <jim@meyering.net>
+
+ maint: avoid unnecessary #include to fix syntax-check failure
+ * src/factor.c: Remove unneeded #inclusion of"verify.h".
+ It's already included via system.h.
+
+2012-11-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ factor: improve primes.h change
+ This follows suggestions by Jim Meyering in
+ <http://bugs.gnu.org/12841#34>.
+ * src/make-prime-list.c (print_wide_uint): Change "nested" argument
+ to "nesting", and use it to avoid outputting lines that are too long.
+ * src/primes.h: Remove from git. This can be generated by a
+ maintainer. It's nicer to do so on a host with at least 128-bit
+ arithmetic.
+
+2012-11-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ factor: maintainer builds primes.h, not builder
+ With this change, the maintainer builds primes.h and it is part of
+ the tarball. primes.h's contents are not architecture-specific.
+ * .gitignore: Remove /src/primes.h.
+ * src/factor.c: Include verify.h.
+ (W): New constant. Verify that uintmax_t lacks holes
+ and that W is no wider than the integers used to generate primes.h.
+ * src/local.mk (EXTRA_DIST): Add src/primes.h.
+ (BUILT_SOURCES, CLEANFILES): Remove src/primes.h.
+ ($(top_srcdir)/src/primes.h): Rename from src/primes.h.
+ Do not depend on src/make-prime-list. Instead, use sub-make to
+ build, so that we build primes.h only if it does not exist.
+ * src/make-prime-list.c: Include <limits.h>, for ULONG_MAX.
+ (wide_uint): Define to uintmax_t or unsigned __int128 if not #defined.
+ (struct prime, binvert, process_prime): Use it instead of uintmax_t.
+ (print_wide_uint): New function. This generates the proper pinv
+ value regardless of the width of uintmax_t on the target, so long
+ as the width doesn't exceed that of the width of wide_uint on the
+ maintainer host that generated src/primes.h.
+ (output_primes): Use it. Output WIDE_UINT_BITS, too. Let the
+ target compute its own lim, since its uintmax_t may be narrower
+ than ours.
+ (SZ): Remove.
+ * src/primes.h: New file, generated with 128-bit integers and usable
+ on any host where uintmax_t's width is no greater than 128 bits.
+
+ factor: port to systems with rpl_malloc
+ * src/make-prime-list.c (malloc): Undef. This fixes a problem on
+ AIX 8.20 reported by Michael Felt in <http://bugs.gnu.org/12841>.
+
+2012-11-09 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ tests: fix factor's tests to use coreutil's own sha1sum
+ The test used the shasum utility which seems to belong to the
+ perl package. On SLES-10.4, perl doesn't include this yet:
+
+ + seq 0 10000000
+ + factor
+ + shasum -c --status exp
+ ./tests/factor/t00.sh: line 30: shasum: command not found
+ + Exit 1
+
+ It is better to use our own stuff anyway.
+
+ * tests/factor/run.sh: s/shasum/sha1sum/. Additionally, add
+ sha1sum to the print_ver_ call.
+
+2012-11-09 Benno Schulenberg <bensberg@justemail.net>
+
+ doc: chcon: add descriptions for three undocumented options
+ These were missed in this related change v8.14-104-g44e20cd
+
+ * src/chcon.c (usage): Mention the two --preserve-root options.
+ * doc/coreutils.texi (chcon invocation): Plus the --dereferece option.
+
+2012-11-09 Benno Schulenberg <bensberg@justemail.net>
+
+ doc: with cp -n, option -f is not redundant but ignored
+ * src/cp.c (usage): Replace "redundant" with "ignored".
+ * doc/coreutils.texi (cp invocation): Likewise.
+
+2012-11-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ df: port the new df test to POSIX sed, larger file systems
+ * tests/df/df-output.sh: For the test "df -B1K --output=size",
+ do not assume that the file system size fits in 9 bytes; it
+ might be larger than that, so omit leading space. Also, use
+ portable 'sed' commands: POSIX says sed commands inside { } should
+ all end in newline.
+
+2012-11-08 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ df: add a test for the --output option
+ * tests/df/df-output.sh: Add a test case.
+ * tests/local.mk (all_tests): Mention the test.
+ * cfg.mk (sc_file_system): Exempt the test from this syntax-check.
+
+ df: document the new --output option
+ * src/df.c (usage): Add a short description of --output and its
+ available field names for use in the optional argument.
+ * doc/coreutils.texi (df invocation): Add the new option with more
+ details and a few examples.
+ * NEWS (New features): Mention the new option.
+ (Changes in behvaior): Mention the new placeholder for fields
+ in the "total" line.
+
+2012-11-08 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ df: add --output to select which fields to display
+ This supports changing the order of the fields displayed,
+ and also allows the simultaneous display of inode and block fields.
+
+ src/df.c (get_dev): Factor out calling get_header to ...
+ (main): ... here. Call print_table only if file_systems_processed.
+
+ src/df.c (Displayable fields): Rename DEV_FIELD to SOURCE_FIELD.
+ Rename TYPE_FIELD to FSTYPE_FIELD. Rename FREE_FIELD to AVAIL_FIELD.
+ Rename MNT_FIELD to TARGET_FIELD.
+
+ * src/df.c (display_field_t): Turn loose enum definition of the
+ displayable fields into a typedef. Add the inode fields ITOTAL_FIELD,
+ IUSED_FIELD, IAVAIL_FIELD, IPCENT_FIELD.
+ (field_data_t): Define structure to hold the display field, the
+ caption, the width and the alignment for each field of the above
+ type.
+ (field_data): Add array the values of field data for each display
+ field.
+ (headers, alignments, widths): Remove arrays.
+ (columns): Add a pointer to the storage for the array of the actual
+ output columns, i.e., fields.
+ (ncolumns): Add counter for the current output columns.
+ (alloc_table_row): Allocate the dynamic ncolumns value of strings.
+ (print_table): Loop over ncolumns instead of constant NFIELDS. Rename
+ loop variable 'field' to 'col' to avoid ambiguity with the 'field'
+ element in the columns structure. Adjust the condition for printing
+ the last column by comparing with the column number instead of the
+ field name (TARGET_FIELD). Use the width and the alignment stored in
+ the columns data.
+ (alloc_field): Add new function to allocate a field in the columns
+ array.
+ (get_field_list): Add new function to fill the array of output columns
+ for each mode.
+ (get_header): Loop over ncolumns instead of constant NFIELDS. Rename
+ the loop variable 'field' to 'col' to avoid ambiguity with the 'field'
+ element in the columns structure. Remove the code for continuing the
+ loop if the current column is the file system type and print_type is not
+ active (which is now impossible). Store the cell in the columns store
+ along with the new width.
+ (get_dev): Loop over ncolumns instead of the constant NFIELDS. Rename
+ the loop variable 'field' to 'col' to avoid ambiguity with the 'field'
+ element in the columns structure; move the definition down to where it
+ is used first. Add cases for the inode fields ITOTAL_FIELD,
+ IUSED_FIELD, IAVAIL_FIELD and IPCENT_FIELD. Store the cell in the
+ columns store along with the new width.
+ (main): Use new get_field_list function to fill the list of output
+ columns.
+
+ * src/df.c (print_table): Instead of fputs()ing directly, apply
+ ambsalign on the last field, too. Use the new MBA_NO_RIGHT_PAD flag
+ for this.
+
+ * src/df.c (TOTAL_OPTION): Add new enum value.
+ (long_options): Use it for the "total" option instead of 'c'.
+ (main): Likewise.
+
+ * src/df.c (get_dev): Remove condition to copy the fstype into the
+ FSTYPE_FIELD - based on whether print_type is non-Null. Since the
+ introduction of get_field_list(), there are only fields added to
+ the columns array which have to be added.
+
+ * src/df.c (get_dev): Guard the summing up of the values for the
+ grand total: only do it if we have to print the total and if the
+ current invocation is not for processing it.
+
+ * src/df.c (main): Pass a hyphen "-" for the mount point name
+ to get_dev.
+ (get_dev): As the mount_point is now always there,
+ remove the condition and the else case for the TARGET_FIELD.
+ Instead, simply copy the mount_point.
+ All cells are now always present. Therefore, add an assertion
+ statement if one was not. Furthermore, hide the problematic
+ characters unconditionally.
+ (print_table): Remove the skipping of empty cells.
+ * tests/df/total-verify.sh: Accommodate to the new "-" in the
+ target field of the summary line.
+ * NEWS: Mention the change in behavior.
+
+ * src/df.c (field_type_t): Add new typedef of 3 enums to distinguish
+ between block, inode and other fields.
+ (field_data_t): Add field_type member of the above new type.
+ (field_data): Add default values for the above field_type,
+ indicating whether a field contains block values, inode values
+ or other, generic values.
+ (field_values_t): Add this struct to store the field values, used
+ by and factored out from get_dev to be able to define such a struct
+ for both the inode and the block values.
+ (get_field_values): Add this function to obtain the block values
+ and the inode values from the file system usage, used by and
+ factored out from get_dev.
+ (add_to_grand_total): Add this function to sum the values of the
+ current mount point up for the grand total, used by and factored
+ out from get_dev.
+ (get_dev): Move the definition of the variables fsu, buf, pct and
+ cell down to where they are used first to give them a better scope.
+ Factor out input_units, output_units, total, available,
+ negate_available, available_to_root, used and negate_used into the
+ above struct field_values_t.
+ Factor out the mapping of the fsu values to the above variables
+ into above function get_field_values.
+ Factor out the summing up of the grand total values into the
+ above function add_to_grand_total.
+ Define block_values and inode_values of the new type and call the
+ new get_field_values to fill them from the fsu values.
+ Call the above function add_to_grand_total for summing up the
+ values for the grand total.
+ Inside the loop over all fields, define a variable 'v' to point
+ to either the block_values or the inode_values, depending on the
+ current field's field_type. Change the code in the cases
+ TOTAL_FIELD/ITOTAL_FIELD, USED_FIELD/IUSED_FIELD, AVAIL_FIELD/
+ IAVAIL_FIELD and PCENT_FIELD/IPCENT_FIELD to use the field values
+ where 'v' is pointing to, i.e., either the block_values or the
+ inode_values.
+
+ * src/df.c (main): Remove setting of grand_fsu.fsu_blocks in the
+ inode_format case as this is no longer needed and would lead to
+ wrong results once when mixed block/inode fields will be used.
+
+ * src/df.c (main): Cleanup the code at the end regarding
+ file_systems_processed to make the code clearer.
+
+ * src/df.c (inode_format): Remove variable.
+ (main): Remove initialization of the above variable.
+ In getopts loop, directly set the header_mode to INODES_MODE
+ instead of using the above variable. Afterwards, remove the
+ mapping to INODES_MODE as it is already set.
+
+ * src/df.c (posix_format): Move variable ...
+ (main): ... to here.
+
+ * src/df.c (print_table): Enhance the comment about 2-line format
+ in cases where the SOURCE_FIELD exceeds 20 chars, as such
+ behavior has been removed long ago by commit v8.10-40-g99679ff.
+
+ * src/df.c (Display modes): Add OUTPUT_MODE, remove unused NMODES.
+ (display_field_t): Remove unnecessary NFIELDS.
+ (field_data_t): Add member 'arg' for the field name in the --output
+ argument. Add member 'used' to remember if a field is already used
+ in the columns array.
+ (field_data): Add values for the above new members arg and used.
+ (all_args_string): Add variable which represents the argument for
+ the --output option which includes all fields.
+ (OUTPUT_OPTION): Add enum to identify the long --output option.
+ (long_options): Add optional-argument --output option.
+ (alloc_field): Assert that the field is not already used.
+ Mark the field as used.
+ (decode_output_arg): Add function to parse the comma-separated
+ field list passed to the --output option in order to add the
+ appropriate fields to the columns array.
+ (get_field_list): Add case for the new OUTPUT_MODE to add all
+ available fields to columns in the case the --output option
+ has been passed without any values. Use the comma-separated
+ field list form to pass to decode_output_arg to keep the field
+ header mapping for the OUTPUT_MODE only on one place.
+ (main): Define format string msg_mut_excl to be used in the
+ following checks whether the use of --output and the other
+ option is mutually exclusive.
+ In the getopt_long loop, add a check to the case for the -i option
+ to issue an error message when it is used together with --output;
+ Likewise for -T and -P.
+ Add a new case for OUTPUT_OPTION, together with similar checks as
+ above and eventually passing the optarg to decode_output_arg.
+ After the getopt_long loop, consider the OUTPUT_MODE case in order
+ not to run into -h or -P mode.
+
+ * src/df.c (get_dev): Also xstrdup the dev_name, and free it
+ afterwards to silence a valgrind warning about definitely lost
+ memory.
+ (main): Free the columns store to silence valgrind, guarded by
+ the IF_LINT macro.
+
+ * src/df.c (main): Pass "total" as the mount point to get_dev if
+ the SOURCE_FIELD is not among the columns to output.
+ * tests/df/df-output.sh: Change the test to ensure the content of
+ the target field of the grand total line: if the source field is
+ present, then the target should be "-", else the target field should
+ be "target".
+ * NEWS (Changes in behavior): Enhance the exiting NEWS entry.
+ * doc/coreutils.texi (df invocation): Document the content of the
+ source and target field in the grand total line.
+
+ * src/df.c (main): Add another condition to the need_fs_type
+ parameter of read_file_system_list whether the FSTYPE_FIELD is
+ used or not.
+
+ * src/df.c (get_header): Indicate the block size used,
+ in the "size" header, when using --output without -h.
+ * tests/df/df-output.sh: Adjust for, and add an extra test for,
+ the new behavior.
+
+2012-11-05 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ maint: fix factor's test file name pattern in .gitignore
+ * .gitignore: Adapt the entry for the files generated during
+ the factor tests (see v8.20-9-g1cace4a).
+
+2012-11-04 Ángel González <keisial@gmail.com>
+
+ timeout: add --preserve-status to always propagate the exit status
+ It's useful for commands that support running for an indeterminite
+ amount of time, to not return a specific timeout exit status (124),
+ and instead let the command handle the timeout signal and return
+ a status for the work done so far.
+
+ * doc/coreutils.texi (timeout invocation): Describe the new option.
+ * src/timeout.c (preserve_status): A new global boolean to
+ enable the --preserve-status behavior.
+ (usage): Describe the new option.
+ (main): Don't return EXIT_TIMEOUT of preserve_status is set.
+ * tests/misc/timeout.sh: Add a test for the new option.
+
+2012-11-04 Pádraig Brady <P@draigBrady.com>
+
+ maint: fix the error message from sc_check-I18N-AUTHORS
+ * cfk.mk (sc_check-I18N-AUTHORS): Fix the quoting so
+ you don't get a 'command not found' error.
+
+ build: avoid build failure on some HPPA systems
+ * src/longlong.h: Restrict some HPPA assembly variants to PA RISC V2.0.
+ Note we also avoid this assembly for ilp32 runtimes, since even though
+ the assembly is accepted there, it's not safe as the context can get
+ clobbered between the 'add' and 'add,dc'.
+ This fixes a compile failure with newer HPPA systems with default
+ GCC CPU options.
+ Reported by John David Anglin
+
+2012-11-04 Pádraig Brady <P@draigBrady.com>
+
+ build: don't assume uintmax_t is 64 bits
+ This was not seen to be an issue in practise,
+ but to make the code more robust, don't assume
+ uintmax_t is 64 bits.
+
+ * src/factor.c (W_TYPE_SIZE): Define based on integer limits.
+ * src/make-prime-list.c (output_primes): Define format width
+ based on integer limits.
+
+2012-11-04 Pádraig Brady <P@draigBrady.com>
+
+ build: don't rely on support for '%j' printf format
+ * src/factor.c (print_uintmaxes): Replace with PRIuMAX.
+ * src/join.c (check_order): Likewise.
+ * cfg.mk (sc_check-j-printf-format): Add a syntax-check rule
+ to flag new cases of this.
+
+ build: don't rely on support for '%*j' printf format
+ * src/make-prime-list.c: Hardcode the uintmax_t width
+ to 16 hex digits (64 bit), to avoid this compile issue
+ on HPUS systems at least.
+
+2012-11-01 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ tests: fix syntax error in setuidgid_has_perm_
+ An invalid sed expression lead to the following error:
+ + sed -n 'ls/.* //p'
+ sed: -e expression #1, char 2: extra characters after command
+ Use "one" instead of "el".
+ Bug introduced in v8.19-111-g51a4b04.
+
+ * init.cfg (setuidgid_has_perm_): s/ls/1s/.
+ * NEWS (Build-related): Mention the fix.
+
+2012-10-27 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ tests: shorten factor's inordinately-long test file names
+ Besides what the subject says, this commit moves the test data
+ for the factor tests from tests/local.mk into the directory
+ tests/factor/ where it belongs.
+
+ * tests/local.mk (EXTRA_DIST): Add new tests/factor/create-test.sh.
+ (p,q,t1,t2) Factor out the factor-related magic numbers.
+ (factor_tests): Rename the test names to t{00..36}.sh. Factor out
+ the triples of test data.
+ ($(factor_tests)): Add dependency to new
+ tests/factor/create-factor.sh.
+ Call that script to generate the test scripts.
+ * tests/factor/run.sh: Turn this script into a template, and
+ therefore remove it's executable permission bit.
+ Add template variables START, END and CKSUM, replacing the code
+ to split the test data from the test script's file name.
+ Use the new template variables in the call to seq and for
+ creating the exp file.
+ * tests/factor/create-test.sh: Add new script to create the
+ test scripts from the template tests/factor/run.sh.
+ Use test data and magic numbers factored out from the above
+ files. Let the script also change the __TEMPLATE__ line in
+ run.sh to make clear that the test scripts are generated.
+ * cfg.mk (sc_tests_list_consistency): Exempt the new test.
+ (exclude_file_name_regexp--sc_prohibit_test_backticks):
+ Likewise.
+
+ Improved-by: Stefano Lattarini
+ Improved by: Jim Meyering
+
+2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: man page generation: degrade gracefully when perl is lacking
+ Since commit v8.19-118-g57da212, our 'dist-hook' rule tweaked the
+ distributed Makefile.in to make each man page 'man/foo.1' depend
+ on the corresponding source 'src/foo.c' rather than the corresponding
+ program 'src/foo'. That was done to accommodate systems without
+ perl, which cannot run help2man to regenerate the manpage after
+ its corresponding program has been built.
+
+ This seems a right and proper graceful degradation, in that the
+ man pages dependencies are still 100% correct in a git checkout,
+ while being more lax but "more portable" in a distribution tarball.
+ Alas, that is not the case in practice, as it turns out the tweaked
+ Makefile makes the building of man pages unreliable and potentially
+ incorrect!
+
+ In fact, assume that instead of the correct a dependency:
+
+ man/ls.1: src/ls
+
+ we have the laxer one:
+
+ man/ls.1: src/ls.c
+
+ and think of what happens if a user modifies, say, 'src/ls.c', and then
+ runs "make -j4" to rebuild everything. The make process will see that
+ it has to rebuild the man page 'man/ls.1' (because its prerequisite
+ 'src/ls.c' has changed), but won't see that it has to rebuild 'src/ls'
+ *before* re-running 'help2man' to generate that man page; so, if
+ 'man/ls.1' is rebuilt before 'src/ls' (which can happen with concurrent
+ make), our user will get either a build error (if 'src/ls' did non
+ exist) or, worse, a man page with an up-to-date timestamp but an
+ out-of-date content. And what's even worse in all of this is that
+ this problem will be present also for users who have perl installed:
+ this is not a "graceful degradation" at all!
+
+ In our situation, the best and simplest way to implement a graceful
+ degradation it to keep the correct dependencies for man pages (that
+ is, "man/ls.1: src/ls"), and if perl is not present, just generate
+ dummy man pages reporting that built-time issue and redirecting the
+ user back to either the info documentation or the '--help' output.
+
+ As a consequence of this change, we also stop distributing man pages,
+ since they will now be generated unconditionally.
+
+ * Makefile.am (do-not-require-help2man): Remove.
+ (dist-hook): Don't depend on it.
+ * man/local.mk: Remove an obsolete comment.
+ (EXTRA_DIST): Stop distributing generated man pages.
+ ($(EXTRA_MANS)): This no longer needs to depend on $(all_programs).
+ (MAINTAINERCLEANFILES): $(ALL_MANS) Do not list it here, and ...
+ (CLEANFILES): ... list it here, instead.
+ (.x.1): Instead of warning if perl is missing, but then trying to run
+ 'help2man' unconditionally, simply run ...
+ (run_help2man): ... the command referenced by this new variable, that
+ expands to a proper invocation of 'help2man' if perl is present, and
+ to an invocation of a shell script generating a dummy manpage if it
+ is not.
+ (EXTRA_DIST): Distribute that shell script.
+ * man/dummy-man: New shell script.
+ * NEWS (Build-related): Mention this.
+ Fixes coreutils http://bugs.gnu.org/12715.
+
+2012-10-25 Jim Meyering <jim@meyering.net>
+
+ maint: tweak sc_check-I18N-AUTHORS
+ * cfg.mk (sc_check-I18N-AUTHORS): Remove unnecessary subshell;
+ add a self-explanatory diagnostic.
+
+ maint: remove an obsolete test comment
+ * tests/du/bind-mount-dir-cycle.sh: Remove obsolete comment
+ spotted by Gilles Espinasse.
+
+2012-10-25 Pádraig Brady <P@draigBrady.com>
+
+ pr: fix -n to pad consistently and not crash
+ * src/pr.c: Replace the code to truncate the most significant
+ digits of line numbers, with much simpler string manipulation
+ that supports arbitrary widths. Before this, specifying a
+ width >= 32 to -n would result in a divide by zero error.
+ Also remove the inconsistent padding with zeros and spaces, which
+ would result in zero padding for widths 12 and 15.
+ * tests/pr/pr-tests.pl: Added a test to ensure no zero padding,
+ and also a test for the divide by zero case.
+ * NEWS: Mentioned the fix
+ Reported by Ondrej Oprala
+
+ build: ensure factor links the iconv library
+ * src/local.mk (src_factor_LDADD): Append $(LIBICONV).
+ * crg.mk (sc_check-I18N-AUTHORS): A new syntax check rule
+ to ensure we add LIBICONV where appropriate.
+ * THANKS.in: Add the reporter.
+ Reported by Christian Jullien
+ Syntax check suggested by Jim Meyering
+
+ maint: refactor tests/misc/pr.pl into tests/pr/pr-tests.pl
+ * tests/misc/pr.pl: Refactor this test into ...
+ * tests/pr/pr-tests.pl: ... here.
+ * tests/local.mk: Remove the reference to the removed test
+ Improved by Jim Meyering
+
+2012-10-24 Mike Frysinger <vapier@gentoo.org>
+
+ build: do not redefine _FORTIFY_SOURCE
+ When _FORTIFY_SOURCE is defined by the compiler or via flags, as
+ it is on Gentoo, do not override it. Otherwise we get many
+ redefinition warnings.
+
+ * configure.ac (FORTIFY_SOURCE): Check if _FORTIFY_SOURCE is defined.
+ This addresses http://bugs.gnu.org/12714
+
+2012-10-23 Pádraig Brady <P@draigBrady.com>
+
+ maint: post-release administrivia
+ * NEWS: Add header line for next release.
+ * .prev-version: Record previous version.
+ * cfg.mk (old_NEWS_hash): Auto-update.
+
+ version 8.20
+ * NEWS: Record release date.
+
+2012-10-23 Jim Meyering <jim@meyering.net>
+
+ factor: add comments
+ * src/factor.c (is_square): Use active voice in comment, not passive.
+ (factor): Add function-describing comment.
+ (mp_factor): Likewise.
+
+2012-10-23 Pádraig Brady <P@draigBrady.com>
+
+ build: avoid warnings about unused variables and macros
+ src/factor.c (__GMP_DECLSPEC): Move back from longlong.h
+ to treat consistently with other stub macros.
+ (__GMP_GNUC_PREREQ): Reference to avoid -Wunused-macros warning.
+ (__GMP_DECLSPEC): Likewise.
+ (ASSERT): Likewise.
+ (__clz_tab): Likewise.
+ (factor_using_division): Mark a variable as unused.
+ (mulredc): Likewise.
+ (mulredc2): Likewise.
+ (divexact_21): Likewise.
+
+ build: avoid compile warnings in factor.c on some systems
+ * src/factor.c (factor_using_pollard_rho2): On some systems
+ (like sparc) we need to promote all addmod2() parameters
+ to uintmax_t to avoid warnings.
+
+ build: avoid build failure on some sparc systems
+ * src/longlong.h: Restrict some sparc assembly variants
+ to sparc V9. This was seen to be an issue with newer
+ sparc systems with default gcc CPU options.
+
+ tests: correctly restrict factor test without GMP
+ * tests/misc/factor.pl: Correct the precedence and
+ regular expression in the command to check for GMP.
+
+2012-10-21 Jim Meyering <jim@meyering.net>
+
+ doc: NEWS: the cp bug affects mv and install, too
+ * NEWS (Bug fixes): Note that the copy-induced corruption but affects
+ mv (sometimes) and install, too. Pointed out by Bernhard Voelker.
+
+2012-10-19 Benno Schulenberg <bensberg@justemail.net>
+
+ doc: remove a stray parenthesis from 'cp --force' description
+ * doc/coreutils.texi (cp invocation): Remove Cheshire Cat.
+
+2012-10-17 Jim Meyering <jim@meyering.net>
+
+ build: update gnulib submodule to latest
+
+ cp: avoid data-corrupting free-memory-read
+ * src/extent-scan.c (extent_scan_read): Reset our last_ei
+ pointer whenever the parent buffer might have just been freed.
+ * tests/cp/fiemap-extent-FMR.sh: New test.
+ * tests/local.mk (all_tests): Add it.
+ * NEWS (Bug fixes): Mention it.
+ Reported by Mike Gerth in http://bugs.gnu.org/12656, and with
+ help from Alan Curry. Bug introduced in commit v8.10-60-g18f5a85.
+
+2012-10-13 Nikolas Kallis <nik@nikolaskallis.com> (tiny change)
+
+ doc: improve HACKING guidelines
+ * HACKING: Add "cd coreutils" after the git clone command.
+
+2012-10-09 Pádraig Brady <P@draigBrady.com>
+
+ factor: fix integer validation and GMP fallback
+ In the recent factor rewrite, the GMP code
+ wasn't actually used; just an error was printed
+ on integer overflow. While fixing that it was noticed
+ that correct input validation wasn't done in all cases
+ when falling back to the GMP code.
+
+ * src/factor.c (print_factors) Fallback to GMP on overflow.
+ (strto2uintmax): Scan the string for invalid characters,
+ so that case can be detected independently of overflow.
+ Return an error when an empty string is passed.
+ Also allow leading spaces and '+' in input numbers.
+ * tests/misc/factor.pl: Ensure the GMP code is exercised
+ when compiled in. Also add a test to verify leading
+ spaces and '+' are allowed.
+
+2012-10-08 Pádraig Brady <P@draigBrady.com>
+
+ build: support older GMP versions
+ The new factor code introduced usage of mpz_inits() and
+ mpz_clears(), which are only available since GMP >= 5,
+ and will result in a compile error when missing.
+
+ * m4/gmp.m4 (cu_GMP): Define HAVE_DECL_MPZ_INITS appropriately.
+ * src/factor (mpz_inits): New function, defined where missing.
+ (mpz_clears): Likewise.
+
+2012-10-07 Jim Meyering <meyering@redhat.com>
+
+ maint: avoid warning from gcc's -Wunused-macros
+ On some systems, -Wunused-macros would warn about two macros:
+ src/factor.c:148:0: warning: macro "__clz_tab" is not used
+ src/factor.c:126:0: warning: macro "UHWtype" is not used
+ * src/factor.c: Add a use to placate gcc.
+
+2012-10-05 Jim Meyering <meyering@redhat.com>
+
+ build: avoid link failure when strerror is replaced
+ When building the new make-prime-list program on a system for which
+ strerror is defined to rpl_strerror, we'd get a link failure.
+ The problem is that we're including <config.h> for some definitions,
+ but do not want the rpl_ ones, since this particular program must
+ not be linked against gnulib (aka libcoreutils.a). This did not
+ arise on Fedora 17 or 18, but did on Debian wheezy/sid.
+ * src/make-prime-list.c (strerror): #undef.
+ Build failure introduced by commit v8.19-152-gcf67e4c.
+
+2012-10-04 Jim Meyering <meyering@redhat.com>
+
+ factor: 25% speed-up, on output
+ * src/factor.c (print_factors_single): Use fputs and umaxtostr
+ rather than printf with "%ju". This reduced the time required
+ to compute and print the factors of the first 10^7 integers from
+ over 8 seconds to 5.75s. Run this command:
+ seq $((10**7)) | env time factor > /dev/null
+
+2012-10-04 Jim Meyering <meyering@redhat.com>
+
+ factor: merge with preexisting factor; integrate tests; avoid warnings
+ * src/factor.c: Renamed from factor-ng.c, with the following changes:
+ Adjust copyright header to be consistent with others.
+ Use xmalloc and xrealloc, to avoid segv upon OOM.
+ Switch back to using readtokens to handle input.
+ Diagnose invalid inputs.
+ s/fprintf+exit/error/
+ (print_factors): Add comments.
+ (strto2uintmax): Return strtol_error, not int.
+ (read_item): Remove, no longer used.
+ (main): Use atexit(close_stdout) so that we don't ignore failed write.
+ * cfg.mk: Exempt src/longlong.h from several tests.
+ Exempt run.sh from the test-list-consistency test.
+ Exempt make-prime-list.c from numerous tests, since we won't
+ be making it conform: it must not link with libcoreutils.a.
+ Exempt factor-ng.c from the no-upper-case error message test.
+ * AUTHORS (factor): Add Torbjörn and Niels.
+ * tests/local.mk (factor_tests): Encode the 37 tests.
+ ($(factor_tests)): Rule to generate a test script for each test.
+ * tests/factor/run.sh: New script, marked as very expensive.
+ * .gitignore: Ignore new generated files.
+ * src/local.mk (src/primes.h): New rule.
+ (noinst_PROGRAMS): Add make-prime-list.
+ (noinst_HEADERS): Add longlong.h.
+ Remove all wheel-related rules and files.
+ * src/wheel-gen.pl: Remove file.
+
+ maint: mark set-but-not-used variables with ATTRIBUTE_UNUSED
+ * src/factor-ng.c (redcify, prime_p, isqrt2): Mark them, so we
+ don't have to disable -Wunused-but-set-variable.
+
+ maint: use __builtin_expect only if __GNUC__
+ * src/factor-ng.c (LIKELY, UNLIKELY) [__GNUC__]: Add #ifdef guard.
+
+ build: avoid warning about unused macro
+ * src/factor-ng.c (__GMP_DECLSPEC): Don't define here
+ * src/longlong.h (__GMP_DECLSPEC): Define if not already defined.
+
+2012-10-04 Niels Möller <nisse@lysator.liu.se>
+ Torbjörn Granlund <tg@gmplib.org>
+
+ factor: more improvements
+ * src/factor-ng.c: Import some improvements from
+ http://gmplib.org:8000/factoring
+
+2012-10-04 Torbjörn Granlund <tg@gmplib.org>
+ Niels Möller
+
+ factor: new much-improved implementation; not yet integrated
+ * src/factor-ng.c: New file, from nt-factor.
+ * src/longlong.h: New file.
+ * NEWS (Improvements): Mention the upcoming improvements.
+
+2012-10-04 Jim Meyering <meyering@redhat.com>
+
+ maint: make-prime-list: syntax conventions; be robust for large N
+ * src/make-prime-list.c: Insert spaces before parens.
+ (main): Abort if the 8-delta value ever exceeds 255.
+
+ maint: make-prime-list: do not ignore write failure
+ Even though this is just a helper program that is run solely to create
+ primes.h, it should not ignore a write failure. Normally we would
+ simply call atexit (close_stdout), but we cannot do that from this
+ helper program, since it must be built before the generated header,
+ primes.h. If we were to make the linking of make-prime-list depend
+ on libcoreutils.a, that would add all lib/*.o files to the list
+ of dependents of $(BUILT_HEADERS). Then, since there is currently no
+ provision to ensure that a file like lib/stdio.h (another built header)
+ is built before the first lib/*.o file that also includes <stdio.h>,
+ some lib/*.o files would be built before lib/stdio.h and some after.
+ The former would provoke link failures due to undefined rpl_* functions.
+ * src/make-prime-list.c: Include <errno.h>.
+ (fclose): Undef, so that a definition to rpl_fclose does not
+ cause a link failure.
+ (main): Per the above, in this exceptional case, we check for fclose
+ and ferror failure manually, and don't worry about the ferror-only
+ failure case in which errno may not be relevant.
+
+ maint: make-prime-list: avoid -Wsuggest-attribute=const warning
+ * src/make-prime-list.c: Include <config.h>.
+ (binvert): Add _GL_ATTRIBUTE_CONST.
+
+2012-10-04 Torbjörn Granlund <tg@gmplib.org>
+ Niels Möller <nisse@lysator.liu.se>
+
+ factor: prepare for the new factor program
+ * src/make-prime-list.c: New file, from nt-factor.
+
+2012-10-03 Jim Meyering <meyering@redhat.com>
+
+ build: remove redundant dependency: $(PROGRAMS): lib/libcoreutils.a
+ * src/local.mk: Remove the above dependency.
+ A soon-to-be-added new program, make-prime-list, must not depend
+ on that, since it is used to create a BUILT_SOURCES file.
+ That dependency is already handled via the ..._LD_ADD variables,
+ and so that redundant dependency has so far been harmless.
+
+2012-09-30 Jim Meyering <meyering@redhat.com>
+
+ du: avoid abort on systems for which ->me_type is not malloc'd
+ On some systems (notably, BSD-based, like at least OpenBSD 4.9),
+ the me_type member does not come from the heap.
+ * src/du.c (fill_mount_table): Free the ->me_type member only
+ when it was malloc'd, i.e., when ->me_type_malloced is nonzero.
+ Bug introduced via commit v8.19-2-gcf7e1b5.
+ Reported as http://bugs.gnu.org/12542.
+
+2012-09-29 Jim Meyering <meyering@redhat.com>
+
+ doc: same correction, but now in texinfo documentation
+ * doc/coreutils.texi (nice invocation): s/nicenesses/niceness values/
+
+2012-09-28 Jim Meyering <meyering@redhat.com>
+
+ doc: correct an old bit of ugliness in nice --help output
+ * src/nice.c (usage): s/Nicenesses/Niceness values/
+
+2012-09-28 Pádraig Brady <P@draigBrady.com>
+
+ doc: disambiguate the niceness explanation in nice --help
+ * src/nice.c (usage): Specify the entity (process) that
+ that relative terms are referring to.
+ * THANKS: Update.
+ Reported-by: David Diggles
+
+2012-09-28 Ondrej Oprala <ooprala@redhat.com>
+
+ cp: fix the --no-preserve=mode option
+ The --no-preserve=mode option did not do what its name implies:
+ it would mistakenly preserve permission mode bits.
+ * NEWS: Mention the fix.
+ * TODO: Remove an entry.
+ * src/copy.c (copy_reg): Add a condition to properly
+ handle the --no-preserve=mode option for files
+ (copy_internal): Add a condition to properly handle the
+ --no-preserve=mode option for directories.
+ * src/copy.h (struct cp_options): Add a new boolean.
+ * src/cp.c (cp_option_init,decode_preserve_arg): Set the
+ new boolean value according to specified options.
+ * src/install.c (struct cp_options): Initialize the new boolean.
+ * src/mv.c (struct cp_options): Initialize the new boolean.
+ * tests/cp/preserve-mode.sh: Add a new test.
+ * tests/cp/link-preserve.sh (-a --no-preserve=mode): Adjust the
+ expected perms: now, --no-preserve=mode overrides the --preserve=mode
+ that is inherent in -a, as it should.
+ * tests/local.mk: Add the new test to the list.
+
+2012-09-24 Pádraig Brady <P@draigBrady.com>
+
+ timeout: handle signals more transparently
+ This was originally attempted in commit v8.12-117-g5a647a0,
+ but reverted before release because of the unreliability
+ of disabling core dumps using setrlimit() on Linux kernels.
+ This new version instead uses prctl() where available to
+ more reliably disable core dumps for the timeout process.
+
+ * m4/jm-macros.m4: Define HAVE_SETRLIMIT and HAVE_PRCTL.
+ * src/timeout.c (disable_core_dumps): A new function
+ that disables coredumps using prctl or setrlimit if available.
+ (main): If the child exited with a signal and we can
+ disable core dumps, then raise that signal to the timeout
+ process itself, so that callers may also see the signal status.
+ Also print a message indicating when the monitored command
+ dumped core, as that information is lost in the signal
+ propagation through timeout.
+
+2012-09-24 Pozsár Balázs <pozsy@uhulinux.hu>
+
+ dd: new option, status=none to suppress output statistics
+ * src/dd.c (STATUS_NONE): A new bitmask combining all STATUS_
+ options, thus used to suppress all informational output.
+ (struct symbol_value statuses): Expose the "none" option,
+ corresponding to the STATUS_NONE bitmask above.
+ (print_stats): Return early if STATUS_NONE is specified.
+ Also move the call to gethrxtime() down so that it's only
+ called when needed.
+ (usage): Describe the new options.
+ * doc/coreutils.texi (dd invocation): Likewise.
+ * NEWS: Mention the new feature.
+ * tests/dd/misc.sh: Ensure the new option works.
+
+2012-09-23 Jim Meyering <meyering@redhat.com>
+
+ tail,stat: improve support for vmhgfs
+ Teach tail -f that it must use polling on vmhgfs file systems, and
+ let stat -f --format=%T report the file system type name, "vmhgfs".
+ * src/stat.c (human_fstype): Add a case: vmhgfs, 0xbacbacbc, remote.
+ * NEWS (Improvements): Mention it.
+ * THANKS.in: Update.
+ Reported by Daniel Tschinder in http://bugs.gnu.org/12461.
+
+2012-09-20 Jim Meyering <meyering@redhat.com>
+
+ build: move non-recursive-gnulib-prefix-hack to gnulib; update
+ I've moved the non-recursive-gnulib-prefix-hack module to
+ gnulib, with two small improvements, so remove it from here
+ and update gnulib to the latest.
+ * gl/build-aux/prefix-gnulib-mk: Remove file.
+ * gl/m4/non-recursive-gnulib-prefix-hack.m4: Remove file.
+ * gl/modules/non-recursive-gnulib-prefix-hack: Remove file.
+ * gnulib: Update to latest.
+
+2012-09-19 Jim Meyering <meyering@redhat.com>
+
+ rm: be even more careful when using a replacement errno value
+ * src/remove.c (excise): The change in commit v8.19-107-gccbd3f3 made
+ the "rm -rf D" (for unreadable dir, D) diagnostic worse on Solaris 10:
+ -rm: cannot remove 'D': Permission denied
+ +rm: cannot remove 'D': File exists
+ That happened because unlinkat would fail with EEXIST there, given
+ an unreadable directory, which made the two tests, tests/rm/unread2
+ and tests/rm/unreadable fail. Accommodate the EEXIST case, too.
+
+ maint: fix a comment typo
+ * cfg.mk: Fix comment typo: s/recursive/non-recursive/ make
+
+2012-09-18 Jim Meyering <meyering@redhat.com>
+
+ tests: cp/link-heap: avoid new failure on rawhide
+ * tests/cp/link-heap.sh: Increase virtual memory limit by 2000KiB --
+ from 20,000 to 22,000 KiB -- to avoid a new failure on rawhide.
+
+ maint: make the tight-scope syntax-check rule work again
+ * cfg.mk: Configure a few variable to make the tight-scope rule work.
+ * gnulib: Update submodule to latest.
+
+2012-09-18 Benno Schulenberg <bensberg@justemail.net>
+
+ dd: remove references to the word BLOCKS from help and texi docs
+ The renaming from BLOCKS to N was done in v8.15-38-g140eca1,
+ and documentation for N was added again in v8.17-26-g4f2e9d5
+ without noticing that. Now, finally remove the word BLOCKS
+ from the documentation.
+
+ * src/dd.c (usage): Remove the word BLOCKS.
+ * doc/coreutils.texi (dd invocation): Likewise.
+
+ Improved by: Bernhard Voelker <mail@bernhard-voelker.de>
+
+2012-09-18 Jim Meyering <meyering@redhat.com>
+
+ doc: NEWS: mention the conversion to non-recursive make
+ * NEWS (Build-related): Mention the non-recursive make improvement.
+ Improved by: Pádraig Brady
+
+2012-09-16 Pádraig Brady <P@draigBrady.com>
+
+ ls: fix coloring of dangling symlinks in default listing mode
+ When listing a directory containing dangling symlinks,
+ and not outputting a long format listing, and orphaned links
+ are set to no coloring in LS_COLORS, then the symlinks
+ would get no color rather than reverting to the standard
+ symlink color. The issue was introduced in v8.13-19-g84457c4
+
+ * src/ls.c (print_color_indicator): Use the standard method
+ to check if coloring is specified for orphaned symlinks.
+ The existing method would consider 'or=00' or 'or=0' as significant
+ in LS_COLORS. Even 'or=' was significant as in that case the
+ string='or=' and the length=0. Also apply the same change
+ for missing symlinks for consistency.
+ (gobble_file): Remove the simulation of linkok, which is only
+ tested in print_color_indicator() which now handles this directly
+ by keying on the LS_COLORS values correctly.
+ * tests/misc/ls-misc.pl: Add a test case.
+ * THANKS: Add the reporter.
+ * NEWS: Mention the fix.
+ Reported-by: David Matei
+
+2012-09-15 Jim Meyering <meyering@redhat.com>
+
+ doc: update seq description
+ * doc/coreutils.texi (seq invocation): Update an example and mention
+ that with the new constraints, seq can print arbitrarily large numbers.
+
+2012-09-14 Pádraig Brady <P@draigBrady.com>
+
+ seq: enable the fast integer printing code in more cases
+ * src/seq.c (main): Adjust the initial arbitrary precision
+ seq_fast enablement checks to be more maintainable, and
+ a little more general, by allowing single character
+ separators to use seq_fast.
+ Also check again after the number arguments are processed,
+ to see if we can still use seq_fast, which while not
+ allowing arbitarly large integers, it will handle
+ integers of the form 10E10 etc.
+ (seq_fast): Use a specified separator character,
+ rather than hardcoding '\n'.
+
+2012-09-14 Jim Meyering <meyering@redhat.com>
+
+ build: do not rely on automake's AM_TESTS_ENVIRONMENT
+ * tests/local.mk (TESTS_ENVIRONMENT): Rename from AM_TESTS_ENVIRONMENT,
+ since it is not honored in automake-1.11.3 after all.
+ This reverts commit v8.19-38-g34c9c8f. For now, I'll leave
+ the following commit that made bootstrap.conf require 1.11.2.
+ Prompted by a report of test failure from Pádraig Brady.
+
+ build: don't prefix the RHS of "GPERF = ..." with "lib/"
+ * gl/build-aux/prefix-gnulib-mk (prefix_assignment): Exempt
+ the RHS of a "GPERF = ..." assignment from lib/ prefixing.
+
+2012-09-14 Jim Meyering <meyering@redhat.com>
+
+ seq: 70x faster for non-negative whole numbers and incr==1
+ Handle non-negative whole numbers robustly and efficiently when
+ the increment is 1 and when no format-changing option is specified.
+ On the correctness front, for very large numbers, seq now works fine:
+
+ $ b=1000000000000000000000000000
+ $ src/seq ${b}09 ${b}11
+ 100000000000000000000000000009
+ 100000000000000000000000000010
+ 100000000000000000000000000011
+
+ while the old one would infloop, printing garbage:
+
+ $ seq ${b}09 ${b}11 | head -2
+ 99999999999999999997315645440
+ 99999999999999999997315645440
+
+ The new code is much more efficient, too:
+ Old vs new: 55.81s vs 0.82s
+
+ $ env time --f=%e seq $((10**8)) > /dev/null
+ 55.81
+ $ env time --f=%e src/seq $((10**8)) > /dev/null
+ 0.82
+
+ * seq.c (incr): New function, inspired by the one in cat.c.
+ (cmp, seq_fast): New functions, inspired by code in nt-factor
+ by Torbjörn Granlund and Niels Möller.
+ (trim_leading_zeros): New function, without which cmp would malfunction.
+ (all_digits_p): New function.
+ (main): Hoist the format_str-vs-equal_width check to precede first
+ treatment of operands, and insert code to call seq_fast when possible.
+ * NEWS (Bug fixes): Mention the correctness fix.
+ (Improvements): Mention the speed-up.
+ * tests/misc/seq.pl: Exercise the new code.
+
+ Improved by: Bernhard Voelker.
+ http://thread.gmane.org/gmane.comp.gnu.coreutils.general/3340
+
+2012-09-14 Jim Meyering <meyering@redhat.com>
+
+ tests: reenable "make -C tests ..." commands
+ The README-documented way to run individual tests was invalidated
+ by the conversion of tests/ to non-recursive make. Add a GNUmakefile
+ shim to reenable that usage.
+ * tests/GNUmakefile: New file, so that "make -C tests ..." works
+ like it did before the conversion of tests/ to non-recursive build.
+ Reported by Bernhard Voelker.
+ * Makefile.am (EXTRA_DIST): Add it.
+ * cfg.mk (sc_prohibit_tab_based_indentation): Also exempt any
+ GNUmakefile from this syntax-check.
+
+2012-09-12 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: fixup: correctly recognize if perl is missing
+ * configure.ac: Here, by adding a missing '*' to the wildcard in
+ a 'case' construct over the contents of $PERL. Introduced in
+ commit v8.19-41-g00f5ba1.
+
+2012-09-12 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ maint: mbsalign.h: fix typo from previous comment edit
+ * gl/lib/mbsalign.h: Fix comment typo.
+
+2012-09-11 Jim Meyering <meyering@redhat.com>
+
+ build: build lib/ using non-recursive make
+ * bootstrap.conf (gnulib_modules): Use the new module.
+ (bootstrap_post_import_hook): Invoke prefix-gnulib-mk.
+ * configure.ac (AC_CONFIG_FILES): Remove lib/Makefile.
+ * lib/Makefile.am: Renamed...
+ * lib/local.mk: ...to this.
+ * src/local.mk (CLEANFILES): Append, don't set.
+ (noinst_LIBRARIES): Likewise.
+ (AM_CPPFLAGS): Don't set this here.
+ * Makefile.am (AM_CPPFLAGS): Define here instead.
+ (noinst_LIBRARIES, CLEANFILES, MOSTLYCLEANDIRS, MOSTLYCLEANFILES):
+ Initialize here, so we can append to them from each included local.mk
+ (SUBDIRS): Remove "lib".
+
+2012-09-11 Jim Meyering <meyering@redhat.com>
+
+ build: handle @ALLOCA@-vs-non-recursive make problems
+ Here is a good reason to avoid alloca with non-recursive make. These:
+
+ $ grep @ALLOCA lib/gnulib.mk
+ lib_libcoreutils_a_LIBADD += lib/@ALLOCA@
+ lib_libcoreutils_a_DEPENDENCIES += lib/@ALLOCA@
+
+ would lead to this, when @ALLOCA@ expands to the empty string,
+ which is essentially "always", now:
+
+ $ grep ' lib/$' Makefile
+ lib_libcoreutils_a_LIBADD = $(gl_LIBOBJS) lib/
+ lib_libcoreutils_a_DEPENDENCIES = $(gl_LIBOBJS) lib/
+
+ Tell the prefix-adding script not to add a prefix when the word it's
+ prefixing is "@ALLOCA@". That is fine for most cases, but what about
+ when the expansion of @ALLOCA@ is nonempty?
+
+ * build-aux/prefix-gnulib-mk (prefix_word): Exclude @ALLOCA@.
+ * gl/m4/non-recursive-gnulib-prefix-hack.m4: Prefix non-empty
+ $ALLOCA with "lib/". FIXME: I'm not sure this is required,
+ now that we...
+ Use AC_CONFIG_LIBOBJ_DIR([lib]).
+ Without using AC_CONFIG_LIBOBJ_DIR([lib]), automake (not autoconf)
+ would complain of failure to find aclocal.c, due to the use of
+ AC_LIBSOURCES(alloca.c).
+
+2012-09-11 Jim Meyering <meyering@redhat.com>
+
+ build: new module to convert lib/ to non-recursive make
+ * gl/modules/non-recursive-gnulib-prefix-hack: New module.
+ * gl/m4/non-recursive-gnulib-prefix-hack.m4:
+ (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): This is the snippet
+ that this module inserts near the end of configure.
+ * gl/build-aux/prefix-gnulib-mk: New script, from bison.
+ Changes from the code in bison:
+ (prefix_assignment): Split a long line.
+ (prefix): Add trailing slashes to avoid a single false match.
+ Prefix imaxtostr.c and the other *tostr.c file names manually.
+ Also, use $prefix in place of hard-coded "lib/".
+
+2012-09-11 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ maint: gen-lists-of-programs.sh: fix typo from previous comment edit
+ * build-aux/gen-lists-of-programs.sh: Fix comment typo.
+
+2012-09-11 Pádraig Brady <P@draigBrady.com>
+
+ maint: add more control flags to mbsalign
+ * gl/lib/mbsalign.h: Add MBA_UNIBYTE_ONLY (to allow
+ faster processing). Also add MBA_NO_LEFT_PAD, MBA_NO_RIGHT_PAD
+ to give greater control of padding, useful with the first
+ or last fields on a line.
+ * gl/lib/mbsalign.c (mbsalign): Implement the new flags.
+ * gl/tests/test-mbsalign.c (main): Test combinations
+ of the new flags.
+
+2012-09-10 Jim Meyering <meyering@redhat.com>
+
+ maint: allow per-directory CFLAGS settings with non-recursive make
+ * src/local.mk (AM_CFLAGS): Don't use $(WARN_CFLAGS) here.
+ * cfg.mk (src_CFLAGS, lib_CFLAGS, gnulib-tests_CFLAGS): Define here
+ instead.
+ (AM_CFLAGS): Augment using the above.
+ * configure.ac: Note that the configure-time option,
+ --enable-gcc-warnings now functions only when using GNU make.
+ Well, currently it does still work in gnulib-tests, but that should
+ soon be fixed.
+ Improved-by: Stefano Lattarini
+
+ maint: gen-lists-of-programs.sh: improve comments
+ * build-aux/gen-lists-of-programs.sh: Improve comments.
+
+ build: do not require help2man at build-from-tarball time
+ But do retain full dependencies when building from a git clone.
+ We do this by converting the full dependency (of the .1 file on
+ the binary we run with --help) into a dependency on the .c file.
+ * Makefile.am (do-not-require-help2man): New rule.
+ (dist-hook): depend on it.
+
+ build: fix a minor man-page generation dependency error
+ * man/local.mk (man/dir.1): Depend on src/dir, not src/ls.
+
+ maint: move the last coreutils-specific files from lib/ to gl/
+ Convert the few remaining coreutils-specific files in lib/ to
+ gnulib-style modules under gl/, removing their corresponding .m4
+ files, since the information recorded in those files is better
+ stored in module-description file in gl/modules/.
+ * bootstrap.conf (gnulib_modules): Add new modules:
+ fd-reopen, buffer-lcm, xfts, strnumcmp.
+ * gl/lib/buffer-lcm.c: Renamed from the file in lib/.
+ * gl/lib/buffer-lcm.h: Likewise.
+ * gl/lib/fd-reopen.c: Likewise.
+ * gl/lib/fd-reopen.h: Likewise.
+ * gl/lib/strintcmp.c: Likewise.
+ * gl/lib/strnumcmp-in.h: Likewise.
+ * gl/lib/strnumcmp.c: Likewise.
+ * gl/lib/strnumcmp.h: Likewise.
+ * gl/lib/xfts.c: Likewise.
+ * gl/lib/xfts.h: Likewise.
+ * gl/modules/buffer-lcm: New module-description file.
+ * gl/modules/fd-reopen: Likewise.
+ * gl/modules/strnumcmp: Likewise.
+ * gl/modules/xfts: Likewise.
+ * m4/fd-reopen.m4: Remove, no longer needed.
+ * m4/strnumcmp.m4: Likewise.
+ * m4/xfts.m4: Likewise.
+ * m4/prereq.m4: Do not AC_REQUIRE the m4 functions from
+ our just-removed m4/*.m4 files.
+
+ maint: move gl/m4/root-dev-ino.m4 contents into its module definition
+ We can get the same effect using the modules file.
+ * gl/m4/root-dev-ino.m4: Remove file.
+ * gl/modules/root-dev-ino (Depends-on): Add lstat.
+ (Files): Remove m4/root-dev-ino.m4.
+ (Makefile.am) [lib_SOURCES]: Add root-dev-ino.c and root-dev-ino.h.
+ (configure.ac): Remove reference to gl_ROOT_DEV_INO.
+
+2012-09-08 Jim Meyering <meyering@redhat.com>
+
+ maint: adjust ChangeLog to correct Author
+ * build-aux/git-log-fix: Add an entry to correct the Author:
+ of v8.19-111-g51a4b04. It should be Ondrej Oprala, not me.
+
+2012-09-07 Jim Meyering <meyering@redhat.com>
+
+ factor: NEWS and tests
+ * NEWS (Bug fixes): Mention it.
+ * tests/misc/factor.pl: Add five of Torbjörn's tests.
+
+2012-09-07 Torbjörn Granlund <tg@gmplib.org>
+
+ factor: don't ever declare composites to be prime
+ The multiple-precision factoring code (with HAVE_GMP) was copied from
+ a now-obsolete version of GMP that did not pass proper arguments to
+ the mpz_probab_prime_p function. It makes that code perform no more
+ than 3 Miller-Rabin tests only, which is not sufficient.
+
+ A Miller-Rabin test will detect composites with at least a probability
+ of 3/4. For a uniform random composite, the probability will actually
+ be much higher.
+
+ Or put another way, of the N-3 possible Miller-Rabin tests for checking
+ the composite N, there is no number N for which more than (N-3)/4 of the
+ tests will fail to detect the number as a composite. For most numbers N
+ the number of "false witnesses" will be much, much lower.
+
+ Problem numbers are of the form N=pq, p,q prime and (p-1)/(q-1) = s,
+ where s is a small integer. (There are other problem forms too,
+ involving 3 or more prime factors.) When s = 2, we get the 3/4 factor.
+
+ It is easy to find numbers of that form that cause coreutils' factor to
+ fail:
+
+ 465658903
+ 2242724851
+ 6635692801
+ 17709149503
+ 17754345703
+ 20889169003
+ 42743470771
+ 54890944111
+ 72047131003
+ 85862644003
+ 98275842811
+ 114654168091
+ 117225546301
+ ...
+
+ There are 9008992 composites of the form with s=2 below 2^64. With 3
+ Miller-Rabin tests, one would expect about 9008992/64 = 140766 to be
+ invalidly recognized as primes in that range.
+
+ * src/factor.c (MR_REPS): Define to 25.
+ (factor_using_pollard_rho): Use MR_REPS, not 3.
+ (print_factors_multi): Likewise.
+ * THANKS.in: Remove my name, now that it will be automatically
+ included in the generated THANKS file.
+
+2012-09-07 Ondrej Oprala <ooprala@redhat.com>
+
+ tests: improve checks for setuidgid-using root-only tests
+ * init.cfg (setuidgid_has_perm_): New function.
+ (require_root_): Use it.
+ Improved-by: Bernhard Voelker
+ * NEWS (Build-related): Mention the improvement.
+
+2012-09-06 Eric Blake <eblake@redhat.com>
+
+ build: default to --enable-gcc-warnings for git tree
+ Anyone developing on coreutils can be assumed to have a new enough
+ environment, such that enabling gcc warnings by default will be
+ useful. Tarballs still default to no warnings, and the defaults
+ can still be overridden with --disable-gcc-warnings.
+
+ * configure.ac (gl_gcc_warnings): Set default based on environment.
+ Suggested by Bernhard Voelker.
+
+2012-09-06 Pádraig Brady <P@draigBrady.com>
+
+ nproc: disallow non option command line parameters
+ * src/nproc.c (main): Error if any non option parameters.
+ * NEWS: Mention the change in behavior.
+
+2012-09-06 Jim Meyering <meyering@redhat.com>
+
+ tail,stat: add support for VZFS
+ * src/stat.c (human_fstype): Add a case: vzfs, 0x565A4653 (local).
+ Reported by Jens Rosenboom in http://bugs.gnu.org/12356
+ * NEWS (Improvement): Mention it.
+
+2012-09-05 Jim Meyering <meyering@redhat.com>
+
+ rm: be more careful when using a replacement errno value
+ * src/remove.c (excise): Tighten the test for when we defer to an
+ old errno value: instead of relying solely on an FTS_DNR (unreadable
+ directory) failure, also test current and replacement errno values.
+ This change would also have solved the problem addressed by commit
+ v8.19-106-g57dd067. For more info, see http://bugs.gnu.org/12339#113
+
+ rm: avoid bogus diagnostic for a slash-decorated symlink-to-dir
+ These commands would evoke an invalid diagnostic:
+ $ mkdir d && ln -s d s && env rm -r s/
+ rm: cannot remove 's': Too many levels of symbolic links
+ remove.c was stripping trailing slashes from "s/" before passing
+ the name to "rm". But a trailing slash may change the semantics,
+ and thus should not be stripped.
+ * src/remove.c (rm_fts): Do not strip trailing slashes.
+ * tests/rm/v-slash.sh: Adapt to new expected output.
+ * gnulib: Update to latest, for an improved fts.c that merely
+ normalizes trailing slashes.
+ Reported by Paul Eggert in discussion of http://bugs.gnu.org/12339
+
+ tests: depend on the programs we're testing
+ * tests/local.mk ($(TEST_LOGS)): Depend on $(PROGRAMS), so that
+ tests are rerun when any program is rebuilt. Technically, we could
+ specify precisely which few programs are dependents of each test,
+ but that can come later, if deemed worth the trouble and maintenance
+ burden. Also, there is the issue of the primary program(s) being
+ tested (i.e., those itemized via print_ver_) versus those that are
+ tested incidentally: for example, nearly every test exercises "rm"
+ when its clean-up code removes files.
+
+2012-09-05 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ maint: fix a spurious syntax-check failure
+ * cfg.mk (exclude_file_name_regexp--sc_file_system): Exempt
+ 'init.cfg', not 'tests/init.cfg'.
+
+ tests: more resilient about tainted absolute srcdir path
+ * tests/init.cfg (stty_reversible_init_): Quote '$abs_top_srcdir'
+ properly.
+ (fiemap_capable_): Quote '$abs_srcdir' properly.
+ (require_dirent_d_type_): Likewise.
+
+ maint: fix syntax checks 'sc_root_tests'
+ * cfg.mk: Don't work by trying to parse the (now gone) file
+ 'tests/Makefile.am'; rather, use the contents of the make variable,
+ $(all_root_tests), introduced few commits ago.
+ Fix a few unrelated cosmetic issues while at it.
+
+ maint: avoid a spurious syntax-check error
+ * cfg.mk (exclude_file_name_regexp--sc_prohibit_test_backticks): Exempt
+ 'tests/local.mk' rather than 'tests/Makefile.am'.
+
+2012-09-05 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ maint: vc_exe_in_TESTS should actually be a syntax check
+ Because it requires the presence of the '.git' directory, that is,
+ can be run only for maintainers working from checked-out sources.
+
+ * tests/local.mk (vc_exe_in_TESTS): Rename and move ...
+ * cfg.mk (sc_tests_list_consistency): ... here, with minor adjustments.
+
+2012-09-05 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: remove two now-useless convenience targets
+ * src/local.mk (built_programs.list, all_programs.list): These.
+
+ tests: put test-suite.log back in 'tests/'
+ * tests/local.mk (TEST_SUITE_LOGS): Define to 'tests/test-suite.log'.
+
+ build: don't use recursive make for tests/ subdirectory
+ * Makefile.am (SUBDIRS): Remove 'tests'.
+ (include): The '$(top_srcdir)/tests/local.mk' file.
+ (check-root): Remove this convenience target, it's no longer needed
+ now that the "real" check-root target once in 'tests/Makefile' will
+ land in the top-level makefile.
+ * configure.ac (AC_CONFIG_FILES): Remove 'tests/Makefile'.
+ * tests/Makefile.am: Rename ...
+ * tests/local.mk: ... like this, with a lot of adjustments.
+ * tests/init.cfg: Move ...
+ * init.cfg: ... here. This is necessary, for a limitation of the
+ gnulib-provided 'tests/init.sh', which unconditionally look for
+ 'init.cfg' in the $(srcdir) directory.
+ * tests/*/*.sh: Adjust: expect init.sh to be in '$srcdir/tests',
+ not in '$srcdir', and extend $PATH with './src', not with '../src'.
+ * tests/Coreutils.pm: Adjust similarly.
+ * tests/pr/pr-tests.pl ($pfx): Likewise.
+
+2012-09-05 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ maint: list of names of built programs available in the Makefiles
+ This is just a preparatory refactoring in view of future changes.
+
+ * configure.ac (AC_SUBST): New 'built_programs'.
+ * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Simply define the exported
+ variable 'built_programs' to the expansion of the '$(built_programs)'
+ AC_SUBST'd make variable.
+ (.built-programs): Remove this now-unneeded convenience target.
+ (CLEANFILES, check_DATA): Delete, no longer needed.
+
+2012-09-05 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ maint: remove anachronistic syntax-check
+ * cfg.mk (sc_no_exec_perl_coreutils): This. Our new testsuite
+ layout (perl tests having '.pl' suffix, shell tests having '.sh'
+ suffix) makes it basically impossible to run into the issue this
+ check guarded against.
+
+ maint: remove duplicated declaration of the 'sc_check-AUTHORS' target
+ * cfg.mk: Here.
+
+2012-09-05 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ tests: remove the unused 'root-hint' target
+ * tests/Makefile.am (root-hint): Here. The interested user can see
+ the reasons why some tests are skipped by looking at the messages
+ they display on the console; here's an excerpt:
+
+ ...
+ PASS: misc/id-groups.sh
+ id-setgid.sh: skipped test: must be run as root
+ SKIP: misc/id-setgid.sh
+ PASS: misc/md5sum.pl
+ ...
+ PASS: df/total-verify.sh
+ 2g.sh: skipped test: very expensive: disabled by default
+ SKIP: du/2g.sh
+ ...
+
+ Clear enough, and more specific and precise that a generic "some tests
+ might need to be run as root" message. And if that user is interested
+ in making those tests run anyway, he'll just take a look to the README
+ files to look for info. So there's no reason to pollute the stdout
+ with another "hint" that is subsumed by those messages, and that might
+ go unnoticed anyway.
+
+ Moreover, and possibly more importantly, that hint wasn't being
+ displayed anyway, even before this change! That's because the
+ 'root-hint' target was listed as prerequisite for the 'check-recursive'
+ target, which however was not a dependency of the 'check' target in
+ 'tests/Makefile.am', because that file contains no $(SUBDIRS)
+ definition.
+
+2012-09-05 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ tests: use suffix, not exec-bit, to tell which files are tests
+ * tests/Makefile.am (vc_exe_in_TESTS): Adjust to look, in the 'tests/'
+ subdirectory, for files that have one of the extensions listed in
+ $(TEST_EXTENSIONS), rather than for executable files.
+
+ maint: make vc_exe_in_TESTS also work in VPATH builds
+ * tests/Makefile.am (vc_exe_in_TESTS): It is easy to adjust this
+ recipe to also work in VPATH setups, also thanks to modifications
+ done by previous changes.
+
+ maint: remove useless dependency for vc_exe_in_TESTS
+ * tests/Makefile.am (vc_exe_in_TESTS): No need to depend on Makefile:
+ this target is .PHONY, so it is always run anyway.
+
+ maint: avoid parsing of Makefile.am from vc_exe_in_TESTS
+ * tests/Makefile.am (TESTS): Rename ...
+ (all_tests): ... like this, so that we'll still be able to know the
+ complete list of our tests even if the user overrides TESTS from the
+ command line (which he's allowed to do by the test harness API).
+ (root_tests): Rename ...
+ (all_root_tests): ... like this, for similar reasons.
+ (TESTS, root_tests): Redefine their defaults to to $(all_tests) and
+ $(all_root_tests) respectively.
+ (vc_exe_in_TESTS): It can now safely use $(all_tests) to get the
+ complete list of test cases according to the Makefile, instead of
+ having to resort to "parsing" of Makefile.am.
+ (EXTRA_DIST): Use $(all_tests), not $(TESTS).
+ (v_, w_): Delete, no longer needed.
+
+ build: use 'check-local' to extend the 'check' target
+ * tests/Makefile.am (check-local): Here, by making this depend
+ on 'vc_exe_in_TESTS' ...
+ (check): ... rather than making this depend on them. While the old
+ usage worked, it relied on an implementation detail rather than on
+ documented behavior.
+ * src/local.mk (check-local): Similarly, make this depend on
+ 'check-README' and 'check-duplicate-no-install' ...
+ (check): ... rather than on this.
+
+2012-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ scripts: autotools-install: allow user-specified make program
+ * scripts/autotools-install: Honor $MAKE. This might be useful
+ on systems where the make implementation available in $PATH
+ by default is limited (Solaris) or broken (HP-UX).
+
+ scripts: autotools-install: style and portability fixes
+ * scripts/autotools-install: Here.
+
+2012-09-02 Benno Schulenberg <bensberg@justemail.net>
+
+ touch: line up long option in --help text
+ * src/touch.c (usage): Indent --time=... to line up with all of the
+ other long options.
+
+2012-09-02 Jim Meyering <meyering@redhat.com>
+
+ maint: disable sc_proper_name_utf8_requires_ICONV test
+ It would still pass, but would print many diagnostics like this:
+ Can't open src/Makefile.am: No such file or directory.
+ * cfg.mk (local-checks-to-skip): Temporarily disable a test.
+ This test will need to be adapted to work with a non-recursive
+ build set-up, in which there is no Makefile.am alongside each program.
+ Reported by Bernhard Voelker.
+
+ maint: accommodate upcoming, expanded list of warnings from gnulib
+ * configure.ac: Disable a new gcc warning, -Wsuggest-attribute=format,
+ since it triggers on copy.c (which I'm not inclined to adjust) and
+ factor.c's use of vfprintf which would appear to require a change
+ to stdio.h.
+
+2012-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ maint: fix build_programs definition not to use "make -C src ..."
+ * dist-check.mk (built_programs): There's no need to issue recursive
+ make calls in 'src/' to define this (in fact, that works no longer
+ now that 'src/Makefile.am' is gone). Simply define this to the sorted
+ contents of $(bin_PROGRAMS), with the 'src/' prefix and the $(EXEEXT)
+ suffix (if any) removed. Reported by Jim Meyering.
+
+2012-09-01 Jim Meyering <meyering@redhat.com>
+
+ build: restore handling of space-tainted build directory name
+ * man/local.mk: With commit v8.19-84-g08cf455, man page creation
+ would fail when using a build directory name containing e.g.,
+ spaces.
+
+ build: make each man/prog.1 depend on src/prog, not src/prog.c
+ * man/local.mk: Creating a prog.1 man page requires running
+ src/prog --help.
+ List the exceptions, e.g., install.1 depends on src/ginstall
+ and arch.1 depends on src/uname.
+
+ maint: check-programs-vs-x: avoid a new syntax-check failure
+ * cfg.mk (check-programs-vs-x): The new variable,
+ $(all-progs-but-lbracket) contains libstdbuf.so, and it does
+ not have a corresponding .x file, so exempt it.
+
+ maint: avoid distcheck failure by properly cleaning $(ALL_MANS)
+ * man/local.mk (distclean-local): Remove $(ALL_MANS) when doing
+ a VPATH build. If it's not done, generated manpages can be left
+ around in the build directory after a "make distclean", causing
+ failures in "make distcheck".
+
+2012-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ maint: port manpages generation to VPATH builds
+ * man/local.mk (.x.1): Use '$(MKDIR_P)' rather than bare 'mkdir'
+ where appropriate. Reported by Jim Meyering.
+
+2012-09-01 Jim Meyering <meyering@redhat.com>
+
+ build: fix VPATH issues in C compilation
+ * src/local.mk (AM_CPPFLAGS): Add 'src' to the directories that
+ are searched for #include'd files.
+
+2012-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ maint: simplify declaration of "libexec" programs
+ * configure.ac: No need to use 'gl_ADD_PROG' and an indirection
+ variable '$optional_pkglib_progs' to declare the 'libstdbuf.so'
+ "libexec" program; the decision to whether compile that program
+ is not up to the user, but it only and simply depends on whether
+ the 'stdbuf' "bin" program is to be built or not.
+
+ build: $(mandeps): new, to factor out man pages dependencies
+ * man/local.mk (mandpep): Rename ...
+ (mandeps): ... like this. Make $(ALL_MANS) depend on its
+ content. List 'src/system.h' in here, instead of making
+ $(ALL_MANS) depend on it explicitly.
+ (man/*.1): No need to list $(mandep) among the dependencies
+ any longer.
+
+ build: enhance man pages cleaning and dependencies
+ * man/local.mk: All of the manpages should depend on 'src/system.h',
+ and all of them should be cleaned by "make maintainer-clean", that
+ is, added to MAINTAINERCLEANFILES. Make it be so.
+ Some minor cosmetic tweakings and reorderings while at it.
+
+ build: simplify: get rid of yet some more indirection variables
+ * configure.ac: Adjust and improve few comments.
+ (MAN): Rename ...
+ (man1_MANS): ... to this.
+ Ensure it isn't initialized in all Makefiles (which would lead
+ to spurious errors), by calling AM_SUBST_NOTMAKE on it.
+ Also call AM_SUBST_NOTMAKE on 'EXTRA_MANS', for consistency.
+ * man/local.mk (man1_MANS): Simply define to '@man1_MANS@'.
+
+2012-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: rename dist_man1_MANS -> man1_MANS
+ And list $(man1_MANS) directly in $(EXTRA_DIST) instead.
+ This is similar to what is done for $(EXTRA_MANS), thus
+ improving consistency and readability.
+
+ * man/local.mk (dist_man1_MANS): Rename ...
+ (man1_MANS): ... like this.
+ (EXTRA_DIST): Add its contents.
+ * cfg.mk (check-x-vs-1): Fix a botched comment.
+
+2012-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: one less unneeded make variable
+ * man/local.mk (man_aux): This was used only once, so inline its
+ expansion at its sole point of use ...
+ (EXTRA_DIST): ... here.
+
+2012-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: simplify and make more portable to non-GNU make
+ The AC_SUBST'd variable '$(NO_INSTALL_PROGS_DEFAULT)' is only used in
+ makefile expressions expanding the list of manual pages that are not
+ built by default (but might need to be when a distribution tarball
+ is created). Such expressions exploited a feature of make variable
+ expansion -- namely, $(VAR:%=dir/%.x) -- that, while seemingly quite
+ portable in practice, is not POSIX-conforming, and could break on
+ lesser vendor make implementations. So kill two birds with one stone,
+ by getting rid of the $(NO_INSTALL_PROGS_DEFAULT) intermediate variable
+ and improving makefile portability in the process.
+
+ While at it, we also clean up some other minor naming inconsistency
+ and useless indirection.
+
+ * configure.ac (NO_INSTALL_PROGS_DEFAULT): Don't define or AC_SUBST
+ anymore; instead ...
+ (EXTRA_MANS): ... define and AC_SUBST these.
+ * man/local.mk (extra_man_1): Rename ...
+ (EXTRA_MANS): ... like this, explicitly making clear it's AC_SUBST'd.
+ (extra_man_x): It's used only once, no need to define it; just inline
+ its only expansion where needed.
+ (EXTRA_DIST): Adjust.
+ (ALL_MANS): New, union of $(EXTRA_MANS) and $(dist_man1_MANS).
+ * cfg.mk (check-x-vs-1, sc_option_desc_uppercase): Rely on $(ALL_MANS)
+ rather than on $(NO_INSTALL_PROGS_DEFAULT) and $(dist_man1_MANS).
+
+2012-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: simplify: get rid of some indirection variables
+ The code deciding which coreutils programs to build (depending on
+ defaults, system capabilities, and user requests) is overly complex
+ and rather confusing. Let's begin simplifying it by removing some
+ non-strictly-necessary indirection variables.
+
+ * configure.ac: Adjust and improve few comments.
+ (OPTIONAL_BIN_PROGS, OPTIONAL_PKGLIB_PROGS): Rename ...
+ (bin_PROGRAMS, pkglibexec_PROGRAMS): ... like these, respectively.
+ Ensure they aren't initialized in all Makefiles (which would lead
+ to spurious errors), by calling AM_SUBST_NOTMAKE on them.
+ * src/local.mk: Adjust and improve few comments.
+ (bin_PROGRAMS, pkglibexec_PROGRAMS): Simply define
+ to the corresponding '@substitution@'.
+
+2012-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ maint: update gitignore entries
+ * src/.gitignore: Here, adding the '.dirstamp' file generated
+ by the C compilation rules.
+
+ maint: fix one stray reference to src/Makefile.am
+ * build-aux/gen-lists-of-programs.sh: In heading comments here.
+
+2012-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ maint: fix and simplify maintainer checks
+ Some of them can be simplified after the previous changes, some
+ of them have been downright broken by them, and need fixing.
+
+ * src/local.mk: Adjust some comments.
+ (EXTRA_DIST): Avoid SPACE-TAB sequences.
+ (src/dircolors.h, src/fs.h src/fs-is-local.h): Avoid 8-SPACES
+ indentation.
+ (_sc_check-AUTHORS): Move ...
+ * cfg.mk (sc_check-AUTHORS): ... here (superseding the old rule
+ with the same name, that was just a recursive invocation to it).
+ Adjust the paths of the invoked coreutils programs, to account
+ for the fact that this rule now runs in the top-level build dir,
+ not in the 'src/' subdir. Other minor cosmetic adjustments.
+ (ALL_RECURSIVE_TARGETS): Remove 'sc_option_desc_uppercase' and
+ 'sc_man_file_correlation', since they no longer entail any
+ recursive make invocation.
+ (sc_option_desc_uppercase): Remove dependency from $(all_programs):
+ it isn't actually needed.
+ (check-programs-vs-x): Likewise. Also, fix heading comments to
+ truly reflect what this check does.
+ (all-progs-but-lbracket): Strip the 'src/' prefix from each entry
+ in the list of programs; this avoids a spurious failure in the
+ 'check-programs-vs-x' recipe.
+ (.PHONY): No need to list targets 'sc_man_file_correlation' and
+ 'sc_option_desc_uppercase': they are automatically declared phony
+ by 'maint.mk', being recognized as syntax checks.
+
+2012-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ maint: remove unused target 'install-root'
+ It was unneeded and broken since the removal of 'su' from GNU
+ coreutils, in commit v8.17-16-g928dd73 of 2012-06-06, "su: remove
+ program (util-linux is now the best source for it)".
+
+ * Makefile.am (install-root): Remove.
+ (ALL_RECURSIVE_TARGETS): Update.
+
+2012-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ maint: improve remake rules for maintainers
+ This is a follow up on today's commit v8.19-60-g4f2e62b".
+
+ * Makefile.am ($(top_srcdir)/m4/cu-progs.m4,
+ $(srcdir)/src/cu-progs.mk): New, generate these files from the
+ 'build-aux/gen-lists-of-programs.sh', the same way it's done
+ from the bootstrap script.
+ * bootstrap.conf (bootstrap_post_import_hook): Add comment about
+ the necessity to keep those new rules synced with the commands
+ here. Enhance those commands so to that the generated files are
+ set read-only.
+
+2012-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: fix generation of manpages for programs not built by default
+ * src/local.mk (dist-hook): Don't use this to ensure all the
+ programs, even the ones disabled by default or by the user, are
+ built (doing so is required to ensure the distributed manpages
+ are properly built). This would build those programs too late
+ anyway, causing errors like:
+
+ $ make dist
+ make dist-xz am__post_remove_distdir='@:'
+ make[1]: Entering directory `~/src/coreutils'
+ GEN man/arch.1
+ help2man: can't get '--help' info from man/arch.td/arch
+ make[1]: *** [man/arch.1] Error 127
+ make[1]: Leaving directory `~/src/coreutils'
+ make: *** [dist] Error 2
+
+ Instead, ...
+ * man/local.mk (extra_man_x, extra_man_1): define these ...
+ ($(extra_man_1)): ... and make this depend on $(all_programs).
+ (EXTRA_DIST): Adjust.
+ Adjust some comments as well.
+
+2012-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: don't use recursive make to build the 'src' subdirectory
+ * Makefile.am (SUBDIRS): Remove 'src'. Ensure '.' is listed before
+ 'tests' and 'gnulib-tests'.
+ (dist-hook): Adjust: we must now tweak the top-level Makefile.in
+ in $(distdir), not the one in the 'src/' subdir (which is gone).
+ (include): The '$(top_srcdir)/src/local.mk' file.
+ * build-aux/gen-lists-of-programs.sh: Adjust the generation of the
+ automake input fragment.
+ * tests/Makefile.am (.built-programs): Adjust.
+ * cfg.mk (all_programs): Remove this convenience rule; it's no
+ longer needed, now that we can rely directly on the contents of
+ $(all_programs).
+ (sc_option_desc_uppercase, check-programs-vs-x:): Adjust lists
+ of prerequisites accordingly.
+ (all-progs-but-lbracket): Simplify definition accordingly.
+ * configure.ac ($OPTIONAL_BIN_PROGS): Adjust definition.
+ ($OPTIONAL_PKGLIB_PROGS): Likewise.
+ ($NO_INSTALL_PROGS_DEFAULT): Tweak definition, for consistency.
+ (AC_CONFIG_FILES): Remove 'src/Makefile'.
+ * src/Makefile.am: Rename ...
+ * src/local.mk: ... like this, with a lot of adjustments. In
+ addition ...
+ (all_programs): ... remove this now-unneeded convenience target.
+
+2012-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: refactor how lists of coreutils programs are defined
+ This is in preparation of future changes. Still, this patch
+ leaves the build system in a better shape; true, with more
+ indirections, but also with less convoluted and brittle hacks.
+
+ Unfortunately, this commit also makes some rebuild rules
+ incomplete; that will son be fixed by follow-up patches.
+
+ * build-aux/gen-lists-of-programs.sh: New, generates autoconf
+ and automake input fragments that define "lists" of all coreutils
+ programs, with further distinctions about how and when these
+ programs should be built (by default; if the system is capable
+ enough; only if the user asks for them explicitly). This is
+ useful to avoid duplicating the definitions of these lists among
+ several files (at least 'configure.ac' 'src/Makefile.am'); such
+ duplication had proved a source of inconsistencies and bugs in
+ the past. And the pre-existing way to avoid such duplication,
+ as implemented in 'configure.ac' before this patch, was overly
+ complex and brittle.
+ * Makefile.am (EXTRA_DIST): Distribute the new script.
+ * bootstrap.conf (bootstrap_post_import_hook): Run the new script
+ to generate 'm4/cu-progs.m4' and 'src/cu-progs.mk'.
+ * .gitignore: Ignore those files.
+ * configure.ac: Include 'm4/cu-progs.m4', and decidedly simplify
+ most of the program lists definition and processing accordingly.
+ * src/Makefile.am: Similarly include 'src/cu-progs.mk', containing
+ definition of variables $(default__progs), $(no_install__progs)
+ and $(build_if_possible__progs). Accordingly ...
+ (no_install__progs, build_if_possible__progs): ... remove.
+ (EXTRA_DIST): Adjust definition.
+ Adjust a comment.
+
+2012-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ maint: add our 'bootstrap_post_import_hook' function
+ This is in preparation of future changes.
+
+ * bootstrap.conf (bootstrap_post_import_hook): New, will be executed
+ by bootstrap after gnulib-tool but before the autotools.
+ Move creation of dummy ChangeLog into it.
+
+2012-08-31 Eric Blake <eblake@redhat.com>
+
+ build: work with new glibc when not optimizing
+ Starting with glibc 2.15, the system headers refuse to compile
+ unconditional use of FORTIFY_SOURCE if optimization is disabled
+ but -Werror is in effect.
+
+ * configure.ac (FORTIFY_SOURCE): Make conditional.
+
+2012-08-31 Jim Meyering <meyering@redhat.com>
+
+ scripts: fix the Signed-off-by:-prohibiting hook to actually work
+ * scripts/git-hooks/commit-msg: Fix new test: we're searching a
+ multi-line buffer, so add the //m modifier.
+
+2012-08-31 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ maint: make required gettext version consistent
+ * bootstrap.conf ($buildreq): Require gettext >= 0.18.1, consistently
+ with the call to AM_GNU_GETTEXT_VERSION in configure.ac.
+
+2012-08-31 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ maint: get rid of obsolete script 'cvsu'
+ It was useful only back when coreutils used CVS as its version
+ control system.
+
+ * build-aux/cvsu: Delete.
+ * Makefile.am (EXTRA_DIST): Remove it.
+ * cfg.mk: Remove the two exemptions for this removed file.
+
+2012-08-31 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: don't use '$<' in non-suffix rules
+ * src/Makefile.am (fs-def): Here: it's not portable to some non-GNU
+ make implementations.
+
+ maint: more uses of $(ASSORT)
+ * src/Makefile.am (fs-kernel-magic, fs-magic): Here, instead of
+ inlining its expansion "LC_ALL=C sort".
+
+ maint: remove unused variable in src/Makefile.am
+ * src/Makefile.am (editpl): This.
+
+2012-08-31 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: don't use foo_LDADD if there's no foo program
+ For example, instead of factoring out the extra linker flags needed
+ by 'cp', 'mv' ind 'install' into a '$(copy_LDADD)' variable, factor
+ them out in a '$(copy_ldadd)' variable.
+
+ Partly a minor cleanup, partly a preparation for future changes.
+
+ * src/Makefile.am (copy_LDADD): Rename ...
+ (copy_ldadd): ... like this.
+ (remove_LDADD): Rename ...
+ (remove_ldadd): ... like this.
+ All uses adjusted. Some comments updated.
+
+2012-08-31 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: some refactorings in cfg.mk
+ Partly a minor cleanup, partly a preparation for future changes.
+
+ * Makefile.am (all_programs): Rename ...
+ (all-progs-but-lbracket): ... like this, and re-define it to expand
+ at make time rather than only at recipe time (i.e., using $(shell ...)
+ instead of `...`).
+ (check-programs-vs-x): Adjust.
+
+2012-08-31 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: move definition of 'all_programs' in cfg.mk
+ * Makefile.am: Move definition of target 'all_programs' from here ...
+ * cfg.mk: ... to here, which is the only file where it is used.
+
+2012-08-31 Jim Meyering <meyering@redhat.com>
+
+ build: reenable just-moved/broken syntax-check rule
+ * cfg.mk (sc_option_desc_uppercase): Now that this rule lives in cfg.mk,
+ we must search man/*.1, not "*.1".
+ Reported by Bernhard Voelker.
+
+2012-08-31 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ maint: fixup: don't try to distribute a now-removed file
+ * tests/Makefile.am (EXTRA_DIST): Drop 'check.mk', which has been
+ removed (being merged into 'tests/Makefile.am') by recent changes.
+
+2012-08-31 Erik Auerswald <auerswal@unix-ag.uni-kl.de>
+
+ doc: escape double quotes in autotools-install --help
+ * scripts/autotools-install: Fix --help so that we actually print
+ the double quotes around "make check", in two places.
+
+2012-08-31 Jim Meyering <meyering@redhat.com>
+
+ scripts: add autotools-install, for those stuck with outdated tools
+ * scripts/autotools-install: New script, so you can always build
+ from git-cloned sources, even when they require bleeding edge
+ m4, autoconf, automake, etc.
+
+2012-08-31 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ build: fix syntax-check rules broken by test-added .sh/pl suffixes
+ * cfg.mk: We exempt a few test files that would otherwise trigger
+ false-positive matches in syntax-check rules. The recent change
+ that added a .sh or .pl suffix to each test script made it so
+ some of the exclusion regexps would no longer match.
+ Include the required \.sh suffix in each such regexp, too.
+
+2012-08-30 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ tests: get rid of the 'shell-or-perl' auxiliary script
+ It's now easier and faster to simply run the perl ans shell test
+ scripts directly with the appropriate interpreter and options.
+
+ * tests/shell-or-perl: Delete.
+ * tests/Makefile.am (EXTRA_DIST): Remove it.
+ (SH_LOG_COMPILER): Re-define to invoke the correct shell.
+ (PL_LOG_COMPILER): Re-define to invoke the correct perl
+ interpreter ...
+ (TESTSUITE_PERL_OPTIONS): ... with the correct options.
+ (XPL_LOG_COMPILER): Use those options instead of inlining
+ their expansion.
+ (LOG_COMPILER): Delete, no longer needed.
+
+2012-08-30 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ tests: add .sh and .pl suffixes to shell and perl tests, respectively
+ Not only this shrinks the size of the generated Makefile (from > 6300
+ lines to ~3000), but will allow further simplifications in future
+ changes.
+
+ * tests/Makefile.am (TEST_EXTENSIONS): Add '.sh' and '.pl'.
+ (PL_LOG_COMPILER, SH_LOG_COMPILER): New, still defined simply to
+ $(LOG_COMPILER) for the time being.
+ (TESTS, root_tests): Adjust as described.
+ * All tests: Rename as described.
+
+2012-08-30 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ tests: detect missing perl at configure runtime
+ * configure.ac (AM_CONDITIONAL): Set the conditional 'HAVE_PERL' to
+ true if the configure-time checks (as run by gl_PERL) have been able
+ to find a working perl.
+ * tests/no-perl: New script, report a diagnostic about "missing perl"
+ and exit with status 77.
+ * tests/Makefile.am (EXTRA_DIST): Distribute it.
+ (TESTSUITE_PERL): New, define to '$(PERL)' if a perl interpreter has
+ been found at configure time (i.e., if the 'HAVE_PERL' automake
+ conditional is true), and to '$(srcdir)/no-perl' otherwise.
+ (LOG_COMPILER): Use $(TESTSUITE_PERL) instead of $(PERL).
+ (XPL_LOG_COMPILER): Likewise.
+ * tests/shell-or-perl: Simplify: no need to actually check whether
+ perl is working.
+
+ tests: avoid use of '-T' in shebang line to enable perl taint mode
+ * tests/rm/fail-eperm: Rename ...
+ * tests/rm/fail-eperm.xpl: ... like this
+ * tests/Makefile.am (TESTS): Adjust.
+ (TEST_EXTENSIONS): New, list '.xpl'.
+ (XPL_TEST_LOGS): New, run a perl test in tainted mode.
+ * tests/shell-or-perl: Simplify this script: we no longer need to
+ parse the shebang line and adjust the flags in the perl invocation
+ accordingly.
+
+ build: require Automake >= 1.11.2
+ Now that we use AM_TESTS_ENVIRONMENT, we must require
+ Automake >= 1.11.2.
+ * configure.ac (AM_INIT_AUTOMAKE): Bump version requirement to 1.11.2.
+ * bootstrap.conf ($buildreq): Likewise.
+
+2012-08-30 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ tests: prefer AM_TESTS_ENVIRONMENT over TESTS_ENVIRONMENT
+ The latter should be reserved for user overrides.
+
+ * tests/Makefile.am (TESTS_ENVIRONMENT): Rename ...
+ (AM_TESTS_ENVIRONMENT): ... like this.
+
+2012-08-30 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ tests: merge tests/check.mk into tests/Makefile.am
+ The separation has become unnecessary after all the ancient
+ 'tests/*/Makefile.am' makefiles have been merged into the
+ "more-top-level" one 'tests/Makefile.am'.
+
+ * tests/check.mk: Merge ...
+ * tests/Makefile.am: ... in here. Some comments tweaking while
+ at it.
+
+2012-08-30 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: enable the 'subdir-objects' Automake option globally
+ This is not strictly required now (it will be once we make more
+ parts of the coreutils build system non-recursive), but enabling
+ it early helps to ensure that we don't unwittingly introduce any
+ incompatibility or subtle breakage later.
+
+ * configure.ac (AM_INIT_AUTOMAKE): Add 'subdir-objects'.
+
+2012-08-30 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ maint: update gitignore entries
+ * doc/.gitinore: Here, adding the '.dirstamp' file generated by
+ the Texinfo rules.
+
+2012-08-30 Jim Meyering <meyering@redhat.com>
+
+ build: factor out a little more re list of *.texi files
+ We may well want to switch from checking all *.texi to
+ checking only version-controlled .texi files, so encapsulate
+ this concept in one place.
+
+ * doc/local.mk (doc_srcdir): Delete. Use this instead:
+ (texi_files): Define. All usages adjusted.
+
+2012-08-30 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ maint: adjust syntax check 'sc_option_desc_uppercase'
+ * cfg.mk (sc_option_desc_uppercase): Here, by grafting the 'man/'
+ prefix to the manpages obtained from $(NO_INSTALL_PROGS_DEFAULT)
+ and listed as prerequisites for this rule.
+
+ maint: adjust syntax check 'check-x-vs-1'
+ * cfg.mk (check-x-vs-1): Here, by stripping 'man/' prefix from
+ $(dist_man1_MANS) entries before comparing them with the list of
+ expected programs.
+
+2012-08-30 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ maint: move man-related syntax checks in cfg.mk
+ This is more natural, now that the top-level Makefile has access to
+ all the variables and rules once defined only in 'man/Makefile.am'
+
+ * man/local.mk (all_programs, sc_option_desc_uppercase,
+ sc_man_file_correlation check-x-vs-1, check-programs-vs-x): Move
+ from here ...
+ * cfg.mk: ... to here. Adjust some comments in the process.
+
+2012-08-30 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: don't use recursive make to build the 'man' subdirectory
+ * Makefile.am: Include 'man/local.mk'.
+ (SUBDIRS): Remove 'man'.
+ * configure.ac ($MAN): Adjust so that each of its entries has a leading
+ 'man/' component.
+ (AC_CONFIG_FILES): Remove 'man/Makefile'.
+ * man/Makefile.am: Rename ...
+ * man/local.mk: ... like this. With further adjustments: each 'foo.1'
+ target renamed like 'man/foo.1', each '../src/foo.c' dependency as
+ 'src/foo.c', and each '$(srcdir)' usage as '$(srcdir)/man'. Also ...
+ (mandep): Adjust, removing the leading '../' component.
+ Several whitespace adjustments while at it.
+ (ASSORT): Remove, it's already defined in the top-level Makefile.am.
+ * cfg.mk (sc_option_desc_uppercase, sc_man_file_correlation): Remove
+ the associated recipes, they are now directly available from the
+ included 'man/local.mk'. Actually, the other changes in this commit
+ have made these recipes instable and not completely correct, but that
+ will be fixed in later changes.
+
+2012-08-30 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: rework some recipes in man/Makefile.am, for future changes
+ This change is merely required to make future changes easier.
+
+ In particular, since we are going to merge the contents of
+ 'man/Makefile.am' into the top-level Makefile, we need to avoid
+ conflicts with the rules and variables in 'dist-check.mk', and
+ to prepare for changes in the value of the '$*' variable as used
+ in the recipe of the '.x -> .1' suffix rule.
+
+ * man/Makefile.am (t, mapped_name): Delete, inlining their use ...
+ (.1.x): ... in the recipe of this suffix rule. Other adjustments
+ to prepare to changes in the value of the '$*' automatic variable.
+ While at it, made more resilient about unlikely but possible failure.
+ Adjust and reorder few comments.
+
+2012-08-30 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: provide convenience target 'all_programs' also at top-level
+ This will be mostly useful in future changes.
+
+ * Makefile.am (all_programs): New, simply work by delegating to
+ the same-named target in the 'src/' subdirectory.
+ * cfg.mk (sc_option_desc_uppercase): Take advantage of it.
+ (sc_man_file_correlation): Likewise.
+
+2012-08-30 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: make a rule less dependent on exact source tree layout
+ This is mostly a preparatory change in view of future ones.
+
+ * man/Makefile.am (.x.1): Use '$(abs_top_builddir)/src' to access
+ the 'src' directory.
+
+2012-08-30 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: rely on VPATH capabilities in man/Makefile
+ * man/Makefile.am: In all the 'foo.1' targets, no need to depend
+ explicitly on '$(srcdir)/foo.x': the '.x.1' suffix rule takes care
+ of that automatically.
+
+ maint: typofix: s/it's/its/
+ * man/Makefile.am: Here.
+
+2012-08-30 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: rename common_dep -> mandep in man/Makefile
+ This is mostly a preparatory refactoring in view of future changes.
+
+ * man/Makefile.am (common_dep): Rename ...
+ (mandep): ... like this.
+ All usages adjusted.
+
+2012-08-30 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: fix a stray usage of uninitialized $(ME)
+ * man/Makefile.am (sc_option_desc_uppercase): Here.
+
+ build: add an explanatory comment
+ * man/Makefile.am (EXTRA_DIST): Describe portability issues of the
+ idiom we now use. Reformat the definition a little while at it.
+
+ maint: simplify definition of $MAN in configure.ac
+ * configure.ac: Here, by making less use of 'sed' and 'tr' munging,
+ and relying on a smarter and simpler shell loop instead.
+
+ build: don't define $(SUFFIXES) explicitly
+ * man/Makefile.am (SUFFIXES): Remove definition: Automake is smart
+ enough to extract the list of suffixes from the '.x.1' suffix rule
+ automatically.
+
+ build: don't use recursive make to build the 'doc' subdirectory
+ * doc/Makefile.am: Rename ...
+ * doc/local.mk: ... like this. With further adjustments ...
+ (info_TEXINFOS): Prepend 'doc/' to all '*.texi' files listed in
+ here.
+ (coreutils_TEXINFOS): Likewise, and rename ...
+ (doc_coreutils_TEXINFOS): ... like this.
+ (constants.texi): Rename ...
+ (doc/constants.texi): ... like this. Adjust the recipe to avoid
+ spurious errors.
+ (MAINTAINERCLEANFILES): Adjust, and extend with '+=' rather than
+ setting it with '='.
+ (ME): Delete.
+ (find_upper_case_var): Use '$@', not '$(ME)', in error messages.
+ * Makefile.am: Include 'doc/local.mk'.
+ (SUBDIRS): Remove 'doc'.
+ * configure.ac (AC_CONFIG_FILES): Remove 'doc/Makefile'.
+
+ build: use 'check-local' to extend the 'check' target
+ * doc/Makefile.am (check-local): Here, by making this depend
+ on 'check-texinfo' ...
+ (check): ... rather than this. While the old usage worked, it
+ did so for an implementation detail rather than a documented
+ behaviour, so relying on that was riskier a "unclean".
+
+2012-08-30 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: prefer '$(top_srcdir)/doc' over '$(srcdir)' in doc Makefile
+ This is just a preparatory refactoring that will become useful in
+ a future change (in which the doc/Makefile.am makefile will be merged
+ with the top-level one).
+
+ * doc/Makefile.am (doc_srcdir): New, define to '$(top_srcdir)/doc'.
+ Use it throughout instead of "bare" '$(srcdir)'.
+
+2012-08-30 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ build: add extra *.texi files to coreutils_TEXINFOS, not EXTRA_DIST
+ * doc/Makefile.am (coreutils_TEXINFO): List them here, instead of ...
+ (EXTRA_DIST): ... listing them here. This ensures the rebuild rules
+ will be more faithful.
+ ($(DVIS), $(INFO_DEPS)): No need to depend on $(EXTRA_DIST) now.
+
+ maint: slightly improve .gitignore
+ * .gitignore: Ignore '.deps' only when it's a directory.
+ Ignore '*.trs' only if they are in a subdirectory of the
+ 'tests/' directory.
+
+ build: don't abuse Automake internals (with its 'check-am' rule)
+ * tests/check.mk (check-am): Remove; obtain the same effect by moving
+ its dependency '.built-programs' ...
+ (check_DATA): ... to this variable.
+
+2012-08-30 Jim Meyering <meyering@redhat.com>
+
+ scripts: git commit message hook: prohibit use of "Signed-off-by:"
+ * scripts/git-hooks/commit-msg: Reject a commit log message that
+ contains "Signed-off-by:".
+
+2012-08-30 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ tests: remove useless defn of REPLACE_GETCWD from TESTS_ENVIRONMENT
+ It's last use had been removed in commit v8.12-3-g3ed91fc of 2011-04-28,
+ "tests: remove useless test: misc/pwd-unreadable-parent".
+
+ * tests/check.mk (TESTS_ENVIRONMENT): Adjust.
+
+2012-08-30 Nick Alcock <nick.alcock@oracle.com>
+
+ tests: fix misc/sort-exit-early to skip if root
+ * tests/misc/sort-exit-early: skip_if_root_ as this test
+ requires an unwritable input and an unreadable output.
+
+2012-08-29 Jim Meyering <meyering@redhat.com>
+
+ tail,stat: improve support for ZFS
+ This change enables tail -f to use inotify and lets
+ stat -f --format=%T report the file system type name, "zfs".
+ * src/stat.c (human_fstype): Add a case: zfs, 0x2fc12fc1.
+ * NEWS (Improvements): Mention it.
+ * THANKS.in: Update.
+ Reported by Raimonds Miltins in http://bugs.gnu.org/12301.
+
+2012-08-26 Jim Meyering <meyering@redhat.com>
+
+ build: update gnulib submodule to latest
+
+ maint: stop using @acronym{...} in texinfo sources
+ * doc/coreutils.texi: Remove all uses of @acronym{...},
+ per recommendation by Karl Berry.
+ * doc/perm.texi: Likewise.
+ * cfg.mk (local-checks-to-skip): Remove exemption, enabling
+ the @acronym{-prohibiting syntax-check rule.
+
+ tests: don't require @acronym{...} around POSIX
+ * doc/Makefile.am (check-texinfo): Remove POSIX-checking part.
+
+2012-08-26 Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
+
+ df: allow translators to reorder "1K-blocks" header
+ * src/df.c (get_header): Mark two "%s-%s" strings for translation
+ and give translators a hint what each is for.
+
+2012-08-24 Ondrej Oprala <ooprala@redhat.com>
+
+ md5sum, sha*sum: add --tag to output a format indicating the algorithm
+ The format used is the BSD traditional format which looks like:
+ MD5 (/dev/null) = d41d8cd98f00b204e9800998ecf8427e
+
+ * NEWS: Add new feature info.
+ * doc/coreutils.texi (md5sum invocation): Add detailed information
+ about the new --tag option.
+ * src/md5sum.c: Add the new --tag option for BSD-style output.
+ (bsd_split_3): Add ESCAPED_FILENAME parameter.
+ (print_filename): New function refactored from main().
+ (filename_unescape): New function refactored from split_3().
+ * tests/misc/md5sum-bsd: Add tests for the new feature.
+
+2012-08-23 Rob Day <robertkday@gmail.com>
+
+ rm: fix the new --dir (-d) option to work with -i
+ * src/remove.c (prompt): Hoist the computation of is_empty, since we'll
+ need it slightly earlier.
+ Before, this function would arrange to fail with EISDIR when processing
+ a directory without --recursive (-r). Adjust the condition to exempt
+ an empty directory when --dir has been specified.
+ Improve comments.
+ * tests/rm/d-3: New file, to ensure that rm -d -i dir works.
+ * tests/Makefile.am (TESTS): Add it.
+ * NEWS (Bug fixes): Mention it.
+ * THANKS.in: Update.
+ Reported by Michael Price in http://bugs.gnu.org/12260
+
+2012-08-22 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ tests: correct print_ver_ arguments and add a rule to enforce this
+ We use print_ver_ to run "PROG --version" for each program under
+ test. Some tests have been derived from others, while the
+ argument(s) to print_ver_ have not been adapted.
+ Add a new cfg.mk rule to prohibit this.
+
+ * cfg.mk (sc_prohibit_test_calls_print_ver_with_irrelevant_argument):
+ New rule, to prohibit a test script from calling print_env_ for a
+ program not actually used by that test.
+ * tests/chown/basic: s/\(print_ver_\) chgrp/\1 chown/
+ * tests/cp/acl: s/\(print_ver_\) mv/\1 cp/
+ * tests/cp/capability: s/\(print_ver_\) ls/\1 cp/
+ * tests/cp/cp-parents: s/(print_ver_\) mv/\1 cp/
+ * tests/du/bind-mount-dir-cycle: s/(print_ver_\) rm/\1 du/
+ * tests/misc/wc-parallel: s/(print_ver_\) md5sum/\1 wc/
+
+2012-08-21 Ondrej Oprala <ooprala@redhat.com>
+
+ du: handle bind-mounted directory cycles gracefully
+ Before this change, a directory cycle induced by a bind mount
+ would be treated as a fatal error, i.e., probable disk corruption.
+ However, such cycles are relatively common, and can be detected
+ efficiently, so now du emits a descriptive warning and arranges
+ to exit nonzero.
+
+ * NEWS (Bug fixes): Mention it.
+ * src/du.c: Include "mountlist.h".
+ (di_mnt): New global set.
+ (di_files): Rename global from di_set, now that there are two.
+ (fill_mount_table): New function.
+ (hash_ins): Add DI_SET parameter.
+ (process_file): Look up each dir dev/ino pair in the new set.
+ (main): Allocate, initialize, and free the new set.
+ * tests/du/bind-mount-dir-cycle: Add a test for the fix.
+ * tests/Makefile.am (TESTS): Add it.
+ * THANKS.in: Update.
+ This implements the proposal in http://bugs.gnu.org/11844.
+ Originally reported in http://bugs.debian.org/563254 by Alan Jenkins
+ and more recently as http://bugzilla.redhat.com/836557
+
+ Improved by: Jim Meyering
+
+2012-08-20 Jim Meyering <meyering@redhat.com>
+
+ maint: post-release administrivia
+ * NEWS: Add header line for next release.
+ * .prev-version: Record previous version.
+ * cfg.mk (old_NEWS_hash): Auto-update.
+
+ version 8.19
+ * NEWS: Record release date.
+
+2012-08-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ tests: port df/no-mtab-status to Solaris
+ * tests/df/no-mtab-status: Include <mntent.h> in test program, so
+ that the getmntent hack compilation fails on Solaris, as it
+ should, since it's not compatible with Solaris. Reported by
+ Stefano Lattarini in <http://bugs.gnu.org/12225>.
+
+2012-08-19 Jim Meyering <meyering@redhat.com>
+
+ tests: avoid split/filter test failure on very low-mem system
+ * tests/split/filter: Use xz -1 when compressing, to minimize
+ memory usage. Otherwise, xz could fail due to insufficient
+ virtual memory on a system with very little free memory.
+
+2012-08-18 Jim Meyering <meyering@redhat.com>
+
+ tests: trigger the sort -u free-memory-read bug
+ * tests/misc/sort-u-FMR: New file.
+ * tests/Makefile.am (TESTS): Add it.
+ * tests/misc/sort: Add the test here, too.
+ * NEWS (Bug fixes): Mention it.
+
+ tests: wrap the valgrind-requiring assertion in a function
+ * tests/init.cfg (require_valgrind_): New function...
+ * tests/misc/sort-stale-thread-mem: ...extracted from here.
+
+2012-08-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ sort: simpler fix for sort -u data-loss bug, and for a FMR bug
+ This also fixes a free-memory-read (FMR) bug: when fillbuf's realloc
+ of buf->buf frees the buffer into which saved_line.text points,
+ the processing of that just-read longer line includes comparison
+ against the saved line in freed memory.
+ * src/sort.c (overlap): Remove.
+ (fillbuf): Do not try to copy saved lines, as that is too risky
+ in the presence of parallelism, reallocated buffers, etc.
+ (sort): Invalidate any saved line before sorting a new batch.
+
+2012-08-17 Jim Meyering <meyering@redhat.com>
+
+ sort: sort --unique (-u) could cause data loss
+ sort -u could omit one or more lines of expected output.
+ This bug arose because sort recorded the most recently printed line via
+ reference, and if you were unlucky, the storage for that line would be
+ reused (overwritten) as additional input was read into memory. If you
+ were doubly unlucky, the new value of the "saved" line would not only
+ match the very next line, but if that next line were also the first in
+ a series of identical, not-yet-printed lines, then the corrupted "saved"
+ line value would result in the omission of all matching lines.
+
+ * src/sort.c (saved_line): New static/global, renamed and moved from...
+ (write_unique): ...here. Old name was "saved", which was too generic
+ for its new role as file-scoped global.
+ (fillbuf): With --unique, when we're about to read into a buffer that
+ overlaps the saved "preceding" line (saved_line), copy the line's .text
+ member to a realloc'd-as-needed temporary buffer and adjust the line's
+ key-defining members if they're set.
+ (overlap): New function.
+ * tests/misc/sort: New tests.
+ * NEWS (Bug fixes): Mention it.
+ * THANKS.in: Update.
+ Bug introduced via commit v8.5-89-g9face83.
+ Reported by Rasmus Borup Hansen in
+ http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/23173/focus=24647
+
+2012-08-16 Jim Meyering <meyering@redhat.com>
+
+ tests: reverse args in Coreutils.pm-invoked diff, for consistency
+ * tests/Coreutils.pm (_compare_files): Reverse diff arguments so
+ that we invoke diff -c $expected $actual, which is consistent with
+ how init.sh-using tests invoke "compare exp out".
+
+ maint: correct a stale comment in sort.c
+ * src/sort.c (fillbuf): Fix comment typo. x2nrealloc no longer
+ doubles the size of its input buffer.
+
+ maint: fix comment grammar to placate make syntax-check
+ * src/remove.c (rm_fts): s/can not/cannot/
+
+2012-08-14 Krzysztof Goj <krzysztof.goj@gmail.com>
+
+ rm: new option --dir (-d) to remove empty directories
+ Add new option to rm (-d/--dir), which allows removal of
+ empty directories, while still safely disallowing removal
+ of non-empty ones.
+
+ This improves compatibility with Mac OS X and BSD systems,
+ which honor the -d option.
+
+ * src/remove.c (rm_fts): Remove empty directories when requested.
+ * src/remove.h (rm_options) [remove_empty_directories]: New member.
+ * src/rm.c (long_opts, usage, main): Update usage and option parsing.
+ (rm_option_init): Initialize the new member.
+ * src/mv.c (rm_option_init): Initialize the new member.
+ * tests/rm/d-1: New test case - successfully delete empty dir.
+ * tests/rm/d-2: New test case - refuse to delete nonempty dir.
+ * tests/Makefile.am (TESTS): Add them.
+
+2012-08-14 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ df: fail when the mount list is required but cannot be read
+ * src/df.c (main): Add conditions to fail when the mount list cannot
+ be read: this includes the cases when a file name argument is given
+ and any of -a, -l, -t or -x is used.
+ * doc/coreutils.texi: Document the additional error conditions.
+ * tests/df/no-mtab-status: Add a new test.
+ * tests/Makefile.am: Reference the new test.
+ * NEWS: Mention the fix.
+
+2012-08-12 Jim Meyering <meyering@redhat.com>
+
+ maint: post-release administrivia
+ * NEWS: Add header line for next release.
+ * .prev-version: Record previous version.
+ * cfg.mk (old_NEWS_hash): Auto-update.
+
+ version 8.18
+ * NEWS: Record release date.
+
+2012-08-08 Pádraig Brady <P@draigBrady.com>
+
+ tests: fix validation of local file systems
+ * tests/init.cfg (require_mount_list_): A new function
+ to ensure we can read the list of file systems.
+ (require_local_dir_): Call the above function, as otherwise
+ the check is invalid.
+ * tests/df/total-unprocessed: Ensure df can read the
+ list of mounted file systems so that --local can be honored.
+
+2012-08-06 Jim Meyering <meyering@redhat.com>
+
+ build: update gnulib submodule to latest
+
+ tests: printf-surprise: avoid unwarranted failure on FreeBSD 9.0
+ * tests/misc/printf-surprise: A VM size of 10,000KiB was too
+ little in which to run "env printf ..." on FreeBSD 9.0-p3.
+ Increase it to 15,000.
+
+2012-08-05 Jim Meyering <meyering@redhat.com>
+
+ build: avoid sort link failure on Solaris 10
+ * src/Makefile.am (sort_LDADD): Sort uses euidaccess, which may require
+ whatever library configure deemed necessary to resolve the eaccess
+ function, but no one told sort to link with that library.
+ (sort_LDADD): Add $(LIB_EACCESS).
+
+2012-08-04 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ df: fix exit code and error messages with --total
+ When the combination of the file system options with given files or
+ devices does not lead to output, "df --total" would exit successfully
+ although it should not.
+
+ Examples:
+ $ df --total --type=xfs / # when / is not an XFS file system
+ $ df --total --local -t nfs DIR # nfs is remote per se ...
+ $ df --total -t qwerty /dev/sdb5 # typo in file system type
+
+ Furthermore, "df --total" would not print the error message "no file
+ systems processed" when the file argument does not exist or is otherwise
+ not accessible.
+
+ Example:
+ $ df --total __not_exist__
+
+ These 2 bugs are present since --total was added by commit
+ v6.12-166-gea2887b.
+
+ * src/df.c (get_dev): Do not set file_systems_processed to true when
+ force_fsu is true, i.e. when the row for the "total" line is processed.
+ (main): Don't print totals unless we've processed a file system.
+ Also only print the "no FS processed" message if there was no
+ preceding diagnostic.
+ * tests/df/total-unprocessed: Add a new test.
+ * tests/Makefile.am: Reference the new test.
+ * NEWS: Mention the fix.
+
+ Improved-by: Jim Meyering
+
+2012-08-04 Jim Meyering <meyering@redhat.com>
+
+ truncate: don't leak a file descriptor with --ref=PIPE
+ * src/truncate.c (main): For a user who makes the mistake of
+ using a non-seekable file as a reference for the desired length,
+ truncate would open that file, attempt to seek to its end, but
+ upon seek failure would neglect to close the file descriptor.
+ Close the file descriptor even when lseek fails.
+ In addition, ignore failure to close that reference FD, since as
+ long as the lseek succeeds, a close failure doesn't matter.
+ Coverity spotted the potential FD leak.
+
+ Improved-by: Pádraig Brady.
+
+2012-08-04 Jim Meyering <meyering@redhat.com>
+
+ tests: avoid FP ulimit failure with valgrind-wrapped tools
+ * tests/init.cfg (require_ulimit_): Raise VM limit from 10MiB to
+ 20MiB, to accommodate overhead of a valgrind-wrapped date program.
+ Also declare this function's local variables "local".
+
+2012-08-04 Jim Meyering <meyering@redhat.com>
+
+ split: plug nominal leaks
+ * src/split.c (lines_rr) [IF_LINT]: Plug a harmless leak.
+ (main) [IF_LINT]: Free a usually-small (~70KB) buffer
+ just before exit, mainly to take this off the radar of
+ leak-detecting tools.
+
+ Improved-by: Pádraig Brady.
+
+2012-08-03 Jim Meyering <meyering@redhat.com>
+
+ tail: avoid rare error-path FD leak
+ * src/tail.c (tail_forever): Close FD to avoid leak after a
+ failed fstat.
+
+2012-07-27 Jim Meyering <meyering@redhat.com>
+
+ maint: refresh stale local gnulib patch files
+ We carry local adjustments for a few gnulib modules via the
+ patches in gl/. Nearly all of those patches had become stale
+ due to evolution of the originals in gnulib.
+
+ To refresh them, first make sure you have no local changes in gl/
+ or in the gnulib submodule, then run "make refresh-gnulib-patches".
+
+2012-07-25 Jim Meyering <meyering@redhat.com>
+
+ tail: avoid misleading diagnostic upon fstat failure
+ * src/tail.c (check_fspec): Save fstat-induced errno *before*
+ calling close_fd, not after. Otherwise, the close could well
+ clobber the global errno, making tail print an invalid diagnostic.
+ This could happen only with tail -f, and even then, only when
+ a valid file descriptor were to provoke fstat failure.
+
+2012-07-23 Pádraig Brady <P@draigBrady.com>
+
+ tests: add a test for a previously fixed output format bug in join
+ Add a test and NEWS entry for a bug inadvertently fixed in
+ a refactoring in commit v8.9-32-gd4db0cb
+
+ * tests/misc/join (v2-format): Add a new test.
+ * THANKS.in: Add the reporter.
+ * NEWS: Mention the old bug.
+ * cfg.mk (old_NEWS_hash): Update.
+
+ Reported-by: Jean-Pierre Tosoni
+
+2012-07-22 Pádraig Brady <P@draigBrady.com>
+
+ doc: mention gethostid(3) in hostid(1)
+ * man/hostid.x: Add gethostid(3) to SEE ALSO section.
+ Addresses http://bugs.gnu.org/12023
+
+2012-07-22 Erik Auerswald <auerswal@unix-ag.uni-kl.de>
+
+ doc: mention uniq(1) in sort(1) man-page and vice versa
+ * man/sort.x: Add SEE ALSO section with entry uniq(1).
+ * man/uniq.x: Add sort(1) to SEE ALSO section.
+
+2012-07-21 Jim Meyering <meyering@redhat.com>
+
+ maint: stzncpy: restrict pointer parameters
+ * src/system.h (stzncpy): Add "restrict" attribute to each pointer
+ parameter and note in the comment that the buffers must not overlap.
+
+2012-07-20 Joachim Schmitz <jojo@schmitz-digital.de>
+
+ maint: rm: remove two more unused static inline functions
+ * src/remove.c (cache_stat_ok, is_nondir_lstat): Remove unused
+ functions.
+
+2012-07-20 Jim Meyering <meyering@redhat.com>
+
+ maint: adjust exemption to track renamed test script
+ * cfg.mk (exclude_file_name_regexp--sc_file_system): Sync this
+ exemption regexp to match renamed tests/df/df-P. This avoids
+ a "make syntax-check" failure.
+
+2012-07-20 Joachim Schmitz <jojo@schmitz-digital.de> (tiny change)
+
+ maint: rm: remove unused static-inlined functions
+ * src/remove.c (cache_statted, is_dir_lstat): Remove unused
+ static-inlined functions.
+ * THANKS.in: Remove my name from this list, now that (with this
+ commit) it is included automatically.
+
+2012-07-18 Andrew D Warshall <warshall@99main.com>
+
+ tests: fiemap-perf: avoid a false failure on ext2
+ * tests/cp/fiemap-perf: Skip the test on ext2 file systems,
+ as we do for ext3. Also skip the test if we can't create
+ a 1TiB file, which might not be supported on certain file systems.
+
+2012-07-16 Pádraig Brady <P@draigBrady.com>
+
+ maint: move two df tests from tests/misc to tests/df
+ * test/Makefile.am: Reference the moved tests.
+
+2012-07-16 Pádraig Brady <P@draigBrady.com>
+
+ df: don't output control characters in a mount point name
+ It's awkward to read and problematic for scripts when
+ control characters like '\n' are output.
+
+ Note other fields are already handled with mbsalign,
+ which converts non printable chars to the replacement char.
+ A caveat to note with that, is the replacement char takes
+ a place in the field and so possibly truncates the field
+ if it was the widest field in the records.
+
+ Note a more general replacement function, that
+ handles all printable, or non white space characters,
+ would require more sophisticated support for various
+ encodings, and the complexity vs benefit was not
+ deemed beneficial enough at present.
+ Perhaps in future a more general replacement function
+ could be shared between the various utilities.
+
+ Note <space> is unaffected in any field,
+ which could impact scripts processing the output.
+ However any of the number fields at least could have
+ spaces considering `LANG=fr_FR df -B\'1`, so it's
+ probably best to leave spaces, which also allows
+ scripts to handle mount points with spaces without change.
+
+ * src/df.c (hide_problematic_chars): Replace control chars with '?'.
+ * tests/df/problematic-chars: Add a new root only test.
+ * tests/Makefile.am: Reference the new test.
+ * NEWS: Mention the fix.
+
+2012-07-15 Jim Meyering <meyering@redhat.com>
+
+ pinky,who: fix bug in latest change
+ * src/system.h (stzncpy): New function.
+ * src/pinky.c (print_entry): Use stzncpy, not stpncpy.
+ The latter does not NUL-terminate. I assumed that strncpy was
+ the only function with such a horrible API. Today I learned that
+ stpncpy also may not NUL-terminate its result.
+ The bugs were introduced in commit v8.17-48-gf79263d.
+ * src/who.c (print_user): Likewise.
+ Thanks to Erik Auerswald for spotting my error.
+
+ build: update gnulib submodule to latest
+
+ maint: remove unwarranted uses of strncpy
+ * src/pinky.c (print_entry): Remove unwarranted uses of strncpy.
+ Instead, use stpcpy and stpncpy.
+ * src/who.c (print_user): Likewise.
+ * cfg.mk: Remove strncpy exemptions.
+
+ build: shred.c: avoid i686-specific gcc -Wstrict-overflow warning
+ * src/shred.c: Avoid gcc -Wstrict-overflow warning.
+ Addresses http://bugs.gnu.org/11927
+
+2012-07-13 Bruno Haible <bruno@clisp.org>
+
+ doc: clarify meaning of '-parodd' in stty help
+ * src/stty.c (usage): Disambiguate explanation of -parodd.
+ * THANKS.in: Add reporter.
+ Reported by Michael Stummvoll
+
+2012-07-12 Pádraig Brady <P@draigBrady.com>
+
+ doc: mention the improved sort memory allocation
+ * NEWS: Mention the improvement.
+
+2012-07-12 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ doc: fix errors and warnings with Texinfo 5
+ Or rather, with the development version 4.13.90, which will eventually
+ become Texinfo 5.0.
+
+ * doc/coreutils.texi: Use '@item' instead of '@itemx' in several places,
+ as Texinfo 5 refuses to process an '@itemx' that is not preceded by an
+ '@item'. Ensure that node extended names in menus and sectioning are
+ consistent, and that ordering and presence of nodes in menus and in the
+ actual text are consistent as well.
+
+ Fixes http://bugs.gnu.org/11828
+
+2012-07-11 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ df: warn if soon-to-be-removed --megabyte option is used
+ * src/df.c (MEGABYTES_OPTION): Add enum and mark it for removal
+ in August 2013.
+ (long_options): Use MEGABYTES_OPTION for --megabytes option.
+ (main): Add a case for it and issue a deprecation warning if
+ the long form is used. Document the short -m option to
+ exist only for BSD compatibility.
+
+2012-07-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ sort: by default, do not exceed 3/4 of physical memory
+ * src/sort.c (default_sort_size): Do not exceed 3/4 of total memory.
+ See Jeff Janes's bug report in
+ <http://lists.gnu.org/archive/html/coreutils/2012-06/msg00018.html>.
+
+2012-07-06 Pádraig Brady <P@draigBrady.com>
+
+ tests: sort-merge-fdlimit: reduce the limit by one
+ * tests/misc/sort-merge-fdlimit: As a consequence of commit
+ v8.17-34-g59daf05, we can reduce the descriptor limit by one.
+
+2012-07-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ doc: document leap seconds better
+ * doc/coreutils.texi (touch invocation, Time conversion specifiers)
+ (Options for date, Examples of date): Index "leap seconds" and
+ improve their documentation a bit.
+
+ doc: fix spacing
+ * doc/coreutils.texi: Use right amount of spacing after punctuation.
+
+2012-07-04 Jim Meyering <meyering@redhat.com>
+
+ date: fails to diagnose invalid input
+ date -d "$(printf '\xb0')" would print 00:00:00 with today's date
+ rather than diagnosing the invalid input. Now it reports this:
+ date: invalid date '\260'
+ * gnulib: Update submodule to latest for fixed parse-datetime.y.
+ * tests/misc/date [invalid-high-bit-set]: New test.
+ * NEWS (Bug fixes): Mention it.
+ * bootstrap, tests/init.sh: Also update to latest.
+ Reported by Peter Evans in http://bugs.gnu.org/11843
+
+2012-07-03 Jim Meyering <meyering@redhat.com>
+
+ maint: add syntax-check rule to help avoid misuse of EXIT_FAILURE
+ * cfg.mk (sc_some_programs_must_avoid_exit_failure): New rule,
+ to help us avoid using EXIT_FAILURE in programs like sort, ls, nohup,
+ timeout, env, etc. that use different exit codes in many cases.
+
+ maint: fix minor bugs in helper program, setuidgid
+ * src/setuidgid.c (main): Fix two error-before-usage calls not to exit.
+ Exit with status SETUIDGID_FAILURE (not EXIT_FAILURE) consistently.
+
+2012-07-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ sort: fix exit-status typo
+ * src/sort.c (stream_open): EXIT_FAILURE -> SORT_FAILURE.
+ Suggested by Pádraig Brady in <http://bugs.gnu.org/11816#34>.
+
+ sort: simplify -o handling to avoid fdopen, assert
+ * src/sort.c (outfd): Remove. All uses replaced by STDOUT_FILENO.
+ (stream_open): When writing, use stdout rather than fdopen.
+ (move_fd_or_die): Renamed from dup2_or_die, with the added functionality
+ of closing its first argument. All uses changed.
+ (avoid_trashing_input): Special case for !outfile no longer needed.
+ (check_output): Arrange for standard output to go to the file,
+ rather than storing the fd in outfd.
+
+2012-07-02 Pádraig Brady <P@draigBrady.com>
+
+ sort: avoid redundant processing with inaccessible inputs or output
+ * src/sort.c (check_inputs): A new function to verify all inputs
+ are accessible before further processing.
+ (check_output): A new function to open or create a specified
+ output file, before futher processing.
+ (stream_open): Adjust to truncating the previously opened
+ output file rather than opening directly.
+ (avoid_trashing_input): Optimize to stat the output file
+ descriptor, rather than the file name.
+ (main): Call the new functions to check accessibility of
+ inputs and output, before processing starts.
+ * tests/misc/sort: Adjust to the changed error message.
+ * tests/misc/sort-merge-fdlimit: Account for the earlier opened
+ file descriptor of the specified output file.
+ * tests/misc/sort-exit-early: A new test to exercise the improvements.
+ * tests/Makefile.am: Reference the new test.
+ * NEWS: Mention the improvement.
+
+ Suggested-by: Bernhard Voelker
+
+2012-07-02 Pádraig Brady <P@draigBrady.com>
+
+ maint: sc_prohibit_fail_0: update a stale comment
+ * cfg.mk (sc_prohibit_fail_0): Following on from
+ commit v8.0-79-g71c2f88, update the comment to match.
+
+ maint: avoid a -Wunsed-but-set warning on some systems
+ * src/stty.c (main): Mark speed_was_set as possibly unused,
+ as is the case when CIBAUD is undefined (on ppc64 GNU/Linux
+ for example).
+ Reported-by: Stefano Lattarini
+
+2012-06-30 Jim Meyering <meyering@redhat.com>
+
+ maint: avoid false-positive syntax-check failure due to fail=0 in .texi
+ * cfg.mk (exclude_file_name_regexp--sc_prohibit_fail_0): Exempt
+ all .texi files.
+
+ stat,tail: recognize new file system type: aufs
+ * src/stat.c (human_fstype) [__linux__]: Add a 'case' for the new
+ remote file system type: aufs (0x61756673).
+ * NEWS (New features): Mention stat -f.
+ (Bug fixes): Mention it for tail -f.
+ Reported by Michael Mol in http://bugs.gnu.org/11823
+
+2012-06-30 Jim Meyering <meyering@redhat.com>
+
+ doc: improve sample backup script
+ * doc/coreutils.texi (cp invocation): Make the backup script exit
+ with an accurate reflection of any failure.
+ Also, add --preserve=all.
+
+ Improved-by: Bernhard Voelker
+
+2012-06-26 Pádraig Brady <P@draigBrady.com>
+
+ maint: avoid a static analysis warning in csplit
+ The Canalyze static code analyzer correctly surmised
+ that there is a use-after-free bug in free_buffer()
+ at the line "struct line *n = l->next", if that
+ function is called multiple times.
+
+ This is not a runtime issue since a list of lines
+ will not be present in the !lines_found case.
+
+ * src/csplit.c (free_buffer): Set list head to NULL so
+ that this function can be called multiple times.
+ (load_buffer): Remove a redundant call to free_buffer().
+
+ Reported-by: Xu Zhongxing
+
+2012-06-22 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ doc: document multiplier for dd number options like count=N
+ * src/dd.c (usage): Add "N" to the description of multipliers.
+ * doc/coreutils.texi (dd invocation): Likewise.
+
+2012-06-22 Pádraig Brady <P@draigBrady.com>
+
+ split: ensure output doesn't overwrite input
+ * src/split.c (create): Check if output file is the
+ same inode as the input file.
+ * tests/split/guard-input: New test case.
+ * tests/Makefile.am: Reference new test case.
+ * NEWS: Mention the fix.
+
+ Improved-by: Jim Meyering
+ Reported-by: François Pinard
+
+2012-06-22 Pádraig Brady <P@draigBrady.com>
+
+ maint: refactor common mode bits used to create files
+ * src/system.h (MODE_RW_UGO): The new refactored define (666).
+ * src/mkfifo.c: Use the new define.
+ * src/mknod.c: Likewise.
+ * src/split.c: Likewise.
+ * src/system.h: Likewise.
+ * src/touch.c: Likewise.
+ * src/truncate.c: Likewise.
+
+ Suggested-by: Jim Meyering
+
+2012-06-22 Pádraig Brady <P@draigBrady.com>
+
+ maint: suppress echoing of sc_THANKS_in_duplicates implementation
+ * cfg.mk (sc_THANKS_in_duplicates): Suppress the echoing of these
+ commands run during `make syntax-check`
+
+2012-06-20 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ maint: sort: style adjustment to help clarify size determination
+ * src/sort.c (default_sort_size): Move physmem code "down" to first use.
+
+2012-06-12 Jim Meyering <meyering@redhat.com>
+
+ stty: portability: accommodate CIL
+ * src/stty.c (main): Declare locals "mode" and "new_mode" to be static
+ to ensure that each is initialized to zero, *including* all padding.
+ While gcc clears padding of a local automatic initialized to "{ 0, }",
+ CIL does not, and the C99 standard is not clear on this issue.
+ Reported by Edward Schwartz. See http://bugs.gnu.org/11675 for details.
+
+2012-06-10 Sami Kerola <kerolasa@iki.fi>
+
+ maint: remove su testing artifact
+ * tests/misc/help-version: Remove expected su exit code.
+
+2012-06-10 Jim Meyering <meyering@redhat.com>
+
+ build: update gnulib to latest; correct comment grammar
+ * tests/misc/help-version: Fix comment grammar:
+ s/all these/all of these/
+ * gl/lib/tempname.c.diff: Likewise.
+
+ maint: migrate strncpy-prohibiting rule to gnulib
+ * cfg.mk (sc_prohibit_strncpy): Remove rule.
+ Now it's in gnulib.
+
+ maint: prohibit use of strncpy
+ * cfg.mk (sc_prohibit_strncpy): New syntax-check rule.
+ Exempt pinky.c and who.c, at least for now.
+
+2012-06-06 Jim Meyering <meyering@redhat.com>
+
+ su: remove program (util-linux is now the best source for it)
+ * README: Omit "su" from list of programs.
+ * src/su.c: Remove file.
+ * src/Makefile.am: Remove su-related rules and variables.
+ * tests/misc/su-fail: Remove test.
+ * tests/Makefile.am (TESTS): Remove misc/su-fail.
+ * tests/misc/invalid-opt: Remove su-related code.
+ * src/.gitignore: Remove su.
+ * man/su.x: Remove file.
+ * man/Makefile.am (su.1): Remove rule.
+ * po/POTFILES.in: Remove su.c from the list.
+ * TODO: Remove ancient entry.
+ * NEWS (Changes in behavior): Mention it.
+ * doc/coreutils.texi: Remove su-related description.
+ * AUTHORS: Remove su.
+ * m4/lib-check.m4 (cu_LIB_CHECK): Remove file/macro.
+ * configure.ac: Remove su-related code and sole use of cu_LIB_CHECK.
+ * scripts/git-hooks/commit-msg: Remove su from this list, too.
+
+ maint: detect a new type of duplicate in THANKS.in
+ * cfg.mk (sc_THANKS_in_duplicates): New rule.
+
+2012-06-05 Jim Meyering <meyering@redhat.com>
+
+ maint: mark new diagnostic for translation
+ * src/head.c (elide_tail_lines_seekable): Mark new diagnostic.
+ I will look at the results of "make syntax-check", I will look...
+
+2012-06-05 Jim Meyering <meyering@redhat.com>
+
+ head: with --lines=-N (-n-N) reset file pointer on seekable input
+ * src/head.c (elide_tail_lines_seekable): Reset file pointer
+ after printing up to an end-relative line-counted offset.
+ Anoop Sharma reported the problem and suggested the fix.
+ * tests/misc/head-pos: Add coverage via a very similar, existing test.
+ Also add coverage for a previously untested block of code.
+ * tests/misc/head-elide-tail ($READ_BUFSIZE): Update to 8192, to
+ match the value of BUFSIZ I see today on Fedora 17/x86_64 (unrelated
+ to this fix).
+ * NEWS (Bug fixes): Mention it.
+
+ Improved-by: Pádraig Brady
+
+2012-06-01 Jim Meyering <meyering@redhat.com>
+
+ stat,tail: recognize new file system type: panfs
+ * src/stat.c (human_fstype) [__linux__]: Add a 'case' for the new
+ remote file system type: panfs (0xAAD7AAEA).
+ * NEWS (New features): Mention stat -f.
+ (Bug fixes): Mention it for tail -f.
+ Reported by Travis Gummels in http://bugzilla.redhat.com/827199
+
+2012-05-31 Jim Meyering <meyering@redhat.com>
+
+ maint: fix typos in test comments and old ChangeLog files
+ Culprits identified and fixed automatically using these commands:
+ git ls-files|misspellings -f -|perl -nl \
+ -e '/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/ or next;' \
+ -e '($file,$n,$l,$r)=($1,$2,$3,$4); $q="'\''"; $r=~s/$q/$q\\$q$q/g;'\
+ -e 'print "sed -i $q${n}s!$l!$r!$q $file"' | bash
+ using http://github.com/lyda/misspell-check
+ * old/fileutils/ChangeLog: Fix typos.
+ * old/textutils/ChangeLog: Likewise.
+ * tests/misc/truncate-fail-diag: Likewise.
+
+2012-05-28 Pádraig Brady <P@draigBrady.com>
+
+ cksum: line-buffer the printed checksums
+ This utility was inadvertently omitted from commit v8.0-34-g710fe41
+ * src/cksum.c (main): Set stdout to line buffered mode, to ensure
+ parallel running instances don't intersperse their output.
+ * NEWS: Mention the fix.
+ * THANKS.in: Add Anoop.
+ Reported by Anoop Sharma.
+
+2012-05-21 Jim Meyering <meyering@redhat.com>
+
+ maint: remove comment that suggested to remove support for mktemp -V
+ * src/mktemp.c (main): Don't suggest to remove support for -V, an
+ undocumented alias for --version, since that would introduce a
+ gratuitous incompatibility with the original mktemp program.
+
+2012-05-21 Mike Frysinger <vapier@gentoo.org>
+
+ dircolors: add st/st-256color terminal types
+ See http://st.suckless.org/
+ * src/dircolors.hin: Add st and st-256color.
+ Reported-by: Jeroen Roovers <jer@gentoo.org>, via
+ Mike Frysinger <vapier@gentoo.org> in http://bugs.gnu.org/11498
+
+2012-05-20 Jim Meyering <meyering@redhat.com>
+
+ id,groups: use gidtostr/uidtostr to avoid casts
+ * src/id.c (gidtostr, uidtostr): Define macros.
+ (gidtostr_ptr, uidtostr_ptr): Define safer functions.
+ Use gidtostr and uidtostr to print GID and UID without
+ need/risk of casts.
+ * src/group-list.c: Likewise.
+
+2012-05-16 Jim Meyering <meyering@redhat.com>
+
+ tests: use $AWK, not awk
+ * tests/cp/sparse-fiemap: Don't hard-code "awk". Use $AWK.
+ * tests/init.cfg: Likewise.
+ * tests/misc/sort-rand: Likewise.
+
+ maint: tell xgettext that fputs arg "93% of..." is not a C format string
+ * src/fmt.c (usage): Add a comment to tell
+ xgettext that the "% o" in fputs argument string of "...93% of..."
+ is not a C format string. Reported by Toomas Soome, Göran Uddeborg,
+ Petr Pisar, Primoz PETERLIN and Chusslove Illich via
+ http://bugs.gnu.org/11470
+
+ maint: add assertions to placate static analysis tools
+ A static analysis tool (http://labs.oracle.com/projects/parfait/)
+ produced some false positive diagnostics. Add assertions to help
+ it understand that the code is correct.
+ * src/stty.c: Include <assert.h>.
+ (display_changed): Add an assertion to placate parfait.
+ (display_all): Likewise.
+ * src/sort.c: Include <assert.h>.
+ (main): Add an assertion to placate parfait.
+ * src/fmt.c: Include <assert.h>.
+ (get_paragraph): Add an assertion to placate parfait.
+
+2012-05-16 Pádraig Brady <P@draigBrady.com>
+
+ stat: report the correct block size for file system usage
+ struct statfs has the f_frsize member since Linux 2.6,
+ so use that rather than f_bsize which can be different.
+ Note the related df change mentioned in NEWS is handled
+ in gnulib by using statvfs() rather than statfs()
+ on Linux > 2.6.36 (where statvfs doesn't hang) and the
+ same method as stat for Linux 2.6 kernels earlier than that.
+ stat(1) doesn't use statvfs() on GNU/Linux as the f_type
+ member isn't available there.
+ Note the change to not use statvfs() on GNU/Linux was introduced
+ in gnulib commit eda39b8 16-08-2003.
+
+ * m4/stat-prog.m4 (cu_PREREQ_STAT_PROG): Check for the f_frsize
+ member in the statfs structure.
+ * src/stat.c: Use (struct statfs).f_frsize if available.
+ * NEWS (Bug fixes): Mention this stat fix, and the related df fix
+ coming in the next gnulib update.
+ * THANKS.in: Add Nikolaus.
+
+ Reported and Tested by Nikolaus Rath
+
+2012-05-12 Jim Meyering <meyering@redhat.com>
+
+ ls: color each symlink-to-relative-name in / properly
+ In order for ls --color to color each symlink, it must form the name
+ of each referent and then stat it to see if the link is dangling, to
+ a directory, to a file, etc. When the symlink is to a relative name,
+ ls must concatenate the starting directory name and that relative name.
+ When, in addition, the starting directory was "/" or "/some-name",
+ the result was ill-formed, and the subsequent stat would usually fail,
+ making the caller color it as a dangling symlink.
+ * src/ls.c (make_link_name): Don't botch the case in which
+ dir_name(NAME) == "/" and LINKNAME is relative.
+ * tests/ls/root-rel-symlink-color: New file. Test for the above.
+ * tests/Makefile.am (TESTS): Add it.
+ * NEWS (Bug fixes): Mention it.
+ Reported by Mike Frysinger in http://bugs.gnu.org/11453
+ Bug introduced by commit v8.16-23-gbcb9078.
+
2012-05-10 Jim Meyering <meyering@redhat.com>
+ maint: post-release administrivia
+ * NEWS: Add header line for next release.
+ * .prev-version: Record previous version.
+ * cfg.mk (old_NEWS_hash): Auto-update.
+
version 8.17
* NEWS: Record release date.
@@ -247,7 +4215,7 @@
Originally reported by Brynnen Owen as http://bugs.gnu.org/7320.
Raised again by Marc Mengel in http://bugzilla.redhat.com/816708.
-2012-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
+2012-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: sync up required autoconf version in bootstrap.conf
* bootstrap.conf ($buildreq): Require autoconf 2.64, not 2.62. This is
@@ -814,7 +4782,7 @@
* test/misc/basename: Add new options test cases.
* NEWS (New features): Mention it.
-2012-03-07 Pádraig Brady <P@draigBrady.com>
+2012-03-06 Pádraig Brady <P@draigBrady.com>
maint: refactor copy to use is_nul()
* src/dd.c: Move is_nul() from here to ...
@@ -1120,6 +5088,8 @@
maint: remove some redundant automake _SOURCES
* src/Makefile.am: Remove auto generated entries.
+2012-01-25 Pádraig Brady <P@draigBrady.com>
+
maint: cleanup an extraneous version output in a test
* test/misc/stdbuf: Fixup the minor copy & paste issue
introduced in commit ff7f0ff8
@@ -1164,7 +5134,7 @@
* tests/rm/ir-1: Likewise.
* tests/rm/r-1: Likewise.
-2012-01-23 Paul Eggert <eggert@cs.ucla.edu>
+2012-01-22 Paul Eggert <eggert@cs.ucla.edu>
maint: quote 'like this' or "like this", not `like this'
* doc/coreutils.texi (Formatting the file names):
@@ -1787,7 +5757,7 @@
* tests/mkdir/writable-under-readonly: Likewise.
* tests/rm/read-only: Likewise.
-2011-11-30 Eric Blake <eblake@redhat.com>
+2011-11-29 Eric Blake <eblake@redhat.com>
build: simplify warnings based on last gnulib update
We no longer need to exclude this warning.
@@ -1795,7 +5765,7 @@
* configure.ac (WARN_CFLAGS): Gnulib dropped
-Wunsuffixed-float-constants, as non-portable.
-2011-11-30 Eric Blake <eblake@redhat.com>
+2011-11-29 Eric Blake <eblake@redhat.com>
build: update gnulib for syntax-check improvement
Commit 5b3e538 proved useful enough to migrate to gnulib after
@@ -3355,6 +7325,8 @@
allow premature termination of cleanup. Also, this ports better
to platforms like NonStop, which don't ahve SA_RESETHAND.
+2011-07-15 Paul Eggert <eggert@cs.ucla.edu>
+
* src/dd.c: Remove obsolete comments re POSIX.
2011-07-15 Pádraig Brady <P@draigBrady.com>
@@ -3920,7 +7892,7 @@
* tests/split/r-chunk: Rename from tests/misc/split-rchunk.
* tests/Makefile.am (TESTS): Reflect renaming.
-2011-05-28 Pádraig Brady <P@draigBrady.com>
+2011-05-27 Pádraig Brady <P@draigBrady.com>
chown,chgrp: output the original ownership in -v messages
* src/chown-core.c (describe_change): Output the
@@ -3929,8 +7901,6 @@
owner or group are passed.
* NEWS: Mention the change in behavior.
-2011-05-27 Pádraig Brady <P@draigBrady.com>
-
chown,chgrp: output the correct ownership in -v messages
* src/chown_core.c (describe_change): Accept the ownership of
the original file and output that when not changing.
@@ -4014,12 +7984,14 @@
the main split process to exit with a non zero status (141).
* test/split/filter: Add a test for this case.
+2011-05-25 Pádraig Brady <P@draigBrady.com>
+
split: fix an edge case where -n l/... creates an extra file
* src/split.c (lines_bytes_chunk): Handle the edge case
where the file is truncated as we read.
* tests/misc/split-lchunk: Cleanup; no functional change.
-2011-05-26 Bernhard Voelker <mail@bernhard-voelker.de>
+2011-05-25 Bernhard Voelker <mail@bernhard-voelker.de>
chmod: output the original mode in verbose mode
* src/chmod.c (describe_change): Pass in the original mode,
@@ -4609,6 +8581,8 @@
* NEWS: Adjust to match commit 1c3654cb, 2011-04-02,
"copy: require fiemap sync also for 2.6.38 kernels"
+2011-04-06 Pádraig Brady <P@draigBrady.com>
+
copy: handle mergeable extents across fiemap scans
* extent-scan.h (extent_scan_free): Init the pointer to NULL,
and reset the count to 0, so that we can realloc the buffer.
@@ -4853,7 +8827,7 @@
we remove their now-redundant name from THANKS.in.
* THANKS.in: Remove a now-duplicate name.
-2011-03-20 Pádraig Brady <P@draigBrady.com>
+2011-03-19 Pádraig Brady <P@draigBrady.com>
tests: fix the sparse-fiemap test
* tests/filefrag-extent-compare: Merge adjacent extents in
@@ -4926,7 +8900,7 @@
* .x-sc_unmarked_diagnostics: Likewise.
* .x-sc_useless_cpp_parens: Likewise.
-2011-03-14 Pádraig Brady <P@draigBrady.com>
+2011-03-13 Pádraig Brady <P@draigBrady.com>
maint: use wcswidth from gnulib
* gl/lib/mbsalign.c (rpl_wcswidth): Remove this in favor
@@ -5050,7 +9024,7 @@
since we don't test anything without it. In the loop,
don't use skip_test_ as it exits the test completely.
-2011-02-20 Gilles Espinasse <g.esp@free.fr>
+2011-02-19 Gilles Espinasse <g.esp@free.fr>
maint: replace spaces with tab in tests/Makefile.am
* tests/Makefile.am: Replace spaces with tabs for consistency
@@ -5238,7 +9212,7 @@
build: update gnulib submodule to latest
-2011-02-01 Pádraig Brady <P@draigBrady.com>
+2011-01-31 Pádraig Brady <P@draigBrady.com>
cp: fix the buffer size used when writing zeros
* src/copy.c (write_zeros): This bug caused 4 or 8 bytes to
@@ -5482,7 +9456,7 @@
we will try to do FIEMAP-copy if the underlying file system
supports it, and fall back to a normal copy if it fails.
-2011-01-30 Pádraig Brady <P@draigBrady.com>
+2011-01-29 Pádraig Brady <P@draigBrady.com>
doc: add alternatives for field processing not supported by cut
* doc/coreutils.texi (cut invocation): Remove the tr -s '[:blank:]'
@@ -5491,7 +9465,7 @@
Also document a `join` hack, to achieve the same thing. Note the
join options are ordered so as to be compatible with other systems.
-2011-01-30 Pádraig Brady <P@draigBrady.com>
+2011-01-29 Pádraig Brady <P@draigBrady.com>
join: don't report disorder against an empty file
This allows one to use join as a field extractor like:
@@ -5504,14 +9478,14 @@
* doc/coreutils.texi (join invocation): Document the change.
* NEWS: Likewise.
-2011-01-30 Pádraig Brady <P@draigBrady.com>
+2011-01-29 Pádraig Brady <P@draigBrady.com>
join: ensure --header skips the order check with empty files
* src/join.c: Skip the header even if one of the files is empty.
* tests/misc/join: Add a test case.
* NEWS: Mention the fix
-2011-01-30 Pádraig Brady <P@draigBrady.com>
+2011-01-29 Pádraig Brady <P@draigBrady.com>
join: add -o 'auto' to output a constant number of fields per line
Lines with a different number of fields than the first line,
@@ -6186,7 +10160,7 @@
* NEWS (Bug reports): Mention this.
Reported by DJ Lucas in http://debbugs.gnu.org/7489.
-2010-12-09 Pádraig Brady <P@draigBrady.com>
+2010-12-08 Pádraig Brady <P@draigBrady.com>
split: fix a case where --elide-empty causes invalid chunking
When -n l/N is used and long lines are present that both
@@ -6981,6 +10955,8 @@
build: update gnulib to latest, for memmem/strstr fix
+2010-10-05 Jim Meyering <meyering@redhat.com>
+
maint: describe coreutils' policy on copyright year number ranges
* README: Mention coreutils' long-standing policy on use of M-N
ranges in copyright year lists. Requested by Richard Stallman.
@@ -7167,6 +11143,8 @@
build: update gnulib submodule to latest
+2010-09-20 Paul Eggert <eggert@cs.ucla.edu>
+
sort: destroy spin locks portably
* src/sort.c (sortlines, sort): Use pthread_spin_destroy when a
spin lock is no longer used. This isn't needed on GNU/Linux or
@@ -7229,7 +11207,7 @@
* bootstrap.conf (gnulib_modules): Add fdutimensat.
* src/touch.c (touch): Use fdutimensat instead of gl_futimens.
-2010-09-14 Dmitry V. Levin <ldv@altlinux.org>
+2010-09-13 Dmitry V. Levin <ldv@altlinux.org>
dircolors: add rxvt-unicode-256color terminal type
rxvt-unicode introduced new terminal type:
@@ -7345,7 +11323,7 @@
* NEWS: Mention the new feature
* THANKS: Add the author
-2010-08-27 Eric Blake <eblake@redhat.com>
+2010-08-26 Eric Blake <eblake@redhat.com>
maint: update to latest gnulib
* gnulib: Update to latest, to avoid warnings with latest autoconf.git.
@@ -7353,7 +11331,7 @@
maint: avoid a hung 'make syntax-check' in VPATH build
* cfg.mk (sc_system_h_headers): Look for files in correct location.
-2010-08-26 Pádraig Brady <P@draigBrady.com>
+2010-08-25 Pádraig Brady <P@draigBrady.com>
df: always print the device name for bind mounted files
* src/df (show_point): Remove the optimization for comparing
@@ -7392,7 +11370,7 @@
reference the SHA-2 based alternatives.
Reported by Simon Josefsson
-2010-08-14 Paul Eggert <eggert@cs.ucla.edu>
+2010-08-13 Paul Eggert <eggert@cs.ucla.edu>
* tests/misc/sort (use-nl): Fix comment to match the test case.
@@ -7676,6 +11654,8 @@
checking for file descriptor exhaustion. Also try plain -R, since
that implementation may change in the future too.
+2010-07-23 Paul R. Eggert <eggert@cs.ucla.edu>
+
randread: run 2x faster on 64-bit hosts, don't assume no padding bits
* gl/lib/rand-isaac.c: Remove the I/O; this belongs elsewhere.
Add support for ISAAC64. Port to hosts with padding bits.
@@ -7793,7 +11773,7 @@
(main): If -R is given, call random_md5_state_init rather than
going single-threaded.
-2010-07-17 Paul R. Eggert <eggert@cs.ucla.edu>
+2010-07-16 Paul R. Eggert <eggert@cs.ucla.edu>
randread: don't require -lrt
Programs like 'sort' were linking to -lrt in order to get
@@ -7809,8 +11789,6 @@
* src/Makefile.am (mktemp_LDADD, shred_LDADD, shuf_LDADD, sort_LDADD):
(tac_LDADD): Omit $(LIB_GETHRXTIME); no longer needed.
-2010-07-16 Paul R. Eggert <eggert@cs.ucla.edu>
-
sort: add a test case for the sort -u bug
* tests/Makefile.am (TESTS): Add misc/sort-unique.
* tests/misc/sort-unique: New file.
@@ -8054,7 +12032,7 @@
* tests/tail-2/wait: Likewise.
* test/dd/misc: Comment that delay is needed to trigger failure.
-2010-07-05 Paul Eggert <eggert@cs.ucla.edu>
+2010-07-04 Paul Eggert <eggert@cs.ucla.edu>
doc: Add advice about ChangeLogs and synchronizing submodules
* README-hacking: Update accordingly.
@@ -8465,7 +12443,7 @@
* tests/Makefile.am (TESTS): Add du/max-depth.
* tests/du/max-depth: New file.
-2010-05-19 Pádraig Brady <P@draigBrady.com>
+2010-05-18 Pádraig Brady <P@draigBrady.com>
tests: fix sort-debug-keys when fr_FR.utf8 not available
* tests/misc/sort-debug-keys: Correctly check for the absence
@@ -8651,7 +12629,7 @@
* src/operand2sig.c: Likewise.
* src/kill.c: Likewise.
-2010-05-02 Paul Eggert <eggert@cs.ucla.edu>
+2010-05-01 Paul Eggert <eggert@cs.ucla.edu>
sort: use long doubles only when effective
* src/sort.c (general_numcompare): Don't use long double if strtold
@@ -8788,7 +12766,7 @@
* NEWS: Mention the fix.
Reported by Santiago Rodríguez
-2010-04-17 Pádraig Brady <P@draigBrady.com>
+2010-04-16 Pádraig Brady <P@draigBrady.com>
cp: preserve "capabilities" when also preserving file ownership
* src/copy.c (copy_reg): Copy xattrs _after_ setting file ownership
@@ -9124,7 +13102,7 @@
(merge): Likewise.
* src/uptime.c (usage): Likewise.
-2010-03-17 Pádraig Brady <P@draigBrady.com>
+2010-03-16 Pádraig Brady <P@draigBrady.com>
timeout: add the --kill-after option
Based on a report from Kim Hansen who wanted to
@@ -9174,6 +13152,8 @@
maint: drop *.lzma suport
* .gitignore: Remove *.lzma lines.
+2010-03-10 Eric Blake <eblake@redhat.com>
+
maint: ignore *.xz files
* .gitignore: Ignore *.xz created by 'make dist', now that we
no longer produce *.lzma.
@@ -9296,7 +13276,7 @@
* src/Makefile.am (sc_tight_scope): Don't annotate with "GEN".
(sc_check-AUTHORS): Likewise.
-2010-02-18 Moritz Orbach <ml-coreutils@apfelboymchen.homeunix.net>
+2010-02-17 Moritz Orbach <ml-coreutils@apfelboymchen.homeunix.net>
ls: fix a regression by honoring NORMAL attributes again
Output the NORMAL attribute before non file name text.
@@ -9343,6 +13323,8 @@
by using cleanup_() rather than using a timeout which may trigger
a failure on very slow systems (< 20 iterations of the loop per second).
+2010-02-15 Pádraig Brady <P@draigBrady.com>
+
doc: fix inconsistent capitalization in --help output
* src/base64.c (usage): Don't capitalize the first character
in an --option description.
@@ -9546,7 +13528,7 @@
from $(VC_LIST) starts with "$(srcdir)/". Fix that.
* gnulib: Update to latest, to pull in a required maint.mk change.
-2010-01-24 Pádraig Brady <P@draigBrady.com>
+2010-01-23 Pádraig Brady <P@draigBrady.com>
tests: make cp-mv-enotsup-xattr independent of the host file system
* tests/cp-mv-enotsup-xattr: Create a file system from which to copy
@@ -9558,8 +13540,6 @@
* doc/coreutils.texi: Add nproc to the System context
command list in the overview menu.
-2010-01-23 Pádraig Brady <P@draigBrady.com>
-
maint: ensure test independence from config macro format
* tests/cp/acl: Support USE_ACL not being defined.
* tests/mv/acl: Likewise. Also fix typo in skip message.
@@ -11012,7 +14992,7 @@
(main): Use it, rather than testing only errno == EPERM.
* NEWS (Bug fixes): Mention it.
-2009-10-26 Pádraig Brady <P@draigBrady.com>
+2009-10-25 Pádraig Brady <P@draigBrady.com>
timeout: don't orphan monitored programs if they ignore specified signals
* src/timeout.c (install_signal_handlers): Handle any user
@@ -11022,7 +15002,7 @@
timeout -sUSR1 1s dd if=/dev/zero of=/dev/null
* NEWS: Mention the fix.
-2009-10-24 Eric Blake <ebb9@byu.net>
+2009-10-23 Eric Blake <ebb9@byu.net>
tests: test recent status changes
* tests/misc/nice: Enhance test.
@@ -11069,8 +15049,6 @@
tests: accommodate BSD getopt
* tests/misc/invalid-opt (err_subst): Support alternate spelling.
-2009-10-23 Eric Blake <ebb9@byu.net>
-
build: prohibit improper use of stat and lstat
* cfg.mk (sc_prohibit_stat_macro_address): New rule.
* src/ln.c (do_link): Adjust comment to avoid false positive.
@@ -12284,6 +16262,8 @@
* tests/Makefile.am: Reference the new test.
* NEWS: Mention the new feature.
+2009-08-28 Pádraig Brady <P@draigBrady.com>
+
stdbuf: fix a small typo in --help output
* src/stdbuf.c (usage): s/then/the/
@@ -12719,7 +16699,7 @@
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>
+2009-07-28 Pádraig Brady <P@draigBrady.com>
doc: fix the generated HTML index
* doc/coreutils.texi: Move the "SELinux context" section
@@ -12961,6 +16941,8 @@
* README-hacking: Fix a typo.
Don't make building from a git-cloned tree sound so hard.
+2009-06-19 Jim Meyering <meyering@redhat.com>
+
build: update from gnulib (hash module updates; maint.mk tweak)
* gnulib: Update submodule to latest.
@@ -13163,7 +17145,7 @@
(my-distcheck): Use configure with --enable-gcc-warnings and remove
use of $(warn_cflags).
-2009-05-30 Eric Blake <ebb9@byu.net>
+2009-05-29 Eric Blake <ebb9@byu.net>
head, tail: make --help less ambiguous
* src/head.c (usage): Use -n K, not -n N, to avoid confusion.
@@ -13372,7 +17354,7 @@
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>
+2009-04-30 Eric Blake <ebb9@byu.net>
stdopen: remove unused code
* m4/stdopen.m4: Delete now-unused file.
@@ -14297,7 +18279,7 @@
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>
+2009-03-03 Andreas Schwab <schwab@linux-m68k.org>
Update Andreas Schwab's email address
* THANKS: Update Andreas Schwab's email address.
@@ -14626,7 +18608,7 @@
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>
+2009-02-14 Pádraig Brady <P@draigBrady.com>
seq: Fix equal width calculation when '.' added to last number
Issue reported by Samuel Hapák.
@@ -14917,7 +18899,7 @@
"General help..." links, like the new function does.
Reported by Bob Proulx.
-2009-01-23 Pádraig Brady <P@draigBrady.com>
+2009-01-22 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.
@@ -14929,8 +18911,6 @@
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.
@@ -16179,7 +20159,7 @@
* src/remove.c (compare_ino, dirent_count)
[!HAVE_STRUCT_DIRENT_D_TYPE]: Mask declaration when unused.
-2008-09-27 Jim Meyering <meyering@redhat.com>
+2008-09-26 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
@@ -16193,7 +20173,7 @@
* tests/rm/ext3-perf: New file. Test for the performance fix.
* NEWS: mention the new feature
-2008-09-27 Jim Meyering <meyering@redhat.com>
+2008-09-26 Jim Meyering <meyering@redhat.com>
remove.c: don't use xmalloc; don't let obstack call exit on failure
(obstack_chunk_alloc, obstack_chunk_free): Don't define.
@@ -16211,7 +20191,7 @@
step1
-2008-09-27 Jim Meyering <meyering@redhat.com>
+2008-09-26 Jim Meyering <meyering@redhat.com>
* maint.mk (my-distcheck): remove duplicate c99-related test code
@@ -17023,6 +21003,8 @@
mkfifo: correct misplaced -Z description in --help output
* src/mkfifo.c (usage): Put it *after* the "Mandatory arguments..." line.
+2008-06-27 Jim Meyering <meyering@redhat.com>
+
uniq: remove redundant test
* src/uniq.c (find_field): Remove redundant test in outer loop-
termination expression. Also, add a "const" attribute.
@@ -17201,7 +21183,7 @@
* src/od.c (charname): Likewise.
* maint.mk (sc_redundant_const): Add rule to detect this.
-2008-06-17 Bo Borgerson <gigabo@gmail.com>
+2008-06-16 Bo Borgerson <gigabo@gmail.com>
join: improve memory management
* src/join.c (struct seq): Use a (struct line **) for `lines' rather than
@@ -18437,15 +22419,13 @@
option items.
(main): Remove unused 'q' from short options.
-2008-05-06 Jim Meyering <meyering@redhat.com>
+2008-05-05 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
@@ -18667,6 +22647,8 @@
tests: skip (don't fail) rm/one-file-system when mount --bind fails
* tests/rm/one-file-system: Reported by Allen Hewes.
+2008-04-20 Jim Meyering <meyering@redhat.com>
+
tests: convert umask-check to a function
* tests/test-lib.sh (working_umask_or_skip_): New function, from...
* tests/umask-check: ...here. Remove file.
@@ -18686,7 +22668,7 @@
* maint.mk (sc_root_tests): Adapt rule to new syntax used
in tests/Makefile.am.
-2008-04-21 Jim Meyering <meyering@redhat.com>
+2008-04-20 Jim Meyering <meyering@redhat.com>
Revamp test-related Makefiles.
One side-effect of this change is that "make check" now works even if
@@ -18757,7 +22739,7 @@
* src/dircolors.hin: Add .flv. Move .svgz to "image formats".
-2008-04-19 Jim Meyering <meyering@redhat.com>
+2008-04-18 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"
@@ -18984,11 +22966,11 @@
"Operation not supported".
* tests/mkdir/selinux: Accept both strings. Factor out duplication.
+2008-03-28 Jim Meyering <meyering@redhat.com>
+
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.
@@ -19080,7 +23062,7 @@
* 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>
+2008-03-25 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.
@@ -19163,10 +23145,10 @@
* src/seq.c (long_double_format): Add a comment.
- * GNUmakefile: Update from gnulib.
-
2008-03-20 Jim Meyering <meyering@redhat.com>
+ * GNUmakefile: Update from gnulib.
+
Remove today's automake kludge, altogether. Fix properly.
* man/Makefile.am: Use dist_man1_MANS instead of dist_man_MANS.
Suggestion from Ralf Wildenhues.
@@ -19745,12 +23727,10 @@
tests/touch/not-owner: Source test-lib.sh before using skip_test_.
-2008-02-12 Jim Meyering <meyering@redhat.com>
+2008-02-11 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.