Name: mariadb-connector-c Version: 3.0.4 Release: 1%{?dist} Summary: The MariaDB Native Client library (C driver) License: LGPLv2+ Source: https://downloads.mariadb.org/interstitial/connector-c-%{version}/mariadb-connector-c-%{version}-src.tar.gz Url: http://mariadb.org/ # More information: https://mariadb.com/kb/en/mariadb/building-connectorc-from-source/ %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 # RPM does not expand "less" correctly %else # mariadb-connector-c is a part of mariadb. *Every* file is meant to conflict. # From F28 the client library part was removed from mariadb and tis package is required instead. # On F<28 is the package present from both historical and compatibility reasons. Conflicts: mariadb-libs mariadb-devel %endif BuildRequires: zlib-devel cmake openssl-devel gcc-c++ # Remote-IO plugin BuildRequires: libcurl-devel # Patch for mariadb_config Patch1: cmake.patch %description The MariaDB Native Client library (C driver) is used to connect applications developed in C/C++ to MariaDB and MySQL databases. %package devel Summary: Development files for mariadb-connector-c Requires: %{name} = %{version}-%{release} # avoid issues with openssl1.0 / openssl1.1 / compat Requires: pkgconfig(openssl) %description devel Development files for mariadb-connector-c. Contains everything needed to build against libmariadb.so >=3 client library. %prep %setup -q -n mariadb-connector-c-%{version}-src %patch1 -p1 # Remove unsused parts rm -r win zlib win-iconv examples %build %cmake . \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_SYSTEM_PROCESSOR="%{_arch}" \ \ -DMARIADB_UNIX_ADDR=/var/lib/mysql/mysql.sock \ -DMARIADB_PORT=3306 \ \ -DWITH_EXTERNAL_ZLIB=YES \ -DWITH_SSL=OPENSSL \ -DWITH_MYSQLCOMPAT=ON \ \ -DINSTALL_LAYOUT=RPM \ -DINSTALL_BINDIR="%{_bindir}" \ -DINSTALL_LIBDIR="%{_libdir}" \ -DINSTALL_INCLUDEDIR="%{_includedir}/mysql" \ -DINSTALL_PLUGINDIR="%{_libdir}/mariadb/plugin" #cmake -LAH # Causes build errors: # -DAUTH_NATIVE=DYNAMIC # -DCMAKE_INSTALL_PREFIX="/usr" # https://jira.mariadb.org/browse/MDEV-13836: # The server has (used to have for ages) some magic around the port number. # If it's 0, the default port value will use getservbyname("mysql", "tcp"), that is, whatever is written in /etc/services. # If it's a positive number, say, 3306, it will be 3306, no matter what /etc/services say. # I don't know if that behavior makes much sense, /etc/services wasn't supposed to be a system configuration file. make %{?_smp_mflags} %install make install DESTDIR=%{buildroot} # Remove static linked libraries and symlinks to them rm %{buildroot}%{_libdir}/libmariadbclient.a rm %{buildroot}%{_libdir}/libmysqlclient.a rm %{buildroot}%{_libdir}/libmysqlclient_r.a # Add a compatibility symlinks ln -s mariadb_config %{buildroot}%{_bindir}/mysql_config ln -s mariadb_version.h %{buildroot}%{_includedir}/mysql/mysql_version.h # https://fedoraproject.org/wiki/Packaging:Directory_Replacement %pretrans -p path = "%{_libdir}/mariadb" st = posix.stat(path) if st and st.type == "link" then os.remove(path) end path = "%{_libdir}/mysql" st = posix.stat(path) if st and st.type == "link" then os.remove(path) end %files %{_libdir}/libmariadb.so.* %dir %{_libdir}/mariadb %dir %{_libdir}/mariadb/plugin %{_libdir}/mariadb/plugin/* %doc README %license COPYING.LIB %files devel # Binary which provides compiler info for software compiling against this library %{_bindir}/mariadb_config %{_bindir}/mysql_config # Symlinks to the versioned library %{_libdir}/libmariadb.so %{_libdir}/libmysqlclient.so %{_libdir}/libmysqlclient_r.so # Header files %dir %{_includedir}/mysql %{_includedir}/mysql/* %license COPYING.LIB # RPMLint issues from 2.3.2 release tracked on the upstream JIRA: # https://jira.mariadb.org/browse/CONC-232 # https://jira.mariadb.org/browse/CONC-234 # RPMLint issues from 3.0.2 release tracked on the upstream JIRA: # https://jira.mariadb.org/browse/CONC-287 # https://jira.mariadb.org/browse/CONC-291 %changelog * Thu Apr 26 2018 Michal Schorm - 3.0.4-1 - Rebase to 3.0.4 * Mon Apr 23 2018 Michal Schorm - 3.0.3-4 - Further fix of the '--plugindir' output from the config binary Realted: #1569159 * Wed Mar 21 2018 Richard W.M. Jones - 3.0.3-3 - Fix plugin install directory (INSTALL_PLUGINDIR not PLUGIN_INSTALL_DIR). * Thu Feb 08 2018 Fedora Release Engineering - 3.0.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Fri Jan 19 2018 Michal Schorm - 3.0.3-1 - Rebase to 3.0.3 * Mon Nov 27 2017 Honza Horak - 3.0.2-21 - Remove unneeded dependency on xmlto * Tue Nov 14 2017 Pavel Raiskup - 3.0.2-19 - drop misleading provides * Wed Nov 08 2017 Michal Schorm - 3.0.2-19 - Move the scriptlet to the correct package * Thu Nov 02 2017 Michal Schorm - 3.0.2-18 - Fix typo in require * Wed Nov 01 2017 Michal Schorm - 3.0.2-17 - Use correct require for OpenSSL * Wed Nov 01 2017 Merlin Mathesius - 3.0.2-16 - Correct typo in spec file conditional * Tue Oct 31 2017 Merlin Mathesius - 3.0.2-15 - Cleanup spec file conditionals * Tue Oct 31 2017 Michal Schorm - 3.0.2-14 - Remove Requires for openssl. Managed by RPM. * Mon Oct 30 2017 Michal Schorm - 3.0.2-13 - Update scriplet dealing with symlinks as Guidelines suggests Related: #1501933 * Thu Oct 26 2017 Michal Schorm - 3.0.2-12 - Move library directly to libdir, don't create any symlinks to directories - Update scritplets, so they only check for old symlinks to directories Related: #1501933 - Add 'Conflicts' with mariadb package on F<28 Related: #1506441 * Mon Oct 09 2017 Michal Schorm - 3.0.2-11 - Fix ldconfig path * Wed Oct 04 2017 Michal Schorm - 3.0.2-10 - Add scriptlets to handle errors in /usr/lib64/ created by older versions of mariadb and mariadb-connector-c pakages * Wed Sep 20 2017 Michal Schorm - 3.0.2-9 - Add symlinks so more packages will build succesfully - Change libdir from .../lib64/mariadb to mysql Related: #1497234 * Wed Sep 13 2017 Michal Schorm - 3.0.2-7 - Move header files to the same location, as they would be in mariadb-server - Add provides "libmysqlclient.so" * Tue Sep 05 2017 Honza Horak - 3.0.2-5 - Remove a symlink /usr/lib64/mysql that conflicts with mariadb-libs * Mon Aug 14 2017 Honza Horak - 3.0.2-4 - Add compatibility symlinks * Thu Aug 03 2017 Fedora Release Engineering - 3.0.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 3.0.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Wed Jun 07 2017 Michal Schorm - 3.0.2-1 - Rebase to version 3.0.2 - Library libmariadb.so.3 introduced - Plugin Remote-IO enabled * Wed Jun 07 2017 Michal Schorm - 2.3.3-1 - Rebase to version 2.3.3 - Patch dropped, solved by upstream; https://jira.mariadb.org/browse/CONC-231 * Tue Feb 07 2017 Michal Schorm - 2.3.2-2 - Fix based on output from RPMLint in previous version * Tue Jan 24 2017 Michal Schorm - 2.3.2-1 - Rebase to version 2.3.2, patch needed (fixed by upstream in later versions) - Plugin dir moved from /libdir/plugin to /libdir/mariadb/plugin * Thu Oct 27 2016 Michal Schorm - 2.3.1-3 - Fixed ownership of {_libdir}/mariadb (this dir must me owned by package) - Fixed ownership of {_sysconfigdir}/ld.so.conf.d (this dir must me owned by package) - Fixed redundnace on lines with {_sysconfigdir}/ld.so.conf.d - Fixed ownership of {_bindir} (only one program is owned, so let's be accurate) - Some comments added, for me and future maintainers * Mon Oct 17 2016 Michal Schorm - 2.3.1-2 - Fixed ownership of {_libdir}/mariadb directory and cosmetic specfile changes * Tue Sep 13 2016 Michal Schorm - 2.3.1-1 - Rebase to version 2.3.1 * Thu Feb 04 2016 Fedora Release Engineering - 2.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Thu Jul 23 2015 Matej Mužila - 2.1.0-1 - Rebase to version 2.1.0 * Wed Jun 17 2015 Fedora Release Engineering - 2.0.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Wed Sep 24 2014 Matej Mužila - 2.0.0-2 - Fixed html IDs in documentation * Tue Aug 26 2014 Matej Mužila - 2.0.0-2 - Initial version for 2.0.0