diff options
-rw-r--r-- | conf/checksums.ini | 8 | ||||
-rw-r--r-- | packages/bluez/bluez-utils/hid2hci_usb_init.patch | 33 | ||||
-rw-r--r-- | packages/bluez/bluez-utils_4.24.bb | 66 | ||||
-rw-r--r-- | packages/bluez/bluez.inc | 95 |
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 +} + |