Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 0/2] Fixes for warnings during parse with multilib
@ 2012-09-21 16:40 Paul Eggleton
  2012-09-21 16:40 ` [PATCH 1/2] classes/multilib: ensure MLPREFIX is set for image recipes Paul Eggleton
  2012-09-21 16:40 ` [PATCH 2/2] classes/multilib: prevent multilib extension of nativesdk recipes Paul Eggleton
  0 siblings, 2 replies; 5+ messages in thread
From: Paul Eggleton @ 2012-09-21 16:40 UTC (permalink / raw)
  To: openembedded-core

The following changes since commit 5e03d1e83d0536a2fc69a88d3e5407108836203f:

  gcc: Use 4.7.2 release tarball (2012-09-21 14:55:26 +0100)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib paule/multilib
  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/multilib

Paul Eggleton (2):
  classes/multilib: ensure MLPREFIX is set for image recipes
  classes/multilib: prevent multilib extension of nativesdk recipes

 meta/classes/multilib.bbclass |   17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

-- 
1.7.9.5




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

* [PATCH 1/2] classes/multilib: ensure MLPREFIX is set for image recipes
  2012-09-21 16:40 [PATCH 0/2] Fixes for warnings during parse with multilib Paul Eggleton
@ 2012-09-21 16:40 ` Paul Eggleton
  2012-09-22 11:55   ` Richard Purdie
  2012-09-21 16:40 ` [PATCH 2/2] classes/multilib: prevent multilib extension of nativesdk recipes Paul Eggleton
  1 sibling, 1 reply; 5+ messages in thread
From: Paul Eggleton @ 2012-09-21 16:40 UTC (permalink / raw)
  To: openembedded-core

We need MLPREFIX to be set so that oe.utils.prune_suffix() (as used for
the value of BPN) can derive the bare name from the multilib-extended
name for image recipes. BPN being set correctly avoids missing file
warnings during parse from the file checksum code for (unusual) images
that set SRC_URI, such as build-appliance-image.

First half of the fix for [YOCTO #3146].

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 meta/classes/multilib.bbclass |   14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index b1a593e..25cf068 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -11,13 +11,17 @@ python multilib_virtclass_handler () {
     if bb.data.inherits_class('kernel', e.data) or bb.data.inherits_class('module-base', e.data):
         raise bb.parse.SkipPackage("We shouldn't have multilib variants for the kernel")
 
-    if bb.data.inherits_class('image', e.data):
-        e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False))
-        return
-
     if bb.data.inherits_class('native', e.data):
         raise bb.parse.SkipPackage("We can't extend native recipes")
 
+    # Set variables suitable for image recipes (as well as everything else)
+    e.data.setVar("MLPREFIX", variant + "-")
+    e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False))
+
+    if bb.data.inherits_class('image', e.data):
+        # We've set all we need to set for images here
+        return
+
     save_var_name=e.data.getVar("MULTILIB_SAVE_VARNAME", True) or ""
     for name in save_var_name.split():
         val=e.data.getVar(name, True)
@@ -29,8 +33,6 @@ python multilib_virtclass_handler () {
  
     override = ":virtclass-multilib-" + variant
 
-    e.data.setVar("MLPREFIX", variant + "-")
-    e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False))
     e.data.setVar("SHLIBSDIR_virtclass-multilib-" + variant ,e.data.getVar("SHLIBSDIR", False) + "/" + variant)
     if e.data.getVar("TARGET_VENDOR_virtclass-multilib-" + variant, False) is None:
 	    e.data.setVar("TARGET_VENDOR_virtclass-multilib-" + variant, e.data.getVar("TARGET_VENDOR", False) + "ml" + variant)
-- 
1.7.9.5




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

* [PATCH 2/2] classes/multilib: prevent multilib extension of nativesdk recipes
  2012-09-21 16:40 [PATCH 0/2] Fixes for warnings during parse with multilib Paul Eggleton
  2012-09-21 16:40 ` [PATCH 1/2] classes/multilib: ensure MLPREFIX is set for image recipes Paul Eggleton
