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 21:57:38 +0800	[thread overview]
Message-ID: <543E7D52.5090701@windriver.com> (raw)
In-Reply-To: <20141015132726.GB9446@lpalcu-linux>

On 10/15/2014 09:27 PM, Laurentiu Palcu wrote:
> Hi Hongxu,
>
> Out of curiosity, was this broken since 2011? Because the commit you're
> mentioning is more than 3 years old and I'm not totally convinced that it's
> the one triggering the problem...

It failed after do_rootfs refactor, in previous version, the code of using
'DEFAULTTUNE_virtclass-multilib-lib32' by rpm located in
python __anonymous () {
}
which not invoking data_smart.finalize. At that time, everyting is ok.

//Hongxu

>> 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.
>>
>> For rpm backend 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]
>>
>> 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..221b38a 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 default_tune is None:
>> +                        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 13:57 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-15 12:31 [PATCH V3 0/1] multilib.bbclass/package_manager.py: fix <multilib>-meta-toolchain build failure 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 [this message]
  -- strict thread matches above, loose matches on Subject: below --
2014-10-15  9:23 [PATCH V2 0/1] " 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
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=543E7D52.5090701@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.