All of lore.kernel.org
 help / color / mirror / Atom feed
From: Trevor Woerner <twoerner@gmail.com>
To: openembedded-core@lists.openembedded.org
Subject: [PATCH 1/4] wic-tools.inc: add
Date: Wed,  1 Jul 2026 03:54:08 -0400	[thread overview]
Message-ID: <20260701075411.1092848-2-twoerner@gmail.com> (raw)
In-Reply-To: <20260701075411.1092848-1-twoerner@gmail.com>

wic invokes a range of host-side tools (parted, mkdosfs, mcopy,
mkfs.*, grub-mkimage, ...) at image-creation time, depending on the
partition types and bootloaders in a .wks file. The set wic could
invoke is enumerated in its NATIVE_RECIPES table, and matches the
helpers wic-tools lists in its DEPENDS.

Refactor that helper list into a shared wic-tools.inc (WIC_TOOLS) and
switch wic-tools to it, so the canonical list lives in one place and
can be reused by other recipes that need the same set.

AI-Generated: codex/claude-opus 4.8 (xhigh)
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
---
 meta/recipes-core/meta/wic-tools.bb  | 15 ++++++++-------
 meta/recipes-core/meta/wic-tools.inc | 24 ++++++++++++++++++++++++
 2 files changed, 32 insertions(+), 7 deletions(-)
 create mode 100644 meta/recipes-core/meta/wic-tools.inc

diff --git a/meta/recipes-core/meta/wic-tools.bb b/meta/recipes-core/meta/wic-tools.bb
index 45fb873dd6bd..b81729d9ff1b 100644
--- a/meta/recipes-core/meta/wic-tools.bb
+++ b/meta/recipes-core/meta/wic-tools.bb
@@ -2,13 +2,14 @@ SUMMARY = "A meta recipe to build native tools used by wic."
 
 LICENSE = "MIT"
 
-DEPENDS = "\
-           wic-native \
-           parted-native gptfdisk-native dosfstools-native \
-           mtools-native bmaptool-native grub-native cdrtools-native \
-           btrfs-tools-native squashfs-tools-native pseudo-native \
-           e2fsprogs-native util-linux-native tar-native erofs-utils-native \
-           virtual/cross-binutils \
+require wic-tools.inc
+
+# wic itself, the shared WIC_TOOLS helpers as -native build dependencies,
+# plus the extras specific to building the native sysroot: native-only
+# cdrtools, pseudo and the cross binutils.
+DEPENDS = "wic-native \
+           ${@' '.join('%s-native' % t for t in d.getVar('WIC_TOOLS').split())} \
+           cdrtools-native pseudo-native virtual/cross-binutils \
            "
 DEPENDS:append:x86 = " syslinux-native syslinux grub-efi systemd-boot"
 DEPENDS:append:x86-64 = " syslinux-native syslinux grub-efi systemd-boot"
diff --git a/meta/recipes-core/meta/wic-tools.inc b/meta/recipes-core/meta/wic-tools.inc
new file mode 100644
index 000000000000..a1d622e9d345
--- /dev/null
+++ b/meta/recipes-core/meta/wic-tools.inc
@@ -0,0 +1,24 @@
+# Recipes providing the host-side tools wic may invoke at image-creation
+# time, as listed in wic's NATIVE_RECIPES table. Names are given without
+# a class suffix so they can be mapped to -native, nativesdk- or any
+# other variant as needed.
+#
+# This list is limited to tools that exist both as -native and as
+# nativesdk- packages. Tools that are not available in every variant
+# (for example native-only cdrtools) and architecture-gated tools (for
+# example syslinux) are intentionally left out and handled separately.
+
+WIC_TOOLS = "\
+    parted \
+    gptfdisk \
+    dosfstools \
+    mtools \
+    bmaptool \
+    grub \
+    btrfs-tools \
+    squashfs-tools \
+    e2fsprogs \
+    util-linux \
+    tar \
+    erofs-utils \
+"
-- 
2.50.0.173.g8b6f19ccfc3a



  reply	other threads:[~2026-07-01  7:54 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-01  7:54 [PATCH 0/4] wic: ship the tools it needs where it is packaged Trevor Woerner
2026-07-01  7:54 ` Trevor Woerner [this message]
2026-07-01  7:54 ` [PATCH 2/4] wic: add runtime dependencies on the tools it invokes Trevor Woerner
2026-07-01  7:54 ` [PATCH 3/4] buildtools-extended-tarball: use nativesdk-wic Trevor Woerner
2026-07-01  7:54 ` [PATCH 4/4] nativesdk-packagegroup-sdk-host: add wic Trevor Woerner

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=20260701075411.1092848-2-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.