%if 0%{?rhel} && 0%{?rhel} <= 6 %{!?__python2: %global __python2 /usr/bin/python2} %{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} %{!?python2_sitearch: %global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} %endif %if 0%{?fedora} # Move this out of the conditional to really support python34 on epel7. %global with_python3 1 %{!?python3_pkgversion: %global python3_pkgversion 3} %else %{!?python3_pkgversion: %global python3_pkgversion 34} %endif Name: python-kitchen Version: 1.2.4 Release: 3%{?dist} Summary: Small, useful pieces of code to make python coding easier Group: Development/Languages License: LGPLv2+ URL: https://pypi.python.org/pypi/kitchen/ Source0: https://pypi.python.org/packages/source/k/kitchen/kitchen-%{version}.tar.gz # https://github.com/fedora-infra/kitchen/commit/6c2ec664d05e8b9e8b8d9ef18b71eeec45af3049 Patch0: python-kitchen-codepoints-table.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch BuildRequires: python2-devel BuildRequires: python-nose # For the subprocess test BuildRequires: python-test %if 0%{?fedora} || 0%{?rhel} >= 6 # sphinx needs to be more recent to build the html docs BuildRequires: python-sphinx %endif %if 0%{?fedora} || 0%{?rhel} > 6 # At present, chardet isn't present in epel but it's a soft dep BuildRequires: python-chardet Requires: python-chardet %endif %if 0%{?with_python3} BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-nose BuildRequires: python%{python3_pkgversion}-test BuildRequires: python%{python3_pkgversion}-chardet %if 0%{?fedora} BuildRequires: python%{python3_pkgversion}-sphinx %endif %endif %description kitchen includes functions to make gettext easier to use, handling unicode text easier (conversion with bytes, outputting xml, and calculating how many columns a string takes), and compatibility modules for writing code that uses python-2.7 modules but needs to run on python-2.3. %package doc Summary: API documentation for the Kitchen python2 module # Currently discussing guidelines about doc subpackages Requiring the main package: # https://lists.fedoraproject.org/pipermail/packaging/2013-June/009191.html #Requires: %{name} = %{version}-%{release} %description doc kitchen includes functions to make gettext easier to use, handling unicode text easier (conversion with bytes, outputting xml, and calculating how many columns a string takes), and compatibility modules for writing code that uses python-2.7 modules but needs to run on python-2.3. This package contains the API documenation for programming with the python-2 version of the kitchen library. %if 0%{?with_python3} %package -n python%{python3_pkgversion}-kitchen Summary: Small, useful pieces of code to make python 3 coding easier Group: Development/Languages Requires: python%{python3_pkgversion} Requires: python%{python3_pkgversion}-chardet %description -n python%{python3_pkgversion}-kitchen kitchen includes functions to make gettext easier to use, handling unicode text easier (conversion with bytes, outputting xml, and calculating how many columns a string takes). This is the python3 version of the kitchen module. %package -n python%{python3_pkgversion}-kitchen-doc Summary: API documentation for the Kitchen python3 module #Requires: %{name} = %{version}-%{release} %description -n python%{python3_pkgversion}-kitchen-doc kitchen includes functions to make gettext easier to use, handling unicode text easier (conversion with bytes, outputting xml, and calculating how many columns a string takes). This package contains the API documenation for programming with the python-3 version of the kitchen library. %endif %prep %setup -q -n kitchen-%{version} %patch0 -p1 # Remove bundled egg info, if any. rm -rf *.egg* %if 0%{?with_python3} rm -rf %{py3dir} cp -a . %{py3dir} %endif %build %{__python2} setup.py build %if 0%{?with_python3} pushd %{py3dir} %{__python3} setup.py build popd %endif # Build docs %if 0%{?fedora} || 0%{?rhel} >= 6 sphinx-build kitchen2/docs/ build/sphinx/html cp -pr build/sphinx/html . rm -rf html/.buildinfo %if 0%{?with_python3} && 0%{?fedora} pushd %{py3dir} sphinx-build-3 kitchen3/docs/ build/sphinx/html cp -pr build/sphinx/html . rm -rf html/.buildinfo popd %endif %endif %install rm -rf $RPM_BUILD_ROOT %{__python2} setup.py install --skip-build --root $RPM_BUILD_ROOT %if 0%{?with_python3} pushd %{py3dir} %{__python3} setup.py install --skip-build --root $RPM_BUILD_ROOT popd %endif %check # In current mock, the PATH isn't being reset. This causes failures in some # subprocess tests as a check tests /root/bin/PROGRAM and fails with Permission # Denied instead of File Not Found. reseting the PATH works around this. PATH=/bin:/usr/bin PYTHONPATH=.:kitchen2/ nosetests kitchen2/tests/ %if 0%{?with_python3} pushd %{py3dir} PYTHONPATH=.:kitchen3/ nosetests-%{python3_version} kitchen3/tests/ popd %endif %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc README.rst NEWS.rst COPYING COPYING.LESSER %{python2_sitelib}/* %files doc %doc COPYING COPYING.LESSER kitchen2/docs/* %if 0%{?fedora} || 0%{?rhel} >= 6 %doc html %endif %if 0%{?with_python3} %files -n python%{python3_pkgversion}-kitchen %defattr(-,root,root,-) %doc README.rst NEWS.rst COPYING COPYING.LESSER %{python3_sitelib}/* %files -n python%{python3_pkgversion}-kitchen-doc %doc COPYING COPYING.LESSER kitchen3/docs/* %if 0%{?fedora} %doc html %endif %endif %changelog * Tue Jul 19 2016 Fedora Release Engineering - 1.2.4-3 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages * Thu Feb 04 2016 Fedora Release Engineering - 1.2.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Fri Nov 13 2015 Ralph Bean - 1.2.4-1 - new version - Apply patch fixing the unicode codepoints table for py3.5. * Fri Nov 11 2015 Ralph Bean - 1.2.1-5 - Support python34 on EPEL7. * Tue Nov 10 2015 Fedora Release Engineering - 1.2.1-4 - Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 * Thu Jun 18 2015 Fedora Release Engineering - 1.2.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Tue Dec 02 2014 Ralph Bean - 1.2.1-2 - Include patch to get py34 tests working for rawhide. * Tue Dec 02 2014 Ralph Bean - 1.2.1-1 - Latest upstream, now with python3 support! - Added python3 subpackages. - Remove use of build_sphinx. - Rename README and NEWS with new .rst extension. - Modernized python2 macros. * Sat Jun 07 2014 Fedora Release Engineering - 1.1.1-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Sat May 31 2014 Peter Robinson 1.1.1-6 - Move the html docs to the docs package * Sun Aug 04 2013 Fedora Release Engineering - 1.1.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Tue Jun 25 2013 Toshio Kuratomi - 1.1.1-4 - Move the api documentation into its own subpackage * Thu Feb 14 2013 Fedora Release Engineering - 1.1.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Sat Jul 21 2012 Fedora Release Engineering - 1.1.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Tue Feb 14 2012 Toshio Kuratomi - 1.1.1-1 - Bugfix for using easy_gettext_setup or get_translation_object with the default localedirs * Thu Jan 12 2012 Toshio Kuratomi - 1.1.0-1 - Update to 1.1.0 final * Thu Apr 14 2011 Toshio Kuratomi - 1.0.0-1 - Upstream update to 1.0 final * Sun Feb 20 2011 Toshio Kuratomi - 0.2.4-1 - Upstream update 0.2.4 - Changes i18n.easy_gettext_setup() to return lgettext functions when byte strings are requested. * Tue Feb 08 2011 Fedora Release Engineering - 0.2.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Wed Jan 5 2011 Toshio Kuratomi - 0.2.3-2 - Upstream respin of the tarball * Wed Jan 5 2011 Toshio Kuratomi - 0.2.3-1 - Upstream update to 0.2.3 - Fixes https://bugzilla.redhat.com/show_bug.cgi?id=667433 * Mon Jan 3 2011 Toshio Kuratomi - 0.2.2-1 - Upstream update 0.2.2 - Adds exception to message functions - Build html docs * Thu Sep 2 2010 Toshio Kuratomi - 0.2.1-0.1.a1 - Update to upstream 0.2.1a1 release. - Fixes build on python-2.7, adds iterutils module, optimizes some functions, increases documentation * Thu Jul 29 2010 Dennis Gilmore - 0.2-0.1.a2 - propoerlly version accrding to pre-release guidelines - run tests - update to 0.2a2 - include COPYING.LESSER and docs dir * Thu Jul 29 2010 Dennis Gilmore - 0.2a1-2 - rename to python-kitchen * Thu Jul 29 2010 Dennis Gilmore - 0.2a1-1 - update to 0.2a1 * Thu Jul 15 2010 Dennis Gilmore - 0.1a3-3 - fix spelling mistake in description * Thu Jul 15 2010 Dennis Gilmore - 0.1a3-2 - add documentaion - fix description * Thu Jul 15 2010 Dennis Gilmore - 0.1a3-1 - initial package