[OE-core] [PATCH] sanity.bbclass: Add sanity check that TUNE_PKGARCH appears in PACKAGE_ARCHS

Saul Wold sgw at linux.intel.com
Fri Jul 29 03:07:55 UTC 2011


On 07/28/2011 06:57 PM, Kumar Gala wrote:
>
> On Jul 28, 2011, at 7:41 PM, Saul Wold wrote:
>
>> On 07/28/2011 05:07 PM, Kumar Gala wrote:
>>> Its possible we get duplications if we explicity add TUNE_PKGARCH to
>>> PACKAGE_ARCHS so instead just add a sanity check to verify it.
>>>
>>> Signed-off-by: Kumar Gala<galak at kernel.crashing.org>
>>> ---
>>>   meta/classes/sanity.bbclass |   10 +++++++++-
>>>   1 files changed, 9 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
>>> index b054146..999e15d 100644
>>> --- a/meta/classes/sanity.bbclass
>>> +++ b/meta/classes/sanity.bbclass
>>> @@ -375,8 +375,10 @@ def check_sanity(e):
>>>       elif oeroot.find (' ') != -1:
>>>           messages = messages + "Error, you have a space in your COREBASE directory path. Please move the installation to a directory which doesn't include a space."
>>>
>>> -    # Check that we don't have duplicate entries in PACKAGE_ARCHS
>>> +    # Check that we don't have duplicate entries in PACKAGE_ARCHS&   that TUNE_PKGARCH is in PACKAGE_ARCHS
>>>       pkgarchs = data.getVar('PACKAGE_ARCHS', e.data, True)
>>> +    tunepkg = data.getVar('TUNE_PKGARCH', e.data, True)
>>> +    tunefound = False
>>>       seen = {}
>>>       dups = []
>>>
>>> @@ -385,9 +387,15 @@ def check_sanity(e):
>>>   	    dups.append(pa)
>>>   	else:
>>>   	    seen[pa] = 1
>>> +	if pa == tunepkg:
>>> +	    tunefound = True
>>> +
>>>       if len(dups):
>>>          messages = messages + "Error, the PACKAGE_ARCHS variable contains duplicates. The following archs are listed more than once: %s" % " ".join(dups)
>>>
>> Kumar,
>>
>> Thanks for the patch, some questions.
>>
>> Is this correct, do you still want to report the error, if there is a dup?
>>
>> Would it not just be better to just drop the dup if it is the TUNE_PKGARCH?
>
> I wasn't sure how to drop the dup. :)
>
> If there is a way to uniq PACKAGE_ARCHS that would be fine
>
Would this be what your looking for, it "uniq"s only the tunepkg value.

-       if seen.get(pa, 0) == 1:
+       if pa == tunepkg:
+           tunefound = True
+            if seen.get(pa, 0) == 1:
+                pkgarchs.remove(pa)
+       elif seen.get(pa, 0) == 1:
             dups.append(pa)
         else:
             seen[pa] = 1
-       if pa == tunepkg:
-           tunefound = True


> - k




More information about the Openembedded-core mailing list