<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">This one and &quot;data_smart: Fix expand_cache and _remove operator interaction issues&quot; are slightly changing the behavior, not sure if this change was intended.</div><div dir="ltr"><br></div><div>Since last bitbake upgrade I&#39;ve started seeing:</div><div dir="ltr">ERROR: ca-certificates-20180409-r0 do_package_qa: QA Issue: ca-certificates rdepends on openssl, but it isn&#39;t a build dependency? [build-deps]<br></div><div dir="ltr">ERROR: nativesdk-bash-completion-2.8-r0 do_package_qa: QA Issue: nativesdk-bash-completion rdepends on bash, but it isn&#39;t a build dependency? [build-deps]<br></div><div dir="ltr"><br></div><div dir="ltr"><div dir="ltr">with bitbake 5463c16e3619d324aed137f47f93f0997a227d29</div><div dir="ltr"># $RDEPENDS_ca-certificates [4 operations]</div><div dir="ltr">#   _remove[pn-iputils] conf/distro/include/some-distro.inc:52</div><div dir="ltr">#     &quot; ${PN}-ping6&quot;</div><div dir="ltr">#   append oe-core/meta/recipes-support/ca-certificates/<a href="http://ca-certificates_20180409.bb:85">ca-certificates_20180409.bb:85</a></div><div dir="ltr">#     &quot;openssl&quot;</div><div dir="ltr">#   _remove meta-webos/recipes-support/ca-certificates/ca-certificates_%.bbappend:24</div><div dir="ltr">#     &quot;openssl&quot;</div><div dir="ltr">#   rename from RDEPENDS_${PN} data.py:117 [expandKeys]</div><div dir="ltr">#     &quot; openssl&quot;</div><div dir="ltr"># pre-expansion value:</div><div dir="ltr">#   &quot; openssl&quot;</div><div dir="ltr">RDEPENDS_ca-certificates=&quot; &quot;</div><div dir="ltr"><br></div><div dir="ltr">and do_package_qa sees the openssl in rdepends:</div><div dir="ltr"><br></div><div dir="ltr">NOTE: recipe ca-certificates-20180409-r0: task do_package_qa: Started</div><div dir="ltr">WARNING: ca-certificates-20180409-r0 do_package_qa: build-dep: ca-certificates-dev</div><div dir="ltr">WARNING: ca-certificates-20180409-r0 do_package_qa: build-dep: openssl</div><div dir="ltr">WARNING: ca-certificates-20180409-r0 do_package_qa: rdep_data for rdepend: openssl are {}</div><div dir="ltr">WARNING: ca-certificates-20180409-r0 do_package_qa: trying /jenkins/mjansa/build-signage-master/BUILD/pkgdata/m16pp/runtime-rprovides/openssl/</div><div dir="ltr">ERROR: ca-certificates-20180409-r0 do_package_qa: QA Issue: ca-certificates rdepends on openssl, but it isn&#39;t a build dependency? [build-deps]</div><div dir="ltr">WARNING: ca-certificates-20180409-r0 do_package_qa: build-dep: ca-certificates</div><div dir="ltr">ERROR: ca-certificates-20180409-r0 do_package_qa: QA run found fatal errors. Please consider fixing them.</div><div dir="ltr">ERROR: ca-certificates-20180409-r0 do_package_qa: Function failed: do_package_qa</div><div dir="ltr">ERROR: Logfile of failure stored in: /jenkins/mjansa/build-signage-master/BUILD/work/all-signage-linux/ca-certificates/20180409-r0/temp/log.do_package_qa.46878</div><div dir="ltr">NOTE: recipe ca-certificates-20180409-r0: task do_package_qa: Failed</div><div dir="ltr"><br></div><div dir="ltr">with bitbake a68de8ace62eaba23856bfb301efbbe1824322aa</div><div dir="ltr"># $RDEPENDS_ca-certificates [4 operations]</div><div dir="ltr">#   _remove[pn-iputils] conf/distro/include/some-distro.inc:52</div><div dir="ltr">#     &quot; ${PN}-ping6&quot;</div><div dir="ltr">#   append oe-core/meta/recipes-support/ca-certificates/<a href="http://ca-certificates_20180409.bb:85">ca-certificates_20180409.bb:85</a></div><div dir="ltr">#     &quot;openssl&quot;</div><div dir="ltr">#   _remove meta-webos/recipes-support/ca-certificates/ca-certificates_%.bbappend:24</div><div dir="ltr">#     &quot;openssl&quot;</div><div dir="ltr">#   rename from RDEPENDS_${PN} data.py:116 [expandKeys]</div><div dir="ltr">#     &quot; &quot;</div><div dir="ltr"># pre-expansion value:</div><div dir="ltr">#   &quot; &quot;</div><div dir="ltr">RDEPENDS_ca-certificates=&quot; &quot;</div><div><br></div><div><div>git log --oneline a68de8a..5463c16e | tee</div><div>5463c16e test/data: Add new tests for task checksum changing/not changing</div><div>796a20d2 data/siggen: Extract task hash generation code into a function</div><div>57d2ee17 bitbake: data: Ensure task checksums account for remove data</div><div>136100dc data/data_smart: Allow getVarFlag to return the variable parser object</div><div>a039052f data_smart: Fix expand_cache and _remove operator interaction issues</div><div>6d19eb32 data_smart: Micro optimise _remove handling</div><div><br></div><div>With the micro optimise commit 6d19eb32 it already has openssl in &quot;rename from RDEPENDS_${PN}&quot;:</div><div># $RDEPENDS_ca-certificates [4 operations]</div><div>#   _remove[pn-iputils] conf/distro/include/some-disto.inc:52</div><div>#     &quot; ${PN}-ping6&quot;</div><div>#   append oe-core/meta/recipes-support/ca-certificates/<a href="http://ca-certificates_20180409.bb:85">ca-certificates_20180409.bb:85</a></div><div>#     &quot;openssl&quot;</div><div>#   _remove meta-webos/recipes-support/ca-certificates/ca-certificates_%.bbappend:24</div><div>#     &quot;openssl&quot;</div><div>#   rename from RDEPENDS_${PN} data.py:116 [expandKeys]</div><div>#     &quot; openssl&quot;</div><div># pre-expansion value:</div><div>#   &quot; &quot;</div><div>RDEPENDS_ca-certificates=&quot; &quot;</div><div><br></div><div>The bbappend doesn&#39;t do anything special, just this:</div><div># ca-certificates is allarch, so it either has to RDEPENDS on ${MLPREFIX}openssl or</div><div># in this case it&#39;s easier to just remove the dependency and pull it from somewhere</div><div># else</div><div>RDEPENDS_${PN}_remove = &quot;openssl&quot;</div></div><div><br></div><div>and similar _remove bbappend for bash-completion:</div><div><div>VIRTUAL-RUNTIME_bash ?= &quot;bash&quot;</div><div>RDEPENDS_${PN}_append_class-target = &quot; ${VIRTUAL-RUNTIME_bash}&quot;</div><div>RDEPENDS_${PN}_remove = &quot;bash&quot;</div></div><div><br></div><div>The reason for bash-completion is probably the same as in ca-certificates, but it&#39;s surprising that I have maybe a 100 of bbappends like above with bash, but only these 2 are causing the QA error.</div><div><br></div><div>Will dig a bit more where exactly it was introduced and will try to reproduce with just oe-core.</div></div></div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Oct 18, 2018 at 11:23 AM Richard Purdie &lt;<a href="mailto:richard.purdie@linuxfoundation.org">richard.purdie@linuxfoundation.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This brings _remove handling into line with _append/_prepend with regard<br>
to the parsing flag to getVarFlag.<br>
<br>
This is an internal flag and the only times this is used is through getVar<br>
during renameVar operations and when processing ?= operations to see if<br>
a variable is set. In either case we don&#39;t need to process remove operations.<br>
<br>
Therefore take the minor speedup and skip processing for parsing=True.<br>
<br>
[YOCTO #10945]<br>
<br>
Signed-off-by: Richard Purdie &lt;<a href="mailto:richard.purdie@linuxfoundation.org" target="_blank">richard.purdie@linuxfoundation.org</a>&gt;<br>
---<br>
 lib/bb/data_smart.py | 2 +-<br>
 1 file changed, 1 insertion(+), 1 deletion(-)<br>
<br>
diff --git a/lib/bb/data_smart.py b/lib/bb/data_smart.py<br>
index 0a8488ca1b..7b2c0a8943 100644<br>
--- a/lib/bb/data_smart.py<br>
+++ b/lib/bb/data_smart.py<br>
@@ -805,7 +805,7 @@ class DataSmart(MutableMapping):<br>
                 cachename = var + &quot;[&quot; + flag + &quot;]&quot;<br>
             value = self.expand(value, cachename)<br>
<br>
-        if value and flag == &quot;_content&quot; and local_var is not None and &quot;_remove&quot; in local_var:<br>
+        if value and flag == &quot;_content&quot; and local_var is not None and &quot;_remove&quot; in local_var and not parsing:<br>
             removes = []<br>
             self.need_overrides()<br>
             for (r, o) in local_var[&quot;_remove&quot;]:<br>
-- <br>
2.17.1<br>
<br>
-- <br>
_______________________________________________<br>
bitbake-devel mailing list<br>
<a href="mailto:bitbake-devel@lists.openembedded.org" target="_blank">bitbake-devel@lists.openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/bitbake-devel" rel="noreferrer" target="_blank">http://lists.openembedded.org/mailman/listinfo/bitbake-devel</a><br>
</blockquote></div>