From 3ac269ac422ab53755f80262bdda7547f3f50cd6 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 29 Oct 2012 11:19:41 -0700 Subject: [PATCH] autoupdate --- build-aux/compile | 7 ++- build-aux/depcomp | 11 ++++- build-aux/gendocs.sh | 110 +++++++++++++++++++++++++++++++---------------- doc/gendocs_template | 2 - doc/gendocs_template_min | 3 -- doc/maintain.texi | 20 ++++++--- doc/standards.texi | 42 +++++++++++------- 7 files changed, 126 insertions(+), 69 deletions(-) diff --git a/build-aux/compile b/build-aux/compile index 7b4a9a7e1..718dc6d0b 100755 --- a/build-aux/compile +++ b/build-aux/compile @@ -1,7 +1,7 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2012-03-05.13; # UTC +scriptversion=2012-10-14.11; # UTC # Copyright (C) 1999-2012 Free Software Foundation, Inc. # Written by Tom Tromey . @@ -112,6 +112,11 @@ func_cl_dashl () lib=$dir/$lib.lib break fi + if test -f "$dir/lib$lib.a"; then + found=yes + lib=$dir/lib$lib.a + break + fi done IFS=$save_IFS diff --git a/build-aux/depcomp b/build-aux/depcomp index 0544c6835..e1f51f482 100755 --- a/build-aux/depcomp +++ b/build-aux/depcomp @@ -74,6 +74,9 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" +# Avoid interferences from the environment. +gccflag= dashmflag= + # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case @@ -108,7 +111,7 @@ if test "$depmode" = msvc7msys; then fi if test "$depmode" = xlc; then - # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations. + # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. gccflag=-qmakedep=gcc,-MF depmode=gcc fi @@ -142,13 +145,17 @@ gcc3) ;; gcc) +## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. +## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. +## (see the conditional assignment to $gccflag above). ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). +## -MM, not -M (despite what the docs say). Also, it might not be +## supported by the other compilers which use the 'gcc' depmode. ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then diff --git a/build-aux/gendocs.sh b/build-aux/gendocs.sh index b4c328acb..0c0bc4b0f 100755 --- a/build-aux/gendocs.sh +++ b/build-aux/gendocs.sh @@ -2,7 +2,7 @@ # 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=2012-10-23.16 +scriptversion=2012-10-27.11 # Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 # Free Software Foundation, Inc. @@ -30,6 +30,12 @@ scriptversion=2012-10-23.16 # # An up-to-date copy is also maintained in Gnulib (gnu.org/software/gnulib). +# TODO: +# - image importation was only implemented for HTML generated by +# makeinfo. But it should be simple enough to adjust. +# - images are not imported in the source tarball. All the needed +# formats (PDF, PNG, etc.) should be included. + prog=`basename "$0"` srcdir=`pwd` @@ -39,12 +45,11 @@ templateurl="http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/texinfo/texinfo/ : ${SETLANG="env LANG= LC_MESSAGES= LC_ALL= LANGUAGE="} : ${MAKEINFO="makeinfo"} : ${TEXI2DVI="texi2dvi -t @finalout"} -: ${DVIPS="dvips"} : ${DOCBOOK2HTML="docbook2html"} : ${DOCBOOK2PDF="docbook2pdf"} -: ${DOCBOOK2PS="docbook2ps"} : ${DOCBOOK2TXT="docbook2txt"} : ${GENDOCS_TEMPLATE_DIR="."} +: ${PERL='perl'} : ${TEXI2HTML="texi2html"} unset CDPATH unset use_texi2html @@ -68,7 +73,7 @@ Options: -o OUTDIR write files into OUTDIR, instead of manual/. -I DIR append DIR to the Texinfo search path. --email ADR use ADR as contact in generated web pages. - --docbook convert to DocBook too (xml, txt, html, pdf and ps). + --docbook convert through DocBook too (xml, txt, html, pdf). --html ARG pass indicated ARG to makeinfo or texi2html for HTML targets. --info ARG pass indicated ARG to makeinfo for Info, instead of --no-split. --texi2html use texi2html to generate HTML targets. @@ -108,11 +113,11 @@ first copy or symlink all Texinfo sources into a single directory. As implied above, by default monolithic Info files are generated. If you want split Info, or other Info options, use --info to override. -You can set the environment variables MAKEINFO, TEXI2DVI, TEXI2HTML, and -DVIPS to control the programs that get executed, and +You can set the environment variables MAKEINFO, TEXI2DVI, TEXI2HTML, +and PERL to control the programs that get executed, and GENDOCS_TEMPLATE_DIR to control where the gendocs_template file is looked for. With --docbook, the environment variables DOCBOOK2HTML, -DOCBOOK2PDF, DOCBOOK2PS, and DOCBOOK2TXT are also respected. +DOCBOOK2PDF, and DOCBOOK2TXT are also respected. By default, makeinfo and texi2dvi are run in the default (English) locale, since that's the language of most Texinfo manuals. If you @@ -122,16 +127,11 @@ SETLANG setting in the source. Email bug reports or enhancement requests to bug-texinfo@gnu.org. " -calcsize() -{ - size=`ls -ksl $1 | awk '{print $1}'` - echo $size -} - MANUAL_TITLE= PACKAGE= EMAIL=webmasters@gnu.org # please override with --email commonarg= # Options passed to all the tools (-I dir). +dirs= # -I's directories. htmlarg= infoarg=--no-split outdir=manual @@ -144,7 +144,7 @@ while test $# -gt 0; do --version) echo "$version"; exit 0;; -s) shift; srcfile=$1;; -o) shift; outdir=$1;; - -I) shift; commonarg="$commonarg -I '$1'";; + -I) shift; commonarg="$commonarg -I '$1'"; dirs="$dirs $1";; --docbook) docbook=yes;; --html) shift; htmlarg=$1;; --info) shift; infoarg=$1;; @@ -193,6 +193,55 @@ if test ! -r $GENDOCS_TEMPLATE_DIR/gendocs_template; then exit 1 fi +# Function to return size of $1 in something resembling kilobytes. +calcsize() +{ + size=`ls -ksl $1 | awk '{print $1}'` + echo $size +} + +# copy_images OUTDIR HTML-FILE... +# ------------------------------- +# Copy all the images needed by the HTML-FILEs into OUTDIR. Look +# for them in the -I directories. +copy_images() +{ + local odir + odir=$1 + shift + $PERL -n -e " +BEGIN { + \$me = '$prog'; + \$odir = '$odir'; + @dirs = qw($dirs); +} +" -e ' +/"$outdir/$PACKAGE.html.gz" html_mono_gz_size=`calcsize "$outdir/$PACKAGE.html.gz"` + copy_images "$outdir/" $PACKAGE.html mv $PACKAGE.html "$outdir/" opt="--html -o $PACKAGE.html $commonarg $htmlarg" @@ -275,15 +318,14 @@ if test -z "$use_texi2html"; then echo "Generating html by node... ($cmd)" eval "$cmd" split_html_dir=$PACKAGE.html + copy_images $split_html_dir/ $split_html_dir/*.html ( - cd ${split_html_dir} || exit 1 - tar -czf "$abs_outdir/${PACKAGE}.html_node.tar.gz" -- *.html + cd $split_html_dir || exit 1 + tar -czf "$abs_outdir/$PACKAGE.html_node.tar.gz" -- * ) - html_node_tgz_size=`calcsize "$outdir/${PACKAGE}.html_node.tar.gz"` - rm -f "$outdir"/html_node/*.html - mkdir -p "$outdir/html_node/" - mv ${split_html_dir}/*.html "$outdir/html_node/" - rmdir ${split_html_dir} + html_node_tgz_size=`calcsize "$outdir/$PACKAGE.html_node.tar.gz"` + rm -rf "$outdir/html_node/" + mv $split_html_dir "$outdir/html_node/" else opt="--output $PACKAGE.html $commonarg $htmlarg" cmd="$SETLANG $TEXI2HTML $opt \"$srcfile\"" @@ -311,7 +353,7 @@ texi_tgz_size=`calcsize "$outdir/$PACKAGE.texi.tar.gz"` if test -n "$docbook"; then opt="-o - --docbook $commonarg" - cmd="$SETLANG $MAKEINFO $opt \"$srcfile\" > ${srcdir}/$PACKAGE-db.xml" + cmd="$SETLANG $MAKEINFO $opt \"$srcfile\" >${srcdir}/$PACKAGE-db.xml" echo "Generating docbook XML... ($cmd)" eval "$cmd" docbook_xml_size=`calcsize $PACKAGE-db.xml` @@ -340,13 +382,6 @@ if test -n "$docbook"; then docbook_ascii_size=`calcsize $PACKAGE-db.txt` mv $PACKAGE-db.txt "$outdir/" - cmd="$DOCBOOK2PS \"${outdir}/$PACKAGE-db.xml\"" - echo "Generating docbook PS... ($cmd)" - eval "$cmd" - gzip -f -9 -c $PACKAGE-db.ps >"$outdir/$PACKAGE-db.ps.gz" - docbook_ps_gz_size=`calcsize "$outdir/$PACKAGE-db.ps.gz"` - mv $PACKAGE-db.ps "$outdir/" - cmd="$DOCBOOK2PDF \"${outdir}/$PACKAGE-db.xml\"" echo "Generating docbook PDF... ($cmd)" eval "$cmd" @@ -361,6 +396,7 @@ if test -z "$use_texi2html"; then else CONDS="/%%ENDIF.*%%/d;/%%IF *HTML_SECTION%%/d;/%%IF *HTML_CHAPTER%%/d" fi + curdate=`$SETLANG date '+%B %d, %Y'` sed \ -e "s!%%TITLE%%!$MANUAL_TITLE!g" \ @@ -375,13 +411,11 @@ sed \ -e "s!%%INFO_TGZ_SIZE%%!$info_tgz_size!g" \ -e "s!%%DVI_GZ_SIZE%%!$dvi_gz_size!g" \ -e "s!%%PDF_SIZE%%!$pdf_size!g" \ - -e "s!%%PS_GZ_SIZE%%!$ps_gz_size!g" \ -e "s!%%ASCII_SIZE%%!$ascii_size!g" \ -e "s!%%ASCII_GZ_SIZE%%!$ascii_gz_size!g" \ -e "s!%%TEXI_TGZ_SIZE%%!$texi_tgz_size!g" \ -e "s!%%DOCBOOK_HTML_NODE_TGZ_SIZE%%!$html_node_db_tgz_size!g" \ -e "s!%%DOCBOOK_ASCII_SIZE%%!$docbook_ascii_size!g" \ - -e "s!%%DOCBOOK_PS_GZ_SIZE%%!$docbook_ps_gz_size!g" \ -e "s!%%DOCBOOK_PDF_SIZE%%!$docbook_pdf_size!g" \ -e "s!%%DOCBOOK_XML_SIZE%%!$docbook_xml_size!g" \ -e "s!%%DOCBOOK_XML_GZ_SIZE%%!$docbook_xml_gz_size!g" \ diff --git a/doc/gendocs_template b/doc/gendocs_template index f3a3ff64c..a62ad6167 100644 --- a/doc/gendocs_template +++ b/doc/gendocs_template @@ -45,8 +45,6 @@ (%%ASCII_GZ_SIZE%%K bytes gzipped).
  • TeX dvi file (%%DVI_GZ_SIZE%%K bytes gzipped).
  • -
  • PostScript file - (%%PS_GZ_SIZE%%K bytes gzipped).
  • PDF file (%%PDF_SIZE%%K bytes).
  • Texinfo source diff --git a/doc/gendocs_template_min b/doc/gendocs_template_min index 4890b679a..93b9c19ef 100644 --- a/doc/gendocs_template_min +++ b/doc/gendocs_template_min @@ -7,7 +7,6 @@ %%TITLE%% - GNU Project - Free Software Foundation (FSF) - @@ -63,8 +62,6 @@ (%%ASCII_GZ_SIZE%%K bytes gzipped).
  • TeX dvi file (%%DVI_GZ_SIZE%%K bytes gzipped).
  • -
  • PostScript file - (%%PS_GZ_SIZE%%K bytes gzipped).
  • PDF file (%%PDF_SIZE%%K bytes).
  • Texinfo source diff --git a/doc/maintain.texi b/doc/maintain.texi index 9549192f9..2bc48f448 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 August 24, 2012 +@set lastupdate October 27, 2012 @c %**end of header @dircategory GNU organization @@ -1911,6 +1911,7 @@ on @code{www.gnu.org} link to that site. @node Hosting for Web Pages @section Hosting for Web Pages +@cindex web pages, hosting for The best way to maintain the web pages for your project is to register the project on @code{savannah.gnu.org}. Then you can edit the pages @@ -1935,6 +1936,7 @@ For details, see @node Freedom for Web Pages @section Freedom for Web Pages +@cindex web pages, freedom for If you use a site other than @code{www.gnu.org}, please make sure that the site runs on free software alone. (It is ok if the site uses @@ -1958,11 +1960,14 @@ generally superior. See @url{http://www.gnu.org/philosophy/gif.html}. @node Manuals on Web Pages @section Manuals on Web Pages +@cindex web pages, including manuals on +@cindex formats for documentation, desired The web pages for the package should include its manuals, in HTML, -DVI, Info, PostScript, PDF, plain ASCII, and Texinfo format (source). -All of these can be generated automatically from the Texinfo source -using Makeinfo and other programs. +DVI, Info, PDF, plain ASCII, and the source Texinfo. All of these can +be generated automatically from Texinfo using Makeinfo and other +programs. If the Texinfo itself is generated from some other source +format, include that too. When there is only one manual, put it in a subdirectory called @file{manual}; the file @file{manual/index.html} should have a link to @@ -1990,6 +1995,7 @@ will do so based on the contents of your @file{manual} directory. @subsection Invoking @command{gendocs.sh} @pindex gendocs.sh @cindex generating documentation output +@cindex documentation output, generating The script @command{gendocs.sh} eases the task of generating the Texinfo documentation output for your web pages @@ -2069,15 +2075,15 @@ HTML output generated by @command{texi2html} (i.e., split by sections and chapters). You can set the environment variables @env{MAKEINFO}, @env{TEXI2DVI}, -@env{TEXI2HTML} and @env{DVIPS} to control the programs that get -executed, and @env{GENDOCS_TEMPLATE_DIR} to control where the +etc., to control the programs that get 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}. +correspondence about @command{gendocs} to @email{bug-texinfo@@gnu.org}. @node CVS Keywords in Web Pages diff --git a/doc/standards.texi b/doc/standards.texi index fc9265278..7fde2e82d 100644 --- a/doc/standards.texi +++ b/doc/standards.texi @@ -3,7 +3,7 @@ @setfilename standards.info @settitle GNU Coding Standards @c This date is automagically updated when you save this file: -@set lastupdate June 30, 2012 +@set lastupdate October 27, 2012 @c %**end of header @dircategory GNU organization @@ -4063,6 +4063,7 @@ ignore most of its arguments. @section Making Releases @cindex packaging +@cindex version numbers, for releases You should identify each release with a pair of version numbers, a major version and a minor. We have no objection to using more than two numbers, but it is very unlikely that you really need them. @@ -4079,20 +4080,28 @@ and never changed automatically; non-source files are produced from source files by programs under the control of the Makefile. @cindex @file{README} file -The distribution should contain a file named @file{README} which gives -the name of the package, and a general description of what it does. It -is also good to explain the purpose of each of the first-level -subdirectories in the package, if there are any. The @file{README} file -should either state the version number of the package, or refer to where -in the package it can be found. - -The @file{README} file should refer to the file @file{INSTALL}, which -should contain an explanation of the installation procedure. - -The @file{README} file should also refer to the file which contains the -copying conditions. The GNU GPL, if used, should be in a file called -@file{COPYING}. If the GNU LGPL is used, it should be in a file called +The distribution should contain a file named @file{README} with a +general overview of the package: + +@itemize +@item the name of the package; + +@item the version number of the package, or refer to where in the +package the version can be found; + +@item a general description of what the package does; + +@item a reference to the the file @file{INSTALL}, which +should in turn contain an explanation of the installation procedure; + +@item a brief explanation of any unusual top-level directories or +files, or other hints for readers to find their way around the source; + +@item a reference to the file which contains the copying conditions. +The GNU GPL, if used, should be in a file called @file{COPYING}. If +the GNU LGPL is used, it should be in a file called @file{COPYING.LESSER}. +@end itemize Naturally, all the source files must be in the distribution. It is okay to include non-source files in the distribution along with the @@ -4100,9 +4109,10 @@ source files they are generated from, provided they are up-to-date with the source they are made from, and machine-independent, so that normal building of the distribution will never modify them. We commonly include non-source files produced by Autoconf, Automake, -Bison, @code{lex}, @TeX{}, and @code{makeinfo}; this helps avoid +Bison, @code{flex}, @TeX{}, and @code{makeinfo}; this helps avoid unnecessary dependencies between our distributions, so that users can -install whichever packages they want to install. +install whichever versions of whichever packages they like. Do not +induce new dependencies on other software lightly. Non-source files that might actually be modified by building and installing the program should @strong{never} be included in the -- 2.11.0