From a345d7d9c696ec8a5232be8de8f6989c822a3c41 Mon Sep 17 00:00:00 2001 From: "ziv.xu" Date: Fri, 7 Apr 2023 15:28:06 +0800 Subject: [PATCH] bluez5_utils:replace bluez version replace bluez version Signed-off-by: ziv.xu --- ...-tools-mesh-cfgtest-include-limits.h.patch | 33 ------- package/bluez5_utils/Config.in | 95 ++++++------------- package/bluez5_utils/S40bluetooth | 61 ------------ package/bluez5_utils/bluez5_utils.hash | 3 +- package/bluez5_utils/bluez5_utils.mk | 61 ++---------- 5 files changed, 37 insertions(+), 216 deletions(-) delete mode 100644 package/bluez5_utils/0001-tools-mesh-cfgtest-include-limits.h.patch delete mode 100755 package/bluez5_utils/S40bluetooth diff --git a/package/bluez5_utils/0001-tools-mesh-cfgtest-include-limits.h.patch b/package/bluez5_utils/0001-tools-mesh-cfgtest-include-limits.h.patch deleted file mode 100644 index 26c7f85e..00000000 --- a/package/bluez5_utils/0001-tools-mesh-cfgtest-include-limits.h.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 5158827fded7cb4daf550a5956aff0c74f6c38fc Mon Sep 17 00:00:00 2001 -From: Michael Nosthoff -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 ---- - 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 - #include - #include -+#include - #include - #include - #include --- -2.32.0 - diff --git a/package/bluez5_utils/Config.in b/package/bluez5_utils/Config.in index 2eea8c7c..016a16c4 100644 --- a/package/bluez5_utils/Config.in +++ b/package/bluez5_utils/Config.in @@ -1,5 +1,5 @@ config BR2_PACKAGE_BLUEZ5_UTILS - bool "bluez-utils" + bool "bluez-utils 5.x" depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2 depends on BR2_USE_MMU # dbus @@ -9,12 +9,17 @@ config BR2_PACKAGE_BLUEZ5_UTILS select BR2_PACKAGE_DBUS select BR2_PACKAGE_LIBGLIB2 help - BlueZ utils + bluez utils version 5.x - Provides Stack, Library and Tooling for Bluetooth Classic - and Bluetooth LE. + With this release BlueZ only supports the new Bluetooth + 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.kernel.org/pub/linux/bluetooth @@ -26,7 +31,7 @@ config BR2_PACKAGE_BLUEZ5_UTILS_OBEX depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_LIBICAL help - Enable OBEX support. + Enable the OBEX support in Bluez 5.x. comment "OBEX support needs a toolchain w/ C++" depends on !BR2_INSTALL_LIBSTDCPP @@ -35,117 +40,75 @@ config BR2_PACKAGE_BLUEZ5_UTILS_CLIENT bool "build CLI client" select BR2_PACKAGE_READLINE help - Build the command line client "bluetoothctl". - -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. + Enable the Bluez 5.x command line client. config BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED - bool "install deprecated tools" - depends on BR2_PACKAGE_BLUEZ5_UTILS_CLIENT || BR2_PACKAGE_BLUEZ5_UTILS_TOOLS + bool "install deprecated tool" + depends on BR2_PACKAGE_BLUEZ5_UTILS_CLIENT help - Build deprecated tools. - - When "build tools" is selected these tools are installed: + Build BlueZ 5.x deprecated tools. These currently include: hciattach, hciconfig, hcitool, hcidump, rfcomm, sdptool, - ciptool. - - When CLI client is enabled "gatttool" is installed. + ciptool, gatttool. config BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL - bool "build experimental tools" + bool "build experimental obexd plugin" help - Build experimental tools. This is currently only the - "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). + Build BlueZ 5.x experimental Nokia OBEX PC Suite plugin config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH bool "build health plugin" help - Build plugin for health profiles. - -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. + Build BlueZ 5.x health plugin 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 select BR2_PACKAGE_ELL select BR2_PACKAGE_JSON_C select BR2_PACKAGE_READLINE help - Build plugin for Mesh support. + Build BlueZ 5.x mesh plugin comment "mesh profile needs a toolchain w/ headers >= 4.12" depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 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_SEQ help - Build MIDI support via ALSA sequencer. - -config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NETWORK - bool "build network plugin" - default y - help - Build plugin for PANU, NAP, GN profiles. + Build BlueZ 5.x midi plugin config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC bool "build nfc plugin" help - Build plugin for NFC pairing. + Build BlueZ 5.x nfc plugin config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP bool "build sap plugin" help - Build plugin for SAP profile. + Build BlueZ 5.x sap plugin config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS bool "build sixaxis plugin" depends on BR2_PACKAGE_HAS_UDEV - select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID # runtime help - Build sixaxis plugin (support Sony Dualshock + Build BlueZ 5.x sixaxis plugin (support Sony Dualshock controller) comment "sixaxis plugin needs udev /dev management" depends on !BR2_PACKAGE_HAS_UDEV config BR2_PACKAGE_BLUEZ5_UTILS_TEST - bool "install test scripts" + bool "build tests" help - Install the python test scripts from the "test" directory. + Build BlueZ 5.x tests config BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI bool "build hid2hci tool" depends on BR2_PACKAGE_HAS_UDEV - select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID # runtime - select BR2_PACKAGE_BLUEZ5_UTILS_TOOLS help - Build hid2hci tool + Build BlueZ 5.x hid2hci tool comment "hid2hci tool needs udev /dev management" depends on !BR2_PACKAGE_HAS_UDEV diff --git a/package/bluez5_utils/S40bluetooth b/package/bluez5_utils/S40bluetooth deleted file mode 100755 index ee4abe8b..00000000 --- a/package/bluez5_utils/S40bluetooth +++ /dev/null @@ -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 diff --git a/package/bluez5_utils/bluez5_utils.hash b/package/bluez5_utils/bluez5_utils.hash index 3ec4acac..d0f3b805 100644 --- a/package/bluez5_utils/bluez5_utils.hash +++ b/package/bluez5_utils/bluez5_utils.hash @@ -1,5 +1,4 @@ # From https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc: -sha256 38090a5b750e17fc08d3e52178ed8d3254c5f4bd2c48830d5c1955b88e3bc0c2 bluez-5.62.tar.xz -# Locally computed +sha256 8863717113c4897e2ad3271fc808ea245319e6fd95eed2e934fae8e0894e9b88 bluez-5.55.tar.xz sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING.LIB diff --git a/package/bluez5_utils/bluez5_utils.mk b/package/bluez5_utils/bluez5_utils.mk index cf46d6e0..7d05c298 100644 --- a/package/bluez5_utils/bluez5_utils.mk +++ b/package/bluez5_utils/bluez5_utils.mk @@ -5,14 +5,12 @@ ################################################################################ # 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_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth BLUEZ5_UTILS_INSTALL_STAGING = YES BLUEZ5_UTILS_LICENSE = GPL-2.0+, LGPL-2.1+ BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB -BLUEZ5_UTILS_CPE_ID_VENDOR = bluez -BLUEZ5_UTILS_CPE_ID_PRODUCT = bluez BLUEZ5_UTILS_DEPENDENCIES = \ $(if $(BR2_PACKAGE_BLUEZ5_UTILS_HEADERS),bluez5_utils-headers) \ @@ -20,9 +18,9 @@ BLUEZ5_UTILS_DEPENDENCIES = \ libglib2 BLUEZ5_UTILS_CONF_OPTS = \ + --enable-tools \ --enable-library \ --disable-cups \ - --disable-manpages \ --with-dbusconfdir=/etc ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_OBEX),y) @@ -33,24 +31,16 @@ BLUEZ5_UTILS_CONF_OPTS += --disable-obex endif 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_DEPENDENCIES += readline else BLUEZ5_UTILS_CONF_OPTS += --disable-client 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 ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL),y) BLUEZ5_UTILS_CONF_OPTS += --enable-experimental @@ -58,13 +48,6 @@ else BLUEZ5_UTILS_CONF_OPTS += --disable-experimental 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 ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH),y) BLUEZ5_UTILS_CONF_OPTS += --enable-health @@ -72,20 +55,6 @@ else BLUEZ5_UTILS_CONF_OPTS += --disable-health 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 ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH),y) BLUEZ5_UTILS_CONF_OPTS += --enable-external-ell --enable-mesh @@ -102,13 +71,6 @@ else BLUEZ5_UTILS_CONF_OPTS += --disable-midi 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 ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC),y) BLUEZ5_UTILS_CONF_OPTS += --enable-nfc @@ -130,16 +92,12 @@ else BLUEZ5_UTILS_CONF_OPTS += --disable-sixaxis endif -ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED),y) # 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_CLIENT),y) +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED),y) define BLUEZ5_UTILS_INSTALL_GATTTOOL $(INSTALL) -D -m 0755 $(@D)/attrib/gatttool $(TARGET_DIR)/usr/bin/gatttool endef BLUEZ5_UTILS_POST_INSTALL_TARGET_HOOKS += BLUEZ5_UTILS_INSTALL_GATTTOOL -endif - # hciattach_bcm43xx defines default firmware path in `/etc/firmware`, but # Broadcom firmware blobs are usually located in `/lib/firmware`. BLUEZ5_UTILS_CONF_ENV += \ @@ -179,9 +137,4 @@ else BLUEZ5_UTILS_CONF_OPTS += --disable-systemd 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))