diff --git a/meta-oe/recipes-devtools/apitrace/apitrace_13.0.bb b/meta-oe/recipes-devtools/apitrace/apitrace_13.0.bb index 83e2971552..2c07364835 100644 --- a/meta-oe/recipes-devtools/apitrace/apitrace_13.0.bb +++ b/meta-oe/recipes-devtools/apitrace/apitrace_13.0.bb @@ -29,3 +29,14 @@ EXTRA_OECMAKE += "\ LDFLAGS:append:riscv32 = " -latomic" SECURITY_CFLAGS:toolchain-clang = "" + +# Upstream bakes the absolute python CMake found at configure time +# (Python3_EXECUTABLE) into the apitrace binary as APITRACE_PYTHON_EXECUTABLE. +# That path points into the build host (e.g. the autobuilder's +# /srv/pokybuild/buildbot-venv/bin/python3) which trips the buildpaths QA +# check and does not exist on the target. The diff/leaks helper subcommands +# exec it via os::execute(), which uses execvp(), so resolve "python3" through +# PATH at runtime instead. +do_configure:prepend() { + sed -i -E 's|(APITRACE_PYTHON_EXECUTABLE=)"[^"]*Python3_EXECUTABLE[^"]*"|\1"python3"|' ${S}/cli/CMakeLists.txt +}