aboutsummaryrefslogtreecommitdiff
path: root/docs/conf.py
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2020-03-30 13:18:59 +0100
committerPeter Maydell <peter.maydell@linaro.org>2020-03-30 13:18:59 +0100
commite22684e34d41d4ea24ec31602a75f1224eeb1e12 (patch)
treea535efc938bbde73a1acef959008a4bf81cea20b /docs/conf.py
parent34d8df2a1d8cd9f24e29cc9b27c233da471b2ad1 (diff)
docs/conf.py: Raise ConfigError for bad Sphinx Python version
Raise ConfigError rather than VersionRequirementError when we detect that the Python being used by Sphinx is too old. Currently the way we flag the Python version problem up to the user causes Sphinx to print an unnecessary Python stack trace as well as the information about the problem; in most versions of Sphinx this is unavoidable. The upstream Sphinx developers kindly added a feature to allow conf.py to report errors to the user without the backtrace: https://github.com/sphinx-doc/sphinx/commit/be608ca2313fc08eb842f3dc19d0f5d2d8227d08 but the exception type they chose for this was ConfigError. Switch to ConfigError, which won't make any difference with currently deployed Sphinx versions, but will be prettier one day when the user is using a Sphinx version with the new feature. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: John Snow <jsnow@redhat.com> Message-id: 20200313163616.30674-1-peter.maydell@linaro.org
Diffstat (limited to 'docs/conf.py')
-rw-r--r--docs/conf.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/docs/conf.py b/docs/conf.py
index af55f506d5..7768611e89 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -29,14 +29,15 @@
import os
import sys
import sphinx
-from sphinx.errors import VersionRequirementError
+from sphinx.errors import ConfigError
# Make Sphinx fail cleanly if using an old Python, rather than obscurely
# failing because some code in one of our extensions doesn't work there.
-# Unfortunately this doesn't display very neatly (there's an unavoidable
-# Python backtrace) but at least the information gets printed...
+# In newer versions of Sphinx this will display nicely; in older versions
+# Sphinx will also produce a Python backtrace but at least the information
+# gets printed...
if sys.version_info < (3,5):
- raise VersionRequirementError(
+ raise ConfigError(
"QEMU requires a Sphinx that uses Python 3.5 or better\n")
# The per-manual conf.py will set qemu_docdir for a single-manual build;