changeset 10991:6a44f8868a74

autoupdate (for gendocs.sh accepting --email)
author Karl Berry <karl@freefriends.org>
date Fri, 02 Jan 2009 08:11:07 -0800
parents 7e8a454e9758
children ccf9229b86fd
files build-aux/gendocs.sh doc/gendocs_template doc/gendocs_template_min doc/maintain.texi
diffstat 4 files changed, 79 insertions(+), 65 deletions(-) [+]
line wrap: on
line diff
--- a/build-aux/gendocs.sh
+++ b/build-aux/gendocs.sh
@@ -2,9 +2,9 @@
 # gendocs.sh -- generate a GNU manual in many formats.  This script is
 #   mentioned in maintain.texi.  See the help message below for usage details.
 
-scriptversion=2008-03-05.14
+scriptversion=2009-01-01.11
 
-# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008
+# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009
 # Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -44,7 +44,7 @@
 
 version="gendocs.sh $scriptversion
 
-Copyright (C) 2007 Free Software Foundation, Inc.
+Copyright 2009 Free Software Foundation, Inc.
 There is NO warranty.  You may redistribute this software
 under the terms of the GNU General Public License.
 For more information about these matters, see the files named COPYING."
@@ -57,24 +57,28 @@
 
 Options:
   -o OUTDIR   write files into OUTDIR, instead of manual/.
+  --email ADR use ADR as contact in generated web pages.
   --docbook   convert to DocBook too (xml, txt, html, pdf and ps).
   --html ARG  pass indicated ARG to makeinfo or texi2html for HTML targets.
   --texi2html use texi2html to generate HTML targets.
   --help      display this help and exit successfully.
   --version   display version information and exit successfully.
 
-Simple example: $prog emacs \"GNU Emacs Manual\"
+Simple example: $prog --email bug-gnu-emacs@gnu.org emacs \"GNU Emacs Manual\"
 
 Typical sequence:
-  cd YOURPACKAGESOURCE/doc
+  cd PACKAGESOURCE/doc
   wget \"$scripturl\"
   wget \"$templateurl\"
-  $prog YOURMANUAL \"GNU YOURMANUAL - One-line description\"
+  $prog --email BUGLIST MANUAL \"GNU MANUAL - One-line description\"
 
 Output will be in a new subdirectory \"manual\" (by default, use -o OUTDIR
 to override).  Move all the new files into your web CVS tree, as
 explained in the Web Pages node of maintain.texi.
 
+Please use the --email ADDRESS option to specify your bug-reporting
+address in the generated HTML pages.
+
 MANUAL-TITLE is included as part of the HTML <title> of the overall
 manual/index.html file.  It should include the name of the package being
 documented.  manual/index.html is created by substitution from the file
@@ -82,11 +86,11 @@
 generic template for your own purposes.)
 
 If you have several manuals, you'll need to run this script several
-times with different YOURMANUAL values, specifying a different output
+times with different MANUAL values, specifying a different output
 directory with -o each time.  Then write (by hand) an overall index.html
 with links to them all.
 
-If a manual's texinfo sources are spread across several directories,
+If a manual's Texinfo sources are spread across several directories,
 first copy or symlink all Texinfo sources into a single directory.
 (Part of the script's work is to make a tar.gz of the sources.)
 
@@ -98,7 +102,7 @@
 
 By default, makeinfo is run in the default (English) locale, since
 that's the language of most Texinfo manuals.  If you happen to have a
-non-English manual and non-English web site, check the SETLANG setting
+non-English manual and non-English web site, see the SETLANG setting
 in the source.
 
 Email bug reports or enhancement requests to bug-texinfo@gnu.org.
@@ -110,21 +114,23 @@
   echo $size
 }
 
+MANUAL_TITLE=
+PACKAGE=
+EMAIL=webmasters@gnu.org  # please override with --email
+htmlarg=
 outdir=manual
-html=
-PACKAGE=
-MANUAL_TITLE=
 
 while test $# -gt 0; do
   case $1 in
+    --email) shift; EMAIL=$1;;
     --help) echo "$usage"; exit 0;;
     --version) echo "$version"; exit 0;;
     -o) shift; outdir=$1;;
     --docbook) docbook=yes;;
-    --html) shift; html=$1;;
+    --html) shift; htmlarg=$1;;
     --texi2html) use_texi2html=1;;
     -*)
-      echo "$0: Unknown or ambiguous option \`$1'." >&2
+      echo "$0: Unknown option \`$1'." >&2
       echo "$0: Try \`--help' for more information." >&2
       exit 1;;
     *)
@@ -203,8 +209,10 @@
 ascii_gz_size=`calcsize $outdir/$PACKAGE.txt.gz`
 mv $PACKAGE.txt $outdir/
 
