diff --git a/maintainer-scripts/ChangeLog b/maintainer-scripts/ChangeLog index 93feefab37b2..1f4cedc83e9d 100644 --- a/maintainer-scripts/ChangeLog +++ b/maintainer-scripts/ChangeLog @@ -1,3 +1,14 @@ +2001-03-17 Joseph S. Myers + + * update_web_docs: Handle -r and -d options to generate docs for a + release or branch in a subdirectory. Determine names of G77 news + and bugs files and contributors file after updated docs have been + installed, not before. Don't remove files from a subdirectory. + Don't generate manuals for gcov (included in the GCC manual) or + iostream (obsolete). Do generate manuals for cppinternals, gcj + and porting. Update regular expressions for detecting whether + files have really changed when regenerated. + 2001-03-15 Joseph S. Myers * update_web_docs: Use /usr/local/bin/texi2html rather than diff --git a/maintainer-scripts/update_web_docs b/maintainer-scripts/update_web_docs index b5d779f7c5e4..cfaf80f46043 100755 --- a/maintainer-scripts/update_web_docs +++ b/maintainer-scripts/update_web_docs @@ -7,6 +7,72 @@ export CVSROOT PATH=/usr/local/bin:$PATH WWWBASE=/www/gcc/htdocs +# Process options -rrelease and -ddirectory +RELEASE="" +SUBDIR="" + +while [ $# -gt 0 ]; do + case $1 in + -r*) + if [ -n "$RELEASE" ]; then + echo "Multiple releases specified" >&2 + exit 1 + fi + RELEASE="${1#-r}" + if [ -z "$RELEASE" ]; then + shift + RELEASE="${1#-r}" + if [ -z "$RELEASE" ]; then + echo "No release specified with -r" >&2 + exit 1 + fi + fi + ;; + -d*) + if [ -n "$SUBDIR" ]; then + echo "Multiple subdirectories specified" >&2 + exit 1 + fi + SUBDIR="${1#-d}" + if [ -z "$SUBDIR" ]; then + shift + SUBDIR="${1#-d}" + if [ -z "$SUBDIR" ]; then + echo "No subdirectory specified with -d" >&2 + exit 1 + fi + fi + ;; + *) + echo "Unknown argument \"$1\"" >&2 + exit 1 + ;; + esac + shift +done + +if [ -n "$RELEASE" ] && [ -z "$SUBDIR" ]; then + echo "Release specified without subdirectory" >&2 + exit 1 +fi + +if [ -z "$SUBDIR" ]; then + DOCSDIR=$WWWBASE/onlinedocs +else + DOCSDIR=$WWWBASE/onlinedocs/$SUBDIR +fi + +if [ ! -d $DOCSDIR ]; then + mkdir $DOCSDIR +fi + +if [ -z "$RELEASE" ]; then + RELEASE=HEAD + DO_THANKS_HTML=y +else + DO_THANKS_HTML=n +fi + WORKDIR=/tmp/gcc-doc-update.$$ /bin/rm -rf $WORKDIR @@ -21,11 +87,11 @@ find $CVSROOT/gcc -name \*.texi,v -print | fgrep -v -f/home/gccadmin/scripts/doc # Checkout all the texi files and get them into a single directory. # If we ever have texi files with the same name we'll have to do this # differently. -cvs -Q co `cat FILES` +cvs -Q co -r$RELEASE `cat FILES` mv `find . -name \*.texi -print` . # Now convert the relavent files from texi to html -for file in c-tree cpp chill gcc gcov gxxint g77 iostream objc-features; do +for file in c-tree cpp chill cppinternals gcc gcj gxxint g77 objc-features porting; do /usr/local/bin/texi2html -glossary -menu -split_chapter ${file}.texi done @@ -34,33 +100,33 @@ for file in *.html; do cat $file | gzip --best > $file.gz done -news_file=`grep "News About GNU Fortran" $WWWBASE/onlinedocs/g77_toc.html | sed -e '/HREF=.*[^.]/ s#^.*HREF="##g' | sed -e 's%#SEC.*%%g'` -bugs_file=`grep "Known Causes of Trouble with GNU Fortran" $WWWBASE/onlinedocs/g77_toc.html | sed -e '/HREF=.*[^.]/ s#^.*HREF="##g' | sed -e 's%#SEC.*%%g'` -contrib_file=`grep "Contributors to GCC" $WWWBASE/onlinedocs/gcc_toc.html | sed -e '/HREF=.*[^.]/ s#^.*HREF="##g' | sed -e 's%#SEC.*%%g'` - # On the 15th of the month, wipe all the old files from the # web server. today=`date +%d` if test $today = 15; then - find $WWWBASE/onlinedocs -type f -print | grep -v index.html | xargs rm + find $DOCSDIR -type f -maxdepth 1 -print | grep -v index.html | xargs rm fi # And copy the resulting html files to the web server for file in *.html; do - cat $WWWBASE/onlinedocs/$file | - sed -e '/^This document was generated on/d' \ - -e '/^