]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commit
python_hatchling: remove empty python sysroot dirs
authorTrevor Gamblin <tgamblin@baylibre.com>
Thu, 1 Jun 2023 13:56:29 +0000 (09:56 -0400)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 2 Jun 2023 13:41:46 +0000 (14:41 +0100)
commit3ded8b83cebb6d2b9f9da1c0325148f8da4ed23b
treee079d6436ebd29ec4659f5698e3ee492a335dbfe
parent9e4ec14423ff33557be00aa020ad988d4deafd54
python_hatchling: remove empty python sysroot dirs

In some cases, empty versioned directories are being left behind in
sysroots from previous versions of packages. This appears to be found
with recipes relying on hatchling, and causes errors at the do_compile
step:

|   File "/workspace/yocto/manual/openembedded-core/build/tmp-glibc/work/core2-64-oe-linux/python3-iniconfig/2.0.0-r0/recipe-sysroot-native/usr/lib/python3.11/site-packages/packaging/version.py", line 197, in __init__
|     match = self._regex.search(version)
|             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
| TypeError: expected string or bytes-like object, got 'NoneType'

To fix this error, add a do_prepare_recipe_sysroot postfunc in the
python_hatchling class that removes any nested empty directories from
the sysroots during build, so that dependent recipes don't get caught
on them.

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes-recipe/python_hatchling.bbclass