[poky] question about task override
Tian, Kevin
kevin.tian at intel.com
Wed Dec 15 03:24:02 PST 2010
I'm not sure whether "task override" is the right term here. Let me describe it:
It's possible to have multiple places define same task, e.g:
a.bbclass:
do_install () {
...
}
b.bbclass:
b_do_install() {
...
}
c.bb:
inherit a b
I know that if c.bb defines its own do_install, that would be the one being used which
simply overrides a.bbclass and b.bbclass.
However I don't know if c.bb doesn't define its own do_install, which one from a.bbclass
or b.bbclass will take effect here? In inherit order?
A second question is how and where b_do_install is converted into a plain do_install. I tried
to search the source but failed to locate the exact lines. For example, patch_do_patch is
one mysterious function which I don't how it becomes do_patch.
Then comes the third question. How to reference a specific version of do_install from
another place? I want to add one exclusive variable dependency for do_deploy in
kernel.bbclass, however neither of below works:
(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?
Thanks
Kevin
More information about the poky
mailing list