This repository has been archived by the owner on Oct 8, 2024. It is now read-only.
Downgrade zlib on Linux instead of auditwheel #254
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
#225 downgraded auditwheel on Linux because auditwheel started raising an error when we tried to include zlib 1.2.11. The error was because auditwheel requires manylinux_2_27 for zlib 1.2.9, and we are currently distributing manylinux_2_17 wheels.
The zlib requirements were added to auditwheel in pypa/auditwheel#334, which used information from mayeut/pep600_compliance#88.
In other words, I've concluded that by ignoring this error, we're violating PEP 600. python.org gives a similar example to this in the documentation - https://www.python.org/dev/peps/pep-0600/
So this PR suggests using the latest version of auditwheel again, to restore our PEP 600 compliance, and downgrading zlib to 1.2.8 on Linux instead.
Why can't we upgrade to manylinux_2_27? Primarily, to continue offering support for CentOS 7 (listed as manylinux_2_17), EOL on June 30, 2024, and Amazon Linux 2 (listed as manylinux_2_26), EOL on June 30, 2023.
pypa/manylinux#1012 (comment)
But wait, you say, could we do both? Could we generate manylinux_2_17 and manylinux_2_27 wheels, so that CentOS 7 and Amazon Linux 2 users could install the older wheels, and everyone else could continue to use zlib 1.2.11?
Well, multibuild will only let us specify manylinux_2_24 at best, which still doesn't support zlib 1.2.9. This limitation in multibuild is to be expected though, since manylinux doesn't have any higher Docker images yet.