All of lore.kernel.org
 help / color / mirror / Atom feed
* [OE-core][PATCH 1/2] kernel.bbclass: run read_package_metadata only if packaging is enabled
@ 2021-06-22 22:18 Andrea Adami
  2021-06-22 22:18 ` [OE-core][PATCH 2/2] kernel.bbclass: inherit kernel_devicetree only if KERNEL_DEVICETREE is set Andrea Adami
  2021-06-22 22:52 ` [OE-core][PATCH 1/2] kernel.bbclass: run read_package_metadata only if packaging is enabled Richard Purdie
  0 siblings, 2 replies; 10+ messages in thread
From: Andrea Adami @ 2021-06-22 22:18 UTC (permalink / raw)
  To: openembedded-core

As exposed in the ML
https://lists.openembedded.org/g/openembedded-core/message/153000

up to commit 86142da in Gatesgarth it was possible to build a second mini-kernel w/out
modules to be just deployed and collected by other recipes.

These kernels use special care to avoid packaging:

inherit nopackages

PACKAGES = ""
PROVIDES = ""

Now the change in kernel.bblass calls a packaging routine:
do_deploy[prefuncs] += "read_subpackage_metadata"

As a result the kernel build fails.

Fix this using bb.data.inherits_class() to verify the
possible previous inherit of nopackages.bbclass.

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
---
 meta/classes/kernel.bbclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 379bed44f2..06e6446a08 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -771,8 +771,8 @@ kernel_do_deploy() {
 }
 
 # We deploy to filenames that include PKGV and PKGR, read the saved data to
-# ensure we get the right values for both
-do_deploy[prefuncs] += "read_subpackage_metadata"
+# ensure we get the right values for both. Do this only if packaging is enabled.
+do_deploy[prefuncs] += "${@ '' if bb.data.inherits_class('nopackages', d) else 'read_subpackage_metadata' }"
 
 addtask deploy after do_populate_sysroot do_packagedata
 
-- 
2.17.1


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

* [OE-core][PATCH 2/2] kernel.bbclass: inherit kernel_devicetree only if KERNEL_DEVICETREE is set
  2021-06-22 22:18 [OE-core][PATCH 1/2] kernel.bbclass: run read_package_metadata only if packaging is enabled Andrea Adami
@ 2021-06-22 22:18 ` Andrea Adami
  2021-06-23  9:32   ` Peter Kjellerstedt
  2021-06-22 22:52 ` [OE-core][PATCH 1/2] kernel.bbclass: run read_package_metadata only if packaging is enabled Richard Purdie
  1 sibling, 1 reply; 10+ messages in thread
From: Andrea Adami @ 2021-06-22 22:18 UTC (permalink / raw)
  To: openembedded-core

Now it unconditionally tries to create package kernel-devicetre even for
legacy devices w/out DT.

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
---
 meta/classes/kernel.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 06e6446a08..68369e3791 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -779,4 +779,4 @@ addtask deploy after do_populate_sysroot do_packagedata
 EXPORT_FUNCTIONS do_deploy
 
 # Add using Device Tree support
-inherit kernel-devicetree
+inherit ${@ "" if d.getVar("KERNEL_DEVICETREE" == "") else "kernel-devicetree" }
-- 
2.17.1


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

* Re: [OE-core][PATCH 1/2] kernel.bbclass: run read_package_metadata only if packaging is enabled
  2021-06-22 22:18 [OE-core][PATCH 1/2] kernel.bbclass: run read_package_metadata only if packaging is enabled Andrea Adami
  2021-06-22 22:18 ` [OE-core][PATCH 2/2] kernel.bbclass: inherit kernel_devicetree only if KERNEL_DEVICETREE is set Andrea Adami
@ 2021-06-22 22:52 ` Richard Purdie
  2021-06-22 22:59   ` Andrea Adami
  1 sibling, 1 reply; 10+ messages in thread
From: Richard Purdie @ 2021-06-22 22:52 UTC (permalink / raw)
  To: Andrea Adami, openembedded-core

