* [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