X-Git-Url: http://git.pld-linux.org/?p=packages%2Fpython-mysql-connector.git;a=blobdiff_plain;f=python-mysql-connector.spec;h=4200bf05a5f32046147f9497e8941d703b599e53;hp=9d9b65163ddb2eac3bb78f0e0218cdeaefec4d7e;hb=b369dad5673ed6746587ee6d9876ad1f5e53b583;hpb=183cae2da59c4eebbc1d9ff9caed6fab79f8fee6 diff --git a/python-mysql-connector.spec b/python-mysql-connector.spec index 9d9b651..4200bf0 100644 --- a/python-mysql-connector.spec +++ b/python-mysql-connector.spec @@ -1,36 +1,62 @@ +# TODO: +# - c extension build is done in install phase (http://bugs.mysql.com/bug.php?id=78621) # # Conditional build: -%bcond_with tests # build with tests (requires mysql server) +%bcond_with tests # build with tests (requires mysql server) +%bcond_without python2 # build without python2 %bcond_without python3 # build without python3 %define pname mysql-connector Summary: The MySQL Client/Protocol implemented in Python +Summary(pl.UTF-8): Protokół kliencki MySQL zaimplementowany w Pythonie Name: python-%{pname} # check documentation to see which version is GA (we don't want devel releases) -Version: 1.1.7 +# https://dev.mysql.com/downloads/connector/python/ +Version: 8.0.19 Release: 1 License: GPL v2 Group: Libraries/Python Source0: http://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-%{version}.zip -# Source0-md5: f5bf75bb9551e523dc6db369b236c6a3 -# drop after python connector >= 1.2.1 -Patch0: %{name}-ssl.patch +# Source0-md5: 451d6604efa9dcab56d2658e7167898e +Patch0: 32bit.patch +Patch1: tests.patch +Patch2: build.patch URL: http://dev.mysql.com/doc/connector-python/en/ +BuildRequires: mysql-devel +BuildRequires: protobuf-devel +%if %{with python2} +BuildRequires: python-devel BuildRequires: python-modules -%{?with_python3:BuildRequires: python3-modules} +BuildRequires: python-setuptools +%endif +%if %{with python3} +BuildRequires: python3-devel +BuildRequires: python3-modules +BuildRequires: python3-setuptools +%endif BuildRequires: rpm-pythonprov +BuildRequires: rpmbuild(macros) >= 1.714 +%if %{with tests} +BuildRequires: mysql +%endif Requires: python-modules -BuildArch: noarch BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description MySQL Connector/Python is implementing the MySQL Client/Server protocol completely in Python. No MySQL libraries are needed, and no compilation is necessary to run this Python DB API v2.0 compliant -driver. An interface to the popular MySQL database server for Python. +driver. + +%description -l pl.UTF-8 +MySQL Connector/Python to protokół klient-serwer MySQL-a +zaimplementowany całkowicie w Pythonie. Do uruchomienia tego +sterownika, zgodnego z DB API v2.0 Pythona, nie są potrzebne +biblioteki MySQL-a, ani żadna kompilacja. %package -n python3-%{pname} Summary: The MySQL Client/Protocol implemented in Python +Summary(pl.UTF-8): Protokół kliencki MySQL zaimplementowany w Pythonie Group: Development/Languages/Python Requires: python3-modules @@ -38,82 +64,141 @@ Requires: python3-modules MySQL Connector/Python is implementing the MySQL Client/Server protocol completely in Python. No MySQL libraries are needed, and no compilation is necessary to run this Python DB API v2.0 compliant -driver. An interface to the popular MySQL database server for Python. +driver. + +%description -n python3-%{pname} -l pl.UTF-8 +MySQL Connector/Python to protokół klient-serwer MySQL-a +zaimplementowany całkowicie w Pythonie. Do uruchomienia tego +sterownika, zgodnego z DB API v2.0 Pythona, nie są potrzebne +biblioteki MySQL-a, ani żadna kompilacja. %prep %setup -q -n mysql-connector-python-%{version} %patch0 -p1 +%patch1 -p1 +%patch2 -p1 %build -%{__python} setup.py build -%{?with_tests:%{__python} setup.py test} +export MYSQLXPB_PROTOC=%{_bindir}/protoc +export MYSQLXPB_PROTOBUF_INCLUDE_DIR=%{_includedir} +export MYSQLXPB_PROTOBUF_LIB_DIR=%{_libdir} + +%if %{with python2} +%py_build +%if %{with tests} +export PYTHONPATH="$(pwd)/$(echo build-2/lib*)" +%{__python} unittests.py \ + --verbosity 1 \ + --keep --stats \ + --skip-install \ + --with-mysql=%{_prefix} \ + --with-mysql-share=%{_datadir}/mysql +%endif +%endif %if %{with python3} -%{__python3} setup.py build -b build-3 -%{?with_tests:%{__python3} setup.py test} +%py3_build +%if %{with tests} +export PYTHONPATH="$(pwd)/$(echo build-3/lib*)" +%{__python3} unittests.py \ + --verbosity 1 \ + --keep --stats \ + --skip-install \ + --with-mysql=%{_prefix} \ + --with-mysql-share=%{_datadir}/mysql +%endif %endif %install rm -rf $RPM_BUILD_ROOT -%{__python} -- setup.py \ - install \ - --root=$RPM_BUILD_ROOT \ - --optimize=2 +# see NOTE on beginning of the spec +export MYSQLXPB_PROTOC=%{_bindir}/protoc +export MYSQLXPB_PROTOBUF_INCLUDE_DIR=%{_includedir} +export MYSQLXPB_PROTOBUF_LIB_DIR=%{_libdir} +%if %{with python2} +%py_install \ + --with-mysql-capi=%{_prefix} %py_postclean +%endif %if %{with python3} -%{__python3} -- setup.py \ - build -b build-3 \ - install \ - --root=$RPM_BUILD_ROOT \ - --optimize=2 +%py3_install \ + --with-mysql-capi=%{_prefix} %endif %clean rm -rf $RPM_BUILD_ROOT +%if %{with python2} %files %defattr(644,root,root,755) -%doc ChangeLog README -%dir %{py_sitescriptdir}/mysql -%{py_sitescriptdir}/mysql/*.py[co] -%dir %{py_sitescriptdir}/mysql/connector -%{py_sitescriptdir}/mysql/connector/*.py[co] -%dir %{py_sitescriptdir}/mysql/connector/django -%{py_sitescriptdir}/mysql/connector/django/*.py[co] -%dir %{py_sitescriptdir}/mysql/connector/locales -%{py_sitescriptdir}/mysql/connector/locales/*.py[co] -%dir %{py_sitescriptdir}/mysql/connector/locales/eng -%{py_sitescriptdir}/mysql/connector/locales/eng/*.py[co] +%doc CHANGES.txt README.txt +%attr(755,root,root) %{py_sitedir}/_mysql_connector.so +%dir %{py_sitedir}/mysql +%{py_sitedir}/mysql/*.py[co] +%dir %{py_sitedir}/mysql/connector +%{py_sitedir}/mysql/connector/*.py[co] +%dir %{py_sitedir}/mysql/connector/django +%{py_sitedir}/mysql/connector/django/*.py[co] +%dir %{py_sitedir}/mysql/connector/locales +%{py_sitedir}/mysql/connector/locales/*.py[co] +%dir %{py_sitedir}/mysql/connector/locales/eng +%{py_sitedir}/mysql/connector/locales/eng/*.py[co] +%dir %{py_sitedir}/mysqlx +%{py_sitedir}/mysqlx/*.py[co] +%dir %{py_sitedir}/mysqlx/protobuf +%{py_sitedir}/mysqlx/protobuf/*.py[co] +%dir %{py_sitedir}/mysqlx/locales +%{py_sitedir}/mysqlx/locales/*.py[co] +%dir %{py_sitedir}/mysqlx/locales/eng +%{py_sitedir}/mysqlx/locales/eng/*.py[co] %if "%{py_ver}" > "2.4" -%{py_sitescriptdir}/mysql_connector_python-*.egg-info +%{py_sitedir}/mysql_connector_python-*.egg-info +%endif %endif %if %{with python3} %files -n python3-%{pname} %defattr(644,root,root,755) -%doc ChangeLog README -%{py3_sitescriptdir}/mysql*.egg-info -%dir %{py3_sitescriptdir}/mysql -%{py3_sitescriptdir}/mysql/*.py -%dir %{py3_sitescriptdir}/mysql/__pycache__ -%{py3_sitescriptdir}/mysql/__pycache__/*.py[co] -%dir %{py3_sitescriptdir}/mysql/connector -%{py3_sitescriptdir}/mysql/connector/*.py -%dir %{py3_sitescriptdir}/mysql/connector/__pycache__ -%{py3_sitescriptdir}/mysql/connector/__pycache__/*.py[co] -%dir %{py3_sitescriptdir}/mysql/connector/django -%{py3_sitescriptdir}/mysql/connector/django/*.py -%dir %{py3_sitescriptdir}/mysql/connector/django/__pycache__ -%{py3_sitescriptdir}/mysql/connector/django/__pycache__/*.py[co] -%dir %{py3_sitescriptdir}/mysql/connector/locales -%{py3_sitescriptdir}/mysql/connector/locales/*.py -%dir %{py3_sitescriptdir}/mysql/connector/locales/__pycache__ -%{py3_sitescriptdir}/mysql/connector/locales/__pycache__/*.py[co] -%dir %{py3_sitescriptdir}/mysql/connector/locales/eng -%{py3_sitescriptdir}/mysql/connector/locales/eng/*.py -%dir %{py3_sitescriptdir}/mysql/connector/locales/eng/__pycache__ -%{py3_sitescriptdir}/mysql/connector/locales/eng/__pycache__/*.py[co] +%doc CHANGES.txt README.txt +%attr(755,root,root) %{py3_sitedir}/_mysql_connector.cpython-*.so +%{py3_sitedir}/mysql*.egg-info +%dir %{py3_sitedir}/mysql +%{py3_sitedir}/mysql/*.py +%dir %{py3_sitedir}/mysql/__pycache__ +%{py3_sitedir}/mysql/__pycache__/*.py[co] +%dir %{py3_sitedir}/mysql/connector +%{py3_sitedir}/mysql/connector/*.py +%dir %{py3_sitedir}/mysql/connector/__pycache__ +%{py3_sitedir}/mysql/connector/__pycache__/*.py[co] +%dir %{py3_sitedir}/mysql/connector/django +%{py3_sitedir}/mysql/connector/django/*.py +%dir %{py3_sitedir}/mysql/connector/django/__pycache__ +%{py3_sitedir}/mysql/connector/django/__pycache__/*.py[co] +%dir %{py3_sitedir}/mysql/connector/locales +%{py3_sitedir}/mysql/connector/locales/*.py +%dir %{py3_sitedir}/mysql/connector/locales/__pycache__ +%{py3_sitedir}/mysql/connector/locales/__pycache__/*.py[co] +%dir %{py3_sitedir}/mysql/connector/locales/eng +%{py3_sitedir}/mysql/connector/locales/eng/*.py +%dir %{py3_sitedir}/mysql/connector/locales/eng/__pycache__ +%{py3_sitedir}/mysql/connector/locales/eng/__pycache__/*.py[co] +%dir %{py3_sitedir}/mysqlx +%{py3_sitedir}/mysqlx/*.py +%dir %{py3_sitedir}/mysqlx/__pycache__ +%{py3_sitedir}/mysqlx/__pycache__/*.py[co] +%dir %{py3_sitedir}/mysqlx/locales +%{py3_sitedir}/mysqlx/locales/*.py +%dir %{py3_sitedir}/mysqlx/locales/__pycache__ +%{py3_sitedir}/mysqlx/locales/__pycache__/*.py[co] +%dir %{py3_sitedir}/mysqlx/locales/eng +%{py3_sitedir}/mysqlx/locales/eng/*.py +%dir %{py3_sitedir}/mysqlx/locales/eng/__pycache__ +%{py3_sitedir}/mysqlx/locales/eng/__pycache__/*.py[co] +%dir %{py3_sitedir}/mysqlx/protobuf +%{py3_sitedir}/mysqlx/protobuf/*.py +%dir %{py3_sitedir}/mysqlx/protobuf/__pycache__ +%{py3_sitedir}/mysqlx/protobuf/__pycache__/*.py[co] %endif