]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-101857: Allow xattr detection on musl libc (#101858)
authorSam James <sam@gentoo.org>
Tue, 14 Feb 2023 07:21:58 +0000 (07:21 +0000)
committerGitHub <noreply@github.com>
Tue, 14 Feb 2023 07:21:58 +0000 (23:21 -0800)
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

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 cba6cea48b77e1e53688ed859acd55a7332870c8..d9e93473aeadaaf3aa373710c22c51a6714182c6 100644 (file)
@@ -274,8 +274,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