xref: /dflybsd-src/contrib/mdocml/makewhatis.8 (revision 54ba96075f5891e4574304da6ba88f1a1afe520b)
1*54ba9607SSascha Wildner.\"	$Id: makewhatis.8,v 1.6 2017/05/17 22:27:12 schwarze Exp $
2070c62a6SFranco Fichtner.\"
3070c62a6SFranco Fichtner.\" Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
4*54ba9607SSascha Wildner.\" Copyright (c) 2011, 2012, 2014, 2017 Ingo Schwarze <schwarze@openbsd.org>
5070c62a6SFranco Fichtner.\"
6070c62a6SFranco Fichtner.\" Permission to use, copy, modify, and distribute this software for any
7070c62a6SFranco Fichtner.\" purpose with or without fee is hereby granted, provided that the above
8070c62a6SFranco Fichtner.\" copyright notice and this permission notice appear in all copies.
9070c62a6SFranco Fichtner.\"
10070c62a6SFranco Fichtner.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11070c62a6SFranco Fichtner.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12070c62a6SFranco Fichtner.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13070c62a6SFranco Fichtner.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14070c62a6SFranco Fichtner.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15070c62a6SFranco Fichtner.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16070c62a6SFranco Fichtner.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17070c62a6SFranco Fichtner.\"
18*54ba9607SSascha Wildner.Dd $Mdocdate: May 17 2017 $
19070c62a6SFranco Fichtner.Dt MAKEWHATIS 8
20070c62a6SFranco Fichtner.Os
21070c62a6SFranco Fichtner.Sh NAME
22070c62a6SFranco Fichtner.Nm makewhatis
23070c62a6SFranco Fichtner.Nd index UNIX manuals
24070c62a6SFranco Fichtner.Sh SYNOPSIS
25070c62a6SFranco Fichtner.Nm
26070c62a6SFranco Fichtner.Op Fl aDnpQ
27070c62a6SFranco Fichtner.Op Fl T Cm utf8
28070c62a6SFranco Fichtner.Op Fl C Ar file
29070c62a6SFranco Fichtner.Nm
30070c62a6SFranco Fichtner.Op Fl aDnpQ
31070c62a6SFranco Fichtner.Op Fl T Cm utf8
32070c62a6SFranco Fichtner.Ar dir ...
33070c62a6SFranco Fichtner.Nm
34070c62a6SFranco Fichtner.Op Fl DnpQ
35070c62a6SFranco Fichtner.Op Fl T Cm utf8
36070c62a6SFranco Fichtner.Fl d Ar dir
37070c62a6SFranco Fichtner.Op Ar
38070c62a6SFranco Fichtner.Nm
39070c62a6SFranco Fichtner.Op Fl Dnp
40070c62a6SFranco Fichtner.Op Fl T Cm utf8
41070c62a6SFranco Fichtner.Fl u Ar dir
42070c62a6SFranco Fichtner.Op Ar
43070c62a6SFranco Fichtner.Nm
44070c62a6SFranco Fichtner.Op Fl DQ
45070c62a6SFranco Fichtner.Fl t Ar
46070c62a6SFranco Fichtner.Sh DESCRIPTION
47070c62a6SFranco FichtnerThe
48070c62a6SFranco Fichtner.Nm
49070c62a6SFranco Fichtnerutility extracts keywords from
50070c62a6SFranco Fichtner.Ux
51070c62a6SFranco Fichtnermanuals and indexes them in a database for fast retrieval by
52070c62a6SFranco Fichtner.Xr apropos 1 ,
53070c62a6SFranco Fichtner.Xr whatis 1 ,
54070c62a6SFranco Fichtnerand
55070c62a6SFranco Fichtner.Xr man 1 Ns 's
56070c62a6SFranco Fichtner.Fl k
57070c62a6SFranco Fichtneroption.
58070c62a6SFranco Fichtner.Pp
59070c62a6SFranco FichtnerBy default,
60070c62a6SFranco Fichtner.Nm
61070c62a6SFranco Fichtnercreates a database in each
62070c62a6SFranco Fichtner.Ar dir
63070c62a6SFranco Fichtnerusing the files
64070c62a6SFranco Fichtner.Sm off
65070c62a6SFranco Fichtner.Sy man Ar section Li /
66070c62a6SFranco Fichtner.Op Ar arch Li /
67070c62a6SFranco Fichtner.Ar title . section
68070c62a6SFranco Fichtner.Sm on
69070c62a6SFranco Fichtnerand
70070c62a6SFranco Fichtner.Sm off
71070c62a6SFranco Fichtner.Sy cat Ar section Li /
72070c62a6SFranco Fichtner.Op Ar arch Li /
73070c62a6SFranco Fichtner.Ar title . Sy 0
74070c62a6SFranco Fichtner.Sm on
75070c62a6SFranco Fichtnerin that directory.
76070c62a6SFranco FichtnerExisting databases are replaced.
77*54ba9607SSascha WildnerIf a directory contains no manual pages, no database is created in that
78*54ba9607SSascha Wildnerdirectory.
79070c62a6SFranco FichtnerIf
80070c62a6SFranco Fichtner.Ar dir
81070c62a6SFranco Fichtneris not provided,
82070c62a6SFranco Fichtner.Nm
83070c62a6SFranco Fichtneruses the default paths stipulated by
84070c62a6SFranco Fichtner.Xr man.conf 5 .
85070c62a6SFranco Fichtner.Pp
86070c62a6SFranco FichtnerThe arguments are as follows:
87070c62a6SFranco Fichtner.Bl -tag -width "-C file"
88070c62a6SFranco Fichtner.It Fl a
89070c62a6SFranco FichtnerUse all directories and files found below
90070c62a6SFranco Fichtner.Ar dir ... .
91070c62a6SFranco Fichtner.It Fl C Ar file
92070c62a6SFranco FichtnerSpecify an alternative configuration
93070c62a6SFranco Fichtner.Ar file
94070c62a6SFranco Fichtnerin
95070c62a6SFranco Fichtner.Xr man.conf 5
96070c62a6SFranco Fichtnerformat.
97070c62a6SFranco Fichtner.It Fl D
98070c62a6SFranco FichtnerDisplay all files added or removed to the index.
99070c62a6SFranco FichtnerWith a second
100070c62a6SFranco Fichtner.Fl D ,
101*54ba9607SSascha Wildneralso show all keywords added for each file.
102070c62a6SFranco Fichtner.It Fl d Ar dir
103070c62a6SFranco FichtnerMerge (remove and re-add)
104070c62a6SFranco Fichtner.Ar
105070c62a6SFranco Fichtnerto the database in
106070c62a6SFranco Fichtner.Ar dir .
107070c62a6SFranco Fichtner.It Fl n
108070c62a6SFranco FichtnerDo not create or modify any database; scan and parse only,
109070c62a6SFranco Fichtnerand print manual page names and descriptions to standard output.
110070c62a6SFranco Fichtner.It Fl p
111070c62a6SFranco FichtnerPrint warnings about potential problems with manual pages
112070c62a6SFranco Fichtnerto the standard error output.
113070c62a6SFranco Fichtner.It Fl Q
114070c62a6SFranco FichtnerQuickly build reduced-size databases
115070c62a6SFranco Fichtnerby reading only the NAME sections of manuals.
116070c62a6SFranco FichtnerThe resulting databases will usually contain names and descriptions only.
117070c62a6SFranco Fichtner.It Fl T Cm utf8
118070c62a6SFranco FichtnerUse UTF-8 encoding instead of ASCII for strings stored in the databases.
119070c62a6SFranco Fichtner.It Fl t Ar
120070c62a6SFranco FichtnerCheck the given
121070c62a6SFranco Fichtner.Ar files
122070c62a6SFranco Fichtnerfor potential problems.
123070c62a6SFranco FichtnerImplies
124070c62a6SFranco Fichtner.Fl a ,
125070c62a6SFranco Fichtner.Fl n ,
126070c62a6SFranco Fichtnerand
127070c62a6SFranco Fichtner.Fl p .
128070c62a6SFranco FichtnerAll diagnostic messages are printed to the standard output;
129070c62a6SFranco Fichtnerthe standard error output is not used.
130070c62a6SFranco Fichtner.It Fl u Ar dir
131070c62a6SFranco FichtnerRemove
132070c62a6SFranco Fichtner.Ar
133070c62a6SFranco Fichtnerfrom the database in
134070c62a6SFranco Fichtner.Ar dir .
135*54ba9607SSascha WildnerIf that causes the database to become empty, also delete the database file.
136070c62a6SFranco Fichtner.El
137070c62a6SFranco Fichtner.Pp
138070c62a6SFranco FichtnerIf fatal parse errors are encountered while parsing, the offending file
139070c62a6SFranco Fichtneris printed to stderr, omitted from the index, and the parse continues
140070c62a6SFranco Fichtnerwith the next input file.
141*54ba9607SSascha Wildner.Sh ENVIRONMENT
142*54ba9607SSascha Wildner.Bl -tag -width MANPATH
143*54ba9607SSascha Wildner.It Ev MANPATH
144*54ba9607SSascha WildnerA colon-separated list of directories to create databases in.
145*54ba9607SSascha WildnerIgnored if a
146*54ba9607SSascha Wildner.Ar dir
147*54ba9607SSascha Wildnerargument or the
148*54ba9607SSascha Wildner.Fl t
149*54ba9607SSascha Wildneroption is specified.
150*54ba9607SSascha Wildner.El
151070c62a6SFranco Fichtner.Sh FILES
152070c62a6SFranco Fichtner.Bl -tag -width Ds
153070c62a6SFranco Fichtner.It Pa mandoc.db
154070c62a6SFranco FichtnerA database of manpages relative to the directory of the file.
155070c62a6SFranco FichtnerThis file is portable across architectures and systems, so long as the
156070c62a6SFranco Fichtnermanpage hierarchy it indexes does not change.
157070c62a6SFranco Fichtner.It Pa /etc/man.conf
158070c62a6SFranco FichtnerThe default
159070c62a6SFranco Fichtner.Xr man 1
160070c62a6SFranco Fichtnerconfiguration file.
161070c62a6SFranco Fichtner.El
162070c62a6SFranco Fichtner.Sh EXIT STATUS
163070c62a6SFranco FichtnerThe
164070c62a6SFranco Fichtner.Nm
165070c62a6SFranco Fichtnerutility exits with one of the following values:
166070c62a6SFranco Fichtner.Pp
167070c62a6SFranco Fichtner.Bl -tag -width Ds -compact
168070c62a6SFranco Fichtner.It 0
169070c62a6SFranco FichtnerNo errors occurred.
170070c62a6SFranco Fichtner.It 5
171070c62a6SFranco FichtnerInvalid command line arguments were specified.
172070c62a6SFranco FichtnerNo input files have been read.
173070c62a6SFranco Fichtner.It 6
174070c62a6SFranco FichtnerAn operating system error occurred, for example memory exhaustion or an
175070c62a6SFranco Fichtnererror accessing input files.
176070c62a6SFranco FichtnerSuch errors cause
177070c62a6SFranco Fichtner.Nm
178070c62a6SFranco Fichtnerto exit at once, possibly in the middle of parsing or formatting a file.
179070c62a6SFranco FichtnerThe output databases are corrupt and should be removed.
180070c62a6SFranco Fichtner.El
181070c62a6SFranco Fichtner.Sh SEE ALSO
182070c62a6SFranco Fichtner.Xr apropos 1 ,
183070c62a6SFranco Fichtner.Xr man 1 ,
184070c62a6SFranco Fichtner.Xr whatis 1 ,
185070c62a6SFranco Fichtner.Xr man.conf 5
186070c62a6SFranco Fichtner.Sh HISTORY
187070c62a6SFranco FichtnerA
188070c62a6SFranco Fichtner.Nm
189070c62a6SFranco Fichtnerutility first appeared in
190070c62a6SFranco Fichtner.Bx 2 .
191070c62a6SFranco FichtnerIt was rewritten in
192070c62a6SFranco Fichtner.Xr perl 1
193070c62a6SFranco Fichtnerfor
194070c62a6SFranco Fichtner.Ox 2.7
195070c62a6SFranco Fichtnerand in C for
196070c62a6SFranco Fichtner.Ox 5.6 .
197070c62a6SFranco Fichtner.Pp
198070c62a6SFranco FichtnerThe
199070c62a6SFranco Fichtner.Ar dir
200070c62a6SFranco Fichtnerargument first appeared in
201070c62a6SFranco Fichtner.Nx 1.0 ;
202070c62a6SFranco Fichtnerthe options
203070c62a6SFranco Fichtner.Fl dpt
204070c62a6SFranco Fichtnerin
205070c62a6SFranco Fichtner.Ox 2.7 ;
206070c62a6SFranco Fichtnerthe option
207070c62a6SFranco Fichtner.Fl u
208070c62a6SFranco Fichtnerin
209070c62a6SFranco Fichtner.Ox 3.4 ;
210070c62a6SFranco Fichtnerand the options
211070c62a6SFranco Fichtner.Fl aCDnQT
212070c62a6SFranco Fichtnerin
213070c62a6SFranco Fichtner.Ox 5.6 .
214070c62a6SFranco Fichtner.Sh AUTHORS
215070c62a6SFranco Fichtner.An -nosplit
216070c62a6SFranco Fichtner.An Bill Joy
217070c62a6SFranco Fichtnerwrote the original
218070c62a6SFranco Fichtner.Bx
219070c62a6SFranco Fichtner.Nm
220070c62a6SFranco Fichtnerin February 1979,
221070c62a6SFranco Fichtner.An Marc Espie
222070c62a6SFranco Fichtnerstarted the Perl version in 2000,
223070c62a6SFranco Fichtnerand the current version of
224070c62a6SFranco Fichtner.Nm
225070c62a6SFranco Fichtnerwas written by
226070c62a6SFranco Fichtner.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv
227070c62a6SFranco Fichtnerand
228070c62a6SFranco Fichtner.An Ingo Schwarze Aq Mt schwarze@openbsd.org .
229