8.77. D-Bus-1.16.0

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.1 SBU
Required disk space: 17 MB

8.77.1. Installation of D-Bus

Prepare D-Bus for compilation:

mkdir build
cd    build

meson setup --prefix=/usr --buildtype=release --wrap-mode=nofallback ..

The meaning of the meson options:

--wrap-mode=nofallback

This switch prevents meson from attempting to download a copy of the Glib package for the tests.

Compile the package:

ninja

To test the results, issue:

ninja test

Many tests are disabled because they require additional packages that are not included in LFS. Instructions for running the comprehensive test suite can be found in the BLFS book.

Install the package:

ninja install

Create a symlink so that D-Bus and systemd can use the same machine-id file:

ln -sfv /etc/machine-id /var/lib/dbus

8.77.2. Contents of D-Bus

Installed programs: dbus-cleanup-sockets, dbus-daemon, dbus-launch, dbus-monitor, dbus-run-session, dbus-send, dbus-test-tool, dbus-update-activation-environment, and dbus-uuidgen
Installed libraries: libdbus-1.so
Installed directories: /etc/dbus-1, /usr/include/dbus-1.0, /usr/lib/dbus-1.0, /usr/share/dbus-1, /usr/share/doc/dbus-1.16.0, and /var/lib/dbus

Short Descriptions

dbus-cleanup-sockets

is used to remove leftover sockets in a directory

dbus-daemon

is the D-Bus message bus daemon

dbus-launch

starts dbus-daemon from a shell script

dbus-monitor

monitors messages passing through a D-Bus message bus

dbus-run-session

starts a session bus instance of dbus-daemon from a shell script and starts a specified program in that session

dbus-send

sends a message to a D-Bus message bus

dbus-test-tool

is a tool to help packages test D-Bus

dbus-update-activation-environment

updates environment variables that will be set for D-Bus session services

dbus-uuidgen

Generates a universally unique ID

libdbus-1

Contains API functions used to communicate with the D-Bus message bus