On Wed, 2021-06-23 at 00:18 +0200, Andrea Adami wrote:
> As exposed in the ML
> https://lists.openembedded.org/g/openembedded-core/message/153000
> 
> up to commit 86142da in Gatesgarth it was possible to build a second mini-kernel w/out
> modules to be just deployed and collected by other recipes.
> 
> These kernels use special care to avoid packaging:
> 
> inherit nopackages
> 
> PACKAGES = ""
> PROVIDES = ""
> 
> Now the change in kernel.bblass calls a packaging routine:
> do_deploy[prefuncs] += "read_subpackage_metadata"
> 
> As a result the kernel build fails.
> 
> Fix this using bb.data.inherits_class() to verify the
> possible previous inherit of nopackages.bbclass.
> 
> Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
> ---
>  meta/classes/kernel.bbclass | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> index 379bed44f2..06e6446a08 100644
> --- a/meta/classes/kernel.bbclass
> +++ b/meta/classes/kernel.bbclass
> @@ -771,8 +771,8 @@ kernel_do_deploy() {
>  }
>  
> 
>  # We deploy to filenames that include PKGV and PKGR, read the saved data to
> -# ensure we get the right values for both
> -do_deploy[prefuncs] += "read_subpackage_metadata"
> +# ensure we get the right values for both. Do this only if packaging is enabled.
> +do_deploy[prefuncs] += "${@ '' if bb.data.inherits_class('nopackages', d) else 'read_subpackage_metadata' }"
>  
> 
>  addtask deploy after do_populate_sysroot do_packagedata
>  

I'm not convinced this is the right fix. Which values is that function 
finding and reading which cause problems? It sounds like there is a deeper 
issue here that should be fixed instead...

Is there a simple reproducer for this on master?

Cheers,

Richard


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

* Re: [OE-core][PATCH 1/2] kernel.bbclass: run read_package_metadata only if packaging is enabled
  2021-06-22 22:52 ` [OE-core][PATCH 1/2] kernel.bbclass: run read_package_metadata only if packaging is enabled Richard Purdie
@ 2021-06-22 22:59   ` Andrea Adami
  0 siblings, 0 replies; 10+ messages in thread
From: Andrea Adami @ 2021-06-22 22:59 UTC (permalink / raw)
  To: Richard Purdie; +Cc: Patches and discussions about the oe-core layer

On Wed, Jun 23, 2021 at 12:52 AM Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> On Wed, 2021-06-23 at 00:18 +0200, Andrea Adami wrote:
> > As exposed in the ML
> > https://lists.openembedded.org/g/openembedded-core/message/153000
> >
> > up to commit 86142da in Gatesgarth it was possible to build a second mini-kernel w/out
> > modules to be just deployed and collected by other recipes.
> >
> > These kernels use special care to avoid packaging:
> >
> > inherit nopackages
> >
> > PACKAGES = ""
> > PROVIDES = ""
> >
> > Now the change in kernel.bblass calls a packaging routine:
> > do_deploy[prefuncs] += "read_subpackage_metadata"
> >
> > As a result the kernel build fails.
> >
> > Fix this using bb.data.inherits_class() to verify the
> > possible previous inherit of nopackages.bbclass.
> >
> > Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
> > ---
> >  meta/classes/kernel.bbclass | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> > index 379bed44f2..06e6446a08 100644
> > --- a/meta/classes/kernel.bbclass
> > +++ b/meta/classes/kernel.bbclass
> > @@ -771,8 +771,8 @@ kernel_do_deploy() {
> >  }
> >
> >
> >  # We deploy to filenames that include PKGV and PKGR, read the saved data to
> > -# ensure we get the right values for both
> > -do_deploy[prefuncs] += "read_subpackage_metadata"
> > +# ensure we get the right values for both. Do this only if packaging is enabled.
> > +do_deploy[prefuncs] += "${@ '' if bb.data.inherits_class('nopackages', d) else 'read_subpackage_metadata' }"
> >
> >
> >  addtask deploy after do_populate_sysroot do_packagedata
> >
>
> I'm not convinced this is the right fix. Which values is that function
> finding and reading which cause problems? It sounds like there is a deeper
> issue here that should be fixed instead...
>
> Is there a simple reproducer for this on master?
>

Well, yes.
It is linux-kexecboot from meta-handheld.
Pls see comments in message 153000.

The razor is
https://git.openembedded.org/openembedded-core/tree/meta/classes/packagedata.bbclass#n22

Cheers
A.A.

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