@ 2012-09-21 16:40 ` Paul Eggleton
  1 sibling, 0 replies; 5+ messages in thread
From: Paul Eggleton @ 2012-09-21 16:40 UTC (permalink / raw)
  To: openembedded-core

It isn't supported to mix multilib and nativesdk in the same target, so
explicitly skip multilib processing if nativesdk is inherited. As a
bonus this fixes a bunch of related "missing file" warnings from the
file checksum code during parsing because BPN was not correctly stripped
for these targets.

Second half of the fix for [YOCTO #3146].

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 meta/classes/multilib.bbclass |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index 25cf068..6923822 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -14,6 +14,9 @@ python multilib_virtclass_handler () {
     if bb.data.inherits_class('native', e.data):
         raise bb.parse.SkipPackage("We can't extend native recipes")
 
+    if bb.data.inherits_class('nativesdk', e.data):
+        raise bb.parse.SkipPackage("We can't extend nativesdk recipes")
+
     # Set variables suitable for image recipes (as well as everything else)
     e.data.setVar("MLPREFIX", variant + "-")
     e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False))
-- 
1.7.9.5




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

* Re: [PATCH 1/2] classes/multilib: ensure MLPREFIX is set for image recipes
  2012-09-21 16:40 ` [PATCH 1/2] classes/multilib: ensure MLPREFIX is set for image recipes Paul Eggleton
@ 2012-09-22 11:55   ` Richard Purdie
  2012-09-22 11:58     ` Paul Eggleton
  0 siblings, 1 reply; 5+ messages in thread
From: Richard Purdie @ 2012-09-22 11:55 UTC (permalink / raw)
  To: Paul Eggleton; +Cc: openembedded-core

On Fri, 2012-09-21 at 17:40 +0100, Paul Eggleton wrote:
> We need MLPREFIX to be set so that oe.utils.prune_suffix() (as used for
> the value of BPN) can derive the bare name from the multilib-extended
> name for image recipes. BPN being set correctly avoids missing file
> warnings during parse from the file checksum code for (unusual) images
> that set SRC_URI, such as build-appliance-image.
> 
> First half of the fix for [YOCTO #3146].
> 
> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> ---
>  meta/classes/multilib.bbclass |   14 ++++++++------
>  1 file changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
> index b1a593e..25cf068 100644
> --- a/meta/classes/multilib.bbclass
> +++ b/meta/classes/multilib.bbclass
> @@ -11,13 +11,17 @@ python multilib_virtclass_handler () {
>      if bb.data.inherits_class('kernel', e.data) or bb.data.inherits_class('module-base', e.data):
>          raise bb.parse.SkipPackage("We shouldn't have multilib variants for the kernel")
>  
> -    if bb.data.inherits_class('image', e.data):
> -        e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False))
> -        return
> -
>      if bb.data.inherits_class('native', e.data):
>          raise bb.parse.SkipPackage("We can't extend native recipes")
>  
> +    # Set variables suitable for image recipes (as well as everything else)
> +    e.data.setVar("MLPREFIX", variant + "-")
> +    e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False))
> +
> +    if bb.data.inherits_class('image', e.data):
> +        # We've set all we need to set for images here
> +        return
> +
>      save_var_name=e.data.getVar("MULTILIB_SAVE_VARNAME", True) or ""
>      for name in save_var_name.split():
>          val=e.data.getVar(name, True)
> @@ -29,8 +33,6 @@ python multilib_virtclass_handler () {
>   
>      override = ":virtclass-multilib-" + variant
>  
> -    e.data.setVar("MLPREFIX", variant + "-")
> -    e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False))
>      e.data.setVar("SHLIBSDIR_virtclass-multilib-" + variant ,e.data.getVar("SHLIBSDIR", False) + "/" + variant)
>      if e.data.getVar("TARGET_VENDOR_virtclass-multilib-" + variant, False) is None:
>  	    e.data.setVar("TARGET_VENDOR_virtclass-multilib-" + variant, e.data.getVar("TARGET_VENDOR", False) + "ml" + variant)


We can't do this due to MULTILIB_SAVE_VARNAME which may then get
influenced by the PN change. This is why the PN setting is duplicated,
we probably need to just duplicate the MLPREFIX line too. Ugly but such
is life :/

