Config file udev.pc conflicts between 32 and 64 bit packages. Use update-alternatives to add base_libdir as suffix to avoid it.
Signed-off-by: Zhang Xiao <xiao.zh...@windriver.com> --- meta/recipes-core/udev/eudev_3.2.5.bb | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/udev/eudev_3.2.5.bb b/meta/recipes-core/udev/eudev_3.2.5.bb index 88ad8f1b37..d567c11272 100644 --- a/meta/recipes-core/udev/eudev_3.2.5.bb +++ b/meta/recipes-core/udev/eudev_3.2.5.bb @@ -23,7 +23,20 @@ SRC_URI = "http://dev.gentoo.org/~blueness/${BPN}/${BP}.tar.gz \ SRC_URI[md5sum] = "6ca08c0e14380f87df8e8aceac123671" SRC_URI[sha256sum] = "49c2d04105cad2526302627e040fa24b1916a9a3e059539bc8bb919b973890af" -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} +} CONFLICT_DISTRO_FEATURES = "systemd" @@ -65,7 +78,7 @@ PACKAGES =+ "eudev-hwdb" FILES_${PN} += "${libexecdir} ${base_libdir}/udev ${bindir}/udevadm" -FILES_${PN}-dev = "${datadir}/pkgconfig/udev.pc \ +FILES_${PN}-dev = "${datadir}/pkgconfig/udev.pc-${MULTILIB_SUFFIX} \ ${includedir}/libudev.h ${libdir}/libudev.so \ ${includedir}/udev.h ${libdir}/libudev.la \ ${libdir}/libudev.a ${libdir}/pkgconfig/libudev.pc" -- 2.11.0 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core