#### Linux From Scratch - Version 9.0-systemd

### Chapter 6. Installing Basic System Software

- Prev

  Systemd-241

- Next

  Procps-ng-3.3.15

- Up
- Home

# 6.73. D-Bus-1.12.16

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: 18 MB

## 6.73.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.16 \
                --with-console-auth-dir=/run/console

The meaning of the configure options:

`--with-console-auth-dir=/run/console`

  This specifies the location of the ConsoleKit auth directory.

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/9.0/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

## 6.73.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.{a,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.12.16, and /var/lib/dbus

### Short Descriptions

dbus-cleanup-sockets | Used to clean up leftover sockets in a directory
dbus-daemon | 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 | 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

- Prev

  Systemd-241

- Next

  Procps-ng-3.3.15

- Up
- Home