[OE-core] [PATCH V2] allarch.bbclass: Set FEED_ARCH to original value of BASE_PACKAGE_ARCH and then set BASE_PACKAGE_ARCH to 'all'

Koen Kooi koen at dominion.thruhere.net
Tue Jun 14 21:44:38 UTC 2011


Op 14 jun 2011, om 23:40 heeft Khem Raj het volgende geschreven:

> On Tue, Jun 14, 2011 at 2:32 PM, Koen Kooi <koen at dominion.thruhere.net> wrote:
>> 
>> Op 14 jun 2011, om 23:24 heeft Richard Purdie het volgende geschreven:
>> 
>>> On Tue, 2011-06-14 at 14:13 -0700, Khem Raj wrote:
>>>> Signed-off-by: Khem Raj <raj.khem at gmail.com>
>>>> ---
>>>> meta/classes/allarch.bbclass |    5 +++--
>>>> 1 files changed, 3 insertions(+), 2 deletions(-)
>>>> 
>>>> diff --git a/meta/classes/allarch.bbclass b/meta/classes/allarch.bbclass
>>>> index e3ac392..b9ba28b 100644
>>>> --- a/meta/classes/allarch.bbclass
>>>> +++ b/meta/classes/allarch.bbclass
>>>> @@ -2,9 +2,10 @@
>>>> # This class is used for architecture independent recipes/data files (usally scripts)
>>>> #
>>>> 
>>>> +# We need to pour the value of BASE_PACKAGE_ARCH into FEED_ARCH
>>>> +# before we reset it
>>>> +FEED_ARCH := ${BASE_PACKAGE_ARCH}
>>>> BASE_PACKAGE_ARCH = "all"
>>>> -PACKAGE_ARCH = "all"
>>>> -
>>>> # No need for virtual/libc or a cross compiler
>>>> INHIBIT_DEFAULT_DEPS = "1"
>>> 
>>> This is a *really* bad idea. An "all" package should have no need to set
>>> architecture specific values into FEED_ARCH.
>>> 
>>> Just for those not following IRC, the problem is Angstrom adds FEED_ARCH
>>> to OVERRIDES. Adding "all" to overrides turns out to do nasty things to
>>> classes like rm_work with "_all" in the function names.
>> 
>> So why don't we just set PACKAGE_ARCH = all in allarch.bbclass and not touch BASE_PACKAGE_ARCH and FEED_ARCH?
>> 
> 
> because there are some machines conf files which use BASE_PACKAGE_ARCH e.g.
> tune-xscale.inc
> 
> BASE_PACKAGE_ARCH = "${@['armv5teb',
> 'armv5te'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}"
> 
> PACKAGE_EXTRA_ARCHS = "${@['armeb armv4b armv4tb armv5teb', 'arm armv4
> armv4t armv5te'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}"
> 
> and this does not get evaluated properly then

But that wouldn't matter in the scope of allarch, though?



More information about the Openembedded-core mailing list