public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
* [PATCH v2 00/27] Use more classes!
@ 2025-11-10  7:22 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 UTC (permalink / raw)
  To: isar-users; +Cc: Anton Mikanovich

Changes in v2:
 - rebased over next
 - beautified some TEMPLATE_VARS list

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.

As this is a broad change, there will be frequent collisions with other
patches. I would appreciate a signal when this series is considered, and
on to of what so that I can do a rebase only when needed - and can also
avoid flooding the list with this long series repeatedly.

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}                     |   9 +-
 .../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}               |  12 +-
 .../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   |  86 +----
 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, 202 insertions(+), 819 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} (84%)
 rename meta/{recipes-bsp/optee-os/optee-os.inc => classes-recipe/optee-os-base.bbclass} (93%)
 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} (77%)
 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.1762759359.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 01/27] linux-custom: Drop redundant template inheritance
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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/e1b5171f415888e04cdf163dca4d9d24909ef04a.1762759359.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 02/27] meta: Move INHERIT'ed classes into classes-global
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 01/27] linux-custom: Drop redundant template inheritance 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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/c6ebdebafd9f2855a64d4b082c9922ef555e872b.1762759359.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 03/27] meta: Move recipe-pulled classes into classes-recipe
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 01/27] linux-custom: Drop redundant template inheritance 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 02/27] meta: Move INHERIT'ed classes into classes-global 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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/b5bdeb1d7c5f13c30f8fa33304161e2c6ee46477.1762759359.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 04/27] meta-isar: Move recipe-pulled classes into classes-recipe
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (2 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 03/27] meta: Move recipe-pulled classes into classes-recipe 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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/44a44531b8555b832adbb9e89956f5dbb944f4a3.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 05/27] linux-custom: Migrate to a bbclass
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (3 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 04/27] meta-isar: " 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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/059e482b39c1a58885e059ad891d23d01cd23316.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 06/27] meta-isar: Switch to linux-kernel class
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (4 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 05/27] linux-custom: Migrate to a bbclass 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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/15fa01893eded53a80c47aa6f33957087635b2fb.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 07/27] linux-module: Migrate to a bbclasss
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (5 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 06/27] meta-isar: Switch to linux-kernel class 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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   | 86 ++-----------------
 2 files changed, 7 insertions(+), 82 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 093ea19f..5ad2ba4c 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 093ea19f..52541a29 100644
--- a/meta/recipes-kernel/linux-module/module.inc
+++ b/meta/recipes-kernel/linux-module/module.inc
@@ -1,87 +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 \
-    DEBIAN_STANDARDS_VERSION"
-
-# 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/007cb4ea1804ee65db6139ab029e0ea3aeb42cc9.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 08/27] meta-isar: Switch to linux-module class
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (6 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 07/27] linux-module: Migrate to a bbclasss 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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/9509e0bdd166a944d7c180e94ba19b9a63f64e39.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 09/27] kselftest: Migrate to a bbclass
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (7 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 08/27] meta-isar: Switch to linux-module class 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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/0f33ba5ce2fdfb9499c2b7785750ed591d2e6f15.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 10/27] meta-isar: Switch to kselftest class
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (8 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 09/27] kselftest: Migrate to a bbclass 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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/a97410155a634fde2deffb90909a4a52b782ff05.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 11/27] u-boot-custom: Migrate to a bbclass
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (9 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 10/27] meta-isar: Switch to kselftest class 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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 c6b3e8cf..9277127b 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 c6b3e8cf..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 DEBIAN_STANDARDS_VERSION"
-
-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/91b268a48e41d135c720d42d9cda115b095ad6ff.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 12/27] meta-isar: Switch to u-boot class
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (10 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 11/27] u-boot-custom: Migrate to a bbclass 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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/66128b5845ee1fb0ebebe653b120cc51d3249443.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 13/27] optee-os[-tadevkit]-custom: Migrate to bbclass'es
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (11 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 12/27] meta-isar: Switch to u-boot class 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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} (93%)
 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 93%
