Re: [OE-core] [PATCH 4/5] meta/dummy-sdk-package: Improve SDK dummy package handling

Mathieu Dubois-Briand
2026-03-15T14:08:53Z

On Sat Mar 14, 2026 at 10:47 AM CET, Richard Purdie via lists.openembedded.org wrote:
> 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 <richard.purdie@linuxfoundation.org>
> ---

Hi Richard,

I get some failures with this commit:

ERROR: core-image-sato-1.0-r0 do_populate_sdk: Error executing a python function in exec_func_python() autogenerated:
...
File: '/srv/pokybuild/yocto-worker/genericx86-64/build/layers/openembedded-core/meta/lib/oe/package_manager/__init__.py', lineno: 529, function: create_packages_dir
0525: start = next
0526:
0527: for dep in pkgdeps:
0528: c = taskdepdata[dep][0]
*** 0529: manifest, d2 = oe.sstatesig.find_sstate_manifest(c, taskdepdata[dep][2], taskname, d, multilibs)
0530: if not manifest:
0531: bb.fatal("No manifest generated from: %s in %s" % (c, taskdepdata[dep][2]))
0532: if not os.path.exists(manifest):
0533: continue
File: '/srv/pokybuild/yocto-worker/genericx86-64/build/layers/openembedded-core/meta/lib/oe/sstatesig.py', lineno: 536, function: find_sstate_manifest
0532: if os.path.exists(manifest):
0533: return manifest, d2
0534: searched_manifests.append(manifest)
0535: bb.fatal("The sstate manifest for task '%s:%s' (multilib variant '%s') could not be found.\nThe pkgarchs considered were: %s.\nBut none of these manifests exists:\n %s"
*** 0536: % (taskdata, taskname, variant, d2.expand(", ".join(pkgarchs)),"\n ".join(searched_manifests)))
0537: return None, d2
0538:
0539:def OEOuthashBasic(path, sigfile, task, d):
0540: """
Exception: TypeError: sequence item 2: expected str instance, list found

https://autobuilder.yoctoproject.org/valkyrie/#/builders/4/builds/3385
https://autobuilder.yoctoproject.org/valkyrie/#/builders/8/builds/3416

Thanks,
Mathieu

--
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering