From dcf7fca2d9f87fc4d412dbbba8e441d9ff204ffc Mon Sep 17 00:00:00 2001 From: David Bremner Date: Sat, 2 Mar 2019 23:30:59 -0400 Subject: [PATCH] doc: sequentialize calls to sphinx-build In certain conditions the parallel calls to sphinx-build could collide, yielding a crash like Exception occurred: File "/usr/lib/python3/dist-packages/sphinx/environment.py", line 1261, in get_doctree doctree = pickle.load(f) EOFError: Ran out of input --- doc/Makefile.local | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/Makefile.local b/doc/Makefile.local index 16459e35..cb0f1f64 100644 --- a/doc/Makefile.local +++ b/doc/Makefile.local @@ -37,6 +37,14 @@ INFO_INFO_FILES := $(INFO_TEXI_FILES:.texi=.info) %.gz: % rm -f $@ && gzip --stdout $^ > $@ +# Sequentialize the calls to sphinx-build to avoid races with +# reading/writing cached state. This uses GNU make specific +# "order-only" prerequisites. + +sphinx-html: | $(DOCBUILDDIR)/.roff.stamp +sphinx-texinfo: | sphinx-html +sphinx-info: | sphinx-texinfo + sphinx-html: $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(DOCBUILDDIR)/html