diff mbox series

baremetal-image.bbclass: Emulate image.bbclass to handle new classes scope

Message ID 20220823213124.4185070-1-alejandro@enedino.org
State Accepted, archived
Commit bf083929ecd69a144fedeef5a8725775f632a16c
Headers show
Series baremetal-image.bbclass: Emulate image.bbclass to handle new classes scope | expand

Commit Message

Alejandro Enedino Hernandez Samaniego Aug. 23, 2022, 9:31 p.m. UTC
The new classes scope implemented on commit 7bd328f9d
made testimage.bbclass (and perhaps others) stop working
for baremetal-images, the expected way to run testimage
is no longer to use INHERIT but to use IMAGE_CLASSES
instead, however this functionality was not implemented in the
baremetal-image class until now.

Emulate image.bbclass allowing the baremetal-image class to
use IMAGE_CLASSES to fix this issue.

Set defaults for IMAGE_FEATURES to allow bitbake checks to
pass properly.

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
---
 meta/classes-recipe/baremetal-image.bbclass | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Richard Purdie Aug. 23, 2022, 10:13 p.m. UTC | #1
On Tue, 2022-08-23 at 15:31 -0600, Alejandro Hernandez Samaniego wrote:
> The new classes scope implemented on commit 7bd328f9d
> made testimage.bbclass (and perhaps others) stop working
> for baremetal-images, the expected way to run testimage
> is no longer to use INHERIT but to use IMAGE_CLASSES
> instead, however this functionality was not implemented in the
> baremetal-image class until now.
> 
> Emulate image.bbclass allowing the baremetal-image class to
> use IMAGE_CLASSES to fix this issue.
> 
> Set defaults for IMAGE_FEATURES to allow bitbake checks to
> pass properly.
> 
> Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
> ---
>  meta/classes-recipe/baremetal-image.bbclass | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/meta/classes-recipe/baremetal-image.bbclass b/meta/classes-recipe/baremetal-image.bbclass
> index 3a979f2ed1..d3377a92fa 100644
> --- a/meta/classes-recipe/baremetal-image.bbclass
> +++ b/meta/classes-recipe/baremetal-image.bbclass
> @@ -15,6 +15,15 @@
>  #
>  # See meta-skeleton for a working example.
>  
> +## Emulate image.bbclass
> +# Handle inherits of any of the image classes we need
> +IMAGE_CLASSES ??= ""
> +IMGCLASSES = " ${IMAGE_CLASSES}"
> +inherit ${IMGCLASSES}
> +# Set defaults to satisfy IMAGE_FEATURES check
> +IMAGE_FEATURES ?= ""
> +IMAGE_FEATURES[type] = "list"
> +IMAGE_FEATURES[validitems] += ""
>  
>  # Toolchain should be baremetal or newlib based.
>  # TCLIBC="baremetal" or TCLIBC="newlib"


I think we're missing a testcase!

Cheers,

Richard
Alejandro Enedino Hernandez Samaniego Aug. 23, 2022, 11:17 p.m. UTC | #2
We are!, however is not that simple since the baremetal helloworld app
needs to have the interactive functionality to perform the back and forth
communication that testimage is based on.

Hopefully I can add such functionality to a newlib-helloworld in this
release along with its own test case.

Alejandro

On Tue, Aug 23, 2022, 4:13 PM Richard Purdie <
richard.purdie@linuxfoundation.org> wrote:

> On Tue, 2022-08-23 at 15:31 -0600, Alejandro Hernandez Samaniego wrote:
> > The new classes scope implemented on commit 7bd328f9d
> > made testimage.bbclass (and perhaps others) stop working
> > for baremetal-images, the expected way to run testimage
> > is no longer to use INHERIT but to use IMAGE_CLASSES
> > instead, however this functionality was not implemented in the
> > baremetal-image class until now.
> >
> > Emulate image.bbclass allowing the baremetal-image class to
> > use IMAGE_CLASSES to fix this issue.
> >
> > Set defaults for IMAGE_FEATURES to allow bitbake checks to
> > pass properly.
> >
> > Signed-off-by: Alejandro Enedino Hernandez Samaniego <
> alejandro@enedino.org>
> > ---
> >  meta/classes-recipe/baremetal-image.bbclass | 9 +++++++++
> >  1 file changed, 9 insertions(+)
> >
> > diff --git a/meta/classes-recipe/baremetal-image.bbclass
> b/meta/classes-recipe/baremetal-image.bbclass
> > index 3a979f2ed1..d3377a92fa 100644
> > --- a/meta/classes-recipe/baremetal-image.bbclass
> > +++ b/meta/classes-recipe/baremetal-image.bbclass
> > @@ -15,6 +15,15 @@
> >  #
> >  # See meta-skeleton for a working example.
> >
> > +## Emulate image.bbclass
> > +# Handle inherits of any of the image classes we need
> > +IMAGE_CLASSES ??= ""
> > +IMGCLASSES = " ${IMAGE_CLASSES}"
> > +inherit ${IMGCLASSES}
> > +# Set defaults to satisfy IMAGE_FEATURES check
> > +IMAGE_FEATURES ?= ""
> > +IMAGE_FEATURES[type] = "list"
> > +IMAGE_FEATURES[validitems] += ""
> >
> >  # Toolchain should be baremetal or newlib based.
> >  # TCLIBC="baremetal" or TCLIBC="newlib"
>
>
> I think we're missing a testcase!
>
> Cheers,
>
> Richard
>
>
diff mbox series

Patch

diff --git a/meta/classes-recipe/baremetal-image.bbclass b/meta/classes-recipe/baremetal-image.bbclass
index 3a979f2ed1..d3377a92fa 100644
--- a/meta/classes-recipe/baremetal-image.bbclass
+++ b/meta/classes-recipe/baremetal-image.bbclass
@@ -15,6 +15,15 @@ 
 #
 # See meta-skeleton for a working example.
 
+## Emulate image.bbclass
+# Handle inherits of any of the image classes we need
+IMAGE_CLASSES ??= ""
+IMGCLASSES = " ${IMAGE_CLASSES}"
+inherit ${IMGCLASSES}
+# Set defaults to satisfy IMAGE_FEATURES check
+IMAGE_FEATURES ?= ""
+IMAGE_FEATURES[type] = "list"
+IMAGE_FEATURES[validitems] += ""
 
 # Toolchain should be baremetal or newlib based.
 # TCLIBC="baremetal" or TCLIBC="newlib"