<div dir="ltr"><div dir="ltr">On Thu, 2 Jan 2020 at 11:18, Kang Kai &lt;<a href="mailto:Kai.Kang@windriver.com">Kai.Kang@windriver.com</a>&gt; wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 2019/11/28 上午12:39, Alexander Kanavin wrote:<br>
&gt; rpm 4.15 no longer allows it, which makes sense.<br>
&gt;<br>
&gt; Signed-off-by: Alexander Kanavin &lt;<a href="mailto:alex.kanavin@gmail.com" target="_blank">alex.kanavin@gmail.com</a>&gt;<br>
<br>
Hi Alex,<br>
<br>
I tried this patch with rpm 4.15 and it fails to run task populate_sdk <br>
when multilib is enabled and lib32-perl is installed.<br>
<br>
IMAGE_INSTALL_append = &quot; lib32-perl &quot;<br></blockquote><div><br></div><div>I believe this is due to DUMMYPROVIDES_PACKAGES needing the same multilib expansion as:<br></div><div><br></div><div>DUMMYPROVIDES += &quot;${@&#39; &#39;.join([multilib_pkg_extend(d, pkg) for pkg in d.getVar(&#39;DUMMYPROVIDES_PACKAGES&#39;).split()])}&quot;</div><div><br></div><div>So that RREPLACES has all the multilib variants included.<br></div><div><br></div><div>However, there is also a different issue, that looks similar, but actually pre-dates this patch, and rpm 4.15 update:</div><div><br></div><div>if you do <br></div><div>IMAGE_INSTALL_append = &quot; perl &quot;</div><div><br></div><div>(with multilib enabled), a similar error will happen:</div><div><br></div><div>Problem: package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with perl provided by perl-5.30.1-r0.core2_32<br>  - package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with perl-module-strict provided by perl-5.30.1-r0.core2_32<br>  - package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with perl-module-warnings provided by perl-5.30.1-r0.core2_32<br>  - package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with perl-module-vars provided by perl-5.30.1-r0.core2_32<br>  - package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with perl-module-config provided by perl-5.30.1-r0.core2_32<br>  - package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with perl-module-warnings-register provided by perl-5.30.1-r0.core2_32<br>  - package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with /usr/bin/perl provided by perl-5.30.1-r0.core2_32<br>  - package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with libperl.so.5 provided by perl-5.30.1-r0.core2_32<br>  - package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target obsoletes perl provided by perl-5.30.1-r0.core2_32<br>  - cannot install the best candidate for the job<br>  - conflicting requests</div><div><br></div><div>Inspecting /home/alexander/development/poky/build-multilib/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/sdk/image/opt/poky/3.0/sysroots/core2-32-poky-linux/etc/dnf/vars/arch, I see:</div><div><br></div><div>core2_32:i686:i586:x86:sdk_provides_dummy_target:qemux86:x86_64</div><div><br></div><div>Even though sdk_provides_dummy_target should be up-front, rather than in the middle (so that it takes priority over other architectures).</div><div><br></div><div>I could not figure out a good way to fix this, but I think this issue should be addressed first, and then we can fix the lib32/64-perl issue.</div><div><br></div><div><br></div><div>Alex<br></div></div></div>