* Re: [OE-core][PATCH 2/2] kernel.bbclass: inherit kernel_devicetree only if KERNEL_DEVICETREE is set
  2021-06-22 22:18 ` [OE-core][PATCH 2/2] kernel.bbclass: inherit kernel_devicetree only if KERNEL_DEVICETREE is set Andrea Adami
@ 2021-06-23  9:32   ` Peter Kjellerstedt
  2021-06-23 13:12     ` Andrea Adami
  0 siblings, 1 reply; 10+ messages in thread
From: Peter Kjellerstedt @ 2021-06-23  9:32 UTC (permalink / raw)
  To: Andrea Adami, openembedded-core

> -----Original Message-----
> From: openembedded-core@lists.openembedded.org <openembedded-
> core@lists.openembedded.org> On Behalf Of Andrea Adami
> Sent: den 23 juni 2021 00:18
> To: openembedded-core@lists.openembedded.org
> Subject: [OE-core][PATCH 2/2] kernel.bbclass: inherit kernel_devicetree
> only if KERNEL_DEVICETREE is set
> 
> Now it unconditionally tries to create package kernel-devicetre even for
> legacy devices w/out DT.
> 
> Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
> ---
>  meta/classes/kernel.bbclass | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> index 06e6446a08..68369e3791 100644
> --- a/meta/classes/kernel.bbclass
> +++ b/meta/classes/kernel.bbclass
> @@ -779,4 +779,4 @@ addtask deploy after do_populate_sysroot
> do_packagedata
>  EXPORT_FUNCTIONS do_deploy
> 
>  # Add using Device Tree support
> -inherit kernel-devicetree
> +inherit ${@ "" if d.getVar("KERNEL_DEVICETREE" == "") else "kernel-devicetree" }

That doesn't look correct. Don't you mean something like this:

inherit ${@ "kernel-devicetree" if d.getVar("KERNEL_DEVICETREE") else "" }

> --
> 2.17.1

//Peter


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

* Re: [OE-core][PATCH 2/2] kernel.bbclass: inherit kernel_devicetree only if KERNEL_DEVICETREE is set
  2021-06-23  9:32   ` Peter Kjellerstedt
@ 2021-06-23 13:12     ` Andrea Adami
  2021-06-23 13:51       ` Andrey Zhizhikin
  0 siblings, 1 reply; 10+ messages in thread
From: Andrea Adami @ 2021-06-23 13:12 UTC (permalink / raw)
  To: Peter Kjellerstedt; +Cc: openembedded-core

On Wed, Jun 23, 2021 at 11:32 AM Peter Kjellerstedt
<peter.kjellerstedt@axis.com> wrote:
>
> > -----Original Message-----
> > From: openembedded-core@lists.openembedded.org <openembedded-
> > core@lists.openembedded.org> On Behalf Of Andrea Adami
> > Sent: den 23 juni 2021 00:18
> > To: openembedded-core@lists.openembedded.org
> > Subject: [OE-core][PATCH 2/2] kernel.bbclass: inherit kernel_devicetree
> > only if KERNEL_DEVICETREE is set
> >
> > Now it unconditionally tries to create package kernel-devicetre even for
> > legacy devices w/out DT.
> >
> > Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
> > ---
> >  meta/classes/kernel.bbclass | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> > index 06e6446a08..68369e3791 100644
> > --- a/meta/classes/kernel.bbclass
> > +++ b/meta/classes/kernel.bbclass
> > @@ -779,4 +779,4 @@ addtask deploy after do_populate_sysroot
> > do_packagedata
> >  EXPORT_FUNCTIONS do_deploy
> >
> >  # Add using Device Tree support
> > -inherit kernel-devicetree
> > +inherit ${@ "" if d.getVar("KERNEL_DEVICETREE" == "") else "kernel-devicetree" }
>
> That doesn't look correct. Don't you mean something like this:
>
> inherit ${@ "kernel-devicetree" if d.getVar("KERNEL_DEVICETREE") else "" }
>

As you prefer, I don't think bitbake has likely/unlikely optimization.
I took the style-example from line 6 where it reads

KERNEL_DEPLOYSUBDIR ??= "${@ "" if (d.getVar("KERNEL_PACKAGE_NAME") ==
"kernel") else d.getVar("KERNEL_PACKAGE_NAME") }"

I am for any option providing a guard.

Cheers
A.A.


> > --
> > 2.17.1
>
> //Peter
>

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

