Rev 4834: (vila) Fix sphinx < 0.5 output dirs. (Michael Gliwinski) in file:///home/pqm/archives/thelove/bzr/2.1/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Thu Apr 22 19:04:11 BST 2010


At file:///home/pqm/archives/thelove/bzr/2.1/

------------------------------------------------------------
revno: 4834 [merge]
revision-id: pqm at pqm.ubuntu.com-20100422180359-1gudlxdq1q7o9ik1
parent: pqm at pqm.ubuntu.com-20100415124640-nweon319jjiunqex
parent: tzeentch.gm at gmail.com-20100325100932-8wpd54a7gk0vpyxd
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: 2.1
timestamp: Thu 2010-04-22 19:03:59 +0100
message:
  (vila) Fix sphinx < 0.5 output dirs. (Michael Gliwinski)
modified:
  doc/en/Makefile                makefile-20090722133816-63ik5s6s5gsnz7zy-11
=== modified file 'doc/en/Makefile'
--- a/doc/en/Makefile	2009-09-08 12:33:30 +0000
+++ b/doc/en/Makefile	2010-03-25 10:09:32 +0000
@@ -11,6 +11,22 @@
 PAPEROPT_letter = -D latex_paper_size=letter
 ALLSPHINXOPTS   = -d _build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
 
+# Note that this assumes name of the output dir is same as name of the rule.
+define make_output_dirs
+# Create output directory (only needed for sphinx < 0.5)
+[ -d _build ] || mkdir _build
+[ -d "_build/$@" ] || mkdir "_build/$@"
+# Workaround for a bug in sphinx < 0.5 where it tries to delete
+# nonexistent static dirs and does not catch the exception.  This was
+# fixed in svn+ssh://pythondev@svn.python.org/doctools/branches/0.4.x
+# at r65551 and merged as 280b62246342 in hg branch released as 0.5.
+[ -d "_build/$@/_static" ] || mkdir "_build/$@/_static"
+for fn in _static/*; do \
+    [ ! -d "$$fn" ] && continue; \
+    [ -d "_build/$@/$$fn" ] || mkdir "_build/$@/$$fn"; \
+done
+endef
+
 .PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest
 
 help:
@@ -30,32 +46,38 @@
 	-rm -rf _build/*
 
 html:
+	$(make_output_dirs)
 	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) _build/html
 	@echo
 	@echo "Build finished. The HTML pages are in _build/html."
 
 dirhtml:
+	$(make_output_dirs)
 	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) _build/dirhtml
 	@echo
 	@echo "Build finished. The HTML pages are in _build/dirhtml."
 
 pickle:
+	$(make_output_dirs)
 	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) _build/pickle
 	@echo
 	@echo "Build finished; now you can process the pickle files."
 
 json:
+	$(make_output_dirs)
 	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) _build/json
 	@echo
 	@echo "Build finished; now you can process the JSON files."
 
 htmlhelp:
+	$(make_output_dirs)
 	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) _build/htmlhelp
 	@echo
 	@echo "Build finished; now you can run HTML Help Workshop with the" \
 	      ".hhp project file in _build/htmlhelp."
 
 qthelp:
+	$(make_output_dirs)
 	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) _build/qthelp
 	@echo
 	@echo "Build finished; now you can run "qcollectiongenerator" with the" \
@@ -65,6 +87,7 @@
 	@echo "# assistant -collectionFile _build/qthelp/Bazaar.qhc"
 
 latex:
+	$(make_output_dirs)
 	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) _build/latex
 	@echo
 	@echo "Build finished; the LaTeX files are in _build/latex."
@@ -72,17 +95,20 @@
 	      "run these through (pdf)latex."
 
 changes:
+	$(make_output_dirs)
 	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) _build/changes
 	@echo
 	@echo "The overview file is in _build/changes."
 
 linkcheck:
+	$(make_output_dirs)
 	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) _build/linkcheck
 	@echo
 	@echo "Link check complete; look for any errors in the above output " \
 	      "or in _build/linkcheck/output.txt."
 
 doctest:
+	$(make_output_dirs)
 	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) _build/doctest
 	@echo "Testing of doctests in the sources finished, look at the " \
 	      "results in _build/doctest/output.txt."




More information about the bazaar-commits mailing list