<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 20, 2014 at 10:37 PM, Nathan Rossi <span dir="ltr"><<a href="mailto:nathan.rossi@xilinx.com" target="_blank">nathan.rossi@xilinx.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="overflow:hidden">Commit 07e59b5ff659bde6e6a60c4781c0a2deb406c667 added the task<br>
dependency of 'virtual/kernel:do_kernel_configme' for the do_diffconfig<br>
task. This dependency is only valid for linux recipes that inherit<br>
kernel-yocto (e.g. linux-yocto), however due to virtual/kernel being a<br>
virtual dependency it may not be providing a kernel which inherits<br>
kernel-yocto in which case the do_kernel_configme task might not exist.<br>
<br>
In the case where virtual/kernel is provided by a non kernel-yocto<br>
recipe an error is thrown in relation to the dependency, e.g.<br>
<br>
ERROR: Task do_diffconfig in <a href="http://linux-yocto-tiny_3.8.bb" target="_blank">linux-yocto-tiny_3.8.bb</a> depends<br>
upon non-existent task do_kernel_configme in <a href="http://linux.bb" target="_blank">linux.bb</a><br>
<br>
Changing the dependency to use '${PN}:do_kernel_configme' forces the<br>
dependency to only depend on the recipe which inherits<br>
kernel-yocto.bbclass.<br>
<br>
Signed-off-by: Nathan Rossi <<a href="mailto:nathan.rossi@xilinx.com" target="_blank">nathan.rossi@xilinx.com</a>></div></blockquote><div><br></div><div>It looks like any machine which has a kernel-yocto recipe parsed and not skipped, but whose virtual/kernel is not kernel-yocto, will see this. The beagleboard machine gets build breaks due to this, for example, if you include both meta-yocto-bsp and meta-ti in your BBLAYERS.<br>
</div></div><br></div><div class="gmail_extra">This is a little weird, both the original implementation and this patch. We already have an API for adding internal inter-task dependencies, it's called 'addtask' ;) That said, I think I can see the intent, but there are a couple of alternatives, and I really don't like either this or the original version, personally.<br>
<br>I'm guessing that the idea was to add a dependency from diffconfig to kernel_configme whether or not diffconfig even exists, in order to be able to support a use case where kernel-yocto is inherited but cml1 is not, but I'd question the validity of such a use case, personally. I think either we should consider one of these options:<br>
<br> 1) Programmatically add the dependency with bb.build.addtask based on the availability of do_diffconfig<br> 2) Use addtask to express the dependency in linux-yocto.inc, where do_kernel_configme gets added as a task. Having do_diffconfig depend on do_kernel_configme for a recipe that doesn't include linux-yocto.inc would result in breakage anyway unless they explicitly addtask do_kernel_configme in that recipe.<br>
<br></div><div class="gmail_extra">Thoughts?<br></div><div class="gmail_extra">
<br></div><div class="gmail_extra">Does anyone know if the intent was that kernel-yocto.bbclass would be useful without cml1?<br></div><div class="gmail_extra">-- <br>Christopher Larson<br>clarson at kergoth dot com<br>Founder - BitBake, OpenEmbedded, OpenZaurus<br>
Maintainer - Tslib<br>Senior Software Engineer, Mentor Graphics
</div></div>