* [PATCH 00/27] Use more classes!
@ 2025-11-03 11:51 'Jan Kiszka' via isar-users
  2025-11-03 11:51 ` [PATCH 01/27] linux-custom: Drop redundant template inheritance 'Jan Kiszka' via isar-users
                   ` (26 more replies)
  0 siblings, 27 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:51 UTC (permalink / raw)
  To: isar-users; +Cc: Anton Mikanovich
As there was no feedback on [1], I interpreted it as an OK. So here
comes a full refactoring of our classes folders according to [2] and a
conversion of all recipe helper includes into classes (majority of the
changes).
There are some extra changes to the barebox include/class, but my
impression is that this one is still broken, lacking the machine in its
target name, just like u-boot and other machine-specific packages have.
But I don't have any barebox cases around and lack insights into how it
is build, so I didn't go into details here.
Jan
PS: Patch stats are misleading. This is copying things around and then
changing the original files to stubs. It is not eliminating code, is is
actually adding a bit as long as we carry the transitional stubs.
[1] https://groups.google.com/g/isar-users/c/ggT6EpeRy-0
[2] https://docs.yoctoproject.org/bitbake/bitbake-user-manual/bitbake-user-manual-intro.html#class-types
CC: Anton Mikanovich <amikan@ilbers.de>
Jan Kiszka (27):
  linux-custom: Drop redundant template inheritance
  meta: Move INHERIT'ed classes into classes-global
  meta: Move recipe-pulled classes into classes-recipe
  meta-isar: Move recipe-pulled classes into classes-recipe
  linux-custom: Migrate to a bbclass
  meta-isar: Switch to linux-kernel class
  linux-module: Migrate to a bbclasss
  meta-isar: Switch to linux-module class
  kselftest: Migrate to a bbclass
  meta-isar: Switch to kselftest class
  u-boot-custom: Migrate to a bbclass
  meta-isar: Switch to u-boot class
  optee-os[-tadevkit]-custom: Migrate to bbclass'es
  meta-isar: Switch to optee-os[-tadevkit] classes
  optee-client: Migrate to a bbclass
  meta-isar: Switch to optee-client class
  trusted-firmware-a: Migrate to a bbclass
  meta-isar: Switch to trusted-firmware-a class
  barebox: Add SPDX license identifiers
  barebox: Move inherit dpkg into common .inc
  barebox: Migrate to a bbclass
  meta-isar: Switch to barebox class
  initramfs-hook: Migrate to a bbclass
  meta[-isar]: Switch to initramfs-hook class
  container-loader: Migrate to bbclass'es
  meta-isar: Switch to {docker,podman}-loader classes
  RECIPES-API-CHANGELOG: Document include to class conversion
 RECIPE-API-CHANGELOG.md                       |  32 ++
 doc/technical_overview.md                     |   8 +-
 doc/user_manual.md                            |  19 +-
 .../installer-add-rootfs.bbclass              |   0
 .../target-bootstrapper.bbclass               |   0
 .../ubi-ubifs-img.bbclass                     |   0
 .../prebuilt-docker-img_0.1.bb                |   4 +-
 .../prebuilt-podman-img_0.1.bb                |   4 +-
 .../recipes-bsp/barebox/barebox_2024.05.0.bb  |   7 +-
 .../optee-client-stm32mp15x_3.21.0.bb         |   4 +-
 .../optee-os/optee-os-beagleplay_4.0.0.bb     |   2 +-
 .../optee-os/optee-os-stm32mp15x_3.21.0.bb    |   3 +-
 .../optee-os-tadevkit-stm32mp15x_3.21.0.bb    |   3 +-
 .../trusted-firmware-a-beagleplay_2.10.bb     |   4 +-
 .../trusted-firmware-a-stm32mp15x_2.4.bb      |   4 +-
 .../recipes-bsp/u-boot/u-boot-2020.10.inc     |   4 +-
 .../u-boot/u-boot-beagleplay_2024.01.bb       |   4 +-
 .../u-boot-starfive-visionfive2_2024.01.bb    |   4 +-
 .../initramfs-isar-example-hook_0.1.bb        |   2 +-
 .../example-module/example-module.bb          |   2 +-
 .../kselftest/kselftest_5.6.13.bb             |   3 +-
 .../linux/linux-cip_4.4.166-cip29.bb          |   2 +-
 .../linux/linux-mainline_6.6.11.bb            |   2 +-
 .../linux-starfive_6.6.20-visionfive2.bb      |   2 +-
 meta/{classes => classes-global}/base.bbclass |   0
 .../buildstats.bbclass                        |   0
 .../isar-events.bbclass                       |   0
 .../{classes => classes-global}/lists.bbclass |   0
 .../logging.bbclass                           |   0
 .../sstate.bbclass                            |   0
 .../template.bbclass                          |   0
 .../barebox.bbclass}                          |   7 +-
 .../bootstrap.bbclass                         |   0
 .../compat.bbclass                            |   0
 .../container-loader.bbclass}                 |   5 +-
 .../crossvars.bbclass                         |   0
 .../customization-base.bbclass                |   0
 .../deb-dl-dir.bbclass                        |   0
 .../debianize.bbclass                         |   0
 .../docker-loader.bbclass}                    |   4 +-
 .../dpkg-base.bbclass                         |   0
 .../dpkg-customization.bbclass                |   0
 .../dpkg-gbp.bbclass                          |   0
 .../dpkg-prebuilt.bbclass                     |   0
 .../dpkg-raw.bbclass                          |   0
 .../dpkg-source.bbclass                       |   0
 meta/{classes => classes-recipe}/dpkg.bbclass |   0
 .../essential.bbclass                         |   0
 .../features_check.bbclass                    |   0
 .../image-account-extension.bbclass           |   0
 .../image-customizations.bbclass              |   0
 .../image-locales-extension.bbclass           |   0
 .../image-postproc-extension.bbclass          |   0
 .../image-tools-extension.bbclass             |   0
 .../{classes => classes-recipe}/image.bbclass |   0
 .../imagetypes.bbclass                        |   0
 .../imagetypes_container.bbclass              |   0
 .../imagetypes_vm.bbclass                     |   0
 .../imagetypes_wic.bbclass                    |   0
 .../initramfs-hook.bbclass}                   |   5 +-
 .../initramfs.bbclass                         |   0
 .../kbuildtarget.bbclass                      |   0
 .../kselftest.bbclass}                        |   5 +-
 .../linux-kernel.bbclass}                     |   3 +-
 .../linux-module.bbclass}                     |   3 +-
 .../multiarch.bbclass                         |   0
 .../native.bbclass                            |   0
 .../opensbi.bbclass                           |   0
 .../optee-client.bbclass}                     |   3 +-
 .../optee-os-base.bbclass}                    |   3 +-
 .../optee-os-tadevkit.bbclass}                |   2 +-
 .../optee-os.bbclass}                         |   4 +-
 .../{classes => classes-recipe}/patch.bbclass |   0
 .../per-kernel.bbclass                        |   0
 .../podman-loader.bbclass}                    |   4 +-
 .../repository.bbclass                        |   0
 .../rootfs-add-files.bbclass                  |   0
 .../rootfs.bbclass                            |   0
 .../sbuild.bbclass                            |   0
 meta/{classes => classes-recipe}/sdk.bbclass  |   0
 .../squashfs.bbclass                          |   0
 .../trusted-firmware-a.bbclass}               |   3 +-
 .../u-boot.bbclass}                           |   3 +-
 meta/recipes-bsp/barebox/barebox.inc          |  60 +---
 .../optee-client/optee-client-custom.inc      |  40 +--
 meta/recipes-bsp/optee-os/optee-os-custom.inc |  19 +-
 .../optee-os/optee-os-tadevkit-custom.inc     |  25 +-
 .../trusted-firmware-a-custom.inc             |  38 +--
 meta/recipes-bsp/u-boot/u-boot-custom.inc     |  74 +---
 .../initramfs-fsck-ext4-hook_0.3.bb           |   4 +-
 .../recipes-initramfs/initramfs-hook/hook.inc |  82 +----
 .../initramfs-tee-ftpm-hook_0.3.bb            |   2 +-
 .../initramfs-tee-supplicant-hook_0.2.bb      |   4 +-
 meta/recipes-kernel/kselftest/kselftest.inc   |  52 +--
 meta/recipes-kernel/linux-module/module.inc   |  85 +----
 meta/recipes-kernel/linux/linux-custom.inc    | 317 +-----------------
 .../container-loader/docker-loader.inc        |  13 +-
 .../container-loader/podman-loader.inc        |  13 +-
 testsuite/citest.py                           |   2 +-
 .../unittests/test_image_account_extension.py |   2 +-
 100 files changed, 190 insertions(+), 815 deletions(-)
 rename meta-isar/{classes => classes-recipe}/installer-add-rootfs.bbclass (100%)
 rename meta-isar/{classes => classes-recipe}/target-bootstrapper.bbclass (100%)
 rename meta-isar/{classes => classes-recipe}/ubi-ubifs-img.bbclass (100%)
 rename meta/{classes => classes-global}/base.bbclass (100%)
 rename meta/{classes => classes-global}/buildstats.bbclass (100%)
 rename meta/{classes => classes-global}/isar-events.bbclass (100%)
 rename meta/{classes => classes-global}/lists.bbclass (100%)
 rename meta/{classes => classes-global}/logging.bbclass (100%)
 rename meta/{classes => classes-global}/sstate.bbclass (100%)
 rename meta/{classes => classes-global}/template.bbclass (100%)
 copy meta/{recipes-bsp/barebox/barebox.inc => classes-recipe/barebox.bbclass} (93%)
 rename meta/{classes => classes-recipe}/bootstrap.bbclass (100%)
 rename meta/{classes => classes-recipe}/compat.bbclass (100%)
 rename meta/{recipes-support/container-loader/container-loader.inc => classes-recipe/container-loader.bbclass} (94%)
 rename meta/{classes => classes-recipe}/crossvars.bbclass (100%)
 rename meta/{classes => classes-recipe}/customization-base.bbclass (100%)
 rename meta/{classes => classes-recipe}/deb-dl-dir.bbclass (100%)
 rename meta/{classes => classes-recipe}/debianize.bbclass (100%)
 copy meta/{recipes-support/container-loader/docker-loader.inc => classes-recipe/docker-loader.bbclass} (70%)
 rename meta/{classes => classes-recipe}/dpkg-base.bbclass (100%)
 rename meta/{classes => classes-recipe}/dpkg-customization.bbclass (100%)
 rename meta/{classes => classes-recipe}/dpkg-gbp.bbclass (100%)
 rename meta/{classes => classes-recipe}/dpkg-prebuilt.bbclass (100%)
 rename meta/{classes => classes-recipe}/dpkg-raw.bbclass (100%)
 rename meta/{classes => classes-recipe}/dpkg-source.bbclass (100%)
 rename meta/{classes => classes-recipe}/dpkg.bbclass (100%)
 rename meta/{classes => classes-recipe}/essential.bbclass (100%)
 rename meta/{classes => classes-recipe}/features_check.bbclass (100%)
 rename meta/{classes => classes-recipe}/image-account-extension.bbclass (100%)
 rename meta/{classes => classes-recipe}/image-customizations.bbclass (100%)
 rename meta/{classes => classes-recipe}/image-locales-extension.bbclass (100%)
 rename meta/{classes => classes-recipe}/image-postproc-extension.bbclass (100%)
 rename meta/{classes => classes-recipe}/image-tools-extension.bbclass (100%)
 rename meta/{classes => classes-recipe}/image.bbclass (100%)
 rename meta/{classes => classes-recipe}/imagetypes.bbclass (100%)
 rename meta/{classes => classes-recipe}/imagetypes_container.bbclass (100%)
 rename meta/{classes => classes-recipe}/imagetypes_vm.bbclass (100%)
 rename meta/{classes => classes-recipe}/imagetypes_wic.bbclass (100%)
 copy meta/{recipes-initramfs/initramfs-hook/hook.inc => classes-recipe/initramfs-hook.bbclass} (94%)
 rename meta/{classes => classes-recipe}/initramfs.bbclass (100%)
 rename meta/{classes => classes-recipe}/kbuildtarget.bbclass (100%)
 copy meta/{recipes-kernel/kselftest/kselftest.inc => classes-recipe/kselftest.bbclass} (93%)
 copy meta/{recipes-kernel/linux/linux-custom.inc => classes-recipe/linux-kernel.bbclass} (99%)
 copy meta/{recipes-kernel/linux-module/module.inc => classes-recipe/linux-module.bbclass} (97%)
 rename meta/{classes => classes-recipe}/multiarch.bbclass (100%)
 rename meta/{classes => classes-recipe}/native.bbclass (100%)
 rename meta/{classes => classes-recipe}/opensbi.bbclass (100%)
 copy meta/{recipes-bsp/optee-client/optee-client-custom.inc => classes-recipe/optee-client.bbclass} (93%)
 rename meta/{recipes-bsp/optee-os/optee-os.inc => classes-recipe/optee-os-base.bbclass} (92%)
 copy meta/{recipes-bsp/optee-os/optee-os-tadevkit-custom.inc => classes-recipe/optee-os-tadevkit.bbclass} (97%)
 copy meta/{recipes-bsp/optee-os/optee-os-custom.inc => classes-recipe/optee-os.bbclass} (88%)
 rename meta/{classes => classes-recipe}/patch.bbclass (100%)
 rename meta/{classes => classes-recipe}/per-kernel.bbclass (100%)
 copy meta/{recipes-support/container-loader/podman-loader.inc => classes-recipe/podman-loader.bbclass} (68%)
 rename meta/{classes => classes-recipe}/repository.bbclass (100%)
 rename meta/{classes => classes-recipe}/rootfs-add-files.bbclass (100%)
 rename meta/{classes => classes-recipe}/rootfs.bbclass (100%)
 rename meta/{classes => classes-recipe}/sbuild.bbclass (100%)
 rename meta/{classes => classes-recipe}/sdk.bbclass (100%)
 rename meta/{classes => classes-recipe}/squashfs.bbclass (100%)
 copy meta/{recipes-bsp/trusted-firmware-a/trusted-firmware-a-custom.inc => classes-recipe/trusted-firmware-a.bbclass} (92%)
 copy meta/{recipes-bsp/u-boot/u-boot-custom.inc => classes-recipe/u-boot.bbclass} (96%)
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/cover.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 01/27] linux-custom: Drop redundant template inheritance
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
@ 2025-11-03 11:51 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:51 ` [PATCH 02/27] meta: Move INHERIT'ed classes into classes-global 'Jan Kiszka' via isar-users
                   ` (25 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:51 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
Already inherited by the base class.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 meta/recipes-kernel/linux/linux-custom.inc | 1 -
 1 file changed, 1 deletion(-)
diff --git a/meta/recipes-kernel/linux/linux-custom.inc b/meta/recipes-kernel/linux/linux-custom.inc
index f2892921..601908db 100644
--- a/meta/recipes-kernel/linux/linux-custom.inc
+++ b/meta/recipes-kernel/linux/linux-custom.inc
@@ -94,7 +94,6 @@ TEMPLATE_VARS += "                \
 "
 
 inherit dpkg
-inherit template
 inherit kbuildtarget
 
 # Add custom cflags to the kernel build
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/687a5515b924bba4a268f5981275b970200d80dc.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 02/27] meta: Move INHERIT'ed classes into classes-global
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
  2025-11-03 11:51 ` [PATCH 01/27] linux-custom: Drop redundant template inheritance 'Jan Kiszka' via isar-users
@ 2025-11-03 11:51 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:51 ` [PATCH 03/27] meta: Move recipe-pulled classes into classes-recipe 'Jan Kiszka' via isar-users
                   ` (24 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:51 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
This follows the class types description of yocto [1] and is aligned to
its own layout where we have similar classes. One deviation from yocto
is patch.bbclass which we inherit explicitly from dpkg-base.
[1] https://docs.yoctoproject.org/bitbake/bitbake-user-manual/bitbake-user-manual-intro.html#class-types
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 meta/{classes => classes-global}/base.bbclass        | 0
 meta/{classes => classes-global}/buildstats.bbclass  | 0
 meta/{classes => classes-global}/isar-events.bbclass | 0
 meta/{classes => classes-global}/lists.bbclass       | 0
 meta/{classes => classes-global}/logging.bbclass     | 0
 meta/{classes => classes-global}/sstate.bbclass      | 0
 meta/{classes => classes-global}/template.bbclass    | 0
 7 files changed, 0 insertions(+), 0 deletions(-)
 rename meta/{classes => classes-global}/base.bbclass (100%)
 rename meta/{classes => classes-global}/buildstats.bbclass (100%)
 rename meta/{classes => classes-global}/isar-events.bbclass (100%)
 rename meta/{classes => classes-global}/lists.bbclass (100%)
 rename meta/{classes => classes-global}/logging.bbclass (100%)
 rename meta/{classes => classes-global}/sstate.bbclass (100%)
 rename meta/{classes => classes-global}/template.bbclass (100%)
diff --git a/meta/classes/base.bbclass b/meta/classes-global/base.bbclass
similarity index 100%
rename from meta/classes/base.bbclass
rename to meta/classes-global/base.bbclass
diff --git a/meta/classes/buildstats.bbclass b/meta/classes-global/buildstats.bbclass
similarity index 100%
rename from meta/classes/buildstats.bbclass
rename to meta/classes-global/buildstats.bbclass
diff --git a/meta/classes/isar-events.bbclass b/meta/classes-global/isar-events.bbclass
similarity index 100%
rename from meta/classes/isar-events.bbclass
rename to meta/classes-global/isar-events.bbclass
diff --git a/meta/classes/lists.bbclass b/meta/classes-global/lists.bbclass
similarity index 100%
rename from meta/classes/lists.bbclass
rename to meta/classes-global/lists.bbclass
diff --git a/meta/classes/logging.bbclass b/meta/classes-global/logging.bbclass
similarity index 100%
rename from meta/classes/logging.bbclass
rename to meta/classes-global/logging.bbclass
diff --git a/meta/classes/sstate.bbclass b/meta/classes-global/sstate.bbclass
similarity index 100%
rename from meta/classes/sstate.bbclass
rename to meta/classes-global/sstate.bbclass
diff --git a/meta/classes/template.bbclass b/meta/classes-global/template.bbclass
similarity index 100%
rename from meta/classes/template.bbclass
rename to meta/classes-global/template.bbclass
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/daa38e8f3ada197693c58db93444aae78a6b8630.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 03/27] meta: Move recipe-pulled classes into classes-recipe
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
  2025-11-03 11:51 ` [PATCH 01/27] linux-custom: Drop redundant template inheritance 'Jan Kiszka' via isar-users
  2025-11-03 11:51 ` [PATCH 02/27] meta: Move INHERIT'ed classes into classes-global 'Jan Kiszka' via isar-users
@ 2025-11-03 11:51 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:51 ` [PATCH 04/27] meta-isar: " 'Jan Kiszka' via isar-users
                   ` (23 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:51 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
This follows the class types description of yocto [1]. The only class
remaining in the classes dir is terminal.bbclass, just like in yocto.
[1] https://docs.yoctoproject.org/bitbake/bitbake-user-manual/bitbake-user-manual-intro.html#class-types
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 doc/technical_overview.md                                 | 8 ++++----
 doc/user_manual.md                                        | 2 +-
 meta/{classes => classes-recipe}/bootstrap.bbclass        | 0
 meta/{classes => classes-recipe}/compat.bbclass           | 0
 meta/{classes => classes-recipe}/crossvars.bbclass        | 0
 .../customization-base.bbclass                            | 0
 meta/{classes => classes-recipe}/deb-dl-dir.bbclass       | 0
 meta/{classes => classes-recipe}/debianize.bbclass        | 0
 meta/{classes => classes-recipe}/dpkg-base.bbclass        | 0
 .../dpkg-customization.bbclass                            | 0
 meta/{classes => classes-recipe}/dpkg-gbp.bbclass         | 0
 meta/{classes => classes-recipe}/dpkg-prebuilt.bbclass    | 0
 meta/{classes => classes-recipe}/dpkg-raw.bbclass         | 0
 meta/{classes => classes-recipe}/dpkg-source.bbclass      | 0
 meta/{classes => classes-recipe}/dpkg.bbclass             | 0
 meta/{classes => classes-recipe}/essential.bbclass        | 0
 meta/{classes => classes-recipe}/features_check.bbclass   | 0
 .../image-account-extension.bbclass                       | 0
 .../image-customizations.bbclass                          | 0
 .../image-locales-extension.bbclass                       | 0
 .../image-postproc-extension.bbclass                      | 0
 .../image-tools-extension.bbclass                         | 0
 meta/{classes => classes-recipe}/image.bbclass            | 0
 meta/{classes => classes-recipe}/imagetypes.bbclass       | 0
 .../imagetypes_container.bbclass                          | 0
 meta/{classes => classes-recipe}/imagetypes_vm.bbclass    | 0
 meta/{classes => classes-recipe}/imagetypes_wic.bbclass   | 0
 meta/{classes => classes-recipe}/initramfs.bbclass        | 0
 meta/{classes => classes-recipe}/kbuildtarget.bbclass     | 0
 meta/{classes => classes-recipe}/multiarch.bbclass        | 0
 meta/{classes => classes-recipe}/native.bbclass           | 0
 meta/{classes => classes-recipe}/opensbi.bbclass          | 0
 meta/{classes => classes-recipe}/patch.bbclass            | 0
 meta/{classes => classes-recipe}/per-kernel.bbclass       | 0
 meta/{classes => classes-recipe}/repository.bbclass       | 0
 meta/{classes => classes-recipe}/rootfs-add-files.bbclass | 0
 meta/{classes => classes-recipe}/rootfs.bbclass           | 0
 meta/{classes => classes-recipe}/sbuild.bbclass           | 0
 meta/{classes => classes-recipe}/sdk.bbclass              | 0
 meta/{classes => classes-recipe}/squashfs.bbclass         | 0
 testsuite/citest.py                                       | 2 +-
 testsuite/unittests/test_image_account_extension.py       | 2 +-
 42 files changed, 7 insertions(+), 7 deletions(-)
 rename meta/{classes => classes-recipe}/bootstrap.bbclass (100%)
 rename meta/{classes => classes-recipe}/compat.bbclass (100%)
 rename meta/{classes => classes-recipe}/crossvars.bbclass (100%)
 rename meta/{classes => classes-recipe}/customization-base.bbclass (100%)
 rename meta/{classes => classes-recipe}/deb-dl-dir.bbclass (100%)
 rename meta/{classes => classes-recipe}/debianize.bbclass (100%)
 rename meta/{classes => classes-recipe}/dpkg-base.bbclass (100%)
 rename meta/{classes => classes-recipe}/dpkg-customization.bbclass (100%)
 rename meta/{classes => classes-recipe}/dpkg-gbp.bbclass (100%)
 rename meta/{classes => classes-recipe}/dpkg-prebuilt.bbclass (100%)
 rename meta/{classes => classes-recipe}/dpkg-raw.bbclass (100%)
 rename meta/{classes => classes-recipe}/dpkg-source.bbclass (100%)
 rename meta/{classes => classes-recipe}/dpkg.bbclass (100%)
 rename meta/{classes => classes-recipe}/essential.bbclass (100%)
 rename meta/{classes => classes-recipe}/features_check.bbclass (100%)
 rename meta/{classes => classes-recipe}/image-account-extension.bbclass (100%)
 rename meta/{classes => classes-recipe}/image-customizations.bbclass (100%)
 rename meta/{classes => classes-recipe}/image-locales-extension.bbclass (100%)
 rename meta/{classes => classes-recipe}/image-postproc-extension.bbclass (100%)
 rename meta/{classes => classes-recipe}/image-tools-extension.bbclass (100%)
 rename meta/{classes => classes-recipe}/image.bbclass (100%)
 rename meta/{classes => classes-recipe}/imagetypes.bbclass (100%)
 rename meta/{classes => classes-recipe}/imagetypes_container.bbclass (100%)
 rename meta/{classes => classes-recipe}/imagetypes_vm.bbclass (100%)
 rename meta/{classes => classes-recipe}/imagetypes_wic.bbclass (100%)
 rename meta/{classes => classes-recipe}/initramfs.bbclass (100%)
 rename meta/{classes => classes-recipe}/kbuildtarget.bbclass (100%)
 rename meta/{classes => classes-recipe}/multiarch.bbclass (100%)
 rename meta/{classes => classes-recipe}/native.bbclass (100%)
 rename meta/{classes => classes-recipe}/opensbi.bbclass (100%)
 rename meta/{classes => classes-recipe}/patch.bbclass (100%)
 rename meta/{classes => classes-recipe}/per-kernel.bbclass (100%)
 rename meta/{classes => classes-recipe}/repository.bbclass (100%)
 rename meta/{classes => classes-recipe}/rootfs-add-files.bbclass (100%)
 rename meta/{classes => classes-recipe}/rootfs.bbclass (100%)
 rename meta/{classes => classes-recipe}/sbuild.bbclass (100%)
 rename meta/{classes => classes-recipe}/sdk.bbclass (100%)
 rename meta/{classes => classes-recipe}/squashfs.bbclass (100%)
diff --git a/doc/technical_overview.md b/doc/technical_overview.md
index 7d045955..23c2b90d 100644
--- a/doc/technical_overview.md
+++ b/doc/technical_overview.md
@@ -183,12 +183,12 @@ Isar image that can be customized according to the user requirements:
 Isar provides the possibility to build Debian packages from sources. This
 feature works with Debian-like source packages, i.e. the source code tree
 should contain debian folder. This build process is implemented in
-`meta/classes/dpkg.bbclass`. Moreover this process is common for both: native
-and cross compilation modes.
+`meta/classes-recipe/dpkg.bbclass`. Moreover this process is common for both:
+native and cross compilation modes.
 
 Another way of creating Debian packages is implemented in
-`meta/classes/dpkg-raw.bbclass`. This class can be used for customizations that
-are not based on source code that should become a package.
+`meta/classes-recipe/dpkg-raw.bbclass`. This class can be used for
+customizations that are not based on source code that should become a package.
 
 Both consist of the following steps:
 
diff --git a/doc/user_manual.md b/doc/user_manual.md
index ecb1fb2c..b577f76c 100644
--- a/doc/user_manual.md
+++ b/doc/user_manual.md
@@ -964,7 +964,7 @@ If it does not fully fit your needs, it probably gives you a good starting point
 
 The shell function `deb_debianize` creates a `debian` folder. But it will not overwrite files that already are in WORKDIR. So you can either just call it to fully generate the `debian` folder. Or you combine it with pre-existing parts.
 
-Have a look at meta-isar/recipes-app/samefile/samefile_2.14.bb and meta/classes/debianize.bbclass for an example and the implementation.
+Have a look at `meta-isar/recipes-app/samefile/samefile_2.14.bb` and `meta/classes-recipe/debianize.bbclass` for an example and the implementation.
 
 Here ISAR's debianize class generates/adds the following files under debian directory:
 
diff --git a/meta/classes/bootstrap.bbclass b/meta/classes-recipe/bootstrap.bbclass
similarity index 100%
rename from meta/classes/bootstrap.bbclass
rename to meta/classes-recipe/bootstrap.bbclass
diff --git a/meta/classes/compat.bbclass b/meta/classes-recipe/compat.bbclass
similarity index 100%
rename from meta/classes/compat.bbclass
rename to meta/classes-recipe/compat.bbclass
diff --git a/meta/classes/crossvars.bbclass b/meta/classes-recipe/crossvars.bbclass
similarity index 100%
rename from meta/classes/crossvars.bbclass
rename to meta/classes-recipe/crossvars.bbclass
diff --git a/meta/classes/customization-base.bbclass b/meta/classes-recipe/customization-base.bbclass
similarity index 100%
rename from meta/classes/customization-base.bbclass
rename to meta/classes-recipe/customization-base.bbclass
diff --git a/meta/classes/deb-dl-dir.bbclass b/meta/classes-recipe/deb-dl-dir.bbclass
similarity index 100%
rename from meta/classes/deb-dl-dir.bbclass
rename to meta/classes-recipe/deb-dl-dir.bbclass
diff --git a/meta/classes/debianize.bbclass b/meta/classes-recipe/debianize.bbclass
similarity index 100%
rename from meta/classes/debianize.bbclass
rename to meta/classes-recipe/debianize.bbclass
diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes-recipe/dpkg-base.bbclass
similarity index 100%
rename from meta/classes/dpkg-base.bbclass
rename to meta/classes-recipe/dpkg-base.bbclass
diff --git a/meta/classes/dpkg-customization.bbclass b/meta/classes-recipe/dpkg-customization.bbclass
similarity index 100%
rename from meta/classes/dpkg-customization.bbclass
rename to meta/classes-recipe/dpkg-customization.bbclass
diff --git a/meta/classes/dpkg-gbp.bbclass b/meta/classes-recipe/dpkg-gbp.bbclass
similarity index 100%
rename from meta/classes/dpkg-gbp.bbclass
rename to meta/classes-recipe/dpkg-gbp.bbclass
diff --git a/meta/classes/dpkg-prebuilt.bbclass b/meta/classes-recipe/dpkg-prebuilt.bbclass
similarity index 100%
rename from meta/classes/dpkg-prebuilt.bbclass
rename to meta/classes-recipe/dpkg-prebuilt.bbclass
diff --git a/meta/classes/dpkg-raw.bbclass b/meta/classes-recipe/dpkg-raw.bbclass
similarity index 100%
rename from meta/classes/dpkg-raw.bbclass
rename to meta/classes-recipe/dpkg-raw.bbclass
diff --git a/meta/classes/dpkg-source.bbclass b/meta/classes-recipe/dpkg-source.bbclass
similarity index 100%
rename from meta/classes/dpkg-source.bbclass
rename to meta/classes-recipe/dpkg-source.bbclass
diff --git a/meta/classes/dpkg.bbclass b/meta/classes-recipe/dpkg.bbclass
similarity index 100%
rename from meta/classes/dpkg.bbclass
rename to meta/classes-recipe/dpkg.bbclass
diff --git a/meta/classes/essential.bbclass b/meta/classes-recipe/essential.bbclass
similarity index 100%
rename from meta/classes/essential.bbclass
rename to meta/classes-recipe/essential.bbclass
diff --git a/meta/classes/features_check.bbclass b/meta/classes-recipe/features_check.bbclass
similarity index 100%
rename from meta/classes/features_check.bbclass
rename to meta/classes-recipe/features_check.bbclass
diff --git a/meta/classes/image-account-extension.bbclass b/meta/classes-recipe/image-account-extension.bbclass
similarity index 100%
rename from meta/classes/image-account-extension.bbclass
rename to meta/classes-recipe/image-account-extension.bbclass
diff --git a/meta/classes/image-customizations.bbclass b/meta/classes-recipe/image-customizations.bbclass
similarity index 100%
rename from meta/classes/image-customizations.bbclass
rename to meta/classes-recipe/image-customizations.bbclass
diff --git a/meta/classes/image-locales-extension.bbclass b/meta/classes-recipe/image-locales-extension.bbclass
similarity index 100%
rename from meta/classes/image-locales-extension.bbclass
rename to meta/classes-recipe/image-locales-extension.bbclass
diff --git a/meta/classes/image-postproc-extension.bbclass b/meta/classes-recipe/image-postproc-extension.bbclass
similarity index 100%
rename from meta/classes/image-postproc-extension.bbclass
rename to meta/classes-recipe/image-postproc-extension.bbclass
diff --git a/meta/classes/image-tools-extension.bbclass b/meta/classes-recipe/image-tools-extension.bbclass
similarity index 100%
rename from meta/classes/image-tools-extension.bbclass
rename to meta/classes-recipe/image-tools-extension.bbclass
diff --git a/meta/classes/image.bbclass b/meta/classes-recipe/image.bbclass
similarity index 100%
rename from meta/classes/image.bbclass
rename to meta/classes-recipe/image.bbclass
diff --git a/meta/classes/imagetypes.bbclass b/meta/classes-recipe/imagetypes.bbclass
similarity index 100%
rename from meta/classes/imagetypes.bbclass
rename to meta/classes-recipe/imagetypes.bbclass
diff --git a/meta/classes/imagetypes_container.bbclass b/meta/classes-recipe/imagetypes_container.bbclass
similarity index 100%
rename from meta/classes/imagetypes_container.bbclass
rename to meta/classes-recipe/imagetypes_container.bbclass
diff --git a/meta/classes/imagetypes_vm.bbclass b/meta/classes-recipe/imagetypes_vm.bbclass
similarity index 100%
rename from meta/classes/imagetypes_vm.bbclass
rename to meta/classes-recipe/imagetypes_vm.bbclass
diff --git a/meta/classes/imagetypes_wic.bbclass b/meta/classes-recipe/imagetypes_wic.bbclass
similarity index 100%
rename from meta/classes/imagetypes_wic.bbclass
rename to meta/classes-recipe/imagetypes_wic.bbclass
diff --git a/meta/classes/initramfs.bbclass b/meta/classes-recipe/initramfs.bbclass
similarity index 100%
rename from meta/classes/initramfs.bbclass
rename to meta/classes-recipe/initramfs.bbclass
diff --git a/meta/classes/kbuildtarget.bbclass b/meta/classes-recipe/kbuildtarget.bbclass
similarity index 100%
rename from meta/classes/kbuildtarget.bbclass
rename to meta/classes-recipe/kbuildtarget.bbclass
diff --git a/meta/classes/multiarch.bbclass b/meta/classes-recipe/multiarch.bbclass
similarity index 100%
rename from meta/classes/multiarch.bbclass
rename to meta/classes-recipe/multiarch.bbclass
diff --git a/meta/classes/native.bbclass b/meta/classes-recipe/native.bbclass
similarity index 100%
rename from meta/classes/native.bbclass
rename to meta/classes-recipe/native.bbclass
diff --git a/meta/classes/opensbi.bbclass b/meta/classes-recipe/opensbi.bbclass
similarity index 100%
rename from meta/classes/opensbi.bbclass
rename to meta/classes-recipe/opensbi.bbclass
diff --git a/meta/classes/patch.bbclass b/meta/classes-recipe/patch.bbclass
similarity index 100%
rename from meta/classes/patch.bbclass
rename to meta/classes-recipe/patch.bbclass
diff --git a/meta/classes/per-kernel.bbclass b/meta/classes-recipe/per-kernel.bbclass
similarity index 100%
rename from meta/classes/per-kernel.bbclass
rename to meta/classes-recipe/per-kernel.bbclass
diff --git a/meta/classes/repository.bbclass b/meta/classes-recipe/repository.bbclass
similarity index 100%
rename from meta/classes/repository.bbclass
rename to meta/classes-recipe/repository.bbclass
diff --git a/meta/classes/rootfs-add-files.bbclass b/meta/classes-recipe/rootfs-add-files.bbclass
similarity index 100%
rename from meta/classes/rootfs-add-files.bbclass
rename to meta/classes-recipe/rootfs-add-files.bbclass
diff --git a/meta/classes/rootfs.bbclass b/meta/classes-recipe/rootfs.bbclass
similarity index 100%
rename from meta/classes/rootfs.bbclass
rename to meta/classes-recipe/rootfs.bbclass
diff --git a/meta/classes/sbuild.bbclass b/meta/classes-recipe/sbuild.bbclass
similarity index 100%
rename from meta/classes/sbuild.bbclass
rename to meta/classes-recipe/sbuild.bbclass
diff --git a/meta/classes/sdk.bbclass b/meta/classes-recipe/sdk.bbclass
similarity index 100%
rename from meta/classes/sdk.bbclass
rename to meta/classes-recipe/sdk.bbclass
diff --git a/meta/classes/squashfs.bbclass b/meta/classes-recipe/squashfs.bbclass
similarity index 100%
rename from meta/classes/squashfs.bbclass
rename to meta/classes-recipe/squashfs.bbclass
diff --git a/testsuite/citest.py b/testsuite/citest.py
index a1214e9c..675015af 100755
--- a/testsuite/citest.py
+++ b/testsuite/citest.py
@@ -88,7 +88,7 @@ class DevTest(CIBaseTest):
         self.init()
         layerdir_core = CIUtils.getVars('LAYERDIR_core')
 
-        dpkgbase_file = layerdir_core + '/classes/dpkg-base.bbclass'
+        dpkgbase_file = layerdir_core + '/classes-recipe/dpkg-base.bbclass'
 
         self.backupfile(dpkgbase_file)
         with open(dpkgbase_file, 'a') as file:
diff --git a/testsuite/unittests/test_image_account_extension.py b/testsuite/unittests/test_image_account_extension.py
index 636c2a8b..97d221fd 100644
--- a/testsuite/unittests/test_image_account_extension.py
+++ b/testsuite/unittests/test_image_account_extension.py
@@ -17,7 +17,7 @@ sys.path.append(os.path.join(os.path.dirname(__file__), '../../bitbake/lib'))
 from bb import process
 from bb.data_smart import DataSmart
 
-file_name = 'meta/classes/image-account-extension.bbclass'
+file_name = 'meta/classes-recipe/image-account-extension.bbclass'
 image_create_users = load_function(file_name, 'image_create_users')
 image_create_groups = load_function(file_name, 'image_create_groups')
 
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/235bd1d984b7fc9ddff5ffbd0c7a1c61b4f8096f.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 04/27] meta-isar: Move recipe-pulled classes into classes-recipe
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (2 preceding siblings ...)
  2025-11-03 11:51 ` [PATCH 03/27] meta: Move recipe-pulled classes into classes-recipe 'Jan Kiszka' via isar-users
