Blob Blame History Raw
%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

%global with_python3 1

%if 0%{?fedora}
%{!?python3_pkgversion: %global python3_pkgversion 3}
%else
%{!?python3_pkgversion: %global python3_pkgversion 34}
%endif

Name:           python-kitchen
Version:        1.2.5
Release:        2%{?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://github.com/fedora-infra/kitchen/archive/v%{version}.tar.gz
BuildArch:      noarch

BuildRequires:  python2-devel
BuildRequires:  python-nose
# For the subprocess test
BuildRequires:  python-test

# sphinx needs to be more recent to build the html docs
%if 0%{?fedora}
BuildRequires: python2-sphinx
%else
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.

%package -n python2-kitchen
Summary:    Small, useful pieces of code to make python 2 coding easier
Group:      Development/Languages
%{?python_provide:%python_provide python2-kitchen}

%description -n python2-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 python2 version of the kitchen module.

%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
%{?python_provide:%python_provide python%{python3_pkgversion}-kitchen}

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
%autosetup -n kitchen-%{version}

# Remove bundled egg info, if any.
rm -rf *.egg*

%if 0%{?with_python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
%endif

%build
%{py2_build}

%if 0%{?with_python3}
pushd %{py3dir}
%{py3_build}
popd
%endif

# Build docs
%if 0%{?fedora}
sphinx-build-2 kitchen2/docs/ build/sphinx/html
cp -pr build/sphinx/html .
rm -rf html/.buildinfo
%else
sphinx-build kitchen2/docs/ build/sphinx/html
cp -pr build/sphinx/html .
rm -rf html/.buildinfo
%endif

%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

%install
%{py2_install}

%if 0%{?with_python3}
pushd %{py3dir}
%{py3_install}
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
%if 0%{?fedora}
PYTHONPATH=.:kitchen2/ nosetests-%{python2_version} kitchen2/tests/
%else
PYTHONPATH=.:kitchen2/ nosetests kitchen2/tests/
%endif

%if 0%{?with_python3}
pushd %{py3dir}
PYTHONPATH=.:kitchen3/ nosetests-%{python3_version} kitchen3/tests/
popd
%endif

%files -n python2-kitchen
%doc README.rst NEWS.rst
%license COPYING COPYING.LESSER
%{python2_sitelib}/kitchen*

%files doc
%doc kitchen2/docs/*
%license COPYING COPYING.LESSER
%if 0%{?fedora} || 0%{?rhel} >= 6
%doc html
%endif

%if 0%{?with_python3}
%files -n python%{python3_pkgversion}-kitchen
%doc README.rst NEWS.rst
%license COPYING COPYING.LESSER
%{python3_sitelib}/kitchen*

%files -n python%{python3_pkgversion}-kitchen-doc
%doc kitchen3/docs/*
%license COPYING COPYING.LESSER
%if 0%{?fedora}
%doc html
%endif
%endif

%changelog
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Sun Dec 17 2017 Kevin Fenzi <kevin@scrye.com> - 1.2.5-1
- Update to 1.2.5. Fixes bug #1484856

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.4-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Mon Dec 19 2016 Miro HronĨok <mhroncok@redhat.com> - 1.2.4-5
- Rebuild for Python 3.6
- Add docs back as a separate source (to fix build with recent sphinx)
- Update codepoints patch for latest Python and unicode data

* Mon Sep 12 2016 Ralph Bean <rbean@redhat.com> - 1.2.4-4
- Explicit python2 subpackage.
- Support python34 on epel7.
- Modernize python macros.

* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.4-3
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Fri Nov 13 2015 Ralph Bean <rbean@redhat.com> - 1.2.4-1
- new version
- Apply patch fixing the unicode codepoints table for py3.5.

* Wed Nov 11 2015 Ralph Bean <rbean@redhat.com> - 1.2.1-5
- Support python34 on EPEL7.

* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.1-4
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5

* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Tue Dec 02 2014 Ralph Bean <rbean@redhat.com> - 1.2.1-2
- Include patch to get py34 tests working for rawhide.

* Tue Dec 02 2014 Ralph Bean <rbean@redhat.com> - 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 <rel-eng@lists.fedoraproject.org> - 1.1.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Sat May 31 2014 Peter Robinson <pbrobinson@fedoraproject.org> 1.1.1-6
- Move the html docs to the docs package

* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Tue Jun 25 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 1.1.1-4
- Move the api documentation into its own subpackage

* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Tue Feb 14 2012 Toshio Kuratomi <toshio@fedoraproject.org> - 1.1.1-1
- Bugfix for using easy_gettext_setup or get_translation_object with the
  default localedirs

* Thu Jan 12 2012 Toshio Kuratomi <toshio@fedoraproject.org> - 1.1.0-1
- Update to 1.1.0 final

* Thu Apr 14 2011 Toshio Kuratomi <toshio@fedoraproject.org> - 1.0.0-1
- Upstream update to 1.0 final

* Sun Feb 20 2011 Toshio Kuratomi <toshio@fedoraproject.org> - 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 <rel-eng@lists.fedoraproject.org> - 0.2.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Wed Jan 5 2011 Toshio Kuratomi <toshio@fedoraproject.org> - 0.2.3-2
- Upstream respin of the tarball

* Wed Jan 5 2011 Toshio Kuratomi <toshio@fedoraproject.org> - 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 <toshio@fedoraproject.org> - 0.2.2-1
- Upstream update 0.2.2
  - Adds exception to message functions
- Build html docs

* Thu Sep 2 2010 Toshio Kuratomi <toshio@fedoraproject.org> - 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 <dennis@ausil.us> - 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 <dennis@ausil.us> - 0.2a1-2
- rename to python-kitchen

* Thu Jul 29 2010 Dennis Gilmore <dennis@ausil.us> - 0.2a1-1
- update to 0.2a1

* Thu Jul 15 2010 Dennis Gilmore <dennis@ausil.us> - 0.1a3-3
- fix spelling mistake in description

* Thu Jul 15 2010 Dennis Gilmore <dennis@ausil.us> - 0.1a3-2
- add documentaion
- fix description

* Thu Jul 15 2010 Dennis Gilmore <dennis@ausil.us> - 0.1a3-1
- initial package