diff mbox series

[v2,3/5] u-boot: use openssl-native.bbclass

Message ID 20221004152807.987313-1-mikko.rapeli@linaro.org
State New
Headers show
Series [v2,1/5] openssl-native.bbclass: add bbclass | expand

Commit Message

Mikko Rapeli Oct. 4, 2022, 3:28 p.m. UTC
It sets all environment variables correctly for openssl-native.

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
---
 meta/recipes-bsp/u-boot/u-boot.inc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Luca Ceresoli Oct. 4, 2022, 9:57 p.m. UTC | #1
Hello Mikko,

On Tue,  4 Oct 2022 18:28:07 +0300
"Mikko Rapeli" <mikko.rapeli@linaro.org> wrote:

> It sets all environment variables correctly for openssl-native.
> 
> Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>

I'm taking this patch for testing, however I have a question, see below.

> ---
>  meta/recipes-bsp/u-boot/u-boot.inc | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
> index f022aed732..cd9c578962 100644
> --- a/meta/recipes-bsp/u-boot/u-boot.inc
> +++ b/meta/recipes-bsp/u-boot/u-boot.inc
> @@ -17,7 +17,8 @@ PACKAGECONFIG ??= "openssl"
>  # u-boot will compile its own tools during the build, with specific
>  # configurations (aka when CONFIG_FIT_SIGNATURE is enabled) openssl is needed as
>  # a host build dependency.
> -PACKAGECONFIG[openssl] = ",,openssl-native"
> +OPENSSL_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'openssl', 'openssl-native', '', d)}"

What is the reason to use '.=' and not just '=' here?

> +inherit ${OPENSSL_INHERIT}
>  
>  # Allow setting an additional version string that will be picked up by the
>  # u-boot build system and appended to the u-boot version.  If the .scmversion
Mikko Rapeli Oct. 5, 2022, 6:02 a.m. UTC | #2
Hi,

On Tue, Oct 04, 2022 at 11:57:19PM +0200, Luca Ceresoli wrote:
> Hello Mikko,
> 
> On Tue,  4 Oct 2022 18:28:07 +0300
> "Mikko Rapeli" <mikko.rapeli@linaro.org> wrote:
> 
> > It sets all environment variables correctly for openssl-native.
> > 
> > Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
> 
> I'm taking this patch for testing, however I have a question, see below.
> 
> > ---
> >  meta/recipes-bsp/u-boot/u-boot.inc | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
> > index f022aed732..cd9c578962 100644
> > --- a/meta/recipes-bsp/u-boot/u-boot.inc
> > +++ b/meta/recipes-bsp/u-boot/u-boot.inc
> > @@ -17,7 +17,8 @@ PACKAGECONFIG ??= "openssl"
> >  # u-boot will compile its own tools during the build, with specific
> >  # configurations (aka when CONFIG_FIT_SIGNATURE is enabled) openssl is needed as
> >  # a host build dependency.
> > -PACKAGECONFIG[openssl] = ",,openssl-native"
> > +OPENSSL_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'openssl', 'openssl-native', '', d)}"
> 
> What is the reason to use '.=' and not just '=' here?

Hehe, it was in another example which was using conditional inheritance.

meta/recipes-support/gpgme/gpgme_1.18.0.bb

PYTHON_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native python3targetconfig', '', d)}"

I guess normal = assignment would work too. If that's preferred I can
send a v3.

Cheers,

-Mikko
Peter Kjellerstedt Oct. 5, 2022, 8:03 a.m. UTC | #3
> -----Original Message-----
> From: openembedded-core@lists.openembedded.org <openembedded-
> core@lists.openembedded.org> On Behalf Of Mikko Rapeli
> Sent: den 5 oktober 2022 08:02
> To: Luca Ceresoli <luca.ceresoli@bootlin.com>
> Cc: openembedded-core@lists.openembedded.org
> Subject: Re: [OE-core] [PATCH v2 3/5] u-boot: use openssl-native.bbclass
> 
> Hi,
> 
> On Tue, Oct 04, 2022 at 11:57:19PM +0200, Luca Ceresoli wrote:
> > Hello Mikko,
> >
> > On Tue,  4 Oct 2022 18:28:07 +0300
> > "Mikko Rapeli" <mikko.rapeli@linaro.org> wrote:
> >
> > > It sets all environment variables correctly for openssl-native.
> > >
> > > Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
> >
> > I'm taking this patch for testing, however I have a question, see below.
> >
> > > ---
> > >  meta/recipes-bsp/u-boot/u-boot.inc | 3 ++-
> > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-
> boot/u-boot.inc
> > > index f022aed732..cd9c578962 100644
> > > --- a/meta/recipes-bsp/u-boot/u-boot.inc
> > > +++ b/meta/recipes-bsp/u-boot/u-boot.inc
> > > @@ -17,7 +17,8 @@ PACKAGECONFIG ??= "openssl"
> > >  # u-boot will compile its own tools during the build, with specific
> > >  # configurations (aka when CONFIG_FIT_SIGNATURE is enabled) openssl
> is needed as
> > >  # a host build dependency.
> > > -PACKAGECONFIG[openssl] = ",,openssl-native"
> > > +OPENSSL_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'openssl',
> 'openssl-native', '', d)}"
> >
> > What is the reason to use '.=' and not just '=' here?

