All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tim Orling <ticotimo@gmail.com>
To: openembedded-core@lists.openembedded.org
Subject: [PATCH v2 00/22] deprecation of distutils
Date: Tue, 11 Jan 2022 11:01:09 -0800	[thread overview]
Message-ID: <cover.1641920605.git.tim.orling@konsulko.com> (raw)

distutils is deprecated in Python 3.10 and will be removed in Python
3.12 (~October 2023).

This series inserts a deprecation warning into the distutils*.bbclasses
and drops or replaces distutils usage wherever possible.

Instead of distutils3-base, we introduce setuptools3-base, which also
incorporates distutils-common-base.

Remaining usage is in:
  * lib/recipetool/create_buildsys_python.py until we are ready to
    factor it out (and add pyproject.toml and setup.cfg handling)
  * oeqa selftests which are testing distutils3 functionality
  * glib-2.0: upstream is still using distutils.version.LooseVersion
  * gpgme: Still checks for distutils in m4/ax_python_devel.m4
  * python3-numpy: upstream still has a distutils/ module
  * python3-setuptools has a vendored _distutils

I might have missed something else.

No attempt has been made to look at layers outside of oe-core.

The intent is to let this percolate for a few weeks and then drop
distutils*.bbclasses (and move them to meta-python, but with the
warnings).

[YOCTO #14610]

Changes in v2:
  - dropped the import of distutils.version into bb. in favor of
    bb.utils.vercmp_string_op()
  - dropped some patches that have been addressed already
  - update email
  - fix typos
  - drop already merged scripts/buildhistory-diff patch
The following changes since commit 16110cdca7211b0efc59464afbb253527c033cad:

  oeqa/sstate: Fix allarch samesigs test (2022-01-11 15:48:11 +0000)

are available in the Git repository at:

  git://git.yoctoproject.org/git/poky-contrib timo/deprecate_distutils_14610_v2
  http://git.yoctoproject.org/cgit.cgi/git/poky-contrib/log/?h=timo/deprecate_distutils_14610_v2

Tim Orling (22):
  classes/distutils-*: add warning of deprecation
  setuptools3: refactor for no distutils bbclasses
  python3-cython: DISTUTILS_* -> SETUPTOOLS_*
  dnf: inherit setuptools3-base instead of distutils
  libdnf: inherit setuptools3-base not distutils
  python3-dbus: inherit setuptools3-base not distuils
  gpgme: inherit setuptools-base not distuils
  python3-pip: inherit setuptools3 not distuils3
  systemtap: use setuptools-base not distutils
  libcomps: inherit setuptools3-base not distutils
  createrepo-c: inherit setuptools3-base not distutils
  librepo: inherit setuptools3-base not distutils
  btrfs-tools: use setuptools3-base not distutils
  python3-pygobject: setuptools instead of distuils
  bind: inherit setuptools3-base instead of distutils
  python3-setuptools: do not depend on distutils
  gstreamer1.0-python: inherit setuptools3-base
  recipetool/create_buildsys_python.py: less distutils
  waf.bbclass: drop usage of distutils
  dnf: drop python3-distutils dependency
  python3native.bbclass: distutils -> sysconfig
  rootfs_rpm.bbclass: distutils -> sysconfig module

 meta/classes/distutils-common-base.bbclass    |  3 +
 meta/classes/distutils3-base.bbclass          |  3 +
 meta/classes/distutils3.bbclass               |  4 ++
 meta/classes/python3native.bbclass            |  2 +-
 meta/classes/rootfs_rpm.bbclass               |  2 +-
 meta/classes/setuptools3-base.bbclass         | 31 +++++++++
 meta/classes/setuptools3.bbclass              | 66 ++++++++++++++++++-
 meta/classes/waf.bbclass                      |  3 +-
 .../recipes-connectivity/bind/bind_9.16.24.bb |  2 +-
 .../btrfs-tools/btrfs-tools_5.15.1.bb         |  2 +-
 .../createrepo-c/createrepo-c_0.18.0.bb       |  2 +-
 meta/recipes-devtools/dnf/dnf_4.10.0.bb       |  3 +-
 .../libcomps/libcomps_0.1.18.bb               |  2 +-
 meta/recipes-devtools/libdnf/libdnf_0.65.0.bb |  2 +-
 .../librepo/librepo_1.14.2.bb                 |  2 +-
 .../python/python3-cython_0.29.26.bb          |  2 +-
 .../python/python3-dbus_1.2.18.bb             |  2 +-
 .../python/python3-pip_21.3.1.bb              |  2 +-
 .../python/python3-pygobject_3.42.0.bb        |  2 +-
 .../python/python3-setuptools_59.5.0.bb       |  1 -
 .../recipes-kernel/systemtap/systemtap_git.bb |  2 +-
 .../gstreamer/gstreamer1.0-python_1.18.5.bb   |  2 +-
 meta/recipes-support/gpgme/gpgme_1.16.0.bb    |  2 +-
 .../lib/recipetool/create_buildsys_python.py  |  8 ++-
 24 files changed, 129 insertions(+), 23 deletions(-)
 create mode 100644 meta/classes/setuptools3-base.bbclass

-- 
2.30.2



             reply	other threads:[~2022-01-11 19:01 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-11 19:01 Tim Orling [this message]
2022-01-11 19:01 ` [PATCH v2 01/22] classes/distutils-*: add warning of deprecation Tim Orling
2022-01-11 19:01 ` [PATCH v2 02/22] setuptools3: refactor for no distutils bbclasses Tim Orling
2022-01-11 19:01 ` [PATCH v2 03/22] python3-cython: DISTUTILS_* -> SETUPTOOLS_* Tim Orling
2022-01-11 19:01 ` [PATCH v2 04/22] dnf: inherit setuptools3-base instead of distutils Tim Orling
2022-01-11 19:01 ` [PATCH v2 05/22] libdnf: inherit setuptools3-base not distutils Tim Orling
2022-01-11 19:01 ` [PATCH v2 06/22] python3-dbus: inherit setuptools3-base not distuils Tim Orling
2022-01-11 19:01 ` [PATCH v2 07/22] gpgme: inherit setuptools-base " Tim Orling
2022-01-11 19:01 ` [PATCH v2 08/22] python3-pip: inherit setuptools3 not distuils3 Tim Orling
2022-01-11 19:01 ` [PATCH v2 09/22] systemtap: use setuptools-base not distutils Tim Orling
2022-01-11 19:01 ` [PATCH v2 10/22] libcomps: inherit setuptools3-base " Tim Orling
2022-01-11 19:01 ` [PATCH v2 11/22] createrepo-c: " Tim Orling
2022-01-11 19:01 ` [PATCH v2 12/22] librepo: " Tim Orling
2022-01-11 19:01 ` [PATCH v2 13/22] btrfs-tools: use " Tim Orling
2022-01-11 19:01 ` [PATCH v2 14/22] python3-pygobject: setuptools instead of distuils Tim Orling
2022-01-11 19:01 ` [PATCH v2 15/22] bind: inherit setuptools3-base instead of distutils Tim Orling
2022-01-11 19:01 ` [PATCH v2 16/22] python3-setuptools: do not depend on distutils Tim Orling
2022-01-11 19:01 ` [PATCH v2 17/22] gstreamer1.0-python: inherit setuptools3-base Tim Orling
2022-01-11 19:01 ` [PATCH v2 18/22] recipetool/create_buildsys_python.py: less distutils Tim Orling
2022-01-11 19:01 ` [PATCH v2 19/22] waf.bbclass: drop usage of distutils Tim Orling
2022-01-11 19:01 ` [PATCH v2 20/22] dnf: drop python3-distutils dependency Tim Orling
2022-01-11 19:01 ` [PATCH v2 21/22] python3native.bbclass: distutils -> sysconfig Tim Orling
2022-01-11 19:01 ` [PATCH v2 22/22] rootfs_rpm.bbclass: distutils -> sysconfig module Tim Orling
2022-01-11 19:37 ` [OE-core] [PATCH v2 00/22] deprecation of distutils Alexander Kanavin
2022-01-11 20:04   ` Tim Orling

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1641920605.git.tim.orling@konsulko.com \
    --to=ticotimo@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.