diff options
author | Hongxu Jia <hongxu.jia@windriver.com> | 2014-10-15 20:31:14 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-11-04 10:27:09 +0000 |
commit | 8619d937261da462acb01f24701add1201698f9f (patch) | |
tree | e8311482c2ea450a2e7db8378a85ebf831070105 | |
parent | 99b0f382f98102272206d448e3394f2e660a9a57 (diff) | |
download | poky-8619d937261da462acb01f24701add1201698f9f.tar.gz |
multilib.bbclass/package_manager.py: fix <multilib>-meta-toolchain build failure
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]
(From OE-Core rev: 9c59d3d8b538d3a98ff4b5e5b189a4a23a85da2d)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/multilib.bbclass | 1 | ||||
-rw-r--r-- | meta/lib/oe/package_manager.py | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass index 2a90d9ef29..eea2fd59a1 100644 --- a/meta/classes/multilib.bbclass +++ b/meta/classes/multilib.bbclass | |||
@@ -63,6 +63,7 @@ python multilib_virtclass_handler () { | |||
63 | newtune = e.data.getVar("DEFAULTTUNE_" + "virtclass-multilib-" + variant, False) | 63 | newtune = e.data.getVar("DEFAULTTUNE_" + "virtclass-multilib-" + variant, False) |
64 | if newtune: | 64 | if newtune: |
65 | e.data.setVar("DEFAULTTUNE", newtune) | 65 | e.data.setVar("DEFAULTTUNE", newtune) |
66 | e.data.setVar('DEFAULTTUNE_ML_%s' % variant, newtune) | ||
66 | } | 67 | } |
67 | 68 | ||
68 | addhandler multilib_virtclass_handler | 69 | addhandler multilib_virtclass_handler |
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py index ffb83b2cba..e1ec75e52b 100644 --- a/meta/lib/oe/package_manager.py +++ b/meta/lib/oe/package_manager.py | |||
@@ -63,6 +63,9 @@ class RpmIndexer(Indexer): | |||
63 | localdata = bb.data.createCopy(self.d) | 63 | localdata = bb.data.createCopy(self.d) |
64 | default_tune_key = "DEFAULTTUNE_virtclass-multilib-" + eext[1] | 64 | default_tune_key = "DEFAULTTUNE_virtclass-multilib-" + eext[1] |
65 | default_tune = localdata.getVar(default_tune_key, False) | 65 | default_tune = localdata.getVar(default_tune_key, False) |
66 | if default_tune is None: | ||
67 | default_tune_key = "DEFAULTTUNE_ML_" + eext[1] | ||
68 | default_tune = localdata.getVar(default_tune_key, False) | ||
66 | if default_tune: | 69 | if default_tune: |
67 | localdata.setVar("DEFAULTTUNE", default_tune) | 70 | localdata.setVar("DEFAULTTUNE", default_tune) |
68 | bb.data.update_data(localdata) | 71 | bb.data.update_data(localdata) |