aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/Makefile.am10
-rwxr-xr-xdoc/gendocs.sh176
-rwxr-xr-xdoc/gendocs_template142
-rw-r--r--src/copyin.c6
4 files changed, 177 insertions, 157 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 47f481f..61146b5 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -32,2 +32,3 @@ EXTRA_DIST = gendocs.sh gendocs_template mt.1 rmt.8
GENDOCS=$(srcdir)/gendocs.sh
+TEXI2DVI=texi2dvi -E
@@ -38,3 +39,8 @@ manual:
MAKEINFO="$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS)" \
- TEXI2DVI="texi2dvi -t @finalout" \
- $(GENDOCS) --no-copy-images $(PACKAGE) '$(PACKAGE_NAME) manual'
+ TEXI2DVI="texi2dvi -t '@set DISTRIB' -t @finalout" \
+ $(GENDOCS) --texi2html $(PACKAGE) '$(PACKAGE_NAME) manual'
+
+manual-rebuild: clean-local manual
+
+clean-local:
+ rm -rf manual
diff --git a/doc/gendocs.sh b/doc/gendocs.sh
index 38c4d05..0828905 100755
--- a/doc/gendocs.sh
+++ b/doc/gendocs.sh
@@ -4,6 +4,5 @@
-scriptversion=2015-02-28.17
+scriptversion=2021-03-01.13
-# Copyright 2003-2013, 2015, 2017, 2020-2021 Free Software Foundation,
-# Inc.
+# Copyright 2003-2021 Free Software Foundation, Inc.
#
@@ -20,16 +19,15 @@ scriptversion=2015-02-28.17
# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
# Original author: Mohit Agarwal.
-# Send bug reports and any other correspondence to bug-texinfo@gnu.org.
+# Send bug reports and any other correspondence to bug-gnulib@gnu.org.
#
# The latest version of this script, and the companion template, is
-# available from Texinfo CVS:
-# http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/util/gendocs.sh
-# http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/util/gendocs_template
+# available from the Gnulib repository:
#
-# An up-to-date copy is also maintained in Gnulib (gnu.org/software/gnulib).
+# https://git.savannah.gnu.org/cgit/gnulib.git/tree/build-aux/gendocs.sh
+# https://git.savannah.gnu.org/cgit/gnulib.git/tree/doc/gendocs_template
# TODO:
-# - image importation was only implemented for HTML generated by
+# - image importing was only implemented for HTML generated by
# makeinfo. But it should be simple enough to adjust.
@@ -41,4 +39,4 @@ srcdir=`pwd`
-scripturl="http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/texinfo/texinfo/util/gendocs.sh"
-templateurl="http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/texinfo/texinfo/util/gendocs_template"
+scripturl="https://git.savannah.gnu.org/cgit/gnulib.git/plain/build-aux/gendocs.sh"
+templateurl="https://git.savannah.gnu.org/cgit/gnulib.git/plain/doc/gendocs_template"
@@ -46,3 +44,3 @@ templateurl="http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/texinfo/texinfo/
: ${MAKEINFO="makeinfo"}
-: ${TEXI2DVI="texi2dvi -t @finalout"}
+: ${TEXI2DVI="texi2dvi"}
: ${DOCBOOK2HTML="docbook2html"}
@@ -56,5 +54,24 @@ unset use_texi2html
+MANUAL_TITLE=
+PACKAGE=
+EMAIL=webmasters@gnu.org # please override with --email
+commonarg= # passed to all makeinfo/texi2html invcations.
+dirargs= # passed to all tools (-I dir).
+dirs= # -I directories.
+htmlarg="--css-ref=/software/gnulib/manual.css -c TOP_NODE_UP_URL=/manual"
+default_htmlarg=true
+infoarg=--no-split
+generate_ascii=true
+generate_html=true
+generate_info=true
+generate_tex=true
+outdir=manual
+source_extra=
+split=node
+srcfile=
+texarg="-t @finalout"
+
version="gendocs.sh $scriptversion
-Copyright 2013 Free Software Foundation, Inc.
+Copyright 2021 Free Software Foundation, Inc.
There is NO warranty. You may redistribute this software
@@ -68,3 +85,3 @@ Generate output in various formats from PACKAGE.texinfo (or .texi or
discussion:
- http://www.gnu.org/prep/maintain_toc.html
+ https://www.gnu.org/prep/maintain_toc.html
@@ -77,9 +94,12 @@ Options:
--common ARG pass ARG in all invocations.
- --html ARG pass ARG to makeinfo or texi2html for HTML targets.
+ --html ARG pass ARG to makeinfo or texi2html for HTML targets,
+ instead of '$htmlarg'.
--info ARG pass ARG to makeinfo for Info, instead of --no-split.
--no-ascii skip generating the plain text output.
- --no-copy-images
- don't try to copy images referenced by img HTML tags,
+ --no-html skip generating the html output.
+ --no-info skip generating the info output.
+ --no-tex skip generating the dvi and pdf output.
--source ARG include ARG in tar archive of sources.
--split HOW make split HTML by node, section, chapter; default node.
+ --tex ARG pass ARG to texi2dvi for DVI and PDF, instead of -t @finalout.
@@ -135,20 +155,5 @@ SETLANG setting in the source.
-Email bug reports or enhancement requests to bug-texinfo@gnu.org.
+Email bug reports or enhancement requests to bug-gnulib@gnu.org.
"
-MANUAL_TITLE=
-PACKAGE=
-EMAIL=webmasters@gnu.org # please override with --email
-commonarg= # passed to all makeinfo/texi2html invcations.
-dirargs= # passed to all tools (-I dir).
-dirs= # -I's directories.
-htmlarg=
-infoarg=--no-split
-generate_ascii=true
-outdir=manual
-source_extra=
-split=default
-srcfile=
-no_copy_images=
-
while test $# -gt 0; do
@@ -161,9 +166,13 @@ while test $# -gt 0; do
--email) shift; EMAIL=$1;;
- --html) shift; htmlarg=$1;;
+ --html) shift; default_htmlarg=false; htmlarg=$1;;
--info) shift; infoarg=$1;;
--no-ascii) generate_ascii=false;;
+ --no-html) generate_ascii=false;;
+ --no-info) generate_info=false;;
+ --no-tex) generate_tex=false;;
--source) shift; source_extra=$1;;
--split) shift; split=$1;;
+ --tex) shift; texarg=$1;;
--texi2html) use_texi2html=1;;
- --no-copy-images) no_copy_images=1;;
+
--help) echo "$usage"; exit 0;;
@@ -193,2 +202,7 @@ base=$PACKAGE
+if $default_htmlarg && test -n "$use_texi2html"; then
+ # The legacy texi2html doesn't support TOP_NODE_UP_URL
+ htmlarg="--css-ref=/software/gnulib/manual.css"
+fi
+
if test -n "$srcfile"; then
@@ -226,7 +240,7 @@ calcsize()
# -------------------------------
-# Copy all the images needed by the HTML-FILEs into OUTDIR. Look
-# for them in the -I directories.
+# Copy all the images needed by the HTML-FILEs into OUTDIR.
+# Look for them in . and the -I directories; this is simpler than what
+# makeinfo supports with -I, but hopefully it will suffice.
copy_images()
{
- test -n "$no_copy_images" && return
local odir
@@ -238,3 +252,3 @@ BEGIN {
\$odir = '$odir';
- @dirs = qw($dirs);
+ @dirs = qw(. $dirs);
}
@@ -276,2 +290,4 @@ mkdir -p "$outdir/"
+#
+if $generate_info; then
cmd="$SETLANG $MAKEINFO -o $PACKAGE.info $commonarg $infoarg \"$srcfile\""
@@ -285,4 +301,7 @@ info_tgz_size=`calcsize "$outdir/$PACKAGE.info.tar.gz"`
# separately on the web.
+fi # end info
-cmd="$SETLANG $TEXI2DVI $dirargs \"$srcfile\""
+#
+if $generate_tex; then
+ cmd="$SETLANG $TEXI2DVI $dirargs $texarg \"$srcfile\""
printf "\nGenerating dvi... ($cmd)\n"
@@ -295,3 +314,3 @@ ls -l "$outdir/$PACKAGE.dvi.gz"
-cmd="$SETLANG $TEXI2DVI --pdf $dirargs \"$srcfile\""
+ cmd="$SETLANG $TEXI2DVI --pdf $dirargs $texarg \"$srcfile\""
printf "\nGenerating pdf... ($cmd)\n"
@@ -301,3 +320,5 @@ mv $PACKAGE.pdf "$outdir/"
ls -l "$outdir/$PACKAGE.pdf"
+fi # end tex (dvi + pdf)
+#
if $generate_ascii; then
@@ -314,8 +335,11 @@ fi
-# Split HTML at level $2 using program $1. Used for texi2html.
+#
+
+if $generate_html; then
+# Split HTML at level $1. Used for texi2html.
html_split()
{
- opt="--split=$2 --node-files $commonarg $htmlarg"
- cmd="$SETLANG $1 --output $PACKAGE.html $opt \"$srcfile\""
- printf "\nGenerating html by $2... ($cmd)\n"
+ opt="--split=$1 --node-files $commonarg $htmlarg"
+ cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html $opt \"$srcfile\""
+ printf "\nGenerating html by $1... ($cmd)\n"
eval "$cmd"
@@ -324,15 +348,11 @@ html_split()
cd ${split_html_dir} || exit 1
- if test ! -e index.html; then
- if test -f ${PACKAGE}.html; then
+ if [ ! -f index.html ]; then
ln -sf ${PACKAGE}.html index.html
- else
- echo >&2 "$0: ${split_html_dir}/${PACKAGE}.html does not exist"
fi
- fi
- tar -czf "$abs_outdir/${PACKAGE}.html_$2.tar.gz" -- *.html
+ tar -czf "$abs_outdir/${PACKAGE}.html_$1.tar.gz" -- *.html
)
- eval html_$2_tgz_size=`calcsize "$outdir/${PACKAGE}.html_$2.tar.gz"`
- rm -f "$outdir"/html_$2/*.html
- mkdir -p "$outdir/html_$2/"
- mv ${split_html_dir}/*.html "$outdir/html_$2/"
+ eval html_$1_tgz_size=`calcsize "$outdir/${PACKAGE}.html_$1.tar.gz"`
+ rm -f "$outdir"/html_$1/*.html
+ mkdir -p "$outdir/html_$1/"
+ mv ${split_html_dir}/*.html "$outdir/html_$1/"
rmdir ${split_html_dir}
@@ -353,7 +373,2 @@ if test -z "$use_texi2html"; then
- version=`makeinfo --version|sed -n '1s/.* \([0-9][0-9]*\)\.[0-9.]*/\1/p'`
- case $version in
- [0-9]*) ;;
- *) version=4;;
- esac
# Before Texinfo 5.0, makeinfo did not accept a --split=HOW option,
@@ -361,4 +376,8 @@ if test -z "$use_texi2html"; then
# leave it out.
- if test $version -lt 5 -o "x$split" != xdefault; then
+ if test "x$split" = xnode; then
+ split_arg=
+ else
split_arg=--split=$split
+ fi
+ #
opt="--html -o $PACKAGE.html $split_arg $commonarg $htmlarg"
@@ -379,11 +398,3 @@ if test -z "$use_texi2html"; then
ls -l "$outdir/$PACKAGE.html_$split.tar.gz"
- CONDS="/%%IF *HTML_SECTION%%/,/%%ENDIF *HTML_SECTION%%/d;\
- /%%IF *HTML_CHAPTER%%/,/%%ENDIF *HTML_CHAPTER%%/d"
- else
- html_split "$MAKEINFO --html" node
- html_split "$MAKEINFO --html" chapter
- html_split "$MAKEINFO --html" section
- # should take account of --split here.
- CONDS="/%%ENDIF.*%%/d;/%%IF *HTML_SECTION%%/d;/%%IF *HTML_CHAPTER%%/d"
- fi
+
else # use texi2html:
@@ -399,8 +410,9 @@ else # use texi2html:
- html_split "$TEXI2HTML" node
- html_split "$TEXI2HTML" chapter
- html_split "$TEXI2HTML" section
- CONDS="/%%ENDIF.*%%/d;/%%IF *HTML_SECTION%%/d;/%%IF *HTML_CHAPTER%%/d"
+ html_split node
+ html_split chapter
+ html_split section
fi
+fi # end html
+#
printf "\nMaking .tar.gz for sources...\n"
@@ -415,2 +427,4 @@ texi_tgz_size=`calcsize "$outdir/$PACKAGE.texi.tar.gz"`
+#
+# Do everything again through docbook.
if test -n "$docbook"; then
@@ -453,3 +467,11 @@ fi
-printf "\nMaking index file...\n"
+#
+printf "\nMaking index.html for $PACKAGE...\n"
+if test -z "$use_texi2html"; then
+ CONDS="/%%IF *HTML_SECTION%%/,/%%ENDIF *HTML_SECTION%%/d;\
+ /%%IF *HTML_CHAPTER%%/,/%%ENDIF *HTML_CHAPTER%%/d"
+else
+ # should take account of --split here.
+ CONDS="/%%ENDIF.*%%/d;/%%IF *HTML_SECTION%%/d;/%%IF *HTML_CHAPTER%%/d"
+fi
@@ -485,3 +507,3 @@ echo "Done, see $outdir/ subdirectory for new files."
# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
diff --git a/doc/gendocs_template b/doc/gendocs_template
index e21ba2b..cd9ac38 100755
--- a/doc/gendocs_template
+++ b/doc/gendocs_template
@@ -1,24 +1,16 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<!-- $Id$ -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<!--#include virtual="/server/header.html" -->
+<!-- Parent-Version: 1.78 -->
-<head>
-<title>%%TITLE%% - GNU Project - Free Software Foundation (FSF)</title>
-<meta http-equiv="content-type" content='text/html; charset=utf-8' />
-<link rel="stylesheet" type="text/css" href="/gnu.css" />
-<link rev="made" href="mailto:gray@gnu.org" />
- <link rel="icon" type="image/png" href="/graphics/gnu-head-icon.png" />
-</head>
+<!--
+Copyright (C) 2006-2021 Free Software Foundation, Inc.
-<!-- This document is in XML, and xhtml 1.0 -->
-<!-- Please make sure to properly nest your tags -->
-<!-- and ensure that your final document validates -->
-<!-- consistent with W3C xhtml 1.0 and CSS standards -->
-<!-- See validator.w3.org -->
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved. This file is offered as-is,
+without any warranty.
+-->
-<body>
-
-<h3>%%TITLE%%</h3>
+<title>%%TITLE%% - GNU Project - Free Software Foundation</title>
+<!--#include virtual="/server/banner.html" -->
+<h2>%%TITLE%%</h2>
@@ -26,11 +18,4 @@
<address>last updated %%DATE%%</address>
-<p>
-<a href="/graphics/gnu-head.jpg">
- <img src="/graphics/gnu-head-sm.jpg"
- alt=" [image of the head of a GNU] "
- width="129" height="122" />
-</a>
-</p>
-<p>The manual for %%PACKAGE%% is available in the following formats:</p>
+<p>This manual (%%PACKAGE%%) is available in the following formats:</p>
@@ -38,5 +23,13 @@
<li><a href="%%PACKAGE%%.html">HTML
- (%%HTML_MONO_SIZE%%K characters)</a> - entirely on one web page.</li>
+ (%%HTML_MONO_SIZE%%K bytes)</a> - entirely on one web page.</li>
<li><a href="html_node/index.html">HTML</a> - with one web page per
node.</li>
+%%IF HTML_SECTION%%
+<li><a href="html_section/index.html">HTML</a> - with one web page per
+ section.</li>
+%%ENDIF HTML_SECTION%%
+%%IF HTML_CHAPTER%%
+<li><a href="html_chapter/index.html">HTML</a> - with one web page per
+ chapter.</li>
+%%ENDIF HTML_CHAPTER%%
<li><a href="%%PACKAGE%%.html.gz">HTML compressed
@@ -44,61 +37,64 @@
one web page.</li>
- <li><a href="%%PACKAGE%%_html_node.tar.gz">HTML compressed
+<li><a href="%%PACKAGE%%.html_node.tar.gz">HTML compressed
(%%HTML_NODE_TGZ_SIZE%%K gzipped tar file)</a> -
with one web page per node.</li>
- <li><a href="%%PACKAGE%%-info.tar.gz">Info document
- (%%INFO_TGZ_SIZE%%K characters gzipped tar file)</a>.</li>
+%%IF HTML_SECTION%%
+<li><a href="%%PACKAGE%%.html_section.tar.gz">HTML compressed
+ (%%HTML_SECTION_TGZ_SIZE%%K gzipped tar file)</a> -
+ with one web page per section.</li>
+%%ENDIF HTML_SECTION%%
+%%IF HTML_CHAPTER%%
+<li><a href="%%PACKAGE%%.html_chapter.tar.gz">HTML compressed
+ (%%HTML_CHAPTER_TGZ_SIZE%%K gzipped tar file)</a> -
+ with one web page per chapter.</li>
+%%ENDIF HTML_CHAPTER%%
+<li><a href="%%PACKAGE%%.info.tar.gz">Info document
+ (%%INFO_TGZ_SIZE%%K bytes gzipped tar file)</a>.</li>
<li><a href="%%PACKAGE%%.txt">ASCII text
- (%%ASCII_SIZE%%K characters)</a>.</li>
+ (%%ASCII_SIZE%%K bytes)</a>.</li>
<li><a href="%%PACKAGE%%.txt.gz">ASCII text compressed
- (%%ASCII_GZ_SIZE%%K gzipped characters)</a>.</li>
+ (%%ASCII_GZ_SIZE%%K bytes gzipped)</a>.</li>
<li><a href="%%PACKAGE%%.dvi.gz">TeX dvi file
- (%%DVI_GZ_SIZE%%K characters gzipped)</a>.</li>
+ (%%DVI_GZ_SIZE%%K bytes gzipped)</a>.</li>
<li><a href="%%PACKAGE%%.pdf">PDF file
- (%%PDF_SIZE%%K characters)</a>.</li>
+ (%%PDF_SIZE%%K bytes)</a>.</li>
<li><a href="%%PACKAGE%%.texi.tar.gz">Texinfo source
- (%%TEXI_TGZ_SIZE%%K characters gzipped tar file)</a></li>
+ (%%TEXI_TGZ_SIZE%%K bytes gzipped tar file).</a></li>
</ul>
-<p>(This page generated by the <a
-href="%%SCRIPTURL%%">%%SCRIPTNAME%%</a> script.)
-</p>
+<p>You can <a href="https://shop.fsf.org/">buy printed copies of
+some manuals</a> (among other items) from the Free Software Foundation;
+this helps support FSF activities.</p>
-<p>
-<a href="http://validator.w3.org/check?uri=referer"><img
- src="http://www.w3.org/Icons/valid-xhtml10"
- alt="Valid XHTML 1.0!" height="31" width="88" /></a>
-</p>
+<p>(This page generated by the <a href="%%SCRIPTURL%%">%%SCRIPTNAME%%
+script</a>.)</p>
-<div class="copyright">
-<p>
-Return to the <a href="/home.html">GNU Project home page</a>.
-</p>
+<!-- If needed, change the copyright block at the bottom. In general,
+ all pages on the GNU web server should have the section about
+ verbatim copying. Please do NOT remove this without talking
+ with the webmasters first.
+ Please make sure the copyright date is consistent with the document
+ and that it is like this: "2001, 2002", not this: "2001-2002". -->
+</div><!-- for id="content", starts in the include above -->
+<!--#include virtual="/server/footer.html" -->
+<div id="footer">
+<div class="unprintable">
-<p>
-Please send FSF &amp; GNU inquiries to
-<a href="mailto:gnu@gnu.org"><em>gnu@gnu.org</em></a>.
-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>.
-</p>
+<p>Please send general FSF &amp; GNU inquiries to
+<a href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>.
+There are also <a href="/contact/">other ways to contact</a>
+the FSF. Broken links and other corrections or suggestions can be sent
+to <a href="mailto:%%EMAIL%%">&lt;%%EMAIL%%&gt;</a>.</p>
+</div>
-<p>
-Copyright (C) 2004, 2010, 2014-2015, 2017, 2020-2021 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; 2020 Free Software Foundation, Inc.</p>
-<p>
-Updated:
-<!-- timestamp start -->
-$Date$ $Author$
-<!-- timestamp end -->
-</p>
-</div>
+<p>This page is licensed under a <a rel="license"
+href="https://creativecommons.org/licenses/by-nd/3.0/us/">Creative
+Commons Attribution-NoDerivs 3.0 United States License</a>.</p>
+<!--#include virtual="/server/bottom-notes.html" -->
+
+</div>
+</div>
</body>
diff --git a/src/copyin.c b/src/copyin.c
index c8ea278..a096048 100644
--- a/src/copyin.c
+++ b/src/copyin.c
@@ -1214,3 +1214,2 @@ process_copy_in ()
{
- char done = false; /* True if trailer reached. */
FILE *tty_in = NULL; /* Interactive file for rename option. */
@@ -1286,3 +1285,3 @@ process_copy_in ()
/* While there is more input in the collection, process the input. */
- while (!done)
+ while (1)
{
@@ -1320,6 +1319,3 @@ process_copy_in ()
if (strcmp (CPIO_TRAILER_NAME, file_hdr.c_name) == 0)
- {
- done = true;
break;
- }

Return to:

Send suggestions and report system problems to the System administrator.