[Python-checkins] gh-101857: Allow xattr detection on musl libc (#101858)

gpshead webhook-mailer at python.org
Tue Feb 14 02:22:12 EST 2023


https://github.com/python/cpython/commit/8be8101bca34b60481ec3d7ecaea4a3379fb7dbb
commit: 8be8101bca34b60481ec3d7ecaea4a3379fb7dbb
branch: main
author: Sam James <sam at gentoo.org>
committer: gpshead <greg at krypto.org>
date: 2023-02-13T23:21:58-08:00
summary:

gh-101857: Allow xattr detection on musl libc (#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

Co-authored-by: Gregory P. Smith <greg at krypto.org>

files:
A Misc/NEWS.d/next/Core and Builtins/2023-02-12-22-40-22.gh-issue-101857._bribG.rst
M 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
index 000000000000..832cc300fa94
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/2023-02-12-22-40-22.gh-issue-101857._bribG.rst	
@@ -0,0 +1 @@
+Fix xattr support detection on Linux systems by widening the check to linux, not just glibc. This fixes support for musl.
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index cba6cea48b77..d9e93473aead 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -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



More information about the Python-checkins mailing list