]> granicus.if.org Git - python/commitdiff
bpo-37504: Fix documentation build with texinfo builder (GH-14606)
authorDmitry Shachnev <mitya57@users.noreply.github.com>
Tue, 10 Sep 2019 14:40:50 +0000 (17:40 +0300)
committerSteve Dower <steve.dower@python.org>
Tue, 10 Sep 2019 14:40:50 +0000 (15:40 +0100)
In the table model used by docutils, the `cols` attribute of `tgroup`
nodes is mandatory, see [1]. It is used in texinfo builder in [2].

[1]: https://www.oasis-open.org/specs/tm9901.htm#AEN348
[2]: https://github.com/sphinx-doc/sphinx/blob/v2.1.2/sphinx/writers/texinfo.py#L1129

* Doc: Add texinfo support to the Makefile

Doc/Makefile
Doc/tools/extensions/pyspecific.py

index f06689f83d8763969c7c62be534fa00e591e9673..86207fe57a0f696f4b8a60a68d16600204ac96b1 100644 (file)
@@ -20,7 +20,7 @@ PAPEROPT_letter = -D latex_elements.papersize=letterpaper
 ALLSPHINXOPTS = -b $(BUILDER) -d build/doctrees $(PAPEROPT_$(PAPER)) \
                 $(SPHINXOPTS) $(SPHINXERRORHANDLING) . build/$(BUILDER) $(SOURCES)
 
-.PHONY: help build html htmlhelp latex text changes linkcheck \
+.PHONY: help build html htmlhelp latex text texinfo changes linkcheck \
        suspicious coverage doctest pydoc-topics htmlview clean dist check serve \
        autobuild-dev autobuild-stable venv
 
@@ -33,6 +33,7 @@ help:
        @echo "  htmlhelp   to make HTML files and a HTML help project"
        @echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
        @echo "  text       to make plain text files"
+       @echo "  texinfo    to make Texinfo file"
        @echo "  epub       to make EPUB files"
        @echo "  changes    to make an overview over all changed/added/deprecated items"
        @echo "  linkcheck  to check all external links for integrity"
@@ -89,6 +90,11 @@ text: BUILDER = text
 text: build
        @echo "Build finished; the text files are in build/text."
 
+texinfo: BUILDER = texinfo
+texinfo: build
+       @echo "Build finished; the python.texi file is in build/texinfo."
+       @echo "Run \`make info' in that directory to run it through makeinfo."
+
 epub: BUILDER = epub
 epub: build
        @echo "Build finished; the epub files are in build/epub."
@@ -183,6 +189,17 @@ dist:
        make epub
        cp -pPR build/epub/Python.epub dist/python-$(DISTVERSION)-docs.epub
 
+       # archive the texinfo build
+       rm -rf build/texinfo
+       make texinfo
+       make info --directory=build/texinfo
+       cp -pPR build/texinfo dist/python-$(DISTVERSION)-docs-texinfo
+       tar -C dist -cf dist/python-$(DISTVERSION)-docs-texinfo.tar python-$(DISTVERSION)-docs-texinfo
+       bzip2 -9 -k dist/python-$(DISTVERSION)-docs-texinfo.tar
+       (cd dist; zip -q -r -9 python-$(DISTVERSION)-docs-texinfo.zip python-$(DISTVERSION)-docs-texinfo)
+       rm -r dist/python-$(DISTVERSION)-docs-texinfo
+       rm dist/python-$(DISTVERSION)-docs-texinfo.tar
+
 check:
        $(PYTHON) tools/rstlint.py -i tools -i $(VENVDIR) -i README.rst
 
index 975c87d12383841879820b8f41e4adca73db7fde..4e2ad7fc2a1d1617c6939ab5fcd3e75413b3e224 100644 (file)
@@ -540,6 +540,7 @@ def process_audit_events(app, doctree, fromdocname):
         nodes.colspec(colwidth=30),
         nodes.colspec(colwidth=55),
         nodes.colspec(colwidth=15),
+        cols=3,
     )
     head = nodes.thead()
     body = nodes.tbody()