diff --git a/absolute_path_fix.patch b/absolute_path_fix.patch index 940a7e8..8ff6077 100644 --- a/absolute_path_fix.patch +++ b/absolute_path_fix.patch @@ -2,40 +2,24 @@ Author: Adam Majer Date: Fri Mar 3 15:59:09 CET 2017 Summary: Remove pure ugliness with paths -Index: mariadb-connector-c-2.3.3-src/mariadb_config/mariadb_config.c.in +Index: mariadb-connector-c-3.0.2-src/mariadb_config/mariadb_config.c.in =================================================================== ---- mariadb-connector-c-2.3.3-src.orig/mariadb_config/mariadb_config.c.in -+++ mariadb-connector-c-2.3.3-src/mariadb_config/mariadb_config.c.in -@@ -2,12 +2,12 @@ - #include - #include +--- mariadb-connector-c-3.0.2-src.orig/mariadb_config/mariadb_config.c.in ++++ mariadb-connector-c-3.0.2-src/mariadb_config/mariadb_config.c.in +@@ -5,13 +5,13 @@ --#define INCLUDE "-I@PREFIX_INSTALL_DIR@/@INCLUDE_INSTALL_DIR@/@SUFFIX_INSTALL_DIR@ -I@PREFIX_INSTALL_DIR@/@INCLUDE_INSTALL_DIR@/@SUFFIX_INSTALL_DIR@/mysql" --#define LIBS "-L@PREFIX_INSTALL_DIR@/@LIB_INSTALL_DIR@/@SUFFIX_INSTALL_DIR@ -lmariadb" \ -+#define INCLUDE "-I@INCLUDE_INSTALL_DIR@ -I@INCLUDE_INSTALL_DIR@/mariadb" -+#define LIBS "-L@LIB_INSTALL_DIR@/mariadb -lmariadb" \ + static char *mariadb_progname; + +-#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 INCLUDE "-I@INSTALL_INCLUDEDIR@ -I@INSTALL_INCLUDEDIR@/mariadb" ++#define LIBS "-L@INSTALL_LIBDIR@/mariadb -lmariadb" \ "@extra_dynamic_LDFLAGS@" - #define CFLAGS INCLUDE " @CMAKE_C_FLAGS@" - #define VERSION "@MYSQL_CLIENT_VERSION@" --#define PLUGIN_DIR "@PREFIX_INSTALL_DIR@/@SUFFIX_INSTALL_DIR@/@PLUGIN_INSTALL_DIR@" -+#define PLUGIN_DIR "@PLUGIN_INSTALL_DIR@" - #define SOCKET "@MYSQL_UNIX_ADDR@" - #define PORT "@MYSQL_PORT@" - -Index: mariadb-connector-c-2.3.3-src/libmariadb/CMakeLists.txt -=================================================================== ---- mariadb-connector-c-2.3.3-src.orig/libmariadb/CMakeLists.txt -+++ mariadb-connector-c-2.3.3-src/libmariadb/CMakeLists.txt -@@ -430,9 +430,9 @@ ENDIF() - - INSTALL(TARGETS - libmariadb mariadbclient -- RUNTIME DESTINATION "${LIB_INSTALL_DIR}/${SUFFIX_INSTALL_DIR}" -- LIBRARY DESTINATION "${LIB_INSTALL_DIR}/${SUFFIX_INSTALL_DIR}" -- ARCHIVE DESTINATION "${LIB_INSTALL_DIR}/${SUFFIX_INSTALL_DIR}") -+ RUNTIME DESTINATION "${LIB_INSTALL_DIR}" -+ LIBRARY DESTINATION "${LIB_INSTALL_DIR}" -+ ARCHIVE DESTINATION "${LIB_INSTALL_DIR}") - - INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ - DESTINATION ${INCLUDE_INSTALL_DIR}/${SUFFIX_INSTALL_DIR}) + #define LIBS_SYS "@extra_dynamic_LDFLAGS@" + #define CFLAGS INCLUDE + #define VERSION "@MARIADB_CLIENT_VERSION@" +-#define PLUGIN_DIR "@CMAKE_INSTALL_PREFIX@/@INSTALL_PLUGINDIR@" ++#define PLUGIN_DIR "@INSTALL_PLUGINDIR@" + #define SOCKET "@MARIADB_UNIX_ADDR@" + #define PORT "@MARIADB_PORT@" + #define TLS_LIBRARY_VERSION "@TLS_LIBRARY_VERSION@" diff --git a/mariadb-connector-c-2.3.1_unresolved_symbols.patch b/mariadb-connector-c-2.3.1_unresolved_symbols.patch index 34fa82b..a97f3ab 100644 --- a/mariadb-connector-c-2.3.1_unresolved_symbols.patch +++ b/mariadb-connector-c-2.3.1_unresolved_symbols.patch @@ -1,12 +1,12 @@ -Index: mariadb-connector-c-2.3.1/plugins/auth/CMakeLists.txt +Index: mariadb-connector-c-3.0.2-src/plugins/auth/CMakeLists.txt =================================================================== ---- mariadb-connector-c-2.3.1.orig/plugins/auth/CMakeLists.txt -+++ mariadb-connector-c-2.3.1/plugins/auth/CMakeLists.txt -@@ -11,6 +11,7 @@ IF(WIN32) - SET(DIALOG_SOURCES ${DIALOG_SOURCES} ${CMAKE_SOURCE_DIR}/plugins/plugin.def) - ENDIF() - ADD_LIBRARY(dialog SHARED ${dialog_RC} ${DIALOG_SOURCES}) -+TARGET_LINK_LIBRARIES(dialog dl) - SET_TARGET_PROPERTIES(dialog PROPERTIES PREFIX "") - SIGN_TARGET(dialog) - +--- mariadb-connector-c-3.0.2-src.orig/plugins/auth/CMakeLists.txt ++++ mariadb-connector-c-3.0.2-src/plugins/auth/CMakeLists.txt +@@ -21,6 +21,7 @@ IF(AUTH_DIALOG_PLUGIN_TYPE MATCHES "DYNA + SET(DIALOG_SOURCES ${DIALOG_SOURCES} ${CC_SOURCE_DIR}/plugins/plugin.def) + ENDIF() + ADD_LIBRARY(dialog MODULE ${DIALOG_SOURCES}) ++ TARGET_LINK_LIBRARIES(dialog dl) + SET_TARGET_PROPERTIES(dialog PROPERTIES PREFIX "") + SIGN_TARGET(dialog) + INSTALL_PLUGIN(dialog ${CC_BINARY_DIR}/plugins/auth) diff --git a/mariadb-connector-c-2.3.3-src.tar.gz b/mariadb-connector-c-2.3.3-src.tar.gz deleted file mode 100644 index 9d06ae4..0000000 --- a/mariadb-connector-c-2.3.3-src.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:82a5710134e7654b9cad58964d6a25ed91b3dc1804ff51e8be2def0032914089 -size 537738 diff --git a/mariadb-connector-c-2.3.3-src.tar.gz.asc b/mariadb-connector-c-2.3.3-src.tar.gz.asc deleted file mode 100644 index ed5df00..0000000 --- a/mariadb-connector-c-2.3.3-src.tar.gz.asc +++ /dev/null @@ -1,11 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2 - -iQEcBAABCAAGBQJZLaBiAAoJEM4aPdXjyU9JdZ8H/iYT1L6PfAsO8bB2DcPG7Ixi -wwymNU2v2CTRIIiWvjlOVC3k3oIrhVdnEKTOKTc9kKc3TKFq8dujzog86qGB5gG1 -A1mXZvoipz5D+PU0h614WecNi2VgDgIZr89ka/6cYUM3TKPBC1De0PQx9vbHntnn -jL4Dzw8PJwPSkt+Ngk9iU5Ft+qS3BCtO2Ws1EGvmGxcW+QBrOUKdFNL+bBtI7oLz -a57VwoTXCBZ4SA7ZFAdrshN515DAriCk1ldvsfQhPqPwsdXOpJwxst7Q6I2bZ8YR -Ltmv3vVuoQdPEmS0SwTjApSt82JiejRS5euTczCnQ9MEf7tOrh3mwOwuUCa6Ql8= -=W0+a ------END PGP SIGNATURE----- diff --git a/mariadb-connector-c-3.0.2-src.tar.gz b/mariadb-connector-c-3.0.2-src.tar.gz new file mode 100644 index 0000000..b2b3d03 --- /dev/null +++ b/mariadb-connector-c-3.0.2-src.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:518d14b8d77838370767d73f9bf1674f46232e1a2a34d4195bd38f52a3033758 +size 662569 diff --git a/mariadb-connector-c-3.0.2-src.tar.gz.asc b/mariadb-connector-c-3.0.2-src.tar.gz.asc new file mode 100644 index 0000000..f5d6cca --- /dev/null +++ b/mariadb-connector-c-3.0.2-src.tar.gz.asc @@ -0,0 +1,11 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2 + +iQEcBAABCAAGBQJZcM5uAAoJEM4aPdXjyU9JkZ8H/Rg3zVcfYukS9GKM5/JhfrMX +/Cy0ideQtuGbgtEQJFFASC1d0Nnc2EoQj+xO0R6R0mvUV5FKT/CS28RrcgXvZEyu +3yy5amq3YbaMojqqevms+5TDbhjGFy0SceBSNU2NOYdFjhorFPwqptXDoyb1Xrno +DiUAFLmY4n+vlUZYmMgMXt/nz7I6+u/zUEvCBo38HmIZwTPrw0/xXQsk8WW697yK +2+O59RqKFF0qQGQBKl7MRdbDGXSdxlzYwWBXcB/P1mxO3Ac1TvO0NVIqdcKLsRvo +x70bzHtBeXwTjvYCZTKArwz/xh+uQioqgZh3ds4ZDcgovMSwpWNHJ3nhdLX8SMc= +=A5ve +-----END PGP SIGNATURE----- diff --git a/mariadb-connector-c.changes b/mariadb-connector-c.changes index 12eda1e..3edf726 100644 --- a/mariadb-connector-c.changes +++ b/mariadb-connector-c.changes @@ -1,3 +1,36 @@ +------------------------------------------------------------------- +Fri Sep 29 11:05:34 UTC 2017 - kstreitova@suse.com + +- move libraries to %{_libdir}/mariadb/ to avoid a conflict + +------------------------------------------------------------------- +Thu Sep 14 15:08:28 UTC 2017 - kstreitova@suse.com + +- add README and COPYING.LIB to %doc + +------------------------------------------------------------------- +Tue Aug 22 15:21:41 UTC 2017 - kstreitova@suse.com + +- New upstream version 3.0.2 + * Array support for prepared statements (bulk operations) + * TLS/SSL support for GnuTLS, Windows SChannel and LibreSSL + * Support for passphrase protected keys + * SHA256 authentication plugin +- refreshed + * mariadb-connector-c-2.3.1_unresolved_symbols.patch + * absolute_path_fix.patch + * private_library.patch +- change sover from 2 to 3 +- tweak build options + * DMYSQL_UNIX_ADDR is now DMARIADB_UNIX_ADDR + * DPLUGIN_INSTALL_DIR is now DINSTALL_PLUGINDIR + * add DINSTALL_LIBDIR, WITH_MYSQLCOMPAT and DWITH_SSL +- now we build also the following plugins: + * auth_gssapi_client.so + * remote_io.so + * sha256_password.so +- move libmysqlclient* libraries to %{_libdir} + ------------------------------------------------------------------- Tue Aug 8 08:14:58 UTC 2017 - jengelh@inai.de diff --git a/mariadb-connector-c.spec b/mariadb-connector-c.spec index 1b3003c..94e360a 100644 --- a/mariadb-connector-c.spec +++ b/mariadb-connector-c.spec @@ -17,7 +17,7 @@ %bcond_with sqlite3 -%define sover 2 +%define sover 3 %define libname libmariadb %if ! %{defined _rundir} @@ -25,7 +25,7 @@ %endif Name: mariadb-connector-c -Version: 2.3.3 +Version: 3.0.2 Release: 0 Summary: MariaDB connector in C License: LGPL-2.1+ @@ -107,36 +107,43 @@ This package holds the development files. -DWITH_SQLITE:BOOL=ON \ %endif -DWITH_EXTERNAL_ZLIB:BOOL=ON \ - -DPLUGIN_INSTALL_DIR:STRING=%{_libdir}/mariadb/plugin/ \ - -DMYSQL_UNIX_ADDR:STRING=%{_rundir}/mysql/mysql.sock + -DMARIADB_UNIX_ADDR:STRING=%{_rundir}/mysql/mysql.sock \ + -DINSTALL_LIBDIR:STRING=%{_libdir}/mariadb \ + -DINSTALL_PLUGINDIR:STRING=%{_libdir}/mariadb/plugin/ \ + -DWITH_MYSQLCOMPAT=ON \ + -DWITH_SSL=OPENSSL make %{?_smp_mflags} %install %cmake_install -rm %{buildroot}%{_includedir}/mariadb/CMakeLists.txt - -rm %{buildroot}%{_libdir}/mariadb/*.a -rm %{buildroot}%{_libdir}/*.a +# remove static linked libraries +rm %{buildroot}%{_libdir}/mariadb/libmariadbclient.a +rm %{buildroot}%{_libdir}/mariadb/libmysqlclient.a +rm %{buildroot}%{_libdir}/mariadb/libmysqlclient_r.a %files -n %{libname}%{sover} %defattr(-,root,root) -%{_libdir}/libmariadb.so.%{sover} +%doc README COPYING.LIB +%{_libdir}/mariadb/libmariadb.so.%{sover} %files -n %{libname}_plugins %dir %{_libdir}/mariadb/ %dir %{_libdir}/mariadb/plugin/ %{_libdir}/mariadb/plugin/dialog.so %{_libdir}/mariadb/plugin/mysql_clear_password.so +%{_libdir}/mariadb/plugin/auth_gssapi_client.so +%{_libdir}/mariadb/plugin/remote_io.so +%{_libdir}/mariadb/plugin/sha256_password.so %files -n %{libname}private -%{_libdir}/libmariadbprivate.so +%{_libdir}/mariadb/libmariadbprivate.so %files -n %{libname}-devel %defattr(-,root,root) %{_bindir}/mariadb_config %{_includedir}/mariadb/ -%{_libdir}/libmariadb.so +%{_libdir}/mariadb/libmariadb.so %{_libdir}/mariadb/libmysqlclient.so %{_libdir}/mariadb/libmysqlclient_r.so diff --git a/private_library.patch b/private_library.patch index cfefab9..7554d7d 100644 --- a/private_library.patch +++ b/private_library.patch @@ -8,13 +8,13 @@ static linking, create a private shared library that simply exports all symbols. With the exception of exported symbols, it is identical to the regular library. -Index: mariadb-connector-c-2.3.2-src/libmariadb/CMakeLists.txt +Index: mariadb-connector-c-3.0.2-src/libmariadb/CMakeLists.txt =================================================================== ---- mariadb-connector-c-2.3.2-src.orig/libmariadb/CMakeLists.txt -+++ mariadb-connector-c-2.3.2-src/libmariadb/CMakeLists.txt -@@ -397,13 +397,22 @@ IF(UNIX) +--- mariadb-connector-c-3.0.2-src.orig/libmariadb/CMakeLists.txt ++++ mariadb-connector-c-3.0.2-src/libmariadb/CMakeLists.txt +@@ -400,16 +400,24 @@ IF(CMAKE_SIZEOF_VOID_P EQUAL 8 AND MSVC) + SET_TARGET_PROPERTIES(mariadbclient PROPERTIES STATIC_LIBRARY_FLAGS "/machine:x64") ENDIF() - SIGN_TARGET(libmariadb) +ADD_LIBRARY(libmariadbprivate SHARED ${libmariadb_RC} $ ${EMPTY_FILE} ${EXPORT_LINK}) +TARGET_LINK_LIBRARIES(libmariadbprivate ${SYSTEM_LIBS}) @@ -23,57 +23,60 @@ Index: mariadb-connector-c-2.3.2-src/libmariadb/CMakeLists.txt +ENDIF() + IF(CMAKE_SYSTEM_NAME MATCHES "Linux") - TARGET_LINK_LIBRARIES (libmariadb "-Wl,--no-undefined") - TARGET_LINK_LIBRARIES (libmariadb "-Wl,--version-script=${EXPORT_FILE}") - TARGET_LINK_LIBRARIES (mariadbclient "-Wl,--no-undefined") - TARGET_LINK_LIBRARIES (mariadbclient "-Wl,--version-script=${EXPORT_FILE}") + IF (NOT WITH_ASAN) + TARGET_LINK_LIBRARIES (libmariadb "-Wl,--no-undefined") + ENDIF() + TARGET_LINK_LIBRARIES (libmariadb "-Wl,--version-script=${CC_BINARY_DIR}/libmariadb/mariadbclient.def") + TARGET_LINK_LIBRARIES (libmariadbprivate "-Wl,--no-undefined") ENDIF() + SET_TARGET_PROPERTIES(mariadbclient PROPERTIES IMPORTED_INTERFACE_LINK_LIBRARIES "${SYSTEM_LIBS}") + SET_TARGET_PROPERTIES(libmariadb PROPERTIES IMPORTED_INTERFACE_LINK_LIBRARIES "${SYSTEM_LIBS}") + +SET_TARGET_PROPERTIES(libmariadbprivate PROPERTIES PREFIX "") -+ SET_TARGET_PROPERTIES(libmariadb PROPERTIES PREFIX "") - SET_TARGET_PROPERTIES(libmariadb PROPERTIES VERSION -@@ -429,7 +438,7 @@ ENDIF() + # +@@ -439,6 +447,9 @@ INSTALL(TARGETS mariadbclient + INSTALL(TARGETS libmariadb + COMPONENT SharedLibraries + DESTINATION ${INSTALL_LIBDIR}) ++INSTALL(TARGETS libmariadbprivate ++ COMPONENT SharedLibraries ++ DESTINATION ${INSTALL_LIBDIR}) - - INSTALL(TARGETS -- libmariadb mariadbclient -+ libmariadb libmariadbprivate mariadbclient - RUNTIME DESTINATION "${LIB_INSTALL_DIR}" - LIBRARY DESTINATION "${LIB_INSTALL_DIR}" - ARCHIVE DESTINATION "${LIB_INSTALL_DIR}") -Index: mariadb-connector-c-2.3.2-src/mariadb_config/mariadb_config.c.in + IF(WIN32) + # On Windows, install PDB +Index: mariadb-connector-c-3.0.2-src/mariadb_config/mariadb_config.c.in =================================================================== ---- mariadb-connector-c-2.3.2-src.orig/mariadb_config/mariadb_config.c.in -+++ mariadb-connector-c-2.3.2-src/mariadb_config/mariadb_config.c.in -@@ -6,6 +6,8 @@ - #define INCLUDE "-I@INCLUDE_INSTALL_DIR@ -I@INCLUDE_INSTALL_DIR@/mariadb" - #define LIBS "-L@LIB_INSTALL_DIR@/mariadb -lmariadb" \ +--- mariadb-connector-c-3.0.2-src.orig/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; + #define INCLUDE "-I@INSTALL_INCLUDEDIR@ -I@INSTALL_INCLUDEDIR@/mariadb" + #define LIBS "-L@INSTALL_LIBDIR@/mariadb -lmariadb" \ "@extra_dynamic_LDFLAGS@" -+#define PRIVATE_LIBS "-L@LIB_INSTALL_DIR@/mariadb -lmariadbprivate" \ ++#define PRIVATE_LIBS "-L@INSTALL_LIBDIR@/mariadb -lmariadbprivate" \ + "@extra_dynamic_LDFLAGS@" - #define CFLAGS INCLUDE " @CMAKE_C_FLAGS@" - #define VERSION "@MYSQL_CLIENT_VERSION@" - #define PLUGIN_DIR "@PLUGIN_INSTALL_DIR@" -@@ -22,6 +24,7 @@ static struct option long_options[]= + #define LIBS_SYS "@extra_dynamic_LDFLAGS@" + #define CFLAGS INCLUDE + #define VERSION "@MARIADB_CLIENT_VERSION@" +@@ -27,6 +29,7 @@ static struct option long_options[]= {"version", no_argument, 0, 'f'}, {"socket", no_argument, 0, 'g'}, {"port", no_argument, 0, 'h'}, + {"privatelibs", no_argument, 0, 'i'}, {"plugindir", no_argument, 0, 'p'}, + {"tlsinfo", no_argument, 0, 't'}, {NULL, 0, 0, 0} - }; -@@ -36,6 +39,7 @@ static char *values[]= +@@ -43,6 +46,7 @@ static const char *values[]= VERSION, SOCKET, PORT, + PRIVATE_LIBS, - PLUGIN_DIR + PLUGIN_DIR, + TLS_LIBRARY_VERSION }; - -@@ -92,6 +96,9 @@ int main(int argc, char **argv) +@@ -101,6 +105,9 @@ int main(int argc, char **argv) case 'h': puts(PORT); break; @@ -83,25 +86,3 @@ Index: mariadb-connector-c-2.3.2-src/mariadb_config/mariadb_config.c.in case 'p': puts(PLUGIN_DIR); break; -Index: mariadb-connector-c-2.3.2-src/plugins/auth/CMakeLists.txt -=================================================================== ---- mariadb-connector-c-2.3.2-src.orig/plugins/auth/CMakeLists.txt -+++ mariadb-connector-c-2.3.2-src/plugins/auth/CMakeLists.txt -@@ -10,7 +10,7 @@ IF(WIN32) - "FILE_DESCRIPTION:Authentication plugin") - SET(DIALOG_SOURCES ${DIALOG_SOURCES} ${CMAKE_SOURCE_DIR}/plugins/plugin.def) - ENDIF() --ADD_LIBRARY(dialog SHARED ${dialog_RC} ${DIALOG_SOURCES}) -+ADD_LIBRARY(dialog MODULE ${dialog_RC} ${DIALOG_SOURCES}) - TARGET_LINK_LIBRARIES(dialog dl) - SET_TARGET_PROPERTIES(dialog PROPERTIES PREFIX "") - SIGN_TARGET(dialog) -@@ -32,7 +32,7 @@ IF(WIN32) - "FILE_DESCRIPTION:Authentication plugin") - SET(CTEXT_SOURCES ${CTEXT_SOURCES} ${CMAKE_SOURCE_DIR}/plugins/plugin.def) - ENDIF() --ADD_LIBRARY(mysql_clear_password SHARED ${mysql_clear_password_RC} ${CTEXT_SOURCES}) -+ADD_LIBRARY(mysql_clear_password MODULE ${mysql_clear_password_RC} ${CTEXT_SOURCES}) - SET_TARGET_PROPERTIES(mysql_clear_password PROPERTIES PREFIX "") - SIGN_TARGET(mysql_clear_password) -