<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jun 2, 2017 at 6:26 AM, Mark Hatle <span dir="ltr">&lt;<a href="mailto:mark.hatle@windriver.com" target="_blank">mark.hatle@windriver.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb adM"><div class="">On 6/2/17 7:58 AM, Richard Purdie wrote:<br>
&gt; On Mon, 2017-05-22 at 12:50 +0200, Patrick Ohly wrote:<br>
&gt;&gt; Having a .bbappend without corresponding .bb file triggers an error<br>
&gt;&gt; or<br>
&gt;&gt; at least warning, depending on the global<br>
&gt;&gt; BB_DANGLINGAPPENDS_WARNONLY.<br>
&gt;&gt;<br>
&gt;&gt; Some layers (for example, meta-freescale) avoid that message by only<br>
&gt;&gt; adding .bbappends to the BBFILES when the layers they apply to are<br>
&gt;&gt; present. Others (like intel-iot-refkit) avoid such .bbappends by<br>
&gt;&gt; falling back to global assignments with _pn-&lt;recipe&gt; as override.<br>
&gt;&gt; Both<br>
&gt;&gt; is complicated.<br>
&gt;&gt;<br>
&gt;&gt; Now the warning code checks BBAPPENDS_DANGLING_WHITELIST and ignores<br>
&gt;&gt; all bbappends which match a file pattern in that list. This is an<br>
&gt;&gt; easier way to have bbappends which may or may not apply to an<br>
&gt;&gt; existing recipe.<br>
&gt;&gt;<br>
&gt;&gt; Example usage:<br>
&gt;&gt;<br>
&gt;&gt;   # We have recipes-* directories, add to BBFILES<br>
&gt;&gt;   BBFILES += &quot;${LAYERDIR}/recipes-*/*/*.bb \<br>
&gt;&gt;      ${LAYERDIR}/optional-<wbr>bbappends/recipes-*/*/*.<wbr>bbappend \<br>
&gt;&gt;      ${LAYERDIR}/recipes-*/*/*.<wbr>bbappend&quot;<br>
&gt;&gt;<br>
&gt;&gt;   # Several of our *.bbappends might be for layers that are not<br>
&gt;&gt;   # guaranteed to be present. Don&#39;t warn or even error out because<br>
&gt;&gt;   # of those.<br>
&gt;&gt;   BBAPPENDS_DANGLING_WHITELIST += &quot;${LAYERDIR}/optional-<br>
&gt;&gt; bbappends/recipes-*/*/*.<wbr>bbappend&quot;<br>
&gt;<br>
&gt; I&#39;ve been giving this some thought. The freescale layer approach does<br>
&gt; have ordering issues which I don&#39;t like. Equally, Chris&#39; comment about<br>
&gt; this is also a valid concern. Experience suggests saying the layer<br>
&gt; maintainer needs to be careful doesn&#39;t work in practise.<br>
&gt;<br>
&gt; I&#39;m wondering if there is a hybrid solution if we extend this syntax a<br>
&gt; little, e.g.:<br>
&gt;<br>
&gt; BBFILES_DYNAMIC += &quot;\<br>
&gt;     XXXX:${LAYERDIR}/optional-<wbr>bbappends-XXX/recipes-*/*/*.<wbr>bbappend<br>
&gt;     YYYY:${LAYERDIR}/optional-<wbr>bbappends-YYY/recipes-*/*/*.<wbr>bbappend<br>
&gt; &quot;<br>
&gt;<br>
&gt; so that the code only applies these BBFILES entries if the layer named<br>
&gt; in the first parameter is present?<br>
&gt;<br>
&gt; This would happen at the end of parsing so ordering becomes a moot<br>
&gt; point. The direction you stack BBFILES_DYANMIC in would determin<br>
&gt; bbappend application order.<br>
&gt;<br>
&gt; How does that sound to people?<br>
<br>
</div></div>That sounds reasonable to me, and has a precedent in the package_dynamic as well.</blockquote></div><br>Agreed.<br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr">Christopher Larson<br>kergoth at gmail dot com<br>Founder - BitBake, OpenEmbedded, OpenZaurus<br>Senior Software Engineer, Mentor Graphics</div></div></div></div>
</div></div>