This status update (subscribe via RSS) comes about 4 months after the last one,
and coincides loosely with release 8.19.
Note also the bug tracker with stats which records additions, feature requests and issues.
Rejected ideas
Some of the hardest work on coreutils is knowing what to reject and providing appropriate justification to the contributors. The contributions below all came since the last update and while good ideas, they were not included for various reasons detailed on the mailing list.- ls --sort=class. Sorting by type indicator was deemed of marginal benefit.
- realpath -t -b. Short options for existing long options were not seen as appropriate.
- SORT_BUFFER_SIZE=1234 sort. env vars can be useful when shared by many commands, but are best avoided.
- physmem. Programs to print mem info like `hwloc-info` and `free` are already available.
- df -g. Separate options for various output units is best avoided.
Additions
Note you can see the latest changes as they're added in the NEWS file (subscribe via RSS).- cp got around 5% and 10% speedup when reading uncached and cached files respectively.
- rm -d to remove empty directories (like BSD).
- stat,tail now recognize bdevfs,inodefs,qnx6,panfs,aufs,zfs
- su is now maintained in util-linux along with a soon to be added runuser like command
- md5sum, sha*sum --tag to output BSD format checksums that indicate (tag) the algorithm used.
TODO
These new items were identified since the last update.- support tee --write-error={[cont],ignore,exit}
- support sleep,timeout --date="..." to specify absolute times independent of suspend/resume etc.
- Integrate fallocate(2) into cp and mv. The interface hasn't been improved, so we'll just use it as is
- posix_fallocate() is still not used due to its dependence on fallocate(2)
- libunistring is now available in debian and fedora and we're about to start using it in coreutils
- integrate Linus' faster sha1sum though the benefits are arch and compiler specific. Also the much faster SSE sha1sum implementation was mentioned, which although architecture specific, is probably worth including given the ubiquity of the architecture and the performance gain it provides
- speed up seq
- sort --range to more efficiently output a subset of the input
- add a NSA/DoD verify function to shred
- More sensible cp --preserve=mode behavior
- Handle ACLs by not using umask
- Add a status=noinfo option to silence dd
- Automatically use more CPU cache efficient buffer sizes in sort
- Possibly integrate the threaded external sort patch
- Add an inplace contrib/ script (or command) to robustly edit files in-place
- Add OCFS2 support to cp --reflink
- uniq --key (like sort --key)
- join should support sort options like -n
- dd oflag={fsync,BLKFLSBUF}
- cut --blank-separated
- shuf --random-range=LO-HI to allow repetition within range
- uniq --group to enhance grouping
- csplit --suppress-matched to exclude delimiter lines from the output files
- support SEEK_DATA/SEEK_HOLE in ZFS and elsewhere to efficiently copy sparse files
- wc -b -M to output frequencies of characters
- multiarch support in stdbuf
- rename might be a candidate for coreutils
- --noatime support to various recursive traversal tools
- rm --no-traverse-mount-points which would be especially useful with bind mounts
- du --size to filter results to above/below a specified size
- stat(1) and ls(1) support for birth time. Dependent on xstat() being provided by the kernel
- fmt -w should not have such low limits
- group -0 to support group names with spaces etc.
- cp -u should be restartable. Currently may leave partial files in dest, or wrong files in the presence of hard links.
- numfmt. A new util rather than the previously mentioned printf %{human}.
- split --confirm-create. To allow one to insert a new disk or whatever. There might be a way to do this externally?
- chmod -hHLP should be supported (like BSD).
© Aug 31 2012