python-pbr/0001-Remove-sphinx_config.init_values-manual-call.patch
Dirk Mueller 0caf1b9215 Accepting request 317297 from Cloud:OpenStack:Master
- 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
2015-07-20 06:50:00 +00:00

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