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.78.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.78.2. Installation of dbus - 32-bit
Clean previous build:
rm -rf *
Prepare dbus for compilation:
PKG_CONFIG_PATH="/usr/lib32/pkgconfig" \
CC="gcc -m32 -march=i686" \
CXX="g++ -m32 -march=i686" \
meson setup --prefix=/usr --libdir=/usr/lib32 --buildtype=release --wrap-mode=nofallback ..
Compile the package:
ninja
Install the package:
DESTDIR=$(pwd)/destdir ninja install
mkdir -pv /usr/lib32/pkgconfig
cp -av $(pwd)/destdir/usr/lib32/libdbus-1.so* /usr/lib32/
cp -av $(pwd)/destdir/usr/lib32/dbus-1.0 /usr/lib32/
cp -v $(pwd)/destdir/usr/lib32/pkgconfig/dbus-1.pc /usr/lib32/pkgconfig/
8.78.3. Installation of dbus - x32-bit
Clean previous build:
rm -rf *
Prepare dbus for compilation:
PKG_CONFIG_PATH="/usr/libx32/pkgconfig" \
CC="gcc -mx32" \
CXX="g++ -mx32" \
meson setup --prefix=/usr --libdir=/usr/libx32 --buildtype=release --wrap-mode=nofallback ..
Compile the package:
ninja
Install the package:
DESTDIR=$(pwd)/destdir ninja install
mkdir -pv /usr/libx32/pkgconfig
cp -av $(pwd)/destdir/usr/libx32/libdbus-1.so* /usr/libx32/
cp -av $(pwd)/destdir/usr/libx32/dbus-1.0 /usr/libx32/
cp -v $(pwd)/destdir/usr/libx32/pkgconfig/dbus-1.pc /usr/libx32/pkgconfig/
8.78.4. 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.2, 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
|