* Re: [OE-core][PATCH 2/2] kernel.bbclass: inherit kernel_devicetree only if KERNEL_DEVICETREE is set
  2021-06-23 13:12     ` Andrea Adami
@ 2021-06-23 13:51       ` Andrey Zhizhikin
  2021-06-23 15:22         ` Andrea Adami
  0 siblings, 1 reply; 10+ messages in thread
From: Andrey Zhizhikin @ 2021-06-23 13:51 UTC (permalink / raw)
  To: Andrea Adami; +Cc: Peter Kjellerstedt, openembedded-core

Hello Andrea,

On Wed, Jun 23, 2021 at 3:16 PM Andrea Adami <andrea.adami@gmail.com> wrote:
>
> On Wed, Jun 23, 2021 at 11:32 AM Peter Kjellerstedt
> <peter.kjellerstedt@axis.com> wrote:
> >
> > > -----Original Message-----
> > > From: openembedded-core@lists.openembedded.org <openembedded-
> > > core@lists.openembedded.org> On Behalf Of Andrea Adami
> > > Sent: den 23 juni 2021 00:18
> > > To: openembedded-core@lists.openembedded.org
> > > Subject: [OE-core][PATCH 2/2] kernel.bbclass: inherit kernel_devicetree
> > > only if KERNEL_DEVICETREE is set
> > >
> > > Now it unconditionally tries to create package kernel-devicetre even for
> > > legacy devices w/out DT.
> > >
> > > Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
> > > ---
> > >  meta/classes/kernel.bbclass | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> > > index 06e6446a08..68369e3791 100644
> > > --- a/meta/classes/kernel.bbclass
> > > +++ b/meta/classes/kernel.bbclass
> > > @@ -779,4 +779,4 @@ addtask deploy after do_populate_sysroot
> > > do_packagedata
> > >  EXPORT_FUNCTIONS do_deploy
> > >
> > >  # Add using Device Tree support
> > > -inherit kernel-devicetree
> > > +inherit ${@ "" if d.getVar("KERNEL_DEVICETREE" == "") else "kernel-devicetree" }
> >
> > That doesn't look correct. Don't you mean something like this:
> >
> > inherit ${@ "kernel-devicetree" if d.getVar("KERNEL_DEVICETREE") else "" }
> >
>
> As you prefer, I don't think bitbake has likely/unlikely optimization.
> I took the style-example from line 6 where it reads
>
> KERNEL_DEPLOYSUBDIR ??= "${@ "" if (d.getVar("KERNEL_PACKAGE_NAME") ==
> "kernel") else d.getVar("KERNEL_PACKAGE_NAME") }"
>
> I am for any option providing a guard.

I guess you've missed the closing bracket in your statement, please
take a look at the comparison operator.

As yet another option, maybe even something like this:
inherit ${@oe.utils.ifelse(d.getVar('KERNEL_DEVICETREE') == '', '',
'kernel-devicetree')}

However, I'm not sure what would happened if KERNEL_DEVICETREE is
undefined, as in this case bitbake should return "None" according to
the documentation.

>
> Cheers
> A.A.
>
>
> > > --
> > > 2.17.1
> >
> > //Peter
> >
>
> 
>


-- 
Regards,
Andrey.

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

* Re: [OE-core][PATCH 2/2] kernel.bbclass: inherit kernel_devicetree only if KERNEL_DEVICETREE is set
  2021-06-23 13:51       ` Andrey Zhizhikin
@ 2021-06-23 15:22         ` Andrea Adami
  2021-06-23 16:02           ` Martin Jansa
  0 siblings, 1 reply; 10+ messages in thread
From: Andrea Adami @ 2021-06-23 15:22 UTC (permalink / raw)
  To: Andrey Zhizhikin; +Cc: Peter Kjellerstedt, openembedded-core

On Wed, Jun 23, 2021 at 3:51 PM Andrey Zhizhikin <andrey.z@gmail.com> wrote:
>
> Hello Andrea,
>
> On Wed, Jun 23, 2021 at 3:16 PM Andrea Adami <andrea.adami@gmail.com> wrote:
> >
> > On Wed, Jun 23, 2021 at 11:32 AM Peter Kjellerstedt
> > <peter.kjellerstedt@axis.com> wrote:
> > >
> > > > -----Original Message-----
> > > > From: openembedded-core@lists.openembedded.org <openembedded-
> > > > core@lists.openembedded.org> On Behalf Of Andrea Adami
> > > > Sent: den 23 juni 2021 00:18
> > > > To: openembedded-core@lists.openembedded.org
> > > > Subject: [OE-core][PATCH 2/2] kernel.bbclass: inherit kernel_devicetree
> > > > only if KERNEL_DEVICETREE is set
> > > >
> > > > Now it unconditionally tries to create package kernel-devicetre even for
> > > > legacy devices w/out DT.
> > > >
> > > > Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
> > > > ---
> > > >  meta/classes/kernel.bbclass | 2 +-
> > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > >
> > > > diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> > > > index 06e6446a08..68369e3791 100644
> > > > --- a/meta/classes/kernel.bbclass
> > > > +++ b/meta/classes/kernel.bbclass
> > > > @@ -779,4 +779,4 @@ addtask deploy after do_populate_sysroot
> > > > do_packagedata
> > > >  EXPORT_FUNCTIONS do_deploy
> > > >
> > > >  # Add using Device Tree support
> > > > -inherit kernel-devicetree
> > > > +inherit ${@ "" if d.getVar("KERNEL_DEVICETREE" == "") else "kernel-devicetree" }
> > >
> > > That doesn't look correct. Don't you mean something like this:
> > >
> > > inherit ${@ "kernel-devicetree" if d.getVar("KERNEL_DEVICETREE") else "" }
> > >
> >
> > As you prefer, I don't think bitbake has likely/unlikely optimization.
> > I took the style-example from line 6 where it reads
> >
> > KERNEL_DEPLOYSUBDIR ??= "${@ "" if (d.getVar("KERNEL_PACKAGE_NAME") ==
> > "kernel") else d.getVar("KERNEL_PACKAGE_NAME") }"
> >
> > I am for any option providing a guard.
>
> I guess you've missed the closing bracket in your statement, please
> take a look at the comparison operator.

The code as it is doesn't raise any parse error.
There is opening bracket and closing bracket, what more?

We can discuss about the form, someone suggested anonymous python for
both patches.

Thanks for reviewing
A.A.

>
> As yet another option, maybe even something like this:
> inherit ${@oe.utils.ifelse(d.getVar('KERNEL_DEVICETREE') == '', '',
> 'kernel-devicetree')}
>
> However, I'm not sure what would happened if KERNEL_DEVICETREE is
> undefined, as in this case bitbake should return "None" according to
> the documentation.
>
> >
> > Cheers
> > A.A.
> >
> >
> > > > --
> > > > 2.17.1
> > >
> > > //Peter
> > >
> >
> > 
> >
>
>
> --
> Regards,
> Andrey.

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

