[OE-core] [PATCH 02/33] dpkg: update-alternatives-dpkg should conflict with other providers

Andreas Oberritter obi at opendreambox.org
Wed Dec 7 01:30:49 UTC 2016


On 06.12.2016 20:52, Burton, Ross wrote:
> This needs more than just RCONFLICTS:
> 
> ERROR: dpkg-native-1.18.7-r0 do_populate_sysroot: The recipe dpkg-native
> is trying to install files into a shared area when those files already
> exist. Those files and their manifest location are:
>  
>  /data/poky-master/tmp-glibc/sysroots/x86_64-linux/usr/bin/update-alternatives
> 
> I have both package_deb and package_rpm enabled, and have a build from
> master before trying your branch.

I'm going to address this in "dpkg: implement offline mode for update-
alternatives" with the following additions:

+PROVIDES = "${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'virtual/update-alternatives', '', d)}"

[...]

+UA = "update-alternatives"
+UA_native = "${@['', 'update-alternatives'][d.getVar('PREFERRED_PROVIDER_virtual/update-alternatives-native', True) == 'dpkg-native']}"
+
+PACKAGECONFIG ??= "${UA}"
+PACKAGECONFIG[update-alternatives] = "--enable-update-alternatives,--disable-update-alternatives"

Because update-alternative-dpkg and update-alternatives-opkg are using
incompatible databases, I don't think there are much better ways to
avoid this conflict.

Regards,
Andreas



More information about the Openembedded-core mailing list