From fcf12682a3779e7a22bc08e192c7f05152541fe7 Mon Sep 17 00:00:00 2001 From: jsm28 Date: Sat, 17 Mar 2001 23:05:06 +0000 Subject: [PATCH] * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40589 138bc75d-0d04-0410-961f-82ee72b054a4 --- maintainer-scripts/ChangeLog | 11 ++++ maintainer-scripts/update_web_docs | 106 ++++++++++++++++++++++++++++++------- 2 files changed, 98 insertions(+), 19 deletions(-) diff --git a/maintainer-scripts/ChangeLog b/maintainer-scripts/ChangeLog index 93feefab37b..1f4cedc83e9 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 b5d779f7c5e..cfaf80f4604 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 '/^