public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
* [RFC][PATCH v2 0/9] standalone wic
@ 2026-02-02 17:07 Trevor Woerner
  2026-02-02 17:07 ` [RFC][PATCH v2 1/9] remove wic Trevor Woerner
                   ` (9 more replies)
  0 siblings, 10 replies; 20+ messages in thread
From: Trevor Woerner @ 2026-02-02 17:07 UTC (permalink / raw)
  To: openembedded-core

This series of patches explores the possibility of splitting wic out
from oe-core into its own standalone utility. The wic utility will
continue to fall under The Yocto Project umbrella, but will no longer
be integrated into the project as part of oe-core. The ultimate goal is
to make wic a completely independent tool, hosted on PyPI, with its own
tests, development roadmap, and releases.

Some benefits include:
- relieving the oe-core maintainers from having to review, understand,
   merge, or reject wic patches
- allow the tool to be used outside of The Yocto Project for generating
  Linux images
- provide more flexibility to explore other features, libraries,
  mechanisms, etc

The initial task of splitting wic out into its own repository was
performed with the help of AI. It was checked, and subsequent work was
done without AI.

These changes have been tested with oe-selftest as follows:
	$ sudo .../layers/openembedded-core/scripts/runqemu-gen-tapdevs <my numeric group id> 4
	$ oe-selftest -v -r wic

On my machine my oe-selftest results for an unmodified oe-core give:
	successes=93, skipped=1, failures=0, errors=1
with these patches I get:
	successes=91, skipped=1, failures=2, errors=0

There are 2 tests that need to be fixed, but it would be great to get
some feedback on this work, and to see what the AB thinks of it so far.
I have also done some adhoc testing with meta-rockchip and
meta-raspberrypi.

Should this work eventually make its way to oe-core, it would need to
be squashed into a single commit otherwise builds will break when only
partially applied. They have been submitted here in this RFC series
separately to make review easier.

Trevor Woerner (9):
  remove wic
  provide oe-core wks files
  add wic recipe
  oe-selftest/cases/wic.py: update WicTestCase
  oe-selftest -r wic.CLITests -> PASS
  oe-selftest -r wic.ModifyTests -> PASS (except 1)
  oe-selftest -r wic.Wic -> PASS
  oe-selftest -r wic.Wic2 (non-runqemu) -> PASS
  oe-selftest -r wic.Wic2 (runqemu) -> PASS (mostly)

 meta/classes-recipe/image_types_wic.bbclass   |    8 +-
 meta/conf/distro/include/maintainers.inc      |    3 +-
 meta/lib/oeqa/selftest/cases/wic.py           |  360 ++---
 meta/recipes-core/meta/wic-tools.bb           |    1 +
 meta/recipes-support/wic/wic_0.3.0.bb         |   18 +
 .../canned-wks => meta/wic}/common.wks.inc    |    0
 .../wic}/directdisk-bootloader-config.cfg     |    0
 .../wic}/directdisk-bootloader-config.wks     |    0
 .../wic}/directdisk-gpt.wks                   |    0
 .../wic}/directdisk-multi-rootfs.wks          |    0
 .../canned-wks => meta/wic}/directdisk.wks    |    0
 .../wic}/efi-bootdisk.wks.in                  |    0
 .../wic}/efi-uki-bootdisk.wks.in              |    0
 .../wic/canned-wks => meta/wic}/mkefidisk.wks |    0
 .../canned-wks => meta/wic}/mkhybridiso.wks   |    0
 .../canned-wks => meta/wic}/qemuloongarch.wks |    0
 .../wic/canned-wks => meta/wic}/qemuriscv.wks |    0
 .../wic}/qemux86-directdisk.wks               |    0
 .../wic}/sdimage-bootpart.wks                 |    0
 .../wic}/systemd-bootdisk.wks                 |    0
 scripts/lib/wic/__init__.py                   |   10 -
 scripts/lib/wic/engine.py                     |  681 ----------
 scripts/lib/wic/filemap.py                    |  583 --------
 scripts/lib/wic/help.py                       | 1188 -----------------
 scripts/lib/wic/ksparser.py                   |  322 -----
 scripts/lib/wic/misc.py                       |  266 ----
 scripts/lib/wic/partition.py                  |  562 --------
 scripts/lib/wic/pluginbase.py                 |  144 --
 scripts/lib/wic/plugins/imager/direct.py      |  710 ----------
 .../wic/plugins/source/bootimg_biosplusefi.py |  213 ---
 scripts/lib/wic/plugins/source/bootimg_efi.py |  435 ------
 .../wic/plugins/source/bootimg_partition.py   |  162 ---
 .../lib/wic/plugins/source/bootimg_pcbios.py  |  483 -------
 scripts/lib/wic/plugins/source/empty.py       |   89 --
 .../lib/wic/plugins/source/extra_partition.py |  134 --
 .../wic/plugins/source/isoimage_isohybrid.py  |  463 -------
 scripts/lib/wic/plugins/source/rawcopy.py     |  115 --
 scripts/lib/wic/plugins/source/rootfs.py      |  236 ----
 scripts/wic                                   |  600 ---------
 39 files changed, 207 insertions(+), 7579 deletions(-)
 create mode 100644 meta/recipes-support/wic/wic_0.3.0.bb
 rename {scripts/lib/wic/canned-wks => meta/wic}/common.wks.inc (100%)
 rename {scripts/lib/wic/canned-wks => meta/wic}/directdisk-bootloader-config.cfg (100%)
 rename {scripts/lib/wic/canned-wks => meta/wic}/directdisk-bootloader-config.wks (100%)
 rename {scripts/lib/wic/canned-wks => meta/wic}/directdisk-gpt.wks (100%)
 rename {scripts/lib/wic/canned-wks => meta/wic}/directdisk-multi-rootfs.wks (100%)
 rename {scripts/lib/wic/canned-wks => meta/wic}/directdisk.wks (100%)
 rename {scripts/lib/wic/canned-wks => meta/wic}/efi-bootdisk.wks.in (100%)
 rename {scripts/lib/wic/canned-wks => meta/wic}/efi-uki-bootdisk.wks.in (100%)
 rename {scripts/lib/wic/canned-wks => meta/wic}/mkefidisk.wks (100%)
 rename {scripts/lib/wic/canned-wks => meta/wic}/mkhybridiso.wks (100%)
 rename {scripts/lib/wic/canned-wks => meta/wic}/qemuloongarch.wks (100%)
 rename {scripts/lib/wic/canned-wks => meta/wic}/qemuriscv.wks (100%)
 rename {scripts/lib/wic/canned-wks => meta/wic}/qemux86-directdisk.wks (100%)
 rename {scripts/lib/wic/canned-wks => meta/wic}/sdimage-bootpart.wks (100%)
 rename {scripts/lib/wic/canned-wks => meta/wic}/systemd-bootdisk.wks (100%)
 delete mode 100644 scripts/lib/wic/__init__.py
 delete mode 100644 scripts/lib/wic/engine.py
 delete mode 100644 scripts/lib/wic/filemap.py
 delete mode 100644 scripts/lib/wic/help.py
 delete mode 100644 scripts/lib/wic/ksparser.py
 delete mode 100644 scripts/lib/wic/misc.py
 delete mode 100644 scripts/lib/wic/partition.py
 delete mode 100644 scripts/lib/wic/pluginbase.py
 delete mode 100644 scripts/lib/wic/plugins/imager/direct.py
 delete mode 100644 scripts/lib/wic/plugins/source/bootimg_biosplusefi.py
 delete mode 100644 scripts/lib/wic/plugins/source/bootimg_efi.py
 delete mode 100644 scripts/lib/wic/plugins/source/bootimg_partition.py
 delete mode 100644 scripts/lib/wic/plugins/source/bootimg_pcbios.py
 delete mode 100644 scripts/lib/wic/plugins/source/empty.py
 delete mode 100644 scripts/lib/wic/plugins/source/extra_partition.py
 delete mode 100644 scripts/lib/wic/plugins/source/isoimage_isohybrid.py
 delete mode 100644 scripts/lib/wic/plugins/source/rawcopy.py
 delete mode 100644 scripts/lib/wic/plugins/source/rootfs.py
 delete mode 100755 scripts/wic

