<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 12, 2018 at 6:21 PM, Joshua Watt <span dir="ltr">&lt;<a href="mailto:jpewhacker@gmail.com" target="_blank">jpewhacker@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">On Thu, 2018-01-11 at 16:07 +0000, Stefan Stanacar wrote:<br>
&gt; When externalsrc is enabled for kernel, do_patch doesn&#39;t exist since<br>
&gt; is in<br>
&gt; SRCTREECOVEREDTASKS, so make these depend on a real task.<br>
&gt;<br>
&gt; Fixes:<br>
&gt;     ERROR: Task do_unpack in /data/yocto/poky/meta/recipes-<br>
&gt; kernel/perf/<a href="http://perf.bb" rel="noreferrer" target="_blank">perf.bb</a><br>
&gt;     depends upon non-existent task do_patch in<br>
&gt; /data/yocto/poky/meta/recipes-<wbr>kernel/linux/<a href="http://linux-yocto_4.8.bb" rel="noreferrer" target="_blank">linux-yocto_4.8.<wbr>bb</a><br>
&gt;<br>
&gt; Signed-off-by: Stefan Stanacar &lt;<a href="mailto:sstncr@gmail.com">sstncr@gmail.com</a>&gt;<br>
&gt; ---<br>
&gt;  meta/classes/kernelsrc.bbclass   | 2 +-<br>
&gt;  meta/recipes-kernel/perf/<a href="http://perf.bb" rel="noreferrer" target="_blank">perf.<wbr>bb</a> | 2 +-<br>
&gt;  2 files changed, 2 insertions(+), 2 deletions(-)<br>
&gt;<br>
&gt; diff --git a/meta/classes/kernelsrc.<wbr>bbclass<br>
&gt; b/meta/classes/kernelsrc.<wbr>bbclass<br>
&gt; index 9efd46a..ce6c999 100644<br>
&gt; --- a/meta/classes/kernelsrc.<wbr>bbclass<br>
&gt; +++ b/meta/classes/kernelsrc.<wbr>bbclass<br>
&gt; @@ -1,6 +1,6 @@<br>
&gt;  S = &quot;${STAGING_KERNEL_DIR}&quot;<br>
&gt;  do_fetch[noexec] = &quot;1&quot;<br>
&gt; -do_unpack[depends] += &quot;virtual/kernel:do_patch&quot;<br>
&gt; +do_unpack[depends] += &quot;virtual/kernel:do_configure&quot;<br>
<br>
</span>I was looking at fixing this as well, but I had another approach.<br>
Instead of perpetually changing these to handle externalsrc corner<br>
cases, perhaps externalsrc.bbclass should not delete the tasks, but<br>
instead mark them as noexec as follows (I&#39;ll push this up for real if<br>
in a moment...). Then recipes should be able to work transparently<br>
regardless of externalsrc being used or not.<br>
<br></blockquote><div><br></div><div><div><br></div><div>+1<br></div><div>Yup, I like this, it&#39;s a better fix. I&#39;ve sent 
another patch for kernel.bbclass (both for master and morty) which I 
think is still needed even with your patch.<br></div><div><br></div><div>Cheers,</div>Stefan</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
diff --git a/meta/classes/externalsrc.<wbr>bbclass<br>
b/meta/classes/externalsrc.<wbr>bbclass<br>
index 65dd13ddc1f..12046d74e17 100644<br>
--- a/meta/classes/externalsrc.<wbr>bbclass<br>
+++ b/meta/classes/externalsrc.<wbr>bbclass<br>
@@ -102,7 +102,7 @@ python () {<br>
         for task in d.getVar(&quot;SRCTREECOVEREDTASKS&quot;<wbr>).split():<br>
             if local_srcuri and task in fetch_tasks:<br>
                 continue<br>
-            bb.build.deltask(task, d)<br>
+            d.setVarFlag(task, &#39;noexec&#39;, &#39;1&#39;)<br>
<br>
         d.prependVarFlag(&#39;do_compile&#39;, &#39;prefunc<br>
s&#39;, &quot;externalsrc_compile_prefunc &quot;)<br>
         d.prependVarFlag(&#39;do_<wbr>configure&#39;, &#39;prefuncs&#39;,<br>
&quot;externalsrc_configure_prefunc &quot;)<br>
<div class="gmail-HOEnZb"><div class="gmail-h5"><br>
<br>
&gt;  do_unpack[noexec] = &quot;1&quot;<br>
&gt;  do_patch[noexec] = &quot;1&quot;<br>
&gt;  do_package[depends] += &quot;virtual/kernel:do_populate_<wbr>sysroot&quot;<br>
&gt; diff --git a/meta/recipes-kernel/perf/<a href="http://perf.bb" rel="noreferrer" target="_blank">per<wbr>f.bb</a> b/meta/recipes-<br>
&gt; kernel/perf/<a href="http://perf.bb" rel="noreferrer" target="_blank">perf.bb</a><br>
&gt; index 03ae446..145774b 100644<br>
&gt; --- a/meta/recipes-kernel/perf/<a href="http://perf.bb" rel="noreferrer" target="_blank">per<wbr>f.bb</a><br>
&gt; +++ b/meta/recipes-kernel/perf/<a href="http://perf.bb" rel="noreferrer" target="_blank">per<wbr>f.bb</a><br>
&gt; @@ -47,7 +47,7 @@ export PYTHON_SITEPACKAGES_DIR<br>
&gt;  #kernel 3.1+ supports WERROR to disable warnings as errors<br>
&gt;  export WERROR = &quot;0&quot;<br>
&gt;<br>
&gt; -do_populate_lic[depends] += &quot;virtual/kernel:do_patch&quot;<br>
&gt; +do_populate_lic[depends] += &quot;virtual/kernel:do_configure&quot;<br>
&gt;<br>
&gt;  # needed for building the tools/perf Perl binding<br>
&gt;  inherit perlnative cpan-base<br>
&gt; --<br>
&gt; 2.7.4<br>
&gt;<br>
</div></div></blockquote></div><br></div></div>