[3/3] ref-manual/classes.rst: add setuptools3-base

Message ID 20220111195742.1921572-4-tim.orling@konsulko.com
State New
Headers show
Series [1/3] ref-manual/variables.rst: add SETUPTOOLS_SETUP_PATH | expand

Commit Message

Tim Orling Jan. 11, 2022, 7:57 p.m. UTC
Add setuptools3-base class

Deprecate distutils3* classes.

[YOCTO #14610]

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
---
 documentation/ref-manual/classes.rst | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

Comments

Quentin Schulz Jan. 12, 2022, 2:31 p.m. UTC | #1
Hi Tim,

On 1/11/22 20:57, Tim Orling wrote:
> Add setuptools3-base class
> 
> Deprecate distutils3* classes.
> 
> [YOCTO #14610]
> 
> Signed-off-by: Tim Orling <tim.orling@konsulko.com>
> ---
>   documentation/ref-manual/classes.rst | 19 +++++++++++++++++++
>   1 file changed, 19 insertions(+)
> 
> diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
> index 99d9a7a3e..41360c965 100644
> --- a/documentation/ref-manual/classes.rst
> +++ b/documentation/ref-manual/classes.rst
> @@ -515,6 +515,14 @@ used.
>   -  Extensions that use ``distutils``-based build systems require the
>      ``distutils`` class in their recipes.
>   
> +   .. note::
> +
> +      ``distutils`` has been deprecated in Python 3.10 and will be removed
> +      in Python 3.12. For this reason the ``distutils3*`` classes are now
> +      deprecated and will be removed from core in the near future. Instead,
> +      use the ``setuptools3*`` classes.
> +
> +
>   -  Extensions that use build systems based on ``setuptools3`` require
>      the :ref:`setuptools3 <ref-classes-setuptools3>` class in their
>      recipes.
> @@ -2376,6 +2384,17 @@ The ``setuptools3`` class supports Python version 3.x extensions that
>   use build systems based on ``setuptools``. If your recipe uses these
>   build systems, the recipe needs to inherit the ``setuptools3`` class.
>   
> +.. _ref-classes-setuptools3-base:
> +
> +``setuptools3-base.bbclass``
> +============================
> +
> +The ``setuptools3-base`` class provides a reusable base for other classes
> +that support building Python3 version 3.x extensions. If you need

"Python3 extensions" or "Python 3.x extensions" but I guess not both at 
the same time? FWIW, setuptools3 uses the latter.

> +functionality that is not provided by the ``setuptools3`` class, you may

:ref:`setuptools3 <ref-classes-setuptools3>`

> +want to ``inherit setuptools3-base``. Some recipes do not need the tasks
> +in the ``setuptools3`` class and inherit this class instead.
> +

:ref:`setuptools3 <ref-classes-setuptools3>`

Looks good otherwise,
Thanks!

Quentin

>   .. _ref-classes-sign_rpm:
>   
>   ``sign_rpm.bbclass``
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#2385): https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.yoctoproject.org_g_docs_message_2385&d=DwIFaQ&c=_sEr5x9kUWhuk4_nFwjJtA&r=LYjLexDn7rXIzVmkNPvw5ymA1XTSqHGq8yBP6m6qZZ4njZguQhZhkI_-172IIy1t&m=h2Sz3gZJqoPsLKIfwNlfXAYFeX7mpQdP2oEhvb2aGweey-2-dybLOh-TQ4wdUyAn&s=M_b1du7dlXE8qFoFbIMq2Rl5WKpnDzSYPdMNNHYarmk&e=
> Mute This Topic: https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.yoctoproject.org_mt_88357646_6293953&d=DwIFaQ&c=_sEr5x9kUWhuk4_nFwjJtA&r=LYjLexDn7rXIzVmkNPvw5ymA1XTSqHGq8yBP6m6qZZ4njZguQhZhkI_-172IIy1t&m=h2Sz3gZJqoPsLKIfwNlfXAYFeX7mpQdP2oEhvb2aGweey-2-dybLOh-TQ4wdUyAn&s=-Zmwc8AjGeJ5swQXxOjJeeJ_PhR3Yr1UOFftrABLXys&e=
> Group Owner: docs+owner@lists.yoctoproject.org
> Unsubscribe: https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.yoctoproject.org_g_docs_unsub&d=DwIFaQ&c=_sEr5x9kUWhuk4_nFwjJtA&r=LYjLexDn7rXIzVmkNPvw5ymA1XTSqHGq8yBP6m6qZZ4njZguQhZhkI_-172IIy1t&m=h2Sz3gZJqoPsLKIfwNlfXAYFeX7mpQdP2oEhvb2aGweey-2-dybLOh-TQ4wdUyAn&s=rOYWLxd9CDFOLemM4UKT_oz3hU5amnFuC7rGylfmQno&e=  [quentin.schulz@theobroma-systems.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Tim Orling Jan. 12, 2022, 4:27 p.m. UTC | #2
On Wed, Jan 12, 2022 at 6:31 AM Quentin Schulz <
quentin.schulz@theobroma-systems.com> wrote:

> Hi Tim,
>
> On 1/11/22 20:57, Tim Orling wrote:
> > Add setuptools3-base class
> >
> > Deprecate distutils3* classes.
> >
> > [YOCTO #14610]
> >
> > Signed-off-by: Tim Orling <tim.orling@konsulko.com>
> > ---
> >   documentation/ref-manual/classes.rst | 19 +++++++++++++++++++
> >   1 file changed, 19 insertions(+)
> >
> > diff --git a/documentation/ref-manual/classes.rst
> b/documentation/ref-manual/classes.rst
> > index 99d9a7a3e..41360c965 100644
> > --- a/documentation/ref-manual/classes.rst
> > +++ b/documentation/ref-manual/classes.rst
> > @@ -515,6 +515,14 @@ used.
> >   -  Extensions that use ``distutils``-based build systems require the
> >      ``distutils`` class in their recipes.
> >
> > +   .. note::
> > +
> > +      ``distutils`` has been deprecated in Python 3.10 and will be
> removed
> > +      in Python 3.12. For this reason the ``distutils3*`` classes are
> now
> > +      deprecated and will be removed from core in the near future.
> Instead,
> > +      use the ``setuptools3*`` classes.
> > +
> > +
> >   -  Extensions that use build systems based on ``setuptools3`` require
> >      the :ref:`setuptools3 <ref-classes-setuptools3>` class in their
> >      recipes.
> > @@ -2376,6 +2384,17 @@ The ``setuptools3`` class supports Python version
> 3.x extensions that
> >   use build systems based on ``setuptools``. If your recipe uses these
> >   build systems, the recipe needs to inherit the ``setuptools3`` class.
> >
> > +.. _ref-classes-setuptools3-base:
> > +
> > +``setuptools3-base.bbclass``
> > +============================
> > +
> > +The ``setuptools3-base`` class provides a reusable base for other
> classes
> > +that support building Python3 version 3.x extensions. If you need
>
> "Python3 extensions" or "Python 3.x extensions" but I guess not both at
> the same time? FWIW, setuptools3 uses the latter.
>
> > +functionality that is not provided by the ``setuptools3`` class, you may
>
> :ref:`setuptools3 <ref-classes-setuptools3>`
>
> > +want to ``inherit setuptools3-base``. Some recipes do not need the tasks
> > +in the ``setuptools3`` class and inherit this class instead.
> > +
>
> :ref:`setuptools3 <ref-classes-setuptools3>`
>
>
Good catch. Thank you for the second set of eyes on this.


> Looks good otherwise,
> Thanks!
>
> Quentin
>
> >   .. _ref-classes-sign_rpm:
> >
> >   ``sign_rpm.bbclass``
> >
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#2385):
> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.yoctoproject.org_g_docs_message_2385&d=DwIFaQ&c=_sEr5x9kUWhuk4_nFwjJtA&r=LYjLexDn7rXIzVmkNPvw5ymA1XTSqHGq8yBP6m6qZZ4njZguQhZhkI_-172IIy1t&m=h2Sz3gZJqoPsLKIfwNlfXAYFeX7mpQdP2oEhvb2aGweey-2-dybLOh-TQ4wdUyAn&s=M_b1du7dlXE8qFoFbIMq2Rl5WKpnDzSYPdMNNHYarmk&e=
> > Mute This Topic:
> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.yoctoproject.org_mt_88357646_6293953&d=DwIFaQ&c=_sEr5x9kUWhuk4_nFwjJtA&r=LYjLexDn7rXIzVmkNPvw5ymA1XTSqHGq8yBP6m6qZZ4njZguQhZhkI_-172IIy1t&m=h2Sz3gZJqoPsLKIfwNlfXAYFeX7mpQdP2oEhvb2aGweey-2-dybLOh-TQ4wdUyAn&s=-Zmwc8AjGeJ5swQXxOjJeeJ_PhR3Yr1UOFftrABLXys&e=
> > Group Owner: docs+owner@lists.yoctoproject.org
> > Unsubscribe:
> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.yoctoproject.org_g_docs_unsub&d=DwIFaQ&c=_sEr5x9kUWhuk4_nFwjJtA&r=LYjLexDn7rXIzVmkNPvw5ymA1XTSqHGq8yBP6m6qZZ4njZguQhZhkI_-172IIy1t&m=h2Sz3gZJqoPsLKIfwNlfXAYFeX7mpQdP2oEhvb2aGweey-2-dybLOh-TQ4wdUyAn&s=rOYWLxd9CDFOLemM4UKT_oz3hU5amnFuC7rGylfmQno&e=
> [quentin.schulz@theobroma-systems.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
>

Patch

diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
index 99d9a7a3e..41360c965 100644
--- a/documentation/ref-manual/classes.rst
+++ b/documentation/ref-manual/classes.rst
@@ -515,6 +515,14 @@  used.
 -  Extensions that use ``distutils``-based build systems require the
    ``distutils`` class in their recipes.
 
+   .. note::
+
+      ``distutils`` has been deprecated in Python 3.10 and will be removed
+      in Python 3.12. For this reason the ``distutils3*`` classes are now
+      deprecated and will be removed from core in the near future. Instead,
+      use the ``setuptools3*`` classes.
+   
+
 -  Extensions that use build systems based on ``setuptools3`` require
    the :ref:`setuptools3 <ref-classes-setuptools3>` class in their
    recipes.
@@ -2376,6 +2384,17 @@  The ``setuptools3`` class supports Python version 3.x extensions that
 use build systems based on ``setuptools``. If your recipe uses these
 build systems, the recipe needs to inherit the ``setuptools3`` class.
 
+.. _ref-classes-setuptools3-base:
+
+``setuptools3-base.bbclass``
+============================
+
+The ``setuptools3-base`` class provides a reusable base for other classes
+that support building Python3 version 3.x extensions. If you need
+functionality that is not provided by the ``setuptools3`` class, you may
+want to ``inherit setuptools3-base``. Some recipes do not need the tasks
+in the ``setuptools3`` class and inherit this class instead.
+
 .. _ref-classes-sign_rpm:
 
 ``sign_rpm.bbclass``