From: Trevor Woerner <twoerner@gmail.com>
To: openembedded-core@lists.openembedded.org
Subject: [PATCH v6 0/9] standalone wic
Date: Wed, 25 Feb 2026 02:49:22 -0500 [thread overview]
Message-ID: <20260225074931.1661345-1-twoerner@gmail.com> (raw)
This series of patches splits wic out from oe-core into its own
standalone utility. The wic utility will continue to be 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 wic patches
- allow the tool to be used outside of The Yocto Project
- provide more flexibility to explore other features, libraries,
mechanisms, etc
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
Previously, I had two separate patch sets for wic on oe-core: one
to create a standalone utility, and one to re-implement variable
sector-size handling. Both these were combined to create a combined "v5"
patch set.
In v6 the major changes are:
- code cleanups to remove cases of "if sector_size and sector_size =
512" in places where we can guarantee sector_size will exist
- cleanups to replace "getattr(var, 'sector_size', 512) or 512" since
the 3rd arg to getattr() is already setting a default if the variable
name is not found
- many comment and commit comment improvements
- error out if extraopts includes options to set the sector-size in wks
files
- patch 2 (add ufs class) was dropped
- patches 3 and 4 were reversed (move/save wks files before removing the
rest of wic from oe-core)
For the patch sets up to and including v5:
For the standalone patch set:
v1: an RFC patchset was sent out, split up into small patches for easy
review
v2: add wic utility to list of native dependencies of
image_types_wic.bbclass
v3: squash all commits together to apply atomically
v4: (does not exist)
v5: rebase on latest master
split commits back out acknowledging any bisection that lands
between them will fail
combine with sector-size patch
For the sector-size patch:
v1: initial patch set
v2: add Mark as co-author of ufs class
try to fix a build warning when not using wic
v3: actually fix warning when not using wic
v4: deprecate, but allow, WIC_SECTOR_SIZE to continue to be used to set
the sector-size both from config files and the environment
warn when both are used, but prefer cmdline value
change partition type of sample wks to gpt
v5: fix a bug where WIC_SECTOR_SIZE is not given anywhere
combine with standalone patch set
Trevor Woerner (9):
wic: re-implement sector-size support
wic: move sample *wks files
wic: move to standalone repository
wic: add recipe
oe-selftest/cases/wic.py: update WicTestCase
oe-selftest/cases/wic.py: oe-selftest -r wic.CLITests -> PASS
oe-selftest/cases/wic.py: oe-selftest -r wic.ModifyTests -> PASS
oe-selftest/cases/wic.py: oe-selftest -r wic.Wic -> PASS
oe-selftest/cases/wic.py: oe-selftest -r wic.Wic2 -> PASS
meta/classes-recipe/image_types_wic.bbclass | 6 +-
meta/conf/distro/include/maintainers.inc | 3 +-
meta/lib/oeqa/selftest/cases/wic.py | 294 ++--
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 | 710 ----------
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 | 146 --
.../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, 165 insertions(+), 7594 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
next reply other threads:[~2026-02-25 7:49 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-25 7:49 Trevor Woerner [this message]
2026-02-25 7:49 ` [PATCH v6 1/9] wic: re-implement sector-size support Trevor Woerner
2026-02-25 7:49 ` [PATCH v6 2/9] wic: move sample *wks files Trevor Woerner
2026-02-25 7:49 ` [PATCH v6 3/9] wic: move to standalone repository Trevor Woerner
2026-02-25 7:49 ` [PATCH v6 4/9] wic: add recipe Trevor Woerner
2026-02-25 7:49 ` [PATCH v6 5/9] oe-selftest/cases/wic.py: update WicTestCase Trevor Woerner
2026-02-25 7:49 ` [PATCH v6 6/9] oe-selftest/cases/wic.py: oe-selftest -r wic.CLITests -> PASS Trevor Woerner
2026-02-25 7:49 ` [PATCH v6 7/9] oe-selftest/cases/wic.py: oe-selftest -r wic.ModifyTests " Trevor Woerner
2026-02-25 7:49 ` [PATCH v6 8/9] oe-selftest/cases/wic.py: oe-selftest -r wic.Wic " Trevor Woerner
2026-02-25 7:49 ` [PATCH v6 9/9] oe-selftest/cases/wic.py: oe-selftest -r wic.Wic2 " Trevor Woerner
2026-02-25 10:34 ` [OE-core] [PATCH v6 0/9] standalone wic Mathieu Dubois-Briand
2026-02-25 12:22 ` Trevor Woerner
2026-02-26 17:50 ` Mathieu Dubois-Briand
2026-02-26 19:27 ` Trevor Woerner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260225074931.1661345-1-twoerner@gmail.com \
--to=twoerner@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox