Skip to content

Commit 54ad867

Browse files
authored
Merge pull request #832 from mayeut/pep600
2 parents 78e821a + 305c9e5 commit 54ad867

1 file changed

Lines changed: 19 additions & 13 deletions

File tree

source/specifications/platform-compatibility-tags.rst

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@ The scheme defined in :pep:`425` is insufficient for public distribution of
3333
wheel files (and \*nix wheel files in general) to Linux platforms, due to the
3434
large ecosystem of Linux platforms and subtle differences between them.
3535

36-
Instead, :pep:`513` defines the ``manylinux`` standard, which represents a
36+
Instead, :pep:`600` defines the ``manylinux`` standard, which represents a
3737
common subset of Linux platforms, and allows building wheels tagged with the
3838
``manylinux`` platform tag which can be used across most common Linux
3939
distributions.
4040

41-
There are multiple iterations of the ``manylinux`` specification, each
41+
There were multiple iterations of the ``manylinux`` specification, each
4242
representing the common subset of Linux platforms at a given point in time:
4343

4444
* ``manylinux1`` (:pep:`513`) supports ``x86_64`` and ``i686``
@@ -51,6 +51,11 @@ representing the common subset of Linux platforms at a given point in time:
5151
and ``s390x``) and updates the base platform to a compatible Linux platform
5252
from 2014.
5353

54+
``manylinux_x_y`` (:pep:`600`) supersedes all previous PEPs to define a
55+
future-proof standard. It defines ``x`` and ``y`` as glibc major an minor
56+
versions supported (e.g. ``manylinux_2_24`` should work on any distro using
57+
glibc 2.24+). Previous tags are still supported for backward compatibility.
58+
5459
In general, distributions built for older versions of the specification are
5560
forwards-compatible (meaning that ``manylinux1`` distributions should continue
5661
to work on modern systems) but not backwards-compatible (meaning that
@@ -59,26 +64,27 @@ existed before 2010).
5964

6065
Package maintainers should attempt to target the most compatible specification
6166
possible, with the caveat that the provided build environment for
62-
``manylinux1`` has reached end-of-life, and the build environment for
63-
``manylinux2010`` will reach end-of-life in November 2020 [#]_, meaning that
67+
``manylinux1`` and ``manylinux2010`` have reached end-of-life meaning that
6468
these images will no longer receive security updates.
6569

6670
Manylinux compatibility support
6771
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6872

6973
.. Note::
70-
The ``manylinux2014`` specification is relatively new and is not yet widely
71-
recognised by install tools.
74+
* The ``manylinux2014`` specification is relatively new and is not yet widely
75+
recognised by install tools.
76+
* The ``manylinux_x_y`` specification is relatively new and is not yet widely
77+
recognised by install tools.
7278

7379
The following table shows the minimum versions of relevant projects to support
7480
the various ``manylinux`` standards:
7581

76-
========== ============== ================= =================
77-
Tool ``manylinux1`` ``manylinux2010`` ``manylinux2014``
78-
========== ============== ================= =================
79-
pip ``>=8.1.0`` ``>=19.0`` ``>=19.3``
80-
auditwheel ``>=1.0.0`` ``>=2.0.0`` ``>=3.0.0``
81-
========== ============== ================= =================
82+
========== ============== ================= ================= =================
83+
Tool ``manylinux1`` ``manylinux2010`` ``manylinux2014`` ``manylinux_x_y``
84+
========== ============== ================= ================= =================
85+
pip ``>=8.1.0`` ``>=19.0`` ``>=19.3`` ``>=20.3``
86+
auditwheel ``>=1.0.0`` ``>=2.0.0`` ``>=3.0.0`` ``>=3.3.0`` [#]_
87+
========== ============== ================= ================= =================
8288

8389
Platform tags for other \*nix platforms
8490
---------------------------------------
@@ -89,4 +95,4 @@ distribution of wheel files to other \*nix platforms. Efforts are currently
8995
schemes for AIX and for Alpine Linux.
9096

9197

92-
.. [#] https://wiki.centos.org/About/Product
98+
.. [#] Only support for ``manylinux_2_24`` has been added in auditwheel 3.3.0

0 commit comments

Comments
 (0)