Dominique Leuenberger 2017-11-07 09:04:39 +00:00 committed by Git OBS Bridge
parent fec2be8f6c
commit b6b55121fa
5 changed files with 91 additions and 22 deletions

View File

@ -13,7 +13,7 @@ Index: mariadb-connector-c-3.0.2-src/mariadb_config/mariadb_config.c.in
-#define INCLUDE "-I@CMAKE_INSTALL_PREFIX@/@INSTALL_INCLUDEDIR@ -I@CMAKE_INSTALL_PREFIX@/@INSTALL_INCLUDEDIR@/mysql" -#define INCLUDE "-I@CMAKE_INSTALL_PREFIX@/@INSTALL_INCLUDEDIR@ -I@CMAKE_INSTALL_PREFIX@/@INSTALL_INCLUDEDIR@/mysql"
-#define LIBS "-L@CMAKE_INSTALL_PREFIX@/@INSTALL_LIBDIR@/ -lmariadb "\ -#define LIBS "-L@CMAKE_INSTALL_PREFIX@/@INSTALL_LIBDIR@/ -lmariadb "\
+#define INCLUDE "-I@INSTALL_INCLUDEDIR@ -I@INSTALL_INCLUDEDIR@/mariadb" +#define INCLUDE "-I@INSTALL_INCLUDEDIR@ -I@INSTALL_INCLUDEDIR@/mariadb"
+#define LIBS "-L@INSTALL_LIBDIR@/mariadb -lmariadb" \ +#define LIBS "-L@INSTALL_LIBDIR@ -lmariadb "\
"@extra_dynamic_LDFLAGS@" "@extra_dynamic_LDFLAGS@"
#define LIBS_SYS "@extra_dynamic_LDFLAGS@" #define LIBS_SYS "@extra_dynamic_LDFLAGS@"
#define CFLAGS INCLUDE #define CFLAGS INCLUDE
@ -23,3 +23,26 @@ Index: mariadb-connector-c-3.0.2-src/mariadb_config/mariadb_config.c.in
#define SOCKET "@MARIADB_UNIX_ADDR@" #define SOCKET "@MARIADB_UNIX_ADDR@"
#define PORT "@MARIADB_PORT@" #define PORT "@MARIADB_PORT@"
#define TLS_LIBRARY_VERSION "@TLS_LIBRARY_VERSION@" #define TLS_LIBRARY_VERSION "@TLS_LIBRARY_VERSION@"
Index: mariadb-connector-c-3.0.2-src/mariadb_config/libmariadb.pc.in
===================================================================
--- mariadb-connector-c-3.0.2-src.orig/mariadb_config/libmariadb.pc.in
+++ mariadb-connector-c-3.0.2-src/mariadb_config/libmariadb.pc.in
@@ -6,14 +6,14 @@
# Dan Nicholsons Guide to pkg-config (http://www.freedesktop.org/wiki/Software/pkg-config/)
#
-includedir=@PREFIX_INSTALL_DIR@/@INCLUDE_INSTALL_DIR@/@SUFFIX_INSTALL_DIR@
-libdir=@PREFIX_INSTALL_DIR@/@INCLUDE_INSTALL_DIR@/@SUFFIX_INSTALL_DIR@
+includedir=@INCLUDE_INSTALL_DIR@
+libdir=@INCLUDE_INSTALL_DIR@
prefix=@PREFIX_INSTALL_DIR@
Name: libmariadb
Version: @LIBMARIADB_VERSION@
Description: MariaDB Connector/C dynamic library
-Cflags: -I@PREFIX_INSTALL_DIR@/@INCLUDE_INSTALL_DIR@/@SUFFIX_INSTALL_DIR@ @CMAKE_C_FLAGS@
-Libs: -L@PREFIX_INSTALL_DIR@/@LIB_INSTALL_DIR@/@SUFFIX_INSTALL_DIR@ -lmariadb @extra_dynamic_LDFLAGS@
+Cflags: -I@INCLUDE_INSTALL_DIR@ @CMAKE_C_FLAGS@
+Libs: -L@LIB_INSTALL_DIR@ -lmariadb @extra_dynamic_LDFLAGS@

3
baselibs.conf Normal file
View File

@ -0,0 +1,3 @@
libmariadb3
provides "libmysqlclient.so.18"
provides "libmysqlclient.so.18(libmysqlclient_18)"

View File

@ -1,3 +1,16 @@
-------------------------------------------------------------------
Thu Nov 2 17:07:25 UTC 2017 - kstreitova@suse.com
- mariadb-connector-c is now a provider of the libmariadb library
for mariadb and others
- add compatibility symlinks and Provides/Obsoletes
- change LIBDIR, INCLUDEDIR and PLUGINDIR paths to be the same as
it was in the mariadb package (compatibility reasons)
- add baselibs.conf
- add %{mariadb_version} macro that should correspond with the
current version of the mariadb package
- refresh absolute_path_fix.patch and private_library.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Sep 29 11:05:34 UTC 2017 - kstreitova@suse.com Fri Sep 29 11:05:34 UTC 2017 - kstreitova@suse.com

