summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/checksums.ini8
-rw-r--r--packages/bluez/bluez-utils/hid2hci_usb_init.patch33
-rw-r--r--packages/bluez/bluez-utils_4.24.bb66
-rw-r--r--packages/bluez/bluez.inc95
4 files changed, 202 insertions, 0 deletions
diff --git a/conf/checksums.ini b/conf/checksums.ini
index 5dc7d96f1f..bd31579f62 100644
--- a/conf/checksums.ini
+++ b/conf/checksums.ini
@@ -2218,6 +2218,10 @@ sha256=5cff4c3269cf006bef9f66ec0a788139689425b96c6d7c60024f0841632b065b
md5=d76dbdbb59924ace618e48fbddbf3365
sha256=eaa1a9746a4613a75a9fe9fc0c54a724758b899c5a898b8b50578066d8a82ead
+[http://www.kernel.org/pub/linux/bluetooth/bluez-4.24.tar.gz]
+md5=f8b14e9d87dfe9fa56a7549b16e0cf3e
+sha256=ad1cbca751301b5b8c735509b905bf7642de6110ec3dda939153cbb9df6db8cb
+
[http://www.kernel.org/pub/linux/bluetooth/bluez-4.7.tar.gz]
md5=2aa806940d2c841e57a9b2ab7302b750
sha256=ed384dea4f5f21157758fcd7db64db19ce0b410509c26630706e4a3c779287a0
@@ -20390,6 +20394,10 @@ sha256=98d29c0c013debc32f1a17fd66f5e9248025959b07d13f1faba91aa5a1a9ba6b
md5=ee345fe605ffcfce843dae4aed81122b
sha256=00385353242173b878413e0423c1dddcbbb50a3cadc3bb9d0a6adcf335794423
+[http://downloads.sourceforge.net/linux-usb/usbutils-0.73.tar.gz]
+md5=88978b4ad891f610620b1b8e5e0f43eb
+sha256=2edc7cc98fd217f6980d8ba0b3792beed4695d4e8429a11c7237faab04ab47f4
+
[http://www.kroah.com/linux-usb/usbview-1.0.tar.gz]
md5=2ac1bdae03a858b965e895b211a75ad7
sha256=7a7add52242142f37a7d220c76dfe77090f6592eacdf796e3d07fa61415340fd
diff --git a/packages/bluez/bluez-utils/hid2hci_usb_init.patch b/packages/bluez/bluez-utils/hid2hci_usb_init.patch
new file mode 100644
index 0000000000..ed15fd5a1b
--- /dev/null
+++ b/packages/bluez/bluez-utils/hid2hci_usb_init.patch
@@ -0,0 +1,33 @@
+# Signed-off-by: Khem Raj <raj.khem@gmail.com>
+#
+# Use the new usb1 API for usb_init() and check for fails from
+# usb_init (). Currently we see a crash on a system which does
+# not have USB because usb_init() fails and it cleans up all initialized
+# data (e.g. ctx) which is used in subsequent calls to libusb
+# We return immediately if usb_init() fails for some reason.
+
+Index: bluez-4.24/tools/hid2hci.c
+===================================================================
+--- bluez-4.24.orig/tools/hid2hci.c 2008-10-25 23:40:34.000000000 -0700
++++ bluez-4.24/tools/hid2hci.c 2008-12-29 22:06:04.000000000 -0800
+@@ -337,7 +337,7 @@
+ int main(int argc, char *argv[])
+ {
+ struct device_info dev[16];
+- int i, opt, num, quiet = 0, mode = HCI;
++ int i, ret, opt, num, quiet = 0, mode = HCI;
+
+ while ((opt = getopt_long(argc, argv, "+01qh", main_options, NULL)) != -1) {
+ switch (opt) {
+@@ -361,8 +361,9 @@
+ argc -= optind;
+ argv += optind;
+ optind = 0;
+-
+- usb_init();
++ ret = libusb_init();
++ if (ret < 0)
++ return ret;
+
+ num = find_devices(mode, dev, sizeof(dev) / sizeof(dev[0]));
+ if (num <= 0) {
diff --git a/packages/bluez/bluez-utils_4.24.bb b/packages/bluez/bluez-utils_4.24.bb
new file mode 100644
index 0000000000..56fc039496
--- /dev/null
+++ b/packages/bluez/bluez-utils_4.24.bb
@@ -0,0 +1,66 @@
+require bluez.inc
+
+PR = "r0"
+
+SRC_URI = "http://www.kernel.org/pub/linux/bluetooth/bluez-${PV}.tar.gz \
+ file://hcid.conf \
+ file://sbc-thumb.patch;patch=1 \
+ file://hid2hci_usb_init.patch;patch=1 \
+ "
+
+# see bluez.inc for the explanation of these option
+EXTRA_OECONF = " \
+ --enable-bccmd \
+ --enable-hid2hci \
+ --enable-hidd \
+ --enable-pand \
+ --enable-dund \
+ --disable-alsa \
+ --disable-cups \
+ --enable-glib \
+ --disable-sdpd \
+ --enable-network \
+ --enable-serial \
+ --enable-input \
+ --enable-audio \
+ --enable-echo \
+ --enable-configfile \
+ --enable-initscripts \
+ --enable-test \
+ "
+
+CONFFILES_${PN} = " \
+ ${sysconfdir}/bluetooth/hcid.conf \
+ ${sysconfdir}/default/bluetooth \
+ "
+
+CONFFILES_${PN}-compat = " \
+ ${sysconfdir}/bluetooth/rfcomm.conf \
+ "
+
+PACKAGES =+ "bluez-audio"
+
+FILES_${PN} = " \
+ ${base_sbindir}/hcid \
+ ${libdir}/bluetooth/plugins/*.so \
+ ${sysconfdir}/init.d/bluetooth \
+ ${sysconfdir}/bluetooth/hcid.conf \
+ ${sysconfdir}/default \
+ ${sysconfdir}/dbus-1 \
+ ${base_sbindir}/hciattach \
+ "
+
+FILES_bluez-audio = " \
+ ${libdir}/bluetooth/plugins/libaudio.so \
+ ${libdir}/gstreamer-0.10/*.so \
+ "
+
+FILES_${PN}-dbg += " \
+ ${libdir}/bluetooth/plugins/.debug \
+ ${libdir}/gstreamer-0.10/.debug \
+ "
+
+FILES_${PN}-dev += " \
+ ${libdir}/bluetooth/plugins/*.la \
+ ${libdir}/gstreamer-0.10/*.la \
+ "
diff --git a/packages/bluez/bluez.inc b/packages/bluez/bluez.inc
new file mode 100644
index 0000000000..711ac383be
--- /dev/null
+++ b/packages/bluez/bluez.inc
@@ -0,0 +1,95 @@
+DESCRIPTION = "Linux Bluetooth Stack Userland Utilities and libraries."
+SECTION = "console"
+PRIORITY = "optional"
+HOMEPAGE = "http://www.bluez.org"
+LICENSE = "GPL"
+PR = "r0"
+
+DEPENDS = "gstreamer gst-plugins-base libusb1 dbus glib-2.0"
+PROVIDES = "bluez-utils-dbus"
+RPROVIDES_${PN} = "bluez-pan bluez-sdp bluez-utils-dbus"
+RREPLACES = "bluez-utils-dbus"
+RCONFLICTS_${PN} = "bluez-utils-nodbus"
+
+FILESPATH = "${FILE_DIRNAME}/bluez-utils-${PV}:${FILE_DIRNAME}/bluez-utils"
+
+S = "${WORKDIR}/bluez-${PV}"
+
+inherit autotools update-rc.d pkgconfig
+
+OE_LT_RPATH_ALLOW = "any"
+OE_LT_RPATH_ALLOW[export]="1"
+
+do_install_append() {
+ install -d ${D}${base_sbindir} ${D}${base_bindir}/ ${D}${sysconfdir}/apm/event.d/
+ if [ "${sbindir}" != "${base_sbindir}" ]; then
+ mv ${D}${sbindir}/* ${D}${base_sbindir}/
+ rmdir ${D}${sbindir}
+ fi
+ if [ "${bindir}" != "${base_bindir}" ]; then
+ mv ${D}${bindir}/* ${D}${base_bindir}/
+ rmdir ${D}${bindir}
+ fi
+ chmod u+s ${D}${base_sbindir}/hciattach ${D}${base_sbindir}/hciconfig
+ install -m 0644 ${WORKDIR}/hcid.conf ${D}${sysconfdir}/bluetooth/
+ install -m 0644 ${S}/rfcomm/rfcomm.conf ${D}${sysconfdir}/bluetooth/
+ install -m 0755 ${S}/daemon/.libs/passkey-agent ${D}${base_bindir}/ ||true
+ install -m 0755 ${S}/test/.libs/passkey-agent ${D}${base_bindir}/ ||true
+}
+
+
+INITSCRIPT_NAME = "bluetooth"
+INITSCRIPT_PARAMS = "defaults 23 19"
+
+
+PACKAGES =+ "${PN}-compat"
+
+
+FILES_${PN} = " \
+ ${base_sbindir}/hcid \
+ ${libdir}/bluetooth \
+ ${sysconfdir}/init.d/bluetooth \
+ ${sysconfdir}/bluetooth/*.service \
+ ${sysconfdir}/bluetooth/hcid.conf \
+ ${sysconfdir}/default \
+ ${sysconfdir}/dbus-1 \
+ ${base_sbindir}/hciattach \
+ "
+
+FILES_${PN}-dbg += " \
+ ${libdir}/bluetooth/.debug \
+ ${libdir}/cups/backend/.debug \
+ ${libdir}/alsa-lib/.debug \
+ "
+
+FILES_${PN}-compat = " \
+ ${base_bindir}/sdptool \
+ ${base_bindir}/dund \
+ ${base_bindir}/rctest \
+ ${base_bindir}/ciptool \
+ ${base_bindir}/l2test \
+ ${base_bindir}/rfcomm \
+ ${base_bindir}/hcitool \
+ ${base_bindir}/pand \
+ ${base_bindir}/hidd \
+ ${base_bindir}/l2ping \
+ ${base_sbindir}/hciconfig \
+ ${base_sbindir}/bccmd \
+ ${base_sbindir}/hciemu \
+ ${base_sbindir}/hid2hci \
+ ${base_bindir}/passkey-agent \
+ ${sysconfdir}/bluetooth/rfcomm.conf \
+ "
+
+HEADERS = "bluetooth.h bnep.h cmtp.h hci.h hci_lib.h hidp.h l2cap.h rfcomm.h sco.h sdp.h sdp_lib.h"
+
+do_stage_prepend() {
+ oe_libinstall -so -C lib libbluetooth ${STAGING_LIBDIR}
+
+ install -d ${STAGING_INCDIR}/bluetooth/
+ for f in ${HEADERS}
+ do
+ install -m 0644 include/$f ${STAGING_INCDIR}/bluetooth/$f
+ done
+}
+