-
Notifications
You must be signed in to change notification settings - Fork 124
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
Building with Python 3.11.4 generates tarfile.LinkOutsideDestinationError #674
Comments
What version of CPython are using (including the patch value)? I think this is a bug that was fixed only in the latest patch release (fix in CPytjon landed something like two weeks ago). I think we are going to have to figure out how to work around the bug for the broken patch releases. |
|
Oops, you mentioned it. Yep, 3.11.5 is the one with python/cpython#107845. |
Got it. I assumed that, because this just started showing up in CI, that this was the latest Python. I can see if I can avoid 3.11.4. |
It started showing up because we started using the data filter if it is present in build 1.0.0. I don’t remember exactly when it was added 3.11.3? Of course it’s a different patch number for every minor release of Python. 🤦
will also work (it doesn’t unpack the SDist, the bug only gets hit if you unpack a tarball). |
Just catching the error and saying that extraction is broken for packages with symlinks at the root for 3.11.4 but fixed in 3.11.5 would be good enough for me. I spent a bit trying to figure out if I did have broken links before I realized this was an upstream bug, so just clearly communicating the known failure condition would work. |
You are in a rather special situation being able to control your Python patch version. Most users can't do that very easily. We can just avoid using the buggy data filter on versions of Python that contain the bug. (Also 3.8-3.10 still haven't had a release that fixes this bug). |
Glad to see that the patch is not too painful. |
This reverts commit 3c94f8c. This was not the correct way to specify a Python version, and I can't be bothered to figure out the correct way, as this issue will be fixed in build 1.0.1. See bug report pypa/build#674 and fix pypa/build#675
I have a project where the changelog lives in the root of the repository and I link to it from the doc directory so that it's part of our docs:
As of Python 3.11.4, attempting to run
python -m build
produces:If I run either
python -m build -s
orpython -m build -w
, this error does not occur.The text was updated successfully, but these errors were encountered: