=================================================================== RCS file: /cvs/mandoc/INSTALL,v retrieving revision 1.18 retrieving revision 1.24 diff -u -p -r1.18 -r1.24 --- mandoc/INSTALL 2017/02/08 12:24:10 1.18 +++ mandoc/INSTALL 2021/09/20 13:25:42 1.24 @@ -1,22 +1,24 @@ -$Id: INSTALL,v 1.18 2017/02/08 12:24:10 schwarze Exp $ +$Id: INSTALL,v 1.24 2021/09/20 13:25:42 schwarze Exp $ -About mdocml, the portable mandoc distribution ----------------------------------------------- -The mandoc manpage compiler toolset is a suite of tools compiling -mdoc(7), the roff(7) macro language of choice for BSD manual pages, -and man(7), the predominant historical language for UNIX manuals. +About the portable mandoc distribution +-------------------------------------- +The mandoc manpage compiler toolset (formerly called "mdocml") +is a suite of tools compiling mdoc(7), the roff(7) macro language +of choice for BSD manual pages, and man(7), the predominant +historical language for UNIX manuals. + It includes a man(1) manual viewer and additional tools. -For general information, see . +For general information, see . In case you have questions or want to provide feedback, read -. Consider subscribing to the +. Consider subscribing to the discuss@ mailing list mentioned on that page. If you intend to help with the development of mandoc, consider subscribing to the tech@ mailing list, too. Enjoy using the mandoc toolset! -Ingo Schwarze, Karlsruhe, February 2017 +Ingo Schwarze, Karlsruhe, September 2021 Installation @@ -25,7 +27,7 @@ Before manually installing mandoc on your system, plea whether the newest version of mandoc is already installed by default or available via a binary package or a ports system. A list of the latest bundled and ported versions of mandoc for various operating -systems is maintained at . +systems is maintained at . Regarding how packages and ports are maintained for your operating system, please consult your operating system documentation. @@ -35,7 +37,7 @@ To install mandoc manually, the following steps are ne run the command "echo BUILD_CGI=1 >> configure.local". Then run "cp cgi.h.example cgi.h" and edit cgi.h as desired. -2. If you also want to build the new catman(8) utility, run the +2. If you also want to build the catman(8) utility, run the command "echo BUILD_CATMAN=1 >> configure.local". Note that it is unlikely to be a drop-in replacement providing the same functionality as your system's "catman", if your operating @@ -52,8 +54,6 @@ generates. If anything looks wrong or different from wish, read the file "configure.local.example", create and edit a file "configure.local", and re-run "./configure" until the result seems right to you. -On Solaris 10 and earlier, you may have to run "ksh ./configure" -because the native /bin/sh lacks some POSIX features. 5. Run "make". Any POSIX-compatible make, in particular both BSD make and GNU make, @@ -65,9 +65,15 @@ installed to the intended places. Otherwise, put some variables into "configure.local" and go back to step 4. 7. Optionally run the regression suite. -Basically, that amounts to "cd regress && ./regress.pl". -But you should probably look at "./mandoc -l regress/regress.pl.1" -first. +Basically, that amounts to "make regress" to do a standard regression +run, running all tests. For more fine-grained control, +read "./mandoc -l regress/regress.pl.1", +then run "cd regress && ./regress.pl" with optional arguments. +The regression suite requires a reasonably modern Perl interpreter. +Examples of systems that are too old to run the regression suite +include Solaris 9, Solaris 10, and Mac OS X 10.4 Tiger. +On Solaris 11, the suite does run, but some tests fail; +look at the BUGS section of that manual page. 8. Run "sudo make install". If you intend to build a binary package using some kind of fake root mechanism, you may need a @@ -75,18 +81,20 @@ command like "make DESTDIR=... install". Read the *-i in the "Makefile" to understand how DESTDIR is used. 9. Run the command "sudo makewhatis" to build mandoc.db(5) databases -in all the directory trees configured in step 6. Whenever installing +in all the directory trees configured in step 3. Whenever installing new manual pages, re-run makewhatis(8) to update the databases, or apropos(1) will not find the new pages. 10. To set up a man.cgi(8) server, read its manual page. -Note that some man(7) pages may contain low-level roff(7) markup -that mandoc does not yet understand. On some BSD systems using -mandoc, third-party software is vetted on whether it may be formatted -with mandoc. If not, groff(1) is pulled in as a dependency and -used to install a pre-formatted "catpage" instead of directly as -manual page source. +Note that a very small number of man(7) pages contain low-level +roff(7) markup that mandoc does not yet understand. On some BSD +systems using mandoc, third-party software is vetted on whether it +may be formatted with mandoc. If not, groff(1) is pulled in as a +dependency and used to install pre-formatted "catpages" instead of +manual page sources. This mechanism is used much less frequently +than in the past. On OpenBSD, only 25 out of about 10000 ports +still require formatting with groff(1). Understanding mandoc dependencies