-html_split() {
-  cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html --split=$1 $html --node-files \"$srcfile\""
+html_split()
+{
+  opt="--split=$1 $htmlarg --node-files"
+  cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html $opt \"$srcfile\""
   echo "Generating html by $1... ($cmd)"
   eval "$cmd"
   split_html_dir=$PACKAGE.html
@@ -221,7 +229,8 @@
 }
 
 if test -z "$use_texi2html"; then
-  cmd="$SETLANG $MAKEINFO --no-split --html -o $PACKAGE.html $html \"$srcfile\""
+  opt="--no-split --html -o $PACKAGE.html $htmlarg"
+  cmd="$SETLANG $MAKEINFO $opt \"$srcfile\""
   echo "Generating monolithic html... ($cmd)"
   rm -rf $PACKAGE.html  # in case a directory is left over
   eval "$cmd"
@@ -230,7 +239,7 @@
   html_mono_gz_size=`calcsize $outdir/$PACKAGE.html.gz`
   mv $PACKAGE.html $outdir/
 
-  cmd="$SETLANG $MAKEINFO --html -o $PACKAGE.html $html \"$srcfile\""
+  cmd="$SETLANG $MAKEINFO --html -o $PACKAGE.html $htmlarg \"$srcfile\""
   echo "Generating html by node... ($cmd)"
   eval "$cmd"
   split_html_dir=$PACKAGE.html
@@ -244,7 +253,7 @@
   mv ${split_html_dir}/*.html $outdir/html_node/
   rmdir ${split_html_dir}
 else
-  cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html $html \"$srcfile\"" 
+  cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html $htmlarg \"$srcfile\"" 
   echo "Generating monolithic html... ($cmd)"
   rm -rf $PACKAGE.html  # in case a directory is left over
   eval "$cmd"
@@ -306,7 +315,7 @@
   mv $PACKAGE-db.pdf $outdir/
 fi
 
-echo Writing index file...
+echo "Writing index file..."
 if test -z "$use_texi2html"; then
    CONDS="/%%IF  *HTML_SECTION%%/,/%%ENDIF  *HTML_SECTION%%/d;\
           /%%IF  *HTML_CHAPTER%%/,/%%ENDIF  *HTML_CHAPTER%%/d"
@@ -316,8 +325,9 @@
 curdate=`$SETLANG date '+%B %d, %Y'`
 sed \
    -e "s!%%TITLE%%!$MANUAL_TITLE!g" \
+   -e "s!%%EMAIL%%!$EMAIL!g" \
+   -e "s!%%PACKAGE%%!$PACKAGE!g" \
    -e "s!%%DATE%%!$curdate!g" \
-   -e "s!%%PACKAGE%%!$PACKAGE!g" \
    -e "s!%%HTML_MONO_SIZE%%!$html_mono_size!g" \
    -e "s!%%HTML_MONO_GZ_SIZE%%!$html_mono_gz_size!g" \
    -e "s!%%HTML_NODE_TGZ_SIZE%%!$html_node_tgz_size!g" \
@@ -341,7 +351,7 @@
    -e "$CONDS" \
 $GENDOCS_TEMPLATE_DIR/gendocs_template >$outdir/index.html
 
-echo "Done!  See $outdir/ subdirectory for new files."
+echo "Done, see $outdir/ subdirectory for new files."
 
 # Local variables:
 # eval: (add-hook 'write-file-hooks 'time-stamp)
--- a/doc/gendocs_template
+++ b/doc/gendocs_template
@@ -83,16 +83,14 @@
 the FSF.
 <br />
 Please send broken links and other corrections or suggestions to
-<a href="mailto:webmasters@gnu.org"><em>webmasters@gnu.org</em></a>.
+<a href="mailto:%%EMAIL%%"><em>%%EMAIL%%</em></a>.
 </p>
 
-<p>
-Copyright &copy; 2008 Free Software Foundation, Inc.,
-</p>
-<address>51 Franklin Street, Fifth Floor, Boston, MA 02111, USA</address>
+<p>Copyright &copy; 2009 Free Software Foundation, Inc.</p>
+
 <p>Verbatim copying and distribution of this entire article is
-permitted in any medium, provided this notice is preserved.
-</p>
+permitted in any medium, provided this notice is preserved.</p>
+
 
 </div>
 </div>
--- a/doc/gendocs_template_min
+++ b/doc/gendocs_template_min
@@ -92,16 +92,13 @@
 the FSF.
 <br />
 Please send broken links and other corrections (or suggestions) to
-<a href="mailto:webmasters@gnu.org"><em>webmasters@gnu.org</em></a>.
+<a href="mailto:%%EMAIL%%"><em>%%EMAIL%%</em></a>.
 </p>
 
-<p>
-Copyright &copy; 2007 Free Software Foundation, Inc.,
-51 Franklin Street, Fifth Floor, Boston, MA 02111, USA
-<br />
-Verbatim copying and distribution of this entire article is
-permitted in any medium, provided this notice is preserved.
-</p>
+<p>Copyright &copy; 2009 Free Software Foundation, Inc.</p>
+
+<p>Verbatim copying and distribution of this entire article is
+permitted in any medium, provided this notice is preserved.</p>
 
 </div>
 
--- a/doc/maintain.texi
+++ b/doc/maintain.texi
@@ -5,7 +5,7 @@
 @c For double-sided printing, uncomment:
 @c @setchapternewpage odd
 @c This date is automagically updated when you save this file:
-@set lastupdate November 14, 2008
+@set lastupdate January 1, 2009
 @c %**end of header
 
 @dircategory GNU organization
@@ -25,7 +25,7 @@
 Information for maintainers of GNU software, last updated @value{lastupdate}.
 
 Copyright @copyright{} 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software
+2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
 Foundation, Inc.
 
 @quotation
@@ -734,17 +734,18 @@
 Please adjust the list of invariant sections as appropriate for your
 manual.  If there are none, then say ``with no Invariant Sections''.
 If your manual is not published by the FSF, and under 400 pages, you
-can omit both cover texts and the inclusion of the GPL.
+can omit both cover texts.
 
 @xref{GNU Sample Texts,,,texinfo,Texinfo}, for a full example in a
 Texinfo manual, and see
 @url{http://www.gnu.org/licenses/fdl-howto.html} for more advice about
 how to use the GNU FDL.
 
-If the manual is over 400 pages, or if the FSF thinks it might be a good
-choice for publishing on paper, then please include our standard
-invariant section which explains the importance of free documentation.
-Write to @email{assign@@gnu.org} to get a copy of this section.
+If the manual is over 400 pages, or if the FSF thinks it might be a
+good choice for publishing on paper, then please include the GNU GPL,
+as in the notice above.  Please also include our standard invariant
+section which explains the importance of free documentation.  Write to
+@email{assign@@gnu.org} to get a copy of this section.
 
 When you distribute several manuals together in one software package,
 their on-line forms can share a single copy of the GFDL (see
@@ -1582,32 +1583,36 @@
 section above.  It has a companion template file, used as the basis
 for the HTML index pages.  Both are available from the Texinfo CVS
 sources:
-@format
+
+@smallformat
 @uref{http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/util/gendocs.sh}
 @uref{http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/util/gendocs_template}
-@end format
+@end smallformat
 
-There is also a ``minimalistic'' template version, available from:
+There is also a minimalistic template, available from:
 
-@format
+@smallformat
 @uref{http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/util/gendocs_template_min}
-@end format
+@end smallformat
 
 Invoke the script like this, in the directory containing the Texinfo
 source:
-@example
-gendocs.sh @var{yourmanual} "GNU @var{yourmanual} manual"
-@end example
+
+@smallexample
+gendocs.sh --email @var{yourbuglist} @var{yourmanual} "GNU @var{yourmanual} manual"
+@end smallexample
 
-@noindent where @var{yourmanual} is the short name for your package.
-The script processes the file @file{@var{yourmanual}.texinfo} (or
-@file{.texi} or @file{.txi}).  For example:
+@noindent where @var{yourmanual} is the short name for your package
+and @var{yourbuglist} is the email address for bug reports (typically
+@code{bug-@var{package}@@gnu.org}).  The script processes the file
+@file{@var{yourmanual}.texinfo} (or @file{.texi} or @file{.txi}).  For
+example:
 
-@example
+@smallexample
 cd .../emacs/man
 # download gendocs.sh and gendocs_template
-gendocs.sh emacs "GNU Emacs manual"
-@end example
+gendocs.sh --email bug-gnu-emacs@@gnu.org emacs "GNU Emacs manual"
+@end smallexample
 
 @command{gendocs.sh} creates a subdirectory @file{manual/} containing
 the manual generated in all the standard output formats: Info, HTML,
@@ -1630,20 +1635,21 @@
 directory with @option{-o} each time, and moving all the output to
 your web page.  Then write (by hand) an overall index.html with links
 to them all.  For example:
-@example
+
+@smallexample
 cd .../texinfo/doc
-gendocs.sh -o texinfo texinfo "GNU Texinfo manual"
-gendocs.sh -o info info "GNU Info manual"
-gendocs.sh -o info-stnd info-stnd "GNU info-stnd manual"
-@end example
+gendocs.sh --email bug-texinfo@@gnu.org -o texinfo texinfo "GNU Texinfo manual"
+gendocs.sh --email bug-texinfo@@gnu.org -o info info "GNU Info manual"
+gendocs.sh --email bug-texinfo@@gnu.org -o info-stnd info-stnd "GNU info-stnd manual"
+@end smallexample
 
 By default, the script uses @command{makeinfo} for generating
 @acronym{HTML} output.  If you prefer to use @command{texi2html}, use
 the @option{--texi2html} command line option, e.g.:
 
-@example
+@smallexample
 gendocs --texi2html -o texinfo texinfo "GNU Texinfo manual"
-@end example
+@end smallexample
 
 The template files will automatically produce entries for additional
 HTML output generated by @command{texi2html} (i.e., split by sections
@@ -1654,6 +1660,9 @@
 executed, and @env{GENDOCS_TEMPLATE_DIR} to control where the
 @file{gendocs_template} file is found.
 
+As usual, run @samp{gendocs.sh --help} for a description of all the
+options, environment variables, and more information.
+
 Please email bug reports, enhancement requests, or other
 correspondence to @email{bug-texinfo@@gnu.org}.