All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hongxu Jia <hongxu.jia@windriver.com>
To: Laurentiu Palcu <laurentiu.palcu@intel.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 1/1] multilib.bbclass/package_manager.py: fix <multilib>-meta-toolchain build failure
Date: Wed, 15 Oct 2014 19:32:25 +0800	[thread overview]
Message-ID: <543E5B49.4080200@windriver.com> (raw)
In-Reply-To: <20141015110009.GA9446@lpalcu-linux>

On 10/15/2014 07:00 PM, Laurentiu Palcu wrote:
> Hi Hongxu,
>
> On Wed, Oct 15, 2014 at 05:23:16PM +0800, Hongxu Jia wrote:
>> There is a failure to build lib32-meta-toolchain:
>> ...
>> |ERROR: lib32-packagegroup-core-standalone-sdk-target not found in the base
>> feeds (qemux86_64 x86 noarch any all).
>> ...
>>
>> In package_manager.py, the variable 'DEFAULTTUNE_virtclass-multilib-lib32'
>> is used to process multilib image/toolchain. But for the build of lib32-
>> meta-toolchain, the value of 'DEFAULTTUNE_virtclass-multilib-lib32' is
>> deleted. In 'bitbake lib32-meta-toolchain -e', we got:
>> ...
>> |# $DEFAULTTUNE_virtclass-multilib-lib32 [2 operations]
>> |#   set? /home/jiahongxu/yocto/build-20141010-yocto/conf/local.conf:237
>> |#     "x86"
>> |#   del data_smart.py:406 [finalize]
>> |#     ""
>> |# pre-expansion value:
>> |#   "None"
>> ...
>>
>> The commit 899d45b90061eb3cf3e71029072eee42cd80930c in oe-core deleted
>> it at DataSmart.finalize
>> ...
>> Author: Richard Purdie <richard.purdie@linuxfoundation.org>
>> Date:   Tue May 31 23:52:50 2011 +0100
>>
>>      bitbake/data_smart: Change overrides behaviour to remove
>>         expanded variables from the datastore
>> ...
>>
>> We add an internal variable 'DEFAULTTUNE_ML_<multilib>', assign it with the
>> value of 'DEFAULTTUNE_virtclass-multilib-lib32' before deleting.
>>
>> In package_manager.py, we use DEFAULTTUNE_virtclass-multilib-lib32 first,
>> if it is not available, and try to use DEFAULTTUNE_ML_<multilib>
>>
>> [YOCTO #6842]
> Is this an RPM only issue? (It's not clear from the bug description...) If
> not, maybe this should be fixed for the other backends too.

Yes, it is rpm only, only rpm staff use the variable
'DEFAULTTUNE_virtclass-multilib-lib32'.

>> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
>> ---
>>   meta/classes/multilib.bbclass  | 1 +
>>   meta/lib/oe/package_manager.py | 3 +++
>>   2 files changed, 4 insertions(+)
>>
>> diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
>> index 6e143dd..6aad894 100644
>> --- a/meta/classes/multilib.bbclass
>> +++ b/meta/classes/multilib.bbclass
>> @@ -60,6 +60,7 @@ python multilib_virtclass_handler () {
>>       newtune = e.data.getVar("DEFAULTTUNE_" + "virtclass-multilib-" + variant, False)
>>       if newtune:
>>           e.data.setVar("DEFAULTTUNE", newtune)
>> +        e.data.setVar('DEFAULTTUNE_ML_%s' % variant, newtune)
>>   }
>>   
>>   addhandler multilib_virtclass_handler
>> diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
>> index 27fdf26..d42cdcc 100644
>> --- a/meta/lib/oe/package_manager.py
>> +++ b/meta/lib/oe/package_manager.py
>> @@ -63,6 +63,9 @@ class RpmIndexer(Indexer):
>>                       localdata = bb.data.createCopy(self.d)
>>                       default_tune_key = "DEFAULTTUNE_virtclass-multilib-" + eext[1]
>>                       default_tune = localdata.getVar(default_tune_key, False)
>> +                    if not default_tune:
> Testing for None should always be done using 'is' or 'is not'. There's a
> good explanation for this in PEP8.

Got it, thanks for figuring it out, I will read PEP8, V3 incoming

//Hongxu

> laurentiu
>
>> +                        default_tune_key = "DEFAULTTUNE_ML_" + eext[1]
>> +                        default_tune = localdata.getVar(default_tune_key, False)
>>                       if default_tune:
>>                           localdata.setVar("DEFAULTTUNE", default_tune)
>>                           bb.data.update_data(localdata)
>> -- 
>> 1.9.1
>>
>> -- 
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core



  reply	other threads:[~2014-10-15 11:32 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-15  9:23 [PATCH V2 0/1] multilib.bbclass/package_manager.py: fix <multilib>-meta-toolchain build failure Hongxu Jia
2014-10-15  9:23 ` [PATCH 1/1] " Hongxu Jia
2014-10-15 11:00   ` Laurentiu Palcu
2014-10-15 11:32     ` Hongxu Jia [this message]
  -- strict thread matches above, loose matches on Subject: below --
2014-10-15 12:31 [PATCH V3 0/1] " Hongxu Jia
2014-10-15 12:31 ` [PATCH 1/1] " Hongxu Jia
2014-10-15 13:27   ` Laurentiu Palcu
2014-10-15 13:57     ` Hongxu Jia
2014-10-15  5:58 [PATCH 0/1] " Hongxu Jia
2014-10-15  5:59 ` [PATCH 1/1] " Hongxu Jia
2014-10-15  7:53   ` Hongxu Jia

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=543E5B49.4080200@windriver.com \
    --to=hongxu.jia@windriver.com \
    --cc=laurentiu.palcu@intel.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.