diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml
index 43c7d151d..ff263333d 100644
--- a/appendices/dependencies.xml
+++ b/appendices/dependencies.xml
@@ -324,6 +324,42 @@
+
+ D-Bus
+
+
+ &dependencies;
+
+
+ Bash, Coreutils, Diffutils, Expat, GCC, Grep, Make, and
+ Sed
+
+
+
+
+ &testsuites;
+
+
+ D-Bus Glib Bindings, Python
+
+
+
+
+ &before;
+
+
+ Systemd
+
+
+
+
+ &external;
+
+
+ None
+
+
+
Diffutils
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index 2c142de72..7591272e5 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -40,7 +40,7 @@
[matthew] - Added full build of Systemd including its remaining
- dependencies (attr, gperf, intltool and libcap2).
+ dependencies (attr, dbus, gperf, intltool and libcap2).
diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml
index 60270dc3b..462bf7511 100644
--- a/chapter01/whatsnew.xml
+++ b/chapter01/whatsnew.xml
@@ -248,6 +248,10 @@
&coreutils-test-patch;
+
+ D-Bus-&dbus-version;
+
+
Expat-&expat-version;
diff --git a/chapter03/packages.xml b/chapter03/packages.xml
index 7b4611770..47b3b3888 100644
--- a/chapter03/packages.xml
+++ b/chapter03/packages.xml
@@ -95,6 +95,15 @@
+
+ D-Bus (&dbus-version;) - &dbus-size;:
+
+ Home page:
+ Download:
+ MD5 sum: &dbus-md5;
+
+
+
DejaGNU (&dejagnu-version;) - &dejagnu-size;:
diff --git a/chapter06/chapter06.xml b/chapter06/chapter06.xml
index 4d48cd8c2..44abca407 100644
--- a/chapter06/chapter06.xml
+++ b/chapter06/chapter06.xml
@@ -52,6 +52,7 @@
+
diff --git a/chapter06/dbus.xml b/chapter06/dbus.xml
new file mode 100644
index 000000000..2d74dff76
--- /dev/null
+++ b/chapter06/dbus.xml
@@ -0,0 +1,193 @@
+
+
+ %general-entities;
+]>
+
+
+
+
+
+ dbus
+ &dbus-version;
+ &dbus-url;
+
+
+ D-Bus-&dbus-version;
+
+
+ D-Bus
+
+
+
+
+
+ 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).
+
+
+ &buildtime;
+ &diskspace;
+
+
+ &dbus-ch6-sbu;
+ &dbus-ch6-du;
+
+
+
+
+
+
+ Installation of D-Bus
+
+ The D-Bus system daemon (the message bus) needs to run as a non-priveleged user, so create a suitable group and user:
+
+groupadd -g 18 messagebus
+useradd -c "D-Bus Message Daemon User" -d /var/run/dbus \
+ -u 18 -g messagebus -s /bin/false messagebus
+
+ Prepare D-Bus for compilation:
+
+./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/share/doc/dbus-&dbus-version; \
+ --libexecdir=/usr/lib/dbus-1.0 \
+ --with-console-auth-dir=/run/console/ \
+ --without-systemdsystemunitdir \
+ --disable-systemd
+
+
+ The meaning of the configure options:
+
+
+ --with-console-auth-dir=/run/console
+
+ This specifies the location of the ConsoleKit auth
+ directory.
+
+
+
+
+ --without-systemdsystemunitdir
+
+ This prevents installation of Systemd unit files as Systemd
+ has not been installed yet (due to a circular dependency; Systemd
+ requires D-Bus, but D-Bus can also use Systemd functionality).
+
+
+
+
+ --disable-systemd
+
+ This disables Systemd support in D-Bus, again due to the
+ circular dependency between D-Bus and Systemd.
+
+
+
+
+
+ Compile the package:
+
+make
+
+ This package does come with a testsuite, but it requires several
+ packages that are not included in LFS.
+
+ Install the package:
+
+make install
+
+
+
+
+ Contents of D-Bus
+
+
+ Installed programs
+ Installed libraries
+
+
+ dbus-cleanup-sockets, dbus-daemon, dbus-monitor, dbus-send,
+ dbus-uuidgen
+ libdbus-1.{so,a}
+
+
+
+
+ Short Descriptions
+
+
+
+
+ dbus-cleanup-sockets
+
+ Used to clean up leftover sockets in a directory.
+
+ dbus-cleanup-sockets
+
+
+
+
+
+ dbus-daemon
+
+ The D-Bus message bus daemon.
+
+ dbus-daemon
+
+
+
+
+
+ dbus-monitor
+
+ Monitors messages passing through a D-Bus message bus.
+
+ dbus-monitor
+
+
+
+
+
+ dbus-send
+
+ Sends a message to a D-Bus message bus.
+
+ dbus-send
+
+
+
+
+
+ dbus-uuidgen
+
+ Generates a universally unique ID.
+
+ dbus-uuidgen
+
+
+
+
+
+ libdbus.{so,a}
+
+ Contains API functions used to communicate with the D-Bus
+ message bus.
+
+ libdbus
+
+
+
+
+
+
+
+
+
diff --git a/packages.ent b/packages.ent
index 7403c9dc0..9ef52343d 100644
--- a/packages.ent
+++ b/packages.ent
@@ -94,6 +94,14 @@
+
+
+
+
+
+
+
+
diff --git a/prologue/why.xml b/prologue/why.xml
index 83d377566..3d487660a 100644
--- a/prologue/why.xml
+++ b/prologue/why.xml
@@ -92,6 +92,13 @@
procedures of every package in LFS.
+
+ D-Bus
+
+ D-Bus is a message bus system, a simple way for applications to
+ communicate with one another; it is required by Systemd.
+
+
DejaGNU