From e87d931500c732d57c5040f4a4a147d6875267fa Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 2 Jan 2009 08:11:07 -0800 Subject: [PATCH] autoupdate (for gendocs.sh accepting --email) --- build-aux/gendocs.sh | 54 ++++++++++++++++++++++++---------------- doc/gendocs_template | 12 ++++----- doc/gendocs_template_min | 13 ++++------ doc/maintain.texi | 65 +++++++++++++++++++++++++++--------------------- 4 files changed, 79 insertions(+), 65 deletions(-) diff --git a/build-aux/gendocs.sh b/build-aux/gendocs.sh index aded2c4d7..6eaf23462 100755 --- 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 @@ 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 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) diff --git a/doc/gendocs_template b/doc/gendocs_template index abf3b1fdf..94cecef45 100644 --- a/doc/gendocs_template +++ b/doc/gendocs_template @@ -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 © 2008 Free Software Foundation, Inc., -</p> -<address>51 Franklin Street, Fifth Floor, Boston, MA 02111, USA</address> +<p>Copyright © 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> diff --git a/doc/gendocs_template_min b/doc/gendocs_template_min index 8037f9c72..ce1bbe369 100644 --- a/doc/gendocs_template_min +++ b/doc/gendocs_template_min @@ -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 © 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 © 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> diff --git a/doc/maintain.texi b/doc/maintain.texi index 7b1c4c0ec..1e5891751 100644 --- 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 @@ 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}. -- 2.11.0