<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 27, 2015 at 12:13 AM, Richard Purdie <span dir="ltr">&lt;<a href="mailto:richard.purdie@linuxfoundation.org" target="_blank">richard.purdie@linuxfoundation.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class=""><div class="h5">On Sun, 2015-04-26 at 18:17 -0700, Christopher Larson wrote:<br>
&gt;<br>
&gt; On Sun, Apr 26, 2015 at 2:57 PM, Richard Purdie<br>
&gt; &lt;<a href="mailto:richard.purdie@linuxfoundation.org">richard.purdie@linuxfoundation.org</a>&gt; wrote:<br>
&gt;         On Thu, 2015-04-23 at 17:38 +0300, Cristian Iorga wrote:<br>
&gt;         &gt; As BlueZ5 will be the default Bluetooth stack,<br>
&gt;         &gt; don&#39;t exclude it from world builds.<br>
&gt;         &gt;<br>
&gt;         &gt; Signed-off-by: Cristian Iorga &lt;<a href="mailto:cristian.iorga@intel.com">cristian.iorga@intel.com</a>&gt;<br>
&gt;         &gt; ---<br>
&gt;         &gt;  meta/recipes-connectivity/bluez5/bluez5.inc | 2 --<br>
&gt;         &gt;  1 file changed, 2 deletions(-)<br>
&gt;         &gt;<br>
&gt;         &gt; diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc<br>
&gt;         b/meta/recipes-connectivity/bluez5/bluez5.inc<br>
&gt;         &gt; index 67aafbb..bf845a8 100644<br>
&gt;         &gt; --- a/meta/recipes-connectivity/bluez5/bluez5.inc<br>
&gt;         &gt; +++ b/meta/recipes-connectivity/bluez5/bluez5.inc<br>
&gt;         &gt; @@ -100,5 +100,3 @@ FILES_${PN}-dbg += &quot;\<br>
&gt;         &gt;  RDEPENDS_${PN}-testtools += &quot;python python-dbus<br>
&gt;         python-pygobject&quot;<br>
&gt;         &gt;<br>
&gt;         &gt;  SYSTEMD_SERVICE_${PN} = &quot;bluetooth.service&quot;<br>
&gt;         &gt; -<br>
&gt;         &gt; -EXCLUDE_FROM_WORLD = &quot;1&quot;<br>
&gt;<br>
&gt;         The reason this is there is to ensure that a bitbake world<br>
&gt;         doesn&#39;t build<br>
&gt;         bluez4 and 5 at the same time. Even though v4 is moving to<br>
&gt;         meta-oe, it<br>
&gt;         doesn&#39;t change the fact we really need this so world builds<br>
&gt;         don&#39;t end up<br>
&gt;         in a mess.<br>
&gt;<br>
&gt;         Typically, any recipe providing a vritual/xxxx PROVIDES will<br>
&gt;         also end up<br>
&gt;         with an EXCLUDE_FROM_WORLD as the dependency mechanism will<br>
&gt;         then pull in<br>
&gt;         the correct thing(s).<br>
&gt;<br>
&gt;         Not ideal but its what we have today.<br>
&gt;<br>
&gt; Originally, world was designed to only build one of any given multiple<br>
&gt; provider situation, IIRC. Is that not the case, or is it the fact that<br>
&gt; both get pulled in via dependencies in a world build, not directly?<br>
<br>
</div></div>I&#39;m not aware of any code that would remove things with multiple<br>
providers from world? Its possible that got lost when we switched to<br>
multiple threads of execution but that was a long time ago.</blockquote></div><br>8262012a90273a4726ebaaf5c4da61262542e69d in bitbake added the initial &#39;world&#39; implementation, which didn&#39;t do such a removal, but did explicitly skip virtual/*, and it looks like aff3227b5e4a3dee9bceb120aac11f4bf3ac6409 implemented the first naive handling of it, beyond the virtual/ prefix, from a quick perusal of bitbake history. It skipped the non-preferred selections of every multiple provider.<br>-- <br><div class="gmail_signature">Christopher Larson<br>clarson at kergoth dot com<br>Founder - BitBake, OpenEmbedded, OpenZaurus<br>Maintainer - Tslib<br>Senior Software Engineer, Mentor Graphics</div>
</div></div>