10.72.1. Installation of Man
This patch adds support for Internationalization:
patch -Np1 -i ../man-1.6g-i18n-1.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:
CC="gcc ${BUILD64}" ./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
Note
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.