瀏覽代碼

Add D-Bus as a dependency of Systemd.

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/systemd/BOOK@10143 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Matthew Burgess 12 年之前
父節點
當前提交
afe61bc25c
共有 8 個文件被更改,包括 259 次插入1 次删除
  1. 36 0
      appendices/dependencies.xml
  2. 1 1
      chapter01/changelog.xml
  3. 4 0
      chapter01/whatsnew.xml
  4. 9 0
      chapter03/packages.xml
  5. 1 0
      chapter06/chapter06.xml
  6. 193 0
      chapter06/dbus.xml
  7. 8 0
      packages.ent
  8. 7 0
      prologue/why.xml

+ 36 - 0
appendices/dependencies.xml

@@ -324,6 +324,42 @@
         </seglistitem>
       </segmentedlist>
 
+<!-- Begin D-Bus dependency info -->
+  <bridgehead renderas="sect2" id="dbus-dep">D-Bus</bridgehead>
+
+      <segmentedlist>
+        <segtitle>&dependencies;</segtitle>
+
+        <seglistitem>
+         <seg>Bash, Coreutils, Diffutils, Expat, GCC, Grep, Make, and
+         Sed</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&testsuites;</segtitle>
+
+        <seglistitem>
+          <seg>D-Bus Glib Bindings, Python</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&before;</segtitle>
+
+        <seglistitem>
+          <seg>Systemd</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&external;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
 <!-- Begin Diffutils dependency info -->
   <bridgehead renderas="sect2" id="diffutils-dep">Diffutils</bridgehead>
 

+ 1 - 1
chapter01/changelog.xml

@@ -40,7 +40,7 @@
       <itemizedlist>
         <listitem>
           <para>[matthew] - Added full build of Systemd including its remaining
-          dependencies (attr, gperf, intltool and libcap2).</para>
+          dependencies (attr, dbus, gperf, intltool and libcap2).</para>
         </listitem>
       </itemizedlist>
     </listitem>

+ 4 - 0
chapter01/whatsnew.xml

@@ -248,6 +248,10 @@
       <para>&coreutils-test-patch;</para>
     </listitem>
 
+    <listitem>
+      <para>D-Bus-&dbus-version;</para>
+    </listitem>
+
     <listitem>
       <para>Expat-&expat-version;</para>
     </listitem>

+ 9 - 0
chapter03/packages.xml

@@ -95,6 +95,15 @@
       </listitem>
     </varlistentry>
 
+    <varlistentry>
+      <term>D-Bus (&dbus-version;) - <token>&dbus-size;</token>:</term>
+      <listitem>
+        <para>Home page: <ulink url="&dbus-home;"/></para>
+        <para>Download: <ulink url="&dbus-url;"/></para>
+        <para>MD5 sum: <literal>&dbus-md5;</literal></para>
+      </listitem>
+    </varlistentry>
+
     <varlistentry>
       <term>DejaGNU (&dejagnu-version;) - <token>&dejagnu-size;</token>:</term>
       <listitem>

+ 1 - 0
chapter06/chapter06.xml

@@ -52,6 +52,7 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="attr.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="autoconf.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="automake.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dbus.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="diffutils.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gawk.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="findutils.xml"/>

+ 193 - 0
chapter06/dbus.xml

