[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