summaryrefslogtreecommitdiff
path: root/openembedded/packages/dbus
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2005-09-02 11:50:01 +0000
committerRichard Purdie <richard@openedhand.com>2005-09-02 11:50:01 +0000
commit95efeafc86f47592b37c44f2f7314324cc04250d (patch)
treee60fe38e88d8e6cf42cf1311c5ada752b79a59c7 /openembedded/packages/dbus
parent7755d9d194b42ea859096f805f2e22ae5b6e6281 (diff)
downloadopenembedded-core-95efeafc86f47592b37c44f2f7314324cc04250d.tar.gz
openembedded-core-95efeafc86f47592b37c44f2f7314324cc04250d.tar.bz2
openembedded-core-95efeafc86f47592b37c44f2f7314324cc04250d.tar.xz
openembedded-core-95efeafc86f47592b37c44f2f7314324cc04250d.zip
Add gtk+, avahi, dbus-0.34 (.36 coming soon) and dependencies. Fix x11-common breakage.
git-svn-id: https://svn.o-hand.com/repos/poky@13 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'openembedded/packages/dbus')
-rw-r--r--openembedded/packages/dbus/dbus-native_0.34.bb16
-rw-r--r--openembedded/packages/dbus/dbus/0.23.1.diff308
-rw-r--r--openembedded/packages/dbus/dbus/config.diff17
-rw-r--r--openembedded/packages/dbus/dbus/cross.patch15
-rw-r--r--openembedded/packages/dbus/dbus/dbus-1.init86
-rw-r--r--openembedded/packages/dbus/dbus/dbus-monitor.patch150
-rw-r--r--openembedded/packages/dbus/dbus/dbus-quiesce-startup-errors.patch23
-rw-r--r--openembedded/packages/dbus/dbus/dbussend.patch399
-rw-r--r--openembedded/packages/dbus/dbus/gettext.patch164
-rw-r--r--openembedded/packages/dbus/dbus/no-bindings.patch12
-rw-r--r--openembedded/packages/dbus/dbus/no-introspect.patch19
-rw-r--r--openembedded/packages/dbus/dbus/spawn-priority.diff17
-rw-r--r--openembedded/packages/dbus/dbus/tmpdir.patch30
-rw-r--r--openembedded/packages/dbus/dbus/tools.diff12
-rw-r--r--openembedded/packages/dbus/dbus_0.23.1-osso5.bb72
-rw-r--r--openembedded/packages/dbus/dbus_0.34.bb14
-rw-r--r--openembedded/packages/dbus/dbus_0.34.inc65
17 files changed, 1419 insertions, 0 deletions
diff --git a/openembedded/packages/dbus/dbus-native_0.34.bb b/openembedded/packages/dbus/dbus-native_0.34.bb
new file mode 100644
index 000000000..916f7ad8e
--- /dev/null
+++ b/openembedded/packages/dbus/dbus-native_0.34.bb
@@ -0,0 +1,16 @@
+include dbus_${PV}.inc
+
+SRC_URI_EXTRA=""
+
+inherit native
+
+S = "${WORKDIR}/dbus-${PV}"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/dbus"
+DEPENDS = "glib-2.0-native"
+
+do_stage() {
+ 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/openembedded/packages/dbus/dbus/0.23.1.diff b/openembedded/packages/dbus/dbus/0.23.1.diff
new file mode 100644
index 000000000..d56e1afc9
--- /dev/null
+++ b/openembedded/packages/dbus/dbus/0.23.1.diff
@@ -0,0 +1,308 @@
+diff -ur dbus-0.23/ChangeLog dbus-0.23.1/ChangeLog
+--- dbus-0.23/ChangeLog 2005-01-13 00:48:43.000000000 +0200
++++ dbus-0.23.1/ChangeLog 2005-02-11 20:25:48.000000000 +0200
+@@ -1,3 +1,33 @@
++2005-02-11 Joe Shaw <joeshaw@novell.com>
++
++ * NEWS: Update for 0.23.1
++
++ * configure.in: Release 0.23.1
++
++2005-02-10 Joe Shaw <joeshaw@novell.com>
++
++ * dbus/dbus-connection.c
++ (_dbus_connection_queue_received_message_link,
++ _dbus_connection_message_sent): Add the path to
++ the verbose output.
++ (_dbus_connection_send_preallocated_and_unlock): Added. Calls
++ _dbus_connection_send_preallocated_unlocked(), updated the
++ dispatch status, and unlocks. Fixes a bug where certain
++ situations (like a broken pipe) could cause a Disconnect message
++ to not be sent, tricking the bus into thinking a service was still
++ there when the process had quit.
++ (_dbus_connection_send_preallocated): Call
++ _dbus_connection_send_preallocated_and_unlock().
++ (_dbus_connection_send_and_unlock): Added. Calls
++ _dbus_connection_send_preallocated_and_unlock().
++ (dbus_connection_send): Call _dbus_connection_send_and_unlock().
++ (dbus_connection_send_with_reply): Update the dispatch status and
++ unlock.
++
++ * mono/Service.cs (~Service): Added. Removes the filter so that
++ we don't get unmanaged code calling back into a GCed delegate.
++ (RemoveFilter); Added.
++
+ 2005-01-12 Joe Shaw <joeshaw@novell.com>
+
+ * NEWS: Update for 0.23.
+diff -ur dbus-0.23/NEWS dbus-0.23.1/NEWS
+--- dbus-0.23/NEWS 2005-01-13 00:20:40.000000000 +0200
++++ dbus-0.23.1/NEWS 2005-02-11 20:25:16.000000000 +0200
+@@ -1,3 +1,11 @@
++D-BUS 0.23.1 (11 Feb 2005)
++===
++- fix a bug in which the bus daemon wouldn't recognize that a service
++ owner quit
++- fix a bug in the mono bindings that would cause unmanaged code to
++ call back into a delegate that had been garbage collected and
++ crashed.
++
+ D-BUS 0.23 (11 Jan 2005)
+ ===
+
+diff -ur dbus-0.23/configure dbus-0.23.1/configure
+--- dbus-0.23/configure 2005-01-13 00:21:25.000000000 +0200
++++ dbus-0.23.1/configure 2005-02-11 19:53:33.000000000 +0200
+@@ -1826,7 +1826,7 @@
+
+ # Define the identity of the package.
+ PACKAGE=dbus
+- VERSION=0.23
++ VERSION=0.23.1
+
+
+ cat >>confdefs.h <<_ACEOF
+diff -ur dbus-0.23/configure.in dbus-0.23.1/configure.in
+--- dbus-0.23/configure.in 2005-01-13 00:20:40.000000000 +0200
++++ dbus-0.23.1/configure.in 2005-02-11 19:53:09.000000000 +0200
+@@ -3,7 +3,7 @@
+
+ AC_INIT(dbus/dbus.h)
+
+-AM_INIT_AUTOMAKE(dbus, 0.23)
++AM_INIT_AUTOMAKE(dbus, 0.23.1)
+
+ AM_CONFIG_HEADER(config.h)
+
+diff -ur dbus-0.23/dbus/dbus-connection.c dbus-0.23.1/dbus/dbus-connection.c
+--- dbus-0.23/dbus/dbus-connection.c 2005-01-11 21:31:56.000000000 +0200
++++ dbus-0.23.1/dbus/dbus-connection.c 2005-02-11 19:52:47.000000000 +0200
+@@ -358,9 +358,10 @@
+
+ _dbus_connection_wakeup_mainloop (connection);
+
+- _dbus_verbose ("Message %p (%d %s %s '%s') added to incoming queue %p, %d incoming\n",
++ _dbus_verbose ("Message %p (%d %s %s %s '%s') added to incoming queue %p, %d incoming\n",
+ message,
+ dbus_message_get_type (message),
++ dbus_message_get_path (message),
+ dbus_message_get_interface (message) ?
+ dbus_message_get_interface (message) :
+ "no interface",
+@@ -473,9 +474,10 @@
+
+ connection->n_outgoing -= 1;
+
+- _dbus_verbose ("Message %p (%d %s %s '%s') removed from outgoing queue %p, %d left to send\n",
++ _dbus_verbose ("Message %p (%d %s %s %s '%s') removed from outgoing queue %p, %d left to send\n",
+ message,
+ dbus_message_get_type (message),
++ dbus_message_get_path (message),
+ dbus_message_get_interface (message) ?
+ dbus_message_get_interface (message) :
+ "no interface",
+@@ -1572,9 +1574,10 @@
+ }
+ #endif
+
+- _dbus_verbose ("Message %p (%d %s %s '%s') added to outgoing queue %p, %d pending to send\n",
++ _dbus_verbose ("Message %p (%d %s %s %s '%s') added to outgoing queue %p, %d pending to send\n",
+ message,
+ dbus_message_get_type (message),
++ dbus_message_get_path (message),
+ dbus_message_get_interface (message) ?
+ dbus_message_get_interface (message) :
+ "no interface",
+@@ -1606,12 +1609,30 @@
+ _dbus_connection_do_iteration (connection,
+ DBUS_ITERATION_DO_WRITING,
+ -1);
+-
++
+ /* If stuff is still queued up, be sure we wake up the main loop */
+ if (connection->n_outgoing > 0)
+ _dbus_connection_wakeup_mainloop (connection);
+ }
+
++static void
++_dbus_connection_send_preallocated_and_unlock (DBusConnection *connection,
++ DBusPreallocatedSend *preallocated,
++ DBusMessage *message,
++ dbus_uint32_t *client_serial)
++{
++ DBusDispatchStatus status;
++
++ _dbus_connection_send_preallocated_unlocked (connection,
++ preallocated,
++ message, client_serial);
++
++ status = _dbus_connection_get_dispatch_status_unlocked (connection);
++
++ /* this calls out to user code */
++ _dbus_connection_update_dispatch_status_and_unlock (connection, status);
++}
++
+ /**
+ * Sends a message using preallocated resources. This function cannot fail.
+ * It works identically to dbus_connection_send() in other respects.
+@@ -1642,10 +1663,9 @@
+ dbus_message_get_member (message) != NULL));
+
+ CONNECTION_LOCK (connection);
+- _dbus_connection_send_preallocated_unlocked (connection,
+- preallocated,
+- message, client_serial);
+- CONNECTION_UNLOCK (connection);
++ _dbus_connection_send_preallocated_and_unlock (connection,
++ preallocated,
++ message, client_serial);
+ }
+
+ static dbus_bool_t
+@@ -1670,6 +1690,27 @@
+ return TRUE;
+ }
+
++static dbus_bool_t
++_dbus_connection_send_and_unlock (DBusConnection *connection,
++ DBusMessage *message,
++ dbus_uint32_t *client_serial)
++{
++ DBusPreallocatedSend *preallocated;
++
++ _dbus_assert (connection != NULL);
++ _dbus_assert (message != NULL);
++
++ preallocated = _dbus_connection_preallocate_send_unlocked (connection);
++ if (preallocated == NULL)
++ return FALSE;
++
++ _dbus_connection_send_preallocated_and_unlock (connection,
++ preallocated,
++ message,
++ client_serial);
++ return TRUE;
++}
++
+ /**
+ * Adds a message to the outgoing message queue. Does not block to
+ * write the message to the network; that happens asynchronously. To
+@@ -1698,14 +1739,9 @@
+
+ CONNECTION_LOCK (connection);
+
+- if (!_dbus_connection_send_unlocked (connection, message, client_serial))
+- {
+- CONNECTION_UNLOCK (connection);
+- return FALSE;
+- }
+-
+- CONNECTION_UNLOCK (connection);
+- return TRUE;
++ return _dbus_connection_send_and_unlock (connection,
++ message,
++ client_serial);
+ }
+
+ static dbus_bool_t
+@@ -1784,6 +1820,7 @@
+ DBusMessage *reply;
+ DBusList *reply_link;
+ dbus_int32_t serial = -1;
++ DBusDispatchStatus status;
+
+ _dbus_return_val_if_fail (connection != NULL, FALSE);
+ _dbus_return_val_if_fail (message != NULL, FALSE);
+@@ -1845,8 +1882,11 @@
+ else
+ dbus_pending_call_unref (pending);
+
+- CONNECTION_UNLOCK (connection);
+-
++ status = _dbus_connection_get_dispatch_status_unlocked (connection);
++
++ /* this calls out to user code */
++ _dbus_connection_update_dispatch_status_and_unlock (connection, status);
++
+ return TRUE;
+
+ error:
+@@ -2256,9 +2296,10 @@
+ link = _dbus_list_pop_first_link (&connection->incoming_messages);
+ connection->n_incoming -= 1;
+
+- _dbus_verbose ("Message %p (%d %s %s '%s') removed from incoming queue %p, %d incoming\n",
++ _dbus_verbose ("Message %p (%d %s %s %s '%s') removed from incoming queue %p, %d incoming\n",
+ link->data,
+ dbus_message_get_type (link->data),
++ dbus_message_get_path (link->data),
+ dbus_message_get_interface (link->data) ?
+ dbus_message_get_interface (link->data) :
+ "no interface",
+diff -ur dbus-0.23/mono/Service.cs dbus-0.23.1/mono/Service.cs
+--- dbus-0.23/mono/Service.cs 2004-08-31 06:59:14.000000000 +0300
++++ dbus-0.23.1/mono/Service.cs 2005-02-11 19:52:47.000000000 +0200
+@@ -23,6 +23,9 @@
+ private static AssemblyBuilder proxyAssembly;
+ private ModuleBuilder module = null;
+
++ // Add a match for signals. FIXME: Can we filter the service?
++ private const string MatchRule = "type='signal'";
++
+ internal Service(string name, Connection connection)
+ {
+ this.name = name;
+@@ -47,6 +50,12 @@
+ this.local = true;
+ }
+
++ ~Service ()
++ {
++ if (this.filterCalled != null)
++ RemoveFilter ();
++ }
++
+ public static bool Exists(Connection connection, string name)
+ {
+ Error error = new Error();
+@@ -113,9 +122,17 @@
+ IntPtr.Zero))
+ throw new OutOfMemoryException();
+
+- // Add a match for signals. FIXME: Can we filter the service?
+- string rule = "type='signal'";
+- dbus_bus_add_match(connection.RawConnection, rule, IntPtr.Zero);
++ dbus_bus_add_match(connection.RawConnection, MatchRule, IntPtr.Zero);
++ }
++
++ private void RemoveFilter()
++ {
++ dbus_connection_remove_filter (Connection.RawConnection,
++ this.filterCalled,
++ IntPtr.Zero);
++ this.filterCalled = null;
++
++ dbus_bus_remove_match (connection.RawConnection, MatchRule, IntPtr.Zero);
+ }
+
+ private int Service_FilterCalled(IntPtr rawConnection,
+@@ -200,9 +217,19 @@
+ IntPtr freeData);
+
+ [DllImport("dbus-1")]
++ private extern static void dbus_connection_remove_filter(IntPtr rawConnection,
++ DBusHandleMessageFunction filter,
++ IntPtr userData);
++
++ [DllImport("dbus-1")]
+ private extern static void dbus_bus_add_match(IntPtr rawConnection,
+ string rule,
+ IntPtr erro);
+
++ [DllImport("dbus-1")]
++ private extern static void dbus_bus_remove_match(IntPtr rawConnection,
++ string rule,
++ IntPtr erro);
++
+ }
+ }
diff --git a/openembedded/packages/dbus/dbus/config.diff b/openembedded/packages/dbus/dbus/config.diff
new file mode 100644
index 000000000..b67c8d72f
--- /dev/null
+++ b/openembedded/packages/dbus/dbus/config.diff
@@ -0,0 +1,17 @@
+Only in /home/kihamala/svn/dbus/bus: .svn
+diff -ur bus/session.conf.in /home/kihamala/svn/dbus/bus/session.conf.in
+--- bus/session.conf.in 2004-10-25 21:48:58.000000000 +0300
++++ /home/kihamala/svn/dbus/bus/session.conf.in 2005-02-15 11:03:26.000000000 +0200
+@@ -8,9 +8,10 @@
+ <!-- Our well-known bus type, don't change this -->
+ <type>session</type>
+
+- <listen>unix:tmpdir=@DBUS_SESSION_SOCKET_DIR@</listen>
++ <listen>unix:path=/tmp/session_bus_socket</listen>
+
+- <servicedir>@EXPANDED_DATADIR@/dbus-1/services</servicedir>
++ <servicedir>@EXPANDED_LIBDIR@/dbus-1.0/services</servicedir>
++ <!-- <servicedir>/var/lib/install/usr/lib/dbus-1.0/services</servicedir> -->
+
+ <policy context="default">
+ <!-- Allow everything to be sent -->
diff --git a/openembedded/packages/dbus/dbus/cross.patch b/openembedded/packages/dbus/dbus/cross.patch
new file mode 100644
index 000000000..6d1d9d8e7
--- /dev/null
+++ b/openembedded/packages/dbus/dbus/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/openembedded/packages/dbus/dbus/dbus-1.init b/openembedded/packages/dbus/dbus/dbus-1.init
new file mode 100644
index 000000000..adefe7c5b
--- /dev/null
+++ b/openembedded/packages/dbus/dbus/dbus-1.init
@@ -0,0 +1,86 @@
+#! /bin/sh
+# -*- coding: utf-8 -*-
+# Debian init.d script for D-BUS
+# Copyright © 2003 Colin Walters <walters@debian.org>
+
+set -e
+
+DAEMON=/usr/bin/dbus-daemon-1
+NAME=dbus-1
+DAEMONUSER=messagebus
+PIDDIR=/var/run/dbus
+PIDFILE=$PIDDIR/pid
+DESC="system message bus"
+EVENTDIR=/etc/dbus-1/event.d
+
+test -x $DAEMON || exit 0
+
+# Source defaults file; edit that file to configure this script.
+ENABLED=1
+PARAMS=""
+if [ -e /etc/default/dbus-1 ]; then
+ . /etc/default/dbus-1
+fi
+
+test "$ENABLED" != "0" || exit 0
+
+start_it_up()
+{
+ if [ ! -d $PIDDIR ]; then
+ mkdir -p $PIDDIR
+ chown $DAEMONUSER $PIDDIR
+ chgrp $DAEMONUSER $PIDDIR
+ fi
+ if [ -e $PIDFILE ]; then
+ PIDDIR=/proc/$(cat $PIDFILE)
+ if [ -d ${PIDDIR} -a "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then
+ echo "$DESC already started; not starting."
+ else
+ echo "Removing stale PID file $PIDFILE."
+ rm -f $PIDFILE
+ fi
+ fi
+ echo -n "Starting $DESC: "
+ start-stop-daemon --start --quiet --pidfile $PIDFILE \
+ --user $DAEMONUSER --exec $DAEMON -- --system $PARAMS
+ echo "$NAME."
+ if [ -d $EVENTDIR ]; then
+ run-parts --arg=start $EVENTDIR
+ fi
+}
+
+shut_it_down()
+{
+ if [ -d $EVENTDIR ]; then
+ run-parts --reverse --arg=stop $EVENTDIR
+ fi
+ echo -n "Stopping $DESC: "
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE \
+ --user $DAEMONUSER
+ # We no longer include these arguments so that start-stop-daemon
+ # can do its job even given that we may have been upgraded.
+ # We rely on the pidfile being sanely managed
+ # --exec $DAEMON -- --system $PARAMS
+ echo "$NAME."
+ rm -f $PIDFILE
+}
+
+case "$1" in
+ start)
+ start_it_up
+ ;;
+ stop)
+ shut_it_down
+ ;;
+ restart|force-reload)
+ shut_it_down
+ sleep 1
+ start_it_up
+ ;;
+ *)
+ echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/openembedded/packages/dbus/dbus/dbus-monitor.patch b/openembedded/packages/dbus/dbus/dbus-monitor.patch
new file mode 100644
index 000000000..c2f90c885
--- /dev/null
+++ b/openembedded/packages/dbus/dbus/dbus-monitor.patch
@@ -0,0 +1,150 @@
+diff -urN dbus-0.22.orig/tools/dbus-monitor.1 dbus-0.22/tools/dbus-monitor.1
+--- dbus-0.22.orig/tools/dbus-monitor.1 2004-10-10 20:47:19.906823680 +1000
++++ dbus-0.22/tools/dbus-monitor.1 2004-10-10 20:47:27.791625008 +1000
+@@ -9,6 +9,7 @@
+ .PP
+ .B dbus-monitor
+ [\-\-system | \-\-session]
++[watch expressions]
+
+ .SH DESCRIPTION
+
+@@ -25,6 +26,11 @@
+ monitor the system or session buses respectively. If neither is
+ specified, \fIdbus-monitor\fP monitors the session bus.
+
++.PP
++In order to get \fIdbus-monitor\fP to see the messages you are interested
++in, you should specify a set of watch expressions as you would expect to
++be passed to the \fIdbus_bus_add_watch\fP function.
++
+ .PP
+ The message bus configuration may keep \fIdbus-monitor\fP from seeing
+ all messages, especially if you run the monitor as a non-root user.
+@@ -37,6 +43,15 @@
+ .I "--session"
+ Monitor the session message bus. (This is the default.)
+
++.SH EXAMPLE
++Here is an example of using dbus-monitor to watch for the gnome typing
++monitor to say things
++.nf
++
++ dbus-monitor "type='signal',sender='org.gnome.TypingMonitor',interface='org.gnome.TypingMonitor'"
++
++.fi
++
+ .SH AUTHOR
+ dbus-monitor was written by Philip Blundell.
+
+--- dbus-0.22-1ubuntu1/tools/dbus-monitor.c 2004-08-10 13:03:37.000000000 +1000
++++ dbus-0.22/tools/dbus-monitor.c 2004-10-10 21:38:08.532362152 +1000
+@@ -45,7 +45,7 @@
+ static void
+ usage (char *name, int ecode)
+ {
+- fprintf (stderr, "Usage: %s [--system | --session]\n", name);
++ fprintf (stderr, "Usage: %s [--system | --session] [watch expressions]\n", name);
+ exit (ecode);
+ }
+
+@@ -56,8 +56,8 @@
+ DBusError error;
+ DBusBusType type = DBUS_BUS_SESSION;
+ GMainLoop *loop;
+- int i;
+-
++ int i = 0, j = 0, numFilters = 0;
++ char **filters = NULL;
+ for (i = 1; i < argc; i++)
+ {
+ char *arg = argv[i];
+@@ -69,14 +69,18 @@
+ else if (!strcmp (arg, "--help"))
+ usage (argv[0], 0);
+ else if (!strcmp (arg, "--"))
+- break;
++ continue;
+ else if (arg[0] == '-')
+ usage (argv[0], 1);
++ else {
++ numFilters++;
++ filters = (char **)realloc(filters, numFilters * sizeof(char *));
++ filters[j] = (char *)malloc((strlen(arg) + 1) * sizeof(char *));
++ snprintf(filters[j], strlen(arg) + 1, "%s", arg);
++ j++;
++ }
+ }
+
+- if (argc > 2)
+- usage (argv[0], 1);
+-
+ loop = g_main_loop_new (NULL, FALSE);
+
+ dbus_error_init (&error);
+@@ -92,26 +102,45 @@
+
+ dbus_connection_setup_with_g_main (connection, NULL);
+
+- dbus_bus_add_match (connection,
+- "type='signal'",
+- &error);
+- if (dbus_error_is_set (&error))
+- goto lose;
+- dbus_bus_add_match (connection,
+- "type='method_call'",
+- &error);
+- if (dbus_error_is_set (&error))
+- goto lose;
+- dbus_bus_add_match (connection,
+- "type='method_return'",
+- &error);
+- if (dbus_error_is_set (&error))
+- goto lose;
+- dbus_bus_add_match (connection,
+- "type='error'",
+- &error);
+- if (dbus_error_is_set (&error))
+- goto lose;
++ if (numFilters)
++ {
++ for (i = 0; i < j; i++)
++ {
++ dbus_bus_add_match (connection, filters[i], &error);
++ if (dbus_error_is_set (&error))
++ {
++ fprintf (stderr, "Failed to setup match \"%s\": %s\n",
++ filters[i], error.message);
++ dbus_error_free (&error);
++ exit (1);
++ }
++ free(filters[i]);
++ }
++ }
++ else
++ {
++ dbus_bus_add_match (connection,
++ "type='signal'",
++ &error);
++ if (dbus_error_is_set (&error))
++ goto lose;
++ dbus_bus_add_match (connection,
++ "type='method_call'",
++ &error);
++ if (dbus_error_is_set (&error))
++ goto lose;
++ dbus_bus_add_match (connection,
++ "type='method_return'",
++ &error);
++ if (dbus_error_is_set (&error))
++ goto lose;
++ dbus_bus_add_match (connection,
++ "type='error'",
++ &error);
++ if (dbus_error_is_set (&error))
++ goto lose;
++ }
++
+ if (!dbus_connection_add_filter (connection, filter_func, NULL, NULL)) {
+ fprintf (stderr, "Couldn't add filter!\n");
+ exit (1);
diff --git a/openembedded/packages/dbus/dbus/dbus-quiesce-startup-errors.patch b/openembedded/packages/dbus/dbus/dbus-quiesce-startup-errors.patch
new file mode 100644
index 000000000..ba5142af2
--- /dev/null
+++ b/openembedded/packages/dbus/dbus/dbus-quiesce-startup-errors.patch
@@ -0,0 +1,23 @@
+--- dbus-0.20-virgin-patches/bus/config-parser.c 2003-10-14 21:30:21.000000000 +0100
++++ dbus-0.20/bus/config-parser.c 2004-02-10 00:40:05.000000000 +0000
+@@ -1710,8 +1710,18 @@
+ {
+ if (!include_file (parser, &full_path, TRUE, error))
+ {
+- _dbus_string_free (&full_path);
+- goto failed;
++ /* Debian patch to skip malformed /etc/dbus-1/system.d entries */
++ /*
++ * _dbus_string_free (&full_path);
++ * goto failed;
++ */
++ if (dbus_error_is_set (error))
++ {
++ _dbus_warn("\nEncountered error '%s' while parsing '%s'\n",
++ error->message,
++ _dbus_string_get_const_data(&full_path));
++ dbus_error_free (error);
++ }
+ }
+ }
+
diff --git a/openembedded/packages/dbus/dbus/dbussend.patch b/openembedded/packages/dbus/dbus/dbussend.patch
new file mode 100644
index 000000000..49a251bbb
--- /dev/null
+++ b/openembedded/packages/dbus/dbus/dbussend.patch
@@ -0,0 +1,399 @@
+Index: dbus-send.1
+===================================================================
+--- tools/dbus-send.1 (revision 691)
++++ tools/dbus-send.1 (working copy)
+@@ -36,8 +36,8 @@
+ specified. Following arguments, if any, are the message contents
+ (message arguments). These are given as a type name, a colon, and
+ then the value of the argument. The possible type names are: string,
+-int32, uint32, double, byte, boolean. (D-BUS supports more types than
+-these, but \fIdbus-send\fP currently does not.)
++int32, uint32, double, byte, boolean, array. (D-BUS supports more types
++than these, but \fIdbus-send\fP currently does not.)
+
+ .PP
+ Here is an example invocation:
+@@ -46,7 +46,8 @@
+ dbus-send \-\-dest='org.freedesktop.ExampleService' \\
+ /org/freedesktop/sample/object/name \\
+ org.freedesktop.ExampleInterface.ExampleMethod \\
+- int32:47 string:'hello world' double:65.32
++ int32:47 string:'hello world' double:65.32 \\
++ array:byte[0,1,2]
+
+ .fi
+
+Index: dbus-print-message.c
+===================================================================
+--- tools/dbus-print-message.c (revision 691)
++++ tools/dbus-print-message.c (working copy)
+@@ -39,6 +39,78 @@
+ }
+ }
+
++static void
++iterate (DBusMessageIter* iter, int entry_type)
++{
++ do
++ {
++ char *str;
++ dbus_uint32_t uint32;
++ dbus_int32_t int32;
++ double d;
++ unsigned char byte;
++ dbus_bool_t boolean;
++ int type = dbus_message_iter_get_arg_type (iter);
++
++ DBusMessageIter array_iter;
++ int array_type = DBUS_TYPE_INVALID;
++
++ if (type == DBUS_TYPE_INVALID)
++ {
++ if (entry_type == DBUS_TYPE_INVALID)
++ break;
++ else
++ type == entry_type;
++ }
++
++ switch (type)
++ {
++ case DBUS_TYPE_STRING:
++ str = dbus_message_iter_get_string (iter);
++ printf ("string:%s\n", str);
++ break;
++
++ case DBUS_TYPE_INT32:
++ int32 = dbus_message_iter_get_int32 (iter);
++ printf ("int32:%d\n", int32);
++ break;
++
++ case DBUS_TYPE_UINT32:
++ uint32 = dbus_message_iter_get_uint32 (iter);
++ printf ("int32:%u\n", uint32);
++ break;
++
++ case DBUS_TYPE_DOUBLE:
++ d = dbus_message_iter_get_double (iter);
++ printf ("double:%f\n", d);
++ break;
++
++ case DBUS_TYPE_BYTE:
++ byte = dbus_message_iter_get_byte (iter);
++ printf ("byte:%d\n", byte);
++ break;
++
++ case DBUS_TYPE_BOOLEAN:
++ boolean = dbus_message_iter_get_boolean (iter);
++ printf ("boolean:%s\n", boolean ? "true" : "false");
++ break;
++
++ case DBUS_TYPE_ARRAY:
++ dbus_message_iter_init_array_iterator (iter,
++ &array_iter,
++ &array_type);
++ printf ("array[\n");
++ iterate (&array_iter, array_type);
++ printf ("]\n");
++ break;
++
++ default:
++ printf ("(unknown arg type %d)\n", type);
++ break;
++ }
++ } while (dbus_message_iter_next (iter));
++}
++
+ void
+ print_message (DBusMessage *message)
+ {
+@@ -81,55 +153,6 @@
+
+ dbus_message_iter_init (message, &iter);
+
+- do
+- {
+- int type = dbus_message_iter_get_arg_type (&iter);
+- char *str;
+- dbus_uint32_t uint32;
+- dbus_int32_t int32;
+- double d;
+- unsigned char byte;
+- dbus_bool_t boolean;
+-
+- if (type == DBUS_TYPE_INVALID)
+- break;
+-
+- switch (type)
+- {
+- case DBUS_TYPE_STRING:
+- str = dbus_message_iter_get_string (&iter);
+- printf ("string:%s\n", str);
+- break;
+-
+- case DBUS_TYPE_INT32:
+- int32 = dbus_message_iter_get_int32 (&iter);
+- printf ("int32:%d\n", int32);
+- break;
+-
+- case DBUS_TYPE_UINT32:
+- uint32 = dbus_message_iter_get_uint32 (&iter);
+- printf ("int32:%u\n", uint32);
+- break;
+-
+- case DBUS_TYPE_DOUBLE:
+- d = dbus_message_iter_get_double (&iter);
+- printf ("double:%f\n", d);
+- break;
+-
+- case DBUS_TYPE_BYTE:
+- byte = dbus_message_iter_get_byte (&iter);
+- printf ("byte:%d\n", byte);
+- break;
+-
+- case DBUS_TYPE_BOOLEAN:
+- boolean = dbus_message_iter_get_boolean (&iter);
+- printf ("boolean:%s\n", boolean ? "true" : "false");
+- break;
+-
+- default:
+- printf ("(unknown arg type %d)\n", type);
+- break;
+- }
+- } while (dbus_message_iter_next (&iter));
++ iterate (&iter, DBUS_TYPE_INVALID);
+ }
+
+Index: dbus-send.c
+===================================================================
+--- tools/dbus-send.c (revision 691)
++++ tools/dbus-send.c (working copy)
+@@ -34,6 +34,146 @@
+ exit (ecode);
+ }
+
++
++static int
++get_type (char **argv, char *arg)
++{
++ int type;
++
++ if (arg[0] == 0 || !strcmp (arg, "string"))
++ type = DBUS_TYPE_STRING;
++ else if (!strcmp (arg, "int32"))
++ type = DBUS_TYPE_INT32;
++ else if (!strcmp (arg, "uint32"))
++ type = DBUS_TYPE_UINT32;
++ else if (!strcmp (arg, "double"))
++ type = DBUS_TYPE_DOUBLE;
++ else if (!strcmp (arg, "byte"))
++ type = DBUS_TYPE_BYTE;
++ else if (!strcmp (arg, "boolean"))
++ type = DBUS_TYPE_BOOLEAN;
++ else if (!strcmp (arg, "array"))
++ type = DBUS_TYPE_ARRAY;
++ else
++ {
++ fprintf (stderr, "%s: Unknown type \"%s\"\n", argv[0], arg);
++ exit (1);
++ }
++
++ return type;
++}
++
++
++static void
++append (char **argv, char *arg, char *c, DBusMessageIter *iter)
++{
++ int type, atype = 0;
++ dbus_uint32_t uint32;
++ dbus_int32_t int32;
++ double d;
++ unsigned char byte;
++ DBusMessageIter array_iter;
++ int end_found = 0;
++ char *next;
++
++ /* FIXME - we are ignoring OOM returns on all these functions */
++
++ type = get_type(argv, arg);
++ if (type == DBUS_TYPE_ARRAY)
++ {
++ arg = c;
++ c = strchr (c, '[');
++ if (c == NULL)
++ {
++ fprintf (stderr, "%s: Data item \"%s\" is badly formed\n", argv[0], arg);
++ exit (1);
++ }
++
++ if (strchr(c, ']') == NULL)
++ {
++ fprintf (stderr, "%s: Data item \"%s\" is badly formed\n", argv[0], arg);
++ exit (1);
++ }
++
++ *(c++) = 0;
++
++ atype = get_type(argv, arg);
++ }
++
++
++ switch (type)
++ {
++ case DBUS_TYPE_BYTE:
++ byte = strtoul (c, NULL, 0);
++ dbus_message_iter_append_byte (iter, byte);
++ break;
++
++ case DBUS_TYPE_DOUBLE:
++ d = strtod (c, NULL);
++ dbus_message_iter_append_double (iter, d);
++ break;
++
++ case DBUS_TYPE_INT32:
++ int32 = strtol (c, NULL, 0);
++ dbus_message_iter_append_int32 (iter, int32);
++ break;
++
++ case DBUS_TYPE_UINT32:
++ uint32 = strtoul (c, NULL, 0);
++ dbus_message_iter_append_uint32 (iter, uint32);
++ break;
++
++ case DBUS_TYPE_STRING:
++ dbus_message_iter_append_string (iter, c);
++ break;
++
++ case DBUS_TYPE_BOOLEAN:
++ if (strcmp(c, "true") == 0)
++ dbus_message_iter_append_boolean (iter, TRUE);
++ else if (strcmp(c, "false") == 0)
++ dbus_message_iter_append_boolean (iter, FALSE);
++ else
++ {
++ fprintf (stderr, "%s: Expected \"true\" or \"false\" instead of \"%s\"\n", argv[0], c);
++ exit (1);
++ }
++ break;
++
++ case DBUS_TYPE_ARRAY:
++ /* Decompose parameters and put it as array */
++ dbus_message_iter_append_array(iter, &array_iter, atype);
++
++ while(!end_found)
++ {
++ next = strchr(c, ',');
++ if (next == NULL)
++ {
++ next = strchr(c, ']');
++
++ if (next != NULL)
++ next[0] = 0;
++ else
++ break;
++
++ end_found = 1;
++ }
++ else
++ {
++ next[0] = 0;
++ next++;
++ }
++
++ append (argv, arg, c, &array_iter);
++ c = next;
++ }
++ break;
++
++ default:
++ fprintf (stderr, "%s: Unsupported data type\n", argv[0]);
++ exit (1);
++ }
++}
++
+ int
+ main (int argc, char *argv[])
+ {
+@@ -174,12 +314,7 @@
+ {
+ char *arg;
+ char *c;
+- int type;
+- dbus_uint32_t uint32;
+- dbus_int32_t int32;
+- double d;
+- unsigned char byte;
+-
++
+ type = DBUS_TYPE_INVALID;
+ arg = argv[i++];
+ c = strchr (arg, ':');
+@@ -192,67 +327,7 @@
+
+ *(c++) = 0;
+
+- if (arg[0] == 0 || !strcmp (arg, "string"))
+- type = DBUS_TYPE_STRING;
+- else if (!strcmp (arg, "int32"))
+- type = DBUS_TYPE_INT32;
+- else if (!strcmp (arg, "uint32"))
+- type = DBUS_TYPE_UINT32;
+- else if (!strcmp (arg, "double"))
+- type = DBUS_TYPE_DOUBLE;
+- else if (!strcmp (arg, "byte"))
+- type = DBUS_TYPE_BYTE;
+- else if (!strcmp (arg, "boolean"))
+- type = DBUS_TYPE_BOOLEAN;
+- else
+- {
+- fprintf (stderr, "%s: Unknown type \"%s\"\n", argv[0], arg);
+- exit (1);
+- }
+-
+- /* FIXME - we are ignoring OOM returns on all these functions */
+- switch (type)
+- {
+- case DBUS_TYPE_BYTE:
+- byte = strtoul (c, NULL, 0);
+- dbus_message_iter_append_byte (&iter, byte);
+- break;
+-
+- case DBUS_TYPE_DOUBLE:
+- d = strtod (c, NULL);
+- dbus_message_iter_append_double (&iter, d);
+- break;
+-
+- case DBUS_TYPE_INT32:
+- int32 = strtol (c, NULL, 0);
+- dbus_message_iter_append_int32 (&iter, int32);
+- break;
+-
+- case DBUS_TYPE_UINT32:
+- uint32 = strtoul (c, NULL, 0);
+- dbus_message_iter_append_uint32 (&iter, uint32);
+- break;
+-
+- case DBUS_TYPE_STRING:
+- dbus_message_iter_append_string (&iter, c);
+- break;
+-
+- case DBUS_TYPE_BOOLEAN:
+- if (strcmp(c, "true") == 0)
+- dbus_message_iter_append_boolean (&iter, TRUE);
+- else if (strcmp(c, "false") == 0)
+- dbus_message_iter_append_boolean (&iter, FALSE);
+- else
+- {
+- fprintf (stderr, "%s: Expected \"true\" or \"false\" instead of \"%s\"\n", argv[0], c);
+- exit (1);
+- }
+- break;
+-
+- default:
+- fprintf (stderr, "%s: Unsupported data type\n", argv[0]);
+- exit (1);
+- }
++ append (argv, arg, c, &iter);
+ }
+
+ if (print_reply)
diff --git a/openembedded/packages/dbus/dbus/gettext.patch b/openembedded/packages/dbus/dbus/gettext.patch
new file mode 100644
index 000000000..7042bd090
--- /dev/null
+++ b/openembedded/packages/dbus/dbus/gettext.patch
@@ -0,0 +1,164 @@
+Index: dbus-0.23/configure.in
+===================================================================
+--- dbus-0.23.orig/configure.in 2005-04-02 17:14:37.780040976 -0500
++++ dbus-0.23/configure.in 2005-04-02 17:14:38.024003888 -0500
+@@ -22,6 +22,9 @@
+ AC_ISC_POSIX
+ AC_HEADER_STDC
+
++AM_GNU_GETTEXT_VERSION(0.11.5)
++AM_GNU_GETTEXT([external], [need-ngettext])
++
+ AC_ARG_ENABLE(qt, [ --enable-qt enable Qt-friendly client library],enable_qt=$enableval,enable_qt=auto)
+ AC_ARG_ENABLE(glib, [ --enable-glib enable GLib-friendly client library],enable_glib=$enableval,enable_glib=auto)
+ AC_ARG_ENABLE(gtk, [ --enable-gtk enable GTK-requiring executables],enable_gtk=$enableval,enable_gtk=auto)
+Index: dbus-0.23/glib/Makefile.am
+===================================================================
+--- dbus-0.23.orig/glib/Makefile.am 2004-07-29 04:00:45.000000000 -0400
++++ dbus-0.23/glib/Makefile.am 2005-04-02 17:22:27.302662688 -0500
+@@ -15,7 +15,7 @@
+ dbus-gvalue.c \
+ dbus-gvalue.h
+
+-libdbus_glib_1_la_LIBADD= $(DBUS_GLIB_LIBS) $(top_builddir)/dbus/libdbus-1.la
++libdbus_glib_1_la_LIBADD= $(DBUS_GLIB_LIBS) $(LIBINTL) $(top_builddir)/dbus/libdbus-1.la
+ ## don't export symbols that start with "_" (we use this
+ ## convention for internal symbols)
+ libdbus_glib_1_la_LDFLAGS= -export-symbols-regex "^[^_].*"
+Index: dbus-0.23/glib/dbus-glib-tool.c
+===================================================================
+--- dbus-0.23.orig/glib/dbus-glib-tool.c 2004-08-09 23:07:00.000000000 -0400
++++ dbus-0.23/glib/dbus-glib-tool.c 2005-04-02 17:14:38.024003888 -0500
+@@ -26,8 +26,13 @@
+ #include "dbus-gparser.h"
+ #include "dbus-gutils.h"
+ #include <locale.h>
++
++#ifdef HAVE_GETTEXT
+ #include <libintl.h>
+ #define _(x) dgettext (GETTEXT_PACKAGE, x)
++#else
++#define _(x) x
++#endif
+ #define N_(x) x
+ #include <stdio.h>
+ #include <stdlib.h>
+Index: dbus-0.23/glib/dbus-glib.c
+===================================================================
+--- dbus-0.23.orig/glib/dbus-glib.c 2004-08-09 23:07:00.000000000 -0400
++++ dbus-0.23/glib/dbus-glib.c 2005-04-02 17:14:38.024003888 -0500
+@@ -27,8 +27,12 @@
+ #include "dbus-gtest.h"
+ #include "dbus-gutils.h"
+
++#ifdef HAVE_GETTEXT
+ #include <libintl.h>
+ #define _(x) dgettext (GETTEXT_PACKAGE, x)
++#else
++#define _(x) x
++#endif
+ #define N_(x) x
+
+ /**
+Index: dbus-0.23/glib/dbus-gmain.c
+===================================================================
+--- dbus-0.23.orig/glib/dbus-gmain.c 2004-11-13 02:07:47.000000000 -0500
++++ dbus-0.23/glib/dbus-gmain.c 2005-04-02 17:14:38.025003736 -0500
+@@ -27,8 +27,12 @@
+ #include "dbus-gtest.h"
+ #include "dbus-gutils.h"
+
++#ifdef HAVE_GETTEXT
+ #include <libintl.h>
+ #define _(x) dgettext (GETTEXT_PACKAGE, x)
++#else
++#define _(x) x
++#endif
+ #define N_(x) x
+
+ /**
+Index: dbus-0.23/glib/dbus-gparser.c
+===================================================================
+--- dbus-0.23.orig/glib/dbus-gparser.c 2004-08-09 23:07:00.000000000 -0400
++++ dbus-0.23/glib/dbus-gparser.c 2005-04-02 17:14:38.025003736 -0500
+@@ -20,12 +20,18 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
++
++#include <config.h>
+ #include "dbus-gparser.h"
+ #include "dbus-gidl.h"
+ #include <string.h>
+
++#ifdef HAVE_GETTEXT
+ #include <libintl.h>
+ #define _(x) gettext ((x))
++#else
++#define _(x) x
++#endif
+ #define N_(x) x
+
+ #ifndef DOXYGEN_SHOULD_SKIP_THIS
+Index: dbus-0.23/tools/Makefile.am
+===================================================================
+--- dbus-0.23.orig/tools/Makefile.am 2004-04-21 17:29:07.000000000 -0400
++++ dbus-0.23/tools/Makefile.am 2005-04-02 17:22:00.712704976 -0500
+@@ -37,8 +37,8 @@
+
+ dbus_send_LDADD= $(top_builddir)/dbus/libdbus-1.la
+ dbus_monitor_LDADD= $(top_builddir)/glib/libdbus-glib-1.la
+-dbus_launch_LDADD= $(DBUS_X_LIBS)
+-dbus_viewer_LDADD= $(DBUS_GLIB_TOOL_LIBS) $(top_builddir)/glib/libdbus-gtool.la $(DBUS_GTK_LIBS)
++dbus_launch_LDADD= $(DBUS_X_LIBS) $(LIBINTL)
++dbus_viewer_LDADD= $(DBUS_GLIB_TOOL_LIBS) $(LIBINTL) $(top_builddir)/glib/libdbus-gtool.la $(DBUS_GTK_LIBS)
+
+ man_MANS = dbus-send.1 dbus-monitor.1 dbus-launch.1 dbus-cleanup-sockets.1
+ EXTRA_DIST = $(man_MANS)
+Index: dbus-0.23/tools/dbus-launch.c
+===================================================================
+--- dbus-0.23.orig/tools/dbus-launch.c 2004-08-09 23:07:01.000000000 -0400
++++ dbus-0.23/tools/dbus-launch.c 2005-04-02 17:14:38.026003584 -0500
+@@ -22,6 +22,8 @@
+ */
+ #include <config.h>
+ #include <stdlib.h>
++#include <sys/time.h>
++#include <sys/types.h>
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <signal.h>
+Index: dbus-0.23/tools/dbus-tree-view.c
+===================================================================
+--- dbus-0.23.orig/tools/dbus-tree-view.c 2004-08-09 23:07:01.000000000 -0400
++++ dbus-0.23/tools/dbus-tree-view.c 2005-04-02 17:14:38.026003584 -0500
+@@ -24,8 +24,12 @@
+ #include <config.h>
+ #include "dbus-tree-view.h"
+
++#ifdef HAVE_GETTEXT
+ #include <libintl.h>
+ #define _(x) dgettext (GETTEXT_PACKAGE, x)
++#else
++#define _(x) x
++#endif
+ #define N_(x) x
+
+ enum
+Index: dbus-0.23/tools/dbus-viewer.c
+===================================================================
+--- dbus-0.23.orig/tools/dbus-viewer.c 2004-08-09 23:07:01.000000000 -0400
++++ dbus-0.23/tools/dbus-viewer.c 2005-04-02 17:14:38.027003432 -0500
+@@ -30,8 +30,12 @@
+ #include <glib/dbus-gparser.h>
+ #include <glib/dbus-gutils.h>
+
++#ifdef HAVE_GETTEXT
+ #include <libintl.h>
+ #define _(x) dgettext (GETTEXT_PACKAGE, x)
++#else
++#define _(x) x
++#endif
+ #define N_(x) x
+
+ typedef struct
diff --git a/openembedded/packages/dbus/dbus/no-bindings.patch b/openembedded/packages/dbus/dbus/no-bindings.patch
new file mode 100644
index 000000000..12ba00ff7
--- /dev/null
+++ b/openembedded/packages/dbus/dbus/no-bindings.patch
@@ -0,0 +1,12 @@
+--- dbus-0.34/tools/Makefile.am.old 2005-06-27 21:48:44.000000000 +0100
++++ dbus-0.34/tools/Makefile.am 2005-06-27 21:49:04.000000000 +0100
+@@ -6,9 +6,6 @@
+ 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)/glib/dbus-binding-tool
+- $(top_builddir)/glib/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
+
+ else
diff --git a/openembedded/packages/dbus/dbus/no-introspect.patch b/openembedded/packages/dbus/dbus/no-introspect.patch
new file mode 100644
index 000000000..d7ae8e4ca
--- /dev/null
+++ b/openembedded/packages/dbus/dbus/no-introspect.patch
@@ -0,0 +1,19 @@
+--- dbus-0.34/tools/Makefile.am.old 2005-06-27 20:54:36.000000000 +0100
++++ dbus-0.34/tools/Makefile.am 2005-06-27 20:54:43.000000000 +0100
+@@ -21,16 +21,6 @@
+ GTK_TOOLS=
+ endif
+
+-if HAVE_GLIB
+-noinst_PROGRAMS = print-introspect
+-
+-print_introspect_SOURCES = print-introspect.c
+-print_introspect_LDADD = $(top_builddir)/glib/libdbus-glib-1.la
+-
+-dbus-bus-introspect.xml: $(top_builddir)/bus/dbus-daemon dbus-launch print-introspect $(top_builddir)/bus/dbus-daemon
+- DBUS_TOP_BUILDDIR=$(top_builddir) $(srcdir)/run-with-tmp-session-bus.sh ./print-introspect org.freedesktop.DBus /org/freedesktop/DBus > dbus-bus-introspect.xml.tmp && mv dbus-bus-introspect.xml.tmp dbus-bus-introspect.xml
+-endif
+-
+ bin_PROGRAMS=dbus-send $(GLIB_TOOLS) dbus-launch dbus-cleanup-sockets $(GTK_TOOLS)
+
+ dbus_send_SOURCES= \
diff --git a/openembedded/packages/dbus/dbus/spawn-priority.diff b/openembedded/packages/dbus/dbus/spawn-priority.diff
new file mode 100644
index 000000000..954d2512f
--- /dev/null
+++ b/openembedded/packages/dbus/dbus/spawn-priority.diff
@@ -0,0 +1,17 @@
+diff -ur dbus/dbus/dbus-spawn.c dbus.work/dbus/dbus-spawn.c
+--- dbus/dbus/dbus-spawn.c 2005-03-14 14:25:02.849823496 +0200
++++ dbus.work/dbus/dbus-spawn.c 2005-03-14 14:34:43.947483224 +0200
+@@ -1117,6 +1117,12 @@
+ }
+ else if (grandchild_pid == 0)
+ {
++ int p;
++ errno = 0;
++ p = getpriority(PRIO_PROCESS, 0);
++ if (!errno && p < 0) {
++ setpriority(PRIO_PROCESS, 0, 0);
++ }
+ do_exec (child_err_report_pipe[WRITE_END],
+ argv,
+ child_setup, user_data);
+Only in dbus.work/dbus: dbus-spawn.c~
diff --git a/openembedded/packages/dbus/dbus/tmpdir.patch b/openembedded/packages/dbus/dbus/tmpdir.patch
new file mode 100644
index 000000000..838b903f0
--- /dev/null
+++ b/openembedded/packages/dbus/dbus/tmpdir.patch
@@ -0,0 +1,30 @@
+--- dbus-0.22/configure.in.orig 2004-08-13 00:57:16.000000000 +0200
++++ dbus-0.22/configure.in 2004-12-30 21:15:57.000000000 +0100
+@@ -1047,15 +1048,18 @@
+ AC_SUBST(ABSOLUTE_TOP_BUILDDIR)
+
+ #### Find socket directories
+-if ! test -z "$TMPDIR" ; then
+- DEFAULT_SOCKET_DIR=$TMPDIR
+-elif ! test -z "$TEMP" ; then
+- DEFAULT_SOCKET_DIR=$TEMP
+-elif ! test -z "$TMP" ; then
+- DEFAULT_SOCKET_DIR=$TMP
+-else
+- DEFAULT_SOCKET_DIR=/tmp
+-fi
++#if ! test -z "$TMPDIR" ; then
++# DEFAULT_SOCKET_DIR=$TMPDIR
++#elif ! test -z "$TEMP" ; then
++# DEFAULT_SOCKET_DIR=$TEMP
++#elif ! test -z "$TMP" ; then
++# DEFAULT_SOCKET_DIR=$TMP
++#else
++# DEFAULT_SOCKET_DIR=/tmp
++#fi
++
++# checks disabled to avoid expanding this at build time
++DEFAULT_SOCKET_DIR=/tmp
+
+ if ! test -z "$with_test_socket_dir" ; then
+ TEST_SOCKET_DIR="$with_test_socket_dir"
diff --git a/openembedded/packages/dbus/dbus/tools.diff b/openembedded/packages/dbus/dbus/tools.diff
new file mode 100644
index 000000000..d9e871298
--- /dev/null
+++ b/openembedded/packages/dbus/dbus/tools.diff
@@ -0,0 +1,12 @@
+Only in /home/kihamala/svn/dbus/tools: .svn
+diff -ur tools/dbus-launch.c /home/kihamala/svn/dbus/tools/dbus-launch.c
+--- tools/dbus-launch.c 2004-08-10 06:07:01.000000000 +0300
++++ /home/kihamala/svn/dbus/tools/dbus-launch.c 2005-02-09 17:59:05.000000000 +0200
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
++#include <sys/select.h>
+ #include <config.h>
+ #include <stdlib.h>
+ #include <unistd.h>
diff --git a/openembedded/packages/dbus/dbus_0.23.1-osso5.bb b/openembedded/packages/dbus/dbus_0.23.1-osso5.bb
new file mode 100644
index 000000000..b2fc9c44a
--- /dev/null
+++ b/openembedded/packages/dbus/dbus_0.23.1-osso5.bb
@@ -0,0 +1,72 @@
+DEFAULT_PREFERENCE = "-1"
+SECTION = "base"
+PR = "r1"
+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://repository.maemo.org/pool/maemo/ossw/source/d/${PN}/${PN}_${PV}.tar.gz \
+ file://cross.patch;patch=1 \
+ file://tmpdir.patch;patch=1 \
+ file://gettext.patch;patch=1 \
+ file://0.23.1.diff;patch=1 \
+ file://dbus-monitor.patch;patch=1 \
+ file://dbussend.patch;patch=1;pnum=0 \
+ file://spawn-priority.diff;patch=1 \
+ file://config.diff;patch=1;pnum=0 \
+ file://dbus-quiesce-startup-errors.patch;patch=1 \
+ file://tools.diff;patch=1;pnum=0 \
+ file://dbus-1.init"
+
+inherit autotools pkgconfig update-rc.d gettext
+
+S = "${WORKDIR}/dbus-0.23.1"
+
+INITSCRIPT_NAME = "dbus-1"
+INITSCRIPT_PARAMS = "defaults"
+
+CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session.conf"
+
+FILES_${PN} = "${bindir}/dbus-daemon-1 ${bindir}/dbus-launch ${bindir}/dbus-cleanup-sockets ${bindir}/dbus-send ${bindir}/dbus-monitor ${sysconfdir} ${datadir}/dbus-1/services ${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool"
+
+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"
+}
+
+EXTRA_OECONF = "--disable-qt --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}
+ oe_libinstall -so -C glib libdbus-glib-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/openembedded/packages/dbus/dbus_0.34.bb b/openembedded/packages/dbus/dbus_0.34.bb
new file mode 100644
index 000000000..a1d19897c
--- /dev/null
+++ b/openembedded/packages/dbus/dbus_0.34.bb
@@ -0,0 +1,14 @@
+include dbus_${PV}.inc
+
+
+DEPENDS = "expat glib-2.0 virtual/libintl dbus-native"
+DEFAULT_PREFERENCE = "-1"
+SRC_URI_EXTRA = "file://no-introspect.patch;patch=1 file://no-bindings.patch;patch=1"
+
+FILES_${PN} += "${bindir}/dbus-daemon"
+FILES_${PN}-dev += "${bindir}/dbus-binding-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/
+}
diff --git a/openembedded/packages/dbus/dbus_0.34.inc b/openembedded/packages/dbus/dbus_0.34.inc
new file mode 100644
index 000000000..1c63c37fd
--- /dev/null
+++ b/openembedded/packages/dbus/dbus_0.34.inc
@@ -0,0 +1,65 @@
+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"
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "http://freedesktop.org/software/dbus/releases/dbus-${PV}.tar.gz \
+ file://cross.patch;patch=1 \
+ file://tmpdir.patch;patch=1 \
+ file://dbus-1.init \
+ ${SRC_URI_EXTRA}"
+
+
+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-1 ${bindir}/dbus-launch ${bindir}/dbus-cleanup-sockets ${bindir}/dbus-send ${bindir}/dbus-monitor ${sysconfdir} ${datadir}/dbus-1/services ${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool"
+
+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"
+}
+
+EXTRA_OECONF = "--disable-qt --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}
+ oe_libinstall -so -C glib libdbus-glib-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)
+}