1 |
# For deep debugging we need to build binaries with extra debug info |
2 |
%bcond_with debug |
3 |
|
4 |
Name: mariadb-connector-c |
5 |
Version: 3.1.13 |
6 |
Release: 2%{?with_debug:.debug}%{?dist} |
7 |
Summary: The MariaDB Native Client library (C driver) |
8 |
License: LGPLv2+ |
9 |
Source: https://downloads.mariadb.org/interstitial/connector-c-%{version}/mariadb-connector-c-%{version}-src.tar.gz |
10 |
Source2: my.cnf |
11 |
Source3: client.cnf |
12 |
Url: http://mariadb.org/ |
13 |
# More information: https://mariadb.com/kb/en/mariadb/building-connectorc-from-source/ |
14 |
|
15 |
Requires: %{_sysconfdir}/my.cnf |
16 |
BuildRequires: zlib-devel cmake openssl-devel gcc-c++ |
17 |
# Remote-IO plugin |
18 |
BuildRequires: libcurl-devel |
19 |
# auth_gssapi_client plugin |
20 |
BuildRequires: krb5-devel |
21 |
|
22 |
Requires: mariadb |
23 |
#Requires: mariadb >= 3:10.3.27 |
24 |
Requires: %{name}-config = %{version}-%{release} |
25 |
|
26 |
%description |
27 |
The MariaDB Native Client library (C driver) is used to connect applications |
28 |
developed in C/C++ to MariaDB and MySQL databases. |
29 |
|
30 |
|
31 |
|
32 |
%package devel |
33 |
Summary: Development files for mariadb-connector-c |
34 |
Requires: %{name} = %{version}-%{release} |
35 |
Requires: openssl-devel zlib-devel |
36 |
BuildRequires: multilib-rpm-config |
37 |
Conflicts: mysql-devel |
38 |
|
39 |
Requires: mariadb-devel |
40 |
#Requires: mariadb-devel >= 3:10.3.27 |
41 |
|
42 |
%description devel |
43 |
Development files for mariadb-connector-c. |
44 |
Contains everything needed to build against libmariadb.so >=3 client library. |
45 |
|
46 |
|
47 |
|
48 |
%package config |
49 |
Summary: Configuration files for packages that use /etc/my.cnf as a configuration file |
50 |
BuildArch: noarch |
51 |
Obsoletes: mariadb-config <= 3:10.3.8-4 |
52 |
|
53 |
%description config |
54 |
This package delivers /etc/my.cnf that includes other configuration files |
55 |
from the /etc/my.cnf.d directory and ships this directory as well. |
56 |
Other packages should only put their files into /etc/my.cnf.d directory |
57 |
and require this package, so the /etc/my.cnf file is present. |
58 |
|
59 |
|
60 |
|
61 |
%prep |
62 |
%setup -q -n %{name}-%{version}-src |
63 |
|
64 |
# Remove unsused parts |
65 |
rm -r win zlib win-iconv |
66 |
|
67 |
|
68 |
|
69 |
%build |
70 |
%{set_build_flags} |
71 |
|
72 |
# Override all optimization flags when making a debug build |
73 |
%{?with_debug: CFLAGS="$CFLAGS -O0 -g"} |
74 |
CXXFLAGS="$CFLAGS" |
75 |
export CFLAGS CXXFLAGS |
76 |
|
77 |
# https://jira.mariadb.org/browse/MDEV-13836: |
78 |
# The server has (used to have for ages) some magic around the port number. |
79 |
# If it's 0, the default port value will use getservbyname("mysql", "tcp"), that is, whatever is written in /etc/services. |
80 |
# If it's a positive number, say, 3306, it will be 3306, no matter what /etc/services say. |
81 |
# I don't know if that behavior makes much sense, /etc/services wasn't supposed to be a system configuration file. |
82 |
|
83 |
# The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX |
84 |
# so we can't use %%{_datadir} and so forth here. |
85 |
|
86 |
%cmake . \ |
87 |
-DCMAKE_BUILD_TYPE="%{?with_debug:Debug}%{!?with_debug:RelWithDebInfo}" \ |
88 |
-DCMAKE_SYSTEM_PROCESSOR="%{_arch}" \ |
89 |
\ |
90 |
-DMARIADB_UNIX_ADDR=%{_sharedstatedir}/mysql/mysql.sock \ |
91 |
-DMARIADB_PORT=3306 \ |
92 |
\ |
93 |
-DWITH_EXTERNAL_ZLIB=YES \ |
94 |
-DWITH_SSL=OPENSSL \ |
95 |
-DWITH_MYSQLCOMPAT=ON \ |
96 |
-DPLUGIN_CLIENT_ED25519=DYNAMIC \ |
97 |
\ |
98 |
-DINSTALL_LAYOUT=RPM \ |
99 |
-DCMAKE_INSTALL_PREFIX="%{_prefix}" \ |
100 |
-DINSTALL_BINDIR="bin" \ |
101 |
-DINSTALL_LIBDIR="%{_lib}" \ |
102 |
-DINSTALL_INCLUDEDIR="include/mysql" \ |
103 |
-DINSTALL_PLUGINDIR="%{_lib}/mariadb/plugin" \ |
104 |
-DINSTALL_PCDIR="%{_lib}/pkgconfig" \ |
105 |
\ |
106 |
-DWITH_UNITTEST=ON |
107 |
|
108 |
|
109 |
|
110 |
#cmake -LAH |
111 |
|
112 |
%make_build |
113 |
|
114 |
|
115 |
|
116 |
%install |
117 |
%make_install |
118 |
|
119 |
%multilib_fix_c_header --file %{_includedir}/mysql/mariadb_version.h |
120 |
|
121 |
# Remove static linked libraries and symlinks to them |
122 |
rm %{buildroot}%{_libdir}/lib*.a |
123 |
|
124 |
# Add a compatibility symlinks |
125 |
ln -s mariadb_config %{buildroot}%{_bindir}/mysql_config |
126 |
ln -s mariadb_version.h %{buildroot}%{_includedir}/mysql/mysql_version.h |
127 |
|
128 |
# Install config files |
129 |
install -D -p -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/my.cnf |
130 |
install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf |
131 |
|
132 |
|
133 |
|
134 |
%check |
135 |
# Check the generated configuration on the actual machine |
136 |
%{buildroot}%{_bindir}/mariadb_config |
137 |
|
138 |
# Run the unit tests |
139 |
# - don't run mytap tests |
140 |
# - ignore the testsuite result for now. Enable tests now, fix them later. |
141 |
# Note: there must be a database called 'test' created for the testcases to be run |
142 |
pushd unittest/libmariadb/ |
143 |
ctest || : |
144 |
popd |
145 |
|
146 |
|
147 |
|
148 |
%files |
149 |
%{_libdir}/libmariadb.so.3 |
150 |
|
151 |
%dir %{_libdir}/mariadb |
152 |
%dir %{_libdir}/mariadb/plugin |
153 |
%{_libdir}/mariadb/plugin/* |
154 |
|
155 |
%doc README |
156 |
%license COPYING.LIB |
157 |
|
158 |
|
159 |
|
160 |
%files devel |
161 |
# Binary which provides compiler info for software compiling against this library |
162 |
%{_bindir}/mariadb_config |
163 |
%{_bindir}/mysql_config |
164 |
|
165 |
# Symlinks to the versioned library |
166 |
%{_libdir}/libmariadb.so |
167 |
%{_libdir}/libmysqlclient.so |
168 |
%{_libdir}/libmysqlclient_r.so |
169 |
|
170 |
# Pkgconfig |
171 |
%{_libdir}/pkgconfig/libmariadb.pc |
172 |
|
173 |
# Header files |
174 |
%dir %{_includedir}/mysql |
175 |
%{_includedir}/mysql/* |
176 |
|
177 |
%license COPYING.LIB |
178 |
|
179 |
|
180 |
%files config |
181 |
%dir %{_sysconfdir}/my.cnf.d |
182 |
%config(noreplace) %{_sysconfdir}/my.cnf |
183 |
%config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf |
184 |
|
185 |
|
186 |
|
187 |
%changelog |
188 |
* Sat Nov 20 2021 Jean-Philippe Pialasse <tests@pialasse.com> - 3.1.13-2 |
189 |
- Lower Requirement for SME10 |
190 |
|
191 |
* Fri May 14 2021 Michal Schorm <mschorm@redhat.com> - 3.1.13-1 |
192 |
- Rebase to 3.1.13 |
193 |
|
194 |
* Wed Feb 24 2021 Michal Schorm <mschorm@redhat.com> - 3.1.12-1 |
195 |
- Rebase to 3.1.12 |
196 |
|
197 |
* Thu Dec 03 2020 Michal Schorm <mschorm@redhat.com> - 3.1.11-2 |
198 |
- Require specific minimal version of the 'mariadb' package, if it is installed |
199 |
|
200 |
* Tue Nov 10 2020 Michal Schorm <mschorm@redhat.com> - 3.1.11-1 |
201 |
- Rebase to 3.1.11 |
202 |
|
203 |
* Wed Jun 24 2020 Lukas Javorsky <ljavorsk@redhat.com> - 3.1.9-1 |
204 |
- Rebase to 3.1.9 |
205 |
- Overlinking issues fixed by upstream in 3.1.3 release |
206 |
- Add explicit confict between mariadb-connector-c-devel and mysql-devel packages |
207 |
|
208 |
* Fri Jul 12 2019 Michal Schorm <mschorm@redhat.com> - 3.1.2-1 |
209 |
- Rebase to 3.1.2 |
210 |
- Introducing ED25519 plugin |
211 |
- Plugindir issues (from 3.0.9 release) fixed by upstream |
212 |
Resolves: #1691176 |
213 |
|
214 |
* Wed May 15 2019 Michal Schorm <mschorm@redhat.com> - 3.0.10-1 |
215 |
- Rebase to 3.0.10 |
216 |
- Use macro for tarball name |
217 |
- Use macro to set build flags |
218 |
- Use macros for make commands |
219 |
- Remove the scriptlets non relevant for RHEL-8 |
220 |
- Add info for the testsuite execution |
221 |
- Remove glob from library version |
222 |
- Remove info about the upstream issues |
223 |
|
224 |
* Fri Mar 29 2019 Michal Schorm <mschorm@redhat.com> - 3.0.8-2 |
225 |
- Add "zlib-devel" requirement in "-devel" subpackage. MariaDB requires |
226 |
linking with "-lz", which will fail without the zlib library |
227 |
- Resolves: #1710471 |
228 |
|
229 |
* Wed Jan 02 2019 Michal Schorm <mschorm@redhat.com> - 3.0.8-1 |
230 |
- Rebase to 3.0.8 |
231 |
|
232 |
* Mon Dec 10 2018 Michal Schorm <mschorm@redhat.com> - 3.0.7-1 |
233 |
- Rebase to 3.0.7 |
234 |
|
235 |
* Tue Sep 04 2018 Michal Schorm <mschorm@redhat.com> - 3.0.6-2 |
236 |
- Fix parallel installability of x86_64 and i686 devel package |
237 |
- Resolves: #1637031 |
238 |
|
239 |
* Fri Aug 03 2018 Michal Schorm <mschorm@redhat.com> - 3.0.6-1 |
240 |
- Rebase to 3.0.6 |
241 |
|
242 |
* Tue Jul 17 2018 Honza Horak <hhorak@redhat.com> - 3.0.5-2 |
243 |
- Add -config sub-package that delivers system-wide /etc/my.cnf and |
244 |
/etc/my.cnf.d directory, that other packages should use |
245 |
This package also obsoletes mariadb-config |
246 |
|
247 |
* Fri Jun 08 2018 Michal Schorm <mschorm@redhat.com> - 3.0.5-1 |
248 |
- Rebase to 3.0.5 |
249 |
|
250 |
* Thu Apr 26 2018 Michal Schorm <mschorm@redhat.com> - 3.0.4-1 |
251 |
- Rebase to 3.0.4 |
252 |
|
253 |
* Mon Apr 23 2018 Michal Schorm <mschorm@redhat.com> - 3.0.3-4 |
254 |
- Further fix of the '--plugindir' output from the config binary |
255 |
Realted: #1569159 |
256 |
|
257 |
* Wed Mar 21 2018 Richard W.M. Jones <rjones@redhat.com> - 3.0.3-3 |
258 |
- Fix plugin install directory (INSTALL_PLUGINDIR not PLUGIN_INSTALL_DIR). |
259 |
|
260 |
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.3-2 |
261 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild |
262 |
|
263 |
* Fri Jan 19 2018 Michal Schorm <mschorm@redhat.com> - 3.0.3-1 |
264 |
- Rebase to 3.0.3 |
265 |
|
266 |
* Mon Nov 27 2017 Honza Horak <hhorak@redhat.com> - 3.0.2-21 |
267 |
- Remove unneeded dependency on xmlto |
268 |
|
269 |
* Tue Nov 14 2017 Pavel Raiskup <praiskup@redhat.com> - 3.0.2-19 |
270 |
- drop misleading provides |
271 |
|
272 |
* Wed Nov 08 2017 Michal Schorm <mschorm@redhat.com> - 3.0.2-19 |
273 |
- Move the scriptlet to the correct package |
274 |
|
275 |
* Thu Nov 02 2017 Michal Schorm <mschorm@redhat.com> - 3.0.2-18 |
276 |
- Fix typo in require |
277 |
|
278 |
* Wed Nov 01 2017 Michal Schorm <mschorm@redhat.com> - 3.0.2-17 |
279 |
- Use correct require for OpenSSL |
280 |
|
281 |
* Wed Nov 01 2017 Merlin Mathesius <mmathesi@redhat.com> - 3.0.2-16 |
282 |
- Correct typo in spec file conditional |
283 |
|
284 |
* Tue Oct 31 2017 Merlin Mathesius <mmathesi@redhat.com> - 3.0.2-15 |
285 |
- Cleanup spec file conditionals |
286 |
|
287 |
* Tue Oct 31 2017 Michal Schorm <mschorm@redhat.com> - 3.0.2-14 |
288 |
- Remove Requires for openssl. Managed by RPM. |
289 |
|
290 |
* Mon Oct 30 2017 Michal Schorm <mschorm@redhat.com> - 3.0.2-13 |
291 |
- Update scriplet dealing with symlinks as Guidelines suggests |
292 |
Related: #1501933 |
293 |
|
294 |
* Thu Oct 26 2017 Michal Schorm <mschorm@redhat.com> - 3.0.2-12 |
295 |
- Move library directly to libdir, don't create any symlinks to directories |
296 |
- Update scritplets, so they only check for old symlinks to directories |
297 |
Related: #1501933 |
298 |
- Add 'Conflicts' with mariadb package on F<28 |
299 |
Related: #1506441 |
300 |
|
301 |
* Mon Oct 09 2017 Michal Schorm <mschorm@redhat.com> - 3.0.2-11 |
302 |
- Fix ldconfig path |
303 |
|
304 |
* Wed Oct 04 2017 Michal Schorm <mschorm@redhat.com> - 3.0.2-10 |
305 |
- Add scriptlets to handle errors in /usr/lib64/ created by older versions |
306 |
of mariadb and mariadb-connector-c pakages |
307 |
|
308 |
* Wed Sep 20 2017 Michal Schorm <mschorm@redhat.com> - 3.0.2-9 |
309 |
- Add symlinks so more packages will build succesfully |
310 |
- Change libdir from .../lib64/mariadb to mysql |
311 |
Related: #1497234 |
312 |
|
313 |
* Wed Sep 13 2017 Michal Schorm <mschorm@redhat.com> - 3.0.2-7 |
314 |
- Move header files to the same location, as they would be in mariadb-server |
315 |
- Add provides "libmysqlclient.so" |
316 |
|
317 |
* Tue Sep 05 2017 Honza Horak <hhorak@redhat.com> - 3.0.2-5 |
318 |
- Remove a symlink /usr/lib64/mysql that conflicts with mariadb-libs |
319 |
|
320 |
* Mon Aug 14 2017 Honza Horak <hhorak@redhat.com> - 3.0.2-4 |
321 |
- Add compatibility symlinks |
322 |
|
323 |
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2-3 |
324 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild |
325 |
|
326 |
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2-2 |
327 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild |
328 |
|
329 |
* Wed Jun 07 2017 Michal Schorm <mschorm@redhat.com> - 3.0.2-1 |
330 |
- Rebase to version 3.0.2 |
331 |
- Library libmariadb.so.3 introduced |
332 |
- Plugin Remote-IO enabled |
333 |
|
334 |
* Wed Jun 07 2017 Michal Schorm <mschorm@redhat.com> - 2.3.3-1 |
335 |
- Rebase to version 2.3.3 |
336 |
- Patch dropped, solved by upstream; https://jira.mariadb.org/browse/CONC-231 |
337 |
|
338 |
* Tue Feb 07 2017 Michal Schorm <mschorm@redhat.com> - 2.3.2-2 |
339 |
- Fix based on output from RPMLint in previous version |
340 |
|
341 |
* Tue Jan 24 2017 Michal Schorm <mschorm@redhat.com> - 2.3.2-1 |
342 |
- Rebase to version 2.3.2, patch needed (fixed by upstream in later versions) |
343 |
- Plugin dir moved from /libdir/plugin to /libdir/mariadb/plugin |
344 |
|
345 |
* Thu Oct 27 2016 Michal Schorm <mschorm@redhat.com> - 2.3.1-3 |
346 |
- Fixed ownership of {_libdir}/mariadb (this dir must me owned by package) |
347 |
- Fixed ownership of {_sysconfigdir}/ld.so.conf.d (this dir must me owned by package) |
348 |
- Fixed redundnace on lines with {_sysconfigdir}/ld.so.conf.d |
349 |
- Fixed ownership of {_bindir} (only one program is owned, so let's be accurate) |
350 |
- Some comments added, for me and future maintainers |
351 |
|
352 |
* Mon Oct 17 2016 Michal Schorm <mschorm@redhat.com> - 2.3.1-2 |
353 |
- Fixed ownership of {_libdir}/mariadb directory and cosmetic specfile changes |
354 |
|
355 |
* Tue Sep 13 2016 Michal Schorm <mschorm@redhat.com> - 2.3.1-1 |
356 |
- Rebase to version 2.3.1 |
357 |
|
358 |
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-2 |
359 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild |
360 |
|
361 |
* Thu Jul 23 2015 Matej Mužila <mmuzila@redhat.com> - 2.1.0-1 |
362 |
- Rebase to version 2.1.0 |
363 |
|
364 |
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.0-3 |
365 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild |
366 |
|
367 |
* Wed Sep 24 2014 Matej Mužila <mmuzila@redhat.com> - 2.0.0-2 |
368 |
- Fixed html IDs in documentation |
369 |
|
370 |
* Tue Aug 26 2014 Matej Mužila <mmuzila@redhat.com> - 2.0.0-2 |
371 |
- Initial version for 2.0.0 |