On 2025-02-12 15:00, Christian Franke via Cygwin wrote:
Brian Inglis via Cygwin wrote:
On 2025-02-09 08:01, Christian Franke via Cygwin wrote:
Testcase:

$ uname -r
3.5.7-1.x86_64

$ cygcheck -f /bin/chmod
coreutils-9.0-1

$ mkdir dir

$ touch dir/file

$ chmod -R -v g-w dir; echo $?
mode of 'dir' retained as 0755 (rwxr-xr-x)
mode of 'dir/file' retained as 0644 (rw-r--r--)
0

$ ln -s file dir/link

$ chmod -R -v g-w dir; echo $?
mode of 'dir' retained as 0755 (rwxr-xr-x)
mode of 'dir/file' retained as 0644 (rw-r--r--)
neither symbolic link 'dir/link' nor referent has been changed
1

$ chmod -R g-w dir; echo $?
1

$ chmod -v g-w dir dir/file dir/link; echo $?
mode of 'dir' retained as 0755 (rwxr-xr-x)
mode of 'dir/file' retained as 0644 (rw-r--r--)
mode of 'dir/link' retained as 0644 (rw-r--r--)
0

$ chmod -R -v g+w dir; echo $?
mode of 'dir' changed from 0755 (rwxr-xr-x) to 0775 (rwxrwxr-x)
mode of 'dir/file' changed from 0644 (rw-r--r--) to 0664 (rw-rw-r--)
neither symbolic link 'dir/link' nor referent has been changed
1

$ chmod -R g-w dir; echo $?
1

Exit status 1 does not occur with chmod from coreutils 8.32-1.

A major change in coreutils 9 was to use the f...at() directory relative functions, so the error may be related to that symlink, unreported due to a bug (in our/my patches, underlying, or upstream):

EOPNOTSUPP    The  AT_SYMLINK_NOFOLLOW bit is set in the flag argument, path names a symbolic link, and the system does not support changing the mode of a symbolic link.

Appears that it is a known bug and should have been fixed upstream; see the test release announcement for many chmod fixes and changes including more options:

    https://cygwin.com/pipermail/cygwin-announce/2025-January/012042.html

"...
2022-04-15    9.1

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 you can, please check again with coreutils test 9.5.
I am working on updating to 9.6, will recheck as part of that, and fix or report a regression, if an issue.


Problem does no longer occur with 9.5-1 and 9.6-1 test releases.

Thank you very much for testing and reporting.

--
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher  but when there is no more to cut
                                -- Antoine de Saint-Exupéry

--
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

Reply via email to