@ 2025-11-03 11:51 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:51 ` [PATCH 05/27] linux-custom: Migrate to a bbclass 'Jan Kiszka' via isar-users
                   ` (22 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:51 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
This follows the class types description of yocto [1]. This means means
that all classes of this layer are relocated.
[1] https://docs.yoctoproject.org/bitbake/bitbake-user-manual/bitbake-user-manual-intro.html#class-types
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 .../{classes => classes-recipe}/installer-add-rootfs.bbclass      | 0
 meta-isar/{classes => classes-recipe}/target-bootstrapper.bbclass | 0
 meta-isar/{classes => classes-recipe}/ubi-ubifs-img.bbclass       | 0
 3 files changed, 0 insertions(+), 0 deletions(-)
 rename meta-isar/{classes => classes-recipe}/installer-add-rootfs.bbclass (100%)
 rename meta-isar/{classes => classes-recipe}/target-bootstrapper.bbclass (100%)
 rename meta-isar/{classes => classes-recipe}/ubi-ubifs-img.bbclass (100%)
diff --git a/meta-isar/classes/installer-add-rootfs.bbclass b/meta-isar/classes-recipe/installer-add-rootfs.bbclass
similarity index 100%
rename from meta-isar/classes/installer-add-rootfs.bbclass
rename to meta-isar/classes-recipe/installer-add-rootfs.bbclass
diff --git a/meta-isar/classes/target-bootstrapper.bbclass b/meta-isar/classes-recipe/target-bootstrapper.bbclass
similarity index 100%
rename from meta-isar/classes/target-bootstrapper.bbclass
rename to meta-isar/classes-recipe/target-bootstrapper.bbclass
diff --git a/meta-isar/classes/ubi-ubifs-img.bbclass b/meta-isar/classes-recipe/ubi-ubifs-img.bbclass
similarity index 100%
rename from meta-isar/classes/ubi-ubifs-img.bbclass
rename to meta-isar/classes-recipe/ubi-ubifs-img.bbclass
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/7f50b9a7b8505825c89dce65756a3ff46aa11efa.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 05/27] linux-custom: Migrate to a bbclass
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (3 preceding siblings ...)
  2025-11-03 11:51 ` [PATCH 04/27] meta-isar: " 'Jan Kiszka' via isar-users
@ 2025-11-03 11:51 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:51 ` [PATCH 06/27] meta-isar: Switch to linux-kernel class 'Jan Kiszka' via isar-users
                   ` (21 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:51 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
"inherit linux-kernel" is shorter and a more common pattern compared to
OE/yocto. Keep the original .inc file as transitional helper, issuing a
warning when it's used with a migration suggestion.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 .../linux-kernel.bbclass}                     |   2 +-
 meta/recipes-kernel/linux/linux-custom.inc    | 316 +-----------------
 2 files changed, 7 insertions(+), 311 deletions(-)
 copy meta/{recipes-kernel/linux/linux-custom.inc => classes-recipe/linux-kernel.bbclass} (99%)
diff --git a/meta/recipes-kernel/linux/linux-custom.inc b/meta/classes-recipe/linux-kernel.bbclass
similarity index 99%
copy from meta/recipes-kernel/linux/linux-custom.inc
copy to meta/classes-recipe/linux-kernel.bbclass
index 601908db..8bf26f62 100644
--- a/meta/recipes-kernel/linux/linux-custom.inc
+++ b/meta/classes-recipe/linux-kernel.bbclass
@@ -51,7 +51,7 @@ KERNEL_DEFCONFIG ??= ""
 HEADERS_INSTALL_EXTRA ??= ""
 
 # Add our template meta-data to the sources
-FILESPATH:append := ":${FILE_DIRNAME}/files"
+FILESPATH:append = ":${LAYERDIR_core}/recipes-kernel/linux/files"
 SRC_URI += "file://debian"
 
 # Variables and files that make our templates
diff --git a/meta/recipes-kernel/linux/linux-custom.inc b/meta/recipes-kernel/linux/linux-custom.inc
index 601908db..c372ec56 100644
--- a/meta/recipes-kernel/linux/linux-custom.inc
+++ b/meta/recipes-kernel/linux/linux-custom.inc
@@ -1,317 +1,13 @@
-# Custom kernel build
+# Transitional include for linux-kernel.bbclass
 #
 # This software is a part of ISAR.
-# Copyright (c) Siemens AG, 2022
-# Copyright (c) Mentor Graphics, a Siemens business, 2022
+# Copyright (c) Siemens AG, 2025
 #
 # SPDX-License-Identifier: MIT
 
-# Settings that would typically be done from the custom kernel recipe
-# -------------------------------------------------------------------
+inherit linux-kernel
 
-CHANGELOG_V = "${PV}+${PR}"
-DESCRIPTION ?= "Custom kernel"
-MAINTAINER ?= "isar-users <isar-users@googlegroups.com>"
-DISTRIBUTOR ?= "ISAR"
-
-# pinned due to known or possible issues with compat 12
-DEBIAN_COMPAT:buster = "10"
-
-KBUILD_DEPENDS ?= "build-essential:native, \
-                   libelf-dev:native, \
-                   libncurses-dev:native, \
-                   libssl-dev:native, \
-                   bc, \
-                   bison, \
-                   cpio, \
-                   dwarves, \
-                   flex, \
-                   git, \
-                   kmod, \
-                   linux-image-${KERNEL_NAME_PROVIDED}:${DISTRO_ARCH} <kbuild !kernel>, \
-                   rsync,"
-
-KERNEL_DEBIAN_DEPENDS ?= "initramfs-tools | linux-initramfs-tool, \
-                          kmod, \
-                          linux-base (>= 4.3~),"
-
-KERNEL_HEADERS_DEBIAN_DEPENDS ?= ""
-
-KERNEL_LIBC_DEV_ARCH_ALL = "0"
-KERNEL_LIBC_DEV_ARCH_ALL:trixie = "1"
-KERNEL_LIBC_DEV_DEPLOY ?= "0"
-
-# Settings that may be changed on a per distro, machine or layer basis
-# --------------------------------------------------------------------
-
-LINUX_VERSION_EXTENSION ?= ""
-
-KERNEL_DEFCONFIG ??= ""
-
-HEADERS_INSTALL_EXTRA ??= ""
-
-# Add our template meta-data to the sources
-FILESPATH:append := ":${FILE_DIRNAME}/files"
-SRC_URI += "file://debian"
-
-# Variables and files that make our templates
-# -------------------------------------------
-
-TEMPLATE_FILES += "                  \
-    debian/control.tmpl              \
-    debian/isar/build.tmpl           \
-    debian/isar/clean.tmpl           \
-    debian/isar/common.tmpl          \
-    debian/isar/configure.tmpl       \
-    debian/isar/install.tmpl         \
-    debian/isar/version.cfg.tmpl     \
-    debian/linux-image.postinst.tmpl \
-    debian/linux-image.postrm.tmpl   \
-    debian/linux-image.preinst.tmpl  \
-    debian/linux-image.prerm.tmpl    \
-    debian/rules.tmpl                \
-"
-
-TEMPLATE_VARS += "                \
-    KBUILD_DEPENDS                \
-    KERNEL_ARCH                   \
-    KERNEL_DEBIAN_DEPENDS         \
-    KERNEL_BUILD_DIR              \
-    KERNEL_FILE                   \
-    KERNEL_HEADERS_DEBIAN_DEPENDS \
-    KERNEL_LIBC_DEV_ARCH          \
-    LINUX_VERSION_EXTENSION       \
-    KERNEL_NAME_PROVIDED          \
-    KERNEL_CONFIG_FRAGMENTS       \
-    KCFLAGS                       \
-    KAFLAGS                       \
-    DISTRIBUTOR                   \
-    KERNEL_EXTRA_BUILDARGS        \
-    HEADERS_INSTALL_EXTRA         \
-    ISAR_ENABLE_COMPAT_ARCH       \
-    COMPAT_DISTRO_ARCH            \
-    DEBIAN_COMPAT                 \
-"
-
-inherit dpkg
-inherit kbuildtarget
-
-# Add custom cflags to the kernel build
-KCFLAGS ?= "-fdebug-prefix-map=${CURDIR}=."
-KAFLAGS ?= "-fdebug-prefix-map=${CURDIR}=."
-
-# Add extra arguments to the kernel build
-KERNEL_EXTRA_BUILDARGS ??= ""
-
-# Derive name of the kernel packages from the name of this recipe
-KERNEL_NAME_PROVIDED ?= "${@ d.getVar('BPN').partition('linux-')[2]}"
-
-# Determine cross-profile override
-python() {
-    if d.getVar("DISTRO_ARCH") != d.getVar("HOST_ARCH") and bb.utils.to_boolean(d.getVar("ISAR_CROSS_COMPILE")) and "class-native" not in d.getVar("OVERRIDES").split(":"):
-        d.appendVar("OVERRIDES", ":cross-profile")
-}
-
-# Default profiles and provides
-BUILD_PROFILES = "kernel kbuild"
-
-# We only offer the -kbuildtarget variant when actually cross compiling
-BBCLASSEXTEND:append:cross-profile = " kbuildtarget"
-
-# When cross-profile is active:
-# build only kernel (including config) with the default variant of the recipe
-BUILD_PROFILES:cross-profile = "kernel"
-
-# -native: kbuild package for host
-BUILD_PROFILES:class-native = "kbuild"
-RECIPE_PROVIDES:class-native = " \
-    linux-headers-${KERNEL_NAME_PROVIDED} \
-    linux-kbuild-${KERNEL_NAME_PROVIDED}"
-# Use pseudo target to pull in the base variant of the recipe.
-# Will be auto-extended with -native by multiarch.bbclass.
-# Using DEPENDS instead of RDEPENDS to ensure creation of kernel including
-# pregenerated kernel config before host specific linux-kbuild package build
-DEPENDS:class-native += "${BPN}-pseudo"
-
-# -kbuildtarget: kbuild package for target, enforcing non-cross-build
-BUILD_PROFILES:class-kbuildtarget = "kbuild"
-RECIPE_PROVIDES:class-kbuildtarget = " \
-    linux-headers-${KERNEL_NAME_PROVIDED} \
-    linux-kbuild-${KERNEL_NAME_PROVIDED}"
-# Using DEPENDS instead of RDEPENDS to ensure creation of kernel including
-# pregenerated kernel config before target specific linux-kbuild package build
-DEPENDS:class-kbuildtarget = "${BPN}"
-ISAR_CROSS_COMPILE:class-kbuildtarget = "0"
-
-# Make bitbake know we will be producing linux-image and linux-headers packages
-# Also make it know about other packages from control
-RECIPE_PROVIDES = " \
-    linux-image-${KERNEL_NAME_PROVIDED} \
-    linux-headers-${KERNEL_NAME_PROVIDED} \
-    linux-libc-dev \
-    linux-libc-dev-${DISTRO_ARCH}-cross \
-    linux-image-${KERNEL_NAME_PROVIDED}-dbg \
-    linux-kbuild-${KERNEL_NAME_PROVIDED} \
-    ${BPN}-pseudo-native \
-"
-# When cross-profile is active:
-# kbuild package is provided by -native or -kbuildtarget variant. Also headers
-# provisioning moves over to ensure those variants are pulled, although the
-# package itself is still built by the base recipe.
-RECIPE_PROVIDES:remove:cross-profile = " \
-    linux-headers-${KERNEL_NAME_PROVIDED} \
-    linux-kbuild-${KERNEL_NAME_PROVIDED}"
-
-# As the multiarch class will not append -compat to -pseudo-native, we end up
-# with two providers of it. Remove the wrong one.
-RECIPE_PROVIDES:remove:class-compat = "${BPN}-pseudo-native"
-
-# Append headers depends
-HEADERS_DEPENDS = ", linux-kbuild-${KERNEL_NAME_PROVIDED} | linux-kbuild-${KERNEL_NAME_PROVIDED}-${DISTRO_ARCH}-cross"
-KERNEL_HEADERS_DEBIAN_DEPENDS:append = "${HEADERS_DEPENDS}"
-
-# Append provides
-PROVIDES += "${RECIPE_PROVIDES}"
-
-# Append build profiles
-DEB_BUILD_PROFILES += "${BUILD_PROFILES}"
-
-def get_kernel_arch(d):
-    distro_arch = d.getVar("DISTRO_ARCH")
-    if distro_arch in ["amd64", "i386"]:
-        kernel_arch = "x86"
-    elif distro_arch == "arm64":
-        kernel_arch = "arm64"
-    elif distro_arch == "armhf":
-        kernel_arch = "arm"
-    elif distro_arch == "mipsel":
-        kernel_arch = "mips"
-    elif distro_arch == "riscv64":
-        kernel_arch = "riscv"
-    else:
-        kernel_arch = ""
-    return kernel_arch
-
-KERNEL_ARCH ??= "${@get_kernel_arch(d)}"
-
-# set KERNEL_FILE without depending on package arch used in bitbake.conf
-KERNEL_FILE:forcevariable = "${@ 'vmlinux' if d.getVar('KERNEL_ARCH') in ['mipsel', 'riscv', 'arm64'] else 'vmlinuz'}"
-
-def config_fragments(d):
-    fragments = []
-    sources = d.getVar("SRC_URI").split()
-    for s in sources:
-        _, _, local, _, _, parm = bb.fetch.decodeurl(s)
-        apply = parm.get("apply")
-        if apply == "no":
-            continue
-        base, ext = os.path.splitext(os.path.basename(local))
-        if ext and ext in (".cfg"):
-            fragments.append(local)
-    return fragments
-
-def get_additional_build_profiles(d):
-    profiles = d.getVar('BASE_DISTRO')
-    if not bb.utils.to_boolean(d.getVar('KERNEL_LIBC_DEV_DEPLOY')):
-        profiles += ' nolibcdev'
-    elif bb.utils.to_boolean(d.getVar('KERNEL_LIBC_DEV_ARCH_ALL')):
-        profiles += ' libcdev-arch-all'
-    return profiles
-
-KERNEL_LIBC_DEV_ARCH = "${@ bb.utils.contains('DEB_BUILD_PROFILES', 'libcdev-arch-all', 'all\nMulti-Arch: foreign', 'any', d) }"
-DEB_BUILD_PROFILES += "${@get_additional_build_profiles(d)}"
-
-do_prepare_build:prepend() {
-	# copy meta-data over to source tree
-	rm -rf ${S}/debian
-	cp -r ${WORKDIR}/debian ${S}/
-
-	# remove templates from the source tree
-	find ${S}/debian -name *.tmpl | xargs rm -f
-
-	# rename install/remove hooks to match user-specified name for our linux-image package
-	mv ${S}/debian/linux-image.postinst ${S}/debian/linux-image-${KERNEL_NAME_PROVIDED}.postinst
-	mv ${S}/debian/linux-image.postrm ${S}/debian/linux-image-${KERNEL_NAME_PROVIDED}.postrm
-	mv ${S}/debian/linux-image.preinst ${S}/debian/linux-image-${KERNEL_NAME_PROVIDED}.preinst
-	mv ${S}/debian/linux-image.prerm ${S}/debian/linux-image-${KERNEL_NAME_PROVIDED}.prerm
-
-	# produce a changelog for our kernel build
-	deb_add_changelog
-
-	# make sure user-specified directories do exist in ${S}
-	if [ -n "${HEADERS_INSTALL_EXTRA}" ]; then
-		for d in ${HEADERS_INSTALL_EXTRA}; do
-			[ -d ${S}/${d} ] || {
-				bbfatal "HEADERS_INSTALL_EXTRA: '${d}' not found in \${S}!"
-			}
-		done
-	fi
-}
-
-# build directory for our "full" kernel build
-KERNEL_BUILD_DIR = "build-full"
-
-def get_kernel_config_target(d):
-    kernel_defconfig = d.getVar('KERNEL_DEFCONFIG')
-
-    config_target = kernel_defconfig
-
-    if kernel_defconfig:
-        workdir=d.getVar('WORKDIR')
-        if os.path.isfile(workdir + "/" + kernel_defconfig):
-            config_target = "olddefconfig"
-        else:
-            config_target = "defconfig KBUILD_DEFCONFIG=" + kernel_defconfig
-    else:
-        config_target = "defconfig"
-
-    return config_target
-
-def get_kernel_config_fragments(d):
-    src_frags = " ".join(config_fragments(d))
-    out_frags = " ".join(map(lambda frag: 'debian/fragments/' + frag, config_fragments(d)))
-
-    linux_version_extension = d.getVar('LINUX_VERSION_EXTENSION')
-    if linux_version_extension:
-        out_frags += " debian/isar/version.cfg"
-
-    return out_frags
-
-KERNEL_CONFIG_FRAGMENTS = "${@get_kernel_config_fragments(d)}"
-
-dpkg_configure_kernel() {
-	grep -q "KERNEL_CONFIG_TARGET=" ${S}/debian/isar/configure ||
-		cat << EOF | sed -i '/^do_configure() {/ r /dev/stdin' ${S}/debian/isar/configure
-    KERNEL_CONFIG_TARGET="${@get_kernel_config_target(d)}"
-EOF
-
-	rm -rf ${S}/${KERNEL_BUILD_DIR} && mkdir -p ${S}/${KERNEL_BUILD_DIR}
-	if [ -n "${KERNEL_DEFCONFIG}" ]; then
-		if [ -e "${WORKDIR}/${KERNEL_DEFCONFIG}" ]; then
-			cp ${WORKDIR}/${KERNEL_DEFCONFIG} ${S}/${KERNEL_BUILD_DIR}/.config
-		fi
-	fi
-
-	# copy config fragments over to the kernel tree
-	src_frags="${@ " ".join(config_fragments(d)) }"
-	rm -rf ${S}/debian/fragments
-	for frag in ${src_frags}; do
-		basedir=$(dirname ${frag})
-		mkdir -p ${S}/debian/fragments/${basedir}
-		cp ${WORKDIR}/${frag} ${S}/debian/fragments/${basedir}/
-	done
-}
-
-get_localversion_auto() {
-	if grep -q "^CONFIG_LOCALVERSION_AUTO=y" ${S}/${KERNEL_BUILD_DIR}/.config; then
-		cd ${S}
-		if head=$(git rev-parse --verify --short HEAD 2>/dev/null); then
-			echo "-g${head}" >${S}/.scmversion
-		fi
-	fi
-}
-
-do_dpkg_source:prepend() {
-	dpkg_configure_kernel
-	get_localversion_auto
+do_warn_custom_inc() {
+    bbwarn "Please migrate from \"require recipes-kernel/linux/linux-custom.inc\" to \"inherit linux-kernel\""
 }
+addtask warn_custom_inc before do_unpack
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/57c97fea3642d7c13aa88a9ab2089192f95869a8.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 06/27] meta-isar: Switch to linux-kernel class
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (4 preceding siblings ...)
  2025-11-03 11:51 ` [PATCH 05/27] linux-custom: Migrate to a bbclass 'Jan Kiszka' via isar-users
