Contents
See the full list of contents at dbus-1.14.10 - Pass 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.
Download (HTTP): https://dbus.freedesktop.org/releases/dbus/dbus-1.14.10.tar.xz
Install D-Bus by running the following commands (you may wish to review the output from ./configure --help first and add any desired parameters to the configure command shown below):
./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --runstatedir=/run \ --disable-doxygen-docs \ --disable-xml-docs \ --disable-static \ --with-systemduserunitdir=no \ --with-systemdsystemunitdir=no \ --docdir=/usr/share/doc/dbus-1.14.10 \ --with-system-socket=/run/dbus/system_bus_socket && make
Now, as the root
user:
make 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 32-bit version, so this 32-bit compilation will be the first and only needed pass unless you are upgrading D-Bus.
First clean the directory:
make distclean
Now install lib32-D-Bus by running the following commands:
CC="gcc -m32" CXX="g++ -m32" \ PKG_CONFIG_PATH="/usr/lib32/pkgconfig" \ ./configure --prefix=/usr \ --libdir=/usr/lib32 \ --host=i686-pc-linux-gnu \ --sysconfdir=/etc \ --localstatedir=/var \ --runstatedir=/run \ --disable-doxygen-docs \ --disable-xml-docs \ --disable-static \ --with-systemduserunitdir=no \ --with-systemdsystemunitdir=no \ --with-system-socket=/run/dbus/system_bus_socket && make
Now as the root
user:
make DESTDIR=$PWD/DESTDIR install && cp -vR DESTDIR/usr/lib32/* /usr/lib32 && rm -rf DESTDIR && ldconfig
--disable-doxygen-docs
:
This switch disables doxygen documentation build and install, if
you have doxygen installed. If
doxygen is installed, and you wish
to build them, remove this parameter.
--disable-xml-docs
: This
switch disables html documentation build and install, if you have
xmlto installed. If xmlto is installed, and you wish to build
them, remove this parameter.
--disable-static
: This
switch prevents installation of static versions of the libraries.
--with-systemd{user,system}unitdir=no
:
These switches disable installation of systemd units on elogind
based systems.
--with-system-socket=/run/dbus/system_bus_socket
:
This parameter specifies the location of the system bus socket.
--enable-tests
: Builds
extra parts of the code to support all tests. Do not use on a
production build.
--enable-embedded-tests
: Builds extra
parts of the code to support only unit tests. Do not use on a
production build.
--enable-asserts
: Enables
debugging code to run assertions for statements normally assumed to
be true. This prevents a warning that '--enable-tests
' on its own is only
useful for profiling and might not give true results for all tests,
but adds its own NOTE that this should not be used in a production
build.
See the full list of contents at dbus-1.14.10 - Pass 2.