git: 2eee60381d40 - main - databases/mysql-connector-c: Remove expired port:

From: Muhammad Moinur Rahman <bofh_at_FreeBSD.org>
Date: Fri, 31 Mar 2023 00:01:37 UTC
The branch main has been updated by bofh:

URL: https://cgit.FreeBSD.org/ports/commit/?id=2eee60381d402480fbbffaa5e932158654cf1254

commit 2eee60381d402480fbbffaa5e932158654cf1254
Author:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
AuthorDate: 2023-03-25 13:43:33 +0000
Commit:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2023-03-30 23:59:35 +0000

    databases/mysql-connector-c: Remove expired port:
    
    2023-03-31 databases/mysql-connector-c: C Connector is included in mysql packages since 5.6
---
 MOVED                                              |  1 +
 databases/Makefile                                 |  1 -
 databases/mysql-connector-c/Makefile               | 38 ----------
 databases/mysql-connector-c/distinfo               |  3 -
 .../extra-patch-mysys__ssl_my__aes__openssl.cc     | 81 ----------------------
 .../files/extra-patch-vio_viosslfactories.c        | 43 ------------
 .../mysql-connector-c/files/patch-CMakeLists.txt   | 11 ---
 .../files/patch-cmake_install__layout.cmake        | 21 ------
 .../files/patch-cmake_install__macros.cmake        | 13 ----
 .../mysql-connector-c/files/patch-cmake_ssl.cmake  | 21 ------
 .../files/patch-libmysql_CMakeLists.txt            | 11 ---
 .../patch-sql-common_client__authentication.cc     | 15 ----
 databases/mysql-connector-c/pkg-descr              |  3 -
 databases/mysql-connector-c/pkg-plist              | 71 -------------------
 14 files changed, 1 insertion(+), 332 deletions(-)

diff --git a/MOVED b/MOVED
index 3c539d7a8af9..ee14dca2da46 100644
--- a/MOVED
+++ b/MOVED
@@ -17846,3 +17846,4 @@ audio/vo-aacenc||2023-03-31|Has expired: Obsolete AAC encoder library, consider
 audio/wav2cdr||2023-03-31|Has expired: Obsolete utility, consider using multimedia/ffmpeg
 databases/mongodb36-tools|databases/mongodb40-tools|2023-03-31|Has expired: Upstream EOL reached on 2021-04-30
 databases/mongodb36|databases/mongodb40|2023-03-31|Has expired: Upstream EOL reached on 2021-04-30
+databases/mysql-connector-c||2023-03-31|Has expired: C Connector is included in mysql packages since 5.6
diff --git a/databases/Makefile b/databases/Makefile
index ae005bc6004b..32b05e235f23 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -198,7 +198,6 @@
     SUBDIR += mydumper
     SUBDIR += mysac
     SUBDIR += mysql++
-    SUBDIR += mysql-connector-c
     SUBDIR += mysql-connector-c++
     SUBDIR += mysql-connector-java
     SUBDIR += mysql-connector-java51
