]> code.ossystems Code Review - openembedded-core.git/commit
classes: add setuptools3_legacy
authorRoss Burton <ross@burtonini.com>
Fri, 4 Mar 2022 11:55:25 +0000 (11:55 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 5 Mar 2022 10:44:38 +0000 (10:44 +0000)
commit341d2b35986e48e4954c591be8bc037a5557452a
treed0e15ce2a1d10033d5e6d55bafddf9c258c93d10
parentec27f886bfad5f6a53ee96be1c9605479cff50d3
classes: add setuptools3_legacy

Following a good discussion with PyPA upstream[1] the migration of the
setuptools3.bbclass to use bdist_wheel+pip turns out to be more complex
than thought.

Essentially, we're midway through a lot of changes: the future of Python
packaging is wheels and pip, but those by design are not as flexible as
traditional distutils and setup.py.

Specifically, with traditional distutils the package can implement its
own install task and write arbitrary files (such as init scripts).  With
wheels this is explicity impossible, so packages that do this cannot use
the new setuptools class and must continue to use the build/install tasks
as before.

This class is the old setuptools behaviour, bought back. However, as
distutils and the setuptools install task are both deprecated and will
soon be removed entirely, any users of this class should be moving to an
alternative build tool, be it a modern Python tool which works with
wheels, or a non-Pythonic tool such as Meson.

[1] https://github.com/pypa/packaging-problems/issues/576

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/setuptools3_legacy.bbclass [new file with mode: 0644]