@ 2025-11-03 11:51 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:51 ` [PATCH 07/27] linux-module: Migrate to a bbclasss 'Jan Kiszka' via isar-users
                   ` (20 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:51 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 meta-isar/recipes-kernel/linux/linux-cip_4.4.166-cip29.bb       | 2 +-
 meta-isar/recipes-kernel/linux/linux-mainline_6.6.11.bb         | 2 +-
 .../recipes-kernel/linux/linux-starfive_6.6.20-visionfive2.bb   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/meta-isar/recipes-kernel/linux/linux-cip_4.4.166-cip29.bb b/meta-isar/recipes-kernel/linux/linux-cip_4.4.166-cip29.bb
index 873ca7b0..9b84eb2e 100644
--- a/meta-isar/recipes-kernel/linux/linux-cip_4.4.166-cip29.bb
+++ b/meta-isar/recipes-kernel/linux/linux-cip_4.4.166-cip29.bb
@@ -5,7 +5,7 @@
 #
 # SPDX-License-Identifier: MIT
 
-require recipes-kernel/linux/linux-custom.inc
+inherit linux-kernel
 
 SRC_URI += " \
     git://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip.git;branch=linux-4.4.y-cip;destsuffix=${P} \
diff --git a/meta-isar/recipes-kernel/linux/linux-mainline_6.6.11.bb b/meta-isar/recipes-kernel/linux/linux-mainline_6.6.11.bb
index 2287e763..721d32d4 100644
--- a/meta-isar/recipes-kernel/linux/linux-mainline_6.6.11.bb
+++ b/meta-isar/recipes-kernel/linux/linux-mainline_6.6.11.bb
@@ -5,7 +5,7 @@
 #
 # SPDX-License-Identifier: MIT
 
-require recipes-kernel/linux/linux-custom.inc
+inherit linux-kernel
 
 ARCHIVE_VERSION = "${@ d.getVar('PV')[:-2] if d.getVar('PV').endswith('.0') else d.getVar('PV') }"
 
diff --git a/meta-isar/recipes-kernel/linux/linux-starfive_6.6.20-visionfive2.bb b/meta-isar/recipes-kernel/linux/linux-starfive_6.6.20-visionfive2.bb
index e4433c5d..41e2c308 100644
--- a/meta-isar/recipes-kernel/linux/linux-starfive_6.6.20-visionfive2.bb
+++ b/meta-isar/recipes-kernel/linux/linux-starfive_6.6.20-visionfive2.bb
@@ -3,7 +3,7 @@
 #
 # SPDX-License-Identifier: MIT
 
-require recipes-kernel/linux/linux-custom.inc
+inherit linux-kernel
 
 SRC_URI += " \
     https://github.com/starfive-tech/linux/archive/${SRCREV}.tar.gz;downloadfilename=linux-starfive-${SRCREV}.tar.gz \
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/6906ae103c304223a586333dd2efaa642b1a7d20.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 07/27] linux-module: Migrate to a bbclasss
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (5 preceding siblings ...)
  2025-11-03 11:51 ` [PATCH 06/27] meta-isar: Switch to linux-kernel class 'Jan Kiszka' via isar-users
@ 2025-11-03 11:51 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:51 ` [PATCH 08/27] meta-isar: Switch to linux-module class 'Jan Kiszka' via isar-users
                   ` (19 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:51 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
"inherit linux-module" is shorter and a more common pattern compared to
OE/yocto. Keep the original .inc file as transitional helper, issuing a
warning when it's used with a migration suggestion.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 .../linux-module.bbclass}                     |  3 +-
 meta/recipes-kernel/linux-module/module.inc   | 85 ++-----------------
 2 files changed, 7 insertions(+), 81 deletions(-)
 copy meta/{recipes-kernel/linux-module/module.inc => classes-recipe/linux-module.bbclass} (97%)
diff --git a/meta/recipes-kernel/linux-module/module.inc b/meta/classes-recipe/linux-module.bbclass
similarity index 97%
copy from meta/recipes-kernel/linux-module/module.inc
copy to meta/classes-recipe/linux-module.bbclass
index d2a41766..57a5cf41 100644
--- a/meta/recipes-kernel/linux-module/module.inc
+++ b/meta/classes-recipe/linux-module.bbclass
@@ -5,8 +5,6 @@
 #
 # SPDX-License-Identifier: MIT
 
-FILESPATH:append := ":${FILE_DIRNAME}/files"
-
 DESCRIPTION ?= "Custom kernel module ${PN}"
 MAINTAINER ?= "isar-users <isar-users@googlegroups.com>"
 
@@ -35,6 +33,7 @@ DEB_BUILD_PROFILES += "${@'pkg.signwith' if bb.utils.to_boolean(d.getVar('KERNEL
 DEPENDS += "${@'module-signer secure-boot-secrets' if bb.utils.to_boolean(d.getVar('KERNEL_MODULE_SIGNATURES')) else ''}"
 DEBIAN_BUILD_DEPENDS .= "${@', module-signer, secure-boot-secrets' if bb.utils.to_boolean(d.getVar('KERNEL_MODULE_SIGNATURES')) else ''}"
 
+FILESPATH:append = ":${LAYERDIR_core}/recipes-kernel/linux-module/files"
 SRC_URI += "file://debian/"
 
 AUTOLOAD ?= ""
diff --git a/meta/recipes-kernel/linux-module/module.inc b/meta/recipes-kernel/linux-module/module.inc
index d2a41766..52541a29 100644
--- a/meta/recipes-kernel/linux-module/module.inc
+++ b/meta/recipes-kernel/linux-module/module.inc
@@ -1,86 +1,13 @@
-# Custom kernel module recipe include
+# Transitional include for linux-module.bbclass
 #
 # This software is a part of ISAR.
-# Copyright (c) Siemens AG, 2018
+# Copyright (c) Siemens AG, 2025
 #
 # SPDX-License-Identifier: MIT
 
-FILESPATH:append := ":${FILE_DIRNAME}/files"
+inherit linux-module
 
-DESCRIPTION ?= "Custom kernel module ${PN}"
-MAINTAINER ?= "isar-users <isar-users@googlegroups.com>"
-
-KERNEL_NAME ?= ""
-# directory with KBuild file (M=${MODULE_DIR})
-MODULE_DIR ?= "$(PWD)"
-
-PN .= "-${KERNEL_NAME}"
-
-KERNEL_IMAGE_PKG ??= "linux-image-${KERNEL_NAME}"
-KERNEL_HEADERS_PKG ??= "linux-headers-${KERNEL_NAME}"
-DEPENDS += "${KERNEL_HEADERS_PKG}-native"
-DEBIAN_BUILD_DEPENDS = "${KERNEL_HEADERS_PKG}"
-# Do not generate debug symbols packages, as not supported for modules
-DEB_BUILD_OPTIONS += "noautodbgsym"
-
-SIGNATURE_KEYFILE ??= "/usr/share/secure-boot-secrets/secure-boot.key"
-SIGNATURE_CERTFILE ??= "/usr/share/secure-boot-secrets/secure-boot.pem"
-SIGNATURE_HASHFN ??= "sha256"
-SIGNATURE_SIGNWITH ??= "/usr/bin/sign-module.sh"
-
-KERNEL_MODULE_SIGNATURES ??= ""
-
-# Define signing profile and dependencies if KERNEL_MODULE_SIGNATURES is set to "1"
-DEB_BUILD_PROFILES += "${@'pkg.signwith' if bb.utils.to_boolean(d.getVar('KERNEL_MODULE_SIGNATURES')) else ''}"
-DEPENDS += "${@'module-signer secure-boot-secrets' if bb.utils.to_boolean(d.getVar('KERNEL_MODULE_SIGNATURES')) else ''}"
-DEBIAN_BUILD_DEPENDS .= "${@', module-signer, secure-boot-secrets' if bb.utils.to_boolean(d.getVar('KERNEL_MODULE_SIGNATURES')) else ''}"
-
-SRC_URI += "file://debian/"
-
-AUTOLOAD ?= ""
-
-# Cross-compilation is not supported for the default Debian kernels.
-# For example, package with kernel headers for ARM:
-#   linux-headers-armmp
-# has hard dependencies from linux-compiler-gcc-4.8-arm, what
-# conflicts with the host binaries.
-python() {
-    if d.getVar('KERNEL_NAME') in d.getVar('DISTRO_KERNELS').split():
-        d.setVar('ISAR_CROSS_COMPILE', '0')
-}
-
-inherit dpkg
-inherit per-kernel
-
-TEMPLATE_FILES = "debian/control.tmpl \
-                  debian/rules.tmpl"
-TEMPLATE_VARS += " \
-    KERNEL_NAME \
-    KERNEL_TYPE \
-    KERNEL_IMAGE_PKG \
-    KERNEL_HEADERS_PKG \
-    KCFLAGS \
-    KAFLAGS \
-    MODULE_DIR \
-    DEBIAN_BUILD_DEPENDS \
-    SIGNATURE_KEYFILE \
-    SIGNATURE_CERTFILE \
-    SIGNATURE_HASHFN \
-    SIGNATURE_SIGNWITH \
-    PN \
-    DEBIAN_COMPAT"
-
-# Add custom cflags to the kernel build
-KCFLAGS ?= "-fdebug-prefix-map=${CURDIR}=. -fmacro-prefix-map=${CURDIR}=."
-KAFLAGS ?= "-fdebug-prefix-map=${CURDIR}=."
-
-do_prepare_build() {
-    rm -rf ${S}/debian
-    cp -r ${WORKDIR}/debian ${S}/
-
-    deb_add_changelog
-
-    for module in ${AUTOLOAD}; do
-        echo "echo $module >> /etc/modules" >> ${S}/debian/postinst
-    done
+do_warn_custom_inc() {
+    bbwarn "Please migrate from \"require recipes-kernel/linux-module/module.inc\" to \"inherit linux-module\""
 }
+addtask warn_custom_inc before do_unpack
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/b54cc658f81da9891c9829a5b9a70e9bd49d394c.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 08/27] meta-isar: Switch to linux-module class
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (6 preceding siblings ...)
  2025-11-03 11:51 ` [PATCH 07/27] linux-module: Migrate to a bbclasss 'Jan Kiszka' via isar-users
@ 2025-11-03 11:51 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:51 ` [PATCH 09/27] kselftest: Migrate to a bbclass 'Jan Kiszka' via isar-users
                   ` (18 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:51 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 meta-isar/recipes-kernel/example-module/example-module.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-isar/recipes-kernel/example-module/example-module.bb b/meta-isar/recipes-kernel/example-module/example-module.bb
index 22f3cc47..dcff87f1 100644
--- a/meta-isar/recipes-kernel/example-module/example-module.bb
+++ b/meta-isar/recipes-kernel/example-module/example-module.bb
@@ -5,7 +5,7 @@
 #
 # SPDX-License-Identifier: MIT
 
-require recipes-kernel/linux-module/module.inc
+inherit linux-module
 
 SRC_URI += "file://src"
 
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/ff94fb3faefec73d31896519f4067dead7056d65.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 09/27] kselftest: Migrate to a bbclass
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (7 preceding siblings ...)
  2025-11-03 11:51 ` [PATCH 08/27] meta-isar: Switch to linux-module class 'Jan Kiszka' via isar-users
@ 2025-11-03 11:51 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:51 ` [PATCH 10/27] meta-isar: Switch to kselftest class 'Jan Kiszka' via isar-users
                   ` (17 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:51 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
"inherit kselftest" is shorter and a more common pattern compared to
OE/yocto. Keep the original .inc file as transitional helper, issuing a
warning when it's used with a migration suggestion.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 .../kselftest.bbclass}                        |  5 +-
 meta/recipes-kernel/kselftest/kselftest.inc   | 52 +++----------------
 2 files changed, 9 insertions(+), 48 deletions(-)
 copy meta/{recipes-kernel/kselftest/kselftest.inc => classes-recipe/kselftest.bbclass} (93%)
diff --git a/meta/recipes-kernel/kselftest/kselftest.inc b/meta/classes-recipe/kselftest.bbclass
similarity index 93%
copy from meta/recipes-kernel/kselftest/kselftest.inc
copy to meta/classes-recipe/kselftest.bbclass
index 95dece10..ec2d267e 100644
--- a/meta/recipes-kernel/kselftest/kselftest.inc
+++ b/meta/classes-recipe/kselftest.bbclass
@@ -2,13 +2,12 @@
 #
 # This software is a part of ISAR.
 # Copyright (c) Mentor Graphics, a Siemens Business, 2020
+# Copyright (c) Siemens, 2025
 #
 # SPDX-License-Identifier: MIT
 
 inherit dpkg
 
-FILESPATH:append := ":${THISDIR}/files"
-
 # Some test-cases like memfd compilation failed in cross-compilation.
 # Force native compilation for now to have consistent output across
 # ISAR native/cross compilation setups.
@@ -33,7 +32,9 @@ DEBIAN_BUILD_DEPENDS ?= " \
     llvm:native, \
 "
 
+FILESPATH:append = ":${LAYERDIR_core}/recipes-kernel/kselftest/files"
 SRC_URI += "file://rules.tmpl"
+
 S = "${WORKDIR}/linux-${PV}"
 
 TEMPLATE_FILES = "rules.tmpl"
diff --git a/meta/recipes-kernel/kselftest/kselftest.inc b/meta/recipes-kernel/kselftest/kselftest.inc
index 95dece10..a81e2550 100644
--- a/meta/recipes-kernel/kselftest/kselftest.inc
+++ b/meta/recipes-kernel/kselftest/kselftest.inc
@@ -1,53 +1,13 @@
-# Kselftest package for Linux
+# Transitional include for kselftest.bbclass
 #
 # This software is a part of ISAR.
-# Copyright (c) Mentor Graphics, a Siemens Business, 2020
+# Copyright (c) Siemens AG, 2025
 #
 # SPDX-License-Identifier: MIT
 
-inherit dpkg
+inherit kselftest
 
-FILESPATH:append := ":${THISDIR}/files"
-
-# Some test-cases like memfd compilation failed in cross-compilation.
-# Force native compilation for now to have consistent output across
-# ISAR native/cross compilation setups.
-ISAR_CROSS_COMPILE = "0"
-
-DESCRIPTION ?= "Kernel selftests from Linux kernel ${PV}"
-
-DEBIAN_BUILD_DEPENDS ?= " \
-    rsync, \
-    flex,  \
-    bison, \
-    ${@ 'fuse' if d.getVar('BASE_DISTRO_CODENAME') in ['bullseye', 'buster'] else 'fuse3'}, \
-    libelf-dev:native, \
-    libcap-ng-dev:native, \
-    libpopt-dev:native, \
-    libcap-dev:native, \
-    libmount-dev:native, \
-    libfuse-dev:native, \
-    libmnl-dev:native, \
-    pkg-config, \
-    clang:native, \
-    llvm:native, \
-"
-
-SRC_URI += "file://rules.tmpl"
-S = "${WORKDIR}/linux-${PV}"
-
-TEMPLATE_FILES = "rules.tmpl"
-TEMPLATE_VARS += "KSELFTEST_ARGS"
-
-KSELFTEST_TARGETS ?= ""
-KSELFTEST_SKIP_TARGETS ?= ""
-KSELFTEST_FORCE_TARGETS ?= "0"
-
-KSELFTEST_ARGS = "${@ "TARGETS=\"${KSELFTEST_TARGETS}\"" if d.getVar('KSELFTEST_TARGETS') else ''}"
-KSELFTEST_ARGS .= "${@ " FORCE_TARGETS=1" if bb.utils.to_boolean(d.getVar('KSELFTEST_FORCE_TARGETS')) else ''}"
-KSELFTEST_ARGS .= "${@ " SKIP_TARGETS=\"${KSELFTEST_SKIP_TARGETS}\"" if d.getVar('KSELFTEST_SKIP_TARGETS') else ''}"
-
-do_prepare_build[cleandirs] += "${S}/debian"
-do_prepare_build() {
-    deb_debianize
+do_warn_custom_inc() {
+    bbwarn "Please migrate from \"require recipes-kernel/kselftest/kselftest.inc\" to \"inherit kselftest\""
 }
+addtask warn_custom_inc before do_unpack
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/0195be303a81d5840a588dedc7bf5a74bf94ac07.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 10/27] meta-isar: Switch to kselftest class
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (8 preceding siblings ...)
  2025-11-03 11:51 ` [PATCH 09/27] kselftest: Migrate to a bbclass 'Jan Kiszka' via isar-users
@ 2025-11-03 11:51 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:51 ` [PATCH 11/27] u-boot-custom: Migrate to a bbclass 'Jan Kiszka' via isar-users
                   ` (16 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:51 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 meta-isar/recipes-kernel/kselftest/kselftest_5.6.13.bb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/meta-isar/recipes-kernel/kselftest/kselftest_5.6.13.bb b/meta-isar/recipes-kernel/kselftest/kselftest_5.6.13.bb
index 0c9818ae..5a0e4e41 100644
--- a/meta-isar/recipes-kernel/kselftest/kselftest_5.6.13.bb
+++ b/meta-isar/recipes-kernel/kselftest/kselftest_5.6.13.bb
@@ -2,10 +2,11 @@
 #
 # This software is a part of ISAR.
 # Copyright (c) Mentor Graphics, a Siemens business, 2020
+# Copyright (c) Siemens, 2025
 #
 # SPDX-License-Identifier: MIT
 
-require recipes-kernel/kselftest/kselftest.inc
+inherit kselftest
 
 SRC_URI += "https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${PV}.tar.xz"
 SRC_URI[sha256sum] = "f125d79c8f6974213638787adcad6b575bbd35a05851802fd83f622ec18ff987"
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/19044d376d17ab2dd7519f6a4b1459f1eee3ed5a.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 11/27] u-boot-custom: Migrate to a bbclass
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (9 preceding siblings ...)
  2025-11-03 11:51 ` [PATCH 10/27] meta-isar: Switch to kselftest class 'Jan Kiszka' via isar-users
@ 2025-11-03 11:51 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:52 ` [PATCH 12/27] meta-isar: Switch to u-boot class 'Jan Kiszka' via isar-users
                   ` (15 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:51 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
"inherit u-boot" is shorter and a more common pattern compared to
OE/yocto. Keep the original .inc file as transitional helper, issuing a
warning when it's used with a migration suggestion.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 .../u-boot.bbclass}                           |  3 +-
 meta/recipes-bsp/u-boot/u-boot-custom.inc     | 74 ++-----------------
 2 files changed, 7 insertions(+), 70 deletions(-)
 copy meta/{recipes-bsp/u-boot/u-boot-custom.inc => classes-recipe/u-boot.bbclass} (96%)
diff --git a/meta/recipes-bsp/u-boot/u-boot-custom.inc b/meta/classes-recipe/u-boot.bbclass
similarity index 96%
copy from meta/recipes-bsp/u-boot/u-boot-custom.inc
copy to meta/classes-recipe/u-boot.bbclass
index 2d6dd8e0..02e1491f 100644
--- a/meta/recipes-bsp/u-boot/u-boot-custom.inc
+++ b/meta/classes-recipe/u-boot.bbclass
@@ -5,8 +5,6 @@
 #
 # SPDX-License-Identifier: MIT
 
-FILESPATH:append := ":${FILE_DIRNAME}/files"
-
 DESCRIPTION ?= "Custom U-Boot"
 
 PROVIDES += "u-boot-${MACHINE} u-boot-${MACHINE}-dev"
@@ -16,6 +14,7 @@ PROVIDES += "${@('u-boot-config u-boot-' + d.getVar('MACHINE') + '-config') \
 
 inherit dpkg
 
+FILESPATH:append = ":${LAYERDIR_core}/recipes-bsp/u-boot/files"
 SRC_URI += "file://debian/"
 
 DEBIAN_BUILD_DEPENDS ?= "bc, bison, flex, device-tree-compiler, git"
diff --git a/meta/recipes-bsp/u-boot/u-boot-custom.inc b/meta/recipes-bsp/u-boot/u-boot-custom.inc
index 2d6dd8e0..9cc2c15f 100644
--- a/meta/recipes-bsp/u-boot/u-boot-custom.inc
+++ b/meta/recipes-bsp/u-boot/u-boot-custom.inc
@@ -1,75 +1,13 @@
-# Custom U-Boot build
+# Transitional include for u-boot.bbclass
 #
 # This software is a part of ISAR.
-# Copyright (c) Siemens AG, 2018-2025
+# Copyright (c) Siemens AG, 2025
 #
 # SPDX-License-Identifier: MIT
 
-FILESPATH:append := ":${FILE_DIRNAME}/files"
+inherit u-boot
 
-DESCRIPTION ?= "Custom U-Boot"
-
-PROVIDES += "u-boot-${MACHINE} u-boot-${MACHINE}-dev"
-PROVIDES += "${@'u-boot-tools' if bb.utils.to_boolean(d.getVar('U_BOOT_TOOLS_PACKAGE')) else ''}"
-PROVIDES += "${@('u-boot-config u-boot-' + d.getVar('MACHINE') + '-config') \
-    if bb.utils.to_boolean(d.getVar('U_BOOT_CONFIG_PACKAGE')) else ''}"
-
-inherit dpkg
-
-SRC_URI += "file://debian/"
-
-DEBIAN_BUILD_DEPENDS ?= "bc, bison, flex, device-tree-compiler, git"
-
-U_BOOT_BIN_INSTALL ?= "${U_BOOT_BIN}"
-
-U_BOOT_EXTRA_BUILDARGS ??= "BL31=${BL31} TEE=${TEE}"
-
-TEMPLATE_FILES = "debian/control.tmpl debian/rules.tmpl"
-TEMPLATE_VARS += "MACHINE DEBIAN_BUILD_DEPENDS U_BOOT_CONFIG U_BOOT_BIN \
-    U_BOOT_EXTRA_BUILDARGS DEBIAN_COMPAT"
-
-U_BOOT_TOOLS_PACKAGE ?= "0"
-U_BOOT_CONFIG_PACKAGE ?= "0"
-
-do_prepare_build() {
-    cp -r ${WORKDIR}/debian ${S}/
-
-    deb_add_changelog
-
-    rm -f ${S}/debian/u-boot-${MACHINE}.install
-    for bin in ${U_BOOT_BIN_INSTALL}; do
-        echo "$bin /usr/lib/u-boot/${MACHINE}" >> \
-            ${S}/debian/u-boot-${MACHINE}.install
-    done
-
-    echo "tools/env/libubootenv.a usr/lib" > \
-        ${S}/debian/u-boot-${MACHINE}-dev.install
-
-    if [ "${U_BOOT_TOOLS_PACKAGE}" = "1" ]; then
-        cat <<EOF >>${S}/debian/control
-
-Package: u-boot-tools
-Architecture: linux-any
-Depends: \${shlibs:Depends}, \${misc:Depends}
-Description: ${DESCRIPTION}, companion tools
-EOF
-    fi
-
-    if [ "${U_BOOT_CONFIG_PACKAGE}" = "1" ]; then
-        cp ${WORKDIR}/fw_env.config ${S}/ || \
-            die "U_BOOT_CONFIG_PACKAGE requires a fw_env.config in SRC_URI"
-
-        cat <<EOF >>${S}/debian/control
-
-Package: u-boot-${MACHINE}-config
-Provides: u-boot-config
-Architecture: ${DISTRO_ARCH}
-Description: ${DESCRIPTION}, environment configuration
-EOF
-
-        cat <<EOF >>${S}/debian/u-boot-${MACHINE}-config.install
-u-boot-initial-env /etc
-fw_env.config      /etc
-EOF
-    fi
+do_warn_custom_inc() {
+    bbwarn "Please migrate from \"require recipes-bsp/u-boot/u-boot-custom.inc\" to \"inherit u-boot\""
 }
+addtask warn_custom_inc before do_unpack
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/ea6befd458b77631d417c3cb69ad4bf369ec8b9a.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 12/27] meta-isar: Switch to u-boot class
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (10 preceding siblings ...)
  2025-11-03 11:51 ` [PATCH 11/27] u-boot-custom: Migrate to a bbclass 'Jan Kiszka' via isar-users
@ 2025-11-03 11:52 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:52 ` [PATCH 13/27] optee-os[-tadevkit]-custom: Migrate to bbclass'es 'Jan Kiszka' via isar-users
                   ` (14 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:52 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 meta-isar/recipes-bsp/u-boot/u-boot-2020.10.inc               | 4 ++--
 meta-isar/recipes-bsp/u-boot/u-boot-beagleplay_2024.01.bb     | 4 ++--
 .../recipes-bsp/u-boot/u-boot-starfive-visionfive2_2024.01.bb | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/meta-isar/recipes-bsp/u-boot/u-boot-2020.10.inc b/meta-isar/recipes-bsp/u-boot/u-boot-2020.10.inc
index 604776a6..8ae1b8d0 100644
--- a/meta-isar/recipes-bsp/u-boot/u-boot-2020.10.inc
+++ b/meta-isar/recipes-bsp/u-boot/u-boot-2020.10.inc
@@ -1,9 +1,9 @@
 #
-# Copyright (c) Siemens AG, 2018-2020
+# Copyright (c) Siemens AG, 2018-2025
 #
 # SPDX-License-Identifier: MIT
 
-require recipes-bsp/u-boot/u-boot-custom.inc
+inherit u-boot
 
 SRC_URI += " \
     https://ftp.denx.de/pub/u-boot/u-boot-${PV}.tar.bz2 \
diff --git a/meta-isar/recipes-bsp/u-boot/u-boot-beagleplay_2024.01.bb b/meta-isar/recipes-bsp/u-boot/u-boot-beagleplay_2024.01.bb
index f9b6b6c3..2a5faa9b 100644
--- a/meta-isar/recipes-bsp/u-boot/u-boot-beagleplay_2024.01.bb
+++ b/meta-isar/recipes-bsp/u-boot/u-boot-beagleplay_2024.01.bb
@@ -1,11 +1,11 @@
 #
 # This software is a part of ISAR.
-# Copyright (c) Siemens AG, 2023-2024
+# Copyright (c) Siemens AG, 2023-2025
 # Copyright (C) 2025 ilbers GmbH
 #
 # SPDX-License-Identifier: MIT
 
-require recipes-bsp/u-boot/u-boot-custom.inc
+inherit u-boot
 
 TI_FIRMWARE_SRCREV = "9ee2fedb1fb4815f54310dd872d34faf9948c7c1"
 
diff --git a/meta-isar/recipes-bsp/u-boot/u-boot-starfive-visionfive2_2024.01.bb b/meta-isar/recipes-bsp/u-boot/u-boot-starfive-visionfive2_2024.01.bb
index becd40da..095d9fc4 100644
--- a/meta-isar/recipes-bsp/u-boot/u-boot-starfive-visionfive2_2024.01.bb
+++ b/meta-isar/recipes-bsp/u-boot/u-boot-starfive-visionfive2_2024.01.bb
@@ -1,9 +1,9 @@
 #
-# Copyright (c) Siemens AG, 2023-2024
+# Copyright (c) Siemens AG, 2023-2025
 #
 # SPDX-License-Identifier: MIT
 
-require recipes-bsp/u-boot/u-boot-custom.inc
+inherit u-boot
 
 COMPATIBLE_MACHINE = "starfive-visionfive2"
 
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/38f4b4304afcd00e5f900159cfb0d23ddfcb8bd7.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 13/27] optee-os[-tadevkit]-custom: Migrate to bbclass'es
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (11 preceding siblings ...)
  2025-11-03 11:52 ` [PATCH 12/27] meta-isar: Switch to u-boot class 'Jan Kiszka' via isar-users
@ 2025-11-03 11:52 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:52 ` [PATCH 14/27] meta-isar: Switch to optee-os[-tadevkit] classes 'Jan Kiszka' via isar-users
                   ` (13 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:52 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
"inherit optee-os[-tadevkit]" is shorter and a more common pattern
compared to OE/yocto. Keep the original .inc files as transitional
helpers, issuing a warning when they are used with a migration
suggestion.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 .../optee-os-base.bbclass}                    |  3 +--
 .../optee-os-tadevkit.bbclass}                |  2 +-
 .../optee-os.bbclass}                         |  4 +--
 meta/recipes-bsp/optee-os/optee-os-custom.inc | 19 +++++---------
 .../optee-os/optee-os-tadevkit-custom.inc     | 25 +++++--------------
 5 files changed, 16 insertions(+), 37 deletions(-)
 rename meta/{recipes-bsp/optee-os/optee-os.inc => classes-recipe/optee-os-base.bbclass} (92%)
 copy meta/{recipes-bsp/optee-os/optee-os-tadevkit-custom.inc => classes-recipe/optee-os-tadevkit.bbclass} (97%)
 copy meta/{recipes-bsp/optee-os/optee-os-custom.inc => classes-recipe/optee-os.bbclass} (88%)
diff --git a/meta/recipes-bsp/optee-os/optee-os.inc b/meta/classes-recipe/optee-os-base.bbclass
similarity index 92%
rename from meta/recipes-bsp/optee-os/optee-os.inc
rename to meta/classes-recipe/optee-os-base.bbclass
index eac75ae8..58305383 100644
--- a/meta/recipes-bsp/optee-os/optee-os.inc
+++ b/meta/classes-recipe/optee-os-base.bbclass
@@ -7,8 +7,7 @@
 
 inherit dpkg
 
-FILESPATH:append := ":${FILE_DIRNAME}/files"
-
+FILESPATH:append = ":${LAYERDIR_core}/recipes-bsp/optee-os/files"
 SRC_URI += "file://debian/"
 
 DESCRIPTION ?= "Custom OP-TEE OS"
diff --git a/meta/recipes-bsp/optee-os/optee-os-tadevkit-custom.inc b/meta/classes-recipe/optee-os-tadevkit.bbclass
similarity index 97%
copy from meta/recipes-bsp/optee-os/optee-os-tadevkit-custom.inc
copy to meta/classes-recipe/optee-os-tadevkit.bbclass
index cfb2cfd5..77d63d02 100644
--- a/meta/recipes-bsp/optee-os/optee-os-tadevkit-custom.inc
+++ b/meta/classes-recipe/optee-os-tadevkit.bbclass
@@ -5,7 +5,7 @@
 #
 # SPDX-License-Identifier: MIT
 
-require optee-os.inc
+inherit optee-os-base
 
 DEBIAN_PACKAGE_NAME = "optee-os-tadevkit-${OPTEE_NAME}"
 DESCRIPTION:append = ", trust application development kit."
diff --git a/meta/recipes-bsp/optee-os/optee-os-custom.inc b/meta/classes-recipe/optee-os.bbclass
similarity index 88%
copy from meta/recipes-bsp/optee-os/optee-os-custom.inc
copy to meta/classes-recipe/optee-os.bbclass
index abe46e81..48f97bee 100644
--- a/meta/recipes-bsp/optee-os/optee-os-custom.inc
+++ b/meta/classes-recipe/optee-os.bbclass
@@ -1,11 +1,11 @@
 # Custom OP-TEE OS build
 #
 # This software is a part of ISAR.
-# Copyright (c) Siemens AG, 2020-2023
+# Copyright (c) Siemens AG, 2020-2025
 #
 # SPDX-License-Identifier: MIT
 
-require optee-os.inc
+inherit optee-os-base
 
 DESCRIPTION:append = ", firmware binaries"
 
diff --git a/meta/recipes-bsp/optee-os/optee-os-custom.inc b/meta/recipes-bsp/optee-os/optee-os-custom.inc
index abe46e81..1f4ebf7e 100644
--- a/meta/recipes-bsp/optee-os/optee-os-custom.inc
+++ b/meta/recipes-bsp/optee-os/optee-os-custom.inc
@@ -1,20 +1,13 @@
-# Custom OP-TEE OS build
+# Transitional include for optee-os.bbclass
 #
 # This software is a part of ISAR.
-# Copyright (c) Siemens AG, 2020-2023
+# Copyright (c) Siemens AG, 2025
 #
 # SPDX-License-Identifier: MIT
 
-require optee-os.inc
+inherir optee-os
 
-DESCRIPTION:append = ", firmware binaries"
-
-PROVIDES += "optee-os-${OPTEE_NAME}"
-
-do_prepare_build:append() {
-    rm -f ${S}/debian/optee-os-${OPTEE_NAME}.install
-    for binary in ${OPTEE_BINARIES}; do
-        echo "out/arm-plat-${OPTEE_PLATFORM_BASE}/core/$binary /usr/lib/optee-os/${OPTEE_NAME}/" >> \
-            ${S}/debian/optee-os-${OPTEE_NAME}.install
-    done
+do_warn_custom_inc() {
+    bbwarn "Please migrate from \"require recipes-bsp/optee-os/optee-os-custom.inc\" to \"inherit optee-os\""
 }
+addtask warn_custom_inc before do_unpack
diff --git a/meta/recipes-bsp/optee-os/optee-os-tadevkit-custom.inc b/meta/recipes-bsp/optee-os/optee-os-tadevkit-custom.inc
index cfb2cfd5..bc011567 100644
--- a/meta/recipes-bsp/optee-os/optee-os-tadevkit-custom.inc
+++ b/meta/recipes-bsp/optee-os/optee-os-tadevkit-custom.inc
@@ -1,26 +1,13 @@
-# Custom OP-TEE OS build for TA devkit
+# Transitional include for optee-os-tadevkit.bbclass
 #
 # This software is a part of ISAR.
-# Copyright (c) Siemens AG, 2023
+# Copyright (c) Siemens AG, 2025
 #
 # SPDX-License-Identifier: MIT
 
-require optee-os.inc
+inherit optee-os-tadevkit
 
-DEBIAN_PACKAGE_NAME = "optee-os-tadevkit-${OPTEE_NAME}"
-DESCRIPTION:append = ", trust application development kit."
-
-PROVIDES += "${DEBIAN_PACKAGE_NAME}"
-
-do_prepare_build:append() {
-    if [ "${DISTRO_ARCH}" = "arm64" ]; then
-        TADEVKIT_DIR="export-ta_arm64"
-    elif [ "${DISTRO_ARCH}" = "armhf" ]; then
-        TADEVKIT_DIR="export-ta_arm32"
-    else
-        bbfatal "${DISTRO_ARCH} does not have a compat arch for optee TA devkit!"
-    fi
-
-    echo "out/arm-plat-${OPTEE_PLATFORM_BASE}/${TADEVKIT_DIR} /usr/lib/optee-os/${OPTEE_NAME}/" > \
-        ${S}/debian/optee-os-tadevkit-${OPTEE_NAME}.install
+do_warn_custom_inc() {
+    bbwarn "Please migrate from \"require recipes-bsp/optee-os/optee-os-tadevkit-custom.inc\" to \"inherit optee-os-tadevkit\""
 }
+addtask warn_custom_inc before do_unpack
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/2c41d8e09fb52933c4ef2f049d40b812f32aedee.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 14/27] meta-isar: Switch to optee-os[-tadevkit] classes
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (12 preceding siblings ...)
  2025-11-03 11:52 ` [PATCH 13/27] optee-os[-tadevkit]-custom: Migrate to bbclass'es 'Jan Kiszka' via isar-users
@ 2025-11-03 11:52 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:52 ` [PATCH 15/27] optee-client: Migrate to a bbclass 'Jan Kiszka' via isar-users
                   ` (12 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:52 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 meta-isar/recipes-bsp/optee-os/optee-os-beagleplay_4.0.0.bb    | 2 +-
 meta-isar/recipes-bsp/optee-os/optee-os-stm32mp15x_3.21.0.bb   | 3 ++-
 .../optee-os/optee-os-tadevkit-stm32mp15x_3.21.0.bb            | 3 ++-
 3 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/meta-isar/recipes-bsp/optee-os/optee-os-beagleplay_4.0.0.bb b/meta-isar/recipes-bsp/optee-os/optee-os-beagleplay_4.0.0.bb
index dc7f3fd3..db46d481 100644
--- a/meta-isar/recipes-bsp/optee-os/optee-os-beagleplay_4.0.0.bb
+++ b/meta-isar/recipes-bsp/optee-os/optee-os-beagleplay_4.0.0.bb
@@ -3,7 +3,7 @@
 #
 # SPDX-License-Identifier: MIT
 
-require recipes-bsp/optee-os/optee-os-custom.inc
+inherit optee-os
 
 SRC_URI += "https://github.com/OP-TEE/optee_os/archive/${PV}.tar.gz;downloadfilename=optee_os-${PV}.tar.gz"
 SRC_URI[sha256sum] = "2c2c9525b36c96dfad6216520721b8e9663e6cacc61d0108a0c8bffc0ea175f1"
diff --git a/meta-isar/recipes-bsp/optee-os/optee-os-stm32mp15x_3.21.0.bb b/meta-isar/recipes-bsp/optee-os/optee-os-stm32mp15x_3.21.0.bb
index 1b920cdf..21bf2b30 100644
--- a/meta-isar/recipes-bsp/optee-os/optee-os-stm32mp15x_3.21.0.bb
+++ b/meta-isar/recipes-bsp/optee-os/optee-os-stm32mp15x_3.21.0.bb
@@ -3,7 +3,8 @@
 #
 # SPDX-License-Identifier: MIT
 
-require recipes-bsp/optee-os/optee-os-custom.inc
+inherit optee-os
+
 require optee-os-stm32mp15x_${PV}.inc
 
 # optee-examples integration
diff --git a/meta-isar/recipes-bsp/optee-os/optee-os-tadevkit-stm32mp15x_3.21.0.bb b/meta-isar/recipes-bsp/optee-os/optee-os-tadevkit-stm32mp15x_3.21.0.bb
index 2be7a9db..94cb5561 100644
--- a/meta-isar/recipes-bsp/optee-os/optee-os-tadevkit-stm32mp15x_3.21.0.bb
+++ b/meta-isar/recipes-bsp/optee-os/optee-os-tadevkit-stm32mp15x_3.21.0.bb
@@ -3,5 +3,6 @@
 #
 # SPDX-License-Identifier: MIT
 
-require recipes-bsp/optee-os/optee-os-tadevkit-custom.inc
+inherit optee-os-tadevkit
+
 require optee-os-stm32mp15x_${PV}.inc
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/1ccd05a5a68446b78652a5c909929c7c90ece34a.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 15/27] optee-client: Migrate to a bbclass
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (13 preceding siblings ...)
  2025-11-03 11:52 ` [PATCH 14/27] meta-isar: Switch to optee-os[-tadevkit] classes 'Jan Kiszka' via isar-users
@ 2025-11-03 11:52 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:52 ` [PATCH 16/27] meta-isar: Switch to optee-client class 'Jan Kiszka' via isar-users
                   ` (11 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:52 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
"inherit optee-client" is shorter and a more common pattern compared to
OE/yocto. Keep the original .inc file as transitional helper, issuing a
warning when it's used with a migration suggestion.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 .../optee-client.bbclass}                     |  3 +-
 .../optee-client/optee-client-custom.inc      | 40 ++++---------------
 2 files changed, 8 insertions(+), 35 deletions(-)
 copy meta/{recipes-bsp/optee-client/optee-client-custom.inc => classes-recipe/optee-client.bbclass} (93%)
diff --git a/meta/recipes-bsp/optee-client/optee-client-custom.inc b/meta/classes-recipe/optee-client.bbclass
similarity index 93%
copy from meta/recipes-bsp/optee-client/optee-client-custom.inc
copy to meta/classes-recipe/optee-client.bbclass
index 8a97af58..691ffafb 100644
--- a/meta/recipes-bsp/optee-client/optee-client-custom.inc
+++ b/meta/classes-recipe/optee-client.bbclass
@@ -9,13 +9,12 @@
 
 inherit dpkg
 
-FILESPATH:append := ":${FILE_DIRNAME}/files"
-
 DESCRIPTION = "OPTee Client"
 
 PROVIDES = "libteec1 libckteec0 libseteec0 libteeacl0.1.0"
 PROVIDES += "optee-client-dev tee-supplicant"
 
+FILESPATH:append = ":${LAYERDIR_core}/recipes-bsp/optee-client/files"
 SRC_URI += "file://debian"
 
 TEE_FS_PARENT_PATH ?= "/var/lib/optee-client/data/tee"
diff --git a/meta/recipes-bsp/optee-client/optee-client-custom.inc b/meta/recipes-bsp/optee-client/optee-client-custom.inc
index 8a97af58..dcc17637 100644
--- a/meta/recipes-bsp/optee-client/optee-client-custom.inc
+++ b/meta/recipes-bsp/optee-client/optee-client-custom.inc
@@ -1,42 +1,16 @@
+# Transitional include for optee-client.bbclass
 #
-# Copyright (c) Siemens AG, 2023-2025
+# Copyright (c) Siemens AG, 2025
 #
 # Authors:
-#  Su Bao Cheng <baocheng.su@siemens.com>
+#  Jan Kiszka <jan.kiszka@siemens.com>
 #
 # SPDX-License-Identifier: MIT
 #
 
-inherit dpkg
+inherit optee-client
 
-FILESPATH:append := ":${FILE_DIRNAME}/files"
-
-DESCRIPTION = "OPTee Client"
-
-PROVIDES = "libteec1 libckteec0 libseteec0 libteeacl0.1.0"
-PROVIDES += "optee-client-dev tee-supplicant"
-
-SRC_URI += "file://debian"
-
-TEE_FS_PARENT_PATH ?= "/var/lib/optee-client/data/tee"
-# To use the builtin RPMB emulation, change to 1
-RPMB_EMU ?= "0"
-
-TEMPLATE_FILES = "debian/rules.tmpl debian/control.tmpl"
-TEMPLATE_VARS += "DEBIAN_COMPAT TEE_FS_PARENT_PATH RPMB_EMU"
-
-do_prepare_build[cleandirs] += "${S}/debian"
-do_prepare_build() {
-    cp -r ${WORKDIR}/debian ${S}/
-
-    deb_add_changelog
-
-    echo "/usr/sbin/*" > ${S}/debian/tee-supplicant.install
-    echo "lib/optee_armtz/" > ${S}/debian/tee-supplicant.dirs
-    echo "usr/lib/tee-supplicant/plugins/" >> ${S}/debian/tee-supplicant.dirs
-
-    echo "usr/lib/*/libteec*.so.*" > ${S}/debian/libteec1.install
-
-    echo "usr/include/*" > ${S}/debian/optee-client-dev.install
-    echo "usr/lib/*/lib*.so" >> ${S}/debian/optee-client-dev.install
+do_warn_custom_inc() {
+    bbwarn "Please migrate from \"require recipes-bsp/optee-client/optee-client-custom.inc\" to \"inherit optee-client\""
 }
+addtask warn_custom_inc before do_unpack
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/7166f8c5ac3d8bfe6209357a8ee7b4cd2979bde0.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 16/27] meta-isar: Switch to optee-client class
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (14 preceding siblings ...)
  2025-11-03 11:52 ` [PATCH 15/27] optee-client: Migrate to a bbclass 'Jan Kiszka' via isar-users
@ 2025-11-03 11:52 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:52 ` [PATCH 17/27] trusted-firmware-a: Migrate to a bbclass 'Jan Kiszka' via isar-users
                   ` (10 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:52 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 .../optee-client/optee-client-stm32mp15x_3.21.0.bb            | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta-isar/recipes-bsp/optee-client/optee-client-stm32mp15x_3.21.0.bb b/meta-isar/recipes-bsp/optee-client/optee-client-stm32mp15x_3.21.0.bb
index 78815fc1..c0a29e01 100644
--- a/meta-isar/recipes-bsp/optee-client/optee-client-stm32mp15x_3.21.0.bb
+++ b/meta-isar/recipes-bsp/optee-client/optee-client-stm32mp15x_3.21.0.bb
@@ -1,5 +1,5 @@
 #
-# Copyright (c) Siemens AG, 2023
+# Copyright (c) Siemens AG, 2023-2025
 #
 # Authors:
 #  Su Bao Cheng <baocheng.su@siemens.com>
@@ -7,7 +7,7 @@
 # SPDX-License-Identifier: MIT
 #
 
-require recipes-bsp/optee-client/optee-client-custom.inc
+inherit optee-client
 
 SRC_URI += "https://github.com/OP-TEE/optee_client/archive/${PV}.tar.gz;downloadfilename=optee_client-${PV}.tar.gz"
 SRC_URI[sha256sum] = "368164a539b85557d2079fa6cd839ec444869109f96de65d6569e58b0615d026"
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/b08d6635bdd5e60773b01d776813a91eee569ac1.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 17/27] trusted-firmware-a: Migrate to a bbclass
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (15 preceding siblings ...)
  2025-11-03 11:52 ` [PATCH 16/27] meta-isar: Switch to optee-client class 'Jan Kiszka' via isar-users
@ 2025-11-03 11:52 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:52 ` [PATCH 18/27] meta-isar: Switch to trusted-firmware-a class 'Jan Kiszka' via isar-users
                   ` (9 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:52 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
"inherit trusted-firmware-a" is shorter and a more common pattern
compared to OE/yocto. Keep the original .inc file as transitional
helper, issuing a warning when it's used with a migration suggestion.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 .../trusted-firmware-a.bbclass}               |  3 +-
 .../trusted-firmware-a-custom.inc             | 38 +++----------------
 2 files changed, 7 insertions(+), 34 deletions(-)
 copy meta/{recipes-bsp/trusted-firmware-a/trusted-firmware-a-custom.inc => classes-recipe/trusted-firmware-a.bbclass} (92%)
diff --git a/meta/recipes-bsp/trusted-firmware-a/trusted-firmware-a-custom.inc b/meta/classes-recipe/trusted-firmware-a.bbclass
similarity index 92%
copy from meta/recipes-bsp/trusted-firmware-a/trusted-firmware-a-custom.inc
copy to meta/classes-recipe/trusted-firmware-a.bbclass
index 9f143b13..5364b921 100644
--- a/meta/recipes-bsp/trusted-firmware-a/trusted-firmware-a-custom.inc
+++ b/meta/classes-recipe/trusted-firmware-a.bbclass
@@ -7,8 +7,7 @@
 
 inherit dpkg
 
-FILESPATH:append := ":${FILE_DIRNAME}/files"
-
+FILESPATH:append = ":${LAYERDIR_core}/recipes-bsp/trusted-firmware-a/files"
 SRC_URI += "file://debian/"
 
 DESCRIPTION ?= "Custom Trusted Firmware A"
diff --git a/meta/recipes-bsp/trusted-firmware-a/trusted-firmware-a-custom.inc b/meta/recipes-bsp/trusted-firmware-a/trusted-firmware-a-custom.inc
index 9f143b13..f65e322f 100644
--- a/meta/recipes-bsp/trusted-firmware-a/trusted-firmware-a-custom.inc
+++ b/meta/recipes-bsp/trusted-firmware-a/trusted-firmware-a-custom.inc
@@ -1,39 +1,13 @@
-# Custom Trusted Firmware A build
+# Transitional include for trusted-firmware-a.bbclass
 #
 # This software is a part of ISAR.
-# Copyright (c) Siemens AG, 2020-2025
+# Copyright (c) Siemens AG, 2025
 #
 # SPDX-License-Identifier: MIT
 
-inherit dpkg
+inherit trusted-firmware-a
 
-FILESPATH:append := ":${FILE_DIRNAME}/files"
-
-SRC_URI += "file://debian/"
-
-DESCRIPTION ?= "Custom Trusted Firmware A"
-
-TF_A_NAME ?= "${MACHINE}"
-TF_A_PLATFORM ?= "unknown"
-TF_A_EXTRA_BUILDARGS ?= ""
-TF_A_BINARIES ?= "release/bl31.bin"
-
-DEBIAN_BUILD_DEPENDS ?= ""
-
-PROVIDES += "trusted-firmware-a-${TF_A_NAME}"
-
-TEMPLATE_FILES = "debian/control.tmpl debian/rules.tmpl"
-TEMPLATE_VARS += "DEBIAN_COMPAT \
-    TF_A_NAME DEBIAN_BUILD_DEPENDS TF_A_PLATFORM TF_A_EXTRA_BUILDARGS"
-
-do_prepare_build() {
-    cp -r ${WORKDIR}/debian ${S}/
-
-    deb_add_changelog
-
-    rm -f ${S}/debian/trusted-firmware-a-${TF_A_NAME}.install
-    for binary in ${TF_A_BINARIES}; do
-        echo "build/${TF_A_PLATFORM}/$binary /usr/lib/trusted-firmware-a/${TF_A_NAME}/" >> \
-            ${S}/debian/trusted-firmware-a-${TF_A_NAME}.install
-    done
+do_warn_custom_inc() {
+    bbwarn "Please migrate from \"require recipes-bsp/trusted-firmware-a/trusted-firmware-a-custom.inc\" to \"inherit trusted-firmware-a\""
 }
+addtask warn_custom_inc before do_unpack
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/7c9907ef0a922ee23bfaf0231bd77e8151debc66.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 18/27] meta-isar: Switch to trusted-firmware-a class
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (16 preceding siblings ...)
  2025-11-03 11:52 ` [PATCH 17/27] trusted-firmware-a: Migrate to a bbclass 'Jan Kiszka' via isar-users
@ 2025-11-03 11:52 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:52 ` [PATCH 19/27] barebox: Add SPDX license identifiers 'Jan Kiszka' via isar-users
                   ` (8 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:52 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 .../trusted-firmware-a/trusted-firmware-a-beagleplay_2.10.bb  | 4 ++--
 .../trusted-firmware-a/trusted-firmware-a-stm32mp15x_2.4.bb   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/meta-isar/recipes-bsp/trusted-firmware-a/trusted-firmware-a-beagleplay_2.10.bb b/meta-isar/recipes-bsp/trusted-firmware-a/trusted-firmware-a-beagleplay_2.10.bb
index d7f82032..156907e0 100644
--- a/meta-isar/recipes-bsp/trusted-firmware-a/trusted-firmware-a-beagleplay_2.10.bb
+++ b/meta-isar/recipes-bsp/trusted-firmware-a/trusted-firmware-a-beagleplay_2.10.bb
@@ -1,9 +1,9 @@
 #
-# Copyright (c) Siemens AG, 2023-2024
+# Copyright (c) Siemens AG, 2023-2025
 #
 # SPDX-License-Identifier: MIT
 
-require recipes-bsp/trusted-firmware-a/trusted-firmware-a-custom.inc
+inherit trusted-firmware-a
 
 SRC_URI += "https://github.com/ARM-software/arm-trusted-firmware/archive/v${PV}.tar.gz;downloadfilename=arm-trusted-firmware-${PV}.tar.gz"
 SRC_URI[sha256sum] = "2e18b881ada9198173238cca80086c787b1fa3f698944bde1743142823fc511c"
diff --git a/meta-isar/recipes-bsp/trusted-firmware-a/trusted-firmware-a-stm32mp15x_2.4.bb b/meta-isar/recipes-bsp/trusted-firmware-a/trusted-firmware-a-stm32mp15x_2.4.bb
index b36dc3ee..a74b1dc5 100644
--- a/meta-isar/recipes-bsp/trusted-firmware-a/trusted-firmware-a-stm32mp15x_2.4.bb
+++ b/meta-isar/recipes-bsp/trusted-firmware-a/trusted-firmware-a-stm32mp15x_2.4.bb
@@ -1,9 +1,9 @@
 #
-# Copyright (c) Siemens AG, 2020
+# Copyright (c) Siemens AG, 2020-2025
 #
 # SPDX-License-Identifier: MIT
 
-require recipes-bsp/trusted-firmware-a/trusted-firmware-a-custom.inc
+inherit trusted-firmware-a
 
 SRC_URI += "https://github.com/ARM-software/arm-trusted-firmware/archive/v${PV}.tar.gz;downloadfilename=arm-trusted-firmware-${PV}.tar.gz"
 SRC_URI[sha256sum] = "4bfda9fdbe5022f2e88ad3344165f7d38a8ae4a0e2d91d44d9a1603425cc642d"
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/b8a0272e72a81ca1bb8ac7857a6ea311ef7cf9d8.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 19/27] barebox: Add SPDX license identifiers
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (17 preceding siblings ...)
  2025-11-03 11:52 ` [PATCH 18/27] meta-isar: Switch to trusted-firmware-a class 'Jan Kiszka' via isar-users
@ 2025-11-03 11:52 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:52 ` [PATCH 20/27] barebox: Move inherit dpkg into common .inc 'Jan Kiszka' via isar-users
                   ` (7 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:52 UTC (permalink / raw)
  To: isar-users; +Cc: Anton Mikanovich
From: Jan Kiszka <jan.kiszka@siemens.com>
Isar is MIT, so let's mark this also in these two files to avoid
confusion.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
CC: Anton Mikanovich <amikan@ilbers.de>
---
 meta-isar/recipes-bsp/barebox/barebox_2024.05.0.bb | 2 ++
 meta/recipes-bsp/barebox/barebox.inc               | 2 ++
 2 files changed, 4 insertions(+)
diff --git a/meta-isar/recipes-bsp/barebox/barebox_2024.05.0.bb b/meta-isar/recipes-bsp/barebox/barebox_2024.05.0.bb
index fb048fae..7922fdc5 100644
--- a/meta-isar/recipes-bsp/barebox/barebox_2024.05.0.bb
+++ b/meta-isar/recipes-bsp/barebox/barebox_2024.05.0.bb
@@ -1,5 +1,7 @@
 # This software is a part of ISAR.
 # Copyright (C) 2022 ilbers GmbH
+#
+# SPDX-License-Identifier: MIT
 
 inherit dpkg
 
diff --git a/meta/recipes-bsp/barebox/barebox.inc b/meta/recipes-bsp/barebox/barebox.inc
index 33470433..e06626d0 100644
--- a/meta/recipes-bsp/barebox/barebox.inc
+++ b/meta/recipes-bsp/barebox/barebox.inc
@@ -1,5 +1,7 @@
 # This software is a part of ISAR.
 # Copyright (C) 2022 ilbers GmbH
+#
+# SPDX-License-Identifier: MIT
 
 DESCRIPTION ?= "The barebox is a bootloader designed for embedded systems. It \
                 runs on a variety of architectures including x86, ARM, MIPS, \
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/0307ef4e61dcd6b65d89f60336a7ec77924ed717.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 20/27] barebox: Move inherit dpkg into common .inc
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (18 preceding siblings ...)
  2025-11-03 11:52 ` [PATCH 19/27] barebox: Add SPDX license identifiers 'Jan Kiszka' via isar-users
@ 2025-11-03 11:52 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:52 ` [PATCH 21/27] barebox: Migrate to a bbclass 'Jan Kiszka' via isar-users
                   ` (6 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:52 UTC (permalink / raw)
  To: isar-users; +Cc: Anton Mikanovich
From: Jan Kiszka <jan.kiszka@siemens.com>
Align with other recipe inc files.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
CC: Anton Mikanovich <amikan@ilbers.de>
---
 RECIPE-API-CHANGELOG.md                            | 5 +++++
 meta-isar/recipes-bsp/barebox/barebox_2024.05.0.bb | 2 --
 meta/recipes-bsp/barebox/barebox.inc               | 2 ++
 3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
index 1826667a..e82cdf33 100644
--- a/RECIPE-API-CHANGELOG.md
+++ b/RECIPE-API-CHANGELOG.md
@@ -797,3 +797,8 @@ root file modifications) are required.
 A new class called `opensbi` has been introduced that shall help writing
 shorter recipes for custom OpenSBI builds. Usage examples can be found in
 `meta-isar/recipes/bsp/opensbi`.
+
+### barebox.inc inherits dpkg itself
+
+There is no longer the need to explicitly inherit dpkg in custom barebox
+recipes if the helper include is used.
diff --git a/meta-isar/recipes-bsp/barebox/barebox_2024.05.0.bb b/meta-isar/recipes-bsp/barebox/barebox_2024.05.0.bb
index 7922fdc5..eee403b0 100644
--- a/meta-isar/recipes-bsp/barebox/barebox_2024.05.0.bb
+++ b/meta-isar/recipes-bsp/barebox/barebox_2024.05.0.bb
@@ -3,8 +3,6 @@
 #
 # SPDX-License-Identifier: MIT
 
-inherit dpkg
-
 require recipes-bsp/barebox/barebox.inc
 
 SRC_URI += "https://github.com/barebox/${PN}/archive/refs/tags/v${PV}.tar.gz;downloadfilename=${P}.tar.gz \
diff --git a/meta/recipes-bsp/barebox/barebox.inc b/meta/recipes-bsp/barebox/barebox.inc
index e06626d0..a11ef9e2 100644
--- a/meta/recipes-bsp/barebox/barebox.inc
+++ b/meta/recipes-bsp/barebox/barebox.inc
@@ -3,6 +3,8 @@
 #
 # SPDX-License-Identifier: MIT
 
+inherit dpkg
+
 DESCRIPTION ?= "The barebox is a bootloader designed for embedded systems. It \
                 runs on a variety of architectures including x86, ARM, MIPS, \
                 PowerPC and others."
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/7a7f54eb1f7061c054593030fd3736a1269506ce.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 21/27] barebox: Migrate to a bbclass
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (19 preceding siblings ...)
  2025-11-03 11:52 ` [PATCH 20/27] barebox: Move inherit dpkg into common .inc 'Jan Kiszka' via isar-users
@ 2025-11-03 11:52 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:52 ` [PATCH 22/27] meta-isar: Switch to barebox class 'Jan Kiszka' via isar-users
                   ` (5 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:52 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
"inherit barebox" is shorter and a more common pattern compared to
OE/yocto. Keep the original .inc file as transitional helper, issuing a
warning when it's used with a migration suggestion.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 .../barebox.bbclass}                          |  3 +-
 meta/recipes-bsp/barebox/barebox.inc          | 60 +++----------------
 2 files changed, 9 insertions(+), 54 deletions(-)
 copy meta/{recipes-bsp/barebox/barebox.inc => classes-recipe/barebox.bbclass} (95%)
diff --git a/meta/recipes-bsp/barebox/barebox.inc b/meta/classes-recipe/barebox.bbclass
similarity index 95%
copy from meta/recipes-bsp/barebox/barebox.inc
copy to meta/classes-recipe/barebox.bbclass
index a11ef9e2..63c70fa1 100644
--- a/meta/recipes-bsp/barebox/barebox.inc
+++ b/meta/classes-recipe/barebox.bbclass
@@ -1,5 +1,6 @@
 # This software is a part of ISAR.
 # Copyright (C) 2022 ilbers GmbH
+# Copyright (c) Siemens, 2025
 #
 # SPDX-License-Identifier: MIT
 
@@ -18,7 +19,7 @@ BAREBOX_BUILD_DIR ?= "build"
 BAREBOX_VERSION_EXTENSION ?= ""
 BAREBOX_ENV ?= ""
 
-FILESPATH:append := ":${FILE_DIRNAME}/files"
+FILESPATH:append = ":${LAYERDIR_core}/recipes-bsp/barebox/files"
 SRC_URI += "file://rules.tmpl \
             file://version.cfg.tmpl \
             file://defaultenv.cfg.tmpl"
diff --git a/meta/recipes-bsp/barebox/barebox.inc b/meta/recipes-bsp/barebox/barebox.inc
index a11ef9e2..90004a70 100644
--- a/meta/recipes-bsp/barebox/barebox.inc
+++ b/meta/recipes-bsp/barebox/barebox.inc
@@ -1,59 +1,13 @@
+# Transitional include for barebox.bbclass
+#
 # This software is a part of ISAR.
-# Copyright (C) 2022 ilbers GmbH
+# Copyright (c) Siemens AG, 2025
 #
 # SPDX-License-Identifier: MIT
 
-inherit dpkg
-
-DESCRIPTION ?= "The barebox is a bootloader designed for embedded systems. It \
-                runs on a variety of architectures including x86, ARM, MIPS, \
-                PowerPC and others."
-CHANGELOG_V = "${PV}+${PR}"
-MAINTAINER ?= "isar-users <isar-users@googlegroups.com>"
-
-DEBIAN_BUILD_DEPENDS ?= "lzop, coreutils, bison, flex, lz4"
-
-BAREBOX_CONFIG ?= ""
-BAREBOX_BUILD_DIR ?= "build"
-BAREBOX_VERSION_EXTENSION ?= ""
-BAREBOX_ENV ?= ""
-
-FILESPATH:append := ":${FILE_DIRNAME}/files"
-SRC_URI += "file://rules.tmpl \
-            file://version.cfg.tmpl \
-            file://defaultenv.cfg.tmpl"
-
-BAREBOX_CONFIG_FRAGMENTS = "version.cfg defaultenv.cfg"
-
-SRC_URI += "${@'file://%s' % d.getVar('BAREBOX_ENV') if d.getVar('BAREBOX_ENV') else ''}"
-
-TEMPLATE_FILES += "rules.tmpl version.cfg.tmpl defaultenv.cfg.tmpl"
-TEMPLATE_VARS += "BAREBOX_CONFIG BAREBOX_BUILD_DIR BAREBOX_VERSION_EXTENSION BAREBOX_ENV BAREBOX_CONFIG_FRAGMENTS BAREBOX_BASE_BIN"
-
-do_prepare_build[cleandirs] += "${S}/debian"
-do_prepare_build() {
-    deb_debianize
-
-    if [ -n "${BAREBOX_CONFIG_FRAGMENTS}" ]; then
-        (cd ${WORKDIR} && cp ${BAREBOX_CONFIG_FRAGMENTS} ${S}/)
-    fi
-    if [ -n "${BAREBOX_ENV}" ]; then
-        (cd ${WORKDIR} && cp -r ${BAREBOX_ENV} ${S}/)
-    fi
-}
-
-BAREBOX_BASE_BIN ?= "barebox"
-
-do_deploy[dirs] = "${DEPLOY_DIR_IMAGE}"
-do_deploy() {
-    dpkg --fsys-tarfile ${WORKDIR}/${PN}_${CHANGELOG_V}_${DISTRO_ARCH}.deb | \
-        tar xOf - ./usr/lib/barebox/barebox.bin \
-        > "${DEPLOY_DIR_IMAGE}/${BAREBOX_BASE_BIN}.img"
-    ln -sf ${BAREBOX_BASE_BIN}.img ${DEPLOY_DIR_IMAGE}/barebox.bin
+inherit barebox
 
-    dpkg --fsys-tarfile ${WORKDIR}/${PN}_${CHANGELOG_V}_${DISTRO_ARCH}.deb | \
-        tar xOf - ./usr/lib/barebox/barebox.config \
-        > "${DEPLOY_DIR_IMAGE}/${BAREBOX_BASE_BIN}.config"
-    ln -sf ${BAREBOX_BASE_BIN}.config ${DEPLOY_DIR_IMAGE}/barebox.config
+do_warn_custom_inc() {
+    bbwarn "Please migrate from \"require recipes-bsp/barebox/barebox.inc\" to \"inherit barebox\""
 }
-addtask deploy before do_deploy_deb after do_dpkg_build
+addtask warn_custom_inc before do_unpack
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/df215db6b6e6d1cf8d3fa631237bc15896de5d76.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 22/27] meta-isar: Switch to barebox class
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (20 preceding siblings ...)
  2025-11-03 11:52 ` [PATCH 21/27] barebox: Migrate to a bbclass 'Jan Kiszka' via isar-users
