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 + + + + + + <para>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).</para> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&dbus-ch6-sbu;</seg> + <seg>&dbus-ch6-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>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