summaryrefslogtreecommitdiff
path: root/libmysql/libmysql_rpm_version.in
diff options
context:
space:
mode:
authorVladislav Vaintroub <wlad@montyprogram.com>2013-02-04 15:43:26 +0100
committerVladislav Vaintroub <wlad@montyprogram.com>2013-02-04 15:43:26 +0100
commitbfd179e8ed5fcbad67880933d85d8852d05c7f3b (patch)
tree0d74289df638bf00f6c773f9571810cb40588546 /libmysql/libmysql_rpm_version.in
parent7f444caa0ad6b2eddc730de3cd9c94bfb9037b51 (diff)
downloadmariadb-git-bfd179e8ed5fcbad67880933d85d8852d05c7f3b.tar.gz
MDEV-4127 : Export additional symbols when building RPM,
to enable both recompiling mysqli or odbc from sources in addition to drop-in replacement functionality. The case in question is compiling mysqli from sources, that needs client_errors via ER() macro. Previously, we exported it as mysql_client_errors (compatibly to Fedora's style symbol renaming, see MDEV-3842). However, if MariaDB header files are used when compiling mysqli, client_errors needs to be exported with its original name.
Diffstat (limited to 'libmysql/libmysql_rpm_version.in')
-rw-r--r--libmysql/libmysql_rpm_version.in14
1 files changed, 13 insertions, 1 deletions
diff --git a/libmysql/libmysql_rpm_version.in b/libmysql/libmysql_rpm_version.in
index ad15c8aa2c8..b153b02e381 100644
--- a/libmysql/libmysql_rpm_version.in
+++ b/libmysql/libmysql_rpm_version.in
@@ -34,15 +34,27 @@ libmysqlclient_18 {
@CLIENT_API_5_5_LIST@
#
# Ideally the following symbols wouldn't be exported, but various applications
-# require them. We limit the namespace damage by prefixing mysql_
+# require them. Fedora limits the namespace damage by prefixing mysql_
# (see mysql-dubious-exports.patch), which means the symbols are not present
# in libmysqlclient_16.
#
+# MariaDB does not do the Fedora-style function renaming via #define in headers,
+# however it exports mysql_ prefixed symbols in addition to the "normal" ones.
+#
+# To ensure successful recompilation of affected projects, as well as drop-in replacement
+# for MySQL libraries, provided by distribution, both original symbols and their mysql_
+# prefixed counterparts have to be exported.
+
# mysql-connector-odbc requires these
mysql_default_charset_info;
mysql_get_charset;
mysql_get_charset_by_csname;
mysql_net_realloc;
+ default_charset_info;
+ get_charset;
+ get_charset_by_csname;
+ net_realloc;
# PHP's mysqli.so requires this (via the ER() macro)
mysql_client_errors;
+ client_errors;
};