From 84a24b3cc8627ab574c848b9e222f4a418ebc0b7 Mon Sep 17 00:00:00 2001 From: Arushit Mudgal Date: Sun, 14 Apr 2019 19:46:59 +0530 Subject: [PATCH 1/2] Including manylinux2010 in readme --- README.rst | 53 ++++++++++++++++++++++++++++------------------------- 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/README.rst b/README.rst index aeb33f6d4..91600ca39 100644 --- a/README.rst +++ b/README.rst @@ -9,16 +9,23 @@ Older archives: https://groups.google.com/forum/#!forum/manylinux-discuss The goal of the manylinux project is to provide a convenient way to distribute binary Python extensions as wheels on Linux. This effort -has produced `PEP 513 `_ -which defines the ``manylinux1_x86_64`` and ``manylinux1_i686`` platform -tags. +has produced `PEP 513 `_ which +is further enhanced by `PEP 571 `_ +defining ``manylinux2010_x86_64`` platform tag. + +PEP 513 defined ``manylinux1_x86_64`` and ``manylinux1_i686`` platform tags +and the wheels were built on Centos5. Centos5 reached End of Life (EOL) on +March 31st, 2017 and thus PEP 571 was proposed. + +Code and details regarding ``manylinux1`` can be found here: +`manylinux1 `_. Wheel packages compliant with those tags can be uploaded to `PyPI `_ (for instance with `twine `_) and can be installed with -**pip 8.1 and later**. +**pip 19.0 and later**. -The manylinux1 tags allow projects to distribute wheels that are +The manylinux2010 tags allow projects to distribute wheels that are automatically installed (and work!) on the vast majority of desktop and server Linux distributions. @@ -35,21 +42,18 @@ Building manylinux-compatible wheels is not trivial; as a general rule, binaries built on one Linux distro will only work on other Linux distros that are the same age or newer. Therefore, if we want to make binaries that run on most Linux distros, we have to use a very old -distro -- CentOS 5. +distro -- CentOS 6. -Rather than forcing you to install CentOS 5 yourself, install Python, -etc., we provide two `Docker `_ images where we've -done the work for you: -64-bit image (x86-64): ``quay.io/pypa/manylinux1_x86_64`` +Rather than forcing you to install CentOS 6 yourself, install Python, +etc., we provide a `Docker `_ image where we've +done the work for you: -.. image:: https://quay.io/repository/pypa/manylinux1_x86_64/status - :target: https://quay.io/repository/pypa/manylinux1_x86_64 +64-bit image (x86-64): ``quay.io/pypa/manylinux2010_x86_64`` -32-bit image (i686): ``quay.io/pypa/manylinux1_i686`` +.. image:: https://quay.io/repository/pypa/manylinux2010_x86_64/status + :target: https://quay.io/repository/pypa/manylinux2010_x86_64 -.. image:: https://quay.io/repository/pypa/manylinux1_i686/status - :target: https://quay.io/repository/pypa/manylinux1_i686 These images are rebuilt using Travis-CI on every commit to this repository; see the @@ -84,10 +88,6 @@ unheard of flag combinations (such as ``--with-pydebug`` (``d``) and Building Docker images ---------------------- -Due to the age of CentOS 5, its version of ``wget`` is unable to fetch -OpenSSL and curl source tarballs. Modern versions of these are needed in -order to fetch the remaining sources. - To build the Docker images, you will need to fetch the tarballs to ``docker/sources/`` prior to building. This can be done with the provided prefetch script, after which you can proceed with building. @@ -98,8 +98,10 @@ Please run the following command from the current (root) directory:: Example ------- -An example project which builds 32- and 64-bit wheels for each Python interpreter -version can be found here: https://github.com/pypa/python-manylinux-demo. +An example project which builds 64-bit wheels for each Python interpreter +version can be found here: https://github.com/pypa/python-manylinux-demo. The +repository also contains demo to build 32-bit and 64-bit wheels with ``manylinux1`` +tags. This demonstrates how to use these docker images in conjunction with auditwheel to build manylinux-compatible wheels using the free `travis ci `_ @@ -122,10 +124,11 @@ where the PEP was originally written, so if for some reason you really want to see the full history of edits it went through, then this is the place to look. +The proposal to upgrade ``manylinux1`` to ``manylinux2010`` after Centos5 +reached EOL was discussed in `PEP 571 `_. + This repo also has some analysis code that was used when putting -together the original proposal in the ``policy-info/`` directory -(might be useful someday in the future for writing a ``manylinux2`` -policy). +together the original proposal in the ``policy-info/`` directory. If you want to read the full discussion that led to the original policy, then lots of that is here: @@ -142,4 +145,4 @@ Everyone interacting in the manylinux project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the `PyPA Code of Conduct`_. -.. _PyPA Code of Conduct: https://www.pypa.io/en/latest/code-of-conduct/ +.. _PyPA Code of Conduct: https://www.pypa.io/en/latest/code-of-conduct \ No newline at end of file From 2427a94f69714013c3f97915b2ccc18134010a26 Mon Sep 17 00:00:00 2001 From: Arushit Mudgal Date: Sat, 27 Apr 2019 18:56:07 +0530 Subject: [PATCH 2/2] Changing minor content - Adding i686 tag in the readme - Updating PEP number in Docker image content --- README.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.rst b/README.rst index 91600ca39..df8fb1a19 100644 --- a/README.rst +++ b/README.rst @@ -11,7 +11,7 @@ The goal of the manylinux project is to provide a convenient way to distribute binary Python extensions as wheels on Linux. This effort has produced `PEP 513 `_ which is further enhanced by `PEP 571 `_ -defining ``manylinux2010_x86_64`` platform tag. +defining ``manylinux2010_x86_64`` and ``manylinux2010_i686`` platform tags. PEP 513 defined ``manylinux1_x86_64`` and ``manylinux1_i686`` platform tags and the wheels were built on Centos5. Centos5 reached End of Life (EOL) on @@ -69,7 +69,7 @@ The images currently contain: build, and can be used to produce wheels named like ``--cp27-cp27mu-.whl``. -- Devel packages for all the libraries that PEP 513 allows you to +- Devel packages for all the libraries that PEP 571 allows you to assume are present on the host system - The `auditwheel `_ tool @@ -145,4 +145,4 @@ Everyone interacting in the manylinux project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the `PyPA Code of Conduct`_. -.. _PyPA Code of Conduct: https://www.pypa.io/en/latest/code-of-conduct \ No newline at end of file +.. _PyPA Code of Conduct: https://www.pypa.io/en/latest/code-of-conduct