@@ -12,6 +12,15 @@ SRCREV = "cd195b51e948a902a4312f023f4a14392516a543"
LIBVER = "0.0.0"
+# GNUmakefile hardcodes its own CFLAGS= assignment (patched to add -fPIC for
+# the shared lib build), which as a plain makefile variable overrides the
+# CFLAGS bitbake exports in the environment -- including the
+# -ffile-prefix-map flags from DEBUG_PREFIX_MAP. Without those, -g debug
+# info embeds the absolute build-tree path, tripping the buildpaths QA
+# check. Pass CFLAGS on the make command line instead, which does take
+# precedence over the makefile's own assignment.
+EXTRA_OEMAKE += "'CFLAGS=${CFLAGS} -fPIC'"
+
inherit lib_package
do_compile:prepend:class-target() {
GNUmakefile hardcodes its own CFLAGS= assignment (patched by 0001-Build-so-lib.patch to add -fPIC for the shared-lib build). As a plain makefile variable, that assignment overrides the CFLAGS bitbake exports into the build environment -- including the -ffile-prefix-map flags from DEBUG_PREFIX_MAP. Without those, -g debug info in the compiled snowball/stemwords/libstemmer.so binaries embeds the absolute build-tree path, tripping the buildpaths QA check on the -dbg package: ERROR: libstemmer-3.1.1-r0 do_package_qa: QA Issue: File /usr/bin/.debug/snowball in package libstemmer-dbg contains reference to TMPDIR [buildpaths] Pass CFLAGS via EXTRA_OEMAKE instead, which oe_runmake places on the make command line and therefore does take precedence over the makefile's own CFLAGS= assignment. Verified via cleansstate rebuild: log.do_package_qa no longer contains any buildpaths warnings, and `strings` on the rebuilt snowball debug binary no longer contains any build/tmp/work host paths. AI-Generated: Uses Claude Code Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> --- meta-oe/recipes-support/libstemmer/libstemmer_3.1.1.bb | 9 +++++++++ 1 file changed, 9 insertions(+)