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