<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"><<a href="mailto:jpewhacker@gmail.com" target="_blank">jpewhacker@gmail.com</a>></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>
> When externalsrc is enabled for kernel, do_patch doesn't exist since<br>
> is in<br>
> SRCTREECOVEREDTASKS, so make these depend on a real task.<br>
><br>
> Fixes:<br>
> ERROR: Task do_unpack in /data/yocto/poky/meta/recipes-<br>
> kernel/perf/<a href="http://perf.bb" rel="noreferrer" target="_blank">perf.bb</a><br>
> depends upon non-existent task do_patch in<br>
> /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>
><br>
> Signed-off-by: Stefan Stanacar <<a href="mailto:sstncr@gmail.com">sstncr@gmail.com</a>><br>
> ---<br>
> meta/classes/kernelsrc.bbclass | 2 +-<br>
> meta/recipes-kernel/perf/<a href="http://perf.bb" rel="noreferrer" target="_blank">perf.<wbr>bb</a> | 2 +-<br>
> 2 files changed, 2 insertions(+), 2 deletions(-)<br>
><br>
> diff --git a/meta/classes/kernelsrc.<wbr>bbclass<br>
> b/meta/classes/kernelsrc.<wbr>bbclass<br>
> index 9efd46a..ce6c999 100644<br>
> --- a/meta/classes/kernelsrc.<wbr>bbclass<br>
> +++ b/meta/classes/kernelsrc.<wbr>bbclass<br>
> @@ -1,6 +1,6 @@<br>
> S = "${STAGING_KERNEL_DIR}"<br>
> do_fetch[noexec] = "1"<br>
> -do_unpack[depends] += "virtual/kernel:do_patch"<br>
> +do_unpack[depends] += "virtual/kernel:do_configure"<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'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's a better fix. I'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("SRCTREECOVEREDTASKS"<wbr>).split():<br>
if local_srcuri and task in fetch_tasks:<br>
continue<br>
- bb.build.deltask(task, d)<br>
+ d.setVarFlag(task, 'noexec', '1')<br>
<br>
d.prependVarFlag('do_compile', 'prefunc<br>
s', "externalsrc_compile_prefunc ")<br>
d.prependVarFlag('do_<wbr>configure', 'prefuncs',<br>
"externalsrc_configure_prefunc ")<br>
<div class="gmail-HOEnZb"><div class="gmail-h5"><br>
<br>
> do_unpack[noexec] = "1"<br>
> do_patch[noexec] = "1"<br>
> do_package[depends] += "virtual/kernel:do_populate_<wbr>sysroot"<br>
> 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>
> kernel/perf/<a href="http://perf.bb" rel="noreferrer" target="_blank">perf.bb</a><br>
> index 03ae446..145774b 100644<br>
> --- a/meta/recipes-kernel/perf/<a href="http://perf.bb" rel="noreferrer" target="_blank">per<wbr>f.bb</a><br>
> +++ b/meta/recipes-kernel/perf/<a href="http://perf.bb" rel="noreferrer" target="_blank">per<wbr>f.bb</a><br>
> @@ -47,7 +47,7 @@ export PYTHON_SITEPACKAGES_DIR<br>
> #kernel 3.1+ supports WERROR to disable warnings as errors<br>
> export WERROR = "0"<br>
><br>
> -do_populate_lic[depends] += "virtual/kernel:do_patch"<br>
> +do_populate_lic[depends] += "virtual/kernel:do_configure"<br>
><br>
> # needed for building the tools/perf Perl binding<br>
> inherit perlnative cpan-base<br>
> --<br>
> 2.7.4<br>
><br>
</div></div></blockquote></div><br></div></div>