Sync from SUSE:SLFO:Main mariadb-connector-c revision c393a04815f95f4bf6e9440c0fd4f581

This commit is contained in:
Adrian Schröter 2024-05-03 16:34:17 +02:00
commit f8e248bb4a
9 changed files with 949 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

3
baselibs.conf Normal file
View File

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

View File

@ -0,0 +1,14 @@
Index: mariadb-connector-c-3.1.4-src/plugins/auth/CMakeLists.txt
===================================================================
--- mariadb-connector-c-3.1.4-src.orig/plugins/auth/CMakeLists.txt
+++ mariadb-connector-c-3.1.4-src/plugins/auth/CMakeLists.txt
@@ -32,7 +32,8 @@ REGISTER_PLUGIN(TARGET dialog
CONFIGURATIONS DYNAMIC STATIC OFF
DEFAULT DYNAMIC
SOURCES ${CC_SOURCE_DIR}/plugins/auth/dialog.c
- ${CC_SOURCE_DIR}/libmariadb/get_password.c)
+ ${CC_SOURCE_DIR}/libmariadb/get_password.c
+ LIBRARIES dl)
# Crypto plugins

BIN
mariadb-connector-c-3.3.5-src.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEETEcP/+/E09xZd4ZVzho91ePJT0kFAmRmctEACgkQzho91ePJ
T0lA3QgAzMUu673H5zsBjkFbbVUzTadp2LFzzEvqd0uvOUD0BIBXHvkwnOfXgYEz
fFelTTvNdT02UpVV8SyDutbLA8dtqA5M055CfgqisG621LbcbFfd1+hwHNKAIPPT
9b5W4LnNwVFh36UlVaT2q1GeB+zBkmljntb5Rw8Qgt4yMffmmOz5L/vFzDNy8fmE
ntEt4DNWXK0Vug7ekBKDuFrtb+ypznQQ5pMslW+nMH1FpsgZWbT01haX++c0xkEr
x39OnQbKhyTKE27r5rOCOVmOtnMBXymg799fX89YCNH6K+OrgqDnkJIuaAFb5cnz
uXcud0oWq7RZ3vp9YU/CbaRdyXb+AA==
=YRNI
-----END PGP SIGNATURE-----

569
mariadb-connector-c.changes Normal file
View File

