Re: [OE-core] [PATCH 02/33] dpkg: update-alternatives-dpkg should conflict with other providers
On 08.12.2016 20:22, Andreas Oberritter wrote: > On 08.12.2016 17:16, Burton, Ross wrote: >> With PACKAGE_CLASSES="package_rpm package_deb" this happens: >> >> 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 >> Matched in b'manifest-x86_64-opkg-utils-native.populate_sysroot' >> >> Whilst I agree that building multiple package types at the same time is >> a bit weird, it's always worked in the past. > > Yes, I used this feature myself some time ago and don't want to be the > one breaking it. ;-) > > Does this happen with the branch I pushed yesterday? Since commit > 472899be2a97bf6c5741f6b414433e13cfea1c7b it shouldn't happen unless you > either explicitly enable update-alternatives in dpkg's PACKAGECONFIG, or > set PREFERRED_PROVIDER_virtual/update-alternatives-native to dpkg-native. Ross, did look into this? Regards, Andreas -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 02/33] dpkg: update-alternatives-dpkg should conflict with other providers
On 08.12.2016 17:16, Burton, Ross wrote: > With PACKAGE_CLASSES="package_rpm package_deb" this happens: > > 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 > Matched in b'manifest-x86_64-opkg-utils-native.populate_sysroot' > > Whilst I agree that building multiple package types at the same time is > a bit weird, it's always worked in the past. Yes, I used this feature myself some time ago and don't want to be the one breaking it. ;-) Does this happen with the branch I pushed yesterday? Since commit 472899be2a97bf6c5741f6b414433e13cfea1c7b it shouldn't happen unless you either explicitly enable update-alternatives in dpkg's PACKAGECONFIG, or set PREFERRED_PROVIDER_virtual/update-alternatives-native to dpkg-native. Regards, Andreas -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 02/33] dpkg: update-alternatives-dpkg should conflict with other providers
With PACKAGE_CLASSES="package_rpm package_deb" this happens: 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 Matched in b'manifest-x86_64-opkg-utils-native.populate_sysroot' Whilst I agree that building multiple package types at the same time is a bit weird, it's always worked in the past. Ross On 7 December 2016 at 01:30, Andreas Oberritterwrote: > 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 > -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 02/33] dpkg: update-alternatives-dpkg should conflict with other providers
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 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 02/33] dpkg: update-alternatives-dpkg should conflict with other providers
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. Ross On 6 December 2016 at 11:49, Andreas Oberritterwrote: > Signed-off-by: Andreas Oberritter > --- > meta/recipes-devtools/dpkg/dpkg.inc | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/meta/recipes-devtools/dpkg/dpkg.inc > b/meta/recipes-devtools/dpkg/dpkg.inc > index ec0117b..f7d9e77 100644 > --- a/meta/recipes-devtools/dpkg/dpkg.inc > +++ b/meta/recipes-devtools/dpkg/dpkg.inc > @@ -63,6 +63,7 @@ do_install_append () { > PACKAGES =+ "update-alternatives-dpkg" > FILES_update-alternatives-dpkg = "${bindir}/update-alternatives > ${localstatedir}/lib/dpkg/alternatives ${sysconfdir}/alternatives" > RPROVIDES_update-alternatives-dpkg = "update-alternatives" > +RCONFLICTS_update-alternatives-dpkg = "update-alternatives" > > PACKAGES += "${PN}-perl" > FILES_${PN}-perl = "${libdir}/perl" > -- > 2.7.4 > > -- > ___ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core > -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core