Update documentation for Python packaging changes

A number of classes and variables have been renamed, so update the
documentation as needed.

(From yocto-docs rev: 35b2e1757f5f2f09bb899ed24ffea50e5041b471)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2022-03-14 17:07:50 +00:00
committed by Richard Purdie
parent e3b7a5ba49
commit 4b15900ee0
2 changed files with 35 additions and 38 deletions

View File

@@ -616,7 +616,7 @@ Python modules built with ``flit_core.buildapi`` are pure Python (no
``C`` or ``Rust`` extensions). ``C`` or ``Rust`` extensions).
The resulting ``wheel`` (See `PEP-427 <https://www.python.org/dev/peps/pep-0427/>`__) The resulting ``wheel`` (See `PEP-427 <https://www.python.org/dev/peps/pep-0427/>`__)
is installed with the :ref:`pip_install_wheel <ref-classes-pip_install_wheel>` class. is installed with the :ref:`python_pep517 <ref-classes-python_pep517>` class.
.. _ref-classes-fontcache: .. _ref-classes-fontcache:
@@ -1978,25 +1978,20 @@ When inherited by a recipe, the ``perlnative`` class supports using the
native version of Perl built by the build system rather than using the native version of Perl built by the build system rather than using the
version provided by the build host. version provided by the build host.
.. _ref-classes-pip_install_wheel: .. _ref-classes-python_pep517:
``pip_install_wheel.bbclass`` ``python_pep517.bbclass``
============================= =============================
The ``pip_install_wheel`` class uses ``pip`` to install a Python ``wheel`` The ``python_pep517`` class installs a Python ``wheel`` binary archive (see
binary archive format (See `PEP-427 <https://www.python.org/dev/peps/pep-0427/>`__) `PEP-517 <https://peps.python.org/pep-0517/>`__).
The Python ``wheel`` can be built with several classes, including :ref:`flit_core <ref-classes-flit_core>`, The Python ``wheel`` can be built with several classes, including :ref:`flit_core <ref-classes-flit_core>`,
:ref:`setuptools_build_meta <ref-classes-setuptools_build_meta>`, and :ref:`setuptools3 <ref-classes-setuptools3>`. :ref:`setuptools_build_meta <ref-classes-setuptools_build_meta>`, and :ref:`setuptools3 <ref-classes-setuptools3>`.
The absolute path to the built ``wheel`` to be installed is defined by :term:`PYPA_WHEEL` which can be The path to the wheel to be installed is defined by :term:`PEP517_WHEEL_PATH`.
overriden for recipes where the filename or version number of the wheel are not easily This defaults to ``${D}/dist`` and should be respected by the builder class
determined by the defaults. Other variables which can be used to customize the behavior (such as :ref:`flit_core <ref-classes-flit_core>`).
of the ``pip_install_wheel`` class include:
- :term:`PIP_INSTALL_ARGS`
- :term:`PIP_INSTALL_PACKAGE`
- :term:`PIP_INSTALL_DIST_PATH`
.. _ref-classes-pixbufcache: .. _ref-classes-pixbufcache:
@@ -2368,7 +2363,7 @@ Python modules built with ``setuptools.build_meta`` can be pure Python or
include ``C`` or ``Rust`` extensions). include ``C`` or ``Rust`` extensions).
The resulting ``wheel`` (See `PEP-427 <https://www.python.org/dev/peps/pep-0427/>`__) The resulting ``wheel`` (See `PEP-427 <https://www.python.org/dev/peps/pep-0427/>`__)
is installed with the :ref:`pip_install_wheel <ref-classes-pip_install_wheel>` class. is installed with the :ref:`python_pep517 <ref-classes-python_pep517>` class.
.. _ref-classes-setuptools3: .. _ref-classes-setuptools3:
@@ -2393,9 +2388,25 @@ uses these build systems, the recipe needs to inherit the ``setuptools3`` class.
.. note:: .. note::
The ``setuptools3`` class ``do_install()`` task now calls ``pip install`` The ``setuptools3`` class ``do_install()`` task now installs the ``wheel``
to install the ``wheel`` binary archive. In current versions of binary archive. In current versions of ``setuptools`` the legacy ``setup.py
``setuptools`` the legacy ``setup.py install`` method is deprecated. install`` method is deprecated. If the ``setup.py`` cannot be used with
wheels, for example it creates files outside of the Python module or
standard entry points, then :ref:`setuptools3_legacy
<ref-classes-setuptools3_legacy>` should be used.
.. _ref-classes-setuptools3_legacy:
``setuptools3_legacy.bbclass``
==============================
The ``setuptools3_legacy`` class supports Python version 3.x extensions that use
build systems based on ``setuptools`` (e.g. only have a ``setup.py`` and have
not migrated to the official ``pyproject.toml`` format). Unlike
``setuptools3.bbclass``, this uses the traditional ``setup.py`` ``build`` and
``install`` commands and not wheels. This use of ``setuptools`` like this is
`deprecated <https://github.com/pypa/setuptools/blob/main/CHANGES.rst#v5830>`_
but still relatively common.
.. _ref-classes-setuptools3-base: .. _ref-classes-setuptools3-base:

