[OE-core] [PATCH] sanity.bbclass: Add sanity check that TUNE_PKGARCH appears in PACKAGE_ARCHS
Kumar Gala
galak at kernel.crashing.org
Fri Jul 29 12:54:58 UTC 2011
On Jul 28, 2011, at 10:07 PM, Saul Wold wrote:
> 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
No, I don't thing that's right. TUNE_PKGARCH is a singleton. The other check was to make sure that we didn't have ANY duplicates in PACKAGE_ARCHS. I think that is still valid as the code stands.
- k
More information about the Openembedded-core
mailing list