[ANNOUNCEMENT] Updated: coreutils 9.0

2022-08-06 Thread Cygwin coreutils Co-Maintainer
The following package has been upgraded in the Cygwin distribution:

* coreutils 9.0

GNU core utilities (includes fileutils, shellutils and textutils)

Common core utilities include: [ arch b2sum base32 base64
basename cat chcon chgrp chmod chown chroot cksum comm cp csplit cut date
dd df dir dircolors dirname du echo env expand expr factor false fmt fold
gkill groups head hostid id install join link ln logname ls md5sum mkdir
mkfifo mknod mktemp mv nice nl nohup nproc numfmt od paste pathchk pinky
pr printenv printf ptx pwd readlink realpath rm rmdir runcon seq sha1sum
sha224sum sha256sum sha384sum sha512sum shred shuf sleep sort split stat
stdbuf stty sum sync tac tail tee test timeout touch tr true truncate
tsort tty uname unexpand uniq unlink users vdir wc who whoami yes

As no issues have been reported after weeks of testing this package has
been upgraded to current stable. Thanks to all who reported issues
previously and have reported those issues were fixed with this release.

For more information, see the project home pages:

https://www.gnu.org/software/coreutils
https://savannah.gnu.org/projects/coreutils

In case of doubts about changes, it may be useful to check the FAQ or Gotchas:

https://www.gnu.org/software/coreutils/faq/coreutils-faq.html
https://www.pixelbeat.org/docs/coreutils-gotchas.html

For changes since the previous Cygwin release, see below or read
/usr/share/doc/coreutils/NEWS after installation; for complete details see:

https://github.com/coreutils/coreutils/blob/v9.0/NEWS
https://git.sv.gnu.org/gitweb/?p=coreutils.git;a=log;h=refs/tags/v9.0
/usr/share/doc/coreutils/ChangeLog


Noteworthy changes in release 9.0 (2021-09-24)

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 

[ANNOUNCEMENT] Test: coreutils 9.0 (TEST)

2022-07-17 Thread Cygwin coreutils Co-Maintainer
The following test package has been uploaded to the Cygwin distribution:

* coreutils 9.0

GNU core utilities (includes fileutils, shellutils and textutils)

Common core utilities include: [ arch b2sum base32 base64
basename cat chcon chgrp chmod chown chroot cksum comm cp csplit cut date
dd df dir dircolors dirname du echo env expand expr factor false fmt fold
gkill groups head hostid id install join link ln logname ls md5sum mkdir
mkfifo mknod mktemp mv nice nl nohup nproc numfmt od paste pathchk pinky
pr printenv printf ptx pwd readlink realpath rm rmdir runcon seq sha1sum
sha224sum sha256sum sha384sum sha512sum shred shuf sleep sort split stat
stdbuf stty sum sync tac tail tee test timeout touch tr true truncate
tsort tty uname unexpand uniq unlink users vdir wc who whoami yes

Please test these Base category utilities as extensively as possible
(especially if you are a Cygwin package maintainer) as this package is
used in all installations and the latest test release had issues.
I have it locally installed so it is used by commands, scripts,
cron jobs, and cygport builds, so it has and is getting frequent
exercise with no apparent issues so far.
If no issues are reported within a couple of weeks the package will be
upgraded to current.

For more information, see the project home pages:

https://www.gnu.org/software/coreutils
https://savannah.gnu.org/projects/coreutils

In case of doubts about changes, it may be useful to check the FAQ or Gotchas:

https://www.gnu.org/software/coreutils/faq/coreutils-faq.html
https://www.pixelbeat.org/docs/coreutils-gotchas.html

For changes since the previous Cygwin release, see below or read
/usr/share/doc/coreutils/NEWS after installation; for complete details see:

https://github.com/coreutils/coreutils/blob/v9.0/NEWS
https://git.sv.gnu.org/gitweb/?p=coreutils.git;a=log;h=refs/tags/v9.0
/usr/share/doc/coreutils/ChangeLog


Noteworthy changes in release 9.0 (2021-09-24)

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]{inpu

[ANNOUNCEMENT] Updated: coreutils reverted to 8.32 due to bugs in 9.1

2022-06-07 Thread Cygwin coreutils Co-Maintainer
The following package has been reverted to current stable in the Cygwin
distribution due to bugs found after release of the next version 9.1:

* coreutils 8.32

GNU core utilities (includes fileutils, shellutils and textutils)

Common core utilities include: [ arch b2sum base32 base64
basename cat chcon chgrp chmod chown chroot cksum comm cp csplit cut date
dd df dir dircolors dirname du echo env expand expr factor false fmt fold
gkill groups head hostid id install join link ln logname ls md5sum mkdir
mkfifo mknod mktemp mv nice nl nohup nproc numfmt od paste pathchk pinky
pr printenv printf ptx pwd readlink realpath rm rmdir runcon seq sha1sum
sha224sum sha256sum sha384sum sha512sum shred shuf sleep sort split stat
stdbuf stty sum sync tac tail tee test timeout touch tr true truncate
tsort tty uname unexpand uniq unlink users vdir wc who whoami yes

For more information, see the project home pages:

https://www.gnu.org/software/coreutils
https://savannah.gnu.org/projects/coreutils

In case of doubts about changes, it may be useful to check the FAQ or
Gotchas:

https://www.gnu.org/software/coreutils/faq/coreutils-faq.html
https://www.pixelbeat.org/docs/coreutils-gotchas.html

For the many changes since the previous Cygwin release, see below or
read /usr/share/doc/coreutils/NEWS after installation; for complete
details see:

https://github.com/coreutils/coreutils/blob/v8.32/NEWS
https://git.sv.gnu.org/gitweb/?p=coreutils.git;a=log;h=refs/tags/v8.32
/usr/share/doc/coreutils/ChangeLog


Noteworthy changes in release 8.32 (2020-03-05)

Bug fixes

* cp now copies /dev/fd/N correctly on platforms like Solaris where
  it is a character-special file whose minor device number is N.
  [bug introduced in fileutils-4.1.6]

* dd conv=fdatasync no longer reports a "Bad file descriptor" error
  when fdatasync is interrupted, and dd now retries interrupted calls
  to close, fdatasync, fstat and fsync instead of incorrectly
  reporting an "Interrupted system call" error.
  [bugs introduced in coreutils-6.0]

* df now correctly parses the /proc/self/mountinfo file for unusual entries
  like ones with '\r' in a field value ("mount -t tmpfs tmpfs /foo$'\r'bar"),
  when the source field is empty ('mount -t tmpfs "" /mnt'), and when the
  filesystem type contains characters like a blank which need escaping.
  [bugs introduced in coreutils-8.24 with the introduction of reading
   the /proc/self/mountinfo file]

* factor again outputs immediately when stdout is a tty but stdin is not.
  [bug introduced in coreutils-8.24]

* ln works again on old systems without O_DIRECTORY support (like Solaris 10),
  and on systems where symlink ("x", ".") fails with errno == EINVAL
  (like Solaris 10 and Solaris 11).
  [bug introduced in coreutils-8.31]

* rmdir --ignore-fail-on-non-empty now works correctly for directories
  that fail to be removed due to permission issues.  Previously the exit status
  was reversed, failing for non empty and succeeding for empty directories.
  [bug introduced in coreutils-6.11]

* 'shuf -r -n 0 file' no longer mistakenly reads from standard input.
  [bug introduced with the --repeat feature in coreutils-8.22]

* split no longer reports a "output file suffixes exhausted" error
  when the specified number of files is evenly divisible by 10, 16, 26,
  for --numeric, --hex, or default alphabetic suffixes respectively.
  [bug introduced in coreutils-8.24]

* seq no longer prints an extra line under certain circumstances (such as
  'seq -f "%g " 100 100').
  [bug introduced in coreutils-6.10]

Changes in behavior

* Several programs now check that numbers end properly.  For example,
  'du -d 1x' now reports an error instead of silently ignoring the 'x'.
  Affected programs and options include du -d, expr's numeric operands
  on non-GMP builds, install -g and -o, ls's TABSIZE environment
  variable, mknod b and c, ptx -g and -w, shuf -n, and sort --batch-size
  and --parallel.

* date now parses military time zones in accordance with common usage:
"A" to "M"  are equivalent to UTC+1 to UTC+12
"N" to "Y"  are equivalent to UTC-1 to UTC-12
"Z" is "zulu" time (UTC).
  For example, 'date -d "09:00B" is now equivalent to 9am in UTC+2 time zone.
  Previously, military time zones were parsed according to the obsolete
  rfc822, with their value negated (e.g., "B" was equivalent to UTC-2).
  [The old behavior was introduced in sh-utils 2.0.15 ca. 1999, predating
  coreutils package.]

* ls issues an error message on a removed directory, on GNU/Linux systems.
  Previously no error and no entries were output, and so indistinguishable
  from an empty directory, with default ls options.

* uniq no longer uses strcoll() to determine string equivalence,
  and so will operate more efficiently and consistently.

New Features

* ls now supports the --time=birth option to display and sort by
  file creation time, where available.

* od --skip-bytes now can

[ANNOUNCEMENT] Updated: coreutils 9.1

2022-06-05 Thread Cygwin coreutils Co-Maintainer
The following package has been in test for two weeks with no reported or
obvious issues and has now been upgraded to current stable in the Cygwin
distribution:

* coreutils 9.1

GNU core utilities (includes fileutils, shellutils and textutils)

Common core utilities include: [ arch b2sum base32 base64
basename cat chcon chgrp chmod chown chroot cksum comm cp csplit cut date
dd df dir dircolors dirname du echo env expand expr factor false fmt fold
gkill groups head hostid id install join link ln logname ls md5sum mkdir
mkfifo mknod mktemp mv nice nl nohup nproc numfmt od paste pathchk pinky
pr printenv printf ptx pwd readlink realpath rm rmdir runcon seq sha1sum
sha224sum sha256sum sha384sum sha512sum shred shuf sleep sort split stat
stdbuf stty sum sync tac tail tee test timeout touch tr true truncate
tsort tty uname unexpand uniq unlink users vdir wc who whoami yes

For more information, see the project home pages:

https://www.gnu.org/software/coreutils
https://savannah.gnu.org/projects/coreutils

In case of doubts about changes, it may be useful to check the FAQ or
Gotchas:

https://www.gnu.org/software/coreutils/faq/coreutils-faq.html
https://www.pixelbeat.org/docs/coreutils-gotchas.html

For the many changes since the previous Cygwin release, see below or
read /usr/share/doc/coreutils/NEWS after installation; for complete
details see:

https://github.com/coreutils/coreutils/blob/v9.1/NEWS
https://git.sv.gnu.org/gitweb/?p=coreutils.git;a=log;h=refs/tags/v9.1
/usr/share/doc/coreutils/ChangeLog


Noteworthy changes in release 9.1 (2022-04-15)

Bug fixes

* chmod -R no longer exits with error status when encountering symlinks.
  All files would be processed correctly, but the exit status was incorrect.
  [bug introduced in coreutils-9.0]

* If 'cp -Z A B' checks B's status and some other process then removes B,
  cp no longer creates B with a too-generous SELinux security context
  before adjusting it to the correct value.
  [bug introduced in coreutils-8.17]

* 'cp --preserve=ownership A B' no longer ignores the umask when creating B.
  Also, 'cp --preserve-xattr A B' is less likely to temporarily chmod u+w B.
  [bug introduced in coreutils-6.7]

* On macOS, 'cp A B' no longer miscopies when A is in an APFS file system
  and B is in some other file system.
  [bug introduced in coreutils-9.0]

* On macOS, fmt no longer corrupts multi-byte characters
  by misdetecting their component bytes as spaces.
  [This bug was present in "the beginning".]

* 'id xyz' now uses the name 'xyz' to determine groups, instead of xyz's uid.
  [bug introduced in coreutils-8.22]

* 'ls -v' and 'sort -V' no longer mishandle corner cases like "a..a" vs "a.+"
  or lines containing NULs.  Their behavior now matches the documentation
  for file names like ".m4" that consist entirely of an extension,
  and the documentation has been clarified for unusual cases.
  [bug introduced in coreutils-7.0]

* On macOS, 'mv A B' no longer fails with "Operation not supported"
  when A and B are in the same tmpfs file system.
  [bug introduced in coreutils-9.0]

* 'mv -T --backup=numbered A B/' no longer miscalculates the backup number
  for B when A is a directory, possibly inflooping.
  [bug introduced in coreutils-6.3]

Changes in behavior

* cat now uses the copy_file_range syscall if available, when doing
  simple copies between regular files.  This may be more efficient, by avoiding
  user space copies, and possibly employing copy offloading or reflinking.

* chown and chroot now warn about usages like "chown root.root f",
  which have the nonstandard and long-obsolete "." separator that
  causes problems on platforms where user names contain ".".
  Applications should use ":" instead of ".".

* cksum no longer allows abbreviated algorithm names,
  so that forward compatibility and robustness is improved.

* date +'%-N' now suppresses excess trailing digits, instead of always
  padding them with zeros to 9 digits.  It uses clock_getres and
  clock_gettime to infer the clock resolution.

* dd conv=fsync now synchronizes output even after a write error,
  and similarly for dd conv=fdatasync.

* dd now counts bytes instead of blocks if a block count ends in "B".
  For example, 'dd count=100KiB' now copies 100 KiB of data, not
  102,400 blocks of data.  The flags count_bytes, skip_bytes and
  seek_bytes are therefore obsolescent and are no longer documented,
  though they still work.

* ls no longer colors files with capabilities by default, as file-based
  capabilties are very rarely used, and lookup increases processing per file by
  about 30%.  It's best to use getcap [-r] to identify files with capabilities.

* ls no longer tries to automount files, reverting to the behavior
  before the statx() call was introduced in coreutils-8.32.

* stat no longer tries to automount files by default, reverting to the
  behavior before the statx() call was introduced in coreutils-8.32.
  Only `

[ANNOUNCEMENT] Test: coreutils 9.1 (TEST)

2022-05-21 Thread Cygwin coreutils Co-Maintainer
The following test package has been uploaded to the Cygwin distribution:

* coreutils 9.1

GNU core utilities (includes fileutils, shellutils and textutils)

Common core utilities include: [ arch b2sum base32 base64
basename cat chcon chgrp chmod chown chroot cksum comm cp csplit cut date
dd df dir dircolors dirname du echo env expand expr factor false fmt fold
gkill groups head hostid id install join link ln logname ls md5sum mkdir
mkfifo mknod mktemp mv nice nl nohup nproc numfmt od paste pathchk pinky
pr printenv printf ptx pwd readlink realpath rm rmdir runcon seq sha1sum
sha224sum sha256sum sha384sum sha512sum shred shuf sleep sort split stat
stdbuf stty sum sync tac tail tee test timeout touch tr true truncate
tsort tty uname unexpand uniq unlink users vdir wc who whoami yes

Please test these Base category utilities as extensively as possible
(especially if you are a Cygwin package maintainer) as this package is
used in all installations and has not been upgraded for a few years.
I have it locally installed so it is used by commands, scripts,
cron jobs, and cygport builds, so it has and is getting frequent
exercise with no apparent issues so far.
If no issues are reported within a couple of weeks the package will be
upgraded to current.

For more information, see the project home pages:

https://www.gnu.org/software/coreutils
https://savannah.gnu.org/projects/coreutils

In case of doubts about changes, it may be useful to check the FAQ or Gotchas:

https://www.gnu.org/software/coreutils/faq/coreutils-faq.html
https://www.pixelbeat.org/docs/coreutils-gotchas.html

For changes since the previous Cygwin release, see below or read
/usr/share/doc/coreutils/NEWS after installation; for complete details see:

https://github.com/coreutils/coreutils/blob/v9.1/NEWS
https://git.sv.gnu.org/gitweb/?p=coreutils.git;a=log;h=refs/tags/v9.1
/usr/share/doc/coreutils/ChangeLog


Noteworthy changes in release 9.1 (2022-04-15)

Bug fixes

* chmod -R no longer exits with error status when encountering symlinks.
  All files would be processed correctly, but the exit status was incorrect.
  [bug introduced in coreutils-9.0]

* If 'cp -Z A B' checks B's status and some other process then removes B,
  cp no longer creates B with a too-generous SELinux security context
  before adjusting it to the correct value.
  [bug introduced in coreutils-8.17]

* 'cp --preserve=ownership A B' no longer ignores the umask when creating B.
  Also, 'cp --preserve-xattr A B' is less likely to temporarily chmod u+w B.
  [bug introduced in coreutils-6.7]

* On macOS, 'cp A B' no longer miscopies when A is in an APFS file system
  and B is in some other file system.
  [bug introduced in coreutils-9.0]

* On macOS, fmt no longer corrupts multi-byte characters
  by misdetecting their component bytes as spaces.
  [This bug was present in "the beginning".]

* 'id xyz' now uses the name 'xyz' to determine groups, instead of xyz's uid.
  [bug introduced in coreutils-8.22]

* 'ls -v' and 'sort -V' no longer mishandle corner cases like "a..a" vs "a.+"
  or lines containing NULs.  Their behavior now matches the documentation
  for file names like ".m4" that consist entirely of an extension,
  and the documentation has been clarified for unusual cases.
  [bug introduced in coreutils-7.0]

* On macOS, 'mv A B' no longer fails with "Operation not supported"
  when A and B are in the same tmpfs file system.
  [bug introduced in coreutils-9.0]

* 'mv -T --backup=numbered A B/' no longer miscalculates the backup number
  for B when A is a directory, possibly inflooping.
  [bug introduced in coreutils-6.3]

Changes in behavior

* cat now uses the copy_file_range syscall if available, when doing
  simple copies between regular files.  This may be more efficient, by avoiding
  user space copies, and possibly employing copy offloading or reflinking.

* chown and chroot now warn about usages like "chown root.root f",
  which have the nonstandard and long-obsolete "." separator that
  causes problems on platforms where user names contain ".".
  Applications should use ":" instead of ".".

* cksum no longer allows abbreviated algorithm names,
  so that forward compatibility and robustness is improved.

* date +'%-N' now suppresses excess trailing digits, instead of always
  padding them with zeros to 9 digits.  It uses clock_getres and
  clock_gettime to infer the clock resolution.

* dd conv=fsync now synchronizes output even after a write error,
  and similarly for dd conv=fdatasync.

* dd now counts bytes instead of blocks if a block count ends in "B".
  For example, 'dd count=100KiB' now copies 100 KiB of data, not
  102,400 blocks of data.  The flags count_bytes, skip_bytes and
  seek_bytes are therefore obsolescent and are no longer documented,
  though they still work.

* ls no longer colors files with capabilities by default, as file-based
  capabilties are very rarely used, and lookup increases proc

[ANNOUNCEMENT] Updated: coreutils 8.32

2022-05-21 Thread Cygwin coreutils Co-Maintainer
The following package has been in test for two weeks with no reported or
obvious issues and has now been upgraded to current stable in the Cygwin
distribution:

* coreutils 8.32

GNU core utilities (includes fileutils, shellutils and textutils)

Common core utilities include: [ arch b2sum base32 base64
basename cat chcon chgrp chmod chown chroot cksum comm cp csplit cut date
dd df dir dircolors dirname du echo env expand expr factor false fmt fold
gkill groups head hostid id install join link ln logname ls md5sum mkdir
mkfifo mknod mktemp mv nice nl nohup nproc numfmt od paste pathchk pinky
pr printenv printf ptx pwd readlink realpath rm rmdir runcon seq sha1sum
sha224sum sha256sum sha384sum sha512sum shred shuf sleep sort split stat
stdbuf stty sum sync tac tail tee test timeout touch tr true truncate
tsort tty uname unexpand uniq unlink users vdir wc who whoami yes

For more information, see the project home pages:

https://www.gnu.org/software/coreutils
https://savannah.gnu.org/projects/coreutils

In case of doubts about changes, it may be useful to check the FAQ or
Gotchas:

https://www.gnu.org/software/coreutils/faq/coreutils-faq.html
https://www.pixelbeat.org/docs/coreutils-gotchas.html

For the many changes since the previous Cygwin release, see below or
read /usr/share/doc/coreutils/NEWS after installation; for complete
details see:

https://github.com/coreutils/coreutils/blob/v8.32/NEWS
https://git.sv.gnu.org/gitweb/?p=coreutils.git;a=log;h=refs/tags/v8.32
/usr/share/doc/coreutils/ChangeLog


Noteworthy changes in release 8.32 (2020-03-05)

Bug fixes

* cp now copies /dev/fd/N correctly on platforms like Solaris where
  it is a character-special file whose minor device number is N.
  [bug introduced in fileutils-4.1.6]

* dd conv=fdatasync no longer reports a "Bad file descriptor" error
  when fdatasync is interrupted, and dd now retries interrupted calls
  to close, fdatasync, fstat and fsync instead of incorrectly
  reporting an "Interrupted system call" error.
  [bugs introduced in coreutils-6.0]

* df now correctly parses the /proc/self/mountinfo file for unusual entries
  like ones with '\r' in a field value ("mount -t tmpfs tmpfs /foo$'\r'bar"),
  when the source field is empty ('mount -t tmpfs "" /mnt'), and when the
  filesystem type contains characters like a blank which need escaping.
  [bugs introduced in coreutils-8.24 with the introduction of reading
   the /proc/self/mountinfo file]

* factor again outputs immediately when stdout is a tty but stdin is not.
  [bug introduced in coreutils-8.24]

* ln works again on old systems without O_DIRECTORY support (like Solaris 10),
  and on systems where symlink ("x", ".") fails with errno == EINVAL
  (like Solaris 10 and Solaris 11).
  [bug introduced in coreutils-8.31]

* rmdir --ignore-fail-on-non-empty now works correctly for directories
  that fail to be removed due to permission issues.  Previously the exit status
  was reversed, failing for non empty and succeeding for empty directories.
  [bug introduced in coreutils-6.11]

* 'shuf -r -n 0 file' no longer mistakenly reads from standard input.
  [bug introduced with the --repeat feature in coreutils-8.22]

* split no longer reports a "output file suffixes exhausted" error
  when the specified number of files is evenly divisible by 10, 16, 26,
  for --numeric, --hex, or default alphabetic suffixes respectively.
  [bug introduced in coreutils-8.24]

* seq no longer prints an extra line under certain circumstances (such as
  'seq -f "%g " 100 100').
  [bug introduced in coreutils-6.10]

Changes in behavior

* Several programs now check that numbers end properly.  For example,
  'du -d 1x' now reports an error instead of silently ignoring the 'x'.
  Affected programs and options include du -d, expr's numeric operands
  on non-GMP builds, install -g and -o, ls's TABSIZE environment
  variable, mknod b and c, ptx -g and -w, shuf -n, and sort --batch-size
  and --parallel.

* date now parses military time zones in accordance with common usage:
"A" to "M"  are equivalent to UTC+1 to UTC+12
"N" to "Y"  are equivalent to UTC-1 to UTC-12
"Z" is "zulu" time (UTC).
  For example, 'date -d "09:00B" is now equivalent to 9am in UTC+2 time zone.
  Previously, military time zones were parsed according to the obsolete
  rfc822, with their value negated (e.g., "B" was equivalent to UTC-2).
  [The old behavior was introduced in sh-utils 2.0.15 ca. 1999, predating
  coreutils package.]

* ls issues an error message on a removed directory, on GNU/Linux systems.
  Previously no error and no entries were output, and so indistinguishable
  from an empty directory, with default ls options.

* uniq no longer uses strcoll() to determine string equivalence,
  and so will operate more efficiently and consistently.

New Features

* ls now supports the --time=birth option to display and sort by
  file creation time, where available.

* od --

[ANNOUNCEMENT] Test: coreutils 8.32 (TEST)

2022-05-07 Thread Cygwin coreutils Co-Maintainer
The following test package has been uploaded to the Cygwin distribution:

* coreutils 8.32

GNU core utilities (includes fileutils, shellutils and textutils)

Common core utilities include: [ arch b2sum base32 base64
basename cat chcon chgrp chmod chown chroot cksum comm cp csplit cut date
dd df dir dircolors dirname du echo env expand expr factor false fmt fold
gkill groups head hostid id install join link ln logname ls md5sum mkdir
mkfifo mknod mktemp mv nice nl nohup nproc numfmt od paste pathchk pinky
pr printenv printf ptx pwd readlink realpath rm rmdir runcon seq sha1sum
sha224sum sha256sum sha384sum sha512sum shred shuf sleep sort split stat
stdbuf stty sum sync tac tail tee test timeout touch tr true truncate
tsort tty uname unexpand uniq unlink users vdir wc who whoami yes

Please test these Base category utilities as extensively as possible
(especially if you are a Cygwin package maintainer) as this package is
used in all installations and has not been upgraded for a few years.
I have it locally installed so it is used by commands, scripts,
cron jobs, and cygport builds, so it has and is getting frequent
exercise with no apparent issues so far.
If no issues are reported within a couple of weeks the package will be
upgraded to current.

For more information, see the project home pages:

https://www.gnu.org/software/coreutils
https://savannah.gnu.org/projects/coreutils

In case of doubts about changes, it may be useful to check the FAQ or Gotchas:

https://www.gnu.org/software/coreutils/faq/coreutils-faq.html
https://www.pixelbeat.org/docs/coreutils-gotchas.html

For changes since the previous Cygwin release, see below or read
/usr/share/doc/coreutils/NEWS after installation; for complete details see:

https://github.com/coreutils/coreutils/blob/v8.32/NEWS
https://git.sv.gnu.org/gitweb/?p=coreutils.git;a=log;h=refs/tags/v8.32
/usr/share/doc/coreutils/ChangeLog


Noteworthy changes in release 8.32 (2020-03-05)

Bug fixes

* cp now copies /dev/fd/N correctly on platforms like Solaris where
  it is a character-special file whose minor device number is N.
  [bug introduced in fileutils-4.1.6]

* dd conv=fdatasync no longer reports a "Bad file descriptor" error
  when fdatasync is interrupted, and dd now retries interrupted calls
  to close, fdatasync, fstat and fsync instead of incorrectly
  reporting an "Interrupted system call" error.
  [bugs introduced in coreutils-6.0]

* df now correctly parses the /proc/self/mountinfo file for unusual entries
  like ones with '\r' in a field value ("mount -t tmpfs tmpfs /foo$'\r'bar"),
  when the source field is empty ('mount -t tmpfs "" /mnt'), and when the
  filesystem type contains characters like a blank which need escaping.
  [bugs introduced in coreutils-8.24 with the introduction of reading
   the /proc/self/mountinfo file]

* factor again outputs immediately when stdout is a tty but stdin is not.
  [bug introduced in coreutils-8.24]

* ln works again on old systems without O_DIRECTORY support (like Solaris 10),
  and on systems where symlink ("x", ".") fails with errno == EINVAL
  (like Solaris 10 and Solaris 11).
  [bug introduced in coreutils-8.31]

* rmdir --ignore-fail-on-non-empty now works correctly for directories
  that fail to be removed due to permission issues.  Previously the exit status
  was reversed, failing for non empty and succeeding for empty directories.
  [bug introduced in coreutils-6.11]

* 'shuf -r -n 0 file' no longer mistakenly reads from standard input.
  [bug introduced with the --repeat feature in coreutils-8.22]

* split no longer reports a "output file suffixes exhausted" error
  when the specified number of files is evenly divisible by 10, 16, 26,
  for --numeric, --hex, or default alphabetic suffixes respectively.
  [bug introduced in coreutils-8.24]

* seq no longer prints an extra line under certain circumstances (such as
  'seq -f "%g " 100 100').
  [bug introduced in coreutils-6.10]

Changes in behavior

* Several programs now check that numbers end properly.  For example,
  'du -d 1x' now reports an error instead of silently ignoring the 'x'.
  Affected programs and options include du -d, expr's numeric operands
  on non-GMP builds, install -g and -o, ls's TABSIZE environment
  variable, mknod b and c, ptx -g and -w, shuf -n, and sort --batch-size
  and --parallel.

* date now parses military time zones in accordance with common usage:
"A" to "M"  are equivalent to UTC+1 to UTC+12
"N" to "Y"  are equivalent to UTC-1 to UTC-12
"Z" is "zulu" time (UTC).
  For example, 'date -d "09:00B" is now equivalent to 9am in UTC+2 time zone.
  Previously, military time zones were parsed according to the obsolete
  rfc822, with their value negated (e.g., "B" was equivalent to UTC-2).
  [The old behavior was introduced in sh-utils 2.0.15 ca. 1999, predating
  coreutils package.]

* ls issues an error message on a removed directory, on GNU/Linux systems.