diff options
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 4106 |
1 files changed, 4043 insertions, 63 deletions
@@ -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. |