aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <jsm28@cam.ac.uk>2001-03-17 23:05:06 +0000
committerJoseph Myers <jsm28@gcc.gnu.org>2001-03-17 23:05:06 +0000
commit832013cdfa2192009e2c5c71509e3cad77dc8cc5 (patch)
tree1fa43c207c14d1eeeaa5b18aca56c6dd821695e9
parentd148b6aa8712b23a0a90d793799abf59507122f7 (diff)
downloadgcc-832013cdfa2192009e2c5c71509e3cad77dc8cc5.zip
gcc-832013cdfa2192009e2c5c71509e3cad77dc8cc5.tar.gz
gcc-832013cdfa2192009e2c5c71509e3cad77dc8cc5.tar.bz2
update_web_docs: Handle -r and -d options to generate docs for a release or branch in a subdirectory.
* 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. From-SVN: r40589
-rw-r--r--maintainer-scripts/ChangeLog11
-rwxr-xr-xmaintainer-scripts/update_web_docs106
2 files changed, 98 insertions, 19 deletions
diff --git a/maintainer-scripts/ChangeLog b/maintainer-scripts/ChangeLog
index 93feefa..1f4cedc 100644
--- a/maintainer-scripts/ChangeLog
+++ b/maintainer-scripts/ChangeLog
@@ -1,3 +1,14 @@
+2001-03-17 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * 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 <jsm28@cam.ac.uk>
* 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 b5d779f..cfaf80f 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 '/^<!-- Created by texi/d' > file1
+ cat $DOCSDIR/$file |
+ sed -e '/^<!-- Created on/d' \
+ -e '/^by <I>GCC Administrator<\/I> on/d' > file1
cat $file |
- sed -e '/^This document was generated on/d' \
- -e '/^<!-- Created by texi/d' > file2
+ sed -e '/^<!-- Created on/d' \
+ -e '/^by <I>GCC Administrator<\/I> on/d' > file2
if cmp -s file1 file2; then
:
else
- cp $file ${file}.gz $WWWBASE/onlinedocs
+ cp $file ${file}.gz $DOCSDIR
fi
done
-cd $WWWBASE/onlinedocs
+news_file=`grep "News About GNU Fortran" $DOCSDIR/g77_toc.html | sed -e '/HREF=.*[^.]/ s#^.*HREF="##g' | sed -e 's%#SEC.*%%g'`
+bugs_file=`grep "Known Causes of Trouble with GNU Fortran" $DOCSDIR/g77_toc.html | sed -e '/HREF=.*[^.]/ s#^.*HREF="##g' | sed -e 's%#SEC.*%%g'`
+contrib_file=`grep "Contributors to GCC" $DOCSDIR/gcc_toc.html | sed -e '/HREF=.*[^.]/ s#^.*HREF="##g' | sed -e 's%#SEC.*%%g'`
+
+cd $DOCSDIR
rm -f g77_news.html
rm -f g77_bugs.html
@@ -71,10 +137,12 @@ ln $bugs_file g77_bugs.html
ln ${news_file}.gz g77_news.html.gz
ln ${bugs_file}.gz g77_bugs.html.gz
-cd $WWWBASE
-rm -f thanks.html
-rm -f thanks.html.gz
-ln onlinedocs/$contrib_file thanks.html
-ln onlinedocs/${contrib_file}.gz thanks.html.gz
+if [ "$DO_THANKS_HTML" = y ]; then
+ cd $WWWBASE
+ rm -f thanks.html
+ rm -f thanks.html.gz
+ ln onlinedocs/$contrib_file thanks.html
+ ln onlinedocs/${contrib_file}.gz thanks.html.gz
+fi
rm -rf $WORKDIR