[PATCH 0/1] wic: remove

Trevor Woerner
2026-02-09T04:16:54Z

Previously (Feb 2, 2026) a v2 set of small RFC patches was sent to
the oe-core mailing list for review[1]. Those emails provided a set of
small, more easily reviewed, broken-out patches which have the same
effect as this patch... with one exception: the wic recipe in the RFC
set of patches pointed to a test wic repository on my personal github
account and retained none of the wic git history from oe-core. With this
patch the standalone wic tool has been pushed to git.yoctoproject.org
and includes the full git history (thanks to git-filter-repo[2]).

No comments or reviews were given on the RFC set, therefore no changes
have been made since the RFC set except for an update to the wic recipe
as noted above.

Unfortunately the broken-out RFC patches can not be merged to oe-core
since individually they will cause build failures. Only once the entire
set of patches have been applied will everything work again. Therefore
all of those patches had to be squashed into one larger patch to avoid
any build breakage.

This patch splits wic out from oe-core into its own standalone tool. 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

The RFC set was run on The Yocto Project AutoBuilder and only one test
failed: a test from the meta-yocto/meta-yocto-bsp layer. A fix was
created and sent to the appropriate mailing list for consideration[3].

[1] https://lists.openembedded.org/g/openembedded-core/topic/rfc_patch_v2_0_9/117600021
[2] https://github.com/newren/git-filter-repo
[3] https://lists.yoctoproject.org/g/poky/topic/meta_yocto_bsp_patch/117634997

Trevor Woerner (1):
wic: remove

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