]> git.pld-linux.org Git - packages/python-mysql-connector.git/blob - python-mysql-connector.spec
- up to 8.0.18
[packages/python-mysql-connector.git] / python-mysql-connector.spec
1 # TODO:
2 # - c extension build is done in install phase (http://bugs.mysql.com/bug.php?id=78621)
3 #
4 # Conditional build:
5 %bcond_with     tests           # build with tests (requires mysql server)
6 %bcond_without  python2         # build without python2
7 %bcond_without  python3         # build without python3
8
9 %define         pname   mysql-connector
10 Summary:        The MySQL Client/Protocol implemented in Python
11 Name:           python-%{pname}
12 # check documentation to see which version is GA (we don't want devel releases)
13 # https://dev.mysql.com/downloads/connector/python/
14 Version:        8.0.18
15 Release:        1
16 License:        GPL v2
17 Group:          Libraries/Python
18 Source0:        http://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-%{version}.zip
19 # Source0-md5:  e9c473418b52bcae9687dddb0b69369f
20 Patch0:         32bit.patch
21 Patch1:         tests.patch
22 URL:            http://dev.mysql.com/doc/connector-python/en/
23 BuildRequires:  mysql-devel
24 BuildRequires:  protobuf-devel
25 %if %{with python2}
26 BuildRequires:  python-devel
27 BuildRequires:  python-modules
28 %endif
29 %if %{with python3}
30 BuildRequires:  python3-devel
31 BuildRequires:  python3-modules
32 %endif
33 BuildRequires:  rpm-pythonprov
34 BuildRequires:  rpmbuild(macros) >= 1.710
35 %if %{with tests}
36 BuildRequires:  mysql
37 %endif
38 Requires:       python-modules
39 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
40
41 %description
42 MySQL Connector/Python is implementing the MySQL Client/Server
43 protocol completely in Python. No MySQL libraries are needed, and no
44 compilation is necessary to run this Python DB API v2.0 compliant
45 driver. An interface to the popular MySQL database server for Python.
46
47 %package -n python3-%{pname}
48 Summary:        The MySQL Client/Protocol implemented in Python
49 Group:          Development/Languages/Python
50 Requires:       python3-modules
51
52 %description -n python3-%{pname}
53 MySQL Connector/Python is implementing the MySQL Client/Server
54 protocol completely in Python. No MySQL libraries are needed, and no
55 compilation is necessary to run this Python DB API v2.0 compliant
56 driver. An interface to the popular MySQL database server for Python.
57
58 %prep
59 %setup -q -n mysql-connector-python-%{version}
60 %patch0 -p1
61 %patch1 -p1
62
63 %build
64 export MYSQLXPB_PROTOC=%{_bindir}/protoc
65 export MYSQLXPB_PROTOBUF_INCLUDE_DIR=%{_includedir}
66 export MYSQLXPB_PROTOBUF_LIB_DIR=%{_libdir}
67
68 %if %{with python2}
69 %py_build
70 %if %{with tests}
71 export PYTHONPATH="$(pwd)/$(ls -1d build-2/lib*)"
72 %{__python} unittests.py \
73         --verbosity 1 \
74         --keep --stats \
75         --skip-install \
76         --with-mysql=%{_prefix} \
77         --with-mysql-share=%{_datadir}/mysql
78 %endif
79 %endif
80
81 %if %{with python3}
82 %py3_build
83 %if %{with tests}
84 export PYTHONPATH="$(pwd)/$(ls -1d build-3/lib*)"
85 %{__python3} unittests.py \
86         --verbosity 1 \
87         --keep --stats \
88         --skip-install \
89         --with-mysql=%{_prefix} \
90         --with-mysql-share=%{_datadir}/mysql
91 %endif
92 %endif
93
94 %install
95 rm -rf $RPM_BUILD_ROOT
96
97 # see NOTE on beginning of the spec
98 export MYSQLXPB_PROTOC=%{_bindir}/protoc
99 export MYSQLXPB_PROTOBUF_INCLUDE_DIR=%{_includedir}
100 export MYSQLXPB_PROTOBUF_LIB_DIR=%{_libdir}
101
102 %if %{with python2}
103 %py_install \
104         --with-mysql-capi=%{_prefix}
105 %py_postclean
106 %endif
107
108 %if %{with python3}
109 %py3_install \
110         --with-mysql-capi=%{_prefix}
111 %endif
112
113 %clean
114 rm -rf $RPM_BUILD_ROOT
115
116 %if %{with python2}
117 %files
118 %defattr(644,root,root,755)
119 %doc CHANGES.txt README.txt
120 %attr(755,root,root) %{py_sitedir}/_mysql_connector.so
121 %dir %{py_sitedir}/mysql
122 %{py_sitedir}/mysql/*.py[co]
123 %dir %{py_sitedir}/mysql/connector
124 %{py_sitedir}/mysql/connector/*.py[co]
125 %dir %{py_sitedir}/mysql/connector/django
126 %{py_sitedir}/mysql/connector/django/*.py[co]
127 %dir %{py_sitedir}/mysql/connector/locales
128 %{py_sitedir}/mysql/connector/locales/*.py[co]
129 %dir %{py_sitedir}/mysql/connector/locales/eng
130 %{py_sitedir}/mysql/connector/locales/eng/*.py[co]
131 %dir %{py_sitedir}/mysqlx
132 %{py_sitedir}/mysqlx/*.py[co]
133 %dir %{py_sitedir}/mysqlx/protobuf
134 %{py_sitedir}/mysqlx/protobuf/*.py[co]
135 %dir %{py_sitedir}/mysqlx/locales
136 %{py_sitedir}/mysqlx/locales/*.py[co]
137 %dir %{py_sitedir}/mysqlx/locales/eng
138 %{py_sitedir}/mysqlx/locales/eng/*.py[co]
139 %if "%{py_ver}" > "2.4"
140 %{py_sitedir}/mysql_connector_python-*.egg-info
141 %endif
142 %endif
143
144 %if %{with python3}
145 %files -n python3-%{pname}
146 %defattr(644,root,root,755)
147 %doc CHANGES.txt README.txt
148 %attr(755,root,root) %{py3_sitedir}/_mysql_connector.cpython-*.so
149 %{py3_sitedir}/mysql*.egg-info
150 %dir %{py3_sitedir}/mysql
151 %{py3_sitedir}/mysql/*.py
152 %dir %{py3_sitedir}/mysql/__pycache__
153 %{py3_sitedir}/mysql/__pycache__/*.py[co]
154 %dir %{py3_sitedir}/mysql/connector
155 %{py3_sitedir}/mysql/connector/*.py
156 %dir %{py3_sitedir}/mysql/connector/__pycache__
157 %{py3_sitedir}/mysql/connector/__pycache__/*.py[co]
158 %dir %{py3_sitedir}/mysql/connector/django
159 %{py3_sitedir}/mysql/connector/django/*.py
160 %dir %{py3_sitedir}/mysql/connector/django/__pycache__
161 %{py3_sitedir}/mysql/connector/django/__pycache__/*.py[co]
162 %dir %{py3_sitedir}/mysql/connector/locales
163 %{py3_sitedir}/mysql/connector/locales/*.py
164 %dir %{py3_sitedir}/mysql/connector/locales/__pycache__
165 %{py3_sitedir}/mysql/connector/locales/__pycache__/*.py[co]
166 %dir %{py3_sitedir}/mysql/connector/locales/eng
167 %{py3_sitedir}/mysql/connector/locales/eng/*.py
168 %dir %{py3_sitedir}/mysql/connector/locales/eng/__pycache__
169 %{py3_sitedir}/mysql/connector/locales/eng/__pycache__/*.py[co]
170 %dir %{py3_sitedir}/mysqlx
171 %{py3_sitedir}/mysqlx/*.py
172 %dir %{py3_sitedir}/mysqlx/__pycache__
173 %{py3_sitedir}/mysqlx/__pycache__/*.py[co]
174 %dir %{py3_sitedir}/mysqlx/locales
175 %{py3_sitedir}/mysqlx/locales/*.py
176 %dir %{py3_sitedir}/mysqlx/locales/__pycache__
177 %{py3_sitedir}/mysqlx/locales/__pycache__/*.py[co]
178 %dir %{py3_sitedir}/mysqlx/locales/eng
179 %{py3_sitedir}/mysqlx/locales/eng/*.py
180 %dir %{py3_sitedir}/mysqlx/locales/eng/__pycache__
181 %{py3_sitedir}/mysqlx/locales/eng/__pycache__/*.py[co]
182 %dir %{py3_sitedir}/mysqlx/protobuf
183 %{py3_sitedir}/mysqlx/protobuf/*.py
184 %dir %{py3_sitedir}/mysqlx/protobuf/__pycache__
185 %{py3_sitedir}/mysqlx/protobuf/__pycache__/*.py[co]
186 %endif
This page took 0.145948 seconds and 3 git commands to generate.