Contents
See the full list of contents at dbus-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).
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.
Download (HTTP): https://dbus.freedesktop.org/releases/dbus/dbus-1.16.0.tar.xz
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):
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, as 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.
First clean the build directory:
rm -rf *
Now install lib32-D-Bus by running the following commands:
CC="gcc -m32" CXX="g++ -m32" \ PKG_CONFIG_PATH="/usr/lib32/pkgconfig" \ meson setup --prefix=/usr \ --libdir=/usr/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
--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.17 package is
installed).
See the full list of contents at dbus-1.16.0.