From patchwork Wed Aug 19 06:22:04 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Roos X-Patchwork-Id: 95673 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 89C64C5DF8B for ; Wed, 19 Aug 2026 06:22:23 +0000 (UTC) Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.1267.1787120531713878777 for ; Tue, 18 Aug 2026 23:22:12 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=s046tigi; spf=pass (domain: gmail.com, ip: 209.85.128.49, mailfrom: roosesweb@gmail.com) Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-499a4d1d7f1so4770645e9.3 for ; Tue, 18 Aug 2026 23:22:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787120530; x=1787725330; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=ujMDO555Foi8uazIki8LJVkQbG2SInIU4PKMXR9xMSU=; b=s046tigil/4rvvrNMpdHlknNH5tQ98pXXhZnVYlGU4Lo+5tJnBsRIQCXr1AQ5At2Yk bQ7QTBi2+VilF0Kmkb4K8RnUy7o60FawGCr1OayHsw08ZQAoAFZPWl/EBTLykYiqQIIy u6Ww0gcfSXpsW0gZqKUqZqv07bsa2WfPNTZJ02K4p/MseRuw1tk/PoDk7HMrUm827AUK uL6wXjYUX66SnUy6EAootk+LPdZ3W9EFL814phpRZ45UgfIQynoGvvY6otTtzBfUv8mq wCfLb5A62SoifGQBDF889r8FukxLhMKOMp4WU8QihsMYF4E4jLS+lSP/YO3RO0u3ppqS GK9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787120530; x=1787725330; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=ujMDO555Foi8uazIki8LJVkQbG2SInIU4PKMXR9xMSU=; b=LmFt3K5hCZWNb2TR9fPsUTHSFYzbVjq1wqE+/xFoitHt98EMsS8M1x86frak4EWvWk tjGxPL7Slekr/Edx/ZAQlWb1FpuOy+vaz+9CjCySWWp3BsLzBGqhzjsVcfJJ2HN3HIpw I42tjgISEeHNvdYcM6jrAXknhjXZKUrfX6yrMjCyCHP3eYUjh6dDWzw2Y/TgoeR2NdUU zmR+RKyYTbFH+peAERv2/0T4ZXt12TfmyzXM7ET84eNF8aGozDFCCTuj7cOfSudyLXD1 1CMI53N8U+2uS+E3/HPvnbyynE2GEsS8/Pcd547BmyjdO7s2RiyxHwWWhxqgwNpCYKoR vRmQ== X-Gm-Message-State: AOJu0YynwP6bcxrzYECgAZHAx3cV6Ts8QXU/LQkK13A10yQcoZS/7XLY OB7vfAncQVlceQIR3ZmgWZymhYMMk/9gEVyLwl4Y6od1o1jR8Ro0pw9f4Jvee91m X-Gm-Gg: AR+sD11G4SqJCsJ4Iz615WePzeGCGIuB3Edq9kdGMVdcmTzry2VeEXQLc7V/YukHwIZ m7QcGUYFbqedECU0Lq3S2rnzrdC6KUteRj4Up9bNhBDbmEKwO1TIED+CAMu+IYEHriXFRPDxG9r nHtqaCVnu0vVCNQujDYPLVRLqrM6TcxrO8EaMslWrZGjXU5msxT1ZZDR26lVBGCcciprzmE8L9J 9D0ZblMndOconHsdQG2GqU4070bfQO4aEHC31I8GM6k0iHk6WEvc1660PlxSQR9e5DIIVT0PFey +Tnd8GJLqeJevvX04VTeMlg8EIGAgmtim57FdZK8W8AFLIZow243l+qSbuJKUksnBBKZ+PKtRRz w+GrOwjalxgJiqqdp56DkdijBlYV4RuTrc5jPDqT3MZn4JchCsC3k1twhw/WFo20cZpFHmEwB+8 tOAXv4BCp7y6nBRh8tSnbeZawD/PDl++Cq+ft6V/UjvhwddWuFvQOG74eq7+fcyPqZ4psZ50N6D WCcft6S96WqTIfCoIXay6LqOA+Q9ppXWw== X-Received: by 2002:a05:600c:3593:b0:499:841c:2016 with SMTP id 5b1f17b1804b1-499aa0ff5a0mr41502055e9.0.1787120529985; Tue, 18 Aug 2026 23:22:09 -0700 (PDT) Received: from thinkpad.fritz.box ([2a02:810d:ae08:d00:a23e:1b00:ebf4:5b37]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499aa17f202sm32900085e9.13.2026.08.18.23.22.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Aug 2026 23:22:09 -0700 (PDT) From: Thomas Roos To: openembedded-core@lists.openembedded.org Cc: Paul Barker Subject: [PATCH v2 1/5] sbom-cve-check: read the image SBOM through the stable symlink Date: Wed, 19 Aug 2026 08:22:04 +0200 Message-ID: <20260819062208.680468-2-roosesweb@gmail.com> In-Reply-To: <20260819062208.680468-1-roosesweb@gmail.com> References: <483e1f11846c0941d287a3a9228bd759a1310bdd.camel@pbarker.dev> <20260819062208.680468-1-roosesweb@gmail.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 ; Wed, 19 Aug 2026 06:22:23 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/243707 The input path was built from IMAGE_NAME, which carries DATETIME and so only resolves within the invocation that wrote the SBOM: enabling the class on an existing build tree, or "bitbake -f -c sbom_cve_check", failed with ENOENT. Read IMAGE_LINK_NAME instead, falling back to IMAGE_NAME when it is unset. AI-Generated: Uses Claude Opus 5 Signed-off-by: Thomas Roos --- meta/classes-recipe/sbom-cve-check.bbclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/classes-recipe/sbom-cve-check.bbclass b/meta/classes-recipe/sbom-cve-check.bbclass index 451595f..ca47834 100644 --- a/meta/classes-recipe/sbom-cve-check.bbclass +++ b/meta/classes-recipe/sbom-cve-check.bbclass @@ -14,9 +14,10 @@ python do_sbom_cve_check() { """ Task: Run sbom-cve-check analysis on SBOM. """ - sbom_path = d.expand("${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.spdx.json") image_name = d.getVar("IMAGE_NAME") link_name = d.getVar("IMAGE_LINK_NAME") + sbom_path = os.path.join(d.getVar("DEPLOY_DIR_IMAGE"), + "%s.spdx.json" % (link_name or image_name)) run_sbom_cve_check(d, sbom_path, image_name, link_name) } From patchwork Wed Aug 19 06:22:05 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Roos X-Patchwork-Id: 95672 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 4FA91C5DF85 for ; Wed, 19 Aug 2026 06:22:22 +0000 (UTC) Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.1341.1787120532273431083 for ; Tue, 18 Aug 2026 23:22:12 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=dVQG0uBB; spf=pass (domain: gmail.com, ip: 209.85.128.46, mailfrom: roosesweb@gmail.com) Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-4953de5be0aso4609645e9.0 for ; Tue, 18 Aug 2026 23:22:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787120530; x=1787725330; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=WwsLxxHQiHKwXu1TiRSspliWFtg6Lwra2IFaGa39S6w=; b=dVQG0uBBCuMcuZoo+RmWYnh3Hl/TV9AGvEPx4RAg5gaKvwGSEgehL9N7d+3a5N5QnY mB4epE80x2K8EPyAffSZxpdR5E92VnIMfB8HDLb9EfAbmHBHmxS/a6YNJKIKTJPYSnp0 aRHeb4an5LZFOzWtC0bqvGgM22qvnLj7TFYxm83Lnje/DmRstf+alPOb8r3kv494pjtT Y4N1E4Y1+jOHbyzAVmCmYRr4CIVALHljYXwF4GLxYuR3C3TX30HGPz+z3w02C7A2rVwM vucunHo+74iX09slwPkv/oE7TxEJsmWUf781WmigPjxteEOHqEmO59/OwJk0jd/pZoqy Yv0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787120530; x=1787725330; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=WwsLxxHQiHKwXu1TiRSspliWFtg6Lwra2IFaGa39S6w=; b=aNePJgJMV7EenNH5Aj6Ub3xwwA8GCdAYYDdpMcLemBAHDiHJ/ja0qm92UcpoIXosEq cDOPslAV2uFRQSiIvS2ft4ltDJ0PqPPrCdL/GMeFmqCsJSvjRDn8oDJtP+GtqybA0FUP 4kHgeWtdfddCvsvQC4TIPRpR67N6O5K88Mb6WgtOMto6O6A8ewfBnXcvXB5rTDO6VP3L GuLzts0E9R//Ezt4QmRPLctzDbhbJTMzzw/NRA6GCdEng0xwz0yPn/9HfQTeWvfFlOcX FwemNaXQNaGH5mTlMLD4KvYfh/z2zkVVtyHSRKz/SwvpgwX5YKEverkZo7qP7Zsusk2z FCbA== X-Gm-Message-State: AOJu0Yw5mz1UwTYLfyF6mXi024BOQjinbv8cB/G5TBjqQNPFjnZUqW21 F7g+ZJjPOSMSrTCl7ZjN9L/Lr52Xf0xUTC1OiLyZjNClFxScChECZ7s6DDsbyCd8 X-Gm-Gg: AR+sD12ExLBbz6fTJ14q0BDOHVPzZrBpl44DlNdSmXEOCmKdsOSh1Xx3/YzlY0mVtuU K21S1egdXXjcegO3L0ib1IjDD2Rfc5KnTr1yik6y8QxIHtpNEKPxd9oevUNY+PEg5H8zw7ZIIo1 DCj6GuYMONoFRFSPTsvlK3jKHxvFyu7/sSLo753vy93zl7PlwRQ4thYT1VLSU3Apblftj5L134J 9O8lemydZxsUaZOw6I95EOMTxFgmUh9nceCW5XRuwlcz5aNVgHBq/tdeEtAawKWmQSyvKXFVXiz 8bdnA+E7o42WMYSGDoSwhHf7uxGekb8PyTrK0ZEiH3e3VtJ2LsNcqThqU7qF1kdrdIjgnTmejYQ 8ygo2iIlbVWzECXwJXqBjW8RNI72/zouuJCL72FBx7I40kM3QuPAl7/rKSHh4Fe4SZEnBvZ3t1u OvOo+3Yd+1II9fECwNtMq2bwbhgSAs3wM+1stYgbk648lulPjSPIPYrjcEkRBFLD/HBjvJ6q0C9 tOl9yr7zd/YXZ7mwTDKZM279Pmkjq6+YA== X-Received: by 2002:a05:600c:4e47:b0:499:8743:77c8 with SMTP id 5b1f17b1804b1-499aa17dfe4mr40220335e9.8.1787120530473; Tue, 18 Aug 2026 23:22:10 -0700 (PDT) Received: from thinkpad.fritz.box ([2a02:810d:ae08:d00:a23e:1b00:ebf4:5b37]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499aa17f202sm32900085e9.13.2026.08.18.23.22.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Aug 2026 23:22:10 -0700 (PDT) From: Thomas Roos To: openembedded-core@lists.openembedded.org Cc: Paul Barker Subject: [PATCH v2 2/5] vex: skip the VEX symlink when IMAGE_LINK_NAME is empty Date: Wed, 19 Aug 2026 08:22:05 +0200 Message-ID: <20260819062208.680468-3-roosesweb@gmail.com> In-Reply-To: <20260819062208.680468-1-roosesweb@gmail.com> References: <483e1f11846c0941d287a3a9228bd759a1310bdd.camel@pbarker.dev> <20260819062208.680468-1-roosesweb@gmail.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 ; Wed, 19 Aug 2026 06:22:22 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/243708 An empty IMAGE_LINK_NAME left a bare ".vex.json" symlink in the deploy directory. Skip the link, as image.bbclass and rootfs-postcommands do. AI-Generated: Uses Claude Opus 5 Signed-off-by: Thomas Roos --- meta/classes/vex.bbclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/classes/vex.bbclass b/meta/classes/vex.bbclass index b3c2aca..eee3af6 100644 --- a/meta/classes/vex.bbclass +++ b/meta/classes/vex.bbclass @@ -204,7 +204,8 @@ python vex_write_rootfs_manifest () { with open(manifest_name, "w") as f: json.dump(json_data, f, indent=2) - update_symlinks(manifest_name, link_path) + if link_name: + update_symlinks(manifest_name, link_path) bb.plain("Image VEX JSON report stored in: %s" % manifest_name) } From patchwork Wed Aug 19 06:22:06 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Roos X-Patchwork-Id: 95670 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 831A9C5DF81 for ; Wed, 19 Aug 2026 06:22:22 +0000 (UTC) Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.1342.1787120532894348106 for ; Tue, 18 Aug 2026 23:22:13 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=NROGn1BT; spf=pass (domain: gmail.com, ip: 209.85.128.49, mailfrom: roosesweb@gmail.com) Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-4980dc26022so5954585e9.1 for ; Tue, 18 Aug 2026 23:22:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787120531; x=1787725331; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=XypcZpqZTQoYdAEiStawSEcKJ9+ynuf3MXKTsyim2wk=; b=NROGn1BTCBVREPO0xd+rdkwYrqdp77ZVK+GM/jsa3DzyrTcxsJKVAnEDMPAU3CmmoA RJJazT7+uBvQXQoqiw5KKxDvGXj52q9DqnHTW2Wn/+piX1LBNgZmUg+zeGFsdwx3zGsI f+CsOwBiqJieYJhKXLaA82CZ39ZAURcQaNwFlmCQxOR6YBV1hC56YhbiZzNSokBjt9+X Uhl25YxPFEf+ccZBZ09TAK+J/zZulSq1p7JQNKzmUE7FHyODE5POWTpyJ0Nd7+5GsVNd jTJrrcKqEk0JsQpF4JeiQDNPnX+0vE8/Z/Xha5Ehkd/h9NQy3hvmvFWbsFkzfsJM9whj citg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787120531; x=1787725331; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=XypcZpqZTQoYdAEiStawSEcKJ9+ynuf3MXKTsyim2wk=; b=NhJd4k8uZ5MNuQwnHts63g/N5rsnz9C+pyl9oP5qLUwoiPC+5wyW0mf+Xs6VV9c2My zKn49109n7ZRDKr8PrUoR3tpnzA7SrHjpbnkXpQJoORpJzu08+PpQiIMYx0fu+sX+heF 3NFI6WST0h1C8pKR6lo2nc1xF8OuPHOapAPkIR0UPnoIuvhyLLNTG809O+HIiOKlbz3y klIhSVFD98QdLmots/LJNrS/XjOYxCxviiz4CIzWmcF0P79hlNoROhog51LMWpU0hJAN ECIZVRjM/fvV1mokhC3uJkeiwu68B169SKyc3sj3ncDtlhUDUcjiA2WOJcLGNjsWnqgR XwnA== X-Gm-Message-State: AOJu0YyT3weWN3FfpQj+v6JKjYf8pBtuBf5DVEy5Eo5ohgO3yHwehIiK Hf0rYjmpbMHaJ2vcWUg+9dBDpz3nFq7VjqNamnE6+yRt9VPg8bR0V749GCzuNCt6 X-Gm-Gg: AR+sD1355RxSjslfay8eiS5LssEqrxfRaq2wHr/G8Ao6gpk136Pkoi5S+4QtuRKnCLs LfvFzam0Wprs7d4GpwsSiAl+kleCC+Q6ZPVvIc2ZnlG4Eez02DGVzLrvWwP+0uDJj42oS6iwxRS 4mDlTOX5iQaS8612iWfB3wyORkLAoXzsAQ0H+LQHPcv1lfsaGxaEYolC+/oGs1vjUr5C0Qhzbg/ avgpTZZ9KTCyFpI/75p0PLD6AJbIxZiJrBm4ZVDmq8UiAFPWCVWqh3VDq03+2WxPGM7WaICDqiC cc/5YFZcLDXZzLRA+kX0/VX1LolsgLBbhfDeP9XPFiGecZd9CrqssJcGqsiP/NGwDe5deFtmKin BuvlkjYhtadS2oGJTKpjNv5U4khrUYqnfey6a3F9uJP8kkLSkNWlZacqTbE9be5XRw8lWNg91Zt nVjq9yeJIJE0xrcdQHQH2ckZs3AfmVdFTu/0exoscZHCDRBUQJyQkuUmI+O1M5DFW8vp38Z1lTJ AMmYbq22eQJ1xWGUbM9fCwGlv38HfAYvQ== X-Received: by 2002:a05:600c:1908:b0:499:5210:c537 with SMTP id 5b1f17b1804b1-499aa17d6d8mr31981895e9.1.1787120531091; Tue, 18 Aug 2026 23:22:11 -0700 (PDT) Received: from thinkpad.fritz.box ([2a02:810d:ae08:d00:a23e:1b00:ebf4:5b37]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499aa17f202sm32900085e9.13.2026.08.18.23.22.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Aug 2026 23:22:10 -0700 (PDT) From: Thomas Roos To: openembedded-core@lists.openembedded.org Cc: Paul Barker Subject: [PATCH v2 3/5] testexport: fall back to IMAGE_NAME when IMAGE_LINK_NAME is empty Date: Wed, 19 Aug 2026 08:22:06 +0200 Message-ID: <20260819062208.680468-4-roosesweb@gmail.com> In-Reply-To: <20260819062208.680468-1-roosesweb@gmail.com> References: <483e1f11846c0941d287a3a9228bd759a1310bdd.camel@pbarker.dev> <20260819062208.680468-1-roosesweb@gmail.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 ; Wed, 19 Aug 2026 06:22:22 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/243709 copy_needed_files() built the manifest and testdata paths from IMAGE_LINK_NAME alone, so an empty value made it copy ".manifest" and fail. testexport_main() in the same file already falls back to IMAGE_NAME. AI-Generated: Uses Claude Opus 5 Signed-off-by: Thomas Roos --- meta/classes-recipe/testexport.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes-recipe/testexport.bbclass b/meta/classes-recipe/testexport.bbclass index 12b7e17..a0be7cd 100644 --- a/meta/classes-recipe/testexport.bbclass +++ b/meta/classes-recipe/testexport.bbclass @@ -134,7 +134,7 @@ def copy_needed_files(d, tc): # Copy test data image_name = ("%s/%s" % (d.getVar('DEPLOY_DIR_IMAGE'), - d.getVar('IMAGE_LINK_NAME'))) + d.getVar('IMAGE_LINK_NAME') or d.getVar('IMAGE_NAME'))) image_manifest = "%s.manifest" % image_name tdname = "%s.testdata.json" % image_name test_data_path = os.path.join(export_path, 'data') From patchwork Wed Aug 19 06:22:07 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Roos X-Patchwork-Id: 95669 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 3B4D8C5DF6D for ; Wed, 19 Aug 2026 06:22:22 +0000 (UTC) Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.1268.1787120533413556587 for ; Tue, 18 Aug 2026 23:22:13 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=Xed00zJm; spf=pass (domain: gmail.com, ip: 209.85.128.53, mailfrom: roosesweb@gmail.com) Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-4980dc26022so5954685e9.1 for ; Tue, 18 Aug 2026 23:22:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787120532; x=1787725332; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=wkkuF4+1MJbj0YRuqIgtKwiyH5+3bVLjnnL2p+Q1UwQ=; b=Xed00zJmIMSy8oVt9nhxxiSe6PQQYNP4qh5RmCwz1y2A8iWn/OfBNCiYZoNZFci3hF jk0a8EtO6YKv+xY7YSmXDc8SBTH1Qnm53AWJ+AIaEjYTsRx/UwAkybS11sivb8Ql1KM2 F3ATvaRWUtuvpZjjJkXoylasKn4IUrG4t9HhIKInluQwPssUoFPm6D130CMk4xP+kz8L bwGrMX4M5WWycWnecdLGX14M4pNwdBtTigM1bjECR0U2YdfHfFvIfclmltUJltgJ6rZs SXIIVzk+GbCY12tR8Lzgp8XM+C7XhFORqv8yJ7/0dsYllw9YsUtGnyRLS9B6f3teCUHe JAAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787120532; x=1787725332; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=wkkuF4+1MJbj0YRuqIgtKwiyH5+3bVLjnnL2p+Q1UwQ=; b=SgFcUx/OmA1sBU7TI0ewkRqFSkUf1wKbIgrBsFnK70CQ1CE+RXHYZIYZg48di60Dyi 7PLur0LtojDL0JSsrGnuwlDlqXsZwA7SpfzvlK2G8+yFCFHOtEm38ZkJU+6Rmq43qxhL P3yMyMRBQVqDmXXyO0/3NTBRNFaF+GD/NdNLq20Q0tUFrNzKT8IAqJaTQEWMHaahDx0g 4nD3hUMnn3fsVVeTchmWiPEg8UxSr28+FxHIcFpwX9NGqCbKqLDEVxTh6OlJ4UROsfbV A57aQPb652FkytAYvBdufhZt1PVQWDls/EAiWj5q8f2irnG1ZRVeKvHQl9QzBZ/jt56x +R7A== X-Gm-Message-State: AOJu0YxMzqBUT2MDa5cX3pwOpEadQGUEB5RxXqpSKZJiSSbKiYk8YvYk KWvYyhS1Z5800+T902GQev7aBjg0QXuzEGFyfGml3KZl/pxJfnN6/hyyAmv1cPPl X-Gm-Gg: AR+sD12GF+PnDDccbbOOn8axm7T9fiBQDurOgtwXuNa94oLlLEQOFVvwl8dv5u56QtQ 68hIxWQ9hLw0xBA7sFw+uMoirZGmIsO1ivnM8rTYNjcaLjD6LwGV8B6Y1eg03bJP0gFDgIgg17s 4gsn6iCZiOIWraA0/vaCZx5DjnRiBCJR8qlxmeX2Jf5CnGSc/OJ8PBNeU+YsiUUnzOsUOO8Mare BQw/CpFXWQYZCHKXz+9HbmRmQtp+lpsPkZsezNiKnRrKn0MsCRxYJs4yfNs798PAFhjkXrhGakX faoKwjbETfhkkqCCyrzcv+ZOdKUgw/RBA93OoqRLvf6gOPkv78aadIiDq7lgaVyBUpJOySMOw70 JzULRqVSDnV/pprmXeswmOx2pWoBFZboKxBMce/CNtzwCJ+Ksh7sn7FVYrqkJdXnLqosvnht5cn cSWRqRkeYexq6T04KPu8nUA0H3LYuseMhKbp21TbJzm4Z/YOXaMpSt0vDHj0v/bufkvmYgX+5Gv fq5zE3embSgVoYdNVNp7UFryjGey0+xgOA= X-Received: by 2002:a05:600c:6091:b0:499:8aff:59b6 with SMTP id 5b1f17b1804b1-499aa1ead50mr44556055e9.14.1787120531621; Tue, 18 Aug 2026 23:22:11 -0700 (PDT) Received: from thinkpad.fritz.box ([2a02:810d:ae08:d00:a23e:1b00:ebf4:5b37]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499aa17f202sm32900085e9.13.2026.08.18.23.22.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Aug 2026 23:22:11 -0700 (PDT) From: Thomas Roos To: openembedded-core@lists.openembedded.org Cc: Paul Barker Subject: [PATCH v2 4/5] image_types: skip multiubi symlinks when IMAGE_LINK_NAME is empty Date: Wed, 19 Aug 2026 08:22:07 +0200 Message-ID: <20260819062208.680468-5-roosesweb@gmail.com> In-Reply-To: <20260819062208.680468-1-roosesweb@gmail.com> References: <483e1f11846c0941d287a3a9228bd759a1310bdd.camel@pbarker.dev> <20260819062208.680468-1-roosesweb@gmail.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 ; Wed, 19 Aug 2026 06:22:22 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/243710 An empty IMAGE_LINK_NAME made multiubi_mkfs link the named volumes from the suffix alone, e.g. "_volume.ubifs". Guard the block. AI-Generated: Uses Claude Opus 5 Signed-off-by: Thomas Roos --- meta/classes-recipe/image_types.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes-recipe/image_types.bbclass b/meta/classes-recipe/image_types.bbclass index ca13729..6c620a5 100644 --- a/meta/classes-recipe/image_types.bbclass +++ b/meta/classes-recipe/image_types.bbclass @@ -217,7 +217,7 @@ multiubi_mkfs() { mv ubinize${vname}-${IMAGE_NAME}.cfg ${IMGDEPLOYDIR}/ # Create own symlinks for 'named' volumes - if [ -n "$vname" ]; then + if [ -n "$vname" ] && [ -n "${IMAGE_LINK_NAME}" ]; then cd ${IMGDEPLOYDIR} if [ -e ${IMAGE_NAME}${vname}.ubifs ]; then ln -sf ${IMAGE_NAME}${vname}.ubifs \ From patchwork Wed Aug 19 06:22:08 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Roos X-Patchwork-Id: 95671 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 889BCC5DF89 for ; Wed, 19 Aug 2026 06:22:23 +0000 (UTC) Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.1344.1787120534380462951 for ; Tue, 18 Aug 2026 23:22:14 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=o41+7uLD; spf=pass (domain: gmail.com, ip: 209.85.128.43, mailfrom: roosesweb@gmail.com) Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-4954a2e73a9so3888485e9.3 for ; Tue, 18 Aug 2026 23:22:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787120533; x=1787725333; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=CmHmM17A6ct4O6HKxeCWKR58jonNh+kJvnKVY5DXZ58=; b=o41+7uLDCBe2wQs/4DzeC4aJspfROlu5kpzyatyxsEmMslI2dK2rnrc8jd74QIvAIn g3dGW/0twCmhHbJhO6bifVhkxLm/C4eNk/qXDFrlHXF3x+RXQPGmXLNEtqDklgJvl0l0 1PyAI/JT/ww28ThC8y/Rw4S0N1Lh7p9InyXhCs85SOQVkRtjSBLqVdT2QZrAsNm77ZtO z0Y/wb2e14TL5iFhH/p+I8UXATkums7sReGsdWsi1P1clBRUi/OxuI4nt7OTd0zaWp+V ooD+BisHA0XvuLB0z4JAd4fwsufh0Pd7kNyoQ3JmWiaipIcfwWXsh91k2FblANI908er fqRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787120533; x=1787725333; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=CmHmM17A6ct4O6HKxeCWKR58jonNh+kJvnKVY5DXZ58=; b=P1igO3kit3r7zsybkN0dBdAjPP282gWZTN/Ze2AATePBSMyJIf0p9yewM5woaSSimG sRc/7Z5PaYm97QwfbhLeTjhhWO+cvQnqMt1UgikUQlObZrPKIy8eIDZD3eI6+GDt4oEI clmdO/Lxxd+jB+ZAs9slHauMwQyyagK8LJLY2he0Edy/DqrOltr1TQJ8HhTt9GvvK4aj GewdpR/wJVlYDz5AyOg/prBqvzBI388p7XCXZL2m5TckomSVdHfM0UJ00sZJu+Dyz6mN V6ecNS/xeSGRPVisEvAe1h5YgIjYEQGn0f8IAVZVMN+yhFfDeTSVa3wkAgA1rDOvOx0x qddA== X-Gm-Message-State: AOJu0YwraZ8Vp2GvMV7eLXzIkC1mGxkXjPSZwrLInGWT37IPEzbAe29C KweX68utKZ4JovklFXfolexOkg60T/74Ih4/SXOhObbh16Ya1VVuLLcOtWS9veSK X-Gm-Gg: AR+sD13nrkZX3anmma+UdUjalBPFROXNN9qPUSEdTOaYxABjENBw2fss0uXNG5yWJOE pTLCy0mudmdSC3fZm1641X0TqSroLAiD9FmGoCBlTeyr4cu8eWs1npHqDIHqgRiLaS2AiksXCZk H2j3x6BCnnTBMFTo7YwsojvdCHCkGOqCkAnqsRARLsMMcoyZgOeXNcMmHNz6m8QPcfWpMB4DX2k zky4MKGqGeDdNmmIJO5A8BASOXA+q8coCrGyfHilM4+bgZWKXoMaXl9AvMiaJEXGwPJ/LNKjYIr 0jO91QBmvYFydpgDaNl0vFOZV2JvQNIZaDlvbDCv9ejQvJ+7TljiCf9ihxhs1PctFDd4wMqSVuL 2aI3lHwh5gELvKcmDJvQqc41wi/cgy601eVJuQXubMw5N7sed96jSnegz8RHdshacxj43F50lEM oiMYLwulS4AYU+LgR/PVgLiIJaC+IbY7D2+vlVZVtQIuF9eibh7s22VKDPFoLdoLFgQ3gWPBhME 0YWms7xW2CMLOO/mEbRmWKrbun3n+NCLUq1ExdlO8vVEw== X-Received: by 2002:a05:600c:8b32:b0:496:c06b:9fb4 with SMTP id 5b1f17b1804b1-499aa200efcmr36819595e9.14.1787120532552; Tue, 18 Aug 2026 23:22:12 -0700 (PDT) Received: from thinkpad.fritz.box ([2a02:810d:ae08:d00:a23e:1b00:ebf4:5b37]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499aa17f202sm32900085e9.13.2026.08.18.23.22.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Aug 2026 23:22:11 -0700 (PDT) From: Thomas Roos To: openembedded-core@lists.openembedded.org Cc: Paul Barker Subject: [PATCH v2 5/5] oeqa/selftest/imagefeatures: test an empty IMAGE_LINK_NAME Date: Wed, 19 Aug 2026 08:22:08 +0200 Message-ID: <20260819062208.680468-6-roosesweb@gmail.com> In-Reply-To: <20260819062208.680468-1-roosesweb@gmail.com> References: <483e1f11846c0941d287a3a9228bd759a1310bdd.camel@pbarker.dev> <20260819062208.680468-1-roosesweb@gmail.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 ; Wed, 19 Aug 2026 06:22:23 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/243711 Nothing covered this configuration, which is why the vex, multiubi and testexport sites went unnoticed. One core-image-minimal build with IMAGE_LINK_NAME cleared covers all three; the test fails without them. AI-Generated: Uses Claude Opus 5 Signed-off-by: Thomas Roos --- meta/lib/oeqa/selftest/cases/imagefeatures.py | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/meta/lib/oeqa/selftest/cases/imagefeatures.py b/meta/lib/oeqa/selftest/cases/imagefeatures.py index 87c3da2..fac1d47 100644 --- a/meta/lib/oeqa/selftest/cases/imagefeatures.py +++ b/meta/lib/oeqa/selftest/cases/imagefeatures.py @@ -332,3 +332,45 @@ CORE_IMAGE_EXTRA_INSTALL = "man-pages" status, output = qemu.run_serial("man --pager=cat intro") self.assertEqual(status, 1, 'Failed to run man: %s' % (output)) self.assertIn("introduction to user commands", output) + + def test_empty_image_link_name(self): + """ + Test that an empty IMAGE_LINK_NAME suppresses the artifact symlinks + and that the classes reading an artifact back still locate it. + """ + image = 'core-image-minimal' + vname = 'mtd_4_256' + config = """ +INHERIT += "vex" +IMAGE_CLASSES += "testexport" +IMAGE_LINK_NAME = "" +IMAGE_NAME = "${IMAGE_BASENAME}${IMAGE_MACHINE_SUFFIX}${IMAGE_NAME_SUFFIX}" +IMAGE_FSTYPES += "multiubi" +MULTIUBI_BUILD = "%s" +MKUBIFS_ARGS_%s ?= "-m 4096 -e 253952 -c 4096" +UBINIZE_ARGS_%s ?= "-m 4096 -p 256KiB" +TEST_TARGET_IP = "192.168.7.2" +TEST_SERVER_IP = "192.168.7.1" +""" % (vname, vname, vname) + self.write_config(config) + + bitbake(image) + bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'IMAGE_NAME', 'TEST_EXPORT_DIR'], image) + deploy_dir = bb_vars['DEPLOY_DIR_IMAGE'] + + # Artifacts are still named after IMAGE_NAME + for name in ("%s.vex.json" % bb_vars['IMAGE_NAME'], + "%s_%s.ubifs" % (bb_vars['IMAGE_NAME'], vname)): + self.assertTrue(os.path.exists(os.path.join(deploy_dir, name)), + "%s is missing from %s" % (name, deploy_dir)) + + # ...and nothing is linked from the suffix alone + for name in (".vex.json", "_%s.ubifs" % vname, "_%s.ubi" % vname): + self.assertFalse(os.path.lexists(os.path.join(deploy_dir, name)), + "%s was created from an empty IMAGE_LINK_NAME" % name) + + # testexport copies these back out of DEPLOY_DIR_IMAGE + bitbake("-c testexport %s" % image) + for name in ('manifest', 'testdata.json'): + path = os.path.join(bb_vars['TEST_EXPORT_DIR'], 'data', name) + self.assertTrue(os.path.exists(path), "%s was not exported" % path)