On Tue, May 30, 2023 at 1:29 PM Philippe Cerfon via Cygwin wrote: > > Just for the records: > > I've made a PR against CPython that would enable XATTRs with Cygwin: > https://github.com/python/cpython/pull/105075 > > and sent a patch against newlib, which is AFAICS the right place to > have the XATTR_*_MAX exported: > https://sourceware.org/pipermail/newlib/2023/020347.html > > Thanks, > Philippe > > On Tue, May 30, 2023 at 3:37 AM Philippe Cerfon <philc...@gmail.com> wrote: > > > > 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
latest is 3.9.16 https://cygwin.com/packages/summary/python39-src.html > > 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. I will look on that, but do not expect anything in short term Regards Marco -- 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