You typically use it to avoid introducing extra space to a variable when a 
feature is not enabled.

> 
> Hehe, it was in another example which was using conditional inheritance.
> 
> meta/recipes-support/gpgme/gpgme_1.18.0.bb
> 
> PYTHON_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native python3targetconfig', '', d)}"

That example is actually wrong. If someone was to enable both "python2" 
and "python3", the resulting PYTHON_INHERIT would be 
"pythonnativepython3native python3targetconfig", which obviously will 
not work.

> 
> I guess normal = assignment would work too. If that's preferred I can
> send a v3.
> 
> Cheers,
> 
> -Mikko

//Peter
Luca Ceresoli Oct. 5, 2022, 4:50 p.m. UTC | #4
On Wed, 5 Oct 2022 09:02:00 +0300
"Mikko Rapeli" <mikko.rapeli@linaro.org> wrote:

> Hi,
> 
> On Tue, Oct 04, 2022 at 11:57:19PM +0200, Luca Ceresoli wrote:
> > Hello Mikko,
> > 
> > On Tue,  4 Oct 2022 18:28:07 +0300
> > "Mikko Rapeli" <mikko.rapeli@linaro.org> wrote:
> >   
> > > It sets all environment variables correctly for openssl-native.
> > > 
> > > Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>  
> > 
> > I'm taking this patch for testing, however I have a question, see below.
> >   
> > > ---
> > >  meta/recipes-bsp/u-boot/u-boot.inc | 3 ++-
> > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
> > > index f022aed732..cd9c578962 100644
> > > --- a/meta/recipes-bsp/u-boot/u-boot.inc
> > > +++ b/meta/recipes-bsp/u-boot/u-boot.inc
> > > @@ -17,7 +17,8 @@ PACKAGECONFIG ??= "openssl"
> > >  # u-boot will compile its own tools during the build, with specific
> > >  # configurations (aka when CONFIG_FIT_SIGNATURE is enabled) openssl is needed as
> > >  # a host build dependency.
> > > -PACKAGECONFIG[openssl] = ",,openssl-native"
> > > +OPENSSL_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'openssl', 'openssl-native', '', d)}"  
> > 
> > What is the reason to use '.=' and not just '=' here?  
> 
> Hehe, it was in another example which was using conditional inheritance.
> 
> meta/recipes-support/gpgme/gpgme_1.18.0.bb
> 
> PYTHON_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native python3targetconfig', '', d)}"
> 
> I guess normal = assignment would work too. If that's preferred I can
> send a v3.

In this case a '=' seems the correct choice.

There is another issue with this patch. During AB testing we have this
new warning:

WARNING: u-boot-1_2022.07-r0 do_configure: QA Issue: u-boot: invalid PACKAGECONFIG: openssl [invalid-packageconfig]

I don't know which layer has the u-boot-1 recipe, but by grepping I
noticed the 'openssl' PACKAGECONFIG appears in oe-core elsewhere, and
it should be removed from there too.
diff mbox series

Patch

diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
index f022aed732..cd9c578962 100644
--- a/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/meta/recipes-bsp/u-boot/u-boot.inc
@@ -17,7 +17,8 @@  PACKAGECONFIG ??= "openssl"
 # u-boot will compile its own tools during the build, with specific
 # configurations (aka when CONFIG_FIT_SIGNATURE is enabled) openssl is needed as
 # a host build dependency.
-PACKAGECONFIG[openssl] = ",,openssl-native"
+OPENSSL_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'openssl', 'openssl-native', '', d)}"
+inherit ${OPENSSL_INHERIT}
 
 # Allow setting an additional version string that will be picked up by the
 # u-boot build system and appended to the u-boot version.  If the .scmversion