Patchwork [2/3] multilib: Enable multilib remapping for SDK generation

login
register
mail settings
Submitter Mark Hatle
Date July 6, 2012, 7:14 p.m.
Message ID <ba80d76cae689a4023327da4e38a83e1c5c88306.1341601764.git.mark.hatle@windriver.com>
Download mbox | patch
Permalink /patch/31335/
State Accepted
Commit d66d2bdf6214939e8b131f47db2f35d3c64e7dd2
Headers show

Comments

Mark Hatle - July 6, 2012, 7:14 p.m.
Enable the remapping for SDK generation, this is required to be able to
create an SDK that targets an alternative multilib.  Note, this work does
not finish SDK/multilib support, but it is one more step toward making
it work properly.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
 meta/classes/multilib.bbclass |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)
Richard Purdie - July 9, 2012, 10:39 a.m.
On Fri, 2012-07-06 at 14:14 -0500, Mark Hatle wrote:
> Enable the remapping for SDK generation, this is required to be able to
> create an SDK that targets an alternative multilib.  Note, this work does
> not finish SDK/multilib support, but it is one more step toward making
> it work properly.
> 
> Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
> ---
>  meta/classes/multilib.bbclass |    6 ++++++
>  1 files changed, 6 insertions(+), 0 deletions(-)
> 
> diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
> index f3e7618..b92a3ff 100644
> --- a/meta/classes/multilib.bbclass
> +++ b/meta/classes/multilib.bbclass
> @@ -54,6 +54,12 @@ python __anonymous () {
>          d.setVar("LINGUAS_INSTALL", "")
>          # FIXME, we need to map this to something, not delete it!
>          d.setVar("PACKAGE_INSTALL_ATTEMPTONLY", "")
> +
> +    if bb.data.inherits_class('populate_sdk_base', d):
> +        clsextend.map_depends_variable("TOOLCHAIN_TARGET_TASK")
> +        clsextend.map_depends_variable("TOOLCHAIN_TARGET_TASK_ATTEMPTONLY")
> +
> +    if bb.data.inherits_class('image', d) or bb.data.inherits_class('populate_sdk_base', d):
>          return
>  

There is something odd going on with this patch. You've removed the
earlier return but this patch doesn't show that...

Cheers,

Richard
Mark Hatle - July 9, 2012, 1:08 p.m.
On 7/9/12 5:39 AM, Richard Purdie wrote:
> On Fri, 2012-07-06 at 14:14 -0500, Mark Hatle wrote:
>> Enable the remapping for SDK generation, this is required to be able to
>> create an SDK that targets an alternative multilib.  Note, this work does
>> not finish SDK/multilib support, but it is one more step toward making
>> it work properly.
>>
>> Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
>> ---
>>   meta/classes/multilib.bbclass |    6 ++++++
>>   1 files changed, 6 insertions(+), 0 deletions(-)
>>
>> diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
>> index f3e7618..b92a3ff 100644
>> --- a/meta/classes/multilib.bbclass
>> +++ b/meta/classes/multilib.bbclass
>> @@ -54,6 +54,12 @@ python __anonymous () {
>>           d.setVar("LINGUAS_INSTALL", "")
>>           # FIXME, we need to map this to something, not delete it!
>>           d.setVar("PACKAGE_INSTALL_ATTEMPTONLY", "")
>> +
>> +    if bb.data.inherits_class('populate_sdk_base', d):
>> +        clsextend.map_depends_variable("TOOLCHAIN_TARGET_TASK")
>> +        clsextend.map_depends_variable("TOOLCHAIN_TARGET_TASK_ATTEMPTONLY")
>> +
>> +    if bb.data.inherits_class('image', d) or bb.data.inherits_class('populate_sdk_base', d):
>>           return
>>
>
> There is something odd going on with this patch. You've removed the
> earlier return but this patch doesn't show that...

I didn't remove it, I 'moved' it later.  Otherwise the populate_sdk_base case is 
never run, when the image case has already been loaded.

So the flow goes from:

if image class:
   do work
   return

do other stuff

to

if image class:
   do work

if sdk class:
   do other work

if either image or sdk class:
   return

do other stuff

The behavior is the same for the image only class, the only new behavior is 
adding in the remap for the SDK only (or combined w/ the image) case.

--Mark

> Cheers,
>
> Richard
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
Richard Purdie - July 9, 2012, 2:52 p.m.
On Mon, 2012-07-09 at 08:08 -0500, Mark Hatle wrote:
> On 7/9/12 5:39 AM, Richard Purdie wrote:
> > On Fri, 2012-07-06 at 14:14 -0500, Mark Hatle wrote:
> >> Enable the remapping for SDK generation, this is required to be able to
> >> create an SDK that targets an alternative multilib.  Note, this work does
> >> not finish SDK/multilib support, but it is one more step toward making
> >> it work properly.
> >>
> >> Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
> >> ---
> >>   meta/classes/multilib.bbclass |    6 ++++++
> >>   1 files changed, 6 insertions(+), 0 deletions(-)
> >>
> >> diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
> >> index f3e7618..b92a3ff 100644
> >> --- a/meta/classes/multilib.bbclass
> >> +++ b/meta/classes/multilib.bbclass
> >> @@ -54,6 +54,12 @@ python __anonymous () {
> >>           d.setVar("LINGUAS_INSTALL", "")
> >>           # FIXME, we need to map this to something, not delete it!
> >>           d.setVar("PACKAGE_INSTALL_ATTEMPTONLY", "")
> >> +
> >> +    if bb.data.inherits_class('populate_sdk_base', d):
> >> +        clsextend.map_depends_variable("TOOLCHAIN_TARGET_TASK")
> >> +        clsextend.map_depends_variable("TOOLCHAIN_TARGET_TASK_ATTEMPTONLY")
> >> +
> >> +    if bb.data.inherits_class('image', d) or bb.data.inherits_class('populate_sdk_base', d):
> >>           return
> >>
> >
> > There is something odd going on with this patch. You've removed the
> > earlier return but this patch doesn't show that...
> 
> I didn't remove it, I 'moved' it later.  Otherwise the populate_sdk_base case is 
> never run, when the image case has already been loaded.
> 
> So the flow goes from:

I understand this. Let me put this in a simpler way. Could you send a
patch that cleanly applies against master please? There is something
wrong with it and it doesn't apply.

Cheers,

Richard

Patch

diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index f3e7618..b92a3ff 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -54,6 +54,12 @@  python __anonymous () {
         d.setVar("LINGUAS_INSTALL", "")
         # FIXME, we need to map this to something, not delete it!
         d.setVar("PACKAGE_INSTALL_ATTEMPTONLY", "")
+
+    if bb.data.inherits_class('populate_sdk_base', d):
+        clsextend.map_depends_variable("TOOLCHAIN_TARGET_TASK")
+        clsextend.map_depends_variable("TOOLCHAIN_TARGET_TASK_ATTEMPTONLY")
+
+    if bb.data.inherits_class('image', d) or bb.data.inherits_class('populate_sdk_base', d):
         return
 
     clsextend.rename_packages()