From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from omta001.cacentral1.a.cloudfilter.net (omta001.cacentral1.a.cloudfilter.net [3.97.99.32]) by sourceware.org (Postfix) with ESMTPS id F2110382CB8D for ; Tue, 7 Jun 2022 09:23:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org F2110382CB8D Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=SystematicSW.ab.ca Authentication-Results: sourceware.org; spf=none smtp.mailfrom=systematicsw.ab.ca Received: from shw-obgw-4004a.ext.cloudfilter.net ([10.228.9.227]) by cmsmtp with ESMTP id yE28nzv2twtwGyVRFnHRXm; Tue, 07 Jun 2022 09:23:49 +0000 Received: from localhost.localdomain ([184.64.124.72]) by cmsmtp with ESMTP id yVRNnf9hrsF60yVRNnAiUo; Tue, 07 Jun 2022 09:23:58 +0000 X-Authority-Analysis: v=2.4 cv=Z8n/oVdA c=1 sm=1 tr=0 ts=629f192e a=oHm12aVswOWz6TMtn9zYKg==:117 a=oHm12aVswOWz6TMtn9zYKg==:17 a=mDV3o1hIAAAA:8 a=MmUSiMNPAAAA:8 a=NEAV23lmAAAA:8 a=Hkv18Q0sWj5o7l2dKIEA:9 a=E9LOF7ZTFmZo2SGD:21 a=Zl05Cnl99J8A:10 a=QQ7w5id75fsA:10 a=eOvZzVtZtNIA:10 a=4bviTq0bbd4A:10 a=_FVE-zBwftR9WsbkzFJk:22 a=Y72HvEf_-AtddgDzmv6B:22 From: "Cygwin coreutils Co-Maintainer" To: "Cygwin Announcements" Reply-To: "Cygwin" Date: Tue, 07 Jun 2022 03:22:51 -0600 Message-Id: <20220607032251.54780-1-Brian.Inglis@SystematicSW.ab.ca> Subject: Updated: coreutils reverted to 8.32 due to bugs in 9.1 X-CMAE-Envelope: MS4xfK9wh2Fat6u3rQZbtASXPIt6o8y4vh0sffinLcZNDoKsHXItBMOBTmZEKV4wKlf8MmuxH5DUwE+DTMU/wg1V8HymvB4H5PqmisHgYU5dL+u9jW9ovBxt 5uSARP2J59xN+XFxZAdn6atP6a03D4lac+/l+SjnQa5OqIPO3DOvwHWBjyIpS62tNSvPxT0vDRVuTCrQoW/e+j+e4qQcjmEQfHt0fZrCkBQZzG9DNo02BXPw X-Spam-Status: No, score=-1163.7 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, KAM_NUMSUBJECT, KAM_SHORT, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: cygwin-announce@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Read-only mailing list announcing new and updated Cygwin packages List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jun 2022 09:24:02 -0000 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 " 1000000 1000000'). [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 use lseek even if the input is not a regular file, greatly improving performance in some cases. * stat(1) supports a new --cached= option, used on systems with statx(2) to control cache coherency of file system attributes, useful on network file systems. Improvements * stat and ls now use the statx() system call where available, which can operate more efficiently by only retrieving requested attributes. * stat and tail now know about the "binderfs", "dma-buf-fs", "erofs", "ppc-cmm-fs", and "z3fold" file systems. stat -f -c%T now reports the file system type, and tail -f uses inotify. Build-related * gzip-compressed tarballs are distributed once again Noteworthy changes in release 8.31 (2019-03-10) Bug fixes * 'base64 a b' now correctly diagnoses 'b' as the extra operand, not 'a'. [bug introduced in coreutils-5.3.0] * When B already exists, 'cp -il A B' no longer immediately fails after asking the user whether to proceed. [This bug was present in "the beginning".] * df no longer corrupts displayed multibyte characters on macOS. [bug introduced with coreutils-8.18] * seq no longer outputs inconsistent decimal point characters for the last number, when locales are misconfigured. [bug introduced in coreutils-7.0] * shred, sort, and split no longer falsely report ftruncate errors when outputting to less-common file types. For example, the shell command 'sort /dev/null -o /dev/stdout | cat' no longer fails with an "error truncating" diagnostic. [bug was introduced with coreutils-8.18 for sort and split, and (for shared memory objects only) with fileutils-4.1 for shred] * sync no longer fails for write-only file arguments. [bug introduced with argument support to sync in coreutils-8.24] * 'tail -f file | filter' no longer exits immediately on AIX. [bug introduced in coreutils-8.28] * 'tail -f file | filter' no longer goes into an infinite loop if filter exits and SIGPIPE is ignored. [bug introduced in coreutils-8.28] Changes in behavior * cksum, dd, hostid, hostname, link, logname, sleep, tsort, unlink, uptime, users, whoami, yes: now always process --help and --version options, regardless of any other arguments present before any optional '--' end-of-options marker. * nohup now processes --help and --version as first options even if other parameters follow. * 'yes a -- b' now outputs 'a b' instead of including the end-of-options marker as before: 'a -- b'. * echo now always processes backslash escapes when the POSIXLY_CORRECT environment variable is set. * When possible 'ln A B' now merely links A to B and reports an error if this fails, instead of statting A and B before linking. This uses fewer system calls and avoids some races. The old statting approach is still used in situations where hard links to directories are allowed (e.g., NetBSD when superuser). * ls --group-directories-first will also group symlinks to directories. * 'test -a FILE' is not supported anymore. Long ago, there were concerns about the high probability of humans confusing the -a primary with the -a binary operator, so POSIX changed this to 'test -e FILE'. Scripts using it were already broken and non-portable; the -a unary operator was never documented. * wc now treats non breaking space characters as word delimiters unless the POSIXLY_CORRECT environment variable is set. New features * id now supports specifying multiple users. * 'date' now supports the '+' conversion specification flag, introduced in POSIX.1-2017. * printf, seq, sleep, tail, and timeout now accept floating point numbers in either the current or the C locale. For example, if the current locale's decimal point is ',', 'sleep 0,1' and 'sleep 0.1' now mean the same thing. Previously, these commands accepted only C-locale syntax with '.' as the decimal point. The new behavior is more compatible with other implementations in non-C locales. * test now supports the '-N FILE' unary operator (like e.g. bash) to check whether FILE exists and has been modified since it was last read. * env now supports '--default-signal[=SIG]', '--ignore-signal[=SIG]', and '--block-signal[=SIG], to setup signal handling before executing a program. * env now supports '--list-signal-handling' to indicate non-default signal handling before executing a program. New commands * basenc is added to complement existing base64,base32 commands, and encodes and decodes printable text using various common encodings: base64,base64url,base32,base32hex,base16,base2,z85. Improvements * ls -l now better aligns abbreviated months containing digits, which is common in Asian locales. * stat and tail now know about the "sdcardfs" file system on Android. stat -f -c%T now reports the file system type, and tail -f uses inotify. * stat now prints file creation time when supported by the file system, on GNU Linux systems with glibc >= 2.28 and kernel >= 4.11. Noteworthy changes in release 8.30 (2018-07-01) Bug fixes * 'cp --symlink SRC DST' will again correctly validate DST. If DST is a regular file and SRC is a symlink to DST, then cp will no longer allow that operation to clobber DST. Also with -d, if DST is a symlink, then it can always be replaced, even if it points to SRC on a separate device. [bugs introduced with coreutils-8.27] * 'cp -n -u' and 'mv -n -u' now consistently ignore the -u option. Previously, this option combination suffered from race conditions that caused -u to sometimes override -n. [bug introduced with coreutils-7.1] * 'cp -a --no-preserve=mode' now sets appropriate default permissions for non regular files like fifos and character device nodes etc., and leaves mode bits of existing files unchanged. Previously it would have set executable bits on created special files, and set mode bits for existing files as if they had been created. [bug introduced with coreutils-8.20] * 'cp --remove-destination file symlink' now removes the symlink even if it can't be traversed. [bug introduced with --remove-destination in fileutils-4.1.1] * ls no longer truncates the abbreviated month names that have a display width between 6 and 12 inclusive. Previously this would have output ambiguous months for Arabic or Catalan locales. * 'ls -aA' is now equivalent to 'ls -A', since -A now overrides -a. [bug introduced in coreutils-5.3.0] * 'mv -n A B' no longer suffers from a race condition that can overwrite a simultaneously-created B. This bug fix requires platform support for the renameat2 or renameatx_np syscalls, found in recent Linux and macOS kernels. As a side effect, 'mv -n A A' now silently does nothing if A exists. [bug introduced with coreutils-7.1] Changes in behavior * 'cp --force file symlink' now removes the symlink even if it is self referential. * ls --color now matches file extensions case insensitively. New features * cp --reflink now supports --reflink=never to enforce a standard copy. * env supports a new -v/--debug option to show verbose information about each processing step. * env supports a new -S/--split-string=S option to split a single argument string into multiple arguments. Used to pass multiple arguments in scripts (shebang lines). * md5sum accepts a new option: --zero (-z) to delimit the output lines with a NUL instead of a newline character. This also disables file name escaping. This also applies to sha*sum and b2sum. * rm --preserve-root now supports the --preserve-root=all option to reject any command line argument that is mounted to a separate file system. Improvements * cut supports line lengths up to the max file size on 32 bit systems. Previously only offsets up to SIZE_MAX-1 were supported. * stat and tail now know about the "exfs" file system, which is a version of XFS. stat -f --format=%T now reports the file system type, and tail -f uses inotify. * wc avoids redundant processing of ASCII text in multibyte locales, which is especially significant on macOS. Noteworthy changes in release 8.29 (2017-12-27) Bug fixes * b2sum no longer crashes when processing certain truncated check files. [bug introduced with b2sum coreutils-8.26] * dd now ensures the correct cache ranges are specified for the "nocache" and "direct" flags. Previously some pages in the page cache were not invalidated. [bug introduced for "direct" in coreutils-7.5, and with the "nocache" implementation in coreutils-8.11] * df no longer hangs when given a fifo argument. [bug introduced in coreutils-7.3] * ptx -S no longer infloops for a pattern which returns zero-length matches. [the bug dates back to the initial implementation] * shred --remove will again repeatedly rename files with shortening names to attempt to hide the original length of the file name. [bug introduced in coreutils-8.28] * stty no longer crashes when processing settings with -F also specified. [bug introduced in fileutils-4.0] * tail --bytes again supports non seekable inputs on all systems. On systems like android it always tried to process as seekable inputs. [bug introduced in coreutils-8.24] * timeout will again notice its managed command exiting, even when invoked with blocked CHLD signal, or in a narrow window where this CHLD signal from the exiting child was missed. In each case timeout would have then waited for the time limit to expire. [bug introduced in coreutils-8.27] New features * timeout now supports the --verbose option to diagnose forced termination. Improvements * dd now supports iflag=direct with arbitrary sized files on all file systems. * tail --bytes=NUM will efficiently seek to the end of block devices, rather than reading from the start. * Utilities which do not support long options (other than the default --help and --version), e.g. cksum and sleep, now use more consistent error diagnostic for unknown long options. Build-related * Default man pages are now distributed which are used if perl is not available on the build system, or when cross compiling. Noteworthy changes in release 8.28 (2017-09-01) Bug fixes * cp and mv now merely warn about any failure to preserve symlink ownership. Before, cp (without -p) would exit with a failure status, and a cross-device mv would leave such symlinks behind in the source file system. [the bug dates back to the initial implementation] * When creating numbered backups, cp, install, ln, and mv now avoid races that could lose backup data in unlikely circumstances. Since the fix relies on the renameat2 system call of Linux kernel 3.15 and later, the races are still present on other platforms. [the bug dates back to the initial implementation] * cp, install, ln, and mv no longer lose data when asked to copy a backup file to its original via a differently-spelled file name. E.g., 'rm -f a a~; : > a; echo data > a~; cp --backup=simple a~ ./a' now fails instead of losing the data. [the bug dates back to the initial implementation] * cp, install, ln, and mv now ignore nonsensical backup suffixes. For example, --suffix='/' and --suffix='' are now no-ops. [the bug dates back to the initial implementation] * date and touch no longer overwrite the heap with large user specified TZ values (CVE-2017-7476). [bug introduced in coreutils-8.27] * dd status=progress now just counts seconds; e.g., it outputs "6 s" consistently rather than sometimes outputting "6.00001 s". [bug introduced in coreutils-8.24] * df no longer interacts with excluded file system types, so for example specifying -x nfs no longer hangs with problematic nfs mounts. [bug introduced in coreutils-8.21] * df no longer interacts with dummy file system types, so for example no longer hangs with problematic nfs mounted via system.automount(5). [bug introduced in coreutils-8.21] * `groups inva:lid root` no longer exits immediately upon failure. Now, it prints a diagnostic or a line to stdout for each argument. [bug introduced in the bourne-shell-to-C rewrite for coreutils-6.11] * kill now converts from number to signal name correctly on AIX. Previously it would have always returned the 'EXIT' name. [bug introduced in fileutils-4.1.9] * ls now quotes symlink targets consistently. Previously it may not have quoted the target name if the link name itself didn't need quoting. [bug introduced in coreutils-8.26] * split no longer exits when invocations of a --filter return EPIPE. [bug introduced in coreutils-8.26] * md5sum --check no longer incorrectly enables BSD reversed format mode when ignoring some non checksum lines. This also affects sha*sum and b2sum. [bug introduced in coreutils-8.14] * tail -F 'dir/file' is now monitored even when 'dir' is replaced. [bug introduced with inotify support added in coreutils-7.5] * tail -f with --pid=PID now processes all inotify events. Previously events may have been ignored completely upon PID death, or ignored until future events on the monitored files. [bug introduced with inotify support added in coreutils-7.5] * tail -f /dev/tty is now supported by not using inotify when any non regular files are specified, as inotify is ineffective with these. [bug introduced with inotify support added in coreutils-7.5] * uptime no longer outputs the AM/PM component of the current time, as that's inconsistent with the 24 hour time format used. [bug introduced in coreutils-7.0] * expr now returns number of characters matched (instead of incorrect number of bytes matched) with 'match'/':' operators on multibyte strings. New features * expand and unexpand now support specifying an offset for tab stops by prefixing the last specified number like --tabs=1,+8 which is useful for visualizing diff output for example. * ls supports a new --hyperlink[=when] option to output file:// format links to files, supported by some terminals. * split supports a new --hex-suffixes[=from] option to create files with lower case hexadecimal suffixes, similar to the --numeric-suffixes option. * env now has a --chdir (-C) option to change the working directory before executing the subsidiary program. * expr supports multibyte strings for all string operations. Changes in behavior * tail -f now exits immediately if the output is piped and the reader of the pipe terminates. That allows `tail -f file | grep -q foo` to return responsively, but does make `tail -f file | :` exit immediately without waiting for data. Instead one should now `tail -f file | grep -q .` Improvements * mv --verbose now distinguishes rename and copy operations. * stat -f -c %l, used to output the max file name length on a file system, is now supported on FreeBSD and OpenBSD. * tail -f no longer erroneously warns about being ineffective when following a single tty, as the simple blocking loop used is effective in this case. Noteworthy changes in release 8.27 (2017-03-08) Bug fixes * cp --parents will now set an SELinux context for created directories, as appropriate for the -a, --preseve=context, or -Z options. [bug present since SELinux support added in coreutils-6.10] * date again converts from a specified time zone. Previously output was not converted to the local time zone, and remained in the specified one. [bug introduced in coreutils-8.26] * Commands like 'cp --no-dereference -l A B' are no longer quiet no-ops when A is a regular file and B is a symbolic link that points to A. [bug introduced in fileutils-4.0] * factor no longer goes into an infinite loop for certain numbers like 158909489063877810457 and 222087527029934481871. [bug introduced in coreutils-8.20] * tail no longer prints redundant file headers with interleaved inotify events, which could be triggered especially when tail was suspended and resumed. [bug introduced with inotify support added in coreutils-7.5] * timeout no longer has a race that may terminate the wrong process. The race is unlikely, as timeout(1) needs to receive a signal right after the command being monitored finishes. Also the system needs to have reallocated that command's pid in that short time window. [bug introduced when timeout was added in coreutils-7.0] * wc --bytes --files0-from now correctly reports byte counts. Previously it may have returned values that were too large, depending on the size of the first file processed. [bug introduced in coreutils-8.24] Improvements * The new 'date' option --rfc-email is now the long form for -R. The new option spelling is intended to avoid the need to track the Internet RFC number for email dates (currently RFC 5322). The old option spellings --rfc-2822 and --rfc-822 still work. * date now outputs "-00" for a numeric time zone if the time is UTC and the time zone abbreviation begins with "-", indicating that the time zone is indeterminate. * nproc now honors the OMP_THREAD_LIMIT environment variable to set the maximum returned value. OMP_NUM_THREADS continues to set the minimum returned value, but is updated to support the nested level syntax allowed in this variable. * stat and tail now know about the "rdt" file system, which is an interface to Resource Director Technology. stat -f --format=%T now reports the file system type, and tail -f uses inotify. * stty now validates arguments before interacting with the device, ensuring there are no side effects to specifying an invalid option. * If the file B already exists, commands like 'ln -f A B' and 'cp -fl A B' no longer remove B before creating the new link. That is, there is no longer a brief moment when B does not exist. New features * expand and unexpand now support specifying a tab size to use after explicitly specified tab stops, by prefixing the last specified number like --tabs=2,4,/8.