Compare commits

..

14 Commits
f26 ... f28

Author SHA1 Message Date
Charalampos Stratakis
10199b3e74 Update to 1.7.5 (bz#1570451) 2018-06-19 17:55:44 +02:00
Miro Hrončok
18e05c3ed5 Allow bootstrapping sphinx
1. Introduce --without websupport

 Sphinx (build)requires sphinxcontrib-websupport but that
 (build)requires sphinx. This bcond can be used to bootstrap this.

2. Introduce --without tests

 The tests bring a lot of additional dependencies that make
 bootstrapping harder. This allows to build without tests.

3. Build the docs with self

 The documentation was built with 'python', thus importing sphinx
 from python2's sitelib. Sphinx was installed because of the above
 mentioned buildrequirement of sphinxcontrib-websupport.
 Now current sphinx from PWD is used, also python3 is used when
 available, otherwise python2. Never just python.
2018-06-19 17:54:40 +02:00
Petr Viktorin
baac7bad24 Conditionalize the ImageMagick build dependency & tests 2018-04-12 11:04:57 +02:00
Charalampos Stratakis
9e75ecd41f fix test_autodoc with Python 3.6.5 2018-04-11 19:05:47 +02:00
Petr Viktorin
61f25030e6 Update to 1.7.2 2018-04-11 16:00:06 +02:00
Charalampos Stratakis
3d9a6101c9 Update to 1.7.1 (bz#1534802) 2018-03-13 15:15:28 +01:00
Fedora Release Engineering
8e40c34f4a - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-09 10:57:14 +00:00
Charalampos Stratakis
ad1161d6bc Update to 1.6.6 (bz#1532435) 2018-01-09 11:46:54 +01:00
Iryna Shcherbina
e5eb957b03 Fix ambiguous Python 2 dependency declarations 2017-12-11 14:09:56 +01:00
Charalampos Stratakis
fa7fa5e015 Update to 1.6.5 (bz#1508237) 2017-11-06 13:40:45 +01:00
Troy Dawson
e75c1dcce9 Cleanup spec file conditionals 2017-10-09 12:20:27 -07:00
Charalampos Stratakis
bf86b0e51b Update to 1.6.4 (rhbz#1426928) 2017-09-26 15:29:32 +02:00
Charalampos Stratakis
3a77d8ce47 Provide the epoch tag in order to keep the upgrade path clean
after the downgrade of sphinx at F26.
2017-09-21 11:05:50 +02:00
Fedora Release Engineering
ce8ab307f4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-27 11:53:11 +00:00
8 changed files with 149 additions and 153 deletions

9
.gitignore vendored
View File

@@ -7,5 +7,10 @@
/Sphinx-1.4.9.tar.gz
/Sphinx-1.5.1.tar.gz
/Sphinx-1.5.2.tar.gz
/Sphinx-1.5.5.tar.gz
/Sphinx-1.5.6.tar.gz
/Sphinx-1.6.3.tar.gz
/Sphinx-1.6.4.tar.gz
/Sphinx-1.6.5.tar.gz
/Sphinx-1.6.6.tar.gz
/Sphinx-1.7.1.tar.gz
/Sphinx-1.7.2.tar.gz
/Sphinx-1.7.5.tar.gz

View File

@@ -1,15 +0,0 @@
--- 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).
%:

View File

@@ -1,12 +0,0 @@
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:

View File

@@ -1,21 +0,0 @@
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

View File

@@ -1,34 +0,0 @@
From cf795894b9290c5ab2035ae21535f0a7f4b7107a Mon Sep 17 00:00:00 2001
From: Takeshi KOMIYA <i.tkomiya@gmail.com>
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)

View File

@@ -1,9 +1,21 @@
%if 0%{?fedora}
%if 0%{?fedora} || 0%{?rhel} > 7
%global with_python3 1
%else
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())")}
%endif
%if 0%{?rhel} > 7
# Build without BuildRequires ImageMagick, to skip imgconverter tests
%bcond_with imagemagick_tests
%else
%bcond_without imagemagick_tests
%endif
# When bootstrapping sphinx, we don't yet have sphinxcontrib-websupport
%bcond_without websupport
# Also, we don't have all the tests requirements
%bcond_without tests
# Currently, python2 version is always the default: https://fedoraproject.org/wiki/Packaging:Python#Naming
%if 1
%global py3_default 0
@@ -14,7 +26,7 @@
%global upstream_name Sphinx
Name: python-sphinx
Version: 1.5.6
Version: 1.7.5
Release: 1%{?dist}
Epoch: 1
Summary: Python documentation generator
@@ -37,46 +49,52 @@ Source5: README.fedora
# python-sphinx execuitables is default
Source6: default-sphinx-command.in
# 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
# 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
BuildArch: noarch
BuildRequires: python2-devel >= 2.4
BuildRequires: python2-babel
BuildRequires: python2-setuptools
BuildRequires: python-docutils
BuildRequires: python-jinja2
BuildRequires: python-pygments >= 2.0
BuildRequires: python-six
BuildRequires: python2-docutils
BuildRequires: python2-jinja2
BuildRequires: python2-pygments >= 2.0
BuildRequires: python2-six
BuildRequires: python2-sphinx_rtd_theme
BuildRequires: python2-sphinx-theme-alabaster
BuildRequires: python2-imagesize
BuildRequires: python2-requests
BuildRequires: python2-packaging
BuildRequires: python2-typing
%if %{with websupport}
BuildRequires: python2-sphinxcontrib-websupport
%endif
BuildRequires: environment(modules)
# for fixes
BuildRequires: dos2unix
# for testing
BuildRequires: python-nose
%if %{with tests}
BuildRequires: python2-nose
BuildRequires: python2-pytest
BuildRequires: python-pytest-cov
BuildRequires: python2-pytest-cov
BuildRequires: gettext
BuildRequires: texinfo
BuildRequires: graphviz
BuildRequires: python-sqlalchemy
BuildRequires: python2-sqlalchemy
BuildRequires: python2-mock
BuildRequires: python2-simplejson
BuildRequires: python-html5lib
BuildRequires: python-whoosh
BuildRequires: python2-html5lib
BuildRequires: python2-whoosh
BuildRequires: python2-snowballstemmer
BuildRequires: python-enum34
BuildRequires: python2-enum34
%if %{with imagemagick_tests}
BuildRequires: ImageMagick
%endif
# note: no Python3 xapian binding yet
BuildRequires: xapian-bindings-python
BuildRequires: python2-xapian
BuildRequires: texlive-collection-fontsrecommended
BuildRequires: texlive-collection-latex
BuildRequires: texlive-dvipng
@@ -109,7 +127,9 @@ BuildRequires: tex(luatex85.sty)
BuildRequires: tex(fncychap.sty)
BuildRequires: tex(tabulary.sty)
BuildRequires: tex(polyglossia.sty)
BuildRequires: tex(ctablestack.sty)
BuildRequires: tex(eu1enc.def)
%endif
%if 0%{?with_python3}
BuildRequires: python3-devel
@@ -118,6 +138,16 @@ BuildRequires: python3-setuptools
BuildRequires: python3-docutils
BuildRequires: python3-jinja2
BuildRequires: python3-pygments
BuildRequires: python3-six
BuildRequires: python3-sphinx_rtd_theme
BuildRequires: python3-sphinx-theme-alabaster
BuildRequires: python3-packaging
BuildRequires: python3-imagesize
BuildRequires: python3-requests
%if %{with websupport}
BuildRequires: python3-sphinxcontrib-websupport
%endif
%if %{with tests}
BuildRequires: python3-nose
BuildRequires: python3-pytest
BuildRequires: python3-pytest-cov
@@ -127,11 +157,7 @@ BuildRequires: python3-simplejson
BuildRequires: python3-html5lib
BuildRequires: python3-whoosh
BuildRequires: python3-snowballstemmer
BuildRequires: python3-six
BuildRequires: python3-sphinx_rtd_theme
BuildRequires: python3-sphinx-theme-alabaster
BuildRequires: python3-imagesize
BuildRequires: python3-requests
%endif
%endif # with_python3
@@ -168,9 +194,9 @@ the Python docs:
Summary: Python documentation generator
Requires: python-sphinx-locale = %{?epoch}:%{version}-%{release}
Requires: python2-babel
Requires: python-docutils
Requires: python-jinja2
Requires: python-pygments
Requires: python2-docutils
Requires: python2-jinja2
Requires: python2-pygments
Requires: python2-mock
Requires: python2-snowballstemmer
Requires: python2-sphinx_rtd_theme
@@ -178,11 +204,17 @@ Requires: python2-six
Requires: python2-sphinx-theme-alabaster
Requires: python2-imagesize
Requires: python2-requests
Requires: python2-packaging
Requires: python2-typing
%if %{with websupport}
Requires: python2-sphinxcontrib-websupport
%endif
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 = %{?epoch}:%{version}-%{release}
@@ -256,6 +288,7 @@ 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
@@ -287,7 +320,12 @@ Requires: python3-sphinx-theme-alabaster
Requires: python3-imagesize
Requires: python3-requests
Requires: python3-six
Requires: python3-packaging
%if %{with websupport}
Requires: python3-sphinxcontrib-websupport
%endif
Recommends: graphviz
Recommends: ImageMagick
Requires: environment(modules)
# Needed to get rid of the alternatives config installed in f24 and f25
# versions of the package
@@ -365,26 +403,38 @@ This package contains locale files for Sphinx
cp %{SOURCE5} .
sed '1d' -i sphinx/pycode/pgen2/token.py
# fix line encoding of bundled jquery.js
dos2unix -k ./sphinx/themes/basic/static/jquery.js
%if %{without imagemagick_tests}
rm tests/test_ext_imgconverter.py
%endif
%if %{without websupport}
rm tests/test_websupport.py tests/test_api_translator.py
%endif
%if 0%{?with_python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
%endif # with_python3
%build
%py2_build
%if 0%{?with_python3}
%py3_build
%endif # with_python3
export PYTHONPATH=$PWD
pushd doc
make html
make man
%if 0%{?with_python3}
export SPHINXBUILD="%{__python3} ../sphinx/cmd/build.py"
%else
export SPHINXBUILD="%{__python2} ../sphinx/cmd/build.py"
%endif
make html SPHINXBUILD="$SPHINXBUILD"
make man SPHINXBUILD="$SPHINXBUILD"
rm -rf _build/html/.buildinfo
mv _build/html ..
popd
@@ -399,12 +449,6 @@ for i in sphinx-{apidoc,autogen,build,quickstart}; do
ln -s $i-%{python3_version} %{buildroot}%{_bindir}/$i-3
ln -s %{_bindir}/$i-3 %{buildroot}%{_libexecdir}/python3-sphinx/$i
done
# These appear to be incomplete C extensions to speed up parsing. They are not
# built by setup.py yet. Removing them in %%install so that if sphinx does
# make use of them, and we don't notice, we only remove these source files
# after the build has created the .so's
rm %{buildroot}%{python3_sitelib}/sphinx/pycode/pgen2/parse.{pyx,c}
%endif # with_python3
%py2_install
@@ -415,12 +459,6 @@ for i in sphinx-{apidoc,autogen,build,quickstart}; do
ln -s %{_bindir}/$i-2 %{buildroot}%{_libexecdir}/python2-sphinx/$i
done
# These appear to be incomplete C extensions to speed up parsing. They are not
# built by setup.py yet. Removing them in %%install so that if sphinx does
# make use of them, and we don't notice, we only remove these source files
# after the build has created the .so's
rm %{buildroot}%{python2_sitelib}/sphinx/pycode/pgen2/parse.{pyx,c}
pushd doc
# Deliver man pages
install -d %{buildroot}%{_mandir}/man1
@@ -451,7 +489,7 @@ mv doc reST
# Move language files to /usr/share;
# patch to support this incorporated in 0.6.6
pushd %{buildroot}%{python_sitelib}
pushd %{buildroot}%{python2_sitelib}
for lang in `find sphinx/locale -maxdepth 1 -mindepth 1 -type d -not -path '*/\.*' -printf "%f "`;
do
@@ -505,11 +543,17 @@ done
>> sphinx.lang
%if %{with tests}
%check
export PYTHONPATH=$PWD
# Currently, all linkcheck tests hit external websites. Since network access
# is disabled in koji, we have to disable these.
rm tests/test_build_linkcheck.py
LANG=en_US.UTF-8 make test
# Igoring test_api_translator for now as it fails on Fedora.
# The issue has been reported upstream: https://github.com/sphinx-doc/sphinx/issues/4710
LANG=en_US.UTF-8 %{__python2} -m pytest -v --ignore=tests/test_api_translator.py
%if 0%{?with_python3}
pushd %{py3dir}
# Currently, all linkcheck tests hit external websites. Since network access
@@ -518,19 +562,7 @@ rm tests/test_build_linkcheck.py
LANG=en_US.UTF-8 PYTHON=python3 make test
popd
%endif # with_python3
%pre -n python2-sphinx
# python-sphinx as shipped in an update to f24 and f25 used alternatives. So
# we need to clean up the alternatives configuration until at least f27
%{_sbindir}/update-alternatives --remove sphinx-build %{_bindir}/sphinx-build-%{python2_version} || :
%if 0%{?with_python3}
%pre -n python3-sphinx
# python-sphinx as shipped in an update to f24 and f25 used alternatives. So
# we need to clean up the alternatives configuration until at least f27
%{_sbindir}/update-alternatives --remove sphinx-build %{_bindir}/sphinx-build-%{python3_version} || :
%endif # with_python3
%endif # with tests
%files latex
@@ -586,17 +618,45 @@ popd
%changelog
* Tue Jan 09 2018 Charalampos Stratakis <cstratak@redhat.com> - 1:1.5.6-1
- Update to 1.5.6
* Tue Jun 19 2018 Charalampos Stratakis <cstratak@redhat.com> - 1:1.7.5-1
- Update to 1.7.5 (bz#1570451)
* Mon Nov 06 2017 Charalampos Stratakis <cstratak@redhat.com> - 1:1.5.5-1
- Update to 1.5.5
* Wed Apr 11 2018 Petr Viktorin <pviktori@redhat.com> - 1:1.7.2-2
- Conditionalize the ImageMagick build dependency & tests
* Fri Sep 22 2017 Charalampos Stratakis <cstratak@redhat.com> - 1:1.5.2-4
- Fix a crash on parallel build.
* Wed Apr 11 2018 Petr Viktorin <pviktori@redhat.com> - 1:1.7.2-1
- Update to 1.7.2 (bz#1558968)
* Wed Sep 20 2017 Charalampos Stratakis <cstratak@redhat.com> - 1:1.5.2-3
- Provide the epoch tag in order to downgrade at Fedora 26
* Tue Mar 13 2018 Charalampos Stratakis <cstratak@redhat.com> - 1:1.7.1-1
- Update to 1.7.1 (bz#1534802)
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.6.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Tue Jan 09 2018 Charalampos Stratakis <cstratak@redhat.com> - 1:1.6.6-1
- Update to 1.6.6 (bz#1532435)
* Mon Dec 11 2017 Iryna Shcherbina <ishcherb@redhat.com> - 1:1.6.5-2
- Fix ambiguous Python 2 dependency declarations
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
* Mon Nov 06 2017 Charalampos Stratakis <cstratak@redhat.com> - 1:1.6.5-1
- Update to 1.6.5 (bz#1508237)
* Mon Oct 09 2017 Troy Dawson <tdawson@redhat.com> - 1:1.6.4-2
- Cleanup spec file conditionals
* Tue Sep 26 2017 Charalampos Stratakis <cstratak@redhat.com> - 1:1.6.4-1
- Update to 1.6.4 (bz#1426928)
* Wed Sep 20 2017 Charalampos Stratakis <cstratak@redhat.com> - 1:1.6.3-3
- Provide the epoch tag in order to keep the upgrade path clean.
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Thu Jul 20 2017 Charalampos Stratakis <cstratak@redhat.com> - - 1.6.3-1
- Update to 1.6.3 (bz#1426928)
* Sat Feb 18 2017 Toshio Kuratomi <toshio@fedoraproject.org> - - 1.5.2-2
- Cleanup source files that should not be installed

View File

@@ -1 +1 @@
SHA512 (Sphinx-1.5.6.tar.gz) = 4190124d093fca3633a40187731d4284fa041c5d1159af1087ceec507eb398f693dcc655cbce779b63c25e4c925a07dfbfaae5f27c36e42df97226d335be951f
SHA512 (Sphinx-1.7.5.tar.gz) = db2a8df2cdb2ed78ce2341175575c2b04a149451b2bc8a4f74ddc73e308a19d505874fdbae4e370ce48a9b1cdb4de47cdab489bc57c1b378e857d5b8d04a07b8

View File

@@ -0,0 +1,13 @@
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()