<div dir="ltr"><br><br>On Thu, Feb 13, 2020 at 10:27 AM Richard Purdie &lt;<a href="mailto:richard.purdie@linuxfoundation.org">richard.purdie@linuxfoundation.org</a>&gt; wrote:<br>&gt;<br>&gt; On Thu, 2020-02-13 at 10:22 -0500, Maxime Roussin-Bélanger wrote:<br>&gt; &gt; On Thu, Feb 13, 2020 at 9:24 AM Richard Purdie &lt;<br>&gt; &gt; <a href="mailto:richard.purdie@linuxfoundation.org">richard.purdie@linuxfoundation.org</a>&gt; wrote:<br>&gt; &gt; &gt; I know its not easy to understand but we don&#39;t support virtual/*<br>&gt; &gt; &gt; names in the runtime namespace, only the build time one<br>&gt; &gt; &gt; (PROVIDES/DEPENDS).<br>&gt; &gt; &gt; Grep for VIRTUAL-RUNTIME to see how we handle this (its ugly I<br>&gt; &gt; know).<br>&gt; &gt;<br>&gt; &gt; Hmm interesting!<br>&gt; &gt;<br>&gt; &gt; If I follow correctly that&#39;s mean I have to create:<br>&gt; &gt;<br>&gt; &gt; VIRTUAL-RUNTIME_wireless-daemon and then people can override it.<br>&gt;<br>&gt; Correct.<br>&gt;<br>&gt; &gt; If the (R)DEPENDS on a recipe change depending on the wireless daemon<br>&gt; &gt; that<br>&gt; &gt; was chosen(i.e. connman), do you handle it with d.getVar and<br>&gt; &gt; d.setVar(&quot;DEPENDS... inside a<br>&gt; &gt; anonymous python function inside the recipe?<br>&gt; &gt;<br>&gt; &gt; The packageconfig would like this ?<br>&gt; &gt;<br>&gt; &gt; PACKAGECONFIG[wifi] = &quot;--enable-wifi, --disable-wifi, ${VIRTUAL-<br>&gt; &gt; RUNTIME_wireless-daemon}, ${VIRTUAL-RUNTIME_wireless-daemon}&quot;<br>&gt; &gt;<br>&gt; &gt; Example:<br>&gt; &gt;<br>&gt; &gt; if VIRTUAL-RUNTIME_wireless-daemon == &quot;iwd&quot;:<br>&gt; &gt;     DEPENDS += &quot;iwd&quot;<br>&gt; &gt;     EXTRA_OECONF += &quot;--enable-iwd&quot;<br>&gt; &gt; elif VIRTUAL-RUNTIME_wireless-daemon == &quot;wpa-supplicant&quot;:<br>&gt; &gt;     DEPENDS += &quot;wpa-supplicant&quot;<br>&gt;<br>&gt; At this point it suggests they&#39;re not interchangeable and therefore not<br>&gt; simple runtime switchable dependencies.<br>&gt;<br>&gt; The closest analogy is the &quot;ld-is-gold&quot; DISTRO_FEATURE when you have<br>&gt; something that isn&#39;t compatible like this.<div><br></div><div>I realize that my example isn&#39;t the proper one.. sorry about that! We can probably</div><div>simplify with PACKAGECONFIG.</div><div><br></div><div>Maybe the right solution would be to provide two packageconfig?</div><div><br></div><div>PACKAGECONFIG[iwd] = &quot;--enable-iwd, --disable-wifi, iwd, iwd&quot;<br></div><div>PACKAGECONFIG[wpa-supplicant] = &quot;--enable-wifi, --disable-wifi, wpa-supplicant, wpa-supplicant&quot;<br></div><div><br></div><div>They are mutually exclusive, is this something that can be done through PACKAGECONFIG?</div><div><br></div><div>Maybe we don&#39;t deal with the conflicts that can occur if a user activates both? It would probably</div><div>fail at configure time? What is good practice here?</div><div><br></div><div>At the same time, it is VERY weird for a system to have iwd and wpa_supplicant. If I recall correctly,</div><div>iwd has an error message with another wireless daemon run concurrently.</div><div><br></div><div>I would like to be able to force the user to choose only one... because I think having both is an error.</div><div><br></div><div><br></div><div>Thanks,</div><div>Max.</div><div><br>&gt;<br>&gt; Cheers,<br>&gt;<br>&gt; Richard</div></div>