Cheers

Richard






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

* Re: [PATCH 1/2] classes/multilib: ensure MLPREFIX is set for image recipes
  2012-09-22 11:55   ` Richard Purdie
@ 2012-09-22 11:58     ` Paul Eggleton
  0 siblings, 0 replies; 5+ messages in thread
From: Paul Eggleton @ 2012-09-22 11:58 UTC (permalink / raw)
  To: Richard Purdie; +Cc: openembedded-core

On Saturday 22 September 2012 12:55:53 Richard Purdie wrote:
> On Fri, 2012-09-21 at 17:40 +0100, Paul Eggleton wrote:
> > We need MLPREFIX to be set so that oe.utils.prune_suffix() (as used for
> > the value of BPN) can derive the bare name from the multilib-extended
> > name for image recipes. BPN being set correctly avoids missing file
> > warnings during parse from the file checksum code for (unusual) images
> > that set SRC_URI, such as build-appliance-image.
> > 
> > First half of the fix for [YOCTO #3146].
> > 
> > Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> > ---
> > 
> >  meta/classes/multilib.bbclass |   14 ++++++++------
> >  1 file changed, 8 insertions(+), 6 deletions(-)
> > 
> > diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
> > index b1a593e..25cf068 100644
> > --- a/meta/classes/multilib.bbclass
> > +++ b/meta/classes/multilib.bbclass
> > @@ -11,13 +11,17 @@ python multilib_virtclass_handler () {
> > 
> >      if bb.data.inherits_class('kernel', e.data) or 
bb.data.inherits_class('module-base', e.data):
> >          raise bb.parse.SkipPackage("We shouldn't have multilib variants
> >          for the kernel")> 
> > -    if bb.data.inherits_class('image', e.data):
> > -        e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False))
> > -        return
> > -
> > 
> >      if bb.data.inherits_class('native', e.data):
> >          raise bb.parse.SkipPackage("We can't extend native recipes")
> > 
> > +    # Set variables suitable for image recipes (as well as everything
> > else) +    e.data.setVar("MLPREFIX", variant + "-")
> > +    e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False))
> > +
> > +    if bb.data.inherits_class('image', e.data):
> > +        # We've set all we need to set for images here
> > +        return
> > +
> > 
> >      save_var_name=e.data.getVar("MULTILIB_SAVE_VARNAME", True) or ""
> >      
> >      for name in save_var_name.split():
> >          val=e.data.getVar(name, True)
> > 
> > @@ -29,8 +33,6 @@ python multilib_virtclass_handler () {
> > 
> >      override = ":virtclass-multilib-" + variant
> > 
> > -    e.data.setVar("MLPREFIX", variant + "-")
> > -    e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False))
> > 
> >      e.data.setVar("SHLIBSDIR_virtclass-multilib-" + variant
> >      ,e.data.getVar("SHLIBSDIR", False) + "/" + variant)>      
> >      if e.data.getVar("TARGET_VENDOR_virtclass-multilib-" + variant, 
False) is None:
> >  	    e.data.setVar("TARGET_VENDOR_virtclass-multilib-" + variant,
> >  	    e.data.getVar("TARGET_VENDOR", False) + "ml" + variant)
>
> We can't do this due to MULTILIB_SAVE_VARNAME which may then get
> influenced by the PN change. This is why the PN setting is duplicated,
> we probably need to just duplicate the MLPREFIX line too. Ugly but such
> is life :/

Oops. I'll send a v2 shortly.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



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

end of thread, other threads:[~2012-09-22 12:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-21 16:40 [PATCH 0/2] Fixes for warnings during parse with multilib Paul Eggleton
2012-09-21 16:40 ` [PATCH 1/2] classes/multilib: ensure MLPREFIX is set for image recipes Paul Eggleton
2012-09-22 11:55   ` Richard Purdie
2012-09-22 11:58     ` Paul Eggleton
2012-09-21 16:40 ` [PATCH 2/2] classes/multilib: prevent multilib extension of nativesdk recipes Paul Eggleton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox