@ -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
%global srcname docutils
Name: python-%{srcname}
Name: python-%{srcname}
Version: 0.16
Version: 0.14
Release: 6%{?dist}
Release: 7 %{?dist}
Summary: System for processing plaintext documentation
Summary: System for processing plaintext documentation
Group: Development/Languages
# See COPYING.txt for information
# See COPYING.txt for information
License: Public Domain and BSD and Python and GPLv3+
License: Public Domain and BSD and Python and GPLv3+
URL: http://docutils.sourceforge.net
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
%if %{with python2}
BuildRequires: python%{python3_pkgversion}-setuptools
%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,
The Docutils project specifies a plaintext markup language, reStructuredText,
which is easy to read and quick to write. The project includes a python
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
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
Currently, the library supports parsing rST that is in standalone files and
PEPs (Python Enhancement Proposals). Work is underway to parse rST from
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
%package -n python%{python3_pkgversion}-%{srcname}
%description -n python3-%{srcname}
Summary: %{summary}
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.
%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
%prep
%auto setup -n %{srcname}-%{version}
%setup -q -n %{srcname}-%{version}
# Remove shebang from library files
# 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
iconv -f ISO88592 -t UTF8 tools/editors/emacs/IDEAS.rst > tmp
mv tmp tools/editors/emacs/IDEAS.rst
mv tmp tools/editors/emacs/IDEAS.rst
# We want the licenses but don't need this build file
%if 0%{?with_python3}
rm -f licenses/docutils.conf
rm -rf %{py3dir}
cp -a . %{py3dir}
# https://bugzilla.redhat.com/show_bug.cgi?id=1687377
%endif
rm test/test_writers/test_odt.py
%build
%build
%if %{with python2}
%py2_build
%endif # with python2
%if 0%{?with_python3}
pushd %{py3dir}
%py3_build
%py3_build
popd
%endif # with_python3
%install
%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
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.
# docutils setup.py runs 2to3 on a copy of the tests and puts it in sitelib.
rm -rf %{buildroot}%{python3_sitelib}/test
rm -rf %{buildroot}%{python3_sitelib}/test
for file in %{buildroot}/%{_bindir}/*.py; do
for file in %{buildroot}/%{_bindir}/*.py; do
mv $file `dirname $file`/`basename $file .py`
mv $file `dirname $file`/`basename $file .py`
done
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
%check
%if %{with python2}
mv biohazard.swf docs/user/rst/images/biohazard.swf
mv biohazard.swf docs/user/rst/images/biohazard.swf
%{python3} test/alltests.py
%{__python2 } test/alltests.py
rm docs/user/rst/images/biohazard.swf
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/*
%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
%doc THANKS.txt docs tools/editors
%{python3_sitelib}/%{srcname}/
%{_bindir}/*-2
%{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info/
%{python2_sitelib}/*
%{_bindir}/rst*
%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
%changelog
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 0.16-6
* Wed Jul 26 2023 MSVSphere Packaging Team <packager@msvsphere.ru> - 0.14-7
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
- Rebuilt for MSVSphere 8.8
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
* 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
* Sun Jul 22 2018 Charalampos Stratakis <cstratak@redhat.com> - 0.14-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
- Conditionalize the python2 subpackage
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org > - 0.14-6
* Tue Jul 10 2018 Charalampos Stratakis <cstratak@redhat.com> - 0.14-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
- Change the binaries to python3 as default
* Thu Jul 12 2018 Miro Hrončok <mhroncok@redhat.com> - 0.14-5
* Mon Jun 25 2018 Petr Viktorin <pviktori@redhat.com> - 0.14-5
- Only ship one version of the rst2* executables
- Fix specfile typos and oversights
- Invoke python2 with python2 in %%check
- Fix python3-setuptools dependency
- Export RHEL workaround variables
- Use {__python2} as RPM macro, not shell variable
* Thu Jun 14 2018 Miro Hrončok <mhroncok@redhat.com> - 0.14-4
* Mon Jun 25 2018 Petr Viktorin <pviktori@redhat.com> - 0.14-4
- Rebuilt for Python 3.7
- Allow Python 2 for build
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.14-3
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.14-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild