[OE-core] [oe-core][PATCH 1/7] eudev: fix file conflict when multilib enabled
Alexander Kanavin
alexander.kanavin at linux.intel.com
Mon Mar 12 10:13:48 UTC 2018
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
More information about the Openembedded-core
mailing list