@ 2025-11-03 11:52 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:52 ` [PATCH 23/27] initramfs-hook: Migrate to a bbclass 'Jan Kiszka' via isar-users
                   ` (4 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:52 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 meta-isar/recipes-bsp/barebox/barebox_2024.05.0.bb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/meta-isar/recipes-bsp/barebox/barebox_2024.05.0.bb b/meta-isar/recipes-bsp/barebox/barebox_2024.05.0.bb
index eee403b0..056849a0 100644
--- a/meta-isar/recipes-bsp/barebox/barebox_2024.05.0.bb
+++ b/meta-isar/recipes-bsp/barebox/barebox_2024.05.0.bb
@@ -1,9 +1,10 @@
 # This software is a part of ISAR.
 # Copyright (C) 2022 ilbers GmbH
+# Copyright (c) Siemens AG, 2025
 #
 # SPDX-License-Identifier: MIT
 
-require recipes-bsp/barebox/barebox.inc
+inherit barebox
 
 SRC_URI += "https://github.com/barebox/${PN}/archive/refs/tags/v${PV}.tar.gz;downloadfilename=${P}.tar.gz \
             file://0001-of_dump-Add-a-simple-node-check-up.patch"
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/98ebe0409c1d115110833fb09b990e371520bc2c.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 23/27] initramfs-hook: Migrate to a bbclass
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (21 preceding siblings ...)
  2025-11-03 11:52 ` [PATCH 22/27] meta-isar: Switch to barebox class 'Jan Kiszka' via isar-users
@ 2025-11-03 11:52 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:52 ` [PATCH 24/27] meta[-isar]: Switch to initramfs-hook class 'Jan Kiszka' via isar-users
                   ` (3 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:52 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
"inherit initramfs-hook" is shorter and a more common pattern compared
to OE/yocto. Keep the original .inc file as transitional helper, issuing
a warning when it's used with a migration suggestion.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 doc/user_manual.md                            |  5 +-
 .../initramfs-hook.bbclass}                   |  5 +-
 .../recipes-initramfs/initramfs-hook/hook.inc | 82 ++-----------------
 3 files changed, 11 insertions(+), 81 deletions(-)
 copy meta/{recipes-initramfs/initramfs-hook/hook.inc => classes-recipe/initramfs-hook.bbclass} (94%)
diff --git a/doc/user_manual.md b/doc/user_manual.md
index b577f76c..3064c17b 100644
--- a/doc/user_manual.md
+++ b/doc/user_manual.md
@@ -1691,9 +1691,8 @@ Debian-generated image with a separately built one.
 ### Creating initramfs hooks
 
 To create an initramfs hook that adds tools or modules to the image and may
-also run custom scripts during boot, use the include file
-`recipes-initramfs/initramfs-hook/hook.inc`. It is controlled via a number of
-variables:
+also run custom scripts during boot, use the `initramfs-hook` class. It is
+controlled via a number of variables:
 
  - `HOOK_PREREQ` defines the prerequisites for running the hook script.
  - `HOOK_ADD_MODULES` passes the provided modules names to the
diff --git a/meta/recipes-initramfs/initramfs-hook/hook.inc b/meta/classes-recipe/initramfs-hook.bbclass
similarity index 94%
copy from meta/recipes-initramfs/initramfs-hook/hook.inc
copy to meta/classes-recipe/initramfs-hook.bbclass
index c80b781d..ef3ae06e 100644
--- a/meta/recipes-initramfs/initramfs-hook/hook.inc
+++ b/meta/classes-recipe/initramfs-hook.bbclass
@@ -1,5 +1,5 @@
 #
-# Copyright (c) Siemens AG, 2024
+# Copyright (c) Siemens AG, 2024-2025
 #
 # Authors:
 #  Jan Kiszka <jan.kiszka@siemens.com>
@@ -7,10 +7,9 @@
 # SPDX-License-Identifier: MIT
 #
 
-FILESPATH:append := ":${FILE_DIRNAME}/files"
-
 inherit dpkg-raw
 
+FILESPATH:append = ":${LAYERDIR_core}/recipes-initramfs/initramfs-hook/files"
 SRC_URI = " \
     file://hook-header.tmpl \
     file://script-header.tmpl"
diff --git a/meta/recipes-initramfs/initramfs-hook/hook.inc b/meta/recipes-initramfs/initramfs-hook/hook.inc
index c80b781d..0ef89154 100644
--- a/meta/recipes-initramfs/initramfs-hook/hook.inc
+++ b/meta/recipes-initramfs/initramfs-hook/hook.inc
@@ -1,81 +1,13 @@
+# Transitional include for u-boot.bbclass
 #
-# Copyright (c) Siemens AG, 2024
-#
-# Authors:
-#  Jan Kiszka <jan.kiszka@siemens.com>
+# This software is a part of ISAR.
+# Copyright (c) Siemens AG, 2025
 #
 # SPDX-License-Identifier: MIT
-#
-
-FILESPATH:append := ":${FILE_DIRNAME}/files"
-
-inherit dpkg-raw
-
-SRC_URI = " \
-    file://hook-header.tmpl \
-    file://script-header.tmpl"
-
-TEMPLATE_FILES = " \
-    hook-header.tmpl \
-    script-header.tmpl"
-
-TEMPLATE_VARS:append = " \
-    HOOK_PREREQ \
-    HOOK_ADD_MODULES \
-    HOOK_COPY_EXECS \
-    SCRIPT_PREREQ"
-
-HOOK_PREREQ ?= ""
-HOOK_ADD_MODULES ?= ""
-HOOK_COPY_EXECS ?= ""
-SCRIPT_PREREQ ?= ""
-
-DEBIAN_DEPENDS = "initramfs-tools"
-
-def get_initramfs_hook_name(d):
-    name = d.getVar('BPN')
-    if name.startswith("initramfs-"):
-        name = name[10:]
-    if name.endswith("-hook"):
-        name = name[:-5]
-    return name
-
-INITRAMFS_HOOK_NAME ?= "${@get_initramfs_hook_name(d)}"
-
-do_install() {
-	if [ -f "${WORKDIR}/hook" ] || [ -n "${HOOK_COPY_EXECS}" ] || \
-	   [ -n "${HOOK_ADD_MODULES}" ]; then
-		rm -rf "${D}/usr/share/initramfs-tools/hooks"
-		install -d -m 0755 "${D}/usr/share/initramfs-tools/hooks"
-
-		install -m 0755 "${WORKDIR}/hook-header" \
-			"${D}/usr/share/initramfs-tools/hooks/${INITRAMFS_HOOK_NAME}"
-		if [ -f "${WORKDIR}/hook" ]; then
-			cat "${WORKDIR}/hook" >> \
-			    "${D}/usr/share/initramfs-tools/hooks/${INITRAMFS_HOOK_NAME}"
-		else
-			echo "exit 0" >> \
-			    "${D}/usr/share/initramfs-tools/hooks/${INITRAMFS_HOOK_NAME}"
-		fi
-	fi
 
-	for script in init-top init-premount local-top nfs-top local-block \
-		      local-premount nfs-premount local-bottom nfs-bottom \
-		      init-bottom; do
-		if [ ! -f "${WORKDIR}/$script" ] && [ ! -f "${WORKDIR}/${script}-complete" ]; then
-			continue
-		fi
+inherit initramfs-hook
 
-		rm -rf "${D}/usr/share/initramfs-tools/scripts/$script"
-		install -d -m 0755 "${D}/usr/share/initramfs-tools/scripts/$script"
-		if [ -f "${WORKDIR}/${script}" ]; then
-			install -m 0755 "${WORKDIR}/script-header" \
-				"${D}/usr/share/initramfs-tools/scripts/$script/${INITRAMFS_HOOK_NAME}"
-			cat "${WORKDIR}/$script" >> \
-			    "${D}/usr/share/initramfs-tools/scripts/$script/${INITRAMFS_HOOK_NAME}"
-		else
-			install -m 0755 "${WORKDIR}/${script}-complete" \
-				"${D}/usr/share/initramfs-tools/scripts/$script/${INITRAMFS_HOOK_NAME}"
-		fi
-	done
+do_warn_custom_inc() {
+    bbwarn "Please migrate from \"require recipes-initramfs/initramfs-hook/hook.inc\" to \"inherit initramfs-hook\""
 }
+addtask warn_custom_inc before do_unpack
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/cf867c1d0ef5095dc9cb88fbe27d45fdc1df9a84.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 24/27] meta[-isar]: Switch to initramfs-hook class
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (22 preceding siblings ...)
  2025-11-03 11:52 ` [PATCH 23/27] initramfs-hook: Migrate to a bbclass 'Jan Kiszka' via isar-users
