opencv: rewrite build-tree paths in all CPU-dispatch stub files

The recipe already rewrote the absolute ${S} path embedded in two
PowerPC VSX3 dispatch stubs (arithm.vsx3.cpp, convert.vsx3.cpp) before
packaging, but OpenCV's cmake ocv_add_dispatched_file() macro generates
one such stub per enabled ISA in every module (avx, avx2, avx512_skx,
sse4_1, sse4_2, neon, ...). On NEON builds this produces further
dispatch stubs under ${B}/modules/dnn/* (layers_common.neon.cpp,
fast_gemm_kernels.neon.cpp, conv_block.neon.cpp) whose #include lines
still embed the raw build-tree path, tripping the buildpaths QA check
once copied verbatim into the opencv-src package.

Generalize the existing sed-based rewrite to find and fix every
generated dispatch stub under ${B}/modules, instead of a hardcoded
two-file list, so any ISA/module combination is covered.

Backport of commit fdfca71954 from the blacksail branch, with the
same fix applied to the still-current 4.13.0 recipe on wrynose.

Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
Signed-off-by: Anuj Mittal <anuj.mittal@oss.qualcomm.com>
This commit is contained in:
Primoz Fiser authored and Anuj Mittal committed 2026-10-29 10:19:07 +05:30
1 parent b5c44ffd58
commit 94fa8a5e9b
1 file changed
+2 -4
@@ -213,10 +213,8 @@ do_install:append() {
rm -rf ${D}${bindir}/setup_vars_opencv4.sh
fi
for fn in arithm.vsx3.cpp convert.vsx3.cpp; do
if [ -f ${B}/modules/core/$fn ]; then
sed -i -e 's,${S},/usr/src/debug/${PN}/${PV},g' ${B}/modules/core/$fn
fi
find ${B}/modules -name "*.cpp" | xargs -r grep -l "${S}" | while read -r fn; do
sed -i -e 's,${S},/usr/src/debug/${PN}/${PV},g' "$fn"
done
if [ -d ${D}/${bindir}/shape ]; then