summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMika Laitio <lamikr@cc.jyu.fi>2006-11-10 12:03:55 +0200
committerlamikr <lamikr@localhost.(none)>2006-11-10 12:03:55 +0200
commite492485c852f861950d2aeb7d9ad40811e503e18 (patch)
tree02d18483f72017205ec1dbe2d0f4581311802862
parent215ddf4bdb36e53af313d662958bb94c30d91e48 (diff)
updated familiar to use dbus 0.94. That caused also the update of modules using DBUS api. Thanks for the oe.openembedded.dev for the patches. Other fixes includes the update to bluetooth for adding the support to load of texas instrument specific firmware script during hciattach automatically if present. That will fasten the bt radio from 115200 to 921600
-rw-r--r--org.handhelds.familiar/conf/distro/familiar-0.8.4.conf3
-rw-r--r--org.handhelds.familiar/conf/distro/preferred-gpe-versions-2.7.inc6
-rw-r--r--org.handhelds.familiar/conf/distro/preferred-gpe-versions.inc2
-rw-r--r--org.handhelds.familiar/packages/bluez/bluez-libs_3.4.bb22
-rw-r--r--org.handhelds.familiar/packages/bluez/bluez-libs_3.7.bb22
-rw-r--r--org.handhelds.familiar/packages/bluez/bluez-utils/02dtl1_cs.sh57
-rw-r--r--org.handhelds.familiar/packages/bluez/bluez-utils/hciattach-ti-bts.patch489
-rw-r--r--org.handhelds.familiar/packages/bluez/bluez-utils/hcid.conf57
-rw-r--r--org.handhelds.familiar/packages/bluez/bluez-utils_3.4.bb53
-rw-r--r--org.handhelds.familiar/packages/bluez/bluez-utils_3.4/hciattach-ti-bts.patch489
-rw-r--r--org.handhelds.familiar/packages/curl/curl_7.16.0.bb38
-rw-r--r--org.handhelds.familiar/packages/dbus/dbus-0.94/fix-install-daemon.patch13
-rw-r--r--org.handhelds.familiar/packages/dbus/dbus-glib-native/run-with-tmp-session-bus.patch32
-rw-r--r--org.handhelds.familiar/packages/dbus/dbus-glib-native_0.71.bb22
-rw-r--r--org.handhelds.familiar/packages/dbus/dbus-glib/cross.patch15
-rw-r--r--org.handhelds.familiar/packages/dbus/dbus-glib/no-examples.patch8
-rw-r--r--org.handhelds.familiar/packages/dbus/dbus-glib/no-introspect.patch17
-rw-r--r--org.handhelds.familiar/packages/dbus/dbus-glib_0.71.bb29
-rw-r--r--org.handhelds.familiar/packages/dbus/dbus-native_0.94.bb28
-rw-r--r--org.handhelds.familiar/packages/dbus/dbus/fix-segfault.patch11
-rw-r--r--org.handhelds.familiar/packages/dbus/dbus_0.94.bb64
-rw-r--r--org.handhelds.familiar/packages/gnome/files/gtk-doc.m453
-rw-r--r--org.handhelds.familiar/packages/gnome/files/gtk-doc.make148
-rw-r--r--org.handhelds.familiar/packages/gnome/gconf-dbus/xml-backend-locks-compile-fix.patch16
-rw-r--r--org.handhelds.familiar/packages/gnome/gconf-dbus/xml-backend-oldxml-Makefile.patch11
-rw-r--r--org.handhelds.familiar/packages/gnome/gconf-dbus_svn.bb47
-rw-r--r--org.handhelds.familiar/packages/gnome/gnome-vfs-dbus/dbus-api-change.patch78
-rw-r--r--org.handhelds.familiar/packages/gnome/gnome-vfs-dbus/glib-after-nameser.patch18
-rw-r--r--org.handhelds.familiar/packages/gnome/gnome-vfs-dbus/werror_compile.patch11
-rw-r--r--org.handhelds.familiar/packages/gnome/gnome-vfs-dbus_svn.bb110
-rw-r--r--org.handhelds.familiar/packages/gpe-autostarter/gpe-autostarter_0.12.bb6
-rw-r--r--org.handhelds.familiar/packages/gpe-beam/gpe-beam_0.2.9.bb9
-rw-r--r--org.handhelds.familiar/packages/gpe-bluetooth/files/hciattach-bts.patch16
-rw-r--r--org.handhelds.familiar/packages/gpe-bluetooth/files/include-sdp_lib.patch9
-rw-r--r--org.handhelds.familiar/packages/gpe-bluetooth/gpe-bluetooth_0.51.bb3
-rw-r--r--org.handhelds.familiar/packages/gpe-bluetooth/gpe-bluetooth_0.54.bb16
-rw-r--r--org.handhelds.familiar/packages/libxml/libxml2-native_2.6.10.bb16
-rw-r--r--org.handhelds.familiar/packages/samba/samba_3.0.20.bb2
38 files changed, 2039 insertions, 7 deletions
diff --git a/org.handhelds.familiar/conf/distro/familiar-0.8.4.conf b/org.handhelds.familiar/conf/distro/familiar-0.8.4.conf
index 86d006d..8e7a10c 100644
--- a/org.handhelds.familiar/conf/distro/familiar-0.8.4.conf
+++ b/org.handhelds.familiar/conf/distro/familiar-0.8.4.conf
@@ -34,7 +34,8 @@ PREFERRED_VERSION_orinoco-modules_ipaq-pxa270 ?= "0.15"
CVSDATE_handhelds-pxa-2.6 = "20051221"
CVSDATE_LAB-kernel = "20060421"
-CVSDATE_gomunicator = "20060518"
+#CVSDATE_gomunicator = "20060518"
+CVSDATE_gomunicator = "20061108"
#The CSL compiler is unusable because
# 1) certain programs stop to compile
diff --git a/org.handhelds.familiar/conf/distro/preferred-gpe-versions-2.7.inc b/org.handhelds.familiar/conf/distro/preferred-gpe-versions-2.7.inc
index a46d4c6..21b9295 100644
--- a/org.handhelds.familiar/conf/distro/preferred-gpe-versions-2.7.inc
+++ b/org.handhelds.familiar/conf/distro/preferred-gpe-versions-2.7.inc
@@ -49,9 +49,9 @@ PREFERRED_VERSION_gpe-sketchbook ?= "0.2.9"
PREFERRED_VERSION_gpe-contacts ?= "0.43"
PREFERRED_VERSION_gpe-today ?= "0.11"
PREFERRED_VERSION_matchbox-panel-manager ?= "0.1"
-PREFERRED_VERSION_dbus ?= "0.23.4"
-PREFERRED_VERSION_gpe-beam ?= "0.2.8"
-PREFERRED_VERSION_gpe-bluetooth ?= "0.51"
+#PREFERRED_VERSION_dbus ?= "0.23.4"
+PREFERRED_VERSION_gpe-beam ?= "0.2.9"
+PREFERRED_VERSION_gpe-bluetooth ?= "0.54"
PREFERRED_VERSION_gpe-su ?= "0.19"
PREFERRED_VERSION_gpe-conf ?= "0.1.30"
PREFERRED_VERSION_gpe-clock ?= "0.25"
diff --git a/org.handhelds.familiar/conf/distro/preferred-gpe-versions.inc b/org.handhelds.familiar/conf/distro/preferred-gpe-versions.inc
index b68eb32..1037467 100644
--- a/org.handhelds.familiar/conf/distro/preferred-gpe-versions.inc
+++ b/org.handhelds.familiar/conf/distro/preferred-gpe-versions.inc
@@ -43,7 +43,7 @@ PREFERRED_VERSION_xrdb ?= "0.0cvs${CVSDATE}"
#PREFERRED_VERSION_gpe-contacts ?= "0.36"
#PREFERRED_VERSION_gpe-today ?= "0.08"
#PREFERRED_VERSION_matchbox-panel-manager ?= "0.1"
-PREFERRED_VERSION_dbus ?= "0.23.4"
+#PREFERRED_VERSION_dbus ?= "0.23.4"
#PREFERRED_VERSION_gpe-bluetooth ?= "0.38"
#PREFERRED_VERSION_gpe-su ?= "0.18"
#PREFERRED_VERSION_gpe-conf ?= "0.1.23"
diff --git a/org.handhelds.familiar/packages/bluez/bluez-libs_3.4.bb b/org.handhelds.familiar/packages/bluez/bluez-libs_3.4.bb
new file mode 100644
index 0000000..d740bd8
--- /dev/null
+++ b/org.handhelds.familiar/packages/bluez/bluez-libs_3.4.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Linux Bluetooth Stack Userland Libaries."
+SECTION = "libs"
+PRIORITY = "optional"
+HOMEPAGE = "http://www.bluez.org"
+LICENSE = "GPL"
+PR = "r0"
+
+SRC_URI = "http://bluez.sourceforge.net/download/bluez-libs-${PV}.tar.gz"
+
+inherit autotools pkgconfig
+
+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() {
+ oe_libinstall -a -so -C src libbluetooth ${STAGING_LIBDIR}
+
+ install -d ${STAGING_INCDIR}/bluetooth/
+ for f in ${HEADERS}
+ do
+ install -m 0644 include/$f ${STAGING_INCDIR}/bluetooth/$f
+ done
+}
diff --git a/org.handhelds.familiar/packages/bluez/bluez-libs_3.7.bb b/org.handhelds.familiar/packages/bluez/bluez-libs_3.7.bb
new file mode 100644
index 0000000..d740bd8
--- /dev/null
+++ b/org.handhelds.familiar/packages/bluez/bluez-libs_3.7.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Linux Bluetooth Stack Userland Libaries."
+SECTION = "libs"
+PRIORITY = "optional"
+HOMEPAGE = "http://www.bluez.org"
+LICENSE = "GPL"
+PR = "r0"
+
+SRC_URI = "http://bluez.sourceforge.net/download/bluez-libs-${PV}.tar.gz"
+
+inherit autotools pkgconfig
+
+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() {
+ oe_libinstall -a -so -C src libbluetooth ${STAGING_LIBDIR}
+
+ install -d ${STAGING_INCDIR}/bluetooth/
+ for f in ${HEADERS}
+ do
+ install -m 0644 include/$f ${STAGING_INCDIR}/bluetooth/$f
+ done
+}
diff --git a/org.handhelds.familiar/packages/bluez/bluez-utils/02dtl1_cs.sh b/org.handhelds.familiar/packages/bluez/bluez-utils/02dtl1_cs.sh
new file mode 100644
index 0000000..fd81508
--- /dev/null
+++ b/org.handhelds.familiar/packages/bluez/bluez-utils/02dtl1_cs.sh
@@ -0,0 +1,57 @@
+#!/bin/sh
+
+case "$1" in
+ suspend)
+ if [ "`/bin/hciconfig`" != "" ]; then
+ #If hciconfig outputs anything then there's probably a Bluetooth
+ # CF card in the slot so shut it down.
+ hcitool dc `hcitool con | grep ACL | sed 's/^.*\([0-9A-F]\{2\}\(:[0-9A-F]\{2\}\)\{5\}\).*$/\1/'`
+ hciconfig hci0 down
+ killall hciattach > /dev/null 2>&1
+ fi
+ ;;
+
+ resume)
+ #check for kernel version
+ if [ "`uname -r | grep 2.4.`" != "" ]; then
+ k="o"
+ elif [ "`uname -r | grep 2.6.`" != "" ]; then
+ k="ko"
+ else
+ exit 0
+ fi
+
+ if test -e /sbin/cardctl; then
+ CARDCTL=/sbin/cardctl
+ elif test -e /sbin/pccardctl; then
+ CARDCTL=/sbin/pccardctl
+ else
+ exit 0
+ fi
+
+ if [ "`lsmod | grep hci_uart`" != "" ]; then
+ #If the hci_usb module is still loaded then there's a serial based
+ # Bluetooth CF card in the slot, which only needs a resume to get it going
+ # again.
+ rfcomm bind all
+ $CARDCTL resume
+ hciconfig hci0 up
+ else
+ # only works for nokia dtl1 cards
+ for f in /lib/modules/`uname -r`/kernel/drivers/bluetooth/dtl1_cs.$k
+ do
+ #Enumerate all the self-contained Bluetooth CF card drivers
+ f=`echo $f | sed 's/\.'$k'$//'`
+ f=`basename $f`
+ if [ "`lsmod | grep $f`" != "" ]; then
+ #If one of these drivers is still loaded, then there is probably
+ #a non-serial based Bluetooth CF card in the slot that needs
+ #ejecting and reinserting to get it going again
+ rfcomm bind all
+ $CARDCTL eject
+ $CARDCTL insert
+ hciconfig hci0 up
+ fi
+ done
+ fi
+esac
diff --git a/org.handhelds.familiar/packages/bluez/bluez-utils/hciattach-ti-bts.patch b/org.handhelds.familiar/packages/bluez/bluez-utils/hciattach-ti-bts.patch
new file mode 100644
index 0000000..217c326
--- /dev/null
+++ b/org.handhelds.familiar/packages/bluez/bluez-utils/hciattach-ti-bts.patch
@@ -0,0 +1,489 @@
+--- 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/org.handhelds.familiar/packages/bluez/bluez-utils/hcid.conf b/org.handhelds.familiar/packages/bluez/bluez-utils/hcid.conf
new file mode 100644
index 0000000..bb935aa
--- /dev/null
+++ b/org.handhelds.familiar/packages/bluez/bluez-utils/hcid.conf
@@ -0,0 +1,57 @@
+#
+# HCI daemon configuration file.
+#
+
+# HCId options
+options {
+ # Automatically initialize new devices
+ autoinit yes;
+
+ # Security Manager mode
+ # none - Security manager disabled
+ # auto - Use local PIN for incoming connections
+ # user - Always ask user for a PIN
+ #
+ security auto;
+
+ # Pairing mode
+ # none - Pairing disabled
+ # multi - Allow pairing with already paired devices
+ # once - Pair once and deny successive attempts
+ pairing multi;
+
+ # Default PIN code for incoming connections
+ passkey "BlueZ";
+}
+
+# Default settings for HCI devices
+device {
+ # Local device name
+ # %d - device id
+ # %h - host name
+ name "BlueZ (%d)";
+
+ # Local device class
+ class 0x120112;
+
+ # Default packet type
+ #pkt_type DH1,DM1,HV1;
+
+ # Inquiry and Page scan
+ iscan enable; pscan enable;
+
+ # Default link mode
+ # none - no specific policy
+ # accept - always accept incoming connections
+ # master - become master on incoming connections,
+ # deny role switch on outgoing connections
+ lm accept;
+
+ # Default link policy
+ # none - no specific policy
+ # rswitch - allow role switch
+ # hold - allow hold mode
+ # sniff - allow sniff mode
+ # park - allow park mode
+ lp rswitch,hold,sniff,park;
+}
diff --git a/org.handhelds.familiar/packages/bluez/bluez-utils_3.4.bb b/org.handhelds.familiar/packages/bluez/bluez-utils_3.4.bb
new file mode 100644
index 0000000..49e6ded
--- /dev/null
+++ b/org.handhelds.familiar/packages/bluez/bluez-utils_3.4.bb
@@ -0,0 +1,53 @@
+DESCRIPTION = "Linux Bluetooth Stack Userland Utilities."
+SECTION = "console"
+PRIORITY = "optional"
+DEPENDS = "bluez-libs-${PV} dbus"
+PROVIDES = "bluez-utils-dbus"
+RPROVIDES_${PN} = "bluez-pan bluez-sdp bluez-utils-dbus"
+RREPLACES = "bluez-utils-dbus"
+RCONFLICTS_${PN} = "bluez-utils-nodbus"
+LICENSE = "GPL"
+PR = "r1"
+
+SRC_URI = "http://bluez.sourceforge.net/download/bluez-utils-${PV}.tar.gz \
+ file://hcid.conf \
+ file://02dtl1_cs.sh \
+ file://hciattach-ti-bts.patch;patch=1"
+
+# 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}"
+
+EXTRA_OECONF = "--enable-initscripts --enable-bcm203x --enable-hid2hci"
+# --enable-obex enable OBEX support
+# --enable-alsa enable ALSA support
+# --enable-cups install CUPS backend support
+# --enable-bccmd install BCCMD interface utility
+# --enable-avctrl install Audio/Video control utility
+# --enable-hid2hci install HID mode switching utility
+# --enable-dfutool install DFU firmware upgrade utility
+
+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/
+ install -m 0755 ${WORKDIR}/02dtl1_cs.sh ${D}${sysconfdir}/apm/event.d/
+}
+
+CONFFILES_${PN} = "${sysconfdir}/bluetooth/hcid.conf ${sysconfdir}/bluetooth/rfcomm.conf \
+ ${sysconfdir}/default/bluetooth"
+
+PACKAGES =+ "${PN}-ciptool"
+FILES_${PN}-ciptool = "/bin/ciptool"
+RREPLACES_${PN}-ciptool = "bluez-utils-dbus-ciptool"
+RCONFLICTS_${PN}-ciptool = "bluez-utils-dbus-ciptool bluez-utils-nodbus"
diff --git a/org.handhelds.familiar/packages/bluez/bluez-utils_3.4/hciattach-ti-bts.patch b/org.handhelds.familiar/packages/bluez/bluez-utils_3.4/hciattach-ti-bts.patch
new file mode 100644
index 0000000..8fe37de
--- /dev/null
+++ b/org.handhelds.familiar/packages/bluez/bluez-utils_3.4/hciattach-ti-bts.patch
@@ -0,0 +1,489 @@
+--- bluez-utils-2.24/tools/hciattach.c.orig 2005-12-10 15:14:36.000000000 +0100
++++ bluez-utils-2.24/tools/hciattach.c 2006-01-22 13:56:13.000000000 +0100
+@@ -57,6 +57,8 @@
+ #define HCI_UART_3WIRE 2
+ #define HCI_UART_H4DS 3
+
++#include "ti_bts.h"
++
+ struct uart_t {
+ char *type;
+ int m_id;
+@@ -66,6 +68,7 @@
+ int speed;
+ int flags;
+ int (*init) (int fd, struct uart_t *u, struct termios *ti);
++ char *bts; /* bluetooth script */
+ };
+
+ #define FLOW_CTL 0x0001
+@@ -241,6 +244,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};
+@@ -281,14 +392,25 @@
+ } 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;
+@@ -953,7 +1075,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");
+ }
+
+@@ -970,11 +1092,12 @@
+ pid_t pid;
+ struct sigaction sa;
+ 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;
+@@ -996,6 +1119,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,
+@@ -1067,6 +1194,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-2.24/tools/Makefile.am.orig 2005-12-03 07:22:16.000000000 +0100
++++ bluez-utils-2.24/tools/Makefile.am 2006-01-22 13:53:59.000000000 +0100
+@@ -37,6 +37,9 @@
+
+ noinst_PROGRAMS = hcisecfilter ppporc
+
++hciattach_SOURCES = hciattach.c ti_bts.h ti_bts.c
++hciattach_LDADD = @BLUEZ_LIBS@
++
+ hciconfig_SOURCES = hciconfig.c csr.h csr.c
+ hciconfig_LDADD = @BLUEZ_LIBS@ $(top_builddir)/common/libtextfile.a
+
+--- bluez-utils-2.24/tools/ti_bts.h.orig 2006-01-22 13:56:38.000000000 +0100
++++ bluez-utils-2.24/tools/ti_bts.h 2006-01-22 13:53:59.000000000 +0100
+@@ -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-2.24/tools/ti_bts.c.orig 2006-01-22 13:56:36.000000000 +0100
++++ bluez-utils-2.24/tools/ti_bts.c 2006-01-22 13:56:31.000000000 +0100
+@@ -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/org.handhelds.familiar/packages/curl/curl_7.16.0.bb b/org.handhelds.familiar/packages/curl/curl_7.16.0.bb
new file mode 100644
index 0000000..6d31343
--- /dev/null
+++ b/org.handhelds.familiar/packages/curl/curl_7.16.0.bb
@@ -0,0 +1,38 @@
+DESCRIPTION = "Command line tool and library for client-side URL transfers."
+LICENSE = "MIT"
+DEPENDS = "zlib"
+SECTION = "console/network"
+
+SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \
+ file://dont-touch-ld-library-path.patch;patch=1"
+S = "${WORKDIR}/curl-${PV}"
+
+inherit autotools pkgconfig binconfig
+
+EXTRA_OECONF = "--with-zlib=${STAGING_LIBDIR}/../ \
+ --without-ssl \
+ --with-gnutls \
+ --with-random=/dev/urandom \
+ --without-idn"
+
+do_stage () {
+ install -d ${STAGING_INCDIR}/curl
+ install -m 0644 ${S}/include/curl/*.h ${STAGING_INCDIR}/curl/
+ oe_libinstall -so -a -C lib libcurl ${STAGING_LIBDIR}
+}
+
+PACKAGES = "curl curl-doc libcurl libcurl-dev libcurl-doc"
+FILES_${PN} = "${bindir}/curl"
+FILES_${PN}-doc = "${mandir}/man1/curl.1"
+FILES_lib${PN} = "${libdir}/lib*.so.* \
+ ${datadir}/curl/curl-ca-bundle.crt"
+FILES_lib${PN}-dev = "${includedir} \
+ ${libdir}/lib*.so \
+ ${libdir}/lib*.a \
+ ${libdir}/lib*.la \
+ ${libdir}/pkgconfig \
+ ${datadir}/aclocal \
+ ${bindir}/*-config"
+FILES_lib${PN}-doc = "${mandir}/man3 \
+ ${mandir}/man1/curl-config.1"
+
diff --git a/org.handhelds.familiar/packages/dbus/dbus-0.94/fix-install-daemon.patch b/org.handhelds.familiar/packages/dbus/dbus-0.94/fix-install-daemon.patch
new file mode 100644
index 0000000..c317863
--- /dev/null
+++ b/org.handhelds.familiar/packages/dbus/dbus-0.94/fix-install-daemon.patch
@@ -0,0 +1,13 @@
+Index: dbus-0.94/bus/Makefile.am
+===================================================================
+--- dbus-0.94.orig/bus/Makefile.am 2006-10-01 17:36:18.000000000 +0200
++++ dbus-0.94/bus/Makefile.am 2006-10-14 21:40:05.000000000 +0200
+@@ -110,7 +110,7 @@
+ $(mkinstalldirs) $(DESTDIR)$(DBUS_DAEMONDIR); \
+ chmod 755 $(DESTDIR)$(DBUS_DAEMONDIR); \
+ fi
+- $(INSTALL_PROGRAM) dbus-daemon $(DESTDIR)$(DBUS_DAEMONDIR)
++ $(INSTALL_PROGRAM) .libs/dbus-daemon $(DESTDIR)$(DBUS_DAEMONDIR)
+ $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus
+ $(mkinstalldirs) $(DESTDIR)$(configdir)/system.d
+ $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/services
diff --git a/org.handhelds.familiar/packages/dbus/dbus-glib-native/run-with-tmp-session-bus.patch b/org.handhelds.familiar/packages/dbus/dbus-glib-native/run-with-tmp-session-bus.patch
new file mode 100644
index 0000000..186abdb
--- /dev/null
+++ b/org.handhelds.familiar/packages/dbus/dbus-glib-native/run-with-tmp-session-bus.patch
@@ -0,0 +1,32 @@
+--- dbus-glib-0.71/tools/Makefile.am.orig 2006-08-27 12:54:34.351198198 +0200
++++ dbus-glib-0.71/tools/Makefile.am 2006-08-27 12:55:12.533584373 +0200
+@@ -9,7 +9,7 @@
+ BUILT_SOURCES = dbus-glib-bindings.h dbus-bus-introspect.xml
+
+ dbus-bus-introspect.xml:
+- DBUS_TOP_BUILDDIR=$(top_builddir) dbus-send --system --print-reply=literal --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.Introspectable.Introspect > dbus-bus-introspect.xml.tmp && mv dbus-bus-introspect.xml.tmp dbus-bus-introspect.xml
++ DBUS_TOP_BUILDDIR=$(top_builddir) ./run-with-tmp-session-bus.sh dbus-send --print-reply=literal --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.Introspectable.Introspect > dbus-bus-introspect.xml.tmp && mv dbus-bus-introspect.xml.tmp dbus-bus-introspect.xml
+
+ EXTRA_DIST = run-with-tmp-session-bus.sh
+
+--- dbus-glib-0.71/tools/run-with-tmp-session-bus.sh.orig 2006-08-27 11:52:17.497666746 +0200
++++ dbus-glib-0.71/tools/run-with-tmp-session-bus.sh 2006-08-27 12:53:22.626715838 +0200
+@@ -27,16 +27,15 @@
+ echo "escaped service dir is: $ESCAPED_SERVICE_DIR" >&2
+
+ ## create a configuration file based on the standard session.conf
+-cat $DBUS_TOP_BUILDDIR/tools/session.conf | \
++cat $datadir/dbus/session.conf | \
+ sed -e 's/<servicedir>.*$/<servicedir>'$ESCAPED_SERVICE_DIR'<\/servicedir>/g' | \
+ sed -e 's/<include.*$//g' \
+ > $CONFIG_FILE
+
+ echo "Created configuration file $CONFIG_FILE" >&2
+
+-export PATH=$DBUS_TOP_BUILDDIR/bus:$PATH
+ ## the libtool script found by the path search should already do this, but
+-export LD_LIBRARY_PATH=$DBUS_TOP_BUILDDIR/dbus/.libs:$LD_LIBRARY_PATH
++export LD_LIBRARY_PATH=$libdir:$LD_LIBRARY_PATH
+
+ unset DBUS_SESSION_BUS_ADDRESS
+ unset DBUS_SESSION_BUS_PID
diff --git a/org.handhelds.familiar/packages/dbus/dbus-glib-native_0.71.bb b/org.handhelds.familiar/packages/dbus/dbus-glib-native_0.71.bb
new file mode 100644
index 0000000..1f5d71d
--- /dev/null
+++ b/org.handhelds.familiar/packages/dbus/dbus-glib-native_0.71.bb
@@ -0,0 +1,22 @@
+SECTION = "base"
+PR = "r0"
+HOMEPAGE = "http://www.freedesktop.org/Software/dbus"
+DESCRIPTION = "message bus system for applications to talk to one another"
+LICENSE = "GPL"
+
+SRC_URI = "http://freedesktop.org/software/dbus/releases/dbus-glib-${PV}.tar.gz \
+ file://cross.patch;patch=1 \
+ file://run-with-tmp-session-bus.patch;patch=1"
+
+inherit autotools pkgconfig gettext native
+
+S = "${WORKDIR}/dbus-glib-${PV}"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/dbus-glib"
+DEPENDS = "glib-2.0-native dbus-native"
+
+do_stage() {
+ oe_runmake install
+ install -d ${STAGING_DATADIR}/dbus
+ install -m 0644 tools/dbus-bus-introspect.xml ${STAGING_DATADIR}/dbus
+ install -m 0644 tools/dbus-glib-bindings.h ${STAGING_DATADIR}/dbus
+}
diff --git a/org.handhelds.familiar/packages/dbus/dbus-glib/cross.patch b/org.handhelds.familiar/packages/dbus/dbus-glib/cross.patch
new file mode 100644
index 0000000..6d1d9d8
--- /dev/null
+++ b/org.handhelds.familiar/packages/dbus/dbus-glib/cross.patch
@@ -0,0 +1,15 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- dbus-0.20/configure.in~cross
++++ dbus-0.20/configure.in
+@@ -466,6 +466,7 @@
+ exit (0);
+ ]])],
+ [have_abstract_sockets=yes],
++ [have_abstract_sockets=no],
+ [have_abstract_sockets=no])
+ AC_LANG_POP(C)
+ AC_MSG_RESULT($have_abstract_sockets)
diff --git a/org.handhelds.familiar/packages/dbus/dbus-glib/no-examples.patch b/org.handhelds.familiar/packages/dbus/dbus-glib/no-examples.patch
new file mode 100644
index 0000000..483153d
--- /dev/null
+++ b/org.handhelds.familiar/packages/dbus/dbus-glib/no-examples.patch
@@ -0,0 +1,8 @@
+--- dbus-glib-0.70/dbus/Makefile.am.orig 2006-07-23 16:04:43.000000000 +0200
++++ dbus-glib-0.70/dbus/Makefile.am 2006-07-23 16:04:52.000000000 +0200
+@@ -1,4 +1,4 @@
+-SUBDIRS = . examples
++SUBDIRS = .
+
+ INCLUDES=-I$(top_srcdir) $(DBUS_CFLAGS) $(DBUS_GLIB_CFLAGS) $(DBUS_GLIB_TOOL_CFLAGS) -DDBUS_COMPILATION=1 -DDBUS_LOCALEDIR=\"$(prefix)/@DATADIRNAME@/locale\"
+
diff --git a/org.handhelds.familiar/packages/dbus/dbus-glib/no-introspect.patch b/org.handhelds.familiar/packages/dbus/dbus-glib/no-introspect.patch
new file mode 100644
index 0000000..7057a63
--- /dev/null
+++ b/org.handhelds.familiar/packages/dbus/dbus-glib/no-introspect.patch
@@ -0,0 +1,17 @@
+--- dbus-glib-0.70/tools/Makefile.am.orig 2006-07-23 15:53:06.000000000 +0200
++++ dbus-glib-0.70/tools/Makefile.am 2006-07-23 15:53:53.000000000 +0200
+@@ -3,14 +3,8 @@
+ nodist_libdbus_glib_HEADERS = dbus-glib-bindings.h
+ libdbus_glibdir = $(includedir)/dbus-1.0/dbus
+
+-dbus-glib-bindings.h: dbus-bus-introspect.xml $(top_builddir)/dbus/dbus-binding-tool$(EXEEXT)
+- $(top_builddir)/dbus/dbus-binding-tool --mode=glib-client --output=dbus-glib-bindings.h dbus-bus-introspect.xml
+-
+ BUILT_SOURCES = dbus-glib-bindings.h dbus-bus-introspect.xml
+
+-dbus-bus-introspect.xml:
+- DBUS_TOP_BUILDDIR=$(top_builddir) dbus-send --system --print-reply=literal --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.Introspectable.Introspect > dbus-bus-introspect.xml.tmp && mv dbus-bus-introspect.xml.tmp dbus-bus-introspect.xml
+-
+ EXTRA_DIST = run-with-tmp-session-bus.sh
+
+ CLEANFILES = \
diff --git a/org.handhelds.familiar/packages/dbus/dbus-glib_0.71.bb b/org.handhelds.familiar/packages/dbus/dbus-glib_0.71.bb
new file mode 100644
index 0000000..26bc851
--- /dev/null
+++ b/org.handhelds.familiar/packages/dbus/dbus-glib_0.71.bb
@@ -0,0 +1,29 @@
+SECTION = "base"
+PR = "r0"
+HOMEPAGE = "http://www.freedesktop.org/Software/dbus"
+DESCRIPTION = "message bus system for applications to talk to one another"
+LICENSE = "GPL"
+DEPENDS = "expat glib-2.0 virtual/libintl dbus-glib-native dbus"
+
+SRC_URI = "http://freedesktop.org/software/dbus/releases/dbus-glib-${PV}.tar.gz \
+ file://cross.patch;patch=1 \
+ file://no-examples.patch;patch=1 \
+ file://no-introspect.patch;patch=1"
+
+inherit autotools pkgconfig gettext
+
+FILES_${PN} = "${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool"
+
+do_configure_prepend() {
+ install -m 0644 ${STAGING_DIR}/${BUILD_SYS}/share/dbus/dbus-bus-introspect.xml ${S}/tools/
+ install -m 0644 ${STAGING_DIR}/${BUILD_SYS}/share/dbus/dbus-glib-bindings.h ${S}/tools/
+}
+
+do_stage () {
+ oe_libinstall -so -C dbus libdbus-glib-1 ${STAGING_LIBDIR}
+
+ autotools_stage_includes
+}
+
+FILES_${PN}-dev += "${bindir}/dbus-binding-tool"
diff --git a/org.handhelds.familiar/packages/dbus/dbus-native_0.94.bb b/org.handhelds.familiar/packages/dbus/dbus-native_0.94.bb
new file mode 100644
index 0000000..2d99c56
--- /dev/null
+++ b/org.handhelds.familiar/packages/dbus/dbus-native_0.94.bb
@@ -0,0 +1,28 @@
+SECTION = "base"
+PR = "r0"
+HOMEPAGE = "http://www.freedesktop.org/Software/dbus"
+DESCRIPTION = "message bus system for applications to talk to one another"
+LICENSE = "GPL"
+
+S = "${WORKDIR}/dbus-${PV}"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/dbus"
+DEPENDS = "glib-2.0-native libxml2-native expat-native"
+
+SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
+ file://cross.patch;patch=1 \
+ file://tmpdir.patch;patch=1"
+
+inherit autotools pkgconfig gettext native
+
+EXTRA_OECONF = "--disable-qt --disable-qt3 --disable-gtk --disable-tests \
+ --disable-checks --disable-xml-docs --disable-doxygen-docs \
+ --with-xml=expat --without-x"
+
+do_stage () {
+ oe_runmake install
+ autotools_stage_all
+
+ # for dbus-glib-native introspection generation
+ install -d ${STAGING_DATADIR}/dbus
+ install -m 0644 bus/session.conf ${STAGING_DATADIR}/dbus/session.conf
+}
diff --git a/org.handhelds.familiar/packages/dbus/dbus/fix-segfault.patch b/org.handhelds.familiar/packages/dbus/dbus/fix-segfault.patch
new file mode 100644
index 0000000..de5bcff
--- /dev/null
+++ b/org.handhelds.familiar/packages/dbus/dbus/fix-segfault.patch
@@ -0,0 +1,11 @@
+--- /tmp/dbus-marshal-recursive.c 2006-07-28 14:58:08.000000000 +0200
++++ dbus-0.90/dbus/dbus-marshal-recursive.c 2006-07-28 14:58:18.724411000 +0200
+@@ -1294,7 +1294,7 @@
+ _dbus_string_get_length (&block->replacement) - block->padding,
+ &fixups))
+ goto oom;
+-
++printf("%s(%d)""got here", __FILE__, __LINE__);
+ #if RECURSIVE_MARSHAL_WRITE_TRACE
+ _dbus_verbose ("REPLACEMENT at padding %d len %d\n", block->padding,
+ _dbus_string_get_length (&block->replacement) - block->padding);
diff --git a/org.handhelds.familiar/packages/dbus/dbus_0.94.bb b/org.handhelds.familiar/packages/dbus/dbus_0.94.bb
new file mode 100644
index 0000000..7c3f5fc
--- /dev/null
+++ b/org.handhelds.familiar/packages/dbus/dbus_0.94.bb
@@ -0,0 +1,64 @@
+#DEFAULT_PREFERENCE = "-1"
+
+SECTION = "base"
+HOMEPAGE = "http://www.freedesktop.org/Software/dbus"
+DESCRIPTION = "message bus system for applications to talk to one another"
+LICENSE = "GPL"
+DEPENDS = "expat glib-2.0 virtual/libintl"
+
+SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
+ file://cross.patch;patch=1 \
+ file://tmpdir.patch;patch=1 \
+ file://dbus-1.init \
+ file://fix-segfault.patch;patch=1 \
+ file://fix-install-daemon.patch;patch=1"
+
+inherit autotools pkgconfig update-rc.d gettext
+
+INITSCRIPT_NAME = "dbus-1"
+INITSCRIPT_PARAMS = "defaults"
+
+CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session.conf"
+
+FILES_${PN} = "${bindir}/dbus-daemon ${bindir}/dbus-launch ${bindir}/dbus-cleanup-sockets ${bindir}/dbus-send ${bindir}/dbus-monitor ${bindir}/dbus-uuidgen ${sysconfdir} ${datadir}/dbus-1/services ${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${libdir}/dbus-1.0/include"
+
+pkg_postinst_dbus() {
+#!/bin/sh
+
+# can't do adduser stuff offline
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+MESSAGEUSER=messagebus
+MESSAGEHOME=/var/run/dbus
+
+mkdir -p $MESSAGEHOME || true
+chgrp "$MESSAGEUSER" "$MESSAGEHOME" 2>/dev/null || addgroup "$MESSAGEUSER"
+chown "$MESSAGEUSER"."$MESSAGEUSER" "$MESSAGEHOME" 2>/dev/null || adduser --system --home "$MESSAGEHOME" --no-create-home --disabled-password --ingroup "$MESSAGEUSER" "$MESSAGEUSER"
+dbus-uuidgen --ensure
+}
+
+EXTRA_OECONF = "--disable-qt --disable-qt3 --disable-gtk --disable-tests \
+ --disable-checks --disable-xml-docs --disable-doxygen-docs \
+ --with-xml=expat --without-x"
+
+do_stage () {
+ oe_libinstall -so -C dbus libdbus-1 ${STAGING_LIBDIR}
+
+ autotools_stage_includes
+
+ mkdir -p ${STAGING_LIBDIR}/dbus-1.0/include/dbus/
+ install -m 0644 dbus/dbus-arch-deps.h ${STAGING_LIBDIR}/dbus-1.0/include/dbus/
+}
+
+do_install_append () {
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/dbus-1.init ${D}${sysconfdir}/init.d/dbus-1
+}
+
+python populate_packages_prepend () {
+ if (bb.data.getVar('DEBIAN_NAMES', d, 1)):
+ bb.data.setVar('PKG_dbus', 'dbus-1', d)
+}
diff --git a/org.handhelds.familiar/packages/gnome/files/gtk-doc.m4 b/org.handhelds.familiar/packages/gnome/files/gtk-doc.m4
new file mode 100644
index 0000000..3ec4166
--- /dev/null
+++ b/org.handhelds.familiar/packages/gnome/files/gtk-doc.m4
@@ -0,0 +1,53 @@
+dnl -*- mode: autoconf -*-
+
+# serial 1
+
+dnl Usage:
+dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
+AC_DEFUN([GTK_DOC_CHECK],
+[
+ AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
+ AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
+ dnl for overriding the documentation installation directory
+ AC_ARG_WITH(html-dir,
+ AC_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
+ [with_html_dir='${datadir}/gtk-doc/html'])
+ HTML_DIR="$with_html_dir"
+ AC_SUBST(HTML_DIR)
+
+ dnl enable/disable documentation building
+ AC_ARG_ENABLE(gtk-doc,
+ AC_HELP_STRING([--enable-gtk-doc],
+ [use gtk-doc to build documentation [default=no]]),,
+ enable_gtk_doc=no)
+
+ have_gtk_doc=no
+ if test -z "$PKG_CONFIG"; then
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ fi
+ if test "$PKG_CONFIG" != "no" && $PKG_CONFIG --exists gtk-doc; then
+ have_gtk_doc=yes
+ fi
+
+ dnl do we want to do a version check?
+ifelse([$1],[],,
+ [gtk_doc_min_version=$1
+ if test "$have_gtk_doc" = yes; then
+ AC_MSG_CHECKING([gtk-doc version >= $gtk_doc_min_version])
+ if $PKG_CONFIG --atleast-version $gtk_doc_min_version gtk-doc; then
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ have_gtk_doc=no
+ fi
+ fi
+])
+ if test x$enable_gtk_doc = xyes; then
+ if test "$have_gtk_doc" != yes; then
+ enable_gtk_doc=no
+ fi
+ fi
+
+ AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
+ AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL")
+])
diff --git a/org.handhelds.familiar/packages/gnome/files/gtk-doc.make b/org.handhelds.familiar/packages/gnome/files/gtk-doc.make
new file mode 100644
index 0000000..c319e7a
--- /dev/null
+++ b/org.handhelds.familiar/packages/gnome/files/gtk-doc.make
@@ -0,0 +1,148 @@
+# -*- mode: makefile -*-
+
+####################################
+# Everything below here is generic #
+####################################
+
+if GTK_DOC_USE_LIBTOOL
+GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
+else
+GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
+endif
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+
+TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+
+EXTRA_DIST = \
+ $(content_files) \
+ $(HTML_IMAGES) \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE).types \
+ $(DOC_MODULE)-sections.txt \
+ $(DOC_MODULE)-overrides.txt
+
+DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
+ $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).interfaces \
+ $(DOC_MODULE).prerequisites \
+ $(DOC_MODULE).signals
+
+CLEANFILES = $(SCANOBJ_FILES) $(DOC_MODULE)-scan.o $(DOC_MODULE)-unused.txt $(DOC_STAMPS)
+
+if ENABLE_GTK_DOC
+all-local: html-build.stamp
+
+#### scan ####
+
+scan-build.stamp: $(HFILE_GLOB)
+ @echo '*** Scanning header files ***'
+ @-chmod -R u+w $(srcdir)
+ if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null ; then \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
+ else \
+ cd $(srcdir) ; \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi
+ cd $(srcdir) && \
+ gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
+ touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp
+ @true
+
+#### templates ####
+
+tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
+ @echo '*** Rebuilding template files ***'
+ @-chmod -R u+w $(srcdir)
+ cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
+ touch tmpl-build.stamp
+
+tmpl.stamp: tmpl-build.stamp
+ @true
+
+#### xml ####
+
+sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml
+ @echo '*** Building XML ***'
+ @-chmod -R u+w $(srcdir)
+ cd $(srcdir) && \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml $(MKDB_OPTIONS)
+ touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+ @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @echo '*** Building HTML ***'
+ @-chmod -R u+w $(srcdir)
+ rm -rf $(srcdir)/html
+ mkdir $(srcdir)/html
+ cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+ test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
+ @echo '-- Fixing Crossreferences'
+ cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+ touch html-build.stamp
+endif
+
+##############
+
+clean-local:
+ rm -f *~ *.bak
+
+maintainer-clean-local: clean
+ cd $(srcdir) && rm -rf xml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+
+install-data-local:
+ $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
+ (installfiles=`echo $(srcdir)/html/*`; \
+ if test "$$installfiles" = '$(srcdir)/html/*'; \
+ then echo '-- Nothing to install' ; \
+ else \
+ for i in $$installfiles; do \
+ echo '-- Installing '$$i ; \
+ $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
+ done; \
+ echo '-- Installing $(srcdir)/html/index.sgml' ; \
+ $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \
+ fi)
+
+uninstall-local:
+ rm -f $(DESTDIR)$(TARGET_DIR)/*
+
+#
+# Require gtk-doc when making dist
+#
+if ENABLE_GTK_DOC
+dist-check-gtkdoc:
+else
+dist-check-gtkdoc:
+ @echo "*** gtk-doc must be installed and enabled in order to make dist"
+ @false
+endif
+
+dist-hook: dist-check-gtkdoc dist-hook-local
+ mkdir $(distdir)/tmpl
+ mkdir $(distdir)/xml
+ mkdir $(distdir)/html
+ -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
+ -cp $(srcdir)/xml/*.xml $(distdir)/xml
+ -cp $(srcdir)/html/* $(distdir)/html
+
+.PHONY : dist-hook-local
diff --git a/org.handhelds.familiar/packages/gnome/gconf-dbus/xml-backend-locks-compile-fix.patch b/org.handhelds.familiar/packages/gnome/gconf-dbus/xml-backend-locks-compile-fix.patch
new file mode 100644
index 0000000..c195aad
--- /dev/null
+++ b/org.handhelds.familiar/packages/gnome/gconf-dbus/xml-backend-locks-compile-fix.patch
@@ -0,0 +1,16 @@
+--- trunk/backends/xml-backend.c~ 2006-01-18 09:57:39.000000000 -0800
++++ trunk/backends/xml-backend.c 2006-01-19 11:38:37.000000000 -0800
+@@ -115,6 +115,13 @@
+
+ typedef struct _XMLSource XMLSource;
+
++extern GConfLock*
++gconf_get_lock (const gchar *lock_directory,
++ GError **err);
++extern gboolean
++gconf_release_lock (GConfLock *lock,
++ GError **err);
++
+ /* XMLSource **/
+
+ struct _XMLSource {
diff --git a/org.handhelds.familiar/packages/gnome/gconf-dbus/xml-backend-oldxml-Makefile.patch b/org.handhelds.familiar/packages/gnome/gconf-dbus/xml-backend-oldxml-Makefile.patch
new file mode 100644
index 0000000..312a356
--- /dev/null
+++ b/org.handhelds.familiar/packages/gnome/gconf-dbus/xml-backend-oldxml-Makefile.patch
@@ -0,0 +1,11 @@
+--- trunk/backends/Makefile~ 2006-01-19 09:52:22.000000000 -0800
++++ trunk/backends/Makefile 2006-01-19 13:13:23.000000000 -0800
+@@ -84,7 +84,7 @@
+ xml_test_OBJECTS = $(am_xml_test_OBJECTS)
+ xml_test_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ $(top_builddir)/gconf/libgconf-$(MAJOR_VERSION).la \
+- $(top_builddir)/backends/libgconfbackend-oldxml.la
++ libgconfbackend-oldxml.la
+ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+ depcomp = $(SHELL) $(top_srcdir)/depcomp
+ am__depfiles_maybe = depfiles
diff --git a/org.handhelds.familiar/packages/gnome/gconf-dbus_svn.bb b/org.handhelds.familiar/packages/gnome/gconf-dbus_svn.bb
new file mode 100644
index 0000000..c027530
--- /dev/null
+++ b/org.handhelds.familiar/packages/gnome/gconf-dbus_svn.bb
@@ -0,0 +1,47 @@
+SECTION = "x11/utils"
+DEPENDS = "gtk+ glib-2.0 dbus dbus-glib libxml2 popt"
+DESCRIPTION = "Settings daemon using DBUS for communication."
+LICENSE = "GPL"
+PROVIDES = "gconf"
+RPROVIDES_${PN} = "gconf"
+RPROVIDES_${PN}-dev = "gconf-dev"
+
+PV = "2.10.0+svn20060719"
+PR = "r0"
+
+SRC_URI = "svn://developer.imendio.com/svn/gconf-dbus;module=trunk;proto=http \
+ file://gconf-dbus-update.patch;patch=1;pnum=0 \
+ file://xml-backend-locks-compile-fix.patch;patch=1 \
+ file://xml-backend-oldxml-Makefile.patch \
+ file://69gconfd-dbus"
+
+inherit pkgconfig autotools
+S = "${WORKDIR}/trunk"
+
+PARALLEL_MAKE = ""
+
+FILES_${PN} += " ${libdir}/gconf-dbus/2/*.so ${libdir}/dbus-1.0 ${sysconfdir} ${datadir}/dbus*"
+FILES_${PN}-dbg += "${libdir}/gconf-dbus/2/.debug"
+
+EXTRA_OECONF = " --with-ipc=dbus --disable-gtk-doc --enable-gtk --host=${HOST_SYS} --enable-shared --disable-static"
+
+HEADERS = "gconf.h gconf-changeset.h gconf-listeners.h gconf-schema.h gconf-value.h gconf-error.h gconf-engine.h gconf-client.h gconf-enum-types.h"
+
+do_compile_prepend() {
+ cd ${S}
+ patch -p1 < ../xml-backend-oldxml-Makefile.patch
+}
+
+do_stage() {
+ oe_libinstall -so -C gconf libgconf-2 ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/gconf/2/gconf/
+ ( cd gconf; for i in ${HEADERS}; do install -m 0644 $i ${STAGING_INCDIR}/gconf/2/gconf/$i; done )
+ install -m 0644 gconf.m4 ${STAGING_DATADIR}/aclocal/gconf-2.m4
+}
+
+do_install_append () {
+ install -d ${D}/${sysconfdir}/X11/Xsession.d
+ install -m 755 ${WORKDIR}/69gconfd-dbus ${D}/${sysconfdir}/X11/Xsession.d/
+ install -d ${D}/${datadir}/dbus-1.0/services/
+ install -m 644 gconf/gconf.service ${D}${datadir}/dbus-1.0/services/
+}
diff --git a/org.handhelds.familiar/packages/gnome/gnome-vfs-dbus/dbus-api-change.patch b/org.handhelds.familiar/packages/gnome/gnome-vfs-dbus/dbus-api-change.patch
new file mode 100644
index 0000000..38480c2
--- /dev/null
+++ b/org.handhelds.familiar/packages/gnome/gnome-vfs-dbus/dbus-api-change.patch
@@ -0,0 +1,78 @@
+--- trunk/dbus-daemon/vfs-daemon.c.orig 2006-08-09 10:43:26.000000000 +0100
++++ trunk/dbus-daemon/vfs-daemon.c 2006-08-09 10:45:59.000000000 +0100
+@@ -91,7 +91,7 @@
+ g_warning ("Failed to acquire vfs-daemon service: %s", error.message);
+ dbus_error_free (&error);
+
+- dbus_connection_disconnect (conn);
++ dbus_connection_close (conn);
+ dbus_connection_unref (conn);
+ conn = NULL;
+
+@@ -101,7 +101,7 @@
+ if (ret == DBUS_REQUEST_NAME_REPLY_EXISTS) {
+ g_printerr ("VFS daemon already running, exiting.\n");
+
+- dbus_connection_disconnect (conn);
++ dbus_connection_close (conn);
+ dbus_connection_unref (conn);
+ conn = NULL;
+
+@@ -111,7 +111,7 @@
+ if (ret != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) {
+ g_printerr ("Not primary owner of the service, exiting.\n");
+
+- dbus_connection_disconnect (conn);
++ dbus_connection_close (conn);
+ dbus_connection_unref (conn);
+ conn = NULL;
+
+@@ -124,7 +124,7 @@
+ NULL)) {
+ g_printerr ("Failed to register object with D-BUS.\n");
+
+- dbus_connection_disconnect (conn);
++ dbus_connection_close (conn);
+ dbus_connection_unref (conn);
+ conn = NULL;
+
+@@ -152,7 +152,7 @@
+ return;
+ }
+
+- dbus_connection_disconnect (conn);
++ dbus_connection_close (conn);
+ dbus_connection_unref (conn);
+ }
+
+--- trunk/dbus-daemon/daemon-connection.c.orig 2006-08-09 10:43:32.000000000 +0100
++++ trunk/dbus-daemon/daemon-connection.c 2006-08-09 10:46:26.000000000 +0100
+@@ -321,7 +321,7 @@
+ d(g_print ("Last unref\n"));
+
+ if (dbus_connection_get_is_connected (conn->conn)) {
+- dbus_connection_disconnect (conn->conn);
++ dbus_connection_close (conn->conn);
+ }
+ dbus_connection_unref (conn->conn);
+
+--- trunk/dbus-daemon/dbus-method.c.orig 2006-08-09 10:43:38.000000000 +0100
++++ trunk/dbus-daemon/dbus-method.c 2006-08-09 10:46:57.000000000 +0100
+@@ -220,7 +220,7 @@
+ if (!dbus_connection_add_filter (dbus_conn, message_handler,
+ NULL, NULL)) {
+ g_warning ("Failed to add filter to the connection.");
+- dbus_connection_disconnect (dbus_conn);
++ dbus_connection_close (dbus_conn);
+ dbus_connection_unref (dbus_conn);
+
+ dbus_conn = NULL;
+@@ -1666,7 +1666,7 @@
+ vfs_module_shutdown (GnomeVFSMethod* method)
+ {
+ if (dbus_conn) {
+- dbus_connection_disconnect (dbus_conn);
++ dbus_connection_close (dbus_conn);
+ dbus_connection_unref (dbus_conn);
+
+ dbus_conn = NULL;
diff --git a/org.handhelds.familiar/packages/gnome/gnome-vfs-dbus/glib-after-nameser.patch b/org.handhelds.familiar/packages/gnome/gnome-vfs-dbus/glib-after-nameser.patch
new file mode 100644
index 0000000..87bf7c3
--- /dev/null
+++ b/org.handhelds.familiar/packages/gnome/gnome-vfs-dbus/glib-after-nameser.patch
@@ -0,0 +1,18 @@
+--- trunk/libgnomevfs/gnome-vfs-resolve.c.orig 2006-02-08 19:18:43.000000000 +0100
++++ trunk/libgnomevfs/gnome-vfs-resolve.c 2006-02-08 19:21:42.000000000 +0100
+@@ -23,7 +23,6 @@
+
+ #include <errno.h>
+ #include <string.h>
+-#include <glib.h>
+ #ifndef G_OS_WIN32
+ /* Keep <sys/types.h> above the network includes for FreeBSD. */
+ #include <sys/types.h>
+@@ -48,6 +47,7 @@
+ #define RELOAD_TIMEVAL 2
+ #endif
+
++#include <glib.h>
+ #include <glib-object.h>
+
+ #include <libgnomevfs/gnome-vfs-resolve.h>
diff --git a/org.handhelds.familiar/packages/gnome/gnome-vfs-dbus/werror_compile.patch b/org.handhelds.familiar/packages/gnome/gnome-vfs-dbus/werror_compile.patch
new file mode 100644
index 0000000..f2eba7d
--- /dev/null
+++ b/org.handhelds.familiar/packages/gnome/gnome-vfs-dbus/werror_compile.patch
@@ -0,0 +1,11 @@
+--- gnome-vfs-dbus-2.8.4.4/configure.in.old 2006-01-26 11:56:09.000000000 +0100
++++ gnome-vfs-dbus-2.8.4.4/configure.in 2006-01-26 11:45:02.000000000 +0100
+@@ -279,7 +279,7 @@
+
+ if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
+ echo "enable compile warnings = $set_more_warnings"
+- VFS_CFLAGS="-Wall -Werror \
++ VFS_CFLAGS="-Wall \
+ -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
+ -Wnested-externs -Wpointer-arith"
+
diff --git a/org.handhelds.familiar/packages/gnome/gnome-vfs-dbus_svn.bb b/org.handhelds.familiar/packages/gnome/gnome-vfs-dbus_svn.bb
new file mode 100644
index 0000000..aa3c3bf
--- /dev/null
+++ b/org.handhelds.familiar/packages/gnome/gnome-vfs-dbus_svn.bb
@@ -0,0 +1,110 @@
+LICENSE = "GPL"
+SECTION = "x11/gnome"
+PR = "r1"
+PROVIDES = "gnome-vfs"
+RPROVIDES = "gnome-vfs"
+
+PV = "2.8.4.4+svn20060803"
+
+inherit gnome pkgconfig
+
+DEPENDS = "gtk-doc-native libxml2 gconf-dbus dbus bzip2 gnome-mime-data zlib samba-3.0.14a"
+RRECOMMENDS = "gnome-vfs-plugin-file shared-mime-info"
+
+
+SRC_URI = "svn://developer.imendio.com/svn/gnome-vfs-dbus;module=trunk;proto=http \
+ file://gssapi.patch;patch=1;pnum=1 \
+ file://gconftool-lossage.patch;patch=1;pnum=1 \
+ file://glib-after-nameser.patch;patch=1;pnum=1 \
+ file://gtk-doc.m4 \
+ file://gtk-doc.make \
+ file://werror_compile.patch;patch=1;pnum=1 \
+ file://dbus-api-change.patch;patch=1"
+
+EXTRA_OECONF = "--with-ipc=dbus --disable-gtk-doc"
+S = "${WORKDIR}/trunk"
+
+FILES_${PN} += " ${libdir}/vfs"
+FILES_${PN}-dev += " ${libdir}/gnome-vfs-2.0/modules/*.a ${libdir}/gnome-vfs-2.0/modules/*.la ${libdir}/gnome-vfs-2.0/include"
+#FILES_${PN}-doc += " ${datadir}/gtk-doc"
+
+GNOME_VFS_HEADERS = " \
+gnome-vfs-utils.h \
+gnome-vfs-application-registry.h \
+gnome-vfs-async-ops.h \
+gnome-vfs-ops.h \
+gnome-vfs-uri.h \
+gnome-vfs-standard-callbacks.h \
+gnome-vfs-module-callback.h \
+gnome-vfs-context.h \
+gnome-vfs-file-info.h \
+gnome-vfs-directory.h \
+gnome-vfs-mime-monitor.h \
+gnome-vfs-mime-handlers.h \
+gnome-vfs-mime-deprecated.h \
+gnome-vfs-result.h \
+gnome-vfs-job-limit.h \
+gnome-vfs-file-size.h \
+gnome-vfs-mime-utils.h \
+gnome-vfs-find-directory.h \
+gnome-vfs-init.h \
+gnome-vfs-handle.h \
+gnome-vfs.h \
+gnome-vfs-cancellation.h \
+gnome-vfs-xfer.h \
+gnome-vfs-monitor.h \
+gnome-vfs-types.h \
+gnome-vfs-volume-monitor.h \
+gnome-vfs-drive.h \
+gnome-vfs-volume.h \
+gnome-vfs-enum-types.h \
+gnome-vfs-address.h \
+gnome-vfs-dns-sd.h \
+gnome-vfs-mime-info-cache.h \
+gnome-vfs-resolve.h"
+
+GNOME_VFS_MODULE_HEADERS = " \
+gnome-vfs-mime-info.h \
+gnome-vfs-transform.h \
+gnome-vfs-ssl.h \
+gnome-vfs-inet-connection.h \
+gnome-vfs-socket.h \
+gnome-vfs-parse-ls.h \
+gnome-vfs-method.h \
+gnome-vfs-cancellable-ops.h \
+gnome-vfs-module.h \
+gnome-vfs-module-shared.h \
+gnome-vfs-module-callback-module-api.h \
+gnome-vfs-mime.h \
+gnome-vfs-socket-buffer.h"
+
+do_configure_prepend() {
+ mkdir -p m4
+ install ${WORKDIR}/gtk-doc.m4 ./m4/
+ install ${WORKDIR}/gtk-doc.make ./
+}
+
+do_compile_prepend() {
+ find ${S} -name Makefile | xargs sed -i 's:-Werror::'
+}
+
+do_stage() {
+ oe_libinstall -so -C libgnomevfs libgnomevfs-2 ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/gnome-vfs-2.0/libgnomevfs
+ for i in ${GNOME_VFS_HEADERS}; do install -m 0644 libgnomevfs/$i ${STAGING_INCDIR}/gnome-vfs-2.0/libgnomevfs/; done
+ install -d ${STAGING_INCDIR}/gnome-vfs-module-2.0/libgnomevfs
+ for i in ${GNOME_VFS_MODULE_HEADERS}; do install -m 0644 libgnomevfs/$i ${STAGING_INCDIR}/gnome-vfs-module-2.0/libgnomevfs/; done
+}
+
+do_install() {
+ oe_runmake ORBIT_IDL="${ORBIT_IDL_SRC}" DESTDIR="${D}" install
+}
+
+PACKAGES_DYNAMIC = "gnome-vfs-plugin-*"
+
+python populate_packages_prepend () {
+ print bb.data.getVar('FILES_gnome-vfs', d, 1)
+
+ plugindir = bb.data.expand('${libdir}/gnome-vfs-2.0/modules/', d)
+ do_split_packages(d, plugindir, '^lib(.*)\.so$', 'gnome-vfs-plugin-%s', 'GNOME VFS plugin for %s')
+}
diff --git a/org.handhelds.familiar/packages/gpe-autostarter/gpe-autostarter_0.12.bb b/org.handhelds.familiar/packages/gpe-autostarter/gpe-autostarter_0.12.bb
new file mode 100644
index 0000000..8b003b4
--- /dev/null
+++ b/org.handhelds.familiar/packages/gpe-autostarter/gpe-autostarter_0.12.bb
@@ -0,0 +1,6 @@
+LICENSE = "GPL"
+SECTION = "gpe"
+DEPENDS = "glib-2.0 dbus hotplug-dbus x11"
+RDEPENDS = "hotplug-dbus"
+
+inherit gpe
diff --git a/org.handhelds.familiar/packages/gpe-beam/gpe-beam_0.2.9.bb b/org.handhelds.familiar/packages/gpe-beam/gpe-beam_0.2.9.bb
new file mode 100644
index 0000000..8275cf6
--- /dev/null
+++ b/org.handhelds.familiar/packages/gpe-beam/gpe-beam_0.2.9.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "GPE infrared communication applet"
+DEPENDS = "gtk+ libgpewidget libmimedir libgpevtype openobex irda-utils dbus-glib"
+RDEPENDS = "irda-utils"
+SECTION = "gpe"
+PRIORITY = "optional"
+LICENSE = "GPL"
+
+inherit gpe
+
diff --git a/org.handhelds.familiar/packages/gpe-bluetooth/files/hciattach-bts.patch b/org.handhelds.familiar/packages/gpe-bluetooth/files/hciattach-bts.patch
new file mode 100644
index 0000000..aeff8b0
--- /dev/null
+++ b/org.handhelds.familiar/packages/gpe-bluetooth/files/hciattach-bts.patch
@@ -0,0 +1,16 @@
+--- gpe-bluetooth-0.54/hciattach.sh.orig 2006-08-20 15:04:05.341384325 +0200
++++ gpe-bluetooth-0.54/hciattach.sh 2006-08-20 15:05:04.629179674 +0200
+@@ -2,8 +2,12 @@
+
+ if [ -f /etc/sysconfig/bluetooth ]; then
+ . /etc/sysconfig/bluetooth
++ if [ -f "$BLUETOOTH_SCRIPT" ]; then
++ BTS="-S $BLUETOOTH_SCRIPT"
++ fi
++
++ exec /sbin/hciattach -n $BLUETOOTH_PORT $BLUETOOTH_PROTOCOL $BLUETOOTH_SPEED $BTS
+
+- exec /sbin/hciattach -n $BLUETOOTH_PORT $BLUETOOTH_PROTOCOL $BLUETOOTH_SPEED
+ else
+ echo "Bluetooth not configured"
+ exit 1
diff --git a/org.handhelds.familiar/packages/gpe-bluetooth/files/include-sdp_lib.patch b/org.handhelds.familiar/packages/gpe-bluetooth/files/include-sdp_lib.patch
new file mode 100644
index 0000000..8ec1ab3
--- /dev/null
+++ b/org.handhelds.familiar/packages/gpe-bluetooth/files/include-sdp_lib.patch
@@ -0,0 +1,9 @@
+--- gpe-bluetooth-0.54/main.h.orig 2006-08-31 09:49:46.000000000 +0200
++++ gpe-bluetooth-0.54/main.h 2006-08-31 09:49:48.000000000 +0200
+@@ -1,5 +1,6 @@
+ #include <gtk/gtk.h>
+ #include <bluetooth/sdp.h>
++#include <bluetooth/sdp_lib.h>
+
+ struct bt_device
+ {
diff --git a/org.handhelds.familiar/packages/gpe-bluetooth/gpe-bluetooth_0.51.bb b/org.handhelds.familiar/packages/gpe-bluetooth/gpe-bluetooth_0.51.bb
index e02318e..84dbafc 100644
--- a/org.handhelds.familiar/packages/gpe-bluetooth/gpe-bluetooth_0.51.bb
+++ b/org.handhelds.familiar/packages/gpe-bluetooth/gpe-bluetooth_0.51.bb
@@ -10,6 +10,7 @@ RDEPENDS = "bluez-utils-dbus blueprobe"
GPE_TARBALL_SUFFIX= "bz2"
inherit gpe autotools
-SRC_URI += "file://fix-resume-script-name.patch;patch=1"
+SRC_URI += "file://fix-resume-script-name.patch;patch=1 \
+ file://include-sdp_lib.patch;patch=1"
FILES_${PN} += '${datadir}/bluez-pin'
diff --git a/org.handhelds.familiar/packages/gpe-bluetooth/gpe-bluetooth_0.54.bb b/org.handhelds.familiar/packages/gpe-bluetooth/gpe-bluetooth_0.54.bb
new file mode 100644
index 0000000..24d3ff4
--- /dev/null
+++ b/org.handhelds.familiar/packages/gpe-bluetooth/gpe-bluetooth_0.54.bb
@@ -0,0 +1,16 @@
+LICENSE = "GPL"
+DESCRIPTION = "GPE bluetooth support user interface tool."
+SECTION = "gpe"
+PRIORITY = "optional"
+PR = "r1"
+
+DEPENDS = "gtk+ libcontactsdb libdisplaymigration libgpewidget openobex libgpevtype bluez-libs sqlite dbus-glib libglade blueprobe bluez-utils-dbus"
+RDEPENDS = "bluez-utils-dbus blueprobe"
+
+GPE_TARBALL_SUFFIX= "bz2"
+inherit gpe autotools
+
+SRC_URI += "file://hciattach-bts.patch;patch=1 \
+ file://include-sdp_lib.patch;patch=1"
+
+FILES_${PN} += '${datadir}/bluez-pin'
diff --git a/org.handhelds.familiar/packages/libxml/libxml2-native_2.6.10.bb b/org.handhelds.familiar/packages/libxml/libxml2-native_2.6.10.bb
new file mode 100644
index 0000000..3f4b1ca
--- /dev/null
+++ b/org.handhelds.familiar/packages/libxml/libxml2-native_2.6.10.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "GNOME XML library"
+
+SRC_URI = "ftp://xmlsoft.org/libxml2/old/libxml2-${PV}.tar.gz"
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libxml2-${PV}"
+S = "${WORKDIR}/libxml2-${PV}"
+
+inherit autotools native pkgconfig
+
+EXTRA_OECONF = "--without-python --without-debug --without-legacy --without-schemas --without-catalog --without-docbook --without-c14n"
+
+headers = "DOCBparser.h HTMLparser.h HTMLtree.h SAX.h SAX2.h c14n.h catalog.h chvalid.h debugXML.h dict.h encoding.h entities.h globals.h hash.h list.h nanoftp.h nanohttp.h parser.h parserInternals.h pattern.h relaxng.h schemasInternals.h threads.h tree.h uri.h valid.h xinclude.h xlink.h xmlIO.h xmlautomata.h xmlerror.h xmlexports.h xmlmemory.h xmlreader.h xmlregexp.h xmlschemas.h xmlschemastypes.h xmlstring.h xmlunicode.h xmlversion.h xmlwriter.h xpath.h xpathInternals.h xpointer.h"
+
+do_stage () {
+ oe_runmake install
+}
diff --git a/org.handhelds.familiar/packages/samba/samba_3.0.20.bb b/org.handhelds.familiar/packages/samba/samba_3.0.20.bb
index aea0b48..544b312 100644
--- a/org.handhelds.familiar/packages/samba/samba_3.0.20.bb
+++ b/org.handhelds.familiar/packages/samba/samba_3.0.20.bb
@@ -1,4 +1,4 @@
-PR = "r1"
+PR = "r13"
SRC_URI = "http://us2.samba.org/samba/ftp/stable/samba-${PV}.tar.gz \
file://configure.patch;patch=1 \