Documentation ------------- There is no voodoo here. Just pipe in the HTML page and you'll get a manual page on stdout. Type 'djbdoc2man --help' for command line parameters. Simple example: wget -O - -q http://cr.yp.to/daemontools/multilog.html \ | djbdoc2man > multilog.1 Creating manual pages for daemontools ------------------------------------- This is pretty straight forward. All programs are documented and the documentation pages from DJB are structured well enough so no special treatment is needed to generate all manual pages. Here is an example how to create the manual pages: for f in svscanboot svscan supervise svc svok svstat fghack pgrphack \ readproctitle multilog tai64n tai64nlocal setuidgid envuidgid \ envdir softlimit setlock do wget -O - -q http://cr.yp.to/daemontools/$f.html \ | djbdoc2man -p daemontools -v 0.76> $f.1 done You will get some warnings because there is no syntax line in the documentation. You can ignore these warnings. djbdoc2man uses the program name as default syntax line which is quite correct because these programs don't have any arguments. You can suppress the warnings with the "-q" parameter. Creating manual pages for djbdns -------------------------------- This is also pretty straight forward. No special treatment is need but unfortunatelly DJB has not documented all of the djbdns programs. Here is an example how to create manual pages from the existing documentation: for f in dnscache-conf dnscache tinydns-conf tinydns-data tinydns \ axfrdns-conf axfrdns axfr-get walldns-conf walldns rbldns-conf \ rbldns rbldns-data dnsfilter do wget -O - -q http://cr.yp.to/djbdns/$f.html \ | djbdoc2man -p djbdns -v 1.05 > $f.1 done You will get some warnings because there is no syntax line in the documentation. You can ignore these warnings. djbdoc2man uses the program name as default syntax line which is quite correct because these programs don't have any arguments. You can suppress these warnings with the "-q" parameter. Creating manual pages for ucspi-tcp ----------------------------------- Most of the manual pages can be generated without special treatment. Example: for f in tcprulescheck tcpserver tcprules argv0 fixcrio recordio \ rblsmtpd tcpclient who@ date@ finger@ http@ tcpcat mconnect do wget -O - -q http://cr.yp.to/ucspi-tcp/$f.html \ | djbdoc2man -p ucspi-tcp -v 0.88 > $f.1 done The programms addcr and delcr are documented on ONE page. I think a good practice is to use this page as man page for BOTH programs. You can do this in that way: wget -O - -q http://cr.yp.to/ucspi-tcp/addcr.html \ | djbdoc2man -p ucspi-tcp -v 0.88 -n addcr > addcr.1 wget -O - -q http://cr.yp.to/ucspi-tcp/addcr.html \ | djbdoc2man -p ucspi-tcp -v 0.88 -n delcr > delcr.1 You get some warnings because there is no short description and no syntax line in some documentation pages but you can ignore these warnings. You can suppress these warnings with the "-q" parameter.