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 <[email protected]>
---
  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
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to