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 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.