summaryrefslogtreecommitdiffstats
path: root/man/man5/manpath.man5
blob: 6e02a03d78a8737a05632fadc2e1ebafc26c6dfb (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
.\" Man page for format of the manpath.config data file
.\"
.\" Copyright (C) 1994, 1995 Graeme W. Wilford. (Wilf.)
.\" Copyright (C) 2001, 2007, 2008 Colin Watson.
.\"
.\" You may distribute under the terms of the GNU General Public
.\" License as specified in the file COPYING that comes with the
.\" man-db distribution.
.\"
.\" Sat Oct 29 13:09:31 GMT 1994  Wilf. (G.Wilford@ee.surrey.ac.uk) 
.\" 
.pc
.TH MANPATH 5 "%date%" "%version%" "%manpath_config_file%"
.SH NAME
manpath \- format of the %manpath_config_file% file
.SH DESCRIPTION
The manpath configuration file is used by the manual page utilities
to assess users' manpaths at run time, to indicate which manual page
hierarchies (manpaths) are to be treated as system hierarchies and to
assign them directories to be used for storing cat files.

If the environment variable
.RB $ MANPATH
is already set, the information contained within %manpath_config_file% will
not override it.
.SH FORMAT
The following field types are currently recognised:
.TP
.BI # \ comment
Blank lines or those beginning with a
.B #
will be treated as comments and ignored.
.TP
.BI MANDATORY_MANPATH \ manpath_element
Lines of this form indicate manpaths that every automatically generated
.RB $ MANPATH
should contain.
This will typically include
.IR /usr/man .
.TP
.BI MANPATH_MAP \ path_element\ manpath_element
Lines of this form set up
.RB $ PATH
to
.RB $ MANPATH
mappings.
For each
.I path_element
found in the user's
.RB $ PATH ,
.I manpath_element
will be added to the
.RB $ MANPATH .
.TP
\fBMANDB_MAP \fImanpath_element \fR\|[\| \fIcatpath_element\fR \|]
Lines of this form indicate which manpaths are to be treated as system
manpaths, and optionally where their cat files should be stored.
This field type is particularly important if
.B man
is a setuid program, as (when in the system configuration file
%manpath_config_file% rather than the per-user configuration file .manpath)
it indicates which manual page hierarchies to access as the setuid user and
which as the invoking user.

The system manual page hierarchies are usually those stored under
.I /usr
such as
.IR /usr/man ,
.I /usr/local/man
and
.IR /usr/X11R6/man .

If cat pages from a particular
.I manpath_element
are not to be stored or are to be stored in the traditional location,
.I catpath_element
may be omitted.

Traditional cat placement would be impossible for read only mounted manual
page hierarchies and because of this it is possible to specify any valid
directory hierarchy for their storage.
To observe the
.B Linux FSSTND
the keyword
.RB ` FSSTND
can be used in place of an actual directory.

Unfortunately, it is necessary to specify
.B all
system man tree paths, including alternate operating system paths such as
.I /usr/man/sun
and any
.B NLS locale
paths such as
.IR /usr/man/de_DE.88591 .

As the information is parsed line by line in the order written, it is
necessary for any manpath that is a sub-hierarchy of another hierarchy to be
listed first, otherwise an incorrect match will be made.
An example is that
.I /usr/man/de_DE.88591
must come before
.IR /usr/man .
.TP
.BI DEFINE \ key\ value
Lines of this form define miscellaneous configuration variables; see the
default configuration file for those variables used by the manual pager
utilities.
They include default paths to various programs (such as
.I grep
and
.IR tbl ),
and default sets of arguments to those programs.
.TP
\fBSECTION\fR \fIsection\fR .\|.\|.
.RS
Lines of this form define the order in which manual sections should be
searched.
If there are no
.B SECTION
directives in the configuration file, the default is:
.PP
.RS
.nf
.if !'po4a'hide' SECTION 1 n l 8 3 0 2 5 4 9 6 7
.fi
.RE
.PP
If multiple
.B SECTION
directives are given, their section lists will be concatenated.
.PP
If a particular extension is not in this list (say, 1mh) it will be
displayed with the rest of the section it belongs to.
The effect of this is that you only need to explicitly list extensions if
you want to force a particular order.
Sections with extensions should usually be adjacent to their main section
(e.g. "1 1mh 8 ...").
.PP
.B SECTIONS
is accepted as an alternative name for this directive.
.RE
.TP
.BI MINCATWIDTH \ width
If the terminal width is less than
.IR width ,
cat pages will not be created (if missing) or displayed.
The default is 80.
.TP
.BI MAXCATWIDTH \ width
If the terminal width is greater than
.IR width ,
cat pages will not be created (if missing) or displayed.
The default is 80.
.TP
.BI CATWIDTH \ width
If
.I width
is non-zero, cat pages will always be formatted for a terminal of the given
width, regardless of the width of the terminal actually being used.
This should generally be within the range set by
.B MINCATWIDTH
and
.BR MAXCATWIDTH .
.TP
.if !'po4a'hide' .B NOCACHE
This flag prevents
.BR %man% (1)
from creating cat pages automatically.
.SH BUGS
Unless the rules above are followed and observed precisely, the manual pager
utilities will not function as desired.
The rules are overly complicated.