[yocto] Undefining a variable in a recipe?

Alex J Lennon ajlennon at dynamicdevices.co.uk
Fri May 2 06:35:27 PDT 2014


On 02/05/2014 14:23, Otavio Salvador wrote:
> On Fri, May 2, 2014 at 10:11 AM, Alex J Lennon
> <ajlennon at dynamicdevices.co.uk> wrote:
>> On 02/05/2014 14:07, Otavio Salvador wrote:
>>> On Fri, May 2, 2014 at 10:01 AM, Alex J Lennon
>>> <ajlennon at dynamicdevices.co.uk> wrote:
>>>> On 02/05/2014 13:56, Otavio Salvador wrote:
>>>>> On Fri, May 2, 2014 at 2:24 AM, Alex J Lennon
>>>>> <ajlennon at dynamicdevices.co.uk> wrote:
>>>>> ...
>>>>>> So I guess I'm at the point where I'm wondering if a getVar() with a
>>>>>> flag is behaving as you would expect it to,
>>>>>> or how I might go about ensuring either UBOOT_MACHINE or UBOOT_CONFIG
>>>>>> isn't defined?
>>>>>>
>>>>>> Thanks in advance for any advice,
>>>>> I think we have a simple error error. You are mixing a recipe, which
>>>>> is old and a metadata layer with new concepts.
>>>>>
>>>>> The u-boot-imx, in 2009.08 recipe, used to set the UBOOT_MACHINE in
>>>>> the recipe as it was left as a fallback in case user needed it and the
>>>>> value was different from newer releases.
>>>>>
>>>>> In your case, the easier is to make a new yourmachine.conf and use the
>>>>> UBOOT_CONFIG or UBOOT_MACHINE setting there so it will work just fine.
>>>>>
>>>> If I have to do that, then I have to do that.
>>>>
>>>> However if I could just undefine one of the two variables defined in the
>>>> meta-fsl-arm
>>>> layer then I could continue with what I am doing without having to spend
>>>> the time
>>>> right now to rework the configuration, which is wasted effort for me, as
>>>> I will be moving
>>>> up to the new version of u-boot in the near future.
>>>>
>>>> Is there no simple way to undefine a variable in a recipe?
>>> You can change the recipe byhand. This is ugly and I wouldn't do it. I
>>> do think you are wasting more time trying to 'workaround' it than
>>> fixing it.
>> Or indeed, would be not be reasonable to modify the uboot-config.bbclass
>> such that
>> it tested for and discarded empty strings in UBOOT_MACHINE / UBOOT_CONFIG
>> which would seem to be a more complete test and would eliminate the
>> problem ?
> Like: http://privatepaste.com/8046479967
>
>>> Comment the UBOOT_MACHINE setting in the u-boot-imx recipe and move
>>> on. The log is clear you're not setting the PREFERRED_VERSION
>>> accordingly and you should.
>>>
>> You've lost me. Why am I not setting PREFERRED_VERSION accordingly? I have
>> two recipes in the checkout and I have configured prefer the older one,
>> which
>> seems entirely reasonable.
> Your log say's it looks for u-boot-imx 2013.04 and not for 2009.08.
>

I might be misunderstanding what you are saying here, but if you look at
my earlier email, and check the patchbin snippets I provided you will
see I am preferring 2009.08

 1.
    PREFERRED_VERSION_u-boot-imx="2009.08"

The test in uboot-config.bbclass causes this to fail/be unavailable to
the build, which is why the log says I cannot use 2009.08, instead
falling back to the newer version. Removing the two lines checking for
the definition of the two variables results in the 2009.08 build
completing successfully - but I don't want to leave that little bomb in
meta-fsl-arm for colleagues to fall over in future.

I cannot override what meta-fsl-arm is setting because I can't (or don't
know how to) undefine one of those two variables in my bbappend, and
although I believe I _can_ set it to an empty string as  Paul suggested,
I don't believe the the getVar() code in uboot-config.bbclass checks
this, although I'm a bit unclear on the semantics of that function call.

I appreciate the help here Otavio, and I was hoping there was a simple
non-invasive way to solve the problem by undefining the variable in my
layer, as it seemed cleaner.

I don't want to waste any more of your time on this though so if I can't
do that then I'll  just  take the hacky route  as an intermediary step,
copy out your 2009.08 recipe into my layer and mod it there.

Thanks for the time & feedback though,

Alex



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20140502/8f2e21d0/attachment.html>


More information about the yocto mailing list