Compare commits

..

34 Commits
f25 ... 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
Charalampos Stratakis
6fe65c3b4d Update to 1.6.3 (rhbz#1426928)
Mark the test_latex_remote_images as expected failure
since it tries to fetch images from the web which is not possible
in koji or mock.

Added dependencies on python-typing,
python-sphinxcontrib-websupport, tex(ctablestack.sty)
and ImageMagick.
2017-07-20 19:58:34 +02:00
Toshio Kuratomi
43596e5731 builddir => buildroot 2017-02-18 10:10:48 -08:00
Toshio Kuratomi
ffb77c7ed3 Cleanup source files that should not be installed
Fix the __init__.pyc that was byte compiled for the wrong python
2017-02-18 10:02:44 -08:00
Toshio Kuratomi
f73229b3b1 Add more buildrequires for tests 2017-02-17 09:33:29 -08:00
Toshio Kuratomi
b5d98f0f4d Xapian patch no longer needed 2017-02-17 08:52:07 -08:00
Toshio Kuratomi
145cab2c32 Remember to update the source tarball as well 2017-02-17 08:28:24 -08:00
Toshio Kuratomi
5bf198167c Update to 1.5.2
Remove a few latex dependencies that are no longer needed
2017-02-17 07:59:44 -08:00
Fedora Release Engineering
9ea173bb1e - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-11 10:32:17 +00:00
Toshio Kuratomi
ea98c3de4b environment-modules is less featureful than Lmod.
Select the default version in a different way since environment-modules
    didn't understand the symlink
  Ignore error messsages in the shell startup script as environment-modules
    prints an error message if a module has already been loaded.  The command
    is doing the right thing for this case except that it's also printing an
    error message.
2017-01-31 11:52:19 -08:00
Toshio Kuratomi
74b3a560b8 Add recipe for setting the system default to the README.fedora 2017-01-26 18:13:59 -08:00
Toshio Kuratomi
baaecbbb4a Move the unversioned executables into the python2 package as they are now
using python2 to run
2017-01-18 22:39:26 -08:00
Toshio Kuratomi
fa7e4f510b Add README.fedora so people know how to use environment-modules to switch.
Change the default to be the python2 version to match with the guidelines
Switch to generic environment(modules) instead of Lmod specifically.
2017-01-18 22:12:32 -08:00
Toshio Kuratomi
4944f766cd One more texlive dep 2016-12-30 23:57:27 -08:00
Toshio Kuratomi
1a1466a96e Fix typo in one texlive dep 2016-12-30 22:58:18 -08:00
Toshio Kuratomi
2f352b47f7 Disable linkcheck tests as they hit the network 2016-12-30 22:35:04 -08:00
Toshio Kuratomi
93a4ba510a Fix test_build_latex tests by adding more texlive packages as Requires/BuildRequires 2016-12-30 22:22:40 -08:00
Toshio Kuratomi
79d38f37ff rpmlint fixes to python-sphinx spec file 2016-12-30 22:12:24 -08:00
Orion Poplawski
b6f4a595f7 Add needed BRs for testing 2016-12-30 16:28:03 -07:00
Orion Poplawski
cc11c8ff89 Add BR/R on python-requests 2016-12-30 16:10:25 -07:00
Orion Poplawski
c729227123 Update to 1.5.1 2016-12-30 15:10:00 -07:00
13 changed files with 338 additions and 211 deletions

15
.gitignore vendored
View File

@@ -1 +1,16 @@
/Sphinx-1.2.3.tar.gz
/Sphinx-1.3.1.tar.gz
/Sphinx-1.4.4.tar.gz
/Sphinx-1.4.5.tar.gz
/Sphinx-1.4.6.tar.gz
/Sphinx-1.4.8.tar.gz
/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.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

27
README.fedora Normal file
View File

@@ -0,0 +1,27 @@
Sphinx with autodoc is sensitive to whether it is run via Python2 or Python3
as it uses the Python version that it is invoked with to parse the source
files for docstrings. Unfortunately, there's no logic to detect this within
the sphinx commands and the standard Makefiles generated by sphinx-quickstart
don't give the user any hint that it might be a problem.
The Fedora package tries to mitigate this problem by allowing the user to
switch between the Python2 and Python3 versions using environment-modules. To
switch to the Python3 commands, use::
module swap python-sphinx/python3-sphinx
To switch to the Python2 version, use::
module swap python-sphinx/python2-sphinx
The default install uses the python2 version of the modules.
If the system administrator wishes to change the default, edit the
/etc/profile.d/zz-modules-python-sphinx.sh and
/etc/profile.d/zz-modules-python-sphinx.csh files to specify a specific
alternative to use. For instance, to make the python3 version the default,
modify it like so::
@@ -1,2 +1,2 @@
# Add path to the default python-sphinx scripts on this version of Fedora
-module load python-sphinx
+module load python-sphinx/python3-sphinx

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

@@ -0,0 +1,2 @@
#%Module1.0
set ModuleVersion "python@PYTHONVER@-sphinx"

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,21 +1,34 @@
%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
# Currently Fedora policy is that the python2 version is the default version
%if 0
%global py3_alt_priority 500
%if 0%{?rhel} > 7
# Build without BuildRequires ImageMagick, to skip imgconverter tests
%bcond_with imagemagick_tests
%else
%global py3_alt_priority 10
%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
%else
%global py3_default 1
%endif
%global upstream_name Sphinx
Name: python-sphinx
Version: 1.5.2
Release: 3%{?dist}
Version: 1.7.5
Release: 1%{?dist}
Epoch: 1
Summary: Python documentation generator
Group: Development/Tools
@@ -27,47 +40,61 @@ Group: Development/Tools
License: BSD and Public Domain and Python and (MIT or GPLv2)
URL: http://sphinx-doc.org/
Source0: https://files.pythonhosted.org/packages/source/S/%{upstream_name}/%{upstream_name}-%{version}.tar.gz
Source1: python2-sphinx
Source2: python3-sphinx
Source3: zz-modules-python-sphinx.sh
Source4: zz-modules-python-sphinx.csh
Source5: README.fedora
# environment-modules file to select whether the py2 or py3 version of
# 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
@@ -100,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
@@ -109,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
@@ -118,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
@@ -157,11 +192,11 @@ 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
Requires: python-pygments
Requires: python2-docutils
Requires: python2-jinja2
Requires: python2-pygments
Requires: python2-mock
Requires: python2-snowballstemmer
Requires: python2-sphinx_rtd_theme
@@ -169,17 +204,25 @@ 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
Requires(post): %{_sbindir}/update-alternatives
Requires(postun): %{_sbindir}/update-alternatives
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
@@ -212,7 +255,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
@@ -245,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
@@ -264,7 +308,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
@@ -276,14 +320,21 @@ 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
Requires(post): %{_sbindir}/update-alternatives
Requires(postun): %{_sbindir}/update-alternatives
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
@@ -319,7 +370,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
@@ -350,65 +401,62 @@ This package contains locale files for Sphinx
%prep
%autosetup -n %{upstream_name}-%{version}%{?prerel} -p1
sed '1d' -i sphinx/pycode/pgen2/token.py
cp %{SOURCE5} .
# fix line encoding of bundled jquery.js
dos2unix -k ./sphinx/themes/basic/static/jquery.js
# In 1.5.2, the upstream tarball left this .pyc by mistake.
# Remove it so that it doesn't get included in the python3 build by mistake
rm sphinx/locale/__init__.pyc
%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
%install
%if 0%{?with_python3}
%py3_install
install -d %{buildroot}%{_libexecdir}/python3-sphinx
for i in sphinx-{apidoc,autogen,build,quickstart}; do
mv %{buildroot}%{_bindir}/$i %{buildroot}%{_bindir}/$i-%{python3_version}
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
install -d %{buildroot}%{_libexecdir}/python2-sphinx
for i in sphinx-{apidoc,autogen,build,quickstart}; do
mv %{buildroot}%{_bindir}/$i %{buildroot}%{_bindir}/$i-%{python2_version}
ln -s $i-%{python2_version} %{buildroot}%{_bindir}/$i-2
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}
for i in sphinx-{apidoc,autogen,build,quickstart}; do
touch %{buildroot}%{_bindir}/$i
ln -s %{_bindir}/$i-2 %{buildroot}%{_libexecdir}/python2-sphinx/$i
done
pushd doc
@@ -416,6 +464,9 @@ pushd doc
install -d %{buildroot}%{_mandir}/man1
for f in _build/man/sphinx-*.1;
do
### TODO: these are all the same. Do we really need to ship them three
### times or is it fine to just ship them as e.g. sphinx-build.1
cp -p $f %{buildroot}%{_mandir}/man1/$(basename $f)
cp -p $f %{buildroot}%{_mandir}/man1/$(basename $f | sed -e "s|.1$|-%{python2_version}.1|")
cp -p $f %{buildroot}%{_mandir}/man1/$(basename $f | sed -e "s|.1$|-%{python3_version}.1|")
done
@@ -425,6 +476,12 @@ done
find %{buildroot}%{python3_sitelib}/sphinx/locale -maxdepth 1 -mindepth 1 -type d -not -path '*/\.*' -exec rm -rf '{}' \;
popd
# Clean up non-python files
rm -f %{buildroot}%{python2_sitelib}/sphinx/locale/.DS_Store
rm -rf %{buildroot}%{python2_sitelib}/sphinx/locale/.tx
rm -f %{buildroot}%{python3_sitelib}/sphinx/locale/.DS_Store
rm -rf %{buildroot}%{python3_sitelib}/sphinx/locale/.tx
# Deliver rst files
rm -rf doc/_build
sed -i 's|python ../sphinx-build.py|/usr/bin/sphinx-build|' doc/Makefile
@@ -432,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
@@ -445,6 +502,38 @@ do
rm -rf sphinx/locale/$lang
done
popd
install -d %{buildroot}%{_modulesdir}/python-sphinx
install -m 0644 %{SOURCE1} %{buildroot}%{_modulesdir}/python-sphinx/
sed -i 's|@python2_sphinx_dir@|%{_libexecdir}/python2-sphinx|' %{buildroot}%{_modulesdir}/python-sphinx/python2-sphinx
install -m 0644 %{SOURCE2} %{buildroot}%{_modulesdir}/python-sphinx/
sed -i 's|@python3_sphinx_dir@|%{_libexecdir}/python3-sphinx|' %{buildroot}%{_modulesdir}/python-sphinx/python3-sphinx
install -d %{buildroot}%{_sysconfdir}/profile.d
install -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/profile.d/zz-modules-python-sphinx.sh
install -m 0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/profile.d/zz-modules-python-sphinx.csh
%if %{py3_default}
sed 's/@PYTHONVER@/3/' < %{SOURCE6} > %{buildroot}%{_modulesdir}/python-sphinx/.version
# These symlinks establish a default for when a package is first installed (and
# therefore, environment modules is not loaded). The user can immediately
# switch them by using module swap python-sphinx/python2-sphinx
for filename in sphinx-{build,apidoc,autogen,quickstart} ; do
ln -s %{_libexecdir}/python3-sphinx/$filename %{buildroot}%{_bindir}/$filename
done
%else
sed 's/@PYTHONVER@/2/' < %{SOURCE6} > %{buildroot}%{_modulesdir}/python-sphinx/.version
# These symlinks establish a default for when a package is first installed (and
# therefore, environment modules is not loaded). The user can immediately
# switch them by using module swap python-sphinx/python3-sphinx
for filename in sphinx-{build,apidoc,autogen,quickstart} ; do
ln -s %{_libexecdir}/python2-sphinx/$filename %{buildroot}%{_bindir}/$filename
done
%endif
%find_lang sphinx
# Language files; Since these are javascript, it's not immediately obvious to
@@ -454,73 +543,27 @@ popd
>> sphinx.lang
%if %{with tests}
%check
export PYTHONPATH=$PWD
# Hate to disable checks but they need pytest 3.0+ in order to function
# and we don't have that on F25.
# 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}
#LANG=en_US.UTF-8 PYTHON=python3 make test
# 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 PYTHON=python3 make test
popd
%endif # with_python3
%endif # with tests
%post -n python2-sphinx
# Remove old versions of files so alternatives doesn't break
for filename in %{_mandir}/man1/sphinx-{all,apidoc,build,quickstart}.1.gz %{_bindir}/sphinx-{build,apidoc,autogen,quickstart}
do
if [ ! -L $filename ]
then
rm -f $filename
fi
done
%{_sbindir}/update-alternatives --install %{_bindir}/sphinx-build \
sphinx-build %{_bindir}/sphinx-build-%{python2_version} 100 \
--slave %{_bindir}/sphinx-apidoc sphinx-apidoc %{_bindir}/sphinx-apidoc-%{python2_version} \
--slave %{_bindir}/sphinx-autogen sphinx-autogen %{_bindir}/sphinx-autogen-%{python2_version} \
--slave %{_bindir}/sphinx-quickstart sphinx-quickstart %{_bindir}/sphinx-quickstart-%{python2_version} \
--slave %{_mandir}/man1/sphinx-all.1.gz sphinx-all.1.gz %{_mandir}/man1/sphinx-all-%{python2_version}.1.gz \
--slave %{_mandir}/man1/sphinx-apidoc.1.gz sphinx-apidoc.1.gz %{_mandir}/man1/sphinx-apidoc-%{python2_version}.1.gz \
--slave %{_mandir}/man1/sphinx-build.1.gz sphinx-build.1.gz %{_mandir}/man1/sphinx-build-%{python2_version}.1.gz \
--slave %{_mandir}/man1/sphinx-quickstart.1.gz sphinx-quickstart.1.gz %{_mandir}/man1/sphinx-quickstart-%{python2_version}.1.gz
%if 0%{?with_python3}
%post -n python3-sphinx
# Remove old versions of files so alternatives doesn't break
for filename in %{_mandir}/man1/sphinx-{all,apidoc,build,quickstart}.1.gz %{_bindir}/sphinx-{build,apidoc,autogen,quickstart}
do
if [ ! -L $filename ]
then
rm -f $filename
fi
done
%{_sbindir}/update-alternatives --install %{_bindir}/sphinx-build \
sphinx-build %{_bindir}/sphinx-build-%{python3_version} %{py3_alt_priority} \
--slave %{_bindir}/sphinx-apidoc sphinx-apidoc %{_bindir}/sphinx-apidoc-%{python3_version} \
--slave %{_bindir}/sphinx-autogen sphinx-autogen %{_bindir}/sphinx-autogen-%{python3_version} \
--slave %{_bindir}/sphinx-quickstart sphinx-quickstart %{_bindir}/sphinx-quickstart-%{python3_version} \
--slave %{_mandir}/man1/sphinx-all.1.gz sphinx-all.1.gz %{_mandir}/man1/sphinx-all-%{python3_version}.1.gz \
--slave %{_mandir}/man1/sphinx-apidoc.1.gz sphinx-apidoc.1.gz %{_mandir}/man1/sphinx-apidoc-%{python3_version}.1.gz \
--slave %{_mandir}/man1/sphinx-build.1.gz sphinx-build.1.gz %{_mandir}/man1/sphinx-build-%{python3_version}.1.gz \
--slave %{_mandir}/man1/sphinx-quickstart.1.gz sphinx-quickstart.1.gz %{_mandir}/man1/sphinx-quickstart-%{python3_version}.1.gz
%endif # with_python3
%postun -n python2-sphinx
if [ $1 -eq 0 ] ; then
%{_sbindir}/update-alternatives --remove sphinx-build %{_bindir}/sphinx-build-%{python2_version}
fi
%if 0%{?with_python3}
%postun -n python3-sphinx
if [ $1 -eq 0 ] ; then
%{_sbindir}/update-alternatives --remove sphinx-build %{_bindir}/sphinx-build-%{python3_version}
fi
%endif # with_python3
%files latex
%license LICENSE
@@ -533,39 +576,40 @@ fi
%files -n python2-sphinx
%license LICENSE
%doc AUTHORS CHANGES EXAMPLES README.rst
%doc AUTHORS CHANGES EXAMPLES README.rst README.fedora
%{_bindir}/sphinx-*-2*
%{_bindir}/sphinx-build
%{_bindir}/sphinx-apidoc
%{_bindir}/sphinx-autogen
%{_bindir}/sphinx-quickstart
%{python2_sitelib}/sphinx/
%{python2_sitelib}/Sphinx-%{version}-py%{python2_version}.egg-info/
%exclude %{_mandir}/man1/sphinx-*-%{python3_version}.1*
%{_mandir}/man1/*
%{_libexecdir}/python2-sphinx/
%{_modulesdir}/python-sphinx/python2-sphinx
%if !%{py3_default}
%{_modulesdir}/python-sphinx/.version
%endif
%config(noreplace) %{_sysconfdir}/profile.d/zz-modules-python-sphinx.sh
%config(noreplace) %{_sysconfdir}/profile.d/zz-modules-python-sphinx.csh
%ghost %attr(755, root, root) %{_bindir}/sphinx-apidoc
%ghost %attr(755, root, root) %{_bindir}/sphinx-autogen
%ghost %attr(755, root, root) %{_bindir}/sphinx-build
%ghost %attr(755, root, root) %{_bindir}/sphinx-quickstart
%ghost %attr(644, root, root) %{_mandir}/man1/sphinx-all.1.gz
%ghost %attr(644, root, root) %{_mandir}/man1/sphinx-apidoc.1.gz
%ghost %attr(644, root, root) %{_mandir}/man1/sphinx-build.1.gz
%ghost %attr(644, root, root) %{_mandir}/man1/sphinx-quickstart.1.gz
%if 0%{?with_python3}
%files -n python3-sphinx
%license LICENSE
%doc AUTHORS CHANGES EXAMPLES README.rst
%doc AUTHORS CHANGES EXAMPLES README.rst README.fedora
%{_bindir}/sphinx-*-3*
%{python3_sitelib}/sphinx/
%{python3_sitelib}/Sphinx-%{version}-py%{python3_version}.egg-info/
%{_mandir}/man1/sphinx-*-%{python3_version}.1*
%ghost %attr(755, root, root) %{_bindir}/sphinx-apidoc
%ghost %attr(755, root, root) %{_bindir}/sphinx-autogen
%ghost %attr(755, root, root) %{_bindir}/sphinx-build
%ghost %attr(755, root, root) %{_bindir}/sphinx-quickstart
%ghost %attr(644, root, root) %{_mandir}/man1/sphinx-all.1.gz
%ghost %attr(644, root, root) %{_mandir}/man1/sphinx-apidoc.1.gz
%ghost %attr(644, root, root) %{_mandir}/man1/sphinx-build.1.gz
%ghost %attr(644, root, root) %{_mandir}/man1/sphinx-quickstart.1.gz
%{_libexecdir}/python3-sphinx/
%{_modulesdir}/python-sphinx/python3-sphinx
%if %{py3_default}
%{_modulesdir}/python-sphinx/.version
%endif
%config(noreplace) %{_sysconfdir}/profile.d/zz-modules-python-sphinx.sh
%config(noreplace) %{_sysconfdir}/profile.d/zz-modules-python-sphinx.csh
%endif # with_python3
@@ -574,12 +618,47 @@ fi
%changelog
* Fri Sep 22 2017 Charalampos Stratakis <cstratak@redhat.com> - 1.5.2-3
- Fix a crash on parallel build.
* Tue Jun 19 2018 Charalampos Stratakis <cstratak@redhat.com> - 1:1.7.5-1
- Update to 1.7.5 (bz#1570451)
* Wed Apr 11 2018 Petr Viktorin <pviktori@redhat.com> - 1:1.7.2-2
- Conditionalize the ImageMagick build dependency & tests
* Wed Apr 11 2018 Petr Viktorin <pviktori@redhat.com> - 1:1.7.2-1
- Update to 1.7.2 (bz#1558968)
* 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
- Assign %%attrs to %%ghosted files so that rpm knows what permissions they
should have.
- Cleanup source files that should not be installed
- Fix the __init__.pyc that was byte compiled for the wrong python
@@ -587,18 +666,41 @@ fi
- Update to 1.5.2
- Remove a few latex dependencies that are no longer needed
- Remove xapian patch; now in upstream tarball
- Disable checks. The tests require pytest >= 3.0 and we only have
pytest-2.9.2 on F25
* Fri Feb 17 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.1-6
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Fri Feb 17 2017 Orion Poplawski <orion@cora.nwra.com> - 1.5.1-1
* Tue Jan 31 2017 Toshio Kuratomi <toshio@fedoraproject.org> - - 1.5.1-5
- environment-modules is less featureful than Lmod.
- Select the default version in a different way since environment-modules
didn't understand the symlink
- Ignore error messsages in the shell startup script as environment-modules
prints an error message if a module has already been loaded. The command
is doing the right thing for this case except that it's also printing an
error message.
* Thu Jan 26 2017 Toshio Kuratomi <toshio@fedoraproject.org> - - 1.5.1-4
- Add recipe for setting the system default to the README.fedora
* Wed Jan 18 2017 Toshio Kuratomi <toshio@fedoraproject.org> - - 1.5.1-3
- Move the unversioned executables into the python2 package as they are now
using python2 to run
* Wed Jan 18 2017 Toshio Kuratomi <toshio@fedoraproject.org> - - 1.5.1-2
- Add README.fedora so people know how to use environment-modules to switch.
- Change the default to be the python2 version to match with the guidelines
- Switch to generic environment(modules) instead of Lmod specifically.
* Fri Dec 30 2016 Orion Poplawski <orion@cora.nwra.com> - 1.5.1-1
- Update to 1.5.1
* Wed Jan 18 2017 Toshio Kuratomi <toshio@fedoraproject.org> - - 1.4.9-3
- Change alternatives priority so that the python2 version gets the default to
follow Fedora policy.
* Fri Dec 30 2016 Toshio Kuratomi <toshio@fedoraproject.org> - 1.4.9-2
- Remove alternatives. Alternatives should only be used for a very small
number of packages (system daemons which also have a compatible command line
interface).
- Use environment-modules to switch between the python2 and python3 packages
*but* be aware that no amount of manual switching can get this 100% right.
The code has to be fixed upstream, not in packaging.
* Tue Dec 13 2016 Charalampos Stratakis <cstratak@redhat.com> - 1.4.9-1
- Update to 1.4.9

6
python2-sphinx Normal file
View File

@@ -0,0 +1,6 @@
#%Module 1.0
#
# python2-sphinx module for use with 'environment modules' package
#
conflict python-sphinx
prepend-path PATH @python2_sphinx_dir@

6
python3-sphinx Normal file
View File

@@ -0,0 +1,6 @@
#%Module 1.0
#
# python2-sphinx module for use with 'environment modules' package
#
conflict python-sphinx
prepend-path PATH @python3_sphinx_dir@

View File

@@ -1 +1 @@
SHA512 (Sphinx-1.5.2.tar.gz) = 32c8fb98d72e998fcce8c46ceddcbb0a0776d0e9ce75dc96cef48139b8b47ebe9636243fb48b9e04c8e1d5c56e09fc4c60248fbbef810fba9813b83a3e6cbe88
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()

View File

@@ -0,0 +1,2 @@
# Add path to the default python-sphinx scripts on this version of Fedora
module load python-sphinx >& /dev/null

View File

@@ -0,0 +1,2 @@
# Add path to the default python-sphinx scripts on this version of Fedora
module load python-sphinx 2> /dev/null