[OE-core] [PATCH] bluez5: remove udev dependency

Joshua Watt jpewhacker at gmail.com
Thu May 23 16:30:35 UTC 2019


On 5/23/19 11:12 AM, David Frey wrote:
> On 5/22/2019 3:03 PM, Adrian Bunk wrote:
>> On Wed, May 22, 2019 at 02:55:41PM -0700, David Frey wrote:
>>> udev is an optional dependency of bluez5, so use PACKAGECONFIG to allow
>>> users to decide if they want udev support.
>>>
>>> Signed-off-by: David Frey <dpfrey at gmail.com>
>>> ---
>>>   meta/recipes-connectivity/bluez5/bluez5.inc | 3 ++-
>>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc
>>> index aaf2af975d..568de86d6d 100644
>>> --- a/meta/recipes-connectivity/bluez5/bluez5.inc
>>> +++ b/meta/recipes-connectivity/bluez5/bluez5.inc
>>> @@ -6,7 +6,7 @@ LICENSE = "GPLv2+ & LGPLv2.1+"
>>>   LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
>>>                       file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \
>>>                       file://src/main.c;beginline=1;endline=24;md5=9bc54b93cd7e17bf03f52513f39f926e"
>>> -DEPENDS = "udev dbus-glib glib-2.0"
>>> +DEPENDS = "dbus-glib glib-2.0"
>>>   PROVIDES += "bluez-hcidump"
>>>   RPROVIDES_${PN} += "bluez-hcidump"
>>>   
>>> @@ -43,6 +43,7 @@ PACKAGECONFIG[threads] = "--enable-threads,--disable-threads"
>>>   PACKAGECONFIG[deprecated] = "--enable-deprecated,--disable-deprecated"
>>>   PACKAGECONFIG[mesh] = "--enable-mesh,--disable-mesh, json-c ell"
>>>   PACKAGECONFIG[btpclient] = "--enable-btpclient,--disable-btpclient, ell"
>>> +PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev"
>>> ...
>> Unless there is a good reason to do otherwise, this should be added to
>> the default PACKAGECONFIG so that the set of features enabled by default
>> stays the same.
> I think bluez5 should be built with udev support if udev is going to be
> part of the system, but I don't think udev should be brought in as a
> dependency of bluez5 by default.  How can I express this?  I *think*
> this is what is done for systemd in the PACKAGECONFIG with this fragment:
>    ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}

I think it already is a dependency by default (before your patch). We 
would like this to remain the default for current consumers of bluez 
after your patch. I think the easiest way to do this is to have your 
patch add "udev" to the default PACKAGECONFIG for the recipe. Then, in 
your local.conf/distro.conf/whatever you can override the PACKAGECONFIG 
for the recipe to remove udev for your use case.

This way, your patch allow you to have bluez without udev, but you won't 
break everyone else by suddenly removing it.

>
> This uses DISTRO_FEATURES and based on this
> (https://www.yoctoproject.org/docs/2.7/mega-manual/mega-manual.html#ref-features-distro),
> it seems that there is no "udev" distro feature, so I'm not sure how to
> proceed.
>
> Thanks,
> David


More information about the Openembedded-core mailing list