1 .\" $Id: catman.8,v 1.8 2017/03/18 19:56:01 schwarze Exp $
3 .\" Copyright (c) 2017 Ingo Schwarze <schwarze@openbsd.org>
5 .\" Permission to use, copy, modify, and distribute this software for any
6 .\" purpose with or without fee is hereby granted, provided that the above
7 .\" copyright notice and this permission notice appear in all copies.
9 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 .Dd $Mdocdate: March 18 2017 $
22 .Nd format all manual pages below a directory
25 .Op Fl I Cm os Ns = Ns Ar name
31 utility assumes that all files below
37 format and formats all of them, storing the formatted versions in
38 the same relative paths below
42 are created as needed.
43 Existing files are not explicitly deleted, but possibly overwritten.
45 The options are as follows:
47 .It Fl I Cm os Ns = Ns Ar name
48 Override the default operating system
72 output option is implied.
73 Other output options are not supported.
75 .Sh IMPLEMENTATION NOTES
76 Since this version avoids
80 overhead and uses the much faster
82 parsers and formatters rather than
84 it may be about one order of magnitude faster than other
90 Possible errors include:
93 missing, invalid, or excessive command line arguments
95 failure to change the current working directory to
101 communication failure with
104 resource exhaustion, for example file descriptor, process table,
108 Except for memory exhaustion and similar system-level failures,
109 failures while trying to open, read, parse, or format individual
110 manual pages, to save individual formatted files to the file system,
111 or even to create directories do not cause
113 to return an error exit status.
116 will simply continue with the next file or subdirectory.
123 utility first appeared in
125 Other, incompatible implementations appeared in
130 This version appeared in version 1.14.1 of the
137 implementation was a short shell script by
138 .An Christoph Robitschko
143 implementations were written by
144 .An J. T. Conklin Aq Mt jtc@netbsd.org
146 .An Christian E. Hopps Aq Mt chopps@netbsd.org
149 .An Dante Profeta Aq Mt dante@netbsd.org
153 .An Graeme W. Wilford
157 .An Wolfram Schneider Aq Mt wosch@freebsd.org
159 .An John Rochester Aq Mt john@jrochester.org
162 The concept of the present version was designed and implemented by
163 .An Michael Stapelberg Aq Mt stapelberg@debian.org
165 Option and argument handling and directory iteration was added by
166 .An Ingo Schwarze Aq Mt schwarze@openbsd.org .
170 are incompatible with each other because each caters to the needs
171 of a specific operating system, for example regarding directory
172 structures and file naming conventions.
174 This version is more flexible than the others in so far as it does
175 not assume any particular directory structure or naming convention.
176 That flexibility comes at the price of not being able to change the
177 names and relative paths of the source files when reusing them to
178 store the formatted files, of not supporting any configuration file
179 formats or environment variables, and of being unable to scan for
180 and remove junk files in
185 always reformats each page, even if the formatted version is newer
186 than the source version.