<div dir="ltr"><div dir="ltr"><div dir="auto"><br></div></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 22, 2019 at 4:21 AM Alexander Kanavin &lt;<a href="mailto:alex.kanavin@gmail.com" target="_blank">alex.kanavin@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I&#39;m not sure that would work, as at do_rootfs time both createrepo_c<br>
(v2 user) and libdnf (v1 user) need to be present in the<br>
sysroot-native, and so v1 and v2 files would clash at that point<br>
(libmodulemd.so would be provided by both).<br>
<br>
I am kind of hoping that libdnf would migrate off v1 to v2, and we<br>
could then simply disable v1 altogether. So far it hasn&#39;t happened,<br>
and libdnf update is now also blocked by the c++ code that older<br>
compilers don&#39;t like, so I&#39;d leave thing as they are for now.<br>
<br></blockquote><div><br></div><div><div class="gmail_default" style="font-family:monospace,monospace">conflicts will happen only when dev packages</div><div class="gmail_default" style="font-family:monospace,monospace">are bundled into image.</div><br></div><div><div class="gmail_default" style="font-family:monospace,monospace">we probably need something like libusb for this case and then remove the compat package when its</div><div class="gmail_default" style="font-family:monospace,monospace">no longer needed.</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">
Alex<br>
<br>
On Wed, 22 May 2019 at 13:08, Richard Purdie<br>
&lt;<a href="mailto:richard.purdie@linuxfoundation.org" target="_blank">richard.purdie@linuxfoundation.org</a>&gt; wrote:<br>
&gt;<br>
&gt; On Wed, 2019-05-22 at 12:28 +0200, Alexander Kanavin wrote:<br>
&gt; &gt; On Wed, 22 May 2019 at 04:04, Khem Raj &lt;<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>&gt; wrote:<br>
&gt; &gt; &gt; &gt; +<br>
&gt; &gt; &gt; &gt; + pkg.generate(<br>
&gt; &gt; &gt; &gt; +-    libraries : modulemd_v1_lib,<br>
&gt; &gt; &gt; &gt; ++    libraries : &#39;-l:libmodulemd.so.1&#39;,<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; shouldn&#39;t it be generating a separate package for v1 ?<br>
&gt; &gt; &gt; hardcoding linker paths seems a bit hackish here, is it going<br>
&gt; &gt; &gt; to generate a .pc file with .so.1 version ?<br>
&gt; &gt;<br>
&gt; &gt; The problem is that both v2 and v1 are installed into the sysroot; we<br>
&gt; &gt; don&#39;t have a mechanism to choose one or the other via DEPENDS (unlike<br>
&gt; &gt; desktop distros where you can install -v1-dev or -v2-dev package for<br>
&gt; &gt; your build).<br>
&gt; &gt; Then both v2 and v1 .pc files (without this patch) refer to<br>
&gt; &gt; &#39;-lmodulemd&#39; which in our case always resolves to v2 library.<br>
&gt; &gt;<br>
&gt; &gt; Wth the patch the generated v1 .pc will look like this, while v2<br>
&gt; &gt; continues to use the original &#39;-lmodlulemd&#39; in Libs:<br>
&gt; &gt;<br>
&gt; &gt; prefix=${pcfiledir}/../../../usr<br>
&gt; &gt; libdir=${prefix}/lib<br>
&gt; &gt; includedir=${prefix}/include<br>
&gt; &gt;<br>
&gt; &gt; Name: modulemd<br>
&gt; &gt; Description: Module metadata manipulation library<br>
&gt; &gt; Version: 1.8.10<br>
&gt; &gt; Requires: glib-2.0, gobject-2.0<br>
&gt; &gt; Libs: -l:libmodulemd.so.1<br>
&gt; &gt; Cflags: -I${includedir}/modulemd<br>
&gt;<br>
&gt; FWIW I think if there were two different recipes we could select which<br>
&gt; was in the sysroot through DEPENDS?<br>
&gt;<br>
&gt; Cheers,<br>
&gt;<br>
&gt; Richard<br>
&gt;<br>
</blockquote></div></div>
</div>