diff options
Diffstat (limited to 'recipes/dbus')
54 files changed, 583 insertions, 2161 deletions
diff --git a/recipes/dbus/dbus-1.0.3/cross.patch b/recipes/dbus/dbus-1.0.3/cross.patch deleted file mode 100644 index 268a3ae3de..0000000000 --- a/recipes/dbus/dbus-1.0.3/cross.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- /tmp/configure.in 2006-11-09 21:47:10.000000000 +0100 -+++ dbus-0.95/configure.in 2006-11-09 21:48:13.108554000 +0100 -@@ -719,6 +719,7 @@ - exit (0); - ]])], - [ac_cv_have_abstract_sockets=yes], -+ [ac_cv_have_abstract_sockets=no], - [ac_cv_have_abstract_sockets=no] - )]) - AC_LANG_POP(C) diff --git a/recipes/dbus/dbus-1.0.3/dbus-1.init b/recipes/dbus/dbus-1.0.3/dbus-1.init deleted file mode 100644 index 0725083c69..0000000000 --- a/recipes/dbus/dbus-1.0.3/dbus-1.init +++ /dev/null @@ -1,110 +0,0 @@ -#! /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 -DAEMONUSER=messagebus -PIDDIR=/var/run/dbus -PIDFILE=$PIDDIR/pid -UUIDDIR=/var/lib/dbus -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 ]; then - . /etc/default/dbus -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 - - if [ ! -d $UUIDDIR ]; then - mkdir -p $UUIDDIR - chown $DAEMONUSER $UUIDDIR - chgrp $DAEMONUSER $UUIDDIR - fi - - dbus-uuidgen --ensure - - 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 - # TODO: --reverse when busybox supports it - run-parts --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 -} - -reload_it() -{ - echo -n "Reloading $DESC config: " - dbus-send --print-reply --system --type=method_call \ - --dest=org.freedesktop.DBus \ - / org.freedesktop.DBus.ReloadConfig > /dev/null - # hopefully this is enough time for dbus to reload it's config file. - echo "done." -} - -case "$1" in - start) - start_it_up - ;; - stop) - shut_it_down - ;; - reload|force-reload) - reload_it - ;; - restart) - shut_it_down - sleep 1 - start_it_up - ;; - *) - echo "Usage: /etc/init.d/$NAME {start|stop|restart|reload|force-reload}" >&2 - exit 1 - ;; -esac - -exit 0 diff --git a/recipes/dbus/dbus-1.0.3/fedora-compile-fix.patch b/recipes/dbus/dbus-1.0.3/fedora-compile-fix.patch deleted file mode 100644 index eac37f04dd..0000000000 --- a/recipes/dbus/dbus-1.0.3/fedora-compile-fix.patch +++ /dev/null @@ -1,18 +0,0 @@ -Do not fail with udrec being unknown and say we are using -_GNU_SOURCE. This is needed for the libc/header/gcc combo -fedora 9 is using. bits/socket.h has struct udrec #ifdefed -with _GNU. - -Index: dbus-1.0.3/dbus/dbus-sysdeps-unix.c -=================================================================== ---- dbus-1.0.3.orig/dbus/dbus-sysdeps-unix.c -+++ dbus-1.0.3/dbus/dbus-sysdeps-unix.c -@@ -22,6 +22,8 @@ - * - */ - -+#define _GNU_SOURCE -+ - #include "dbus-internals.h" - #include "dbus-sysdeps.h" - #include "dbus-sysdeps-unix.h" diff --git a/recipes/dbus/dbus-1.0.3/fix-install-daemon.patch b/recipes/dbus/dbus-1.0.3/fix-install-daemon.patch deleted file mode 100644 index c31786357d..0000000000 --- a/recipes/dbus/dbus-1.0.3/fix-install-daemon.patch +++ /dev/null @@ -1,13 +0,0 @@ -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/recipes/dbus/dbus-1.0.3/fix-waitpid.patch b/recipes/dbus/dbus-1.0.3/fix-waitpid.patch deleted file mode 100644 index 80c431809c..0000000000 --- a/recipes/dbus/dbus-1.0.3/fix-waitpid.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- /tmp/dbus-launch.c 2007-02-05 18:43:24.000000000 +0100 -+++ dbus-1.0.2/tools/dbus-launch.c 2007-02-05 18:43:37.675251000 +0100 -@@ -622,7 +622,7 @@ - - exit_with_session = FALSE; - config_file = NULL; -- -+ signal(SIGCHLD, SIG_DFL); - prev_arg = NULL; - i = 1; - while (i < argc) diff --git a/recipes/dbus/dbus-1.2.20/0001-Make-the-default-DBus-reply-timeout-configurable.patch b/recipes/dbus/dbus-1.2.20/0001-Make-the-default-DBus-reply-timeout-configurable.patch deleted file mode 100644 index a38e3db0de..0000000000 --- a/recipes/dbus/dbus-1.2.20/0001-Make-the-default-DBus-reply-timeout-configurable.patch +++ /dev/null @@ -1,78 +0,0 @@ -From fb546488e93a1638d377b228bbb0d2ab58462168 Mon Sep 17 00:00:00 2001 -From: Daniel Willmann <daniel@totalueberwachung.de> -Date: Thu, 2 Oct 2008 15:50:17 +0800 -Subject: [PATCH] Make the default DBus reply timeout configurable - -This patch adds an option --with-dbus-default-reply-timeout to configure -that will set the default reply timeout used by libdbus in milliseconds. -autoconf and autoheader need to be rerun in order to regenerate the -correct configure and config.h.in files. ---- - configure.in | 9 +++++++++ - dbus/dbus-connection-internal.h | 3 --- - dbus/dbus-pending-call.c | 1 + - 3 files changed, 10 insertions(+), 3 deletions(-) - -diff --git a/configure.in b/configure.in -index 62ac387..5c912d7 100644 ---- a/configure.in -+++ b/configure.in -@@ -88,6 +88,7 @@ AC_ARG_WITH(console-auth-dir, AS_HELP_STRING([--with-console-auth-dir=[dirname]] - AC_ARG_WITH(console-owner-file, AS_HELP_STRING([--with-console-owner-file=[filename]],[file whose owner determines current console owner])) - AC_ARG_WITH(dbus_user, AS_HELP_STRING([--with-dbus-user=<user>],[User for running the DBUS daemon (messagebus)])) - AC_ARG_WITH(dbus_daemondir, AS_HELP_STRING([--with-dbus-daemondir=[dirname]],[Directory for installing the DBUS daemon])) -+AC_ARG_WITH(dbus_default_reply_timeout, AS_HELP_STRING([--with-dbus-default-reply-timeout=[milliseconds]],[Default reply timeout for DBus method calls])) - - AC_DEFINE(DBUS_UNIX,1,[dbus on unix]) - -@@ -986,6 +987,13 @@ if test x$have_libaudit = xyes ; then - AC_DEFINE(HAVE_LIBAUDIT,1,[audit daemon SELinux support]) - fi - -+if test -z "$with_dbus_default_reply_timeout" ; then -+ DBUS_DEFAULT_REPLY_TIMEOUT=25000 -+else -+ DBUS_DEFAULT_REPLY_TIMEOUT=$with_dbus_default_reply_timeout -+fi -+AC_DEFINE_UNQUOTED(_DBUS_DEFAULT_TIMEOUT_VALUE,$DBUS_DEFAULT_REPLY_TIMEOUT,[default timeout value for dbus calls]) -+ - #### Set up final flags - DBUS_CLIENT_CFLAGS= - DBUS_CLIENT_LIBS="$THREAD_LIBS" -@@ -1348,6 +1356,7 @@ echo " - Gettext libs (empty OK): ${INTLLIBS} - Using XML parser: ${with_xml} - Init scripts style: ${with_init_scripts} -+ Default reply timeout: ${DBUS_DEFAULT_REPLY_TIMEOUT} - Abstract socket names: ${ac_cv_have_abstract_sockets} - System bus socket: ${DBUS_SYSTEM_SOCKET} - System bus address: ${DBUS_SYSTEM_BUS_DEFAULT_ADDRESS} -diff --git a/dbus/dbus-connection-internal.h b/dbus/dbus-connection-internal.h -index df54412..5fe536b 100644 ---- a/dbus/dbus-connection-internal.h -+++ b/dbus/dbus-connection-internal.h -@@ -41,9 +41,6 @@ typedef enum - DBUS_ITERATION_BLOCK = 1 << 2 /**< Block if nothing to do. */ - } DBusIterationFlags; - --/** default timeout value when waiting for a message reply, 25 seconds */ --#define _DBUS_DEFAULT_TIMEOUT_VALUE (25 * 1000) -- - void _dbus_connection_lock (DBusConnection *connection); - void _dbus_connection_unlock (DBusConnection *connection); - DBusConnection * _dbus_connection_ref_unlocked (DBusConnection *connection); -diff --git a/dbus/dbus-pending-call.c b/dbus/dbus-pending-call.c -index 51b9378..5a7a5f4 100644 ---- a/dbus/dbus-pending-call.c -+++ b/dbus/dbus-pending-call.c -@@ -21,6 +21,7 @@ - * - */ - -+#include <config.h> - #include "dbus-internals.h" - #include "dbus-connection-internal.h" - #include "dbus-pending-call-internal.h" --- -1.5.6.4 - diff --git a/recipes/dbus/dbus-1.2.20/dbus-1.init b/recipes/dbus/dbus-1.2.20/dbus-1.init deleted file mode 100644 index 8209454088..0000000000 --- a/recipes/dbus/dbus-1.2.20/dbus-1.init +++ /dev/null @@ -1,111 +0,0 @@ -#! /bin/sh -# -*- coding: utf-8 -*- -# Debian init.d script for D-BUS -# Copyright © 2003 Colin Walters <walters@debian.org> -# Copyright 2008 OE Team - -set -e - -DAEMON=/usr/bin/dbus-daemon -NAME=dbus -DAEMONUSER=messagebus -RUNDIR=/var/run/dbus -PIDFILE=/var/run/dbus/pid -UUIDDIR=/var/lib/dbus -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 ]; then - . /etc/default/dbus -fi - -test "$ENABLED" != "0" || exit 0 - -start_it_up() -{ - if [ ! -d $RUNDIR ]; then - mkdir -p $RUNDIR - chown $DAEMONUSER $RUNDIR - chgrp $DAEMONUSER $RUNDIR - 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 - - if [ ! -d $UUIDDIR ]; then - mkdir -p $UUIDDIR - chown $DAEMONUSER $UUIDDIR - chgrp $DAEMONUSER $UUIDDIR - fi - - dbus-uuidgen --ensure - - echo -n "Starting $DESC: " - start-stop-daemon --start --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 - # TODO: --reverse when busybox supports it - run-parts --arg=stop $EVENTDIR - fi - echo -n "Stopping $DESC: " - start-stop-daemon --stop --oknodo --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 -} - -reload_it() -{ - echo -n "Reloading $DESC config: " - dbus-send --print-reply --system --type=method_call \ - --dest=org.freedesktop.DBus \ - / org.freedesktop.DBus.ReloadConfig > /dev/null - # hopefully this is enough time for dbus to reload it's config file. - echo "done." -} - -case "$1" in - start) - start_it_up - ;; - stop) - shut_it_down - ;; - reload|force-reload) - reload_it - ;; - restart) - shut_it_down - sleep 1 - start_it_up - ;; - *) - echo "Usage: /etc/init.d/$NAME {start|stop|restart|reload|force-reload}" >&2 - exit 1 - ;; -esac - -exit 0 diff --git a/recipes/dbus/dbus-1.2.20/fix-install-daemon.patch b/recipes/dbus/dbus-1.2.20/fix-install-daemon.patch deleted file mode 100644 index c31786357d..0000000000 --- a/recipes/dbus/dbus-1.2.20/fix-install-daemon.patch +++ /dev/null @@ -1,13 +0,0 @@ -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/recipes/dbus/dbus-1.2.20/tmpdir.patch b/recipes/dbus/dbus-1.2.20/tmpdir.patch deleted file mode 100644 index 838b903f0a..0000000000 --- a/recipes/dbus/dbus-1.2.20/tmpdir.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- 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/recipes/dbus/dbus-1.2.24/fix-install-daemon.patch b/recipes/dbus/dbus-1.2.24/fix-install-daemon.patch index c31786357d..5e25d1227d 100644 --- a/recipes/dbus/dbus-1.2.24/fix-install-daemon.patch +++ b/recipes/dbus/dbus-1.2.24/fix-install-daemon.patch @@ -7,7 +7,7 @@ Index: dbus-0.94/bus/Makefile.am chmod 755 $(DESTDIR)$(DBUS_DAEMONDIR); \ fi - $(INSTALL_PROGRAM) dbus-daemon $(DESTDIR)$(DBUS_DAEMONDIR) -+ $(INSTALL_PROGRAM) .libs/dbus-daemon $(DESTDIR)$(DBUS_DAEMONDIR) ++ $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) dbus-daemon $(DESTDIR)$(DBUS_DAEMONDIR) $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus $(mkinstalldirs) $(DESTDIR)$(configdir)/system.d $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/services diff --git a/recipes/dbus/dbus-1.3.0/0001-Make-the-default-DBus-reply-timeout-configurable.patch b/recipes/dbus/dbus-1.3.0/0001-Make-the-default-DBus-reply-timeout-configurable.patch deleted file mode 100644 index a38e3db0de..0000000000 --- a/recipes/dbus/dbus-1.3.0/0001-Make-the-default-DBus-reply-timeout-configurable.patch +++ /dev/null @@ -1,78 +0,0 @@ -From fb546488e93a1638d377b228bbb0d2ab58462168 Mon Sep 17 00:00:00 2001 -From: Daniel Willmann <daniel@totalueberwachung.de> -Date: Thu, 2 Oct 2008 15:50:17 +0800 -Subject: [PATCH] Make the default DBus reply timeout configurable - -This patch adds an option --with-dbus-default-reply-timeout to configure -that will set the default reply timeout used by libdbus in milliseconds. -autoconf and autoheader need to be rerun in order to regenerate the -correct configure and config.h.in files. ---- - configure.in | 9 +++++++++ - dbus/dbus-connection-internal.h | 3 --- - dbus/dbus-pending-call.c | 1 + - 3 files changed, 10 insertions(+), 3 deletions(-) - -diff --git a/configure.in b/configure.in -index 62ac387..5c912d7 100644 ---- a/configure.in -+++ b/configure.in -@@ -88,6 +88,7 @@ AC_ARG_WITH(console-auth-dir, AS_HELP_STRING([--with-console-auth-dir=[dirname]] - AC_ARG_WITH(console-owner-file, AS_HELP_STRING([--with-console-owner-file=[filename]],[file whose owner determines current console owner])) - AC_ARG_WITH(dbus_user, AS_HELP_STRING([--with-dbus-user=<user>],[User for running the DBUS daemon (messagebus)])) - AC_ARG_WITH(dbus_daemondir, AS_HELP_STRING([--with-dbus-daemondir=[dirname]],[Directory for installing the DBUS daemon])) -+AC_ARG_WITH(dbus_default_reply_timeout, AS_HELP_STRING([--with-dbus-default-reply-timeout=[milliseconds]],[Default reply timeout for DBus method calls])) - - AC_DEFINE(DBUS_UNIX,1,[dbus on unix]) - -@@ -986,6 +987,13 @@ if test x$have_libaudit = xyes ; then - AC_DEFINE(HAVE_LIBAUDIT,1,[audit daemon SELinux support]) - fi - -+if test -z "$with_dbus_default_reply_timeout" ; then -+ DBUS_DEFAULT_REPLY_TIMEOUT=25000 -+else -+ DBUS_DEFAULT_REPLY_TIMEOUT=$with_dbus_default_reply_timeout -+fi -+AC_DEFINE_UNQUOTED(_DBUS_DEFAULT_TIMEOUT_VALUE,$DBUS_DEFAULT_REPLY_TIMEOUT,[default timeout value for dbus calls]) -+ - #### Set up final flags - DBUS_CLIENT_CFLAGS= - DBUS_CLIENT_LIBS="$THREAD_LIBS" -@@ -1348,6 +1356,7 @@ echo " - Gettext libs (empty OK): ${INTLLIBS} - Using XML parser: ${with_xml} - Init scripts style: ${with_init_scripts} -+ Default reply timeout: ${DBUS_DEFAULT_REPLY_TIMEOUT} - Abstract socket names: ${ac_cv_have_abstract_sockets} - System bus socket: ${DBUS_SYSTEM_SOCKET} - System bus address: ${DBUS_SYSTEM_BUS_DEFAULT_ADDRESS} -diff --git a/dbus/dbus-connection-internal.h b/dbus/dbus-connection-internal.h -index df54412..5fe536b 100644 ---- a/dbus/dbus-connection-internal.h -+++ b/dbus/dbus-connection-internal.h -@@ -41,9 +41,6 @@ typedef enum - DBUS_ITERATION_BLOCK = 1 << 2 /**< Block if nothing to do. */ - } DBusIterationFlags; - --/** default timeout value when waiting for a message reply, 25 seconds */ --#define _DBUS_DEFAULT_TIMEOUT_VALUE (25 * 1000) -- - void _dbus_connection_lock (DBusConnection *connection); - void _dbus_connection_unlock (DBusConnection *connection); - DBusConnection * _dbus_connection_ref_unlocked (DBusConnection *connection); -diff --git a/dbus/dbus-pending-call.c b/dbus/dbus-pending-call.c -index 51b9378..5a7a5f4 100644 ---- a/dbus/dbus-pending-call.c -+++ b/dbus/dbus-pending-call.c -@@ -21,6 +21,7 @@ - * - */ - -+#include <config.h> - #include "dbus-internals.h" - #include "dbus-connection-internal.h" - #include "dbus-pending-call-internal.h" --- -1.5.6.4 - diff --git a/recipes/dbus/dbus-1.3.0/cross.patch b/recipes/dbus/dbus-1.3.0/cross.patch deleted file mode 100644 index 268a3ae3de..0000000000 --- a/recipes/dbus/dbus-1.3.0/cross.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- /tmp/configure.in 2006-11-09 21:47:10.000000000 +0100 -+++ dbus-0.95/configure.in 2006-11-09 21:48:13.108554000 +0100 -@@ -719,6 +719,7 @@ - exit (0); - ]])], - [ac_cv_have_abstract_sockets=yes], -+ [ac_cv_have_abstract_sockets=no], - [ac_cv_have_abstract_sockets=no] - )]) - AC_LANG_POP(C) diff --git a/recipes/dbus/dbus-1.3.0/fix-install-daemon.patch b/recipes/dbus/dbus-1.3.0/fix-install-daemon.patch deleted file mode 100644 index c31786357d..0000000000 --- a/recipes/dbus/dbus-1.3.0/fix-install-daemon.patch +++ /dev/null @@ -1,13 +0,0 @@ -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/recipes/dbus/dbus-1.3.0/improve-threading-stability.patch b/recipes/dbus/dbus-1.3.0/improve-threading-stability.patch deleted file mode 100644 index 59de6ef27f..0000000000 --- a/recipes/dbus/dbus-1.3.0/improve-threading-stability.patch +++ /dev/null @@ -1,38 +0,0 @@ -From ae95a0ff9651a774cd983436d7e656c62492659c Mon Sep 17 00:00:00 2001 -From: Michael Meeks <michael.meeks@novell.com> -Date: Fri, 12 Mar 2010 16:50:27 +0000 -Subject: [DBusConnection] When handling a watch, return if another thread is doing I/O - -http://lists.freedesktop.org/archives/dbus/2010-March/012337.html - -Previously, the watch handler would block until the I/O path was available. -However, if another non-main thread was doing a synchronous call, this would -cause the main thread to block on that thread, a highly undesirable -thing because it's important for the main thread to remain responsive -for user interfaces. - -Signed-off-by: Colin Walters <walters@verbum.org> -Signed-off-by: Thiago Macieira <thiago@kde.org> ---- -diff --git a/dbus/dbus-connection.c b/dbus/dbus-connection.c -index 5fb234d..69fdf53 100644 ---- a/dbus/dbus-connection.c -+++ b/dbus/dbus-connection.c -@@ -1435,7 +1435,14 @@ _dbus_connection_handle_watch (DBusWatch *watch, - _dbus_verbose ("%s start\n", _DBUS_FUNCTION_NAME); - - CONNECTION_LOCK (connection); -- _dbus_connection_acquire_io_path (connection, -1); -+ -+ if (!_dbus_connection_acquire_io_path (connection, 1)) -+ { -+ /* another thread is handling the message */ -+ CONNECTION_UNLOCK (connection); -+ return TRUE; -+ } -+ - HAVE_LOCK_CHECK (connection); - retval = _dbus_transport_handle_watch (connection->transport, - watch, condition); --- -cgit v0.8.3-6-g21f6 diff --git a/recipes/dbus/dbus-1.3.0/tmpdir.patch b/recipes/dbus/dbus-1.3.0/tmpdir.patch deleted file mode 100644 index 838b903f0a..0000000000 --- a/recipes/dbus/dbus-1.3.0/tmpdir.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- 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/recipes/dbus/dbus-1.3.0/will-1.patch b/recipes/dbus/dbus-1.3.0/will-1.patch deleted file mode 100644 index eb3bb9049e..0000000000 --- a/recipes/dbus/dbus-1.3.0/will-1.patch +++ /dev/null @@ -1,25 +0,0 @@ -From aebf924fce126e4eb1409e995edb78f7c02f65b1 Mon Sep 17 00:00:00 2001 -From: Will Thompson <will.thompson@collabora.co.uk> -Date: Wed, 29 Jul 2009 17:47:04 +0100 -Subject: [PATCH 1/6] Add a constant for the number of message types - ---- - dbus/dbus-protocol.h | 2 ++ - 1 files changed, 2 insertions(+), 0 deletions(-) - -diff --git a/dbus/dbus-protocol.h b/dbus/dbus-protocol.h -index a2284ee..17798e9 100644 ---- a/dbus/dbus-protocol.h -+++ b/dbus/dbus-protocol.h -@@ -239,6 +239,8 @@ extern "C" { - /** Message type of a signal message, see dbus_message_get_type() */ - #define DBUS_MESSAGE_TYPE_SIGNAL 4 - -+#define DBUS_NUM_MESSAGE_TYPES 5 -+ - /* Header flags */ - - /** If set, this flag means that the sender of a message does not care about getting --- -1.6.3.3 - diff --git a/recipes/dbus/dbus-1.3.0/will-2.patch b/recipes/dbus/dbus-1.3.0/will-2.patch deleted file mode 100644 index e1c756bd64..0000000000 --- a/recipes/dbus/dbus-1.3.0/will-2.patch +++ /dev/null @@ -1,370 +0,0 @@ -From 2d4da5596b34cbd5de2b97971fbb484657a1f485 Mon Sep 17 00:00:00 2001 -From: Will Thompson <will.thompson@collabora.co.uk> -Date: Wed, 29 Jul 2009 17:48:21 +0100 -Subject: [PATCH 2/6] Index match rules by message type - -This avoids scanning all the signal matches while dispatching method -calls and returns, which are rarely matched against. ---- - bus/signals.c | 217 ++++++++++++++++++++++++++++++++++++-------------------- - 1 files changed, 139 insertions(+), 78 deletions(-) - -diff --git a/bus/signals.c b/bus/signals.c -index b020a76..10e0b5e 100644 ---- a/bus/signals.c -+++ b/bus/signals.c -@@ -1022,7 +1022,11 @@ struct BusMatchmaker - { - int refcount; - -- DBusList *all_rules; -+ /* lists of rules, grouped by the type of message they match. 0 -+ * (DBUS_MESSAGE_TYPE_INVALID) represents rules that do not specify a message -+ * type. -+ */ -+ DBusList *rules_by_type[DBUS_NUM_MESSAGE_TYPES]; - }; - - BusMatchmaker* -@@ -1039,6 +1043,16 @@ bus_matchmaker_new (void) - return matchmaker; - } - -+static DBusList ** -+bus_matchmaker_get_rules (BusMatchmaker *matchmaker, -+ int message_type) -+{ -+ _dbus_assert (message_type >= 0); -+ _dbus_assert (message_type < DBUS_NUM_MESSAGE_TYPES); -+ -+ return matchmaker->rules_by_type + message_type; -+} -+ - BusMatchmaker * - bus_matchmaker_ref (BusMatchmaker *matchmaker) - { -@@ -1057,14 +1071,20 @@ bus_matchmaker_unref (BusMatchmaker *matchmaker) - matchmaker->refcount -= 1; - if (matchmaker->refcount == 0) - { -- while (matchmaker->all_rules != NULL) -+ int i; -+ -+ for (i = DBUS_MESSAGE_TYPE_INVALID; i < DBUS_NUM_MESSAGE_TYPES; i++) - { -- BusMatchRule *rule; -+ DBusList **rules = bus_matchmaker_get_rules (matchmaker, i); -+ -+ while (*rules != NULL) -+ { -+ BusMatchRule *rule; - -- rule = matchmaker->all_rules->data; -- bus_match_rule_unref (rule); -- _dbus_list_remove_link (&matchmaker->all_rules, -- matchmaker->all_rules); -+ rule = (*rules)->data; -+ bus_match_rule_unref (rule); -+ _dbus_list_remove_link (rules, *rules); -+ } - } - - dbus_free (matchmaker); -@@ -1076,14 +1096,18 @@ dbus_bool_t - bus_matchmaker_add_rule (BusMatchmaker *matchmaker, - BusMatchRule *rule) - { -+ DBusList **rules; -+ - _dbus_assert (bus_connection_is_active (rule->matches_go_to)); - -- if (!_dbus_list_append (&matchmaker->all_rules, rule)) -+ rules = bus_matchmaker_get_rules (matchmaker, rule->message_type); -+ -+ if (!_dbus_list_append (rules, rule)) - return FALSE; - - if (!bus_connection_add_match_rule (rule->matches_go_to, rule)) - { -- _dbus_list_remove_last (&matchmaker->all_rules, rule); -+ _dbus_list_remove_last (rules, rule); - return FALSE; - } - -@@ -1171,13 +1195,13 @@ match_rule_equal (BusMatchRule *a, - } - - static void --bus_matchmaker_remove_rule_link (BusMatchmaker *matchmaker, -+bus_matchmaker_remove_rule_link (DBusList **rules, - DBusList *link) - { - BusMatchRule *rule = link->data; - - bus_connection_remove_match_rule (rule->matches_go_to, rule); -- _dbus_list_remove_link (&matchmaker->all_rules, link); -+ _dbus_list_remove_link (rules, link); - - #ifdef DBUS_ENABLE_VERBOSE_MODE - { -@@ -1196,8 +1220,12 @@ void - bus_matchmaker_remove_rule (BusMatchmaker *matchmaker, - BusMatchRule *rule) - { -+ DBusList **rules; -+ - bus_connection_remove_match_rule (rule->matches_go_to, rule); -- _dbus_list_remove (&matchmaker->all_rules, rule); -+ -+ rules = bus_matchmaker_get_rules (matchmaker, rule->message_type); -+ _dbus_list_remove (rules, rule); - - #ifdef DBUS_ENABLE_VERBOSE_MODE - { -@@ -1219,24 +1247,26 @@ bus_matchmaker_remove_rule_by_value (BusMatchmaker *matchmaker, - DBusError *error) - { - /* FIXME this is an unoptimized linear scan */ -- -+ DBusList **rules; - DBusList *link; - -+ rules = bus_matchmaker_get_rules (matchmaker, value->message_type); -+ - /* we traverse backward because bus_connection_remove_match_rule() - * removes the most-recently-added rule - */ -- link = _dbus_list_get_last_link (&matchmaker->all_rules); -+ link = _dbus_list_get_last_link (rules); - while (link != NULL) - { - BusMatchRule *rule; - DBusList *prev; - - rule = link->data; -- prev = _dbus_list_get_prev_link (&matchmaker->all_rules, link); -+ prev = _dbus_list_get_prev_link (rules, link); - - if (match_rule_equal (rule, value)) - { -- bus_matchmaker_remove_rule_link (matchmaker, link); -+ bus_matchmaker_remove_rule_link (rules, link); - break; - } - -@@ -1258,6 +1288,7 @@ bus_matchmaker_disconnected (BusMatchmaker *matchmaker, - DBusConnection *disconnected) - { - DBusList *link; -+ int i; - - /* FIXME - * -@@ -1270,41 +1301,46 @@ bus_matchmaker_disconnected (BusMatchmaker *matchmaker, - - _dbus_assert (bus_connection_is_active (disconnected)); - -- link = _dbus_list_get_first_link (&matchmaker->all_rules); -- while (link != NULL) -+ for (i = DBUS_MESSAGE_TYPE_INVALID; i < DBUS_NUM_MESSAGE_TYPES; i++) - { -- BusMatchRule *rule; -- DBusList *next; -+ DBusList **rules = bus_matchmaker_get_rules (matchmaker, i); - -- rule = link->data; -- next = _dbus_list_get_next_link (&matchmaker->all_rules, link); -- -- if (rule->matches_go_to == disconnected) -- { -- bus_matchmaker_remove_rule_link (matchmaker, link); -- } -- else if (((rule->flags & BUS_MATCH_SENDER) && *rule->sender == ':') || -- ((rule->flags & BUS_MATCH_DESTINATION) && *rule->destination == ':')) -+ link = _dbus_list_get_first_link (rules); -+ while (link != NULL) - { -- /* The rule matches to/from a base service, see if it's the -- * one being disconnected, since we know this service name -- * will never be recycled. -- */ -- const char *name; -- -- name = bus_connection_get_name (disconnected); -- _dbus_assert (name != NULL); /* because we're an active connection */ -- -- if (((rule->flags & BUS_MATCH_SENDER) && -- strcmp (rule->sender, name) == 0) || -- ((rule->flags & BUS_MATCH_DESTINATION) && -- strcmp (rule->destination, name) == 0)) -+ BusMatchRule *rule; -+ DBusList *next; -+ -+ rule = link->data; -+ next = _dbus_list_get_next_link (rules, link); -+ -+ if (rule->matches_go_to == disconnected) - { -- bus_matchmaker_remove_rule_link (matchmaker, link); -+ bus_matchmaker_remove_rule_link (rules, link); -+ } -+ else if (((rule->flags & BUS_MATCH_SENDER) && *rule->sender == ':') || -+ ((rule->flags & BUS_MATCH_DESTINATION) && *rule->destination == ':')) -+ { -+ /* The rule matches to/from a base service, see if it's the -+ * one being disconnected, since we know this service name -+ * will never be recycled. -+ */ -+ const char *name; -+ -+ name = bus_connection_get_name (disconnected); -+ _dbus_assert (name != NULL); /* because we're an active connection */ -+ -+ if (((rule->flags & BUS_MATCH_SENDER) && -+ strcmp (rule->sender, name) == 0) || -+ ((rule->flags & BUS_MATCH_DESTINATION) && -+ strcmp (rule->destination, name) == 0)) -+ { -+ bus_matchmaker_remove_rule_link (rules, link); -+ } - } -- } - -- link = next; -+ link = next; -+ } - } - } - -@@ -1504,38 +1540,16 @@ match_rule_matches (BusMatchRule *rule, - return TRUE; - } - --dbus_bool_t --bus_matchmaker_get_recipients (BusMatchmaker *matchmaker, -- BusConnections *connections, -- DBusConnection *sender, -- DBusConnection *addressed_recipient, -- DBusMessage *message, -- DBusList **recipients_p) -+static dbus_bool_t -+get_recipients_from_list (DBusList **rules, -+ DBusConnection *sender, -+ DBusConnection *addressed_recipient, -+ DBusMessage *message, -+ DBusList **recipients_p) - { -- /* FIXME for now this is a wholly unoptimized linear search */ -- /* Guessing the important optimization is to skip the signal-related -- * match lists when processing method call and exception messages. -- * So separate match rule lists for signals? -- */ -- - DBusList *link; - -- _dbus_assert (*recipients_p == NULL); -- -- /* This avoids sending same message to the same connection twice. -- * Purpose of the stamp instead of a bool is to avoid iterating over -- * all connections resetting the bool each time. -- */ -- bus_connections_increment_stamp (connections); -- -- /* addressed_recipient is already receiving the message, don't add to list. -- * NULL addressed_recipient means either bus driver, or this is a signal -- * and thus lacks a specific addressed_recipient. -- */ -- if (addressed_recipient != NULL) -- bus_connection_mark_stamp (addressed_recipient); -- -- link = _dbus_list_get_first_link (&matchmaker->all_rules); -+ link = _dbus_list_get_first_link (rules); - while (link != NULL) - { - BusMatchRule *rule; -@@ -1545,7 +1559,7 @@ bus_matchmaker_get_recipients (BusMatchmaker *matchmaker, - #ifdef DBUS_ENABLE_VERBOSE_MODE - { - char *s = match_rule_to_string (rule); -- -+ - _dbus_verbose ("Checking whether message matches rule %s for connection %p\n", - s, rule->matches_go_to); - dbus_free (s); -@@ -1556,12 +1570,12 @@ bus_matchmaker_get_recipients (BusMatchmaker *matchmaker, - sender, addressed_recipient, message)) - { - _dbus_verbose ("Rule matched\n"); -- -+ - /* Append to the list if we haven't already */ - if (bus_connection_mark_stamp (rule->matches_go_to)) - { - if (!_dbus_list_append (recipients_p, rule->matches_go_to)) -- goto nomem; -+ return FALSE; - } - #ifdef DBUS_ENABLE_VERBOSE_MODE - else -@@ -1571,10 +1585,57 @@ bus_matchmaker_get_recipients (BusMatchmaker *matchmaker, - #endif /* DBUS_ENABLE_VERBOSE_MODE */ - } - -- link = _dbus_list_get_next_link (&matchmaker->all_rules, link); -+ link = _dbus_list_get_next_link (rules, link); - } - - return TRUE; -+} -+ -+dbus_bool_t -+bus_matchmaker_get_recipients (BusMatchmaker *matchmaker, -+ BusConnections *connections, -+ DBusConnection *sender, -+ DBusConnection *addressed_recipient, -+ DBusMessage *message, -+ DBusList **recipients_p) -+{ -+ /* FIXME for now this is a wholly unoptimized linear search */ -+ /* Guessing the important optimization is to skip the signal-related -+ * match lists when processing method call and exception messages. -+ * So separate match rule lists for signals? -+ */ -+ int type; -+ -+ _dbus_assert (*recipients_p == NULL); -+ -+ /* This avoids sending same message to the same connection twice. -+ * Purpose of the stamp instead of a bool is to avoid iterating over -+ * all connections resetting the bool each time. -+ */ -+ bus_connections_increment_stamp (connections); -+ -+ /* addressed_recipient is already receiving the message, don't add to list. -+ * NULL addressed_recipient means either bus driver, or this is a signal -+ * and thus lacks a specific addressed_recipient. -+ */ -+ if (addressed_recipient != NULL) -+ bus_connection_mark_stamp (addressed_recipient); -+ -+ /* We always need to try the rules that don't specify a message type */ -+ if (!get_recipients_from_list ( -+ bus_matchmaker_get_rules (matchmaker, DBUS_MESSAGE_TYPE_INVALID), -+ sender, addressed_recipient, message, recipients_p)) -+ goto nomem; -+ -+ /* Also try rules that match the type of this message */ -+ type = dbus_message_get_type (message); -+ if (type > DBUS_MESSAGE_TYPE_INVALID && type < DBUS_NUM_MESSAGE_TYPES) -+ if (!get_recipients_from_list ( -+ bus_matchmaker_get_rules (matchmaker, type), -+ sender, addressed_recipient, message, recipients_p)) -+ goto nomem; -+ -+ return TRUE; - - nomem: - _dbus_list_clear (recipients_p); --- -1.6.3.3 - diff --git a/recipes/dbus/dbus-1.3.0/will-3.patch b/recipes/dbus/dbus-1.3.0/will-3.patch deleted file mode 100644 index 80e1f33a03..0000000000 --- a/recipes/dbus/dbus-1.3.0/will-3.patch +++ /dev/null @@ -1,119 +0,0 @@ -From 8946958989828312ecf58dbaa581cbcebea8bcea Mon Sep 17 00:00:00 2001 -From: Will Thompson <will.thompson@collabora.co.uk> -Date: Wed, 29 Jul 2009 17:53:37 +0100 -Subject: [PATCH 3/6] Don't bother re-matching features we've checked. - -This is currently not a big deal, but will make more of a difference -once the set of match rules is partitioned by more features than just -the message type. ---- - bus/signals.c | 29 ++++++++++++++++++----------- - 1 files changed, 18 insertions(+), 11 deletions(-) - -diff --git a/bus/signals.c b/bus/signals.c -index 10e0b5e..0509dd5 100644 ---- a/bus/signals.c -+++ b/bus/signals.c -@@ -1369,8 +1369,11 @@ static dbus_bool_t - match_rule_matches (BusMatchRule *rule, - DBusConnection *sender, - DBusConnection *addressed_recipient, -- DBusMessage *message) -+ DBusMessage *message, -+ BusMatchFlags already_matched) - { -+ int flags; -+ - /* All features of the match rule are AND'd together, - * so FALSE if any of them don't match. - */ -@@ -1379,8 +1382,11 @@ match_rule_matches (BusMatchRule *rule, - * or for addressed_recipient may mean a message with no - * specific recipient (i.e. a signal) - */ -- -- if (rule->flags & BUS_MATCH_MESSAGE_TYPE) -+ -+ /* Don't bother re-matching features we've already checked implicitly. */ -+ flags = rule->flags & (~already_matched); -+ -+ if (flags & BUS_MATCH_MESSAGE_TYPE) - { - _dbus_assert (rule->message_type != DBUS_MESSAGE_TYPE_INVALID); - -@@ -1388,7 +1394,7 @@ match_rule_matches (BusMatchRule *rule, - return FALSE; - } - -- if (rule->flags & BUS_MATCH_INTERFACE) -+ if (flags & BUS_MATCH_INTERFACE) - { - const char *iface; - -@@ -1402,7 +1408,7 @@ match_rule_matches (BusMatchRule *rule, - return FALSE; - } - -- if (rule->flags & BUS_MATCH_MEMBER) -+ if (flags & BUS_MATCH_MEMBER) - { - const char *member; - -@@ -1416,7 +1422,7 @@ match_rule_matches (BusMatchRule *rule, - return FALSE; - } - -- if (rule->flags & BUS_MATCH_SENDER) -+ if (flags & BUS_MATCH_SENDER) - { - _dbus_assert (rule->sender != NULL); - -@@ -1433,7 +1439,7 @@ match_rule_matches (BusMatchRule *rule, - } - } - -- if (rule->flags & BUS_MATCH_DESTINATION) -+ if (flags & BUS_MATCH_DESTINATION) - { - const char *destination; - -@@ -1456,7 +1462,7 @@ match_rule_matches (BusMatchRule *rule, - } - } - -- if (rule->flags & BUS_MATCH_PATH) -+ if (flags & BUS_MATCH_PATH) - { - const char *path; - -@@ -1470,7 +1476,7 @@ match_rule_matches (BusMatchRule *rule, - return FALSE; - } - -- if (rule->flags & BUS_MATCH_ARGS) -+ if (flags & BUS_MATCH_ARGS) - { - int i; - DBusMessageIter iter; -@@ -1567,7 +1573,8 @@ get_recipients_from_list (DBusList **rules, - #endif - - if (match_rule_matches (rule, -- sender, addressed_recipient, message)) -+ sender, addressed_recipient, message, -+ BUS_MATCH_MESSAGE_TYPE)) - { - _dbus_verbose ("Rule matched\n"); - -@@ -2004,7 +2011,7 @@ check_matches (dbus_bool_t expected_to_match, - _dbus_assert (rule != NULL); - - /* We can't test sender/destination rules since we pass NULL here */ -- matched = match_rule_matches (rule, NULL, NULL, message); -+ matched = match_rule_matches (rule, NULL, NULL, message, 0); - - if (matched != expected_to_match) - { --- -1.6.3.3 - diff --git a/recipes/dbus/dbus-1.3.0/will-4.patch b/recipes/dbus/dbus-1.3.0/will-4.patch deleted file mode 100644 index 2b2303bab3..0000000000 --- a/recipes/dbus/dbus-1.3.0/will-4.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 9da8cbb9d9155bce885e0cfb39ba18a22ee6a76d Mon Sep 17 00:00:00 2001 -From: Will Thompson <will.thompson@collabora.co.uk> -Date: Wed, 29 Jul 2009 18:52:28 +0100 -Subject: [PATCH 4/6] Extract freeing a DBusList<BusMatchRule> - ---- - bus/signals.c | 26 ++++++++++++++------------ - 1 files changed, 14 insertions(+), 12 deletions(-) - -diff --git a/bus/signals.c b/bus/signals.c -index 0509dd5..3cf846e 100644 ---- a/bus/signals.c -+++ b/bus/signals.c -@@ -1029,6 +1029,19 @@ struct BusMatchmaker - DBusList *rules_by_type[DBUS_NUM_MESSAGE_TYPES]; - }; - -+static void -+rule_list_free (DBusList **rules) -+{ -+ while (*rules != NULL) -+ { -+ BusMatchRule *rule; -+ -+ rule = (*rules)->data; -+ bus_match_rule_unref (rule); -+ _dbus_list_remove_link (rules, *rules); -+ } -+} -+ - BusMatchmaker* - bus_matchmaker_new (void) - { -@@ -1074,18 +1087,7 @@ bus_matchmaker_unref (BusMatchmaker *matchmaker) - int i; - - for (i = DBUS_MESSAGE_TYPE_INVALID; i < DBUS_NUM_MESSAGE_TYPES; i++) -- { -- DBusList **rules = bus_matchmaker_get_rules (matchmaker, i); -- -- while (*rules != NULL) -- { -- BusMatchRule *rule; -- -- rule = (*rules)->data; -- bus_match_rule_unref (rule); -- _dbus_list_remove_link (rules, *rules); -- } -- } -+ rule_list_free (bus_matchmaker_get_rules (matchmaker, i)); - - dbus_free (matchmaker); - } --- -1.6.3.3 - diff --git a/recipes/dbus/dbus-1.3.0/will-5.patch b/recipes/dbus/dbus-1.3.0/will-5.patch deleted file mode 100644 index ed100005cf..0000000000 --- a/recipes/dbus/dbus-1.3.0/will-5.patch +++ /dev/null @@ -1,116 +0,0 @@ -From a40a026527e718547f32e134e7c27a561b1eba47 Mon Sep 17 00:00:00 2001 -From: Will Thompson <will.thompson@collabora.co.uk> -Date: Wed, 29 Jul 2009 20:03:40 +0100 -Subject: [PATCH 5/6] Extract rule_list_remove_by_connection - ---- - bus/signals.c | 82 +++++++++++++++++++++++++++++++------------------------- - 1 files changed, 45 insertions(+), 37 deletions(-) - -diff --git a/bus/signals.c b/bus/signals.c -index 3cf846e..c6f122b 100644 ---- a/bus/signals.c -+++ b/bus/signals.c -@@ -1285,11 +1285,54 @@ bus_matchmaker_remove_rule_by_value (BusMatchmaker *matchmaker, - return TRUE; - } - -+static void -+rule_list_remove_by_connection (DBusList **rules, -+ DBusConnection *disconnected) -+{ -+ DBusList *link; -+ -+ link = _dbus_list_get_first_link (rules); -+ while (link != NULL) -+ { -+ BusMatchRule *rule; -+ DBusList *next; -+ -+ rule = link->data; -+ next = _dbus_list_get_next_link (rules, link); -+ -+ if (rule->matches_go_to == disconnected) -+ { -+ bus_matchmaker_remove_rule_link (rules, link); -+ } -+ else if (((rule->flags & BUS_MATCH_SENDER) && *rule->sender == ':') || -+ ((rule->flags & BUS_MATCH_DESTINATION) && *rule->destination == ':')) -+ { -+ /* The rule matches to/from a base service, see if it's the -+ * one being disconnected, since we know this service name -+ * will never be recycled. -+ */ -+ const char *name; -+ -+ name = bus_connection_get_name (disconnected); -+ _dbus_assert (name != NULL); /* because we're an active connection */ -+ -+ if (((rule->flags & BUS_MATCH_SENDER) && -+ strcmp (rule->sender, name) == 0) || -+ ((rule->flags & BUS_MATCH_DESTINATION) && -+ strcmp (rule->destination, name) == 0)) -+ { -+ bus_matchmaker_remove_rule_link (rules, link); -+ } -+ } -+ -+ link = next; -+ } -+} -+ - void - bus_matchmaker_disconnected (BusMatchmaker *matchmaker, - DBusConnection *disconnected) - { -- DBusList *link; - int i; - - /* FIXME -@@ -1307,42 +1350,7 @@ bus_matchmaker_disconnected (BusMatchmaker *matchmaker, - { - DBusList **rules = bus_matchmaker_get_rules (matchmaker, i); - -- link = _dbus_list_get_first_link (rules); -- while (link != NULL) -- { -- BusMatchRule *rule; -- DBusList *next; -- -- rule = link->data; -- next = _dbus_list_get_next_link (rules, link); -- -- if (rule->matches_go_to == disconnected) -- { -- bus_matchmaker_remove_rule_link (rules, link); -- } -- else if (((rule->flags & BUS_MATCH_SENDER) && *rule->sender == ':') || -- ((rule->flags & BUS_MATCH_DESTINATION) && *rule->destination == ':')) -- { -- /* The rule matches to/from a base service, see if it's the -- * one being disconnected, since we know this service name -- * will never be recycled. -- */ -- const char *name; -- -- name = bus_connection_get_name (disconnected); -- _dbus_assert (name != NULL); /* because we're an active connection */ -- -- if (((rule->flags & BUS_MATCH_SENDER) && -- strcmp (rule->sender, name) == 0) || -- ((rule->flags & BUS_MATCH_DESTINATION) && -- strcmp (rule->destination, name) == 0)) -- { -- bus_matchmaker_remove_rule_link (rules, link); -- } -- } -- -- link = next; -- } -+ rule_list_remove_by_connection (rules, disconnected); - } - } - --- -1.6.3.3 - diff --git a/recipes/dbus/dbus-1.3.0/will-6.patch b/recipes/dbus/dbus-1.3.0/will-6.patch deleted file mode 100644 index 05d9c49e30..0000000000 --- a/recipes/dbus/dbus-1.3.0/will-6.patch +++ /dev/null @@ -1,456 +0,0 @@ -From 023bb6fdc82304866353a28cd503863e80c3ea0d Mon Sep 17 00:00:00 2001 -From: Will Thompson <will.thompson@collabora.co.uk> -Date: Thu, 30 Jul 2009 10:49:33 +0100 -Subject: [PATCH 6/6] Group match rules by their interface. - -In my informal studies of "normal" sets of match rules, only checking -match rules with the appropriate interface for the message reduces the -number that need to be checked by almost 100x on average (ranging from -halving for messages from the bus daemon, to a >200x reduction in many -cases). This reduces the overhead added to dispatching each message by -having lots of irrelevant match rules. ---- - bus/signals.c | 292 ++++++++++++++++++++++++++++++++++++++++++++++----------- - 1 files changed, 239 insertions(+), 53 deletions(-) - -diff --git a/bus/signals.c b/bus/signals.c -index c6f122b..23bf98a 100644 ---- a/bus/signals.c -+++ b/bus/signals.c -@@ -1018,15 +1018,25 @@ bus_match_rule_parse (DBusConnection *matches_go_to, - return rule; - } - -+typedef struct RulePool RulePool; -+struct RulePool -+{ -+ /* Maps non-NULL interface names to non-NULL (DBusList **)s */ -+ DBusHashTable *rules_by_iface; -+ -+ /* List of BusMatchRules which don't specify an interface */ -+ DBusList *rules_without_iface; -+}; -+ - struct BusMatchmaker - { - int refcount; - -- /* lists of rules, grouped by the type of message they match. 0 -+ /* Pools of rules, grouped by the type of message they match. 0 - * (DBUS_MESSAGE_TYPE_INVALID) represents rules that do not specify a message - * type. - */ -- DBusList *rules_by_type[DBUS_NUM_MESSAGE_TYPES]; -+ RulePool rules_by_type[DBUS_NUM_MESSAGE_TYPES]; - }; - - static void -@@ -1042,28 +1052,139 @@ rule_list_free (DBusList **rules) - } - } - -+static void -+rule_list_ptr_free (DBusList **list) -+{ -+ /* We have to cope with NULL because the hash table frees the "existing" -+ * value (which is NULL) when creating a new table entry... -+ */ -+ if (list != NULL) -+ { -+ rule_list_free (list); -+ dbus_free (list); -+ } -+} -+ - BusMatchmaker* - bus_matchmaker_new (void) - { - BusMatchmaker *matchmaker; -+ int i; - - matchmaker = dbus_new0 (BusMatchmaker, 1); - if (matchmaker == NULL) - return NULL; - - matchmaker->refcount = 1; -- -+ -+ for (i = DBUS_MESSAGE_TYPE_INVALID; i < DBUS_NUM_MESSAGE_TYPES; i++) -+ { -+ RulePool *p = matchmaker->rules_by_type + i; -+ -+ p->rules_by_iface = _dbus_hash_table_new (DBUS_HASH_STRING, -+ dbus_free, (DBusFreeFunction) rule_list_ptr_free); -+ -+ if (p->rules_by_iface == NULL) -+ goto nomem; -+ } -+ - return matchmaker; -+ -+ nomem: -+ for (i = DBUS_MESSAGE_TYPE_INVALID; i < DBUS_NUM_MESSAGE_TYPES; i++) -+ { -+ RulePool *p = matchmaker->rules_by_type + i; -+ -+ if (p->rules_by_iface == NULL) -+ break; -+ else -+ _dbus_hash_table_unref (p->rules_by_iface); -+ } -+ -+ return NULL; - } - - static DBusList ** - bus_matchmaker_get_rules (BusMatchmaker *matchmaker, -- int message_type) -+ int message_type, -+ const char *interface, -+ dbus_bool_t create) - { -+ RulePool *p; -+ - _dbus_assert (message_type >= 0); - _dbus_assert (message_type < DBUS_NUM_MESSAGE_TYPES); - -- return matchmaker->rules_by_type + message_type; -+ _dbus_verbose ("Looking up rules for message_type %d, interface %s\n", -+ message_type, -+ interface != NULL ? interface : "<null>"); -+ -+ p = matchmaker->rules_by_type + message_type; -+ -+ if (interface == NULL) -+ { -+ return &p->rules_without_iface; -+ } -+ else -+ { -+ DBusList **list; -+ -+ list = _dbus_hash_table_lookup_string (p->rules_by_iface, interface); -+ -+ if (list == NULL && create) -+ { -+ char *dupped_interface; -+ -+ list = dbus_new0 (DBusList *, 1); -+ if (list == NULL) -+ return NULL; -+ -+ dupped_interface = _dbus_strdup (interface); -+ if (dupped_interface == NULL) -+ { -+ dbus_free (list); -+ return NULL; -+ } -+ -+ _dbus_verbose ("Adding list for type %d, iface %s\n", message_type, -+ interface); -+ -+ if (!_dbus_hash_table_insert_string (p->rules_by_iface, -+ dupped_interface, list)) -+ { -+ dbus_free (list); -+ dbus_free (dupped_interface); -+ return NULL; -+ } -+ } -+ -+ return list; -+ } -+} -+ -+static void -+bus_matchmaker_gc_rules (BusMatchmaker *matchmaker, -+ int message_type, -+ const char *interface, -+ DBusList **rules) -+{ -+ RulePool *p; -+ -+ if (interface == NULL) -+ return; -+ -+ if (*rules != NULL) -+ return; -+ -+ _dbus_verbose ("GCing HT entry for message_type %u, interface %s\n", -+ message_type, interface); -+ -+ p = matchmaker->rules_by_type + message_type; -+ -+ _dbus_assert (_dbus_hash_table_lookup_string (p->rules_by_iface, interface) -+ == rules); -+ -+ _dbus_hash_table_remove_string (p->rules_by_iface, interface); - } - - BusMatchmaker * -@@ -1087,7 +1208,12 @@ bus_matchmaker_unref (BusMatchmaker *matchmaker) - int i; - - for (i = DBUS_MESSAGE_TYPE_INVALID; i < DBUS_NUM_MESSAGE_TYPES; i++) -- rule_list_free (bus_matchmaker_get_rules (matchmaker, i)); -+ { -+ RulePool *p = matchmaker->rules_by_type + i; -+ -+ _dbus_hash_table_unref (p->rules_by_iface); -+ rule_list_free (&p->rules_without_iface); -+ } - - dbus_free (matchmaker); - } -@@ -1102,7 +1228,15 @@ bus_matchmaker_add_rule (BusMatchmaker *matchmaker, - - _dbus_assert (bus_connection_is_active (rule->matches_go_to)); - -- rules = bus_matchmaker_get_rules (matchmaker, rule->message_type); -+ _dbus_verbose ("Adding rule with message_type %d, interface %s\n", -+ rule->message_type, -+ rule->interface != NULL ? rule->interface : "<null>"); -+ -+ rules = bus_matchmaker_get_rules (matchmaker, rule->message_type, -+ rule->interface, TRUE); -+ -+ if (rules == NULL) -+ return FALSE; - - if (!_dbus_list_append (rules, rule)) - return FALSE; -@@ -1110,9 +1244,11 @@ bus_matchmaker_add_rule (BusMatchmaker *matchmaker, - if (!bus_connection_add_match_rule (rule->matches_go_to, rule)) - { - _dbus_list_remove_last (rules, rule); -+ bus_matchmaker_gc_rules (matchmaker, rule->message_type, -+ rule->interface, rules); - return FALSE; - } -- -+ - bus_match_rule_ref (rule); - - #ifdef DBUS_ENABLE_VERBOSE_MODE -@@ -1224,10 +1360,23 @@ bus_matchmaker_remove_rule (BusMatchmaker *matchmaker, - { - DBusList **rules; - -+ _dbus_verbose ("Removing rule with message_type %d, interface %s\n", -+ rule->message_type, -+ rule->interface != NULL ? rule->interface : "<null>"); -+ - bus_connection_remove_match_rule (rule->matches_go_to, rule); - -- rules = bus_matchmaker_get_rules (matchmaker, rule->message_type); -+ rules = bus_matchmaker_get_rules (matchmaker, rule->message_type, -+ rule->interface, FALSE); -+ -+ /* We should only be asked to remove a rule by identity right after it was -+ * added, so there should be a list for it. -+ */ -+ _dbus_assert (rules != NULL); -+ - _dbus_list_remove (rules, rule); -+ bus_matchmaker_gc_rules (matchmaker, rule->message_type, rule->interface, -+ rules); - - #ifdef DBUS_ENABLE_VERBOSE_MODE - { -@@ -1248,31 +1397,38 @@ bus_matchmaker_remove_rule_by_value (BusMatchmaker *matchmaker, - BusMatchRule *value, - DBusError *error) - { -- /* FIXME this is an unoptimized linear scan */ - DBusList **rules; -- DBusList *link; -+ DBusList *link = NULL; - -- rules = bus_matchmaker_get_rules (matchmaker, value->message_type); -+ _dbus_verbose ("Removing rule by value with message_type %d, interface %s\n", -+ value->message_type, -+ value->interface != NULL ? value->interface : "<null>"); - -- /* we traverse backward because bus_connection_remove_match_rule() -- * removes the most-recently-added rule -- */ -- link = _dbus_list_get_last_link (rules); -- while (link != NULL) -+ rules = bus_matchmaker_get_rules (matchmaker, value->message_type, -+ value->interface, FALSE); -+ -+ if (rules != NULL) - { -- BusMatchRule *rule; -- DBusList *prev; -+ /* we traverse backward because bus_connection_remove_match_rule() -+ * removes the most-recently-added rule -+ */ -+ link = _dbus_list_get_last_link (rules); -+ while (link != NULL) -+ { -+ BusMatchRule *rule; -+ DBusList *prev; - -- rule = link->data; -- prev = _dbus_list_get_prev_link (rules, link); -+ rule = link->data; -+ prev = _dbus_list_get_prev_link (rules, link); - -- if (match_rule_equal (rule, value)) -- { -- bus_matchmaker_remove_rule_link (rules, link); -- break; -- } -+ if (match_rule_equal (rule, value)) -+ { -+ bus_matchmaker_remove_rule_link (rules, link); -+ break; -+ } - -- link = prev; -+ link = prev; -+ } - } - - if (link == NULL) -@@ -1282,6 +1438,9 @@ bus_matchmaker_remove_rule_by_value (BusMatchmaker *matchmaker, - return FALSE; - } - -+ bus_matchmaker_gc_rules (matchmaker, value->message_type, value->interface, -+ rules); -+ - return TRUE; - } - -@@ -1341,16 +1500,29 @@ bus_matchmaker_disconnected (BusMatchmaker *matchmaker, - * for the rules belonging to the connection, since we keep - * a list of those; but for the rules that just refer to - * the connection we'd need to do something more elaborate. -- * - */ -- -+ - _dbus_assert (bus_connection_is_active (disconnected)); - -+ _dbus_verbose ("Removing all rules for connection %p\n", disconnected); -+ - for (i = DBUS_MESSAGE_TYPE_INVALID; i < DBUS_NUM_MESSAGE_TYPES; i++) - { -- DBusList **rules = bus_matchmaker_get_rules (matchmaker, i); -+ RulePool *p = matchmaker->rules_by_type + i; -+ DBusHashIter iter; -+ -+ rule_list_remove_by_connection (&p->rules_without_iface, disconnected); -+ -+ _dbus_hash_iter_init (p->rules_by_iface, &iter); -+ while (_dbus_hash_iter_next (&iter)) -+ { -+ DBusList **items = _dbus_hash_iter_get_value (&iter); - -- rule_list_remove_by_connection (rules, disconnected); -+ rule_list_remove_by_connection (items, disconnected); -+ -+ if (*items == NULL) -+ _dbus_hash_iter_remove_entry (&iter); -+ } - } - } - -@@ -1565,6 +1737,9 @@ get_recipients_from_list (DBusList **rules, - { - DBusList *link; - -+ if (rules == NULL) -+ return TRUE; -+ - link = _dbus_list_get_first_link (rules); - while (link != NULL) - { -@@ -1581,10 +1756,10 @@ get_recipients_from_list (DBusList **rules, - dbus_free (s); - } - #endif -- -+ - if (match_rule_matches (rule, - sender, addressed_recipient, message, -- BUS_MATCH_MESSAGE_TYPE)) -+ BUS_MATCH_MESSAGE_TYPE | BUS_MATCH_INTERFACE)) - { - _dbus_verbose ("Rule matched\n"); - -@@ -1616,12 +1791,9 @@ bus_matchmaker_get_recipients (BusMatchmaker *matchmaker, - DBusMessage *message, - DBusList **recipients_p) - { -- /* FIXME for now this is a wholly unoptimized linear search */ -- /* Guessing the important optimization is to skip the signal-related -- * match lists when processing method call and exception messages. -- * So separate match rule lists for signals? -- */ - int type; -+ const char *interface; -+ DBusList **neither, **just_type, **just_iface, **both; - - _dbus_assert (*recipients_p == NULL); - -@@ -1638,25 +1810,39 @@ bus_matchmaker_get_recipients (BusMatchmaker *matchmaker, - if (addressed_recipient != NULL) - bus_connection_mark_stamp (addressed_recipient); - -- /* We always need to try the rules that don't specify a message type */ -- if (!get_recipients_from_list ( -- bus_matchmaker_get_rules (matchmaker, DBUS_MESSAGE_TYPE_INVALID), -- sender, addressed_recipient, message, recipients_p)) -- goto nomem; -- -- /* Also try rules that match the type of this message */ - type = dbus_message_get_type (message); -+ interface = dbus_message_get_interface (message); -+ -+ neither = bus_matchmaker_get_rules (matchmaker, DBUS_MESSAGE_TYPE_INVALID, -+ NULL, FALSE); -+ just_type = just_iface = both = NULL; -+ -+ if (interface != NULL) -+ just_iface = bus_matchmaker_get_rules (matchmaker, -+ DBUS_MESSAGE_TYPE_INVALID, interface, FALSE); -+ - if (type > DBUS_MESSAGE_TYPE_INVALID && type < DBUS_NUM_MESSAGE_TYPES) -- if (!get_recipients_from_list ( -- bus_matchmaker_get_rules (matchmaker, type), -- sender, addressed_recipient, message, recipients_p)) -- goto nomem; -+ { -+ just_type = bus_matchmaker_get_rules (matchmaker, type, NULL, FALSE); - -- return TRUE; -+ if (interface != NULL) -+ both = bus_matchmaker_get_rules (matchmaker, type, interface, FALSE); -+ } - -- nomem: -- _dbus_list_clear (recipients_p); -- return FALSE; -+ if (!(get_recipients_from_list (neither, sender, addressed_recipient, -+ message, recipients_p) && -+ get_recipients_from_list (just_iface, sender, addressed_recipient, -+ message, recipients_p) && -+ get_recipients_from_list (just_type, sender, addressed_recipient, -+ message, recipients_p) && -+ get_recipients_from_list (both, sender, addressed_recipient, -+ message, recipients_p))) -+ { -+ _dbus_list_clear (recipients_p); -+ return FALSE; -+ } -+ -+ return TRUE; - } - - #ifdef DBUS_BUILD_TESTS --- -1.6.3.3 - diff --git a/recipes/dbus/dbus-1.0.3/0001-Make-the-default-DBus-reply-timeout-configurable.patch b/recipes/dbus/dbus-1.3.1/add-configurable-reply-timeouts.patch index a38e3db0de..9cca38ddc8 100644 --- a/recipes/dbus/dbus-1.0.3/0001-Make-the-default-DBus-reply-timeout-configurable.patch +++ b/recipes/dbus/dbus-1.3.1/add-configurable-reply-timeouts.patch @@ -1,32 +1,17 @@ -From fb546488e93a1638d377b228bbb0d2ab58462168 Mon Sep 17 00:00:00 2001 -From: Daniel Willmann <daniel@totalueberwachung.de> -Date: Thu, 2 Oct 2008 15:50:17 +0800 -Subject: [PATCH] Make the default DBus reply timeout configurable - -This patch adds an option --with-dbus-default-reply-timeout to configure -that will set the default reply timeout used by libdbus in milliseconds. -autoconf and autoheader need to be rerun in order to regenerate the -correct configure and config.h.in files. ---- - configure.in | 9 +++++++++ - dbus/dbus-connection-internal.h | 3 --- - dbus/dbus-pending-call.c | 1 + - 3 files changed, 10 insertions(+), 3 deletions(-) - -diff --git a/configure.in b/configure.in -index 62ac387..5c912d7 100644 ---- a/configure.in -+++ b/configure.in -@@ -88,6 +88,7 @@ AC_ARG_WITH(console-auth-dir, AS_HELP_STRING([--with-console-auth-dir=[dirname]] +Index: dbus-1.3.1/configure.in +=================================================================== +--- dbus-1.3.1.orig/configure.in ++++ dbus-1.3.1/configure.in +@@ -137,6 +137,7 @@ AC_ARG_WITH(console-owner-file, AS_HELP_STRING([--with-console-owner-file=[filename]],[file whose owner determines current console owner])) AC_ARG_WITH(dbus_user, AS_HELP_STRING([--with-dbus-user=<user>],[User for running the DBUS daemon (messagebus)])) AC_ARG_WITH(dbus_daemondir, AS_HELP_STRING([--with-dbus-daemondir=[dirname]],[Directory for installing the DBUS daemon])) +AC_ARG_WITH(dbus_default_reply_timeout, AS_HELP_STRING([--with-dbus-default-reply-timeout=[milliseconds]],[Default reply timeout for DBus method calls])) - AC_DEFINE(DBUS_UNIX,1,[dbus on unix]) - -@@ -986,6 +987,13 @@ if test x$have_libaudit = xyes ; then - AC_DEFINE(HAVE_LIBAUDIT,1,[audit daemon SELinux support]) + dnl DBUS_BUILD_TESTS controls unit tests built in to .c files + dnl and also some stuff in the test/ subdir +@@ -984,6 +985,13 @@ + fi fi +if test -z "$with_dbus_default_reply_timeout" ; then @@ -38,8 +23,8 @@ index 62ac387..5c912d7 100644 + #### Set up final flags DBUS_CLIENT_CFLAGS= - DBUS_CLIENT_LIBS="$THREAD_LIBS" -@@ -1348,6 +1356,7 @@ echo " + DBUS_CLIENT_LIBS="$THREAD_LIBS $NETWORK_libs" +@@ -1625,6 +1633,7 @@ Gettext libs (empty OK): ${INTLLIBS} Using XML parser: ${with_xml} Init scripts style: ${with_init_scripts} @@ -47,11 +32,11 @@ index 62ac387..5c912d7 100644 Abstract socket names: ${ac_cv_have_abstract_sockets} System bus socket: ${DBUS_SYSTEM_SOCKET} System bus address: ${DBUS_SYSTEM_BUS_DEFAULT_ADDRESS} -diff --git a/dbus/dbus-connection-internal.h b/dbus/dbus-connection-internal.h -index df54412..5fe536b 100644 ---- a/dbus/dbus-connection-internal.h -+++ b/dbus/dbus-connection-internal.h -@@ -41,9 +41,6 @@ typedef enum +Index: dbus-1.3.1/dbus/dbus-connection-internal.h +=================================================================== +--- dbus-1.3.1.orig/dbus/dbus-connection-internal.h ++++ dbus-1.3.1/dbus/dbus-connection-internal.h +@@ -41,9 +41,6 @@ DBUS_ITERATION_BLOCK = 1 << 2 /**< Block if nothing to do. */ } DBusIterationFlags; @@ -61,18 +46,3 @@ index df54412..5fe536b 100644 void _dbus_connection_lock (DBusConnection *connection); void _dbus_connection_unlock (DBusConnection *connection); DBusConnection * _dbus_connection_ref_unlocked (DBusConnection *connection); -diff --git a/dbus/dbus-pending-call.c b/dbus/dbus-pending-call.c -index 51b9378..5a7a5f4 100644 ---- a/dbus/dbus-pending-call.c -+++ b/dbus/dbus-pending-call.c -@@ -21,6 +21,7 @@ - * - */ - -+#include <config.h> - #include "dbus-internals.h" - #include "dbus-connection-internal.h" - #include "dbus-pending-call-internal.h" --- -1.5.6.4 - diff --git a/recipes/dbus/dbus-1.3.1/bugfix-17754.patch b/recipes/dbus/dbus-1.3.1/bugfix-17754.patch new file mode 100644 index 0000000000..f4568f377e --- /dev/null +++ b/recipes/dbus/dbus-1.3.1/bugfix-17754.patch @@ -0,0 +1,426 @@ +From 6ff1d079316cb730a54b4e0e95bd3e6e31f439de Mon Sep 17 00:00:00 2001 +From: Thiago Macieira <thiago@kde.org> +Date: Tue, 22 Jun 2010 13:13:23 +0000 +Subject: Fix the reentrancy issue reported on bug 17754. + +Patch based on patch by Havoc Pennington, with the references that +this is temporary removed. + + Patch based on one from Olivier Hochreutiner <olivier.hochreutiner + gmail.com> + + * dbus/dbus-connection.c (protected_change_timeout): remove the + elaborate nonworking hack to try to drop locks and just keep the + locks; this isn't right either, but at least is correct, though + it puts restrictions on apps. + + * dbus/dbus-connection.c (protected_change_watch): make the same + change as for timeouts + + * dbus/dbus-connection.c (dbus_connection_set_timeout_functions): + don't drop the lock here; add documentation of the problem to API + docs + (dbus_connection_set_watch_functions): same + + * dbus/dbus-connection.c (dbus_connection_get_data) + (dbus_connection_set_data): introduce a separate slot_mutex + protecting connection->slot_list so these two functions can be + called inside watch and timeout functions. Not sure this + is going to be a good idea. + + * dbus/dbus-connection.c (dbus_connection_unref) + (dbus_connection_ref): avoid using connection lock in ref/unref + so these can also be used in watch and timeout functions +--- +diff --git a/dbus/dbus-connection.c b/dbus/dbus-connection.c +index 7f828c5..6f38d14 100644 +--- a/dbus/dbus-connection.c ++++ b/dbus/dbus-connection.c +@@ -75,6 +75,14 @@ + _dbus_mutex_unlock ((connection)->mutex); \ + } while (0) + ++#define SLOTS_LOCK(connection) do { \ ++ _dbus_mutex_lock ((connection)->slot_mutex); \ ++ } while (0) ++ ++#define SLOTS_UNLOCK(connection) do { \ ++ _dbus_mutex_unlock ((connection)->slot_mutex); \ ++ } while (0) ++ + #define DISPATCH_STATUS_NAME(s) \ + ((s) == DBUS_DISPATCH_COMPLETE ? "complete" : \ + (s) == DBUS_DISPATCH_DATA_REMAINS ? "data remains" : \ +@@ -263,6 +271,7 @@ struct DBusConnection + + DBusList *filter_list; /**< List of filters. */ + ++ DBusMutex *slot_mutex; /**< Lock on slot_list so overall connection lock need not be taken */ + DBusDataSlotList slot_list; /**< Data stored by allocated integer ID */ + + DBusHashTable *pending_replies; /**< Hash of message serials to #DBusPendingCall. */ +@@ -655,39 +664,42 @@ protected_change_watch (DBusConnection *connection, + DBusWatchToggleFunction toggle_function, + dbus_bool_t enabled) + { +- DBusWatchList *watches; + dbus_bool_t retval; +- ++ + HAVE_LOCK_CHECK (connection); + +- /* This isn't really safe or reasonable; a better pattern is the "do everything, then +- * drop lock and call out" one; but it has to be propagated up through all callers ++ /* The original purpose of protected_change_watch() was to hold a ++ * ref on the connection while dropping the connection lock, then ++ * calling out to the app. This was a broken hack that did not ++ * work, since the connection was in a hosed state (no WatchList ++ * field) while calling out. ++ * ++ * So for now we'll just keep the lock while calling out. This means ++ * apps are not allowed to call DBusConnection methods inside a ++ * watch function or they will deadlock. ++ * ++ * The "real fix" is to use the _and_unlock() pattern found ++ * elsewhere in the code, to defer calling out to the app until ++ * we're about to drop locks and return flow of control to the app ++ * anyway. ++ * ++ * See http://lists.freedesktop.org/archives/dbus/2007-July/thread.html#8144 + */ +- +- watches = connection->watches; +- if (watches) +- { +- connection->watches = NULL; +- _dbus_connection_ref_unlocked (connection); +- CONNECTION_UNLOCK (connection); + ++ if (connection->watches) ++ { + if (add_function) +- retval = (* add_function) (watches, watch); ++ retval = (* add_function) (connection->watches, watch); + else if (remove_function) + { + retval = TRUE; +- (* remove_function) (watches, watch); ++ (* remove_function) (connection->watches, watch); + } + else + { + retval = TRUE; +- (* toggle_function) (watches, watch, enabled); ++ (* toggle_function) (connection->watches, watch, enabled); + } +- +- CONNECTION_LOCK (connection); +- connection->watches = watches; +- _dbus_connection_unref_unlocked (connection); +- + return retval; + } + else +@@ -776,39 +788,42 @@ protected_change_timeout (DBusConnection *connection, + DBusTimeoutToggleFunction toggle_function, + dbus_bool_t enabled) + { +- DBusTimeoutList *timeouts; + dbus_bool_t retval; +- ++ + HAVE_LOCK_CHECK (connection); + +- /* This isn't really safe or reasonable; a better pattern is the "do everything, then +- * drop lock and call out" one; but it has to be propagated up through all callers ++ /* The original purpose of protected_change_timeout() was to hold a ++ * ref on the connection while dropping the connection lock, then ++ * calling out to the app. This was a broken hack that did not ++ * work, since the connection was in a hosed state (no TimeoutList ++ * field) while calling out. ++ * ++ * So for now we'll just keep the lock while calling out. This means ++ * apps are not allowed to call DBusConnection methods inside a ++ * timeout function or they will deadlock. ++ * ++ * The "real fix" is to use the _and_unlock() pattern found ++ * elsewhere in the code, to defer calling out to the app until ++ * we're about to drop locks and return flow of control to the app ++ * anyway. ++ * ++ * See http://lists.freedesktop.org/archives/dbus/2007-July/thread.html#8144 + */ +- +- timeouts = connection->timeouts; +- if (timeouts) +- { +- connection->timeouts = NULL; +- _dbus_connection_ref_unlocked (connection); +- CONNECTION_UNLOCK (connection); + ++ if (connection->timeouts) ++ { + if (add_function) +- retval = (* add_function) (timeouts, timeout); ++ retval = (* add_function) (connection->timeouts, timeout); + else if (remove_function) + { + retval = TRUE; +- (* remove_function) (timeouts, timeout); ++ (* remove_function) (connection->timeouts, timeout); + } + else + { + retval = TRUE; +- (* toggle_function) (timeouts, timeout, enabled); ++ (* toggle_function) (connection->timeouts, timeout, enabled); + } +- +- CONNECTION_LOCK (connection); +- connection->timeouts = timeouts; +- _dbus_connection_unref_unlocked (connection); +- + return retval; + } + else +@@ -1269,6 +1284,10 @@ _dbus_connection_new_for_transport (DBusTransport *transport) + if (connection->io_path_cond == NULL) + goto error; + ++ _dbus_mutex_new_at_location (&connection->slot_mutex); ++ if (connection->slot_mutex == NULL) ++ goto error; ++ + disconnect_message = dbus_message_new_signal (DBUS_PATH_LOCAL, + DBUS_INTERFACE_LOCAL, + "Disconnected"); +@@ -1345,6 +1364,7 @@ _dbus_connection_new_for_transport (DBusTransport *transport) + _dbus_mutex_free_at_location (&connection->mutex); + _dbus_mutex_free_at_location (&connection->io_path_mutex); + _dbus_mutex_free_at_location (&connection->dispatch_mutex); ++ _dbus_mutex_free_at_location (&connection->slot_mutex); + dbus_free (connection); + } + if (pending_replies) +@@ -2618,9 +2638,14 @@ dbus_connection_ref (DBusConnection *connection) + + /* The connection lock is better than the global + * lock in the atomic increment fallback ++ * ++ * (FIXME but for now we always use the atomic version, ++ * to avoid taking the connection lock, due to ++ * the mess with set_timeout_functions()/set_watch_functions() ++ * calling out to the app without dropping locks) + */ + +-#ifdef DBUS_HAVE_ATOMIC_INT ++#if 1 + _dbus_atomic_inc (&connection->refcount); + #else + CONNECTION_LOCK (connection); +@@ -2732,6 +2757,8 @@ _dbus_connection_last_unref (DBusConnection *connection) + _dbus_mutex_free_at_location (&connection->io_path_mutex); + _dbus_mutex_free_at_location (&connection->dispatch_mutex); + ++ _dbus_mutex_free_at_location (&connection->slot_mutex); ++ + _dbus_mutex_free_at_location (&connection->mutex); + + dbus_free (connection); +@@ -2766,9 +2793,14 @@ dbus_connection_unref (DBusConnection *connection) + + /* The connection lock is better than the global + * lock in the atomic increment fallback ++ * ++ * (FIXME but for now we always use the atomic version, ++ * to avoid taking the connection lock, due to ++ * the mess with set_timeout_functions()/set_watch_functions() ++ * calling out to the app without dropping locks) + */ + +-#ifdef DBUS_HAVE_ATOMIC_INT ++#if 1 + last_unref = (_dbus_atomic_dec (&connection->refcount) == 1); + #else + CONNECTION_LOCK (connection); +@@ -4819,9 +4851,11 @@ dbus_connection_dispatch (DBusConnection *connection) + * should be that dbus_connection_set_watch_functions() has no effect, + * but the add_function and remove_function may have been called. + * +- * @todo We need to drop the lock when we call the +- * add/remove/toggled functions which can be a side effect +- * of setting the watch functions. ++ * @note The thread lock on DBusConnection is held while ++ * watch functions are invoked, so inside these functions you ++ * may not invoke any methods on DBusConnection or it will deadlock. ++ * See the comments in the code or http://lists.freedesktop.org/archives/dbus/2007-July/tread.html#8144 ++ * if you encounter this issue and want to attempt writing a patch. + * + * @param connection the connection. + * @param add_function function to begin monitoring a new descriptor. +@@ -4840,42 +4874,18 @@ dbus_connection_set_watch_functions (DBusConnection *connection, + DBusFreeFunction free_data_function) + { + dbus_bool_t retval; +- DBusWatchList *watches; + + _dbus_return_val_if_fail (connection != NULL, FALSE); + + CONNECTION_LOCK (connection); + +-#ifndef DBUS_DISABLE_CHECKS +- if (connection->watches == NULL) +- { +- _dbus_warn_check_failed ("Re-entrant call is not allowed\n"); +- return FALSE; +- } +-#endif +- +- /* ref connection for slightly better reentrancy */ +- _dbus_connection_ref_unlocked (connection); +- +- /* This can call back into user code, and we need to drop the +- * connection lock when it does. This is kind of a lame +- * way to do it. +- */ +- watches = connection->watches; +- connection->watches = NULL; +- CONNECTION_UNLOCK (connection); +- +- retval = _dbus_watch_list_set_functions (watches, ++ retval = _dbus_watch_list_set_functions (connection->watches, + add_function, remove_function, + toggled_function, + data, free_data_function); +- CONNECTION_LOCK (connection); +- connection->watches = watches; +- ++ + CONNECTION_UNLOCK (connection); +- /* drop our paranoid refcount */ +- dbus_connection_unref (connection); +- ++ + return retval; + } + +@@ -4904,6 +4914,12 @@ dbus_connection_set_watch_functions (DBusConnection *connection, + * given remove_function. The timer interval may change whenever the + * timeout is added, removed, or toggled. + * ++ * @note The thread lock on DBusConnection is held while ++ * timeout functions are invoked, so inside these functions you ++ * may not invoke any methods on DBusConnection or it will deadlock. ++ * See the comments in the code or http://lists.freedesktop.org/archives/dbus/2007-July/thread.html#8144 ++ * if you encounter this issue and want to attempt writing a patch. ++ * + * @param connection the connection. + * @param add_function function to add a timeout. + * @param remove_function function to remove a timeout. +@@ -4921,37 +4937,17 @@ dbus_connection_set_timeout_functions (DBusConnection *connection, + DBusFreeFunction free_data_function) + { + dbus_bool_t retval; +- DBusTimeoutList *timeouts; + + _dbus_return_val_if_fail (connection != NULL, FALSE); + + CONNECTION_LOCK (connection); + +-#ifndef DBUS_DISABLE_CHECKS +- if (connection->timeouts == NULL) +- { +- _dbus_warn_check_failed ("Re-entrant call is not allowed\n"); +- return FALSE; +- } +-#endif +- +- /* ref connection for slightly better reentrancy */ +- _dbus_connection_ref_unlocked (connection); +- +- timeouts = connection->timeouts; +- connection->timeouts = NULL; +- CONNECTION_UNLOCK (connection); +- +- retval = _dbus_timeout_list_set_functions (timeouts, ++ retval = _dbus_timeout_list_set_functions (connection->timeouts, + add_function, remove_function, + toggled_function, + data, free_data_function); +- CONNECTION_LOCK (connection); +- connection->timeouts = timeouts; +- ++ + CONNECTION_UNLOCK (connection); +- /* drop our paranoid refcount */ +- dbus_connection_unref (connection); + + return retval; + } +@@ -5911,6 +5907,15 @@ dbus_connection_free_data_slot (dbus_int32_t *slot_p) + * the connection is finalized. The slot number + * must have been allocated with dbus_connection_allocate_data_slot(). + * ++ * @note This function does not take the ++ * main thread lock on DBusConnection, which allows it to be ++ * used from inside watch and timeout functions. (See the ++ * note in docs for dbus_connection_set_watch_functions().) ++ * A side effect of this is that you need to know there's ++ * a reference held on the connection while invoking ++ * dbus_connection_set_data(), or the connection could be ++ * finalized during dbus_connection_set_data(). ++ * + * @param connection the connection + * @param slot the slot number + * @param data the data to store +@@ -5930,14 +5935,14 @@ dbus_connection_set_data (DBusConnection *connection, + _dbus_return_val_if_fail (connection != NULL, FALSE); + _dbus_return_val_if_fail (slot >= 0, FALSE); + +- CONNECTION_LOCK (connection); ++ SLOTS_LOCK (connection); + + retval = _dbus_data_slot_list_set (&slot_allocator, + &connection->slot_list, + slot, data, free_data_func, + &old_free_func, &old_data); + +- CONNECTION_UNLOCK (connection); ++ SLOTS_UNLOCK (connection); + + if (retval) + { +@@ -5953,6 +5958,15 @@ dbus_connection_set_data (DBusConnection *connection, + * Retrieves data previously set with dbus_connection_set_data(). + * The slot must still be allocated (must not have been freed). + * ++ * @note This function does not take the ++ * main thread lock on DBusConnection, which allows it to be ++ * used from inside watch and timeout functions. (See the ++ * note in docs for dbus_connection_set_watch_functions().) ++ * A side effect of this is that you need to know there's ++ * a reference held on the connection while invoking ++ * dbus_connection_get_data(), or the connection could be ++ * finalized during dbus_connection_get_data(). ++ * + * @param connection the connection + * @param slot the slot to get data from + * @returns the data, or #NULL if not found +@@ -5965,13 +5979,13 @@ dbus_connection_get_data (DBusConnection *connection, + + _dbus_return_val_if_fail (connection != NULL, NULL); + +- CONNECTION_LOCK (connection); ++ SLOTS_LOCK (connection); + + res = _dbus_data_slot_list_get (&slot_allocator, + &connection->slot_list, + slot); + +- CONNECTION_UNLOCK (connection); ++ SLOTS_UNLOCK (connection); + + return res; + } +-- +cgit v0.8.3-6-g21f6 diff --git a/recipes/dbus/dbus-1.3.0/dbus-1.init b/recipes/dbus/dbus-1.3.1/dbus-1.init index a70e7a2373..a70e7a2373 100644 --- a/recipes/dbus/dbus-1.3.0/dbus-1.init +++ b/recipes/dbus/dbus-1.3.1/dbus-1.init diff --git a/recipes/dbus/dbus-1.3.1/fix-install-daemon.patch b/recipes/dbus/dbus-1.3.1/fix-install-daemon.patch new file mode 100644 index 0000000000..562cb0eb48 --- /dev/null +++ b/recipes/dbus/dbus-1.3.1/fix-install-daemon.patch @@ -0,0 +1,13 @@ +Index: dbus-1.3.1/bus/Makefile.am +=================================================================== +--- dbus-1.3.1.orig/bus/Makefile.am ++++ dbus-1.3.1/bus/Makefile.am +@@ -206,7 +206,7 @@ + $(mkinstalldirs) $(DESTDIR)$(DBUS_DAEMONDIR); \ + chmod 755 $(DESTDIR)$(DBUS_DAEMONDIR); \ + fi +- $(INSTALL_PROGRAM) dbus-daemon$(EXEEXT) $(DESTDIR)$(DBUS_DAEMONDIR) ++ $(INSTALL_PROGRAM) .libs/dbus-daemon$(EXEEXT) $(DESTDIR)$(DBUS_DAEMONDIR) + $(mkinstalldirs) $(DESTDIR)$(libexecdir)/dbus-1 + if test -f dbus-daemon-launch-helper$(EXEEXT) ; then \ + $(INSTALL_PROGRAM) dbus-daemon-launch-helper$(EXEEXT) $(DESTDIR)$(libexecdir); \ diff --git a/recipes/dbus/dbus-1.0.3/tmpdir.patch b/recipes/dbus/dbus-1.3.1/tmpdir.patch index 838b903f0a..838b903f0a 100644 --- a/recipes/dbus/dbus-1.0.3/tmpdir.patch +++ b/recipes/dbus/dbus-1.3.1/tmpdir.patch diff --git a/recipes/dbus/dbus-c++-native_git.bb b/recipes/dbus/dbus-c++-native_git.bb index dd43f911fe..eba80b2e9a 100644 --- a/recipes/dbus/dbus-c++-native_git.bb +++ b/recipes/dbus/dbus-c++-native_git.bb @@ -11,10 +11,6 @@ do_compile() { install -m 0755 tools/dbusxx-xml2cpp ${STAGING_BINDIR_NATIVE} } -do_stage() { - autotools_stage_all -} - do_install() { : } diff --git a/recipes/dbus/dbus-c++_git.bb b/recipes/dbus/dbus-c++_git.bb index 06e1cb386b..7d9db3e7a6 100644 --- a/recipes/dbus/dbus-c++_git.bb +++ b/recipes/dbus/dbus-c++_git.bb @@ -8,7 +8,7 @@ PE = "1" PV = "0.5.0+gitr${SRCPV}" SRC_URI = "git://gitorious.org/dbus-cplusplus/mainline.git;protocol=git" -# file://fix-linking.patch;patch=1" +# file://fix-linking.patch" S = "${WORKDIR}/git" inherit autotools pkgconfig diff --git a/recipes/dbus/dbus-daemon-proxy_git.bb b/recipes/dbus/dbus-daemon-proxy_git.bb index 99f4372b72..16cc34f080 100644 --- a/recipes/dbus/dbus-daemon-proxy_git.bb +++ b/recipes/dbus/dbus-daemon-proxy_git.bb @@ -3,12 +3,13 @@ LICENSE = "GPL" DEPENDS = "dbus dbus-glib" SRCREV = "1226a0a1374628ff191f6d8a56000be5e53e7608" PV = "0.0.0+gitr${SRCPV}" +PR = "r1" SRC_URI = "git://git.collabora.co.uk/git/user/alban/dbus-daemon-proxy;protocol=git" S = "${WORKDIR}/git" do_compile() { - ${CC} `pkg-config --cflags --libs dbus-glib-1` -o dbus-daemon-proxy dbus-daemon-proxy.c + ${CC} ${LDFLAGS} `pkg-config --cflags --libs dbus-glib-1` -o dbus-daemon-proxy dbus-daemon-proxy.c } do_install() { diff --git a/recipes/dbus/dbus-glib-native-0.74/run-with-tmp-session-bus.patch b/recipes/dbus/dbus-glib-0.74/run-with-tmp-session-bus.patch index ba117d0309..ba117d0309 100644 --- a/recipes/dbus/dbus-glib-native-0.74/run-with-tmp-session-bus.patch +++ b/recipes/dbus/dbus-glib-0.74/run-with-tmp-session-bus.patch diff --git a/recipes/dbus/dbus-glib-0.76/no-examples.patch b/recipes/dbus/dbus-glib-0.76/no-examples.patch deleted file mode 100644 index 483153db74..0000000000 --- a/recipes/dbus/dbus-glib-0.76/no-examples.patch +++ /dev/null @@ -1,8 +0,0 @@ ---- 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/recipes/dbus/dbus-glib-0.76/no-introspect.patch b/recipes/dbus/dbus-glib-0.76/no-introspect.patch deleted file mode 100644 index 9115801f71..0000000000 --- a/recipes/dbus/dbus-glib-0.76/no-introspect.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: dbus-glib-0.73/tools/Makefile.am -=================================================================== ---- dbus-glib-0.73.orig/tools/Makefile.am 2006-10-25 21:10:36.000000000 +0200 -+++ dbus-glib-0.73/tools/Makefile.am 2006-10-27 10:07:35.000000000 +0200 -@@ -3,9 +3,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)/dbus/dbus-binding-tool$(EXEEXT) -- $(top_builddir)/dbus/dbus-binding-tool --mode=glib-client --prefix=dbus_bus --output=dbus-glib-bindings.h dbus-bus-introspect.xml -- - BUILT_SOURCES = dbus-glib-bindings.h dbus-bus-introspect.xml - - if USE_INTROSPECT_XML diff --git a/recipes/dbus/dbus-glib-native-0.76/run-with-tmp-session-bus.patch b/recipes/dbus/dbus-glib-0.78/run-with-tmp-session-bus.patch index a04f404f75..a04f404f75 100644 --- a/recipes/dbus/dbus-glib-native-0.76/run-with-tmp-session-bus.patch +++ b/recipes/dbus/dbus-glib-0.78/run-with-tmp-session-bus.patch diff --git a/recipes/dbus/dbus-glib-0.82/fix-async-dbus.patch b/recipes/dbus/dbus-glib-0.82/fix-async-dbus.patch deleted file mode 100644 index 0cea12431f..0000000000 --- a/recipes/dbus/dbus-glib-0.82/fix-async-dbus.patch +++ /dev/null @@ -1,115 +0,0 @@ -diff -ur dbus-glib-0.78/dbus/dbus-gproxy.c patched/dbus-glib-0.78/dbus/dbus-gproxy.c ---- dbus-glib-0.78/dbus/dbus-gproxy.c 2008-11-17 19:45:50.000000000 +0100 -+++ patched/dbus-glib-0.78/dbus/dbus-gproxy.c 2009-01-30 18:12:51.000000000 +0100 -@@ -2175,6 +2175,41 @@ - return NULL; - } - -+struct dbus_g_proxy_begin_call_internal_helper_args -+{ -+ DBusGProxy *proxy; -+ DBusGProxyCallNotify notify; -+ guint call_id; -+ gpointer user_data; -+ GDestroyNotify destroy; -+}; -+ -+static void -+dbus_g_proxy_begin_call_internal_helper (DBusPendingCall *pending, void *user_data) -+{ -+ struct dbus_g_proxy_begin_call_internal_helper_args *t1 = user_data; -+ DBusGProxyPrivate *priv = DBUS_G_PROXY_GET_PRIVATE(t1->proxy); -+ GPendingNotifyClosure *closure; -+ -+ -+ t1->call_id = ++priv->call_id_counter; -+ -+ if (t1->notify != NULL) -+ { -+ closure = g_new (GPendingNotifyClosure, 1); -+ closure->proxy = t1->proxy; /* No need to ref as the lifecycle is tied to proxy */ -+ closure->call_id = t1->call_id; -+ closure->func = t1->notify; -+ closure->data = t1->user_data; -+ closure->free_data_func = t1->destroy; -+ dbus_pending_call_set_notify (pending, d_pending_call_notify, -+ closure, -+ d_pending_call_free); -+ } -+ -+ g_hash_table_insert (priv->pending_calls, GUINT_TO_POINTER (t1->call_id), pending); -+} -+ - static guint - dbus_g_proxy_begin_call_internal (DBusGProxy *proxy, - const char *method, -@@ -2182,52 +2217,42 @@ - gpointer user_data, - GDestroyNotify destroy, - GValueArray *args, -- int timeout) -+ int timeout) - { -+ struct dbus_g_proxy_begin_call_internal_helper_args t1; -+ - DBusMessage *message; - DBusPendingCall *pending; -- GPendingNotifyClosure *closure; -- guint call_id; - DBusGProxyPrivate *priv = DBUS_G_PROXY_GET_PRIVATE(proxy); - -+ t1.proxy = proxy; -+ t1.notify = notify; -+ t1.user_data = user_data; -+ t1.destroy = destroy; -+ - pending = NULL; - - message = dbus_g_proxy_marshal_args_to_message (proxy, method, args); - if (!message) - goto oom; - -- if (!dbus_connection_send_with_reply (priv->manager->connection, -- message, -- &pending, -- timeout)) -+ if (!dbus_connection_send_with_reply_setup (priv->manager->connection, -+ message, -+ &pending, -+ dbus_g_proxy_begin_call_internal_helper, -+ &t1, -+ timeout)) - goto oom; - dbus_message_unref (message); -- -+ - /* If we got a NULL pending, that means the connection was disconnected, -- * and we need to abort this call. -+ * and we need to abort this call. - * https://bugs.freedesktop.org/show_bug.cgi?id=12675 - */ - if (pending == NULL) - return 0; - -- call_id = ++priv->call_id_counter; -- -- if (notify != NULL) -- { -- closure = g_new (GPendingNotifyClosure, 1); -- closure->proxy = proxy; /* No need to ref as the lifecycle is tied to proxy */ -- closure->call_id = call_id; -- closure->func = notify; -- closure->data = user_data; -- closure->free_data_func = destroy; -- dbus_pending_call_set_notify (pending, d_pending_call_notify, -- closure, -- d_pending_call_free); -- } -- -- g_hash_table_insert (priv->pending_calls, GUINT_TO_POINTER (call_id), pending); -- -- return call_id; -+ return t1.call_id; - oom: - g_error ("Out of memory"); - return 0; diff --git a/recipes/dbus/dbus-glib-0.82/no-examples.patch b/recipes/dbus/dbus-glib-0.82/no-examples.patch deleted file mode 100644 index 483153db74..0000000000 --- a/recipes/dbus/dbus-glib-0.82/no-examples.patch +++ /dev/null @@ -1,8 +0,0 @@ ---- 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/recipes/dbus/dbus-glib-0.82/no-introspect.patch b/recipes/dbus/dbus-glib-0.82/no-introspect.patch deleted file mode 100644 index f667c06879..0000000000 --- a/recipes/dbus/dbus-glib-0.82/no-introspect.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: dbus-glib-0.82/tools/Makefile.am -=================================================================== ---- dbus-glib-0.82.orig/tools/Makefile.am -+++ dbus-glib-0.82/tools/Makefile.am -@@ -3,9 +3,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)/dbus/dbus-binding-tool$(EXEEXT) -- $(DBUS_BINDING_TOOL) --mode=glib-client --prefix=dbus_bus --output=dbus-glib-bindings.h dbus-bus-introspect.xml -- - BUILT_SOURCES = dbus-glib-bindings.h dbus-bus-introspect.xml - - if USE_INTROSPECT_XML diff --git a/recipes/dbus/dbus-glib-0.86/run-with-tmp-session-bus.patch b/recipes/dbus/dbus-glib-0.86/run-with-tmp-session-bus.patch new file mode 100644 index 0000000000..a04f404f75 --- /dev/null +++ b/recipes/dbus/dbus-glib-0.86/run-with-tmp-session-bus.patch @@ -0,0 +1,24 @@ +Index: dbus-glib-0.76/tools/run-with-tmp-session-bus.sh +=================================================================== +--- dbus-glib-0.76.orig/tools/run-with-tmp-session-bus.sh 2008-06-13 16:31:54.000000000 +0100 ++++ dbus-glib-0.76/tools/run-with-tmp-session-bus.sh 2008-06-13 16:32:54.000000000 +0100 +@@ -30,17 +30,15 @@ + echo "escaped service dir is: $ESCAPED_SERVICE_DIR" >&2 + + ## create a configuration file based on the standard session.conf +-cat $DBUS_TOP_SRCDIR/tools/session.conf | \ ++cat $datadir/tools/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 + +-PATH=$DBUS_TOP_BUILDDIR/bus:$PATH +-export PATH + ## the libtool script found by the path search should already do this, but +-LD_LIBRARY_PATH=$DBUS_TOP_BUILDDIR/dbus/.libs:$LD_LIBRARY_PATH ++LD_LIBRARY_PATH=$libdir:$LD_LIBRARY_PATH + export PATH + unset DBUS_SESSION_BUS_ADDRESS + unset DBUS_SESSION_BUS_PID diff --git a/recipes/dbus/dbus-glib-native_0.74.bb b/recipes/dbus/dbus-glib-native_0.74.bb deleted file mode 100644 index 0fc745eb62..0000000000 --- a/recipes/dbus/dbus-glib-native_0.74.bb +++ /dev/null @@ -1,24 +0,0 @@ -SECTION = "base" -PR = "r1" -HOMEPAGE = "http://www.freedesktop.org/Software/dbus" -DESCRIPTION = "Message bus system for applications to talk to one another" -LICENSE = "GPL" - -SRC_URI = "http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-${PV}.tar.gz \ - 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-${PV}" -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 -} - -SRC_URI[md5sum] = "0923d825a0aff2e4eb23338b630286fb" -SRC_URI[sha256sum] = "e870d8cd619834eda066e37fe69b441d629f9ad3a871ef2854fbbcd753b3abe2" diff --git a/recipes/dbus/dbus-glib-native_0.76.bb b/recipes/dbus/dbus-glib-native_0.76.bb deleted file mode 100644 index 06d7bace00..0000000000 --- a/recipes/dbus/dbus-glib-native_0.76.bb +++ /dev/null @@ -1,24 +0,0 @@ -SECTION = "base" -PR = "r1" -HOMEPAGE = "http://www.freedesktop.org/Software/dbus" -DESCRIPTION = "message bus system for applications to talk to one another" -LICENSE = "GPL" - -SRC_URI = "http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-${PV}.tar.gz \ - 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-${PV}" -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 -} - -SRC_URI[md5sum] = "d3b716a7e798faa1c6a867675f00306a" -SRC_URI[sha256sum] = "8bc083faaf3efdd444a8a44bbcbfea501a7b547736fda3c2d83bfdc9b5b672a3" diff --git a/recipes/dbus/dbus-glib.inc b/recipes/dbus/dbus-glib.inc index bfc7f7c037..4db734b1e2 100644 --- a/recipes/dbus/dbus-glib.inc +++ b/recipes/dbus/dbus-glib.inc @@ -2,28 +2,50 @@ DESCRIPTION = "GLib bindings for the dbus message bus system" HOMEPAGE = "http://www.freedesktop.org/Software/dbus" SECTION = "libs" LICENSE = "GPL" + DEPENDS = "expat glib-2.0 virtual/libintl dbus-glib-native dbus" -INC_PR = "r1" +DEPENDS_virtclass-native = "expat-native glib-2.0-native dbus-native" + +INC_PR = "r2" + SRC_URI = "\ - http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-${PV}.tar.gz;name=archive \ - file://no-introspect.patch;patch=1 \ - file://no-examples.patch;patch=1 \ -" + http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-${PV}.tar.gz \ + file://no-examples.patch \ + file://no-introspect.patch \ + " + +SRC_URI_virtclass-native = "http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-${PV}.tar.gz" inherit autotools pkgconfig gettext +BBCLASSEXTEND = "native" + do_configure_prepend() { - install -m 0644 ${STAGING_DATADIR_NATIVE}/dbus/dbus-bus-introspect.xml ${S}/tools/ - install -m 0644 ${STAGING_DATADIR_NATIVE}/dbus/dbus-glib-bindings.h ${S}/tools/ + install -m 0644 ${STAGING_DATADIR_NATIVE}/dbus/dbus-bus-introspect.xml ${S}/tools/ + install -m 0644 ${STAGING_DATADIR_NATIVE}/dbus/dbus-glib-bindings.h ${S}/tools/ + +} + +do_configure_virtclass-native() { + autotools_do_configure +} + +do_install_virtclass-native() { + autotools_do_install + install -d ${D}${datadir}/dbus + install -m 0644 tools/dbus-glib-bindings.h ${D}${datadir}/dbus } PACKAGES += "${PN}-bash-completion" + FILES_${PN}-bash-completion = "\ ${sysconfdir}/bash_completion.d \ ${prefix}/libexec/dbus-bash-completion-helper \ " + FILES_${PN} = "${libdir}/lib*.so.*" + FILES_${PN}-dev += "\ ${libdir}/dbus-1.0/include \ ${bindir}/dbus-glib-tool \ diff --git a/recipes/dbus/dbus-glib_0.74.bb b/recipes/dbus/dbus-glib_0.74.bb index c69c2452e1..e6822b13f4 100644 --- a/recipes/dbus/dbus-glib_0.74.bb +++ b/recipes/dbus/dbus-glib_0.74.bb @@ -1,31 +1,13 @@ -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 dbus-glib-native dbus" +require dbus-glib.inc -SRC_URI = "http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-${PV}.tar.gz \ - file://no-examples.patch;patch=1 \ - file://no-introspect.patch;patch=1" +PR = "${INC_PR}.1" -inherit autotools pkgconfig gettext +SRC_URI_virtclass-native += "file://run-with-tmp-session-bus.patch" -FILES_${PN} = "${libdir}/lib*.so.*" -FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool" - -do_configure_prepend() { - install -m 0644 ${STAGING_DATADIR_NATIVE}/dbus/dbus-bus-introspect.xml ${S}/tools/ - install -m 0644 ${STAGING_DATADIR_NATIVE}/dbus/dbus-glib-bindings.h ${S}/tools/ +do_install_virtclass-native_prepend() { + install -d ${D}${datadir}/dbus + install -m 0644 tools/dbus-bus-introspect.xml ${D}${datadir}/dbus } -do_stage () { - oe_libinstall -so -C dbus libdbus-glib-1 ${STAGING_LIBDIR} - - autotools_stage_includes -} - -FILES_${PN}-dev += "${bindir}/dbus-binding-tool" - SRC_URI[md5sum] = "0923d825a0aff2e4eb23338b630286fb" SRC_URI[sha256sum] = "e870d8cd619834eda066e37fe69b441d629f9ad3a871ef2854fbbcd753b3abe2" diff --git a/recipes/dbus/dbus-glib_0.76.bb b/recipes/dbus/dbus-glib_0.76.bb deleted file mode 100644 index 982ffd070b..0000000000 --- a/recipes/dbus/dbus-glib_0.76.bb +++ /dev/null @@ -1,31 +0,0 @@ -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 dbus-glib-native dbus" - -SRC_URI = "http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-${PV}.tar.gz \ - 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_DATADIR_NATIVE}/dbus/dbus-bus-introspect.xml ${S}/tools/ - install -m 0644 ${STAGING_DATADIR_NATIVE}/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" - -SRC_URI[md5sum] = "d3b716a7e798faa1c6a867675f00306a" -SRC_URI[sha256sum] = "8bc083faaf3efdd444a8a44bbcbfea501a7b547736fda3c2d83bfdc9b5b672a3" diff --git a/recipes/dbus/dbus-glib_0.78.bb b/recipes/dbus/dbus-glib_0.78.bb index f11d244a46..30a5e0c78c 100644 --- a/recipes/dbus/dbus-glib_0.78.bb +++ b/recipes/dbus/dbus-glib_0.78.bb @@ -1,26 +1,13 @@ -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 dbus-glib-native dbus" +require dbus-glib.inc -SRC_URI = "http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-${PV}.tar.gz \ - file://no-examples.patch;patch=1 \ - file://no-introspect.patch;patch=1" +PR = "${INC_PR}.1" -inherit autotools_stage gettext -AUTOTOOLS_STAGE_PKGCONFIG = "1" +SRC_URI_virtclass-native += "file://run-with-tmp-session-bus.patch" -FILES_${PN} = "${libdir}/lib*.so.* ${libexecdir}/dbus* ${sysconfdir}/profile.d" -FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool" - -do_configure_prepend() { - install -m 0644 ${STAGING_DATADIR_NATIVE}/dbus/dbus-bus-introspect.xml ${S}/tools/ - install -m 0644 ${STAGING_DATADIR_NATIVE}/dbus/dbus-glib-bindings.h ${S}/tools/ +do_install_virtclass-native_prepend() { + install -d ${D}${datadir}/dbus + install -m 0644 tools/dbus-bus-introspect.xml ${D}${datadir}/dbus } -FILES_${PN}-dev += "${bindir}/dbus-binding-tool" - SRC_URI[md5sum] = "d4aa04b9df35b4bd663be38e959941c8" SRC_URI[sha256sum] = "ca366fed6035f75c6ca038f99b780260a0e19f282067b2dd20243ba54105fc21" diff --git a/recipes/dbus/dbus-glib_0.82.bb b/recipes/dbus/dbus-glib_0.82.bb deleted file mode 100644 index cca1d45159..0000000000 --- a/recipes/dbus/dbus-glib_0.82.bb +++ /dev/null @@ -1,5 +0,0 @@ -require dbus-glib.inc -PR = "${INC_PR}.1" - -SRC_URI[archive.md5sum] = "aa2a4517de0e9144be3bce2cf8cdd924" -SRC_URI[archive.sha256sum] = "ddfb062797341b5c5a22555ffe80138953cc61a67ba805647b2746f519bfbde1" diff --git a/recipes/dbus/dbus-glib_0.86.bb b/recipes/dbus/dbus-glib_0.86.bb index abb555304d..ce87d5d43e 100644 --- a/recipes/dbus/dbus-glib_0.86.bb +++ b/recipes/dbus/dbus-glib_0.86.bb @@ -1,6 +1,14 @@ require dbus-glib.inc -PR = "${INC_PR}.0" -SRC_URI[archive.md5sum] = "cd0ab148fb0c786fc88be49d19971f50" -SRC_URI[archive.sha256sum] = "5351a6e7f38ffc641c34b4a4cdd9bed1c1dc7043a501096bac00a2876ea90bdc" +PR = "${INC_PR}.1" + +SRC_URI_virtclass-native += "file://run-with-tmp-session-bus.patch" + +do_install_virtclass-native_prepend() { + install -d ${D}${datadir}/dbus + install -m 0644 dbus-bus-introspect.xml ${D}${datadir}/dbus +} + +SRC_URI[md5sum] = "cd0ab148fb0c786fc88be49d19971f50" +SRC_URI[sha256sum] = "5351a6e7f38ffc641c34b4a4cdd9bed1c1dc7043a501096bac00a2876ea90bdc" diff --git a/recipes/dbus/dbus-native_1.0.3.bb b/recipes/dbus/dbus-native_1.0.3.bb deleted file mode 100644 index faad448bf1..0000000000 --- a/recipes/dbus/dbus-native_1.0.3.bb +++ /dev/null @@ -1,35 +0,0 @@ -require dbus.inc - -PR = "${INC_PR}.0" -DEFAULT_PREFERENCE = "-1" - -inherit native - -EXTRA_OECONF_X = "--without-x" - -DEPENDS = "glib-2.0-native libxml2-native expat-native" -FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/dbus-${PV}" - -SRC_URI = "\ - http://freedesktop.org/software/dbus/releases/dbus/dbus-${PV}.tar.gz \ - file://cross.patch;patch=1 \ - file://tmpdir.patch;patch=1 \ - file://fedora-compile-fix.patch;patch=1 \ - file://dbus-1.init \ -" - -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 -} - -do_install() { - : -} - -SRC_URI[md5sum] = "ce328423db5743fe9006d39113b5324d" -SRC_URI[sha256sum] = "4be82f4ef8f4657f997a44b3daddba3f95dbb6518487509767d803dd72bf529e" diff --git a/recipes/dbus/dbus-native_1.2.1.bb b/recipes/dbus/dbus-native_1.2.1.bb index 2626095a43..0bca311fae 100644 --- a/recipes/dbus/dbus-native_1.2.1.bb +++ b/recipes/dbus/dbus-native_1.2.1.bb @@ -1,5 +1,5 @@ require dbus.inc -PR = "${INC_PR}.2" +PR = "${INC_PR}.3" RRECOMMENDS_${PN} = "" RDEPENDS_${PN} = "" inherit native @@ -11,24 +11,19 @@ FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/dbus-${PV}" SRC_URI = "\ http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ - file://cross.patch;patch=1 \ - file://tmpdir.patch;patch=1 \ - file://fix-install-daemon.patch;patch=1 \ + file://cross.patch \ + file://tmpdir.patch \ + file://fix-install-daemon.patch \ file://dbus-1.init \ " -do_stage() { - oe_runmake install - autotools_stage_all - +do_install_append() { # for dbus-glib-native introspection generation - install -d ${STAGING_DATADIR}/dbus - install -m 0644 bus/session.conf ${STAGING_DATADIR}/dbus/session.conf + install -d ${D}${datadir}/dbus + install -m 0644 bus/session.conf ${D}${datadir}/dbus/session.conf } -do_install() { - : -} +NATIVE_INSTALL_WORKS = "1" SRC_URI[md5sum] = "b57aa1ba0834cbbb1e7502dc2cbfacc2" SRC_URI[sha256sum] = "8016540602189e1dca6aca6b7c0735706387e4f85ced75217c6a874980fd0e86" diff --git a/recipes/dbus/dbus.inc b/recipes/dbus/dbus.inc index 2c41eb12c9..55a156d8f5 100644 --- a/recipes/dbus/dbus.inc +++ b/recipes/dbus/dbus.inc @@ -4,14 +4,14 @@ SECTION = "base" LICENSE = "GPL" DEPENDS = "expat glib-2.0 virtual/libintl libsm libice virtual/libx11" -INC_PR = "r18" +INC_PR = "r19" SRC_URI = "\ http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz;name=dbus \ - file://cross.patch;patch=1 \ - file://tmpdir.patch;patch=1 \ - file://fix-install-daemon.patch;patch=1 \ - file://0001-Make-the-default-DBus-reply-timeout-configurable.patch;patch=1 \ + file://cross.patch \ + file://tmpdir.patch \ + file://fix-install-daemon.patch \ + file://0001-Make-the-default-DBus-reply-timeout-configurable.patch \ file://dbus-1.init \ " @@ -35,8 +35,13 @@ EXTRA_OECONF = "\ ${EXTRA_OECONF_X} \ " -do_compile_prepend_mipsel() { - sed -i -e 's/\-fPIE//' -e 's/\-pie\ \-Wl\,\-z\,relro//' bus/Makefile +# On mipsel, D-Bus fails to link with --gc-sections and segfaults before main() +# when built with -fPIE/-pie. +do_configure_prepend_mipsel() { + sed -i -e 's/\-fPIE//' \ + -e 's/\-pie\ \-Wl\,\-z\,relro//' \ + -e 's/-Wl,--gc-sections//' \ + ${S}/configure.in } do_install_append() { diff --git a/recipes/dbus/dbus_1.0.3.bb b/recipes/dbus/dbus_1.0.3.bb deleted file mode 100644 index c4eef9be57..0000000000 --- a/recipes/dbus/dbus_1.0.3.bb +++ /dev/null @@ -1,7 +0,0 @@ -require dbus.inc -PR = "${INC_PR}.0" - -DEFAULT_PREFERENCE = "-1" - -SRC_URI[dbus.md5sum] = "ce328423db5743fe9006d39113b5324d" -SRC_URI[dbus.sha256sum] = "4be82f4ef8f4657f997a44b3daddba3f95dbb6518487509767d803dd72bf529e" diff --git a/recipes/dbus/dbus_1.2.20.bb b/recipes/dbus/dbus_1.2.20.bb deleted file mode 100644 index 0e96b74c54..0000000000 --- a/recipes/dbus/dbus_1.2.20.bb +++ /dev/null @@ -1,13 +0,0 @@ -include dbus.inc - -SRC_URI = "\ - http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz;name=dbus \ - file://tmpdir.patch;patch=1 \ - file://fix-install-daemon.patch;patch=1 \ - file://0001-Make-the-default-DBus-reply-timeout-configurable.patch;patch=1 \ - file://dbus-1.init \ -" - -SRC_URI[dbus.md5sum] = "63f4e2412f6599a5e7b10281b9ddc0ac" -SRC_URI[dbus.sha256sum] = "0ef086d738710384d525130797ee86a0ce2daebffa7dc4d28386503ef7448011" - diff --git a/recipes/dbus/dbus_1.2.22.bb b/recipes/dbus/dbus_1.2.22.bb index 2e10ddebaf..74386ed95f 100644 --- a/recipes/dbus/dbus_1.2.22.bb +++ b/recipes/dbus/dbus_1.2.22.bb @@ -1,10 +1,12 @@ include dbus.inc +PR = "${INC_PR}.0" + SRC_URI = "\ http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz;name=dbus \ - file://tmpdir.patch;patch=1 \ - file://fix-install-daemon.patch;patch=1 \ - file://0001-Make-the-default-DBus-reply-timeout-configurable.patch;patch=1 \ + file://tmpdir.patch \ + file://fix-install-daemon.patch \ + file://0001-Make-the-default-DBus-reply-timeout-configurable.patch \ file://dbus-1.init \ " diff --git a/recipes/dbus/dbus_1.2.24.bb b/recipes/dbus/dbus_1.2.24.bb index 0be93b07d5..a2b7eea2a6 100644 --- a/recipes/dbus/dbus_1.2.24.bb +++ b/recipes/dbus/dbus_1.2.24.bb @@ -1,10 +1,12 @@ include dbus.inc +PR = "${INC_PR}.0" + SRC_URI = "\ http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz;name=dbus \ - file://tmpdir.patch;patch=1 \ - file://fix-install-daemon.patch;patch=1 \ - file://0001-Make-the-default-DBus-reply-timeout-configurable.patch;patch=1 \ + file://tmpdir.patch \ + file://fix-install-daemon.patch \ + file://0001-Make-the-default-DBus-reply-timeout-configurable.patch \ file://dbus-1.init \ " diff --git a/recipes/dbus/dbus_1.3.0.bb b/recipes/dbus/dbus_1.3.0.bb deleted file mode 100644 index 77043e0e45..0000000000 --- a/recipes/dbus/dbus_1.3.0.bb +++ /dev/null @@ -1,26 +0,0 @@ -include dbus.inc - -SRC_URI = "\ - http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ - \ - file://will-1.patch;patch=1 \ - file://will-2.patch;patch=1 \ - file://will-3.patch;patch=1 \ - file://will-4.patch;patch=1 \ - file://will-5.patch;patch=1 \ - file://will-6.patch;patch=1 \ - \ - file://improve-threading-stability.patch;patch=1 \ - file://tmpdir.patch;patch=1 \ - file://fix-install-daemon.patch;patch=1 \ - file://0001-Make-the-default-DBus-reply-timeout-configurable.patch;patch=1 \ - file://dbus-1.init \ -" - -# This is the development version of dbus that will lead to 1.4.x -DEFAULT_PREFERENCE = "-1" - -PR = "r2" - -SRC_URI[md5sum] = "b3298d5ce0e4ad4731b1e4e1787d56bb" -SRC_URI[sha256sum] = "fe32b49667894cf91b0a97503163be5c4814ecf67259e8feb26d1ba57cb03dae" diff --git a/recipes/dbus/dbus_1.3.1.bb b/recipes/dbus/dbus_1.3.1.bb new file mode 100644 index 0000000000..2d09dc9ba5 --- /dev/null +++ b/recipes/dbus/dbus_1.3.1.bb @@ -0,0 +1,18 @@ +include dbus.inc +PR = "${INC_PR}.1" + +SRC_URI = "\ + http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ + \ + file://bugfix-17754.patch \ + file://tmpdir.patch \ + file://fix-install-daemon.patch \ + file://add-configurable-reply-timeouts.patch \ + file://dbus-1.init \ +" + +# This is a development version of dbus that will lead to 1.4.0 +DEFAULT_PREFERENCE = "-1" + +SRC_URI[md5sum] = "1aab02bdcac4d662d3760896790f0ede" +SRC_URI[sha256sum] = "f58de339c9b1fbea4c9acf555742650443bea5a8851268ca254bcb86bbbf5768" |