mariadb-connector-c/mariadb-connector-c.spec
2017-10-09 03:23:20 +02:00

219 lines
7.0 KiB
RPMSpec

Name: mariadb-connector-c
Version: 3.0.2
Release: 10%{?dist}
Summary: The MariaDB Native Client library (C driver)
Group: Applications/Databases
License: LGPLv2+
Source: https://downloads.mariadb.org/interstitial/connector-c-%{version}/mariadb-connector-c-%{version}-src.tar.gz
Url: http://mariadb.org/
# Informations: https://mariadb.com/kb/en/mariadb/building-connectorc-from-source/
BuildRequires: zlib-devel cmake openssl-devel
# Remote-IO plugin
BuildRequires: libcurl-devel
# RPMLint issues of 2.3.2 release tracked on the upstream JIRA:
# https://jira.mariadb.org/browse/CONC-232
# https://jira.mariadb.org/browse/CONC-234
# Patch for "-DINSTALL_LAYOUT=RPM"
Patch1: cmake.patch
%if 0%{?__isa_bits} == 64
Provides: libmysqlclient.so.18()(64bit)
Provides: libmysqlclient.so.18(libmysqlclient_16)(64bit)
Provides: libmysqlclient.so.18(libmysqlclient_18)(64bit)
%else
Provides: libmysqlclient.so.18
Provides: libmysqlclient.so.18(libmysqlclient_16)
Provides: libmysqlclient.so.18(libmysqlclient_18)
%endif # isa_bits
%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
Group: Development/Libraries
BuildRequires: xmlto
Requires: %{name} = %{version}-%{release}
%description devel
Development files for mariadb-connector-c.
%prep
%setup -q -n mariadb-connector-c-%{version}-src
%patch1 -p1
%build
%cmake . \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMARIADB_PORT=3306 \
-DWITH_EXTERNAL_ZLIB=ON \
-DCMAKE_SYSTEM_PROCESSOR="%{_arch}" \
-DPLUGIN_INSTALL_DIR="%{_libdir}/mariadb/plugin" \
-DWITH_MYSQLCOMPAT=ON \
-DINSTALL_LAYOUT=RPM \
-DWITH_SSL=OPENSSL \
# Use
#-DMARIADB_PORT=number
#-DMARIADB_UNIX_ADDR=/path_to_socket/file.sock
# https://jira.mariadb.org/browse/MDEV-13836
# Causes build errors
# -DAUTH_NATIVE=DYNAMIC
make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot}
mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
echo "%{_libdir}/mariadb" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
# static linked libraries and symlinks to them
rm %{buildroot}%{_libdir}/mariadb/libmariadbclient.a
rm %{buildroot}%{_libdir}/mariadb/libmysqlclient.a
rm %{buildroot}%{_libdir}/mariadb/libmysqlclient_r.a
# add a compatibility symlink
ln -s mariadb_config %{buildroot}%{_bindir}/mysql_config
mv %{buildroot}%{_libdir}/mariadb %{buildroot}%{_libdir}/mysql
ln -s mysql %{buildroot}%{_libdir}/mariadb
ln -s mariadb_version.h %{buildroot}%{_includedir}/mysql_version.h
# move header files to the same location, as they would be in mariadb-server (10.2.8)
# which means from /usr/include to /usr/include/mysql
mkdir %{buildroot}%{_includedir}/temporary
mv %{buildroot}%{_includedir}/{*.h,mysql,mariadb} %{buildroot}%{_includedir}/temporary
mv %{buildroot}%{_includedir}/temporary %{buildroot}%{_includedir}/mysql
%pre devel
rpm -qf /usr/lib64/mysql
if [ $? -eq 1 ]; then
if [ "$(ls -A /usr/lib64/mysql)" ]; then
mv /usr/lib64/mysql /usr/lib64/.mysql_update_tmp
fi
rm -rf /usr/lib64/{mysql*,mariadb*}
fi
%post devel
if [ -d "/usr/lib64/.mysql_update_tmp" ]; then
if [ "$(ls -A /usr/lib64/.mysql_update_tmp)" ]; then
mv /usr/lib64/.mysql_update_tmp/* /usr/lib64/mysql
rm -rf /usr/lib64/.mysql_update_tmp
fi
fi
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%{_libdir}/mysql/libmariadb.so.*
%dir %{_libdir}/mysql/plugin
%{_libdir}/mysql/plugin/*
# fix of RPATH. If there is a set config file, libdir/mariadb/ is added to search for libraries
%config(noreplace) %{_sysconfdir}/ld.so.conf.d
%doc README
%license COPYING.LIB
%files devel
# program which provides compiler info for programs compiling with this library
%{_bindir}/mariadb_config
%{_bindir}/mysql_config
%dir %{_libdir}/mysql
%{_libdir}/mariadb
%{_libdir}/mysql/libmariadb.so
%{_libdir}/mysql/libmysqlclient.so
%{_libdir}/mysql/libmysqlclient_r.so
# header files
%{_includedir}/*
%license COPYING.LIB
%changelog
* Wed Oct 04 2017 Michal Schorm <mschorm@redhat.com> - 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 <mschorm@redhat.com> - 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 <mschorm@redhat.com> - 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 <hhorak@redhat.com> - 3.0.2-5
- Remove a symlink /usr/lib64/mysql that conflicts with mariadb-libs
* Mon Aug 14 2017 Honza Horak <hhorak@redhat.com> - 3.0.2-4
- Add compatibility symlinks
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Wed Jun 07 2017 Michal Schorm <mschorm@redhat.com> - 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 <mschorm@redhat.com> - 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 <mschorm@redhat.com> - 2.3.2-2
- Fix based on output from RPMLint in previous version
* Tue Jan 24 2017 Michal Schorm <mschorm@redhat.com> - 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 <mschorm@redhat.com> - 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 <mschorm@redhat.com> - 2.3.1-2
- Fixed ownership of {_libdir}/mariadb directory and cosmetic specfile changes
* Tue Sep 13 2016 Michal Schorm <mschorm@redhat.com> - 2.3.1-1
- Rebase to version 2.3.1
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Thu Jul 23 2015 Matej Mužila <mmuzila@redhat.com> - 2.1.0-1
- Rebase to version 2.1.0
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Wed Sep 24 2014 Matej Mužila <mmuzila@redhat.com> - 2.0.0-2
- Fixed html IDs in documentation
* Tue Aug 26 2014 Matej Mužila <mmuzila@redhat.com> - 2.0.0-2
- Initial version for 2.0.0