# This version script is heavily inspired by Fedora's and Mageia's version scripts for # MySQL client shared library. It is used in MariaDB for building RPMs. libmysqlclient_16 { global: @CLIENT_API_5_1_LIST@ # some stuff from Mageia, I have no idea why it is there # But too afraid to throw anything away _fini; _init; my_init; my_progname; myodbc_remove_escape; # These are documented in Paul DuBois' MySQL book, so we treat them as part # of the de-facto API. free_defaults; handle_options; load_defaults; my_print_help; # pure-ftpd requires this my_make_scrambled_password; # fedora18 export THR_KEY_mysys; # hydra requires this scramble; # DBD::mysql requires this is_prefix; local: *; }; libmysqlclient_18 { global: @CLIENT_API_5_5_LIST@ # # Ideally the following symbols wouldn't be exported, but various applications # 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; };