source: general/sysutils/dbus.xml@ d4eefa36

trunk
Last change on this file since d4eefa36 was d4eefa36, checked in by Douglas R. Reno <renodr@…>, 2 months ago

D-Bus: Stop moving libdbus-1.so to /lib

  • Property mode set to 100644
File size: 25.1 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY dbus-download-http "https://dbus.freedesktop.org/releases/dbus/dbus-&dbus-version;.tar.gz">
8 <!ENTITY dbus-download-ftp " ">
9 <!ENTITY dbus-md5sum "dfe8a71f412e0b53be26ed4fbfdc91c4">
10 <!ENTITY dbus-size "2.0 MB">
11 <!ENTITY dbus-buildsize "21 MB (add 18 MB for the tests)">
12 <!ENTITY dbus-time "0.3 SBU (add 8.0 SBU for the tests)">
13 <!-- The former value was 0.8 SBU, which was far more sensible. -->
14]>
15
16<sect1 id="dbus" xreflabel="dbus-&dbus-version;">
17 <?dbhtml filename="dbus.html"?>
18
19 <sect1info>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>dbus-&dbus-version;</title>
24
25 <indexterm zone="dbus">
26 <primary sortas="a-D-Bus">D-Bus</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to D-Bus</title>
31
32 <para revision="sysv">
33 <application>D-Bus</application> is a message bus system, a simple way
34 for applications to talk to one another.
35 <application>D-Bus</application> supplies both a system daemon (for
36 events such as <quote>new hardware device added</quote> or <quote>printer
37 queue changed</quote>) and a per-user-login-session daemon (for general
38 IPC needs among user applications). Also, the message bus is built on top
39 of a general one-to-one message passing framework, which can be used by
40 any two applications to communicate directly (without going through the
41 message bus daemon).
42 </para>
43
44 <para revision="systemd">
45 Even though <application>D-Bus</application> was built in LFS, there are
46 some features provided by the package that other BLFS packages need, but
47 their dependencies didn't fit into LFS.
48 </para>
49
50 &lfs101_checked;
51
52 <bridgehead renderas="sect3">Package Information</bridgehead>
53 <itemizedlist spacing="compact">
54 <listitem>
55 <para>
56 Download (HTTP): <ulink url="&dbus-download-http;"/>
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Download (FTP): <ulink url="&dbus-download-ftp;"/>
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Download MD5 sum: &dbus-md5sum;
67 </para>
68 </listitem>
69 <listitem>
70 <para>
71 Download size: &dbus-size;
72 </para>
73 </listitem>
74 <listitem>
75 <para>
76 Estimated disk space required: &dbus-buildsize;
77 </para>
78 </listitem>
79 <listitem>
80 <para>
81 Estimated build time: &dbus-time;
82 </para>
83 </listitem>
84 </itemizedlist>
85
86 <bridgehead renderas="sect3">D-Bus Dependencies</bridgehead>
87
88 <bridgehead renderas="sect4" revision="systemd">Required</bridgehead>
89 <para role="required" revision="systemd">
90 <xref linkend="systemd"/>
91 </para>
92
93
94 <bridgehead renderas="sect4">Recommended</bridgehead>
95 <para role="recommended">
96 <xref linkend="xorg7-lib"/> (for <command>dbus-launch</command> program)
97 <phrase revision="sysv">and <xref linkend="elogind"/> (These are
98 circular dependencies. First build without them, and then again after
99 both packages are installed.)</phrase>
100 </para>
101
102 <bridgehead renderas="sect4">Optional</bridgehead>
103 <para role="optional">
104 For the tests:
105 <xref linkend="dbus-glib"/>,
106 <xref linkend="dbus-python"/>,
107 <xref linkend="pygobject3"/>,
108 and <xref linkend="valgrind"/>;
109
110 for documentation:
111 <xref linkend="doxygen"/>,
112 <xref linkend="xmlto"/>,
113 <ulink url="https://pypi.python.org/pypi/mallard-ducktype">Ducktype</ulink>,
114 and
115 <ulink url="&gnome-download-http;/yelp-tools/">Yelp Tools</ulink>
116 </para>
117
118 <para condition="html" role="usernotes">User Notes:
119 <ulink url="&blfs-wiki;/dbus"/>
120 </para>
121 </sect2>
122
123 <sect2 role="installation">
124 <title>Installation of D-Bus</title>
125 <!--
126 <para revision="sysv">
127 If they do not already exist,
128 as the <systemitem class="username">root</systemitem> user, create a
129 system user and group to handle the system message bus activity:
130 </para>
131
132<screen role="root" revision="sysv"><userinput>groupadd -g 18 messagebus &amp;&amp;
133useradd -c "D-Bus Message Daemon User" -d /var/run/dbus \
134 -u 18 -g messagebus -s /bin/false messagebus</userinput></screen>
135 -->
136
137 <para>
138 Install <application>D-Bus</application> by running the following
139 commands (you may wish to review the output from <command>./configure
140 --help</command> first and add any desired parameters to the
141 <command>configure</command> command shown below):
142 </para>
143
144<screen revision="sysv"><userinput>./configure --prefix=/usr \
145 --sysconfdir=/etc \
146 --localstatedir=/var \
147 --enable-user-session \
148 --disable-doxygen-docs \
149 --disable-xml-docs \
150 --disable-static \
151 --with-systemduserunitdir=no \
152 --with-systemdsystemunitdir=no \
153 --docdir=/usr/share/doc/dbus-&dbus-version; \
154 --with-console-auth-dir=/run/console \
155 --with-system-pid-file=/run/dbus/pid \
156 --with-system-socket=/run/dbus/system_bus_socket &amp;&amp;
157make</userinput></screen>
158
159<screen revision="systemd"><userinput>./configure --prefix=/usr \
160 --sysconfdir=/etc \
161 --localstatedir=/var \
162 --enable-user-session \
163 --disable-doxygen-docs \
164 --disable-xml-docs \
165 --disable-static \
166 --docdir=/usr/share/doc/dbus-&dbus-version; \
167 --with-console-auth-dir=/run/console \
168 --with-system-pid-file=/run/dbus/pid \
169 --with-system-socket=/run/dbus/system_bus_socket &amp;&amp;
170make</userinput></screen>
171
172 <para>
173 See below for test instructions.
174 </para>
175
176<!--
177 <warning revision="systemd">
178 <para>
179 Installing the package will override all files installed by
180 <application>D-Bus</application> in LFS. It is critical that
181 nothing uses <application>D-Bus</application> libraries or
182 programs during the installation. The best way to ensure that these
183 libraries are not being used is to run the installation in rescue mode.
184 To switch to rescue mode, run the following command as the
185 <systemitem class="username">root</systemitem> user (from a TTY):
186 </para>
187
188<screen role="root"><userinput>systemctl start rescue.target</userinput></screen>
189
190 </warning>
191-->
192
193 <para>
194 Now, as the <systemitem class="username">root</systemitem> user:
195 </para>
196
197<screen role="root"><userinput>make install</userinput></screen>
198
199<!-- FIXME: No longer needed with usr merge
200 <para>
201 The shared library needs to be moved to
202 <filename class="directory">/lib</filename>, and as a result the
203 <filename class="extension">.so</filename> file in
204 <filename class="directory">/usr/lib</filename> will need to be
205 recreated. Run the following command as the
206 <systemitem class="username">root</systemitem> user:
207 </para>
208
209<screen role="root"><userinput>mv -v /usr/lib/libdbus-1.so.* /lib &amp;&amp;
210ln -sfv ../../lib/$(readlink /usr/lib/libdbus-1.so) /usr/lib/libdbus-1.so</userinput></screen>
211-->
212
213 <para>
214 If you are using a DESTDIR install,
215 <command>dbus-daemon-launch-helper</command> needs to be fixed
216 afterwards. Issue, as <systemitem class="username">root</systemitem>
217 user:
218 </para>
219
220<screen role="root"><userinput>chown -v root:messagebus /usr/libexec/dbus-daemon-launch-helper &amp;&amp;
221chmod -v 4750 /usr/libexec/dbus-daemon-launch-helper</userinput></screen>
222
223 <para revision="sysv">
224 If you are still building your system in chroot or you did not start the
225 daemon yet, but you want to compile some packages that require
226 <application>D-Bus</application>, generate the
227 <application>D-Bus</application> UUID to avoid warnings when compiling
228 some packages with the following command as the
229 <systemitem class="username">root</systemitem> user:
230 </para>
231
232<screen role="root" revision="sysv"><userinput>dbus-uuidgen --ensure</userinput></screen>
233
234 <para revision="sysv">
235 If using <xref linkend="elogind"/>, create a symlink to the
236 <filename>/var/lib/dbus/machine-id</filename> file:
237 </para>
238
239<screen role="root" revision="sysv"><userinput>ln -sv /var/lib/dbus/machine-id /etc</userinput></screen>
240
241<!--
242 <para revision="systemd">
243 If not in chroot, at this point, you should reload the systemd daemon,
244 and reenter multi-user mode with the following commands (as the
245 <systemitem class="username">root</systemitem> user):
246 </para>
247
248<screen role="root" revision="systemd"><userinput>systemctl daemon-reload
249systemctl start multi-user.target</userinput></screen>
250-->
251
252 <para>
253 The dbus tests cannot be run until after <xref linkend="dbus-glib"/> has
254 been installed. They must be run as an unprivileged user from a local
255 session with bus address. To run the standard tests issue
256 <command>make check</command>.
257 </para>
258
259 <para>
260 If you want to run the unit regression tests, configure requires
261 additional parameters which expose additional functionality in the
262 binaries that are not intended to be used in a production build of
263 <application>D-Bus</application>. If you would like to run the tests,
264 issue the following commands (for the tests, you don't need to build the
265 docs):
266 </para>
267
268<screen remap="test"><userinput>make distclean &amp;&amp;
269PYTHON=python3 ./configure --enable-tests \
270 --enable-asserts \
271 --disable-doxygen-docs \
272 --disable-xml-docs &amp;&amp;
273make &amp;&amp;
274make check</userinput></screen>
275
276 <para>
277 There have been reports that the tests may fail if running inside a
278 Midnight Commander shell. You may get out-of-memory error messages when
279 running the tests. These are normal and can be safely ignored.
280 </para>
281
282 </sect2>
283
284 <sect2 role="commands">
285 <title>Command Explanations</title>
286
287 <para>
288 <parameter>--disable-doxygen-docs</parameter>: This switch disables
289 doxygen documentation build and install, if you have
290 <application>doxygen</application> installed. If
291 <application>doxygen</application> is installed, and you wish to build
292 them, remove this parameter.
293 </para>
294
295 <para>
296 <parameter>--disable-xml-docs</parameter>: This switch disables html
297 documentation build and install, if you have
298 <application>xmlto</application> installed. If
299 <application>xmlto</application> is installed, and you wish to build
300 them, remove this parameter.
301 </para>
302
303 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
304 href="../../xincludes/static-libraries.xml"/>
305
306 <para>
307 <parameter>--enable-user-session</parameter>: This parameter enables
308 per-user DBus sessions with
309 <phrase revision="sysv"><application>elogind</application>.</phrase>
310 <phrase revision="systemd"><application>systemd</application>.</phrase>
311 </para>
312
313 <para revision="sysv">
314 <parameter>--with-systemd{user,system}unitdir=no</parameter>: These
315 switches disable installation of systemd units on elogind based systems.
316 </para>
317 <para>
318 <parameter>--with-console-auth-dir=/run/console</parameter>: This
319 parameter specifies the directory to check for console ownership.
320 </para>
321
322 <para>
323 <parameter>--with-system-pid-file=/run/dbus/pid</parameter>: This
324 parameter specifies the location of the PID file.
325 </para>
326
327 <para>
328 <parameter>--with-system-socket=/run/dbus/system_bus_socket</parameter>:
329 This parameter specifies the location of the system bus socket.
330 </para>
331
332 <para>
333 <parameter>--enable-tests</parameter>: Builds extra parts of the code to
334 support all tests. Do not use on a production build.
335 </para>
336
337 <para>
338 <option>--enable-embedded-tests</option>: Builds extra parts of the
339 code to support only unit tests. Do not use on a production build.
340 </para>
341
342 <para>
343 <parameter>--enable-asserts</parameter>: Enables debugging code to run
344 assertions for statements normally assumed to be true. This prevents a
345 warning that '<parameter>--enable-tests</parameter>' on its own is only
346 useful for profiling and might not give true results for all tests, but
347 adds its own NOTE that this should not be used in a production build.
348 </para>
349
350 </sect2>
351
352 <sect2 role="configuration">
353 <title>Configuring D-Bus</title>
354
355 <sect3 id="dbus-config">
356 <title>Config Files</title>
357
358 <para>
359 <filename>/etc/dbus-1/session.conf</filename>,
360 <filename>/etc/dbus-1/system.conf</filename> and
361 <filename>/etc/dbus-1/system.d/*</filename>
362 </para>
363
364 <indexterm zone="dbus dbus-config">
365 <primary sortas="e-etc-dbus-1-session.conf">/etc/dbus-1/session.conf</primary>
366 </indexterm>
367
368 <indexterm zone="dbus dbus-config">
369 <primary sortas="e-etc-dbus-1/system.conf">/etc/dbus-1/system.conf</primary>
370 </indexterm>
371
372 <indexterm zone="dbus dbus-config">
373 <primary sortas="e-etc-dbus-1-system.d-star">/etc/dbus-1/system.d/*</primary>
374 </indexterm>
375
376 </sect3>
377
378 <sect3 id="dbus-session-config" xreflabel="D-Bus custom services directory">
379 <title>Configuration Information</title>
380
381 <para>
382 The configuration files listed above should probably not be
383 modified. If changes are required, you should create
384 <filename>/etc/dbus-1/session-local.conf</filename> and/or
385 <filename>/etc/dbus-1/system-local.conf</filename> and make any
386 desired changes to these files.
387 </para>
388
389 <para>
390 If any packages install a
391 <application>D-Bus</application> <filename>.service</filename>
392 file outside of the standard <filename
393 class="directory">/usr/share/dbus-1/services</filename> directory,
394 that directory should be added to the local session configuration.
395 For instance, <filename
396 class="directory">/usr/local/share/dbus-1/services</filename> can
397 be added by performing the following commands as the
398 <systemitem class="username">root</systemitem> user:
399 </para>
400
401<screen role="root"><userinput>cat &gt; /etc/dbus-1/session-local.conf &lt;&lt; "EOF"
402<literal>&lt;!DOCTYPE busconfig PUBLIC
403 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
404 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"&gt;
405&lt;busconfig&gt;
406
407 &lt;!-- Search for .service files in /usr/local --&gt;
408 &lt;servicedir&gt;/usr/local/share/dbus-1/services&lt;/servicedir&gt;
409
410&lt;/busconfig&gt;</literal>
411EOF</userinput></screen>
412
413 </sect3>
414
415 <sect3 id="dbus-session">
416 <title>D-Bus Session Daemon</title>
417
418 <para revision="sysv">
419 To automatically start <command>dbus-daemon</command> when the
420 system is rebooted, install the
421 <filename>/etc/rc.d/init.d/dbus</filename> bootscript from the
422 <xref linkend="bootscripts"/> package.
423 </para>
424
425 <indexterm zone="dbus dbus-session" revision="sysv">
426 <primary sortas="f-dbus">dbus</primary>
427 </indexterm>
428
429<screen role="root" revision="sysv"><userinput>make install-dbus</userinput></screen>
430
431 <para revision="sysv">
432 Note that this boot script only starts the system-wide
433 <application>D-Bus</application> daemon. Each user requiring access to
434 <application>D-Bus</application> services will also need to run a
435 session daemon as well. There are many methods you can use to start a
436 session daemon using the <command>dbus-launch</command> command. Review
437 the <command>dbus-launch</command> man page for details about the
438 available parameters and options. Here are some suggestions and
439 examples:
440 </para>
441
442 <para revision="systemd">
443 There are many methods you can use to start a session daemon
444 using the <command>dbus-launch</command> command. Review the
445 <command>dbus-launch</command> man page for details about the
446 available parameters and options. Here are some suggestions and
447 examples:
448 </para>
449
450
451 <itemizedlist spacing="compact">
452 <listitem>
453 <para>
454 Add <command>dbus-launch</command> to the line in the
455 <filename>~/.xinitrc</filename> file that starts your graphical
456 desktop environment.
457 </para>
458 </listitem>
459 <listitem>
460 <para>
461 If you use <command>gdm</command> or some other display manager
462 that calls the <filename>~/.xsession</filename> file, you can add
463 <command>dbus-launch</command> to the line in your
464 <filename>~/.xsession</filename> file that starts your graphical
465 desktop environment. The syntax would be similar to the example in
466 the <filename>~/.xinitrc</filename> file.
467 </para>
468 </listitem>
469 <listitem>
470 <para>
471 The examples shown previously use
472 <command>dbus-launch</command> to specify a program to be run. This
473 has the benefit (when also using the
474 <parameter>--exit-with-session</parameter> parameter) of stopping the
475 session daemon when the specified program is stopped. You can also
476 start the session daemon in your system or personal startup scripts
477 by adding the following lines:
478 </para>
479
480<screen role="nodump"><userinput><literal># Start the D-Bus session daemon
481eval `dbus-launch`
482export DBUS_SESSION_BUS_ADDRESS</literal></userinput></screen>
483
484 <para>
485 This method will not stop the session daemon when you exit
486 your shell, therefore you should add the following line to your
487 <filename>~/.bash_logout</filename> file:
488 </para>
489
490<screen role="nodump"><userinput><literal># Kill the D-Bus session daemon
491kill $DBUS_SESSION_BUS_PID</literal></userinput></screen>
492 </listitem>
493
494 <!-- KDM is no longer usable, SDDM is it's replacement
495 <listitem>
496 <para>
497 A hint has been written that provides ways to start scripts
498 using the KDM session manager of KDE. The concepts in this hint could
499 possibly be used with other session managers as well. The hint is
500 located at <ulink
501 url="&hints-root;/downloads/files/execute-session-scripts-using-kdm.txt"/>.
502 </para>
503 </listitem>
504 -->
505
506 </itemizedlist>
507
508 </sect3>
509
510 </sect2>
511
512 <sect2 role="content" revision="sysv">
513 <title>Contents</title>
514
515 <segmentedlist>
516 <segtitle>Installed Programs</segtitle>
517 <segtitle>Installed Library</segtitle>
518 <segtitle>Installed Directories</segtitle>
519
520 <seglistitem>
521 <seg>
522 dbus-cleanup-sockets, dbus-daemon, dbus-launch, dbus-monitor,
523 dbus-run-session, dbus-send, dbus-test-tool,
524 dbus-update-activation-environment, and dbus-uuidgen
525 </seg>
526 <seg>
527 libdbus-1.so
528 </seg>
529 <seg>
530 /etc/dbus-1,
531 /usr/{include,lib}/dbus-1.0,
532 /usr/lib/cmake/DBus1,
533 /usr/share/dbus-1,
534 /usr/share/xml/dbus-1,
535 /usr/share/doc/dbus-&dbus-version;, and
536 /var/{lib,run}/dbus
537 </seg>
538 </seglistitem>
539 </segmentedlist>
540
541 <variablelist>
542 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
543 <?dbfo list-presentation="list"?>
544 <?dbhtml list-presentation="table"?>
545
546 <varlistentry id="dbus-cleanup-sockets">
547 <term><command>dbus-cleanup-sockets</command></term>
548 <listitem>
549 <para>
550 is used to clean up leftover sockets in a directory
551 </para>
552 <indexterm zone="dbus dbus-cleanup-sockets">
553 <primary sortas="b-dbus-cleanup-sockets">dbus-cleanup-sockets</primary>
554 </indexterm>
555 </listitem>
556 </varlistentry>
557
558 <varlistentry id="dbus-daemon">
559 <term><command>dbus-daemon</command></term>
560 <listitem>
561 <para>
562 is the <application>D-Bus</application> message bus daemon
563 </para>
564 <indexterm zone="dbus dbus-daemon">
565 <primary sortas="b-dbus-daemon">dbus-daemon</primary>
566 </indexterm>
567 </listitem>
568 </varlistentry>
569
570 <varlistentry id="dbus-launch">
571 <term><command>dbus-launch</command></term>
572 <listitem>
573 <para>
574 is used to start <command>dbus-daemon</command> from a shell
575 script. It would normally be called from a user's login
576 scripts
577 </para>
578 <indexterm zone="dbus dbus-launch">
579 <primary sortas="b-dbus-launch">dbus-launch</primary>
580 </indexterm>
581 </listitem>
582 </varlistentry>
583
584 <varlistentry id="dbus-monitor">
585 <term><command>dbus-monitor</command></term>
586 <listitem>
587 <para>
588 is used to monitor messages going through a
589 <application>D-Bus</application> message bus
590 </para>
591 <indexterm zone="dbus dbus-monitor">
592 <primary sortas="b-dbus-monitor">dbus-monitor</primary>
593 </indexterm>
594 </listitem>
595 </varlistentry>
596
597 <varlistentry id="dbus-run-session">
598 <term><command>dbus-run-session</command></term>
599 <listitem>
600 <para>
601 starts a process as a new <application>D-Bus</application> session
602 </para>
603 <indexterm zone="dbus dbus-run-session">
604 <primary sortas="b-dbus-run-session">dbus-run-session</primary>
605 </indexterm>
606 </listitem>
607 </varlistentry>
608
609 <varlistentry id="dbus-send">
610 <term><command>dbus-send</command></term>
611 <listitem>
612 <para>
613 is used to send a message to a <application>D-Bus</application>
614 message bus
615 </para>
616 <indexterm zone="dbus dbus-send">
617 <primary sortas="b-dbus-send">dbus-send</primary>
618 </indexterm>
619 </listitem>
620 </varlistentry>
621
622 <varlistentry id="dbus-test-tool">
623 <term><command>dbus-test-tool</command></term>
624 <listitem>
625 <para>
626 is a <application>D-Bus</application> traffic generator and test
627 tool; it is a multi-purpose tool for debugging and profiling
628 <application>D-Bus</application>
629 </para>
630 <indexterm zone="dbus dbus-test-tool">
631 <primary sortas="b-dbus-test-tool">dbus-test-tool</primary>
632 </indexterm>
633 </listitem>
634 </varlistentry>
635
636 <varlistentry id="dbus-update-activation-environment">
637 <term><command>dbus-update-activation-environment</command></term>
638 <listitem>
639 <para>
640 is used to update the environment used for
641 <application>D-Bus</application> session services;
642 it updates the list of environment variables used by
643 <command>dbus-daemon --session</command> when it activates session
644 services without using systemd
645 </para>
646 <indexterm zone="dbus dbus-update-activation-environment">
647 <primary sortas="b-dbus-update-activation-environment">
648 dbus-update-activation-environment</primary>
649 </indexterm>
650 </listitem>
651 </varlistentry>
652
653 <varlistentry id="dbus-uuidgen">
654 <term><command>dbus-uuidgen</command></term>
655 <listitem>
656 <para>
657 is used to generate a universally unique ID
658 </para>
659 <indexterm zone="dbus dbus-uuidgen">
660 <primary sortas="b-dbus-uuidgen">dbus-uuidgen</primary>
661 </indexterm>
662 </listitem>
663 </varlistentry>
664
665 <varlistentry id="libdbus-1">
666 <term><filename class="libraryfile">libdbus-1.so</filename></term>
667 <listitem>
668 <para>
669 contains the API functions used by the
670 <application>D-Bus</application> message daemon.
671 <application>D-Bus</application> is first a library that provides
672 one-to-one communication between any two applications;
673 <command>dbus-daemon</command> is an application that uses this
674 library to implement a message bus daemon
675 </para>
676 <indexterm zone="dbus libdbus-1">
677 <primary sortas="c-libdbus-1">libdbus-1.so</primary>
678 </indexterm>
679 </listitem>
680 </varlistentry>
681
682 </variablelist>
683
684 </sect2>
685
686 <sect2 role="content" revision="systemd">
687 <title>Contents</title>
688
689 <para>
690 A list of the installed files, along with their short
691 descriptions can be found at
692 <ulink url="&lfs-rootd;/chapter08/dbus.html#contents-dbus"/>.
693 </para>
694
695 </sect2>
696
697</sect1>
Note: See TracBrowser for help on using the repository browser.