* [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