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