Subject: CVS commit: pkgsrc/sysutils/coreutils
From: Paolo Vincenzo Olivo
Date: 2023-09-08 21:12:52
Message id: 20230908191252.880DAFBDB@cvs.NetBSD.org

Log Message:
sysutils/coreutils | misc/gnuls : update to version 9.4

* Noteworthy changes in release 9.4 (2023-08-29) [stable]

This is a stabilization release coming about 19 weeks after the 9.3 release.
There have been 162 commits by 10 people in the 19 weeks since 9.3.

** 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.)

Files:
RevisionActionfile
1.30modifypkgsrc/sysutils/coreutils/Makefile.common
1.23modifypkgsrc/sysutils/coreutils/PLIST
1.45modifypkgsrc/sysutils/coreutils/distinfo
1.1removepkgsrc/sysutils/coreutils/patches/patch-tests_misc_b2sum.sh