[RFC,20/26] recipetool/create_buildsys_python.py: less distutils

Message ID 29ca205dca70847b0ef6d4db6f70eddce2544f9a.1637900380.git.timothy.t.orling@intel.com
State Accepted, archived
Commit 619a3eb1266459daf16e10386113e9201fbf9cf5
Headers show
Series [RFC,01/26] classes/distutils-*: add warning of deprecation | expand

Commit Message

Tim Orling Nov. 26, 2021, 4:35 a.m. UTC
distutils is deprecated in Python 3.10 with removal in Python 3.12
(~October 2023). Replace distutils.command.build_py with
setuptools.command.build_py.

There is still a check which decides to inherit setuptools3 vs distutils3
that will need to be refactored when we add pyproject.toml and setup.cfg
support for more modern PEP 517 packages.

Once distutils3.bbclass is dropped, any recipe inheriting distutils3
will throw a parsing error. The plan is to move distutils*.bbclasses to
meta-python. However if meta-python is not in bblayers, the parsing
error would still occur.

[YOCTO #14610]

Signed-off-by: Tim Orling <timothy.t.orling@intel.com>
---
 scripts/lib/recipetool/create_buildsys_python.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Patch

diff --git a/scripts/lib/recipetool/create_buildsys_python.py b/scripts/lib/recipetool/create_buildsys_python.py
index 0b6b042ed17..570be7e81b2 100644
--- a/scripts/lib/recipetool/create_buildsys_python.py
+++ b/scripts/lib/recipetool/create_buildsys_python.py
@@ -8,7 +8,7 @@ 
 import ast
 import codecs
 import collections
-import distutils.command.build_py
+import setuptools.command.build_py
 import email
 import imp
 import glob
@@ -459,7 +459,7 @@  class PythonRecipeHandler(RecipeHandler):
         else:
             package_dir = {}
 
-        class PackageDir(distutils.command.build_py.build_py):
+        class PackageDir(setuptools.command.build_py.build_py):
             def __init__(self, package_dir):
                 self.package_dir = package_dir