aboutsummaryrefslogtreecommitdiffstats
path: root/appendixa
diff options
context:
space:
mode:
authorMark Hymers <markh@linuxfromscratch.org>2002-02-06 23:15:46 +0000
committerMark Hymers <markh@linuxfromscratch.org>2002-02-06 23:15:46 +0000
commitbdc08c1c6419be50edb433c4425481bdabf8a5ea (patch)
treeb93620a39c60088e399ecfd4cfb667a62ea0ec21 /appendixa
parent76c0b783eeb766c0dec8e66dab2e6c275ba0786d (diff)
[Bug 190] reorganise and sync descriptions
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@1549 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'appendixa')
-rw-r--r--appendixa/autoconf-desc.xml39
-rw-r--r--appendixa/automake-desc.xml20
-rw-r--r--appendixa/bash-desc.xml26
-rw-r--r--appendixa/bin86-desc.xml39
-rw-r--r--appendixa/binutils-desc.xml94
-rw-r--r--appendixa/bison-desc.xml32
-rw-r--r--appendixa/bootscripts-desc.xml72
-rw-r--r--appendixa/bzip2-desc.xml40
-rw-r--r--appendixa/diffutils-desc.xml24
-rw-r--r--appendixa/e2fsprogs-desc.xml108
-rw-r--r--appendixa/ed-desc.xml20
-rw-r--r--appendixa/file-desc.xml15
-rw-r--r--appendixa/fileutils-desc.xml96
-rw-r--r--appendixa/findutils-desc.xml42
-rw-r--r--appendixa/flex-desc.xml39
-rw-r--r--appendixa/gcc-desc.xml71
-rw-r--r--appendixa/gettext-desc.xml49
-rw-r--r--appendixa/glibc-desc.xml192
-rw-r--r--appendixa/grep-desc.xml24
-rw-r--r--appendixa/groff-desc.xml124
-rw-r--r--appendixa/gzip-desc.xml58
-rw-r--r--appendixa/kbd-desc.xml120
-rw-r--r--appendixa/kernel-desc.xml20
-rw-r--r--appendixa/less-desc.xml34
-rw-r--r--appendixa/libtool-desc.xml31
-rw-r--r--appendixa/lilo-desc.xml19
-rw-r--r--appendixa/m4-desc.xml17
-rw-r--r--appendixa/make-desc.xml14
-rw-r--r--appendixa/makedev-desc.xml16
-rw-r--r--appendixa/man-desc.xml35
-rw-r--r--appendixa/manpages-desc.xml17
-rw-r--r--appendixa/mawk-desc.xml17
-rw-r--r--appendixa/modutils-desc.xml61
-rw-r--r--appendixa/ncurses-desc.xml100
-rw-r--r--appendixa/netkitbase-desc.xml21
-rw-r--r--appendixa/nettools-desc.xml70
-rw-r--r--appendixa/patch-desc.xml15
-rw-r--r--appendixa/perl-desc.xml89
-rw-r--r--appendixa/procinfo-desc.xml25
-rw-r--r--appendixa/procps-desc.xml80
-rw-r--r--appendixa/psmisc-desc.xml30
-rw-r--r--appendixa/reiserfs-desc.xml34
-rw-r--r--appendixa/sed-desc.xml16
-rw-r--r--appendixa/shadowpwd-desc.xml165
-rw-r--r--appendixa/shellutils-desc.xml156
-rw-r--r--appendixa/sysklogd-desc.xml20
-rw-r--r--appendixa/sysvinit-desc.xml88
-rw-r--r--appendixa/tar-desc.xml20
-rw-r--r--appendixa/texinfo-desc.xml34
-rw-r--r--appendixa/textutils-desc.xml119
-rw-r--r--appendixa/utillinux-desc.xml271
-rw-r--r--appendixa/vim-desc.xml61
52 files changed, 1799 insertions, 1240 deletions
diff --git a/appendixa/autoconf-desc.xml b/appendixa/autoconf-desc.xml
index 5fa4e6e0b..0becd0b0e 100644
--- a/appendixa/autoconf-desc.xml
+++ b/appendixa/autoconf-desc.xml
@@ -1,51 +1,50 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of autoconf-&autoconf-contversion;</title>
-<para>The Autoconf package contains the autoconf, autoheader, autoreconf,
-autoscan, autoupdate and ifnames programs</para>
+<sect3><title>Program Files</title>
+<para>autoconf, autoheader, autoreconf, autoscan, autoupdate and
+ifnames</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>autoconf</title>
+<sect4><title>autoconf</title>
<para>Autoconf is a tool for producing shell scripts that automatically
configure software source code packages to adapt to many kinds of
UNIX-like systems. The configuration scripts produced by Autoconf are
independent of Autoconf when they are run, so their users do not need to
-have Autoconf.</para></sect3>
+have Autoconf.</para></sect4>
-<sect3><title>autoheader</title>
+<sect4><title>autoheader</title>
<para>The autoheader program can create a template file of C #define
-statements for configure to use</para></sect3>
+statements for configure to use</para></sect4>
-<sect3><title>autoreconf</title>
+<sect4><title>autoreconf</title>
<para>If there are a lot of Autoconf-generated configure scripts, the
autoreconf program can save some work. It runs autoconf (and
autoheader, where appropriate) repeatedly to remake the Autoconf
configure scripts and configuration header templates in the directory
-tree rooted at the current directory.</para></sect3>
+tree rooted at the current directory.</para></sect4>
-<sect3><title>autoscan</title>
+<sect4><title>autoscan</title>
<para>The autoscan program can help to create a configure.in file for
a software package. autoscan examines source files in the directory
tree rooted at a directory given as a command line argument, or the
current directory if none is given. It searches the source files for
common portability problems and creates a file configure.scan which
-is a preliminary configure.in for that package.</para></sect3>
+is a preliminary configure.in for that package.</para></sect4>
-<sect3><title>autoupdate</title>
+<sect4><title>autoupdate</title>
<para>The autoupdate program updates a configure.in file that calls
Autoconf macros by their old names to use the current
-macro names.</para></sect3>
+macro names.</para></sect4>
-<sect3><title>ifnames</title>
+<sect4><title>ifnames</title>
<para>ifnames can help when writing a configure.in for a software
package. It prints the identifiers that the package already uses in C
preprocessor conditionals. If a package has already been set up to
have some portability, this program can help to figure out what its
configure needs to check for. It may help fill in some gaps in a
-configure.in generated by autoscan.</para></sect3>
+configure.in generated by autoscan.</para></sect4>
-</sect2>
+</sect3>
+</sect2>
diff --git a/appendixa/automake-desc.xml b/appendixa/automake-desc.xml
index edf004dd9..f5ea9f2aa 100644
--- a/appendixa/automake-desc.xml
+++ b/appendixa/automake-desc.xml
@@ -1,13 +1,11 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of automake-&automake-contversion;</title>
-<para>The Automake package contains the aclocal and automake programs</para>
+<sect3><title>Program Files</title>
+<para>aclocal and automake</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>aclocal</title>
+<sect4><title>aclocal</title>
<para>Automake includes a number of Autoconf macros which can be used in
packages; some of them are actually required by Automake in certain
situations. These macros must be defined in the aclocal.m4-file;
@@ -17,13 +15,15 @@ otherwise they will not be seen by autoconf.</para>
based on the contents of configure.in. This provides a convenient
way to get Automake-provided macros, without having to search around.
Also, the aclocal mechanism is extensible for use
-by other packages.</para></sect3>
+by other packages.</para></sect4>
-<sect3><title>automake</title>
+<sect4><title>automake</title>
<para>To create all the Makefile.in's for a package, run the automake
program in the top level directory, with no arguments. automake will
automatically find each appropriate Makefile.am (by scanning
-configure.in) and generate the corresponding Makefile.in.</para></sect3>
+configure.in) and generate the corresponding Makefile.in.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/bash-desc.xml b/appendixa/bash-desc.xml
index d85617f24..4a630c168 100644
--- a/appendixa/bash-desc.xml
+++ b/appendixa/bash-desc.xml
@@ -1,16 +1,28 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of bash-&bash-contversion;</title>
-<para>The Bash package contains the bash program</para>
+<sect3><title>Program Files</title>
+<para>bash, sh (link to bash) and bashbug</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
+<sect4><title>bash</title>
<para>Bash is the Bourne-Again SHell, which is a widely used command
interpreter on Unix systems. Bash is a program that reads from standard
input, the keyboard. A user types something and the program will evaluate
-what he has typed and do something with it, like running a program.</para>
+what he has typed and do something with it, like running a
+program.</para></sect4>
+
+<sect4><title>bashbug</title>
+<para>bashbug is a shell script to help the user compose and mail bug
+reports concerning bash in a standard format.</para></sect4>
+
+<sect4><title>sh</title>
+<para>sh is a symlink to the bash program. When invoked as sh, bash
+tries to mimic the startup behavior of historical versions of sh as closely
+as possible, while conforming to the POSIX standard as
+well.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/bin86-desc.xml b/appendixa/bin86-desc.xml
index b66b5a0af..5171897f6 100644
--- a/appendixa/bin86-desc.xml
+++ b/appendixa/bin86-desc.xml
@@ -1,34 +1,35 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of bin86-&bin86-contversion;</title>
-<para>The Bin86 contains the as86, as86_encap, ld86, objdump86, nm86 and
-size86 programs.</para>
+<sect3><title>Program Files</title>
+<para>as86, as86_encap, ld86, nm86 (link to objdump86), objdump86 and
+size86 (link to objdump86)</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>as86</title>
-<para>as86 is an assembler for the 8086...80386 processors.</para></sect3>
+<sect4><title>as86</title>
+<para>as86 is an assembler for the 8086...80386
+processors.</para></sect4>
-<sect3><title>as86_encap</title>
+<sect4><title>as86_encap</title>
<para>as86_encap is a shell script to call as86 and convert the created binary
into a C file prog.v to be included in or linked with programs like boot
-block installers.</para></sect3>
+block installers.</para></sect4>
-<sect3><title>ld86</title>
+<sect4><title>ld86</title>
<para>ld86 understands only the object files produced by the as86 assembler, it
can link them into either an impure or a
-separate I&amp;D executable.</para></sect3>
+separate I&amp;D executable.</para></sect4>
+
+<sect4><title>nm86</title>
+<para>No description is currently available.</para></sect4>
-<sect3><title>objdump86</title>
-<para>No description available.</para></sect3>
+<sect4><title>objdump86</title>
+<para>No description is currently available.</para></sect4>
-<sect3><title>nm86</title>
-<para>No description available.</para></sect3>
+<sect4><title>size86</title>
+<para>No description is currently available.</para></sect4>
-<sect3><title>size86</title>
-<para>No description available.</para></sect3>
+</sect3>
</sect2>
diff --git a/appendixa/binutils-desc.xml b/appendixa/binutils-desc.xml
index 3d6e64670..26163f7dc 100644
--- a/appendixa/binutils-desc.xml
+++ b/appendixa/binutils-desc.xml
@@ -1,31 +1,30 @@
<sect2>
-<title>Contents</title>
+<title>Contents of binutils-&binutils-contversion;</title>
-<para>The Binutils package contains the addr2line, as, ar, c++filt, gasp,
-gprof, ld, nm, objcopy, objdump, ranlib, readelf, size, strings and strip
-programs</para>
+<sect3><title>Program Files</title>
-</sect2>
+<para>addr2line, ar, as, c++filt, gasp, gprof, ld, nm, objcopy, objdump,
+ranlib, readelf, size, strings and strip</para></sect3>
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>addr2line</title>
+<sect4><title>addr2line</title>
<para>addr2line translates program addresses into file names and line numbers.
Given an address and an executable, it uses the debugging information in
the executable to figure out which file name and line number are associated
-with a given address.</para></sect3>
-
-<sect3><title>as</title>
-<para>as is primarily intended to assemble the output of the GNU C compiler gcc
-for use by the linker ld.</para></sect3>
+with a given address.</para></sect4>
-<sect3><title>ar</title>
+<sect4><title>ar</title>
<para>The ar program creates, modifies, and extracts from archives. An archive
is a single file holding a collection of other files in a structure that makes
it possible to retrieve the original individual files (called members of
-the archive).</para></sect3>
+the archive).</para></sect4>
-<sect3><title>c++filt</title>
+<sect4><title>as</title>
+<para>as is primarily intended to assemble the output of the GNU C compiler gcc
+for use by the linker ld.</para></sect4>
+
+<sect4><title>c++filt</title>
<para>The C++ language provides function overloading, which means that it is
possible to
write many functions with the same name (providing each takes parameters
@@ -33,48 +32,48 @@ of different types). All C++ function names are encoded into a low-level
assembly label (this process is known as mangling). The c++filt program
does the inverse mapping: it decodes (demangles) low-level names into
user-level names so that the linker can keep these overloaded functions
-from clashing.</para></sect3>
+from clashing.</para></sect4>
-<sect3><title>gasp</title>
-<para>Gasp is the Assembler Macro Preprocessor.</para></sect3>
+<sect4><title>gasp</title>
+<para>Gasp is the Assembler Macro Preprocessor.</para></sect4>
-<sect3><title>gprof</title>
-<para>gprof displays call graph profile data.</para></sect3>
+<sect4><title>gprof</title>
+<para>gprof displays call graph profile data.</para></sect4>
-<sect3><title>ld</title>
+<sect4><title>ld</title>
<para>ld combines a number of object and archive files, relocates their data
and ties up symbol references. Often the last step in building a new compiled
-program to run is a call to ld.</para></sect3>
+program to run is a call to ld.</para></sect4>
-<sect3><title>nm</title>
-<para>nm lists the symbols from object files.</para></sect3>
+<sect4><title>nm</title>
+<para>nm lists the symbols from object files.</para></sect4>
-<sect3><title>objcopy</title>
+<sect4><title>objcopy</title>
<para>objcopy utility copies the contents of an object file to another. objcopy
uses the GNU BFD Library to read and write the object files. It can write
the destination object file in a format different from that of the source
-object file.</para></sect3>
+object file.</para></sect4>
-<sect3><title>objdump</title>
+<sect4><title>objdump</title>
<para>objdump displays information about one or more object files. The options
control what particular information to display. This information is mostly
useful to programmers who are working on the compilation tools, as opposed to
-programmers who just want their program to compile and work.</para></sect3>
+programmers who just want their program to compile and work.</para></sect4>
-<sect3><title>ranlib</title>
+<sect4><title>ranlib</title>
<para>ranlib generates an index to the contents of an archive, and stores it in
the archive. The index lists each symbol defined by a member of an archive
-that is a relocatable object file.</para></sect3>
+that is a relocatable object file.</para></sect4>
-<sect3><title>readelf</title>
-<para>readelf displays information about elf type binaries.</para></sect3>
+<sect4><title>readelf</title>
+<para>readelf displays information about elf type binaries.</para></sect4>
-<sect3><title>size</title>
+<sect4><title>size</title>
<para>size lists the section sizes --and the total size-- for each of the
object files objfile in its argument list. By default, one line of output is
-generated for each object file or each module in an archive.</para></sect3>
+generated for each object file or each module in an archive.</para></sect4>
-<sect3><title>strings</title>
+<sect4><title>strings</title>
<para>For each file given, strings prints the printable character sequences
that are at least 4 characters long (or the number specified with an
option to the program) and are followed by an unprintable character. By
@@ -82,13 +81,32 @@ default, it only prints the strings from the initialized and loaded
sections of object files; for other types of files, it prints the strings
from the whole file.</para>
-<para>strings is mainly useful for determining the contents of non-text files.</para></sect3>
+<para>strings is mainly useful for determining the contents of non-text files.</para></sect4>
-<sect3><title>strip</title>
+<sect4><title>strip</title>
<para>strip discards all or specific symbols from object files. The list of
object files may include archives. At least one object file must be
given. strip modifies the files named in its argument, rather than writing
-modified copies under different names.</para></sect3>
+modified copies under different names.</para></sect4>
+
+</sect3>
+
+<sect3><title>Library Files</title>
+<para>libbfd.a, libiberty.a and libopcodes.a</para></sect3>
+
+<sect3><title>Descriptions</title>
+
+<sect4><title>libbfd</title>
+<para>libbfd is the Binary File Descriptor library.</para></sect4>
+
+<sect4><title>libiberty</title>
+<para>libiberty is a collection of subroutines used by various GNU
+programs including getopt, obstack, strerror, strtol and strtoul.</para></sect4>
+
+<sect4><title>libopcodes</title>
+<para>No description is currently available.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/bison-desc.xml b/appendixa/bison-desc.xml
index 7f379cbfe..73932b658 100644
--- a/appendixa/bison-desc.xml
+++ b/appendixa/bison-desc.xml
@@ -1,22 +1,21 @@
<sect2>
-<title>Contents</title>
+<title>Contents of bison-&bison-contversion;</title>
-<para>The Bison package contains the bison program.</para>
+<sect3><title>Program Files</title>
-</sect2>
+<para>bison and yacc</para></sect3>
+
+<sect3><title>Descriptions</title>
-<sect2><title>Description</title>
+<sect4><title>bison</title>
<para>Bison is a parser generator, a replacement for YACC. YACC stands for Yet
Another Compiler Compiler. What is Bison then? It is a program that
-generates a program that analyzes the structure of a text file. Instead
-of
+generates a program that analyzes the structure of a text file. Instead of
writing the actual program a user specifies how things should be connected
-and with
-those rules a program is constructed that analyzes the text file.</para>
-
-<para>There are a lot of examples where structure is needed and one of them is
-the calculator.</para>
+and with those rules a program is constructed that analyzes the
+text file. There are a lot of examples where structure is needed and
+one of them is the calculator.</para>
<para>Given the string :</para>
@@ -43,7 +42,16 @@ number 1 which are joined by the add symbol. Adding 1 to the previous
result makes 7. In calculating the most complex calculations can be
broken down in this tree format and the computer just starts at the
bottom and works its way up to the top and comes with the correct
-answer. Of course, Bison isn't only used for calculators alone.</para>
+answer. Of course, Bison isn't only used for calculators
+alone.</para></sect4>
+
+<sect4><title>yacc</title>
+
+<para>We create a yacc script which calls bison using the -y option.
+This is for compatibility purposes for programs which use yacc instead
+of bison.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/bootscripts-desc.xml b/appendixa/bootscripts-desc.xml
index b5f180249..ad59f060e 100644
--- a/appendixa/bootscripts-desc.xml
+++ b/appendixa/bootscripts-desc.xml
@@ -1,72 +1,76 @@
-<sect2><title>Contents</title>
+<sect2><title>Contents of LFS-bootscripts-&bootscripts-contversion;</title>
-<para>The LFS-Bootscripts package contains the system bootscripts.</para>
+<sect3><title>Scripts</title>
-</sect2>
+<para>checkfs, cleanfs, functions, halt, loadkeys, localnet, mountfs,
+network, rc, reboot, sendsignals, setclock, swap, sysklogd and
+template</para></sect3>
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>checkfs</title>
+<sect4><title>checkfs</title>
<para>The checkfs script checks the file systems just before they are
mounted (with the exception of journal and network based file
-systems)</para></sect3>
+systems)</para></sect4>
-<sect3><title>cleanfs</title>
+<sect4><title>cleanfs</title>
<para>The cleanfs script removes files that shouldn't be preserved between
reboots, such as /var/run/*, /var/lock/*, it re-creates /var/run/utmp and
removes the possible present /etc/nologin, /fastboot and /forcefsck
-files.</para></sect3>
+files.</para></sect4>
-<sect3><title>functions</title>
+<sect4><title>functions</title>
<para>The functions script contains shared functions among different
-scripts such as error checking, status checking, etc.</para></sect3>
+scripts such as error checking, status checking, etc.</para></sect4>
-<sect3><title>halt</title>
-<para>The halt script halts the system.</para></sect3>
+<sect4><title>halt</title>
+<para>The halt script halts the system.</para></sect4>
-<sect3><title>loadkeys</title>
+<sect4><title>loadkeys</title>
<para>The loadkeys script loads the proper keymap table that matches your
-keyboard layout.</para></sect3>
+keyboard layout.</para></sect4>
-<sect3><title>localnet</title>
+<sect4><title>localnet</title>
<para>The localnet script sets up the system's hostname and local loopback
-device.</para></sect3>
+device.</para></sect4>
-<sect3><title>mountfs</title>
+<sect4><title>mountfs</title>
<para>The mountfs script mounts all file systems that aren't marked noauto
-or aren't network based.</para></sect3>
+or aren't network based.</para></sect4>
-<sect3><title>network</title>
+<sect4><title>network</title>
<para>The network script setup network interfaces (such as network cards)
-and sets up the default gateway where applicable.</para></sect3>
+and sets up the default gateway where applicable.</para></sect4>
-<sect3><title>rc</title>
+<sect4><title>rc</title>
<para>The rc script is the master runlevel control script which is
responsible for running all the other scripts one-by-one in a specific
-sequence.</para></sect3>
+sequence.</para></sect4>
-<sect3><title>reboot</title>
-<para>The reboot scripts reboots the system.</para></sect3>
+<sect4><title>reboot</title>
+<para>The reboot scripts reboots the system.</para></sect4>
-<sect3><title>sendsignals</title>
+<sect4><title>sendsignals</title>
<para>The sendsignals script makes sure every process is terminated before
-the system reboots or halts.</para></sect3>
+the system reboots or halts.</para></sect4>
-<sect3><title>setclock</title>
+<sect4><title>setclock</title>
<para>The setclock scripts resets the kernel clock to localtime in case
-the hardware clock isn't set to GMT time.</para></sect3>
+the hardware clock isn't set to GMT time.</para></sect4>
-<sect3><title>swap</title>
+<sect4><title>swap</title>
<para>The swap scripts enables and disables swap files and
-partitions.</para></sect3>
+partitions.</para></sect4>
-<sect3><title>sysklogd</title>
+<sect4><title>sysklogd</title>
<para>The sysklogd script start and stops the system and kernel log
-daemons.</para></sect3>
+daemons.</para></sect4>
-<sect3><title>template</title>
+<sect4><title>template</title>
<para>The template script is a template you can use to create your own
-bootscripts for your other daemons.</para></sect3>
+bootscripts for your other daemons.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/bzip2-desc.xml b/appendixa/bzip2-desc.xml
index 4aa463582..bad83408f 100644
--- a/appendixa/bzip2-desc.xml
+++ b/appendixa/bzip2-desc.xml
@@ -1,29 +1,39 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of bzip2-&bzip2-contversion;</title>
-<para>The Bzip2 packages contains the bunzip2, bzcat, bzip2 and bzip2recover
-programs.</para>
+<sect3><title>Program Files</title>
+<para>bunzip2 (link to bzip2), bzcat (link to bzip2), bzip2 and
+bzip2recover</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>bunzip2</title>
-<para>Bunzip2 decompresses files that are compressed with bzip2.</para></sect3>
+<sect4><title>bunzip2</title>
+<para>Bunzip2 decompresses files that are compressed with
+bzip2.</para></sect4>
-<sect3><title>bzcat</title>
+<sect4><title>bzcat</title>
<para>bzcat (or bzip2 -dc) decompresses all specified files to the standard
-output.</para></sect3>
+output.</para></sect4>
-<sect3><title>bzip2</title>
+<sect4><title>bzip2</title>
<para>bzip2 compresses files using the Burrows-Wheeler block sorting text
compression algorithm, and Huffman coding. Compression is generally
considerably better than that achieved by more conventional LZ77/LZ78-based
compressors, and approaches the performance of the PPM family of statistical
-compressors.</para></sect3>
+compressors.</para></sect4>
+
+<sect4><title>bzip2recover</title>
+<para>bzip2recover recovers data from damaged bzip2 files.</para></sect4>
+
+</sect3>
+
+<sect3><title>Library Files</title>
+<para>libbz2.[a,so]</para>
+
+<sect4><title>libbz2</title>
+<para>libbz2 is the library for implementing lossless, block-sorting data
+compression using the Burrows-Wheeler algorithm.</para></sect4>
-<sect3><title>bzip2recover</title>
-<para>bzip2recover recovers data from damaged bzip2 files.</para></sect3>
+</sect3>
</sect2>
diff --git a/appendixa/diffutils-desc.xml b/appendixa/diffutils-desc.xml
index 213f65bdd..0f34540df 100644
--- a/appendixa/diffutils-desc.xml
+++ b/appendixa/diffutils-desc.xml
@@ -1,24 +1,24 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of diffutils-&diffutils-contversion;</title>
-<para>The Diffutils package contains the cmp, diff, diff3 and sdiff programs.</para>
+<sect3><title>Program Files</title>
+<para>cmp, diff, diff3 and sdiff</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>cmp and diff</title>
+<sect4><title>cmp and diff</title>
<para>cmp and diff both compare two files and report their differences. Both
programs have extra options which compare files in
-different situations.</para></sect3>
+different situations.</para></sect4>
-<sect3><title>diff3</title>
+<sect4><title>diff3</title>
<para>The difference between diff and diff3 is that diff compares 2 files,
-diff3 compares 3 files.</para></sect3>
+diff3 compares 3 files.</para></sect4>
-<sect3><title>sdiff</title>
+<sect4><title>sdiff</title>
<para>sdiff merges two files and interactively outputs
-the results.</para></sect3>
+the results.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/e2fsprogs-desc.xml b/appendixa/e2fsprogs-desc.xml
index 91f830e00..9c69fbbb2 100644
--- a/appendixa/e2fsprogs-desc.xml
+++ b/appendixa/e2fsprogs-desc.xml
@@ -1,65 +1,109 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of e2fsprogs-&e2fsprogs-contversion;</title>
-<para>The e2fsprogs package contains the badblocks, chattr, debugfs,
-dumpe2fs, e2fsck, e2label, fsck, fsck.ext2, lsattr, mke2fs,
-mkfs.ext2, mklost+found, tune2fs and uuidgen programs.</para>
+<sect3><title>Program Files</title>
-</sect2>
+<para>badblocks, chattr, compile_et, debugfs, dumpe2fs, e2fsck,
+e2image, e2label, fsck, fsck.ext2, fsck.ext3, lsattr, mk_cmds, mke2fs,
+mkfs.ext2, mklost+found, resize2fs, tune2fs and uuidgen</para></sect3>
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>badblocks</title>
+<sect4><title>badblocks</title>
<para>badblocks is used to search for bad blocks on a device (usually a disk
-partition).</para></sect3>
+partition).</para></sect4>
-<sect3><title>chattr</title>
+<sect4><title>chattr</title>
<para>chattr changes the file attributes on a Linux second extended file
-system. </para></sect3>
+system. </para></sect4>
+
+<sect4><title>compile_et</title>
+<para>compile_et is used to convert a table listing error-code names
+and associated messages into a C source file suitable for use with the
+com_err library</para></sect4>
-<sect3><title>debugfs</title>
+<sect4><title>debugfs</title>
<para>The debugfs program is a file system debugger. It can be used to examine
-and change the state of an ext2 file system.</para></sect3>
+and change the state of an ext2 file system.</para></sect4>
-<sect3><title>dumpe2fs</title>
+<sect4><title>dumpe2fs</title>
<para>dumpe2fs prints the super block and blocks group information for the
-filesystem present on a specified device.</para></sect3>
+filesystem present on a specified device.</para></sect4>
-<sect3><title>e2fsck and fsck.ext2</title>
-<para>e2fsck is used to check a Linux second extended file system. fsck.ext2
-does the same as e2fsck.</para></sect3>
+<sect4><title>e2fsck and fsck.ext2</title>
+<para>e2fsck is used to check and optionally repair Linux second
+extended filesystems. fsck.ext2 does the same as e2fsck.</para></sect4>
-<sect3><title>e2label</title>
+<sect4><title>e2image</title>
+<para>e2image is used to save critical ext2 filesystem data to
+a file</para></sect4>
+
+<sect4><title>e2label</title>
<para>e2label will display or change the filesystem label on the ext2
-filesystem located on the specified device.</para></sect3>
+filesystem located on the specified device.</para></sect4>
-<sect3><title>fsck</title>
+<sect4><title>fsck</title>
<para>fsck is used to check and optionally repair a Linux
-file system.</para></sect3>
+file system.</para></sect4>
+
+<sect4><title>fsck.ext3</title>
+<para>fsck.ext3 is used to check and optionally repair a Linux ext3
+filesystems</para></sect4>
-<sect3><title>lsattr</title>
+<sect4><title>lsattr</title>
<para>lsattr lists the file attributes on a second extended
-file system.</para></sect3>
+file system.</para></sect4>
-<sect3><title>mke2fs and mkfs.ext2</title>
+<sect4><title>mk_cmds</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>mke2fs and mkfs.ext2</title>
<para>mke2fs is used to create a Linux second extended file system on a device
-(usually a disk partition). mkfs.ext2 does the same as mke2fs.</para></sect3>
+(usually a disk partition). mkfs.ext2 does the same as mke2fs.</para></sect4>
-<sect3><title>mklost+found</title>
+<sect4><title>mklost+found</title>
<para>mklost+found is used to create a lost+found directory in the current
working directory on a Linux second extended file system. mklost+found
pre-allocates disk blocks to the directory to make it
-usable by e2fsck.</para></sect3>
+usable by e2fsck.</para></sect4>
+
+<sect4><title>resize2fs</title>
+<para>resize2fs is used to resize ext2 file systems.</para></sect4>
-<sect3><title>tune2fs</title>
+<sect4><title>tune2fs</title>
<para>tune2fs adjusts tunable filesystem parameters on a Linux second extended
-filesystem.</para></sect3>
+filesystem.</para></sect4>
-<sect3><title>uuidgen</title>
+<sect4><title>uuidgen</title>
<para>The uuidgen program creates a new universally unique identifier (UUID)
using the libuuid library. The new UUID can reasonably be considered unique
among all UUIDs created on the local system, and among UUIDs created on other
-systems in the past and in the future.</para></sect3>
+systems in the past and in the future.</para></sect4>
+
+</sect3>
+
+<sect3><title>Library Files</title>
+
+<para>libcom_err.[a,so], libe2p.[a,so], libext2fs.[a,so], libss.[a,so],
+libuuid.[a,so]</para></sect3>
+
+<sect3><title>Descriptions</title>
+
+<sect4><title>libcom_err</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>libe2p</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>libext2fs</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>libss</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>libuuid</title>
+<para>No description is currently available.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/ed-desc.xml b/appendixa/ed-desc.xml
index 214cc1f53..46531787b 100644
--- a/appendixa/ed-desc.xml
+++ b/appendixa/ed-desc.xml
@@ -1,15 +1,19 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of ed-&ed-contversion;</title>
-<para>The Ed package contains the ed program.</para>
+<sect3><title>Program Files</title>
+<para>ed and red (link to ed)</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Description</title>
+<sect4><title>ed</title>
<para>Ed is a line-oriented text editor. It is used to create, display,
-modify and
-otherwise manipulate text files.</para>
+modify and otherwise manipulate text files.</para></sect4>
+
+<sect4><title>red</title>
+<para>red is a restricted ed: it can only edit files in the current
+directory and cannot execute shell commands.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/file-desc.xml b/appendixa/file-desc.xml
index d9998c42a..143dc6b66 100644
--- a/appendixa/file-desc.xml
+++ b/appendixa/file-desc.xml
@@ -1,16 +1,17 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of file-&file-contversion;</title>
-<para>The File package contains the file program.</para>
+<sect3><title>Program Files</title>
+<para>file</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
+<sect4><title>file</title>
<para>File tests each specified file in an attempt to classify it. There are
three sets of tests, performed in this order: filesystem tests,
magic number tests, and language tests. The first test that succeeds
-causes the file type to be printed.</para>
+causes the file type to be printed.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/fileutils-desc.xml b/appendixa/fileutils-desc.xml
index c452dd279..d4ee7db78 100644
--- a/appendixa/fileutils-desc.xml
+++ b/appendixa/fileutils-desc.xml
@@ -1,96 +1,96 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of fileutils-&fileutils-contversion;</title>
-<para>The Fileutils package contains the chgrp, chmod, chown, cp, dd, df, dir,
-dircolors, du, install, ln, ls, mkdir, mkfifo, mknod, mv, rm, rmdir,
-shred, sync, touch and vdir programs.</para>
+<sect3><title>Program Files</title>
+<para>chgrp, chmod, chown, cp, dd, df, dir, dircolors, du, install, ln,
+ls, mkdir, mkfifo, mknod, mv, rm, rmdir, shred, sync, touch
+and vdir</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>chgrp</title>
+<sect4><title>chgrp</title>
<para>chgrp changes the group ownership of each given file to the named group,
-which can be either a group name or a numeric group ID.</para></sect3>
+which can be either a group name or a numeric group ID.</para></sect4>
-<sect3><title>chmod</title>
+<sect4><title>chmod</title>
<para>chmod changes the permissions of each given file according to mode, which
can be either a symbolic representation of changes to make, or an octal
-number representing the bit pattern for the new permissions.</para></sect3>
+number representing the bit pattern for the new permissions.</para></sect4>
-<sect3><title>chown</title>
+<sect4><title>chown</title>
<para>chown changes the user and/or group ownership of each
-given file.</para></sect3>
+given file.</para></sect4>
-<sect3><title>cp</title>
-<para>cp copies files from one place to another.</para></sect3>
+<sect4><title>cp</title>
+<para>cp copies files from one place to another.</para></sect4>
-<sect3><title>dd</title>
+<sect4><title>dd</title>
<para>dd copies a file (from the standard input to the standard output, by
default) with a user-selectable blocksize, while optionally performing
-conversions on it.</para></sect3>
+conversions on it.</para></sect4>
-<sect3><title>df</title>
+<sect4><title>df</title>
<para>df displays the amount of disk space available on the filesystem
containing each file name argument. If no file name is given, the space
-available on all currently mounted filesystems is shown.</para></sect3>
+available on all currently mounted filesystems is shown.</para></sect4>
-<sect3><title>dir, ls and vdir</title>
+<sect4><title>dir, ls and vdir</title>
<para>dir and vdir are versions of ls with different default output formats.
These programs list each given file or directory name. Directory contents
are sorted alphabetically. For ls, files are by default listed in columns,
sorted vertically, if the standard output is a terminal; otherwise they
are listed one per line. For dir, files are by default listed in columns,
sorted vertically. For vdir, files are by default listed in
-long format.</para></sect3>
+long format.</para></sect4>
-<sect3><title>dircolors</title>
+<sect4><title>dircolors</title>
<para>dircolors outputs commands to set the LS_COLOR environment variable.
The LS_COLOR variable is use to change the default color scheme used by
-ls and related utilities.</para></sect3>
+ls and related utilities.</para></sect4>
-<sect3><title>du</title>
+<sect4><title>du</title>
<para>du displays the amount of disk space used by each argument and for each
-subdirectory of directory arguments.</para></sect3>
+subdirectory of directory arguments.</para></sect4>
-<sect3><title>install</title>
+<sect4><title>install</title>
<para>install copies files and sets their permission modes and, if possible,
-their owner and group.</para></sect3>
+their owner and group.</para></sect4>
-<sect3><title>ln</title>
-<para>ln makes hard or soft (symbolic) links between files.</para></sect3>
+<sect4><title>ln</title>
+<para>ln makes hard or soft (symbolic) links between files.</para></sect4>
-<sect3><title>mkdir</title>
-<para>mkdir creates directories with a given name.</para></sect3>
+<sect4><title>mkdir</title>
+<para>mkdir creates directories with a given name.</para></sect4>
-<sect3><title>mkfifo</title>
-<para>mkfifo creates a FIFO with each given name.</para></sect3>
+<sect4><title>mkfifo</title>
+<para>mkfifo creates a FIFO with each given name.</para></sect4>
-<sect3><title>mknod</title>
+<sect4><title>mknod</title>
<para>mknod creates a FIFO, character special file, or block special file
-with the given file name.</para></sect3>
+with the given file name.</para></sect4>
-<sect3><title>mv</title>
+<sect4><title>mv</title>
<para>mv moves files from one directory to another or renames files, depending
-on the arguments given to mv.</para></sect3>
+on the arguments given to mv.</para></sect4>
-<sect3><title>rm</title>
-<para>rm removes files or directories.</para></sect3>
+<sect4><title>rm</title>
+<para>rm removes files or directories.</para></sect4>
-<sect3><title>rmdir</title>
-<para>rmdir removes directories, if they are empty.</para></sect3>
+<sect4><title>rmdir</title>
+<para>rmdir removes directories, if they are empty.</para></sect4>
-<sect3><title>shred</title>
+<sect4><title>shred</title>
<para>shred deletes a file securely, overwriting it first so that its
-contents can't be recovered.</para></sect3>
+contents can't be recovered.</para></sect4>
-<sect3><title>sync</title>
+<sect4><title>sync</title>
<para>sync forces changed blocks to disk and updates the
-super block.</para></sect3>
+super block.</para></sect4>
-<sect3><title>touch</title>
+<sect4><title>touch</title>
<para>touch changes the access and modification times of each given file to the
-current time. Files that do not exist are created empty.</para></sect3>
+current time. Files that do not exist are created empty.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/findutils-desc.xml b/appendixa/findutils-desc.xml
index ffd0611e8..b5f859b94 100644
--- a/appendixa/findutils-desc.xml
+++ b/appendixa/findutils-desc.xml
@@ -1,53 +1,53 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of findutils-&findutils-contversion;</title>
-<para>The Findutils package contains the bigram, code, find, frcode, locate,
-updatedb and xargs programs.</para>
+<sect3><title>Program Files</title>
+<para>bigram, code, find, frcode, locate, updatedb and
+xargs</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>bigram</title>
+<sect4><title>bigram</title>
<para>bigram is used together with code to produce older-style locate
databases. To learn more about these last three programs, read the locatedb.5
-manual page.</para></sect3>
+manual page.</para></sect4>
-<sect3><title>code</title>
+<sect4><title>code</title>
<para>code is the ancestor of frcode. It was used in older-style locate
-databases.</para></sect3>
+databases.</para></sect4>
-<sect3><title>find</title>
+<sect4><title>find</title>
<para>The find program searches for files in a directory hierarchy which match
a certain criteria. If no criteria is given, it lists all files in the
-current directory and its subdirectories.</para></sect3>
+current directory and its subdirectories.</para></sect4>
-<sect3><title>frcode</title>
+<sect4><title>frcode</title>
<para>updatedb runs a program called frcode to compress the list of file names
using front-compression, which reduces the database size by a factor of
-4 to 5.</para></sect3>
+4 to 5.</para></sect4>
-<sect3><title>locate</title>
+<sect4><title>locate</title>
<para>Locate scans a database which contain all files and directories on a
filesystem. This program lists the files and directories in this
database matching a certain criteria. If a user is looking for a file this
program will scan the database and tell him exactly where the files he
requested are located. This only makes sense if the locate database is
-fairly up-to-date else it will provide out-of-date information.</para></sect3>
+fairly up-to-date else it will provide out-of-date information.</para></sect4>
-<sect3><title>updatedb</title>
+<sect4><title>updatedb</title>
<para>The updatedb program updates the locate database. It scans the entire
file system (including other file system that are currently mounted
unless it is told not to do so) and puts every directory and file it finds
into the database that's used by the locate program which retrieves this
information. It's good practice to update this database once a day to
-have it up-to-date whenever it is needed.</para></sect3>
+have it up-to-date whenever it is needed.</para></sect4>
-<sect3><title>xargs</title>
+<sect4><title>xargs</title>
<para>The xargs command applies a command to a list of files. If there is
a need to perform the same command on multiple files, a file can be created
that contains all these files (one per line) and use xargs to perform that
-command on the list.</para></sect3>
+command on the list.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/flex-desc.xml b/appendixa/flex-desc.xml
index 14c87368d..6279fccfa 100644
--- a/appendixa/flex-desc.xml
+++ b/appendixa/flex-desc.xml
@@ -1,18 +1,39 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of flex-&flex-contversion;</title>
-<para>The Flex package contains the flex program</para>
+<sect3><title>Program Files</title>
+<para>flex, flex++ (link to flex) and lex</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<para>Flex is a tool for generating programs which recognize patterns in text.
-Pattern recognition is very useful in many applications. A user sets up rules
+<sect4><title>flex</title>
+<para>flex is a tool for generating programs which recognize
+patterns in text. Pattern recognition is very useful in many applications.
+A user sets up rules
what to look for and flex will make a program that looks for those
patterns. The reason people use flex is that it is much easier to sets up
rules for what to look for than to write the actual program that finds
-the text.</para>
+the text.</para></sect4>
+
+<sect4><title>flex++</title>
+<para>flex++ invokes a version of flex which is used exclusively for
+C++ scanners.</para></sect4>
+
+<sect4><title>lex</title>
+<para>We create a yacc script which calls flex using the -l option.
+This is for compatibility purposes for programs which use lex instead
+of flex.</para></sect4>
+
+</sect3>
+
+<sect3><title>Library Files</title>
+<para>libfl.a</para></sect3>
+
+<sect3><title>Descriptions</title>
+
+<sect4><title>libfl</title>
+<para>No description is currently available.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/gcc-desc.xml b/appendixa/gcc-desc.xml
index 68235d189..7200a92c7 100644
--- a/appendixa/gcc-desc.xml
+++ b/appendixa/gcc-desc.xml
@@ -1,34 +1,65 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of gcc-&gcc-contversion;</title>
-<para>The GCC package contains compilers, preprocessors and the GNU C++
-Library.</para>
+<sect3><title>Program Files</title>
+<para>c++, c++filt, cc (link to gcc), cc1, cc1plus, collect2, cpp, cpp0,
+g++, gcc, gcov, protoize and unprotoize</para></sect3>
-</sect2>
+<sect3><title>Descriptions</title>
+
+<sect4><title>cc, cc1, cc1plus, gcc</title>
+<para>These are the C compiler. A compiler translates source code in
+text format to a format that a computer understands. After a source code
+file is compiled into an object file, a linker will create an executable
+file from one or more of these compiler generated object files.</para></sect4>
+
+<sect4><title>c++, cc1plus, g++</title>
+<para>These are the C++ compiler; the equivalent of cc and
+gcc etc.</para></sect4>
-<sect2><title>Description</title>
+<sect4><title>c++filt</title>
+<para>c++filt is used to demangle C++ symbols.</para></sect4>
-<sect3><title>Compiler</title>
-<para>A compiler translates source code in text format to a format
-that a computer understands. After a source code file is compiled into
-an object file, a linker will create an executable file from one or more
-of these compiler generated object files.</para></sect3>
+<sect4><title>collect2</title>
+<para>No description is currently available.</para></sect4>
-<sect3><title>Preprocessor</title>
-<para>A preprocessor pre-processes a source file, such as including
-the contents of header files into the source file. It's a good idea to
-not
-do this manually to save a lot of time. Someone just inserts a line
+<sect4><title>cpp, cpp0</title>
+<para>cpp pre-processes a source file, such as including
+the contents of header files into the source file. It's a good idea to
+not do this manually to save a lot of time. Someone just inserts a line
like #include &lt;filename&gt;. The preprocessor inserts the
contents of that file into the source file. That's one of the things a
-preprocessor does.</para></sect3>
+preprocessor does.</para></sect4>
+
+<sect4><title>gcov</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>protoize</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>unprotoize</title>
+<para>No description is currently available.</para></sect4>
-<sect3><title>C++ Library</title>
-<para>The C++ library is used by C++ programs. The C++ library contains
+</sect3>
+
+<sect3><title>Library Files</title>
+<para>libgcc.a, libiberty.a, libstdc++.[a,so]</para>
+
+<sect4><title>libgcc</title>
+<para>libgcc.a is a run-time support file for gcc.Most of the time, on most
+machines, libgcc.a is not actually necessary.</para></sect4>
+
+<sect4><title>libiberty</title>
+<para>libiberty is a collection of subroutines used by various GNU
+programs including getopt, obstack, strerror, strtol and strtoul.</para></sect4>
+
+<sect4><title>libstdc++</title>
+<para>libstdc++ is the C++ library. It is used by C++ programs and contains
functions that are frequently used in C++ programs. This way the
programmer doesn't have to write certain functions (such as writing a
string of text to the screen) from scratch every time he creates a
-program.</para></sect3>
+program.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/gettext-desc.xml b/appendixa/gettext-desc.xml
index 36ae87209..4c59be861 100644
--- a/appendixa/gettext-desc.xml
+++ b/appendixa/gettext-desc.xml
@@ -1,40 +1,43 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of gettext-&gettext-contversion;</title>
-<para>The gettext package contains the gettext, gettextize, msgcmp, msgcomm,
-msgfmt, msgmerge, msgunfmt and xgettext programs.</para>
+<sect3><title>Program Files</title>
+<para>gettext, gettextize, msgcmp, msgcomm, msgfmt, msgmerge, msgunfmt,
+ngettext and xgettext</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>gettext</title>
+<sect4><title>gettext</title>
<para>The gettext package is used for internationalization (also known as
i18n) and for localization (also known as l10n). Programs can be
compiled with Native Language Support (NLS) which enable them to output
messages in the users native language rather than in the default English
-language.</para></sect3>
+language.</para></sect4>
+
+<sect4><title>gettextize</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>msgcmp</title>
+<para>No description is currently available.</para></sect4>
-<sect3><title>gettextize</title>
-<para>No description is currently available for this program.</para></sect3>
+<sect4><title>msgcomm</title>
+<para>No description is currently available.</para></sect4>
-<sect3><title>msgcmp</title>
-<para>No description is currently available for this program.</para></sect3>
+<sect4><title>msgfmt</title>
+<para>No description is currently available.</para></sect4>
-<sect3><title>msgcomm</title>
-<para>No description is currently available for this program.</para></sect3>
+<sect4><title>msgmerge</title>
+<para>No description is currently available.</para></sect4>
-<sect3><title>msgfmt</title>
-<para>No description is currently available for this program.</para></sect3>
+<sect4><title>msgunfmt</title>
+<para>No description is currently available.</para></sect4>
-<sect3><title>msgmerge</title>
-<para>No description is currently available for this program.</para></sect3>
+<sect4><title>ngettext</title>
+<para>No description is currently available.</para></sect4>
-<sect3><title>msgunfmt</title>
-<para>No description is currently available for this program.</para></sect3>
+<sect4><title>xgettext</title>
+<para>No description is currently available.</para></sect4>
-<sect3><title>xgettext</title>
-<para>No description is currently available for this program.</para></sect3>
+</sect3>
</sect2>
diff --git a/appendixa/glibc-desc.xml b/appendixa/glibc-desc.xml
index d456652aa..503932016 100644
--- a/appendixa/glibc-desc.xml
+++ b/appendixa/glibc-desc.xml
@@ -1,13 +1,137 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of glibc-&glibc-contversion;</title>
-<para>The Glibc package contains the GNU C Library.</para>
+<sect3><title>Program Files</title>
-</sect2>
+<para>catchsegv, gencat, getconf, getent, glibcbug, iconv, iconvconfig,
+ldconfig, ldd, lddlibc4, locale, localedef, mtrace, nscd, nscd_nischeck,
+pcprofiledump, pt_chown, rpcgen, rpcinfo, sln, sprof, tzselect, xtrace,
+zdump and zic</para></sect3>
+
+<sect3><title>Descriptions</title>
+
+<sect4><title>catchsegv</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>gencat</title>
+<para>gencat generates message catalogues.</para></sect4>
+
+<sect4><title>getconf</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>getent</title>
+<para>getent gets entries from an administrative database.</para></sect4>
+
+<sect4><title>glibcbug</title>
+<para>glibcbug creates a bug report about glibc and and mails it to the
+bug email address.</para></sect4>
+
+<sect4><title>iconv</title>
+<para>iconv performs character set conversion.</para></sect4>
+
+<sect4><title>iconvconfig</title>
+<para>iconvconfig creates fastloading iconv module
+configuration file.</para></sect4>
+
+<sect4><title>ldconfig</title>
+<para>ldconfig configures the dynamic linker run time bindings.</para></sect4>
+
+<sect4><title>ldd</title>
+<para>ldd prints the shared libraries required by each program or shared
+library specified on the command line.</para></sect4>
+
+<sect4><title>lddlibc4</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>locale</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>localedef</title>
+<para>localedef compiles locale specifications.</para></sect4>
+
+<sect4><title>mtrace</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>nscd</title>
+<para>nscd is a daemon that provides a cache for the most common name
+service requests.</para></sect4>
+
+<sect4><title>nscd_nischeck</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>pcprofiledump</title>
+<para>pcprofiledump dumps information generated by
+PC profiling.</para></sect4>
+
+<sect4><title>pt_chown</title>
+<para>pt_chown sets the owner, group and access permission of the
+slave pseudo terminal corresponding to the master pseudo terminal passed
+on file descriptor `3'. This is the helper program for the `grantpt'
+function. It is not intended to be run directly
+from the command line.</para></sect4>
+
+<sect4><title>rpcgen</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>rpcinfo</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>sln</title>
+<para>sln symbolically links dest to source. It is statically linked,
+needing no dynamic linking at all. Thus sln is useful to make symbolic
+links to dynamic libraries if the dynamic linking system for some reason
+is nonfunctional.</para></sect4>
+
+<sect4><title>sprof</title>
+<para>sprof reads and displays shared object profiling data.</para></sect4>
+
+<sect4><title>tzselect</title>
+<para>tzselect asks the user for information about the current location and
+outputs the resulting time zone description to standard output.</para></sect4>
+
+<sect4><title>xtrace</title>
+<para>xtrace traces execution of program by printing the currently executed
+function.</para></sect4>
+
+<sect4><title>zdump</title>
+<para>zdump is the time zone dumper.</para></sect4>
-<sect2><title>Description</title>
+<sect4><title>zic</title>
+<para>zic is the time zone compiler.</para></sect4>
-<para>The C Library is a collection of commonly used functions in programs.
+</sect3>
+
+<sect3><title>Library Files</title>
+<para>ld.so, libBrokenLocale.[a,so], libBrokenLocale_p.a,
+libSegFault.so, libanl.[a,so], libanl_p.a, libbsd-compat.a, libc.[a,so],
+libc_nonshared.a, libc_p.a, libcrypt.[a,so], libcrypt_p.a, libdl.[a,so],
+libdl_p.a, libg.a, libieee.a, libm.[a,so], libm_p.a, libmcheck.a,
+libmemusage.so, libnsl.a, libnsl_p.a, libnss_compat.so, libnss_dns.so,
+libnss_files.so, libnss_hesiod.so, libnss_nis.so, libnss_nisplus.so,
+libpcprofile.so, libpthread.[a,so], libpthread_p.a, libresolv.[a,so],
+libresolv_p.a, librpcsvc.a, librpcsvc_p.a, librt.[a,so], librt_p.a,
+libthread_db.so, libutil.[a,so] and libutil_p.a</para></sect3>
+
+<sect3><title>Descriptions</title>
+
+<sect4><title>ld.so</title>
+<para>ld.so is the helper program for shared library
+executables.</para></sect4>
+
+<sect4><title>libBrokenLocale.[a,so], libBrokenLocale_p.a</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>libSegFault.so</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>libanl.[a,so], libanl_p.a</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>libbsd-compat.a</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>libc.[a,so], libc_nonshared.a, libc_p.a</title>
+<para>These files constitute the main C library. The C Library is a
+collection of commonly used functions in programs.
This way a programmer doesn't need to create his own functions for every
single task. The most common things like writing a string to the screen
are already present and at the disposal of the programmer.</para>
@@ -18,9 +142,61 @@ library, the code from the C library will be copied into the executable
file. When a program uses a dynamic library, that executable will not
contain the code from the C library, but instead a routine that loads
the functions from the library at the time the program is run. This
-means a significant decrease in the file size of a program. The
+means a significant decrease in the file size of a program. The
documentation that comes with the C Library describes this in more
-detail, as it is too complicated to explain here in one or two lines.</para>
+detail, as it is too complicated to explain here in one or two
+lines.</para></sect4>
+
+<sect4><title>libcrypt.[a,so], libcrypt_p.a</title>
+<para>libcrypt is the cryptography library.</para></sect4>
+
+<sect4><title>libdl.[a,so], libdl_p.a</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>libg.a</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>libieee.a</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>libm.[a,so], libm_p.a</title>
+<para>libm is the mathematical library.</para></sect4>
+
+<sect4><title>libmcheck.a</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>libmemusage.so</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>libnsl.a, libnsl_p.a</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>libnss_compat.so, libnss_dns.so, libnss_files.so,
+libnss_hesiod.so, libnss_nis.so, libnss_nisplus.so</title>
+<para> </para></sect4>
+
+<sect4><title>libpcprofile.so</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>libpthread.[a,so], libpthread_p.a</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>libresolv.[a,so], libresolv_p.a</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>librpcsvc.a, librpcsvc_p.a</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>librt.[a,so], librt_p.a</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>libthread_db.so</title>
+<para>No description is currently available.</para></sect4>
+
+<sect4><title>libutil.[a,so], libutil_p.a</title>
+<para>No description is currently available.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/grep-desc.xml b/appendixa/grep-desc.xml
index 2182f7040..82e7c4b2b 100644
--- a/appendixa/grep-desc.xml
+++ b/appendixa/grep-desc.xml
@@ -1,23 +1,23 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of grep-&grep-contversion;</title>
-<para>The grep package contains the egrep, fgrep and grep programs.</para>
+<sect3><title>Program Files</title>
+<para>egrep, fgrep and grep</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>egrep</title>
+<sect4><title>egrep</title>
<para>egrep prints lines from files matching an extended regular expression
-pattern.</para></sect3>
+pattern.</para></sect4>
-<sect3><title>fgrep</title>
+<sect4><title>fgrep</title>
<para>fgrep prints lines from files matching a list of fixed strings,
-separated by newlines, any of which is to be matched.</para></sect3>
+separated by newlines, any of which is to be matched.</para></sect4>
-<sect3><title>grep</title>
+<sect4><title>grep</title>
<para>grep prints lines from files matching a basic regular expression
-pattern.</para></sect3>
+pattern.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/groff-desc.xml b/appendixa/groff-desc.xml
index 4a43db9c0..7c4a24b7b 100644
--- a/appendixa/groff-desc.xml
+++ b/appendixa/groff-desc.xml
@@ -1,116 +1,122 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of groff-&groff-contversion;</title>
-<para>The Groff packages contains the addftinfo, afmtodit, eqn, grodvi, groff,
-grog, grohtml, grolj4, grops, grotty, hpftodit, indxbib, lkbib, lookbib,
-neqn, nroff, pfbtops, pic, psbb, refer, soelim, tbl, tfmtodit and troff
-programs.</para>
+<sect3><title>Program Files</title>
+<para>addftinfo, afmtodit, eqn, grn, grodvi, groff, grog, grolbp, grolj4,
+grops, grotty, hpftodit, indxbib, lkbib, lookbib, mmroff, neqn, nroff,
+pfbtops, pic, post-grohtml, pre-grohtml, refer, soelim, tbl,
+tfmtodit and troff</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>addftinfo</title>
+<sect4><title>addftinfo</title>
<para>addftinfo reads a troff font file and adds some additional font-metric
-information that is used by the groff system.</para></sect3>
+information that is used by the groff system.</para></sect4>
-<sect3><title>afmtodit</title>
-<para>afmtodit creates a font file for use with groff and grops.</para></sect3>
+<sect4><title>afmtodit</title>
+<para>afmtodit creates a font file for use with groff and grops.</para></sect4>
-<sect3><title>eqn</title>
+<sect4><title>eqn</title>
<para>eqn compiles descriptions of equations embedded within troff input files
-into commands that are understood by troff.</para></sect3>
+into commands that are understood by troff.</para></sect4>
+
+<sect4><title>grn</title>
+<para>grn is a groff preprocessor for gremlin files.</para></sect4>
-<sect3><title>grodvi</title>
-<para>grodvi is a driver for groff that produces TeX dvi format.</para></sect3>
+<sect4><title>grodvi</title>
+<para>grodvi is a driver for groff that produces TeX dvi format.</para></sect4>
-<sect3><title>groff</title>
+<sect4><title>groff</title>
<para>groff is a front-end to the groff document formatting system. Normally it
runs the troff program and a post-processor appropriate for the selected
-device.</para></sect3>
+device.</para></sect4>
-<sect3><title>grog</title>
+<sect4><title>grog</title>
<para>grog reads files and guesses which of the groff options -e, -man, -me,
-mm, -ms, -p, -s, and -t are required for printing files, and prints the groff
-command including those options on the standard output.</para></sect3>
+command including those options on the standard output.</para></sect4>
-<sect3><title>grohtml</title>
-<para>grohtml translates the output of GNU troff to html</para></sect3>
+<sect4><title>grolbp</title>
+<para>grolbp is a groff driver for Canon CAPSL printers (LBP-4 and LBP-8
+series laser printers).</para></sect4>
-<sect3><title>grolj4</title>
+<sect4><title>grolj4</title>
<para>grolj4 is a driver for groff that produces output in PCL5 format suitable
-for an HP Laserjet 4 printer.</para></sect3>
+for an HP Laserjet 4 printer.</para></sect4>
-<sect3><title>grops</title>
-<para>grops translates the output of GNU troff to Postscript.</para></sect3>
+<sect4><title>grops</title>
+<para>grops translates the output of GNU troff to Postscript.</para></sect4>
-<sect3><title>grotty</title>
+<sect4><title>grotty</title>
<para>grotty translates the output of GNU troff into a form suitable for
-typewriter-like devices.</para></sect3>
+typewriter-like devices.</para></sect4>
-<sect3><title>hpftodit</title>
+<sect4><title>hpftodit</title>
<para>hpftodit creates a font file for use with groff -Tlj4 from an HP
-tagged font metric file.</para></sect3>
+tagged font metric file.</para></sect4>
-<sect3><title>indxbib</title>
+<sect4><title>indxbib</title>
<para>indxbib makes an inverted index for the bibliographic databases a
-specified file for use with refer, lookbib, and lkbib.</para></sect3>
+specified file for use with refer, lookbib, and lkbib.</para></sect4>
-<sect3><title>lkbib</title>
+<sect4><title>lkbib</title>
<para>lkbib searches bibliographic databases for references that contain
specified keys and prints any references found on the
-standard output.</para></sect3>
+standard output.</para></sect4>
-<sect3><title>lookbib</title>
+<sect4><title>lookbib</title>
<para>lookbib prints a prompt on the standard error (unless the standard input
is not a terminal), reads from the standard input a line containing a set
of keywords, searches the bibliographic databases in a specified file for
references containing those keywords, prints any references found on the
-standard output, and repeats this process until the end of input.</para></sect3>
+standard output, and repeats this process until the end of input.</para></sect4>
-<sect3><title>neqn</title>
-<para>The neqn script formats equations for ascii output.</para></sect3>
+<sect4><title>mmroff</title>
+<para>mmroff is a simple preprocessor for groff.</para></sect4>
-<sect3><title>nroff</title>
-<para>The nroff script emulates the nroff command using groff.</para></sect3>
+<sect4><title>neqn</title>
+<para>The neqn script formats equations for ascii output.</para></sect4>
-<sect3><title>pfbtops</title>
+<sect4><title>nroff</title>
+<para>The nroff script emulates the nroff command using groff.</para></sect4>
+
+<sect4><title>pfbtops</title>
<para>pfbtops translates a Postscript font in .pfb format
-to ASCII.</para></sect3>
+to ASCII.</para></sect4>
-<sect3><title>pic</title>
+<sect4><title>pic</title>
<para>pic compiles descriptions of pictures embedded within troff or TeX input
-files into commands that are understood by TeX or troff.</para></sect3>
+files into commands that are understood by TeX or troff.</para></sect4>
-<sect3><title>psbb</title>
-<para>psbb reads a file which should be a Postscript document conforming to the
-Document Structuring conventions and looks for a
-%%BoundingBox comment.</para></sect3>
+<sect4><title>pre-grohtml and post-grohtml</title>
+<para>pre- and post-grohtml translate the output of GNU troff
+to html.</para></sect4>
-<sect3><title>refer</title>
+<sect4><title>refer</title>
<para>refer copies the contents of a file to the standard output, except that
lines between .[ and .] are interpreted as citations, and lines between .R1
and .R2 are interpreted as commands about how citations are to be
-processed.</para></sect3>
+processed.</para></sect4>
-<sect3><title>soelim</title>
+<sect4><title>soelim</title>
<para>soelim reads files and replaces lines of the form
<emphasis>.so file</emphasis> by the contents of
-<emphasis>file</emphasis>.</para></sect3>
+<emphasis>file</emphasis>.</para></sect4>
-<sect3><title>tbl</title>
+<sect4><title>tbl</title>
<para>tbl compiles descriptions of tables embedded within troff input files
-into commands that are understood by troff.</para></sect3>
+into commands that are understood by troff.</para></sect4>
-<sect3><title>tfmtodit</title>
+<sect4><title>tfmtodit</title>
<para>tfmtodit creates a font file for use with <userinput>groff
--Tdvi</userinput></para></sect3>
+-Tdvi</userinput></para></sect4>
-<sect3><title>troff</title>
+<sect4><title>troff</title>
<para>troff is highly compatible with Unix troff. Usually it should be invoked
using the groff command, which will also run preprocessors and
post-processors in the appropriate order and with the appropriate
-options.</para></sect3>
+options.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/gzip-desc.xml b/appendixa/gzip-desc.xml
index f33fa4611..e756f5889 100644
--- a/appendixa/gzip-desc.xml
+++ b/appendixa/gzip-desc.xml
@@ -1,53 +1,53 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of gzip-&gzip-contversion;</title>
-<para>The Gzip package contains the gunzip, gzexe, gzip, uncompress,
-zcat, zcmp, zdiff, zforce, zgrep, zmore and znew programs.</para>
+<sect3><title>Program Files</title>
+<para>gunzip (link to gzip), gzexe, gzip,
+uncompress (link to gunzip), zcat (link to gzip), zcmp, zdiff, zforce,
+zgrep, zmore and znew</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Description</title>
-<sect3><title>gunzip, uncompress</title>
+<sect4><title>gunzip, uncompress</title>
<para>gunzip and uncompress decompress files which are compressed with
-gzip.</para></sect3>
+gzip.</para></sect4>
-<sect3><title>gzexe</title>
+<sect4><title>gzexe</title>
<para>gzexe allows you to compress executables in place and have them
automatically uncompress and execute when they are run (at a penalty in
-performance).</para></sect3>
+performance).</para></sect4>
-<sect3><title>gzip</title>
+<sect4><title>gzip</title>
<para>gzip reduces the size of the named files using
-Lempel-Ziv coding (LZ77).</para></sect3>
+Lempel-Ziv coding (LZ77).</para></sect4>
-<sect3><title>zcat</title>
+<sect4><title>zcat</title>
<para>zcat uncompresses either a list of files on the command line or its
standard input and writes the uncompressed data on
-standard output</para></sect3>
+standard output</para></sect4>
-<sect3><title>zcmp</title>
-<para>zcmp invokes the cmp program on compressed files.</para></sect3>
+<sect4><title>zcmp</title>
+<para>zcmp invokes the cmp program on compressed files.</para></sect4>
-<sect3><title>zdiff</title>
-<para>zdiff invokes the diff program on compressed files.</para></sect3>
+<sect4><title>zdiff</title>
+<para>zdiff invokes the diff program on compressed files.</para></sect4>
-<sect3><title>zforce</title>
-<para>zforce forces a .gz extension on all gzip files so that gzip will not
+<sect4><title>zforce</title>
+<para>zforce forces a .gz extension on all gzip files so that gzip will not
compress them twice. This can be useful for files with names truncated
-after a file transfer.</para></sect3>
+after a file transfer.</para></sect4>
-<sect3><title>zgrep</title>
-<para>zgrep invokes the grep program on compressed files.</para></sect3>
+<sect4><title>zgrep</title>
+<para>zgrep invokes the grep program on compressed files.</para></sect4>
-<sect3><title>zmore</title>
+<sect4><title>zmore</title>
<para>zmore is a filter which allows examination of compressed or plain text
files one screen at a time on a soft-copy terminal (similar to the
-more program).</para></sect3>
+more program).</para></sect4>
-<sect3><title>znew</title>
+<sect4><title>znew</title>
<para>znew re-compresses files from .Z (compress) format to
-.gz (gzip) format.</para></sect3>
+.gz (gzip) format.</para></sect4>
-</sect2>
+</sect3>
+</sect2>
diff --git a/appendixa/kbd-desc.xml b/appendixa/kbd-desc.xml
index 8ce852a28..6dbc93f61 100644
--- a/appendixa/kbd-desc.xml
+++ b/appendixa/kbd-desc.xml
@@ -1,97 +1,101 @@
-<sect2>
-<title>Contents</title>
-
-<para>The Kbd package contains the chvt, deallocvt, dumpkeys, fgconsole,
-getkeycodes, getunimap, kbd_mode, kbdrate, loadkeys, loadunimap, mapscrn,
-psfxtable, resizecons, setfont, setkeycodes, setleds, setlogcons,
+<sect2><title>Contents of kbd-&kbd-contversion;</title>
+
+<sect3><title>Program Files</title>
+<para>chvt, deallocvt, dumpkeys, fgconsole,
+getkeycodes, getunimap, kbd_mode, kbdrate, loadkeys, loadunimap,
+mapscrn, openvt, psfaddtable (link to psfxtable), psfgettable (link to
+psfxtable), psfstriptable (link to psfxtable), psfxtable, resizecons,
+setfont, setkeycodes, setleds, setlogcons,
setmetamode, setvesablank, showfont, showkey, unicode_start, and
-unicode_stop programs.</para>
-
-</sect2>
+unicode_stop</para></sect3>
-<sect2>
-<title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>chvt</title>
-<para>chvt changes foreground virtual terminal.</para></sect3>
+<sect4><title>chvt</title>
+<para>chvt changes foreground virtual terminal.</para></sect4>
-<sect3><title>deallocvt</title>
-<para>deallocvt deallocates unused virtual terminals.</para></sect3>
+<sect4><title>deallocvt</title>
+<para>deallocvt deallocates unused virtual terminals.</para></sect4>
-<sect3><title>dumpkeys</title>
-<para>dumpkeys dumps keyboard translation tables.</para></sect3>
+<sect4><title>dumpkeys</title>
+<para>dumpkeys dumps keyboard translation tables.</para></sect4>
-<sect3><title>fgconsole</title>
-<para>fgconsole prints the number of the active virtual terminal.</para></sect3>
+<sect4><title>fgconsole</title>
+<para>fgconsole prints the number of the active virtual terminal.</para></sect4>
-<sect3><title>getkeycodes</title>
+<sect4><title>getkeycodes</title>
<para>getkeycodes prints the kernel scancode-to-keycode
-mapping table.</para></sect3>
+mapping table.</para></sect4>
-<sect3><title>getunimap</title>
-<para>getunimap prints the currently used unimap.</para></sect3>
+<sect4><title>getunimap</title>
+<para>getunimap prints the currently used unimap.</para></sect4>
-<sect3><title>kbd_mode</title>
-<para>kbd_mode reports or sets the keyboard mode.</para></sect3>
+<sect4><title>kbd_mode</title>
+<para>kbd_mode reports or sets the keyboard mode.</para></sect4>
-<sect3><title>kbdrate</title>
-<para>kbdrate sets the keyboard repeat and delay rates.</para></sect3>
+<sect4><title>kbdrate</title>
+<para>kbdrate sets the keyboard repeat and delay rates.</para></sect4>
-<sect3><title>loadkeys</title>
-<para>loadkeys loads keyboard translation tables.</para></sect3>
+<sect4><title>loadkeys</title>
+<para>loadkeys loads keyboard translation tables.</para></sect4>
-<sect3><title>loadunimap</title>
-<para>loadunimap loads the kernel unicode-to-font mapping table.</para></sect3>
+<sect4><title>loadunimap</title>
+<para>loadunimap loads the kernel unicode-to-font mapping table.</para></sect4>
-<sect3><title>mapscrn</title>
+<sect4><title>mapscrn</title>
<para>mapscrn loads a user defined output character
mapping table into the console driver. Note that it is obsolete and that its
-features are built into setfont.</para></sect3>
+features are built into setfont.</para></sect4>
-<sect3><title>psfxtable</title>
-<para>psfxtable is a tool for handling Unicode character tables for
-console fonts.</para></sect3>
+<sect4><title>openvt</title>
+<para>openvt starts a program on a new virtual terminal (VT)</para></sect4>
-<sect3><title>resizecons</title>
-<para>resizecons changes the kernel idea of the console size.</para></sect3>
+<sect4><title>psfaddtable, psfgettable, psfstriptable, psfxtable</title>
+<para>These are a set of tools for handling Unicode character tables for
+console fonts.</para></sect4>
-<sect3><title>setfont</title>
-<para>This lets you change the EGA/VGA fonts in console.</para></sect3>
+<sect4><title>resizecons</title>
+<para>resizecons changes the kernel idea of the console size.</para></sect4>
-<sect3><title>setkeycodes</title>
+<sect4><title>setfont</title>
+<para>This lets you change the EGA/VGA fonts in console.</para></sect4>
+
+<sect4><title>setkeycodes</title>
<para>setkeycodes loads kernel scancode-to-keycode mapping
-table entries.</para></sect3>
+table entries.</para></sect4>
-<sect3><title>setleds</title>
+<sect4><title>setleds</title>
<para>setleds sets the keyboard LEDs. Many people find it useful to have numlock
enabled by default, and it is by using this program that you can
-achieve this.</para></sect3>
+achieve this.</para></sect4>
-<sect3><title>setlogcons</title>
-<para>setlogcons sends kernel messages to the console.</para></sect3>
+<sect4><title>setlogcons</title>
+<para>setlogcons sends kernel messages to the console.</para></sect4>
-<sect3><title>setmetamode</title>
-<para>setmetamode defines the keyboard meta key handling.</para></sect3>
+<sect4><title>setmetamode</title>
+<para>setmetamode defines the keyboard meta key handling.</para></sect4>
-<sect3><title>setvesablank</title>
+<sect4><title>setvesablank</title>
<para>This lets you fiddle with the built-in hardware screensaver
-(not toasters, only a blank screen).</para></sect3>
+(not toasters, only a blank screen).</para></sect4>
-<sect3><title>showfont</title>
+<sect4><title>showfont</title>
<para>showfont displays data about a font. The information shown includes font
information, font properties, character metrics, and
-character bitmaps.</para></sect3>
+character bitmaps.</para></sect4>
-<sect3><title>showkey</title>
+<sect4><title>showkey</title>
<para>showkey examines the scancodes and keycodes sent by
-the keyboard.</para></sect3>
+the keyboard.</para></sect4>
-<sect3><title>unicode_start</title>
-<para>unicode_start puts the console in Unicode mode.</para></sect3>
+<sect4><title>unicode_start</title>
+<para>unicode_start puts the console in Unicode mode.</para></sect4>
-<sect3><title>unicode_stop</title>
+<sect4><title>unicode_stop</title>
<para>unicode_stop reverts keyboard and console from
-unicode mode.</para></sect3>
+unicode mode.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/kernel-desc.xml b/appendixa/kernel-desc.xml
index 5d406cfe5..e0351ee97 100644
--- a/appendixa/kernel-desc.xml
+++ b/appendixa/kernel-desc.xml
@@ -1,18 +1,26 @@
-<sect2><title>Contents</title>
+<sect2><title>Contents of kernel-&kernel-contversion;</title>
-<para>The Linux kernel package contains the Linux kernel.</para>
+<sect3><title>Support Files</title>
+<para>the linux kernel and the linux kernel headers</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
+<sect4><title>linux kernel</title>
<para>The Linux kernel is at the core of every Linux system. It's what makes
Linux tick. When a computer is turned on and boots a Linux system, the
very first piece of Linux software that gets loaded is the kernel. The
kernel initializes the system's hardware components such as serial
ports, parallel ports, sound cards, network cards, IDE controllers, SCSI
controllers and a lot more. In a nutshell the kernel makes the hardware
-available so that the software can run.</para>
+available so that the software can run.</para></sect4>
+
+<sect4><title>linux kernel headers</title>
+<para>These are the files we copy to /usr/include/{linux,asm} in chapter
+5. They should match those which glibc was compiled against and so
+should <emphasis>not</emphasis> be replaced when upgrading the kernel.
+They are essential for compiling many programs.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/less-desc.xml b/appendixa/less-desc.xml
index 1a3121f81..ce2026fca 100644
--- a/appendixa/less-desc.xml
+++ b/appendixa/less-desc.xml
@@ -1,20 +1,26 @@
-<sect2><title>Contents</title>
+<sect2><title>Contents of less-&less-contversion;</title>
-<para>The Less package contains the less program</para>
+<sect3><title>Program Files</title>
+<para>less, lessecho and lesskey</para></sect3>
-</sect2>
+<sect3><title>Description</title>
+
+<sect4><title>less</title>
+<para>The less program is a file pager (or text viewer). It
+displays the contents of a file with the ability to scroll. Less is an
+improvement on the common pager called <quote>more</quote>. Less has
+the ability to scroll backwards through files as well and it doesn't need
+to read the entire file when it starts, which makes it faster when reading
+large files.</para></sect4>
+
+<sect4><title>lessecho</title>
+<para>lessecho is needed to expand metacharacters, such as * and ?, in
+filenames on Unix systems.</para></sect4>
+
+<sect4><title>lesskey</title>
+<para>lesskey is used to specify key bindings for less.</para></sect4>
-<sect2><title>Description</title>
-
-<para>The less program is a file pager (or text viewer). It displays the
-contents
-of a file with the ability to scroll. Less is an improvement on the
-common
-pager called <quote>more</quote>. Less has the ability to scroll
-backwards
-through files as well and it doesn't need to read the entire file when
-it
-starts, which makes it faster when reading large files.</para>
+</sect3>
</sect2>
diff --git a/appendixa/libtool-desc.xml b/appendixa/libtool-desc.xml
index 77649191e..41b347ecc 100644
--- a/appendixa/libtool-desc.xml
+++ b/appendixa/libtool-desc.xml
@@ -1,23 +1,30 @@
-<sect2><title>Contents</title>
+<sect2><title>Contents of libtool-&libtool-contversion;</title>
-<para>The Libtool package contains the libtool and libtoolize programs. It
-also contains the ltdl library.</para>
+<sect3><title>Program Files</title>
+<para>libtool and libtoolize</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>libtool</title>
+<sect4><title>libtool</title>
<para>Libtool provides generalized library-building
-support services.</para></sect3>
+support services.</para></sect4>
-<sect3><title>libtoolize</title>
+<sect4><title>libtoolize</title>
<para>libtoolize provides a standard way to add libtool support to a
-package.</para></sect3>
+package.</para></sect4>
+
+</sect3>
-<sect3><title>ltdl library</title>
+<sect3><title>Library Files</title>
+<para>libltdl.[a,so]</para></sect3>
+
+<sect3><title>Descriptions</title>
+
+<sect4><title>libltdl</title>
<para>Libtool provides a small library, called `libltdl', that aims at hiding
-the various difficulties of dlopening libraries from programmers.</para></sect3>
+the various difficulties of dlopening libraries from programmers.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/lilo-desc.xml b/appendixa/lilo-desc.xml
index 1d6575612..20a502875 100644
--- a/appendixa/lilo-desc.xml
+++ b/appendixa/lilo-desc.xml
@@ -1,14 +1,19 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of lilo-&lilo-contversion;</title>
-<para>The Lilo package contains the lilo program.</para>
+<sect3><title>Program Files</title>
+<para>lilo and mkrescue</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
+<sect4><title>lilo</title>
<para>lilo installs the Linux boot loader which is used to start a Linux
-system.</para>
+system.</para></sect4>
+
+<sect4><title>mkrescue</title>
+<para>mkrescue makes a bootable rescue floppy using the existing kernel
+and any initial ramdisk.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/m4-desc.xml b/appendixa/m4-desc.xml
index a62317f38..7c01963a0 100644
--- a/appendixa/m4-desc.xml
+++ b/appendixa/m4-desc.xml
@@ -1,19 +1,20 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of m4-&m4-contversion;</title>
-<para>The M4 package contains the M4 processor</para>
+<sect3><title>Program Files</title>
+<para>m4</para></sect3>
-</sect2>
-
-<sect2>
-<title>Description</title>
+<sect3><title>Descriptions</title>
+<sect4><title>m4</title>
<para>M4 is a macro processor. It copies input to output expanding macros as it
goes. Macros are either built-in or user-defined and can take any number
of arguments. Besides just doing macro expansion m4 has built-in functions
for including named files, running UNIX commands, doing integer arithmetic,
manipulating text in various ways, recursion, etc. M4 can be used either
-as a front-end to a compiler or as a macro processor in its own right.</para>
+as a front-end to a compiler or as a macro processor in its own
+right.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/make-desc.xml b/appendixa/make-desc.xml
index 88f8ed6c9..7e472f87e 100644
--- a/appendixa/make-desc.xml
+++ b/appendixa/make-desc.xml
@@ -1,13 +1,15 @@
-<sect2><title>Contents</title>
+<sect2><title>Contents of make-&make-contversion;</title>
-<para>The Make package contains the make program.</para>
+<sect3><title>Program files</title>
+<para>make</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
+<sect4><title>make</title>
<para>make determines automatically which pieces of a large program need to be
-recompiled, and issues the commands to recompile them.</para>
+recompiled, and issues the commands to recompile them.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/makedev-desc.xml b/appendixa/makedev-desc.xml
index 07042d910..0c46036ec 100644
--- a/appendixa/makedev-desc.xml
+++ b/appendixa/makedev-desc.xml
@@ -1,13 +1,17 @@
-<sect2><title>Contents</title>
+<sect2><title>Contents of MAKEDEV-&makedev-contversion;</title>
-<para>The MAKEDEV package contains the MAKEDEV script.</para>
+<sect3><title>Program Files</title>
+<para>MAKEDEV</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
+<sect4><title>MAKEDEV</title>
<para>MAKEDEV is a script that can help in creating the necessary static
-device files that usually reside in the /dev directory.</para>
+device files that usually reside in the /dev directory. More
+information on device nodes can be found in the Linux Kernel source tree
+in <filename>Documentation/devices.txt</filename>.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/man-desc.xml b/appendixa/man-desc.xml
index 5461fbe51..3d9735f30 100644
--- a/appendixa/man-desc.xml
+++ b/appendixa/man-desc.xml
@@ -1,32 +1,39 @@
-<sect2><title>Contents</title>
+<sect2><title>Contents of man-&man-contversion;</title>
-<para>The Man package contains the apropos, makewhatis, man and whatis
-programs.</para>
+<sect3><title>Program Files</title>
+<para>apropos, makewhatis, man, man2dvi, man2html and
+whatis</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>apropos</title>
+<sect4><title>apropos</title>
<para>apropos searches a set of database files containing short descriptions
of system commands for keywords and displays the result on the standard
-output.</para></sect3>
+output.</para></sect4>
-<sect3><title>makewhatis</title>
+<sect4><title>makewhatis</title>
<para>makewhatis reads all the manual pages contained in given sections of
manpath or the pre-formatted pages contained in the given sections of
catpath. For each page, it writes a line in the whatis database; each
line consists of the name of the page and a short description,
separated by a dash. The description is extracted using the content of
-the NAME section of the manual page.</para></sect3>
+the NAME section of the manual page.</para></sect4>
+
+<sect4><title>man</title>
+<para>man formats and displays the on-line manual pages.</para></sect4>
-<sect3><title>man</title>
-<para>man formats and displays the on-line manual pages.</para></sect3>
+<sect4><title>man2dvi</title>
+<para>man2dvi converts a manual page into dvi format.</para></sect4>
-<sect3><title>whatis</title>
+<sect4><title>man2html</title>
+<para>man2html converts a manual page into html.</para></sect4>
+
+<sect4><title>whatis</title>
<para>whatis searches a set of database files containing short descriptions
of system commands for keywords and displays the result on the standard
-output. Only complete word matches are displayed.</para></sect3>
+output. Only complete word matches are displayed.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/manpages-desc.xml b/appendixa/manpages-desc.xml
index a0d73e323..2fe4114d6 100644
--- a/appendixa/manpages-desc.xml
+++ b/appendixa/manpages-desc.xml
@@ -1,14 +1,17 @@
-<sect2><title>Contents</title>
+<sect2><title>Contents of manpages-&man-pages-contversion;</title>
-<para>The Man-pages package contains various manual pages that don't come with
-the packages.</para>
+<sect3><title>Support Files</title>
+<para>various manual pages that don't come with the
+packages.</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
+<sect4><title>manual pages</title>
<para>Examples of provided manual pages are the manual pages describing all
-the C and C++ functions, few important /dev/ files and more.</para>
+the C and C++ functions, a few important /dev/ files and
+more.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/mawk-desc.xml b/appendixa/mawk-desc.xml
index bdcd8bcd8..130f796b0 100644
--- a/appendixa/mawk-desc.xml
+++ b/appendixa/mawk-desc.xml
@@ -1,16 +1,21 @@
-<sect2><title>Contents</title>
+<sect2><title>Contents of mawk-&mawk-contversion;</title>
-<para>The Mawk package contains the mawk program.</para>
+<sect3><title>Program Files</title>
+<para>awk (link to mawk) and mawk</para></sect3>
-</sect2>
+<sect3><title>Descriptions</title>
-<sect2><title>Description</title>
+<sect4><title>awk</title>
+<para>awk is symlinked to mawk for programs which just look for any
+generic awk.</para></sect4>
-<sect3><title>mawk</title>
+<sect4><title>mawk</title>
<para>Mawk is an interpreter for the AWK Programming Language. The AWK
language is useful for manipulation of data files, text retrieval and
processing, and for prototyping and experimenting
-with algorithms.</para></sect3>
+with algorithms.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/modutils-desc.xml b/appendixa/modutils-desc.xml
index f48b28ec6..fde480fb7 100644
--- a/appendixa/modutils-desc.xml
+++ b/appendixa/modutils-desc.xml
@@ -1,54 +1,53 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of modutils-&modutils-contversion;</title>
-<para>The Modutils package contains the depmod, genksyms, insmod,
-insmod_ksymoops_clean, kerneld, kernelversion, ksyms, lsmod, modinfo,
-modprobe and rmmod programs.</para>
+<sect3><title>Program Files</title>
+<para>depmod, genksyms, insmod, insmod_ksymoops_clean, kallsyms (link to
+insmod), kernelversion, ksyms, lsmod (link to insmod),
+modinfo, modprobe (link to insmod) and rmmod</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>depmod</title>
+<sect4><title>depmod</title>
<para>depmod handles dependency descriptions for loadable
-kernel modules.</para></sect3>
+kernel modules.</para></sect4>
-<sect3><title>genksyms</title>
+<sect4><title>genksyms</title>
<para>genksyms reads (on standard input) the output from gcc -E source.c
-and generates a file containing version information.</para></sect3>
+and generates a file containing version information.</para></sect4>
-<sect3><title>insmod</title>
-<para>insmod installs a loadable module in the running kernel.</para></sect3>
+<sect4><title>insmod</title>
+<para>insmod installs a loadable module in the running kernel.</para></sect4>
-<sect3><title>insmod_ksymoops_clean</title>
+<sect4><title>insmod_ksymoops_clean</title>
<para>insmod_ksymoops_clean deletes saved ksyms and modules not accessed in
-2 days.</para></sect3>
+2 days.</para></sect4>
-<sect3><title>kerneld</title>
-<para>kerneld performs kernel action in user space (such as on-demand loading
-of modules)</para></sect3>
+<sect4><title>kallsyms</title>
+<para>kallsyms extracts all kernel symbols for debugging.</para></sect4>
-<sect3><title>kernelversion</title>
+<sect4><title>kernelversion</title>
<para>kernelversion reports the major version of the
-running kernel.</para></sect3>
+running kernel.</para></sect4>
-<sect3><title>ksyms</title>
-<para>ksyms displays exported kernel symbols.</para></sect3>
+<sect4><title>ksyms</title>
+<para>ksyms displays exported kernel symbols.</para></sect4>
-<sect3><title>lsmod</title>
-<para>lsmod shows information about all loaded modules.</para></sect3>
+<sect4><title>lsmod</title>
+<para>lsmod shows information about all loaded modules.</para></sect4>
-<sect3><title>modinfo</title>
+<sect4><title>modinfo</title>
<para>modinfo examines an object file associated with a kernel module and
-displays any information that it can glean.</para></sect3>
+displays any information that it can glean.</para></sect4>
-<sect3><title>modprobe</title>
+<sect4><title>modprobe</title>
<para>Modprobe uses a Makefile-like dependency file, created by depmod,
to automatically load the relevant module(s) from the set of modules
-available in predefined directory trees.</para></sect3>
+available in predefined directory trees.</para></sect4>
+
+<sect4><title>rmmod</title>
+<para>rmmod unloads loadable modules from the running kernel.</para></sect4>
-<sect3><title>rmmod</title>
-<para>rmmod unloads loadable modules from the running kernel.</para></sect3>
+</sect3>
</sect2>
diff --git a/appendixa/ncurses-desc.xml b/appendixa/ncurses-desc.xml
index 51a498a60..d91d57b65 100644
--- a/appendixa/ncurses-desc.xml
+++ b/appendixa/ncurses-desc.xml
@@ -1,52 +1,84 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents</title>
-<para>The Ncurses package contains the ncurses, panel, menu and form
-libraries. It also contains the clear, infocmp, tic, toe, tput and tset
-programs.</para>
+<sect3><title>Program Files</title>
+<para>captoinfo (link to tic), clear, infocmp, infotocap (link to tic),
+reset (link to tset), tack, tic, toe, tput and tset.</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>The libraries</title>
-<para>The libraries that make up the Ncurses library are used to display text
-(often in a fancy way) on the screen. An example where ncurses is used
-is in the kernel's <quote>make menuconfig</quote> process. The libraries
-contain routines to create panels, menu's, form and general text display
-routines.</para></sect3>
+<sect4><title>captoinfo</title>
+<para>captoinfo converts a termcap description into a terminfo
+description.</para></sect4>
-<sect3><title>clear</title>
-<para>The clear program clears the screen if this is possible. It looks in
+<sect4><title>clear</title>
+<para>clear clears the screen if this is possible. It looks in
the environment for the terminal type and then in the terminfo database
-to figure out how to clear the screen.</para></sect3>
+to figure out how to clear the screen.</para></sect4>
-<sect3><title>infocmp</title>
-<para>The infocmp program can be used to compare a binary terminfo entry with
+<sect4><title>infocmp</title>
+<para>infocmp can be used to compare a binary terminfo entry with
other terminfo entries, rewrite a terminfo description to
take advantage of the use= terminfo field, or print out a
terminfo description from the binary file (term) in a variety of
-formats (the opposite of what tic does).</para></sect3>
+formats (the opposite of what tic does).</para></sect4>
+
+<sect4><title>infotocap</title>
+<para>info to cap converts a terminfo description into a termcap
+description.</para></sect4>
+
+<sect4><title>reset</title>
+<para>reset sets cooked and echo modes, turns off cbreak and raw modes,
+turns on new-line translation and resets any unset special characters to
+their default values before doing terminal initialization the same way
+as tset.</para></sect4>
-<sect3><title>tic</title>
-<para>Tic is the terminfo entry-description compiler. The program translates a
+<sect4><title>tack</title>
+<para>tack is the terminfo action checker.</para></sect4>
+
+<sect4><title>tic</title>
+<para>tic is the terminfo entry-description compiler. The program translates a
terminfo file from source format into the binary format for use with the
ncurses library routines. Terminfo files contain information about the
-capabilities of a terminal.</para></sect3>
+capabilities of a terminal.</para></sect4>
-<sect3><title>toe</title>
-<para>The toe program lists all available terminal types by primary name with
-descriptions.</para></sect3>
+<sect4><title>toe</title>
+<para>toe lists all available terminal types by primary name with
+descriptions.</para></sect4>
-<sect3><title>tput</title>
-<para>The tput program uses the terminfo database to make the values of
-terminal-dependent capabilities and information available to the shell,
+<sect4><title>tput</title>
+<para>tput uses the terminfo database to make the values of
+terminal-dependent capabilities and information available to the shell,
to initialize or reset the terminal, or return the long name of the
-requested terminal type.</para></sect3>
+requested terminal type.</para></sect4>
-<sect3><title>tset</title>
-<para>The Tset program initializes terminals so they can be used, but it's not
-widely used anymore. It's provided for 4.4BSD compatibility.</para></sect3>
+<sect4><title>tset</title>
+<para>tset initializes terminals so they can be used, but it's not
+widely used anymore. It's provided for 4.4BSD compatibility.</para></sect4>
-</sect2>
+</sect3>
+
+<sect3><title>Library Files</title>
+<para>libcurses.[a,so] (link to libncurses.[a,so]), libform.[a,so],
+libform_g.a, libmenu.[a,so], libmenu_g.a, libncurses++.a,
+libncurses.[a,so], libncurses_g.a, libpanel.[a,so] and
+libpanel_g.a</para>
+<sect4><title>libcurses.[a,so], libncurses++.a, libncurses.[a,so],
+libncurses_g.a</title>
+<para>The libraries that make up the Ncurses library are used to display
+text (often in a fancy way) on the screen. An example where ncurses is used
+is in the kernel's <quote>make menuconfig</quote> process. The
+libncurses libraries are the base of the system.</para></sect4>
+
+<sect4><title>libform.[a,so], libform_g.a</title>
+<para>libform is used to implement forms in ncurses.</para></sect4>
+
+<sect4><title>libmenu.[a,so], libmenu_g.a</title>
+<para>libmenu is used to implement menus in ncurses.</para></sect4>
+
+<sect4><title>libpanel.[a,so], libpanel_g.a</title>
+<para>libpanel is used to implement panels in ncurses.</para></sect4>
+
+</sect3>
+
+</sect2>
diff --git a/appendixa/netkitbase-desc.xml b/appendixa/netkitbase-desc.xml
index 67be66bfb..ecf722044 100644
--- a/appendixa/netkitbase-desc.xml
+++ b/appendixa/netkitbase-desc.xml
@@ -1,20 +1,19 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of netkit-base-&netkit-base-contversion;</title>
-<para>The Netkit-base package contains the inetd and ping programs.</para>
+<sect3><title>Program Files</title>
+<para>inetd and ping</para></sect3>
-</sect2>
-
-<sect2>
-<title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>inetd</title>
+<sect4><title>inetd</title>
<para>inetd is the mother of all daemons. It listens for connections, and
-transfers the call to the appropriate daemon.</para></sect3>
+transfers the call to the appropriate daemon.</para></sect4>
-<sect3><title>ping</title>
+<sect4><title>ping</title>
<para>ping sends ICMP ECHO_REQUEST packets to a host and determines its
-response time.</para></sect3>
+response time.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/nettools-desc.xml b/appendixa/nettools-desc.xml
index b30f4b5b1..fe720e514 100644
--- a/appendixa/nettools-desc.xml
+++ b/appendixa/nettools-desc.xml
@@ -1,47 +1,67 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of net-tools-&net-tools-contversion;</title>
-<para>The Net-tools package contains the arp, hostname, ifconfig, netstat,
-plipconfig, rarp, route, and slattach programs.</para>
+<sect3><title>Program Files</title>
-</sect2>
+<para>arp, dnsdomainname (link to hostname), domainname (link to
+hostname), hostname, ifconfig, nameif, netstat, nisdomainname (link to
+hostname), plipconfig, rarp, route, slattach and ypdomainname (link to
+hostname)</para></sect3>
-<sect2>
-<title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>arp</title>
+<sect4><title>arp</title>
<para>arp is used to manipulate the kernel's ARP cache, usually to add
-or delete an entry, or to dump the ARP cache.</para></sect3>
+or delete an entry, or to dump the ARP cache.</para></sect4>
+
+<sect4><title>dnsdomainname</title>
+<para>dnsdomainname shows the system's DNS domain name.</para></sect4>
-<sect3><title>hostname</title>
-<para>hostname, with its symlinks domainname, dnsdomainname, nisdomainname,
-ypdomainname, and nodename, is used to set or show the system's hostname (or
-other, depending on the symlink used).</para></sect3>
+<sect4><title>domainname</title>
+<para>domainname shows or sets the system's NIS/YP domain
+name.</para></sect4>
-<sect3><title>ifconfig</title>
+<sect4><title>hostname</title>
+<para>hostname is used to set or show the system's
+hostname</para></sect4>
+
+<sect4><title>ifconfig</title>
<para>The ifconfig command is the general command used to configure network
-interfaces.</para></sect3>
+interfaces.</para></sect4>
+
+<sect4><title>nameif</title>
+<para>nameif names network interfaces based on MAC
+addresses</para></sect4>
-<sect3><title>netstat</title>
+<sect4><title>netstat</title>
<para>netstat is a multi-purpose tool used to print the network connections,
routing tables, interface statistics, masquerade connections, and multicast
-memberships.</para></sect3>
+memberships.</para></sect4>
-<sect3><title>plipconfig</title>
+<sect4><title>nisdomainname</title>
+<para>nisdomainname shows or sets system's NIS/YP domain
+name.</para></sect4>
+
+<sect4><title>plipconfig</title>
<para>plipconfig is used to fine-tune the PLIP device parameters, hopefully
-making it faster.</para></sect3>
+making it faster.</para></sect4>
-<sect3><title>rarp</title>
+<sect4><title>rarp</title>
<para>Akin to the arp program, the rarp program manipulates the system's
-RARP table.</para></sect3>
+RARP table.</para></sect4>
-<sect3><title>route</title>
+<sect4><title>route</title>
<para>route is the general utility which is used to manipulate the IP
-routing table.</para></sect3>
+routing table.</para></sect4>
-<sect3><title>slattach</title>
+<sect4><title>slattach</title>
<para>slattach attaches a network interface to a serial line, i.e.. puts a
-normal terminal line into one of several "network" modes.</para></sect3>
+normal terminal line into one of several "network" modes.</para></sect4>
+
+<sect4><title>ypdomainname</title>
+<para>updomainname shows or sets the system's NIS/YP domain
+name.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/patch-desc.xml b/appendixa/patch-desc.xml
index 729a52acb..3ebfed531 100644
--- a/appendixa/patch-desc.xml
+++ b/appendixa/patch-desc.xml
@@ -1,12 +1,11 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of patch-&patch-contversion;</title>
-<para>The Patch package contains the patch program.</para>
+<sect3><title>Program Files</title>
+<para>patch</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
+<sect4><title>patch</title>
<para>The patch program modifies a file according to a patch file. A patch
file usually is a list created by the diff program that contains
instructions on how an original file needs to be modified. Patch is used
@@ -16,7 +15,9 @@ only has changes in two files of the first version. It can be shipped as an
entirely new package of 1MB or just as a patch file of 1KB which will
update the first version to make it identical to the second version. So
if the first version was downloaded already, a patch file avoids
-a second large download.</para>
+a second large download.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/perl-desc.xml b/appendixa/perl-desc.xml
index 6c68f8a32..24b944279 100644
--- a/appendixa/perl-desc.xml
+++ b/appendixa/perl-desc.xml
@@ -1,16 +1,87 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of perl-&perl-contversion;</title>
-<para>The Perl package contains Perl - Practical Extraction and Report
-Language</para>
+<sect3><title>Program Files</title>
+<para>a2p, c2ph, dprofpp, find2perl, h2ph, h2xs, perl, perl5.6.1,
+perlbug, perlcc, perldoc, pl2pm, pod2html, pod2latex, pod2man, pod2text,
+pod2usage, podchecker, podselect, pstruct, s2p and splain</para></sect3>
-</sect2>
+<sect3><title>Descriptions</title>
+
+<sect4><title>a2p</title>
+<para>a2p is an awk to perl translator.</para></sect4>
+
+<sect4><title>c2ph</title>
+<para>c2ph dumps C structures as generated from "cc -g -S" stabs.</para></sect4>
+
+<sect4><title>dprofpp</title>
+<para>dprofpp displays perl profile data.</para></sect4>
+
+<sect4><title>find2perl</title>
+<para>find2perl translates find command lines to Perl code.</para></sect4>
+
+<sect4><title>h2ph</title>
+<para>h2ph converts .h C header files to .ph Perl header files.</para></sect4>
+
+<sect4><title>h2xs</title>
+<para>h2xs converts .h C header files to Perl extensions.</para></sect4>
+
+<sect4><title>perl, perl5.6.1</title>
+<para>perl is the Practical Extraction and Report Language. It combines
+some of the best features of C, sed, awk, and sh into one powerful
+language.</para></sect4>
+
+<sect4><title>perlbug</title>
+<para>perlbug helps to generate bug reports about perl or the
+modules that come with it, and mail them.</para></sect4>
+
+<sect4><title>perlcc</title>
+<para>perlcc generates executables from Perl programs.</para></sect4>
+
+<sect4><title>perldoc</title>
+<para>perldoc looks up a piece of documentation in .pod format that is
+embedded in the perl installation tree or in a perl script, and displays it
+via "pod2man | nroff -man | $PAGER".</para></sect4>
+
+<sect4><title>pl2pm</title>
+<para>pl2pm is a tool to aid in the conversion of Perl4-style .pl library
+files to Perl5-style library modules.</para></sect4>
+
+<sect4><title>pod2html</title>
+<para>pod2html converts files from pod format to HTML format.</para></sect4>
+
+<sect4><title>pod2latex</title>
+<para>pod2latex converts files from pod format to LaTeX format.</para></sect4>
+
+<sect4><title>pod2man</title>
+<para>pod2man converts pod data to formatted *roff input.</para></sect4>
+
+<sect4><title>pod2text</title>
+<para>pod2text converts pod data to formatted ASCII text.</para></sect4>
+
+<sect4><title>pod2usage</title>
+<para>pos2usage prints usage messages from embedded pod docs in
+files.</para></sect4>
+
+<sect4><title>podchecker</title>
+<para>podchecker checks the syntax of pod format documentation
+files.</para></sect4>
+
+<sect4><title>podselect</title>
+<para>podselect prints selected sections of pod documentation on
+standard output.</para></sect4>
+
+<sect4><title>pstruct</title>
+<para>pstruct dumps C structures as generated from "cc -g -S"
+stabs.</para></sect4>
+
+<sect4><title>s2p</title>
+<para>s2p is a sed to perl translator.</para></sect4>
-<sect2>
-<title>Description</title>
+<sect4><title>splain</title>
+<para>splain is a program to force verbose warning diagnostics
+in perl.</para></sect4>
-<para>Perl combines the features and capabilities of C, awk, sed and sh into
-one powerful programming language.</para>
+</sect3>
</sect2>
diff --git a/appendixa/procinfo-desc.xml b/appendixa/procinfo-desc.xml
index a22d5dcfb..370d24a29 100644
--- a/appendixa/procinfo-desc.xml
+++ b/appendixa/procinfo-desc.xml
@@ -1,14 +1,27 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of procinfo-&procinfo-contversion;</title>
-<para>The Procinfo package contains the procinfo program.</para>
+<sect3><title>Program Files</title>
+<para>lsdev, procinfo and socklist</para></sect3>
-</sect2>
+<sect3><title>Descriptions</title>
-<sect2><title>Description</title>
+<sect4><title>lsdev</title>
+<para>lsdev gathers information about your computer's installed hardware from
+the interrupts, ioports and dma files in the /proc directory, thus giving
+you a quick overview of which hardware uses what I/O addresses and what
+IRQ and DMA channels.</para></sect4>
+<sect4><title>procinfo</title>
<para>procinfo gathers some system data from the /proc directory
-and prints it nicely formatted on the standard output device.</para>
+and prints it nicely formatted on the standard output
+device.</para></sect4>
+
+<sect4><title>socklist</title>
+<para>is a Perl script that gives you a list of all open sockets, enumerating
+types, port, inode, uid, pid, fd and the program to which it
+belongs.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/procps-desc.xml b/appendixa/procps-desc.xml
index c330c8ab7..f4daaf1e0 100644
--- a/appendixa/procps-desc.xml
+++ b/appendixa/procps-desc.xml
@@ -1,60 +1,78 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of procps-&procps-contversion;</title>
-<para>The Procps package contains the free, kill, oldps, ps, skill, snice,
-sysctl, tload, top, uptime, vmstat, w and watch programs.</para>
+<sect3><title>Program Files</title>
+<para>free, kill, oldps, pgrep, pkill, ps, skill, snice, sysctl, tload, top,
+uptime, vmstat, w and watch</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>free</title>
+<sect4><title>free</title>
<para>free displays the total amount of free and used physical and swap memory
in the system, as well as the shared memory and buffers used by the
-kernel.</para></sect3>
+kernel.</para></sect4>
+
+<sect4><title>kill</title>
+<para>kills sends signals to processes.</para></sect4>
-<sect3><title>kill</title>
-<para>kills sends signals to processes.</para></sect3>
+<sect4><title>oldps and ps</title>
+<para>ps gives a snapshot of the current processes.</para></sect4>
-<sect3><title>oldps and ps</title>
-<para>ps gives a snapshot of the current processes.</para></sect3>
+<sect4><title>pgrep</title>
+<para>pgrep looks up processes based on name and other attributes</para></sect4>
-<sect3><title>skill</title>
-<para>skill sends signals to process matching a criteria.</para></sect3>
+<sect4><title>pkill</title>
+<para>pkill signals processes based on name and other attributes</para></sect4>
-<sect3><title>snice</title>
+<sect4><title>skill</title>
+<para>skill sends signals to process matching a criteria.</para></sect4>
+
+<sect4><title>snice</title>
<para>snice changes the scheduling priority for process matching a
-criteria.</para></sect3>
+criteria.</para></sect4>
-<sect3><title>sysctl</title>
-<para>sysctl modifies kernel parameters at runtime.</para></sect3>
+<sect4><title>sysctl</title>
+<para>sysctl modifies kernel parameters at runtime.</para></sect4>
-<sect3><title>tload</title>
+<sect4><title>tload</title>
<para>tload prints a graph of the current system load average to the
specified tty (or the tty of the tload process if
-none is specified).</para></sect3>
+none is specified).</para></sect4>
-<sect3><title>top</title>
+<sect4><title>top</title>
<para>top provides an ongoing look at processor activity
-in real time.</para></sect3>
+in real time.</para></sect4>
-<sect3><title>uptime</title>
+<sect4><title>uptime</title>
<para>uptime gives a one line display of the following information: the current
time, how long the system has been running, how many users are currently
logged on, and the system load averages for the past 1, 5, and 15
-minutes.</para></sect3>
+minutes.</para></sect4>
-<sect3><title>vmstat</title>
+<sect4><title>vmstat</title>
<para>vmstat reports information about processes, memory, paging, block IO,
-traps, and cpu activity.</para></sect3>
+traps, and cpu activity.</para></sect4>
-<sect3><title>w</title>
+<sect4><title>w</title>
<para>w displays information about the users currently on the machine, and
-their processes.</para></sect3>
+their processes.</para></sect4>
-<sect3><title>watch</title>
+<sect4><title>watch</title>
<para>watch runs command repeatedly, displaying its output (the first
-screen full).</para></sect3>
+screen full).</para></sect4>
+
+</sect3>
+
+<sect3><title>Library Files</title>
+<para>libproc.so</para></sect3>
+
+<sect3><title>Descriptions</title>
+
+<sect4><title>libproc</title>
+<para>libproc is the library against which most of the programs in this
+set are linked to save disk space by implementing common functions only
+once.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/psmisc-desc.xml b/appendixa/psmisc-desc.xml
index c0b84959f..345362ac5 100644
--- a/appendixa/psmisc-desc.xml
+++ b/appendixa/psmisc-desc.xml
@@ -1,27 +1,29 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of psmisc-&psmisc-contversion;</title>
-<para>The Psmisc package contains the fuser, killall, pidof and pstree
-programs.</para>
+<sect3><title>Program Files</title>
+<para>fuser, killall, pidof (link to killall) and pstree</para>
-</sect2>
+<para>Note that in LFS we don't install the pidof link by default
+because we use pidof from sysvinit instead.</para></sect3>
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>fuser</title>
+<sect4><title>fuser</title>
<para>fuser displays the PIDs of processes using the specified files or file
-systems.</para></sect3>
+systems.</para></sect4>
-<sect3><title>killall</title>
+<sect4><title>killall</title>
<para>killall sends a signal to all processes running any of the specified
-commands.</para></sect3>
+commands.</para></sect4>
-<sect3><title>pidof</title>
+<sect4><title>pidof</title>
<para>Pidof finds the process id's (pids) of the named programs and
-prints those id's on standard output.</para></sect3>
+prints those id's on standard output.</para></sect4>
+
+<sect4><title>pstree</title>
+<para>pstree shows running processes as a tree.</para></sect4>
-<sect3><title>pstree</title>
-<para>pstree shows running processes as a tree.</para></sect3>
+</sect3>
</sect2>
diff --git a/appendixa/reiserfs-desc.xml b/appendixa/reiserfs-desc.xml
index ca2505051..c61eccc7c 100644
--- a/appendixa/reiserfs-desc.xml
+++ b/appendixa/reiserfs-desc.xml
@@ -1,30 +1,30 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of reiserfsprogs-&reiserfs-contversion;</title>
-<para>The reiserfsprogs package contains the debugreiserfs, mkreiserfs,
-reiserfsck, resize_reiserfs and unpack programs.</para>
+<sect3><title>Program Files</title>
+<para>debugreiserfs, mkreiserfs, reiserfsck, resize_reiserfs and
+unpack</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>debugreiserfs</title>
+<sect4><title>debugreiserfs</title>
<para>debugreiserfs can sometimes help to solve problems with reiserfs
filesystems. If it is called without options it prints the super block
-of any reiserfs filesystem found on the device.</para></sect3>
+of any reiserfs filesystem found on the device.</para></sect4>
-<sect3><title>mkreiserfs</title>
-<para>mkreiserfs creates a reiserfs file system.</para></sect3>
+<sect4><title>mkreiserfs</title>
+<para>mkreiserfs creates a reiserfs file system.</para></sect4>
-<sect3><title>reiserfsck</title>
-<para>reiserfsck checks a reiserfs file system.</para></sect3>
+<sect4><title>reiserfsck</title>
+<para>reiserfsck checks a reiserfs file system.</para></sect4>
-<sect3><title>resize_reiserfs</title>
+<sect4><title>resize_reiserfs</title>
<para>resize_reiserfs is used to resize an unmounted reiserfs file
-system</para></sect3>
+system</para></sect4>
+
+<sect4><title>unpack</title>
+<para>No description is currently available.</para></sect4>
-<sect3><title>unpack</title>
-<para>No description is currently available for unpack.</para></sect3>
+</sect3>
</sect2>
diff --git a/appendixa/sed-desc.xml b/appendixa/sed-desc.xml
index 4863ae9b3..8bb1037f1 100644
--- a/appendixa/sed-desc.xml
+++ b/appendixa/sed-desc.xml
@@ -1,14 +1,16 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of sed-&sed-contversion;</title>
-<para>The Sed package contains the sed program.</para>
+<sect3><title>Program Files</title>
+<para>sed</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
+<sect4><title>sed</title>
<para>sed is a stream editor. A stream editor is used to perform basic text
-transformations on an input stream (a file or input from a pipeline).</para>
+transformations on an input stream (a file or input from a
+pipeline).</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/shadowpwd-desc.xml b/appendixa/shadowpwd-desc.xml
index 23586e740..bcaec9c12 100644
--- a/appendixa/shadowpwd-desc.xml
+++ b/appendixa/shadowpwd-desc.xml
@@ -1,134 +1,145 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of shadow-&shadow-contversion;</title>
-<para>The Shadow Password Suite contains the chage, chfn, chpasswd, chsh,
-dpasswd, expiry, faillog, gpasswd, groupadd, groupdel, groupmod, grpck,
-grpconv, grpunconv, lastlog, login, newgrp, passwd, sg, su, logoutd,
-mkpasswd, newusers, pwck, pwconv, pwunconv, useradd,
-userdel, usermod, vigr and vipw programs.</para>
+<sect3><title>Program Files</title>
+<para>chage, chfn, chpasswd, chsh, dpasswd, expiry, faillog, gpasswd,
+groupadd, groupdel, groupmod, grpck, grpconv, grpunconv, lastlog, login,
+logoutd, mkpasswd, newgrp, newusers, passwd, pwck, pwconv, pwunconv, sg
+(link to newgrp), su, useradd, userdel, usermod, vigr (link to vipw) and
+vipw</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>chage</title>
+<sect4><title>chage</title>
<para>chage changes the number of days between password changes and the date of
-the last password change.</para></sect3>
+the last password change.</para></sect4>
-<sect3><title>chfn</title>
+<sect4><title>chfn</title>
<para>chfn changes user full name, office number, office extension, and home
-phone number information for a user's account.</para></sect3>
+phone number information for a user's account.</para></sect4>
-<sect3><title>chpasswd</title>
+<sect4><title>chpasswd</title>
<para>chpasswd reads a file of user name and password pairs from standard
input and uses this information to update a group of
-existing users.</para></sect3>
+existing users.</para></sect4>
-<sect3><title>chsh</title>
-<para>chsh changes the user login shell.</para></sect3>
+<sect4><title>chsh</title>
+<para>chsh changes the user login shell.</para></sect4>
-<sect3><title>dpasswd</title>
+<sect4><title>dpasswd</title>
<para>dpasswd adds, deletes, and updates dial-up passwords for
-user login shells.</para></sect3>
+user login shells.</para></sect4>
-<sect3><title>expiry</title>
-<para>Checks and enforces password expiration policy.</para></sect3>
+<sect4><title>expiry</title>
+<para>Checks and enforces password expiration policy.</para></sect4>
-<sect3><title>faillog</title>
+<sect4><title>faillog</title>
<para>faillog formats the contents of the failure log,/var/log/faillog, and
-maintains failure counts and limits.</para></sect3>
+maintains failure counts and limits.</para></sect4>
-<sect3><title>gpasswd</title>
-<para>gpasswd is used to administer the /etc/group file</para></sect3>
+<sect4><title>gpasswd</title>
+<para>gpasswd is used to administer the /etc/group file</para></sect4>
-<sect3><title>groupadd</title>
+<sect4><title>groupadd</title>
<para>The groupadd command creates a new group account using the values
specified on the command line and the default values from
-the system.</para></sect3>
+the system.</para></sect4>
-<sect3><title>groupdel</title>
+<sect4><title>groupdel</title>
<para>The groupdel command modifies the system account files, deleting all
-entries that refer to group.</para></sect3>
+entries that refer to group.</para></sect4>
-<sect3><title>groupmod</title>
+<sect4><title>groupmod</title>
<para>The groupmod command modifies the system account files to reflect the
-changes that are specified on the command line.</para></sect3>
+changes that are specified on the command line.</para></sect4>
-<sect3><title>grpck</title>
+<sect4><title>grpck</title>
<para>grpck verifies the integrity of the system authentication
-information.</para></sect3>
+information.</para></sect4>
-<sect3><title>grpconv</title>
+<sect4><title>grpconv</title>
<para>grpunconv converts to shadow group files from normal
-group files.</para></sect3>
+group files.</para></sect4>
-<sect3><title>grpunconv</title>
+<sect4><title>grpunconv</title>
<para>grpunconv converts from shadow group files to normal
-group files.</para></sect3>
+group files.</para></sect4>
-<sect3><title>lastlog</title>
+<sect4><title>lastlog</title>
<para>lastlog formats and prints the contents of the last login log,
/var/log/lastlog. The login-name, port, and last login time will be
-printed.</para></sect3>
-
-<sect3><title>login</title>
-<para>login is used to establish a new session with the system.</para></sect3>
-
-<sect3><title>newgrp</title>
-<para>newgrp is used to change the current group ID during a
-login session.</para></sect3>
-
-<sect3><title>passwd</title>
-<para>passwd changes passwords for user and group accounts.</para></sect3>
+printed.</para></sect4>
-<sect3><title>sg</title>
-<para>sg executes command as a different group ID.</para></sect3>
+<sect4><title>login</title>
+<para>login is used to establish a new session with the system.</para></sect4>
-<sect3><title>su</title>
-<para>Change the effective user id and group id to that of a user. This
-replaces the su programs that's installed from the
-Shellutils package.</para></sect3>
-
-<sect3><title>logoutd</title>
+<sect4><title>logoutd</title>
<para>logoutd enforces the login time and port restrictions specified in
-/etc/porttime.</para></sect3>
+/etc/porttime.</para></sect4>
-<sect3><title>mkpasswd</title>
+<sect4><title>mkpasswd</title>
<para>mkpasswd reads a file in the format given by the flags and converts it
-to the corresponding database file format.</para></sect3>
+to the corresponding database file format.</para></sect4>
+
+<sect4><title>newgrp</title>
+<para>newgrp is used to change the current group ID during a
+login session.</para></sect4>
-<sect3><title>newusers</title>
+<sect4><title>newusers</title>
<para>newusers reads a file of user name and clear text password pairs and uses
this information to update a group of existing users or to create new
-users.</para></sect3>
+users.</para></sect4>
-<sect3><title>pwck</title>
+<sect4><title>passwd</title>
+<para>passwd changes passwords for user and group accounts.</para></sect4>
+
+<sect4><title>pwck</title>
<para>pwck verifies the integrity of the system authentication
-information.</para></sect3>
+information.</para></sect4>
-<sect3><title>pwconv</title>
+<sect4><title>pwconv</title>
<para>pwconv converts to shadow passwd files from normal passwd
-files.</para></sect3>
+files.</para></sect4>
+
+<sect4><title>pwunconv</title>
+<para>pwunconv converts from shadow passwd files to normal files.</para></sect4>
+
+<sect4><title>sg</title>
+<para>sg executes command as a different group ID.</para></sect4>
-<sect3><title>pwunconv</title>
-<para>pwunconv converts from shadow passwd files to normal files.</para></sect3>
+<sect4><title>su</title>
+<para>Change the effective user id and group id to that of a user. This
+replaces the su programs that's installed from the
+Shellutils package.</para></sect4>
-<sect3><title>useradd</title>
+<sect4><title>useradd</title>
<para>useradd creates a new user or update default new user
-information.</para></sect3>
+information.</para></sect4>
-<sect3><title>userdel</title>
+<sect4><title>userdel</title>
<para>userdel modifies the system account files, deleting all entries that
-refer to a specified login name.</para></sect3>
+refer to a specified login name.</para></sect4>
-<sect3><title>usermod</title>
+<sect4><title>usermod</title>
<para>usermod modifies the system account files to reflect the changes that
-are specified on the command line.</para></sect3>
+are specified on the command line.</para></sect4>
-<sect3><title>vipw and vigr</title>
+<sect4><title>vipw and vigr</title>
<para>vipw and vigr will edit the files /etc/passwd and /etc/group,
respectively. With the -s flag, they will edit the shadow versions of
-those files, /etc/shadow and /etc/gshadow, respectively.</para></sect3>
+those files, /etc/shadow and /etc/gshadow, respectively.</para></sect4>
+
+</sect3>
+
+<sect3><title>Library Files</title>
+<para>libshadow.[a,so]</para></sect3>
+
+<sect3><title>Descriptions</title>
+
+<sect4><title>libshadow</title>
+<para>libshadow provides common functionality for the shadow
+programs.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/shellutils-desc.xml b/appendixa/shellutils-desc.xml
index 0ae673c22..b5664bc13 100644
--- a/appendixa/shellutils-desc.xml
+++ b/appendixa/shellutils-desc.xml
@@ -1,132 +1,132 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of sh-utils-&sh-utils-contversion;</title>
-<para>The Sh-utils package contains the basename, chroot, date, dirname,
+<sect3><title>Program Files</title>
+<para>basename, chroot, date, dirname,
echo, env, expr, factor, false, groups, hostid, hostname, id, logname,
nice, nohup, pathchk, pinky, printenv, printf, pwd, seq, sleep, stty,
-su, tee, test, true, tty, uname, uptime, users, who, whoami and yes
-programs.</para>
+su, tee, test, true, tty, uname, uptime, users, who, whoami and
+yes</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>basename</title>
-<para>basename strips directory and suffixes from filenames.</para></sect3>
+<sect4><title>basename</title>
+<para>basename strips directory and suffixes from filenames.</para></sect4>
-<sect3><title>chroot</title>
+<sect4><title>chroot</title>
<para>chroot runs a command or interactive shell with special
-root directory.</para></sect3>
+root directory.</para></sect4>
-<sect3><title>date</title>
+<sect4><title>date</title>
<para>date displays the current time in a specified format, or sets
-the system date.</para></sect3>
+the system date.</para></sect4>
-<sect3><title>dirname</title>
-<para>dirname strips non-directory suffixes from file name.</para></sect3>
+<sect4><title>dirname</title>
+<para>dirname strips non-directory suffixes from file name.</para></sect4>
-<sect3><title>echo</title>
-<para>echo displays a line of text.</para></sect3>
+<sect4><title>echo</title>
+<para>echo displays a line of text.</para></sect4>
-<sect3><title>env</title>
-<para>env runs a program in a modified environment.</para></sect3>
+<sect4><title>env</title>
+<para>env runs a program in a modified environment.</para></sect4>
-<sect3><title>expr</title>
-<para>expr evaluates expressions.</para></sect3>
+<sect4><title>expr</title>
+<para>expr evaluates expressions.</para></sect4>
-<sect3><title>factor</title>
+<sect4><title>factor</title>
<para>factor prints the prime factors of all specified
-integer numbers.</para></sect3>
+integer numbers.</para></sect4>
-<sect3><title>false</title>
-<para>false always exits with a status code indicating failure.</para></sect3>
+<sect4><title>false</title>
+<para>false always exits with a status code indicating failure.</para></sect4>
-<sect3><title>groups</title>
-<para>groups prints the groups a user is in.</para></sect3>
+<sect4><title>groups</title>
+<para>groups prints the groups a user is in.</para></sect4>
-<sect3><title>hostid</title>
+<sect4><title>hostid</title>
<para>hostid prints the numeric identifier (in hexadecimal) for the current
-host.</para></sect3>
+host.</para></sect4>
-<sect3><title>hostname</title>
-<para>hostname sets or prints the name of the current host system</para></sect3>
+<sect4><title>hostname</title>
+<para>hostname sets or prints the name of the current host system</para></sect4>
-<sect3><title>id</title>
+<sect4><title>id</title>
<para>id prints the real and effective UIDs and GIDs of a user or the current
-user.</para></sect3>
+user.</para></sect4>
-<sect3><title>logname</title>
-<para>logname prints the current user's login name.</para></sect3>
+<sect4><title>logname</title>
+<para>logname prints the current user's login name.</para></sect4>
-<sect3><title>nice</title>
-<para>nice runs a program with modified scheduling priority.</para></sect3>
+<sect4><title>nice</title>
+<para>nice runs a program with modified scheduling priority.</para></sect4>
-<sect3><title>nohup</title>
+<sect4><title>nohup</title>
<para>nohup runs a command immune to hangups, with output to a
-non-tty</para></sect3>
+non-tty</para></sect4>
-<sect3><title>pathchk</title>
-<para>pathchk checks whether file names are valid or portable.</para></sect3>
+<sect4><title>pathchk</title>
+<para>pathchk checks whether file names are valid or portable.</para></sect4>
-<sect3><title>pinky</title>
+<sect4><title>pinky</title>
<para>pinky is a lightweight finger utility which retrieves information about
-a certain user</para></sect3>
+a certain user</para></sect4>
-<sect3><title>printenv</title>
-<para>printenv prints all or part of the environment.</para></sect3>
+<sect4><title>printenv</title>
+<para>printenv prints all or part of the environment.</para></sect4>
-<sect3><title>printf</title>
+<sect4><title>printf</title>
<para>printf formats and prints data (the same as the printf C
-function).</para></sect3>
+function).</para></sect4>
-<sect3><title>pwd</title>
-<para>pwd prints the name of the current/working directory</para></sect3>
+<sect4><title>pwd</title>
+<para>pwd prints the name of the current/working directory</para></sect4>
-<sect3><title>seq</title>
+<sect4><title>seq</title>
<para>seq prints numbers in a certain range with a certain
-increment.</para></sect3>
+increment.</para></sect4>
-<sect3><title>sleep</title>
-<para>sleep delays for a specified amount of time.</para></sect3>
+<sect4><title>sleep</title>
+<para>sleep delays for a specified amount of time.</para></sect4>
-<sect3><title>stty</title>
-<para>stty changes and prints terminal line settings.</para></sect3>
+<sect4><title>stty</title>
+<para>stty changes and prints terminal line settings.</para></sect4>
-<sect3><title>su</title>
-<para>su runs a shell with substitute user and group IDs</para></sect3>
+<sect4><title>su</title>
+<para>su runs a shell with substitute user and group IDs</para></sect4>
-<sect3><title>tee</title>
+<sect4><title>tee</title>
<para>tee reads from standard input and writes to standard output and
-files.</para></sect3>
+files.</para></sect4>
-<sect3><title>test</title>
-<para>test checks file types and compares values.</para></sect3>
+<sect4><title>test</title>
+<para>test checks file types and compares values.</para></sect4>
-<sect3><title>true</title>
-<para>True always exits with a status code indicating success.</para></sect3>
+<sect4><title>true</title>
+<para>True always exits with a status code indicating success.</para></sect4>
-<sect3><title>tty</title>
+<sect4><title>tty</title>
<para>tty prints the file name of the terminal connected to standard
-input.</para></sect3>
+input.</para></sect4>
-<sect3><title>uname</title>
-<para>uname prints system information.</para></sect3>
+<sect4><title>uname</title>
+<para>uname prints system information.</para></sect4>
-<sect3><title>uptime</title>
-<para>uptime tells how long the system has been running.</para></sect3>
+<sect4><title>uptime</title>
+<para>uptime tells how long the system has been running.</para></sect4>
-<sect3><title>users</title>
+<sect4><title>users</title>
<para>users prints the user names of users currently logged in to the
-current host.</para></sect3>
+current host.</para></sect4>
+
+<sect4><title>who</title>
+<para>who shows who is logged on.</para></sect4>
-<sect3><title>who</title>
-<para>who shows who is logged on.</para></sect3>
+<sect4><title>whoami</title>
+<para>whoami prints the user's effective userid.</para></sect4>
-<sect3><title>whoami</title>
-<para>whoami prints the user's effective userid.</para></sect3>
+<sect4><title>yes</title>
+<para>yes outputs a string repeatedly until killed.</para></sect4>
-<sect3><title>yes</title>
-<para>yes outputs a string repeatedly until killed.</para></sect3>
+</sect3>
</sect2>
diff --git a/appendixa/sysklogd-desc.xml b/appendixa/sysklogd-desc.xml
index 090bf5fc3..639c8022a 100644
--- a/appendixa/sysklogd-desc.xml
+++ b/appendixa/sysklogd-desc.xml
@@ -1,21 +1,21 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of sysklogd-&sysklogd-contversion;</title>
-<para>The Sysklogd package contains the klogd and syslogd programs.</para>
+<sect3><title>Program Files</title>
+<para>klogd and syslogd</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>klogd</title>
+<sect4><title>klogd</title>
<para>klogd is a system daemon which intercepts and logs Linux kernel
-messages.</para></sect3>
+messages.</para></sect4>
-<sect3><title>syslogd</title>
+<sect4><title>syslogd</title>
<para>Syslogd provides a kind of logging that many modern programs use. Every
logged message contains at least a time and a hostname field, normally a
program name field, too, but that depends on how trusty the logging
-program is.</para></sect3>
+program is.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/sysvinit-desc.xml b/appendixa/sysvinit-desc.xml
index aa52e91fa..be790189d 100644
--- a/appendixa/sysvinit-desc.xml
+++ b/appendixa/sysvinit-desc.xml
@@ -1,86 +1,86 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of sysvinit-&sysvinit-contversion;</title>
-<para>The Sysvinit package contains the halt, init, killall5, last,
-lastb, mesg, pidof, poweroff, reboot, runlevel, shutdown, sulogin,
-telinit, utmpdump, wall,</para>
+<sect3><title>Program Files</title>
+<para>halt, init, killall5, last, lastb (link to last), mesg, pidof
+(link to killall5), poweroff (link to halt), reboot (link to halt),
+runlevel, shutdown, sulogin, telinit (link to init), utmpdump and
+wall</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>halt</title>
-<para>Halt notes that the system is being brought down in the file
+<sect4><title>halt</title>
+<para>halt notes that the system is being brought down in the file
/var/log/wtmp, and then either tells the kernel to halt, reboot or
poweroff the system. If halt or reboot is called when the system is not
in runlevel 0 or 6, shutdown will be invoked instead (with
-the flag -h or -r).</para></sect3>
+the flag -h or -r).</para></sect4>
-<sect3><title>init</title>
-<para>Init is the parent of all processes. Its primary role is to create
+<sect4><title>init</title>
+<para>init is the parent of all processes. Its primary role is to create
processes from a script stored in the file /etc/inittab. This
file usually has entries which cause init to spawn gettys on each line that
users can log in. It also controls autonomous processes required by any
-particular system.</para></sect3>
+particular system.</para></sect4>
-<sect3><title>killall5</title>
+<sect4><title>killall5</title>
<para>killall5 is the SystemV killall command. It sends a signal to all
processes except the processes in its own session, so it won't kill the
-shell that is running the script it was called from.</para></sect3>
+shell that is running the script it was called from.</para></sect4>
-
-<sect3><title>last</title>
+<sect4><title>last</title>
<para>last searches back through the file /var/log/wtmp (or the file designated
by the -f flag) and displays a list of all users logged in (and out)
-since that file was created.</para></sect3>
+since that file was created.</para></sect4>
-<sect3><title>lastb</title>
+<sect4><title>lastb</title>
<para>lastb is the same as last, except that by default it shows a log of the
-file /var/log/btmp, which contains all the bad login attempts.</para></sect3>
+file /var/log/btmp, which contains all the bad login attempts.</para></sect4>
-<sect3><title>mesg</title>
+<sect4><title>mesg</title>
<para>Mesg controls the access to the users terminal by others. It's typically
-used to allow or disallow other users to write to his terminal.</para></sect3>
+used to allow or disallow other users to write to his terminal.</para></sect4>
-<sect3><title>pidof</title>
-<para>Pidof finds the process id's (pids) of the named programs and prints
-those id's on standard output.</para></sect3>
+<sect4><title>pidof</title>
+<para>pidof finds the process id's (pids) of the named programs and prints
+those id's on standard output.</para></sect4>
-<sect3><title>poweroff</title>
+<sect4><title>poweroff</title>
<para>poweroff is equivalent to shutdown -h -p now. It halts the computer and
switches off the computer (when using an APM compliant BIOS and APM is
-enabled in the kernel).</para></sect3>
+enabled in the kernel).</para></sect4>
-<sect3><title>reboot</title>
+<sect4><title>reboot</title>
<para>reboot is equivalent to shutdown -r now. It reboots
-the computer.</para></sect3>
+the computer.</para></sect4>
-<sect3><title>runlevel</title>
-<para>Runlevel reads the system utmp file (typically /var/run/utmp) to locate
+<sect4><title>runlevel</title>
+<para>runlevel reads the system utmp file (typically /var/run/utmp) to locate
the runlevel record, and then prints the previous and current system
-runlevel on its standard output, separated by a single space.</para></sect3>
+runlevel on its standard output, separated by a single space.</para></sect4>
-<sect3><title>shutdown</title>
+<sect4><title>shutdown</title>
<para>shutdown brings the system down in a secure way. All logged-in users are
-notified that the system is going down, and login is blocked.</para></sect3>
+notified that the system is going down, and login is blocked.</para></sect4>
-<sect3><title>sulogin</title>
+<sect4><title>sulogin</title>
<para>sulogin is invoked by init when the system goes into single user mode
(this is done through an entry in /etc/inittab). Init also tries to
execute sulogin when it is passed the -b flag from the boot loader
-(e.g., LILO).</para></sect3>
+(e.g., LILO).</para></sect4>
-<sect3><title>telinit</title>
+<sect4><title>telinit</title>
<para>telinit sends appropriate signals to init, telling it which runlevel to
-change to.</para></sect3>
+change to.</para></sect4>
-<sect3><title>utmpdump</title>
+<sect4><title>utmpdump</title>
<para>utmpdumps prints the content of a file (usually /var/run/utmp) on
-standard output in a user friendly format.</para></sect3>
+standard output in a user friendly format.</para></sect4>
+
+<sect4><title>wall</title>
+<para>wall sends a message to everybody logged in with their mesg permission
+set to yes.</para></sect4>
-<sect3><title>wall</title>
-<para>Wall sends a message to everybody logged in with their mesg permission
-set to yes.</para></sect3>
+</sect3>
</sect2>
diff --git a/appendixa/tar-desc.xml b/appendixa/tar-desc.xml
index bc537b03d..19e1df743 100644
--- a/appendixa/tar-desc.xml
+++ b/appendixa/tar-desc.xml
@@ -1,20 +1,20 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of tar-&tar-contversion;</title>
-<para>The tar package contains the rmt and tar programs.</para>
+<sect3><title>Program Files</title>
+<para>rmt and tar</para></sect3>
-</sect2>
-
-<sect2><title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>rmt</title>
+<sect4><title>rmt</title>
<para>rmt is a program used by the remote dump and restore programs in
manipulating a magnetic tape drive through an interprocess communication
-connection.</para></sect3>
+connection.</para></sect4>
-<sect3><title>tar</title>
+<sect4><title>tar</title>
<para>tar is an archiving program designed to store and extract files from
-an archive file known as a tar file.</para></sect3>
+an archive file known as a tar file.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/texinfo-desc.xml b/appendixa/texinfo-desc.xml
index 641c78a34..116175b34 100644
--- a/appendixa/texinfo-desc.xml
+++ b/appendixa/texinfo-desc.xml
@@ -1,38 +1,36 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of texinfo-&texinfo-contversion;</title>
-<para>The Texinfo package contains the info, install-info, makeinfo, texi2dvi
-and texindex programs</para>
+<sect3><title>Program Files</title>
+<para>info, install-info, makeinfo, texi2dvi and texindex</para></sect3>
-</sect2>
-
-<sect2>
-<title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>info</title>
+<sect4><title>info</title>
<para>The info program reads Info documents, usually contained in the
/usr/share/info directory. Info documents are like man(ual) pages, but
they tend to be more in depth than just explaining the options to a
-program.</para></sect3>
+program.</para></sect4>
-<sect3><title>install-info</title>
+<sect4><title>install-info</title>
<para>The install-info program updates the info entries. When the info
program is run a list with available topics (ie: available info documents) will
be presented. The install-info program is used to maintain this list of
available topics. If info files are removed manually, it is also necessary
to delete the topic in the index file as well. This program is used for
that. It also works the other way around when info documents are
-added.</para></sect3>
+added.</para></sect4>
-<sect3><title>makeinfo</title>
+<sect4><title>makeinfo</title>
<para>The makeinfo program translates Texinfo source documents into various
-formats. Available formats are: info files, plain text and HTML.</para></sect3>
+formats. Available formats are: info files, plain text and HTML.</para></sect4>
+
+<sect4><title>texi2dvi</title>
+<para>The texi2dvi program prints Texinfo documents</para></sect4>
-<sect3><title>texi2dvi</title>
-<para>The texi2dvi program prints Texinfo documents</para></sect3>
+<sect4><title>texindex</title>
+<para>The texindex program is used to sort Texinfo index files.</para></sect4>
-<sect3><title>texindex</title>
-<para>The texindex program is used to sort Texinfo index files.</para></sect3>
+</sect3>
</sect2>
diff --git a/appendixa/textutils-desc.xml b/appendixa/textutils-desc.xml
index 4b679c48e..397275d54 100644
--- a/appendixa/textutils-desc.xml
+++ b/appendixa/textutils-desc.xml
@@ -1,113 +1,112 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents of textutils-&textutils-contversion;</title>
-<para>The Textutils package contains the cat, cksum, comm, csplit, cut, expand,
+<sect3><title>Program Files</title>
+<para>cat, cksum, comm, csplit, cut, expand,
fmt, fold, head, join, md5sum, nl, od, paste, pr, ptx, sort, split, sum,
-tac, tail, tr, tsort, unexpand, uniq and wc programs.</para>
+tac, tail, tr, tsort, unexpand, uniq and wc</para></sect3>
-</sect2>
-
-<sect2>
-<title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>cat</title>
+<sect4><title>cat</title>
<para>cat concatenates file(s) or standard input to
-standard output.</para></sect3>
+standard output.</para></sect4>
-<sect3><title>cksum</title>
+<sect4><title>cksum</title>
<para>cksum prints CRC checksum and byte counts of each specified
-file.</para></sect3>
+file.</para></sect4>
-<sect3><title>comm</title>
-<para>comm compares two sorted files line by line.</para></sect3>
+<sect4><title>comm</title>
+<para>comm compares two sorted files line by line.</para></sect4>
-<sect3><title>csplit</title>
+<sect4><title>csplit</title>
<para>csplit outputs pieces of a file separated by (a) pattern(s) to files
xx01, xx02, ..., and outputs byte counts of each piece to standard
-output.</para></sect3>
+output.</para></sect4>
-<sect3><title>cut</title>
+<sect4><title>cut</title>
<para>cut prints selected parts of lines from specified files to standard
-output.</para></sect3>
+output.</para></sect4>
-<sect3><title>expand</title>
+<sect4><title>expand</title>
<para>expand converts tabs in files to spaces, writing to standard
-output.</para></sect3>
+output.</para></sect4>
-<sect3><title>fmt</title>
+<sect4><title>fmt</title>
<para>fmt reformats each paragraph in the specified file(s), writing to
-standard output.</para></sect3>
+standard output.</para></sect4>
-<sect3><title>fold</title>
+<sect4><title>fold</title>
<para>fold wraps input lines in each specified file (standard input by default),
-writing to standard output.</para></sect3>
+writing to standard output.</para></sect4>
-<sect3><title>head</title>
+<sect4><title>head</title>
<para>Print first xx (10 by default) lines of each specified file to standard
-output.</para></sect3>
+output.</para></sect4>
-<sect3><title>join</title>
-<para>join joins lines of two files on a common field.</para></sect3>
+<sect4><title>join</title>
+<para>join joins lines of two files on a common field.</para></sect4>
-<sect3><title>md5sum</title>
-<para>md5sum prints or checks MD5 checksums.</para></sect3>
+<sect4><title>md5sum</title>
+<para>md5sum prints or checks MD5 checksums.</para></sect4>
-<sect3><title>nl</title>
+<sect4><title>nl</title>
<para>nl writes each specified file to standard output, with line numbers
-added.</para></sect3>
+added.</para></sect4>
-<sect3><title>od</title>
+<sect4><title>od</title>
<para>od writes an unambiguous representation, octal bytes by default, of a
-specified file to standard output.</para></sect3>
+specified file to standard output.</para></sect4>
-<sect3><title>paste</title>
+<sect4><title>paste</title>
<para>paste writes lines consisting of the sequentially corresponding
lines from each specified file, separated by TABs,
-to standard output.</para></sect3>
+to standard output.</para></sect4>
-<sect3><title>pr</title>
-<para>pr paginates or columnates files for printing.</para></sect3>
+<sect4><title>pr</title>
+<para>pr paginates or columnates files for printing.</para></sect4>
-<sect3><title>ptx</title>
-<para>ptx produces a permuted index of file contents.</para></sect3>
+<sect4><title>ptx</title>
+<para>ptx produces a permuted index of file contents.</para></sect4>
-<sect3><title>sort</title>
+<sect4><title>sort</title>
<para>sort writes sorted concatenation of files to standard
-output.</para></sect3>
+output.</para></sect4>
-<sect3><title>split</title>
+<sect4><title>split</title>
<para>split outputs fixed-size pieces of an input file to
-PREFIXaa, PREFIXab, ...</para></sect3>
+PREFIXaa, PREFIXab, ...</para></sect4>
-<sect3><title>sum</title>
+<sect4><title>sum</title>
<para>sum prints checksum and block counts for each specified
-file.</para></sect3>
+file.</para></sect4>
-<sect3><title>tac</title>
+<sect4><title>tac</title>
<para>tac writes each specified file to standard output, last line
-first.</para></sect3>
+first.</para></sect4>
-<sect3><title>tail</title>
+<sect4><title>tail</title>
<para>tail print the last xx (10 by default) lines of each specified file to
-standard output.</para></sect3>
+standard output.</para></sect4>
-<sect3><title>tr</title>
+<sect4><title>tr</title>
<para>tr translates, squeezes, and/or deletes characters from standard
-input, writing to standard output.</para></sect3>
+input, writing to standard output.</para></sect4>
-<sect3><title>tsort</title>
+<sect4><title>tsort</title>
<para>tsort writes totally ordered lists consistent with the partial ordering
-in specified files.</para></sect3>
+in specified files.</para></sect4>
-<sect3><title>unexpand</title>
+<sect4><title>unexpand</title>
<para>unexpand converts spaces in each file to tabs, writing to standard
-output.</para></sect3>
+output.</para></sect4>
-<sect3><title>uniq</title>
-<para>Uniq removes duplicate lines from a sorted file.</para></sect3>
+<sect4><title>uniq</title>
+<para>Uniq removes duplicate lines from a sorted file.</para></sect4>
-<sect3><title>wc</title>
+<sect4><title>wc</title>
<para>wc prints line, word, and byte counts for each specified file, and a
-total line if more than one file is specified.</para></sect3>
+total line if more than one file is specified.</para></sect4>
+
+</sect3>
</sect2>
diff --git a/appendixa/utillinux-desc.xml b/appendixa/utillinux-desc.xml
index 1d707ff64..9995a7b9e 100644
--- a/appendixa/utillinux-desc.xml
+++ b/appendixa/utillinux-desc.xml
@@ -1,208 +1,217 @@
-<sect2>
-<title>Contents</title>
-
-<para>The Util-linux package contains the agetty, arch,
-blockdev, cal, cfdisk, chkdupexe, col, colcrt, colrm, column,
-ctrlaltdel, cytune, ddate, dmesg, elvtune, fdformat, fdisk,
-fsck.minix, getopt, hexdump, hwclock, ipcrm, ipcs,
-kill, logger, look, losetup,
-mcookie, mkfs, mkfs.bfs, mkfs.minix, mkswap, more, mount, namei,
-umount, ramsize, rdev, readprofile, rename, renice, rev, rootflags,
-script, setfdprm, setsid, setterm, sfdisk, swapdev, swapoff, swapon,
-tunelp, ul, vidmode, whereis, and write programs.</para>
-
-</sect2>
-
-<sect2>
-<title>Description</title>
-
-<sect3><title>agetty</title>
+<sect2><title>Contents of util-linux-&util-linux-contversion;</title>
+
+<sect3><title>Program Files</title>
+<para>agetty, arch, blockdev, cal, cfdisk, chkdupexe, col, colcrt,
+colrm, column, ctrlaltdel, cytune, ddate, dmesg, elvtune, fdformat, fdisk,
+fsck.minix, getopt, hexdump, hwclock, ipcrm, ipcs, isosize
+kill, line, logger, look, losetup, mcookie, mkfs, mkfs.bfs, mkfs.minix,
+mkswap, more, mount, namei, pivot_root,
+ramsize (link to rdev), raw, rdev, readprofile, rename, renice, rev,
+rootflags (link to rdev), script, setfdprm, setsid, setterm, sfdisk,
+swapoff (link to swapon), swapon, tunelp, ul, umount, vidmode, whereis
+and write</para></sect3>
+
+<sect3><title>Descriptions</title>
+
+<sect4><title>agetty</title>
<para>agetty opens a tty port, prompts for a login name and invokes the
-/bin/login command.</para></sect3>
+/bin/login command.</para></sect4>
-<sect3><title>arch</title>
-<para>arch prints the machine architecture.</para></sect3>
+<sect4><title>arch</title>
+<para>arch prints the machine architecture.</para></sect4>
-<sect3><title>blockdev</title>
+<sect4><title>blockdev</title>
<para>blockdev allows to call block device ioctls from the command
-line</para></sect3>
+line</para></sect4>
-<sect3><title>cal</title>
-<para>cal displays a simple calender.</para></sect3>
+<sect4><title>cal</title>
+<para>cal displays a simple calender.</para></sect4>
-<sect3><title>cfdisk</title>
+<sect4><title>cfdisk</title>
<para>cfdisk is an libncurses based disk partition table
-manipulator.</para></sect3>
+manipulator.</para></sect4>
-<sect3><title>chkdupexe</title>
-<para>chkdupexe finds duplicate executables.</para></sect3>
+<sect4><title>chkdupexe</title>
+<para>chkdupexe finds duplicate executables.</para></sect4>
-<sect3><title>col</title>
-<para>col filters reverse line feeds from input.</para></sect3>
+<sect4><title>col</title>
+<para>col filters reverse line feeds from input.</para></sect4>
-<sect3><title>colcrt</title>
-<para>colcrt filters nroff output for CRT previewing.</para></sect3>
+<sect4><title>colcrt</title>
+<para>colcrt filters nroff output for CRT previewing.</para></sect4>
-<sect3><title>colrm</title>
-<para>colrm removes columns from a file.</para></sect3>
+<sect4><title>colrm</title>
+<para>colrm removes columns from a file.</para></sect4>
-<sect3><title>column</title>
-<para>column columnates lists.</para></sect3>
+<sect4><title>column</title>
+<para>column columnates lists.</para></sect4>
-<sect3><title>ctrlaltdel</title>
+<sect4><title>ctrlaltdel</title>
<para>ctrlaltdel sets the function of the CTRL+ALT+DEL key combination (hard
-or soft reset).</para></sect3>
+or soft reset).</para></sect4>
-<sect3><title>cytune</title>
+<sect4><title>cytune</title>
<para>cytune queries and modifies the interruption threshold for the Cyclades
-driver.</para></sect3>
+driver.</para></sect4>
-<sect3><title>ddate</title>
-<para>ddate converts Gregorian dates to Discordian dates.</para></sect3>
+<sect4><title>ddate</title>
+<para>ddate converts Gregorian dates to Discordian dates.</para></sect4>
-<sect3><title>dmesg</title>
+<sect4><title>dmesg</title>
<para>dmesg is used to examine or control the kernel ring buffer (boot
-messages from the kernel).</para></sect3>
+messages from the kernel).</para></sect4>
-<sect3><title>elvtune</title>
+<sect4><title>elvtune</title>
<para>elvtune allows to tune the I/O elevator per block device queue
-basis.</para></sect3>
+basis.</para></sect4>
-<sect3><title>fdformat</title>
-<para>fdformat low-level formats a floppy disk.</para></sect3>
+<sect4><title>fdformat</title>
+<para>fdformat low-level formats a floppy disk.</para></sect4>
-<sect3><title>fdisk</title>
-<para>fdisk is a disk partition table manipulator.</para></sect3>
+<sect4><title>fdisk</title>
+<para>fdisk is a disk partition table manipulator.</para></sect4>
-<sect3><title>fsck.minix</title>
+<sect4><title>fsck.minix</title>
<para>fsck.minix performs a consistency check for the Linux MINIX
-filesystem.</para></sect3>
+filesystem.</para></sect4>
-<sect3><title>getopt</title>
+<sect4><title>getopt</title>
<para>getops parses command options the same way as the getopt C
-command.</para></sect3>
+command.</para></sect4>
-<sect3><title>hexdump</title>
+<sect4><title>hexdump</title>
<para>hexdump displays specified files, or standard input, in a user specified
-format (ascii, decimal, hexadecimal, octal).</para></sect3>
+format (ascii, decimal, hexadecimal, octal).</para></sect4>
-<sect3><title>hwclock</title>
+<sect4><title>hwclock</title>
<para>hwclock queries and sets the hardware clock (Also called the RTC or BIOS
-clock).</para></sect3>
+clock).</para></sect4>
+
+<sect4><title>ipcrm</title>
+<para>ipcrm removes a specified resource.</para></sect4>
-<sect3><title>ipcrm</title>
-<para>ipcrm removes a specified resource.</para></sect3>
+<sect4><title>ipcs</title>
+<para>ipcs provides information on IPC facilities.</para></sect4>
-<sect3><title>ipcs</title>
-<para>ipcs provides information on IPC facilities.</para></sect3>
+<sect4><title>isosize</title>
+<para>isosize outputs the length of a iso9660 file system.</para></sect4>
-<sect3><title>kill</title>
-<para>kill sends a specified signal to the specified process.</para></sect3>
+<sect4><title>kill</title>
+<para>kill sends a specified signal to the specified process.</para></sect4>
-<sect3><title>logger</title>
-<para>logger makes entries in the system log.</para></sect3>
+<sect4><title>line</title>
+<para>line copies one line (up to a newline) from standard input and writes it
+to standard output.</para></sect4>
-<sect3><title>look</title>
-<para>look displays lines beginning with a given string.</para></sect3>
+<sect4><title>logger</title>
+<para>logger makes entries in the system log.</para></sect4>
-<sect3><title>losetup</title>
-<para>losetup sets up and controls loop devices.</para></sect3>
+<sect4><title>look</title>
+<para>look displays lines beginning with a given string.</para></sect4>
-<sect3><title>mcookie</title>
-<para>mcookie generates magic cookies for xauth.</para></sect3>
+<sect4><title>losetup</title>
+<para>losetup sets up and controls loop devices.</para></sect4>
-<sect3><title>mkfs</title>
+<sect4><title>mcookie</title>
+<para>mcookie generates magic cookies for xauth.</para></sect4>
+
+<sect4><title>mkfs</title>
<para>mkfs builds a Linux filesystem on a device, usually a harddisk
-partition.</para></sect3>
+partition.</para></sect4>
-<sect3><title>mkfs.bfs</title>
+<sect4><title>mkfs.bfs</title>
<para>mkfs.bfs creates a SCO bfs file system on a device, usually a harddisk
-partition.</para></sect3>
+partition.</para></sect4>
-<sect3><title>mkfs.minix</title>
+<sect4><title>mkfs.minix</title>
<para>mkfs.minix creates a Linux MINIX filesystem on a device, usually a
-harddisk partition.</para></sect3>
+harddisk partition.</para></sect4>
-<sect3><title>mkswap</title>
-<para>mkswap sets up a Linux swap area on a device or in a file.</para></sect3>
+<sect4><title>mkswap</title>
+<para>mkswap sets up a Linux swap area on a device or in a file.</para></sect4>
-<sect3><title>more</title>
+<sect4><title>more</title>
<para>more is a filter for paging through text one screen full at a
-time.</para></sect3>
+time.</para></sect4>
-<sect3><title>mount</title>
+<sect4><title>mount</title>
<para>mount mounts a filesystem from a device to a directory (mount
-point).</para></sect3>
+point).</para></sect4>
+
+<sect4><title>namei</title>
+<para>namei follows a pathname until a terminal point is found.</para></sect4>
-<sect3><title>namei</title>
-<para>namei follows a pathname until a terminal point is found.</para></sect3>
+<sect4><title>pivot_root</title>
+<para>pivot_root moves the root file system of the current process.</para></sect4>
-<sect3><title>umount</title>
-<para>umount unmounts a mounted filesystem.</para></sect3>
+<sect4><title>ramsize</title>
+<para>ramsize queries and sets RAM disk size.</para></sect4>
-<sect3><title>ramsize</title>
-<para>ramsize queries and sets RAM disk size.</para></sect3>
+<sect4><title>raw</title>
+<para>raw is used to bind a Linux raw character device to a block device.</para></sect4>
-<sect3><title>rdev</title>
+<sect4><title>rdev</title>
<para>rdev queries and sets image root device, swap device, RAM disk size, or
-video mode.</para></sect3>
+video mode.</para></sect4>
-<sect3><title>readprofile</title>
-<para>readprofile reads kernel profiling information.</para></sect3>
+<sect4><title>readprofile</title>
+<para>readprofile reads kernel profiling information.</para></sect4>
-<sect3><title>rename</title>
-<para>rename renames files.</para></sect3>
+<sect4><title>rename</title>
+<para>rename renames files.</para></sect4>
-<sect3><title>renice</title>
-<para>renice alters priority of running processes.</para></sect3>
+<sect4><title>renice</title>
+<para>renice alters priority of running processes.</para></sect4>
-<sect3><title>rev</title>
-<para>rev reverses lines of a file.</para></sect3>
+<sect4><title>rev</title>
+<para>rev reverses lines of a file.</para></sect4>
-<sect3><title>rootflags</title>
+<sect4><title>rootflags</title>
<para>rootflags queries and sets extra information used when mounting
-root.</para></sect3>
-
-<sect3><title>script</title>
-<para>script makes typescript of terminal session.</para></sect3>
+root.</para></sect4>
-<sect3><title>setfdprm</title>
-<para>setfdprm sets user-provides floppy disk parameters.</para></sect3>
+<sect4><title>script</title>
+<para>script makes typescript of terminal session.</para></sect4>
-<sect3><title>setsid</title>
-<para>setsid runs programs in a new session.</para></sect3>
+<sect4><title>setfdprm</title>
+<para>setfdprm sets user-provides floppy disk parameters.</para></sect4>
-<sect3><title>setterm</title>
-<para>setterm sets terminal attributes.</para></sect3>
+<sect4><title>setsid</title>
+<para>setsid runs programs in a new session.</para></sect4>
-<sect3><title>sfdisk</title>
-<para>sfdisk is a disk partition table manipulator.</para></sect3>
+<sect4><title>setterm</title>
+<para>setterm sets terminal attributes.</para></sect4>
-<sect3><title>swapdev</title>
-<para>swapdev queries and sets swap device.</para></sect3>
+<sect4><title>sfdisk</title>
+<para>sfdisk is a disk partition table manipulator.</para></sect4>
-<sect3><title>swapoff</title>
-<para>swapoff disables devices and files for paging and swapping.</para></sect3>
+<sect4><title>swapoff</title>
+<para>swapoff disables devices and files for paging and swapping.</para></sect4>
-<sect3><title>swapon</title>
-<para>swapon enables devices and files for paging and swapping.</para></sect3>
+<sect4><title>swapon</title>
+<para>swapon enables devices and files for paging and swapping.</para></sect4>
-<sect3><title>tunelp</title>
-<para>tunelp sets various parameters for the LP device.</para></sect3>
+<sect4><title>tunelp</title>
+<para>tunelp sets various parameters for the LP device.</para></sect4>
-<sect3><title>ul</title>
+<sect4><title>ul</title>
<para>ul reads a file and translates occurrences of underscores to the sequence
-which indicates underlining for the terminal in use.</para></sect3>
+which indicates underlining for the terminal in use.</para></sect4>
-<sect3><title>vidmode</title>
-<para>vidmode queries and sets the video mode.</para></sect3>
+<sect4><title>umount</title>
+<para>umount unmounts a mounted filesystem.</para></sect4>
-<sect3><title>whereis</title>
+<sect4><title>vidmode</title>
+<para>vidmode queries and sets the video mode.</para></sect4>
+
+<sect4><title>whereis</title>
<para>whereis locates a binary, source and manual page for a
-command.</para></sect3>
+command.</para></sect4>
+
+<sect4><title>write</title>
+<para>write sends a message to another user.</para></sect4>
-<sect3><title>write</title>
-<para>write sends a message to another user.</para></sect3>
+</sect3>
</sect2>
diff --git a/appendixa/vim-desc.xml b/appendixa/vim-desc.xml
index c263ce5a1..23ec52eab 100644
--- a/appendixa/vim-desc.xml
+++ b/appendixa/vim-desc.xml
@@ -1,48 +1,43 @@
-<sect2>
-<title>Contents</title>
+<sect2><title>Contents</title>
-<para>The Vim package contains the ex, gview, gvim, rgview,
-rgvim, rview, rvim, view, vim, vimtutor and xxd programs.</para>
+<sect3><title>Program Files</title>
+<para>ex (link to vim), rview (link to vim), rvim (link to vim), vi
+(link to vim), view (link to vim), vim, vimdiff (link to vim), vimtutor
+(link to vim) and xxd</para></sect3>
-</sect2>
-
-<sect2>
-<title>Description</title>
+<sect3><title>Descriptions</title>
-<sect3><title>ex</title>
-<para>ex starts vim in Ex mode.</para></sect3>
+<sect4><title>ex</title>
+<para>ex starts vim in Ex mode.</para></sect4>
-<sect3><title>gview</title>
-<para>gview is the GUI version of view.</para></sect3>
-
-<sect3><title>gvim</title>
-<para>gvim is the GUI version of vim.</para></sect3>
+<sect4><title>rview</title>
+<para>rview is a restricted version of view. No shell commands can be started
+and Vim can't be suspended.</para></sect4>
-<sect3><title>rgview</title>
-<para>rgview is the GUI version of rview.</para></sect3>
+<sect4><title>rvim</title>
+<para>rvim is the restricted version of vim. No shell commands can be started
+and Vim can't be suspended.</para></sect4>
-<sect3><title>rgvim</title>
-<para>rgvim is the GUI version of rvim.</para></sect3>
+<sect4><title>vi</title>
+<para>vi starst vim in vi-compatible mode.</para></sect4>
-<sect3><title>rview</title>
-<para>rview is a restricted version of view. No shell commands can be started
-and Vim can't be suspended.</para></sect3>
+<sect4><title>view</title>
+<para>view starts vim in read-only mode.</para></sect4>
-<sect3><title>rvim</title>
-<para>rvim is the restricted version of vim. No shell commands can be started
-and Vim can't be suspended.</para></sect3>
+<sect4><title>vim</title>
+<para>vim starts vim in the normal, default way.</para></sect4>
-<sect3><title>view</title>
-<para>view starts vim in read-only mode.</para></sect3>
+<sect4><title>vimdiff</title>
+<para>vimdiff edits two or three versions of a file with Vim and show
+differences.</para></sect4>
-<sect3><title>vim</title>
-<para>vim starts vim in the normal, default way.</para></sect3>
+<sect4><title>vimtutor</title>
+<para>vimtutor starts the Vim tutor.</para></sect4>
-<sect3><title>vimtutor</title>
-<para>vimtutor starts the Vim tutor.</para></sect3>
+<sect4><title>xxd</title>
+<para>xxd makes a hexdump or does the reverse.</para></sect4>
-<sect3><title>xxd</title>
-<para>xxd makes a hexdump or does the reverse.</para></sect3>
+</sect3>
</sect2>