* Re: [OE-core][PATCH 2/2] kernel.bbclass: inherit kernel_devicetree only if KERNEL_DEVICETREE is set
  2021-06-23 15:22         ` Andrea Adami
@ 2021-06-23 16:02           ` Martin Jansa
  2021-06-23 19:26             ` Andrea Adami
  0 siblings, 1 reply; 10+ messages in thread
From: Martin Jansa @ 2021-06-23 16:02 UTC (permalink / raw)
  To: Andrea Adami; +Cc: Andrey Zhizhikin, Peter Kjellerstedt, openembedded-core

[-- Attachment #1: Type: text/plain, Size: 3166 bytes --]

On Wed, Jun 23, 2021 at 05:22:21PM +0200, Andrea Adami wrote:
> On Wed, Jun 23, 2021 at 3:51 PM Andrey Zhizhikin <andrey.z@gmail.com> wrote:
> >
> > Hello Andrea,
> >
> > On Wed, Jun 23, 2021 at 3:16 PM Andrea Adami <andrea.adami@gmail.com> wrote:
> > >
> > > On Wed, Jun 23, 2021 at 11:32 AM Peter Kjellerstedt
> > > <peter.kjellerstedt@axis.com> wrote:
> > > >
> > > > > -----Original Message-----
> > > > > From: openembedded-core@lists.openembedded.org <openembedded-
> > > > > core@lists.openembedded.org> On Behalf Of Andrea Adami
> > > > > Sent: den 23 juni 2021 00:18
> > > > > To: openembedded-core@lists.openembedded.org
> > > > > Subject: [OE-core][PATCH 2/2] kernel.bbclass: inherit kernel_devicetree
> > > > > only if KERNEL_DEVICETREE is set
> > > > >
> > > > > Now it unconditionally tries to create package kernel-devicetre even for
> > > > > legacy devices w/out DT.
> > > > >
> > > > > Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
> > > > > ---
> > > > >  meta/classes/kernel.bbclass | 2 +-
> > > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > > >
> > > > > diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> > > > > index 06e6446a08..68369e3791 100644
> > > > > --- a/meta/classes/kernel.bbclass
> > > > > +++ b/meta/classes/kernel.bbclass
> > > > > @@ -779,4 +779,4 @@ addtask deploy after do_populate_sysroot
> > > > > do_packagedata
> > > > >  EXPORT_FUNCTIONS do_deploy
> > > > >
> > > > >  # Add using Device Tree support
> > > > > -inherit kernel-devicetree
> > > > > +inherit ${@ "" if d.getVar("KERNEL_DEVICETREE" == "") else "kernel-devicetree" }
> > > >
> > > > That doesn't look correct. Don't you mean something like this:
> > > >
> > > > inherit ${@ "kernel-devicetree" if d.getVar("KERNEL_DEVICETREE") else "" }
> > > >
> > >
> > > As you prefer, I don't think bitbake has likely/unlikely optimization.
> > > I took the style-example from line 6 where it reads
> > >
> > > KERNEL_DEPLOYSUBDIR ??= "${@ "" if (d.getVar("KERNEL_PACKAGE_NAME") ==
> > > "kernel") else d.getVar("KERNEL_PACKAGE_NAME") }"
> > >
> > > I am for any option providing a guard.
> >
> > I guess you've missed the closing bracket in your statement, please
> > take a look at the comparison operator.
> 
> The code as it is doesn't raise any parse error.
> There is opening bracket and closing bracket, what more?

d.getVar("KERNEL_DEVICETREE" == "")
vs
d.getVar("KERNEL_DEVICETREE") == ""

> We can discuss about the form, someone suggested anonymous python for
> both patches.
> 
> Thanks for reviewing
> A.A.
> 
> >
> > As yet another option, maybe even something like this:
> > inherit ${@oe.utils.ifelse(d.getVar('KERNEL_DEVICETREE') == '', '',
> > 'kernel-devicetree')}
> >
> > However, I'm not sure what would happened if KERNEL_DEVICETREE is
> > undefined, as in this case bitbake should return "None" according to
> > the documentation.
> >
> > >
> > > Cheers
> > > A.A.
> > >
> > >
> > > > > --
> > > > > 2.17.1
> > > >
> > > > //Peter
> > > >
> > >
> > > 
> > >
> >
> >
> > --
> > Regards,
> > Andrey.

> 
> 
> 


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 201 bytes --]

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

* Re: [OE-core][PATCH 2/2] kernel.bbclass: inherit kernel_devicetree only if KERNEL_DEVICETREE is set
  2021-06-23 16:02           ` Martin Jansa
