Here's a preview of what should soon appear as coreutils-8.8. This is mostly a bug-fix release, with numerous fixes to our newly-parallelized sort. Any testing you can perform over the weekend would be most welcome.
coreutils snapshot: (.gz files are here, too) http://meyering.net/cu/coreutils-ss.tar.xz 4.6 MB http://meyering.net/cu/coreutils-ss.tar.xz.sig http://meyering.net/cu/coreutils-8.7.66-561f8.tar.xz There are .gz and .sig files here, too: http://people.redhat.com/meyering/cu/coreutils-ss.tar.xz http://people.redhat.com/meyering/cu/coreutils-8.7.66-561f8.tar.xz Thanks to Paul Eggert, Chen Guo and Pádraig Brady for all the time they spent contributing to this release. ===================================================================== The only significant non-bug-fix change was to add a useful set of features to split that lets you split input into N roughly-equal pieces, with options to split on line boundaries or not, and, when honoring line boundaries, to distribute lines in a round-robin fashion or not. Here are some split examples that I'll add to coreutils.texi: Notice how, by default, one line may be split onto two or more: $ seq -w 6 10 > k; split -n3 k; head xa? : ==> xaa <== 06 07 ==> xab <== 08 0 ==> xac <== 9 10 Use the "l/" modifier to suppress that: $ seq -w 6 10 > k; split -nl/3 k; head xa? : ==> xaa <== 06 07 ==> xab <== 08 09 ==> xac <== 10 Use the "r/" modifier to distribute lines in a round-robin fashion: $ seq -w 6 10 > k; split -nr/3 k; head xa? : ==> xaa <== 06 09 ==> xab <== 07 10 ==> xac <== 08 You can also extract just the Kth chunk. This extracts and prints just the 7th "chunk" of 33: $ seq 100 > k; split -nl/7/33 k 20 21 22 ===================================================================== Here is the NEWS: ** Bug fixes cp -u no longer does unnecessary copying merely because the source has finer-grained time stamps than the destination. od now prints floating-point numbers without losing information, and it no longer omits spaces between floating-point columns in some cases. sort -u with at least two threads could attempt to read through a corrupted pointer. [bug introduced in coreutils-8.6] sort with at least two threads and with blocked output would busy-loop (spinlock) all threads, often using 100% of available CPU cycles to do no work. I.e., "sort < big-file | less" could waste a lot of power. [bug introduced in coreutils-8.6] sort with at least two threads no longer segfaults due to use of pointers into the stack of an expired thread. [bug introduced in coreutils-8.6] sort --compress no longer mishandles subprocesses' exit statuses, no longer hangs indefinitely due to a bug in waiting for subprocesses, and no longer generates many more than NMERGE subprocesses. sort -m -o f f ... f no longer dumps core when file descriptors are limited. ** New features split accepts the --number option to generate a specific number of files. Here is "git shortlog" output: ===================================================================== Changes in coreutils since v8.7: Chen Guo (3): split: add --number to generate a particular number of files sort: use mutexes, not spinlocks (avoid busy loop on blocked output) sort: preallocate merge tree nodes to heap. Jim Meyering (27): post-release administrivia maint: add a NEWS-checking syntax-check rule tests: move a comment so automated conversion works tests: convert first batch of tests from test-lib.sh to init.sh tests: convert 'if test "$VERBOSE" = yes; then' to test ... && tests: convert remaining uses of test-lib.sh to init.sh tests: remove test-lib.sh; now all tests use gnulib's init.sh tests: factor out VERBOSE-only --version-printing code tests: substitute the single-program $VERBOSE/--version uses tests: convert "... env -- prog --version" uses tests: convert the multi-prog $VERBOSE/--version uses tests: convert tests/misc/selinux manually maint: syntax-check: prevent new $VERBOSE/--version tests maint: avoid NEWS-related syntax-check failure build: update gnulib to fix a syntax error in a test tests: test for parallel sort spinlock abuse tests: don't let the OMP_NUM_THREADS envvar affect sort tests tests: add test for parallel sort -u segfault bug tests: make it harder to lose a race in spinlock-abuse tests: remove useless definition of $SORT in sort-compress sort: syntax cleanup sort: avoid segfault when using two or more threads tests: avoid FP failure when run under valgrind tests: mark new test as very expensive tests: tweak basic-1 to use warn_ rather than literal "exit 77" doc: tail: semi-deprecate --sleep-interval and --max-unchanged-stats build: update gnulib submodule to latest Paul R. Eggert (27): doc: tweak NEWS and coreutils.texi build: update gnulib submodule to latest od: fix bugs in displaying floating-point values cp: give a better diagnostic for nonexistent dest/ sort -u: fix a thread-race pointer corruption bug sort: fix bug on 64-bit hosts with at least 32768 processors build: update gnulib submodule to latest cp: fix bug with fine-grained src to nearby coarse-grained dest tests: cleanup rm -rf fails under NFS sort: Clarify comments sort: tune struct_merge_node slightly sort: put queue arg first sort: simplify write_unique sort: fix problems with merge node dest pointer sort: clarify queue_check_insert sort: merge_queue -> queue sort: comment fix sort: integer overflow checks in thread counts, etc. tests: test for access to stale thread memory tests: typo fix sort: fix some --compress reaper bugs tests: default to /tmp as the temporary directory sort: document --compress reaper fixes sort: fix very-unlikely buffer overrun when merging to input file sort: don't dump core when merging from input twice sort: fix hang with sort --compress sort: do not generate thousands of subprocesses for 16-way merge Pádraig Brady (9): maint: add a missed fadvise-tests module build: enable the -Wpointer-sign gcc warning maint: fix a new -Wpointer-sign gcc warning truncate: fix a very unlikely case for undiagnosed errors split: fail immediately if impossible to create a large file build: add `patch` as a bootstrap dependency maint: update the valgrind support script tsort: suppress a valgrind memory leak warning split: fix a case where --elide-empty causes invalid chunking Changes in gnulib since v8.7: * gnulib a14bd22...c96bccb (71): > memmem: rearrange memmem and expand memmem-simple modules > Improve cross-compilation guesses for uClibc. > configmake: provide fallbacks for oldest supported autotools > read-file: reorganize to avoid various issues > cloexec, fcntl: relax license > autoupdate > Tweak last ChangeLog entry. > Tests for module 'pipe-posix. > Oops, fix mistake in last commit. > pipe-posix: Make it work in C++ mode. > Rename module 'pipe' to 'spawn-pipe'. > pipe-posix: new module > * build-aux/gendocs.sh: restore x bit > autoupdate > unistr/u8-strcmp: Avoid collision with libc function on Solaris 11. > Update internal documentation. > Put more information about failed tests into the test return codes. > Update for Solaris 11 2010-11. > nproc: Relax license. > maint: restore executable bit > utimecmp: fine-grained src to nearby coarse-grained dest > strerror_r-posix: Fix autoconf test. > Tests for module 'getdomainname'. > getdomainname: Use the system function when possible. > sys_socket: Ensure ss_family field on AIX. > readline: Improve configure output. > *printf-posix: Detect a bug on Solaris 10/x86. > Fix link error when module libunistring-optional is in use. > regex: Mention link dependencies. > ftoastr: Fix compilation error on Solaris. > Oops, fix typo in last commit. > autoupdate > autoupdate > getloadavg: Update documentation. > sys_socket: Fix test whether the functions are declared. > getpass: Make sure to get system declaration on some platforms. > iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11. > ftoastr: comment fix > stdint: port to GCC 4.3 + OSX + Octave > doc: Corrections regarding MacOS X 10.4 and 10.5. > autoupdate > Uninstall ".bin" files installed by relocwrapper. > Update for NetBSD 5.0. > Update for HP-UX 11.23 and HP-UX 11.31. > Update for MacOS X 10.5. > bootstrap: add bootstrap_sync option. > Oops, fix incomplete ChangeLog entry. > Ensure that <features.h> is included before __GLIBC__ is tested. > memmem: Fix autoconf test. > Port to uClibc. > nproc: Fix condition. > Fix a comment. * lib/vasnprintf.c (VASNPRINTF): Fix comment. > ftoastr: don't assume snprintf > test-rename.h: fix compilation failure > maint.mk: add a URL discussing the n...@acronym policy > ftoastr: depend on snprintf, improve comments > ftoastr: port to hosts lacking strtof and strtold > c-strtold: Avoid link error on AIX 7. > intprops: new macro INT_BITS_STRLEN_BOUND > ftoastr: new module, for lossless conversion of floats to short strings > autoupdate > autoupdate > bootstrap: port to Solaris sed > maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/ > remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP > Line-wrap a ChangeLog entry. > rename, renameat: Avoid test failures at NFS mounted locations. > rename, renameat: Document Linux bug with NFS. > rename test: Add comments. > maintainer-makefile: cover a few more files > unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
pgpFsKJOBfFIJ.pgp
Description: PGP signature