From patchwork Sat Mar 14 09:47:54 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Purdie X-Patchwork-Id: 83364 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 2D02F10706C4 for ; Sat, 14 Mar 2026 09:48:14 +0000 (UTC) Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.6674.1773481682528646577 for ; Sat, 14 Mar 2026 02:48:02 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@linuxfoundation.org header.s=google header.b=cAwSOVIR; spf=pass (domain: linuxfoundation.org, ip: 209.85.221.44, mailfrom: richard.purdie@linuxfoundation.org) Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-439bcec8613so2344194f8f.3 for ; Sat, 14 Mar 2026 02:48:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=google; t=1773481680; x=1774086480; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=8twc1sOA2/dYC1HHYaHTu+sMn9FX1554xj9jq1GrUlY=; b=cAwSOVIR/chvIQK6NbCpCb8hWZYyhrjUkGccrX/Vj35sR1q23OU+nCHXQ96BdC73f+ keDlQKxRyWNpLoB0H5KRarnrfWYGuT8uj9iHLbnOzKPb5Hw4qYjISrjH/KhieQQm56Fs WFDmzUsfH0IJ4bhXC6B6Ckz79WVSMeLZmXmCY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773481680; x=1774086480; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=8twc1sOA2/dYC1HHYaHTu+sMn9FX1554xj9jq1GrUlY=; b=g2fd02lpAJgB4r3UFG7T6utxMdapw2h9VAsDE3E2sxmUFSraR+D9VWJApHpCl7ksb1 87SFOFg0onjO5GsC2MvH+Ru5wQSqXOKjgf8I8h3A7sw4ndWgtRZ3lnAk1R8fsWioT3iP tyZ0xXfqyYj4BldsukiOKti5dVwgxXGcf5ad19/TTsdJTox28yxqtbd1/8031T5aeqUP VgE5siFaWlb9IJHmvfbybRpfmmO973WRQoDw07aJXydMp5SZmdG+lt6Rh9xU2R+FSuZj PAYzPkXzArnnSUMOOt7XW0i6ngnkbz3Mi0EPWHvk6eMS6qEGQc6Wja9MKcLJHEwdKxIq mfYQ== X-Gm-Message-State: AOJu0YxE9w8xFCaAD0IFQrj93YkHNhqWwV8nEwSkJWyIrVp0LJ4XxNs9 7HXqTZV/+rG3idxtGSR2JM2YkXz1FzLG6/KLwftL4/Cb7G+XueZ6aSDXt6DE81cgF1llFKeqZ/M /+VoqTG0= X-Gm-Gg: ATEYQzzwepAG9Z5jYnLQ0rI+REu5SKpD4jysnrZZjiJU1i6FeJvcgu1gaflrsKdaPe0 X71wekk1hh11AhG0say+kOxnR4K9mzrR5erAYkClH3MlWWc64z/hu0TDXEUxzTjCQWIM4dpgOzq vwGuYgULEPrZ2Ib7U4avvjsu7vD0KUTuSz1boPUc/19sbhW91CDzeM1okbYuaoDKBHbOD4cyY8d DiXuxVfsgHTwtkOFMVYJxu7MJJoba4CqkM+05jyokkgmeJ5de+yKyLFcR9uaA5JiZ9g3DZCUoox bObA+rKLyOnY/W3Lcx1Dlw0xRncqlj30OtNmOEtlXmzRH+aC8Ch0ZEsS9aU0G6PSnEqXIzhftwR HLRqvxv6EHRJ5vwbvXifRHu8uGvjRG3APFs+gH1BqhqgSgrCjiY2uXB28ByuWc3O1L9+AC1uaNA iLIlmiqNqTGbnh+PjXeb5AAQukXLDUUoXNCCa1MFrjNWb87vHeIzs= X-Received: by 2002:a05:6000:2503:b0:439:cee7:714f with SMTP id ffacd0b85a97d-43a04dce713mr12153900f8f.53.1773481680236; Sat, 14 Mar 2026 02:48:00 -0700 (PDT) Received: from max.int.rpsys.net ([2001:8b0:aba:5f3c:1366:c81f:8eb8:9990]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439fe20b544sm26554680f8f.20.2026.03.14.02.47.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 14 Mar 2026 02:47:59 -0700 (PDT) From: Richard Purdie To: openembedded-core@lists.openembedded.org Subject: [PATCH 1/5] sstate: Drop unneeded SSTATE_MANMACH variable Date: Sat, 14 Mar 2026 09:47:54 +0000 Message-ID: <20260314094758.3929192-1-richard.purdie@linuxfoundation.org> X-Mailer: git-send-email 2.48.1 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 ; Sat, 14 Mar 2026 09:48:14 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/233076 This variable doesn't appear needed and just confuses the code, remove it. Signed-off-by: Richard Purdie --- meta/classes-global/sstate.bbclass | 13 +++++-------- meta/classes/toaster.bbclass | 8 ++++---- meta/lib/oe/sstatesig.py | 2 +- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/meta/classes-global/sstate.bbclass b/meta/classes-global/sstate.bbclass index 3b2e307134e..fec4d88c4cf 100644 --- a/meta/classes-global/sstate.bbclass +++ b/meta/classes-global/sstate.bbclass @@ -9,7 +9,7 @@ SSTATE_VERSION = "14" SSTATE_ZSTD_CLEVEL ??= "8" SSTATE_MANIFESTS ?= "${TMPDIR}/sstate-control" -SSTATE_MANFILEPREFIX = "${SSTATE_MANIFESTS}/manifest-${SSTATE_MANMACH}-${PN}" +SSTATE_MANFILEPREFIX = "${SSTATE_MANIFESTS}/manifest-${SSTATE_PKGARCH}-${PN}" def generate_sstatefn(spec, hash, taskname, siginfo, d): if taskname is None: @@ -96,8 +96,6 @@ SSTATE_ARCHS = " \ ${MACHINE_ARCH}" SSTATE_ARCHS[vardepsexclude] = "ORIGNATIVELSBSTRING" -SSTATE_MANMACH ?= "${SSTATE_PKGARCH}" - SSTATECREATEFUNCS += "sstate_hardcode_path" SSTATECREATEFUNCS[vardeps] = "SSTATE_SCAN_FILES" SSTATEPOSTCREATEFUNCS = "" @@ -148,8 +146,7 @@ python () { d.setVar('SSTATE_PKGARCH', d.expand("${SDK_ARCH}_${PACKAGE_ARCH}")) elif bb.data.inherits_class('allarch', d) and d.getVar("PACKAGE_ARCH") == "all": d.setVar('SSTATE_PKGARCH', "allarch") - else: - d.setVar('SSTATE_MANMACH', d.expand("${PACKAGE_ARCH}")) + # Fall back to the default of SSTATE_PKGARCH=PACKAGE_ARCH if bb.data.inherits_class('native', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('cross', d): d.setVar('SSTATE_EXTRAPATH', "${NATIVELSBSTRING}/") @@ -320,7 +317,7 @@ def sstate_install(ss, d): # Append to the list of manifests for this PACKAGE_ARCH - i = d2.expand("${SSTATE_MANIFESTS}/index-${SSTATE_MANMACH}") + i = d2.expand("${SSTATE_MANIFESTS}/index-${SSTATE_PKGARCH}") l = bb.utils.lockfile(i + ".lock") filedata = d.getVar("STAMP") + " " + d2.getVar("SSTATE_MANFILEPREFIX") + " " + d.getVar("WORKDIR") + "\n" manifests = [] @@ -353,7 +350,7 @@ def sstate_install(ss, d): for lock in locks: bb.utils.unlockfile(lock) -sstate_install[vardepsexclude] += "SSTATE_ALLOW_OVERLAP_FILES SSTATE_MANMACH SSTATE_MANFILEPREFIX STAMP" +sstate_install[vardepsexclude] += "SSTATE_ALLOW_OVERLAP_FILES SSTATE_PKGARCH SSTATE_MANFILEPREFIX STAMP" def sstate_installpkg(ss, d): from oe.gpg_sign import get_signer @@ -520,7 +517,7 @@ def sstate_clean(ss, d): stamp_clean = d.getVar("STAMPCLEAN") extrainf = d.getVarFlag("do_" + ss['task'], 'stamp-extra-info') if extrainf: - d2.setVar("SSTATE_MANMACH", extrainf) + d2.setVar("SSTATE_PKGARCH", extrainf) wildcard_stfile = "%s.do_%s*.%s" % (stamp_clean, ss['task'], extrainf) else: wildcard_stfile = "%s.do_%s*" % (stamp_clean, ss['task']) diff --git a/meta/classes/toaster.bbclass b/meta/classes/toaster.bbclass index af7c4578088..10c728885ae 100644 --- a/meta/classes/toaster.bbclass +++ b/meta/classes/toaster.bbclass @@ -343,15 +343,15 @@ python toaster_artifacts() { d2 = d.createCopy() d2.setVar('FILE', e.taskfile) # Use 'stamp-extra-info' if present, else use workaround - # to determine 'SSTATE_MANMACH' + # to determine 'SSTATE_PKGARCH' extrainf = d2.getVarFlag(e.taskname, 'stamp-extra-info') if extrainf: - d2.setVar('SSTATE_MANMACH', extrainf) + d2.setVar('SSTATE_PKGARCH', extrainf) else: if "do_populate_sdk" == e.taskname: - d2.setVar('SSTATE_MANMACH', d2.expand("${MACHINE}${SDKMACHINE}")) + d2.setVar('SSTATE_PKGARCH', d2.expand("${MACHINE}${SDKMACHINE}")) else: - d2.setVar('SSTATE_MANMACH', d2.expand("${MACHINE}")) + d2.setVar('SSTATE_PKGARCH', d2.expand("${MACHINE}")) manifest = oe.sstatesig.sstate_get_manifest_filename(e.taskname[3:], d2)[0] if os.access(manifest, os.R_OK): diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py index ef687f5d417..1e07c71e944 100644 --- a/meta/lib/oe/sstatesig.py +++ b/meta/lib/oe/sstatesig.py @@ -491,7 +491,7 @@ def sstate_get_manifest_filename(task, d): d2 = d.createCopy() extrainf = d.getVarFlag("do_" + task, 'stamp-extra-info') if extrainf: - d2.setVar("SSTATE_MANMACH", extrainf) + d2.setVar("SSTATE_PKGARCH", extrainf) return (d2.expand("${SSTATE_MANFILEPREFIX}.%s" % task), d2) @bb.parse.vardepsexclude("BBEXTENDCURR", "BBEXTENDVARIANT", "OVERRIDES", "PACKAGE_EXTRA_ARCHS") From patchwork Sat Mar 14 09:47:55 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Purdie X-Patchwork-Id: 83360 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 F1E8711258BE for ; Sat, 14 Mar 2026 09:48:13 +0000 (UTC) Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.6654.1773481683667857711 for ; Sat, 14 Mar 2026 02:48:03 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@linuxfoundation.org header.s=google header.b=eKlcbu5W; spf=pass (domain: linuxfoundation.org, ip: 209.85.221.50, mailfrom: richard.purdie@linuxfoundation.org) Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-439b6d9c981so2060279f8f.1 for ; Sat, 14 Mar 2026 02:48:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=google; t=1773481681; x=1774086481; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=PS0Sp+CqAY+4ZJtFWXncZunoBUVybZ4QlUKUNFQkxCY=; b=eKlcbu5Wqpn9o//f1rTDdy4q+rOYgez7R9bbfpefbzLLw7IBDNYNKFt2YsuRRW08/G 1jxLAZQW0w0M/U3XzrU0nC+swnxM0w20o2Nv9pSSoum8PvmbygwnVgc682M+/Vc6e1I8 rCgFnGXSBNlPVSfwjTalFAlXIjAa46vlPOqJs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773481681; x=1774086481; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=PS0Sp+CqAY+4ZJtFWXncZunoBUVybZ4QlUKUNFQkxCY=; b=pd6R/irx0zr0KNv5dnQgs8f3hBsI2wzNbAPKrbm8utRtsr95hvfQFmFDECqtEroDnn 6wwZmOCMkGoX8xXyBiG1m4hG1+WYT9kEPDPrwcIXLugo3kaLuHV+RKaShlj8GKuhipjx f0qCzGI8rYv+TZqltJif9y1AT94sAuys1pgjWAuy7h5AoyQvzGsMCfCZuB6zS78FaIZU rHx+F6chnb6fptEWvHpRlzp9nzv7CkZLAthZhqWMn418ogVT1EvK/41DugT4wqbC7Tr9 MsoyHK6TrucxKbl7OdY42iQpcWyG6RQ0G4hLx214VUqLX3mAjxqNAqGYcJ0gyHVJHfzg KL+Q== X-Gm-Message-State: AOJu0YwApjRoUKv9rp/zg+ArEPsVbuwQhO3FT+TQIfuCy9gCrTv2lUc0 QQbKvUAX6C/ndwV12Ca5CyGg9fC8AQs+7AzjjfYfuSwsl5hiLyMicBUrYLUnFpOWOyRKOpRmv5Q eUFctxvg= X-Gm-Gg: ATEYQzy4mF69mrv+62UUv2Lr59UuHTAVbk5VPKRPE7U5xqht5WFzBwaU9Hv/nfUWg4q ydS1OrlkQ/Yu6p51TXD2Bme1Z8PNibMAgG9DmP0cr772DiyeVCcOrLcFWkDHpo9t8c77O0mSnPj Sxw5nk5M83kyaMhBr0LDwkobotEueStd2m/xvwIGZso+gKHMq7t0QeplEllt8XVNhF0JIAFbpla 0rOPYmFdT4Jc5yl90Jr0+h5rC5vriPeSjn5FRVw6KCJepENxuAOwdqKf8SdyaQ1V908jBPYlTZV jf9iKHhBIZv659Y5Kmo2SkO3xco4qfUfCEwj1iU0dahvlYZcLBtK42j7P8T9bkwrQxPRFREMQlc 8LLzkcPfkGh1It8HpT7wyf9VZmejfXfPGAsi6dPQ86M+/lQVVXvmtPeSBDZDpnbTEnexnWZjsoO 1szIofdFnzdjKAutHdOBF6JC2cBexVljXcA9QGYl//sW4PFYUz3Ng= X-Received: by 2002:a05:6000:2210:b0:439:5fe4:421a with SMTP id ffacd0b85a97d-439fe1aef95mr19330315f8f.30.1773481681584; Sat, 14 Mar 2026 02:48:01 -0700 (PDT) Received: from max.int.rpsys.net ([2001:8b0:aba:5f3c:1366:c81f:8eb8:9990]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439fe20b544sm26554680f8f.20.2026.03.14.02.48.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 14 Mar 2026 02:48:00 -0700 (PDT) From: Richard Purdie To: openembedded-core@lists.openembedded.org Subject: [PATCH 2/5] bitbake.conf: Add SDKMACHINE to BUILDCFG_VARS, drop TARGET_FPU Date: Sat, 14 Mar 2026 09:47:55 +0000 Message-ID: <20260314094758.3929192-2-richard.purdie@linuxfoundation.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20260314094758.3929192-1-richard.purdie@linuxfoundation.org> References: <20260314094758.3929192-1-richard.purdie@linuxfoundation.org> 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 ; Sat, 14 Mar 2026 09:48:13 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/233077 Tweak the default build header to add SDKMACHINE and drop TARGET_FPU since that data is more likely to be of use to the general user. Signed-off-by: Richard Purdie --- meta/conf/bitbake.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 5f632d9f8e7..6b3443695a0 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -761,7 +761,7 @@ PREFERRED_PROVIDER_virtual/fakeroot-native ?= "pseudo-native" # Pre-build configuration output BUILDCFG_HEADER = "Build Configuration${@" (mc:${BB_CURRENT_MC})" if d.getVar("BBMULTICONFIG") else ""}:" -BUILDCFG_VARS = "BB_VERSION BUILD_SYS NATIVELSBSTRING TARGET_SYS MACHINE DISTRO DISTRO_VERSION TUNE_FEATURES TARGET_FPU" +BUILDCFG_VARS = "BB_VERSION BUILD_SYS NATIVELSBSTRING TARGET_SYS MACHINE SDKMACHINE DISTRO DISTRO_VERSION TUNE_FEATURES" BUILDCFG_VARS[type] = "list" BUILDCFG_NEEDEDVARS = "TARGET_ARCH TARGET_OS" BUILDCFG_NEEDEDVARS[type] = "list" From patchwork Sat Mar 14 09:47:56 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Purdie X-Patchwork-Id: 83363 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 3A49110706C6 for ; Sat, 14 Mar 2026 09:48:14 +0000 (UTC) Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.6655.1773481685130863625 for ; Sat, 14 Mar 2026 02:48:05 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@linuxfoundation.org header.s=google header.b=KoSTB8Th; spf=pass (domain: linuxfoundation.org, ip: 209.85.221.47, mailfrom: richard.purdie@linuxfoundation.org) Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-439baf33150so2359254f8f.0 for ; Sat, 14 Mar 2026 02:48:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=google; t=1773481683; x=1774086483; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=FN6NAdxcmTS2ep2lPwys59W1+x7wAV+WvWHcTPJNaSY=; b=KoSTB8Thk1bEui2Nz5MCmetO1eAwpYpZ+d+STUREet2ZZX4nVkBXFGmGLcVdZFYZEg HHG5GIOJkP9qScrt0qhIV21U4+QqTDuFEpR+/z2jPjDF/9Dqcmg8gCNqKpM7vChpoUZB jTqYMZKtdBpN1ICq8eOO1e1+qFJDcP9FRxm80= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773481683; x=1774086483; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=FN6NAdxcmTS2ep2lPwys59W1+x7wAV+WvWHcTPJNaSY=; b=P2zWutd2306GiTczerPCFI/WSNPqGdBnf15rkbhOeGWNvYEcdBfUCJUR4xf20+RJEb VFG4vCz+ERVjMtEcDzWLWEGyFOCsIXeKT+7Q/j2dIX8udaxsuXYo+YlEz6zNZ1wt1aZM sS9frShSlFhg7QClEXLnirRPosfSqvY89F5B5S95GfHnlBZeK75kvBLisVNdPDS/aovZ F5JoWG/ArnlBOQ+X3bucSgZfm6oBdxw8kRnPO0yJOe7/sPbpbt3PWMVdkU7gLzQTEShq 5frstdTAfd7UOum4UAyC3/aspVLApMtpx7tIuE2PfUm2UDXAJq7fkAb1z87hicXMUpIC gXcA== X-Gm-Message-State: AOJu0YyvHrlbKxppspeFfwu0pTZewusjYqyAV8aUtAiX9QtYwk9CksjW iV1L/UtBJdCaRTiaFPCU4W9R5YstGb3AyMuqHLYILZJDN1pqIraz4X6YfNJ8+HPdtwOKyM2ptf1 yDWiMBvU= X-Gm-Gg: ATEYQzyZIkODl8s5qRrGQpeXpnx+fJRXxiTlAG+YTUqvARWt0z79PLVNq7+mSU4o9US XSFpu7G7QPOaW7DsNCtea5NmFiIxGj+XGJvS6n/RScVRgrgd/2A+FkBdEHxWzXUS+Y+TsTOCadZ EzjLCm59bK9kaQqZFdcsrx1LT5aRekWW1SBEaLBQdhufV1p5h1dxYvhzlN/9vkNmkzPiX3Sf7sA CO8iw33ay/eF5SRhd5C/HtZGxQbf7yve34G3KREgcJ4jWvqMHG4A5kzGme/A1KBzVmDvnHxch7A lzVawERydRq0A4ZdeJHqt207l+K7DkHdMq1KKK/MWdnP0n6R0qUW1Hw8L5ozNe8kq/4Es5wsoC2 eR6QGDAjigRrdcwEBQNNR/yNHTn1xGBoU/xZcndxKs/3vgnvEwYeu2GJDsIVHhONRFXGpiy57BR hfp5b93V0v7ISdGDcWhRvqSs+0o0GZMuvEPYVkICTDvdHgVQNSdQQ= X-Received: by 2002:a05:6000:228a:b0:439:b704:f684 with SMTP id ffacd0b85a97d-43a04d0db2emr11738374f8f.0.1773481682837; Sat, 14 Mar 2026 02:48:02 -0700 (PDT) Received: from max.int.rpsys.net ([2001:8b0:aba:5f3c:1366:c81f:8eb8:9990]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439fe20b544sm26554680f8f.20.2026.03.14.02.48.01 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 14 Mar 2026 02:48:02 -0700 (PDT) From: Richard Purdie To: openembedded-core@lists.openembedded.org Subject: [PATCH 3/5] allarch/lib: Convert core of allarch code into a function Date: Sat, 14 Mar 2026 09:47:56 +0000 Message-ID: <20260314094758.3929192-3-richard.purdie@linuxfoundation.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20260314094758.3929192-1-richard.purdie@linuxfoundation.org> References: <20260314094758.3929192-1-richard.purdie@linuxfoundation.org> 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 ; Sat, 14 Mar 2026 09:48:14 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/233078 We need to call the functionality in allarch.bbclass from other contexts and the current conditionals are problematic enough without further changes confusing things. Move the code to a funtion in oe.utils so we can call it as needed. Signed-off-by: Richard Purdie --- meta/classes-recipe/allarch.bbclass | 41 +------------------------ meta/lib/oe/utils.py | 47 +++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 40 deletions(-) diff --git a/meta/classes-recipe/allarch.bbclass b/meta/classes-recipe/allarch.bbclass index e429b924370..7cdaa63ae2c 100644 --- a/meta/classes-recipe/allarch.bbclass +++ b/meta/classes-recipe/allarch.bbclass @@ -25,46 +25,7 @@ python () { # Allow this class to be included but overridden - only set # the values if we're still "all" package arch. if d.getVar("PACKAGE_ARCH") == "all": - # No need for virtual/libc or a cross compiler - d.setVar("INHIBIT_DEFAULT_DEPS","1") - - # Set these to a common set of values, we shouldn't be using them other that for WORKDIR directory - # naming anyway - d.setVar("baselib", "lib") - d.setVar("TARGET_ARCH", "allarch") - d.setVar("TARGET_OS", "linux") - d.setVar("TARGET_CC_ARCH", "none") - d.setVar("TARGET_LD_ARCH", "none") - d.setVar("TARGET_AS_ARCH", "none") - d.setVar("TARGET_FPU", "") - d.setVar("TARGET_PREFIX", "") - # Expand PACKAGE_EXTRA_ARCHS since the staging code needs this - # (this removes any dependencies from the hash perspective) - d.setVar("PACKAGE_EXTRA_ARCHS", d.getVar("PACKAGE_EXTRA_ARCHS")) - d.setVar("SDK_ARCH", "none") - d.setVar("SDK_CC_ARCH", "none") - d.setVar("TARGET_CPPFLAGS", "none") - d.setVar("TARGET_CFLAGS", "none") - d.setVar("TARGET_CXXFLAGS", "none") - d.setVar("TARGET_LDFLAGS", "none") - d.setVar("POPULATESYSROOTDEPS", "") - - # Avoid this being unnecessarily different due to nuances of - # the target machine that aren't important for "all" arch - # packages. - d.setVar("LDFLAGS", "") - - # No need to do shared library processing or debug symbol handling - d.setVar("EXCLUDE_FROM_SHLIBS", "1") - d.setVar("INHIBIT_PACKAGE_DEBUG_SPLIT", "1") - d.setVar("INHIBIT_PACKAGE_STRIP", "1") - - # These multilib values shouldn't change allarch packages so exclude them - d.appendVarFlag("emit_pkgdata", "vardepsexclude", " MULTILIB_VARIANTS") - d.appendVarFlag("write_specfile", "vardepsexclude", " MULTILIBS") - d.appendVarFlag("do_package", "vardepsexclude", " package_do_shlibs") - - d.setVar("qemu_wrapper_cmdline", "def qemu_wrapper_cmdline(data, rootfs_path, library_paths):\n return 'false'") + oe.utils.make_arch_independent(d) elif bb.data.inherits_class('packagegroup', d) and not bb.data.inherits_class('nativesdk', d): bb.error("Please ensure recipe %s sets PACKAGE_ARCH before inherit packagegroup" % d.getVar("FILE")) } diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py index 2b39d4e0ddb..afcfeda0c6d 100644 --- a/meta/lib/oe/utils.py +++ b/meta/lib/oe/utils.py @@ -511,3 +511,50 @@ def touch(filename): # Handle read-only file systems gracefully if e.errno != errno.EROFS: raise e + +# +# Set datastore variables to convert to an architecture independent state +# Used by allarch recipes and other cases where arch independence is needed +# +def make_arch_independent(d): + # No need for virtual/libc or a cross compiler + d.setVar("INHIBIT_DEFAULT_DEPS","1") + + # Set these to a common set of values, we shouldn't be using them other that for WORKDIR directory + # naming anyway + d.setVar("baselib", "lib") + d.setVar("TARGET_ARCH", "allarch") + d.setVar("TARGET_OS", "linux") + d.setVar("TARGET_CC_ARCH", "none") + d.setVar("TARGET_LD_ARCH", "none") + d.setVar("TARGET_AS_ARCH", "none") + d.setVar("TARGET_FPU", "") + d.setVar("TARGET_PREFIX", "") + # Expand PACKAGE_EXTRA_ARCHS since the staging code needs this + # (this removes any dependencies from the hash perspective) + d.setVar("PACKAGE_EXTRA_ARCHS", d.getVar("PACKAGE_EXTRA_ARCHS")) + d.setVar("SDK_ARCH", "none") + d.setVar("SDK_CC_ARCH", "none") + d.setVar("TARGET_CPPFLAGS", "none") + d.setVar("TARGET_CFLAGS", "none") + d.setVar("TARGET_CXXFLAGS", "none") + d.setVar("TARGET_LDFLAGS", "none") + d.setVar("POPULATESYSROOTDEPS", "") + + # Avoid this being unnecessarily different due to nuances of + # the target machine that aren't important for "all" arch + # packages. + d.setVar("LDFLAGS", "") + + # No need to do shared library processing or debug symbol handling + d.setVar("EXCLUDE_FROM_SHLIBS", "1") + d.setVar("INHIBIT_PACKAGE_DEBUG_SPLIT", "1") + d.setVar("INHIBIT_PACKAGE_STRIP", "1") + + # These multilib values shouldn't change allarch packages so exclude them + d.appendVarFlag("emit_pkgdata", "vardepsexclude", " MULTILIB_VARIANTS") + d.appendVarFlag("write_specfile", "vardepsexclude", " MULTILIBS") + d.appendVarFlag("do_package", "vardepsexclude", " package_do_shlibs") + + d.setVar("qemu_wrapper_cmdline", "def qemu_wrapper_cmdline(data, rootfs_path, library_paths):\n return 'false'") + From patchwork Sat Mar 14 09:47:57 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Purdie X-Patchwork-Id: 83361 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 18B8310706C1 for ; Sat, 14 Mar 2026 09:48:14 +0000 (UTC) Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.6656.1773481686521749359 for ; Sat, 14 Mar 2026 02:48:06 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@linuxfoundation.org header.s=google header.b=aUBAd4Gs; spf=pass (domain: linuxfoundation.org, ip: 209.85.221.50, mailfrom: richard.purdie@linuxfoundation.org) Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-439a89b6fd0so2938967f8f.2 for ; Sat, 14 Mar 2026 02:48:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=google; t=1773481684; x=1774086484; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=GhseKRcd/p9nxrF9rgheeyTWStzEcmzyW9I7Wf50nJQ=; b=aUBAd4GsSveY2VUbW9oAhdUY5gB/EMrJ5J8v1p6DrZoJQqiBcpwsf12Nf8rSF6tUW0 6XYUGUqrCA1mRVuZBSk8PsbUYTNSOwt2dH+Gf+E5SUkSTt78uUdlInyg3xqDtGU0EhHG t1Dk7Dav3ezBeoswzjD7nAFhcm8YLLRts8NrU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773481684; x=1774086484; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=GhseKRcd/p9nxrF9rgheeyTWStzEcmzyW9I7Wf50nJQ=; b=YCgP+sKLlFj1RUl1zZ5xSDPjTYn4KsI3krLeX2h84dM+zjIg43TbloYjMHUG6q8qF4 Wvp2FAOTeFyIENiJj47N/XDHHbLrdjJmBwSR8Adq1mEpRXKXS5+xouVSuFBdEHtirsFJ CXiKtPFOk1jYsFJaU6y7xrMHzjMJxY2A21LTKDv9rMifo3f77qy6dYeEF8aUiHdGzjSI eqbFH9Q1BPELeiAxsbr+DC75ZZu1cFbJYqLCeCH3cv8whZs52jDbLbexETzJKm4W3omh Ef3ntiVYBtf3xO10r7/vVYNme/L5+aVVwRqdLbHXR1PW5qebns9nFa0xh9UAAlH68x7n 79MA== X-Gm-Message-State: AOJu0YzsqkODoe6JAGQGRxmnfRt32JKEjW7XC2u22KGCNupA0DRNmXMv qwkkJdzDp5yEHyV3CGqOFGcXdrGDKphwqivJTYkIhFaLGFO3Mdi3mJhgtksgVpMH1VuGd2WGAnl oeWp/Ozk= X-Gm-Gg: ATEYQzzWl6ieTmS4tnNaFWWc0E5m2GnrGm0ezZ/QDuTDcN1O0NZ9lqy7LlkSJTrprvu MLor/ngquXuJpTt3wvb6lmc9B1B6J/4ncqqF4kDWlrUL7v9WCpiVC6kb4CHsz276zCNabYijdhJ opJSSUCMpjZZegh8I1/E/iZyBkAacoPks63ji324hEBo47F31fuvg8Ss39/nzXWR4Xcepyd6Dte YG0bxUYT9vxot1ofK7Un20Hc4KgwT4MWVO3EAs3ZQ7/Hlg7d9dSmqkg1eP5Bb7kLZQJhZG5E1u7 34aEH49tNvdAvtYV+JAiDFWKNBwwJO/j2NR7w32G3aTTR5RncV85MclFKQIHxzYDZ5+UedPb70N NPp/ti4ZcwTqWrdW86DMSfFeh3lOc4A3+HVngh/EZ2slnTl71zobRmnoolPKpoEzFTeiAwKk5pa LFDkxfRXNsT4flqzpJpHawNFOuykjklJDImCiwuzSnox5TwQjLct5tafg4tEWEAg== X-Received: by 2002:a05:6000:2404:b0:439:be82:1fd9 with SMTP id ffacd0b85a97d-43a04d83e11mr11974788f8f.12.1773481684172; Sat, 14 Mar 2026 02:48:04 -0700 (PDT) Received: from max.int.rpsys.net ([2001:8b0:aba:5f3c:1366:c81f:8eb8:9990]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439fe20b544sm26554680f8f.20.2026.03.14.02.48.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 14 Mar 2026 02:48:03 -0700 (PDT) From: Richard Purdie To: openembedded-core@lists.openembedded.org Subject: [PATCH 4/5] meta/dummy-sdk-package: Improve SDK dummy package handling Date: Sat, 14 Mar 2026 09:47:57 +0000 Message-ID: <20260314094758.3929192-4-richard.purdie@linuxfoundation.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20260314094758.3929192-1-richard.purdie@linuxfoundation.org> References: <20260314094758.3929192-1-richard.purdie@linuxfoundation.org> 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 ; Sat, 14 Mar 2026 09:48:14 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/233079 Currently, the dummy SDK packages are re-running for different SDKMACHINE values when they should not. The usage of allarch is broken and not triggering the right PACKAGE_ARCH value due to the deferred nature of nativesdk. This was probably broken when we switched to add deferred classes. To try and make this all more explict and less prone to breakage, switch to calling oe.utils.make_arch_independent() directly. Add the 'special' package architecture values to SSTATE_ARCHS so the system cna properly track them. Remove the pointless tasks we don't need from the dummy recipes, mark the packagedata as machine independent and then remove from the conflict list in sstate.bbclass. Signed-off-by: Richard Purdie --- meta/classes-global/sstate.bbclass | 6 ++--- meta/lib/oe/sstatesig.py | 6 ++++- meta/recipes-core/meta/dummy-sdk-package.inc | 25 +++++++++++++------ .../meta/nativesdk-buildtools-perl-dummy.bb | 2 ++ .../meta/nativesdk-sdk-provides-dummy.bb | 3 +++ .../meta/target-sdk-provides-dummy.bb | 2 ++ 6 files changed, 33 insertions(+), 11 deletions(-) diff --git a/meta/classes-global/sstate.bbclass b/meta/classes-global/sstate.bbclass index fec4d88c4cf..f124f33b2d3 100644 --- a/meta/classes-global/sstate.bbclass +++ b/meta/classes-global/sstate.bbclass @@ -57,9 +57,6 @@ SSTATE_EXTRAPATHWILDCARD[vardepvalue] = "" # Avoid docbook/sgml catalog warnings for now SSTATE_ALLOW_OVERLAP_FILES += "${STAGING_ETCDIR_NATIVE}/sgml ${STAGING_DATADIR_NATIVE}/sgml" -# sdk-provides-dummy-nativesdk and nativesdk-buildtools-perl-dummy overlap for different SDKMACHINE -SSTATE_ALLOW_OVERLAP_FILES += "${DEPLOY_DIR_RPM}/sdk_provides_dummy_nativesdk/ ${DEPLOY_DIR_IPK}/sdk-provides-dummy-nativesdk/" -SSTATE_ALLOW_OVERLAP_FILES += "${DEPLOY_DIR_RPM}/buildtools_dummy_nativesdk/ ${DEPLOY_DIR_IPK}/buildtools-dummy-nativesdk/" # target-sdk-provides-dummy overlaps that allarch is disabled when multilib is used SSTATE_ALLOW_OVERLAP_FILES += "${COMPONENTS_DIR}/sdk-provides-dummy-target/ ${DEPLOY_DIR_RPM}/sdk_provides_dummy_target/ ${DEPLOY_DIR_IPK}/sdk-provides-dummy-target/" # Archive the sources for many architectures in one deploy folder @@ -90,6 +87,9 @@ SSTATE_ARCHS = " \ ${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS} \ ${SDK_ARCH}_${SDK_OS} \ ${SDK_ARCH}_${SDK_ARCH}-${SDKPKGSUFFIX} \ + buildtools-dummy-${SDKPKGSUFFIX} \ + sdk-provides-dummy-target \ + sdk-provides-dummy-${SDKPKGSUFFIX} \ allarch \ ${SSTATE_ARCHS_TUNEPKG} \ ${PACKAGE_EXTRA_ARCHS} \ diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py index 1e07c71e944..4693b73375e 100644 --- a/meta/lib/oe/sstatesig.py +++ b/meta/lib/oe/sstatesig.py @@ -513,7 +513,10 @@ def find_sstate_manifest(taskdata, taskdata2, taskname, d, multilibcache): if taskdata.endswith("-native"): pkgarchs = ["${BUILD_ARCH}", "${BUILD_ARCH}_${ORIGNATIVELSBSTRING}"] elif taskdata.startswith("nativesdk-"): - pkgarchs = ["${SDK_ARCH}_${SDK_OS}", "allarch"] + pkgarchs = ["${SDK_ARCH}_${SDK_OS}", + "allarch", + "buildtools-dummy-${SDKPKGSUFFIX}", + "sdk-provides-dummy-${SDKPKGSUFFIX}"] elif "-cross-canadian" in taskdata: pkgarchs = ["${SDK_ARCH}_${SDK_ARCH}-${SDKPKGSUFFIX}"] elif "-cross-" in taskdata: @@ -524,6 +527,7 @@ def find_sstate_manifest(taskdata, taskdata2, taskname, d, multilibcache): pkgarchs = ['${MACHINE_ARCH}'] pkgarchs = pkgarchs + list(reversed(d2.getVar("PACKAGE_EXTRA_ARCHS").split())) pkgarchs.append('allarch') + pkgarchs.append('sdk-provides-dummy-target') pkgarchs.append('${SDK_ARCH}_${SDK_ARCH}-${SDKPKGSUFFIX}') searched_manifests = [] diff --git a/meta/recipes-core/meta/dummy-sdk-package.inc b/meta/recipes-core/meta/dummy-sdk-package.inc index bf453cac9be..60dfe9f73bb 100644 --- a/meta/recipes-core/meta/dummy-sdk-package.inc +++ b/meta/recipes-core/meta/dummy-sdk-package.inc @@ -1,18 +1,21 @@ SUMMARY = "Dummy packages which handle excluding packages from the sdk, e.g. ensuring perl is excluded from buildtools" LICENSE = "MIT" -PACKAGE_ARCH = "all" - -inherit allarch - INHIBIT_DEFAULT_DEPS = "1" python() { + pkgdata_var = d.getVar("DUMMYSDK_PKGDATA_VARNAME") + # Expand PKGDATA_DIR_SDK/SDK_SYS and stamp-extra-info before we lose the values + d.setVar(pkgdata_var, d.getVar(pkgdata_var)) + stampinfo = d.getVar("DUMMYSDK_EXTRASTAMP_VARNAME") + d.setVarFlag("do_packagedata", "stamp-extra-info", d.getVar(stampinfo)) + + oe.utils.make_arch_independent(d) + # Put the package somewhere separate to ensure it's never used except # when we want it - # (note that we have to do this in anonymous python here to avoid - # allarch.bbclass disabling itself) - d.setVar('PACKAGE_ARCH', '${DUMMYARCH}') + # Need to set PACKAGE_ARCH after deferred nativesdk inherit + d.setVar("PACKAGE_ARCH", "${DUMMYARCH}") } ALLOW_EMPTY:${PN} = "1" @@ -31,3 +34,11 @@ python populate_packages:prepend() { d.appendVar("RREPLACES:%s" % p, "${DUMMYPROVIDES_PACKAGES_MULTILIB}") } +deltask fetch +deltask unpack +deltask patch +deltask prepare_recipe_sysroot +deltask configure +deltask compile +deltask install +deltask populate_sysroot diff --git a/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb b/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb index 0ba1ca6e426..f97a28cab56 100644 --- a/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb +++ b/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb @@ -1,4 +1,6 @@ DUMMYARCH = "buildtools-dummy-${SDKPKGSUFFIX}" +DUMMYSDK_PKGDATA_VARNAME = "PKGDATA_DIR_SDK" +DUMMYSDK_EXTRASTAMP_VARNAME = "SDK_SYS" DUMMYPROVIDES_PACKAGES = "\ nativesdk-perl \ diff --git a/meta/recipes-core/meta/nativesdk-sdk-provides-dummy.bb b/meta/recipes-core/meta/nativesdk-sdk-provides-dummy.bb index 1d71f373a4e..37dad54409f 100644 --- a/meta/recipes-core/meta/nativesdk-sdk-provides-dummy.bb +++ b/meta/recipes-core/meta/nativesdk-sdk-provides-dummy.bb @@ -1,5 +1,8 @@ DUMMYARCH = "sdk-provides-dummy-${SDKPKGSUFFIX}" +DUMMYSDK_PKGDATA_VARNAME = "PKGDATA_DIR_SDK" +DUMMYSDK_EXTRASTAMP_VARNAME = "SDK_SYS" + DUMMYPROVIDES_PACKAGES = "\ pkgconfig \ " diff --git a/meta/recipes-core/meta/target-sdk-provides-dummy.bb b/meta/recipes-core/meta/target-sdk-provides-dummy.bb index 849407cca57..65b87fd97dd 100644 --- a/meta/recipes-core/meta/target-sdk-provides-dummy.bb +++ b/meta/recipes-core/meta/target-sdk-provides-dummy.bb @@ -1,4 +1,6 @@ DUMMYARCH = "sdk-provides-dummy-target" +DUMMYSDK_PKGDATA_VARNAME = "PKGDATA_DIR" +DUMMYSDK_EXTRASTAMP_VARNAME = "MACHINE" DUMMYPROVIDES_PACKAGES = "\ busybox \ From patchwork Sat Mar 14 09:47:58 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Purdie X-Patchwork-Id: 83362 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 6F3AB10706C8 for ; Sat, 14 Mar 2026 09:48:15 +0000 (UTC) Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.6658.1773481687832873535 for ; Sat, 14 Mar 2026 02:48:08 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@linuxfoundation.org header.s=google header.b=D/RN1/JK; spf=pass (domain: linuxfoundation.org, ip: 209.85.128.47, mailfrom: richard.purdie@linuxfoundation.org) Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-4853c1ca73aso23247625e9.2 for ; Sat, 14 Mar 2026 02:48:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=google; t=1773481686; x=1774086486; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=XH49E9QBHdMc+YrWp/EvRtI8BhOjCYCDt61EW3/nJuU=; b=D/RN1/JKGw+k4SDkZdlPAr93wG4YMsCbbApnJfa20x7766g4sKlYeSu8TyLTnt6jfY uYLX+3Nh9M1olxflLEV1FQVku00E/HmaCdw6a2ZiB/L+f99PIb2kPNNAkWyXNLEIpWxh OvYRRAlFE7GvzxYjb93h+mxJ7jBJWbs0JCdC4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773481686; x=1774086486; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=XH49E9QBHdMc+YrWp/EvRtI8BhOjCYCDt61EW3/nJuU=; b=kn2jObAQ1MjeHL4hJaMsY/Sn21dhvHqy0MT87XvqZxwbNY+S7ciSpizzhs+e8XI/tu MpD12//J8L44Z9ENPIS+M542Howd9nIrC9u55MqzCRziI9A/79nrEwVE2pF5NUSNaD88 kcPXbYHTV9Jcb/PMNAxmmjE5ADqOU25EVd4jVYo/UEUcDQL5aiVD6fs4BCvalIMT1Lq9 liqAx1nt4qDwdVotiopYrFb+fDtHIR1A+ve2pJdpMQGmcKXg6s93G6E9ihpnngF9OFmR amaDbJlnepbhXIBY3AHplNALmhLVHY2HevqCqFK1+p1VFUgzxMJxH8P6nz3qsAGp2NRT dXCg== X-Gm-Message-State: AOJu0Yw9izpqF+FaL/66a1DBIsxCB9ZSnkimxjvgINxNCXdkUV9lGhaR /XmpvXLfUmeSYaMY5z9KeNMTEXg5WXGsbKEaYVQ9pb7/Kphb93L45UbOUYsbNuBpuFUD2bBQ23n Y8Y3dp8s= X-Gm-Gg: ATEYQzyi8+sz9DVjAdMrQz+lhqtuXov0X72p4+8hGTAOgnxJAQXgK+/EeNXsEww+14R YHfItgLc3zBZC3o9gBT1/EJLrGv6yn8PQ/zTEB0xeyRPKtnl9XB7hfrzxZJgpfB+AQA4BUSyqZt 0KQVnanjMKuzJlhCb6yXu3mP0B9CnAW1OYKKm5zcMSiOyTY++jZyG/0DgEQ0Wr4W9DVFBIMvgsa Pc8H2Yxyu5pIIkOswa75kWQVe0fc5iQXd6IaKM6wSiPIOnJfYoiKQSiPRYQHIHjSf8N1oUCZa21 ASVWiB//NmwtB1InxTHl2u+XPs/fCEGQJ3sah8GchPm+OpngDrQAEvuNEqzhYlJ717ZB3TRu8RI fOw6uZbAuRtnk07+NSDAYlT1cjCQBIaa28A6tz+Py0hmeyoAvNoZfzE+iUNhNj69vMoQ6Byw3Fl 4AonsNs16D9jhyhKU/9G67Q8TRvmAu07A603wSxB4YKcAo1s4aRR0D4PYWVwX59Q== X-Received: by 2002:a05:600c:1388:b0:485:35d3:ce59 with SMTP id 5b1f17b1804b1-485566e93b7mr100719835e9.10.1773481685556; Sat, 14 Mar 2026 02:48:05 -0700 (PDT) Received: from max.int.rpsys.net ([2001:8b0:aba:5f3c:1366:c81f:8eb8:9990]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439fe20b544sm26554680f8f.20.2026.03.14.02.48.04 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 14 Mar 2026 02:48:04 -0700 (PDT) From: Richard Purdie To: openembedded-core@lists.openembedded.org Subject: [PATCH 5/5] sstate: Tweak SDK sstate package architecture Date: Sat, 14 Mar 2026 09:47:58 +0000 Message-ID: <20260314094758.3929192-5-richard.purdie@linuxfoundation.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20260314094758.3929192-1-richard.purdie@linuxfoundation.org> References: <20260314094758.3929192-1-richard.purdie@linuxfoundation.org> 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 ; Sat, 14 Mar 2026 09:48:15 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/233080 While in this area of the code, it is worth noting that PACKAGE_ARCH + PN are already designed to capture the needed information that we need in SSTATE_PKGARCH. We can therefore simplify things by just using the standard fallack for SSTATE_PKGARCH instead of more complex manipulations. Signed-off-by: Richard Purdie --- meta/classes-global/sstate.bbclass | 7 +------ meta/lib/oe/sstatesig.py | 8 +++----- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/meta/classes-global/sstate.bbclass b/meta/classes-global/sstate.bbclass index f124f33b2d3..a7c3f5332a2 100644 --- a/meta/classes-global/sstate.bbclass +++ b/meta/classes-global/sstate.bbclass @@ -85,8 +85,7 @@ SSTATE_ARCHS = " \ ${BUILD_ARCH} \ ${BUILD_ARCH}_${ORIGNATIVELSBSTRING} \ ${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS} \ - ${SDK_ARCH}_${SDK_OS} \ - ${SDK_ARCH}_${SDK_ARCH}-${SDKPKGSUFFIX} \ + ${SDK_ARCH}-${SDKPKGSUFFIX} \ buildtools-dummy-${SDKPKGSUFFIX} \ sdk-provides-dummy-target \ sdk-provides-dummy-${SDKPKGSUFFIX} \ @@ -140,10 +139,6 @@ python () { d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS}")) elif bb.data.inherits_class('cross', d): d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}")) - elif bb.data.inherits_class('nativesdk', d): - d.setVar('SSTATE_PKGARCH', d.expand("${SDK_ARCH}_${SDK_OS}")) - elif bb.data.inherits_class('cross-canadian', d): - d.setVar('SSTATE_PKGARCH', d.expand("${SDK_ARCH}_${PACKAGE_ARCH}")) elif bb.data.inherits_class('allarch', d) and d.getVar("PACKAGE_ARCH") == "all": d.setVar('SSTATE_PKGARCH', "allarch") # Fall back to the default of SSTATE_PKGARCH=PACKAGE_ARCH diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py index 4693b73375e..86d159ed209 100644 --- a/meta/lib/oe/sstatesig.py +++ b/meta/lib/oe/sstatesig.py @@ -512,13 +512,11 @@ def find_sstate_manifest(taskdata, taskdata2, taskname, d, multilibcache): if taskdata.endswith("-native"): pkgarchs = ["${BUILD_ARCH}", "${BUILD_ARCH}_${ORIGNATIVELSBSTRING}"] - elif taskdata.startswith("nativesdk-"): - pkgarchs = ["${SDK_ARCH}_${SDK_OS}", + elif taskdata.startswith("nativesdk-") or "-cross-canadian" in taskdata: + pkgarchs = ["${SDK_ARCH}-${SDKPKGSUFFIX}", "allarch", "buildtools-dummy-${SDKPKGSUFFIX}", "sdk-provides-dummy-${SDKPKGSUFFIX}"] - elif "-cross-canadian" in taskdata: - pkgarchs = ["${SDK_ARCH}_${SDK_ARCH}-${SDKPKGSUFFIX}"] elif "-cross-" in taskdata: pkgarchs = ["${BUILD_ARCH}"] elif "-crosssdk" in taskdata: @@ -528,7 +526,7 @@ def find_sstate_manifest(taskdata, taskdata2, taskname, d, multilibcache): pkgarchs = pkgarchs + list(reversed(d2.getVar("PACKAGE_EXTRA_ARCHS").split())) pkgarchs.append('allarch') pkgarchs.append('sdk-provides-dummy-target') - pkgarchs.append('${SDK_ARCH}_${SDK_ARCH}-${SDKPKGSUFFIX}') + pkgarchs.append('${SDK_ARCH}-${SDKPKGSUFFIX}') searched_manifests = []