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 <[email protected]> --- meta/classes-recipe/python_hatchling.bbclass | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/meta/classes-recipe/python_hatchling.bbclass b/meta/classes-recipe/python_hatchling.bbclass index b9e6582eb5..a20e243161 100644 --- a/meta/classes-recipe/python_hatchling.bbclass +++ b/meta/classes-recipe/python_hatchling.bbclass @@ -7,3 +7,12 @@ inherit python_pep517 python3native python3-dir setuptools3-base DEPENDS += "python3-hatchling-native" + +# delete nested, empty directories from the python site-packages path. We don't use +# ${PYTHON_SITEPACKAGES_DIR} in the path specification so that python3-hatchling +# still builds OK +hatchling_rm_emptydirs () { + find ${RECIPE_SYSROOT_NATIVE}/usr/lib/${PYTHON_DIR}/site-packages/* -depth -type d -empty -delete +} + +do_prepare_recipe_sysroot[postfuncs] += " hatchling_rm_emptydirs" -- 2.40.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#182035): https://lists.openembedded.org/g/openembedded-core/message/182035 Mute This Topic: https://lists.openembedded.org/mt/99249321/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
