version 1.10, 2011/12/01 21:05:49 |
version 1.17.2.1, 2013/09/18 01:04:07 |
|
|
.Nd index UNIX manuals |
.Nd index UNIX manuals |
.Sh SYNOPSIS |
.Sh SYNOPSIS |
.Nm |
.Nm |
.Op Fl av |
.Op Fl avW |
.Op Ar dir ... |
.Op Fl C Ar file |
.Nm |
.Nm |
.Op Fl v |
.Op Fl avW |
|
.Ar dir ... |
|
.Nm |
|
.Op Fl vW |
.Fl d Ar dir |
.Fl d Ar dir |
.Op Ar |
.Op Ar |
.Nm |
.Nm |
.Op Fl v |
.Op Fl vW |
.Fl u Ar dir |
.Fl u Ar dir |
.Op Ar |
.Op Ar |
|
.Nm |
|
.Fl t Ar |
.Sh DESCRIPTION |
.Sh DESCRIPTION |
The |
The |
.Nm |
.Nm |
Line 41 manuals and indexes them in a |
|
Line 46 manuals and indexes them in a |
|
.Sx Keyword Database |
.Sx Keyword Database |
and |
and |
.Sx Index Database |
.Sx Index Database |
for fast retrieval. |
for fast retrieval by |
|
.Xr apropos 1 , |
|
.Xr whatis 1 , |
|
and |
|
.Xr man 1 Ns 's |
|
.Fl k |
|
option. |
.Pp |
.Pp |
By default, |
By default, |
.Nm |
.Nm |
Line 69 uses the default paths stipulated by |
|
Line 80 uses the default paths stipulated by |
|
.Xr man 1 . |
.Xr man 1 . |
.Pp |
.Pp |
The arguments are as follows: |
The arguments are as follows: |
.Bl -tag -width Ds |
.Bl -tag -width "-C file" |
.It Fl a |
.It Fl a |
Use all directories and files found below |
Use all directories and files found below |
.Ar dir ... . |
.Ar dir ... . |
|
.It Fl C Ar file |
|
Specify an alternative configuration |
|
.Ar file |
|
in |
|
.Xr man.conf 5 |
|
format. |
.It Fl d Ar dir |
.It Fl d Ar dir |
Merge (remove and re-add) |
Merge (remove and re-add) |
.Ar |
.Ar |
to the database in |
to the database in |
.Ar dir |
.Ar dir |
without truncating it. |
without truncating it. |
|
.It Fl t Ar |
|
Check the given |
|
.Ar files |
|
for potential problems. |
|
No databases are modified. |
|
Implies |
|
.Fl a |
|
and |
|
.Fl W . |
|
All diagnostic messages are printed to the standard output; |
|
the standard error output is not used. |
.It Fl u Ar dir |
.It Fl u Ar dir |
Remove |
Remove |
.Ar |
.Ar |
Line 87 from the database in |
|
Line 115 from the database in |
|
without truncating it. |
without truncating it. |
.It Fl v |
.It Fl v |
Display all files added or removed to the index. |
Display all files added or removed to the index. |
|
.It Fl W |
|
Print warnings about potential problems with manual pages |
|
to the standard error output. |
.El |
.El |
.Pp |
.Pp |
If fatal parse errors are encountered while parsing, the offending file |
If fatal parse errors are encountered while parsing, the offending file |
Line 101 database with record values consisting of |
|
Line 132 database with record values consisting of |
|
.Pp |
.Pp |
.Bl -enum -compact |
.Bl -enum -compact |
.It |
.It |
the string |
the character |
.Cm mdoc , |
.Cm d , |
.Cm man , |
.Cm a , |
or |
or |
.Cm cat |
.Cm c |
to indicate the file type |
to indicate the file type |
.Po |
.Po |
file in |
|
.Xr mdoc 7 , |
.Xr mdoc 7 , |
.Xr man 7 , |
.Xr man 7 , |
and post-formatted, respectively |
and post-formatted, respectively |
.Pc , |
.Pc , |
.It |
.It |
the filename, |
the filename relative to the databases' path, |
.It |
.It |
the manual section, |
the manual section, |
.It |
.It |
Line 128 and the description. |
|
Line 158 and the description. |
|
.Pp |
.Pp |
Each of the above is NUL-terminated. |
Each of the above is NUL-terminated. |
.Pp |
.Pp |
Both the manual section and description may be zero-length if the record |
If the record value is zero-length, it is unassigned. |
is unassigned. |
|
Entries are sequentially-numbered, but the filenames are unordered. |
|
.Ss Keyword Database |
.Ss Keyword Database |
The keyword database, |
The keyword database, |
.Pa mandoc.db , |
.Pa mandoc.db , |
is a |
is a |
.Xr btree 3 |
.Xr btree 3 |
database of NUL-terminated keywords (record length is non-zero string |
database of NUL-terminated keywords (record length is non-zero string |
length plus one) mapping to a 8-byte binary field consisting of the |
length plus one) mapping to a 16-byte binary field consisting of the |
keyword type and source |
64-bit keyword type and the 64-bit |
.Sx Index Database |
.Sx Index Database |
record number. |
record number, both in network-byte order. |
The type, a 64-bit bit-mask in host order, consists of the following |
.Pp |
|
The type bit-mask consists of the following |
values mapping into |
values mapping into |
.Xr mdoc 7 |
.Xr mdoc 7 |
macro identifiers: |
macro identifiers: |
Line 186 macro identifiers: |
|
Line 215 macro identifiers: |
|
.It Li 0x0000001000000000ULL Ta \&Vt |
.It Li 0x0000001000000000ULL Ta \&Vt |
.It Li 0x0000002000000000ULL Ta \&Xr |
.It Li 0x0000002000000000ULL Ta \&Xr |
.El |
.El |
.Pp |
|
The last four bytes are a host-ordered record number within the |
|
.Sx Index Database . |
|
.Sh IMPLEMENTATION NOTES |
.Sh IMPLEMENTATION NOTES |
The time to construct a new database pair grows linearly with the |
The time to construct a new database pair grows linearly with the |
number of keywords in the input files. |
number of keywords in the input files. |
Line 208 keyword database mapping keywords to a type and file r |
|
Line 234 keyword database mapping keywords to a type and file r |
|
A |
A |
.Xr recno 3 |
.Xr recno 3 |
database of indexed file-names. |
database of indexed file-names. |
|
.It Pa /etc/man.conf |
|
The default |
|
.Xr man 1 |
|
configuration file. |
.El |
.El |
.Sh EXIT STATUS |
.Sh EXIT STATUS |
The |
The |
Line 226 error accessing input files. |
|
Line 256 error accessing input files. |
|
Such errors cause |
Such errors cause |
.Nm |
.Nm |
to exit at once, possibly in the middle of parsing or formatting a file. |
to exit at once, possibly in the middle of parsing or formatting a file. |
The output databases are corrupt and should be removed . |
The output databases are corrupt and should be removed. |
.El |
.El |
.Sh DIAGNOSTICS |
.Sh DIAGNOSTICS |
If the following errors occur, the |
If the following errors occur, the |
Line 249 This usually indicates database corruption or invalid |
|
Line 279 This usually indicates database corruption or invalid |
|
arguments. |
arguments. |
.El |
.El |
.Sh SEE ALSO |
.Sh SEE ALSO |
|
.Xr apropos 1 , |
.Xr man 1 , |
.Xr man 1 , |
|
.Xr whatis 1 , |
.Xr btree 3 , |
.Xr btree 3 , |
.Xr recno 3 |
.Xr recno 3 , |
.Sh AUTHORS |
.Xr man.conf 5 |
|
.Sh HISTORY |
|
A |
|
.Nm makewhatis |
|
utility first appeared in |
|
.Bx 2 . |
|
It was rewritten in |
|
.Xr perl 1 |
|
for |
|
.Ox 2.7 |
|
and in C for |
|
.Ox 5.1 . |
|
.Pp |
The |
The |
|
.Ar dir |
|
argument first appeared in |
|
.Nx 1.0 ; |
|
the options |
|
.Fl dtu |
|
in |
|
.Ox 2.7 ; |
|
and the options |
|
.Fl aCvW |
|
in |
|
.Ox 5.1 . |
|
.Sh AUTHORS |
|
.An -nosplit |
|
.An Bill Joy |
|
wrote the original |
|
.Bx |
|
.Nm makewhatis |
|
in February 1979, |
|
.An Marc Espie |
|
started the Perl version in 2000, |
|
and the current version of |
.Nm |
.Nm |
utility was written by |
was written by |
.An Kristaps Dzonsons , |
.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv . |
.Mt kristaps@bsd.lv . |
|