diff options
| author | Richard Purdie <richard@openedhand.com> | 2006-07-21 10:10:31 +0000 |
|---|---|---|
| committer | Richard Purdie <richard@openedhand.com> | 2006-07-21 10:10:31 +0000 |
| commit | b2f192faabe412adce79534e22efe9fb69ee40e2 (patch) | |
| tree | 7076c49d4286f8a1733650bd8fbc7161af200d57 /meta/packages/dbus | |
| parent | 2cf0eadf9f730027833af802d7e6c90b44248f80 (diff) | |
| download | openembedded-core-b2f192faabe412adce79534e22efe9fb69ee40e2.tar.gz openembedded-core-b2f192faabe412adce79534e22efe9fb69ee40e2.tar.bz2 openembedded-core-b2f192faabe412adce79534e22efe9fb69ee40e2.zip | |
Rename /openembedded/ -> /meta/
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@530 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/dbus')
22 files changed, 1552 insertions, 0 deletions
diff --git a/meta/packages/dbus/dbus-0.60/dbus-1.init b/meta/packages/dbus/dbus-0.60/dbus-1.init new file mode 100644 index 0000000000..60440b7223 --- /dev/null +++ b/meta/packages/dbus/dbus-0.60/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 +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/meta/packages/dbus/dbus-0.60/no-bindings.patch b/meta/packages/dbus/dbus-0.60/no-bindings.patch new file mode 100644 index 0000000000..ccfc3f88b2 --- /dev/null +++ b/meta/packages/dbus/dbus-0.60/no-bindings.patch @@ -0,0 +1,12 @@ +--- dbus-0.50/tools/Makefile.am.orig 2005-09-07 10:05:38 +0200 ++++ dbus-0.50/tools/Makefile.am 2005-09-07 10:06:30 +0200 +@@ -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$(EXEEXT) +- $(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/meta/packages/dbus/dbus-0.60/no-introspect.patch b/meta/packages/dbus/dbus-0.60/no-introspect.patch new file mode 100644 index 0000000000..1e43dd121b --- /dev/null +++ b/meta/packages/dbus/dbus-0.60/no-introspect.patch @@ -0,0 +1,14 @@ +--- dbus-0.50/tools/Makefile.am.orig 2005-09-07 10:03:49 +0200 ++++ dbus-0.50/tools/Makefile.am 2005-09-07 10:04:28 +0200 +@@ -21,11 +21,6 @@ + GTK_TOOLS= + endif + +-if HAVE_GLIB +-dbus-bus-introspect.xml: $(top_builddir)/bus/dbus-daemon$(EXEEXT) dbus-launch$(EXEEXT) dbus-send$(EXEEXT) $(top_builddir)/bus/dbus-daemon$(EXEEXT) Makefile +- DBUS_TOP_BUILDDIR=$(top_builddir) $(srcdir)/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 +-endif +- + bin_PROGRAMS=dbus-send $(GLIB_TOOLS) dbus-launch dbus-cleanup-sockets $(GTK_TOOLS) + + dbus_send_SOURCES= \ diff --git a/meta/packages/dbus/dbus-native_0.50.bb b/meta/packages/dbus/dbus-native_0.50.bb new file mode 100644 index 0000000000..9e661dbccf --- /dev/null +++ b/meta/packages/dbus/dbus-native_0.50.bb @@ -0,0 +1,19 @@ +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" + +PR = "r1" + +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/meta/packages/dbus/dbus-native_0.60.bb b/meta/packages/dbus/dbus-native_0.60.bb new file mode 100644 index 0000000000..9e661dbccf --- /dev/null +++ b/meta/packages/dbus/dbus-native_0.60.bb @@ -0,0 +1,19 @@ +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" + +PR = "r1" + +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/meta/packages/dbus/dbus.inc b/meta/packages/dbus/dbus.inc new file mode 100644 index 0000000000..1c63c37fdf --- /dev/null +++ b/meta/packages/dbus/dbus.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) +} diff --git a/meta/packages/dbus/dbus/0.23.1.diff b/meta/packages/dbus/dbus/0.23.1.diff new file mode 100644 index 0000000000..d56e1afc9c --- /dev/null +++ b/meta/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/meta/packages/dbus/dbus/config.diff b/meta/packages/dbus/dbus/config.diff new file mode 100644 index 0000000000..b67c8d72fe --- /dev/null +++ b/meta/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/meta/packages/dbus/dbus/cross.patch b/meta/packages/dbus/dbus/cross.patch new file mode 100644 index 0000000000..6d1d9d8e7e --- /dev/null +++ b/meta/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/meta/packages/dbus/dbus/dbus-1.init b/meta/packages/dbus/dbus/dbus-1.init new file mode 100644 index 0000000000..adefe7c5b1 --- /dev/null +++ b/meta/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/meta/packages/dbus/dbus/dbus-monitor.patch b/meta/packages/dbus/dbus/dbus-monitor.patch new file mode 100644 index 0000000000..c2f90c885b --- /dev/null +++ b/meta/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/meta/packages/dbus/dbus/dbus-quiesce-startup-errors.patch b/meta/packages/dbus/dbus/dbus-quiesce-startup-errors.patch new file mode 100644 index 0000000000..ba5142af2f --- /dev/null +++ b/meta/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; ++ */ |
