[meta-lts-mixins][scarthgap/rust][PATCH 33/35] cargo_c.bbclass: pass --libdir to cargo cinstall

Scott Murray <[email protected]> Fri, 31 Jul 2026 07:33:03 -0400
Newsgroups org.yoctoproject.lists.yocto-patches
Message-ID <c0864a356599d1cfc58d2cbcba2e8e3d7c0e8439.1785496469.git.scott.murray@konsulko.com>
From: Taruntej Kanakamalla <[email protected]>

cargo-cinstall defaults its libdir to <prefix>/lib since the class does
not pass --libdir. On configurations where ${libdir} is not
<prefix>/lib (e.g. multilib builds where baselib is lib64), the libraries
and pkg-config files get installed into <prefix>/lib, causing do_package
QA failures (installed-vs-shipped).

Pass --libdir ${libdir} explicitly so cargo-cinstall installs the files
into the correct directory.

Signed-off-by: Taruntej Kanakamalla <[email protected]>
Signed-off-by: Mathieu Dubois-Briand <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
(adapted from oe-core commit ce8b2340e4a3fd146bb632898e196438505650e9)
Signed-off-by: Scott Murray <[email protected]>
---
 classes-recipe/cargo_c.bbclass | 1 +
 1 file changed, 1 insertion(+)

diff --git a/classes-recipe/cargo_c.bbclass b/classes-recipe/cargo_c.bbclass
index ef43163..e91ee1d 100644
--- a/classes-recipe/cargo_c.bbclass
+++ b/classes-recipe/cargo_c.bbclass
@@ -35,6 +35,7 @@ cargo_c_do_install() {
     "${CARGO_C_INSTALL}" cinstall ${CARGO_BUILD_FLAGS} \
         --destdir ${D} \
         --prefix ${prefix} \
+        --libdir ${libdir} \
         --library-type cdylib
 }
 
-- 
2.55.0