From 2ec5e69d1844369fd25ae2fb7790067a434bf895 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 7 Aug 2026 03:24:55 +0000 Subject: [PATCH] tcpreplay: fix buildpaths QA warning in tcpreplay-dev package configure is invoked with --with-libpcap=${STAGING_DIR_HOST}${prefix}, which causes libpcap's absolute recipe-sysroot path to be baked into two generated files: - src/defines.h: the #include <...pcap.h> path substituted from @LPCAPINC@ - src/libtcpreplay.pc: the -L in Libs.private substituted from @LIBS@/@LIBTCPREPLAY_PCLIBS@ Both are shipped in the tcpreplay-dev package, tripping: WARNING: tcpreplay-4.6.0-r0 do_package_qa: QA Issue: File /usr/lib/pkgconfig/libtcpreplay.pc in package tcpreplay-dev contains reference to TMPDIR [buildpaths] WARNING: tcpreplay-4.6.0-r0 do_package_qa: QA Issue: File /usr/include/tcpreplay/defines.h in package tcpreplay-dev contains reference to TMPDIR [buildpaths] The existing do_install:append() sed only stripped ${RECIPE_SYSROOT} from ${S}/src/defines.h (needed separately, since that file is shipped verbatim into the tcpreplay-src debug package), but ${D}/.../defines.h and libtcpreplay.pc are copied into ${D} by the automake install rules before :append() runs, so they were never touched. Extend the sed to also cover both installed files under ${D}. AI-Generated: Uses Claude Code Signed-off-by: Khem Raj --- .../recipes-support/tcpreplay/tcpreplay_4.6.0.bb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/meta-networking/recipes-support/tcpreplay/tcpreplay_4.6.0.bb b/meta-networking/recipes-support/tcpreplay/tcpreplay_4.6.0.bb index 47fa416d6a..368308408f 100644 --- a/meta-networking/recipes-support/tcpreplay/tcpreplay_4.6.0.bb +++ b/meta-networking/recipes-support/tcpreplay/tcpreplay_4.6.0.bb @@ -23,5 +23,13 @@ EXTRA_OECONF += "--with-libpcap=${STAGING_DIR_HOST}${prefix}" inherit siteinfo autotools-brokensep do_install:append() { + # configure --with-libpcap=${STAGING_DIR_HOST}${prefix} bakes the absolute + # recipe-sysroot path into defines.h's pcap.h include and into + # libtcpreplay.pc's Libs.private -L flag, tripping the buildpaths QA + # check. Strip it from both the source tree copy (shipped verbatim into + # the tcpreplay-src debug package) and the installed copies under ${D}. sed -i -e 's:${RECIPE_SYSROOT}::g' ${S}/src/defines.h + sed -i -e 's:${RECIPE_SYSROOT}::g' \ + ${D}${includedir}/tcpreplay/defines.h \ + ${D}${libdir}/pkgconfig/libtcpreplay.pc }