-- 
2.51.0



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

end of thread, other threads:[~2026-02-03 15:37 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-02 17:07 [RFC][PATCH v2 0/9] standalone wic Trevor Woerner
2026-02-02 17:07 ` [RFC][PATCH v2 1/9] remove wic Trevor Woerner
2026-02-02 17:16   ` Patchtest results for " patchtest
2026-02-02 17:07 ` [RFC][PATCH v2 2/9] provide oe-core wks files Trevor Woerner
2026-02-02 17:16   ` Patchtest results for " patchtest
2026-02-02 17:07 ` [RFC][PATCH v2 3/9] add wic recipe Trevor Woerner
2026-02-02 17:16   ` Patchtest results for " patchtest
2026-02-02 17:07 ` [RFC][PATCH v2 4/9] oe-selftest/cases/wic.py: update WicTestCase Trevor Woerner
2026-02-02 17:07 ` [RFC][PATCH v2 5/9] oe-selftest -r wic.CLITests -> PASS Trevor Woerner
2026-02-02 17:16   ` Patchtest results for " patchtest
2026-02-02 17:07 ` [RFC][PATCH v2 6/9] oe-selftest -r wic.ModifyTests -> PASS (except 1) Trevor Woerner
2026-02-02 17:16   ` Patchtest results for " patchtest
2026-02-02 17:07 ` [RFC][PATCH v2 7/9] oe-selftest -r wic.Wic -> PASS Trevor Woerner
2026-02-02 17:16   ` Patchtest results for " patchtest
2026-02-02 17:07 ` [RFC][PATCH v2 8/9] oe-selftest -r wic.Wic2 (non-runqemu) " Trevor Woerner
2026-02-02 17:16   ` Patchtest results for " patchtest
2026-02-02 17:08 ` [RFC][PATCH v2 9/9] oe-selftest -r wic.Wic2 (runqemu) -> PASS (mostly) Trevor Woerner
2026-02-02 17:16   ` Patchtest results for " patchtest
2026-02-03 13:56 ` [OE-core] [RFC][PATCH v2 0/9] standalone wic Mathieu Dubois-Briand
2026-02-03 15:37   ` Trevor Woerner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox