From b8526afd0e12bf6affe41e30679150ce124aa642 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Mon, 7 Sep 2020 21:38:36 +0700 Subject: [PATCH] bluez: update to 5.55. - Drop PATCH 0009 since it's applied https://www.spinics.net/lists/linux-bluetooth/msg75105.html and improved afterward: https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=37a30b5435a45c3f8e233309fc70fc7de92b2e76 --- ...04-include-sys-time.h-for-musl-build.patch | 13 ----- ...fresh-adv_manager-for-non-LE-devices.patch | 51 ------------------- srcpkgs/bluez/template | 6 +-- 3 files changed, 3 insertions(+), 67 deletions(-) delete mode 100644 srcpkgs/bluez/patches/0009-adapter-Don-t-refresh-adv_manager-for-non-LE-devices.patch diff --git a/srcpkgs/bluez/patches/0004-include-sys-time.h-for-musl-build.patch b/srcpkgs/bluez/patches/0004-include-sys-time.h-for-musl-build.patch index baad11f2201..f2e5a4ace6e 100644 --- a/srcpkgs/bluez/patches/0004-include-sys-time.h-for-musl-build.patch +++ b/srcpkgs/bluez/patches/0004-include-sys-time.h-for-musl-build.patch @@ -75,19 +75,6 @@ index 6d2f86b6d..1eef01eee 100644 #include #include "mesh/mesh-io.h" -diff --git a/mesh/net.c b/mesh/net.c -index ec05b6be9..1d71a55b2 100644 ---- a/mesh/net.c -+++ b/mesh/net.c -@@ -22,7 +22,7 @@ - #endif - - #define _GNU_SOURCE -- -+#include - #include - - #include "mesh/mesh-defs.h" diff --git a/mesh/pb-adv.c b/mesh/pb-adv.c index 6ef45b8b0..797ff9da7 100644 --- a/mesh/pb-adv.c diff --git a/srcpkgs/bluez/patches/0009-adapter-Don-t-refresh-adv_manager-for-non-LE-devices.patch b/srcpkgs/bluez/patches/0009-adapter-Don-t-refresh-adv_manager-for-non-LE-devices.patch deleted file mode 100644 index b78dd879800..00000000000 --- a/srcpkgs/bluez/patches/0009-adapter-Don-t-refresh-adv_manager-for-non-LE-devices.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 3b357802d24ae4f918a1b001b6930280909ef87e Mon Sep 17 00:00:00 2001 -From: "antoine.belvire@laposte.net" -Date: Tue, 27 Mar 2018 20:30:26 +0200 -Subject: [PATCH 9/9] adapter: Don't refresh adv_manager for non-LE devices - -btd_adv_manager_refresh is called upon MGMT_SETTING_DISCOVERABLE setting change -but as only LE adapters have an adv_manager, this leads to segmentation fault -for non-LE devices: - -0 btd_adv_manager_refresh (manager=0x0) at src/advertising.c:1176 -1 0x0000556fe45fcb02 in settings_changed (settings=, - adapter=0x556fe53f7c70) at src/adapter.c:543 -2 new_settings_callback (index=, length=, - param=, user_data=0x556fe53f7c70) at src/adapter.c:573 -3 0x0000556fe462c278 in request_complete (mgmt=mgmt@entry=0x556fe53f20c0, - status=, opcode=opcode@entry=7, index=index@entry=0, - length=length@entry=4, param=0x556fe53eb5f9) at src/shared/mgmt.c:261 -4 0x0000556fe462cd9d in can_read_data (io=, - user_data=0x556fe53f20c0) at src/shared/mgmt.c:353 -5 0x0000556fe46396e3 in watch_callback (channel=, - cond=, user_data=) - at src/shared/io-glib.c:170 -6 0x00007fe351c980e5 in g_main_context_dispatch () - from /usr/lib64/libglib-2.0.so.0 -7 0x00007fe351c984b0 in ?? () from /usr/lib64/libglib-2.0.so.0 -8 0x00007fe351c987c2 in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0 -9 0x0000556fe45abc75 in main (argc=, argv=) - at src/main.c:770 - -This commit prevents the call to btd_adv_manager_refresh for non-LE devices. ---- - src/adapter.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/adapter.c b/src/adapter.c -index cef25616f..17018ecac 100644 ---- a/src/adapter.c -+++ b/src/adapter.c -@@ -546,7 +546,8 @@ static void settings_changed(struct btd_adapter *adapter, uint32_t settings) - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "Discoverable"); - store_adapter_info(adapter); -- btd_adv_manager_refresh(adapter->adv_manager); -+ if (adapter->supported_settings & MGMT_SETTING_LE) -+ btd_adv_manager_refresh(adapter->adv_manager); - } - - if (changed_mask & MGMT_SETTING_BONDABLE) { --- -2.23.0 - diff --git a/srcpkgs/bluez/template b/srcpkgs/bluez/template index 5c2aff5fb13..80fcf51c85a 100644 --- a/srcpkgs/bluez/template +++ b/srcpkgs/bluez/template @@ -1,6 +1,6 @@ # Template file for 'bluez' pkgname=bluez -version=5.54 +version=5.55 revision=1 build_style=gnu-configure configure_args="--with-udevdir=/usr/lib/udev --disable-systemd @@ -14,7 +14,7 @@ maintainer="Doan Tran Cong Danh " license="GPL-2.0-or-later, LGPL-2.1-or-later" homepage="http://www.bluez.org/" distfiles="${KERNEL_SITE}/bluetooth/$pkgname-$version.tar.xz" -checksum=68cdab9e63e8832b130d5979dc8c96fdb087b31278f342874d992af3e56656dc +checksum=8863717113c4897e2ad3271fc808ea245319e6fd95eed2e934fae8e0894e9b88 conf_files="/etc/bluetooth/main.conf" system_groups="bluetooth" build_options="mesh nfc" @@ -36,7 +36,7 @@ pre_configure() { post_install() { vinstall ${wrksrc}/src/main.conf 644 etc/bluetooth vsv bluetoothd - if [ $build_option_mesh ]; then + if [ "$build_option_mesh" ]; then vsv bluetooth-meshd fi }