diff mbox series

libcamera: fix IPA signature re-signing for lib64 systems

Message ID 20260514091516.905479-1-jianpeng.chang.cn@windriver.com
State Rejected
Headers show
Series libcamera: fix IPA signature re-signing for lib64 systems | expand

Commit Message

Jianpeng Chang May 14, 2026, 9:15 a.m. UTC
The do_package_recalculate_ipa_signatures function re-signs IPA modules
after stripping to ensure the signature matches the installed binary.
However, it hardcoded the search path as ${PKGD}/usr/lib/libcamera which
misses aarch64 systems where libraries are installed to /usr/lib64/.

This caused IPA signature validation to fail at runtime, forcing the IPA
to run in isolation mode (separate process). The isolated IPA proxy then
crashes with 'A list of V4L2 controls requires a ControlInfoMap' when
used from GStreamer's libcamerasrc, because the proxy receives a V4L2
control list before the ControlInfoMap is established over IPC.

Fix by using a path-based find pattern that works regardless of the
library directory name.

Signed-off-by: Jianpeng Chang <jianpeng.chang.cn@windriver.com>
---
 meta-multimedia/recipes-multimedia/libcamera/libcamera_0.7.1.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.7.1.bb b/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.7.1.bb
index 74cb910417..60e1cdb621 100644
--- a/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.7.1.bb
+++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.7.1.bb
@@ -80,7 +80,7 @@  do_package:append() {
 
 do_package_recalculate_ipa_signatures() {
     local modules
-    for module in $(find ${PKGD}/usr/lib/libcamera -name "*.so.sign"); do
+    for module in $(find ${PKGD}${libdir}/libcamera -name "*.so.sign"); do
         module="${module%.sign}"
         if [ -f "${module}" ] ; then
             modules="${modules} ${module}"