=================================================================== RCS file: /cvs/mandoc/Attic/mandocdb.8,v retrieving revision 1.12 retrieving revision 1.17.2.1 diff -u -p -r1.12 -r1.17.2.1 --- mandoc/Attic/mandocdb.8 2011/12/12 02:00:49 1.12 +++ mandoc/Attic/mandocdb.8 2013/09/18 01:04:07 1.17.2.1 @@ -1,4 +1,4 @@ -.\" $Id: mandocdb.8,v 1.12 2011/12/12 02:00:49 schwarze Exp $ +.\" $Id: mandocdb.8,v 1.17.2.1 2013/09/18 01:04:07 schwarze Exp $ .\" .\" Copyright (c) 2011 Kristaps Dzonsons .\" @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: December 12 2011 $ +.Dd $Mdocdate: September 18 2013 $ .Dt MANDOCDB 8 .Os .Sh NAME @@ -22,19 +22,21 @@ .Nd index UNIX manuals .Sh SYNOPSIS .Nm -.Op Fl av +.Op Fl avW .Op Fl C Ar file .Nm -.Op Fl av +.Op Fl avW .Ar dir ... .Nm -.Op Fl v +.Op Fl vW .Fl d Ar dir .Op Ar .Nm -.Op Fl v +.Op Fl vW .Fl u Ar dir .Op Ar +.Nm +.Fl t Ar .Sh DESCRIPTION The .Nm @@ -44,7 +46,13 @@ manuals and indexes them in a .Sx Keyword Database and .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 By default, .Nm @@ -88,6 +96,17 @@ Merge (remove and re-add) to the database in .Ar dir 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 Remove .Ar @@ -96,6 +115,9 @@ from the database in without truncating it. .It Fl v 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 .Pp If fatal parse errors are encountered while parsing, the offending file @@ -110,20 +132,19 @@ database with record values consisting of .Pp .Bl -enum -compact .It -the string -.Cm mdoc , -.Cm man , +the character +.Cm d , +.Cm a , or -.Cm cat +.Cm c to indicate the file type .Po -file in .Xr mdoc 7 , .Xr man 7 , and post-formatted, respectively .Pc , .It -the filename, +the filename relative to the databases' path, .It the manual section, .It @@ -137,19 +158,18 @@ and the description. .Pp Each of the above is NUL-terminated. .Pp -Both the manual section and description may be zero-length if the record -is unassigned. -Entries are sequentially-numbered, but the filenames are unordered. +If the record value is zero-length, it is unassigned. .Ss Keyword Database The keyword database, .Pa mandoc.db , is a .Xr btree 3 database of NUL-terminated keywords (record length is non-zero string -length plus one) mapping to a 12-byte binary field consisting of the -64-bit keyword type and 32-bit source +length plus one) mapping to a 16-byte binary field consisting of the +64-bit keyword type and the 64-bit .Sx Index Database record number, both in network-byte order. +.Pp The type bit-mask consists of the following values mapping into .Xr mdoc 7 @@ -195,9 +215,6 @@ macro identifiers: .It Li 0x0000001000000000ULL Ta \&Vt .It Li 0x0000002000000000ULL Ta \&Xr .El -.Pp -The last four bytes are a host-ordered record number within the -.Sx Index Database . .Sh IMPLEMENTATION NOTES The time to construct a new database pair grows linearly with the number of keywords in the input files. @@ -239,7 +256,7 @@ error accessing input files. Such errors cause .Nm 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 .Sh DIAGNOSTICS If the following errors occur, the @@ -268,9 +285,40 @@ arguments. .Xr btree 3 , .Xr recno 3 , .Xr man.conf 5 -.Sh AUTHORS +.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 +.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 -utility was written by -.An Kristaps Dzonsons , -.Mt kristaps@bsd.lv . +was written by +.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv .