diff options
-rw-r--r-- | recipes/dbus/dbus-1.2.20/0001-Make-the-default-DBus-reply-timeout-configurable.patch | 78 | ||||
-rw-r--r-- | recipes/dbus/dbus-1.2.20/dbus-1.init | 111 | ||||
-rw-r--r-- | recipes/dbus/dbus-1.2.20/fix-install-daemon.patch | 13 | ||||
-rw-r--r-- | recipes/dbus/dbus-1.2.20/tmpdir.patch | 30 | ||||
-rw-r--r-- | recipes/dbus/dbus.inc | 8 | ||||
-rw-r--r-- | recipes/dbus/dbus_1.2.20.bb | 13 |
6 files changed, 246 insertions, 7 deletions
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 new file mode 100644 index 0000000000..a38e3db0de --- /dev/null +++ b/recipes/dbus/dbus-1.2.20/0001-Make-the-default-DBus-reply-timeout-configurable.patch @@ -0,0 +1,78 @@ +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 new file mode 100644 index 0000000000..8209454088 --- /dev/null +++ b/recipes/dbus/dbus-1.2.20/dbus-1.init @@ -0,0 +1,111 @@ +#! /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 new file mode 100644 index 0000000000..c31786357d --- /dev/null +++ b/recipes/dbus/dbus-1.2.20/fix-install-daemon.patch @@ -0,0 +1,13 @@ +Index: dbus-0.94/bus/Makefile.am +=================================================================== +--- dbus-0.94.orig/bus/Makefile.am 2006-10-01 17:36:18.000000000 +0200 ++++ dbus-0.94/bus/Makefile.am 2006-10-14 21:40:05.000000000 +0200 +@@ -110,7 +110,7 @@ + $(mkinstalldirs) $(DESTDIR)$(DBUS_DAEMONDIR); \ + chmod 755 $(DESTDIR)$(DBUS_DAEMONDIR); \ + fi +- $(INSTALL_PROGRAM) dbus-daemon $(DESTDIR)$(DBUS_DAEMONDIR) ++ $(INSTALL_PROGRAM) .libs/dbus-daemon $(DESTDIR)$(DBUS_DAEMONDIR) + $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus + $(mkinstalldirs) $(DESTDIR)$(configdir)/system.d + $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/services diff --git a/recipes/dbus/dbus-1.2.20/tmpdir.patch b/recipes/dbus/dbus-1.2.20/tmpdir.patch new file mode 100644 index 0000000000..838b903f0a --- /dev/null +++ b/recipes/dbus/dbus-1.2.20/tmpdir.patch @@ -0,0 +1,30 @@ +--- dbus-0.22/configure.in.orig 2004-08-13 00:57:16.000000000 +0200 ++++ dbus-0.22/configure.in 2004-12-30 21:15:57.000000000 +0100 +@@ -1047,15 +1048,18 @@ + AC_SUBST(ABSOLUTE_TOP_BUILDDIR) + + #### Find socket directories +-if ! test -z "$TMPDIR" ; then +- DEFAULT_SOCKET_DIR=$TMPDIR +-elif ! test -z "$TEMP" ; then +- DEFAULT_SOCKET_DIR=$TEMP +-elif ! test -z "$TMP" ; then +- DEFAULT_SOCKET_DIR=$TMP +-else +- DEFAULT_SOCKET_DIR=/tmp +-fi ++#if ! test -z "$TMPDIR" ; then ++# DEFAULT_SOCKET_DIR=$TMPDIR ++#elif ! test -z "$TEMP" ; then ++# DEFAULT_SOCKET_DIR=$TEMP ++#elif ! test -z "$TMP" ; then ++# DEFAULT_SOCKET_DIR=$TMP ++#else ++# DEFAULT_SOCKET_DIR=/tmp ++#fi ++ ++# checks disabled to avoid expanding this at build time ++DEFAULT_SOCKET_DIR=/tmp + + if ! test -z "$with_test_socket_dir" ; then + TEST_SOCKET_DIR="$with_test_socket_dir" diff --git a/recipes/dbus/dbus.inc b/recipes/dbus/dbus.inc index 0477a27474..08940a670c 100644 --- a/recipes/dbus/dbus.inc +++ b/recipes/dbus/dbus.inc @@ -7,7 +7,7 @@ DEPENDS = "expat glib-2.0 virtual/libintl libsm libice virtual/libx11" INC_PR = "r17" SRC_URI = "\ - http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ + 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 \ @@ -48,12 +48,6 @@ do_install_append() { install -m 0755 bus/.libs/dbus-daemon-launch-helper ${D}${libexecdir}/ fi } -do_stage() { - oe_libinstall -so -C dbus libdbus-1 ${STAGING_LIBDIR} - autotools_stage_includes - mkdir -p ${STAGING_LIBDIR}/dbus-1.0/include/dbus/ - install -m 0644 dbus/dbus-arch-deps.h ${STAGING_LIBDIR}/dbus-1.0/include/dbus/ -} RDEPENDS_${PN}-x11 = "${PN}" RRECOMMENDS_${PN}-lib = "${PN}" diff --git a/recipes/dbus/dbus_1.2.20.bb b/recipes/dbus/dbus_1.2.20.bb new file mode 100644 index 0000000000..0e96b74c54 --- /dev/null +++ b/recipes/dbus/dbus_1.2.20.bb @@ -0,0 +1,13 @@ +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" + |