]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.11] gh-101857: Allow xattr detection on musl libc (GH-101858) (#101894)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sun, 21 May 2023 00:17:27 +0000 (17:17 -0700)
committerGitHub <noreply@github.com>
Sun, 21 May 2023 00:17:27 +0000 (00:17 +0000)
gh-101857: Allow xattr detection on musl libc (GH-101858)

Previously, we checked exclusively for `__GLIBC__` (AND'd with some other
conditions). Checking for `__linux__` instead should be fine.

This fixes using e.g. `os.listxattr()` on systems using musl libc.

Bug: https://bugs.gentoo.org/894130

(cherry picked from commit 8be8101bca34b60481ec3d7ecaea4a3379fb7dbb)

Co-authored-by: Sam James <sam@gentoo.org>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
Misc/NEWS.d/next/Core and Builtins/2023-02-12-22-40-22.gh-issue-101857._bribG.rst [new file with mode: 0644]
Modules/posixmodule.c

diff --git a/Misc/NEWS.d/next/Core and Builtins/2023-02-12-22-40-22.gh-issue-101857._bribG.rst b/Misc/NEWS.d/next/Core and Builtins/2023-02-12-22-40-22.gh-issue-101857._bribG.rst
new file mode 100644 (file)
index 0000000..832cc30
--- /dev/null
@@ -0,0 +1 @@
+Fix xattr support detection on Linux systems by widening the check to linux, not just glibc. This fixes support for musl.
index c825aeedcf085d0197be9c00450d208b73605bba..a01662d868e545a481b9dda24fc660ee933b94d7 100644 (file)
@@ -280,8 +280,9 @@ corresponding Unix manual entries for more information on calls.");
 #  undef HAVE_SCHED_SETAFFINITY
 #endif
 
-#if defined(HAVE_SYS_XATTR_H) && defined(__GLIBC__) && !defined(__FreeBSD_kernel__) && !defined(__GNU__)
+#if defined(HAVE_SYS_XATTR_H) && defined(__linux__) && !defined(__FreeBSD_kernel__) && !defined(__GNU__)
 #  define USE_XATTRS
+#  include <linux/limits.h>  // Needed for XATTR_SIZE_MAX on musl libc.
 #endif
 
 #ifdef USE_XATTRS