diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2008-11-07 11:15:58 +0000 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2008-11-07 11:15:58 +0000 |
commit | f473d75c15b26b7ad3ef359d1ec046b2ced56382 (patch) | |
tree | a4c62a187c8a7afb7e02832151c1099511dd20b4 | |
parent | 5be917f9d14d67a5ea8d363a9986859c546128f5 (diff) | |
download | openembedded-core-f473d75c15b26b7ad3ef359d1ec046b2ced56382.tar.gz openembedded-core-f473d75c15b26b7ad3ef359d1ec046b2ced56382.tar.bz2 openembedded-core-f473d75c15b26b7ad3ef359d1ec046b2ced56382.zip |
bluez: Upgrade to more recent 3.x versions and add bluez 4 from OE
-rw-r--r-- | meta/packages/bluez/bluez-hcidump_1.42.bb (renamed from meta/packages/bluez/bluez-hcidump_1.40.bb) | 1 | ||||
-rw-r--r-- | meta/packages/bluez/bluez-libs_3.30.bb | 1 | ||||
-rw-r--r-- | meta/packages/bluez/bluez-libs_3.36.bb (renamed from meta/packages/bluez/bluez-libs_3.18.bb) | 0 | ||||
-rw-r--r-- | meta/packages/bluez/bluez-utils.inc | 53 | ||||
-rw-r--r-- | meta/packages/bluez/bluez-utils/add-init-deps.patch | 21 | ||||
-rw-r--r-- | meta/packages/bluez/bluez-utils/add-restart.patch | 21 | ||||
-rw-r--r-- | meta/packages/bluez/bluez-utils/allow-no-hal.patch | 26 | ||||
-rw-r--r-- | meta/packages/bluez/bluez-utils/hciattach-ti-bts.patch | 489 | ||||
-rw-r--r-- | meta/packages/bluez/bluez-utils/hcid.conf | 4 | ||||
-rw-r--r-- | meta/packages/bluez/bluez-utils3.inc (renamed from meta/packages/bluez/bluez-utils_3.18.bb) | 73 | ||||
-rw-r--r-- | meta/packages/bluez/bluez-utils_3.36.bb | 64 | ||||
-rw-r--r-- | meta/packages/bluez/bluez4_4.7.bb | 11 |
12 files changed, 129 insertions, 635 deletions
diff --git a/meta/packages/bluez/bluez-hcidump_1.40.bb b/meta/packages/bluez/bluez-hcidump_1.42.bb index 1757bd5d01..877c8db33c 100644 --- a/meta/packages/bluez/bluez-hcidump_1.40.bb +++ b/meta/packages/bluez/bluez-hcidump_1.42.bb @@ -3,6 +3,7 @@ SECTION = "console" PRIORITY = "optional" DEPENDS = "bluez-libs" LICENSE = "GPL" +PR = "r0" SRC_URI = "http://bluez.sourceforge.net/download/bluez-hcidump-${PV}.tar.gz" S = "${WORKDIR}/bluez-hcidump-${PV}" diff --git a/meta/packages/bluez/bluez-libs_3.30.bb b/meta/packages/bluez/bluez-libs_3.30.bb deleted file mode 100644 index 6ddf62a4fb..0000000000 --- a/meta/packages/bluez/bluez-libs_3.30.bb +++ /dev/null @@ -1 +0,0 @@ -require bluez-libs.inc diff --git a/meta/packages/bluez/bluez-libs_3.18.bb b/meta/packages/bluez/bluez-libs_3.36.bb index 6ddf62a4fb..6ddf62a4fb 100644 --- a/meta/packages/bluez/bluez-libs_3.18.bb +++ b/meta/packages/bluez/bluez-libs_3.36.bb diff --git a/meta/packages/bluez/bluez-utils.inc b/meta/packages/bluez/bluez-utils.inc deleted file mode 100644 index 39b8b39a05..0000000000 --- a/meta/packages/bluez/bluez-utils.inc +++ /dev/null @@ -1,53 +0,0 @@ -DESCRIPTION = "Linux Bluetooth Stack Userland Utilities." -SECTION = "console" -PRIORITY = "optional" -DEPENDS = "gstreamer gst-plugins-base bluez-libs-${PV} libusb dbus" -PROVIDES = "bluez-utils-dbus" -RPROVIDES_${PN} = "bluez-pan bluez-sdp bluez-utils-dbus" -RREPLACES_${PN} = "bluez-utils-dbus" -RCONFLICTS_${PN} = "bluez-utils-nodbus" -LICENSE = "GPL" - -SRC_URI = "http://bluez.sourceforge.net/download/bluez-utils-${PV}.tar.gz \ - file://hcid.conf " - -# Almost all serial CF cards w/ manfid 0x0000,0x0000 seem to use the bcs protocol -# Let's default to that instead of 'any' until further notice... -#SRC_URI += " file://default-manfid-0x0-to-bcps.patch;patch=1" - -S = "${WORKDIR}/bluez-utils-${PV}" - -inherit autotools update-rc.d - -INITSCRIPT_NAME = "bluetooth" -INITSCRIPT_PARAMS = "defaults 23 19" - -do_install_append() { - install -d ${D}${base_sbindir} ${D}${base_bindir}/ ${D}${sysconfdir}/apm/event.d/ - mv ${D}${sbindir}/* ${D}${base_sbindir}/ - mv ${D}${bindir}/* ${D}${base_bindir}/ - rmdir ${D}${bindir} ${D}${sbindir} - chmod u+s ${D}${base_sbindir}/hciattach ${D}${base_sbindir}/hciconfig - install -m 0644 ${WORKDIR}/hcid.conf ${D}${sysconfdir}/bluetooth/ - # libtool 2.2.2 doesn't put this in a .libs directory - if [ -e ${S}/daemon/.libs/passkey-agent ]; then - install -m 0755 ${S}/daemon/.libs/passkey-agent ${D}${base_bindir}/ - else - install -m 0755 ${S}/daemon/passkey-agent ${D}${base_bindir}/ - fi -} - -PACKAGES =+ "${PN}-alsa ${PN}-alsa-dev gst-plugin-bluez gst-plugin-bluez-dbg" - -FILES_${PN}-alsa = "${libdir}/alsa-lib/libasound*" -FILES_${PN}-alsa-dev += " ${libdir}/alsa-lib/*.la " - -FILES_gst-plugin-bluez = "${libdir}/gstreamer*/libgstblue*.so" -FILES_gst-plugin-bluez-dbg = "${libdir}/gstreamer*/.debug/libgstblue*.so" - -# -# CUPS support -# -#PACKAGES =+ " bluez-cups-backend" -#FILES_bluez-cups-backend = "${libdir}/cups/backend/bluetooth" -#RDEPENDS_bluez-cups-backend = "cups" diff --git a/meta/packages/bluez/bluez-utils/add-init-deps.patch b/meta/packages/bluez/bluez-utils/add-init-deps.patch deleted file mode 100644 index 45bcce5aa9..0000000000 --- a/meta/packages/bluez/bluez-utils/add-init-deps.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- - scripts/bluetooth.init | 8 ++++++++ - 1 file changed, 8 insertions(+) - ---- bluez-utils-3.18.orig/scripts/bluetooth.init -+++ bluez-utils-3.18/scripts/bluetooth.init -@@ -1,6 +1,14 @@ - #!/bin/sh -+### BEGIN INIT INFO -+# Provides: bluetooth -+# Required-Start: $local_fs $syslog $remote_fs dbus -+# Required-Stop: $local_fs $syslog $remote_fs -+# Default-Start: 2 3 4 5 -+# Default-Stop: 0 1 6 -+# Short-Description: Start bluetooth daemons -+### END INIT INFO - # - # Start/stop the Bluetooth daemons - # - - set -e diff --git a/meta/packages/bluez/bluez-utils/add-restart.patch b/meta/packages/bluez/bluez-utils/add-restart.patch deleted file mode 100644 index e37befff41..0000000000 --- a/meta/packages/bluez/bluez-utils/add-restart.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- - scripts/bluetooth.init | 4 ++++ - 1 file changed, 4 insertions(+) - ---- bluez-utils-3.18.orig/scripts/bluetooth.init -+++ bluez-utils-3.18/scripts/bluetooth.init -@@ -47,10 +47,14 @@ case "$1" in - echo -n "Stopping $DESC:" - killall $DAEMON_NAME > /dev/null 2>&1 || true - echo -n " $DAEMON_NAME" - echo "." - ;; -+ restart) -+ $0 stop -+ $0 start -+ ;; - *) - N=/etc/init.d/$NAME - echo "Usage: $N {start|stop}" >&2 - exit 1 - ;; diff --git a/meta/packages/bluez/bluez-utils/allow-no-hal.patch b/meta/packages/bluez/bluez-utils/allow-no-hal.patch deleted file mode 100644 index 3350c80d69..0000000000 --- a/meta/packages/bluez/bluez-utils/allow-no-hal.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- - configure.in | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -Index: bluez-utils-3.18/configure.in -=================================================================== ---- bluez-utils-3.18.orig/configure.in 2007-09-02 17:40:57.000000000 +0100 -+++ bluez-utils-3.18/configure.in 2007-10-15 11:45:01.000000000 +0100 -@@ -31,7 +31,16 @@ AC_PATH_ALSA - AC_PATH_GSTREAMER - AC_PATH_OPENOBEX - AC_PATH_OPENSYNC --AC_PATH_HAL -+ -+AC_DEFUN([AC_PATH_HAL], [ -+ PKG_CHECK_MODULES(HAL, hal >= 0.5.8, hal_found=yes, hal_found=no) -+]) -+ -+AC_SUBST(HAL_CFLAGS) -+AC_SUBST(HAL_LIBS) -+ -+AM_CONDITIONAL(HAL, test "${hal_enable}" = "yes" && test "${hal_found}" = "yes") -+ - AC_PATH_USB - AC_PATH_EXPAT - AC_PATH_INOTIFY diff --git a/meta/packages/bluez/bluez-utils/hciattach-ti-bts.patch b/meta/packages/bluez/bluez-utils/hciattach-ti-bts.patch deleted file mode 100644 index 217c32619d..0000000000 --- a/meta/packages/bluez/bluez-utils/hciattach-ti-bts.patch +++ /dev/null @@ -1,489 +0,0 @@ ---- bluez-utils-3.1/tools/hciattach.c.orig 2006-07-23 14:02:14.000000000 +0200 -+++ bluez-utils-3.1/tools/hciattach.c 2006-07-23 14:06:29.000000000 +0200 -@@ -58,6 +58,8 @@ - #define HCI_UART_3WIRE 2 - #define HCI_UART_H4DS 3 - -+#include "ti_bts.h" -+ - struct uart_t { - char *type; - int m_id; -@@ -67,6 +69,7 @@ - int speed; - int flags; - int (*init) (int fd, struct uart_t *u, struct termios *ti); -+ char *bts; /* bluetooth script */ - }; - - #define FLOW_CTL 0x0001 -@@ -256,6 +259,114 @@ - return 0; - } - -+static int brf6150(int fd, struct uart_t *u, struct termios *ti) -+{ -+ bts_t *bfp; -+ int i; -+ unsigned long vers; -+ unsigned char actionbuf[256]; -+ unsigned char resp[128]; /* Response */ -+ unsigned long count; -+ unsigned short atype; -+ -+ if (u->bts == NULL) /* no script, ignore */ -+ return 0; -+ -+ bfp = bts_load_script( u->bts, &vers ); -+ if (bfp == NULL) -+ return -1; -+ -+ fprintf( stderr, "Loading BTS script version %lu\n", vers ); -+ -+ while ((count = bts_next_action( bfp, actionbuf, -+ sizeof actionbuf - 1, &atype )) != 0) { -+ if (atype == ACTION_REMARKS) { -+ if (actionbuf[0] != 0) -+ fprintf( stderr, "%s\n", actionbuf ); -+ } -+ else if (atype == ACTION_SEND_COMMAND) { -+#if 0 -+ fprintf( stderr, "ACTION_SEND_COMMAND: ", (int)atype ); -+ for (i=0; i<count; i++) { -+ fprintf( stderr, "0x%02x ", actionbuf[i] ); -+ } -+ fprintf( stderr, "\n" ); -+#endif -+ int n; -+ n = write(fd, actionbuf, count); -+ if (n < 0 || n < count) { -+ perror("Failed to write TI action command"); -+ return -1; -+ } -+ } -+ else if (atype == ACTION_WAIT_EVENT) { -+ action_wait_t *wait = (action_wait_t *)actionbuf; -+#if 0 -+ fprintf( stderr, "ACTION_WAIT_EVENT: %u msec, %u size, data = ", wait->msec, wait->size ); -+ for (i=0; i<wait->size; i++) { -+ fprintf( stderr, "0x%02x ", wait->data[i] ); -+ } -+ fprintf( stderr, "\n" ); -+#endif -+ usleep(wait->msec); /* seems they give usec, not msec */ -+ /* Read reply. */ -+ if ((count = read_hci_event(fd, resp, sizeof resp)) < 0) { -+ perror("Failed to read TI command response"); -+ return -1; -+ } -+ if (count < wait->size) { -+ fprintf( stderr, "TI command response is short."); -+ } -+ for (i=0; i<wait->size; i++) { -+ if (i == 3) continue; /* ignore */ -+ if (resp[i] != wait->data[i]) { -+ fprintf( stderr, "TI command response does not match expected result.\n" ); -+ } -+ } -+ } -+ else if (atype == ACTION_SERIAL_PORT_PARAMETERS) { -+ action_serial_t *sercmd = (action_serial_t *)actionbuf; -+ -+ /* Set actual baudrate */ -+ fprintf( stderr, -+ "BTS changing baud rate to %u, flow control to %u\n", -+ sercmd->baud, sercmd->flow_control ); -+ -+ tcflush(fd, TCIOFLUSH); -+ -+ if (sercmd->flow_control) -+ ti->c_cflag |= CRTSCTS; -+ else -+ ti->c_cflag &= ~CRTSCTS; -+ if (tcsetattr(fd, TCSANOW, ti) < 0) { -+ perror("Can't set port settings"); -+ return -1; -+ } -+ -+ u->speed = sercmd->baud; -+ -+ tcflush(fd, TCIOFLUSH); -+ if (set_speed(fd, ti, sercmd->baud) < 0) { -+ perror("Can't set baud rate"); -+ return -1; -+ } -+ } -+ else if (atype == ACTION_DELAY) { -+ action_delay_t *delay = (action_delay_t *)actionbuf; -+ usleep(delay->msec); /* seems they give usec, not msec */ -+ } -+ else { -+ fprintf( stderr, "BTS action type = %d: ", (int)atype ); -+ for (i=0; i<count; i++) { -+ fprintf( stderr, "0x%02x ", actionbuf[i] ); -+ } -+ fprintf( stderr, "\n" ); -+ } -+ } -+ bts_unload_script( bfp ); -+ return 0; -+} -+ - static int texas(int fd, struct uart_t *u, struct termios *ti) - { - struct timespec tm = {0, 50000}; -@@ -296,15 +407,26 @@ - } while (resp[4] != cmd[1] && resp[5] != cmd[2]); - - /* Verify manufacturer */ -- if ((resp[11] & 0xFF) != 0x0d) -+ if (resp[11] != 0x0d) - fprintf(stderr,"WARNING : module's manufacturer is not Texas Instrument\n"); - - /* Print LMP version */ -- fprintf(stderr, "Texas module LMP version : 0x%02x\n", resp[10] & 0xFF); -+ fprintf(stderr, "TI module LMP version : 0x%02x\n", resp[10]); - - /* Print LMP subversion */ -- fprintf(stderr, "Texas module LMP sub-version : 0x%02x%02x\n", resp[14] & 0xFF, resp[13] & 0xFF); -+ fprintf(stderr, "TI module LMP sub-version : 0x%02x%02x\n", resp[14], resp[13]); -+ if ((resp[14] >> 2) == 3) { -+ int err; -+ nanosleep(&tm, NULL); - -+ /* BRF6150 */ -+ if ((err=brf6150( fd, u, ti )) != 0) { -+ fprintf( stderr, "TI script failed (err=%d)\n", -+ err ); -+ return -1; -+ } -+ } -+ - nanosleep(&tm, NULL); - return 0; - } -@@ -1103,7 +1225,7 @@ - { - printf("hciattach - HCI UART driver initialization utility\n"); - printf("Usage:\n"); -- printf("\thciattach [-n] [-p] [-b] [-t timeout] [-s initial_speed] <tty> <type | id> [speed] [flow|noflow]\n"); -+ printf("\thciattach [-n] [-p] [-b] [-t timeout] [-s initial_speed] [-S bts-script] <tty> <type | id> [speed] [flow|noflow]\n"); - printf("\thciattach -l\n"); - } - -@@ -1118,11 +1240,12 @@ - struct sigaction sa; - struct pollfd p; - char dev[PATH_MAX]; -+ char *bts = NULL; - - detach = 1; - printpid = 0; - -- while ((opt=getopt(argc, argv, "bnpt:s:l")) != EOF) { -+ while ((opt=getopt(argc, argv, "bnpt:s:S:l")) != EOF) { - switch(opt) { - case 'b': - send_break = 1; -@@ -1144,6 +1267,10 @@ - init_speed = atoi(optarg); - break; - -+ case 'S': -+ bts = optarg; -+ break; -+ - case 'l': - for (i = 0; uart[i].type; i++) { - printf("%-10s0x%04x,0x%04x\n", uart[i].type, -@@ -1215,6 +1342,8 @@ - if (init_speed) - u->init_speed = init_speed; - -+ u->bts = bts; -+ - memset(&sa, 0, sizeof(sa)); - sa.sa_flags = SA_NOCLDSTOP; - sa.sa_handler = sig_alarm; ---- bluez-utils-3.1/tools/Makefile.am.orig 2006-07-23 14:06:59.000000000 +0200 -+++ bluez-utils-3.1/tools/Makefile.am 2006-07-23 14:07:18.000000000 +0200 -@@ -37,7 +37,7 @@ - - noinst_PROGRAMS = hcisecfilter ppporc - --hciattach_SOURCES = hciattach.c hciattach_st.c -+hciattach_SOURCES = hciattach.c hciattach_st.c ti_bts.h ti_bts.c - - hciconfig_SOURCES = hciconfig.c csr.h csr.c - hciconfig_LDADD = @BLUEZ_LIBS@ $(top_builddir)/common/libhelper.a ---- bluez-utils-3.1/tools/ti_bts.h.orig 2006-07-23 14:07:26.000000000 +0200 -+++ bluez-utils-3.1/tools/ti_bts.h 2006-07-23 14:07:46.000000000 +0200 -@@ -0,0 +1,116 @@ -+/* -+ * Copyright (c) 2005 Texas Instruments, Inc. -+ * Ported by SDG Systems, LLC -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation; -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. -+ * IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY -+ * CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES -+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ * -+ * ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, -+ * COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS -+ * SOFTWARE IS DISCLAIMED. -+ * -+ */ -+ -+#ifndef BT_SCRIPT_H -+#define BT_SCRIPT_H -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+/* -+ * Define the interface of Bluetooth Script -+ */ -+ -+typedef void bts_t; -+ -+ -+#define ACTION_SEND_COMMAND 1 /* Send out raw data (as is) */ -+#define ACTION_WAIT_EVENT 2 /* Wait for data */ -+#define ACTION_SERIAL_PORT_PARAMETERS 3 -+#define ACTION_DELAY 4 -+#define ACTION_RUN_SCRIPT 5 -+#define ACTION_REMARKS 6 -+ -+/* -+ * Structure for ACTION_SEND_COMMAND -+ */ -+typedef struct tagCActionCommand -+{ -+ unsigned char data[1]; /* Data to send */ -+} action_command_t; -+ -+/* -+ * Structure for ACTION_WAIT_EVENT -+ */ -+typedef struct tagCActionWaitEvent -+{ -+ unsigned long msec; /* in milliseconds */ -+ unsigned long size; -+ unsigned char data[1]; /* Data to wait for */ -+} action_wait_t; -+ -+ -+/* -+ * Structure for ACTION_SERIAL_PORT_PARAMETERS -+ */ -+typedef struct tagCActionSerialPortParameters -+{ -+ unsigned long baud; -+ unsigned long flow_control; -+} action_serial_t; -+ -+/* Flow Control Type */ -+#define FCT_NONE 0 -+#define FCT_HARDWARE 1 -+ -+#define DONT_CHANGE 0xFFFFFFFF /* For both baud rate and flow control */ -+ -+ -+/* -+ * Structure for ACTION_DELAY -+ */ -+typedef struct tagCActionDelay -+{ -+ unsigned long msec; /* in milliseconds */ -+} action_delay_t; -+ -+/* -+ * Structure for ACTION_RUN_SCRIPT -+ */ -+typedef struct tagCActionRunScript -+{ -+ char filename[1]; -+} action_run_t; -+ -+/* -+ * Structure for ACTION_REMARKS -+ */ -+typedef struct tagCActionRemarks -+{ -+ char m_szRemarks[1]; -+} action_remarks_t; -+ -+ -+const char *cis_create_filename(const unsigned char* cmdparms); -+bts_t * bts_load_script(const char* fname, unsigned long* version); -+unsigned long bts_next_action(const bts_t* bts_fp, unsigned char* action_buf, -+ unsigned long nMaxSize, unsigned short* ptype); -+void bts_unload_script(bts_t* bts_fp); -+ -+#ifdef __cplusplus -+}; -+#endif -+ -+#endif /* BT_SCRIPT_H */ -+ ---- bluez-utils-3.1/tools/ti_bts.c.orig 2006-07-23 14:07:28.000000000 +0200 -+++ bluez-utils-3.1/tools/ti_bts.c 2006-07-23 14:07:46.000000000 +0200 -@@ -0,0 +1,149 @@ -+/* -+ * Copyright (c) 2005 Texas Instruments, Inc. -+ * Ported by SDG Systems, LLC -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation; -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. -+ * IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY -+ * CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES -+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ * -+ * ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, -+ * COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS -+ * SOFTWARE IS DISCLAIMED. -+ * -+ */ -+ -+ -+#include <stdio.h> -+#include <stdlib.h> -+#include "ti_bts.h" -+ -+#ifndef MAKEWORD -+#define MAKEWORD(a, b) ((unsigned short)(((unsigned char)(a)) | ((unsigned short)((unsigned char)(b))) << 8)) -+#endif -+ -+#define TI_MANUFACTURER_ID 13 -+ -+/* -+ * Common Init Script specific -+ */ -+const char * -+cis_create_filename(const unsigned char* cmdparms) -+{ -+ static char bts_file[50]; -+ -+ /* Check for TI's id */ -+ unsigned short manfid = MAKEWORD(cmdparms[8], cmdparms[9]); -+ -+ if (TI_MANUFACTURER_ID == manfid) { -+ unsigned short version = MAKEWORD(cmdparms[10], cmdparms[11]); -+ -+ unsigned short chip = (version & 0x7C00) >> 10; -+ unsigned short min_ver = (version & 0x007F); -+ unsigned short maj_ver = (version & 0x0380) >> 7; -+ -+ if (0 != (version & 0x8000)) { -+ maj_ver |= 0x0008; -+ } -+ -+ sprintf( bts_file, "TIInit_%d.%d.%d.bts", -+ (int)chip, (int)maj_ver, (int)min_ver); -+ -+ return &bts_file[0]; -+ } -+ return NULL; -+} -+ -+typedef struct tagCHeader -+{ -+ unsigned long magic; -+ unsigned long version; -+ unsigned char future[24]; -+} cheader_t; -+ -+ -+/* The value 0x42535442 stands for (in ASCII) BTSB */ -+/* which is Bluetooth Script Binary */ -+#define FILE_HEADER_MAGIC 0x42535442 -+ -+ -+bts_t * -+bts_load_script(const char* fname, unsigned long* version) -+{ -+ bts_t* bts = NULL; -+ FILE* fp = fopen(fname, "rb"); -+ -+ if (NULL != fp) { -+ /* Read header */ -+ cheader_t header; -+ -+ /* Read header */ -+ if (1 == fread(&header, sizeof(header), 1, fp)) { -+ /* Check magic number for correctness */ -+ if (header.magic == FILE_HEADER_MAGIC) { -+ /* If user wants the version number */ -+ if (NULL != version) { -+ *version = header.version; -+ } -+ bts = (bts_t*)fp; -+ } -+ } -+ /* If failed reading the file, close it */ -+ if (NULL == bts) { -+ fclose(fp); -+ } -+ } -+ return bts; -+} -+ -+unsigned long -+bts_next_action(const bts_t* bts_fp, unsigned char* action_buf, -+ unsigned long nMaxSize, unsigned short* ptype) -+{ -+ unsigned long bytes = 0; -+ FILE* fp = (FILE*)bts_fp; -+ unsigned char action_hdr[4]; -+ -+ if (bts_fp == NULL) -+ return 0; -+ -+ /* Each Action has the following: */ -+ /* UINT16 type of this action */ -+ /* UINT16 size of rest */ -+ /* BYTE[] action buffer (for HCI, includes the type byte e.g. 1 for hci command) */ -+ -+ if (1 == fread(&action_hdr[0], sizeof(action_hdr), 1, fp)) { -+ unsigned short type = *(unsigned short*)&action_hdr[0]; -+ unsigned short size = *(unsigned short*)&action_hdr[2]; -+ -+ if (size <= nMaxSize) { -+ int nread = fread(action_buf, sizeof(action_buf[0]), size, fp); -+ -+ if (nread == size) { -+ *ptype = type; -+ bytes = (unsigned long)size; -+ } -+ } -+ } -+ -+ return bytes; -+} -+ -+void -+bts_unload_script(bts_t* bts_fp) -+{ -+ FILE* fp = (FILE*)bts_fp; -+ -+ if (NULL != fp) { -+ fclose(fp); -+ } -+} -+ diff --git a/meta/packages/bluez/bluez-utils/hcid.conf b/meta/packages/bluez/bluez-utils/hcid.conf index bb935aa23d..a7164f6eb0 100644 --- a/meta/packages/bluez/bluez-utils/hcid.conf +++ b/meta/packages/bluez/bluez-utils/hcid.conf @@ -21,7 +21,7 @@ options { pairing multi; # Default PIN code for incoming connections - passkey "BlueZ"; + passkey "1234"; } # Default settings for HCI devices @@ -29,7 +29,7 @@ device { # Local device name # %d - device id # %h - host name - name "BlueZ (%d)"; + name "%h (%d)"; # Local device class class 0x120112; diff --git a/meta/packages/bluez/bluez-utils_3.18.bb b/meta/packages/bluez/bluez-utils3.inc index 093064ad35..e5dae635b8 100644 --- a/meta/packages/bluez/bluez-utils_3.18.bb +++ b/meta/packages/bluez/bluez-utils3.inc @@ -1,20 +1,24 @@ -require bluez-utils.inc +DESCRIPTION = "Linux Bluetooth Stack Userland Utilities." +SECTION = "console" +PRIORITY = "optional" +DEPENDS = "gstreamer gst-plugins-base bluez-libs-${PV} libusb-compat 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" +LICENSE = "GPL" -DEPENDS += "glib-2.0" -PR = "r4" +FILESPATH = "${FILE_DIRNAME}/bluez-utils-${PV}:${FILE_DIRNAME}/bluez-utils" -# ti patch doesn't apply, people using it should rediff it and send it upstream -#SRC_URI += "file://hciattach-ti-bts.patch;patch=1 " +S = "${WORKDIR}/bluez-utils-${PV}" -SRC_URI += "file://allow-no-hal.patch;patch=1 \ - file://add-init-deps.patch;patch=1 \ - file://add-restart.patch;patch=1" +inherit autotools update-rc.d EXTRA_OECONF = " \ --enable-bccmd \ --enable-hid2hci \ --enable-alsa \ - --disable-cups \ + --enable-cups \ --enable-glib \ --disable-sdpd \ --enable-network \ @@ -25,13 +29,12 @@ EXTRA_OECONF = " \ --enable-configfile \ --enable-initscripts \ --enable-test \ - --disable-hal \ - " + " # The config options are explained below: # --enable-obex enable OBEX support -# --enable-alsa enable ALSA support, not needed for nokia770, nokia800 and fic-gtao1 +# --enable-alsa enable ALSA support, not needed for nokia770, nokia800 and om-gtao1 # --enable-cups install CUPS backend support # --enable-bccmd install BCCMD interface utility # --enable-avctrl install Audio/Video control utility @@ -62,17 +65,33 @@ EXTRA_OECONF = " \ #disable it: # --disable-hid2hci +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" -CONFFILES_${PN} = " \ - ${sysconfdir}/bluetooth/hcid.conf \ - ${sysconfdir}/default/bluetooth \ - " +PACKAGES =+ "${PN}-compat" -CONFFILES_${PN}-compat = " \ - ${sysconfdir}/bluetooth/rfcomm.conf \ - " FILES_${PN} = " \ ${base_sbindir}/hcid \ @@ -89,7 +108,7 @@ FILES_${PN}-dbg += " \ ${libdir}/bluetooth/.debug \ ${libdir}/cups/backend/.debug \ ${libdir}/alsa-lib/.debug \ - " + " FILES_${PN}-compat = " \ ${base_bindir}/sdptool \ @@ -108,5 +127,15 @@ FILES_${PN}-compat = " \ ${base_sbindir}/hid2hci \ ${base_bindir}/passkey-agent \ ${sysconfdir}/bluetooth/rfcomm.conf \ - " + " + + + + + + + + + + diff --git a/meta/packages/bluez/bluez-utils_3.36.bb b/meta/packages/bluez/bluez-utils_3.36.bb new file mode 100644 index 0000000000..cf6d6328ea --- /dev/null +++ b/meta/packages/bluez/bluez-utils_3.36.bb @@ -0,0 +1,64 @@ +require bluez-utils3.inc + +PR = "r1" + +SRC_URI = "http://bluez.sourceforge.net/download/bluez-utils-${PV}.tar.gz \ + file://hcid.conf \ + " + +# see bluez-utils3.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/meta/packages/bluez/bluez4_4.7.bb b/meta/packages/bluez/bluez4_4.7.bb new file mode 100644 index 0000000000..ae579dd0ae --- /dev/null +++ b/meta/packages/bluez/bluez4_4.7.bb @@ -0,0 +1,11 @@ +DESCRIPTION = "Linux Bluetooth Stack Userland." +SECTION = "libs" +PRIORITY = "optional" +HOMEPAGE = "http://www.bluez.org" +LICENSE = "GPL" +PR = "r0" + +SRC_URI = "http://www.kernel.org/pub/linux/bluetooth/bluez-${PV}.tar.gz" +S = "${WORKDIR}/bluez-${PV}" + +inherit autotools pkgconfig |