@ 2025-11-03 11:52 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:52 ` [PATCH 25/27] container-loader: Migrate to bbclass'es 'Jan Kiszka' via isar-users
                   ` (2 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:52 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 .../initramfs-example/initramfs-isar-example-hook_0.1.bb      | 2 +-
 .../initramfs-fsck-hook/initramfs-fsck-ext4-hook_0.3.bb       | 4 ++--
 .../initramfs-tee-ftpm-hook/initramfs-tee-ftpm-hook_0.3.bb    | 2 +-
 .../initramfs-tee-supplicant-hook_0.2.bb                      | 4 ++--
 4 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/meta-isar/recipes-initramfs/initramfs-example/initramfs-isar-example-hook_0.1.bb b/meta-isar/recipes-initramfs/initramfs-example/initramfs-isar-example-hook_0.1.bb
index 8c600639..2ee353d0 100644
--- a/meta-isar/recipes-initramfs/initramfs-example/initramfs-isar-example-hook_0.1.bb
+++ b/meta-isar/recipes-initramfs/initramfs-example/initramfs-isar-example-hook_0.1.bb
@@ -4,7 +4,7 @@
 #
 # This software is a part of ISAR.
 
-require recipes-initramfs/initramfs-hook/hook.inc
+inherit initramfs-hook
 
 DESCRIPTION = "Sample initramfs module for ISAR"
 MAINTAINER = "Your name here <you@domain.com>"
diff --git a/meta/recipes-initramfs/initramfs-fsck-hook/initramfs-fsck-ext4-hook_0.3.bb b/meta/recipes-initramfs/initramfs-fsck-hook/initramfs-fsck-ext4-hook_0.3.bb
index c4d10c44..ef44e315 100644
--- a/meta/recipes-initramfs/initramfs-fsck-hook/initramfs-fsck-ext4-hook_0.3.bb
+++ b/meta/recipes-initramfs/initramfs-fsck-hook/initramfs-fsck-ext4-hook_0.3.bb
@@ -1,11 +1,11 @@
 # This software is a part of ISAR.
-# Copyright (C) Siemens AG, 2019-2024
+# Copyright (C) Siemens AG, 2019-2025
 #
 # SPDX-License-Identifier: MIT
 
 DESCRIPTION = "Recipe to add fsck hook to the initramfs"
 
-require recipes-initramfs/initramfs-hook/hook.inc
+inherit initramfs-hook
 
 SRC_URI += "file://initramfs-fsck-hook-ext4.triggers"
 
diff --git a/meta/recipes-initramfs/initramfs-tee-ftpm-hook/initramfs-tee-ftpm-hook_0.3.bb b/meta/recipes-initramfs/initramfs-tee-ftpm-hook/initramfs-tee-ftpm-hook_0.3.bb
index 94399374..aa9da9c8 100644
--- a/meta/recipes-initramfs/initramfs-tee-ftpm-hook/initramfs-tee-ftpm-hook_0.3.bb
+++ b/meta/recipes-initramfs/initramfs-tee-ftpm-hook/initramfs-tee-ftpm-hook_0.3.bb
@@ -6,7 +6,7 @@
 # SPDX-License-Identifier: MIT
 #
 
-require recipes-initramfs/initramfs-hook/hook.inc
+inherit initramfs-hook
 
 # Can be disabled with kernel 6.12 and above
 # NOTE: default will eventually be flipped
diff --git a/meta/recipes-initramfs/initramfs-tee-supplicant-hook/initramfs-tee-supplicant-hook_0.2.bb b/meta/recipes-initramfs/initramfs-tee-supplicant-hook/initramfs-tee-supplicant-hook_0.2.bb
index b9dedfd3..c744be4a 100644
--- a/meta/recipes-initramfs/initramfs-tee-supplicant-hook/initramfs-tee-supplicant-hook_0.2.bb
+++ b/meta/recipes-initramfs/initramfs-tee-supplicant-hook/initramfs-tee-supplicant-hook_0.2.bb
@@ -1,4 +1,4 @@
-# Copyright (c) Siemens AG, 2023-2024
+# Copyright (c) Siemens AG, 2023-2025
 #
 # Authors:
 #  Su Bao Cheng <baocheng.su@siemens.com>
@@ -6,7 +6,7 @@
 # SPDX-License-Identifier: MIT
 #
 
-require recipes-initramfs/initramfs-hook/hook.inc
+inherit initramfs-hook
 
 SRC_URI += "file://local-top"
 
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/53b3be6fa6804ab45568cb84a3e6f26cb3d975d7.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 25/27] container-loader: Migrate to bbclass'es
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (23 preceding siblings ...)
  2025-11-03 11:52 ` [PATCH 24/27] meta[-isar]: Switch to initramfs-hook class 'Jan Kiszka' via isar-users
@ 2025-11-03 11:52 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:52 ` [PATCH 26/27] meta-isar: Switch to {docker,podman}-loader classes 'Jan Kiszka' via isar-users
  2025-11-03 11:52 ` [PATCH 27/27] RECIPES-API-CHANGELOG: Document include to class conversion 'Jan Kiszka' via isar-users
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:52 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
"inherit {docker,podman}-loader" is shorter and a more common pattern
compared to OE/yocto. Keep the original .inc files as transitional
helpers, issuing a warning when they are used with a migration
suggestion.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 doc/user_manual.md                                  | 12 +++++-------
 .../container-loader.bbclass}                       |  5 ++---
 .../docker-loader.bbclass}                          |  4 ++--
 .../podman-loader.bbclass}                          |  4 ++--
 .../container-loader/docker-loader.inc              | 13 ++++++++-----
 .../container-loader/podman-loader.inc              | 13 ++++++++-----
 6 files changed, 27 insertions(+), 24 deletions(-)
 rename meta/{recipes-support/container-loader/container-loader.inc => classes-recipe/container-loader.bbclass} (94%)
 copy meta/{recipes-support/container-loader/docker-loader.inc => classes-recipe/docker-loader.bbclass} (70%)
 copy meta/{recipes-support/container-loader/podman-loader.inc => classes-recipe/podman-loader.bbclass} (68%)
diff --git a/doc/user_manual.md b/doc/user_manual.md
index 3064c17b..26562dfa 100644
--- a/doc/user_manual.md
+++ b/doc/user_manual.md
@@ -1652,12 +1652,10 @@ image name, replacing all `/` with `.` and appending `:<tag>.zst`. Example:
 
 To create a Debian package which can carry container images and load them into
 local storage of docker or podman, there is a set of helpers available. To use
-them in an own recipe, add
-`require recipes-support/container-loader/docker-loader.inc` when using docker
-and `require recipes-support/container-loader/podman-loader.inc` when using
-podman. The loader will try to transfer the packaged image into the container
-runtime storage on boot, but only if no container image of the same name and
-tag is present already.
+them in an own recipe, add `inherit docker-loader` when using docker and
+`inherit podman-loader` when using podman. The loader will try to transfer the
+packaged image into the container runtime storage on boot, but only if no
+container image of the same name and tag is present already.
 
 Unless `CONTAINER_DELETE_AFTER_LOAD` is set to `1`, the source container images
 remain by default available and may be used again for loading the storage after
@@ -1675,7 +1673,7 @@ runtime services are installed on the target as well. The packaged image will
 be deleted from the target device's rootfs after successful import.
 
 ```
