From: Trevor Woerner <twoerner@gmail.com>
To: openembedded-core@lists.openembedded.org
Subject: [PATCH v5 6/6] wic: gate syslinux-native on the target, not the build host
Date: Fri, 31 Jul 2026 11:28:10 -0400 [thread overview]
Message-ID: <20260731152810.2641327-7-twoerner@gmail.com> (raw)
In-Reply-To: <20260731152810.2641327-1-twoerner@gmail.com>
Whether wic needs the syslinux installer is decided by the .wks file,
and so by the target: only an x86 image asks for syslinux. Currently
image_types_wic.bbclass adds syslinux-native when the BUILD HOST is
x86 instead, which is a different question. Does an image depend on
syslinux-native today?
| x86 target | non-x86 target
-------------+------------+----------------
x86 host | yes | yes
non-x86 host | no | no
The answer varies by row when it should vary by column, and both of the
wrong cells cost something. An x86 image built on a non-x86 host gets
the target bootloader without the installer that puts it in place. An
x86 host builds an installer that a non-x86 image will never use.
Gate on the target instead, as wic-tools already does [1]:
| x86 target | non-x86 target
-------------+------------+----------------
x86 host | yes | no
non-x86 host | yes | no
Bug 13276 [2] reported the bottom-right cell failing, back when the
syslinux recipe was x86-only for every variant, and it was closed in
2019 by gating on BUILD_ARCH [3]. The recipe has since been reworked so
that only its target code is x86-specific [4], which leaves that gate
unnecessary as well as misdirected. A non-x86 target never asks for
syslinux, so 13276's case stays fixed.
[YOCTO #16383]
[1] https://git.openembedded.org/openembedded-core/tree/meta/recipes-core/meta/wic-tools.bb
[2] https://bugzilla.yoctoproject.org/show_bug.cgi?id=13276
[3] https://git.openembedded.org/openembedded-core/commit/?id=7e2ee2b59319
[4] https://git.openembedded.org/openembedded-core/commit/?id=7273e131bfc7
AI-Generated: codex/claude-opus 5 (xhigh)
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
---
changes in v5:
- new in v5
---
meta/classes-recipe/image_types_wic.bbclass | 3 +--
meta/conf/wic-helper-tools.inc | 3 +++
meta/recipes-core/meta/wic-tools.bb | 4 ----
3 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/meta/classes-recipe/image_types_wic.bbclass b/meta/classes-recipe/image_types_wic.bbclass
index 3f25b7912b26..b00b5155475d 100644
--- a/meta/classes-recipe/image_types_wic.bbclass
+++ b/meta/classes-recipe/image_types_wic.bbclass
@@ -120,9 +120,8 @@ do_image_wic[depends] += "${@' '.join('%s:do_populate_sysroot' % r for r in ('wi
do_image_wic[recrdeptask] += "do_deploy"
do_image_wic[deptask] += "do_image_complete"
-WKS_FILE_DEPENDS_DEFAULT = '${@bb.utils.contains_any("BUILD_ARCH", [ 'x86_64', 'i686' ], "syslinux-native", "",d)}'
# Unified kernel images need objcopy
-WKS_FILE_DEPENDS_DEFAULT += "virtual/cross-binutils"
+WKS_FILE_DEPENDS_DEFAULT = "virtual/cross-binutils"
WKS_FILE_DEPENDS_BOOTLOADERS = ""
WKS_FILE_DEPENDS_BOOTLOADERS:aarch64 = "grub-efi systemd-boot"
WKS_FILE_DEPENDS_BOOTLOADERS:arm = "systemd-boot"
diff --git a/meta/conf/wic-helper-tools.inc b/meta/conf/wic-helper-tools.inc
index 66f2f1b2bddc..0ee4aaee6a89 100644
--- a/meta/conf/wic-helper-tools.inc
+++ b/meta/conf/wic-helper-tools.inc
@@ -14,6 +14,9 @@ WIC_HELPER_TOOLS ?= "\
WIC_HELPER_TOOLS_NATIVE_ONLY ?= "cdrtools"
WIC_HELPER_TOOLS_DEPENDS = "${@' '.join('%s-native' % t for t in (d.getVar('WIC_HELPER_TOOLS') + ' ' + d.getVar('WIC_HELPER_TOOLS_NATIVE_ONLY')).split())}"
+WIC_HELPER_TOOLS_DEPENDS:append:x86 = " syslinux-native"
+WIC_HELPER_TOOLS_DEPENDS:append:x86-64 = " syslinux-native"
+WIC_HELPER_TOOLS_DEPENDS:append:x86-x32 = " syslinux-native"
WIC_HELPER_TOOLS_PACKAGE_ONLY ?= "e2fsprogs-resize2fs"
WIC_HELPER_TOOLS_RDEPENDS = "${WIC_HELPER_TOOLS} ${WIC_HELPER_TOOLS_PACKAGE_ONLY}"
diff --git a/meta/recipes-core/meta/wic-tools.bb b/meta/recipes-core/meta/wic-tools.bb
index c3c39cec011d..22d530e42300 100644
--- a/meta/recipes-core/meta/wic-tools.bb
+++ b/meta/recipes-core/meta/wic-tools.bb
@@ -9,10 +9,6 @@ DEPENDS = "\
grub-native pseudo-native \
virtual/cross-binutils \
"
-DEPENDS:append:x86 = " syslinux-native"
-DEPENDS:append:x86-64 = " syslinux-native"
-DEPENDS:append:x86-x32 = " syslinux-native"
-
INHIBIT_DEFAULT_DEPS = "1"
PACKAGE_ARCH = "${MACHINE_ARCH}"
--
2.50.0.173.g8b6f19ccfc3a
prev parent reply other threads:[~2026-07-31 15:28 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-31 15:28 [PATCH v5 0/6] wic: ship the tools it invokes Trevor Woerner
2026-07-31 15:28 ` [PATCH v5 1/6] wic-tools: drop the target bootloader firmware Trevor Woerner
2026-07-31 15:28 ` [PATCH v5 2/6] wic: add a shared helper tool list Trevor Woerner
2026-07-31 15:28 ` [PATCH v5 3/6] wic: add runtime dependencies on the tools it invokes Trevor Woerner
2026-07-31 15:28 ` [PATCH v5 4/6] oeqa/selftest/wic: drop dead COREBASE/scripts wic lookup Trevor Woerner
2026-07-31 15:28 ` [PATCH v5 5/6] oeqa/selftest/wic: drop redundant per-test PATH overrides Trevor Woerner
2026-07-31 15:28 ` Trevor Woerner [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260731152810.2641327-7-twoerner@gmail.com \
--to=twoerner@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.