Skip to contentSkip to conversation

Miscellaneous bluez patches

PATCH Applied Peter A. Bigot 2 participants 6 messages Nov 26, 2014 – Dec 5, 2014

lore
Share & tools
lore
#0 lore raw

cover Miscellaneous bluez patches

These resolve the conflict for provider of hcidump between bluez4 and bluez5, provide a new package containing the useful tools in bluez5 that upstream doesn't think should be installed, and provides a mechanism for enabling the experimental features such as the new GATT interface.

The following changes since commit ab63640fad50954b0440ab107c96dbd3f919ea4d:

gdk-pixbuf: use ptest-gnome (2014-11-25 13:03:30 +0000)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib pabigot/bluez5
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=pabigot/bluez5

Peter A. Bigot (3):
bluez-hcidump: select provider as bluez4 or bluez5
bluez5: add a package for tools left in the build area
bluez5: support experimental through PACKAGECONFIG

 meta/conf/distro/include/default-providers.inc     |  1 +
 .../bluez/bluez-hcidump_2.5.bb                     |  2 +
 meta/recipes-connectivity/bluez5/bluez5.inc        | 29 +++++++++++++-
 meta/recipes-connectivity/bluez5/bluez5_5.25.bb    | 46 ++++++++++++++++++++++
 4 files changed, 77 insertions(+), 1 deletion(-)
Signature · 1 line
1.8.5.5
#1 lore raw

PATCH 1/3 bluez-hcidump: select provider as bluez4 or bluez5

bluez-hcidump was a separate package in bluez4, but was integrated into bluez5.

---
 meta/conf/distro/include/default-providers.inc       | 1 +
 meta/recipes-connectivity/bluez/bluez-hcidump_2.5.bb | 2 ++
 meta/recipes-connectivity/bluez5/bluez5.inc          | 2 ++
 3 files changed, 5 insertions(+)
meta/conf/distro/include/default-providers.inc +1 -0
index e15794f..4dc42a7 100644
@@ -44,6 +44,7 @@ PREFERRED_PROVIDER_udev ?= "${@bb.utils.contains('DISTRO_FEATURES','systemd','sy
 # There are issues with runtime packages and PREFERRED_PROVIDER, see YOCTO #5044 for details
 # on this rather strange entry.
 PREFERRED_PROVIDER_bluez4 ?= "bluez4"
+PREFERRED_PROVIDER_bluez-hcidump ?= "bluez-hcidump"
 # Alternative is ltp-ddt in meta-oe: meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_0.0.4.bb
 PREFERRED_PROVIDER_ltp ?= "ltp"
 PREFERRED_PROVIDER_getopt ?= "util-linux-getopt"
meta/recipes-connectivity/bluez/bluez-hcidump_2.5.bb +2 -0
index 5c1f476..3950630 100644
@@ -3,7 +3,9 @@ DESCRIPTION = "The hcidump tool reads raw HCI data coming from and going to a Bl
 and displays the commands, events and data in a human-readable form."
 
 SECTION = "console"
+# hcidump was integrated into bluez5
 DEPENDS = "bluez4"
+RCONFLICTS_${PN} = "bluez5"
 LICENSE = "GPLv2+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
                     file://src/hcidump.c;beginline=1;endline=23;md5=3bee3a162dff43a5be7470710b99fbcf"
meta/recipes-connectivity/bluez5/bluez5.inc +2 -0
index 28c014f..f782528 100644
@@ -7,6 +7,8 @@ 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 += "bluez-hcidump"
+RPROVIDES_${PN} += "bluez-hcidump"
 
 RCONFLICTS_${PN} = "bluez4"
 
Signature · 1 line
1.8.5.5
#2 lore raw

PATCH 2/3 bluez5: add a package for tools left in the build area

In reply to Peter A. Bigot

In bluez4 gatttool was provided as a command-line interface to the Generic Attribute Profile. In bluez5 this tool is still built but is no longer installed. It is still necessary for those wishing to use GATT since the programmatic API is not yet mature. A variety of other useful tools are treated similarly by bluez5.

Make these tools available in the bluez5-noinst-tools package, in a way that allows control over which tools are packaged, with the default being all that are provided in a particular release of bluez.

---
 meta/recipes-connectivity/bluez5/bluez5.inc     | 26 +++++++++++++-
 meta/recipes-connectivity/bluez5/bluez5_5.25.bb | 46 +++++++++++++++++++++++++
 2 files changed, 71 insertions(+), 1 deletion(-)
meta/recipes-connectivity/bluez5/bluez5.inc +25 -1
index f782528..d9b6492 100644
@@ -32,6 +32,15 @@ EXTRA_OECONF = "\
   --enable-library \
 "
 