-require recipes-support/container-loader/docker-loader.inc
+inherit docker-loader
 
 CONTAINER_DELETE_AFTER_LOAD = "1"
 
diff --git a/meta/recipes-support/container-loader/container-loader.inc b/meta/classes-recipe/container-loader.bbclass
similarity index 94%
rename from meta/recipes-support/container-loader/container-loader.inc
rename to meta/classes-recipe/container-loader.bbclass
index 90c16228..f76480be 100644
--- a/meta/recipes-support/container-loader/container-loader.inc
+++ b/meta/classes-recipe/container-loader.bbclass
@@ -1,12 +1,11 @@
 # This software is a part of ISAR.
-# Copyright (c) Siemens AG, 2024
+# Copyright (c) Siemens AG, 2024-2025
 #
 # SPDX-License-Identifier: MIT
 
-FILESPATH:append := ":${FILE_DIRNAME}/files"
-
 inherit dpkg-raw
 
+FILESPATH:append = ":${LAYERDIR_core}/recipes-support/container-loader/files"
 SRC_URI += " \
     file://container-loader.service.tmpl \
     file://container-loader.sh.tmpl"
diff --git a/meta/recipes-support/container-loader/docker-loader.inc b/meta/classes-recipe/docker-loader.bbclass
similarity index 70%
copy from meta/recipes-support/container-loader/docker-loader.inc
copy to meta/classes-recipe/docker-loader.bbclass
index b864c854..8fc87759 100644
--- a/meta/recipes-support/container-loader/docker-loader.inc
+++ b/meta/classes-recipe/docker-loader.bbclass
@@ -1,9 +1,9 @@
 # This software is a part of ISAR.
