autoupdate (for gendocs.sh accepting --email)
authorKarl Berry <karl@freefriends.org>
Fri, 2 Jan 2009 16:11:07 +0000 (08:11 -0800)
committerKarl Berry <karl@freefriends.org>
Fri, 2 Jan 2009 16:11:07 +0000 (08:11 -0800)
build-aux/gendocs.sh
doc/gendocs_template
doc/gendocs_template_min
doc/maintain.texi

index aded2c4d7fe1f9dfc47502e2276c4b0b61f3fea2..6eaf234629934c29b7f90b74faabe4815403aca0 100755 (executable)
@@ -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 @@ unset use_texi2html
 
 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 @@ See the GNU Maintainers document for a more extensive discussion:
 
 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 @@ $GENDOCS_TEMPLATE_DIR/gendocs_template.  (Feel free to modify the
 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 @@ DOCBOOK2TXT are also respected.)
 
 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 @@ calcsize()
   echo $size
 }
 
-outdir=manual
-html=
-PACKAGE=
 MANUAL_TITLE=
+PACKAGE=
+EMAIL=webmasters@gnu.org  # please override with --email
+htmlarg=
+outdir=manual
 
 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 @@ gzip -f -9 -c $PACKAGE.txt >$outdir/$PACKAGE.txt.gz
 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 @@ html_split() {
 }
 
 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 @@ if test -z "$use_texi2html"; then
   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 @@ if test -z "$use_texi2html"; then
   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 @@ if test -n "$docbook"; then
   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 @@ fi
 curdate=`$SETLANG date '+%B %d, %Y'`
 sed \
    -e "s!%%TITLE%%!$MANUAL_TITLE!g" \
-   -e "s!%%DATE%%!$curdate!g" \
+   -e "s!%%EMAIL%%!$EMAIL!g" \
    -e "s!%%PACKAGE%%!$PACKAGE!g" \
+   -e "s!%%DATE%%!$curdate!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 @@ sed \
    -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)
index abf3b1fdf3fb69e32d3059000b933c08b6faa17f..94cecef453e72075b158551655d3fe66a38494fa 100644 (file)
@@ -83,16 +83,14 @@ There are also <a href="/contact/">other ways to contact</a>
 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>
index 8037f9c72b1d48a012f342d7afe1f7486975ca34..ce1bbe369f53ebab59fcbe1f04f9a67d9d5b78ee 100644 (file)
@@ -92,16 +92,13 @@ There are also <a href="/home.html#ContactInfo">other ways to contact</a>
 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>
 
index 7b1c4c0ec066fd39b1758c36a04016ac33130818..1e589175150a36bd3af379345f873cc1cec881e4 100644 (file)
@@ -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 @@ name.
 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 @@ Texinfo documentation output for your web pages
 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
 
-@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:
+@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
+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 @@ times with different arguments, specifying a different output
 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 @@ You can set the environment variables @env{MAKEINFO}, @env{TEXI2DVI},
 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}.