+# bluez5 builds a large number of useful utilities but does not
+# install them.  Specify which ones we want put into ${PN}-noinst-tools.
+NOINST_TOOLS_READLINE ??= ""
+NOINST_TOOLS_EXPERIMENTAL ??= ""
+NOINST_TOOLS = " \
+    ${NOINST_TOOLS_READLINE} \
+    ${@bb.utils.contains('PACKAGECONFIG', 'experimental', '${NOINST_TOOLS_EXPERIMENTAL}', '', d)} \
+"
+
 do_install_append() {
 	install -d ${D}${sysconfdir}/bluetooth/
 	if [ -f ${S}/profiles/audio/audio.conf ]; then
@@ -45,10 +54,15 @@ do_install_append() {
 	fi
 	# at_console doesn't really work with the current state of OE, so punch some more holes so people can actually use BT
 	install -m 0644 ${WORKDIR}/bluetooth.conf ${D}/${sysconfdir}/dbus-1/system.d/
+
+	# Install desired tools that upstream leaves in build area
+        for f in ${NOINST_TOOLS} ; do
+	    install -m 755 ${B}/$f ${D}/${bindir}
+	done
 }
 
 ALLOW_EMPTY_libasound-module-bluez = "1"
-PACKAGES =+ "libasound-module-bluez ${PN}-testtools ${PN}-obex"
+PACKAGES =+ "libasound-module-bluez ${PN}-testtools ${PN}-obex ${PN}-noinst-tools"
 
 FILES_libasound-module-bluez = "${libdir}/alsa-lib/lib*.so ${datadir}/alsa"
 FILES_${PN} += "${libdir}/bluetooth/plugins ${libdir}/bluetooth/plugins/*.so ${base_libdir}/udev/ ${nonarch_base_libdir}/udev/ ${systemd_unitdir}/ ${datadir}/dbus-1"
@@ -65,6 +79,16 @@ SYSTEMD_SERVICE_${PN}-obex = "obex.service"
 
 FILES_${PN}-testtools = "${libdir}/bluez/test/*"
 
+def get_noinst_tools_paths (d, bb, tools):
+    s = list()
+    bindir = d.getVar("bindir", True)
+    for bdp in tools.split():
+        f = os.path.basename(bdp)
+        s.append("%s/%s" % (bindir, f))
+    return "\n".join(s)
+
+FILES_${PN}-noinst-tools = "${@get_noinst_tools_paths(d, bb, d.getVar('NOINST_TOOLS', True))}"
+
 FILES_${PN}-dbg += "\
   ${libdir}/${BPN}/bluetooth/.debug \
   ${libdir}/bluetooth/plugins/.debug \
meta/recipes-connectivity/bluez5/bluez5_5.25.bb +46 -0

49 lines not on this page · raw message

Signature · 1 line
1.8.5.5
#3 lore raw

PATCH 3/3 bluez5: support experimental through PACKAGECONFIG

In reply to Peter A. Bigot

Make it simple to enable the experimental plugins and tools.

---
 meta/recipes-connectivity/bluez5/bluez5.inc | 1 +
 1 file changed, 1 insertion(+)
meta/recipes-connectivity/bluez5/bluez5.inc +1 -0
index d9b6492..67aafbb 100644
@@ -14,6 +14,7 @@ RCONFLICTS_${PN} = "bluez4"
 
 PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} obex-profiles"
 PACKAGECONFIG[obex-profiles] = "--enable-obex,--disable-obex,libical"
+PACKAGECONFIG[experimental] = "--enable-experimental,--disable-experimental,"
 
 SRC_URI = "\
     ${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \
Signature · 1 line
1.8.5.5
#4 lore raw
In reply to Peter A. Bigot

Ping. These are independent of the RFC patches.

Quoted 25 lines · Peter A. Bigot

These resolve the conflict for provider of hcidump between bluez4 and bluez5, provide a new package containing the useful tools in bluez5 that upstream doesn't think should be installed, and provides a mechanism for enabling the experimental features such as the new GATT interface.

The following changes since commit ab63640fad50954b0440ab107c96dbd3f919ea4d:

   gdk-pixbuf: use ptest-gnome (2014-11-25 13:03:30 +0000)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib pabigot/bluez5
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=pabigot/bluez5

Peter A. Bigot (3):
bluez-hcidump: select provider as bluez4 or bluez5
bluez5: add a package for tools left in the build area
bluez5: support experimental through PACKAGECONFIG

  meta/conf/distro/include/default-providers.inc     |  1 +
  .../bluez/bluez-hcidump_2.5.bb                     |  2 +
  meta/recipes-connectivity/bluez5/bluez5.inc        | 29 +++++++++++++-
  meta/recipes-connectivity/bluez5/bluez5_5.25.bb    | 46 ++++++++++++++++++++++
  4 files changed, 77 insertions(+), 1 deletion(-)
Applied
#5 lore raw
Quoted 2 lines · Peter A. Bigot

Ping. These are independent of the RFC patches.

Merged into mut, thanks.

Ross