@ 2021-06-23 19:26             ` Andrea Adami
  0 siblings, 0 replies; 10+ messages in thread
From: Andrea Adami @ 2021-06-23 19:26 UTC (permalink / raw)
  To: Martin Jansa; +Cc: Andrey Zhizhikin, Peter Kjellerstedt, openembedded-core

Thank you, I'll send v2.
I am waiting RP comments about the other patch of the series for
kernel.bbclass which exposed this one issue.

Martin, I tried to remove the patch from patchwork but all stops end 2020.
Am I missing something? New links?
Thanks all
A.A.

On Wed, Jun 23, 2021 at 6:02 PM Martin Jansa <martin.jansa@gmail.com> wrote:
>
> On Wed, Jun 23, 2021 at 05:22:21PM +0200, Andrea Adami wrote:
> > On Wed, Jun 23, 2021 at 3:51 PM Andrey Zhizhikin <andrey.z@gmail.com> wrote:
> > >
> > > Hello Andrea,
> > >
> > > On Wed, Jun 23, 2021 at 3:16 PM Andrea Adami <andrea.adami@gmail.com> wrote:
> > > >
> > > > On Wed, Jun 23, 2021 at 11:32 AM Peter Kjellerstedt
> > > > <peter.kjellerstedt@axis.com> wrote:
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: openembedded-core@lists.openembedded.org <openembedded-
> > > > > > core@lists.openembedded.org> On Behalf Of Andrea Adami
> > > > > > Sent: den 23 juni 2021 00:18
> > > > > > To: openembedded-core@lists.openembedded.org
> > > > > > Subject: [OE-core][PATCH 2/2] kernel.bbclass: inherit kernel_devicetree
> > > > > > only if KERNEL_DEVICETREE is set
> > > > > >
> > > > > > Now it unconditionally tries to create package kernel-devicetre even for
> > > > > > legacy devices w/out DT.
> > > > > >
> > > > > > Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
> > > > > > ---
> > > > > >  meta/classes/kernel.bbclass | 2 +-
> > > > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > > > >
> > > > > > diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> > > > > > index 06e6446a08..68369e3791 100644
> > > > > > --- a/meta/classes/kernel.bbclass
> > > > > > +++ b/meta/classes/kernel.bbclass
> > > > > > @@ -779,4 +779,4 @@ addtask deploy after do_populate_sysroot
> > > > > > do_packagedata
> > > > > >  EXPORT_FUNCTIONS do_deploy
> > > > > >
> > > > > >  # Add using Device Tree support
> > > > > > -inherit kernel-devicetree
> > > > > > +inherit ${@ "" if d.getVar("KERNEL_DEVICETREE" == "") else "kernel-devicetree" }
> > > > >
> > > > > That doesn't look correct. Don't you mean something like this:
> > > > >
> > > > > inherit ${@ "kernel-devicetree" if d.getVar("KERNEL_DEVICETREE") else "" }
> > > > >
> > > >
> > > > As you prefer, I don't think bitbake has likely/unlikely optimization.
> > > > I took the style-example from line 6 where it reads
> > > >
> > > > KERNEL_DEPLOYSUBDIR ??= "${@ "" if (d.getVar("KERNEL_PACKAGE_NAME") ==
> > > > "kernel") else d.getVar("KERNEL_PACKAGE_NAME") }"
> > > >
> > > > I am for any option providing a guard.
> > >
> > > I guess you've missed the closing bracket in your statement, please
> > > take a look at the comparison operator.
> >
> > The code as it is doesn't raise any parse error.
> > There is opening bracket and closing bracket, what more?
>
> d.getVar("KERNEL_DEVICETREE" == "")
> vs
> d.getVar("KERNEL_DEVICETREE") == ""
>
> > We can discuss about the form, someone suggested anonymous python for
> > both patches.
> >
> > Thanks for reviewing
> > A.A.
> >
> > >
> > > As yet another option, maybe even something like this:
> > > inherit ${@oe.utils.ifelse(d.getVar('KERNEL_DEVICETREE') == '', '',
> > > 'kernel-devicetree')}
> > >
> > > However, I'm not sure what would happened if KERNEL_DEVICETREE is
> > > undefined, as in this case bitbake should return "None" according to
> > > the documentation.
> > >
> > > >
> > > > Cheers
> > > > A.A.
> > > >
> > > >
> > > > > > --
> > > > > > 2.17.1
> > > > >
> > > > > //Peter
> > > > >
> > > >
> > > >
> > > >
> > >
> > >
> > > --
> > > Regards,
> > > Andrey.
>
> >
> > 
> >
>

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

end of thread, other threads:[~2021-06-23 19:27 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-22 22:18 [OE-core][PATCH 1/2] kernel.bbclass: run read_package_metadata only if packaging is enabled Andrea Adami
2021-06-22 22:18 ` [OE-core][PATCH 2/2] kernel.bbclass: inherit kernel_devicetree only if KERNEL_DEVICETREE is set Andrea Adami
2021-06-23  9:32   ` Peter Kjellerstedt
2021-06-23 13:12     ` Andrea Adami
2021-06-23 13:51       ` Andrey Zhizhikin
2021-06-23 15:22         ` Andrea Adami
2021-06-23 16:02           ` Martin Jansa
2021-06-23 19:26             ` Andrea Adami
2021-06-22 22:52 ` [OE-core][PATCH 1/2] kernel.bbclass: run read_package_metadata only if packaging is enabled Richard Purdie
2021-06-22 22:59   ` Andrea Adami

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.