bluez5_utils: new package
PATCH 1/1 bluez5_utils: new package
This patch adds support for BlueZ 5.x.
API is not backwards compatible with BlueZ 4. It uses kernel interface introduces in 3.4 (3.5 for Low Energy).
BlueZ utils will use systemd and/or udev if enabled.
--- package/Config.in | 1 + package/bluez5_utils/Config.in | 36 +++++++++++++++++++++++++++++ package/bluez5_utils/bluez5_utils.mk | 42 ++++++++++++++++++++++++++++++++++ 3 files changed, 79 insertions(+), 0 deletions(-) create mode 100644 package/bluez5_utils/Config.in create mode 100644 package/bluez5_utils/bluez5_utils.mk
package/Config.in +1 -0
@@ -768,6 +768,7 @@ source "package/axel/Config.in" source "package/bcusdk/Config.in" source "package/bind/Config.in" source "package/bluez_utils/Config.in" +source "package/bluez5_utils/Config.in" source "package/bmon/Config.in" source "package/boa/Config.in" source "package/bridge-utils/Config.in"
package/bluez5_utils/Config.in new file +36 -0
@@ -0,0 +1,36 @@ +config BR2_PACKAGE_BLUEZ5_UTILS + bool "bluez-utils 5.x" + depends on !BR2_avr32 + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, alsa-lib, libglib2 + depends on BR2_USE_MMU # dbus + depends on !BR2_PACKAGE_BLUEZ_UTILS # conflicts with 4.x version + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBICAL + select BR2_PACKAGE_READLINE + help + bluez utils version 5.x + + With this release BlueZ only supports the new Bluetooth Management kernel + interface (introduced in Linux 3.4). + For Low Energy support at least kernel version 3.5 is needed. + + The API is not backwards compatible with BlueZ 4. + + Bluez utils will use systemd and/or udev if enabled. + + http://www.bluez.org + http://www.kernel.org/pub/linux/bluetooth + +if BR2_PACKAGE_BLUEZ5_UTILS + +config BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL + bool "build experimental plugins" + help + Build BlueZ 5.x experimental plugins. + +endif + +comment "bluez5-utils needs a toolchain w/ wchar, threads" + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
package/bluez5_utils/bluez5_utils.mk new file +42 -0
42 lines not on this page · raw message
Signature · 1 line
1.7.2.5
PATCH 1/1 bluez5_utils: new package
Hi Marcin,
Thanks for your contribution!
Some comments below...
Quoted 60 lines · Marcin Bis
This patch adds support for BlueZ 5.x.
API is not backwards compatible with BlueZ 4. It uses kernel interface introduces in 3.4 (3.5 for Low Energy).
BlueZ utils will use systemd and/or udev if enabled.
Signed-off-by Marcin Bis <[email protected]>--- package/Config.in | 1 + package/bluez5_utils/Config.in | 36 +++++++++++++++++++++++++++++ package/bluez5_utils/bluez5_utils.mk | 42 ++++++++++++++++++++++++++++++++++ 3 files changed, 79 insertions(+), 0 deletions(-) create mode 100644 package/bluez5_utils/Config.in create mode 100644 package/bluez5_utils/bluez5_utils.mkpackage/Config.in +1
-0@@ -768,6 +768,7 @@ source "package/axel/Config.in" source "package/bcusdk/Config.in" source "package/bind/Config.in" source "package/bluez_utils/Config.in" +source "package/bluez5_utils/Config.in" source "package/bmon/Config.in" source "package/boa/Config.in" source "package/bridge-utils/Config.in"package/bluez5_utils/Config.in new file +26
-0@@ -0,0 +1,36 @@ +config BR2_PACKAGE_BLUEZ5_UTILS + bool "bluez-utils 5.x" + depends on !BR2_avr32 + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, alsa-lib, libglib2 + depends on BR2_USE_MMU # dbus + depends on !BR2_PACKAGE_BLUEZ_UTILS # conflicts with 4.x version + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBICAL + select BR2_PACKAGE_READLINE + help + bluez utils version 5.x + + With this release BlueZ only supports the new Bluetooth Management kernel + interface (introduced in Linux 3.4). + For Low Energy support at least kernel version 3.5 is needed. + + The API is not backwards compatible with BlueZ 4. + + Bluez utils will use systemd and/or udev if enabled. + + http://www.bluez.org + http://www.kernel.org/pub/linux/bluetooth + +if BR2_PACKAGE_BLUEZ5_UTILS
package/bluez5_utils/Config.in line 36
Quoted 10 lines
package/bluez5_utils/Config.in new file +10
-0+ +config BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL + bool "build experimental plugins" + help + Build BlueZ 5.x experimental plugins. + +endif + +comment "bluez5-utils needs a toolchain w/ wchar, threads" + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
This comment should repeat the other dependencies of bluez5-utils, so that the comment is only visible when relevant, so it should become:
comment "bluez5-utils needs a toolchain w/ wchar, threads"
depends on !BR2_avr32 && BR2_USE_MMU && !BR2_PACKAGE_BLUEZ_UTILS
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADSThis is not properly documented yet, but I have submitted a patch today to fix all packages and will submit another patch to clarify the documentation.
Also, I prefer to keep the comment together with the actual config option, instead of having the 'experimental' part in between.
Quoted 19 lines
package/bluez5_utils/bluez5_utils.mk new file +13
-0@@ -0,0 +1,42 @@ +################################################################################ +# +# bluez5_utils +# +################################################################################ + +BLUEZ5_UTILS_VERSION = 5.10 +BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz +BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth +BLUEZ5_UTILS_INSTALL_STAGING = YES +BLUEZ5_UTILS_DEPENDENCIES = dbus libglib2 libical readline +BLUEZ5_UTILS_CONF_OPT = --enable-test --enable-tools --enable-library +BLUEZ5_UTILS_AUTORECONF = YES
package/bluez5_utils/bluez5_utils.mk line 23
Quoted 10 lines
package/bluez5_utils/bluez5_utils.mk new file +10
-0+BLUEZ5_UTILS_LICENSE = GPLv2+ LGPLv2.1+ +BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB + +# experimental plugins +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL),y) +BLUEZ5_UTILS_CONF_OPT += \ + --enable-experimental +else +BLUEZ5_UTILS_CONF_OPT += \ + --disable-experimental
In the above cases I don't think it's necessary to wrap the lines (yet).
Quoted 9 lines
package/bluez5_utils/bluez5_utils.mk new file +9
-0+endif + +# use udev if available +ifeq ($(BR2_PACKAGE_UDEV),y) + BLUEZ5_UTILS_CONF_OPT += --enable-udev + BLUEZ5_UTILS_DEPENDENCIES += udev +else + BLUEZ5_UTILS_CONF_OPT += --disable-udev +endif
package/bluez5_utils/bluez5_utils.mk line 42
Quoted 10 lines
package/bluez5_utils/bluez5_utils.mk new file +10
-0+ +# integrate with systemd if available +ifeq ($(BR2_PACKAGE_SYSTEMD),y) + BLUEZ5_UTILS_CONF_OPT += --enable-systemd + BLUEZ5_UTILS_DEPENDENCIES += systemd +else + BLUEZ5_UTILS_CONF_OPT += --disable-systemd +endif + +$(eval $(autotools-package))
Best regards,
Thomas
PATCH v2 1/1 bluez5_utils: new package
This patch adds support for BlueZ 5.x.
API is not backwards compatible with BlueZ 4. It uses kernel interface introduced in 3.4 (3.5 for Low Energy).
BlueZ utils will use systemd and/or udev if enabled.
--- package/Config.in | 1 + package/bluez5_utils/Config.in | 37 +++++++++++++++++++++++++++++++ package/bluez5_utils/bluez5_utils.mk | 40 ++++++++++++++++++++++++++++++++++ 3 files changed, 78 insertions(+), 0 deletions(-) create mode 100644 package/bluez5_utils/Config.in create mode 100644 package/bluez5_utils/bluez5_utils.mk
package/Config.in +1 -0
@@ -768,6 +768,7 @@ source "package/axel/Config.in" source "package/bcusdk/Config.in" source "package/bind/Config.in" source "package/bluez_utils/Config.in" +source "package/bluez5_utils/Config.in" source "package/bmon/Config.in" source "package/boa/Config.in" source "package/bridge-utils/Config.in"
package/bluez5_utils/Config.in new file +37 -0
@@ -0,0 +1,37 @@ +config BR2_PACKAGE_BLUEZ5_UTILS + bool "bluez-utils 5.x" + depends on !BR2_avr32 + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2 + depends on BR2_USE_MMU # dbus + depends on !BR2_PACKAGE_BLUEZ_UTILS # conflicts with 4.x version + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBICAL + select BR2_PACKAGE_READLINE + help + bluez utils version 5.x + + With this release BlueZ only supports the new Bluetooth Management + kernel interface (introduced in Linux 3.4). + For Low Energy support at least kernel version 3.5 is needed. + + The API is not backwards compatible with BlueZ 4. + + Bluez utils will use systemd and/or udev if enabled. + + http://www.bluez.org + http://www.kernel.org/pub/linux/bluetooth + +comment "bluez5-utils needs a toolchain w/ wchar, threads" + depends on !BR2_avr32 && BR2_USE_MMU && !BR2_PACKAGE_BLUEZ_UTILS + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + +if BR2_PACKAGE_BLUEZ5_UTILS + +config BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL + bool "build experimental plugins" + help + Build BlueZ 5.x experimental plugins. + +endif
package/bluez5_utils/bluez5_utils.mk new file +40 -0
@@ -0,0 +1,40 @@ +################################################################################ +# +# bluez5_utils +# +################################################################################ + +BLUEZ5_UTILS_VERSION = 5.10 +BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz +BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth +BLUEZ5_UTILS_INSTALL_STAGING = YES +BLUEZ5_UTILS_DEPENDENCIES = dbus libglib2 libical readline +BLUEZ5_UTILS_CONF_OPT = --enable-test --enable-tools --enable-library +BLUEZ5_UTILS_AUTORECONF = YES +BLUEZ5_UTILS_LICENSE = GPLv2+ LGPLv2.1+ +BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB + +# experimental plugins +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL),y) +BLUEZ5_UTILS_CONF_OPT += --enable-experimental +else +BLUEZ5_UTILS_CONF_OPT += --disable-experimental +endif + +# use udev if available +ifeq ($(BR2_PACKAGE_UDEV),y) + BLUEZ5_UTILS_CONF_OPT += --enable-udev + BLUEZ5_UTILS_DEPENDENCIES += udev +else + BLUEZ5_UTILS_CONF_OPT += --disable-udev +endif + +# integrate with systemd if available +ifeq ($(BR2_PACKAGE_SYSTEMD),y) + BLUEZ5_UTILS_CONF_OPT += --enable-systemd + BLUEZ5_UTILS_DEPENDENCIES += systemd +else + BLUEZ5_UTILS_CONF_OPT += --disable-systemd +endif + +$(eval $(autotools-package))
Signature · 1 line
1.7.2.5
PATCH v2 1/1 bluez5_utils: new package
Marcin, All,
Thanks for your patch. Here are a few comments below...
On 2013-11-04 22:34 +0100, Marcin Bis spake thusly:
Quoted 4 lines
This patch adds support for BlueZ 5.x.
API is not backwards compatible with BlueZ 4. It uses kernel interface introduced in 3.4 (3.5 for Low Energy).
So it has a dependency on the Linux kernel headers installed with the toolchain, right? We now have a way to express this kind of dependencies:
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
See the current manual:
http://nightly.buildroot.org/#dependencies-target-toolchain-options
[--SNIP--]
package/bluez5_utils/bluez5_utils.mk line 7
Quoted 13 lines
package/bluez5_utils/bluez5_utils.mk new file +7
-0@@ -0,0 +1,40 @@ +################################################################################ +# +# bluez5_utils +# +################################################################################ + +BLUEZ5_UTILS_VERSION = 5.10
There's 5.15, now...
package/bluez5_utils/bluez5_utils.mk line 12
Quoted 5 lines
package/bluez5_utils/bluez5_utils.mk new file +5
-0+BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz +BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth +BLUEZ5_UTILS_INSTALL_STAGING = YES +BLUEZ5_UTILS_DEPENDENCIES = dbus libglib2 libical readline +BLUEZ5_UTILS_CONF_OPT = --enable-test --enable-tools --enable-library
Maybe make tests optional?
package/bluez5_utils/bluez5_utils.mk line 13
Quoted 1 line
package/bluez5_utils/bluez5_utils.mk new file +1
-0+BLUEZ5_UTILS_AUTORECONF = YES
Why is autoreconf needed? The tarballs do have ./configure.
configure.ac uses PKG_PROG_PKG_CONFIG, so you'd need:
BLUEZ5_UTILS_DEPENDENCIES += host-pkgconf
Also, configure.ac uses AC_DISABLE_STATIC, so it looks like they do not intend to support static linking. You'll need in Config.in:
depends on !BR2_PREFER_STATIC_LIB
Quoted 15 lines
package/bluez5_utils/bluez5_utils.mk new file +15
-0+BLUEZ5_UTILS_LICENSE = GPLv2+ LGPLv2.1+ +BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB + +# experimental plugins +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL),y) +BLUEZ5_UTILS_CONF_OPT += --enable-experimental +else +BLUEZ5_UTILS_CONF_OPT += --disable-experimental +endif + +# use udev if available +ifeq ($(BR2_PACKAGE_UDEV),y) + BLUEZ5_UTILS_CONF_OPT += --enable-udev + BLUEZ5_UTILS_DEPENDENCIES += udev +else
package/bluez5_utils/bluez5_utils.mk line 38
Quoted 10 lines
package/bluez5_utils/bluez5_utils.mk new file +10
-0+ BLUEZ5_UTILS_CONF_OPT += --disable-udev +endif + +# integrate with systemd if available +ifeq ($(BR2_PACKAGE_SYSTEMD),y) + BLUEZ5_UTILS_CONF_OPT += --enable-systemd + BLUEZ5_UTILS_DEPENDENCIES += systemd +else + BLUEZ5_UTILS_CONF_OPT += --disable-systemd +endif
Bluez4 has more config knobs: are they no longer applicable to Bluez5?
- Audio
- USB support
- GATT support
Since you mention the subject in the commit log: is there a way to enable/disable support for BTLE?
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v3 1/1 bluez5_utils: new package.
Hi Yann
Quoted 3 lines
Quoted 1 line
+BLUEZ5_UTILS_VERSION = 5.10
There's 5.15, now...
I have bumped it to 5.16 - newest version.
Quoted 7 lines
Review
Quoted 5 lines
(quoted diff) +5
-0+BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz +BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth +BLUEZ5_UTILS_INSTALL_STAGING = YES +BLUEZ5_UTILS_DEPENDENCIES = dbus libglib2 libical readline +BLUEZ5_UTILS_CONF_OPT = --enable-test --enable-tools --enable-libraryMaybe make tests optional?
Done
Quoted 3 lines
Quoted 1 line
+BLUEZ5_UTILS_AUTORECONF = YES
Why is autoreconf needed? The tarballs do have ./configure.
It seems not to be needed anymore. Previously, I copied it from Bluez 4.x
Quoted 1 line
Bluez4 has more config knobs: are they no longer applicable to Bluez5?
Yes, they are no longer there. It seems, that Bluez code in 5.x was seriously cleaned.
Quoted 2 lines
- Audio
- USB support
No longer here, as for USB - it relies on kernel's btusb driver.
Quoted 1 line
- GATT support
gatttool is always build but not installed (there are no configuration knobs for it).
I have added a post-install hook to copy gatttool manually.
Quoted 2 lines
Since you mention the subject in the commit log: is there a way to enable/disable support for BTLE?
I have not seen any 'lescan' and 'lecc' in hciconfig are always enabled.
The patch follows:
bluez5_utils: new package.
API is not backwards compatible with BlueZ 4.
BlueZ utils will use systemd and/or udev if enabled. Contains a hook for installing GATT support tool, wchich is always build but not installed by default.
--- package/Config.in | 1 + package/bluez5_utils/Config.in | 51 +++++++++++++++++++++++++++++++ package/bluez5_utils/bluez5_utils.mk | 55 ++++++++++++++++++++++++++++++++++ 3 files changed, 107 insertions(+) create mode 100644 package/bluez5_utils/Config.in create mode 100644 package/bluez5_utils/bluez5_utils.mk
package/Config.in +1 -0
@@ -864,6 +864,7 @@ source "package/axel/Config.in" source "package/bcusdk/Config.in" source "package/bind/Config.in" source "package/bluez_utils/Config.in" +source "package/bluez5_utils/Config.in" source "package/bmon/Config.in" source "package/boa/Config.in" source "package/bridge-utils/Config.in"
package/bluez5_utils/Config.in new file +51 -0
51 lines not on this page · raw message
package/bluez5_utils/bluez5_utils.mk new file +55 -0
55 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH v3 1/1 bluez5_utils: new package.
Dear Marcin Bis,
Quoted 1 line · Marcin Bis
The patch follows:
Thanks a lot, but the patch should be in a separate e-mail. As you sent it, all your discussion answering Yann's comment would end up in the patch commit log.
Quoted 7 lines
bluez5_utils: new package.API is not backwards compatible with BlueZ 4.
BlueZ utils will use systemd and/or udev if enabled. Contains a hook for installing GATT support tool, wchich is always build but not installed by default.
Also your Signed-off-by line is missing.
See
http://buildroot.org/downloads/manual/manual.html#_contributing_to_buildroot
for more details about formatting patches.
Thanks a lot!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v3 1/1 bluez5_utils: new package.
In reply to Marcin BisHi Marcin,
[...]
Quoted 114 lines
I have not seen any 'lescan' and 'lecc' in hciconfig are always enabled.
The patch follows:
bluez5_utils: new package.API is not backwards compatible with BlueZ 4.
BlueZ utils will use systemd and/or udev if enabled. Contains a hook for installing GATT support tool, wchich is always build but not installed by default.
--- package/Config.in | 1 + package/bluez5_utils/Config.in | 51 +++++++++++++++++++++++++++++++ package/bluez5_utils/bluez5_utils.mk | 55 ++++++++++++++++++++++++++++++++++ 3 files changed, 107 insertions(+)create mode 100644 package/bluez5_utils/Config.in create mode 100644
package/bluez5_utils/bluez5_utils.mkpackage/Config.in +1
-0@@ -864,6 +864,7 @@ source "package/axel/Config.in" source "package/bcusdk/Config.in" source "package/bind/Config.in" source "package/bluez_utils/Config.in" +source "package/bluez5_utils/Config.in" source "package/bmon/Config.in" source "package/boa/Config.in" source "package/bridge-utils/Config.in"package/bluez5_utils/Config.in new file +51
-0@@ -0,0 +1,51 @@ +config BR2_PACKAGE_BLUEZ5_UTILS + bool "bluez-utils 5.x" + depends on !BR2_avr32 + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2 + depends on BR2_USE_MMU # dbus + depends on !BR2_PACKAGE_BLUEZ_UTILS # conflicts with 4.x version + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBICAL + select BR2_PACKAGE_READLINE + help + bluez utils version 5.x + + With this release BlueZ only supports the new Bluetooth Management + kernel interface (introduced in Linux 3.4). + For Low Energy support at least kernel version 3.5 is needed. + + The API is not backwards compatible with BlueZ 4. + + Bluez utils will use systemd and/or udev if enabled. + + http://www.bluez.org + http://www.kernel.org/pub/linux/bluetooth + +if BR2_PACKAGE_BLUEZ5_UTILS + +config BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL + bool "build experimental plugins" + help + Build BlueZ 5.x experimental plugins (SAP, NFC, ...). + +config BR2_PACKAGE_BLUEZ5_UTILS_TEST + bool "enable test" + help + Enable test. + +config BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL + bool "install GATT tool" + help + Generic Attribute Profile (GATT) support. This provides profile + discovery and description services for Bluetooth Low Energy. + This will install the gatttool utility. + + It is always build with BlueZ 5.x, but upstream choose not to install + it by default. + +endif + +comment "bluez5-utils needs a toolchain w/ wchar, threads" + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADSpackage/bluez5_utils/bluez5_utils.mk new file +20
-0@@ -0,0 +1,55 @@ +################################################################################ +# +# bluez5_utils +# +################################################################################ + +BLUEZ5_UTILS_VERSION = 5.16 +BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz +BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth +BLUEZ5_UTILS_INSTALL_STAGING = YES +BLUEZ5_UTILS_DEPENDENCIES = dbus libglib2 libical readline +BLUEZ5_UTILS_CONF_OPT = --enable-tools --enable-library +BLUEZ5_UTILS_LICENSE = GPLv2+ LGPLv2.1+ +BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB + +# experimental plugins +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL),y) + BLUEZ5_UTILS_CONF_OPT += --enable-experimental +else + BLUEZ5_UTILS_CONF_OPT += --disable-experimental
package/bluez5_utils/bluez5_utils.mk line 30
Quoted 10 lines
package/bluez5_utils/bluez5_utils.mk new file +10
-0+endif + +# install gatttool (For some reason upstream choose not to do it by default) +define BLUEZ5_UTILS_INSTALL_GATTTOOL + $(INSTALL) -D -m 0755 $(@D)/attrib/gatttool $(TARGET_DIR)/usr/bin +endef + +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL),y) + BLUEZ5_UTILS_POST_INSTALL_TARGET_HOOKS += BLUEZ5_UTILS_INSTALL_GATTTOOL +endif
Documentation says:
"...keep hook definition and assignment together in one if block", so it should rather look like:
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL),y)
define BLUEZ5_UTILS_INSTALL_GATTTOOL
$(INSTALL) -D -m 0755 $(@D)/attrib/gatttool $(TARGET_DIR)/usr/bin
endef
BLUEZ5_UTILS_POST_INSTALL_TARGET_HOOKS += BLUEZ5_UTILS_INSTALL_GATTTOOL endif
See:
http://buildroot.uclibc.org/downloads/manual/manual.html#writing-rules-mk
Regards,
Jerzy
Quoted 25 lines
package/bluez5_utils/bluez5_utils.mk new file +25
-0+ +# enable test +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_TEST),y) + BLUEZ5_UTILS_CONF_OPT += --enable-test +else + BLUEZ5_UTILS_CONF_OPT += --disable-test +endif + +# use udev if available +ifeq ($(BR2_PACKAGE_UDEV),y) + BLUEZ5_UTILS_CONF_OPT += --enable-udev + BLUEZ5_UTILS_DEPENDENCIES += udev +else + BLUEZ5_UTILS_CONF_OPT += --disable-udev +endif + +# integrate with systemd if available +ifeq ($(BR2_PACKAGE_SYSTEMD),y) + BLUEZ5_UTILS_CONF_OPT += --enable-systemd + BLUEZ5_UTILS_DEPENDENCIES += systemd +else + BLUEZ5_UTILS_CONF_OPT += --disable-systemd +endif + +$(eval $(autotools-package))
PATCH v3 1/1 bluez5_utils: new package.
Hi
Thank you for comments.
I am resending patch in a moment with following fixes:
Quoted 4 lines
Documentation says:
"...keep hook definition and assignment together in one if block", so it should rather look like:
Quoted 8 lines
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL),y)
defineBLUEZ5_UTILS_INSTALL_GATTTOOL$(INSTALL) -D -m 0755 $(@D)/attrib/gatttool $(TARGET_DIR)/usr/binendef
BLUEZ5_UTILS_POST_INSTALL_TARGET_HOOKS+=BLUEZ5_UTILS_INSTALL_GATTTOOLendif
Done
Quoted 3 lines
Thanks a lot, but the patch should be in a separate e-mail. As you sent it, all your discussion answering Yann's comment would end up in the patch commit log.
It will be.
Quoted 1 line
Also your Signed-off-by line is missing.
Added
--
Marcin Bis
PATCH v4 1/1 bluez5_utils: new package
In reply to Jerzy GrzegorekThis patch adds Bluez 5.x.
API is not backwards compatible with BlueZ 4.x
BlueZ utils will use systemd and/or udev if enabled. Contains a hook for installing GATT support tool, wchich is always build but not installed by default.
--- package/Config.in | 1 + package/bluez5_utils/Config.in | 51 ++++++++++++++++++++++++++++++++ package/bluez5_utils/bluez5_utils.mk | 54 ++++++++++++++++++++++++++++++++++ 3 files changed, 106 insertions(+) create mode 100644 package/bluez5_utils/Config.in create mode 100644 package/bluez5_utils/bluez5_utils.mk
package/Config.in +1 -0
@@ -867,6 +867,7 @@ source "package/axel/Config.in" source "package/bcusdk/Config.in" source "package/bind/Config.in" source "package/bluez_utils/Config.in" +source "package/bluez5_utils/Config.in" source "package/bmon/Config.in" source "package/boa/Config.in" source "package/bridge-utils/Config.in"
package/bluez5_utils/Config.in new file +51 -0
51 lines not on this page · raw message
package/bluez5_utils/bluez5_utils.mk new file +54 -0
54 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH v4 1/1 bluez5_utils: new package
Hi Marcin,
Quoted 21 lines
This patch adds Bluez 5.x.
API is not backwards compatible with BlueZ 4.xBlueZ utils will use systemd and/or udev if enabled. Contains a hook for installing GATT support tool, wchich is always build but not installed by default.
Signed-off-by Marcin Bis <[email protected]>--- package/Config.in | 1 + package/bluez5_utils/Config.in | 51 ++++++++++++++++++++++++++++++++ package/bluez5_utils/bluez5_utils.mk | 54 ++++++++++++++++++++++++++++++++++ 3 files changed, 106 insertions(+)create mode 100644 package/bluez5_utils/Config.in create mode 100644
package/bluez5_utils/bluez5_utils.mkpackage/Config.in +0
-0
package/Config.in source "package/axel/Config.in" · line 870
Quoted 4 lines
package/Config.in +1
-0@@ -867,6 +867,7 @@ source "package/axel/Config.in" source "package/bcusdk/Config.in" source "package/bind/Config.in" source "package/bluez_utils/Config.in" +source "package/bluez5_utils/Config.in"
Add it in alphabetical order.
Quoted 84 lines
package/Config.in +0
-0source "package/bmon/Config.in" source "package/boa/Config.in" source "package/bridge-utils/Config.in"package/bluez5_utils/Config.in new file +51
-0@@ -0,0 +1,51 @@ +config BR2_PACKAGE_BLUEZ5_UTILS + bool "bluez-utils 5.x" + depends on !BR2_avr32 + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2 + depends on BR2_USE_MMU # dbus + depends on !BR2_PACKAGE_BLUEZ_UTILS # conflicts with 4.x version + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBICAL + select BR2_PACKAGE_READLINE + help + bluez utils version 5.x + + With this release BlueZ only supports the new Bluetooth Management + kernel interface (introduced in Linux 3.4). + For Low Energy support at least kernel version 3.5 is needed. + + The API is not backwards compatible with BlueZ 4. + + Bluez utils will use systemd and/or udev if enabled. + + http://www.bluez.org + http://www.kernel.org/pub/linux/bluetooth + +if BR2_PACKAGE_BLUEZ5_UTILS + +config BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL + bool "build experimental plugins" + help + Build BlueZ 5.x experimental plugins (SAP, NFC, ...). + +config BR2_PACKAGE_BLUEZ5_UTILS_TEST + bool "enable test" + help + Enable test. + +config BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL + bool "install GATT tool" + help + Generic Attribute Profile (GATT) support. This provides profile + discovery and description services for Bluetooth Low Energy. + This will install the gatttool utility. + + It is always build with BlueZ 5.x, but upstream choose not to install + it by default. + +endif + +comment "bluez5-utils needs a toolchain w/ wchar, threads" + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADSpackage/bluez5_utils/bluez5_utils.mk new file +18
-0@@ -0,0 +1,54 @@ +################################################################################ +# +# bluez5_utils +# +################################################################################ + +BLUEZ5_UTILS_VERSION = 5.16 +BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz +BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth +BLUEZ5_UTILS_INSTALL_STAGING = YES +BLUEZ5_UTILS_DEPENDENCIES = dbus libglib2 libical readline +BLUEZ5_UTILS_CONF_OPT = --enable-tools --enable-library +BLUEZ5_UTILS_LICENSE = GPLv2+ LGPLv2.1+ +BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB + +# experimental plugins +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL),y) + BLUEZ5_UTILS_CONF_OPT += --enable-experimental
package/bluez5_utils/bluez5_utils.mk line 28
Quoted 10 lines
package/bluez5_utils/bluez5_utils.mk new file +10
-0+else + BLUEZ5_UTILS_CONF_OPT += --disable-experimental +endif + +# install gatttool (For some reason upstream choose not to do it by default) +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL),y) +define BLUEZ5_UTILS_INSTALL_GATTTOOL + $(INSTALL) -D -m 0755 $(@D)/attrib/gatttool $(TARGET_DIR)/usr/bin +endef + BLUEZ5_UTILS_POST_INSTALL_TARGET_HOOKS += BLUEZ5_UTILS_INSTALL_GATTTOOL
This leading tab is unnecessary.
Regards,
Jerzy
Quoted 26 lines
package/bluez5_utils/bluez5_utils.mk new file +26
-0+endif + +# enable test +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_TEST),y) + BLUEZ5_UTILS_CONF_OPT += --enable-test +else + BLUEZ5_UTILS_CONF_OPT += --disable-test +endif + +# use udev if available +ifeq ($(BR2_PACKAGE_UDEV),y) + BLUEZ5_UTILS_CONF_OPT += --enable-udev + BLUEZ5_UTILS_DEPENDENCIES += udev +else + BLUEZ5_UTILS_CONF_OPT += --disable-udev +endif + +# integrate with systemd if available +ifeq ($(BR2_PACKAGE_SYSTEMD),y) + BLUEZ5_UTILS_CONF_OPT += --enable-systemd + BLUEZ5_UTILS_DEPENDENCIES += systemd +else + BLUEZ5_UTILS_CONF_OPT += --disable-systemd +endif + +$(eval $(autotools-package))
PATCH v4 1/1 bluez5_utils: new package
Quoted 9 lines · Jerzy Grzegorek
package/Config.in source "package/axel/Config.in" · line 870
Quoted 7 lines
package/Config.in +1
-0@@ -867,6 +867,7 @@ source "package/axel/Config.in" source "package/bcusdk/Config.in" source "package/bind/Config.in" source "package/bluez_utils/Config.in" +source "package/bluez5_utils/Config.in"Add it in alphabetical order.
Hmm? bluez5 > bluez, and we care about visual name there (how it shows up in *config).
Regards.
PATCH v4 1/1 bluez5_utils: new package
Hi Gustavo,
Quoted 10 lines · Jerzy Grzegorek
Quoted 9 lines
package/Config.in source "package/axel/Config.in" · line 870
Quoted 8 lines
package/Config.in +1
-0@@ -867,6 +867,7 @@ source "package/axel/Config.in" source "package/bcusdk/Config.in" source "package/bind/Config.in" source "package/bluez_utils/Config.in" +source "package/bluez5_utils/Config.in"Add it in alphabetical order.
Quoted 2 lines
Hmm? bluez5 > bluez, and we care about visual name there (how it shows up in *config).
Don't compare bluez5 with bluez.
Compare bluez5_utils with bluez_utils.
Regards,
Jerzy
Quoted 3 lines
Regards.
PATCH v4 1/1 bluez5_utils: new package
Quoted 8 lines · Jerzy Grzegorek
Quoted 2 lines
Hmm? bluez5 > bluez, and we care about visual name there (how it shows up in *config).
Don't compare bluez5 with bluez.
Comparebluez5_utilswithbluez_utils.Regards,
Jerzy
I know how sort works, i'm talking of common sense in this case. python is before python3, samba is before samba4 and so on, so in the bluez case the same would hold up, it's about context, not sort with lang=C. Regards.
PATCH v4 1/1 bluez5_utils: new package
Hi Gustavo, Marcin,
Quoted 7 lines · Jerzy Grzegorek
Quoted 6 lines
Quoted 3 lines
Hmm? bluez5 > bluez, and we care about visual name there (how it shows up in *config).
Don't compare bluez5 with bluez.
Comparebluez5_utilswithbluez_utils.
Quoted 6 lines
Quoted 2 lines
Regards,
JerzyI know how sort works, i'm talking of common sense in this case. python is before python3, samba is before samba4 and so on, so in the bluez case the same would hold up, it's about context, not sort with lang=C. Regards.
Gustavo: Ah, yes, right. Sorry for this and thanks for your clarification. Marcin: Sorry for the noise. Just don't take my comment into consideration.
Regards,
Jerzy
Quoted 2 lines
PATCH v4 1/1 bluez5_utils: new package
Hi Jerzy, Gustavo
Quoted 2 lines
Gustavo: Ah, yes, right. Sorry for this and thanks for your clarification. Marcin: Sorry for the noise. Just don't take my comment into consideration.
I am resending v5 of the patch.
- Order of packages in Config.in - not changed
- Unnecessary. leading tab removed.
- I added a comment, so bluez5_utils will not completely disappear from menuconfig if bluez_utils is selected.
--
Marcin Bis
PATCH v5 1/1 bluez5_utils: new package
In reply to Jerzy GrzegorekThis patch adds Bluez 5.x.
API is not backwards compatible with BlueZ 4.x
BlueZ utils will use systemd and/or udev if enabled. Contains a hook for installing GATT support tool, wchich is always build but not installed by default.
--- package/Config.in | 1 + package/bluez5_utils/Config.in | 54 ++++++++++++++++++++++++++++++++++ package/bluez5_utils/bluez5_utils.mk | 54 ++++++++++++++++++++++++++++++++++ 3 files changed, 109 insertions(+) create mode 100644 package/bluez5_utils/Config.in create mode 100644 package/bluez5_utils/bluez5_utils.mk
package/Config.in +1 -0
@@ -876,6 +876,7 @@ source "package/axel/Config.in" source "package/bcusdk/Config.in" source "package/bind/Config.in" source "package/bluez_utils/Config.in" +source "package/bluez5_utils/Config.in" source "package/bmon/Config.in" source "package/boa/Config.in" source "package/bridge-utils/Config.in"
package/bluez5_utils/Config.in new file +54 -0
54 lines not on this page · raw message
package/bluez5_utils/bluez5_utils.mk new file +54 -0
54 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH v5 1/1 bluez5_utils: new package
Dear Marcin Bis,
Quoted 2 lines · Marcin Bis
This patch adds Bluez 5.x.
API is not backwards compatible with BlueZ 4.x
... so it is packaged as a separate package.
Quoted 2 lines
BlueZ utils will use systemd and/or udev if enabled. Contains a hook for installing GATT support tool, wchich is always
which
Quoted 1 line
build but not installed by default.
build -> built
Quoted 12 lines
package/bluez5_utils/Config.in new file +6
-0@@ -0,0 +1,54 @@ +config BR2_PACKAGE_BLUEZ5_UTILS + bool "bluez-utils 5.x" + depends on !BR2_avr32 + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2 + depends on BR2_USE_MMU # dbus
package/bluez5_utils/Config.in line 16
Quoted 10 lines
package/bluez5_utils/Config.in new file +10
-0+ depends on !BR2_PACKAGE_BLUEZ_UTILS # conflicts with 4.x version + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBICAL + select BR2_PACKAGE_READLINE + help + bluez utils version 5.x + + With this release BlueZ only supports the new Bluetooth Management + kernel interface (introduced in Linux 3.4).
Does it need kernel headers >= 3.4 ?
package/bluez5_utils/Config.in line 20
Quoted 4 lines
package/bluez5_utils/Config.in new file +4
-0+# install gatttool (For some reason upstream choose not to do it by default) +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL),y) +define BLUEZ5_UTILS_INSTALL_GATTTOOL + $(INSTALL) -D -m 0755 $(@D)/attrib/gatttool $(TARGET_DIR)/usr/bin
The destination path should be a full path, i.e:
$(TARGET_DIR)/usr/bin/gatttool
package/bluez5_utils/Config.in line 22
Quoted 2 lines
package/bluez5_utils/Config.in new file +2
-0+# use udev if available +ifeq ($(BR2_PACKAGE_UDEV),y)
You should instead rely on BR2_PACKAGE_HAS_UDEV, so that it works with both eudev, or the udev built into systemd.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v5 1/1 bluez5_utils: new package
Hi Thomas
Quoted 18 lines · Thomas Petazzoni
Dear Marcin Bis,
Quoted 16 lines
package/bluez5_utils/Config.in new file +10
-0@@ -0,0 +1,54 @@ +config BR2_PACKAGE_BLUEZ5_UTILS + bool "bluez-utils 5.x" + depends on !BR2_avr32 + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2 + depends on BR2_USE_MMU # dbus + depends on !BR2_PACKAGE_BLUEZ_UTILS # conflicts with 4.x version + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBICAL
Quoted 8 lines
package/bluez5_utils/Config.in line 16
Quoted 6 lines
package/bluez5_utils/Config.in new file +6
-0+ select BR2_PACKAGE_READLINE + help + bluez utils version 5.x + + With this release BlueZ only supports the new Bluetooth Management + kernel interface (introduced in Linux 3.4).Does it need kernel headers >= 3.4 ?
I am checking this.
It seems that it needs kernel >= 3.4 for BLE.
In older kernels BLE wont work, but older Bluetooth spec. should.
Quoted 8 lines
package/bluez5_utils/Config.in line 20
Quoted 4 lines
package/bluez5_utils/Config.in new file +4
-0+# install gatttool (For some reason upstream choose not to do it by default) +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL),y) +define BLUEZ5_UTILS_INSTALL_GATTTOOL + $(INSTALL) -D -m 0755 $(@D)/attrib/gatttool $(TARGET_DIR)/usr/binThe destination path should be a full path, i.e:
$(TARGET_DIR)/usr/bin/gatttool
OK
Quoted 5 lines
package/bluez5_utils/Config.in line 22
Quoted 2 lines
package/bluez5_utils/Config.in new file +2
-0+# use udev if available +ifeq ($(BR2_PACKAGE_UDEV),y)You should instead rely on
BR2_PACKAGE_HAS_UDEV, so that it works with both eudev, or the udev built into systemd.
OK
I will fix it over the weekend.
--
Marcin Bis
PATCH v5 1/1 bluez5_utils: new package
In reply to Marcin BisDear Marcin Bis,
Quoted 7 lines · Marcin Bis
This patch adds Bluez 5.x.
API is not backwards compatible with BlueZ 4.xBlueZ utils will use systemd and/or udev if enabled. Contains a hook for installing GATT support tool, wchich is always build but not installed by default.
Quoted 8 lines
Signed-off-by Marcin Bis <[email protected]>--- package/Config.in | 1 + package/bluez5_utils/Config.in | 54 ++++++++++++++++++++++++++++++++++ package/bluez5_utils/bluez5_utils.mk | 54 ++++++++++++++++++++++++++++++++++ 3 files changed, 109 insertions(+) create mode 100644 package/bluez5_utils/Config.in create mode 100644 package/bluez5_utils/bluez5_utils.mk
I've applied your patch, after making a number of changes:
[Thomas:
- Add dependency on 3.4 kernel headers
- Add options for OBEX support and client support, to make the libical and readline dependencies optional.
- Rewrap Config.in help text.
- Adapt indentation in .mk file.
- Bump to version 5.21.
- Use BR2_PACKAGE_HAS_UDEV instead of BR2_PACKAGE_UDEV.]
It would be great if you could test the latest master and confirm that it works for you.
Thanks a lot for this contribution!
Thomas Petazzoni
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v4 1/1 bluez5_utils: new package
In reply to Jerzy GrzegorekQuoted 8 lines · Jerzy Grzegorek
Quoted 2 lines
Hmm? bluez5 > bluez, and we care about visual name there (how it shows up in *config).
Don't compare bluez5 with bluez.
Comparebluez5_utilswithbluez_utils.Regards,
Jerzy
Let me put it in exmaples, what if i make/add packages named bluezbeam, bluezhack and a dozen more?
Regards.