[poky] question about task override

Tian, Kevin kevin.tian at intel.com
Wed Dec 15 18:59:36 PST 2010


>From: Paul Eggleton [mailto:paul.eggleton at linux.intel.com]
>Sent: Wednesday, December 15, 2010 8:50 PM
>
>On Wednesday 15 December 2010 11:24:02 Tian, Kevin wrote:
>.. top part snipped...
>> (meta/conf/distro/poky.conf)
>> do_deploy[vardepsexclude] = "DATE TIME"
>> kernel_do_deploy[vardepsexclude] = "DATE TIME"
>>
>> There's one example in poky.conf:
>>
>> patch_do_patch[vardepsexclude] = "DATE SRCDATE"
>>
>> which works. Does that mean I have to change do_deploy in kernel.bbclass to
>> kernel_do_deploy which is unique in global namespace and then can be referenced
>> from other places?
>
>I haven't looked closely into the rest of your post, but I can say that the reason your
>example above won't work is that vardepsexclude will currently only exclude direct
>dependencies, and DATE and TIME aren't directly referred to by do_deploy - it's via
>DATETIME and KERNEL_IMAGE_BASE_NAME. I've attached a graphviz dot diagram for
>linux-yocto do_deploy which was produced from debug output, if it helps make it clearer
>(viewable with "dot linux_yocto_do_deploy.dot -Tpng > output.png" ).

Got it. I didn't realize it. Thanks for explaining it.

>
>When I was testing vardepsexclude I did wonder whether applying it additionally after
>checking sub-dependencies in order to get around the indirect dependency issue would be
>a good idea; in the end I elected not to do it for the moment as it is possibly better to be
>completely explicit. There is the other question as well as to how to deal with dependencies
>in overridden versions of generic functions, which is what you are alluding to I think.

If possible I always try to only include the leaf variables depended by others. This way
we can reduce the number of variables in the whitelist. But I can understand your design
choice here, so I'll switch to use DATETIME.

>
>However, my question is if KERNEL_IMAGE_BASE_NAME includes DATETIME, is it a good idea
>to be attempting to exclude the dependency?
>

I think there's no correctness issue, since this is only related to an output variable. 

However here I do realize one potential question which is perhaps what you question here,
i.e. do we want to change KERNEL_IMAGE_BASE_NAME for every build when there's sstate
package which could be reused?

By reusing I think it's fine to use same DATETIME from what's contained inside sstate package,
since it indicates exactly when it's generated.

Thanks
Kevin



More information about the poky mailing list