@ -1,21 +1,63 @@
%if 0%{?fedora} || 0%{?rhel} > 7
%global with_python3 0%{!?_without_python3:1}
%endif
%if 0%{?rhel} > 7
# Disable python2 build by default
%bcond_with python2
%else
%bcond_without python2
%endif
%global srcname docutils
Name: python-%{srcname}
Version: 0.16
Release: 6%{?dist}
Version: 0.14
Release: 7 %{?dist}
Summary: System for processing plaintext documentation
Group: Development/Languages
# See COPYING.txt for information
License: Public Domain and BSD and Python and GPLv3+
URL: http://docutils.sourceforge.net
Source0: https://sourceforge.net/projects/%{srcname}/files/%{srcname}/%{version}/%{srcname}-%{version}.tar.gz
#Source0: http://downloads.sourceforge.net/docutils/%%{srcname}-%%{version}.tar.gz
# Sometimes we need snapshots. Instructions below:
# svn co -r 7687 svn://svn.code.sf.net/p/docutils/code/trunk/docutils
# cd docutils
# python setup.py sdist
# The tarball is in dist/docutils-VERSION.tar.gz
Source0: %{srcname}-%{version}.tar.gz
BuildArch: noarch
%if %{with python2}
BuildRequires: python2-devel
BuildRequires: python2-setuptools
%endif # with python2
%if 0%{?with_python3}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
%endif
%description
The Docutils project specifies a plaintext markup language, reStructuredText,
which is easy to read and quick to write. The project includes a python
library to parse rST files and transform them into other useful formats such
as HTML, XML, and TeX as well as commandline tools that give the enduser
access to this functionality.
BuildArch: noarch
Currently, the library supports parsing rST that is in standalone files and
PEPs (Python Enhancement Proposals). Work is underway to parse rST from
Python inline documentation modules and packages.
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-setuptools
%if %{with python2}
%package -n python2-%{srcname}
Summary: System for processing plaintext documentation for python2
%{?python_provide:%python_provide python2-%{srcname}}
Provides: docutils = %{version}-%{release}
Obsoletes: docutils < %{version}-%{release}
%global _description %{expand:
%description -n python2-%{srcname}
The Docutils project specifies a plaintext markup language, reStructuredText,
which is easy to read and quick to write. The project includes a python
library to parse rST files and transform them into other useful formats such
@ -24,111 +66,144 @@ access to this functionality.
Currently, the library supports parsing rST that is in standalone files and
PEPs (Python Enhancement Proposals). Work is underway to parse rST from
Python inline documentation modules and packages.}
Python inline documentation modules and packages.
%endif # with python2
%description %_description
%if 0%{?with_python3}
%package -n python3-%{srcname}
Summary: System for processing plaintext documentation for python3
%{?python_provide:%python_provide python3-%{srcname}}
Group: Development/Languages
%description -n python3-%{srcname}
The Docutils project specifies a plaintext markup language, reStructuredText,
which is easy to read and quick to write. The project includes a python
library to parse rST files and transform them into other useful formats such
as HTML, XML, and TeX as well as commandline tools that give the enduser
access to this functionality.
%package -n python%{python3_pkgversion}-%{srcname}
Summary: %{summary}
%description -n python%{python3_pkgversion}-%{srcname} %_description
Currently, the library supports parsing rST that is in standalone files and
PEPs (Python Enhancement Proposals). Work is underway to parse rST from
Python inline documentation modules and packages.
This package contains the module, ported to run under python3.
%endif # with_python3
%prep
%auto setup -n %{srcname}-%{version}
%setup -q -n %{srcname}-%{version}
# Remove shebang from library files
sed -i -e '/#! *\/usr\/bin\/.*/{1D}' $(grep -Erl '^#!.+python' %{srcname})
for file in docutils/utils/{code_analyzer.py,punctuation_chars.py,error_reporting.py,smartquotes.py} docutils/utils/math/{latex2mathml.py,math2html.py} docutils/writers/xetex/__init__.py; do
sed -i -e '/#! *\/usr\/bin\/.*/{1D}' $file
done
iconv -f ISO88592 -t UTF8 tools/editors/emacs/IDEAS.rst > tmp
mv tmp tools/editors/emacs/IDEAS.rst
# We want the licenses but don't need this build file
rm -f licenses/docutils.conf
# https://bugzilla.redhat.com/show_bug.cgi?id=1687377
rm test/test_writers/test_odt.py
%if 0%{?with_python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
%endif
%build
%if %{with python2}
%py2_build
%endif # with python2
%if 0%{?with_python3}
pushd %{py3dir}
%py3_build
popd
%endif # with_python3
%install
%py3_install
%if %{with python2}
%py2_install
for file in %{buildroot}/%{_bindir}/*.py; do
mv $file `dirname $file`/`basename $file .py`-2
done
# We want the licenses but don't need this build file
rm -f licenses/docutils.conf
# Flash file is used for testing docutils but shouldn't be in the installed package.
mv docs/user/rst/images/biohazard.swf ./biohazard.swf
%endif # with python2
# Must do the python3 install first because the scripts in /usr/bin are
# overwritten by setup.py install (and we want the python2 version to be the
# default for now).
%if 0%{?with_python3}
pushd %{py3dir}
%py3_install
# docutils setup.py runs 2to3 on a copy of the tests and puts it in sitelib.
rm -rf %{buildroot}%{python3_sitelib}/test
for file in %{buildroot}/%{_bindir}/*.py; do
mv $file `dirname $file`/`basename $file .py`
mv $file `dirname $file`/`basename $file .py`
done
# Flash file is used for testing docutils but shouldn't be in the installed package.
mv docs/user/rst/images/biohazard.swf ./biohazard.swf
popd
%endif # with_python3
%check
%if %{with python2}
mv biohazard.swf docs/user/rst/images/biohazard.swf
%{python3} test/alltests.py
%{__python2 } test/alltests.py
rm docs/user/rst/images/biohazard.swf
%endif # with python2
%if 0%{?with_python3}
pushd %{py3dir}
mv biohazard.swf docs/user/rst/images/biohazard.swf
%{__python3} test3/alltests.py
rm docs/user/rst/images/biohazard.swf
popd
%endif
%files -n python%{python3_pkgversion}-%{srcname}
%if %{with python2}
%files -n python2-%{srcname}
%license COPYING.txt licenses/*
%doc BUGS.txt FAQ.txt HISTORY.txt README.txt RELEASE-NOTES.txt
%doc BUGS.txt COPYING.txt FAQ.txt HISTORY.txt README.txt RELEASE-NOTES.txt
%doc THANKS.txt docs tools/editors
%{python3_sitelib}/%{srcname}/
%{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info/
%{_bindir}/rst*
%{_bindir}/*-2
%{python2_sitelib}/*
%endif # with python2
%if 0%{?with_python3}
%files -n python3-%{srcname}
%license COPYING.txt licenses/*
%doc BUGS.txt FAQ.txt HISTORY.txt README.txt RELEASE-NOTES.txt
%doc THANKS.txt docs tools/editors
%{_bindir}/*[!'-2']
%{python3_sitelib}/*
%endif
%changelog
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 0.16-6
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 0.16-5
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.16-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jul 26 2023 MSVSphere Packaging Team <packager@msvsphere.ru> - 0.14-7
- Rebuilt for MSVSphere 8.8
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.16-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sun Jul 22 2018 Charalampos Stratakis <cstratak@redhat.com> - 0.14-7
- Conditionalize the python2 subpackage
* Fri May 22 2020 Miro Hrončok <mhroncok@redhat.com> - 0.16-2
- Rebuilt for Python 3.9
* Tue Jul 10 2018 Charalampos Stratakis <cstratak@redhat.com> - 0.14-6
- Change the binaries to python3 as default
* Mon Apr 06 2020 siddharthvipul <siddharthvipul1@gmail.com> - 0.16-1
- Update to 0.16
* Mon Jun 25 2018 Petr Viktorin <pviktori@redhat.com> - 0.14-5
- Fix specfile typos and oversights
- Fix python3-setuptools dependency
- Export RHEL workaround variables
- Use {__python2} as RPM macro, not shell variable
* Sat Apr 04 2020 siddharthvipul <siddharthvipul1@gmail.com> - 0.15.2-5
- Remove python2 subpackage
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 0.15.2-3
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Thu Aug 15 2019 Miro Hrončok <mhroncok@redhat.com> - 0.15.2-2
- Rebuilt for Python 3.8
* Fri Aug 02 2019 Kevin Fenzi <kevin@scrye.com> - 0.15.2-1
- Update to 0.15.2
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.14-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.14-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Jul 12 2018 Miro Hrončok <mhroncok@redhat.com> - 0.14-5
- Only ship one version of the rst2* executables
- Invoke python2 with python2 in %%check
* Thu Jun 14 2018 Miro Hrončok <mhroncok@redhat.com> - 0.14-4
- Rebuilt for Python 3.7
* Mon Jun 25 2018 Petr Viktorin <pviktori@redhat.com> - 0.14-4
- Allow Python 2 for build
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.14-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
@ -322,16 +397,16 @@ rm docs/user/rst/images/biohazard.swf
- Bump for FC6 rebuild.
- Remove python byte compilation as this is handled automatically in FC4+.
- No longer %%ghost .pyo files.
* Thu Feb 16 2006 Toshio Kuratomi <toshio-tiki-lounge.com> 0.4-2
- Bump and rebuild for FC5.
* Sun Jan 15 2006 Toshio Kuratomi <toshio-tiki-lounge.com> 0.4-1
- Update to 0.4.
- Scripted the listing of files in the python module.
- Add a missingok requirement on python-imaging as docutils can make use of
it when converting to formats that have images.
* Tue Jun 7 2005 Toshio Kuratomi <toshio-tiki-lounge.com> 0.3.9-1
- Update to version 0.3.9.
- Use a dist tag as there aren't any differences between supported fc
@ -362,7 +437,7 @@ rm docs/user/rst/images/biohazard.swf
from another package.... Lesser of two evils here.
- Provide python-docutils in case that package were preinstalled from
another repository.
* Fri Dec 31 2004 Toshio Kuratomi <toshio.tiki-lounge.com> 0:0.3.7-0.fdr.1
- Update to 0.3.7
- Rename from python-docutils to docutils.
@ -370,7 +445,7 @@ rm docs/user/rst/images/biohazard.swf
included. In FC3, this won't.
- BuildConflict with self since the docutils build detects the presence
of roman.py and doesn't reinstall itself.
* Mon Aug 9 2004 Toshio Kuratomi <toshio.tiki-lounge.com> 0:0.3.5-0.fdr.1
- Update to 0.3.5.
- Update spec style to latest fedora-rpmdevtools.