D-Bus is a message bus system, a simple way for applications to
talk to one another. D-Bus supplies both a system daemon (for
events such as "new hardware device added" or "printer queue
changed") and a per-user-login-session daemon (for general IPC
needs among user applications). Also, the message bus is built on
top of a general one-to-one message passing framework, which can be
used by any two applications to communicate directly (without going
through the message bus daemon).
Approximate build time:
0.2 SBU
Required disk space:
18 MB
8.71.1. Installation of D-Bus
Prepare D-Bus for compilation:
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--disable-static \
--disable-doxygen-docs \
--disable-xml-docs \
--docdir=/usr/share/doc/dbus-1.12.20 \
--with-console-auth-dir=/run/console \
--with-system-pid-file=/run/dbus/pid \
--with-system-socket=/run/dbus/system_bus_socket
The meaning of the configure options:
-
--with-console-auth-dir=/run/console
-
This specifies the location of the ConsoleKit authorization
directory.
-
--with-system-pid-file=/run/dbus/pid
and --with-system-socket=/run/dbus/system_bus_socket
-
These set the location of the PID file and the system bus
socket to be in /run
, instead
of deprecated /var/run
.
Compile the package:
make
This package does come with a test suite, but it requires several
packages that are not included in LFS. Instructions for running the
test suite can be found in the BLFS book at http://www.linuxfromscratch.org/blfs/view/svn/general/dbus.html.
Install the package:
make install
The shared library needs to be moved to /lib
, and as a result the .so
file in /usr/lib
will need to be recreated:
mv -v /usr/lib/libdbus-1.so.* /lib
ln -sfv ../../lib/$(readlink /usr/lib/libdbus-1.so) /usr/lib/libdbus-1.so
Create a symlink so that D-Bus and systemd can use the same
machine-id
file:
ln -sfv /etc/machine-id /var/lib/dbus