# Man-&man-version;

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

## Installation of Man

This patch adds support for Internationalization:

    patch -Np1 -i ../&man-i18n-patch;

A few adjustments need to be made to the sources of Man.

First, a `sed` substitution is needed 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

Another couple of `sed` substitutions comment out the MANPATH /usr/man and MANPATH /usr/local/man lines 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
    sed -i 's@MANPATH./usr/local/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

This package does not come with a test suite.

Install the package:

    make install

If you will be working on a terminal that does not support text attributes such as color and bold, you can disable Select Graphic Rendition (SGR) escape sequences by editing the `man.conf` file and adding the `-c` option to the `NROFF` variable. If you use multiple terminal types for one computer it may be better to selectively add the `GROFF_NO_SGR` environment variable for the terminals that do not support SGR.

If the character set of the locale uses 8-bit characters, search for the line beginning with NROFF in `/etc/man.conf`, and verify that it matches the following:

    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 man 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 f ormatted 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 man 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 CLFS installation does not support multibyte character sets.

## 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 man 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 man page

`man2dvi`

- Converts a man page into dvi format

`man2html`

- Converts a man 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