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

Reply via email to