-
-
Notifications
You must be signed in to change notification settings - Fork 32.5k
[3.13] gh-136759: rename lock.h
to pylock.h
(GH-137041)
#137075
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🤖 New build scheduled with the buildbot fleet by @kumaraditya303 for commit 14bf176 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F137075%2Fmerge If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again. |
Oh no no no, this is way too big a change for 3.13. The file system layout is fixed from beta 1 - changing in 3.14rc2 is a big enough breach of our compatibility policy, but this one should definitely be reverted (as annoying as that is for people with other projects that provide this file). Our own references to the header should be relative (i.e. |
GH-137166 is a backport of this pull request to the 3.13 branch. |
…GH-137041) (python#137075)" This reverts commit 74503ac.
Sorry, I created the revert PR here #137166 but it does mean that this issue will be forever in 3.13. |
Yeah, that's the nature of compatibility! It also means that anyone whose |
Python 3.13 introduces a header <lock.h>, which conflicts with OpenAFS's identically-named header. Python 3.15 will probably rename it to pylock.h[1], but it's here for Python 3.13 and probably Python 3.14[2]. In the interim, force OpenAFS's headers to come before Python's when building python-afs. This is a little tricky, because Python's headers use -I by default while OpenAFS's use -isystem, and -I headers all come before -isystem ones. However, if we add Python headers with -isystem at the start of the compiler command, Python's -I will be treated as a dup of a system header, and Python's headers will be moved to the system section of the search path. *However*, because they're at the *start* of the search path, they'll still beat OpenAFS, so we need to also add -isystem for OpenAFS at the start of the compiler command, so the relative order among the system section is correct. Upstream mit-athena/python-afs has an issue for this[3], but because Nix builds weirdly, the patch I wrote there doesn't work for Nix. [1] python/cpython#136759 [2] python/cpython#137075 (comment) [3] mit-athena/python-afs#6
Rename
lock.h
topylock.h
to avoid conflicts with headers of other projects. (cherry picked from commit ec02db5)