rename from meta/recipes-bsp/optee-os/optee-os.inc
rename to meta/classes-recipe/optee-os-base.bbclass
index a534ddf4..0e782429 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/da49cf187867465fb576304ffa8fe42fa0a58dba.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 14/27] meta-isar: Switch to optee-os[-tadevkit] classes
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (12 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 13/27] optee-os[-tadevkit]-custom: Migrate to bbclass'es 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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/e99b00e15f7ade07159efcdd1f90a3bfd71b05af.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 15/27] optee-client: Migrate to a bbclass
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (13 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 14/27] meta-isar: Switch to optee-os[-tadevkit] classes 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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}                     |  9 +++--
 .../optee-client/optee-client-custom.inc      | 40 ++++---------------
 2 files changed, 13 insertions(+), 36 deletions(-)
 copy meta/{recipes-bsp/optee-client/optee-client-custom.inc => classes-recipe/optee-client.bbclass} (84%)

diff --git a/meta/recipes-bsp/optee-client/optee-client-custom.inc b/meta/classes-recipe/optee-client.bbclass
similarity index 84%
copy from meta/recipes-bsp/optee-client/optee-client-custom.inc
copy to meta/classes-recipe/optee-client.bbclass
index e54c8763..40bf68c2 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"
@@ -23,7 +22,11 @@ TEE_FS_PARENT_PATH ?= "/var/lib/optee-client/data/tee"
 RPMB_EMU ?= "0"
 
 TEMPLATE_FILES = "debian/rules.tmpl debian/control.tmpl"
-TEMPLATE_VARS += "DEBIAN_COMPAT TEE_FS_PARENT_PATH RPMB_EMU DEBIAN_STANDARDS_VERSION"
+TEMPLATE_VARS += " \
+    DEBIAN_COMPAT \
+    DEBIAN_STANDARDS_VERSION \
+    TEE_FS_PARENT_PATH \
+    RPMB_EMU"
 
 do_prepare_build[cleandirs] += "${S}/debian"
 do_prepare_build() {
diff --git a/meta/recipes-bsp/optee-client/optee-client-custom.inc b/meta/recipes-bsp/optee-client/optee-client-custom.inc
index e54c8763..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 DEBIAN_STANDARDS_VERSION"
-
-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/c33c99901a822b9d9cfa608ba744c2ddadd3665c.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 16/27] meta-isar: Switch to optee-client class
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (14 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 15/27] optee-client: Migrate to a bbclass 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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/4658bebd8f8273c9486a498f6f3986f1a853d461.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 17/27] trusted-firmware-a: Migrate to a bbclass
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (15 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 16/27] meta-isar: Switch to optee-client class 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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}               | 12 ++++--
 .../trusted-firmware-a-custom.inc             | 38 +++----------------
 2 files changed, 14 insertions(+), 36 deletions(-)
 copy meta/{recipes-bsp/trusted-firmware-a/trusted-firmware-a-custom.inc => classes-recipe/trusted-firmware-a.bbclass} (77%)

diff --git a/meta/recipes-bsp/trusted-firmware-a/trusted-firmware-a-custom.inc b/meta/classes-recipe/trusted-firmware-a.bbclass
similarity index 77%
copy from meta/recipes-bsp/trusted-firmware-a/trusted-firmware-a-custom.inc
copy to meta/classes-recipe/trusted-firmware-a.bbclass
index 07a03dd6..fb647efe 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"
@@ -23,8 +22,13 @@ 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 DEBIAN_STANDARDS_VERSION"
+TEMPLATE_VARS += " \
+    DEBIAN_COMPAT \
+    DEBIAN_STANDARDS_VERSION \
+    DEBIAN_BUILD_DEPENDS \
+    TF_A_NAME \
+    TF_A_PLATFORM \
+    TF_A_EXTRA_BUILDARGS"
 
 do_prepare_build() {
     cp -r ${WORKDIR}/debian ${S}/
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 07a03dd6..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 DEBIAN_STANDARDS_VERSION"
-
-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/2ac3f49aee34dfb7fa43e40a7146a4f00ef148cb.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 18/27] meta-isar: Switch to trusted-firmware-a class
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (16 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 17/27] trusted-firmware-a: Migrate to a bbclass 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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/823ac2dc149b0096935a1f46de8bb7835c925e2f.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 19/27] barebox: Add SPDX license identifiers
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (17 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 18/27] meta-isar: Switch to trusted-firmware-a class 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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/9cb70cb76941c60d3accac5e06622a38cf71a40f.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 20/27] barebox: Move inherit dpkg into common .inc
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (18 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 19/27] barebox: Add SPDX license identifiers 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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 fb177d4e..d514445e 100644
--- a/RECIPE-API-CHANGELOG.md
+++ b/RECIPE-API-CHANGELOG.md
@@ -838,3 +838,8 @@ instead of
 ```
 ROOTFS_FEATURE += "no-generate-initrd"
 ```
