NOTE - the systemtap source now has scripts/update-docs to automate most of this!
Some of the documents on our web site are generated from content in the git repository, so they need to be refreshed occasionally. Updates are made by checking the generated files into CVS. You can get a working directory with this command:
cvs -d :ext:sourceware.org:/cvs/systemtap checkout htdocs
SystemTap Language Reference
The PDF is built during the normal "make" process, as long as you didn't configure with "--disable-docs". Just copy the resulting PDF from your $BUILD/doc/ directory. For the HTML version, use the following command:
latex2html -noaddress -show_section_numbers -custom_titles -local_icons -split 4 langref.tex -dir ../../htdocs/langref/
It may help to clear out the target directory first. Make sure to resolve the added and deleted files with CVS when committing.
(Note: we also have a script to "publicanize" the langref -- perhaps that's the version we should be publishing in the first place?)
The tutorial is built the same way as the langref.
SystemTap Beginner's Guide
The SystemTap Beginner's Guide is built using Publican. Make sure that publican is installed on the system with the following command run as root:
yum install "publican*"
And that you configured with:
configure --enable-docs --enable-publican
Go to your $BUILD/doc/beginners directory and type make. The actual source for the manual is in the $SRC/doc/SystemTap_Beginners_Guide/en-US subdirectory.
As of SystemTap 2.8, the SystemTap Beginner's Guide is built using xmlto. To build the docs during the make process, configure with --enable-docs. A recent version of xmlto (0.0.23-3+) and fop are needed to generate the pdf version. Then just copy over the SystemTap_Beginners_Guide.pdf and SystemTap_Beginners_Guide directory from the $BUILD/doc/beginners directory and cvs commit them.
Tapset Reference Guide
Make sure you build with --enable-docs and that you have a recent version of xmlto (0.0.23-3+) to be able to generate the pdf version (configure will check, see rhbz 526273). Then just remove the old versions and copy the files over:
cd ../htdocs/ cp ../systemtap-obj/doc/SystemTap_Tapset_Reference/tapsets.pdf . cvs commit -mnew-tapsets-pdf cd tapsets/ cvs rm -f *.html cvs commit -mout-with-the-old-tapsets cp ../../systemtap-obj/doc/SystemTap_Tapset_Reference/tapsets/*.html . cvs add *.html cvs commit -min-with-the-new-tapsets
The examples are an exception -- CVS only contains the gitweb script which pulls the rest directly out of the git HEAD. Each example script comes paired with a .meta description file. Whenever a meta file is added or changed, the HTML indexes need to be regenerated by running the "examples-index-gen.pl" script, and these changes committed back into git.
SystemTap Man Pages
Build & install a copy of systemtap somewhere.
cd ../htdocs/man cvs rm -f *.html cvs commit -mout-with-the-old REGEN.sh <prefixdir> cvs add *.html cvs commit -min-with-the-new
REGEN.sh needs a program called man2html, which isn't shipped anymore with fedora, but it is available in rhel(6) and derivatives.