@ -1,50 +1,21 @@
%if 0%{?fedora} || 0%{?rhel} > 7
%bcond_without python3
%endif
%bcond_with python36_module
# python2X and python3X are built form the same module, so we need a conditional for python2 bits
# the state of the conditional is not important in the spec, it is set in modulemd
%bcond_with python2
%global srcname docutils
Name: python-%{srcname}
Version: 0.14
Release: 12 %{?dist}
Version: 0.16
Release: 6%{?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: 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
Source0: https://sourceforge.net/projects/%{srcname}/files/%{srcname}/%{version}/%{srcname}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-setuptools
%if %{with python2}
BuildRequires: python2-devel
BuildRequires: python2-setuptools
%endif
%if %{with python3}
%if %{with python36_module}
BuildRequires: python36-devel
BuildRequires: python36-rpm-macros
%else
BuildRequires: python3-devel
%endif
%endif
%description
%global _description %{expand:
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
@ -53,91 +24,40 @@ 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.
%if %{with python2}
%package -n python2-%{srcname}
Summary: System for processing plaintext documentation for python2
%{?python_provide:%python_provide python2-%{srcname}}
Obsoletes: docutils < %{version}-%{release}
Python inline documentation modules and packages.}
%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
as HTML, XML, and TeX as well as commandline tools that give the enduser
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.
%endif
%description %_description
%if %{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}
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.
%description -n python%{python3_pkgversion}-%{srcname} %_description
This package contains the module, ported to run under python3.
%endif # with python3
%prep
%setup -q -n %{srcname}-%{version}
%autosetup -n %{srcname}-%{version}
# Remove shebang from library files
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
sed -i -e '/#! *\/usr\/bin\/.*/{1D}' $(grep -Erl '^#!.+python' %{srcname})
iconv -f ISO88592 -t UTF8 tools/editors/emacs/IDEAS.rst > tmp
mv tmp tools/editors/emacs/IDEAS.rst
%if %{with python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
%endif
# 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
%build
%{?with_python2:%py2_build}
%if %{with python3}
pushd %{py3dir}
%build
%py3_build
popd
%endif # with python3
%install
%if %{with python2}
%py2_install
# We only want to ship the Python 3 executables, delete these
rm -f %{buildroot}/%{_bindir}/*.py
%endif
# 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
%if %{with python3}
pushd %{py3dir}
%py3_install
mv docs/user/rst/images/biohazard.swf ./biohazard.swf
# docutils setup.py runs 2to3 on a copy of the tests and puts it in sitelib.
rm -rf %{buildroot}%{python3_sitelib}/test
@ -146,73 +66,69 @@ for file in %{buildroot}/%{_bindir}/*.py; do
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
mv biohazard.swf docs/user/rst/images/biohazard.swf
%{?with_python2:%{__python2} test/alltests.py}
%{python3} test/alltests.py
rm docs/user/rst/images/biohazard.swf
%if %{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
%if %{with python2}
%files -n python2-%{srcname}
%license COPYING.txt licenses/*
%doc BUGS.txt COPYING.txt FAQ.txt HISTORY.txt README.txt RELEASE-NOTES.txt
%doc THANKS.txt docs tools/editors
%{python2_sitelib}/*
%endif
%if %{with python3}
%files -n python3-%{srcname}
%files -n python%{python3_pkgversion}-%{srcname}
%license COPYING.txt licenses/*
%doc BUGS.txt FAQ.txt HISTORY.txt README.txt RELEASE-NOTES.txt
%doc THANKS.txt docs tools/editors
%{_bindir}/*
%{python3_sitelib}/*
%endif
%{python3_sitelib}/%{srcname}/
%{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info/
%{_bindir}/rst*
%changelog
* Thu Apr 25 2019 Tomas Orsava <torsava@redhat.com> - 0.14-12
- Bumping due to problems with modular RPM upgrade path
- Resolves: rhbz#1695587
* 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 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.16-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri May 22 2020 Miro Hrončok <mhroncok@redhat.com> - 0.16-2
- Rebuilt for Python 3.9
* Mon Apr 06 2020 siddharthvipul <siddharthvipul1@gmail.com> - 0.16-1
- Update to 0.16
* Sat Apr 04 2020 siddharthvipul <siddharthvipul1@gmail.com> - 0.15.2-5
- Remove python2 subpackage
* Tue Dec 11 2018 Tomas Orsava <torsava@redhat.com> - 0.14-11
- Remove python2 executables - they are functionally identical to the python3
executables, so we're only going to ship them in the python3 subpackage
- Resolves: rhbz#1656477
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Oct 09 2018 Lumír Balhar <lbalhar@redhat.com> - 0.14-10
- Remove unversioned provides
- Resolves: rhbz#1628242
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 0.15.2-3
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Thu Aug 02 2018 Charalampos Stratakis <cstratak@redhat.com> - 0.14-9
- Change the binaries to python3 as default
* Thu Aug 15 2019 Miro Hrončok <mhroncok@redhat.com> - 0.15.2-2
- Rebuilt for Python 3.8
* Tue Jul 31 2018 Lumír Balhar <lbalhar@redhat.com> - 0.14-8
- Switch python3 coditions to bcond
* Fri Aug 02 2019 Kevin Fenzi <kevin@scrye.com> - 0.15.2-1
- Update to 0.15.2
* Wed Jul 18 2018 Tomas Orsava <torsava@redhat.com> - 0.14-7
- BuildRequire also python36-rpm-macros as part of the python36 module build
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org > - 0.14-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Re build
* Wed Jul 04 2018 Miro Hrončok <mhroncok@redhat.com > - 0.14-6
- Add a bcond for python2
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org > - 0.14-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jun 25 2018 Tomas Orsava <torsava@redhat.com> - 0.14-5
- Fix the invocation of Python
* 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
* Mon Apr 30 2018 Tomas Orsava <torsava @redhat.com> - 0.14-4
- Require the python36-devel package when building for the python36 module
* Thu Jun 14 2018 Miro Hrončok <mhroncok @redhat.com> - 0.14-4
- Rebuilt for Python 3.7
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.14-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild