From patchwork Tue Aug 4 22:04:53 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alejandro Hernandez X-Patchwork-Id: 94540 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 2CBDDC56201 for ; Tue, 4 Aug 2026 22:05:09 +0000 (UTC) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.27829.1785881103135731572 for ; Tue, 04 Aug 2026 15:05:03 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@linux.microsoft.com header.s=default header.b=k2PUnZfO; spf=pass (domain: linux.microsoft.com, ip: 13.77.154.182, mailfrom: alhe@linux.microsoft.com) Received: from alhe-dev-ub.waqitnwczulubdoacjva2kqlvd.phxx.internal.cloudapp.net (unknown [134.33.52.9]) by linux.microsoft.com (Postfix) with ESMTPSA id 966E420B7169 for ; Tue, 4 Aug 2026 15:04:41 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 966E420B7169 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1785881081; bh=KZnEUiYESM+aPbqxd+Xeuj9eNWJpR0+e30YdYe1TmS8=; h=From:To:Subject:Date:From; b=k2PUnZfO0Lx/p1tYPx6EfIZVcZOCY3etDKWE9MDlbflQ8OtCyHM4KOdgjfsBrk6jN AwHLHQ7NSIJTFaXKvm3mdkWcB3TUxh2wfK8iFizP1g0OOAEYnj19UD4UkOA0T+7jN4 dDMkU7C7mcy8KuA1jTtsovPNA/PgXrYvN8w/J5+A= From: Alejandro Hernandez To: openembedded-core@lists.openembedded.org Subject: [PATCH 1/4] libtool: strip build system triplet from installed libtool script Date: Tue, 4 Aug 2026 22:04:53 +0000 Message-ID: <20260804220456.2342710-1-alhe@linux.microsoft.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 ; Tue, 04 Aug 2026 22:05:09 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/242805 The installed /usr/bin/libtool script sourced by any recipe that inherits libtool contains build_alias=, build= and build_os= lines populated by config.status with the *build machine's* triplet (e.g. build=x86_64-pc-linux-gnu, build_alias=x86_64-linux). Those values vary between autobuilder workers whose config.guess reports different vendors or OS strings, which makes libtool.rpm non- reproducible across the autobuilder pool and shows up as a diff in the reproducibility selftest. Extend the sanitising sed in remove-buildpaths.inc to blank those three lines the same way the existing rules blank sysroot and build-path references. Verified locally: before this change the installed libtool contained `build_alias=x86_64-linux`, `build=x86_64-pc-linux-gnu` and `build_os=linux-gnu`; after this change all three lines are empty. Assisted-by: AI - OpenAI Signed-off-by: Alejandro Hernandez --- meta/recipes-devtools/libtool/remove-buildpaths.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/recipes-devtools/libtool/remove-buildpaths.inc b/meta/recipes-devtools/libtool/remove-buildpaths.inc index 1ca95aeace..31bae6fb62 100644 --- a/meta/recipes-devtools/libtool/remove-buildpaths.inc +++ b/meta/recipes-devtools/libtool/remove-buildpaths.inc @@ -9,5 +9,8 @@ do_install:append () { -e 's@^\(predep_objects="\).*@\1"@' \ -e 's@^\(postdep_objects="\).*@\1"@' \ -e "s@${HOSTTOOLS_DIR}/@@g" \ + -e 's@^build_alias=.*@build_alias=@' \ + -e 's@^build=.*@build=@' \ + -e 's@^build_os=.*@build_os=@' \ -i ${D}${bindir}/libtool } From patchwork Tue Aug 4 22:04:54 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alejandro Hernandez X-Patchwork-Id: 94538 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 1226AC561E6 for ; Tue, 4 Aug 2026 22:05:09 +0000 (UTC) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.27923.1785881104103974171 for ; Tue, 04 Aug 2026 15:05:04 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@linux.microsoft.com header.s=default header.b=nIE+Ix+f; spf=pass (domain: linux.microsoft.com, ip: 13.77.154.182, mailfrom: alhe@linux.microsoft.com) Received: from alhe-dev-ub.waqitnwczulubdoacjva2kqlvd.phxx.internal.cloudapp.net (unknown [134.33.52.9]) by linux.microsoft.com (Postfix) with ESMTPSA id 5000720B716A for ; Tue, 4 Aug 2026 15:04:42 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 5000720B716A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1785881082; bh=QpazKjzKgqqlmNEAkcBE+hlXMT+vYa1cWfZMgg4qJQA=; h=From:To:Subject:Date:In-Reply-To:References:From; b=nIE+Ix+f4r3SWaHegcwKmBIHz4ap3xf1RQniCSu/o5rabXPXKEbIP/VbGL8fVkojc YRz81EEovB9XQcDxYdqNxcGRTSuQbkyXKLwR8D69cS7KpCMuD2vZzPogXsJoXvY57q 1lu2STbrkhjmBG6O+nLWyJz+O2XMJifhz0d0o8QE= From: Alejandro Hernandez To: openembedded-core@lists.openembedded.org Subject: [PATCH 2/4] ptest.bbclass: strip build machine triplet from installed ptest Makefiles Date: Tue, 4 Aug 2026 22:04:54 +0000 Message-ID: <20260804220456.2342710-2-alhe@linux.microsoft.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260804220456.2342710-1-alhe@linux.microsoft.com> References: <20260804220456.2342710-1-alhe@linux.microsoft.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 ; Tue, 04 Aug 2026 22:05:09 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/242807 do_install_ptest_base already rewrites HOSTTOOLS_DIR and WORKDIR references out of installed ptest Makefiles, but automake-generated Makefiles (as shipped by strace-ptest, gnutls-ptest and others) also carry six autoconf-generated variables that encode the *build machine*, not the target: build_triplet, build_alias, build, build_cpu, build_vendor, build_os Those values differ across autobuilder workers (typical values are build=x86_64-pc-linux-gnu, build_alias=x86_64-linux, build_vendor=pc), causing corresponding -ptest packages to fail the reproducibility selftest. Add sed rules to blank the RHS of each of those assignments, plus the matching automake helper lines `set build_triplet` and `set build_alias`, and extend PTEST_BUILD_HOST_FILES to include site.exp (also autoconf-generated with the same variables). Verified locally: before this change strace-ptest carried `build_triplet = x86_64-pc-linux-gnu`, `build = x86_64-pc-linux-gnu`, `build_alias = x86_64-linux`, `build_cpu = x86_64`, `build_vendor = pc`, `build_os = linux-gnu`; after this change all six lines have an empty RHS. Assisted-by: AI - OpenAI Signed-off-by: Alejandro Hernandez --- meta/classes-recipe/ptest.bbclass | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/meta/classes-recipe/ptest.bbclass b/meta/classes-recipe/ptest.bbclass index 64c4bb9788..0f80fbc1d8 100644 --- a/meta/classes-recipe/ptest.bbclass +++ b/meta/classes-recipe/ptest.bbclass @@ -9,7 +9,7 @@ DESCRIPTION:${PN}-ptest ?= "${DESCRIPTION} \ This package contains a test directory ${PTEST_PATH} for package test purposes." PTEST_PATH ?= "${libdir}/${BPN}/ptest" -PTEST_BUILD_HOST_FILES ?= "Makefile" +PTEST_BUILD_HOST_FILES ?= "Makefile site.exp" PTEST_BUILD_HOST_PATTERN ?= "" PTEST_PARALLEL_MAKE ?= "${PARALLEL_MAKE}" PTEST_PARALLEL_MAKEINST ?= "${PARALLEL_MAKEINST}" @@ -69,6 +69,14 @@ do_install_ptest_base() { sed -e 's#${HOSTTOOLS_DIR}/*##g' \ -e 's#${WORKDIR}/*=#.=#g' \ -e 's#${WORKDIR}/*##g' \ + -e 's#^\(build_triplet[[:space:]]*=\).*#\1#' \ + -e 's#^\(build_alias[[:space:]]*=\).*#\1#' \ + -e 's#^\(build[[:space:]]*=\).*#\1#' \ + -e 's#^\(build_cpu[[:space:]]*=\).*#\1#' \ + -e 's#^\(build_vendor[[:space:]]*=\).*#\1#' \ + -e 's#^\(build_os[[:space:]]*=\).*#\1#' \ + -e 's#^\(set build_triplet\).*#\1#' \ + -e 's#^\(set build_alias\).*#\1#' \ -i $installed_ptest_file if [ -n "${PTEST_BUILD_HOST_PATTERN}" ]; then sed -E '/${PTEST_BUILD_HOST_PATTERN}/d' \ From patchwork Tue Aug 4 22:04:55 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alejandro Hernandez X-Patchwork-Id: 94539 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 E936DC55822 for ; Tue, 4 Aug 2026 22:05:08 +0000 (UTC) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.27922.1785881104079077534 for ; Tue, 04 Aug 2026 15:05:04 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@linux.microsoft.com header.s=default header.b=NuNtX3xO; spf=pass (domain: linux.microsoft.com, ip: 13.77.154.182, mailfrom: alhe@linux.microsoft.com) Received: from alhe-dev-ub.waqitnwczulubdoacjva2kqlvd.phxx.internal.cloudapp.net (unknown [134.33.52.9]) by linux.microsoft.com (Postfix) with ESMTPSA id CEA6E20B716B for ; Tue, 4 Aug 2026 15:04:42 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com CEA6E20B716B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1785881082; bh=r6KKlHtyA/j2YKlYCUTpPC8HUdJ9Wie8QQxWeDWkr3Y=; h=From:To:Subject:Date:In-Reply-To:References:From; b=NuNtX3xOv2Teo6qP9te/1W0/JxjdJRbgW2SsTnwdPE7mk3jYEIBRAcXDmCC5QU2Vc g7khft+e/cYNMNfK4smsR9NxThvP5Lz9nPaAP7YzF6uEN7lYzpERgOLzaLt2TUoxAn FWv8gFdEnv2jmabQLGiZmWWIxjA+oOKlF3ZzrR6I= From: Alejandro Hernandez To: openembedded-core@lists.openembedded.org Subject: [PATCH 3/4] python_pep517.bbclass: always export _PYTHON_HOST_PLATFORM for wheel tag Date: Tue, 4 Aug 2026 22:04:55 +0000 Message-ID: <20260804220456.2342710-3-alhe@linux.microsoft.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260804220456.2342710-1-alhe@linux.microsoft.com> References: <20260804220456.2342710-1-alhe@linux.microsoft.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 ; Tue, 04 Aug 2026 22:05:08 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/242806 python distutils/sysconfig.get_platform() falls back to distutils.util.get_platform() when the _PYTHON_HOST_PLATFORM environment variable is unset, and returns the *build host* arch. The result is baked into the produced wheel's filename (pkg--cp3XX-cp3XX-.whl) and its .dist-info/WHEEL metadata. Without this export, extension-module wheels tag themselves with whichever arch the autobuilder worker happens to have, which makes the resulting rpm non-reproducible across mixed-arch autobuilder pools. Since python 3.14 + wheel >=0.44 also rejects wheels with an empty platform tag ("Bad wheel filename"), the value has to be non-empty in every class scope. HOST_ARCH is class-scoped by bitbake (target/native/cross/nativesdk), so `linux-${HOST_ARCH}` covers every case with a single unconditional assignment. Setting per-class overrides to "" (as an earlier draft did) trips the wheel filename check and must be avoided. Pure-python wheels ignore _PYTHON_HOST_PLATFORM and remain tagged "any", so this change only affects wheels that ship compiled extensions (cffi, cryptography, numpy, bcrypt, markupsafe, psutil, rpds-py, websockets, ...). Assisted-by: AI - OpenAI Signed-off-by: Alejandro Hernandez --- meta/classes-recipe/python_pep517.bbclass | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/meta/classes-recipe/python_pep517.bbclass b/meta/classes-recipe/python_pep517.bbclass index d6246af5c2..06b23d3cba 100644 --- a/meta/classes-recipe/python_pep517.bbclass +++ b/meta/classes-recipe/python_pep517.bbclass @@ -30,6 +30,22 @@ PEP517_INSTALL_PYTHON:class-native = "nativepython3" # pypa/installer option to control the bytecode compilation INSTALL_WHEEL_COMPILE_BYTECODE ?= "--compile-bytecode=0" +# Force the wheel's platform tag to reflect the target machine rather than the +# build host. Without this, extension-module wheels bake the build host's arch +# (e.g. linux_x86_64) into .dist-info/WHEEL via distutils/sysconfig's +# get_platform(), which breaks reproducibility across autobuilder workers of +# different architectures. Pure-python wheels ignore this variable and remain +# tagged "any". +# +# HOST_ARCH is class-scoped by bitbake: +# - target: HOST_ARCH == TARGET_ARCH (reproducible across workers) +# - native: HOST_ARCH == BUILD_ARCH (matches worker arch, unpackaged) +# - cross: HOST_ARCH == BUILD_ARCH +# - nativesdk: HOST_ARCH == SDK_ARCH +# so a single expression covers every class without producing an empty tag +# (which python 3.14 + wheel >=0.44 rejects with "Bad wheel filename"). +export _PYTHON_HOST_PLATFORM = "linux-${HOST_ARCH}" + # PEP517 doesn't have a specific configure step, so set an empty do_configure to avoid # running base_do_configure. python_pep517_do_configure () { From patchwork Tue Aug 4 22:04:56 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alejandro Hernandez X-Patchwork-Id: 94541 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 3E7D3C55ABA for ; Tue, 4 Aug 2026 22:05:09 +0000 (UTC) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.27922.1785881104079077534 for ; Tue, 04 Aug 2026 15:05:04 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@linux.microsoft.com header.s=default header.b=mHhoV4kM; spf=pass (domain: linux.microsoft.com, ip: 13.77.154.182, mailfrom: alhe@linux.microsoft.com) Received: from alhe-dev-ub.waqitnwczulubdoacjva2kqlvd.phxx.internal.cloudapp.net (unknown [134.33.52.9]) by linux.microsoft.com (Postfix) with ESMTPSA id 6EFD520B7169 for ; Tue, 4 Aug 2026 15:04:43 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 6EFD520B7169 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1785881083; bh=N3hRxB1WokQdnU9ugSgRl26vbcCceegIhlq3SFiFmHM=; h=From:To:Subject:Date:In-Reply-To:References:From; b=mHhoV4kMVovtxx2v2Q/acOZ+42GCsO9NX1717keQq0O+XkB4zk2TEor5xMTbx60xD aZ0asVwERFpk4xPC4G7TfMvArrrzsU1PWd6+0Tq6xsiHkdYvU2wre5iMXc3HYPkQ05 K4WnWQalptCAkiVAVCWLPXJfjDZKnNAWfPTyO73w= From: Alejandro Hernandez To: openembedded-core@lists.openembedded.org Subject: [PATCH 4/4] bitbake.conf, rust-common.bbclass: include RUST_BUILD_SYS in the task hash Date: Tue, 4 Aug 2026 22:04:56 +0000 Message-ID: <20260804220456.2342710-4-alhe@linux.microsoft.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260804220456.2342710-1-alhe@linux.microsoft.com> References: <20260804220456.2342710-1-alhe@linux.microsoft.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 ; Tue, 04 Aug 2026 22:05:09 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/242808 RUST_BUILD_SYS is currently listed in BB_BASEHASH_IGNORE_VARS, which tells bitbake that rust recipes should hash-match regardless of the build machine's triplet. In practice that is not true: rustc computes each crate's Strict Version Hash (SVH) using inputs that include the *stage0/stage1 bootstrap compiler* fingerprint, which in turn depends on the build host arch. That seed cascades through every dependent crate's mangled symbols and the packing order of rodata sections, so an sstate blob populated on one worker arch and reused on a differently-arched worker produces byte-different (but semantically identical) artifacts and fails the reproducibility selftest causing autobuilder intermittent issues when the sstate matches for the incorrect architecture. Remove RUST_BUILD_SYS from BB_BASEHASH_IGNORE_VARS so the task hash tracks the build triplet and mixed-arch autobuilder pools get an sstate miss instead of a silently-wrong hit. RUST_HOST_SYS and RUST_TARGET_SYS stay excluded because they're already covered by the target/host arch hash inputs. While this is not ideal, it should unblock the reproducible test case, another solution would be to patch rust sources manually and attempt to upstream that change. This also has the side-effect that multiple variants of the conflicting rust recipes sstate artifacts are created, but they'll be correctly used now in each architecture. Also add an explanatory comment next to the RUST_*_SYS[vardepvalue] declarations in rust-common.bbclass so future readers don't re-add the exclusion. Verified locally: Tier 1 sighash test toggling BUILD_ARCH now produces different task hashes for rust/libstd-rs/rpm-sequoia/python3-crypto- graphy/cargo/librsvg, where previously the hashes matched despite the build machine change. [YOCTO #15554] Assisted-by: AI - OpenAI Signed-off-by: Alejandro Hernandez --- meta/classes-recipe/rust-common.bbclass | 10 ++++++++++ meta/conf/bitbake.conf | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/meta/classes-recipe/rust-common.bbclass b/meta/classes-recipe/rust-common.bbclass index 6bc42016d1..98b46c4e3c 100644 --- a/meta/classes-recipe/rust-common.bbclass +++ b/meta/classes-recipe/rust-common.bbclass @@ -114,6 +114,16 @@ RUST_HOST_SYS[vardepvalue] = "${RUST_HOST_SYS}" RUST_TARGET_SYS = "${@rust_base_triple(d, 'TARGET')}" RUST_TARGET_SYS[vardepvalue] = "${RUST_TARGET_SYS}" +# Note: RUST_BUILD_SYS is intentionally NOT on BB_BASEHASH_IGNORE_VARS +# (see meta/conf/bitbake.conf). rustc's crate SVH (Strict Version Hash) +# is seeded by the stage0/stage1 bootstrap compiler whose fingerprint +# depends on the BUILD host arch; that seed cascades through every +# dependent crate's mangled symbols and rodata packing order. Excluding +# RUST_BUILD_SYS from task hashes let a mixed-arch autobuilder pool +# populate sstate on one worker arch and get a cache hit on a differently- +# arched worker, producing byte-different (but semantically identical) +# artifacts and failing reproducibility tests. See Yocto bug #15554. + # wrappers to get around the fact that Rust needs a single # binary but Yocto's compiler and linker commands have # arguments. Technically the archiver is always one command but diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index bdf37d0da2..ee23459506 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -969,7 +969,7 @@ BB_HASHEXCLUDE_COMMON ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH BBSERVER DL_DI SSTATE_HASHEQUIV_OWNER CCACHE_TOP_DIR BB_HASHSERVE GIT_CEILING_DIRECTORIES \ OMP_NUM_THREADS BB_CURRENTTASK" BB_BASEHASH_IGNORE_VARS ?= "${BB_HASHEXCLUDE_COMMON} PSEUDO_INCLUDE_PATHS BUILDHISTORY_DIR \ - SSTATE_DIR SOURCE_DATE_EPOCH RUST_BUILD_SYS RUST_HOST_SYS RUST_TARGET_SYS" + SSTATE_DIR SOURCE_DATE_EPOCH RUST_HOST_SYS RUST_TARGET_SYS" BB_HASHCONFIG_IGNORE_VARS ?= "${BB_HASHEXCLUDE_COMMON} DATE TIME SSH_AGENT_PID \ SSH_AUTH_SOCK PSEUDO_BUILD BB_ENV_PASSTHROUGH_ADDITIONS DISABLE_SANITY_CHECKS \ PARALLEL_MAKE BB_NUMBER_THREADS BB_ORIGENV BB_INVALIDCONF BBINCLUDED \