Update the list of configure options and their dependencies, make the various profiles configurable, and set the default enable/disable values in Kconfig according to the default values in the configure script. Also pin down the GPL/LGPL license MD5 sums.
Some tools are now deprecated, hide them behind a kconfig option. gatttool and some of the test scripts are no longer installed, remove them from the targetinstall stage. Also use install_alternative instead of install_copy for all config files and systemd units. There are no patches in PTXdist which would need porting. Signed-off-by: Roland Hieber <[email protected]> --- rules/bluez.in | 65 +++++++++++++++++++++++++++++++++++++++++++++--- rules/bluez.make | 61 ++++++++++++++++++++++++++++++++------------- 2 files changed, 105 insertions(+), 21 deletions(-) diff --git a/rules/bluez.in b/rules/bluez.in index e14135dd6..285b2f2a8 100644 --- a/rules/bluez.in +++ b/rules/bluez.in @@ -8,7 +8,9 @@ menuconfig BLUEZ select DBUS select GLIB select UDEV - select READLINE if BLUEZ_CLIENT + select READLINE if BLUEZ_CLIENT || BLUEZ_PROFILE_MESH + select JSON_C if BLUEZ_PROFILE_MESH + select LIBICAL if BLUEZ_PROFILE_OBEX select PYGOBJECT if BLUEZ_INSTALL_TESTSCRIPTS select DBUS_PYTHON if BLUEZ_INSTALL_TESTSCRIPTS help @@ -17,6 +19,55 @@ menuconfig BLUEZ if BLUEZ +config BLUEZ_PROFILE_SAP + bool "build with SAP support" + help + Build with support for the SIM Access Profile (SAP) + +config BLUEZ_PROFILE_A2DP + default y + bool "build with A2DP support" + help + Build with support for the Advanced Audio Distribution Profile (A2DP) + +config BLUEZ_PROFILE_AVRCP + default y + bool "build with AVRCP support" + help + Build with support for Audio/Video Remote Control Profile (AVRCP) + +config BLUEZ_PROFILE_NETWORK + default y + bool "build with network profiles support" + help + Build with support for the Bluetooth Network Encapsulation Protocol + (BNEP) + +config BLUEZ_PROFILE_HID + default y + bool "build with HID/HoG support" + help + Build with support for the Human Interface Device (HID) and HID over + GATT (HoG) profiles + +config BLUEZ_PROFILE_HEALTH + bool "build with health profiles support" + help + Build with support for medical device profiles + +config BLUEZ_PROFILE_MESH + # needs libell > 0.3 + depends on BROKEN + bool "build with mesh support" + help + Build with support for Bluetooth mesh networking + +config BLUEZ_PROFILE_OBEX + bool "build with OBEX support" + help + Build with support for the OBject EXchange (OBEX) profile. + Enable this to build obexd. + config BLUEZ_SYSTEMD_UNIT bool default y @@ -26,9 +77,15 @@ config BLUEZ_SYSTEMD_UNIT config BLUEZ_UTILS bool "install bluez tools" help - install the tools "bccmd bluemoon btmon ciptool hciattach - hciconfig hcidump hcitool hex2hcd l2ping l2test mpris-proxy rctest - rfcomm sdptoolciptool l2ping hcitool rctest rfcomm" and "sdptool" + install the tools: bccmd bluemoon btmon hex2hcd l2ping l2test + mpris-proxy rctest l2ping rctest + +config BLUEZ_UTILS_DEPRECATED + depends on BLUEZ_UTILS + bool "install deprecated tools" + help + Build and install the following tools: hciattach hciconfig hcitool + hcidump rfcomm sdptool ciptool config BLUEZ_CLIENT bool "install client tools: bluetoothctl, gatttool" diff --git a/rules/bluez.make b/rules/bluez.make index de6a1e5ec..8fdb6893f 100644 --- a/rules/bluez.make +++ b/rules/bluez.make @@ -1,6 +1,8 @@ # -*-makefile-*- # # Copyright (C) 2010 by Uwe Kleine-Koenig <[email protected]> +# Copyright (C) 2018 Pengutronix, Roland Hieber <[email protected]> +# # # See CREDITS for details about who has contributed to this project. # @@ -16,14 +18,17 @@ PACKAGES-$(PTXCONF_BLUEZ) += bluez # # Paths and names # -BLUEZ_VERSION := 5.30 -BLUEZ_MD5 := a7b99d40cd78c7497abdfd7f024fd07b +BLUEZ_VERSION := 5.50 +BLUEZ_MD5 := 860349d2afebf130f772c0f2943b5a27 BLUEZ := bluez-$(BLUEZ_VERSION) BLUEZ_SUFFIX := tar.gz BLUEZ_URL := $(call ptx/mirror, KERNEL, bluetooth/$(BLUEZ).$(BLUEZ_SUFFIX)) BLUEZ_SOURCE := $(SRCDIR)/$(BLUEZ).$(BLUEZ_SUFFIX) BLUEZ_DIR := $(BUILDDIR)/$(BLUEZ) BLUEZ_LICENSE := GPL-2.0-or-later LGPL-2.1-or-later +BLUEZ_LICENSE_FILES := \ + file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ + file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 ifdef PTXCONF_BLUEZ_INSTALL_TESTSCRIPTS BLUEZ_DEVPKG := NO endif @@ -41,20 +46,34 @@ BLUEZ_CONF_OPT := $(CROSS_AUTOCONF_USR) \ --disable-debug \ --disable-pie \ --enable-threads \ + --disable-backtrace \ --enable-library \ --$(call ptx/endis, PTXCONF_BLUEZ_INSTALL_TESTSCRIPTS)-test \ + --disable-nfc \ + --$(call ptx/endis, PTXCONF_BLUEZ_PROFILE_SAP)-sap \ + --$(call ptx/endis, PTXCONF_BLUEZ_PROFILE_A2DP)-a2dp \ + --$(call ptx/endis, PTXCONF_BLUEZ_PROFILE_AVRCP)-avrcp \ + --$(call ptx/endis, PTXCONF_BLUEZ_PROFILE_NETWORK)-network \ + --$(call ptx/endis, PTXCONF_BLUEZ_PROFILE_HID)-hid \ + --$(call ptx/endis, PTXCONF_BLUEZ_PROFILE_HID)-hog \ + --$(call ptx/endis, PTXCONF_BLUEZ_PROFILE_HEALTH)-health \ --enable-tools \ --enable-monitor \ --enable-udev \ --disable-cups \ - --disable-obex \ + --$(call ptx/endis, PTXCONF_BLUEZ_PROFILE_MESH)-mesh \ + --disable-midi \ + --$(call ptx/endis, PTXCONF_BLUEZ_PROFILE_OBEX)-obex \ + --disable-btpclient \ --$(call ptx/endis, PTXCONF_BLUEZ_CLIENT)-client \ --enable-systemd \ --enable-datafiles \ --disable-manpages \ --disable-experimental \ + --$(call ptx/endis, PTXCONF_BLUEZ_UTILS_DEPRECATED)-deprecated \ --disable-sixaxis \ --disable-android \ + --disable-logger \ --with-dbusconfdir=/usr/share \ --with-dbussystembusdir=/usr/share/dbus-1/system-services \ --with-dbussessionbusdir=/usr/share/dbus-1/services \ @@ -78,22 +97,31 @@ $(STATEDIR)/bluez.targetinstall: @$(call install_lib, bluez, 0, 0, 0644, libbluetooth) @$(call install_copy, bluez, 0, 0, 0755, -, /usr/libexec/bluetooth/bluetoothd) +ifdef PTXCONF_BLUEZ_PROFILE_OBEX @$(call install_copy, bluez, 0, 0, 0755, -, /usr/libexec/bluetooth/obexd) +endif @$(call install_lib, bluez, 0, 0, 0644, libbluetooth) ifdef PTXCONF_BLUEZ_UTILS - @$(foreach binprogram, bccmd bluemoon btmon ciptool \ - hciattach hciconfig hcidump hcitool hex2hcd l2ping \ - l2test mpris-proxy rctest rfcomm sdptool, \ + @$(foreach binprogram, bccmd bluemoon btmon hex2hcd l2ping \ + l2test mpris-proxy rctest, \ + $(call install_copy, bluez, 0, 0, 0755, -, \ + /usr/bin/$(binprogram));) + +ifdef PTXCONF_BLUEZ_UTILS_DEPRECATED + @$(foreach binprogram, ciptool hciattach hciconfig hcidump hcitool \ + rfcomm sdptool, \ $(call install_copy, bluez, 0, 0, 0755, -, \ /usr/bin/$(binprogram));) endif +endif + +ifdef BLUEZ_PROFILE_MESH + @$(call install_copy, bluez, 0, 0, 0755, -, /usr/bin/meshctl) +endif ifdef PTXCONF_BLUEZ_CLIENT @$(call install_copy, bluez, 0, 0, 0755, -, /usr/bin/bluetoothctl) - - @$(call install_copy, bluez, 0, 0, 0755, $(BLUEZ_DIR)/attrib/gatttool, \ - /usr/bin/gatttool) endif ifdef PTXCONF_BLUEZ_INSTALL_TESTSCRIPTS @@ -103,13 +131,12 @@ ifdef PTXCONF_BLUEZ_INSTALL_TESTSCRIPTS /usr/lib/bluez/test/$(testdata));) @$(foreach testprog, list-devices opp-client \ - simple-endpoint test-alert test-discovery \ - test-heartrate test-nap test-proximity \ - map-client pbap-client simple-player test-cyclingspeed \ + simple-endpoint test-discovery test-nap \ + map-client pbap-client simple-player \ test-health test-hfp test-network test-sap-server \ ftp-client monitor-bluetooth simple-agent \ test-adapter test-device test-health-sink test-manager \ - test-profile test-thermometer, \ + test-profile, \ $(call install_copy, bluez, 0, 0, 0755, -, \ /usr/lib/bluez/test/$(testprog))$(ptx/nl)) @$(foreach testprog, bluezutils.py dbusdef.py sap_client.py, \ @@ -117,16 +144,16 @@ ifdef PTXCONF_BLUEZ_INSTALL_TESTSCRIPTS /usr/lib/bluez/test/$(testprog))$(ptx/nl)) endif - @$(call install_copy, bluez, 0, 0, 0644, -, \ + @$(call install_alternative, bluez, 0, 0, 0644, \ /usr/share/dbus-1/system.d/bluetooth.conf) - @$(call install_tree, bluez, 0, 0, -, /usr/lib/udev/rules.d/) + @$(call install_alternative_tree, bluez, 0, 0, /usr/lib/udev/rules.d/) ifdef PTXCONF_BLUEZ_SYSTEMD_UNIT - @$(call install_copy, bluez, 0, 0, 0644, -, \ + @$(call install_alternative, bluez, 0, 0, 0644, \ /usr/lib/systemd/system/bluetooth.service) @$(call install_link, bluez, ../bluetooth.service, \ /usr/lib/systemd/system/multi-user.target.wants/bluetooth.service) - @$(call install_copy, bluez, 0, 0, 0644, -, \ + @$(call install_alternative, bluez, 0, 0, 0644, \ /usr/lib/systemd/user/obex.service) endif -- 2.19.0 _______________________________________________ ptxdist mailing list [email protected]
