All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 00/10] wic: ship its tools, and add an SDK_FEATURES lever
@ 2026-07-24  9:01 Trevor Woerner
  2026-07-24  9:01 ` [PATCH v4 01/10] wic-tools: move bootloader firmware staging into the wic oe-selftest Trevor Woerner
                   ` (9 more replies)
  0 siblings, 10 replies; 12+ messages in thread
From: Trevor Woerner @ 2026-07-24  9:01 UTC (permalink / raw)
  To: openembedded-core

wic shells out to a range of host-side tools but does not declare them,
so wherever it is installed as a package (rather than run from the
bitbake do_image_wic task, which has the wic-tools native sysroot on
PATH) it works only by chance depending on what the host has installed.

Patch 1 is a cleanup of wic-tools: it moves the target bootloader
firmware (syslinux, grub-efi, systemd-boot) out of wic-tools and into the
wic oe-selftest that actually needs it, leaving wic-tools to stage only
the host tools wic runs.

Patch 2 then makes wic declare those host tools directly: wic gains
RDEPENDS on the tools it runs, so they are installed alongside it in
every variant that packages it.

Patches 3 and 4 are follow-on cleanups of the wic oe-selftest now that
wic and its tools all resolve from the wic-tools native sysroot: drop a
dead in-tree wic lookup, and drop the redundant per-test PATH overrides
that duplicated what the test setup already establishes.

The rest of the series turns "what optional tools go into the SDK" into
an explicit, self-documenting choice built around SDK_FEATURES, a list in
the same spirit as DISTRO_FEATURES / MACHINE_FEATURES / IMAGE_FEATURES: a
developer reads the setting and knows exactly what their SDK contains.

  - patch 5 adds the SDK_FEATURES variable and documents it (default
    empty), with no features wired to it yet;
  - patch 6 adds an opt-in "wic" feature;
  - patch 7 adds an opt-in "sbom" feature (SPDX + SBOM/CVE tooling);
  - patch 8 adds an opt-in "lldb" feature;
  - patch 9 moves the existing (unconditional, arch-gated) qemu addition
    behind a "qemu" feature, on by default so nothing regresses;
  - patch 10 moves the cross-canadian gdb behind a "gdb" feature, on by
    default; binutils and gcc stay unconditional since a cross-compiler
    is intrinsic to an SDK.

The opt-in features come first, then the two that default on. After the
whole series the default SDK_FEATURES is "gdb qemu", so an unmodified
configuration produces the same SDK as before. The intent is to present
the full range of knobs and let review settle which belong on by default;
the split across separate patches is deliberate so each can be debated on
its own. SDK_FEATURES is a plain list, so downstream layers can define
their own features (for example a cgdb feature in meta-openembedded) the
same way.

changes in v4:
- new patch 1: move the target bootloader firmware out of wic-tools and
  stage it from the wic oe-selftest instead, so wic-tools carries only
  the host tools wic runs. Ordered first so the wic RDEPENDS patch no
  longer needs to describe firmware that is about to leave wic-tools.
- wic RDEPENDS patch: gate the grub RDEPENDS to x86 and aarch64. grub is
  not in COMPATIBLE_HOST on arm hard-float, so the unconditional
  dependency in v3 made wic unbuildable there and broke "bitbake world"
  (Nothing RPROVIDES 'grub'), which in turn failed the sstate samesigs
  oe-selftests that build world under a qemuarm config. syslinux moves
  into the same arch-gated appends.
- new patches 3 and 4: oe-selftest cleanups enabled by the above (drop
  the dead COREBASE/scripts wic lookup and the redundant per-test PATH
  overrides).
- SDK_FEATURES: split the v3 "add wic via a new SDK_FEATURES lever" patch
  into a variable-only patch (patch 5) plus a wic feature patch (patch
  6), and reorder so the opt-in features (wic, sbom, lldb) come before
  the default-on ones (qemu, gdb).

changes in v3:
- replace the SDK_INCLUDE_WIC yes/no knob with the general SDK_FEATURES
  lever, and use it for qemu, sbom, gdb and lldb as well as wic
- the v2 "buildtools-extended-tarball: drop wic helper tools" patch was
  merged already and is dropped from the series

changes in v2:
- dropped the wic-tools.inc refactor; folded the tool list into the wic
  recipe
- reworked the buildtools-extended-tarball change into a plain removal
- gated wic in the SDK behind a knob instead of adding it unconditionally

Trevor Woerner (10):
  wic-tools: move bootloader firmware staging into the wic oe-selftest
  wic: add runtime dependencies on the tools it invokes
  oeqa/selftest/wic: drop dead COREBASE/scripts wic lookup
  oeqa/selftest/wic: drop redundant per-test PATH overrides
  nativesdk-packagegroup-sdk-host: add an SDK_FEATURES lever
  nativesdk-packagegroup-sdk-host: add wic to SDK_FEATURES
  nativesdk-packagegroup-sdk-host: add an sbom SDK feature
  nativesdk-packagegroup-sdk-host: add an lldb SDK feature
  nativesdk-packagegroup-sdk-host: gate qemu behind SDK_FEATURES
  packagegroup-cross-canadian: gate gdb behind SDK_FEATURES

 meta/conf/bitbake.conf                        |   1 +
 meta/conf/documentation.conf                  |   1 +
 meta/lib/oeqa/selftest/cases/wic.py           | 853 +++++++++---------
 meta/recipes-core/meta/wic-tools.bb           |  11 +-
 .../nativesdk-packagegroup-sdk-host.bb        |   5 +-
 .../packagegroup-cross-canadian.bb            |   2 +-
 meta/recipes-support/wic/wic_0.3.1.bb         |  30 +
 7 files changed, 448 insertions(+), 455 deletions(-)

-- 
2.50.0.173.g8b6f19ccfc3a



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2026-07-24  9:21 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-24  9:01 [PATCH v4 00/10] wic: ship its tools, and add an SDK_FEATURES lever Trevor Woerner
2026-07-24  9:01 ` [PATCH v4 01/10] wic-tools: move bootloader firmware staging into the wic oe-selftest Trevor Woerner
2026-07-24  9:01 ` [PATCH v4 02/10] wic: add runtime dependencies on the tools it invokes Trevor Woerner
2026-07-24  9:01 ` [PATCH v4 03/10] oeqa/selftest/wic: drop dead COREBASE/scripts wic lookup Trevor Woerner
2026-07-24  9:01 ` [PATCH v4 04/10] oeqa/selftest/wic: drop redundant per-test PATH overrides Trevor Woerner
2026-07-24  9:01 ` [PATCH v4 05/10] nativesdk-packagegroup-sdk-host: add an SDK_FEATURES lever Trevor Woerner
2026-07-24  9:01 ` [PATCH v4 06/10] nativesdk-packagegroup-sdk-host: add wic to SDK_FEATURES Trevor Woerner
2026-07-24  9:01 ` [PATCH v4 07/10] nativesdk-packagegroup-sdk-host: add an sbom SDK feature Trevor Woerner
2026-07-24  9:01 ` [PATCH v4 08/10] nativesdk-packagegroup-sdk-host: add an lldb " Trevor Woerner
2026-07-24  9:01 ` [PATCH v4 09/10] nativesdk-packagegroup-sdk-host: gate qemu behind SDK_FEATURES Trevor Woerner
2026-07-24  9:21   ` Patchtest results for " patchtest
2026-07-24  9:01 ` [PATCH v4 10/10] packagegroup-cross-canadian: gate gdb " Trevor Woerner

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.