View File

@ -19,7 +19,8 @@
%bcond_with sqlite3 %bcond_with sqlite3
%define sover 3 %define sover 3
%define libname libmariadb %define libname libmariadb
# equivalent mariadb version
%define mariadb_version 10.2.10
%if ! %{defined _rundir} %if ! %{defined _rundir}
%define _rundir %{_localstatedir}/run %define _rundir %{_localstatedir}/run
%endif %endif
@ -35,6 +36,7 @@ Source: https://downloads.mariadb.com/Connectors/c/connector-c-%{version
Source1: https://downloads.mariadb.com/Connectors/c/connector-c-%{version}/%{name}-%{version}-src.tar.gz.asc Source1: https://downloads.mariadb.com/Connectors/c/connector-c-%{version}/%{name}-%{version}-src.tar.gz.asc
# Imported from keyserver based on keyid @ https://mariadb.com/kb/en/mariadb-enterprise/mariadb-enterprise-installation-guide/ # Imported from keyserver based on keyid @ https://mariadb.com/kb/en/mariadb-enterprise/mariadb-enterprise-installation-guide/
Source2: mariadb.keyring Source2: mariadb.keyring
Source3: baselibs.conf
Patch1: mariadb-connector-c-2.3.1_unresolved_symbols.patch Patch1: mariadb-connector-c-2.3.1_unresolved_symbols.patch
Patch3: absolute_path_fix.patch Patch3: absolute_path_fix.patch
Patch4: private_library.patch Patch4: private_library.patch
@ -55,7 +57,15 @@ C or C++ to MariaDB and MySQL databases.
%package -n %{libname}%{sover} %package -n %{libname}%{sover}
Summary: MariaDB connector in C Summary: MariaDB connector in C
# Compatibility Provides
Group: System/Libraries Group: System/Libraries
%if 0%{?__isa_bits} == 64
Provides: libmysqlclient.so.18()(64bit)
Provides: libmysqlclient.so.18(libmysqlclient_18)(64bit)
%else
Provides: libmysqlclient.so.18
Provides: libmysqlclient.so.18(libmysqlclient_18)
%endif
%description -n %{libname}%{sover} %description -n %{libname}%{sover}
MariaDB Connector is used to connect applications developed in MariaDB Connector is used to connect applications developed in
@ -65,7 +75,12 @@ This package holds the runtime components.
%package -n %{libname}_plugins %package -n %{libname}_plugins
Summary: Plugins for the MariaDB C Connector Summary: Plugins for the MariaDB C Connector
# We need "Conflicts" because we moved some plugins here:
# dialog.so was in mariadb-client package
# mysql_clear_password.so was in mariadb package
Group: System/Libraries Group: System/Libraries
Conflicts: mariadb-client <= 10.1.25
Conflicts: mariadb <= 10.1.25
%description -n %{libname}_plugins %description -n %{libname}_plugins
MariaDB Connector is used to connect applications developed in MariaDB Connector is used to connect applications developed in
@ -86,6 +101,14 @@ This package holds the runtime components with private API.
%package -n %{libname}-devel %package -n %{libname}-devel
Requires: %{libname}%{sover} = %{version} Requires: %{libname}%{sover} = %{version}
Requires: pkgconfig(openssl) Requires: pkgconfig(openssl)
# mysql-devel needs to be provided as some pkgs still depend on it
Provides: mysql-devel = %{mariadb_version}
Obsoletes: mysql-devel < %{mariadb_version}
Provides: libmysqlclient-devel = %{mariadb_version}
Obsoletes: libmysqlclient-devel < %{mariadb_version}
# libmysqlclient_r.so was in libmysqlclient_r18 subpackage, now it's here
Provides: libmysqlclient_r18 = %{mariadb_version}
Obsoletes: libmysqlclient_r18 < %{mariadb_version}
Summary: Development files for the MariaDB Connector C API Summary: Development files for the MariaDB Connector C API
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
@ -108,8 +131,9 @@ This package holds the development files.
%endif %endif
-DWITH_EXTERNAL_ZLIB:BOOL=ON \ -DWITH_EXTERNAL_ZLIB:BOOL=ON \
-DMARIADB_UNIX_ADDR:STRING=%{_rundir}/mysql/mysql.sock \ -DMARIADB_UNIX_ADDR:STRING=%{_rundir}/mysql/mysql.sock \
-DINSTALL_LIBDIR:STRING=%{_libdir}/mariadb \ -DINSTALL_LIBDIR:STRING=%{_libdir} \
-DINSTALL_PLUGINDIR:STRING=%{_libdir}/mariadb/plugin/ \ -DINSTALL_INCLUDEDIR:STRING=%{_includedir}/mysql \
-DINSTALL_PLUGINDIR:STRING=%{_libdir}/mysql/plugin/ \
-DWITH_MYSQLCOMPAT=ON \ -DWITH_MYSQLCOMPAT=ON \
-DWITH_SSL=OPENSSL -DWITH_SSL=OPENSSL
make %{?_smp_mflags} make %{?_smp_mflags}
@ -118,34 +142,40 @@ make %{?_smp_mflags}
%cmake_install %cmake_install
# remove static linked libraries # remove static linked libraries
rm %{buildroot}%{_libdir}/mariadb/libmariadbclient.a rm %{buildroot}%{_libdir}/libmariadbclient.a
rm %{buildroot}%{_libdir}/mariadb/libmysqlclient.a rm %{buildroot}%{_libdir}/libmysqlclient.a
rm %{buildroot}%{_libdir}/mariadb/libmysqlclient_r.a rm %{buildroot}%{_libdir}/libmysqlclient_r.a
# add a compatibility symlink
ln -s mariadb_config %{buildroot}%{_bindir}/mysql_config
ln -s mariadb_version.h %{buildroot}%{_includedir}/mysql/mysql_version.h
%files -n %{libname}%{sover} %files -n %{libname}%{sover}
%defattr(-,root,root) %defattr(-,root,root)
%doc README COPYING.LIB %doc README COPYING.LIB
%{_libdir}/mariadb/libmariadb.so.%{sover} %{_libdir}/libmariadb.so.%{sover}
%files -n %{libname}_plugins %files -n %{libname}_plugins
%dir %{_libdir}/mariadb/ %dir %{_libdir}/mysql/
%dir %{_libdir}/mariadb/plugin/ %dir %{_libdir}/mysql/plugin/
%{_libdir}/mariadb/plugin/dialog.so %{_libdir}/mysql/plugin/dialog.so
%{_libdir}/mariadb/plugin/mysql_clear_password.so %{_libdir}/mysql/plugin/mysql_clear_password.so
%{_libdir}/mariadb/plugin/auth_gssapi_client.so %{_libdir}/mysql/plugin/auth_gssapi_client.so
%{_libdir}/mariadb/plugin/remote_io.so %{_libdir}/mysql/plugin/remote_io.so
%{_libdir}/mariadb/plugin/sha256_password.so %{_libdir}/mysql/plugin/sha256_password.so
%files -n %{libname}private %files -n %{libname}private
%{_libdir}/mariadb/libmariadbprivate.so %{_libdir}/libmariadbprivate.so
%files -n %{libname}-devel %files -n %{libname}-devel
%defattr(-,root,root) %defattr(-,root,root)
%{_bindir}/mariadb_config %{_bindir}/mariadb_config
%{_includedir}/mariadb/ %{_bindir}/mysql_config
%{_libdir}/mariadb/libmariadb.so %dir %{_includedir}/mysql
%{_libdir}/mariadb/libmysqlclient.so %{_includedir}/mysql/*
%{_libdir}/mariadb/libmysqlclient_r.so %{_libdir}/libmariadb.so
%{_libdir}/libmysqlclient.so
%{_libdir}/libmysqlclient_r.so
%post -n %{libname}%{sover} -p /sbin/ldconfig %post -n %{libname}%{sover} -p /sbin/ldconfig
%post -n %{libname}private -p /sbin/ldconfig %post -n %{libname}private -p /sbin/ldconfig

View File

@ -53,9 +53,9 @@ Index: mariadb-connector-c-3.0.2-src/mariadb_config/mariadb_config.c.in
+++ mariadb-connector-c-3.0.2-src/mariadb_config/mariadb_config.c.in +++ mariadb-connector-c-3.0.2-src/mariadb_config/mariadb_config.c.in
@@ -8,6 +8,8 @@ static char *mariadb_progname; @@ -8,6 +8,8 @@ static char *mariadb_progname;
#define INCLUDE "-I@INSTALL_INCLUDEDIR@ -I@INSTALL_INCLUDEDIR@/mariadb" #define INCLUDE "-I@INSTALL_INCLUDEDIR@ -I@INSTALL_INCLUDEDIR@/mariadb"
#define LIBS "-L@INSTALL_LIBDIR@/mariadb -lmariadb" \ #define LIBS "-L@INSTALL_LIBDIR@ -lmariadb "\
"@extra_dynamic_LDFLAGS@" "@extra_dynamic_LDFLAGS@"
+#define PRIVATE_LIBS "-L@INSTALL_LIBDIR@/mariadb -lmariadbprivate" \ +#define PRIVATE_LIBS "-L@INSTALL_LIBDIR@ -lmariadbprivate " \
+ "@extra_dynamic_LDFLAGS@" + "@extra_dynamic_LDFLAGS@"
#define LIBS_SYS "@extra_dynamic_LDFLAGS@" #define LIBS_SYS "@extra_dynamic_LDFLAGS@"
#define CFLAGS INCLUDE #define CFLAGS INCLUDE