Opened 16 months ago
Closed 16 months ago
#5334 closed enhancement (fixed)
coreutils-9.4
Reported by: | Douglas R. Reno | Owned by: | Bruce Dubbs |
---|---|---|---|
Priority: | normal | Milestone: | 12.1 |
Component: | Book | Version: | git |
Severity: | normal | Keywords: | |
Cc: |
Description
New minor version
Change History (4)
comment:1 by , 16 months ago
comment:2 by , 16 months ago
- Noteworthy changes in release 9.4 (2023-08-29) [stable]
Bug fixes
On GNU/Linux s390x and alpha, programs like 'cp' and 'ls' no longer fail on files with inode numbers that do not fit into 32 bits. [This bug was present in "the beginning".]
'b2sum --check' will no longer read unallocated memory when presented with malformed checksum lines. [bug introduced in coreutils-9.2]
'cp --parents' again succeeds when preserving mode for absolute directories. Previously it would have failed with a "No such file or directory" error. [bug introduced in coreutils-9.1]
'cp --sparse=never' will avoid copy-on-write (reflinking) and copy offloading, to ensure no holes present in the destination copy. [bug introduced in coreutils-9.0]
cksum again diagnoses read errors in its default CRC32 mode. [bug introduced in coreutils-9.0]
'cksum --check' now ensures filenames with a leading backslash character are escaped appropriately in the status output. This also applies to the standalone checksumming utilities. [bug introduced in coreutils-8.25]
dd again supports more than two multipliers for numbers. Previously numbers of the form '1024x1024x32' gave "invalid number" errors. [bug introduced in coreutils-9.1]
factor, numfmt, and tsort now diagnose read errors on the input. [This bug was present in "the beginning".]
'install --strip' now supports installing to files with a leading hyphen. Previously such file names would have caused the strip process to fail. [This bug was present in "the beginning".]
ls now shows symlinks specified on the command line that can't be traversed. Previously a "Too many levels of symbolic links" diagnostic was given. [This bug was present in "the beginning".]
pinky, uptime, users, and who no longer misbehave on 32-bit GNU/Linux platforms like x86 and ARM where time_t was historically 32 bits. Also see the new --enable-systemd option mentioned below. [bug introduced in coreutils-9.0]
'pr --length=1 --double-space' no longer enters an infinite loop. [This bug was present in "the beginning".]
shred again operates on Solaris when built for 64 bits. Previously it would have exited with a "getrandom: Invalid argument" error. [bug introduced in coreutils-9.0]
tac now handles short reads on its input. Previously it may have exited erroneously, especially with large input files with no separators. [This bug was present in "the beginning".]
'uptime' no longer incorrectly prints "0 users" on OpenBSD, and is being built again on FreeBSD and Haiku. [bugs introduced in coreutils-9.2]
'wc -l' and 'cksum' no longer crash with an "Illegal instruction" error on x86 Linux kernels that disable XSAVE YMM. This was seen on Xen VMs. [bug introduced in coreutils-9.0]
Changes in behavior
'cp -v' and 'mv -v' will no longer output a message for each file skipped due to -i, or -u. Instead they only output this information with --debug. I.e., 'cp -u -v' etc. will have the same verbosity as before coreutils-9.3.
'cksum -b' no longer prints base64-encoded checksums. Rather that short option is reserved to better support emulation of the standalone checksum utilities with cksum.
'mv dir x' now complains differently if x/dir is a nonempty directory. Previously it said "mv: cannot move 'dir' to 'x/dir': Directory not empty", where it was unclear whether 'dir' or 'x/dir' was the problem. Now it says "mv: cannot overwrite 'x/dir': Directory not empty". Similarly for other renames where the destination must be the problem. [problem introduced in coreutils-6.0]
Improvements
cp, mv, and install now avoid copy_file_range on linux kernels before 5.3 irrespective of which kernel version coreutils is built against, reinstating that behavior from coreutils-9.0.
comm, cut, join, od, and uniq will now exit immediately upon receiving a write error, which is significant when reading large / unbounded inputs.
split now uses more tuned access patterns for its potentially large input. This was seen to improve throughput by 5% when reading from SSD.
split now supports a configurable $TMPDIR for handling any temporary files.
tac now falls back to '/tmp' if a configured $TMPDIR is unavailable.
'who -a' now displays the boot time on Alpine Linux, OpenBSD, Cygwin, Haiku, and some Android distributions
'uptime' now succeeds on some Android distributions, and now counts VM saved/sleep time on GNU (Linux, Hurd, kFreeBSD), NetBSD, OpenBSD, Minix, and Cygwin.
On GNU/Linux platforms where utmp-format files have 32-bit timestamps, pinky, uptime, and who can now work for times after the year 2038, so long as systemd is installed, you configure with a new, experimental option --enable-systemd, and you use the programs without file arguments. (For example, with systemd 'who /var/log/wtmp' does not work because systemd does not support the equivalent of /var/log/wtmp.)
comment:3 by , 16 months ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:4 by , 16 months ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed at commit 3864d235cfd3623f6a4765d9acd13caee62c6629
Rebased i18n patch: https://linuxfromscratch.org/patches/downloads/coreutils/coreutils-9.4-i18n-1.patch