-# Copyright (c) Siemens AG, 2024
+# Copyright (c) Siemens AG, 2024-2025
 #
 # SPDX-License-Identifier: MIT
 
-require container-loader.inc
+inherit container-loader
 
 CONTAINER_ENGINE = "docker"
 
diff --git a/meta/recipes-support/container-loader/podman-loader.inc b/meta/classes-recipe/podman-loader.bbclass
similarity index 68%
copy from meta/recipes-support/container-loader/podman-loader.inc
copy to meta/classes-recipe/podman-loader.bbclass
index d2c9a12d..30b1a088 100644
--- a/meta/recipes-support/container-loader/podman-loader.inc
+++ b/meta/classes-recipe/podman-loader.bbclass
@@ -1,9 +1,9 @@
 # This software is a part of ISAR.
-# Copyright (c) Siemens AG, 2024
+# Copyright (c) Siemens AG, 2024-2025
 #
 # SPDX-License-Identifier: MIT
 
-require container-loader.inc
+inherit container-loader
 
 CONTAINER_ENGINE = "podman"
 
diff --git a/meta/recipes-support/container-loader/docker-loader.inc b/meta/recipes-support/container-loader/docker-loader.inc
index b864c854..8dde04ee 100644
--- a/meta/recipes-support/container-loader/docker-loader.inc
+++ b/meta/recipes-support/container-loader/docker-loader.inc
@@ -1,10 +1,13 @@
+# Transitional include for docker-loader.bbclass
+#
 # This software is a part of ISAR.