+
+### 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/708be75ab874686c3ac64f6622f9db95b2442286.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 21/27] barebox: Migrate to a bbclass
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (19 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 20/27] barebox: Move inherit dpkg into common .inc 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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/aa80fd73c20d5b3007b656699a0b7f1735de2c49.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 22/27] meta-isar: Switch to barebox class
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (20 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 21/27] barebox: Migrate to a bbclass 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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/74312aeb12f2a95fd5262a6ab679447c4108b706.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 23/27] initramfs-hook: Migrate to a bbclass
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (21 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 22/27] meta-isar: Switch to barebox class 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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/ebed617114508ba2563310fe92f3eebbf2b25325.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 24/27] meta[-isar]: Switch to initramfs-hook class
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (22 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 23/27] initramfs-hook: Migrate to a bbclass 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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/6745159d47f6eb298440d1523a6bb9bff4b26ce2.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 25/27] container-loader: Migrate to bbclass'es
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (23 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 24/27] meta[-isar]: Switch to initramfs-hook class 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 26/27] meta-isar: Switch to {docker,podman}-loader classes 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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/7ae01b007194dbe521f197244d75fc043f86bd58.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 26/27] meta-isar: Switch to {docker,podman}-loader classes
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (24 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 25/27] container-loader: Migrate to bbclass'es 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  2025-11-10  7:22 ` [PATCH v2 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-10  7:22 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/3d20584cd1c2d28d0c5e28bf77f6c4cdcc492253.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH v2 27/27] RECIPES-API-CHANGELOG: Document include to class conversion
  2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
                   ` (25 preceding siblings ...)
  2025-11-10  7:22 ` [PATCH v2 26/27] meta-isar: Switch to {docker,podman}-loader classes 'Jan Kiszka' via isar-users
@ 2025-11-10  7:22 ` 'Jan Kiszka' via isar-users
  26 siblings, 0 replies; 28+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-11-10  7:22 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 d514445e..259582d0 100644
--- a/RECIPE-API-CHANGELOG.md
+++ b/RECIPE-API-CHANGELOG.md
@@ -843,3 +843,30 @@ ROOTFS_FEATURE += "no-generate-initrd"
 
 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/7c926fd6e6495038d8ea17a9fa1ff7b6209b3ad2.1762759360.git.jan.kiszka%40siemens.com.

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2025-11-10  7:35 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-10  7:22 [PATCH v2 00/27] Use more classes! 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 01/27] linux-custom: Drop redundant template inheritance 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 02/27] meta: Move INHERIT'ed classes into classes-global 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 03/27] meta: Move recipe-pulled classes into classes-recipe 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 04/27] meta-isar: " 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 05/27] linux-custom: Migrate to a bbclass 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 06/27] meta-isar: Switch to linux-kernel class 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 07/27] linux-module: Migrate to a bbclasss 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 08/27] meta-isar: Switch to linux-module class 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 09/27] kselftest: Migrate to a bbclass 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 10/27] meta-isar: Switch to kselftest class 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 11/27] u-boot-custom: Migrate to a bbclass 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 12/27] meta-isar: Switch to u-boot class 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 13/27] optee-os[-tadevkit]-custom: Migrate to bbclass'es 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 14/27] meta-isar: Switch to optee-os[-tadevkit] classes 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 15/27] optee-client: Migrate to a bbclass 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 16/27] meta-isar: Switch to optee-client class 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 17/27] trusted-firmware-a: Migrate to a bbclass 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 18/27] meta-isar: Switch to trusted-firmware-a class 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 19/27] barebox: Add SPDX license identifiers 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 20/27] barebox: Move inherit dpkg into common .inc 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 21/27] barebox: Migrate to a bbclass 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 22/27] meta-isar: Switch to barebox class 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 23/27] initramfs-hook: Migrate to a bbclass 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 24/27] meta[-isar]: Switch to initramfs-hook class 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 25/27] container-loader: Migrate to bbclass'es 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 26/27] meta-isar: Switch to {docker,podman}-loader classes 'Jan Kiszka' via isar-users
2025-11-10  7:22 ` [PATCH v2 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