]> code.ossystems Code Review - openembedded-core.git/commit
recipetool/create_buildsys_python.py: less distutils
authorTim Orling <ticotimo@gmail.com>
Tue, 11 Jan 2022 19:01:27 +0000 (11:01 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 12 Jan 2022 21:05:28 +0000 (21:05 +0000)
commit619a3eb1266459daf16e10386113e9201fbf9cf5
tree1f9bd7dcdf80db453de3b33344273f5df4e051fc
parent74ed892dbcc074ba7208f3c5bf1d7c094fbcb5e3
recipetool/create_buildsys_python.py: less distutils

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

To avoid an AttributeError, we call super().__init__() which provides
the missing 'distribution' attribute. However, for some reason, __init__()
in 'setuptools.command.build_py.build_py' class requires a 'dist' positional
argument which must be a 'Distribution' instance. It is not clear why
'distutils.command.build_py.build_py' class does not require this.

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

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 <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/lib/recipetool/create_buildsys_python.py