#4928 closed enhancement (fixed)


Reported by: Bruce Dubbs Owned by: lfs-book
Priority: normal Milestone: 11.1
Component: Book Version: git
Severity: normal Keywords:


New major version.

  • Noteworthy changes in release 9.0 (2021-09-24) [stable]

Bug fixes

chmod -v no longer misreports modes of dangling symlinks. [bug introduced in coreutils-5.3.0]

cp -a --attributes-only now never removes destination files, even if the destination files are hardlinked, or the source is a non regular file. [bug introduced in coreutils-8.6]

csplit --suppress-matched now elides the last matched line when a specific number of pattern matches are performed. [bug introduced with the --suppress-matched feature in coreutils-8.22]

df no longer outputs duplicate remote mounts in the presence of bind mounts. [bug introduced in coreutils-8.26]

df no longer mishandles command-line args that it pre-mounts [bug introduced in coreutils-8.29]

du no longer crashes on XFS file systems when the directory hierarchy is heavily changed during the run. [bug introduced in coreutils-8.25]

env -S no longer crashes when given unusual whitespace characters [bug introduced in coreutils-8.30]

expr no longer mishandles unmatched \(...\) in regular expressions. [bug introduced in coreutils-6.0]

ls no longer crashes when printing the SELinux context for unstatable files. [bug introduced in coreutils-6.9.91]

mkdir -m no longer mishandles modes more generous than the umask. [bug introduced in coreutils-8.22]

nl now handles single character --section-delimiter arguments, by assuming a second ':' character has been specified, as specified by POSIX. [This bug was present in "the beginning".]

pr again adjusts tabs in input, to maintain alignment in multi column output. [bug introduced in coreutils-6.9]

rm no longer skips an extra file when the removal of an empty directory fails. [bug introduced by the rewrite to use fts in coreutils-8.0]

split --number=K/N will again correctly split chunk K of N to stdout. Previously a chunk starting after 128KiB, output the wrong part of the file. [bug introduced in coreutils-8.26]

tail -f no longer overruns a stack buffer when given too many files to follow and ulimit -n exceeds 1024. [bug introduced in coreutils-7.5]

tr no longer crashes when using --complement with certain invalid combinations of case character classes. [bug introduced in coreutils-8.6]

basenc --base64 --decode no longer silently discards decoded characters on (1024*5) buffer boundaries [bug introduced in coreutils-8.31]

Changes in behavior

cp and install now default to copy-on-write (COW) if available.

cp, install and mv now use the copy_file_range syscall if available. Also, they use lseek+SEEK_HOLE rather than ioctl+FS_IOC_FIEMAP on sparse files, as lseek is simpler and more portable.

On GNU/Linux systems, ls no longer issues an error message on a directory merely because it was removed. This reverts a change that was made in release 8.32.

ptx -T no longer attempts to substitute old-fashioned TeX escapes for 8-bit non-ASCII alphabetic characters. TeX indexes should instead use '\usepackage[latin1]{inputenc}' or equivalent.

stat will use decomposed (major,minor) device numbers in its default format. This is less ambiguous, and more consistent with ls.

sum [-r] will output a file name, even if only a single name is passed. This is consistent with sum -s, cksum, and other sum(1) implementations.

New Features

cksum now supports the -a (--algorithm) option to select any of the existing sum, md5sum, b2sum, sha*sum implementations etc. cksum now subsumes all of these programs, and coreutils will introduce no future standalone checksum utility.

cksum -a now supports the 'sm3' argument, to use the SM3 digest algorithm.

cksum --check now supports auto detecting the digest type to use, when verifying tagged format checksums.

expr and factor now support bignums on all platforms.

ls --classify now supports the "always", "auto", or "never" flags, to support only outputting classifier characters if connected to a tty.

ls now accepts the --sort=width option, to sort by file name width. This is useful to more compactly organize the default vertical column output.

ls now accepts the --zero option, to terminate each output line with NUL instead of newline.

nl --line-increment can now take a negative number to decrement the count.

stat supports more formats for representing decomposed device numbers. %Hd,%Ld and %Hr,%Lr will output major,minor device numbers and device types respectively. %d corresponds to st_dev and %r to std_rdev.


cat --show-ends will now show \r\n as ^M$. Previously the \r was taken literally, thus overwriting the first character in the line with '$'.

cksum [-a crc] is now up to 4 times faster by using a slice by 8 algorithm, and at least 8 times faster where pclmul instructions are supported. A new --debug option will indicate if pclmul is being used.

md5sum --check now supports checksum files with CRLF line endings. This also applies to cksum, sha*sum, and b2sum.

df now recognizes these file systems as remote: acfs, coda, fhgfs, gpfs, ibrix, ocfs2, and vxfs.

rmdir now clarifies the error if a symlink_to_dir/ has not been traversed. This is the case on GNU/Linux systems, where the trailing slash is ignored.

stat and tail now know about the "devmem", "exfat", "secretmem", "vboxsf", and "zonefs" file system types. stat -f -c%T now reports the file system type, and tail -f uses polling for "vboxsf" and inotify for the others.

timeout now supports sub-second timeouts on macOS.

wc is up to 5 times faster when counting only new line characters, where avx2 instructions are supported. A new --debug option will indicate if avx2 is being used.

Attachments (1)

coreutils-9.0-i18n-1.patch (165.2 KB ) - added by Xi Ruoyao 11 months ago.
Rebased i18n patch

Download all attachments as: .zip

Change History (3)

by Xi Ruoyao, 11 months ago

Attachment: coreutils-9.0-i18n-1.patch added

Rebased i18n patch

comment:1 by Xi Ruoyao, 11 months ago

On my system with OpenSSL-3.0.0 and the rebased i18n patch (above) no test fails.

comment:2 by Bruce Dubbs, 10 months ago

Resolution: fixed
Status: newclosed

Fixed at commit 8e7be496ed40cf03bcd192163080044720dd3845

Package updates.
    Update to vim-8.2.3458.
    Update to iana-etc-20210924.
    Update to tzdata-2021b.
    Update to sysvinit-3.0.0.
    Update to meson-0.59.2.
    Update to linux-5.14.8.
    Update to libcap-2.59.
    Update to coreutils-9.0.
    Update to bison-3.8.2.
Note: See TracTickets for help on using tickets.