diff --git a/.gitignore b/.gitignore index 7113428..be37cb5 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,5 @@ /Sphinx-1.4.9.tar.gz /Sphinx-1.5.1.tar.gz /Sphinx-1.5.2.tar.gz -/Sphinx-1.6.3.tar.gz +/Sphinx-1.5.5.tar.gz +/Sphinx-1.5.6.tar.gz diff --git a/Sphinx-1.2.1-mantarget.patch b/Sphinx-1.2.1-mantarget.patch new file mode 100644 index 0000000..ad65a28 --- /dev/null +++ b/Sphinx-1.2.1-mantarget.patch @@ -0,0 +1,15 @@ +--- sphinx/doc/Makefile.mantarget 2014-02-13 23:28:58.604797750 +0700 ++++ sphinx/doc/Makefile 2014-02-14 00:00:45.794658764 +0700 +@@ -12,6 +12,12 @@ + help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + ++# Likewise for man, since a man directory exist and make will assume ++# the target is up to date ++.PHONY: man ++man: ++ @$(SPHINXBUILD) -M man "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) ++ + # Catch-all target: route all unknown targets to Sphinx using the new + # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). + %: diff --git a/fix-crash-on-parallel-build.patch b/fix-crash-on-parallel-build.patch new file mode 100644 index 0000000..9bf01c7 --- /dev/null +++ b/fix-crash-on-parallel-build.patch @@ -0,0 +1,12 @@ +diff --git a/sphinx/util/parallel.py b/sphinx/util/parallel.py +index ce51ac0..64f9bc1 100644 +--- a/sphinx/util/parallel.py ++++ b/sphinx/util/parallel.py +@@ -100,6 +100,7 @@ class ParallelTasks(object): + raise SphinxParallelError(*result) + self._result_funcs.pop(tid)(self._args.pop(tid), result) + self._procs[tid].join() ++ self._precvs.pop(tid) + self._pworking -= 1 + break + else: diff --git a/html-parser-HTMLParserError-removed.patch b/html-parser-HTMLParserError-removed.patch new file mode 100644 index 0000000..10b3b5d --- /dev/null +++ b/html-parser-HTMLParserError-removed.patch @@ -0,0 +1,21 @@ +diff --git Sphinx-1.3.1/sphinx/builders/linkcheck.py~ Sphinx-1.3.1/sphinx/builders/linkcheck.py +index 9f5c2131c2..71bec0262d 100644 +--- Sphinx-1.3.1/sphinx/builders/linkcheck.py~ ++++ Sphinx-1.3.1/sphinx/builders/linkcheck.py +@@ -19,9 +19,15 @@ from six.moves import queue + from six.moves.urllib.request import build_opener, Request, HTTPRedirectHandler + from six.moves.urllib.parse import unquote, urlsplit, quote + from six.moves.urllib.error import HTTPError +-from six.moves.html_parser import HTMLParser, HTMLParseError ++from six.moves.html_parser import HTMLParser + from docutils import nodes + ++try: ++ from HTMLParser import HTMLParseError ++except ImportError: ++ class HTMLParseError(Exception): ++ pass ++ + from sphinx.builders import Builder + from sphinx.util.console import purple, red, darkgreen, darkgray, \ + darkred, turquoise diff --git a/python-sphinx-xapian.patch b/python-sphinx-xapian.patch new file mode 100644 index 0000000..d21b807 --- /dev/null +++ b/python-sphinx-xapian.patch @@ -0,0 +1,34 @@ +From cf795894b9290c5ab2035ae21535f0a7f4b7107a Mon Sep 17 00:00:00 2001 +From: Takeshi KOMIYA +Date: Fri, 16 Dec 2016 19:44:27 +0900 +Subject: [PATCH] Fix #3246: xapian search adapter crashes + +--- + CHANGES | 2 ++ + sphinx/websupport/search/xapiansearch.py | 6 +++--- + 2 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/sphinx/websupport/search/xapiansearch.py b/sphinx/websupport/search/xapiansearch.py +index 1e43dcb..aa7cff8 100644 +--- a/sphinx/websupport/search/xapiansearch.py ++++ b/sphinx/websupport/search/xapiansearch.py +@@ -39,16 +39,16 @@ def finish_indexing(self): + # Ensure the db lock is removed. + del self.database + +- def add_document(self, path, title, text): ++ def add_document(self, pagename, filename, title, text): + self.database.begin_transaction() + # sphinx_page_path is used to easily retrieve documents by path. +- sphinx_page_path = '"sphinxpagepath%s"' % path.replace('/', '_') ++ sphinx_page_path = '"sphinxpagepath%s"' % pagename.replace('/', '_') + # Delete the old document if it exists. + self.database.delete_document(sphinx_page_path) + + doc = xapian.Document() + doc.set_data(text) +- doc.add_value(self.DOC_PATH, path) ++ doc.add_value(self.DOC_PATH, pagename) + doc.add_value(self.DOC_TITLE, title) + self.indexer.set_document(doc) + self.indexer.index_text(text) diff --git a/python-sphinx.spec b/python-sphinx.spec index 1ae8308..5e0274e 100644 --- a/python-sphinx.spec +++ b/python-sphinx.spec @@ -14,8 +14,9 @@ %global upstream_name Sphinx Name: python-sphinx -Version: 1.6.3 +Version: 1.5.6 Release: 1%{?dist} +Epoch: 1 Summary: Python documentation generator Group: Development/Tools @@ -36,10 +37,12 @@ Source5: README.fedora # python-sphinx execuitables is default Source6: default-sphinx-command.in -# Make the test_latex_remote_images an expected failure -# since it requires an active internet connection -# to fetch images, which is not possible in koji or mock. -Patch0: xfail-test_latex_remote_images.patch +# Backport of a bugfix from the 1.6 upstream branch of sphinx +# to address a crash with parallel building. +# https://bugzilla.redhat.com/show_bug.cgi?id=1494276 +# Upstream commit: +# https://github.com/sphinx-doc/sphinx/pull/4039/commits/0cb57f19a099be2809a8fb5dc9274f7411e1caac +Patch0: fix-crash-on-parallel-build.patch BuildArch: noarch BuildRequires: python2-devel >= 2.4 @@ -53,8 +56,6 @@ BuildRequires: python2-sphinx_rtd_theme BuildRequires: python2-sphinx-theme-alabaster BuildRequires: python2-imagesize BuildRequires: python2-requests -BuildRequires: python2-typing -BuildRequires: python2-sphinxcontrib-websupport BuildRequires: environment(modules) # for fixes @@ -74,7 +75,6 @@ BuildRequires: python-html5lib BuildRequires: python-whoosh BuildRequires: python2-snowballstemmer BuildRequires: python-enum34 -BuildRequires: ImageMagick # note: no Python3 xapian binding yet BuildRequires: xapian-bindings-python BuildRequires: texlive-collection-fontsrecommended @@ -109,7 +109,6 @@ BuildRequires: tex(luatex85.sty) BuildRequires: tex(fncychap.sty) BuildRequires: tex(tabulary.sty) BuildRequires: tex(polyglossia.sty) -BuildRequires: tex(ctablestack.sty) BuildRequires: tex(eu1enc.def) %if 0%{?with_python3} @@ -133,7 +132,6 @@ BuildRequires: python3-sphinx_rtd_theme BuildRequires: python3-sphinx-theme-alabaster BuildRequires: python3-imagesize BuildRequires: python3-requests -BuildRequires: python3-sphinxcontrib-websupport %endif # with_python3 @@ -168,7 +166,7 @@ the Python docs: %package -n python2-sphinx Summary: Python documentation generator -Requires: python-sphinx-locale = %{version}-%{release} +Requires: python-sphinx-locale = %{?epoch}:%{version}-%{release} Requires: python2-babel Requires: python-docutils Requires: python-jinja2 @@ -180,22 +178,19 @@ Requires: python2-six Requires: python2-sphinx-theme-alabaster Requires: python2-imagesize Requires: python2-requests -Requires: python2-typing -Requires: python2-sphinxcontrib-websupport Requires: environment(modules) # Needed to get rid of the alternatives config installed in f24 and f25 # versions of the package Requires(pre): /usr/sbin/alternatives Recommends: graphviz -Recommends: ImageMagick Obsoletes: python-sphinx <= 1.2.3 Obsoletes: python-sphinxcontrib-napoleon < 0.5 -Provides: python-sphinxcontrib-napoleon = %{version}-%{release} +Provides: python-sphinxcontrib-napoleon = %{?epoch}:%{version}-%{release} Obsoletes: python2-Sphinx <= 1.3.1-4 -Provides: python2-Sphinx = %{version}-%{release} -Provides: python(Sphinx) = %{version}-%{release} +Provides: python2-Sphinx = %{?epoch}:%{version}-%{release} +Provides: python(Sphinx) = %{?epoch}:%{version}-%{release} %{?python_provide:%python_provide python2-sphinx} -Conflicts: python3-sphinx < %{version}-%{release} +Conflicts: python3-sphinx < %{?epoch}:%{version}-%{release} %description -n python2-sphinx Sphinx is a tool that makes it easy to create intelligent and @@ -228,7 +223,7 @@ the Python docs: %package latex Summary: LaTeX builder dependencies for %{name} -Requires: python(Sphinx) = %{version}-%{release} +Requires: python(Sphinx) = %{?epoch}:%{version}-%{release} Requires: texlive-collection-fontsrecommended Requires: texlive-collection-latex Requires: texlive-dvipng @@ -261,7 +256,6 @@ Requires: tex(luatex85.sty) Requires: tex(fncychap.sty) Requires: tex(tabulary.sty) Requires: tex(polyglossia.sty) -Requires: tex(ctablestack.sty) Requires: tex(eu1enc.def) Obsoletes: python3-sphinx-latex < 1.4.4-2 @@ -281,7 +275,7 @@ builder. %package -n python3-sphinx Summary: Python documentation generator Group: Development/Tools -Requires: python-sphinx-locale = %{version}-%{release} +Requires: python-sphinx-locale = %{?epoch}:%{version}-%{release} Requires: python3-babel Requires: python3-docutils Requires: python3-jinja2 @@ -293,18 +287,16 @@ Requires: python3-sphinx-theme-alabaster Requires: python3-imagesize Requires: python3-requests Requires: python3-six -Requires: python3-sphinxcontrib-websupport Recommends: graphviz -Recommends: ImageMagick Requires: environment(modules) # Needed to get rid of the alternatives config installed in f24 and f25 # versions of the package Requires(pre): /usr/sbin/alternatives Obsoletes: python3-sphinxcontrib-napoleon < 0.3.0 -Provides: python3-sphinxcontrib-napoleon = %{version}-%{release} -Provides: python(Sphinx) = %{version}-%{release} +Provides: python3-sphinxcontrib-napoleon = %{?epoch}:%{version}-%{release} +Provides: python(Sphinx) = %{?epoch}:%{version}-%{release} %{?python_provide:%python_provide python3-sphinx} -Conflicts: python2-Sphinx < %{version}-%{release} +Conflicts: python2-Sphinx < %{?epoch}:%{version}-%{release} %description -n python3-sphinx Sphinx is a tool that makes it easy to create intelligent and @@ -340,7 +332,7 @@ the Python docs: Summary: Documentation for %{name} Group: Documentation License: BSD -Requires: python(Sphinx) = %{version}-%{release} +Requires: python(Sphinx) = %{?epoch}:%{version}-%{release} %description doc Sphinx is a tool that makes it easy to create intelligent and @@ -594,8 +586,17 @@ popd %changelog -* Thu Jul 20 2017 Charalampos Stratakis - - 1.6.3-1 -- Update to 1.6.3 (bz#1426928) +* Tue Jan 09 2018 Charalampos Stratakis - 1:1.5.6-1 +- Update to 1.5.6 + +* Mon Nov 06 2017 Charalampos Stratakis - 1:1.5.5-1 +- Update to 1.5.5 + +* Fri Sep 22 2017 Charalampos Stratakis - 1:1.5.2-4 +- Fix a crash on parallel build. + +* Wed Sep 20 2017 Charalampos Stratakis - 1:1.5.2-3 +- Provide the epoch tag in order to downgrade at Fedora 26 * Sat Feb 18 2017 Toshio Kuratomi - - 1.5.2-2 - Cleanup source files that should not be installed diff --git a/sources b/sources index 6ba2c59..45146fe 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (Sphinx-1.6.3.tar.gz) = d5aec58e19239db4e61fcd6b103fcc838d97aad5a7aaf9279ff1097791d9cd1ba245989307a2d1049c123058b84ca4e91db192a1672c040d80fafed3907736ae +SHA512 (Sphinx-1.5.6.tar.gz) = 4190124d093fca3633a40187731d4284fa041c5d1159af1087ceec507eb398f693dcc655cbce779b63c25e4c925a07dfbfaae5f27c36e42df97226d335be951f diff --git a/xfail-test_latex_remote_images.patch b/xfail-test_latex_remote_images.patch deleted file mode 100644 index 16e4ddd..0000000 --- a/xfail-test_latex_remote_images.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/tests/test_build_latex.py b/tests/test_build_latex.py -index 55f48cd..78ccecd 100644 ---- a/tests/test_build_latex.py -+++ b/tests/test_build_latex.py -@@ -1009,7 +1009,7 @@ def test_latex_raw_directive(app, status, warning): - assert 'HTML: abc ghi' in result - assert 'LaTeX: abc def ghi' in result - -- -+@pytest.mark.xfail(reason="this test requires internet connection") - @pytest.mark.sphinx('latex', testroot='images') - def test_latex_remote_images(app, status, warning): - app.builder.build_all()