Re: [OE-core] [RFC][PATCH 1/9] remove wic

Trevor Woerner
2026-02-02T14:44:39Z

On Mon 2026-02-02 @ 09:01:56 AM, Trevor Woerner via lists.openembedded.org wrote:
> On Mon 2026-02-02 @ 08:54:06 AM, Trevor Woerner wrote:
> > 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
> >
> > AI-Generated: AI was used to help with the initial split of wic from oe-core
> > AI-Tool: codex
> > AI-Model: gpt-5.1-codex-max
> >
> > Signed-off-by: Trevor Woerner <twoerner@gmail.com>
> > ---
> > scripts/lib/wic/__init__.py | 10 -
> > scripts/lib/wic/canned-wks/common.wks.inc | 3 -
> > .../directdisk-bootloader-config.cfg | 27 -
> > .../directdisk-bootloader-config.wks | 8 -
> > scripts/lib/wic/canned-wks/directdisk-gpt.wks | 10 -
> > .../canned-wks/directdisk-multi-rootfs.wks | 23 -
> > scripts/lib/wic/canned-wks/directdisk.wks | 8 -
> > .../lib/wic/canned-wks/efi-bootdisk.wks.in | 3 -
> > .../wic/canned-wks/efi-uki-bootdisk.wks.in | 3 -
> > scripts/lib/wic/canned-wks/mkefidisk.wks | 11 -
> > scripts/lib/wic/canned-wks/mkhybridiso.wks | 7 -
> > scripts/lib/wic/canned-wks/qemuloongarch.wks | 3 -
> > scripts/lib/wic/canned-wks/qemuriscv.wks | 3 -
> > .../lib/wic/canned-wks/qemux86-directdisk.wks | 8 -
> > .../lib/wic/canned-wks/sdimage-bootpart.wks | 6 -
> > .../lib/wic/canned-wks/systemd-bootdisk.wks | 11 -
> > 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 ---------
> > 34 files changed, 7530 deletions(-)
> > delete mode 100644 scripts/lib/wic/__init__.py
> > delete mode 100644 scripts/lib/wic/canned-wks/common.wks.inc
> > delete mode 100644 scripts/lib/wic/canned-wks/directdisk-bootloader-config.cfg
> > delete mode 100644 scripts/lib/wic/canned-wks/directdisk-bootloader-config.wks
> > delete mode 100644 scripts/lib/wic/canned-wks/directdisk-gpt.wks
> > delete mode 100644 scripts/lib/wic/canned-wks/directdisk-multi-rootfs.wks
> > delete mode 100644 scripts/lib/wic/canned-wks/directdisk.wks
> > delete mode 100644 scripts/lib/wic/canned-wks/efi-bootdisk.wks.in
> > delete mode 100644 scripts/lib/wic/canned-wks/efi-uki-bootdisk.wks.in
> > delete mode 100644 scripts/lib/wic/canned-wks/mkefidisk.wks
> > delete mode 100644 scripts/lib/wic/canned-wks/mkhybridiso.wks
> > delete mode 100644 scripts/lib/wic/canned-wks/qemuloongarch.wks
> > delete mode 100644 scripts/lib/wic/canned-wks/qemuriscv.wks
> > delete mode 100644 scripts/lib/wic/canned-wks/qemux86-directdisk.wks
> > delete mode 100644 scripts/lib/wic/canned-wks/sdimage-bootpart.wks
> > delete mode 100644 scripts/lib/wic/canned-wks/systemd-bootdisk.wks
> > 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
>
> This set of patches is being sent to the mailing list to give others an
> idea of the work being done to split wic out into its own independent
> project. It is an RFC patch set.
>
> If the day comes when they might be applied, they will need to be
> squashed. Otherwise any future bisection that lands in the middle of
> these patches will likely cause build failures. This RFC patch set was
> created to make review easier. Each patch is quite small and does one
> thing.

On my machine, for an unmodified oe-core. when I run the wic-related
oe-selftests I see:

successes=93, skipped=1, failures=0, errors=1

with these changes, this is what I get on my machine:

successes=91, skipped=1, failures=2, errors=0

to run:
$ sudo .../openembedded-core/scripts/runqemu-gen-tapdevs <your numeric gid> 4
$ oe-selftest -v -r wic.CLITests wic.ModifyTests wic.Wic wic.Wic2

There are still 2 test cases that are eluding me, but I wanted to get
this patchset out there in case anyone was interested in looking at it,
and to see how it will do on the AB (knowing that there is a little more
to do).