mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2025-12-14 22:35:25 +01:00
angstrom-layers: add dbus from OE into meta-openembedded
This commit is contained in:
parent
6f2cc15148
commit
a7f715cf6d
|
|
@ -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
|
||||
|
||||
13
recipes-core/dbus/dbus-1.2.24/fix-install-daemon.patch
Normal file
13
recipes-core/dbus/dbus-1.2.24/fix-install-daemon.patch
Normal file
|
|
@ -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)
|
||||
+ $(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
|
||||
17
recipes-core/dbus/dbus-c++-native_git.bb
Normal file
17
recipes-core/dbus/dbus-c++-native_git.bb
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
require dbus-c++_git.bb
|
||||
inherit native
|
||||
|
||||
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/dbus-c++"
|
||||
# actually dbus-native and expat-native, but even the bearest build machine should have that nowadays...
|
||||
DEPENDS = ""
|
||||
|
||||
do_compile() {
|
||||
oe_runmake -C src libdbus-c++-1.la
|
||||
oe_runmake -C tools dbusxx-xml2cpp
|
||||
install -m 0755 tools/dbusxx-xml2cpp ${STAGING_BINDIR_NATIVE}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
:
|
||||
}
|
||||
|
||||
13
recipes-core/dbus/dbus-c++/fix-linking.patch
Normal file
13
recipes-core/dbus/dbus-c++/fix-linking.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
Index: dbus/tools/Makefile.am
|
||||
===================================================================
|
||||
--- dbus.orig/tools/Makefile.am
|
||||
+++ dbus/tools/Makefile.am
|
||||
@@ -16,7 +16,7 @@ endif
|
||||
bin_PROGRAMS = dbusxx-xml2cpp dbusxx-introspect
|
||||
|
||||
dbusxx_xml2cpp_SOURCES = xml.h xml.cpp xml2cpp.h xml2cpp.cpp
|
||||
-dbusxx_xml2cpp_LDADD = $(libdbus_cxx_la)
|
||||
+dbusxx_xml2cpp_LDADD = $(libdbus_cxx_la) -lexpat
|
||||
|
||||
dbusxx_introspect_SOURCES = introspect.h introspect.cpp
|
||||
dbusxx_introspect_LDADD = $(libdbus_cxx_la)
|
||||
23
recipes-core/dbus/dbus-c++_git.bb
Normal file
23
recipes-core/dbus/dbus-c++_git.bb
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
DESCRIPTION = "C++ bindings for dbus"
|
||||
LICENSE = "LGPLv2.1+"
|
||||
SECTION = "libs"
|
||||
DEPENDS = "dbus dbus-c++-native expat"
|
||||
SRCREV = "530a887913d3b0dd7091eabb8eef8e3c279e3bb8"
|
||||
|
||||
PE = "1"
|
||||
PV = "0.5.0+gitr${SRCPV}"
|
||||
|
||||
SRC_URI = "git://gitorious.org/dbus-cplusplus/mainline.git;protocol=git"
|
||||
# file://fix-linking.patch"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
|
||||
do_compile_prepend() {
|
||||
find . -name "Makefile.am" |xargs sed -i -e 's,$(top_builddir)/tools/dbusxx-xml2cpp,dbusxx-xml2cpp,'
|
||||
}
|
||||
|
||||
FILES_${PN}-dbg += "${bindir}/dbusxx-xml2cpp ${bindir}/dbusxx-introspect"
|
||||
FILES_${PN}-dev += "${bindir}/.dev"
|
||||
FILES_${PN} = "${libdir}/*.so.*"
|
||||
|
||||
19
recipes-core/dbus/dbus-daemon-proxy_git.bb
Normal file
19
recipes-core/dbus/dbus-daemon-proxy_git.bb
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
DESCRIPTION = "dbus forwarding daemon"
|
||||
LICENSE = "LGPLv2.1+"
|
||||
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} ${LDFLAGS} `pkg-config --cflags --libs dbus-glib-1` -o dbus-daemon-proxy dbus-daemon-proxy.c
|
||||
}
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${bindir}
|
||||
install -m 0755 dbus-daemon-proxy ${D}${bindir}
|
||||
}
|
||||
|
||||
8
recipes-core/dbus/dbus-glib-0.86/no-examples.patch
Normal file
8
recipes-core/dbus/dbus-glib-0.86/no-examples.patch
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
--- 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\"
|
||||
|
||||
12
recipes-core/dbus/dbus-glib-0.86/no-introspect.patch
Normal file
12
recipes-core/dbus/dbus-glib-0.86/no-introspect.patch
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
--- /tmp/Makefile.am 2010-03-28 12:24:13.000000000 +0200
|
||||
+++ dbus-glib-0.86/tools/Makefile.am 2010-03-28 12:24:30.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: $(top_srcdir)/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 $(top_srcdir)/dbus-bus-introspect.xml
|
||||
-
|
||||
BUILT_SOURCES = dbus-glib-bindings.h
|
||||
|
||||
EXTRA_DIST = run-with-tmp-session-bus.sh session.conf
|
||||
|
|
@ -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
|
||||
53
recipes-core/dbus/dbus-glib.inc
Normal file
53
recipes-core/dbus/dbus-glib.inc
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
DESCRIPTION = "GLib bindings for the dbus message bus system"
|
||||
HOMEPAGE = "http://www.freedesktop.org/Software/dbus"
|
||||
SECTION = "libs"
|
||||
LICENSE = "GPLv2+ AFLv2.1"
|
||||
|
||||
DEPENDS = "expat glib-2.0 virtual/libintl dbus-glib-native dbus"
|
||||
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 \
|
||||
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/
|
||||
|
||||
}
|
||||
|
||||
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 \
|
||||
${bindir}/dbus-binding-tool \
|
||||
"
|
||||
14
recipes-core/dbus/dbus-glib_0.86.bb
Normal file
14
recipes-core/dbus/dbus-glib_0.86.bb
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
require dbus-glib.inc
|
||||
|
||||
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"
|
||||
|
||||
102
recipes-core/dbus/dbus.inc
Normal file
102
recipes-core/dbus/dbus.inc
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
DESCRIPTION = "A message bus system for inter-process communication"
|
||||
HOMEPAGE = "http://dbus.freedesktop.org"
|
||||
SECTION = "base"
|
||||
LICENSE = "GPLv2+ AFLv2.1"
|
||||
DEPENDS = "expat glib-2.0 virtual/libintl libsm libice virtual/libx11"
|
||||
|
||||
INC_PR = "r19"
|
||||
|
||||
SRC_URI = "\
|
||||
http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz;name=dbus \
|
||||
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 \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/dbus-${PV}"
|
||||
|
||||
inherit autotools pkgconfig update-rc.d gettext
|
||||
|
||||
EXTRA_OECONF_X = "--with-x"
|
||||
|
||||
EXTRA_OECONF = "\
|
||||
--disable-qt \
|
||||
--disable-qt3 \
|
||||
--disable-gtk \
|
||||
--disable-tests \
|
||||
--disable-checks \
|
||||
--disable-xml-docs \
|
||||
--disable-doxygen-docs \
|
||||
--disable-libaudit \
|
||||
--with-xml=expat \
|
||||
--with-dbus-default-reply-timeout=200000 \
|
||||
${EXTRA_OECONF_X} \
|
||||
"
|
||||
|
||||
# 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() {
|
||||
install -d ${D}${sysconfdir}/init.d
|
||||
install -m 0755 ${WORKDIR}/dbus-1.init ${D}${sysconfdir}/init.d/dbus-1
|
||||
# the stock install seems to install the libtool wrapper script, so we have to copy this manually :M:
|
||||
if [ -e bus/.libs/dbus-daemon-launch-helper ]; then
|
||||
install -d ${D}${libexecdir}/
|
||||
install -m 0755 bus/.libs/dbus-daemon-launch-helper ${D}${libexecdir}/
|
||||
fi
|
||||
}
|
||||
|
||||
RDEPENDS_${PN}-x11 = "${PN}"
|
||||
RRECOMMENDS_${PN}-lib = "${PN}"
|
||||
RCONFLICTS_${PN} = "dbus-1"
|
||||
RREPLACES_${PN} = "dbus-1"
|
||||
RPROVIDES_${PN} = "dbus-1"
|
||||
|
||||
PACKAGES =+ "${PN}-lib ${PN}-x11"
|
||||
|
||||
FILES_${PN} = "\
|
||||
${bindir}/dbus-daemon* \
|
||||
${bindir}/dbus-uuidgen \
|
||||
${bindir}/dbus-cleanup-sockets \
|
||||
${bindir}/dbus-send \
|
||||
${bindir}/dbus-monitor \
|
||||
${libexecdir}/dbus* \
|
||||
${sysconfdir} \
|
||||
${datadir}/dbus-1/services \
|
||||
${datadir}/dbus-1/system-services \
|
||||
"
|
||||
FILES_${PN}-lib = "${libdir}/lib*.so.*"
|
||||
FILES_${PN}-x11 = "\
|
||||
${bindir}/dbus-launch \
|
||||
"
|
||||
FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool ${libdir}/"
|
||||
|
||||
pkg_postinst_${PN}() {
|
||||
#!/bin/sh
|
||||
# can't do adduser stuff offline
|
||||
if [ "x$D" != "x" ]; then
|
||||
exit 1
|
||||
fi
|
||||
MESSAGEUSER=messagebus
|
||||
MESSAGEHOME=/var/run/dbus
|
||||
mkdir -p $MESSAGEHOME || true
|
||||
grep -q ^$MESSAGEUSER: /etc/group || addgroup "$MESSAGEUSER"
|
||||
chgrp "$MESSAGEUSER" "$MESSAGEHOME"
|
||||
grep -q ^$MESSAGEUSER: /etc/passwd || adduser --system --home "$MESSAGEHOME" --no-create-home --disabled-password --ingroup "$MESSAGEUSER" "$MESSAGEUSER"
|
||||
chown "$MESSAGEUSER"."$MESSAGEUSER" "$MESSAGEHOME"
|
||||
grep -q netdev: /etc/group || addgroup netdev
|
||||
chmod u+s /usr/libexec/dbus-daemon-launch-helper
|
||||
}
|
||||
|
||||
CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session.conf"
|
||||
|
||||
INITSCRIPT_NAME = "dbus-1"
|
||||
INITSCRIPT_PARAMS = "start 02 5 2 . stop 20 0 1 6 ."
|
||||
48
recipes-core/dbus/dbus/add-configurable-reply-timeouts.patch
Normal file
48
recipes-core/dbus/dbus/add-configurable-reply-timeouts.patch
Normal file
|
|
@ -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);
|
||||
13
recipes-core/dbus/dbus/anon.patch
Normal file
13
recipes-core/dbus/dbus/anon.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
diff -Naur dbus-1.2.1.orig/dbus/dbus-transport.c dbus-1.2.1/dbus/dbus-transport.c
|
||||
--- dbus-1.2.1.orig/dbus/dbus-transport.c 2008-09-16 15:10:02.000000000 +0000
|
||||
+++ dbus-1.2.1/dbus/dbus-transport.c 2008-09-16 15:10:10.000000000 +0000
|
||||
@@ -747,6 +747,9 @@
|
||||
dbus_bool_t allow;
|
||||
DBusCredentials *auth_identity;
|
||||
|
||||
+ // allow anonymous connections
|
||||
+ _dbus_transport_set_allow_anonymous(transport, TRUE);
|
||||
+
|
||||
auth_identity = _dbus_auth_get_identity (transport->auth);
|
||||
_dbus_assert (auth_identity != NULL);
|
||||
|
||||
111
recipes-core/dbus/dbus/dbus-1.init
Normal file
111
recipes-core/dbus/dbus/dbus-1.init
Normal file
|
|
@ -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
|
||||
64
recipes-core/dbus/dbus/reuseaddr01.patch
Normal file
64
recipes-core/dbus/dbus/reuseaddr01.patch
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
From 8f5f340b77b51fed1f036a9ee9f70a31b201f2c9 Mon Sep 17 00:00:00 2001
|
||||
From: Sledz <sledz@MOBIL-400-586.intern.dresearch.de>
|
||||
Date: Tue, 29 Jun 2010 21:04:15 +0000
|
||||
Subject: sysdeps-unix: enable address reuse on TCP sockets
|
||||
|
||||
This helps to avoid 'Address already in use' problems if server has been shut
|
||||
down, and then restarted while sockets are still active on its port.
|
||||
|
||||
Signed-off-by: Steffen Sledz <sledz@dresearch.de>
|
||||
---
|
||||
diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c
|
||||
index ce3475a..b58d09a 100644
|
||||
--- a/dbus/dbus-sysdeps-unix.c
|
||||
+++ b/dbus/dbus-sysdeps-unix.c
|
||||
@@ -623,6 +623,7 @@ _dbus_listen_unix_socket (const char *path,
|
||||
int listen_fd;
|
||||
struct sockaddr_un addr;
|
||||
size_t path_len;
|
||||
+ unsigned int reuseaddr;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
@@ -696,7 +697,15 @@ _dbus_listen_unix_socket (const char *path,
|
||||
|
||||
strncpy (addr.sun_path, path, path_len);
|
||||
}
|
||||
-
|
||||
+
|
||||
+ reuseaddr = 1;
|
||||
+ if (setsockopt (listen_fd, SOL_SOCKET, SO_REUSEADDR, &reuseaddr, sizeof(reuseaddr))==-1)
|
||||
+ {
|
||||
+ dbus_set_error (error, _dbus_error_from_errno (errno),
|
||||
+ "Failed to set socket option\"%s\": %s",
|
||||
+ path, _dbus_strerror (errno));
|
||||
+ }
|
||||
+
|
||||
if (bind (listen_fd, (struct sockaddr*) &addr, _DBUS_STRUCT_OFFSET (struct sockaddr_un, sun_path) + path_len) < 0)
|
||||
{
|
||||
dbus_set_error (error, _dbus_error_from_errno (errno),
|
||||
@@ -870,6 +879,7 @@ _dbus_listen_tcp_socket (const char *host,
|
||||
int nlisten_fd = 0, *listen_fd = NULL, res, i;
|
||||
struct addrinfo hints;
|
||||
struct addrinfo *ai, *tmp;
|
||||
+ unsigned int reuseaddr;
|
||||
|
||||
*fds_p = NULL;
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
@@ -915,6 +925,14 @@ _dbus_listen_tcp_socket (const char *host,
|
||||
}
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR(error);
|
||||
|
||||
+ reuseaddr = 1;
|
||||
+ if (setsockopt (fd, SOL_SOCKET, SO_REUSEADDR, &reuseaddr, sizeof(reuseaddr))==-1)
|
||||
+ {
|
||||
+ dbus_set_error (error, _dbus_error_from_errno (errno),
|
||||
+ "Failed to set socket option \"%s:%s\": %s",
|
||||
+ host ? host : "*", port, _dbus_strerror (errno));
|
||||
+ }
|
||||
+
|
||||
if (bind (fd, (struct sockaddr*) tmp->ai_addr, tmp->ai_addrlen) < 0)
|
||||
{
|
||||
_dbus_close(fd, NULL);
|
||||
--
|
||||
cgit v0.8.3-6-g21f6
|
||||
38
recipes-core/dbus/dbus/reuseaddr02.patch
Normal file
38
recipes-core/dbus/dbus/reuseaddr02.patch
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
From d365dd8141e709222f3a619d7b04ec4ded6429fd Mon Sep 17 00:00:00 2001
|
||||
From: Havoc Pennington <hp@pobox.com>
|
||||
Date: Tue, 31 Aug 2010 15:59:09 +0000
|
||||
Subject: Change failure of setsockopt SO_REUSEADDR to be a warning, not set an error
|
||||
|
||||
It was previously setting an error but then continuing, which is
|
||||
not allowed since errors can't be "piled up"
|
||||
---
|
||||
diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c
|
||||
index e4ff6ee..3205bed 100644
|
||||
--- a/dbus/dbus-sysdeps-unix.c
|
||||
+++ b/dbus/dbus-sysdeps-unix.c
|
||||
@@ -980,9 +980,8 @@ _dbus_listen_unix_socket (const char *path,
|
||||
reuseaddr = 1;
|
||||
if (setsockopt (listen_fd, SOL_SOCKET, SO_REUSEADDR, &reuseaddr, sizeof(reuseaddr))==-1)
|
||||
{
|
||||
- dbus_set_error (error, _dbus_error_from_errno (errno),
|
||||
- "Failed to set socket option\"%s\": %s",
|
||||
- path, _dbus_strerror (errno));
|
||||
+ _dbus_warn ("Failed to set socket option\"%s\": %s",
|
||||
+ path, _dbus_strerror (errno));
|
||||
}
|
||||
|
||||
if (bind (listen_fd, (struct sockaddr*) &addr, _DBUS_STRUCT_OFFSET (struct sockaddr_un, sun_path) + path_len) < 0)
|
||||
@@ -1335,9 +1334,8 @@ _dbus_listen_tcp_socket (const char *host,
|
||||
reuseaddr = 1;
|
||||
if (setsockopt (fd, SOL_SOCKET, SO_REUSEADDR, &reuseaddr, sizeof(reuseaddr))==-1)
|
||||
{
|
||||
- dbus_set_error (error, _dbus_error_from_errno (errno),
|
||||
- "Failed to set socket option \"%s:%s\": %s",
|
||||
- host ? host : "*", port, _dbus_strerror (errno));
|
||||
+ _dbus_warn ("Failed to set socket option \"%s:%s\": %s",
|
||||
+ host ? host : "*", port, _dbus_strerror (errno));
|
||||
}
|
||||
|
||||
if (bind (fd, (struct sockaddr*) tmp->ai_addr, tmp->ai_addrlen) < 0)
|
||||
--
|
||||
cgit v0.8.3-6-g21f6
|
||||
30
recipes-core/dbus/dbus/tmpdir.patch
Normal file
30
recipes-core/dbus/dbus/tmpdir.patch
Normal file
|
|
@ -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"
|
||||
19
recipes-core/dbus/dbus_1.2.24.bb
Normal file
19
recipes-core/dbus/dbus_1.2.24.bb
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
include dbus.inc
|
||||
|
||||
PR = "${INC_PR}.1"
|
||||
|
||||
SRC_URI = "\
|
||||
http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz;name=dbus \
|
||||
file://tmpdir.patch \
|
||||
file://fix-install-daemon.patch \
|
||||
file://0001-Make-the-default-DBus-reply-timeout-configurable.patch \
|
||||
file://dbus-1.init \
|
||||
file://reuseaddr01.patch \
|
||||
file://reuseaddr02.patch \
|
||||
"
|
||||
|
||||
SRC_URI_append_hipox = "file://anon.patch"
|
||||
|
||||
SRC_URI[dbus.md5sum] = "565346cecd9cfecf1463540c6086cc2c"
|
||||
SRC_URI[dbus.sha256sum] = "f12c748f4a703655e3d4c3db94cdf5a752a0cd0b36958c715804373bd3595c48"
|
||||
|
||||
18
recipes-core/dbus/dbus_1.4.0.bb
Normal file
18
recipes-core/dbus/dbus_1.4.0.bb
Normal file
|
|
@ -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"
|
||||
Loading…
Reference in New Issue
Block a user