Contents
See the full list of contents at D-Bus-1.16.2.
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).
This is the first pass. A useful program, dbus-launch, will be compiled later, but is not needed now. It depends on Xorg Libraries being installed beforehand.
For the lib32 installation instructions, they require new Meson
cross files from
MLFS, as --libdir=/usr/lib32 has been moved
to the cross files and no longer appear in the instructions.
Install the new cross files so that 32-bit libraries don't get
installed in /usr/lib.
Install D-Bus by running the
following commands (you may wish to review the meson_options.txt file first and add any desired
parameters to the meson command shown below):
mkdir build &&
cd build &&
meson setup --prefix=/usr \
--buildtype=release \
--wrap-mode=nofallback \
-D systemd=disabled \
.. &&
ninja
Now, as the root user:
ninja install
If you are using a DESTDIR install, dbus-daemon-launch-helper needs
to be fixed afterwards. Issue the following as the root user:
chown -v root:messagebus /usr/libexec/dbus-daemon-launch-helper && chmod -v 4750 /usr/libexec/dbus-daemon-launch-helper
Generate the D-Bus UUID to avoid warnings when compiling some
packages with the following command as the root user:
dbus-uuidgen --ensure
If using elogind, create a symlink to the /var/lib/dbus/machine-id file:
ln -sfv /var/lib/dbus/machine-id /etc
The program dbus-launch will not need to have a lib32 version, so this lib32 compilation will be the first and only needed pass unless you are upgrading D-Bus.
Install lib32-D-Bus by running the following commands:
rm -rf * &&
meson setup --prefix=/usr \
--buildtype=release \
--cross-file=lib32 \
--wrap-mode=nofallback \
-D systemd=disabled \
.. &&
ninja
Now as the root user:
DESTDIR=$PWD/DESTDIR ninja install && cp -vR DESTDIR/usr/lib32/* /usr/lib32 && rm -rf DESTDIR && ldconfig
Inspect meson_options.txt or
meson.options for a full list of
options.
--wrap-mode=nofallback:
This switch prevents meson from using subproject
fallbacks for any dependency declarations in the build files,
stopping it downloading any optional dependency which is not
installed on the system.
-D systemd=disabled: Don't
install systemd support files even if libsystemd exists (i.e. the elogind-255.22 package is
installed).
See the full list of contents at D-Bus-1.16.2.