1*c1c95addSBrooks Davis.\" $Id: makewhatis.8,v 1.7 2022/03/16 23:26:14 schwarze Exp $ 261d06d6bSBaptiste Daroussin.\" 361d06d6bSBaptiste Daroussin.\" Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv> 461d06d6bSBaptiste Daroussin.\" Copyright (c) 2011, 2012, 2014, 2017 Ingo Schwarze <schwarze@openbsd.org> 561d06d6bSBaptiste Daroussin.\" 661d06d6bSBaptiste Daroussin.\" Permission to use, copy, modify, and distribute this software for any 761d06d6bSBaptiste Daroussin.\" purpose with or without fee is hereby granted, provided that the above 861d06d6bSBaptiste Daroussin.\" copyright notice and this permission notice appear in all copies. 961d06d6bSBaptiste Daroussin.\" 1061d06d6bSBaptiste Daroussin.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 1161d06d6bSBaptiste Daroussin.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 1261d06d6bSBaptiste Daroussin.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 1361d06d6bSBaptiste Daroussin.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 1461d06d6bSBaptiste Daroussin.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1561d06d6bSBaptiste Daroussin.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1661d06d6bSBaptiste Daroussin.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 1761d06d6bSBaptiste Daroussin.\" 18*c1c95addSBrooks Davis.Dd $Mdocdate: March 16 2022 $ 1961d06d6bSBaptiste Daroussin.Dt MAKEWHATIS 8 2061d06d6bSBaptiste Daroussin.Os 2161d06d6bSBaptiste Daroussin.Sh NAME 2261d06d6bSBaptiste Daroussin.Nm makewhatis 2361d06d6bSBaptiste Daroussin.Nd index UNIX manuals 2461d06d6bSBaptiste Daroussin.Sh SYNOPSIS 2561d06d6bSBaptiste Daroussin.Nm 2661d06d6bSBaptiste Daroussin.Op Fl aDnpQ 2761d06d6bSBaptiste Daroussin.Op Fl T Cm utf8 2861d06d6bSBaptiste Daroussin.Op Fl C Ar file 2961d06d6bSBaptiste Daroussin.Nm 3061d06d6bSBaptiste Daroussin.Op Fl aDnpQ 3161d06d6bSBaptiste Daroussin.Op Fl T Cm utf8 3261d06d6bSBaptiste Daroussin.Ar dir ... 3361d06d6bSBaptiste Daroussin.Nm 3461d06d6bSBaptiste Daroussin.Op Fl DnpQ 3561d06d6bSBaptiste Daroussin.Op Fl T Cm utf8 3661d06d6bSBaptiste Daroussin.Fl d Ar dir 3761d06d6bSBaptiste Daroussin.Op Ar 3861d06d6bSBaptiste Daroussin.Nm 3961d06d6bSBaptiste Daroussin.Op Fl Dnp 4061d06d6bSBaptiste Daroussin.Op Fl T Cm utf8 4161d06d6bSBaptiste Daroussin.Fl u Ar dir 4261d06d6bSBaptiste Daroussin.Op Ar 4361d06d6bSBaptiste Daroussin.Nm 4461d06d6bSBaptiste Daroussin.Op Fl DQ 4561d06d6bSBaptiste Daroussin.Fl t Ar 4661d06d6bSBaptiste Daroussin.Sh DESCRIPTION 4761d06d6bSBaptiste DaroussinThe 4861d06d6bSBaptiste Daroussin.Nm 4961d06d6bSBaptiste Daroussinutility extracts keywords from 5061d06d6bSBaptiste Daroussin.Ux 5161d06d6bSBaptiste Daroussinmanuals and indexes them in a database for fast retrieval by 5261d06d6bSBaptiste Daroussin.Xr apropos 1 , 5361d06d6bSBaptiste Daroussin.Xr whatis 1 , 5461d06d6bSBaptiste Daroussinand 55*c1c95addSBrooks Davis.Xr man 1 . 5661d06d6bSBaptiste Daroussin.Pp 5761d06d6bSBaptiste DaroussinBy default, 5861d06d6bSBaptiste Daroussin.Nm 5961d06d6bSBaptiste Daroussincreates a database in each 6061d06d6bSBaptiste Daroussin.Ar dir 6161d06d6bSBaptiste Daroussinusing the files 6261d06d6bSBaptiste Daroussin.Sm off 6361d06d6bSBaptiste Daroussin.Sy man Ar section Li / 6461d06d6bSBaptiste Daroussin.Op Ar arch Li / 6561d06d6bSBaptiste Daroussin.Ar title . section 6661d06d6bSBaptiste Daroussin.Sm on 6761d06d6bSBaptiste Daroussinand 6861d06d6bSBaptiste Daroussin.Sm off 6961d06d6bSBaptiste Daroussin.Sy cat Ar section Li / 7061d06d6bSBaptiste Daroussin.Op Ar arch Li / 7161d06d6bSBaptiste Daroussin.Ar title . Sy 0 7261d06d6bSBaptiste Daroussin.Sm on 7361d06d6bSBaptiste Daroussinin that directory. 7461d06d6bSBaptiste DaroussinExisting databases are replaced. 7561d06d6bSBaptiste DaroussinIf a directory contains no manual pages, no database is created in that 7661d06d6bSBaptiste Daroussindirectory. 7761d06d6bSBaptiste DaroussinIf 7861d06d6bSBaptiste Daroussin.Ar dir 7961d06d6bSBaptiste Daroussinis not provided, 8061d06d6bSBaptiste Daroussin.Nm 8161d06d6bSBaptiste Daroussinuses the default paths stipulated by 8261d06d6bSBaptiste Daroussin.Xr man.conf 5 . 8361d06d6bSBaptiste Daroussin.Pp 8461d06d6bSBaptiste DaroussinThe arguments are as follows: 8561d06d6bSBaptiste Daroussin.Bl -tag -width "-C file" 8661d06d6bSBaptiste Daroussin.It Fl a 8761d06d6bSBaptiste DaroussinUse all directories and files found below 8861d06d6bSBaptiste Daroussin.Ar dir ... . 8961d06d6bSBaptiste Daroussin.It Fl C Ar file 9061d06d6bSBaptiste DaroussinSpecify an alternative configuration 9161d06d6bSBaptiste Daroussin.Ar file 9261d06d6bSBaptiste Daroussinin 9361d06d6bSBaptiste Daroussin.Xr man.conf 5 9461d06d6bSBaptiste Daroussinformat. 9561d06d6bSBaptiste Daroussin.It Fl D 9661d06d6bSBaptiste DaroussinDisplay all files added or removed to the index. 9761d06d6bSBaptiste DaroussinWith a second 9861d06d6bSBaptiste Daroussin.Fl D , 9961d06d6bSBaptiste Daroussinalso show all keywords added for each file. 10061d06d6bSBaptiste Daroussin.It Fl d Ar dir 10161d06d6bSBaptiste DaroussinMerge (remove and re-add) 10261d06d6bSBaptiste Daroussin.Ar 10361d06d6bSBaptiste Daroussinto the database in 10461d06d6bSBaptiste Daroussin.Ar dir . 10561d06d6bSBaptiste Daroussin.It Fl n 10661d06d6bSBaptiste DaroussinDo not create or modify any database; scan and parse only, 10761d06d6bSBaptiste Daroussinand print manual page names and descriptions to standard output. 10861d06d6bSBaptiste Daroussin.It Fl p 10961d06d6bSBaptiste DaroussinPrint warnings about potential problems with manual pages 11061d06d6bSBaptiste Daroussinto the standard error output. 11161d06d6bSBaptiste Daroussin.It Fl Q 11261d06d6bSBaptiste DaroussinQuickly build reduced-size databases 11361d06d6bSBaptiste Daroussinby reading only the NAME sections of manuals. 11461d06d6bSBaptiste DaroussinThe resulting databases will usually contain names and descriptions only. 11561d06d6bSBaptiste Daroussin.It Fl T Cm utf8 11661d06d6bSBaptiste DaroussinUse UTF-8 encoding instead of ASCII for strings stored in the databases. 11761d06d6bSBaptiste Daroussin.It Fl t Ar 11861d06d6bSBaptiste DaroussinCheck the given 11961d06d6bSBaptiste Daroussin.Ar files 12061d06d6bSBaptiste Daroussinfor potential problems. 12161d06d6bSBaptiste DaroussinImplies 12261d06d6bSBaptiste Daroussin.Fl a , 12361d06d6bSBaptiste Daroussin.Fl n , 12461d06d6bSBaptiste Daroussinand 12561d06d6bSBaptiste Daroussin.Fl p . 12661d06d6bSBaptiste DaroussinAll diagnostic messages are printed to the standard output; 12761d06d6bSBaptiste Daroussinthe standard error output is not used. 12861d06d6bSBaptiste Daroussin.It Fl u Ar dir 12961d06d6bSBaptiste DaroussinRemove 13061d06d6bSBaptiste Daroussin.Ar 13161d06d6bSBaptiste Daroussinfrom the database in 13261d06d6bSBaptiste Daroussin.Ar dir . 13361d06d6bSBaptiste DaroussinIf that causes the database to become empty, also delete the database file. 13461d06d6bSBaptiste Daroussin.El 13561d06d6bSBaptiste Daroussin.Pp 13661d06d6bSBaptiste DaroussinIf fatal parse errors are encountered while parsing, the offending file 13761d06d6bSBaptiste Daroussinis printed to stderr, omitted from the index, and the parse continues 13861d06d6bSBaptiste Daroussinwith the next input file. 13961d06d6bSBaptiste Daroussin.Sh ENVIRONMENT 14061d06d6bSBaptiste Daroussin.Bl -tag -width MANPATH 14161d06d6bSBaptiste Daroussin.It Ev MANPATH 14261d06d6bSBaptiste DaroussinA colon-separated list of directories to create databases in. 14361d06d6bSBaptiste DaroussinIgnored if a 14461d06d6bSBaptiste Daroussin.Ar dir 14561d06d6bSBaptiste Daroussinargument or the 14661d06d6bSBaptiste Daroussin.Fl t 14761d06d6bSBaptiste Daroussinoption is specified. 14861d06d6bSBaptiste Daroussin.El 14961d06d6bSBaptiste Daroussin.Sh FILES 15061d06d6bSBaptiste Daroussin.Bl -tag -width Ds 15161d06d6bSBaptiste Daroussin.It Pa mandoc.db 15261d06d6bSBaptiste DaroussinA database of manpages relative to the directory of the file. 15361d06d6bSBaptiste DaroussinThis file is portable across architectures and systems, so long as the 15461d06d6bSBaptiste Daroussinmanpage hierarchy it indexes does not change. 15561d06d6bSBaptiste Daroussin.It Pa /etc/man.conf 15661d06d6bSBaptiste DaroussinThe default 15761d06d6bSBaptiste Daroussin.Xr man 1 15861d06d6bSBaptiste Daroussinconfiguration file. 15961d06d6bSBaptiste Daroussin.El 16061d06d6bSBaptiste Daroussin.Sh EXIT STATUS 16161d06d6bSBaptiste DaroussinThe 16261d06d6bSBaptiste Daroussin.Nm 16361d06d6bSBaptiste Daroussinutility exits with one of the following values: 16461d06d6bSBaptiste Daroussin.Pp 16561d06d6bSBaptiste Daroussin.Bl -tag -width Ds -compact 16661d06d6bSBaptiste Daroussin.It 0 16761d06d6bSBaptiste DaroussinNo errors occurred. 16861d06d6bSBaptiste Daroussin.It 5 16961d06d6bSBaptiste DaroussinInvalid command line arguments were specified. 17061d06d6bSBaptiste DaroussinNo input files have been read. 17161d06d6bSBaptiste Daroussin.It 6 17261d06d6bSBaptiste DaroussinAn operating system error occurred, for example memory exhaustion or an 17361d06d6bSBaptiste Daroussinerror accessing input files. 17461d06d6bSBaptiste DaroussinSuch errors cause 17561d06d6bSBaptiste Daroussin.Nm 17661d06d6bSBaptiste Daroussinto exit at once, possibly in the middle of parsing or formatting a file. 17761d06d6bSBaptiste DaroussinThe output databases are corrupt and should be removed. 17861d06d6bSBaptiste Daroussin.El 17961d06d6bSBaptiste Daroussin.Sh SEE ALSO 18061d06d6bSBaptiste Daroussin.Xr apropos 1 , 18161d06d6bSBaptiste Daroussin.Xr man 1 , 18261d06d6bSBaptiste Daroussin.Xr whatis 1 , 18361d06d6bSBaptiste Daroussin.Xr man.conf 5 18461d06d6bSBaptiste Daroussin.Sh HISTORY 18561d06d6bSBaptiste DaroussinA 18661d06d6bSBaptiste Daroussin.Nm 18761d06d6bSBaptiste Daroussinutility first appeared in 18861d06d6bSBaptiste Daroussin.Bx 2 . 18961d06d6bSBaptiste DaroussinIt was rewritten in 19061d06d6bSBaptiste Daroussin.Xr perl 1 19161d06d6bSBaptiste Daroussinfor 19261d06d6bSBaptiste Daroussin.Ox 2.7 19361d06d6bSBaptiste Daroussinand in C for 19461d06d6bSBaptiste Daroussin.Ox 5.6 . 19561d06d6bSBaptiste Daroussin.Pp 19661d06d6bSBaptiste DaroussinThe 19761d06d6bSBaptiste Daroussin.Ar dir 19861d06d6bSBaptiste Daroussinargument first appeared in 19961d06d6bSBaptiste Daroussin.Nx 1.0 ; 20061d06d6bSBaptiste Daroussinthe options 20161d06d6bSBaptiste Daroussin.Fl dpt 20261d06d6bSBaptiste Daroussinin 20361d06d6bSBaptiste Daroussin.Ox 2.7 ; 20461d06d6bSBaptiste Daroussinthe option 20561d06d6bSBaptiste Daroussin.Fl u 20661d06d6bSBaptiste Daroussinin 20761d06d6bSBaptiste Daroussin.Ox 3.4 ; 20861d06d6bSBaptiste Daroussinand the options 20961d06d6bSBaptiste Daroussin.Fl aCDnQT 21061d06d6bSBaptiste Daroussinin 21161d06d6bSBaptiste Daroussin.Ox 5.6 . 21261d06d6bSBaptiste Daroussin.Sh AUTHORS 21361d06d6bSBaptiste Daroussin.An -nosplit 21461d06d6bSBaptiste Daroussin.An Bill Joy 21561d06d6bSBaptiste Daroussinwrote the original 21661d06d6bSBaptiste Daroussin.Bx 21761d06d6bSBaptiste Daroussin.Nm 21861d06d6bSBaptiste Daroussinin February 1979, 21961d06d6bSBaptiste Daroussin.An Marc Espie 22061d06d6bSBaptiste Daroussinstarted the Perl version in 2000, 22161d06d6bSBaptiste Daroussinand the current version of 22261d06d6bSBaptiste Daroussin.Nm 22361d06d6bSBaptiste Daroussinwas written by 22461d06d6bSBaptiste Daroussin.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv 22561d06d6bSBaptiste Daroussinand 22661d06d6bSBaptiste Daroussin.An Ingo Schwarze Aq Mt schwarze@openbsd.org . 227