@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-system-dbus" role="wrap">
+  <?dbhtml filename="dbus.html"?>
+
+  <sect1info condition="script">
+    <productname>dbus</productname>
+    <productnumber>&dbus-version;</productnumber>
+    <address>&dbus-url;</address>
+  </sect1info>
+
+  <title>D-Bus-&dbus-version;</title>
+
+  <indexterm zone="ch-system-dbus">
+    <primary sortas="a-dbus">D-Bus</primary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title/>
+
+    <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</title>
+
+    <para>The D-Bus system daemon (the message bus) needs to run as a non-priveleged user, so create a suitable group and user:</para>
+
+<screen><userinput remap="pre">groupadd -g 18 messagebus
+useradd -c "D-Bus Message Daemon User" -d /var/run/dbus \
+        -u 18 -g messagebus -s /bin/false messagebus</userinput></screen>
+
+    <para>Prepare D-Bus for compilation:</para>
+
+<screen><userinput remap="configure">./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</userinput></screen>
+
+    <variablelist>
+      <title>The meaning of the configure options:</title>
+
+      <varlistentry>
+        <term><parameter>--with-console-auth-dir=/run/console</parameter></term>
+        <listitem>
+          <para>This specifies the location of the ConsoleKit auth
+          directory.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><parameter>--without-systemdsystemunitdir</parameter></term>
+        <listitem>
+          <para>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).</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><parameter>--disable-systemd</parameter></term>
+        <listitem>
+          <para>This disables Systemd support in D-Bus, again due to the
+          circular dependency between D-Bus and Systemd.</para>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+    <para>Compile the package:</para>
+
+<screen><userinput remap="make">make</userinput></screen>
+
+    <para>This package does come with a testsuite, but it requires several
+    packages that are not included in LFS.</para>
+
+    <para>Install the package:</para>
+
+<screen><userinput remap="install">make install</userinput></screen>
+
+  </sect2>
+
+  <sect2 id="contents-dbus" role="content">
+    <title>Contents of D-Bus</title>
+
+    <segmentedlist>
+      <segtitle>Installed programs</segtitle>
+      <segtitle>Installed libraries</segtitle>
+
+      <seglistitem>
+        <seg>dbus-cleanup-sockets, dbus-daemon, dbus-monitor, dbus-send,
+        dbus-uuidgen</seg>
+        <seg>libdbus-1.{so,a}</seg>
+      </seglistitem>
+    </segmentedlist>
+
+    <variablelist>
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+      <?dbfo list-presentation="list"?>
+      <?dbhtml list-presentation="table"?>
+
+      <varlistentry id="dbus-cleanup-sockets">
+        <term><command>dbus-cleanup-sockets</command></term>
+        <listitem>
+          <para>Used to clean up leftover sockets in a directory.</para>
+          <indexterm zone="ch-system-dbus dbus-cleanup-sockets">
+            <primary sortas="b-dbus-cleanup-sockets">dbus-cleanup-sockets</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="dbus-daemon">
+        <term><command>dbus-daemon</command></term>
+        <listitem>
+          <para>The D-Bus message bus daemon.</para>
+          <indexterm zone="ch-system-dbus dbus-daemon">
+            <primary sortas="b-dbus-daemon">dbus-daemon</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="dbus-monitor">
+        <term><command>dbus-monitor</command></term>
+        <listitem>
+          <para>Monitors messages passing through a D-Bus message bus.</para>
+          <indexterm zone="ch-system-dbus dbus-monitor">
+            <primary sortas="b-dbus-monitor">dbus-monitor</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="dbus-send">
+        <term><command>dbus-send</command></term>
+        <listitem>
+          <para>Sends a message to a D-Bus message bus.</para>
+          <indexterm zone="ch-system-dbus dbus-send">
+            <primary sortas="b-dbus-send">dbus-send</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="dbus-uuidgen">
+        <term><command>dbus-uuidgen</command></term>
+        <listitem>
+          <para>Generates a universally unique ID.</para>
+          <indexterm zone="ch-system-dbus dbus-uuidgen">
+            <primary sortas="b-dbus-uuidgen">dbus-uuidgen</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="libdbus">
+        <term><filename class="libraryfile">libdbus.{so,a}</filename></term>
+        <listitem>
+          <para>Contains API functions used to communicate with the D-Bus
+          message bus.</para>
+          <indexterm zone="ch-system-dbus libdbus">
+            <primary sortas="c-libdbus">libdbus</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+  </sect2>
+
+</sect1>

+ 8 - 0
packages.ent

@@ -94,6 +94,14 @@
 <!ENTITY coreutils-ch6-du "154 MB">
 <!ENTITY coreutils-ch6-sbu "4.0 SBU">
 
+<!ENTITY dbus-version "1.6.8">
+<!ENTITY dbus-size "1,884 KB">
+<!ENTITY dbus-url "http://dbus.freedesktop.org/releases/dbus/dbus-&dbus-version;.tar.gz">
+<!ENTITY dbus-md5 "3bf059c7dd5eda5f539a1b7cfe7a14a2">
+<!ENTITY dbus-home "http://www.freedesktop.org/wiki/Software/dbus">
+<!ENTITY dbus-ch6-du "35 MB">
+<!ENTITY dbus-ch6-sbu "less than 0.4 SBU">
+
 <!ENTITY dejagnu-version "1.5">
 <!ENTITY dejagnu-size "563 KB">
 <!ENTITY dejagnu-url "&gnu;dejagnu/dejagnu-&dejagnu-version;.tar.gz">

+ 7 - 0
prologue/why.xml

@@ -92,6 +92,13 @@
         procedures of every package in LFS.</para>
       </listitem>
 
+      <listitem>
+        <para>D-Bus</para>
+
+        <para>D-Bus is a message bus system, a simple way for applications to
+        communicate with one another; it is required by Systemd.</para>
+      </listitem>
+
       <listitem>
         <para>DejaGNU</para>