PEP 600: Small updates in response to Paul's feedback (#1191)

1. Note that the auditwheel project will maintain docs
2. Note that we'll update the old PEPs to note that they've been replaced
3. In compatibility logic, check for compatibility before checking for overrides

See: https://discuss.python.org/t/pep-600-future-manylinux-platform-tags-for-portable-linux-built-distributions/2414/4
This commit is contained in:
Nathaniel J. Smith 2019-10-10 04:36:17 -07:00 committed by Nick Coghlan
parent 4fd0075856
commit 5e1db02519
1 changed files with 15 additions and 9 deletions

View File

@ -181,7 +181,8 @@ packages to break.
Any method of producing wheels which meets these criteria is
acceptable. However, in practice we expect that the auditwheel project
will maintain an up-to-date set of tools and build images for
producing manylinux wheels, and that most maintainers will want to use
producing manylinux wheels, as well as documentation about how they
work and how to use them, and that most maintainers will want to use
those. For the latest information on building manylinux wheels,
including recommendations about which build images to use, see
https://packaging.python.org.
@ -252,7 +253,9 @@ This redefinition is largely a no-op, but does affect a few things:
- Previously, we had an open-ended and growing commitment to keep
updating every manylinux PEP whenever a new Linux distro was
released, for the rest of time. By making this PEP normative for the
older tags, that obligation goes away.
older tags, that obligation goes away. When this PEP is accepted,
the previous manylinux PEPs will receive a final update noting that
they are no longer maintained and referring to this PEP.
- The "play well with others" rule was always intended, but previous
PEPs didn't state it explicitly; now it's explicit.
@ -322,6 +325,15 @@ semantics::
tag_major = int(tag_major_str)
tag_minor = int(tag_minor_str)
if not system_uses_glibc():
return False
sys_major, sys_minor = get_system_glibc_version()
if (sys_major, sys_minor) < (tag_major, tag_minor):
return False
sys_arch = get_system_arch()
if sys_arch != tag_arch:
return False
# Check for manual override
try:
import _manylinux
@ -342,13 +354,7 @@ semantics::
if hasattr(_manylinux, "manylinux2010_compatible"):
return bool(_manylinux.manylinux2010_compatible)
# Fall back on autodetection. See the pip source code for
# ideas on how to implement the helper functions.
if not system_uses_glibc():
return False
sys_major, sys_minor = get_system_glibc_version()
sys_arch = get_system_arch()
return (sys_major, sys_minor) >= (tag_major, tag_minor) and sys_arch == tag_arch
return True
Package indexes