]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commit
kernel-fitimage: re-write its code in Python
authorAdrian Freihofer <adrian.freihofer@siemens.com>
Tue, 3 Jun 2025 08:23:28 +0000 (10:23 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 5 Jun 2025 10:01:24 +0000 (11:01 +0100)
commit6b513a530fcc6d99463fd824bb7208043f59414b
treef6475328302625a07dc8d023a45b9461486289b1
parent622c446c7c6139ed12c2fa2d9cffa108a85f4390
kernel-fitimage: re-write its code in Python

Rewrite the kernel-fitimage.bbclass file in Python. This allows the
reuse of the new fitimage Python library and a clear alignment of the
two implementations.

Actually, the motivation for an implementation in Python was different.
During the transition from the kernel-fitimage.bbclass to the new
linux-yocto-fitimage.bb, the existing shell code was rewritten in Python
so that the fitimage.py library could be extracted. The new
kernel-fit-image.bbclass and linux-yocto-fitimage.bb were then developed
on this basis.
This approach makes it possible to run the same tests for all different
implementations:
- kernel-fitimage.bbclass in Shell
- kernel-fitimage.bbclass in Python
- linux-yocto-fitimage.bb

Changing the commit order now enables a smooth transition. The two
implementations can coexist. Maintenance and testing should be feasible
for a few months with reasonable effort as they share most of the code.
But of course, the goal is to remove the kernel-fitimage.bbclass as soon
as possible.

This commit opens the path for different strategies going forward:
- Just replace the old implementations with the new one and ignoring
  this commit.
- Add the new implementation and keep the old implementation without any
  change.
- Add the new implementation and this commit and support the old
  architecture sharing most of the code with the new architecture and
  implementatiion.

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes-recipe/kernel-fitimage.bbclass
meta/classes-recipe/kernel-uboot.bbclass