201 lines
5.4 KiB
RPMSpec
201 lines
5.4 KiB
RPMSpec
Name: python-psycopg2
|
|
Version: 2.7.5
|
|
Release: 3.2
|
|
Summary: PostgreSQL database adapter for the Python programming language
|
|
License: LGPLv3+ with exceptions
|
|
URL: http://www.psycopg.org/psycopg/
|
|
Source0: http://www.psycopg.org/psycopg/tarballs/PSYCOPG-2-7/psycopg2-%{version}.tar.gz
|
|
|
|
%bcond_without python2
|
|
%bcond_without python3
|
|
%bcond_without check
|
|
|
|
%global desc Psycopg is the most popular PostgreSQL adapter for the Python \
|
|
programming language. Its core is a complete implementation of the Python DB \
|
|
API 2.0 specifications. Several extensions allow access to many of the \
|
|
features offered by PostgreSQL.
|
|
|
|
%global python_runtimes %{?with_python2:python2 python2-debug} \\\
|
|
%{?with_python3:python3 python3-debug}
|
|
|
|
%{!?with_python2:%{!?with_python3:%{error:one python version eneeded}}}
|
|
|
|
BuildRequires: gcc,pkgconfig(libpq)
|
|
|
|
%{?with_python2:BuildRequires: python2-debug python2-devel}
|
|
%{?with_python3:BuildRequires: python3-debug python3-devel}
|
|
|
|
%if %{with check}
|
|
BuildRequires: postgresql-test-rpm-macros
|
|
%endif
|
|
|
|
%description
|
|
%{desc}
|
|
|
|
|
|
%package -n python2-psycopg2
|
|
%{?python_provide:%python_provide python2-psycopg2}
|
|
Summary: %{summary}
|
|
|
|
%description -n python2-psycopg2
|
|
%{desc}
|
|
|
|
|
|
%package -n python2-psycopg2-tests
|
|
Summary: A testsuite for %{summary}
|
|
Requires: python2-psycopg2 = %version-%release
|
|
|
|
%description -n python2-psycopg2-tests
|
|
%desc
|
|
This sub-package delivers set of tests for the adapter.
|
|
|
|
|
|
%package -n python2-psycopg2-debug
|
|
Summary: A PostgreSQL database adapter for Python 2 (debug build)
|
|
# Require the base package, as we're sharing .py/.pyc files:
|
|
Requires: %{name} = %{version}-%{release}
|
|
%{?python_provide:%python_provide python2-psycopg2-debug}
|
|
|
|
%description -n python2-psycopg2-debug
|
|
This is a build of the psycopg PostgreSQL database adapter for the debug
|
|
build of Python 2.
|
|
|
|
%if %{with python3}
|
|
%package -n python3-psycopg2
|
|
Summary: %{summary}
|
|
%{?python_provide:%python_provide python3-psycopg2}
|
|
|
|
%description -n python3-psycopg2
|
|
%{desc}
|
|
|
|
|
|
%package -n python3-psycopg2-tests
|
|
Summary: A testsuite for %{summary}
|
|
Requires: python3-psycopg2 = %version-%release
|
|
|
|
%description -n python3-psycopg2-tests
|
|
%desc
|
|
This sub-package delivers set of tests for the adapter.
|
|
|
|
%package -n python3-psycopg2-debug
|
|
Summary: A PostgreSQL database adapter for Python 3 (debug build)
|
|
# Require base python 3 package, as we're sharing .py/.pyc files:
|
|
Requires: python3-psycopg2 = %{version}-%{release}
|
|
|
|
%description -n python3-psycopg2-debug
|
|
This is a build of the psycopg PostgreSQL database adapter for the debug
|
|
build of Python 3.
|
|
%endif # python3
|
|
|
|
|
|
%package doc
|
|
Summary: Documentation for psycopg python PostgreSQL database adapter
|
|
Group: Documentation
|
|
Requires: %{name} = %{version}-%{release}
|
|
%{?with_python2:Provides: python2-psycopg2-doc = %{version}-%{release}}
|
|
%{?with_python3:Provides: python3-psycopg2-doc = %{version}-%{release}}
|
|
|
|
%description doc
|
|
Documentation and example files for the psycopg python PostgreSQL
|
|
database adapter.
|
|
|
|
%prep
|
|
%autosetup -p1 -n psycopg2-%{version}
|
|
|
|
|
|
%build
|
|
for python in %{python_runtimes} ; do
|
|
$python setup.py build
|
|
done
|
|
|
|
# Fix for wrong-file-end-of-line-encoding problem; upstream also must fix this.
|
|
for i in `find doc -iname "*.html"`; do sed -i 's/\r//' $i; done
|
|
for i in `find doc -iname "*.css"`; do sed -i 's/\r//' $i; done
|
|
|
|
# Get rid of a "hidden" file that rpmlint complains about
|
|
rm -f doc/html/.buildinfo
|
|
|
|
%check
|
|
%if %{with check}
|
|
export PGTESTS_LOCALE=C.UTF-8
|
|
%postgresql_tests_run
|
|
|
|
export PSYCOPG2_TESTDB=${PGTESTS_DATABASES##*:}
|
|
export PSYCOPG2_TESTDB_HOST=$PGHOST
|
|
export PSYCOPG2_TESTDB_PORT=$PGPORT
|
|
|
|
cmd="from psycopg2 import tests; tests.unittest.main(defaultTest='tests.test_suite')"
|
|
|
|
%if %{with python2}
|
|
PYTHONPATH=%buildroot%python2_sitearch %__python2 -c "$cmd" --verbose
|
|
%endif
|
|
|
|
%if %{with python3}
|
|
PYTHONPATH=%buildroot%python3_sitearch %__python3 -c "$cmd" --verbose
|
|
%endif
|
|
%endif # check
|
|
|
|
|
|
%install
|
|
for python in %{python_runtimes} ; do
|
|
$python setup.py install --no-compile --root %{buildroot}
|
|
done
|
|
|
|
# This test is skipped on 3.7 and has a syntax error so brp-python-bytecompile would choke on it
|
|
%{?with_python3:rm -r %{buildroot}%{python3_sitearch}/psycopg2/tests/test_async_keyword.py}
|
|
|
|
%if %{with python2}
|
|
%files -n python2-psycopg2
|
|
%license LICENSE
|
|
%doc AUTHORS NEWS README.rst
|
|
%dir %{python2_sitearch}/psycopg2
|
|
%{python2_sitearch}/psycopg2/*.py
|
|
%{python2_sitearch}/psycopg2/*.pyc
|
|
%{python2_sitearch}/psycopg2/_psycopg.so
|
|
%{python2_sitearch}/psycopg2/*.pyo
|
|
%{python2_sitearch}/psycopg2-%{version}-py2*.egg-info
|
|
|
|
|
|
%files -n python2-psycopg2-tests
|
|
%{python2_sitearch}/psycopg2/tests
|
|
|
|
|
|
%files -n python2-psycopg2-debug
|
|
%license LICENSE
|
|
%{python2_sitearch}/psycopg2/_psycopg_d.so
|
|
%endif # python2
|
|
|
|
|
|
%if %{with python3}
|
|
%files -n python3-psycopg2
|
|
%license LICENSE
|
|
%doc AUTHORS NEWS README.rst
|
|
%dir %{python3_sitearch}/psycopg2
|
|
%{python3_sitearch}/psycopg2/*.py
|
|
%{python3_sitearch}/psycopg2/_psycopg.cpython-3?m*.so
|
|
%dir %{python3_sitearch}/psycopg2/__pycache__
|
|
%{python3_sitearch}/psycopg2/__pycache__/*.py{c,o}
|
|
%{python3_sitearch}/psycopg2-%{version}-py3*.egg-info
|
|
|
|
|
|
%files -n python3-psycopg2-tests
|
|
%{python3_sitearch}/psycopg2/tests
|
|
|
|
|
|
%files -n python3-psycopg2-debug
|
|
%license LICENSE
|
|
%{python3_sitearch}/psycopg2/_psycopg.cpython-3?dm*.so
|
|
%endif # python3
|
|
|
|
|
|
%files doc
|
|
%license LICENSE
|
|
%doc doc examples/
|
|
|
|
%changelog
|
|
* Tue Mar 10 2020 chenli <chenli147@huawei.com> - 2.7.5-3.2
|
|
- Fix python2-psycopg2-tests install error
|
|
|
|
* Wed Feb 12 2020 openEuler Buildteam <buildteam@openeuler.org> - 2.7.5-3.1
|
|
- Package init
|