mbox series

[0/1] wic: remove

Message ID 20260209041637.2690868-1-twoerner@gmail.com
Headers show
Series wic: remove | expand

Message

Trevor Woerner Feb. 9, 2026, 4:16 a.m. UTC
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

Comments

Mathieu Dubois-Briand Feb. 9, 2026, 7:10 a.m. UTC | #1
On Mon Feb 9, 2026 at 5:16 AM CET, Trevor Woerner via lists.openembedded.org wrote:
> 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
>

Hi Trevor,

Thanks for your patch. It is conflicting with a few changes I have in my
mathieu/master-next branch currently, so I can not easily pick it right
now:

39c72286dab9 wic: extra-partition: introduce variable matching sourceparams
799346240452 oeqa/selftest: wic: improve extra-partition plugin tests
2a2085d1d1c2 wic/engine: warn about old host debugfs for standalone directory copy

My opinion is we should try to either drop or merge these patches
quickly, so you can easily rebase on top of master. I will suggest this
during the next patch review meeting, this evening.

Thanks,
Mathieu
Trevor Woerner Feb. 9, 2026, 2:57 p.m. UTC | #2
Hi Mathieu,

Thanks for looking at my patch!

On Mon 2026-02-09 @ 08:10:09 AM, Mathieu Dubois-Briand wrote:
> Hi Trevor,
> 
> Thanks for your patch. It is conflicting with a few changes I have in my
> mathieu/master-next branch currently, so I can not easily pick it right
> now:
> 
> 39c72286dab9 wic: extra-partition: introduce variable matching sourceparams
> 799346240452 oeqa/selftest: wic: improve extra-partition plugin tests
> 2a2085d1d1c2 wic/engine: warn about old host debugfs for standalone directory copy
> 
> My opinion is we should try to either drop or merge these patches
> quickly, so you can easily rebase on top of master. I will suggest this
> during the next patch review meeting, this evening.

I knew those were in the queue so I rebased on top of master before
sending in case one or more of them had been added. Either way is fine
with me, see you at the meeting :-)

> Thanks,
> Mathieu
> 
> -- 
> Mathieu Dubois-Briand, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>