#!/usr/bin/bash
#check for man2html
#TODO perhaps wget, untar, and automatically use, then remove if we want?
# http://dcssrv1.oit.uci.edu/indiv/ehood/tar/man2html3.0.1.tar.gz
echo This script regenerates the 'sourceware.org/systemtap/{tapset,man,...}' docs
echo from a NEW checkout of git master systemtap and a partial build.
echo
echo Consider running this script under ssh-agent, with an ssh-add-ed identity,
echo in order to prevent interactive blockage at the many ssh/cvs operations.
echo
echo Count to ten ... slowly ...
sleep 10
if which man2html &>/dev/null; then
:
else
echo "Please install man2html package"
exit
fi
# Create the directory we'll be working in
DIR=`mktemp -d stapdocsXXX -p /tmp/`; cd $DIR
# We'll need to build the latest stap with docs, ensure a check that everything built properly or bail
git clone --depth 1 git://sourceware.org/git/systemtap.git
# Checkout the htdocs CVS
cvs -d :ext:sourceware.org:/cvs/systemtap checkout htdocs
BASEDIR=`pwd`
cd systemtap
mkdir build && mkdir local && cd build
../configure --enable-docs --enable-htmldocs --prefix=$BASEDIR/systemtap/local
make -C doc
make install-data
if [ $? -eq 0 ]; then
:
else
echo "Make failed, please address build errors"
exit
fi
### LANGREF
cp doc/langref.pdf $BASEDIR/htdocs/
#Something about publicanizing the langref?
rm $BASEDIR/htdocs/langref/*.html
cd $BASEDIR/htdocs
cvs rm && cvs commit -m 'removed langref/*.html'
cd $BASEDIR/systemtap/doc
latex2html -noaddress -show_section_numbers -custom_titles -local_icons -split 4 langref.tex -dir $BASEDIR/htdocs/langref/
cd $BASEDIR/htdocs
cvs add langref/*.html && cvs commit -m 'add new langref/*.html'
cd -
### TUTORIAL
cp $BASEDIR/systemtap/build/doc/tutorial.pdf $BASEDIR/htdocs/
rm $BASEDIR/htdocs/tutorial/*.html
cd $BASEDIR/htdocs
#cvs rm && cvs commit -m 'removed tutorial/*.html'
cd $BASEDIR/systemtap/doc
latex2html -noaddress -show_section_numbers -custom_titles -local_icons -split 4 tutorial.tex -dir $BASEDIR/htdocs/tutorial/
cd $BASEDIR/htdocs
cvs add tutorial/*.html && cvs commit -m 'add new tutorial/*.html'
# beginners guide
# we require xmlto version newer than 0.0.23-3
# TODO add a version check
cd $BASEDIR/systemtap/build/doc/beginners
cp SystemTap_Beginners_Guide.pdf $BASEDIR/htdocs/
#echo 'systemtap_beginners_guide.pdf cp'
rm $BASEDIR/htdocs/SystemTap_Beginners_Guide/*.html
cp -R SystemTap_Beginners_Guide $BASEDIR/htdocs/
#echo 'systemtap_beginners_guide recursive cp'
# tapsets
cd ../..
cp $BASEDIR/systemtap/build/doc/SystemTap_Tapset_Reference/tapsets.pdf $BASEDIR/htdocs/
#echo 'tapsets.pdf cp'
rm $BASEDIR/htdocs/tapsets/*.html
cp -R $BASEDIR/systemtap/build/doc/SystemTap_Tapset_Reference/tapsets/*.html $BASEDIR/htdocs/tapsets/
cd $BASEDIR/htdocs
cvs add tapsets/*.html && cvs commit -m 'add new tapsets/*.html'
#echo 'tapsets html cp'
# systemtap examples
# run gitweb.php script?
# run examples-index-gen.pl script if needed?
rm man/*.html && cvs rm * && cvs commit -m 'removed man pages'
cd $BASEDIR/htdocs/man
./REGEN.sh $BASEDIR/systemtap/local
cd $BASEDIR/htdocs
cvs add man/*.html && cvs commit -m 'added new man pages'
echo -- $BASEDIR