From af2a4f072eca804fd5ddeb50f1a8c9b838d6f6c2 Mon Sep 17 00:00:00 2001 From: Yoann Congal Date: Sat, 28 Jun 2025 18:37:26 +0200 Subject: python3-evdev: Use Yocto kernel headers instead of host's Commit 01ebfecf1c94 ("python3-evdev: switch to PEP-517 build backend") did not update the way build arguments are passed to the build making them unused. In python3-evdev case that meant that the build used host kernel headers instead of Yocto's. When host's and Yocto's headers were different (currently the case on Debian 12 as seen on AB[0]), that triggered: | src/evdev/ecodes.c:542:29: error: 'KEY_LINK_PHONE' undeclared (first use in this function); did you mean 'KEY_PICKUP_PHONE'? | 542 | PyModule_AddIntMacro(m, KEY_LINK_PHONE); | | ^~~~~~~~~~~~~~ [...] ERROR: Task (.../../../layers/meta-openembedded/meta-python/recipes-devtools/python/python3-evdev_1.9.1.bb:do_compile) failed with exit code '1' To fix this, use PEP517_BUILD_OPTS with the working (but weird looking) escaping. Now that correct headers are used, their paths end up in the ecode.c file which lead to a buildpaths error, skip the check for this patch. This will be fixed in a following patch. [0]: https://autobuilder.yoctoproject.org/valkyrie/#/builders/87/builds/40/steps/40/logs/stdio Signed-off-by: Yoann Congal Signed-off-by: Khem Raj Signed-off-by: Armin Kuster --- meta-python/recipes-devtools/python/python3-evdev_1.9.1.bb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meta-python/recipes-devtools/python/python3-evdev_1.9.1.bb b/meta-python/recipes-devtools/python/python3-evdev_1.9.1.bb index c48bc39c1f..b8930c97d5 100644 --- a/meta-python/recipes-devtools/python/python3-evdev_1.9.1.bb +++ b/meta-python/recipes-devtools/python/python3-evdev_1.9.1.bb @@ -11,7 +11,8 @@ do_compile:prepend() { rm -rf ${S}/evdev/ecodes.c } -SETUPTOOLS_BUILD_ARGS = "build_ecodes --evdev-headers ${STAGING_DIR_TARGET}/usr/include/linux/input.h:${STAGING_DIR_TARGET}/usr/include/linux/input-event-codes.h" +PEP517_BUILD_OPTS = "--config-setting=--build-option='build_ecodes \ + --evdev-headers ${STAGING_DIR_TARGET}/usr/include/linux/input.h:${STAGING_DIR_TARGET}/usr/include/linux/input-event-codes.h'" RDEPENDS:${PN} += "\ python3-ctypes \ @@ -20,3 +21,4 @@ RDEPENDS:${PN} += "\ python3-shell \ python3-stringold \ " +INSANE_SKIP:${PN}-src = "buildpaths" -- cgit v1.2.3-54-g00ecf