-# Copyright (c) Siemens AG, 2024
+# Copyright (c) Siemens AG, 2025
 #
 # SPDX-License-Identifier: MIT
 
-require container-loader.inc
-
-CONTAINER_ENGINE = "docker"
+inherit docker-loader
 
-CONTAINER_ENGINE_PACKAGES ?= "docker.io, apparmor"
+do_warn_custom_inc() {
+    bbwarn "Please migrate from \"require recipes-support/container-loader/docker-loader.inc\" to \"inherit docker-loader\""
+}
+addtask warn_custom_inc before do_unpack
diff --git a/meta/recipes-support/container-loader/podman-loader.inc b/meta/recipes-support/container-loader/podman-loader.inc
index d2c9a12d..dc8bc30f 100644
--- a/meta/recipes-support/container-loader/podman-loader.inc
+++ b/meta/recipes-support/container-loader/podman-loader.inc
@@ -1,10 +1,13 @@
+# Transitional include for podman-loader.bbclass
+#
 # This software is a part of ISAR.
-# Copyright (c) Siemens AG, 2024
+# Copyright (c) Siemens AG, 2025
 #
 # SPDX-License-Identifier: MIT
 
-require container-loader.inc
-
-CONTAINER_ENGINE = "podman"
+inherit podman-loader
 
-CONTAINER_ENGINE_PACKAGES ?= "podman"
+do_warn_custom_inc() {
+    bbwarn "Please migrate from \"require recipes-support/container-loader/podman-loader.inc\" to \"inherit podman-loader\""
+}
+addtask warn_custom_inc before do_unpack
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/c47e8f372e9c3c1487a831a4e60d308b997e9df8.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 26/27] meta-isar: Switch to {docker,podman}-loader classes
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (24 preceding siblings ...)
  2025-11-03 11:52 ` [PATCH 25/27] container-loader: Migrate to bbclass'es 'Jan Kiszka' via isar-users
@ 2025-11-03 11:52 ` 'Jan Kiszka' via isar-users
  2025-11-03 11:52 ` [PATCH 27/27] RECIPES-API-CHANGELOG: Document include to class conversion 'Jan Kiszka' via isar-users
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:52 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 .../recipes-app/prebuilt-container/prebuilt-docker-img_0.1.bb | 4 ++--
 .../recipes-app/prebuilt-container/prebuilt-podman-img_0.1.bb | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/meta-isar/recipes-app/prebuilt-container/prebuilt-docker-img_0.1.bb b/meta-isar/recipes-app/prebuilt-container/prebuilt-docker-img_0.1.bb
index 0dfc9b8f..fdf7adaf 100644
--- a/meta-isar/recipes-app/prebuilt-container/prebuilt-docker-img_0.1.bb
+++ b/meta-isar/recipes-app/prebuilt-container/prebuilt-docker-img_0.1.bb
@@ -1,9 +1,9 @@
 # This software is a part of ISAR.
-# Copyright (c) Siemens AG, 2024
+# Copyright (c) Siemens AG, 2024-2025
 #
 # SPDX-License-Identifier: MIT
 
-require recipes-support/container-loader/docker-loader.inc
+inherit docker-loader
 
 CONTAINER_DELETE_AFTER_LOAD = "1"
 
diff --git a/meta-isar/recipes-app/prebuilt-container/prebuilt-podman-img_0.1.bb b/meta-isar/recipes-app/prebuilt-container/prebuilt-podman-img_0.1.bb
index e671a494..f6e43054 100644
--- a/meta-isar/recipes-app/prebuilt-container/prebuilt-podman-img_0.1.bb
+++ b/meta-isar/recipes-app/prebuilt-container/prebuilt-podman-img_0.1.bb
@@ -1,9 +1,9 @@
 # This software is a part of ISAR.
-# Copyright (c) Siemens AG, 2024
+# Copyright (c) Siemens AG, 2024-2025
 #
 # SPDX-License-Identifier: MIT
 
-require recipes-support/container-loader/podman-loader.inc
+inherit podman-loader
 
 SRC_URI += "\
     docker://quay.io/libpod/alpine;tag=latest \
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/f8dd17081854b184605a0a8991657d92aa2b0c99.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 27/27] RECIPES-API-CHANGELOG: Document include to class conversion
  2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (25 preceding siblings ...)
  2025-11-03 11:52 ` [PATCH 26/27] meta-isar: Switch to {docker,podman}-loader classes 'Jan Kiszka' via isar-users
@ 2025-11-03 11:52 ` 'Jan Kiszka' via isar-users
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-03 11:52 UTC (permalink / raw)
  To: isar-users
From: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 RECIPE-API-CHANGELOG.md | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
index e82cdf33..b1c519a1 100644
--- a/RECIPE-API-CHANGELOG.md
+++ b/RECIPE-API-CHANGELOG.md
@@ -802,3 +802,30 @@ shorter recipes for custom OpenSBI builds. Usage examples can be found in
 
 There is no longer the need to explicitly inherit dpkg in custom barebox
 recipes if the helper include is used.
+
+### Conversion of recipe helper includes to classes
+
+All recipes helper include like `recipes-kernel/linux/linux-custom.inc` have
+been migrated to classes. The following transitions were applied:
+
+ - `recipes-kernel/linux/linux-custom.inc` -> `linux-kernel.bbclass`
+ - `recipes-kernel/linux-module/module.inc` -> `linux-module.bbclass`
+ - `recipes-kernel/kselftest/kselftest.inc` -> `kselftest.bbclass`
+ - `recipes-bsp/u-boot/u-boot-custom.inc` -> `u-boot.bbclass`
+ - `recipes-bsp/optee-os/optee-os-custom.inc` -> `optee-os.bbclass`
+ - `recipes-bsp/optee-os/optee-os-tadevkit-custom.inc` -> `optee-os-tadevkit.bbclass`
+ - `recipes-bsp/optee-client/optee-client-custom.inc` -> `optee-client.bbclass`
+ - `recipes-bsp/trusted-firmware-a/trusted-firmware-a-custom.inc` -> `trusted-firmware-a.bbclass`
+ - `recipes-bsp/barebox/barebox.inc` -> `barebox.bbclass`
+ - `recipes-initramfs/initramfs-hook/hook.inc` -> `initramfs-hook.bbclass`
+ - `recipes-support/container-loader/docker-loader.inc` -> `docker-loader.bbclass`
+ - `recipes-support/container-loader/podman-loader.inc` -> `podman-loader.bbclass`
+
+The following includes were considered internal and are no longer available:
+
+ - `recipes-bsp/optee-os/optee-os.inc`
+ - `recipes-support/container-loader/container-loader.inc`
+
+The other original includes still exist and inherit the corresponding new
+class. However, they issue a warning to perform the recommended conversion
+because these transitional includes will eventually be dropped.
-- 
2.51.0
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/aa66a1cfd148e97bcd81b75b1368f3e908d9a691.1762170735.git.jan.kiszka%40siemens.com.
^ permalink raw reply	[flat|nested] 28+ messages in thread
end of thread, other threads:[~2025-11-03 12:05 UTC | newest]
Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-03 11:51 [PATCH 00/27] Use more classes! 'Jan Kiszka' via isar-users
2025-11-03 11:51 ` [PATCH 01/27] linux-custom: Drop redundant template inheritance 'Jan Kiszka' via isar-users
2025-11-03 11:51 ` [PATCH 02/27] meta: Move INHERIT'ed classes into classes-global 'Jan Kiszka' via isar-users
2025-11-03 11:51 ` [PATCH 03/27] meta: Move recipe-pulled classes into classes-recipe 'Jan Kiszka' via isar-users
2025-11-03 11:51 ` [PATCH 04/27] meta-isar: " 'Jan Kiszka' via isar-users
2025-11-03 11:51 ` [PATCH 05/27] linux-custom: Migrate to a bbclass 'Jan Kiszka' via isar-users
2025-11-03 11:51 ` [PATCH 06/27] meta-isar: Switch to linux-kernel class 'Jan Kiszka' via isar-users
2025-11-03 11:51 ` [PATCH 07/27] linux-module: Migrate to a bbclasss 'Jan Kiszka' via isar-users
2025-11-03 11:51 ` [PATCH 08/27] meta-isar: Switch to linux-module class 'Jan Kiszka' via isar-users
2025-11-03 11:51 ` [PATCH 09/27] kselftest: Migrate to a bbclass 'Jan Kiszka' via isar-users
2025-11-03 11:51 ` [PATCH 10/27] meta-isar: Switch to kselftest class 'Jan Kiszka' via isar-users
2025-11-03 11:51 ` [PATCH 11/27] u-boot-custom: Migrate to a bbclass 'Jan Kiszka' via isar-users
2025-11-03 11:52 ` [PATCH 12/27] meta-isar: Switch to u-boot class 'Jan Kiszka' via isar-users
2025-11-03 11:52 ` [PATCH 13/27] optee-os[-tadevkit]-custom: Migrate to bbclass'es 'Jan Kiszka' via isar-users
2025-11-03 11:52 ` [PATCH 14/27] meta-isar: Switch to optee-os[-tadevkit] classes 'Jan Kiszka' via isar-users
2025-11-03 11:52 ` [PATCH 15/27] optee-client: Migrate to a bbclass 'Jan Kiszka' via isar-users
2025-11-03 11:52 ` [PATCH 16/27] meta-isar: Switch to optee-client class 'Jan Kiszka' via isar-users
2025-11-03 11:52 ` [PATCH 17/27] trusted-firmware-a: Migrate to a bbclass 'Jan Kiszka' via isar-users
2025-11-03 11:52 ` [PATCH 18/27] meta-isar: Switch to trusted-firmware-a class 'Jan Kiszka' via isar-users
2025-11-03 11:52 ` [PATCH 19/27] barebox: Add SPDX license identifiers 'Jan Kiszka' via isar-users
2025-11-03 11:52 ` [PATCH 20/27] barebox: Move inherit dpkg into common .inc 'Jan Kiszka' via isar-users
2025-11-03 11:52 ` [PATCH 21/27] barebox: Migrate to a bbclass 'Jan Kiszka' via isar-users
2025-11-03 11:52 ` [PATCH 22/27] meta-isar: Switch to barebox class 'Jan Kiszka' via isar-users
2025-11-03 11:52 ` [PATCH 23/27] initramfs-hook: Migrate to a bbclass 'Jan Kiszka' via isar-users
2025-11-03 11:52 ` [PATCH 24/27] meta[-isar]: Switch to initramfs-hook class 'Jan Kiszka' via isar-users
2025-11-03 11:52 ` [PATCH 25/27] container-loader: Migrate to bbclass'es 'Jan Kiszka' via isar-users
2025-11-03 11:52 ` [PATCH 26/27] meta-isar: Switch to {docker,podman}-loader classes 'Jan Kiszka' via isar-users
2025-11-03 11:52 ` [PATCH 27/27] RECIPES-API-CHANGELOG: Document include to class conversion 'Jan Kiszka' via isar-users
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox