2 # - c extension build is done in install phase (http://bugs.mysql.com/bug.php?id=78621)
5 %bcond_with tests # build with tests (requires mysql server)
6 %bcond_without python2 # build without python2
7 %bcond_without python3 # build without python3
9 %define pname mysql-connector
10 Summary: The MySQL Client/Protocol implemented in Python
12 # check documentation to see which version is GA (we don't want devel releases)
13 # https://dev.mysql.com/downloads/connector/python/
17 Group: Libraries/Python
18 Source0: http://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-%{version}.zip
19 # Source0-md5: 356f20fd899837178f7719e54095d2ae
21 Patch1: binary-bug-90585.patch
23 URL: http://dev.mysql.com/doc/connector-python/en/
24 BuildRequires: mysql-devel
25 BuildRequires: protobuf-devel
27 BuildRequires: python-devel
28 BuildRequires: python-modules
31 BuildRequires: python3-devel
32 BuildRequires: python3-modules
34 BuildRequires: rpm-pythonprov
35 BuildRequires: rpmbuild(macros) >= 1.710
39 Requires: python-modules
40 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43 MySQL Connector/Python is implementing the MySQL Client/Server
44 protocol completely in Python. No MySQL libraries are needed, and no
45 compilation is necessary to run this Python DB API v2.0 compliant
46 driver. An interface to the popular MySQL database server for Python.
48 %package -n python3-%{pname}
49 Summary: The MySQL Client/Protocol implemented in Python
50 Group: Development/Languages/Python
51 Requires: python3-modules
53 %description -n python3-%{pname}
54 MySQL Connector/Python is implementing the MySQL Client/Server
55 protocol completely in Python. No MySQL libraries are needed, and no
56 compilation is necessary to run this Python DB API v2.0 compliant
57 driver. An interface to the popular MySQL database server for Python.
60 %setup -q -n mysql-connector-python-%{version}
66 export MYSQLXPB_PROTOC=%{_bindir}/protoc
67 export MYSQLXPB_PROTOBUF_INCLUDE_DIR=%{_includedir}
68 export MYSQLXPB_PROTOBUF_LIB_DIR=%{_libdir}
73 export PYTHONPATH="$(pwd)/$(ls -1d build-2/lib*)"
74 %{__python} unittests.py \
78 --with-mysql=%{_prefix} \
79 --with-mysql-share=%{_datadir}/mysql
86 export PYTHONPATH="$(pwd)/$(ls -1d build-3/lib*)"
87 %{__python3} unittests.py \
91 --with-mysql=%{_prefix} \
92 --with-mysql-share=%{_datadir}/mysql
97 rm -rf $RPM_BUILD_ROOT
99 # see NOTE on beginning of the spec
100 export MYSQLXPB_PROTOC=%{_bindir}/protoc
101 export MYSQLXPB_PROTOBUF_INCLUDE_DIR=%{_includedir}
102 export MYSQLXPB_PROTOBUF_LIB_DIR=%{_libdir}
106 --with-mysql-capi=%{_prefix}
112 --with-mysql-capi=%{_prefix}
116 rm -rf $RPM_BUILD_ROOT
120 %defattr(644,root,root,755)
121 %doc CHANGES.txt README.txt
122 %attr(755,root,root) %{py_sitedir}/_mysql_connector.so
123 %dir %{py_sitedir}/mysql
124 %{py_sitedir}/mysql/*.py[co]
125 %dir %{py_sitedir}/mysql/connector
126 %{py_sitedir}/mysql/connector/*.py[co]
127 %dir %{py_sitedir}/mysql/connector/django
128 %{py_sitedir}/mysql/connector/django/*.py[co]
129 %dir %{py_sitedir}/mysql/connector/locales
130 %{py_sitedir}/mysql/connector/locales/*.py[co]
131 %dir %{py_sitedir}/mysql/connector/locales/eng
132 %{py_sitedir}/mysql/connector/locales/eng/*.py[co]
133 %dir %{py_sitedir}/mysqlx
134 %{py_sitedir}/mysqlx/*.py[co]
135 %dir %{py_sitedir}/mysqlx/protobuf
136 %{py_sitedir}/mysqlx/protobuf/*.py[co]
137 %dir %{py_sitedir}/mysqlx/locales
138 %{py_sitedir}/mysqlx/locales/*.py[co]
139 %dir %{py_sitedir}/mysqlx/locales/eng
140 %{py_sitedir}/mysqlx/locales/eng/*.py[co]
141 %if "%{py_ver}" > "2.4"
142 %{py_sitedir}/mysql_connector_python-*.egg-info
147 %files -n python3-%{pname}
148 %defattr(644,root,root,755)
149 %doc CHANGES.txt README.txt
150 %attr(755,root,root) %{py3_sitedir}/_mysql_connector.cpython-*.so
151 %{py3_sitedir}/mysql*.egg-info
152 %dir %{py3_sitedir}/mysql
153 %{py3_sitedir}/mysql/*.py
154 %dir %{py3_sitedir}/mysql/__pycache__
155 %{py3_sitedir}/mysql/__pycache__/*.py[co]
156 %dir %{py3_sitedir}/mysql/connector
157 %{py3_sitedir}/mysql/connector/*.py
158 %dir %{py3_sitedir}/mysql/connector/__pycache__
159 %{py3_sitedir}/mysql/connector/__pycache__/*.py[co]
160 %dir %{py3_sitedir}/mysql/connector/django
161 %{py3_sitedir}/mysql/connector/django/*.py
162 %dir %{py3_sitedir}/mysql/connector/django/__pycache__
163 %{py3_sitedir}/mysql/connector/django/__pycache__/*.py[co]
164 %dir %{py3_sitedir}/mysql/connector/locales
165 %{py3_sitedir}/mysql/connector/locales/*.py
166 %dir %{py3_sitedir}/mysql/connector/locales/__pycache__
167 %{py3_sitedir}/mysql/connector/locales/__pycache__/*.py[co]
168 %dir %{py3_sitedir}/mysql/connector/locales/eng
169 %{py3_sitedir}/mysql/connector/locales/eng/*.py
170 %dir %{py3_sitedir}/mysql/connector/locales/eng/__pycache__
171 %{py3_sitedir}/mysql/connector/locales/eng/__pycache__/*.py[co]
172 %dir %{py3_sitedir}/mysqlx
173 %{py3_sitedir}/mysqlx/*.py
174 %dir %{py3_sitedir}/mysqlx/__pycache__
175 %{py3_sitedir}/mysqlx/__pycache__/*.py[co]
176 %dir %{py3_sitedir}/mysqlx/locales
177 %{py3_sitedir}/mysqlx/locales/*.py
178 %dir %{py3_sitedir}/mysqlx/locales/__pycache__
179 %{py3_sitedir}/mysqlx/locales/__pycache__/*.py[co]
180 %dir %{py3_sitedir}/mysqlx/locales/eng
181 %{py3_sitedir}/mysqlx/locales/eng/*.py
182 %dir %{py3_sitedir}/mysqlx/locales/eng/__pycache__
183 %{py3_sitedir}/mysqlx/locales/eng/__pycache__/*.py[co]
184 %dir %{py3_sitedir}/mysqlx/protobuf
185 %{py3_sitedir}/mysqlx/protobuf/*.py
186 %dir %{py3_sitedir}/mysqlx/protobuf/__pycache__
187 %{py3_sitedir}/mysqlx/protobuf/__pycache__/*.py[co]