6.47. Man-1.5o

The Man package contains programs for finding and viewing manual pages.

Approximate build time: 0.1 SBU

Required disk space: 1.9MB

Man installation depends on: Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make, and Sed

6.47.1. Installation of Man

Three adjustments need to be made to the sources of Man.

The first is a patch which allows Man to work better with recent releases of Groff. In particular, man pages will now display using the full terminal width instead of being limited to 80 characters:

patch -Np1 -i ../man-1.5o-80cols-1.patch

The second is a sed substitution to add the -R switch to the PAGER variable so that escape sequences are properly handled by Less:

sed -i 's@-is@&R@g' configure

The third is also a sed substitution to comment out the “MANPATH /usr/man” line in the man.conf file to prevent redundant results when using programs such as whatis:

sed -i 's@MANPATH./usr/man@#&@g' src/man.conf.in

Prepare Man for compilation:

./configure -confdir=/etc

The meaning of the configure options:

-confdir=/etc

This tells the man program to look for the man.conf configuration file in the /etc directory.

Compile the package:

make

Install the package:

make install
[Note]

Note

To disable Select Graphic Rendition (SGR) escape sequences, edit the man.conf file and add the -c switch to the NROFF variable.

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

NROFF  /usr/bin/nroff -Tlatin1 -mandoc

Note that “latin1” should be used even if it is not the character set of the locale. The reason is that, according to the specification, groff has no means of typesetting characters outside International Organization for Standards (ISO) 8859-1 without some strange escape codes. When formatting manual pages, groff thinks that they are in the ISO 8859-1 encoding and this -Tlatin1 switch tells groff to use the same encoding for output. Since groff 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.

This does not solve the problem of a non-working man2dvi 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.

Additional information with regards to the compression of man and info pages can be found in the BLFS book at http://www.linuxfromscratch.org/blfs/view/cvs/postlfs/compressdoc.html.

6.47.2. Contents of Man

Installed programs: apropos, makewhatis, man, man2dvi, man2html, and whatis

Short Descriptions

apropos

Searches the whatis database and displays the short descriptions of system commands that contain a given string

makewhatis

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

man

Formats and displays the requested on-line manual page

man2dvi

Converts a manual page into dvi format

man2html

Converts a manual page into HTML

whatis

Searches the whatis database and displays the short descriptions of system commands that contain the given keyword as a separate word