aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/man.xml
blob: bc0404e9e97bfbdd8a6334cc6393ad4b3f2c290a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>
<sect1 id="ch-system-man" role="wrap">
<title>Man-&man-version;</title>
<?dbhtml filename="man.html"?>

<indexterm zone="ch-system-man"><primary sortas="a-Man">Man</primary></indexterm>

<sect2 role="package"><title/>
<para>The Man package contains programs for finding and viewing manual pages.</para>

<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.1 SBU</seg><seg>1.9MB</seg></seglistitem>
</segmentedlist>

<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Gawk, GCC,
Glibc, Grep, Make, and Sed</seg></seglistitem>
</segmentedlist>
</sect2>

<sect2 role="installation">
<title>Installation of Man</title>

<para>Two adjustments need to be made to the sources of Man.</para>

<para>The first is a sed substitution to add the
<parameter>-R</parameter> switch to the <envar>PAGER</envar>
variable so that escape sequences are properly handled by Less:</para>

<screen><userinput>sed -i 's@-is@&amp;R@g' configure</userinput></screen>

<para>The second is also a sed substitution to comment out the
<quote>MANPATH /usr/man</quote> line in the
<filename>man.conf</filename> file to prevent redundant results when
using programs such as <command>whatis</command>:</para>

<screen><userinput>sed -i 's@MANPATH./usr/man@#&amp;@g' src/man.conf.in</userinput></screen>
 
<para>Prepare Man for compilation:</para>

<screen><userinput>./configure -confdir=/etc</userinput></screen>

<para>The meaning of the configure options:</para>

<variablelist>
<varlistentry>
<term><parameter>-confdir=/etc</parameter></term>
<listitem><para>This tells the <command>man</command> program to look for the
<filename>man.conf</filename> configuration file in the <filename
class="directory">/etc</filename> directory.</para></listitem>
</varlistentry>
</variablelist>

<para>Compile the package:</para>

<screen><userinput>make</userinput></screen>

<para>Install the package:</para>

<screen><userinput>make install</userinput></screen>

<note><para>To disable Select Graphic Rendition (SGR) escape
sequences, edit the <filename>man.conf</filename> file and
add the <parameter>-c</parameter> switch to
the <envar>NROFF</envar> variable.</para></note>

<para>If the character set uses 8-bit characters, search for the line
beginning with <quote>NROFF</quote> in
<filename>/etc/man.conf</filename>, and verify that it looks as
follows:</para>

<screen>NROFF  /usr/bin/nroff -Tlatin1 -mandoc</screen>

<para>Note that <quote>latin1</quote> should be used even if it is not
the character set of the locale. The reason is that, according to the
specification, <command>groff</command> has no means of typesetting
characters outside International Organization for Standards
(ISO) 8859-1 without some strange escape codes. When formatting manual
pages, <command>groff</command> thinks that they are in the ISO 8859-1
encoding and this <parameter>-Tlatin1</parameter> switch tells
<command>groff</command> to use the same encoding for output. Since
<command>groff</command> does no recoding of input characters, the
formatted result is really in the same encoding as input, and therefore
it is usable as the input for a pager.</para>

<para>This does not solve the problem of a non-working
<command>man2dvi</command> program for localized manual pages in
non-ISO 8859-1 locales. Also, it does not work with multibyte
character sets. The first problem does not currently have a solution.
The second issue is not of concern because the LFS installation does
not support multibyte character sets.</para>

<para>Additional information with regards to the compression of
man and info pages can be found in the BLFS book at
<ulink url="&blfs-root;view/cvs/postlfs/compressdoc.html"/>.</para>

</sect2>


<sect2 id="contents-man" role="content"><title>Contents of Man</title>

<segmentedlist>
<segtitle>Installed programs</segtitle>
<seglistitem><seg>apropos, makewhatis, man,
man2dvi, man2html, and whatis</seg></seglistitem>
</segmentedlist>

<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>

<varlistentry id="apropos">
<term><command>apropos</command></term>
<listitem>
<para>Searches the whatis database and displays the short descriptions
of system commands that contain a given string</para>
<indexterm zone="ch-system-man apropos"><primary sortas="b-apropos">apropos</primary></indexterm>
</listitem>
</varlistentry>

<varlistentry id="makewhatis">
<term><command>makewhatis</command></term>
<listitem>
<para>Builds the whatis database; it reads all the manual pages in the
manpath and writes the name and a short description in the whatis
database for each page</para>
<indexterm zone="ch-system-man makewhatis"><primary sortas="b-makewhatis">makewhatis</primary></indexterm>
</listitem>
</varlistentry>

<varlistentry id="man">
<term><command>man</command></term>
<listitem>
<para>Formats and displays the requested on-line manual page</para>
<indexterm zone="ch-system-man man"><primary sortas="b-man">man</primary></indexterm>
</listitem>
</varlistentry>

<varlistentry id="man2dvi">
<term><command>man2dvi</command></term>
<listitem>
<para>Converts a manual page into dvi format</para>
<indexterm zone="ch-system-man man2dvi"><primary sortas="b-man2dvi">man2dvi</primary></indexterm>
</listitem>
</varlistentry>

<varlistentry id="man2html">
<term><command>man2html</command></term>
<listitem>
<para>Converts a manual page into HTML</para>
<indexterm zone="ch-system-man man2html"><primary sortas="b-man2html">man2html</primary></indexterm>
</listitem>
</varlistentry>

<varlistentry id="whatis">
<term><command>whatis</command></term>
<listitem>
<para>Searches the whatis database and displays the short descriptions
of system commands that contain the given keyword as a separate
word</para>
<indexterm zone="ch-system-man whatis"><primary sortas="b-whatis">whatis</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>

</sect2>

</sect1>