[yocto-autobuilder-helper][PATCH v5 02/12] config.json: add vcontainer-tarball build target
Tim Orling <[email protected]> Mon, 27 Jul 2026 18:40:35 -0700
| Newsgroups | org.yoctoproject.lists.yocto-patches |
|---|---|
| Message-ID | <8017979c637a4cbcce5e061d2e72c6e02380cfd5.1785198322.git.tim.orling@konsulko.com> |
Add the vcontainer-tarball build target which produces the meta-virtualization SDK used by downstream container build/test jobs. Modelled after the buildtools-tarball target. Following meta-virtualization/docs/build-profiles.md add "require conf/distro/include/meta-virt-host.conf" to extravars, which appends required DISTRO_FEATURES and sets appropriate BBMULTICONFIG. The target places the extravars in the per-step config, and includes a publish-artefacts step so the resulting SDK tarball is staged for reuse by container-tests and other consumers. Since meta-virtualization is the first layer removed by 'remove-layers', our BBMULTICONFIGs become invalid immediately after layer removal and throw an error. In scripts/run-config, EXTRACMDS runs after BBTARGETS, but before 'remove-layers'. Use 'sed' to remove the "require ...meta-virt-host.conf" line. The error in the 'remove-layers' step can be summarized as: bb.parse.ParseError: ParseError at /home/pokybuild/yocto-worker/vcontainer-tarball/build/layers/openembedded-core/meta/conf/bitbake.conf:824: Could not include required file conf/multiconfig/vruntime-aarch64.conf Signed-off-by: Tim Orling <[email protected]> --- config.json | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/config.json b/config.json index 4d329e3..8a665cc 100644 --- a/config.json +++ b/config.json @@ -1830,6 +1830,31 @@ }, "toaster" : { "EXTRACMDS" : ["${SCRIPTSDIR}/run-toaster-tests ${HELPERBUILDDIR} ${HELPERBUILDDIR}/../layers/bitbake"] + }, + "vcontainer-tarball": { + "NEEDREPOS" : ["bitbake", "meta-openembedded", "meta-virtualization"], + "ADDLAYER" : [ + "${BUILDDIR}/../meta-openembedded/meta-oe", + "${BUILDDIR}/../meta-openembedded/meta-python", + "${BUILDDIR}/../meta-openembedded/meta-networking", + "${BUILDDIR}/../meta-openembedded/meta-filesystems", + "${BUILDDIR}/../meta-virtualization" + ], + "step1" : { + "shortname" : "Build vcontainer-tarballs", + "BBTARGETS" : "vcontainer-tarball", + "extravars" : [ + "require conf/distro/include/meta-virt-host.conf", + "INIT_MANAGER = 'systemd'" + ], + "EXTRACMDS" : ["sed -i '/meta-virt-host.conf/d' ${HELPERBUILDDIR}/conf/auto.conf"] + }, + "step2" : { + "shortname" : "Publish vcontainer SDK for test reuse", + "EXTRACMDS" : [ + "install -d ${BASE_SHAREDDIR}/pub/vcontainer-tarball-latest && install -m 0755 ${BUILDDIR}/tmp/deploy/sdk/vcontainer-standalone.sh ${BASE_SHAREDDIR}/pub/vcontainer-tarball-latest/vcontainer-standalone.sh.new && mv -f ${BASE_SHAREDDIR}/pub/vcontainer-tarball-latest/vcontainer-standalone.sh.new ${BASE_SHAREDDIR}/pub/vcontainer-tarball-latest/vcontainer-standalone.sh" + ] + } } }, "repo-defaults" : { -- 2.55.0