All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 00/26] deprecation of distutils
@ 2021-11-26  4:35 Tim Orling
  2021-11-26  4:35 ` [RFC PATCH 01/26] classes/distutils-*: add warning of deprecation Tim Orling
                   ` (25 more replies)
  0 siblings, 26 replies; 29+ messages in thread
From: Tim Orling @ 2021-11-26  4:35 UTC (permalink / raw)
  To: openembedded-core

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]

The following changes since commit 6fca075a8d87d033359f81d476c8506df66ad53d:

  gcc: Drop no longer needed patch (2021-11-25 21:53:44 +0000)

are available in the Git repository at:

  git://push.openembedded.org/openembedded-core-contrib timo/core-deprecate-distutils_14610

Tim Orling (26):
  classes/distutils-*: add warning of deprecation
  setuptools: refactor for no distutils bbclasses
  python3-cython: DISTUTILS_* -> SETUPTOOLS_*
  dnf: inherit setuptools3-base instead of distutils
  libdnf: inherit setuptoools3-base not distutils
  python3-dbus: inherit setuptools3-base not distuils
  gpgme: inherit setuptools-base not distutils
  python3-pip: inherit setuptools3 not distutils3
  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
  scripts/buildhistory-diff: drop use of distutils
  python3-pygobject: setuptools instead of distutils
  bind: inherit setuptools3-base instead of distutils
  python3-setuptools: do not depend on distutils
  sanity.bbclass: drop usage of distutils
  gstreamer1.0-python: inherit setuptools3-base
  recipetool/create_buildsys_python.py: less distutils
  waf.bbclass: drop usage of distutils
  dnf: drop python3-disutils dependency
  python3: refactor python-config patch
  lib/oe/terminal.py: use bb.version.LooseVersion
  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/sanity.bbclass                   | 16 ++---
 meta/classes/setuptools3-base.bbclass         | 31 +++++++++
 meta/classes/setuptools3.bbclass              | 67 +++++++++++++++++-
 meta/classes/waf.bbclass                      |  2 +-
 meta/lib/oe/terminal.py                       |  2 +-
 .../recipes-connectivity/bind/bind_9.16.23.bb |  2 +-
 .../btrfs-tools/btrfs-tools_5.15.bb           |  2 +-
 .../createrepo-c/createrepo-c_0.17.7.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.24.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.2.0.bb       |  1 -
 ...n-implement-legacy-disutils-behavior.patch | 68 +++++++++++++++++++
 .../python/python3/python-config.patch        | 55 ---------------
 .../recipes-devtools/python/python3_3.10.0.bb |  2 +-
 .../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 +-
 scripts/buildhistory-diff                     |  5 --
 .../lib/recipetool/create_buildsys_python.py  |  4 +-
 30 files changed, 204 insertions(+), 92 deletions(-)
 create mode 100644 meta/classes/setuptools3-base.bbclass
 create mode 100644 meta/recipes-devtools/python/python3/0001-python-config.in-implement-legacy-disutils-behavior.patch
 delete mode 100644 meta/recipes-devtools/python/python3/python-config.patch

-- 
2.30.2



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

end of thread, other threads:[~2021-11-26 16:08 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-26  4:35 [RFC PATCH 00/26] deprecation of distutils Tim Orling
2021-11-26  4:35 ` [RFC PATCH 01/26] classes/distutils-*: add warning of deprecation Tim Orling
2021-11-26  4:35 ` [RFC PATCH 02/26] setuptools: refactor for no distutils bbclasses Tim Orling
2021-11-26  7:37   ` [OE-core] " Konrad Weihmann
2021-11-26 16:07     ` Tim Orling
2021-11-26  4:35 ` [RFC PATCH 03/26] python3-cython: DISTUTILS_* -> SETUPTOOLS_* Tim Orling
2021-11-26  4:35 ` [RFC PATCH 04/26] dnf: inherit setuptools3-base instead of distutils Tim Orling
2021-11-26  4:35 ` [RFC PATCH 05/26] libdnf: inherit setuptoools3-base not distutils Tim Orling
2021-11-26  4:35 ` [RFC PATCH 06/26] python3-dbus: inherit setuptools3-base not distuils Tim Orling
2021-11-26  4:35 ` [RFC PATCH 07/26] gpgme: inherit setuptools-base not distutils Tim Orling
2021-11-26  4:35 ` [RFC PATCH 08/26] python3-pip: inherit setuptools3 not distutils3 Tim Orling
2021-11-26  4:35 ` [RFC PATCH 09/26] systemtap: use setuptools-base not distutils Tim Orling
2021-11-26  4:35 ` [RFC PATCH 10/26] libcomps: inherit setuptools3-base " Tim Orling
2021-11-26  4:35 ` [RFC PATCH 11/26] createrepo-c: " Tim Orling
2021-11-26  4:35 ` [RFC PATCH 12/26] librepo: " Tim Orling
2021-11-26  4:35 ` [RFC PATCH 13/26] btrfs-tools: use " Tim Orling
2021-11-26  4:35 ` [RFC PATCH 14/26] scripts/buildhistory-diff: drop use of distutils Tim Orling
2021-11-26  4:35 ` [RFC PATCH 15/26] python3-pygobject: setuptools instead " Tim Orling
2021-11-26  4:35 ` [RFC PATCH 16/26] bind: inherit setuptools3-base " Tim Orling
2021-11-26  4:35 ` [RFC PATCH 17/26] python3-setuptools: do not depend on distutils Tim Orling
2021-11-26  4:35 ` [RFC PATCH 18/26] sanity.bbclass: drop usage of distutils Tim Orling
2021-11-26  4:35 ` [RFC PATCH 19/26] gstreamer1.0-python: inherit setuptools3-base Tim Orling
2021-11-26  4:35 ` [RFC PATCH 20/26] recipetool/create_buildsys_python.py: less distutils Tim Orling
2021-11-26  4:36 ` [RFC PATCH 21/26] waf.bbclass: drop usage of distutils Tim Orling
2021-11-26  4:36 ` [RFC PATCH 22/26] dnf: drop python3-disutils dependency Tim Orling
2021-11-26  4:36 ` [RFC PATCH 23/26] python3: refactor python-config patch Tim Orling
2021-11-26  4:36 ` [RFC PATCH 24/26] lib/oe/terminal.py: use bb.version.LooseVersion Tim Orling
2021-11-26  4:36 ` [RFC PATCH 25/26] python3native.bbclass: distutils -> sysconfig Tim Orling
2021-11-26  4:36 ` [RFC PATCH 26/26] rootfs_rpm.bbclass: distutils -> sysconfig module Tim Orling

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.