From patchwork Thu Jul 30 19:00:03 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 93957 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 734E3C5516E for ; Thu, 30 Jul 2026 19:00:17 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.19407.1785438013773040027 for ; Thu, 30 Jul 2026 12:00:14 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@arm.com header.s=foss header.b=cKxGMD62; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id BD8C2165C for ; Thu, 30 Jul 2026 12:00:08 -0700 (PDT) Received: from cesw-amp-gbt-1s-m12830-04.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 8A01B3F66F for ; Thu, 30 Jul 2026 12:00:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1785438012; bh=gRY9suxsnXtFxtgfIEmSEdUtrzI5g0UneQrAvwLpHhc=; h=From:To:Subject:Date:From; b=cKxGMD62soDGQlGdIhiof+qv5Y90PhvvGrY2BVGkHgSy6M2BHeRsTpXf6/V3pAvUq I6ekpmkDrTU6CjyZuQ4WmL4G8KF+/lzaXFnvPSOzPJqJWt9JKmC0p9QRfWlcBL1O7/ 9WRgh4e5Pz/eQOk4yQuUO6tzGmKBkQffWbmGytps= From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH 1/5] cargo: centralise anti-vendoring environment variables Date: Thu, 30 Jul 2026 20:00:03 +0100 Message-ID: <20260730190007.2440254-1-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 30 Jul 2026 19:00:17 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/242371 The cargo recipe has exports to stop the libssh2-sys (and git2-sys, but disabled) crate from vendoring the C code into the built binary and instead link to the shared libraries that we already have built. This is desirable because it means that we have a single copy of say libssh2 on the system that can be updated easily, instead of potentially multiple different versions embedded in rust binaries. This isn't specific to cargo, so move it into cargo_common so that all recipes that build crates don't vendor C code. The git2-sys linking was disabled due to incompatibilities with older versions, but this appears to be historical now and git2-sys will link dynamically if the library can be found. Force this by exporting the variable so it refuses to build if it can't link. Add anti-vendoring exports for libsqlite3-sys, openssl-sys, and zstd-sys. Also explicitly tell pkg-config-sys that we'd prefer to never build vendorered code, and link dynamically not statically. Signed-off-by: Ross Burton --- meta/classes-recipe/cargo_common.bbclass | 23 ++++++++++++++++++++++ meta/recipes-devtools/rust/cargo_1.96.1.bb | 9 --------- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/meta/classes-recipe/cargo_common.bbclass b/meta/classes-recipe/cargo_common.bbclass index c1fe6a24ed6..a21c5423642 100644 --- a/meta/classes-recipe/cargo_common.bbclass +++ b/meta/classes-recipe/cargo_common.bbclass @@ -226,6 +226,29 @@ oe_cargo_fix_env () { export HOST_CFLAGS="${BUILD_CFLAGS}" export HOST_CXXFLAGS="${BUILD_CXXFLAGS}" export HOST_AR="${BUILD_AR}" + + # Tell crates to use system libraries instead of vendoring C code + + # git2-rs + export LIBGIT2_NO_VENDOR="1" + + # libssh2-sys + export LIBSSH2_SYS_USE_PKG_CONFIG="1" + + # libsqlite3-sys + export LIBSQLITE3_SYS_USE_PKG_CONFIG="1" + + # openssl-sys + export OPENSSL_NO_VENDOR="1" + + # pkg-config-rs. Crates can still override the dynamic linking + # but try to dynamically link to system libraries. + # https://docs.rs/pkg-config/latest/pkg_config/ + export SYSTEM_DEPS_BUILD_INTERNAL="never" + export PKG_CONFIG_ALL_DYNAMIC="1" + + # zstd-sys + export ZSTD_SYS_USE_PKG_CONFIG="1" } EXTRA_OECARGO_PATHS ??= "" diff --git a/meta/recipes-devtools/rust/cargo_1.96.1.bb b/meta/recipes-devtools/rust/cargo_1.96.1.bb index 16f8a76310b..179ed2bbb56 100644 --- a/meta/recipes-devtools/rust/cargo_1.96.1.bb +++ b/meta/recipes-devtools/rust/cargo_1.96.1.bb @@ -72,15 +72,6 @@ do_install:append:class-nativesdk() { FILES:${PN} += "${base_prefix}/environment-setup.d" -# Disabled due to incompatibility with libgit2 0.28.x (https://github.com/rust-lang/git2-rs/issues/458, https://bugs.gentoo.org/707746#c1) -# as shipped by Yocto Dunfell. -# According to https://github.com/rust-lang/git2-rs/issues/458#issuecomment-522567539, there are no compatibility guarantees between -# libgit2-sys and arbitrary system libgit2 versions, so better keep this turned off. -#export LIBGIT2_SYS_USE_PKG_CONFIG = "1" - -# Needed for pkg-config to be used -export LIBSSH2_SYS_USE_PKG_CONFIG = "1" - # When building cargo-native we don't have cargo-native to use and depend on, # so we must use the locally set up snapshot to bootstrap the build. BASEDEPENDS:remove:class-native = "cargo-native" From patchwork Thu Jul 30 19:00:04 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 93955 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 57EEAC5516D for ; Thu, 30 Jul 2026 19:00:17 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.19036.1785438014160886184 for ; Thu, 30 Jul 2026 12:00:14 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@arm.com header.s=foss header.b=ebZPG8MY; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 609B4204C for ; Thu, 30 Jul 2026 12:00:09 -0700 (PDT) Received: from cesw-amp-gbt-1s-m12830-04.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 217C33F66F for ; Thu, 30 Jul 2026 12:00:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1785438013; bh=W+wMYss4/+vlK5o/KSlIn4HXNNz2zCgatfZHQkUxACk=; h=From:To:Subject:Date:In-Reply-To:References:From; b=ebZPG8MYUOYZIvV5lZiftFCSD1vPYOKihpljg8Ht5JosSps5jfDbz6+tVarpdZTvD Is/Xue61Zp5Lw8+Wu7wB79qCq3eoX1jv5cpuy8qH9VYHnUkSJ5i6Qx/eLxTarHwZLz 46TuT9gx9K3Pg+hnxnOqnvjjqhcpZ/589P9rdoK0= From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH 2/5] cargo: add missing build dependencies Date: Thu, 30 Jul 2026 20:00:04 +0100 Message-ID: <20260730190007.2440254-2-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260730190007.2440254-1-ross.burton@arm.com> References: <20260730190007.2440254-1-ross.burton@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 30 Jul 2026 19:00:17 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/242373 Now that we're disabling more vendoring, add missing build dependencies for libssh2 and sqlite3. Signed-off-by: Ross Burton --- meta/recipes-devtools/rust/cargo_1.96.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/rust/cargo_1.96.1.bb b/meta/recipes-devtools/rust/cargo_1.96.1.bb index 179ed2bbb56..5390ad385a1 100644 --- a/meta/recipes-devtools/rust/cargo_1.96.1.bb +++ b/meta/recipes-devtools/rust/cargo_1.96.1.bb @@ -3,7 +3,7 @@ HOMEPAGE = "https://crates.io" LICENSE = "Apache-2.0 OR MIT" SECTION = "devel" -DEPENDS = "openssl zlib curl ca-certificates libssh2" +DEPENDS = "openssl zlib curl ca-certificates libgit2 libssh2 sqlite3" LIC_FILES_CHKSUM = " \ file://LICENSE-MIT;md5=b377b220f43d747efdec40d69fcaa69d \ From patchwork Thu Jul 30 19:00:05 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 93958 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 74AE9C55172 for ; Thu, 30 Jul 2026 19:00:17 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.19038.1785438014507171459 for ; Thu, 30 Jul 2026 12:00:14 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@arm.com header.s=foss header.b=oC33Rwtz; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id F2B6320E3 for ; Thu, 30 Jul 2026 12:00:09 -0700 (PDT) Received: from cesw-amp-gbt-1s-m12830-04.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id B5FBB3F66F for ; Thu, 30 Jul 2026 12:00:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1785438014; bh=Euso/mKlTWJLGRLHcHHc8KlNjErW+KxRLR4B0PLwSe0=; h=From:To:Subject:Date:In-Reply-To:References:From; b=oC33RwtzHd8GIta0F7pqtIsQ7OObf2Yw+zOHcWAEvVlihYsJpHdTXu8Th2WoDMwOY r430oAjOduFUQGU1673UVsjGG+oxzQv+1r/+4fuQ0gnnX3KrR0T30+38Qh9iFjSNsp dYEewsMKorcKi88f1xJMeeDRUhYezUO3V9seowws= From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH 3/5] cargo-c: add missing build dependencies Date: Thu, 30 Jul 2026 20:00:05 +0100 Message-ID: <20260730190007.2440254-3-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260730190007.2440254-1-ross.burton@arm.com> References: <20260730190007.2440254-1-ross.burton@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 30 Jul 2026 19:00:17 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/242372 Now that we're disabling more vendoring, add missing build dependencies for libgit2 and sqlite3. Signed-off-by: Ross Burton --- meta/recipes-devtools/cargo-c/cargo-c_0.10.24+cargo-0.98.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/cargo-c/cargo-c_0.10.24+cargo-0.98.0.bb b/meta/recipes-devtools/cargo-c/cargo-c_0.10.24+cargo-0.98.0.bb index f4caeefd655..482a34280f7 100644 --- a/meta/recipes-devtools/cargo-c/cargo-c_0.10.24+cargo-0.98.0.bb +++ b/meta/recipes-devtools/cargo-c/cargo-c_0.10.24+cargo-0.98.0.bb @@ -15,7 +15,7 @@ DEBUG_PREFIX_MAP += "-ffile-prefix-map=${CARGO_HOME}=${TARGET_DBGSRC_DIR}" inherit cargo cargo-update-recipe-crates pkgconfig -DEPENDS = "openssl curl" +DEPENDS = "openssl curl sqlite3 libgit2" require ${BPN}-crates.inc From patchwork Thu Jul 30 19:00:06 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 93954 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 65A91C5516F for ; Thu, 30 Jul 2026 19:00:17 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.19409.1785438015191214223 for ; Thu, 30 Jul 2026 12:00:15 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@arm.com header.s=foss header.b=F48BVJT1; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9368C165C for ; Thu, 30 Jul 2026 12:00:10 -0700 (PDT) Received: from cesw-amp-gbt-1s-m12830-04.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 563123F66F for ; Thu, 30 Jul 2026 12:00:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1785438014; bh=s9A01cLbBIfsFdY/YLrgnMuGv7+6qblSwdhXvxKU7m0=; h=From:To:Subject:Date:In-Reply-To:References:From; b=F48BVJT1mlbBHvnTpUZUpRqL1/ji15eAct3IkgemrRFuUCck8ghfyGItEydbD8Wsm dpaIKTC+yqJ0z061wNXTVRqzlvbiroF8ctwZf6YC7FveYJw9C/M/eB+CqFJPrtDAL4 sLNoyUEacbwwjbwnY8+x/BZgeIsVGpVp2/PLisa4= From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH 4/5] python3-maturin: add missing build dependencies Date: Thu, 30 Jul 2026 20:00:06 +0100 Message-ID: <20260730190007.2440254-4-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260730190007.2440254-1-ross.burton@arm.com> References: <20260730190007.2440254-1-ross.burton@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 30 Jul 2026 19:00:17 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/242374 Now that we're disabling more vendoring, add missing build dependencies for zstd and pkgconfig. Signed-off-by: Ross Burton --- meta/recipes-devtools/python/python3-maturin_1.14.1.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-devtools/python/python3-maturin_1.14.1.bb b/meta/recipes-devtools/python/python3-maturin_1.14.1.bb index 88ba336022b..854822d3c0b 100644 --- a/meta/recipes-devtools/python/python3-maturin_1.14.1.bb +++ b/meta/recipes-devtools/python/python3-maturin_1.14.1.bb @@ -15,11 +15,12 @@ DEPENDS += "\ python3-setuptools-rust-native \ python3-semantic-version-native \ python3-setuptools-rust \ + zstd \ " require ${BPN}-crates.inc -inherit pypi cargo-update-recipe-crates python_pyo3 python_setuptools_build_meta +inherit pypi cargo-update-recipe-crates python_pyo3 python_setuptools_build_meta pkgconfig do_configure() { python_pyo3_do_configure From patchwork Thu Jul 30 19:00:07 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 93956 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 84F38C55171 for ; Thu, 30 Jul 2026 19:00:17 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.19041.1785438015657037759 for ; Thu, 30 Jul 2026 12:00:15 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@arm.com header.s=foss header.b=lHbCuiWP; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 31827165C for ; Thu, 30 Jul 2026 12:00:11 -0700 (PDT) Received: from cesw-amp-gbt-1s-m12830-04.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id E99E03F66F for ; Thu, 30 Jul 2026 12:00:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1785438015; bh=rNwcQikfQCscp5gaNiaLRHSiRnxALyw0BzStQpV46/k=; h=From:To:Subject:Date:In-Reply-To:References:From; b=lHbCuiWPzXAYDlCwfqqzAwlbM1qEyE0ihjOxoZCKKeuu0d/5i8u0vW2bHJDsW4W3+ hELnHJEvBFDN1i0xETlPXyohpqyCUxcDVOCpe73D7ZRESe3YS5iQhfCHv5xF/XvLe5 AjCxbH1GUq3Xuu0U1TTzOn0AJEJ1fRMDPs+rtIuo= From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH 5/5] python3-uv-build: add missing build dependencies Date: Thu, 30 Jul 2026 20:00:07 +0100 Message-ID: <20260730190007.2440254-5-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260730190007.2440254-1-ross.burton@arm.com> References: <20260730190007.2440254-1-ross.burton@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 30 Jul 2026 19:00:17 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/242375 Now that we're disabling more vendoring, add missing build dependencies for zstd and pkgconfig. Signed-off-by: Ross Burton --- meta/recipes-devtools/python/python3-uv-build_0.11.32.bb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meta/recipes-devtools/python/python3-uv-build_0.11.32.bb b/meta/recipes-devtools/python/python3-uv-build_0.11.32.bb index 7f3487d25ca..037f55e9810 100644 --- a/meta/recipes-devtools/python/python3-uv-build_0.11.32.bb +++ b/meta/recipes-devtools/python/python3-uv-build_0.11.32.bb @@ -15,7 +15,9 @@ SRC_URI[sha256sum] = "906542262cf0e1f507d3e9bcf0a73afa9c9269daf261fbd5357a541b53 require ${BPN}-crates.inc -inherit pypi python_maturin cargo-update-recipe-crates +inherit pypi python_maturin cargo-update-recipe-crates pkgconfig + +DEPENDS += "zstd" PYPI_PACKAGE = "uv_build"