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

2016-12-22 Thread Andreas Oberritter
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

2016-12-08 Thread Andreas Oberritter
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

2016-12-08 Thread Burton, Ross
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 Oberritter 
wrote:

> 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

2016-12-06 Thread Andreas Oberritter
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

2016-12-06 Thread Burton, Ross
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 Oberritter 
wrote:

> 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