bluez5_utils:replace bluez version

replace bluez version

Signed-off-by: ziv.xu <ziv.xu@starfive.com>
This commit is contained in:
ziv.xu
2023-04-07 15:28:06 +08:00
committed by Andy Hu
parent 1824bba224
commit a345d7d9c6
5 changed files with 37 additions and 216 deletions
@@ -1,33 +0,0 @@
From 5158827fded7cb4daf550a5956aff0c74f6c38fc Mon Sep 17 00:00:00 2001
From: Michael Nosthoff <bluez@heine.tech>
Date: Thu, 22 Jul 2021 21:36:13 +0200
Subject: [PATCH BlueZ] tools/mesh-cfgtest: include limits.h
mesh-cfgtest.c uses PATH_MAX so it should include limits.h.
fixes compilation error when enabling mesh support with musl-based
toolchains observed in buildroot autobuilders.
http://autobuild.buildroot.net/results/20cc47f54de0b0d4bdf108c3715c590ae8ab476f/
http://autobuild.buildroot.net/results/003968b25906579dbcf5a95d1e43fec0ab504ef5/
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
---
tools/mesh-cfgtest.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/mesh-cfgtest.c b/tools/mesh-cfgtest.c
index fa0474faa..116ab7f16 100644
--- a/tools/mesh-cfgtest.c
+++ b/tools/mesh-cfgtest.c
@@ -21,6 +21,7 @@
#include <ftw.h>
#include <getopt.h>
#include <libgen.h>
+#include <limits.h>
#include <signal.h>
#include <stdio.h>
#include <time.h>
--
2.32.0
+29 -66
View File
@@ -1,5 +1,5 @@
config BR2_PACKAGE_BLUEZ5_UTILS config BR2_PACKAGE_BLUEZ5_UTILS
bool "bluez-utils" bool "bluez-utils 5.x"
depends on BR2_USE_WCHAR # libglib2 depends on BR2_USE_WCHAR # libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2
depends on BR2_USE_MMU # dbus depends on BR2_USE_MMU # dbus
@@ -9,12 +9,17 @@ config BR2_PACKAGE_BLUEZ5_UTILS
select BR2_PACKAGE_DBUS select BR2_PACKAGE_DBUS
select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBGLIB2
help help
BlueZ utils bluez utils version 5.x
Provides Stack, Library and Tooling for Bluetooth Classic With this release BlueZ only supports the new Bluetooth
and Bluetooth LE. Management kernel interface (introduced in Linux 3.4).
BlueZ utils will use systemd and/or udev if enabled. For Low Energy support at least kernel version 3.5 is
needed.
The API is not backward compatible with BlueZ 4.
Bluez utils will use systemd and/or udev if enabled.
http://www.bluez.org http://www.bluez.org
http://www.kernel.org/pub/linux/bluetooth http://www.kernel.org/pub/linux/bluetooth
@@ -26,7 +31,7 @@ config BR2_PACKAGE_BLUEZ5_UTILS_OBEX
depends on BR2_INSTALL_LIBSTDCPP depends on BR2_INSTALL_LIBSTDCPP
select BR2_PACKAGE_LIBICAL select BR2_PACKAGE_LIBICAL
help help
Enable OBEX support. Enable the OBEX support in Bluez 5.x.
comment "OBEX support needs a toolchain w/ C++" comment "OBEX support needs a toolchain w/ C++"
depends on !BR2_INSTALL_LIBSTDCPP depends on !BR2_INSTALL_LIBSTDCPP
@@ -35,117 +40,75 @@ config BR2_PACKAGE_BLUEZ5_UTILS_CLIENT
bool "build CLI client" bool "build CLI client"
select BR2_PACKAGE_READLINE select BR2_PACKAGE_READLINE
help help
Build the command line client "bluetoothctl". Enable the Bluez 5.x command line client.
config BR2_PACKAGE_BLUEZ5_UTILS_MONITOR
bool "build monitor utility"
help
Build monitor utility btmon.
config BR2_PACKAGE_BLUEZ5_UTILS_TOOLS
bool "build tools"
help
Build tools like bluemoon, btattach, hex2hcd, l2test,
l2ping, mpris-proxy, rctest.
config BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED config BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED
bool "install deprecated tools" bool "install deprecated tool"
depends on BR2_PACKAGE_BLUEZ5_UTILS_CLIENT || BR2_PACKAGE_BLUEZ5_UTILS_TOOLS depends on BR2_PACKAGE_BLUEZ5_UTILS_CLIENT
help help
Build deprecated tools. Build BlueZ 5.x deprecated tools. These currently include:
When "build tools" is selected these tools are installed:
hciattach, hciconfig, hcitool, hcidump, rfcomm, sdptool, hciattach, hciconfig, hcitool, hcidump, rfcomm, sdptool,
ciptool. ciptool, gatttool.
When CLI client is enabled "gatttool" is installed.
config BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL config BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL
bool "build experimental tools" bool "build experimental obexd plugin"
help help
Build experimental tools. This is currently only the Build BlueZ 5.x experimental Nokia OBEX PC Suite plugin
"Nokia OBEX PC Suite tool". So, only if OBEX support is
enabled this option has an effect.
config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO
bool "build audio plugins (a2dp and avrcp)"
help
Build plugins for audio profiles (for A2DP and AVRCP).
config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH
bool "build health plugin" bool "build health plugin"
help help
Build plugin for health profiles. Build BlueZ 5.x health plugin
config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID
bool "build hid plugin"
select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG
help
Build plugin for HID (input) profiles.
config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG
bool "build hog plugin"
help
Build plugin for HoG (input) profiles.
config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH
bool "build mesh plugin" bool "build mesh profile"
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 # ell depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 # ell
select BR2_PACKAGE_ELL select BR2_PACKAGE_ELL
select BR2_PACKAGE_JSON_C select BR2_PACKAGE_JSON_C
select BR2_PACKAGE_READLINE select BR2_PACKAGE_READLINE
help help
Build plugin for Mesh support. Build BlueZ 5.x mesh plugin
comment "mesh profile needs a toolchain w/ headers >= 4.12" comment "mesh profile needs a toolchain w/ headers >= 4.12"
depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12
config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI
bool "build midi plugin" bool "build midi profile"
select BR2_PACKAGE_ALSA_LIB select BR2_PACKAGE_ALSA_LIB
select BR2_PACKAGE_ALSA_LIB_SEQ select BR2_PACKAGE_ALSA_LIB_SEQ
help help
Build MIDI support via ALSA sequencer. Build BlueZ 5.x midi plugin
config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NETWORK
bool "build network plugin"
default y
help
Build plugin for PANU, NAP, GN profiles.
config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC
bool "build nfc plugin" bool "build nfc plugin"
help help
Build plugin for NFC pairing. Build BlueZ 5.x nfc plugin
config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP
bool "build sap plugin" bool "build sap plugin"
help help
Build plugin for SAP profile. Build BlueZ 5.x sap plugin
config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS
bool "build sixaxis plugin" bool "build sixaxis plugin"
depends on BR2_PACKAGE_HAS_UDEV depends on BR2_PACKAGE_HAS_UDEV
select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID # runtime
help help
Build sixaxis plugin (support Sony Dualshock Build BlueZ 5.x sixaxis plugin (support Sony Dualshock
controller) controller)
comment "sixaxis plugin needs udev /dev management" comment "sixaxis plugin needs udev /dev management"
depends on !BR2_PACKAGE_HAS_UDEV depends on !BR2_PACKAGE_HAS_UDEV
config BR2_PACKAGE_BLUEZ5_UTILS_TEST config BR2_PACKAGE_BLUEZ5_UTILS_TEST
bool "install test scripts" bool "build tests"
help help
Install the python test scripts from the "test" directory. Build BlueZ 5.x tests
config BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI config BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI
bool "build hid2hci tool" bool "build hid2hci tool"
depends on BR2_PACKAGE_HAS_UDEV depends on BR2_PACKAGE_HAS_UDEV
select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID # runtime
select BR2_PACKAGE_BLUEZ5_UTILS_TOOLS
help help
Build hid2hci tool Build BlueZ 5.x hid2hci tool
comment "hid2hci tool needs udev /dev management" comment "hid2hci tool needs udev /dev management"
depends on !BR2_PACKAGE_HAS_UDEV depends on !BR2_PACKAGE_HAS_UDEV
-61
View File
@@ -1,61 +0,0 @@
#!/bin/sh
DAEMON="bluetoothd"
PIDFILE="/var/run/$DAEMON.pid"
BLUETOOTHD_ARGS="-n"
# shellcheck source=/dev/null
[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
start() {
printf 'Starting %s: ' "$DAEMON"
# shellcheck disable=SC2086 # we need the word splitting
start-stop-daemon -S -q -m -b -p "$PIDFILE" -x "/usr/libexec/bluetooth/$DAEMON" \
-- $BLUETOOTHD_ARGS
status=$?
if [ "$status" -eq 0 ]; then
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
stop() {
printf 'Stopping %s: ' "$DAEMON"
start-stop-daemon -K -q -p "$PIDFILE"
status=$?
if [ "$status" -eq 0 ]; then
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
restart() {
stop
sleep 1
start
}
reload() {
printf 'Reloading %s: ' "$DAEMON"
start-stop-daemon -K -s HUP -q -p "$PIDFILE"
status=$?
if [ "$status" -eq 0 ]; then
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
case "$1" in
start|stop|restart|reload)
"$1";;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac
+1 -2
View File
@@ -1,5 +1,4 @@
# From https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc: # From https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc:
sha256 38090a5b750e17fc08d3e52178ed8d3254c5f4bd2c48830d5c1955b88e3bc0c2 bluez-5.62.tar.xz sha256 8863717113c4897e2ad3271fc808ea245319e6fd95eed2e934fae8e0894e9b88 bluez-5.55.tar.xz
# Locally computed
sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING
sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING.LIB sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING.LIB
+7 -54
View File
@@ -5,14 +5,12 @@
################################################################################ ################################################################################
# Keep the version and patches in sync with bluez5_utils-headers # Keep the version and patches in sync with bluez5_utils-headers
BLUEZ5_UTILS_VERSION = 5.62 BLUEZ5_UTILS_VERSION = 5.55
BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz
BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth
BLUEZ5_UTILS_INSTALL_STAGING = YES BLUEZ5_UTILS_INSTALL_STAGING = YES
BLUEZ5_UTILS_LICENSE = GPL-2.0+, LGPL-2.1+ BLUEZ5_UTILS_LICENSE = GPL-2.0+, LGPL-2.1+
BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB
BLUEZ5_UTILS_CPE_ID_VENDOR = bluez
BLUEZ5_UTILS_CPE_ID_PRODUCT = bluez
BLUEZ5_UTILS_DEPENDENCIES = \ BLUEZ5_UTILS_DEPENDENCIES = \
$(if $(BR2_PACKAGE_BLUEZ5_UTILS_HEADERS),bluez5_utils-headers) \ $(if $(BR2_PACKAGE_BLUEZ5_UTILS_HEADERS),bluez5_utils-headers) \
@@ -20,9 +18,9 @@ BLUEZ5_UTILS_DEPENDENCIES = \
libglib2 libglib2
BLUEZ5_UTILS_CONF_OPTS = \ BLUEZ5_UTILS_CONF_OPTS = \
--enable-tools \
--enable-library \ --enable-library \
--disable-cups \ --disable-cups \
--disable-manpages \
--with-dbusconfdir=/etc --with-dbusconfdir=/etc
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_OBEX),y) ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_OBEX),y)
@@ -33,24 +31,16 @@ BLUEZ5_UTILS_CONF_OPTS += --disable-obex
endif endif
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_CLIENT),y) ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_CLIENT),y)
define BLUEZ5_UTILS_INSTALL_BTD
$(INSTALL) -D -m 0755 $(@D)/src/bluetoothd $(TARGET_DIR)/usr/bin/bluetoothd
endef
BLUEZ5_UTILS_POST_INSTALL_TARGET_HOOKS += BLUEZ5_UTILS_INSTALL_BTD
BLUEZ5_UTILS_CONF_OPTS += --enable-client BLUEZ5_UTILS_CONF_OPTS += --enable-client
BLUEZ5_UTILS_DEPENDENCIES += readline BLUEZ5_UTILS_DEPENDENCIES += readline
else else
BLUEZ5_UTILS_CONF_OPTS += --disable-client BLUEZ5_UTILS_CONF_OPTS += --disable-client
endif endif
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_MONITOR),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-monitor
else
BLUEZ5_UTILS_CONF_OPTS += --disable-monitor
endif
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_TOOLS),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-tools
else
BLUEZ5_UTILS_CONF_OPTS += --disable-tools
endif
# experimental plugins # experimental plugins
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL),y) ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-experimental BLUEZ5_UTILS_CONF_OPTS += --enable-experimental
@@ -58,13 +48,6 @@ else
BLUEZ5_UTILS_CONF_OPTS += --disable-experimental BLUEZ5_UTILS_CONF_OPTS += --disable-experimental
endif endif
# enable audio plugins (a2dp and avrcp)
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-a2dp --enable-avrcp
else
BLUEZ5_UTILS_CONF_OPTS += --disable-a2dp --disable-avrcp
endif
# enable health plugin # enable health plugin
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH),y) ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-health BLUEZ5_UTILS_CONF_OPTS += --enable-health
@@ -72,20 +55,6 @@ else
BLUEZ5_UTILS_CONF_OPTS += --disable-health BLUEZ5_UTILS_CONF_OPTS += --disable-health
endif endif
# enable hid plugin
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-hid
else
BLUEZ5_UTILS_CONF_OPTS += --disable-hid
endif
# enable hog plugin
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-hog
else
BLUEZ5_UTILS_CONF_OPTS += --disable-hog
endif
# enable mesh profile # enable mesh profile
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH),y) ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-external-ell --enable-mesh BLUEZ5_UTILS_CONF_OPTS += --enable-external-ell --enable-mesh
@@ -102,13 +71,6 @@ else
BLUEZ5_UTILS_CONF_OPTS += --disable-midi BLUEZ5_UTILS_CONF_OPTS += --disable-midi
endif endif
# enable network plugin
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NETWORK),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-network
else
BLUEZ5_UTILS_CONF_OPTS += --disable-network
endif
# enable nfc plugin # enable nfc plugin
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC),y) ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-nfc BLUEZ5_UTILS_CONF_OPTS += --enable-nfc
@@ -130,16 +92,12 @@ else
BLUEZ5_UTILS_CONF_OPTS += --disable-sixaxis BLUEZ5_UTILS_CONF_OPTS += --disable-sixaxis
endif endif
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED),y)
# install gatttool (For some reason upstream choose not to do it by default) # install gatttool (For some reason upstream choose not to do it by default)
# gattool depends on the client for readline ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED),y)
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_CLIENT),y)
define BLUEZ5_UTILS_INSTALL_GATTTOOL define BLUEZ5_UTILS_INSTALL_GATTTOOL
$(INSTALL) -D -m 0755 $(@D)/attrib/gatttool $(TARGET_DIR)/usr/bin/gatttool $(INSTALL) -D -m 0755 $(@D)/attrib/gatttool $(TARGET_DIR)/usr/bin/gatttool
endef endef
BLUEZ5_UTILS_POST_INSTALL_TARGET_HOOKS += BLUEZ5_UTILS_INSTALL_GATTTOOL BLUEZ5_UTILS_POST_INSTALL_TARGET_HOOKS += BLUEZ5_UTILS_INSTALL_GATTTOOL
endif
# hciattach_bcm43xx defines default firmware path in `/etc/firmware`, but # hciattach_bcm43xx defines default firmware path in `/etc/firmware`, but
# Broadcom firmware blobs are usually located in `/lib/firmware`. # Broadcom firmware blobs are usually located in `/lib/firmware`.
BLUEZ5_UTILS_CONF_ENV += \ BLUEZ5_UTILS_CONF_ENV += \
@@ -179,9 +137,4 @@ else
BLUEZ5_UTILS_CONF_OPTS += --disable-systemd BLUEZ5_UTILS_CONF_OPTS += --disable-systemd
endif endif
define BLUEZ5_UTILS_INSTALL_INIT_SYSV
$(INSTALL) -m 0755 -D package/bluez5_utils/S40bluetooth \
$(TARGET_DIR)/etc/init.d/S40bluetooth
endef
$(eval $(autotools-package)) $(eval $(autotools-package))