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]

Reply via email to