Blob Blame History Raw
# Created by pyp2rpm-1.1.1
%global pypi_name testing.postgresql

%if 0%{?fedora}
%global with_python3 1
%else
# EL doesn't have Python 3
%global with_python3 0
%endif

%if 0%{?rhel} && 0%{?rhel} < 7
# EL 6 doesn't have this macro
%global __python2       %{__python}
%global python2_sitelib %{python_sitelib}
%endif

Name:           python-%{pypi_name}
Version:        1.1.0
Release:        2%{?dist}
Summary:        Automatically setup a PostgreSQL testing instance

License:        ASL 2.0
URL:            http://bitbucket.org/tk0miya/testing.postgresql
Source0:        https://pypi.python.org/packages/source/t/%{pypi_name}/%{pypi_name}-%{version}.tar.gz
BuildArch:      noarch

BuildRequires:  python-devel
BuildRequires:  python-nose
BuildRequires:  python-psycopg2
BuildRequires:  postgresql-server

%if 0%{?with_python3}
BuildRequires:  python3-devel
BuildRequires:  python3-nose
BuildRequires:  python3-psycopg2
%endif

Requires:       python-psycopg2
Requires:       postgresql-server

%description
testing.PostgreSQL automatically setups a PostgreSQL instance
in a temporary directory, and destroys it after testing.

%if 0%{?with_python3}
%package -n     python3-%{pypi_name}
Summary:        Automatically setup a PostgreSQL testing instance

Requires:       python3-psycopg2

%description -n python3-%{pypi_name}
testing.PostgreSQL automatically setups a PostgreSQL instance
in a temporary directory, and destroys it after testing.
%endif

%prep
%setup -q -n %{pypi_name}-%{version}
# Remove bundled egg-info
rm -rf %{pypi_name}.egg-info


%if 0%{?with_python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
find %{py3dir} -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python3}|'
%endif

find -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python2}|'

%build
%{__python2} setup.py build

%if 0%{?with_python3}
pushd %{py3dir}
%{__python3} setup.py build
popd
%endif


%install
# Must do the subpackages' install first because the scripts in /usr/bin are
# overwritten with every setup.py install (and we want the python2 version
# to be the default for now).
%if 0%{?with_python3}
pushd %{py3dir}
%{__python3} setup.py install --skip-build --root %{buildroot}
popd
%endif

%{__python2} setup.py install --skip-build --root %{buildroot}


%check
%{__python2} setup.py test

%if 0%{?with_python3}
pushd %{py3dir}
%{__python3} setup.py test
popd
%endif


%files
%doc README.rst LICENSE
%{python2_sitelib}/testing
%{python2_sitelib}/%{pypi_name}-%{version}-py?.?.egg-info

%if 0%{?with_python3}
%files -n python3-%{pypi_name}
%doc README.rst LICENSE
%{python3_sitelib}/testing
%{python3_sitelib}/%{pypi_name}-%{version}-py?.?.egg-info
%endif


%changelog
* Tue Jan 27 2015 Richard Marko <rmarko@fedoraproject.org> - 1.1.0-2
- Add with_python3 macros

* Thu Jan 08 2015 Richard Marko <rmarko@fedoraproject.org> - 1.1.0-1
- Initial package