From patchwork Fri Feb 6 08:40:17 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 80557 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 2650CEB28FB for ; Fri, 6 Feb 2026 08:40:51 +0000 (UTC) Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.7122.1770367244009893352 for ; Fri, 06 Feb 2026 00:40:44 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=SeE/0O8t; spf=pass (domain: bootlin.com, ip: 185.171.202.116, mailfrom: antonin.godard@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id CD62DC22F40 for ; Fri, 6 Feb 2026 08:40:47 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 61C8660729; Fri, 6 Feb 2026 08:40:41 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 7B378119D1A08; Fri, 6 Feb 2026 09:40:40 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1770367240; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=AR/yECErx+o8NMv5Mj5TZ1Os650x216lBgwBd8QhDXo=; b=SeE/0O8tZkLK1D/xLcbXm0g3lVe5ZHBBN5kFFKUlecSSPBZyQsUxkuqMiIqcPaQKne+5J7 7FVtBXmuK7Eu82J/gpsuoIkMLDBAlqH/TXYtRi5eruMtfUHbJJ9xZiZwYeeDHABPFEqHR3 2+gdQ0KSWyNr3ISXb+QRhWvBElUeCnY/axSiy+HZCBbHQvmjoUvYmNP7N8FiuakEJjwK+G ouUs7q2hDmSOENam7Z1A4jTFQ48EU5vQVPhtEyYLI8iMIMq5+QJET6sOFQLMu49dHoB+jL ao6Mz+4Y3QRIm/AZM21pqCyhFwF5sXiSFK8g262NZ/Vc+1HOT2tX0bETBJgWaQ== From: Antonin Godard Date: Fri, 06 Feb 2026 09:40:17 +0100 Subject: [PATCH v5 1/2] default-registry: update fragments choices with descriptions MIME-Version: 1.0 Message-Id: <20260206-bitbake-setup-choose-builtin-v5-1-3038da12dd2f@bootlin.com> References: <20260206-bitbake-setup-choose-builtin-v5-0-3038da12dd2f@bootlin.com> In-Reply-To: <20260206-bitbake-setup-choose-builtin-v5-0-3038da12dd2f@bootlin.com> To: bitbake-devel@lists.openembedded.org Cc: Thomas Petazzoni , Alexander Kanavin , docs@lists.yoctoproject.org, Antonin Godard X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=3498; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=vjrkEwDDnD0pL5zPXqYCr/waf44pvH0vmuXAYYacLq0=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBphakGM+uiMhAbDUJI8PdnHlqcQQPt6lv03pqz0 95Zr/YBppyJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaYWpBgAKCRDRgEFAKaOo NrumEADIRHcS9OA+whFr4zsZE2aMYb0SzSmEVFKIF6jBwtALknBgntYvrSO9zQqowx6Lio28o2r EB9XV2HQpEUB9CG+3HX5o5OxS8Iuku/PxmSl3/oDTNrWvgfoFsC+QmQvb7PmSrGqUvswFtoB04Y k9/ERWj8z/a4aepmQuAWExJXnH293iQTuBoilVSc3azq8h+sobNSN7G9S3vUY5t2ya0r6/7GsFE bSFIRIdgorjfVvdMB6oVOwNsB1motwO87K6kuoWQgyJsIFftMU7ygKs2pjYHZC5IRWm/xC5QjmZ Qf4fpRpB9+Tc45hD5jEZYgd/9lfjttFEm59X4K9SCjVKi/gKjvWgFCvJQQc3xLciofMboyob53C HhiWclMFIg0baAAoTKtO+IEGS0x+RoGHWrXlA7k1gogRlgEuvZGZ5SppjQWPPSsIwUUu4fz5quo V21mwACYgMeBp9LVWEy5GNr8sXAsmshKGl39ehkGod0amqV+i4Qg3EATrEMtMOh1K5Lgwz5vuFZ zyrkR+BHLFH6+IxU/ogc8xwRUrVQCNB9N5cEextSK2znC6TaAypxhfEfOprfWSye3LHD/iVMAgB cc43kYlR+QxCWLHFxUsS1BGaiAI+OcdTp616ge/N1y1JuWOhkLG7AFsU4mqW/03ODfVIuE+wNKn mYn8aK/Heh/ledA== X-Developer-Key: i=antonin.godard@bootlin.com; a=openpgp; fpr=8648725188DD401BB9A0D3FFD180414029A3A836 X-Last-TLS-Session-Version: TLSv1.3 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 ; Fri, 06 Feb 2026 08:40:51 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/8873 Give descriptions to the fragment choices to help the user know what to pick during 'bitbake-setup init'. These descriptions were based on the descriptions found in the corresponding configuration files in OE-Core/meta-yocto. Also while we're at it, s/Distributions/distributions/ as "machines" is lowercase in "Target machines" above. Signed-off-by: Antonin Godard --- .../configurations/oe-nodistro-master.conf.json | 6 +++++- default-registry/configurations/poky-master.conf.json | 16 +++++++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/default-registry/configurations/oe-nodistro-master.conf.json b/default-registry/configurations/oe-nodistro-master.conf.json index e4e842177e7..5aa148d4217 100644 --- a/default-registry/configurations/oe-nodistro-master.conf.json +++ b/default-registry/configurations/oe-nodistro-master.conf.json @@ -33,7 +33,11 @@ "oe-fragments-one-of": { "machine": { "description": "Target machines", - "options" : ["machine/qemux86-64", "machine/qemuarm64", "machine/qemuriscv64"] + "options" : [ + { "name": "machine/qemux86-64", "description": "x86-64 system on QEMU" }, + { "name": "machine/qemuarm64", "description": "ARMv8 system on QEMU" }, + { "name": "machine/qemuriscv64", "description": "RISC-V system on QEMU" } + ] } } } diff --git a/default-registry/configurations/poky-master.conf.json b/default-registry/configurations/poky-master.conf.json index 0cabce95294..58d379648a3 100644 --- a/default-registry/configurations/poky-master.conf.json +++ b/default-registry/configurations/poky-master.conf.json @@ -38,11 +38,21 @@ "oe-fragments-one-of": { "machine": { "description": "Target machines", - "options" : ["machine/qemux86-64", "machine/qemuarm64", "machine/qemuriscv64", "machine/genericarm64", "machine/genericx86-64"] + "options" : [ + { "name": "machine/qemux86-64", "description": "x86-64 system on QEMU" }, + { "name": "machine/qemuarm64", "description": "ARMv8 system on QEMU" }, + { "name": "machine/qemuriscv64", "description": "RISC-V system on QEMU" }, + { "name": "machine/genericarm64", "description": "Arm64 SystemReady IR/ES platforms" }, + { "name": "machine/genericx86-64", "description": "x86_64 (64-bit) PCs and servers" } + ] }, "distro": { - "description": "Target Distributions", - "options" : ["distro/poky", "distro/poky-altcfg", "distro/poky-tiny"] + "description": "Target distributions", + "options" : [ + { "name": "distro/poky", "description": "Yocto Project Reference Distro" }, + { "name": "distro/poky-altcfg", "description": "Poky alternative with systemd as init manager" }, + { "name": "distro/poky-tiny", "description": "Poky alternative optimized for size" } + ] } }, "configurations": [ From patchwork Fri Feb 6 08:40:18 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 80556 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 26768EB28FC for ; Fri, 6 Feb 2026 08:40:51 +0000 (UTC) Received: from smtpout-02.galae.net (smtpout-02.galae.net [185.246.84.56]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.7406.1770367243932094973 for ; Fri, 06 Feb 2026 00:40:44 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=nsn+1Rg0; spf=pass (domain: bootlin.com, ip: 185.246.84.56, mailfrom: antonin.godard@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-02.galae.net (Postfix) with ESMTPS id 46B9B1A2C48; Fri, 6 Feb 2026 08:40:42 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 1C84A60729; Fri, 6 Feb 2026 08:40:42 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 51330119D1A2E; Fri, 6 Feb 2026 09:40:41 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1770367241; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=JXY0JKq2MLa5YKvUVfXBatK+rNHEa1DVwYgbYtDemP8=; b=nsn+1Rg0qaKxvdHwc+0B9lB50sjhtAzM2wyrZWTQEdlLoibcGxzQQ3LC9gyErUEr1Mua05 B/k3pByZhx3lQvTs58hwPeacLqY1HkoD/ybpb2WEaSewtIvk2YuaBshzmmZBtpAyplq0uf Mr6pzCEWUSOaLki852J38MGt+J86aty3Gr40m/miv2Wu7z6Y8zWUWyHvJPaaWg0zrwWCd5 ooksCAVb4hmwiKYPu6w2h4RMhw7Y+PfnoMdml5ldRVGICO3dV8mNrOImGSR4VzaYMZHqC6 BbxDObW+y0U3U17llRwdPslSomZXG4Li3ELrAPeAYR1/WYv+AwTwZ9JLt3ce7Q== From: Antonin Godard Date: Fri, 06 Feb 2026 09:40:18 +0100 Subject: [PATCH v5 2/2] lib/bb/tests/setup.py: add tests for oe-fragments-one-of MIME-Version: 1.0 Message-Id: <20260206-bitbake-setup-choose-builtin-v5-2-3038da12dd2f@bootlin.com> References: <20260206-bitbake-setup-choose-builtin-v5-0-3038da12dd2f@bootlin.com> In-Reply-To: <20260206-bitbake-setup-choose-builtin-v5-0-3038da12dd2f@bootlin.com> To: bitbake-devel@lists.openembedded.org Cc: Thomas Petazzoni , Alexander Kanavin , docs@lists.yoctoproject.org, Antonin Godard X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=3627; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=C4LjdwB0i63HRgeJ29VeFoSRK4l9M9dQCRV062kCTe8=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBphakGFqMcoR8jTLjjgzczCEtvNIXFElj1uzpiA ztCkhTsSDqJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaYWpBgAKCRDRgEFAKaOo NldJD/43QKRTZ1xDQz2Y4bCGC1DDsJJctyJ3hb7fEKFJZ+1EfUsE4OXYx4u5O9b7hNMnMhkW4mi NYsmAY8za5Itt5JHKa9f2ACvMwlNHcfySjt484dKMe8Ymh3JojVRavP71AV0RYhzjel68asg3Qb R+sst2cfITVo5nWgb0/nRn7zrbm7MHL9gmeK95pUwN8uk1jlSYkkdwXvRhUdvg7YU2WtnG2seWW WlfHBTPj0p7zeiQBbq+xRYHkpwENZoKWdoJDORtddDUfZtZMy/8QEKV4R5gNi+Hixe8nKTvtVuS f3z0sOI2cup3eOyobKGfUR2P3jrbLWP7hJZI6TUPXYSoDLNHRIp7eCRWQzToJCQG77p2Xn0Wp+q 6ZBQUy6zecsqpMBiRI/kCOC17MP93k01Hlv/v8nWZr4MYR8xhmBMl9NIQbtGcr1ajhqP1Pp5xxB 16nQ7S0/c2YrSBuGVkeAG4jOlzmnnAUsAFadbK5njCCmKaFpEr4udP6TB0tBUqKwbZ/8QJGw5eG yhDzBIx3XSGA4SCsHc6+YdUqAhi3DaoC5AtGZgAOXLmzzRqxCL9VNvBBJk2S0Pdl1qsBzjGBYyx /JXemprirKX0dCygYxoB4t0X0f0xVFloWz8Rkvd22uEuvpYFLzt5zSavLjshEBkhDOuhD/DaUIw DWZBgEd+7vx0dww== X-Developer-Key: i=antonin.godard@bootlin.com; a=openpgp; fpr=8648725188DD401BB9A0D3FFD180414029A3A836 X-Last-TLS-Session-Version: TLSv1.3 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 ; Fri, 06 Feb 2026 08:40:51 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/8872 There were no tests of oe-fragments-one-of so modify gizmo-notemplate to gizmo-notemplate-fragments-one-of, and test both formats for the options (with or without a description). In get_setup_path(), if the configuration specified on the command-line contains fragments, join everything with "-" as this is what will be the final directory name of the setup. This does not affect other current variants. Signed-off-by: Antonin Godard --- lib/bb/tests/setup.py | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/lib/bb/tests/setup.py b/lib/bb/tests/setup.py index ef407ee9e2a..e3557d8f3b9 100644 --- a/lib/bb/tests/setup.py +++ b/lib/bb/tests/setup.py @@ -136,10 +136,26 @@ print("BBPATH is {{}}".format(os.environ["BBPATH"])) "oe-fragments": ["test-fragment-1"] }, { - "name": "gizmo-notemplate", + "name": "gizmo-notemplate-fragments-one-of", "description": "Gizmo notemplate configuration", "bb-layers": ["layerC","layerD/meta-layer"], - "oe-fragments": ["test-fragment-2"] + "oe-fragments": ["test-fragment-2"], + "oe-fragments-one-of": { + "fragment-desc": { + "description": "Test fragments (with description)", + "options" : [ + { "name": "fragment-desc-1", "description": "fragment 1 desc" }, + { "name": "fragment-desc-2", "description": "fragment 2 desc" } + ] + }, + "fragment-nodesc": { + "description": "Test fragments (no description)", + "options" : [ + "fragment-nodesc-1", + "fragment-nodesc-2" + ] + } + } }, { "name": "gizmo-notemplate-with-filerelative-layers", @@ -259,7 +275,7 @@ print("BBPATH is {{}}".format(os.environ["BBPATH"])) def get_setup_path(self, cf, c): if c == 'gizmo': return os.path.join(self.tempdir, 'bitbake-builds', 'this-is-a-custom-gizmo-build') - return os.path.join(self.tempdir, 'bitbake-builds', '{}-{}'.format(cf, c)) + return os.path.join(self.tempdir, 'bitbake-builds', '{}-{}'.format(cf, "-".join(c.split()))) def test_setup(self): # unset BBPATH to ensure tests run in isolation from the existing bitbake environment @@ -327,7 +343,14 @@ print("BBPATH is {{}}".format(os.environ["BBPATH"])) # test-config-1 is tested as a registry config and over http, test-config-2 as a local file server = HTTPService(self.registrypath, host="127.0.0.1") server.start() - variants = ('gadget','gizmo','gizmo-env-passthrough','gizmo-no-fragment','gadget-notemplate','gizmo-notemplate') + variants = ( + 'gadget', + 'gizmo', + 'gizmo-env-passthrough', + 'gizmo-no-fragment', + 'gadget-notemplate', + 'gizmo-notemplate-fragments-one-of fragment-desc-1 fragment-nodesc-1', + ) variants_local = variants + ('gizmo-notemplate-with-filerelative-layers',) test_configurations = ({'name':'test-config-1','cmdline': 'test-config-1', 'buildconfigs': variants},