All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Update documentation for Python packaging changes
@ 2022-03-14 17:07 Ross Burton
  2022-03-14 21:50 ` [docs] " Michael Opdenacker
  0 siblings, 1 reply; 2+ messages in thread
From: Ross Burton @ 2022-03-14 17:07 UTC (permalink / raw)
  To: docs

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

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 documentation/ref-manual/classes.rst   | 45 ++++++++++++++++----------
 documentation/ref-manual/variables.rst | 28 ++++------------
 2 files changed, 35 insertions(+), 38 deletions(-)

diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
index cba9793332..ef869e4cc1 100644
--- a/documentation/ref-manual/classes.rst
+++ b/documentation/ref-manual/classes.rst
@@ -634,7 +634,7 @@ Python modules built with ``flit_core.buildapi`` are pure Python (no
 ``C`` or ``Rust`` extensions).
 
 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:
 
@@ -1996,25 +1996,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
 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``
-binary archive format (See `PEP-427 <https://www.python.org/dev/peps/pep-0427/>`__)
+The ``python_pep517`` class installs a Python ``wheel`` binary archive (see
+`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>`,
 :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
-overriden for recipes where the filename or version number of the wheel are not easily
-determined by the defaults. Other variables which can be used to customize the behavior
-of the ``pip_install_wheel`` class include:
-
-- :term:`PIP_INSTALL_ARGS`
-- :term:`PIP_INSTALL_PACKAGE`
-- :term:`PIP_INSTALL_DIST_PATH`
+The path to the wheel to be installed is defined by :term:`PEP517_WHEEL_PATH`.
+This defaults to ``${D}/dist`` and should be respected by the builder class
+(such as :ref:`flit_core <ref-classes-flit_core>`).
 
 .. _ref-classes-pixbufcache:
 
@@ -2386,7 +2381,7 @@ Python modules built with ``setuptools.build_meta`` can be pure Python or
 include ``C`` or ``Rust`` extensions).
 
 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:
 
@@ -2411,9 +2406,25 @@ uses these build systems, the recipe needs to inherit the ``setuptools3`` class.
 
    .. note::
 
-     The ``setuptools3`` class ``do_install()`` task now calls ``pip install``
-     to install the ``wheel`` binary archive. In current versions of
-     ``setuptools`` the legacy ``setup.py install`` method is deprecated.
+     The ``setuptools3`` class ``do_install()`` task now installs the ``wheel``
+     binary archive. In current versions of ``setuptools`` the legacy ``setup.py
+     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:
 
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index 005456f0c4..d08e6cf0ec 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -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:`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`
       Specifies the recipe or package name and includes all version 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`
       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
       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`
       When inheriting the :ref:`pixbufcache <ref-classes-pixbufcache>`
       class, this variable identifies packages that contain the pixbuf
@@ -6021,13 +6014,6 @@ system and gives an overview of their function and contents.
 
       :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`
       When used by recipes that inherit the
       :ref:`setuptools3 <ref-classes-setuptools3>` class, denotes the
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [docs] [PATCH] Update documentation for Python packaging changes
  2022-03-14 17:07 [PATCH] Update documentation for Python packaging changes Ross Burton
@ 2022-03-14 21:50 ` Michael Opdenacker
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Opdenacker @ 2022-03-14 21:50 UTC (permalink / raw)
  To: Ross Burton, docs

Hi Ross,

On 3/14/22 18:07, Ross Burton wrote:
> A number of classes and variables have been renamed, so update the
> documentation as needed.


Many thanks for the update!
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
... and merged into master-next.
Cheers
Michael.

-- 
Michael Opdenacker, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-03-14 21:50 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-14 17:07 [PATCH] Update documentation for Python packaging changes Ross Burton
2022-03-14 21:50 ` [docs] " Michael Opdenacker

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.