diff --git a/databases/mysql-connector-c/Makefile b/databases/mysql-connector-c/Makefile
deleted file mode 100644
index 2d902aed6a4c..000000000000
--- a/databases/mysql-connector-c/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-PORTNAME=	mysql-connector-c
-PORTVERSION=	6.1.11
-PORTREVISION=	1
-CATEGORIES=	databases
-MASTER_SITES=	MYSQL/Connector-C
-DISTNAME=	${PORTNAME}-${PORTVERSION}-src
-
-MAINTAINER=	bofh@FreeBSD.org
-COMMENT=	MySQL database connector for C
-WWW=		https://dev.mysql.com/downloads/c-api/
-
-LICENSE=	GPLv2
-LICENSE_FILE=	${WRKSRC}/COPYING
-
-DEPRECATED=	C Connector is included in mysql packages since 5.6
-EXPIRATION_DATE=	2023-03-31
-
-USES=		cmake compiler:features mysql ssl
-USE_LDCONFIG=	${PREFIX}/lib/${PORTNAME}
-
-CMAKE_ARGS+=	-DOPENSSL_INCLUDE_DIR="${OPENSSLINC}"
-
-PLIST_SUB+=	PORTVERSION=${PORTVERSION}
-
-.include <bsd.port.pre.mk>
-
-.if (${OPSYS} == FreeBSD && ${SSL_DEFAULT} == base) || ${SSL_DEFAULT} == openssl
-EXTRA_PATCHES+=	${FILESDIR}/extra-patch-vio_viosslfactories.c \
-		${FILESDIR}/extra-patch-mysys__ssl_my__aes__openssl.cc
-.endif
-
-.if ${SSL_DEFAULT} == base
-CMAKE_ARGS+=	-DWITH_SSL="system"
-.else
-CMAKE_ARGS+=	-DWITH_SSL="${OPENSSLBASE}"
-.endif
-
-.include <bsd.port.post.mk>
diff --git a/databases/mysql-connector-c/distinfo b/databases/mysql-connector-c/distinfo
deleted file mode 100644
index d07f9e1e726b..000000000000
--- a/databases/mysql-connector-c/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1501858684
-SHA256 (mysql-connector-c-6.1.11-src.tar.gz) = c8664851487200162b38b6f3c8db69850bd4f0e4c5ff5a6d161dbfb5cb76b6c4
-SIZE (mysql-connector-c-6.1.11-src.tar.gz) = 3489345
diff --git a/databases/mysql-connector-c/files/extra-patch-mysys__ssl_my__aes__openssl.cc b/databases/mysql-connector-c/files/extra-patch-mysys__ssl_my__aes__openssl.cc
deleted file mode 100644
index 66f558b85489..000000000000
--- a/databases/mysql-connector-c/files/extra-patch-mysys__ssl_my__aes__openssl.cc
+++ /dev/null
@@ -1,81 +0,0 @@
---- mysys_ssl/my_aes_openssl.cc.orig	2021-06-07 05:16:32 UTC
-+++ mysys_ssl/my_aes_openssl.cc
-@@ -122,7 +122,7 @@ int my_aes_encrypt(const unsigned char *source, uint32
-                    enum my_aes_opmode mode, const unsigned char *iv,
-                    bool padding)
- {
--  EVP_CIPHER_CTX ctx;
-+  EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
-   const EVP_CIPHER *cipher= aes_evp_type(mode);
-   int u_len, f_len;
-   /* The real key to be used for encryption */
-@@ -132,23 +132,23 @@ int my_aes_encrypt(const unsigned char *source, uint32
-   if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv))
-     return MY_AES_BAD_DATA;
- 
--  if (!EVP_EncryptInit(&ctx, cipher, rkey, iv))
-+  if (!EVP_EncryptInit(ctx, cipher, rkey, iv))
-     goto aes_error;                             /* Error */
--  if (!EVP_CIPHER_CTX_set_padding(&ctx, padding))
-+  if (!EVP_CIPHER_CTX_set_padding(ctx, padding))
-     goto aes_error;                             /* Error */
--  if (!EVP_EncryptUpdate(&ctx, dest, &u_len, source, source_length))
-+  if (!EVP_EncryptUpdate(ctx, dest, &u_len, source, source_length))
-     goto aes_error;                             /* Error */
- 
--  if (!EVP_EncryptFinal(&ctx, dest + u_len, &f_len))
-+  if (!EVP_EncryptFinal(ctx, dest + u_len, &f_len))
-     goto aes_error;                             /* Error */
- 
--  EVP_CIPHER_CTX_cleanup(&ctx);
-+  EVP_CIPHER_CTX_free(ctx);
-   return u_len + f_len;
- 
- aes_error:
-   /* need to explicitly clean up the error if we want to ignore it */
-   ERR_clear_error();
--  EVP_CIPHER_CTX_cleanup(&ctx);
-+  EVP_CIPHER_CTX_free(ctx);
-   return MY_AES_BAD_DATA;
- }
- 
-@@ -159,7 +159,7 @@ int my_aes_decrypt(const unsigned char *source, uint32
-                    bool padding)
- {
- 
--  EVP_CIPHER_CTX ctx;
-+  EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
-   const EVP_CIPHER *cipher= aes_evp_type(mode);
-   int u_len, f_len;
- 
-@@ -170,24 +170,22 @@ int my_aes_decrypt(const unsigned char *source, uint32
-   if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv))
-     return MY_AES_BAD_DATA;
- 
--  EVP_CIPHER_CTX_init(&ctx);
--
--  if (!EVP_DecryptInit(&ctx, aes_evp_type(mode), rkey, iv))
-+  if (!EVP_DecryptInit(ctx, aes_evp_type(mode), rkey, iv))
-     goto aes_error;                             /* Error */
--  if (!EVP_CIPHER_CTX_set_padding(&ctx, padding))
-+  if (!EVP_CIPHER_CTX_set_padding(ctx, padding))
-     goto aes_error;                             /* Error */
--  if (!EVP_DecryptUpdate(&ctx, dest, &u_len, source, source_length))
-+  if (!EVP_DecryptUpdate(ctx, dest, &u_len, source, source_length))
-     goto aes_error;                             /* Error */
--  if (!EVP_DecryptFinal_ex(&ctx, dest + u_len, &f_len))
-+  if (!EVP_DecryptFinal_ex(ctx, dest + u_len, &f_len))
-     goto aes_error;                             /* Error */
- 
--  EVP_CIPHER_CTX_cleanup(&ctx);
-+  EVP_CIPHER_CTX_free(ctx);
-   return u_len + f_len;
- 
- aes_error:
-   /* need to explicitly clean up the error if we want to ignore it */
-   ERR_clear_error();
--  EVP_CIPHER_CTX_cleanup(&ctx);
-+  EVP_CIPHER_CTX_free(ctx);
-   return MY_AES_BAD_DATA;
- }
- 
diff --git a/databases/mysql-connector-c/files/extra-patch-vio_viosslfactories.c b/databases/mysql-connector-c/files/extra-patch-vio_viosslfactories.c
deleted file mode 100644
index eebe158a1ea2..000000000000
--- a/databases/mysql-connector-c/files/extra-patch-vio_viosslfactories.c
+++ /dev/null
@@ -1,43 +0,0 @@
---- vio/viosslfactories.c.orig	2021-06-07 04:55:13 UTC
-+++ vio/viosslfactories.c
-@@ -86,7 +86,7 @@ static my_bool     ssl_initialized         = FALSE;
-   mjxx/bg6bOOjpgZapvB6ABWlWmRmAAWFtwIBBQ==
-   -----END DH PARAMETERS-----
-  */
--static unsigned char dh2048_p[]=
-+static unsigned char dhp_2048[]=
- {
-   0x8A, 0x5D, 0xFA, 0xC0, 0x66, 0x76, 0x4E, 0x61, 0xFA, 0xCA, 0xC0, 0x37,
-   0x57, 0x5C, 0x6D, 0x3F, 0x83, 0x0A, 0xA1, 0xF5, 0xF1, 0xE6, 0x7F, 0x3C,
-@@ -112,20 +112,25 @@ static unsigned char dh2048_p[]=
-   0x00, 0x05, 0x85, 0xB7,
- };
- 
--static unsigned char dh2048_g[]={
-+static unsigned char dhg_2048[]={
-   0x05,
- };
- 
- static DH *get_dh2048(void)
- {
--  DH *dh;
--  if ((dh=DH_new()))
-+  DH *dh = DH_new();
-+  BIGNUM *dhp_bn, *dhg_bn;
-+
-+  if (dh != NULL)
-   {
--    dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
--    dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
--    if (! dh->p || ! dh->g)
-+    dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL);
-+    dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL);
-+    if (dhp_bn == NULL || dhg_bn == NULL
-+        || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) 
-     {
-       DH_free(dh);
-+      BN_free(dhp_bn);
-+      BN_free(dhg_bn);
-       dh=0;
-     }
-   }
diff --git a/databases/mysql-connector-c/files/patch-CMakeLists.txt b/databases/mysql-connector-c/files/patch-CMakeLists.txt
deleted file mode 100644
index bac039a8c691..000000000000
--- a/databases/mysql-connector-c/files/patch-CMakeLists.txt
+++ /dev/null
@@ -1,11 +0,0 @@
---- CMakeLists.txt.orig	2017-03-04 21:11:15 UTC
-+++ CMakeLists.txt
-@@ -562,7 +562,7 @@ ADD_SUBDIRECTORY(packaging/WiX)
- #
- # RPM installs documentation directly from the source tree
- #
--IF(NOT INSTALL_LAYOUT MATCHES "RPM")
-+IF(NOT INSTALL_LAYOUT MATCHES "RPM" AND 0)
-   INSTALL(FILES COPYING LICENSE.mysql
-     DESTINATION ${INSTALL_DOCREADMEDIR}
-     COMPONENT Readme
diff --git a/databases/mysql-connector-c/files/patch-cmake_install__layout.cmake b/databases/mysql-connector-c/files/patch-cmake_install__layout.cmake
deleted file mode 100644
index 7c5b85dd66fd..000000000000
--- a/databases/mysql-connector-c/files/patch-cmake_install__layout.cmake
+++ /dev/null
@@ -1,21 +0,0 @@
---- cmake/install_layout.cmake.orig	2017-07-13 06:55:32 UTC
-+++ cmake/install_layout.cmake
-@@ -151,14 +151,14 @@ SET(secure_file_priv_embedded_path "NULL")
- #
- # STANDALONE layout
- #
--SET(INSTALL_BINDIR_STANDALONE           "bin")
-+SET(INSTALL_BINDIR_STANDALONE           "bin/mysql-connector-c")
- SET(INSTALL_SBINDIR_STANDALONE          "bin")
- SET(INSTALL_SCRIPTDIR_STANDALONE        "scripts")
- #
--SET(INSTALL_LIBDIR_STANDALONE           "lib")
--SET(INSTALL_PLUGINDIR_STANDALONE        "lib/plugin")
-+SET(INSTALL_LIBDIR_STANDALONE           "lib/mysql-connector-c")
-+SET(INSTALL_PLUGINDIR_STANDALONE        "lib/mysql-connector-cplugin")
- #
--SET(INSTALL_INCLUDEDIR_STANDALONE       "include")
-+SET(INSTALL_INCLUDEDIR_STANDALONE       "include/mysql-connector-c")
- #
- SET(INSTALL_DOCDIR_STANDALONE           "docs")
- SET(INSTALL_DOCREADMEDIR_STANDALONE     ".")
diff --git a/databases/mysql-connector-c/files/patch-cmake_install__macros.cmake b/databases/mysql-connector-c/files/patch-cmake_install__macros.cmake
deleted file mode 100644
index 4debda0bd44e..000000000000
--- a/databases/mysql-connector-c/files/patch-cmake_install__macros.cmake
+++ /dev/null
@@ -1,13 +0,0 @@
---- cmake/install_macros.cmake.orig	2021-04-22 20:14:44 UTC
-+++ cmake/install_macros.cmake
-@@ -362,8 +362,8 @@ FUNCTION(INSTALL_DEBUG_TARGET target)
-         CONFIGURATIONS Release RelWithDebInfo
-         COMPONENT ${ARG_COMPONENT}
-         OPTIONAL)
--    ENDIF()
--  ENDFOREACH()
-+    ENDFOREACH()
-+  ENDIF()
- 
- ENDFUNCTION()
- 
diff --git a/databases/mysql-connector-c/files/patch-cmake_ssl.cmake b/databases/mysql-connector-c/files/patch-cmake_ssl.cmake
deleted file mode 100644
index b2789aa7e698..000000000000
--- a/databases/mysql-connector-c/files/patch-cmake_ssl.cmake
+++ /dev/null
@@ -1,21 +0,0 @@
---- cmake/ssl.cmake.orig	2017-03-04 21:14:36 UTC
-+++ cmake/ssl.cmake
-@@ -166,7 +166,7 @@ MACRO (MYSQL_CHECK_SSL)
-     # Encoded as MNNFFPPS: major minor fix patch status
-     FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
-       OPENSSL_VERSION_NUMBER
--      REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
-+      REGEX "define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
-     )
-     STRING(REGEX REPLACE
-       "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1"
-@@ -176,7 +176,8 @@ MACRO (MYSQL_CHECK_SSL)
-     IF(OPENSSL_INCLUDE_DIR AND
-        OPENSSL_LIBRARY   AND
-        CRYPTO_LIBRARY      AND
--       OPENSSL_MAJOR_VERSION STREQUAL "1"
-+       (OPENSSL_MAJOR_VERSION STREQUAL "1" OR
-+       OPENSSL_MAJOR_VERSION STREQUAL "2")
-       )
-       SET(OPENSSL_FOUND TRUE)
-     ELSE()
diff --git a/databases/mysql-connector-c/files/patch-libmysql_CMakeLists.txt b/databases/mysql-connector-c/files/patch-libmysql_CMakeLists.txt
deleted file mode 100644
index 47298d663ac2..000000000000
--- a/databases/mysql-connector-c/files/patch-libmysql_CMakeLists.txt
+++ /dev/null
@@ -1,11 +0,0 @@
---- libmysql/CMakeLists.txt.orig	2017-07-13 06:55:32 UTC
-+++ libmysql/CMakeLists.txt
-@@ -287,7 +287,7 @@ IF(NOT DISABLE_SHARED)
-     COMPONENT SharedLibraries)
-   IF(UNIX)
-     # libtool compatability
--    IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE)
-+    IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|DragonFly" OR APPLE)
-       SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}")
-     ELSE()
-       SET(OS_SHARED_LIB_VERSION
diff --git a/databases/mysql-connector-c/files/patch-sql-common_client__authentication.cc b/databases/mysql-connector-c/files/patch-sql-common_client__authentication.cc
deleted file mode 100644
index 76da9a91be1f..000000000000
--- a/databases/mysql-connector-c/files/patch-sql-common_client__authentication.cc
+++ /dev/null
@@ -1,15 +0,0 @@
-sql-common/client_authentication.cc:86:56: error: comparison between pointer and integer ('char *' and 'int')
-      mysql->options.extension->server_public_key_path != '\0')
-      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
-
---- sql-common/client_authentication.cc.orig	2018-08-27 19:39:51 UTC
-+++ sql-common/client_authentication.cc
-@@ -83,7 +83,7 @@ RSA *rsa_init(MYSQL *mysql)
- 
-   if (mysql->options.extension != NULL &&
-       mysql->options.extension->server_public_key_path != NULL &&
--      mysql->options.extension->server_public_key_path != '\0')
-+      *mysql->options.extension->server_public_key_path != '\0')
-   {
-     pub_key_file= fopen(mysql->options.extension->server_public_key_path,
-                         "r");
diff --git a/databases/mysql-connector-c/pkg-descr b/databases/mysql-connector-c/pkg-descr
deleted file mode 100644
index fd72dc25e069..000000000000
--- a/databases/mysql-connector-c/pkg-descr
+++ /dev/null
@@ -1,3 +0,0 @@
-MySQL Connector/C is a C client library for client/server communication. It is
-a standalone replacement for the MySQL Client Library shipped with the MySQL
-Server.
diff --git a/databases/mysql-connector-c/pkg-plist b/databases/mysql-connector-c/pkg-plist
deleted file mode 100644
index 4468f538cd0d..000000000000
--- a/databases/mysql-connector-c/pkg-plist
+++ /dev/null
@@ -1,71 +0,0 @@
-bin/mysql-connector-c/my_print_defaults
-bin/mysql-connector-c/mysql_config
-bin/mysql-connector-c/perror
-include/mysql-connector-c/big_endian.h
-include/mysql-connector-c/binary_log_types.h
-include/mysql-connector-c/byte_order_generic.h
-include/mysql-connector-c/byte_order_generic_x86.h
-include/mysql-connector-c/decimal.h
-include/mysql-connector-c/errmsg.h
-include/mysql-connector-c/keycache.h
-include/mysql-connector-c/little_endian.h
-include/mysql-connector-c/m_ctype.h
-include/mysql-connector-c/m_string.h
-include/mysql-connector-c/my_alloc.h
-include/mysql-connector-c/my_byteorder.h
-include/mysql-connector-c/my_command.h
-include/mysql-connector-c/my_compiler.h
-include/mysql-connector-c/my_config.h
-include/mysql-connector-c/my_dbug.h
-include/mysql-connector-c/my_dir.h
-include/mysql-connector-c/my_getopt.h
-include/mysql-connector-c/my_global.h
-include/mysql-connector-c/my_list.h
-include/mysql-connector-c/my_sys.h
-include/mysql-connector-c/my_thread.h
-include/mysql-connector-c/my_thread_local.h
-include/mysql-connector-c/my_xml.h
-include/mysql-connector-c/mysql.h
-include/mysql-connector-c/mysql/client_authentication.h
-include/mysql-connector-c/mysql/client_plugin.h
-include/mysql-connector-c/mysql/client_plugin.h.pp
-include/mysql-connector-c/mysql/get_password.h
-include/mysql-connector-c/mysql/mysql_lex_string.h
-include/mysql-connector-c/mysql/plugin_auth_common.h
-include/mysql-connector-c/mysql/plugin_trace.h
-include/mysql-connector-c/mysql/psi/mysql_file.h
-include/mysql-connector-c/mysql/psi/mysql_idle.h
-include/mysql-connector-c/mysql/psi/mysql_mdl.h
-include/mysql-connector-c/mysql/psi/mysql_memory.h
-include/mysql-connector-c/mysql/psi/mysql_ps.h
-include/mysql-connector-c/mysql/psi/mysql_socket.h
-include/mysql-connector-c/mysql/psi/mysql_sp.h
-include/mysql-connector-c/mysql/psi/mysql_stage.h
-include/mysql-connector-c/mysql/psi/mysql_statement.h
-include/mysql-connector-c/mysql/psi/mysql_table.h
-include/mysql-connector-c/mysql/psi/mysql_thread.h
-include/mysql-connector-c/mysql/psi/mysql_transaction.h
-include/mysql-connector-c/mysql/psi/psi.h
-include/mysql-connector-c/mysql/psi/psi_base.h
-include/mysql-connector-c/mysql/psi/psi_memory.h
-include/mysql-connector-c/mysql/service_mysql_alloc.h
-include/mysql-connector-c/mysql/service_my_snprintf.h
-include/mysql-connector-c/mysql_com.h
-include/mysql-connector-c/mysql_com_server.h
-include/mysql-connector-c/mysql_embed.h
-include/mysql-connector-c/mysql_time.h
-include/mysql-connector-c/mysql_version.h
-include/mysql-connector-c/mysqld_ername.h
-include/mysql-connector-c/mysqld_error.h
-include/mysql-connector-c/sql_common.h
-include/mysql-connector-c/sql_state.h
-include/mysql-connector-c/sslopt-case.h
-include/mysql-connector-c/sslopt-longopts.h
-include/mysql-connector-c/sslopt-vars.h
-include/mysql-connector-c/thr_cond.h
-include/mysql-connector-c/thr_mutex.h
-include/mysql-connector-c/thr_rwlock.h
-include/mysql-connector-c/typelib.h
-lib/mysql-connector-c/libmysqlclient.a
-lib/mysql-connector-c/libmysqlclient.so
-lib/mysql-connector-c/libmysqlclient.so.18