From: Tim Orling <ticotimo@gmail.com>
To: openembedded-core@lists.openembedded.org
Subject: [RFC PATCH 00/26] deprecation of distutils
Date: Thu, 25 Nov 2021 20:35:39 -0800 [thread overview]
Message-ID: <cover.1637900380.git.timothy.t.orling@intel.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]
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
next reply other threads:[~2021-11-26 4:36 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-26 4:35 Tim Orling [this message]
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
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.1637900380.git.timothy.t.orling@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox