[OE-core] [PATCH v2] bluez: declaration of virtual/bluez and VIRTUAL-RUNTIME_bluez

Martin Jansa martin.jansa at gmail.com
Tue Nov 12 08:49:43 UTC 2013


On Mon, Nov 11, 2013 at 05:31:07PM -0800, Saul Wold wrote:
> On 11/11/2013 04:30 PM, Rongqing Li wrote:
> >
> >
> > On 11/11/2013 05:59 PM, Iorga, Cristian wrote:
> >> Hi all,
> >>
> >> As far as I have experimented, there is no upgrade path available at
> >> the moment, due to extensive changes into the programming model for
> >> BlueZ5 vs BlueZ4.
> >> At the moment, the last single component that is not officially ready
> >> for BlueZ5 is PulseAudio.
> >> As have asked around, and PA5.0 will* support BlueZ5.
> >> PA5.0 should* be released before EoY2013.
> >> Judging by PA git log, there are extensive changes/updates in order to
> >> support BZ5.
> >>
> >> Regards,
> >> Cristian
> >
> > Thanks.
> >
> > Saul: Do you think it is ready for merge, our release needs it, thanks.
> >
> 
> At this point, I do not think this is an approporate patch, we can't 
> switch between bluez4 and bluez5 as Cristian points out above, they are 
> just not compatible.  This is a case where we need 2 distinct versions 
> and once the recipes/upstreams for the things that rely on bluez4 are 
> updated to bluez5, we will cut over and then likely move the bluez4 
> stack out of oe-core into meta-oe.

I disagree a bit here, if some distribution is using only
packagegroup-base -> bluez dependency, then this patch is useful to
allow to switch to bluez5 already with just VIRTUAL_RUNTIME change
instead of a lot longer .bbappend for packagegroup-base just to replace
bluez4 with bluez5.

If bluez4 is moved to meta-oe then there would be the same problem for
people who can need bluez4-only images where bluez4 should be pulled by
packagegroup-base.

> 
> Sau!
> 
> >
> > -Roy
> >
> >>
> >> -----Original Message-----
> >> From: openembedded-core-bounces at lists.openembedded.org
> >> [mailto:openembedded-core-bounces at lists.openembedded.org] On Behalf Of
> >> Martin Jansa
> >> Sent: Friday, November 1, 2013 11:35 AM
> >> To: rongqing.li at windriver.com
> >> Cc: openembedded-core at lists.openembedded.org
> >> Subject: Re: [OE-core] [PATCH v2] bluez: declaration of virtual/bluez
> >> and VIRTUAL-RUNTIME_bluez
> >>
> >> On Fri, Nov 01, 2013 at 04:09:28PM +0800, rongqing.li at windriver.com
> >> wrote:
> >>> From: Roy Li <rongqing.li at windriver.com>
> >>>
> >>> We have two version bluez, declare virtual/bluez and
> >>> VIRTUAL-RUNTIME_bluez to switch them easily, and set the preferred
> >>> provider for bluez as bluez4
> >>
> >> +1
> >>
> >> I agree that some apps aren't compatible with both versions now, but
> >> this gives easy way to switch between them for DISTRO which cares only
> >> about apps which are compatible with bluez5 already.
> >>
> >> BTW: Have someone tried upgrade path on target from bluez4 to bluez5?
> >> I know we discussed it at lengths before bluez5 was merged, but don't
> >> know if someone really tested it.
> >>
> >>> Signed-off-by: Roy Li <rongqing.li at windriver.com>
> >>> ---
> >>>   meta/conf/distro/include/default-providers.inc
> >>> |    5 ++---
> >>>   meta/recipes-connectivity/bluez/bluez4.inc
> >>> |    1 +
> >>>   meta/recipes-connectivity/bluez5/bluez5.inc
> >>> |    1 +
> >>>   meta/recipes-connectivity/connman/connman.inc
> >>> |    4 ++--
> >>>   meta/recipes-connectivity/libpcap/libpcap.inc
> >>> |    2 +-
> >>>   meta/recipes-connectivity/neard/neard.inc
> >>> |    2 +-
> >>>   meta/recipes-connectivity/ofono/ofono.inc
> >>> |    2 +-
> >>>   meta/recipes-core/packagegroups/packagegroup-base.bb
> >>> |    2 +-
> >>>   meta/recipes-gnome/packagegroups/packagegroup-sdk-gmae.inc
> >>> |    2 +-
> >>>   meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_git.bb
> >>> |    2 +-
> >>>   meta/recipes-multimedia/pulseaudio/pulseaudio.inc
> >>> |    2 +-
> >>>   meta/recipes-qt/qt4/qt-mobility_1.2.0.inc
> >>> |    2 +-
> >>>   12 files changed, 14 insertions(+), 13 deletions(-)
> >>>
> >>> diff --git a/meta/conf/distro/include/default-providers.inc
> >>> b/meta/conf/distro/include/default-providers.inc
> >>> index d4b9db0..0ec4cd9 100644
> >>> --- a/meta/conf/distro/include/default-providers.inc
> >>> +++ b/meta/conf/distro/include/default-providers.inc
> >>> @@ -14,6 +14,7 @@ PREFERRED_PROVIDER_virtual/update-alternatives ?=
> >>> "opkg"
> >>>   PREFERRED_PROVIDER_virtual/update-alternatives-native ?= "opkg-native"
> >>>   PREFERRED_PROVIDER_virtual/libx11 ?= "libx11"
> >>>   PREFERRED_PROVIDER_xf86-video-intel ?= "xf86-video-intel"
> >>> +PREFERRED_PROVIDER_virtual/bluez ?= "bluez4"
> >>>
> >>>   #
> >>>   # Default virtual runtime providers
> >>> @@ -21,6 +22,7 @@ PREFERRED_PROVIDER_xf86-video-intel ?=
> >>> "xf86-video-intel"
> >>>   VIRTUAL-RUNTIME_update-alternatives ?= "update-alternatives-cworth"
> >>>   VIRTUAL-RUNTIME_apm ?= "apm"
> >>>   VIRTUAL-RUNTIME_alsa-state ?= "alsa-state"
> >>> +VIRTUAL-RUNTIME_bluez ?= "bluez4"
> >>>
> >>>   #
> >>>   # Default recipe providers
> >>> @@ -40,6 +42,3 @@ PREFERRED_PROVIDER_console-tools ?= "kbd"
> >>>   PREFERRED_PROVIDER_gzip-native ?= "pigz-native"
> >>>   PREFERRED_PROVIDER_make ?= "make"
> >>>   PREFERRED_PROVIDER_udev ?=
> >>> "${@base_contains('DISTRO_FEATURES','systemd','systemd','udev',d)}"
> >>> -# There are issues with runtime packages and PREFERRED_PROVIDER, see
> >>> YOCTO #5044 for details -# on this rather strange entry.
> >>> -PREFERRED_PROVIDER_bluez4 ?= "bluez4"
> >>> diff --git a/meta/recipes-connectivity/bluez/bluez4.inc
> >>> b/meta/recipes-connectivity/bluez/bluez4.inc
> >>> index e4f6834..c0babc6 100644
> >>> --- a/meta/recipes-connectivity/bluez/bluez4.inc
> >>> +++ b/meta/recipes-connectivity/bluez/bluez4.inc
> >>> @@ -9,6 +9,7 @@ LIC_FILES_CHKSUM =
> >>> "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
> >>>
> >>> file://sbc/sbc.c;beginline=1;endline=25;md5=1a40781ed30d50d8639323a184aeb191"
> >>>
> >>>   DEPENDS = "udev libusb dbus-glib glib-2.0 libcheck readline"
> >>>   RDEPENDS_${PN}-dev = "bluez-hcidump"
> >>> +PROVIDES += "virtual/bluez"
> >>>
> >>>   PACKAGECONFIG ??= "\
> >>>       ${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)}\ diff
> >>> --git a/meta/recipes-connectivity/bluez5/bluez5.inc
> >>> b/meta/recipes-connectivity/bluez5/bluez5.inc
> >>> index 2e25d86..b3ab131 100644
> >>> --- a/meta/recipes-connectivity/bluez5/bluez5.inc
> >>> +++ b/meta/recipes-connectivity/bluez5/bluez5.inc
> >>> @@ -7,6 +7,7 @@ LIC_FILES_CHKSUM =
> >>> "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
> >>>
> >>> file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \
> >>>
> >>> file://src/main.c;beginline=1;endline=24;md5=9bc54b93cd7e17bf03f52513f39f926e"
> >>>
> >>>   DEPENDS = "udev libusb dbus-glib glib-2.0 libcheck readline"
> >>> +PROVIDES += "virtual/bluez"
> >>>
> >>>   RCONFLICTS_${PN} = "bluez4"
> >>>
> >>> diff --git a/meta/recipes-connectivity/connman/connman.inc
> >>> b/meta/recipes-connectivity/connman/connman.inc
> >>> index c2d71e0..8641415 100644
> >>> --- a/meta/recipes-connectivity/connman/connman.inc
> >>> +++ b/meta/recipes-connectivity/connman/connman.inc
> >>> @@ -41,7 +41,7 @@ PACKAGECONFIG ??= "wispr \  #
> >>> PACKAGECONFIG_append_pn-connman = " openvpn vpnc l2tp pptp"
> >>>
> >>>   PACKAGECONFIG[wifi] = "--enable-wifi, --disable-wifi, wpa-supplicant"
> >>> -PACKAGECONFIG[bluetooth] = "--enable-bluetooth, --disable-bluetooth,
> >>> bluez4"
> >>> +PACKAGECONFIG[bluetooth] = "--enable-bluetooth, --disable-bluetooth,
> >>> virtual/bluez"
> >>>   PACKAGECONFIG[3g] = "--enable-ofono, --disable-ofono, ofono"
> >>>   PACKAGECONFIG[tist] = "--enable-tist,--disable-tist,"
> >>>   PACKAGECONFIG[openvpn] = "--enable-openvpn
> >>> --with-openvpn=${sbindir}/openvpn,--disable-openvpn,,openvpn"
> >>> @@ -118,7 +118,7 @@ RPROVIDES_${PN} = "\
> >>>
> >>>   RDEPENDS_${PN} = "\
> >>>       dbus \
> >>> -    ${@base_contains('PACKAGECONFIG', 'bluetooth', 'bluez4', '', d)} \
> >>> +    ${@base_contains('PACKAGECONFIG', 'bluetooth',
> >>> +'${VIRTUAL-RUNTIME_bluez}', '', d)} \
> >>>       ${@base_contains('PACKAGECONFIG', 'wifi','wpa-supplicant', '',
> >>> d)} \
> >>>       ${@base_contains('PACKAGECONFIG', '3g','ofono', '', d)} \
> >>>       xuser-account \
> >>> diff --git a/meta/recipes-connectivity/libpcap/libpcap.inc
> >>> b/meta/recipes-connectivity/libpcap/libpcap.inc
> >>> index 3a08afe..3a67ecc 100644
> >>> --- a/meta/recipes-connectivity/libpcap/libpcap.inc
> >>> +++ b/meta/recipes-connectivity/libpcap/libpcap.inc
> >>> @@ -11,7 +11,7 @@ LIC_FILES_CHKSUM =
> >>> "file://LICENSE;md5=1d4b0366557951c84a94fabe3529f867 \  DEPENDS =
> >>> "flex-native bison-native libnl"
> >>>
> >>>   PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'bluetooth',
> >>> 'bluetooth', '', d)}"
> >>> -PACKAGECONFIG[bluetooth] =
> >>> "--enable-bluetooth,--disable-bluetooth,bluez4"
> >>> +PACKAGECONFIG[bluetooth] =
> >>> "--enable-bluetooth,--disable-bluetooth,virtual/bluez"
> >>>   PACKAGECONFIG[canusb] = "--enable-canusb,--enable-canusb=no,libusb"
> >>>
> >>>   INC_PR = "r5"
> >>> diff --git a/meta/recipes-connectivity/neard/neard.inc
> >>> b/meta/recipes-connectivity/neard/neard.inc
> >>> index 7cccbdc..1d27c10 100644
> >>> --- a/meta/recipes-connectivity/neard/neard.inc
> >>> +++ b/meta/recipes-connectivity/neard/neard.inc
> >>> @@ -47,7 +47,7 @@ RDEPENDS_${PN} = "dbus python python-dbus
> >>> python-pygobject"
> >>>
> >>>   # Bluez & Wifi are not mandatory except for handover
> >>> RRECOMMENDS_${PN} = "\
> >>> -                     ${@base_contains('DISTRO_FEATURES',
> >>> 'bluetooth', 'bluez4', '', d)} \
> >>> +                     ${@base_contains('DISTRO_FEATURES', 'bluetooth',
> >>> + 'virtual/bluez', '', d)} \
> >>>                        ${@base_contains('DISTRO_FEATURES',
> >>> 'wifi','wpa-supplicant', '', d)} \
> >>>                       "
> >>>
> >>> diff --git a/meta/recipes-connectivity/ofono/ofono.inc
> >>> b/meta/recipes-connectivity/ofono/ofono.inc
> >>> index 3972e06..ff34265 100644
> >>> --- a/meta/recipes-connectivity/ofono/ofono.inc
> >>> +++ b/meta/recipes-connectivity/ofono/ofono.inc
> >>> @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM =
> >>> "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
> >>>
> >>>   inherit autotools pkgconfig update-rc.d systemd
> >>>
> >>> -DEPENDS  = "dbus glib-2.0 udev mobile-broadband-provider-info
> >>> ${@base_contains('DISTRO_FEATURES', 'bluetooth','bluez4', '', d)}"
> >>> +DEPENDS  = "dbus glib-2.0 udev mobile-broadband-provider-info
> >>> ${@base_contains('DISTRO_FEATURES', 'bluetooth','virtual/bluez', '',
> >>> d)}"
> >>>
> >>>   INITSCRIPT_NAME = "ofono"
> >>>   INITSCRIPT_PARAMS = "defaults 22"
> >>> diff --git a/meta/recipes-core/packagegroups/packagegroup-base.bb
> >>> b/meta/recipes-core/packagegroups/packagegroup-base.bb
> >>> index eee8bd9..a63ce73 100644
> >>> --- a/meta/recipes-core/packagegroups/packagegroup-base.bb
> >>> +++ b/meta/recipes-core/packagegroups/packagegroup-base.bb
> >>> @@ -210,7 +210,7 @@ RRECOMMENDS_packagegroup-base-pcmcia = "\
> >>>
> >>>   SUMMARY_packagegroup-base-bluetooth = "Bluetooth support"
> >>>   RDEPENDS_packagegroup-base-bluetooth = "\
> >>> -    bluez4 \
> >>> +    ${VIRTUAL-RUNTIME_bluez} \
> >>>       ${@base_contains('COMBINED_FEATURES', 'alsa',
> >>> 'libasound-module-bluez', '',d)} \
> >>>       "
> >>>
> >>> diff --git
> >>> a/meta/recipes-gnome/packagegroups/packagegroup-sdk-gmae.inc
> >>> b/meta/recipes-gnome/packagegroups/packagegroup-sdk-gmae.inc
> >>> index 416e05d..75c92e2 100644
> >>> --- a/meta/recipes-gnome/packagegroups/packagegroup-sdk-gmae.inc
> >>> +++ b/meta/recipes-gnome/packagegroups/packagegroup-sdk-gmae.inc
> >>> @@ -3,7 +3,7 @@ SDK-GMAE = " \
> >>>       dbus-glib-dev \
> >>>       gtk+-dev \
> >>>       gstreamer-dev \
> >>> -    bluez4-dev \
> >>> +    ${VIRTUAL-RUNTIME_bluez}-dev \
> >>>       gconf-dev \
> >>>       avahi-dev \
> >>>       telepathy-glib-dev \
> >>> diff --git
> >>> a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_git.bb
> >>> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_git.bb
> >>> index e1a5904..8f37be8 100644
> >>> ---
> >>> a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_git.bb
> >>> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_git.b
> >>> +++ b
> >>> @@ -11,7 +11,7 @@ S = "${WORKDIR}/git"
> >>>
> >>>   SRCREV = "6e5db57d2446a753aaa76bee268e1f95600b14ce"
> >>>
> >>> -PACKAGECONFIG[bluez] = "--enable-bluez,--disable-bluez,bluez4"
> >>> +PACKAGECONFIG[bluez] = "--enable-bluez,--disable-bluez,virtual/bluez"
> >>>   PACKAGECONFIG[sbc] = "--enable-sbc,--disable-sbc,sbc"
> >>>   PACKAGECONFIG[hls] = "--enable-hls,--disable-hls,gnutls"
> >>>
> >>> diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
> >>> b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
> >>> index bb13f4b..e4e058f 100644
> >>> --- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
> >>> +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
> >>> @@ -36,7 +36,7 @@ PACKAGECONFIG ??=
> >>> "${@base_contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '',
> >>>                      ${@base_contains('DISTRO_FEATURES', 'systemd',
> >>> 'systemd', '', d)} \
> >>>                      ${@base_contains('DISTRO_FEATURES', 'zeroconf',
> >>> 'avahi', '', d)} \
> >>>                      ${@base_contains('DISTRO_FEATURES', 'x11',
> >>> 'x11', '', d)}"
> >>> -PACKAGECONFIG[bluez] = "--enable-bluez,--disable-bluez,bluez4 sbc"
> >>> +PACKAGECONFIG[bluez] = "--enable-bluez,--disable-bluez,virtual/bluez
> >>> sbc"
> >>>   PACKAGECONFIG[gtk] = "--enable-gtk3,--disable-gtk3,gtk+3"
> >>>   PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
> >>>   PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11
> >>> libxtst libice libsm libxcb"
> >>> diff --git a/meta/recipes-qt/qt4/qt-mobility_1.2.0.inc
> >>> b/meta/recipes-qt/qt4/qt-mobility_1.2.0.inc
> >>> index 062702f..ef3f08d 100644
> >>> --- a/meta/recipes-qt/qt4/qt-mobility_1.2.0.inc
> >>> +++ b/meta/recipes-qt/qt4/qt-mobility_1.2.0.inc
> >>> @@ -3,7 +3,7 @@ DEPENDS = "gstreamer util-linux"
> >>>
> >>>   PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES',
> >>> 'pulseaudio', 'pulseaudio', '', d)} \
> >>>                      ${@base_contains('DISTRO_FEATURES', 'bluetooth',
> >>> 'bluetooth', '', d)}"
> >>> -PACKAGECONFIG[bluetooth] = ",,bluez4"
> >>> +PACKAGECONFIG[bluetooth] = ",,virtual/bluez"
> >>>   PACKAGECONFIG[pulseaudio] = ",,pulseaudio"
> >>>
> >>>   LICENSE = "LGPLv2.1"
> >>> --
> >>> 1.7.10.4
> >>>
> >>> _______________________________________________
> >>> Openembedded-core mailing list
> >>> Openembedded-core at lists.openembedded.org
> >>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
> >>
> >

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20131112/63772996/attachment-0002.sig>


More information about the Openembedded-core mailing list