On 03/12/2018 11:12 AM, Zhang Xiao wrote:
Config file udev.pc conflicts between 32 and 64 bit packages.
Use update-alternatives to add base_libdir as suffix to avoid it.
-inherit autotools update-rc.d qemu pkgconfig distro_features_check
+inherit autotools update-rc.d qemu pkgconfig distro_features_check 
update-alternatives
+
+MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}"
+
+ALTERNATIVE_${PN}-dev = "udev.pc"
+ALTERNATIVE_LINK_NAME[udev.pc] = "${datadir}/pkgconfig/udev.pc"
+ALTERNATIVE_TARGET[udev.pc] = "${datadir}/pkgconfig/udev.pc-${MULTILIB_SUFFIX}"
+
+PACKAGE_PREPROCESS_FUNCS += "eudev_alternative_rename"
+
+eudev_alternative_rename() {
+       # rename udev.pc
+       mv ${PKGD}${datadir}/pkgconfig/udev.pc 
${PKGD}${datadir}/pkgconfig/udev.pc-${MULTILIB_SUFFIX}
+}

I'm afraid, I have to say no to the entire patchset. It's abusing update-alternatives to do what it was never meant for, and effectively renders one of the -dev packages broken, just so that package manager can satisfy dependencies.

Let's first take a look at why dnf wants to install two different -dev packages in the first place, and why these seven recipes need to be fixed in particular. My understanding is multilib feature should be used only for libraries, and not for supporting development files.

Alex
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to