Hey. I did some further tests as described in detail at https://github.com/python/cpython/issues/90026#issuecomment-1567631574 and it turns out that Python's code would already support XATTRs on Cygwin if the necessary defines were in place.
Currently, the most recent version of Python in cygwin is 3.9.9, which uses the following check in cpython/Modules/posixmodule.c: #if defined(HAVE_SYS_XATTR_H) && defined(__GLIBC__) && !defined(__FreeBSD_kernel__) && !defined(__GNU__) in order to determine whether the XATTR code should be compiled or not. In CPython’s master this was changed to: #if defined(HAVE_SYS_XATTR_H) && defined(__linux__) && !defined(__FreeBSD_kernel__) && !defined(__GNU__) I plan on making a PR against CPython, which would also set the necessary symbol, if __CYGWIN__ is defined. There are however two problems: 1) Compilation then fails, as the code needs the symbols XATTR_SIZE_MAX and XATTR_LIST_MAX, which on Linux are defined in linux/limits.h as: #define XATTR_SIZE_MAX 65536 /* size of an extended attribute value (64k) */ #define XATTR_LIST_MAX 65536 /* size of extended attribute namelist (64k) */ This would need to be added to cygwin/limits.h with whichever values are proper for Cygwin (not sure how to find out?) 2) I guess the changes in CPython won't be backported (and it's not even merged)... so Cygwin's Python maintainer will hopefully find the time to package newer versions. So there will probably quite some time, until it finally works in Python. Anyway, whom can I ask or (1)? Thanks, Philippe. -- 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