From 1db8e03b604bde605d254fdbc811db5fe4bbe8ba Mon Sep 17 00:00:00 2001 From: Daniel Engberg Date: Sun, 22 Jul 2018 15:39:14 +0200 Subject: [PATCH] bluez: Update to 5.50 Update bluez to 5.50 Remove Nicolas Thill as maintainer since he hasn't replied to numerous of reviews requests for several packages within months. Drop obsolete configuration file Add patch for LE devices Source: https://git.archlinux.org/svntogit/packages.git/plain/trunk/refresh_adv_manager_for_non-LE_devices.diff?h=packages/bluez Signed-off-by: Daniel Engberg --- utils/bluez/Makefile | 10 ++-- utils/bluez/files/bluetooth.config | 15 ------ utils/bluez/patches/201-readline.patch | 14 +++--- utils/bluez/patches/202-fix-endianness.patch | 4 +- .../patches/203-obexd_without_systemd.patch | 16 +------ .../patches/204-no-printing-subsystem.patch | 2 - ...fresh_adv_manager_for_non-LE_devices.patch | 46 +++++++++++++++++++ 7 files changed, 61 insertions(+), 46 deletions(-) delete mode 100644 utils/bluez/files/bluetooth.config create mode 100644 utils/bluez/patches/205-refresh_adv_manager_for_non-LE_devices.patch diff --git a/utils/bluez/Makefile b/utils/bluez/Makefile index 1c3bcccf6..10f5eb732 100644 --- a/utils/bluez/Makefile +++ b/utils/bluez/Makefile @@ -8,16 +8,16 @@ include $(TOPDIR)/rules.mk PKG_NAME:=bluez -PKG_VERSION:=5.49 -PKG_RELEASE:=2 +PKG_VERSION:=5.50 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/linux/bluetooth/ -PKG_HASH:=33301d7a514c73d535ee1f91c2aed1af1f2e53efe11d3ac06bcf0d7abed2ce95 +PKG_HASH:=5ffcaae18bbb6155f1591be8c24898dc12f062075a40b538b745bfd477481911 PKG_LICENSE:=GPL-2.0+ PKG_LICENSE_FILES:=COPYING -PKG_MAINTAINER:=Nicolas Thill +PKG_MAINTAINER:= PKG_BUILD_PARALLEL:=1 PKG_INSTALL:=1 @@ -143,8 +143,6 @@ define Package/bluez-daemon/install $(CP) $(PKG_INSTALL_DIR)/usr/lib/bluetooth/bluetoothd $(1)/usr/bin/ $(CP) $(PKG_INSTALL_DIR)/usr/bin/bluetoothctl $(1)/usr/bin/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/bluetooth/obexd $(1)/usr/bin/ - $(INSTALL_DIR) $(1)/etc/config - $(INSTALL_DATA) ./files/bluetooth.config $(1)/etc/config/bluetooth $(INSTALL_DIR) $(1)/etc/dbus-1/system.d/ $(INSTALL_DATA) $(PKG_BUILD_DIR)/src/bluetooth.conf $(1)/etc/dbus-1/system.d/bluetooth.conf $(INSTALL_DIR) $(1)/etc/bluetooth diff --git a/utils/bluez/files/bluetooth.config b/utils/bluez/files/bluetooth.config deleted file mode 100644 index 6f23617a4..000000000 --- a/utils/bluez/files/bluetooth.config +++ /dev/null @@ -1,15 +0,0 @@ -config bluetoothd -# option config /etc/bluetooth/main.conf - option enabled 1 - -config hciattach - option initspeed 115200 - option tty ttyS1 - option type csr - option speed 115200 - option flow noflow - option enabled 0 - -config rfcomm -# option config /etc/bluetooth/rfcomm.conf - option enabled 0 diff --git a/utils/bluez/patches/201-readline.patch b/utils/bluez/patches/201-readline.patch index ac42cb08c..01c7e5e9e 100644 --- a/utils/bluez/patches/201-readline.patch +++ b/utils/bluez/patches/201-readline.patch @@ -1,6 +1,6 @@ ---- a/Makefile.in 2017-09-14 11:47:06.000000000 +0200 -+++ b/Makefile.in 2017-09-15 02:52:39.315926972 +0200 -@@ -2472,7 +2472,7 @@ +--- a/Makefile.in ++++ b/Makefile.in +@@ -2547,7 +2547,7 @@ unit_tests = $(am__append_52) unit/test- @CLIENT_TRUE@ client/gatt.h client/gatt.c @CLIENT_TRUE@client_bluetoothctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \ @@ -9,7 +9,7 @@ @MESH_TRUE@mesh_meshctl_SOURCES = mesh/main.c \ @MESH_TRUE@ mesh/mesh-net.h \ -@@ -2491,7 +2491,7 @@ +@@ -2566,7 +2566,7 @@ unit_tests = $(am__append_52) unit/test- @MESH_TRUE@mesh_meshctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \ @MESH_TRUE@ lib/libbluetooth-internal.la \ @@ -18,7 +18,7 @@ @MONITOR_TRUE@monitor_btmon_SOURCES = monitor/main.c monitor/bt.h \ @MONITOR_TRUE@ monitor/display.h monitor/display.c \ -@@ -2747,7 +2747,7 @@ +@@ -2827,7 +2827,7 @@ unit_tests = $(am__append_52) unit/test- @READLINE_TRUE@ tools/obex-client-tool.c @READLINE_TRUE@tools_obex_client_tool_LDADD = lib/libbluetooth-internal.la \ @@ -27,7 +27,7 @@ @READLINE_TRUE@tools_obex_server_tool_SOURCES = $(gobex_sources) $(btio_sources) \ @READLINE_TRUE@ tools/obex-server-tool.c -@@ -2756,15 +2756,15 @@ +@@ -2836,15 +2836,15 @@ unit_tests = $(am__append_52) unit/test- @READLINE_TRUE@tools_bluetooth_player_SOURCES = tools/bluetooth-player.c @READLINE_TRUE@tools_bluetooth_player_LDADD = gdbus/libgdbus-internal.la \ @READLINE_TRUE@ src/libshared-glib.la \ @@ -46,7 +46,7 @@ @DEPRECATED_TRUE@@READLINE_TRUE@attrib_gatttool_SOURCES = attrib/gatttool.c attrib/att.c attrib/gatt.c \ @DEPRECATED_TRUE@@READLINE_TRUE@ attrib/gattrib.c btio/btio.c \ -@@ -2773,7 +2773,7 @@ +@@ -2853,7 +2853,7 @@ unit_tests = $(am__append_52) unit/test- @DEPRECATED_TRUE@@READLINE_TRUE@ client/display.h @DEPRECATED_TRUE@@READLINE_TRUE@attrib_gatttool_LDADD = lib/libbluetooth-internal.la \ diff --git a/utils/bluez/patches/202-fix-endianness.patch b/utils/bluez/patches/202-fix-endianness.patch index cf76ae149..8f5e3a67c 100644 --- a/utils/bluez/patches/202-fix-endianness.patch +++ b/utils/bluez/patches/202-fix-endianness.patch @@ -1,5 +1,5 @@ ---- a/src/shared/util.h.old 2016-09-26 07:29:00.000000000 -0500 -+++ b/src/shared/util.h 2017-12-27 22:49:50.538716424 -0600 +--- a/src/shared/util.h ++++ b/src/shared/util.h @@ -26,6 +26,7 @@ #include #include diff --git a/utils/bluez/patches/203-obexd_without_systemd.patch b/utils/bluez/patches/203-obexd_without_systemd.patch index 749787c5b..7ed295168 100644 --- a/utils/bluez/patches/203-obexd_without_systemd.patch +++ b/utils/bluez/patches/203-obexd_without_systemd.patch @@ -16,11 +16,9 @@ directly, and to do so it needs the full path of the daemon. delete mode 100644 obexd/src/org.bluez.obex.service create mode 100644 obexd/src/org.bluez.obex.service.in -diff --git a/Makefile.obexd b/Makefile.obexd -index 3760867..142e7c3 100644 --- a/Makefile.obexd +++ b/Makefile.obexd -@@ -2,12 +2,12 @@ +@@ -1,12 +1,12 @@ if SYSTEMD systemduserunitdir = @SYSTEMD_USERUNITDIR@ systemduserunit_DATA = obexd/src/obex.service @@ -33,11 +31,8 @@ index 3760867..142e7c3 100644 -EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service +EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service.in - obex_plugindir = $(libdir)/obex/plugins + if OBEX -diff --git a/obexd/src/org.bluez.obex.service b/obexd/src/org.bluez.obex.service -deleted file mode 100644 -index a538088..0000000 --- a/obexd/src/org.bluez.obex.service +++ /dev/null @@ -1,4 +0,0 @@ @@ -45,9 +40,6 @@ index a538088..0000000 -Name=org.bluez.obex -Exec=/bin/false -SystemdService=dbus-org.bluez.obex.service -diff --git a/obexd/src/org.bluez.obex.service.in b/obexd/src/org.bluez.obex.service.in -new file mode 100644 -index 0000000..9c815f2 --- /dev/null +++ b/obexd/src/org.bluez.obex.service.in @@ -0,0 +1,4 @@ @@ -55,7 +47,3 @@ index 0000000..9c815f2 +Name=org.bluez.obex +Exec=@libexecdir@/obexd +SystemdService=dbus-org.bluez.obex.service --- -1.8.3.1 - - diff --git a/utils/bluez/patches/204-no-printing-subsystem.patch b/utils/bluez/patches/204-no-printing-subsystem.patch index 698fe232f..363bd400e 100644 --- a/utils/bluez/patches/204-no-printing-subsystem.patch +++ b/utils/bluez/patches/204-no-printing-subsystem.patch @@ -1,5 +1,3 @@ -diff --git a/src/bluetooth.conf b/src/bluetooth.conf -index 0c0b221..013cf97 100644 --- a/src/bluetooth.conf +++ b/src/bluetooth.conf @@ -26,10 +26,10 @@ diff --git a/utils/bluez/patches/205-refresh_adv_manager_for_non-LE_devices.patch b/utils/bluez/patches/205-refresh_adv_manager_for_non-LE_devices.patch new file mode 100644 index 000000000..e9813e684 --- /dev/null +++ b/utils/bluez/patches/205-refresh_adv_manager_for_non-LE_devices.patch @@ -0,0 +1,46 @@ +From 2c3bba7b38be03834162e34069156f1fd49f0528 Mon Sep 17 00:00:00 2001 +From: "antoine.belvire@laposte.net" +Date: Tue, 27 Mar 2018 20:30:26 +0200 +Subject: 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(-) + +--- a/src/adapter.c ++++ b/src/adapter.c +@@ -540,7 +540,8 @@ static void settings_changed(struct btd_ + 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) {