Re: Test: coreutils 9.1 (TEST)
> The following test package has been uploaded to the Cygwin distribution: > > * coreutils 9.1 I am having a problem with "cp" that is not present in the previous (non-test) version. I'm running the latest Cygwin on Windows 10: CYGWIN_NT-10.0-19044 8PZCBK3 3.3.5-341.x86_64 2022-05-13 12:27 UTC x86_64 Cygwin The "cp" commands are in a Makefile. These are all text (not binary) files. "here" is a directory. if [ -a 2022/QSN2205.EXC ]; then cp -pvf 2022/QSN2205.EXC here; fi if [ -a 2022/QSN2205.TXT ]; then cp -pvf 2022/QSN2205.TXT here; fi if [ -a 2022/ignore.csv ]; then cp -pvf 2022/ignore.csv here; fi These are the target files that are being copied *to*: -rw-rw+ 1 jr920141 Domain Users11022 May 23 08:01 here/ignore.csv -rw-rw+ 1 jr920141 Domain Users 303543 May 23 10:25 here/QSN2205.EXC -rw-rw+ 1 jr920141 Domain Users 14395440 May 23 08:00 here/QSN2205.TXT These are the source files that are being copied *from*: -rw-rw+ 1 jr920141 Domain Users11303 May 24 08:20 ignore.csv -rw-rw+ 1 jr920141 Domain Users20944 May 24 10:17 QSN2205.EXC -rw-rw+ 1 jr920141 Domain Users 14941120 May 24 08:19 QSN2205.TXT It just so happens that the files are (now) the same. I had already done the copy and no longer have the old files that were in the "here" directory. But it doesn't matter whether the files are the same or different. The problem still occurs. This is the result: [8PZCBK3:~/DXspots] $ make here '2022/QSN2205.EXC' -> 'here/QSN2205.EXC' '2022/QSN2205.TXT' -> 'here/QSN2205.TXT' cp: cannot create regular file 'here/QSN2205.TXT': File exists It makes no sense to me that the .EXC file was copied overtop of the existing file, file but the .TXT file was not. The TXT file has DOS line endings. The EXC file does not. I don't see why that would/should make a difference. cygcheck.out is attached. -- Jim Reisert AD1C, , https://ad1c.us cygcheck.out Description: Binary data -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation:https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
[ANNOUNCEMENT] Test: coreutils 9.1 (TEST)
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
Test: coreutils 9.1 (TEST)
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