manual page database
mandoc.db SQLite3 file format is used
to store information about installed manual pages to facilitate semantic
searching for manuals. Each manual page tree contains its own
mandoc.db file; see
FILES for examples.
Such database files are generated by makewhatis(8) and used by apropos(1) and whatis(1).
One line in the following tables describes:
- One physical manual page file, no matter how many times and under which names it may appear in the file system.
- One entry in the file system, no matter which content it points to.
- One manual page name, no matter whether it appears in a page header, in a NAME or SYNOPSIS section, or as a file name.
- One chunk of text from some macro invocation.
Each record in the latter three tables uses its pageid column to point to a record in the mpages table.
The other columns are as follows; unless stated otherwise, they are of type TEXT.
- The description line (‘Nd’) of the page.
- An INTEGER bit field. If bit
FORM_GZis set, the page is compressed and requires gunzip(1) for display. If bit
FORM_SRCis set, the page is unformatted, that is in mdoc(7) or man(7) format, and requires mandoc(1) for display. If bit
FORM_SRCis not set, the page is formatted, i.e. a ‘cat’ page.
- The manual section as found in the subdirectory name.
- The manual architecture as found in the subdirectory name, or "any".
- The manual name as found in the file name.
- An INTEGER bit mask telling whether the name came
from a header line, from the NAME or SYNOPSIS section, or from a file
name. Bits are defined in
- The name itself.
- An INTEGER bit mask telling which semantic contexts
the key was found in; defined in
<mansearch.h>, documented in apropos(1).
- The string found in those contexts.
- The manual page database for the base system.
- The same for the X(7) Window System.
- The same for packages(7).
apropos(1), man(1), sqlite3(1), whatis(1), makewhatis(8)
A manual page database /usr/lib/whatis first appeared in 2BSD. The present format first appeared in OpenBSD 5.6.
The original version of makewhatis(8) was written by Bill Joy in 1979. An SQLite3 version was first implemented by Kristaps Dzonsons <email@example.com> in 2012. The present database format was designed by Ingo Schwarze <firstname.lastname@example.org> in 2014.