diff --git a/utils/bluez/Makefile b/utils/bluez/Makefile index 81deda23..4f7930da 100644 --- a/utils/bluez/Makefile +++ b/utils/bluez/Makefile @@ -8,16 +8,17 @@ include $(TOPDIR)/rules.mk PKG_NAME:=bluez -PKG_VERSION:=5.49 +PKG_VERSION:=5.51 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/linux/bluetooth/ -PKG_HASH:=33301d7a514c73d535ee1f91c2aed1af1f2e53efe11d3ac06bcf0d7abed2ce95 +PKG_HASH:=ebedfb359f62957940822f1d0b39fcee30422380e435608dad06bb3913d5ebba -PKG_LICENSE:=GPL-2.0+ +PKG_LICENSE:=GPL-2.0-or-later PKG_LICENSE_FILES:=COPYING -PKG_MAINTAINER:=Nicolas Thill +PKG_MAINTAINER:= +PKG_CPE_ID:=cpe:/a:bluez:bluez PKG_BUILD_PARALLEL:=1 PKG_INSTALL:=1 @@ -30,24 +31,12 @@ define Package/bluez/Default URL:=http://www.bluez.org/ endef -define Package/bluez-examples -$(call Package/bluez/Default) - SECTION:=utils - CATEGORY:=Utilities - TITLE+= python example apps - DEPENDS:=+python -endef - -define Package/bluez-examples/description - contains many examples apps for bluetooth, requiring python -endef - define Package/bluez-libs $(call Package/bluez/Default) SECTION:=libs CATEGORY:=Libraries TITLE+= library - DEPENDS:=+libpthread +kmod-bluetooth + DEPENDS:=+libpthread +USB_SUPPORT:kmod-bluetooth endef define Package/bluez-utils @@ -55,6 +44,14 @@ $(call Package/bluez/Default) SECTION:=utils CATEGORY:=Utilities TITLE+= utilities + DEPENDS:=+bluez-libs +endef + +define Package/bluez-utils-extra +$(call Package/bluez/Default) + SECTION:=utils + CATEGORY:=Utilities + TITLE+= additional utilities DEPENDS:=+bluez-libs +libpthread +librt +glib2 +libncurses +libreadline $(INTL_DEPENDS) $(ICONV_DEPENDS) +dbus endef @@ -63,7 +60,7 @@ $(call Package/bluez/Default) SECTION:=utils CATEGORY:=Utilities TITLE+= daemon - DEPENDS:=+bluez-libs +bluez-utils +dbus +libical $(INTL_DEPENDS) $(ICONV_DEPENDS) + DEPENDS:=+bluez-libs +bluez-utils +bluez-utils-extra +glib2 +libncurses +libreadline +dbus +libical $(INTL_DEPENDS) $(ICONV_DEPENDS) endef define Package/bluez-daemon/conffiles @@ -106,11 +103,6 @@ define Build/InstallDev $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/bluez.pc $(1)/usr/lib/pkgconfig/ endef -define Package/bluez-examples/install - $(INSTALL_DIR) $(1)/usr/bin/bluez - $(INSTALL_DATA) $(PKG_BUILD_DIR)/test/* $(1)/usr/bin/bluez/ -endef - define Package/bluez-libs/install $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/lib/libbluetooth.so.* $(1)/usr/lib/ @@ -118,33 +110,36 @@ endef define Package/bluez-utils/install $(INSTALL_DIR) $(1)/usr/bin - $(CP) $(PKG_INSTALL_DIR)/usr/bin/bccmd $(1)/usr/bin/ - $(CP) $(PKG_INSTALL_DIR)/usr/bin/bluemoon $(1)/usr/bin/ - $(CP) $(PKG_INSTALL_DIR)/usr/bin/btattach $(1)/usr/bin/ - $(CP) $(PKG_INSTALL_DIR)/usr/bin/btmon $(1)/usr/bin/ - $(CP) $(PKG_BUILD_DIR)/tools/btmgmt $(1)/usr/bin/ - $(CP) $(PKG_INSTALL_DIR)/usr/bin/ciptool $(1)/usr/bin/ - $(CP) $(PKG_INSTALL_DIR)/usr/bin/hciattach $(1)/usr/bin/ - $(CP) $(PKG_INSTALL_DIR)/usr/bin/hciconfig $(1)/usr/bin/ - $(CP) $(PKG_INSTALL_DIR)/usr/bin/hcidump $(1)/usr/bin/ - $(CP) $(PKG_INSTALL_DIR)/usr/bin/hcitool $(1)/usr/bin/ - $(CP) $(PKG_INSTALL_DIR)/usr/bin/hex2hcd $(1)/usr/bin/ - $(CP) $(PKG_INSTALL_DIR)/usr/bin/l2ping $(1)/usr/bin/ - $(CP) $(PKG_INSTALL_DIR)/usr/bin/l2test $(1)/usr/bin/ - $(CP) $(PKG_INSTALL_DIR)/usr/bin/mpris-proxy $(1)/usr/bin/ - $(CP) $(PKG_INSTALL_DIR)/usr/bin/rctest $(1)/usr/bin/ - $(CP) $(PKG_INSTALL_DIR)/usr/bin/rfcomm $(1)/usr/bin/ - $(CP) $(PKG_INSTALL_DIR)/usr/bin/sdptool $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/bdaddr $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/bccmd $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/bluemoon $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/btattach $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/btmon $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ciptool $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/hciattach $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/hciconfig $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/hcidump $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/hcitool $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/hex2hcd $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/l2ping $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/l2test $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rctest $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rfcomm $(1)/usr/bin/ +endef + +define Package/bluez-utils-extra/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/btmgmt $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mpris-proxy $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sdptool $(1)/usr/bin/ $(INSTALL_BIN) $(PKG_BUILD_DIR)/attrib/gatttool $(1)/usr/bin/ endef define Package/bluez-daemon/install $(INSTALL_DIR) $(1)/usr/bin - $(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_BIN) $(PKG_INSTALL_DIR)/usr/lib/bluetooth/bluetoothd $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/bluetoothctl $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/bluetooth/obexd $(1)/usr/bin/ $(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 @@ -156,7 +151,7 @@ define Package/bluez-daemon/install $(INSTALL_BIN) ./files/bluetoothd.init $(1)/etc/init.d/bluetoothd endef -$(eval $(call BuildPackage,bluez-examples)) $(eval $(call BuildPackage,bluez-libs)) $(eval $(call BuildPackage,bluez-utils)) +$(eval $(call BuildPackage,bluez-utils-extra)) $(eval $(call BuildPackage,bluez-daemon)) diff --git a/utils/bluez/files/bluetooth.config b/utils/bluez/files/bluetooth.config deleted file mode 100644 index 6f23617a..00000000 --- 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/001-bcm43xx-Add-bcm43xx-3wire-variant.patch b/utils/bluez/patches/001-bcm43xx-Add-bcm43xx-3wire-variant.patch index 15eb6e1d..070ed584 100644 --- a/utils/bluez/patches/001-bcm43xx-Add-bcm43xx-3wire-variant.patch +++ b/utils/bluez/patches/001-bcm43xx-Add-bcm43xx-3wire-variant.patch @@ -7,9 +7,11 @@ Subject: [PATCH 1/4] bcm43xx: Add bcm43xx-3wire variant tools/hciattach.c | 3 +++ 1 file changed, 3 insertions(+) ---- a/tools/hciattach.c -+++ b/tools/hciattach.c -@@ -1090,6 +1090,9 @@ struct uart_t uart[] = { +Index: bluez-5.51/tools/hciattach.c +=================================================================== +--- bluez-5.51.orig/tools/hciattach.c ++++ bluez-5.51/tools/hciattach.c +@@ -1091,6 +1091,9 @@ struct uart_t uart[] = { { "bcm43xx", 0x0000, 0x0000, HCI_UART_H4, 115200, 3000000, FLOW_CTL, DISABLE_PM, NULL, bcm43xx, NULL }, diff --git a/utils/bluez/patches/002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch b/utils/bluez/patches/002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch index a221861d..0ae7d15c 100644 --- a/utils/bluez/patches/002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch +++ b/utils/bluez/patches/002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch @@ -8,9 +8,11 @@ Subject: [PATCH 2/4] bcm43xx: The UART speed must be reset after the firmware tools/hciattach_bcm43xx.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) ---- a/tools/hciattach_bcm43xx.c -+++ b/tools/hciattach_bcm43xx.c -@@ -366,11 +366,8 @@ int bcm43xx_init(int fd, int def_speed, +Index: bluez-5.51/tools/hciattach_bcm43xx.c +=================================================================== +--- bluez-5.51.orig/tools/hciattach_bcm43xx.c ++++ bluez-5.51/tools/hciattach_bcm43xx.c +@@ -367,11 +367,8 @@ int bcm43xx_init(int fd, int def_speed, return -1; if (bcm43xx_locate_patch(FIRMWARE_DIR, chip_name, fw_path)) { @@ -23,7 +25,7 @@ Subject: [PATCH 2/4] bcm43xx: The UART speed must be reset after the firmware if (bcm43xx_load_firmware(fd, fw_path)) return -1; -@@ -380,6 +377,7 @@ int bcm43xx_init(int fd, int def_speed, +@@ -381,6 +378,7 @@ int bcm43xx_init(int fd, int def_speed, return -1; } diff --git a/utils/bluez/patches/003-Increase-firmware-load-timeout-to-30s.patch b/utils/bluez/patches/003-Increase-firmware-load-timeout-to-30s.patch index 74911d3c..e66ac5e5 100644 --- a/utils/bluez/patches/003-Increase-firmware-load-timeout-to-30s.patch +++ b/utils/bluez/patches/003-Increase-firmware-load-timeout-to-30s.patch @@ -7,9 +7,11 @@ Subject: [PATCH 3/4] Increase firmware load timeout to 30s tools/hciattach.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---- a/tools/hciattach.c -+++ b/tools/hciattach.c -@@ -1239,7 +1239,7 @@ int main(int argc, char *argv[]) +Index: bluez-5.51/tools/hciattach.c +=================================================================== +--- bluez-5.51.orig/tools/hciattach.c ++++ bluez-5.51/tools/hciattach.c +@@ -1240,7 +1240,7 @@ int main(int argc, char *argv[]) { struct uart_t *u = NULL; int detach, printpid, raw, opt, i, n, ld, err; diff --git a/utils/bluez/patches/004-Move-the-43xx-firmware-into-lib-firmware.patch b/utils/bluez/patches/004-Move-the-43xx-firmware-into-lib-firmware.patch index 80b052d5..b86dc836 100644 --- a/utils/bluez/patches/004-Move-the-43xx-firmware-into-lib-firmware.patch +++ b/utils/bluez/patches/004-Move-the-43xx-firmware-into-lib-firmware.patch @@ -7,9 +7,11 @@ Subject: [PATCH 4/4] Move the 43xx firmware into /lib/firmware tools/hciattach_bcm43xx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---- a/tools/hciattach_bcm43xx.c -+++ b/tools/hciattach_bcm43xx.c -@@ -43,7 +43,7 @@ +Index: bluez-5.51/tools/hciattach_bcm43xx.c +=================================================================== +--- bluez-5.51.orig/tools/hciattach_bcm43xx.c ++++ bluez-5.51/tools/hciattach_bcm43xx.c +@@ -44,7 +44,7 @@ #include "hciattach.h" #ifndef FIRMWARE_DIR diff --git a/utils/bluez/patches/201-readline.patch b/utils/bluez/patches/201-readline.patch index ac42cb08..228c0e40 100644 --- a/utils/bluez/patches/201-readline.patch +++ b/utils/bluez/patches/201-readline.patch @@ -1,43 +1,43 @@ ---- 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 @@ +--- bluez-5.51.orig/Makefile.in ++++ bluez-5.51/Makefile.in +@@ -3125,7 +3125,7 @@ unit_tests = $(am__append_54) unit/test- @CLIENT_TRUE@ client/gatt.h client/gatt.c @CLIENT_TRUE@client_bluetoothctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \ --@CLIENT_TRUE@ @GLIB_LIBS@ @DBUS_LIBS@ -lreadline -+@CLIENT_TRUE@ @GLIB_LIBS@ @DBUS_LIBS@ -lreadline -lncurses +-@CLIENT_TRUE@ $(GLIB_LIBS) $(DBUS_LIBS) -lreadline ++@CLIENT_TRUE@ $(GLIB_LIBS) $(DBUS_LIBS) -lreadline -lncurses - @MESH_TRUE@mesh_meshctl_SOURCES = mesh/main.c \ - @MESH_TRUE@ mesh/mesh-net.h \ -@@ -2491,7 +2491,7 @@ + @ZSH_COMPLETIONS_TRUE@zshcompletiondir = $(ZSH_COMPLETIONDIR) + @ZSH_COMPLETIONS_TRUE@dist_zshcompletion_DATA = completion/zsh/_bluetoothctl +@@ -3358,7 +3358,7 @@ unit_tests = $(am__append_54) unit/test- - @MESH_TRUE@mesh_meshctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \ - @MESH_TRUE@ lib/libbluetooth-internal.la \ --@MESH_TRUE@ @GLIB_LIBS@ @DBUS_LIBS@ -ljson-c -lreadline -+@MESH_TRUE@ @GLIB_LIBS@ @DBUS_LIBS@ -ljson-c -lreadline -lncurses + @MESH_TRUE@@TOOLS_TRUE@tools_meshctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \ + @MESH_TRUE@@TOOLS_TRUE@ lib/libbluetooth-internal.la \ +-@MESH_TRUE@@TOOLS_TRUE@ $(GLIB_LIBS) $(DBUS_LIBS) -ljson-c -lreadline ++@MESH_TRUE@@TOOLS_TRUE@ $(GLIB_LIBS) $(DBUS_LIBS) -ljson-c -lreadline -lncurses - @MONITOR_TRUE@monitor_btmon_SOURCES = monitor/main.c monitor/bt.h \ - @MONITOR_TRUE@ monitor/display.h monitor/display.c \ -@@ -2747,7 +2747,7 @@ + @DEPRECATED_TRUE@@TOOLS_TRUE@tools_hciattach_SOURCES = tools/hciattach.c tools/hciattach.h \ + @DEPRECATED_TRUE@@TOOLS_TRUE@ tools/hciattach_st.c \ +@@ -3411,7 +3411,7 @@ unit_tests = $(am__append_54) unit/test- @READLINE_TRUE@ tools/obex-client-tool.c @READLINE_TRUE@tools_obex_client_tool_LDADD = lib/libbluetooth-internal.la \ --@READLINE_TRUE@ @GLIB_LIBS@ -lreadline -+@READLINE_TRUE@ @GLIB_LIBS@ -lreadline -lncurses +-@READLINE_TRUE@ $(GLIB_LIBS) -lreadline ++@READLINE_TRUE@ $(GLIB_LIBS) -lreadline -lncurses @READLINE_TRUE@tools_obex_server_tool_SOURCES = $(gobex_sources) $(btio_sources) \ @READLINE_TRUE@ tools/obex-server-tool.c -@@ -2756,15 +2756,15 @@ +@@ -3420,15 +3420,15 @@ unit_tests = $(am__append_54) 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 \ --@READLINE_TRUE@ @GLIB_LIBS@ @DBUS_LIBS@ -lreadline -+@READLINE_TRUE@ @GLIB_LIBS@ @DBUS_LIBS@ -lreadline -lncurses +-@READLINE_TRUE@ $(GLIB_LIBS) $(DBUS_LIBS) -lreadline ++@READLINE_TRUE@ $(GLIB_LIBS) $(DBUS_LIBS) -lreadline -lncurses @READLINE_TRUE@tools_obexctl_SOURCES = tools/obexctl.c @READLINE_TRUE@tools_obexctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \ --@READLINE_TRUE@ @GLIB_LIBS@ @DBUS_LIBS@ -lreadline -+@READLINE_TRUE@ @GLIB_LIBS@ @DBUS_LIBS@ -lreadline -lncurses +-@READLINE_TRUE@ $(GLIB_LIBS) $(DBUS_LIBS) -lreadline ++@READLINE_TRUE@ $(GLIB_LIBS) $(DBUS_LIBS) -lreadline -lncurses @READLINE_TRUE@tools_btmgmt_SOURCES = tools/btmgmt.c src/uuid-helper.c client/display.c @READLINE_TRUE@tools_btmgmt_LDADD = lib/libbluetooth-internal.la src/libshared-mainloop.la \ @@ -46,12 +46,12 @@ @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 @@ +@@ -3437,7 +3437,7 @@ unit_tests = $(am__append_54) unit/test- @DEPRECATED_TRUE@@READLINE_TRUE@ client/display.h @DEPRECATED_TRUE@@READLINE_TRUE@attrib_gatttool_LDADD = lib/libbluetooth-internal.la \ --@DEPRECATED_TRUE@@READLINE_TRUE@ src/libshared-glib.la @GLIB_LIBS@ -lreadline -+@DEPRECATED_TRUE@@READLINE_TRUE@ src/libshared-glib.la @GLIB_LIBS@ -lreadline -lncurses +-@DEPRECATED_TRUE@@READLINE_TRUE@ src/libshared-glib.la $(GLIB_LIBS) -lreadline ++@DEPRECATED_TRUE@@READLINE_TRUE@ src/libshared-glib.la $(GLIB_LIBS) -lreadline -lncurses @CUPS_TRUE@cupsdir = $(libdir)/cups/backend @CUPS_TRUE@profiles_cups_bluetooth_SOURCES = profiles/cups/main.c \ diff --git a/utils/bluez/patches/202-fix-endianness.patch b/utils/bluez/patches/202-fix-endianness.patch index cf76ae14..8f5e3a67 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 749787c5..9e3761f9 100644 --- a/utils/bluez/patches/203-obexd_without_systemd.patch +++ b/utils/bluez/patches/203-obexd_without_systemd.patch @@ -16,46 +16,40 @@ 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 @@ +Index: bluez-5.51/Makefile.obexd +=================================================================== +--- bluez-5.51.orig/Makefile.obexd ++++ bluez-5.51/Makefile.obexd +@@ -1,12 +1,12 @@ if SYSTEMD - systemduserunitdir = @SYSTEMD_USERUNITDIR@ + systemduserunitdir = $(SYSTEMD_USERUNITDIR) systemduserunit_DATA = obexd/src/obex.service +endif - dbussessionbusdir = @DBUS_SESSIONBUSDIR@ + dbussessionbusdir = $(DBUS_SESSIONBUSDIR) dbussessionbus_DATA = obexd/src/org.bluez.obex.service -endif -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 +Index: bluez-5.51/obexd/src/org.bluez.obex.service +=================================================================== +--- bluez-5.51.orig/obexd/src/org.bluez.obex.service +++ /dev/null @@ -1,4 +0,0 @@ -[D-BUS Service] -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 +Index: bluez-5.51/obexd/src/org.bluez.obex.service.in +=================================================================== --- /dev/null -+++ b/obexd/src/org.bluez.obex.service.in ++++ bluez-5.51/obexd/src/org.bluez.obex.service.in @@ -0,0 +1,4 @@ +[D-BUS Service] +Name=org.bluez.obex +Exec=@libexecdir@/obexd +SystemdService=dbus-org.bluez.obex.service --- -1.8.3.1 - - 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 00000000..3a67fbec --- /dev/null +++ b/utils/bluez/patches/205-refresh_adv_manager_for_non-LE_devices.patch @@ -0,0 +1,48 @@ +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(-) + +Index: bluez-5.51/src/adapter.c +=================================================================== +--- bluez-5.51.orig/src/adapter.c ++++ bluez-5.51/src/adapter.c +@@ -546,7 +546,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) {