@ -0,0 +1,569 @@
-------------------------------------------------------------------
Mon May 29 20:00:57 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 3.3.5:
* https://mariadb.com/kb/en/mariadb-connector-c-3-3-5-release-notes/
-------------------------------------------------------------------
Tue Mar 7 20:49:44 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 3.3.4:
https://mariadb.com/kb/en/mariadb-connector-c-3-3-4-release-notes/
-------------------------------------------------------------------
Mon Dec 5 16:23:21 UTC 2022 - Danilo Spinella <danilo.spinella@suse.com>
- Update to release 3.3.3:
https://mariadb.com/kb/en/mariadb-connector-c-333-release-notes/
https://mariadb.com/kb/en/mariadb-connector-c-333-changelog/
-------------------------------------------------------------------
Mon Aug 29 10:35:12 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Update to release 3.3.2
https://mariadb.com/kb/en/mariadb-connector-c-332-release-notes/
https://mariadb.com/kb/en/mariadb-connector-c-332-changelog/
* Enhanced mysql_close() and other related parts to prevent
memory leaks when terminating an initiated but unestablished
connection
-------------------------------------------------------------------
Thu Jul 7 08:35:59 UTC 2022 - Danilo Spinella <danilo.spinella@suse.com>
- Update to 3.3.1:
https://mariadb.com/kb/en/mariadb-connector-c-331-release-notes/
https://mariadb.com/kb/en/mariadb-connector-c-331-changelog/
https://mariadb.com/kb/en/mariadb-connector-c-330-release-notes/
https://mariadb.com/kb/en/mariadb-connector-c-330-changelog/
- Refresh private_library.patch
-------------------------------------------------------------------
Wed May 25 11:15:04 UTC 2022 - Callum Farmer <gmbr3@opensuse.org>
- Add pkgconfig compatibility symlink for mysqlclient
-------------------------------------------------------------------
Thu Feb 24 14:05:48 UTC 2022 - Danilo Spinella <danilo.spinella@suse.com>
- Update to 3.2.6:
* release notes and changelog:
https://mariadb.com/kb/en/library/mariadb-connector-c-326-release-notes
https://mariadb.com/kb/en/library/mariadb-connector-c-326-changelog
- Refresh private_library.patch
-------------------------------------------------------------------
Thu Nov 18 15:55:18 UTC 2021 - Danilo Spinella <danilo.spinella@suse.com>
- Update to 3.2.5:
* release notes and changelog:
https://mariadb.com/kb/en/library/mariadb-connector-c-325-release-notes
https://mariadb.com/kb/en/library/mariadb-connector-c-325-changelog
-------------------------------------------------------------------
Fri Oct 22 11:02:06 UTC 2021 - Danilo Spinella <danilo.spinella@suse.com>
- Update to 3.2.4:
* release notes and changelog:
https://mariadb.com/kb/en/library/mariadb-connector-c-324-release-notes
https://mariadb.com/kb/en/library/mariadb-connector-c-324-changelog
-------------------------------------------------------------------
Wed Aug 4 10:16:00 UTC 2021 - Danilo Spinella <danilo.spinella@suse.com>
- Update to 3.2.3:
* release notes and changelog:
https://mariadb.com/kb/en/library/mariadb-connector-c-323-release-notes
https://mariadb.com/kb/en/library/mariadb-connector-c-323-changelog
https://mariadb.com/kb/en/library/mariadb-connector-c-322-release-notes
https://mariadb.com/kb/en/library/mariadb-connector-c-322-changelog
https://mariadb.com/kb/en/library/mariadb-connector-c-320-release-notes
https://mariadb.com/kb/en/library/mariadb-connector-c-320-changelog
- Refresh private_library.patch
-------------------------------------------------------------------
Thu Jun 17 11:21:36 UTC 2021 - Dirk Müller <dmueller@suse.com>
- drop absolute_path_fix.patch: obsolete after previous change
(properly setting INSTALL_LAYOUT and libdir) [bsc#1187459]
-------------------------------------------------------------------
Thu May 27 18:48:59 UTC 2021 - Kristyna Streitova <kstreitova@suse.com>
- set INSTALL_LAYOUT=RPM and adjust libdir, includedir, plugindir
and pcdir values to fix mariadb_config output. Also fix the
missing "%s" in private_library.patch so it shows the correct
path for plugindir [bsc#1179921] [bsc#1183878]
-------------------------------------------------------------------
Thu May 27 09:31:16 UTC 2021 - Kristyna Streitova <kstreitova@suse.com>
- Update to release 3.1.13 [bsc#1185870], [bsc#1185872], [bsc#1185868]
* CONC-537: Only read from MYSQL_HOME if MARIADB_HOME was not set
* CONC-548: Symbol conflict with libsodium
* CONC-490: Handshake error when CLIENT_CONNECT_WITH_DB flag was
set without specifying database
* CONC-543: Hash functions conflict with GnuTLS
* CONC-539: Added cipher suites ECDHE-RSA-AES128-SHA256 (0xC027)
and ECDHE-RSA-AES256-SHA384 (0xC028) to the cipher map which
maps cipher suite names to the corresponding algorithm ids
(Windows Schannel)
* CONC-535: Disabled checksum ignored in events (replication/
binlog API)
- Remove mariadb-connector-c-cmake-3.20.patch (upstreamed)
-------------------------------------------------------------------
Thu Apr 29 12:04:20 UTC 2021 - Dominique Leuenberger <dimstar@opensuse.org>
- Add mariadb-connector-c-cmake-3.20.patch: Fix build with cmake
3.20.
-------------------------------------------------------------------
Wed Mar 3 23:31:24 UTC 2021 - Kristyna Streitova <kstreitova@suse.com>
- Update to release 3.1.12 [bsc#1182739]:
* MDEV-24577: Fix warnings generated during compilation of
plugin/auth_pam/testing/pam_mariadb_mtr.c on FreeBSD
* CONC-521: Fixed warning on MacOS when including ucontext.h
* CONC-518: Check if mysql->options.extension was allocated before
checking async_context
* CONC-517: C/C looks for plugins in wrong location on Windows
-------------------------------------------------------------------
Thu Nov 5 13:53:30 UTC 2020 - Adam Majer <adam.majer@suse.de>
- Update to release 3.1.11:
* CONC-513: MSAN use-of-uninitialized-value in strstr()
* CONC-512: truncation check for float values fails on i386 due
* to Intel FPU optimization bug in gcc
* CONC-510: Fix crash when loading plugins in mysql_server_init()
* CONC-508: Added support for passwords > 255 characters
* CONC-507: Fixed race condition in ma_net_init
* CONC-501: Added support for TLS v1.3 cipher suites
* MDEV-21612: Removed unused command COM_MULTI
- changes in release 3.1.10:
* CONC-500: Fixed error when loading intermediate chained certificates
* MDEV-18818: Fixed wrong zlib in mariadb_config when building
inside server package
* CONC-498: MYSQL_UNIX_ADDR and MYSQL_PORT are now defined
* Added new build option WIITH_ICONV=ON/OFF. When set to OFF (default)
API function mariadb_convert_string will always return -1 and
sets errorcode to ENOTSUP.
* mariadb_config now tries to determine the path of execution or
uses MARIADB_CONFIG environment variable before falling back and
using CMAKE_INSTALL_PREFIX for location of libraries and include files
* added --variables option for mariadb_config.
Supported values are pkgincludedir, pkglibdir and pkgplugindir.
- absolute_path_fix.patch, private_library.patch: refreshed
-------------------------------------------------------------------
Fri Jul 3 11:57:03 UTC 2020 - Kristyna Streitova <kstreitova@suse.com>
- Update to release 3.1.9
* CONC-469: Use servers preferred authentication method unless
another plugin was specified.
* Added support for kFreeBSD builds
* Fixed memory leak in GnuTLS if connection couldn't be established.
- refresh private_library.patch
-------------------------------------------------------------------
Fri May 22 15:05:07 UTC 2020 - Kristyna Streitova <kstreitova@suse.com>
- Update to release 3.1.8 [bsc#1171550]
* CONC-304: Rename the static library to libmariadb.a and other
libmariadb files in a consistent manner
* CONC-441: Default user name for C/C is wrong if login user
is different from effective user
* CONC-449: Check $MARIADB_HOME/my.cnf in addition to
$MYSQL_HOME/my.cnf
* CONC-457: mysql_list_processes crashes in unpack_fields
* CONC-458: mysql_get_timeout_value crashes when used improperly
* CONC-464: Fix static build for auth_gssapi_client plugin
* Fixes for the following security vulnerabilities:
CVE-2020-13249
- refresh absolute_path_fix.patch and private_library.patch
-------------------------------------------------------------------
Thu Feb 6 20:30:28 UTC 2020 - Kristyna Streitova <kstreitova@suse.com>
- Update to release 3.1.7
* TLS/SSL: when the client doesn't procide a CA file and the
option ssl_verify_server_cert was set, the peer cerificate
will be validated against the system CA.
-------------------------------------------------------------------
Fri Dec 20 00:13:52 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Update to release 3.1.6
* Fixed: ERROR 2026 (HY000): SSL connection error: Certificate
signature check failed
* Fixed: Provide error code and message for Schannel errors
* Fixed SEC_E_INVALID_TOKEN when server sends large message
during SSL handshake
-------------------------------------------------------------------
Thu Nov 28 16:06:53 UTC 2019 - Kristyna Streitova <kstreitova@suse.com>
- New upstream version 3.1.5 [bsc#1156669]
* MDEV-20469: Plugin dialog could not be loaded (wrong path)
* ODBC-440: Fixed typo in sha256_password cmake configuration
* CONC-418: For unknown/not handled schannel error codes
FormatMessage function will be used instead of returning
"Unknown error" message.
-------------------------------------------------------------------
Tue Sep 24 10:59:32 UTC 2019 - Kristyna Streitova <kstreitova@suse.com>
- New upstream version 3.1.4
* CONC-431: Use windows crypto libraries on Windows platforms
* Included in MariaDB 10.4.8, MariaDB 10.3.18, and MariaDB 10.2.27
- refresh mariadb-connector-c-2.3.1_unresolved_symbols.patch and
private_library.patch
-------------------------------------------------------------------
Mon Aug 5 11:28:22 UTC 2019 - Kristyna Streitova <kstreitova@suse.com>
- New upstream version 3.1.3
* CONC-380: Fix CMake warnings
* CONC-345: heap-use-after-free in client_mpvio_read_packet
* CONC-423: Fix GnuTLS error with TLSv1.3
* CONC-424: Ignore SERVER_STATUS_CURSOR_EXISTS if client didn't
open a cursor before
* CONC-421: Fixed crash in GnuTLS when key and certificate are
in the same file
* CONC-429: Don't allow invalid characters in plugin names
* MDEV-19807: Fixed Location of PLUGINDIR if Connector/C is a
subproject
- refresh absolute_path_fix.patch and private_library.patch
-------------------------------------------------------------------
Wed Jul 3 15:24:22 UTC 2019 - Kristyna Streitova <kstreitova@suse.com>
- New upstream version 3.1.2 [bsc#1136035]
* CONC-383: client plugins can't be loaded due to missing prefix
* Fixed version setting in GnuTLS by moving "NORMAL" at the end
of priority string
* CONC-386: Added support for pem files which contain certificate
and private key.
* Replication/Binlog API: The main mechanism used in replication
is the binary log.
* CONC-395: Dashes and underscores are not interchangeable in
options in my.cnf
- refresh mariadb-connector-c-2.3.1_unresolved_symbols.patch and
private_library.patch
- pack client_ed25519.so
-------------------------------------------------------------------
Tue May 14 07:38:44 UTC 2019 - Dominique Leuenberger <dimstar@opensuse.org>
- Add pkgconfig(zlib) Requires to the -devel package: the .pc file
lists -lz in the Libs, but does not mention any requires
explicitly. So let's do our consumers a favor and pull in what we
require.
-------------------------------------------------------------------
Fri Mar 1 15:19:46 UTC 2019 - kstreitova@suse.com
- move libmariadb.pc from /usr/lib/pkgconfig to
/usr/lib64/pkgconfig [bsc#1126088]
-------------------------------------------------------------------
Wed Feb 13 14:19:53 UTC 2019 - kstreitova@suse.com
- New upstream version 3.0.9
* CONC-384: Incorrect packet when a connection attribute name or
value is equal to or greater than 251
* CONC-388: field->def_length is always set to 0 (only used by
deprecated function mysql_list_fields)
* Getter should get and the setter should set
CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS
* CONC-385: Removed some cmake system checks
* CONC-387: Fix case sensitive include file names for cross
compiling
* Fixed cnake policy CMP007
* Support static linking auth plugins
* Fix build with deprecated OpenSSL API: replaced ERR_remove_state
by ERR_remove_thread_state
* Disable LOAD DATA LOCAL INFILE suport by default and auto-enable
it for the duration of one query, if the query string starts with
the word "load". In all other cases the application should enable
LOAD DATA LOCAL INFILE support explicitly
* Changed return code for mysql_optionv/mysql_get_optionv to 1
(was -1) and added CR_NOT_IMPLEMENTED error message if a option
is unknown or not supported. This will fix possible error when
setting connection attribute failed
-------------------------------------------------------------------
Thu Jan 3 15:11:38 UTC 2019 - kstreitova@suse.com
- New upstream version 3.0.8
* mingw fix: use lowercase names for include files
* CONC-375: Fixed handshake errors when mixing TLSv1.3 cipher
suites with cipher suites from other TLS protocols
* CONC-312: Added new caching_sha2_password authentication plugin
for authentication with MySQL 8.0
- refresh mariadb-connector-c-2.3.1_unresolved_symbols.patch
- pack caching_sha2_password.so plugin
-------------------------------------------------------------------
Thu Nov 15 09:53:11 UTC 2018 - kstreitova@suse.com
- New upstream version 3.0.7 [bsc#1116686]
* Build fixes when building with ASAN/TSAN
* CONC-370: Fixed memory leak in configuration file parsing.
* CONC-371: Incorrect fractional part conversion when converting
datetime string to MYSQL_TIME
* CONC-283: Fixed pkg-config configuration
* CONC-364: Not all sockets created in pvio_socket_connect
function are closed
* multiple fixes in named pipe implementation
* CONC-349: Added new parameter STMT_ATTR_STATE to retrieve
statement status via api function mysql_stmt_attr_get
- refresh private_library.patch and absolute_path_fix.patch
- pack libmariadb.pc
-------------------------------------------------------------------
Thu Aug 2 23:08:34 UTC 2018 - kstreitova@suse.com
- New upstream version 3.0.6
* MDEV-15263: FIx IS_NUM() macro
* CONC-297: local infile parameter must be unsigned int instead
of my_bool
* CONC-329: change return value of internal socket functions
from my_bool to int
* CONC-332: my_auth doesn't read/update server ok packet
* CONC-344: reset internal row counter
* CONC-345: invalid heap use after free
* CONC-346: Remove old cmake policies
* fixed crash in mysql_select_db if NULL parameter was provided
- refresh private_library.patch
-------------------------------------------------------------------
Fri Jun 29 15:12:47 UTC 2018 - kstreitova@suse.com
- New upstream version 3.0.5
- 3.0.5 important changes:
* CONC-336: Allow multiple initialization of client library
* Fixed string to MYSQL_TIME conversion (prepared statements)
* CONC-334: Copy all members of MYSQL_FIELD to internal
statement structure
* Fixed double free in dynamic column library
* Added checks for corrupted packets in protocol
* MDEV-15450: Added default connection attribute _server_host
* CONC-326: fixed wrong openssl thread id callback
- 3.0.4 important changes:
* Added option MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS for
mysql_options()/mysql_optionsv():
* New plugin configuration interface: The default configuration
for a specific plugin can be specified via cmake parameter
-DCLIENT_PLUGIN_${PLUGIN}=[DYNAMIC|STATIC|OFF].
* Added support for linux abstract socket (MDEV-15655).
* CONC-320: Added asynchronous/non-blocking support for
OpenSSL and GnuTLS
* CONC-294: Access violation in mysql_close when using
a connection plugin.
* MDEV-14977: If built dynamically the old_password plugin
could not be located due to wrong filename (must be
mysql_old_password.so instead of old_password.so).
* CONC-315: If no default client character set was specified,
the utf8 character set will be used by default (instead of
setting the client character set to server character set)
* CONC-317: Parsing of configuration file fails if key/value
pairs contain white spaces.
* CONC-322: Correct handling of EAGAIN and EINPROGRESS in
internal_connect (socket) for non windows platforms.
* CONC-323: mariadb_stmt_execute_direct hangs forever if
compression used.
* CONC-324: Wrong codepage numbers for some collations.
* CONC-326: ssl_thread_init() uses wrong openssl threadid
callback
- refresh the following patches:
* mariadb-connector-c-2.3.1_unresolved_symbols.patch
* absolute_path_fix.patch
* private_library.patch
-------------------------------------------------------------------
Fri Jun 29 10:00:42 UTC 2018 - adam.majer@suse.de
- Drop libmysqlclient_r Provides from the -devel package.
(bsc#1097938)
-------------------------------------------------------------------
Thu Apr 19 10:05:16 UTC 2018 - kstreitova@suse.com
- New upstream version 3.0.3
* Added support for new utf8mb4 character sets
* MDEV-9059: Bundle first command with authentication packet
* Build: support static OpenSSL on Windows
* MDEV-14101: Add support for tls-version, via
mysql_options(mysql, MARIADB_OPT_TLS_VERSION, value),
where value must be "TLSv1.1", "TLSv1.2" or "TLSv1.3".
* CONC-275: New indicator type STMT_INDICATOR_IGNORE_ROW for
skipping particular parameter set in bulk operation
(prepared statements).
* MDEV-10361: Don't try to reconnect twice if mysql_ping failed.
* Build fix for TSAN build with Clang
* CONC-302: Fix output of mariadb_config
* CONC-301: In case of a truncation the statement status was not
updated correctly and further calls to mysql_stmt_fetch_column
failed
* MDEV-14647: Fixed crash when client receives extended ok packet
with SESSION_TRACK_STATE_CHANGE information flag
* CONC-297: setting MYSQL_OPT_LOCAL_INFILE failed on big endian
systems.
* MDEV-14514: mariadb_config returned wrong exit code when
specifying an invalid option
* MDEV-11546: Fixed timeout problem in Schannel
* CONC-277: Allow reinitialization of the library if
mysql_server_end() was called.
* CONC-292: Fixed malloc result check in dynamic columns
* MDEV-14165: The metadata length value for a column with a
zerofill flag was calculated with a fixed length instead of using
the reported length.
* CONC-286: Force TLS/SSL usage if fingerprint parameters were
specified.
* CONC-282: Connector/C now provides additional information for
package version
* mariadb_config --cc_version lists the package version
* Beside MARIADB_PACKAGE_VERSION numeric representation
MARIADB_PACKAGE_VERSION_ID can be used now within preprocessor
directives.
* MDEV-13959: Fixed duplicate if condition in dynamic columns
* Added MARIADB_BASE_VERSION definition in mariadb_version.h to
distnguish MARIADB from MySQL
* CONC-271: installation layout fix for RPM
- refresh the following patches:
* absolute_path_fix.patch
* private_library.patch
- drop 0334aa48.patch that is no longer needed
- use %license instead of %doc [bsc#1082318]
-------------------------------------------------------------------
Sun Nov 19 07:41:13 UTC 2017 - mpluskal@suse.com
- Use more cmake macros
- Run spec-cleaner
-------------------------------------------------------------------
Fri Nov 17 14:20:39 UTC 2017 - adam.majer@suse.de
- 0334aa48.patch: Backported implementation and testcase for
skipping particular paramset in bulk operation/. This is needed
to get current stable MariaDB connector/ODBC actually compilable.
-------------------------------------------------------------------
Mon Nov 13 17:54:46 UTC 2017 - mpluskal@suse.com
- Install missing header (bsc#1067904)
-------------------------------------------------------------------
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
- 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
- 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
- Fix RPM groups once more.
-------------------------------------------------------------------
Thu Jul 13 12:15:06 UTC 2017 - adam.majer@suse.de
- New upstream version 2.3.3:
* Fixed build for big-endian platforms. Obsoletes
bigendian_type_fixes.patch
* Changed parameter type for parameter reconnect in
mysql_optionsv from uint to my_bool
- absolute_path_fix.patch: refreshed
-------------------------------------------------------------------
Thu Jul 13 12:00:32 UTC 2017 - olaf@aepfle.de
- Remove unused gnutls from buildrequires
-------------------------------------------------------------------
Mon Apr 3 13:03:12 UTC 2017 - jengelh@inai.de
- Update descriptions and RPM groups
-------------------------------------------------------------------
Wed Mar 29 11:04:35 UTC 2017 - adam.majer@suse.de
- Set proper MySQL socket path for localhost connections
-------------------------------------------------------------------
Thu Mar 23 10:56:02 UTC 2017 - adam.majer@suse.de
- Update to version 2.3.2
* Plugin API interface change: Changed the interface of
authentication plugins, allowing plugins from C/C 3.0
(like GSSAPI/Kerberos plugin)
* CONC-205: Any field going after a TEXT field in the selecion
list is fetched incorrectly (prepared statements)
* CONC-198: Can't use more than one statement per connection
* CONC-223: Add client support for missing collations
* MDEV-10894: big endian conversion
* fixed packet_length in dialog plugin
* fixed include of my_stmt.h
* fixed wrong behavior of read_timeout
* fixed timeout for non-blocking operations
* fixed output for plugindir in mariadb_config
* removed extra check for non binary result types in fetch_bin
(prepared statements)
- mariadb.keyring: add MariaDB Enterprise signing key
- bigendian_type_fixes.patch: fix build failure on Big endien
- absolute_path_fix.patch:
* remove ugly paths in mariadb_config
* list correct include paths
- private_library.patch: shared library with exported private
symbols in place of a static library
- mariadb-connector-c-2.3.1_unresolved_symbols.patch: add missing
library to link requirements.
-------------------------------------------------------------------
Mon Aug 22 14:57:06 UTC 2016 - mrueckert@suse.de
- initial package

194
mariadb-connector-c.spec Normal file
View File

@ -0,0 +1,194 @@
#
# spec file for package mariadb-connector-c
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define sover 3
%define libname libmariadb
# equivalent mariadb version
%define mariadb_version 10.3.21
%if ! %{defined _rundir}
%define _rundir %{_localstatedir}/run
%endif
%bcond_with sqlite3
Name: mariadb-connector-c
Version: 3.3.5
Release: 0
Summary: MariaDB connector in C
License: LGPL-2.1-or-later
Group: Development/Libraries/C and C++
URL: https://github.com/MariaDB/mariadb-connector-c
Source: https://downloads.mariadb.com/Connectors/c/connector-c-%{version}/%{name}-%{version}-src.tar.gz
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/
Source2: mariadb.keyring
Source3: baselibs.conf
Patch1: mariadb-connector-c-2.3.1_unresolved_symbols.patch
Patch4: private_library.patch
BuildRequires: cmake
BuildRequires: curl-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(krb5)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(zlib)
%if %{with sqlite3}
BuildRequires: pkgconfig(sqlite3)
%endif
%description
MariaDB Connector is used to connect applications developed in
C or C++ to MariaDB and MySQL databases. This is a different
implementation from the traditional libmariadbclient/libmysqlclient
that is shipped with mariadb-server/mysql-server, but the API is the same.
%package -n %{libname}%{sover}
Summary: MariaDB connector in C
Group: System/Libraries
%description -n %{libname}%{sover}
MariaDB Connector is used to connect applications developed in
C or C++ to MariaDB and MySQL databases. This is a different
implementation from the traditional libmariadbclient/libmysqlclient
that is shipped with mariadb-server/mysql-server, but the API is the same.
This package holds the runtime components.
%package -n %{libname}_plugins
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
Conflicts: mariadb <= 10.1.25
Conflicts: mariadb-client <= 10.1.25
%description -n %{libname}_plugins
MariaDB Connector is used to connect applications developed in
C or C++ to MariaDB and MySQL databases.
This package holds MariaDB library plugins.
%package -n %{libname}private
Summary: Additional internal libraries for the MariaDB C Connector
Group: System/Libraries
%description -n %{libname}private
MariaDB Connector is used to connect applications developed in
C or C++ to MariaDB and MySQL databases.
This package holds the runtime components with private API.
%package -n %{libname}-devel
Summary: Development files for the MariaDB Connector C API
Group: Development/Libraries/C and C++
Requires: %{libname}%{sover} = %{version}
Requires: pkgconfig(openssl)
Requires: pkgconfig(zlib)
# 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}
%description -n %{libname}-devel
MariaDB Connector is used to connect applications developed in
C or C++ to MariaDB and MySQL databases.
This package holds the development files.
%prep
%setup -q -n %{name}-%{version}-src
%patch1 -p1
%patch4 -p1
%build
# plugin types seems to require no aliasing assumptions
%define _lto_cflags %{nil}
export CFLAGS="%{optflags} -fno-strict-aliasing"
%cmake \
%if %{with sqlite3}
-DWITH_SQLITE:BOOL=ON \
%endif
-DWITH_EXTERNAL_ZLIB:BOOL=ON \
-DMARIADB_UNIX_ADDR:STRING=%{_rundir}/mysql/mysql.sock \
-DINSTALL_LAYOUT=RPM \
-DINSTALL_LIBDIR:STRING=%{_lib} \
-DINSTALL_INCLUDEDIR:STRING=include/mysql \
-DINSTALL_PLUGINDIR:STRING=%{_lib}/mysql/plugin/ \
-DWITH_MYSQLCOMPAT=ON \
-DWITH_SSL=OPENSSL \
-DINSTALL_PCDIR="%{_lib}/pkgconfig"
%make_jobs
%install
%cmake_install
# remove static linked libraries
rm %{buildroot}%{_libdir}/libmariadbclient.a
rm %{buildroot}%{_libdir}/libmysqlclient.a
rm %{buildroot}%{_libdir}/libmysqlclient_r.a
rm %{buildroot}%{_libdir}/libmariadb.a
# add a compatibility symlinks
ln -s mariadb_config %{buildroot}%{_bindir}/mysql_config
ln -s mariadb_version.h %{buildroot}%{_includedir}/mysql/mysql_version.h
ln -s libmariadb.pc %{buildroot}%{_libdir}/pkgconfig/mysqlclient.pc
ln -s %{_includedir}/mysql %{buildroot}%{_includedir}/mariadb
# install some extra required header file
install -Dpm 0644 build/include/ma_config.h \
%{buildroot}%{_includedir}/mysql/my_config.h
%post -n %{libname}%{sover} -p /sbin/ldconfig
%post -n %{libname}private -p /sbin/ldconfig
%postun -n %{libname}%{sover} -p /sbin/ldconfig
%postun -n %{libname}private -p /sbin/ldconfig
%files -n %{libname}%{sover}
%license COPYING.LIB
%doc README
%{_libdir}/libmariadb.so.%{sover}
%files -n %{libname}_plugins
%dir %{_libdir}/mysql/
%dir %{_libdir}/mysql/plugin/
%{_libdir}/mysql/plugin/dialog.so
%{_libdir}/mysql/plugin/mysql_clear_password.so
%{_libdir}/mysql/plugin/auth_gssapi_client.so
%{_libdir}/mysql/plugin/remote_io.so
%{_libdir}/mysql/plugin/sha256_password.so
%{_libdir}/mysql/plugin/caching_sha2_password.so
%{_libdir}/mysql/plugin/client_ed25519.so
%files -n %{libname}private
%{_libdir}/libmariadbprivate.so
%files -n %{libname}-devel
%{_bindir}/mariadb_config
%{_bindir}/mysql_config
%dir %{_includedir}/mysql
%{_includedir}/mysql/*
%{_includedir}/mariadb
%{_libdir}/pkgconfig/libmariadb.pc
%{_libdir}/pkgconfig/mysqlclient.pc
%{_libdir}/libmariadb.so
%{_libdir}/libmysqlclient.so
%{_libdir}/libmysqlclient_r.so
%{_mandir}/man3/*
%changelog

43
mariadb.keyring Normal file
View File

@ -0,0 +1,43 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2
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
Tmu3wSPRFsnHsQksxFhCqGYdUKyfRsobs/Ns
=ovQp
-----END PGP PUBLIC KEY BLOCK-----

89
private_library.patch Normal file
View File

@ -0,0 +1,89 @@
Author: Adam Majer <amajer@suse.de>
Date: Thu Mar 23 11:54:11 CET 2017
Summary: Build private symbols library
Some of the private symbols have very generic names and are required
by other connectors, like the ODBC connector. Instead of using
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-3.2.6-src/libmariadb/CMakeLists.txt
===================================================================
--- mariadb-connector-c-3.2.6-src.orig/libmariadb/CMakeLists.txt
+++ mariadb-connector-c-3.2.6-src/libmariadb/CMakeLists.txt
@@ -416,6 +416,12 @@ TARGET_LINK_LIBRARIES(libmariadb LINK_PR
SIGN_TARGET(libmariadb)
+ADD_LIBRARY(libmariadbprivate SHARED ${libmariadb_RC} $<TARGET_OBJECTS:mariadb_obj> ${EMPTY_FILE} ${EXPORT_LINK})
+TARGET_LINK_LIBRARIES(libmariadbprivate ${SYSTEM_LIBS})
+IF(UNIX)
+ SET_TARGET_PROPERTIES(libmariadbprivate PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}")
+ENDIF()
+
IF(CMAKE_SYSTEM_NAME MATCHES "Linux" OR
CMAKE_SYSTEM_NAME MATCHES "kFreeBSD" OR
CMAKE_SYSTEM_NAME MATCHES "GNU")
@@ -423,11 +429,13 @@ IF(CMAKE_SYSTEM_NAME MATCHES "Linux" OR
TARGET_LINK_LIBRARIES (libmariadb LINK_PRIVATE "-Wl,--no-undefined")
ENDIF()
SET_TARGET_PROPERTIES(libmariadb PROPERTIES LINK_FLAGS "${CC_BINARY_DIR}/libmariadb/mariadbclient.def")
+ SET_TARGET_PROPERTIES(libmariadbprivate PROPERTIES LINK_FLAGS "-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 "")
#
@@ -469,6 +477,9 @@ INSTALL(TARGETS libmariadb LIBRARY DESTI
COMPONENT SharedLibraries NAMELINK_SKIP)
INSTALL(TARGETS libmariadb LIBRARY DESTINATION ${INSTALL_LIBDIR}
COMPONENT Development NAMELINK_ONLY)
+INSTALL(TARGETS libmariadbprivate
+ COMPONENT SharedLibraries
+ DESTINATION ${INSTALL_LIBDIR})
ENDIF()
IF(MSVC)
Index: mariadb-connector-c-3.2.6-src/mariadb_config/mariadb_config.c.in
===================================================================
--- mariadb-connector-c-3.2.6-src.orig/mariadb_config/mariadb_config.c.in
+++ mariadb-connector-c-3.2.6-src/mariadb_config/mariadb_config.c.in
@@ -33,6 +33,7 @@ static char *mariadb_progname;
#define INCLUDE "-I%s/@INSTALL_INCLUDEDIR@ -I%s/@INSTALL_INCLUDEDIR@/mysql"
#define LIBS "-L%s/@INSTALL_LIBDIR@/ -lmariadb"
#define LIBS_SYS "@extra_dynamic_LDFLAGS@"
+#define PRIVATE_LIBS "-L%s/@INSTALL_LIBDIR@ -lmariadbprivate " LIBS_SYS
#define CFLAGS INCLUDE
#define VERSION "@MARIADB_CLIENT_VERSION@"
#define CC_VERSION "@CPACK_PACKAGE_VERSION@"
@@ -72,6 +73,7 @@ static struct option long_options[]=
{OPT_STRING_TYPE "plugindir", no_argument, 0, 'j'},
{OPT_STRING_TYPE "tlsinfo", no_argument, 0, 'k'},
{OPT_STRING_TYPE "variable", 2, 0, 'm'},
+ {OPT_STRING_TYPE "privatelibs", no_argument, 0, 'z'},
#ifdef HAVE_EMBEDDED
{OPT_STRING_TYPE "libmysqld-libs", no_argument, 0, 'n' },
{OPT_STRING_TYPE "embedded-libs", no_argument, 0, 'n' },
@@ -104,6 +106,7 @@ static const char *values[]=
CC_VERSION,
SOCKET,
PORT,
+ PRIVATE_LIBS,
PLUGIN_DIR,
TLS_LIBRARY_VERSION,
"VAR VAR is one of:"
@@ -303,6 +306,9 @@ int main(int argc, char **argv)
}
break;
}
+ case 'z':
+ puts(PRIVATE_LIBS);
+ break;
#ifdef HAVE_EMBEDDED
case 'n':
puts(EMBEDDED_LIBS);