Dirk Mueller
0caf1b9215
- update to 1.3.0: * Wrap env markers in parens * Updated from global requirements * Add more documentation around building docs * Updated from global requirements * Use string for 'OS_TEST_TIMEOUT' default * Updated from global requirements * This documents the use of comments that work between 2.6, 2.7 and 3.4 - Add 0001-Remove-sphinx_config.init_values-manual-call.patch . Needed for newer Sphinx versions. - update to 1.2.0: * Strip markers from test requirements * Revert "Remove sphinx_config.init_values( OBS-URL: https://build.opensuse.org/request/show/317297 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pbr?expand=0&rev=33
68 lines
2.6 KiB
Diff
68 lines
2.6 KiB
Diff
From 12e36886fe343f8103a21c60d6925115ad8dbc26 Mon Sep 17 00:00:00 2001
|
|
From: Thomas Bechtold <tbechtold@suse.com>
|
|
Date: Tue, 2 Jun 2015 18:40:38 +0200
|
|
Subject: [PATCH] Remove sphinx_config.init_values() manual call
|
|
|
|
The function signature for Sphinx's config.init_values() changed since
|
|
version 1.3. That leads to:
|
|
|
|
TypeError: init_values() takes exactly 2 arguments (1 given)
|
|
|
|
But the function is already correctly called from
|
|
application.Sphinx()'s constructor. So use the configuration object
|
|
from the application instead of creating an own config object.
|
|
|
|
Commit 1dfe9ef348c777bef67b2c2b1d35e50ebc720333 already introduced this
|
|
change and commit e41a9180ed3103bb45fa1d1be93ba951016b029c reverted it
|
|
due to build failures with Sphinx 1.1.3 . The failure occurred because
|
|
using the application class to detect if man pages can build raised a
|
|
warning which was treated as error. This case is now handled and tested
|
|
with Sphinx 1.1.3 and 1.3.1.
|
|
|
|
Change-Id: Idf6c7b329880c6698b61ee9e88f29c0f6e0956bf
|
|
Closes-Bug: #1379998
|
|
---
|
|
pbr/builddoc.py | 18 ++++++++++++++----
|
|
1 file changed, 14 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/pbr/builddoc.py b/pbr/builddoc.py
|
|
index 3c9a9a1..f7d7697 100644
|
|
--- a/pbr/builddoc.py
|
|
+++ b/pbr/builddoc.py
|
|
@@ -27,7 +27,6 @@ except ImportError:
|
|
try:
|
|
from sphinx import apidoc
|
|
from sphinx import application
|
|
- from sphinx import config
|
|
from sphinx import setup_command
|
|
except Exception as e:
|
|
# NOTE(dhellmann): During the installation of docutils, setuptools
|
|
@@ -129,10 +128,21 @@ class LocalBuildDoc(setup_command.BuildDoc):
|
|
confoverrides['release'] = self.release
|
|
if self.today:
|
|
confoverrides['today'] = self.today
|
|
- sphinx_config = config.Config(self.config_dir, 'conf.py', {}, [])
|
|
- sphinx_config.init_values()
|
|
- if self.builder == 'man' and len(sphinx_config.man_pages) == 0:
|
|
+
|
|
+ # NOTE(toabctl): creating the app with "warningiserror=False" is
|
|
+ # used to detect if man_pages are available.Only needed for sphinx<1.3
|
|
+ # See also https://github.com/sphinx-doc/sphinx/issues/1933
|
|
+ app = application.Sphinx(
|
|
+ self.source_dir, self.config_dir,
|
|
+ self.builder_target_dir, self.doctree_dir,
|
|
+ self.builder, confoverrides, status_stream,
|
|
+ freshenv=self.fresh_env, warningiserror=False)
|
|
+
|
|
+ if self.builder == 'man' and len(app.config.man_pages) == 0:
|
|
return
|
|
+
|
|
+ # NOTE(toabctl): Now create the app with "warningiserror=True for real
|
|
+ # usage
|
|
app = application.Sphinx(
|
|
self.source_dir, self.config_dir,
|
|
self.builder_target_dir, self.doctree_dir,
|
|
--
|
|
2.4.5
|
|
|