Commit 7e5f91a2 authored by Simon McVittie's avatar Simon McVittie

Imported Upstream version 1.4.1

parent 24fbe571
Olivier Andrieu <oliv__a@users.sourceforge.net>
Jonas B <sanoix@gmail.com>
Waldo Bastian <bastian@kde.org>
Daniel P. Berrange <dan@berrange.com>
Philip Blundell <pb@nexus.co.uk>
Ross Burton <ross@burtonini.com>
Carlos Garcia Campos <carlosgc@gnome.org>
Alexander Larsson <alexl@redhat.com>
Anders Carlsson <andersca@codefactory.se>
Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Aurelien Jarno <aurel32@debian.org>
Benjamin Reed <ranger@befunk.com>
Benjamin Reed <rangerrick@befunk.com>
Benjamin Reed <ranger@Sin.local>
Brian Cameron <brian.cameron@sun.com>
Anders Carlsson <andersca@gnome.org>
Christian Dywan <christian.dywan@lanedo.com>
Christian Ehrlicher <Ch.Ehrlicher@gmx.de>
Christian Persch (GNOME) <chpe@gnome.org>
Colin Walters <walters@lightbox.localdomain>
Colin Walters <walters@space-ghost.verbum.private>
Colin Walters <walters@verbum.org>
Colin Watson <cjwatson@ubuntu.com>
Cyril Brulebois <kibi@debian.org>
Daniel P. Berrange <dan@berrange.com>
Daniel Reed <djr@redhat.com>
David Zeuthen <davidz@redhat.com>
Dennis Kaarsemaker <dennis@kaarsemaker.net>
Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
Eamon Walsh <ewalsh@tycho.nsa.gov>
Federico Mena Quintero <federico@novell.com>
Frank Osterfeld <frank@kdab.net>
Frederic Crozat <fcrozat@mandriva.com>
Christian Ehrlicher <ch.ehrlicher@gmx.de>
Fridrich Štrba <fridrich.strba@bluewin.ch>
Grzegorz Dąbrowski <gdx@poczta.fm>
Harald Fernengel <harry@kdevelop.org>
Owen Fraser-Green <owen@discobabe.net>
Peter O'Gorman <pogma@thewrittenword.com>
Harri Porten <porten@kde.org>
Hasso Tepper <hasso@estpak.ee>
Havoc Pennington <hp@localhost.localdomain>
Havoc Pennington <hp@pobox.com>
Havoc Pennington <hp@redhat.com>
Hendrik Buschmeier <hbuschme@TechFak.Uni-Bielefeld.DE>
James Carter <jwcart2@tycho.nsa.gov>
James Westby <jw+debian@jameswestby.net>
James Willcox <jwillcox@gnome.org>
Jens Granseuer <jensgr@gmx.net>
Ralf Habacker <ralf.habacker@freenet.de>
Mikael Hallendal <micke@codefactory.se>
Jérémie Dimino <jeremie@dimino.org>
Joe Marcus Clarke <marcus@freedesktop.org>
Joe Shaw <joeshaw@novell.com>
Johan Gyllenspetz <johangy@axis.com>
Johannes Carlsson <johannes.carlsson.x@sonyericsson.com>
John (J5) Palmieri <johnp@redhat.com>
Jon Gosting <yukarionsen@gmail.com>
Jon Trowbridge <trow@ximian.com>
Kimmo Hämäläinen <kimmo.hamalainen@nokia.com>
Magnus Henoch <henoch+bfdo@dtek.chalmers.se>
Kjartan Maraas <kmaraas@gnome.org>
Kristian Høgsberg <krh@redhat.com>
Iain Holmes <iain@openedhand.com>
Kristian Rietveld <kris@gtk.org>
Kurt Miller <kurt@intricatesoftware.com>
Lawrence R. Steeger <lsteeger@gmail.com>
Lennart Poettering <lennart@poettering.net>
Lennart Poettering <mzqohf@0pointer.de>
Lionel Landwerlin <lionel.landwerlin@openwide.fr>
Luiz Augusto Von Dentz <luiz.dentz-von@nokia.com>
Marc Brockschmidt <he@debian.org>
Marc Mutz <marc@kdab.net>
Marcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de>
Mark McLoughlin <mark@skynet.ie>
Matthias Clasen <mclasen@redhat.com>
Matt McCutchen <matt@mattmccutchen.net>
Michael Meeks <michael.meeks@novell.com>
Michael Meeks <michael@ximian.com>
Mikael Hallendal <micke@codefactory.se>
Mikael Hallendal <micke@imendio.com>
Miloslav Trmac <mitr@volny.cz>
Murray Cumming <murrayc@murrayc.com>
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
Olivier Andrieu <oliv__a@users.sourceforge.net>
Oswald Buddenhagen <ossi@kde.org>
Owen Fraser-Green <owen@discobabe.net>
Patrick von Reth <patrick.vonreth@gmail.com>
Paul Bolle <pebolle@tiscali.nl>
Peter Breitenlohner <peb@mppmu.mpg.de>
Peter Kümmel <syntheticpp@gmx.net>
Peter McCurdy <pmccurdy@skeptopotamus>
Philip Blundell <philb@gnu.org>
Plácido Revilla <unknown@unknown.domain>
Ralf Habacker <ralf.habacker@freenet.de>
Ralf Habacker <Ralf.Habacker@freenet.de>
Ralf Habacker <ralf@s15291359.onlinehome-server.info>
Ray Strode <rstrode@redhat.com>
Richard Hughes <richard@hughsie.com>
Richard Hult <rhult@codefactory.se>
Peter Kuemmel <syntheticpp@gmx.net>
Alex Larsson <alexl@redhat.com>
Bernard Leak <bernard@brenda-arkle.demon.co.uk>
Tor Lillqvist <tml@iki.fi>
Ryan Lortie <desrt@desrt.ca>
Andrea Luzzardi <scox@sig11.org>
Marcelo Ricardo Leitner <marcelo.leitner@terra.com.br>
Thiago Macieira <thiago@kde.org>
Kjartan Maraas <kmaraas@gnome.org>
Mark McLoughlin <mark@skynet.ie>
Richard Hult <richard@imendio.com>
Robert McQueen <robot101@debian.org>
Michael Meeks <michael@ximian.com>
Dave Meikle <dmk@davemeikle.co.uk>
Rodrigo Moya <rodrigo@novell.com>
Romain Pokrzywka <romain@kdab.com>
Ross Burton <ross@openedhand.com>
Ryan Lortie <desrt@desrt.ca>
Sascha Silbe <sascha-web-bugs.freedesktop.org@silbe.org>
Scott James Remnant <scott@netsplit.com>
Scott James Remnant <scott@ubuntu.com>
Sebastian Sauer <sebsauer@kdab.net>
Seth Nickell <seth@gnome.org>
Benjamin Otte <in7y118@public.uni-hamburg.de>
John (J5) Palmieri <johnp@redhat.com>
Tom Parker <palfrey@tevp.net>
Havoc Pennington <hp@redhat.com>
Frederic Peters <fpeters@0d.be>
Andras Porjesz <andras.porjesz@siemens.com>
Harri Porten <porten@kde.org>
Marco Pracucci <development@pracucci.com>
Timothy Redaelli <drizzt@gufi.org>
Benjamin Reed <ranger@befunk.com>
Daniel Reed <n@ml.org>
Matthew Rickard <mjricka@epoch.ncsc.mil>
Kristian Rietveld <kris@gtk.org>
Zack Rusin <zack@kde.org>
Olli Salli <olli.salli@collabora.co.uk>
Joe Shaw <joe@assbarn.com>
Kay Sievers <kay.sievers@vrfy.org>
Simon McVittie <simon.mcvittie@collabora.co.uk>
Sjoerd Simons <sjoerd@luon.net>
Ray Strode <rstrode@redhat.com>
Alp Toker <alp@atoker.com>
Jon Trowbridge <trow@ximian.com>
Miloslav Trmac <mitr@volny.cz>
Julio M. Merino Vidal <jmmv@NetBSD.org>
Colin Walters <walters@verbum.org>
James Willcox <jwillcox@gnome.org>
David Zeuthen <david@fubar.dk>
Thiago Macieira <thiago@kde.org>
Tim Dijkstra <tim@famdijkstra.org>
Tobias Mueller <fdo-bugs@cryptobitch.de>
Tomas Hoger <thoger@redhat.com>
Tomas Pelka <tpelka@redhat.com>
Tom Hughes <tom.hughes@palm.com>
Tor Lillqvist <tml@iki.fi>
unknown <Administrator@.(none)>
unknown <Habacker@.(none)>
Waldo Bastian <bastian@kde.org>
William Lachance <wrlach@gmail.com>
Will Thompson <will.thompson@collabora.co.uk>
Xan Lopez <xan@gnome.org>
Zack Rusin <zack@kde.org>
......@@ -173,7 +173,8 @@ To make a release of D-Bus, do the following:
- tag the tree with "git tag -s -m 'Released X.Y.Z' dbus-X.Y.Z"
where X.Y.Z is the version of the release. If you can't sign
then simply created an unannotated tag: "git tag dbus-X.Y.Z".
then simply created an unsigned annotated tag:
"git tag -a -m 'Released X.Y.Z' dbus-X.Y.Z".
- bump the version number up in configure.in, and commit
it. Make sure you do this *after* tagging the previous
......@@ -187,9 +188,9 @@ To make a release of D-Bus, do the following:
- push your changes and the tag to the central repository with
git push origin master dbus-X.Y dbus-X.Y.Z
- scp your tarball to freedesktop.org server and copy it
to /srv/dbus.freedesktop.org/www/releases/dbus. This should
be possible if you're in group "dbus"
- scp your tarball to freedesktop.org server and copy it to
dbus.freedesktop.org:/srv/dbus.freedesktop.org/www/releases/dbus/dbus-X.Y.Z.tar.gz.
This should be possible if you're in group "dbus"
- update the wiki page http://www.freedesktop.org/Software/dbus by
adding the new release under the Download heading. Then, cut the
......
......@@ -4,8 +4,10 @@
Quick start
===========
DBus uses GNU AutoTools for its build system, thus the basic install
procedure can be summarized as:
DBus could be build with GNU AutoTools or with cmake for its build system,
thus the basic install procedure can be summarized as:
with autotools:
./configure --prefix=/usr
make
......@@ -13,13 +15,29 @@ procedure can be summarized as:
The configure script will automatically determine whether to try and
build bindings for GLib, Qt, Qt3, Python and Mono based on what tools
are installed on the host system. The default build behaviour can be
are installed on the host system. The default build behaviour can be
overridden using the --enable-XXX/--disable-XXX arguments to configure.
A typical scenario in which it is desirable to override automatic
detection, is during packaging of binary builds, where a predictable
dependancy chain is required. For more details on GNU AutoTools
detection, is during packaging of binary builds, where a predictable
dependancy chain is required. For more details on GNU AutoTools
installation, consult the generic instructions later in this document
with cmake:
mkdir dbus-build-dir
cd dbus-build-dir
cmake -G <makefile-generator-name> [-D<option>] <dbus-src-root>/cmake
make
make install
cmake will automatically determine whether to build some features
based on what tools and/or libraries are installed on the host system.
The default build behaviour can be overridden using the
-DENABLE_<XXX> arguments to cmake.
A typical scenario in which it is desirable to override automatic
detection, is during packaging of binary builds, where a predictable
dependancy chain is required. For more details on cmake installation,
consult http://www.cmake.org/cmake/help/help.html.
External software dependancies
==============================
......@@ -40,10 +58,10 @@ Core library
Optional:
- libselinux (for SELinux integration)
- dnotify (for automatic service file reload)
- doxygen (for API documentation)
- xmlto (for Spec & other XML documentation)
- libselinux (for SELinux integration)
- dnotify (for automatic service file reload)
- doxygen (for API documentation)
- xmlto or meinproc4 (for Spec & other XML documentation)
====================================================================
......
......@@ -2,7 +2,7 @@ SUBDIRS=dbus bus doc tools test
DIST_SUBDIRS=dbus bus doc tools test
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = dbus-1.pc
pkgconfig_DATA = dbus-1.pc
DISTCLEANFILES = \
dbus-1.pc
......@@ -14,7 +14,9 @@ EXTRA_DIST = \
ChangeLog.pre-1-0 \
NEWS.pre-1-0 \
ChangeLog.pre-1-2 \
NEWS.pre-1-2
NEWS.pre-1-2 \
README.win \
cmake
all-local: Doxyfile
......@@ -57,3 +59,11 @@ check-coverage:
echo "Need to reconfigure with --enable-gcov"
endif
update-authors:
git shortlog -s -e | cut -c 8- | sort > AUTHORS
DISTCHECK_CONFIGURE_FLAGS = \
--with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
ACLOCAL_AMFLAGS = -I m4
......@@ -59,8 +59,10 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Doxyfile.in \
AUTHORS COPYING ChangeLog INSTALL NEWS compile config.guess \
config.sub depcomp install-sh ltmain.sh missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
......@@ -171,10 +173,13 @@ ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_FILEVERSION = @BUILD_FILEVERSION@
BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
......@@ -206,6 +211,8 @@ DBUS_MAJOR_VERSION = @DBUS_MAJOR_VERSION@
DBUS_MICRO_VERSION = @DBUS_MICRO_VERSION@
DBUS_MINOR_VERSION = @DBUS_MINOR_VERSION@
DBUS_PATH_OR_ABSTRACT = @DBUS_PATH_OR_ABSTRACT@
DBUS_PREFIX = @DBUS_PREFIX@
DBUS_SESSION_BUS_DEFAULT_ADDRESS = @DBUS_SESSION_BUS_DEFAULT_ADDRESS@
DBUS_SESSION_SOCKET_DIR = @DBUS_SESSION_SOCKET_DIR@
DBUS_SYSTEM_BUS_DEFAULT_ADDRESS = @DBUS_SYSTEM_BUS_DEFAULT_ADDRESS@
DBUS_SYSTEM_PID_FILE = @DBUS_SYSTEM_PID_FILE@
......@@ -219,6 +226,7 @@ DBUS_X_CFLAGS = @DBUS_X_CFLAGS@
DBUS_X_LIBS = @DBUS_X_LIBS@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
......@@ -232,6 +240,7 @@ EXPANDED_DATADIR = @EXPANDED_DATADIR@
EXPANDED_LIBDIR = @EXPANDED_LIBDIR@
EXPANDED_LIBEXECDIR = @EXPANDED_LIBEXECDIR@
EXPANDED_LOCALSTATEDIR = @EXPANDED_LOCALSTATEDIR@
EXPANDED_PREFIX = @EXPANDED_PREFIX@
EXPANDED_SYSCONFDIR = @EXPANDED_SYSCONFDIR@
FGREP = @FGREP@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
......@@ -241,6 +250,8 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LAUNCHCTL = @LAUNCHCTL@
LAUNCHD_AGENT_DIR = @LAUNCHD_AGENT_DIR@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
......@@ -256,6 +267,7 @@ LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
......@@ -268,6 +280,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PIC_CFLAGS = @PIC_CFLAGS@
......@@ -297,6 +310,7 @@ TEST_SOCKET_DIR = @TEST_SOCKET_DIR@
TEST_VALID_SERVICE_DIR = @TEST_VALID_SERVICE_DIR@
TEST_VALID_SERVICE_SYSTEM_DIR = @TEST_VALID_SERVICE_SYSTEM_DIR@
VERSION = @VERSION@
WINDRES = @WINDRES@
XMKMF = @XMKMF@
XMLTO = @XMLTO@
X_CFLAGS = @X_CFLAGS@
......@@ -352,6 +366,7 @@ sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
systemdsystemunitdir = @systemdsystemunitdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
......@@ -359,7 +374,7 @@ top_srcdir = @top_srcdir@
SUBDIRS = dbus bus doc tools test
DIST_SUBDIRS = dbus bus doc tools test
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = dbus-1.pc
pkgconfig_DATA = dbus-1.pc
DISTCLEANFILES = \
dbus-1.pc
......@@ -370,9 +385,15 @@ EXTRA_DIST = \
ChangeLog.pre-1-0 \
NEWS.pre-1-0 \
ChangeLog.pre-1-2 \
NEWS.pre-1-2
NEWS.pre-1-2 \
README.win \
cmake
@DBUS_GCOV_ENABLED_TRUE@GCOV_DIRS = dbus bus
DISTCHECK_CONFIGURE_FLAGS = \
--with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
ACLOCAL_AMFLAGS = -I m4
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
......@@ -966,6 +987,9 @@ all-local: Doxyfile
@DBUS_GCOV_ENABLED_FALSE@check-coverage:
@DBUS_GCOV_ENABLED_FALSE@ echo "Need to reconfigure with --enable-gcov"
update-authors:
git shortlog -s -e | cut -c 8- | sort > AUTHORS
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
D-Bus 1.4.1 (20 December 2010)
==
• Fix for CVE-2010-4352: sending messages with excessively-nested variants can
crash the bus. The existing restriction to 64-levels of nesting previously
only applied to the static type signature; now it also applies to dynamic
nesting using variants. Thanks to Rémi Denis-Courmont for discoving this
issue.
• OS X portability fixes, including launchd support.
• Windows autolaunch improvements.
• Various bug fixes.
D-Bus 1.4.0 (6 Sep 2010)
==
- systemd hookup
D-Bus 1.3.1 (23 June 2010)
==
- New standardized PropertiesChanged signal in the properties interface
- Various portability fixes, in particular to Windows platforms
- Support forking bus services, for compatibility
D-Bus 1.3.0 (29 July 2009)
==
- ability for dbus-send to send to any bus (--address)
- file descriptor passing on Unix socket transports
- use of GCC atomic intrinsics for better processor support
(requires -march=i486 or above for x86 compilation)
- thread-safe FD_CLOEXEC setting on recent Linux kernels (2.6.24-27 and up)
and glibc (2.9 for pipe2 and 2.10 for accept4)
- feature negotiation in the bus daemon
......@@ -60,24 +60,34 @@ Development snapshots make no ABI stability guarantees for new ABI
introduced since the last stable release. Development snapshots are
likely to have more bugs than stable releases, obviously.
Configuration
===
dbus could be build by using autotools or cmake.
When using autotools the configure step is initiated by running ./configure
with our without additional configuration flags.
When using cmake the configure step is initiated by running the cmake
program with our without additional configuration flags.
Configuration flags
===
These are the dbus-specific configuration flags that can be given to
the ./configure program.
--enable-tests enable unit test code
--enable-verbose-mode support verbose debug mode
--enable-asserts include assertion checks
--enable-checks include sanity checks on public API
--enable-xml-docs build XML documentation (requires xmlto)
--enable-doxygen-docs build DOXYGEN documentation (requires Doxygen)
--enable-gcov compile with coverage profiling instrumentation (gcc only)
--enable-abstract-sockets
use abstract socket namespace (linux only)
--enable-selinux build with SELinux support
--enable-dnotify build with dnotify support (linux only)
--enable-kqueue build with kqueue support (*BSD only)
When using autools the dbus-specific configuration flags that can be given to
the ./configure program are these
--enable-tests enable unit test code
--enable-verbose-mode support verbose debug mode
--enable-asserts include assertion checks
--enable-checks include sanity checks on public API
--enable-xml-docs build XML documentation (requires xmlto)
--enable-doxygen-docs build DOXYGEN documentation (requires Doxygen)
--enable-gcov compile with coverage profiling instrumentation (gcc only)
--enable-abstract-sockets use abstract socket namespace (linux only)
--enable-selinux build with SELinux support
--enable-dnotify build with dnotify support (linux only)
--enable-kqueue build with kqueue support (*BSD only)
--with-xml=libxml/expat XML library to use
--with-init-scripts=redhat Style of init scripts to install
--with-session-socket-dir=dirname Where to put sockets for the per-login-session message bus
......@@ -90,7 +100,29 @@ the ./configure program.
--with-tags[=TAGS] include additional configurations [automatic]
--with-x use the X Window System
When using the cmake build system the dbus-specific configuration flags that can be given
to the cmake program are these (use -D<key>=<value> on command line)
CMAKE_BUILD_TYPE set dbus build mode - one of Debug|Release|RelWithDebInfo|MinSizeRel
DBUS_BUILD_TESTS enable unit test code default=ON
DBUS_BUILD_X11 Build X11-dependent code default=ON
HAVE_CONSOLE_OWNER_FILE enable console owner file (solaris only) ) default=ON
DBUS_DISABLE_ASSERTS Disable assertion checking default=OFF
DBUS_DISABLE_CHECKS Disable public API sanity checking default=OFF
DBUS_ENABLE_ABSTRACT_SOCKETS enable support for abstract sockets (linux only) default=ON
DBUS_ENABLE_ANSI enable -ansi -pedantic gcc flags default=OFF
DBUS_ENABLE_DNOTIFY build with dnotify support (linux only) default=ON
DBUS_ENABLE_VERBOSE_MODE support verbose debug mode default=ON
DBUS_ENABLE_DOXYGEN_DOCS build DOXYGEN documentation (requires Doxygen) default=ON
DBUS_GCOV_ENABLED compile with coverage profiling instrumentation (gcc only) default=OFF
DBUS_INSTALL_SYSTEM_LIBS install required system libraries default (windows only) =OFF
DBUS_USE_EXPAT Use expat (== ON) or libxml2 (==OFF) default=ON [1]
DBUS_USE_NONCE_TCP_DEFAULT_ADDRESS Use nonce tcp default address default=OFF
DBUS_USE_OUTPUT_DEBUG_STRING enable win32 debug port for message output default=OFF
[1] requires installed development package of the related dependency
API/ABI Policy
===
......
-----------------------------------------
Windows port of the freedesktop.org D-Bus
-----------------------------------------
Features and completeness
-------------------------
The windows port of dbus provides the dbus-1 library and mostly
applications which are already available on unix. These applications
are: dbus-daemon, dbus-launch, dbus-monitor and dbus-send.
DBus comes with a test suite which is used on unix to guarantate
production quality and this test suite runs mostly. There are some
test not running yet and there is help needed to get them running.
Building
--------
DBus could be build on windows using automake or cmake. See the
file README for more informations.
Special cmake build instructions could be found in cmake/readme-cmake.txt
windbus and dbus4win Ports
--------------------------
The Windows ports from the windbus and dbus4win projects has been merged
into the freedesktop git master branch, as applicable. The spec has been
updated with windows specific stuff.
Tests
-----
- dbus library check
bin\dbus-test.exe <build-root>\test\data
- bus daemon check
bin\bus-test.exe <build-root>\test\data
- check available names
bin\test_names.exe
- check if dbus-daemon is accessable
bin\dbus-send.exe --session --type=method_call --print-reply --dest=org.freedesktop.DBus / org.freedesktop.DBus.ListNames method return sender=org.freedesktop.DBus -> dest=:1.4 array [ string "org.freedesktop.DBus"string ":1.4"]
- start session dbus-daemon
either by running
bin\dbus-launch
or
start bin\dbus-daemon --session
Before running these commands you may execute
set DBUS_VERBOSE=1
for getting debug infos
- call function registerd in dbus
bin\dbus-send.exe --dest=org.freedesktop.DBus --print-reply --type=method_call / org.freedesktop.DBus.StartServiceByName string:org.freedesktop.DBus.TestSuiteEchoService uint32:455 method return sender=org.freedesktop.DBus -> dest=:1.8 uint32 2
note: When building with the Visual C++ IDE the *.exe files are in
the bin/Debug and bin/Release folder, not in the bin folder.
FAQ
---
- How far is WinDBus from being usable for production ?
dbus comes with a test suite which is used on unix to guarantate
production quality and this test suite runs mostly. There are some
test not running and we need help to get them running.
In the pratice I and some other people are using dbus for at least more
than four years in conjunction with kde on windows without any problems.
- On UNIX D-Bus uses UNIX sockets to communicate (correct me if I'm wrong).
What is used on Windows ?
tcp sockets, there are some efforts to get named pipe running, but some
design problems of the win32 api, we are not able to solve without
bigger changes to the dbus code base let us stop this effort.
- Do you have any clue if dbus-win32 can run in a Windows CE environment?
dbus has been ported to wince, see README.wince for more informations
- Do you know if the C++ binding made by OpenWengo will be easily portable to Windows?
The OpenWengo dbus-c++ binding has been ported to windows see in WinDBus svn
(http://sf.net/projects/windbus)
The related test applicationa are running well.
TODO
----
Oktober 2010:
- the code wrapped with DBUS_WIN_FIXME should be inspected if it required for windows
- create a dbus setup installer
- implement system bus and system bus service starter
see http://windbus.svn.sourceforge.net/viewvc/windbus/trunk/bus/bus-service-win.c
for a starting point
- implement a real login session bus
The scope parameter of the autolaunch meta protocol could be extended to support user
specific session busses (like already done with the amarok bundled dbus which use a
shared memory area named "DBusDaemonAddressInfo:<username>".
Also the dbus installer should start a session bus on user login.
dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
dnl also defines GSTUFF_PKG_ERRORS on error
AC_DEFUN([PKG_CHECK_MODULES], [
succeeded=no
if test -z "$PKG_CONFIG"; then
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
fi
if test "$PKG_CONFIG" = "no" ; then
echo "*** The pkg-config script could not be found. Make sure it is"
echo "*** in your path, or set the PKG_CONFIG environment variable"
echo "*** to the full path to pkg-config."
echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
else
PKG_CONFIG_MIN_VERSION=0.9.0
if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
AC_MSG_CHECKING(for $2)
if $PKG_CONFIG --exists "$2" ; then
AC_MSG_RESULT(yes)