[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