View File

@@ -5569,6 +5569,12 @@ system and gives an overview of their function and contents.
:term:`PE` is the default value of the :term:`PKGE` variable. :term:`PE` is the default value of the :term:`PKGE` variable.
:term:`PEP517_WHEEL_PATH`
When used by recipes that inherit the
:ref:`python_pep517 <ref-classes-python_pep517>` class,
denotes the path to ``dist/`` (short for distribution) where the
binary archive ``wheel`` is built.
:term:`PF` :term:`PF`
Specifies the recipe or package name and includes all version and Specifies the recipe or package name and includes all version and
revision numbers (i.e. ``glibc-2.13-r20+svnr15508/`` and revision numbers (i.e. ``glibc-2.13-r20+svnr15508/`` and
@@ -5577,23 +5583,10 @@ system and gives an overview of their function and contents.
:term:`PIP_INSTALL_ARGS` :term:`PIP_INSTALL_ARGS`
When used by recipes that inherit the When used by recipes that inherit the
:ref:`pip_install_wheel <ref-classes-pip_install_wheel>` class, :ref:`python_pep517 <ref-classes-python_pep517>` class,
denotes the arguments passed to ``pip install`` to adjust the denotes the arguments passed to ``pip install`` to adjust the
behavior of how the ``wheel`` is installed. behavior of how the ``wheel`` is installed.
:term:`PIP_INSTALL_DIST_PATH`
When used by recipes that inherit the
:ref:`pip_install_wheel <ref-classes-pip_install_wheel>` class,
denotes the path to ``dist/`` (short for distribution) where the
binary archive ``wheel`` is built. This is used in part to create
the :term:`PYPA_WHEEL` variable.
:term:`PIP_INSTALL_PACKAGE`
When used by recipes that inherit the
:ref:`pip_install_wheel <ref-classes-pip_install_wheel>` class,
denotes the name of the package portion of the ``wheel`` filename.
This is used in part to create the :term:`PYPA_WHEEL` variable.
:term:`PIXBUF_PACKAGES` :term:`PIXBUF_PACKAGES`
When inheriting the :ref:`pixbufcache <ref-classes-pixbufcache>` When inheriting the :ref:`pixbufcache <ref-classes-pixbufcache>`
class, this variable identifies packages that contain the pixbuf class, this variable identifies packages that contain the pixbuf
@@ -6009,13 +6002,6 @@ system and gives an overview of their function and contents.
:term:`PV` is the default value of the :term:`PKGV` variable. :term:`PV` is the default value of the :term:`PKGV` variable.
:term:`PYPA_WHEEL`
When used by recipes that inherit the
:ref:`pip_install_wheel <ref-classes-pip_install_wheel>` class, denotes
the absolute path to the built ``wheel`` to be installed. Normally the
defaults which use :term:`PIP_INSTALL_PACKAGE` and :term:`PIP_INSTALL_DIST_PATH`
to build the path to the ``wheel`` should be sufficient.
:term:`PYTHON_ABI` :term:`PYTHON_ABI`
When used by recipes that inherit the When used by recipes that inherit the
:ref:`setuptools3 <ref-classes-setuptools3>` class, denotes the :ref:`setuptools3 <ref-classes-setuptools3>` class, denotes the