[oe-commits] Martin Jansa : dbus: add recipe for 1.4.0

git version control git at git.openembedded.org
Sun Oct 10 18:53:58 UTC 2010


Module: openembedded.git
Branch: master
Commit: 2221d6f56496522f58f8bf64061d1d33192b8ea5
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=2221d6f56496522f58f8bf64061d1d33192b8ea5

Author: Martin Jansa <Martin.Jansa at gmail.com>
Date:   Sun Oct 10 10:41:55 2010 +0200

dbus: add recipe for 1.4.0

Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>

---

 .../add-configurable-reply-timeouts.patch          |   48 +++++++++
 recipes/dbus/dbus-1.4.0/dbus-1.init                |  111 ++++++++++++++++++++
 recipes/dbus/dbus-1.4.0/tmpdir.patch               |   30 ++++++
 recipes/dbus/dbus_1.4.0.bb                         |   18 +++
 4 files changed, 207 insertions(+), 0 deletions(-)

diff --git a/recipes/dbus/dbus-1.4.0/add-configurable-reply-timeouts.patch b/recipes/dbus/dbus-1.4.0/add-configurable-reply-timeouts.patch
new file mode 100644
index 0000000..9cca38d
--- /dev/null
+++ b/recipes/dbus/dbus-1.4.0/add-configurable-reply-timeouts.patch
@@ -0,0 +1,48 @@
+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]))
+ 
+ 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
++    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 $NETWORK_libs"
+@@ -1625,6 +1633,7 @@
+         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}
+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;
+ 
+-/** 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/recipes/dbus/dbus-1.4.0/dbus-1.init b/recipes/dbus/dbus-1.4.0/dbus-1.init
new file mode 100644
index 0000000..a70e7a2
--- /dev/null
+++ b/recipes/dbus/dbus-1.4.0/dbus-1.init
@@ -0,0 +1,111 @@
+#! /bin/sh
+# -*- coding: utf-8 -*-
+# Debian init.d script for D-BUS
+# Copyright © 2003 Colin Walters <walters at 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.4.0/tmpdir.patch b/recipes/dbus/dbus-1.4.0/tmpdir.patch
new file mode 100644
index 0000000..838b903
--- /dev/null
+++ b/recipes/dbus/dbus-1.4.0/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_1.4.0.bb b/recipes/dbus/dbus_1.4.0.bb
new file mode 100644
index 0000000..2c4943b
--- /dev/null
+++ b/recipes/dbus/dbus_1.4.0.bb
@@ -0,0 +1,18 @@
+include dbus.inc
+PR = "${INC_PR}.0"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI = "\
+  http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
+  \
+  file://tmpdir.patch \
+  file://add-configurable-reply-timeouts.patch \
+  file://dbus-1.init \
+"            
+
+# This needs more testing before pushing as default dbus
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI[md5sum] = "f59618b18d2fb2bd1fce9e1c5a2a3282"
+SRC_URI[sha256sum] = "c96d2f86d40e158e2bf405925a0a42cce0533a8466098e2f2238aa1614926652"





More information about the Openembedded-commits mailing list