Here's a preview of what coreutils-8.18 should look like. I noticed one spurious test failure reported by the Nixos Hydra autobuilder:
http://hydra.nixos.org/build/2924158 It's in the most recently added test, so we'll probably have to fix it before release but I haven't investigated yet or seen it anywhere else: FAIL: df/total-unprocessed (exit: 1) ==================================== ... + df --local -t nfs --total . Filesystem 1K-blocks Used Available Use% Mounted on - 453794636 325690492 105389844 76% / total 453794636 325690492 105389844 76% + fail=1 + compare exp out + compare_dev_null_ exp out + test 2 = 2 + test xexp = x/dev/null + test xout = x/dev/null + return 2 + case $? in + compare_ exp out + diff -u exp out --- exp 2012-08-07 07:13:23.862331198 +0000 +++ out 2012-08-07 07:13:23.864331274 +0000 @@ -1 +1 @@ -df: no file systems processed +df: Warning: cannot read table of mounted file systems:\ No such file or directory + fail=1 ... ===================================================================== [tarballs] coreutils snapshot: http://meyering.net/cu/coreutils-ss.tar.xz 4.9 MB http://meyering.net/cu/coreutils-ss.tar.xz.sig http://meyering.net/cu/coreutils-8.17.70-1bacb4.tar.xz There are .sig files here, too: http://people.redhat.com/meyering/cu/coreutils-ss.tar.xz http://people.redhat.com/meyering/cu/coreutils-8.17.70-1bacb4.tar.xz ===================================================================== [NEWS] ** Bug fixes cksum now prints checksums atomically so that concurrent processes will not intersperse their output. [the bug dates back to the initial implementation] 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' [This bug was present in "the beginning".] df no longer outputs control characters present in the mount point name. Such characters are replaced with '?', so for example, scripts consuming lines output by df, can work reliably. [This bug was present in "the beginning".] df --total now exits with an appropriate diagnostic and error code, when file system --type options do not lead to a processed file system. [This bug dates back to when --total was added in coreutils-7.0] head --lines=-N (-n-N) now resets the read pointer of a seekable input file. This means that "head -n-3" no longer consumes all of its input, and lines not output by head may be processed by other programs. For example, this command now prints the final line, 2, while before it would print nothing: seq 2 > k; (head -n-1 > /dev/null; cat) < k [This bug was present in "the beginning".] ls --color would mis-color relative-named symlinks in / [bug introduced in coreutils-8.17] split now ensures it doesn't overwrite the input file with generated output. [the bug dates back to the initial implementation] stat and df now report the correct file system usage, in all situations on GNU/Linux, by correctly determining the block size. [df bug since coreutils-5.0.91, stat bug since the initial implementation] tail -f no longer tries to use inotify on AUFS or PanFS file systems [you might say this was introduced in coreutils-7.5, along with inotify support, but even now, its magic number isn't in the usual place.] ** New features stat -f recognizes the new remote file system types: aufs, panfs. ** Changes in behavior su: this program has been removed. We stopped installing "su" by default with the release of coreutils-6.9.90 on 2007-12-01. Now, that the util-linux package has the union of the Suse and Fedora patches as well as enough support to build on the Hurd, we no longer have any reason to include it here. ** Improvements sort avoids redundant processing in the presence of inaccessible inputs, or unwritable output. Sort now diagnoses certain errors at start-up, rather than after potentially expensive processing. sort now allocates no more than 75% of physical memory by default, to better share system resources, and thus operate more efficiently. [The default max memory usage changed from 50% to 100% in coreutils-8.16] ===================================================================== [git shortlog] Changes in coreutils since v8.17: Andrew D Warshall (1): tests: fiemap-perf: avoid a false failure on ext2 Bernhard Voelker (4): maint: sort: style adjustment to help clarify size determination doc: document multiplier for dd number options like count=N df: warn if soon-to-be-removed --megabyte option is used df: fix exit code and error messages with --total Bruno Haible (1): doc: clarify meaning of '-parodd' in stty help Erik Auerswald (1): doc: mention uniq(1) in sort(1) man-page and vice versa Jim Meyering (38): maint: post-release administrivia ls: color each symlink-to-relative-name in / properly maint: add assertions to placate static analysis tools maint: tell xgettext that fputs arg "93% of..." is not a C format string tests: use $AWK, not awk id,groups: use gidtostr/uidtostr to avoid casts maint: remove comment that suggested to remove support for mktemp -V maint: fix typos in test comments and old ChangeLog files stat,tail: recognize new file system type: panfs head: with --lines=-N (-n-N) reset file pointer on seekable input maint: mark new diagnostic for translation maint: detect a new type of duplicate in THANKS.in su: remove program (util-linux is now the best source for it) maint: prohibit use of strncpy maint: migrate strncpy-prohibiting rule to gnulib build: update gnulib to latest; correct comment grammar stty: portability: accommodate CIL doc: improve sample backup script stat,tail: recognize new file system type: aufs maint: avoid false-positive syntax-check failure due to fail=0 in .texi maint: fix minor bugs in helper program, setuidgid maint: add syntax-check rule to help avoid misuse of EXIT_FAILURE date: fails to diagnose invalid input build: shred.c: avoid i686-specific gcc -Wstrict-overflow warning maint: remove unwarranted uses of strncpy build: update gnulib submodule to latest pinky,who: fix bug in latest change maint: adjust exemption to track renamed test script maint: stzncpy: restrict pointer parameters tail: avoid misleading diagnostic upon fstat failure maint: refresh stale local gnulib patch files tail: avoid rare error-path FD leak split: plug nominal leaks tests: avoid FP ulimit failure with valgrind-wrapped tools truncate: don't leak a file descriptor with --ref=PIPE build: avoid sort link failure on Solaris 10 tests: printf-surprise: avoid unwarranted failure on FreeBSD 9.0 build: update gnulib submodule to latest Joachim Schmitz (2): maint: rm: remove unused static-inlined functions maint: rm: remove two more unused static inline functions Mike Frysinger (1): dircolors: add st/st-256color terminal types Paul Eggert (5): sort: simplify -o handling to avoid fdopen, assert sort: fix exit-status typo doc: fix spacing doc: document leap seconds better sort: by default, do not exceed 3/4 of physical memory Pádraig Brady (15): stat: report the correct block size for file system usage cksum: line-buffer the printed checksums maint: suppress echoing of sc_THANKS_in_duplicates implementation maint: refactor common mode bits used to create files split: ensure output doesn't overwrite input maint: avoid a static analysis warning in csplit maint: avoid a -Wunsed-but-set warning on some systems maint: sc_prohibit_fail_0: update a stale comment sort: avoid redundant processing with inaccessible inputs or output tests: sort-merge-fdlimit: reduce the limit by one doc: mention the improved sort memory allocation df: don't output control characters in a mount point name maint: move two df tests from tests/misc to tests/df doc: mention gethostid(3) in hostid(1) tests: add a test for a previously fixed output format bug in join Sami Kerola (1): maint: remove su testing artifact Stefano Lattarini (1): doc: fix errors and warnings with Texinfo 5 Changes in gnulib since v8.17: * gnulib a3a0496...39cedf6 (197): > extern-inline: also ignore -Wmissing-declarations > autoupdate > maint.mk: sc_prohibit_magic_number_exit: avoid new false positives > gnumakefile: better interaction with Automake-NG > base64: Use extern C scope in header file, for C++. > stat-time, timespec, u64: support naive out-of-dir builds > Fix typo: 'linline' -> 'inline' (thanks to Eric Blake). > Keep the extern-inline macros closer together. > Fix indenting. > utimens: use extern-inline > u64: use extern-inline > timespec: use extern-inline > stat-time: use extern-inline > extern-inline: new module > maint.mk: a "release-commit" wrapper to do-release-commit-and-tag > autoupdate > autoupdate > maint.mk: use silent-rules support from Automake > maint.mk: provide a web-manual-update target > README-release: shorten the circuit to post a news > gnu-web-doc-update: fix --help > passfd: fix comment on recvfd > maint.mk: avoid a sub-shell > maint.mk: absolute VPATH issue > update from texinfo > gitlog-to-changelog: fix previous change > gitlog-to-changelog: don't expect .git to be in $srcdir > maint.mk: absolute VPATH build fix > clean-temp: Fix memory leak. > maint: fix grammar in a ChangeLog entry > maint.mk: new rule: refresh-gnulib-patches > gnulib-tool: Fix handling of inctests variable. > getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4. > verify: document conflict with -Wnested-externs > maint.mk: forbid exit(-1) > fsusage: port back to Solaris > gnu-web-doc-update: fix error messages > gnu-web-doc-update: check the requirements. > maint.mk: minor simplification. > gitlog-to-changelog: VPATH build issues. > fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4. > pthread_sigmask: fix bug on FreeBSD 9 > README-release: make it more legible > autoupdate > maint: require that each sc_... command start with "@" > maint.mk: add leading "@" to quiet new "make syntax-check" rule > autoupdate > maint.mk: new syntax check for HAVE_DECL checks > argp: make HAVE_DECL usage consistent > stat-time: relax license to LGPLv2+ > strndup: fix m4 usage error > maint: enable the sc_avoid_if_before_free syntax-check rule > gettext: do not assume '#define ... defined ...' behavior > getloadavg: clean out old Emacs and Autoconf cruft > bootstrap: let warn be like tests/init.sh's warn_ > getopt: Simplify after Emacs changed. > maint.mk: add sc_vulnerable_makefile_CVE-2012-3386 > maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix > getloadavg, getopt: fix commentary re configure.in > timespec: mark functions with const attributes > canonicalize[-lgpl]: handle "guessing" values when cross-building > canonicalize: make the right guess when cross-compiling to GNU > update from texinfo > timespec-sub: avoid duplicate include > bootstrap: use a more consistent error reporting scheme > sys_time: allow too-wide tv_sec > pthread: check for both pthread_create and pthread_join > parse-datetime: doc tuneup > do-release-commit-and-tag: fix the previous commit > do-release-commit-and-tag: fix typo > pthread: check for pthread_create, not pthread_join > parse-datetime: fix failure to diagnose invalid input > bootstrap: do not require now-removed build-aux/missing > alloca: add support for HP NonStop TNS/E native > fsusage: remove code not needed on non GNU/Linux systems. > fsusage: include files needed for glibc 2.6 fallback > fsusage: avoid needless check on GNU/Linux > log: Fix an autoconf >= 2.64 warning. > autoupdate > autoupdate > log10f: Fix possible configuration problem. > Fix typo in ChangeLog entry. > remove: No longer override on all platforms. Fixes bug from 2012-03-20. > config: drop scripts that automake says are not independent > root-uid: new module > regex: use locale-independent comparison for codeset name > getopt-posix: No longer guarantee that option processing is resettable. > argp, regex: Ensure strcasecmp gets declared. > autoupdate > ptsname_r: Fix typo in last commit. > ptsname_r: Make it consistent with ptsname on AIX. > ptsname_r: Make it consistent with ptsname on OSF/1. > ttyname_r: Fix result on OSF/1, Solaris. > ptsname_r: Add support for Solaris. > ptsname_r: Fix test failure on native Windows. > ptsname_r: Fix test failures on IRIX, Solaris. > ptsname test: Extend test. > time: fix obsolete comment > getopt-gnu: Handle suboptimal getopt_long's abbreviation handling. > time_r: fix typo that always overrode localtime_r decl > Write "Mac OS X" instead of "MacOS X". > grantpt: Relax requirement regarding invalid file descriptors. > fbufmode test: Don't test unportable behaviour. > gnulib-tool: Refactor inctests variable. > gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests. > parse-duration test: Avoid spurious output. > testing: fix typo in here doc > maint: disable the strncpy prohibition > Fix misspellings in comments. > nonblocking: Avoid compilation error on mingw64. > Do use readlink if available > posixtm-tests: port to buggy compiler > mktime: fix integer overflow in 'configure'-time test > tmpfile, clean-temp: Fix invocation of GetVersionEx. > fdopen: Allow implementations that don't reject invalid fd arguments. > parse-duration: Make self-test build on its own. > autoupdate > init.sh: do not rely on autoupated PWD > stat, fstat: Avoid warnings on mingw64. > stdioext: Add support for musl libc. > *printf-posix: Put more info into config.log. > getopt-gnu: Fix exit code overflow in autoconf test. > maint.mk: fix typo in code to derive GPG key at release time > regex: avoid warning when pointers are not long > dummy: Relicense into the public domain. > autoupdate > announce-gen: VPATH issues > gnu-web-doc-update: VPATH builds > autoupdate > maint.mk: revert most of the previous change re "all these" > autoupdate missed x bit > do not ask for gpg pw with --dry-run > implement --replace for ftp-upload protocol v1.2 > parse-duration: Relicense under LGPLv2+. > maint.mk: prohibit common grammar error: "all these" > do-release-commit-and-tag: support VPATH builds > readme-release: also require announce-gen and maintainer-makefile > maint.mk: fix VPATH issues. > readme-release: require the promoted modules. > update from texinfo > error, strerror-override: Support mingw64 from Fedora 17. > error, strerror-override: Support mingw64 from Fedora 17. > error, strerror-override: Support new errno values from POSIX:2008. > autoupdate > savewd: add missing dependency on sys_wait module > system-quote-tests: port to CentOS 5 > maint: fix typos in comments and ChangeLog > autoupdate > manywarnings: remove duplicate -Wmultichar entry > do not sync mktime.c from libc, last one left, not worth it > autoupdate > regex: don't assume uint64_t or uint32_t > * lib/mktime.c: Revert autoupdate, which fetched the wrong version. > maint.mk: add strncpy-prohibiting syntax-check rule > autoupdate > maint.mk: compute $(gpg_key_ID) more portably > mktime: sync from glibc > announce-gen: du -h is more portable than du --human > announce-gen: improve getopt-emitted diagnostics > maint.mk: gpg_key_ID: use sed more portably > gitlog-to-changelog: support the log message format used in Bison. > Revert "Revert "select: Fix build error on IRIX 6.5."" > Revert "select: Fix build error on IRIX 6.5." > Revert "strdup: undeprecate, IRIX 6.5 needs it" > poll/select: prevent busy-waiting > strdup: undeprecate, IRIX 6.5 needs it > select: Fix build error on IRIX 6.5. > autoupdate > Fix ChangeLog entry in last commit (silent change). > gc: fix libgcrypt detection on older machines. > autoupdate > crypto: fix bug in large buffer handling > crypto: fix bug in large buffer handling > crypto: fix bug in large buffer handling > autoupdate > update from texinfo > fsusage: fix block size returned on older Linux 2.6 > autoupdate > bootstrap: suppress stderr chatter > bootstrap: .gitignore files created by autopoint, libtool > autoupdate > ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition > binary-io: Define set_binary_mode function. > bootstrap: take advantage of POSIX shell features > system-quote: Add more comments. > sh-quote, system-quote: Add comments about wildcards. > fsusage: check for GNU/Linux statvfs problem dynamically > system-quote, execute, spawn-pipe: Escape '?' on Windows. > _Noreturn: port config.h to gcc -Wundef > system-quote: Refactor. > execute, spawn-pipe: Escape '*' characters in arguments on Windows. > Tests for module 'system-quote'. > New module 'system-quote'. > sh-quote: Make C++ safe and allow multiple inclusion. > sh-quote tests: Make tests stricter. > warnings.m4: provide a means to specify the program to compile. > doc: recommendations on gettext version
