diff mbox series

ref-manual: classes: update description of class 'image_types'

Message ID 20240312203807.1646308-1-u.oelmann@pengutronix.de
State Accepted
Commit 674f376ece98466d3498459d5b5428a8bfbd5112
Headers show
Series ref-manual: classes: update description of class 'image_types' | expand

Commit Message

Ulrich Ölmann March 12, 2024, 8:38 p.m. UTC
Cite usage of IMGCLASSES variable in class 'image' as found in OE-Core's
commit [1].

[1] 451363438d38 ("classes/recipes: Switch to use inherit_defer")

Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de>
---
 documentation/ref-manual/classes.rst | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

Comments

Michael Opdenacker March 13, 2024, 9:09 a.m. UTC | #1
Hi Ulrich

On 3/12/24 at 21:38, Ulrich Ölmann wrote:
> Cite usage of IMGCLASSES variable in class 'image' as found in OE-Core's
> commit [1].
>
> [1] 451363438d38 ("classes/recipes: Switch to use inherit_defer")
>
> Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de>
> ---
>   documentation/ref-manual/classes.rst | 8 ++++++--
>   1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
> index 5aaf8ecc0c24..412dc5ca2fe5 100644
> --- a/documentation/ref-manual/classes.rst
> +++ b/documentation/ref-manual/classes.rst
> @@ -1184,13 +1184,17 @@ enables the :ref:`ref-classes-image_types` class. The :ref:`ref-classes-image` c
>   ``IMGCLASSES`` variable as follows::
>   
>      IMGCLASSES = "rootfs_${IMAGE_PKGTYPE} image_types ${IMAGE_CLASSES}"
> -   IMGCLASSES += "${@['populate_sdk_base', 'populate_sdk_ext']['linux' in d.getVar("SDK_OS")]}"
> +   # Only Linux SDKs support populate_sdk_ext, fall back to populate_sdk_base
> +   # in the non-Linux SDK_OS case, such as mingw32
> +   inherit populate_sdk_base
> +   IMGCLASSES += "${@['', 'populate_sdk_ext']['linux' in d.getVar("SDK_OS")]}"
>      IMGCLASSES += "${@bb.utils.contains_any('IMAGE_FSTYPES', 'live iso hddimg', 'image-live', '', d)}"
>      IMGCLASSES += "${@bb.utils.contains('IMAGE_FSTYPES', 'container', 'image-container', '', d)}"
>      IMGCLASSES += "image_types_wic"
>      IMGCLASSES += "rootfs-postcommands"
>      IMGCLASSES += "image-postinst-intercepts"
> -   inherit ${IMGCLASSES}
> +   IMGCLASSES += "overlayfs-etc"
> +   inherit_defer ${IMGCLASSES}
>   
>   The :ref:`ref-classes-image_types` class also handles conversion and compression of images.


Many thanks for this update!
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Merged into master-next.

Do you think we should add the IMGCLASSES variable to the variable index 
too?
Cheers
Michael.
Ulrich Ölmann March 13, 2024, 10:24 a.m. UTC | #2
Hi Michael,

On Wed, Mar 13 2024 at 10:09 +0100, Michael Opdenacker <michael.opdenacker@bootlin.com> wrote:
> Hi Ulrich
>
> On 3/12/24 at 21:38, Ulrich Ölmann wrote:
>> Cite usage of IMGCLASSES variable in class 'image' as found in OE-Core's
>> commit [1].
>>
>> [1] 451363438d38 ("classes/recipes: Switch to use inherit_defer")
>>
>> Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de>
>> ---
>>   documentation/ref-manual/classes.rst | 8 ++++++--
>>   1 file changed, 6 insertions(+), 2 deletions(-)
>>
>> diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
>> index 5aaf8ecc0c24..412dc5ca2fe5 100644
>> --- a/documentation/ref-manual/classes.rst
>> +++ b/documentation/ref-manual/classes.rst
>> @@ -1184,13 +1184,17 @@ enables the :ref:`ref-classes-image_types` class. The :ref:`ref-classes-image` c
>>   ``IMGCLASSES`` variable as follows::
>>        IMGCLASSES = "rootfs_${IMAGE_PKGTYPE} image_types ${IMAGE_CLASSES}"
>> -   IMGCLASSES += "${@['populate_sdk_base', 'populate_sdk_ext']['linux' in d.getVar("SDK_OS")]}"
>> +   # Only Linux SDKs support populate_sdk_ext, fall back to populate_sdk_base
>> +   # in the non-Linux SDK_OS case, such as mingw32
>> +   inherit populate_sdk_base
>> +   IMGCLASSES += "${@['', 'populate_sdk_ext']['linux' in d.getVar("SDK_OS")]}"
>>      IMGCLASSES += "${@bb.utils.contains_any('IMAGE_FSTYPES', 'live iso hddimg', 'image-live', '', d)}"
>>      IMGCLASSES += "${@bb.utils.contains('IMAGE_FSTYPES', 'container', 'image-container', '', d)}"
>>      IMGCLASSES += "image_types_wic"
>>      IMGCLASSES += "rootfs-postcommands"
>>      IMGCLASSES += "image-postinst-intercepts"
>> -   inherit ${IMGCLASSES}
>> +   IMGCLASSES += "overlayfs-etc"
>> +   inherit_defer ${IMGCLASSES}
>>     The :ref:`ref-classes-image_types` class also handles conversion and
>> compression of images.
>
>
> Many thanks for this update!
> Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
> Merged into master-next.
>
> Do you think we should add the IMGCLASSES variable to the variable index too?

I am not sure if it is intended to be used externally (e.g. by extension
in the distro- or machine-configuration or in local.conf) or if it was
designed to only serve as an internal variable when it has been
introduced in OE-core's commit [1]. In the former case it would benefit
from an explaining addition to the docs - does anybody know how it was
meant to be used?

Best regards
Ulrich


[1] 9b6cda7ff443 ("image: Combine all the class handling code into a single section")

> Cheers
> Michael.
diff mbox series

Patch

diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
index 5aaf8ecc0c24..412dc5ca2fe5 100644
--- a/documentation/ref-manual/classes.rst
+++ b/documentation/ref-manual/classes.rst
@@ -1184,13 +1184,17 @@  enables the :ref:`ref-classes-image_types` class. The :ref:`ref-classes-image` c
 ``IMGCLASSES`` variable as follows::
 
    IMGCLASSES = "rootfs_${IMAGE_PKGTYPE} image_types ${IMAGE_CLASSES}"
-   IMGCLASSES += "${@['populate_sdk_base', 'populate_sdk_ext']['linux' in d.getVar("SDK_OS")]}"
+   # Only Linux SDKs support populate_sdk_ext, fall back to populate_sdk_base
+   # in the non-Linux SDK_OS case, such as mingw32
+   inherit populate_sdk_base
+   IMGCLASSES += "${@['', 'populate_sdk_ext']['linux' in d.getVar("SDK_OS")]}"
    IMGCLASSES += "${@bb.utils.contains_any('IMAGE_FSTYPES', 'live iso hddimg', 'image-live', '', d)}"
    IMGCLASSES += "${@bb.utils.contains('IMAGE_FSTYPES', 'container', 'image-container', '', d)}"
    IMGCLASSES += "image_types_wic"
    IMGCLASSES += "rootfs-postcommands"
    IMGCLASSES += "image-postinst-intercepts"
-   inherit ${IMGCLASSES}
+   IMGCLASSES += "overlayfs-etc"
+   inherit_defer ${IMGCLASSES}
 
 The :ref:`ref-classes-image_types` class also handles conversion and compression of images.