Update to 5.7.9

This commit is contained in:
Jakub Dorňák 2015-09-23 12:31:06 +02:00
parent e82d4dd5ca
commit bf0a83b8b2
15 changed files with 370 additions and 1302 deletions

1
.gitignore vendored
View File

@ -17,3 +17,4 @@
/mysql-5.6.25.tar.gz
/mysql-5.6.26.tar.gz
/mysql-5.6.27.tar.gz
/mysql-5.7.9.tar.gz

View File

@ -1,11 +0,0 @@
--- mysql-5.6.13/cmake/mysql_version.cmake.orig 2013-08-15 13:48:26.177017731 +0200
+++ mysql-5.6.13/cmake/mysql_version.cmake 2013-08-15 13:49:35.478949928 +0200
@@ -17,7 +17,7 @@
# Global constants, only to be changed between major releases.
#
-SET(SHARED_LIB_MAJOR_VERSION "18")
+SET(SHARED_LIB_MAJOR_VERSION "1018")
SET(SHARED_LIB_MINOR_VERSION "1")
SET(PROTOCOL_VERSION "10")
SET(DOT_FRM_VERSION "6")

View File

@ -1,960 +0,0 @@
diff -rup old/libmysql/libmysql.c new/libmysql/libmysql.c
--- old/libmysql/libmysql.c 2013-11-04 20:15:10.000000000 +0100
+++ new/libmysql/libmysql.c 2014-01-14 12:10:27.148374504 +0100
@@ -4898,3 +4898,612 @@ my_bool STDCALL mysql_read_query_result(
return (*mysql->methods->read_query_result)(mysql);
}
+#ifndef EMBEDDED_LIBRARY
+
+// Hack to provide both libmysqlclient_16 and libmysqlclient_18 symbol versions
+
+#define SYM_16(_exportedsym) __asm__(".symver symver16_" #_exportedsym "," #_exportedsym "@libmysqlclient_16")
+
+void STDCALL symver16_myodbc_remove_escape(MYSQL *mysql,char *name)
+{
+ return myodbc_remove_escape(mysql, name);
+}
+SYM_16(myodbc_remove_escape);
+
+
+my_ulonglong STDCALL symver16_mysql_affected_rows(MYSQL *mysql)
+{
+ return mysql_affected_rows(mysql);
+}
+SYM_16(mysql_affected_rows);
+
+
+my_bool STDCALL symver16_mysql_autocommit(MYSQL * mysql, my_bool auto_mode)
+{
+ return mysql_autocommit(mysql, auto_mode);
+}
+SYM_16(mysql_autocommit);
+
+
+my_bool STDCALL symver16_mysql_change_user(MYSQL *mysql, const char *user, const char *passwd, const char *db)
+{
+ return mysql_change_user(mysql, user, passwd, db);
+}
+SYM_16(mysql_change_user);
+
+
+const char * STDCALL symver16_mysql_character_set_name(MYSQL *mysql)
+{
+ return mysql_character_set_name(mysql);
+}
+SYM_16(mysql_character_set_name);
+
+
+my_bool STDCALL symver16_mysql_commit(MYSQL * mysql)
+{
+ return mysql_commit(mysql);
+}
+SYM_16(mysql_commit);
+
+
+void STDCALL symver16_mysql_data_seek(MYSQL_RES *result, my_ulonglong row)
+{
+ return mysql_data_seek(result, row);
+}
+SYM_16(mysql_data_seek);
+
+
+void STDCALL symver16_mysql_debug(const char *debug __attribute__((unused)))
+{
+ return mysql_debug(debug);
+}
+SYM_16(mysql_debug);
+
+
+int STDCALL symver16_mysql_dump_debug_info(MYSQL *mysql)
+{
+ return mysql_dump_debug_info(mysql);
+}
+SYM_16(mysql_dump_debug_info);
+
+
+my_bool STDCALL symver16_mysql_embedded(void)
+{
+ return mysql_embedded();
+}
+SYM_16(mysql_embedded);
+
+
+my_bool STDCALL symver16_mysql_eof(MYSQL_RES *res)
+{
+ return mysql_eof(res);
+}
+SYM_16(mysql_eof);
+
+
+ulong STDCALL symver16_mysql_escape_string(char *to,const char *from,ulong length)
+{
+ return mysql_escape_string(to, from, length);
+}
+SYM_16(mysql_escape_string);
+
+
+MYSQL_FIELD * STDCALL symver16_mysql_fetch_field(MYSQL_RES *result)
+{
+ return mysql_fetch_field(result);
+}
+SYM_16(mysql_fetch_field);
+
+
+MYSQL_FIELD * STDCALL symver16_mysql_fetch_field_direct(MYSQL_RES *res,uint fieldnr)
+{
+ return mysql_fetch_field_direct(res, fieldnr);
+}
+SYM_16(mysql_fetch_field_direct);
+
+
+MYSQL_FIELD * STDCALL symver16_mysql_fetch_fields(MYSQL_RES *res)
+{
+ return mysql_fetch_fields(res);
+}
+SYM_16(mysql_fetch_fields);
+
+
+unsigned int STDCALL symver16_mysql_field_count(MYSQL *mysql)
+{
+ return mysql_field_count(mysql);
+}
+SYM_16(mysql_field_count);
+
+
+MYSQL_FIELD_OFFSET STDCALL symver16_mysql_field_seek(MYSQL_RES *result, MYSQL_FIELD_OFFSET field_offset)
+{
+ return mysql_field_seek(result, field_offset);
+}
+SYM_16(mysql_field_seek);
+
+
+MYSQL_FIELD_OFFSET STDCALL symver16_mysql_field_tell(MYSQL_RES *res)
+{
+ return mysql_field_tell(res);
+}
+SYM_16(mysql_field_tell);
+
+
+void STDCALL symver16_mysql_get_character_set_info(MYSQL *mysql, MY_CHARSET_INFO *csinfo)
+{
+ return mysql_get_character_set_info(mysql, csinfo);
+}
+SYM_16(mysql_get_character_set_info);
+
+
+const char * STDCALL symver16_mysql_get_client_info(void)
+{
+ return mysql_get_client_info();
+}
+SYM_16(mysql_get_client_info);
+
+ulong STDCALL symver16_mysql_get_client_version(void)
+{
+ return mysql_get_client_version();
+}
+SYM_16(mysql_get_client_version);
+
+
+const char * STDCALL symver16_mysql_get_host_info(MYSQL *mysql)
+{
+ return mysql_get_host_info(mysql);
+}
+SYM_16(mysql_get_host_info);
+
+
+MYSQL_PARAMETERS *STDCALL symver16_mysql_get_parameters(void)
+{
+ return mysql_get_parameters();
+}
+SYM_16(mysql_get_parameters);
+
+
+uint STDCALL symver16_mysql_get_proto_info(MYSQL *mysql)
+{
+ return mysql_get_proto_info(mysql);
+}
+SYM_16(mysql_get_proto_info);
+
+
+const char * STDCALL symver16_mysql_get_server_info(MYSQL *mysql)
+{
+ return mysql_get_server_info(mysql);
+}
+SYM_16(mysql_get_server_info);
+
+
+ulong STDCALL symver16_mysql_hex_string(char *to, const char *from, ulong length)
+{
+ return mysql_hex_string(to, from, length);
+}
+SYM_16(mysql_hex_string);
+
+
+const char *STDCALL symver16_mysql_info(MYSQL *mysql)
+{
+ return mysql_info(mysql);
+}
+SYM_16(mysql_info);
+
+
+my_ulonglong STDCALL symver16_mysql_insert_id(MYSQL *mysql)
+{
+ return mysql_insert_id(mysql);
+}
+SYM_16(mysql_insert_id);
+
+
+int STDCALL symver16_mysql_kill(MYSQL *mysql,ulong pid)
+{
+ return mysql_kill(mysql, pid);
+}
+SYM_16(mysql_kill);
+
+
+MYSQL_RES * STDCALL symver16_mysql_list_dbs(MYSQL *mysql, const char *wild)
+{
+ return mysql_list_dbs(mysql, wild);
+}
+SYM_16(mysql_list_dbs);
+
+
+MYSQL_RES * STDCALL symver16_mysql_list_fields(MYSQL *mysql, const char *table, const char *wild)
+{
+ return mysql_list_fields(mysql, table, wild);
+}
+SYM_16(mysql_list_fields);
+
+
+MYSQL_RES * STDCALL symver16_mysql_list_processes(MYSQL *mysql)
+{
+ return mysql_list_processes(mysql);
+}
+SYM_16(mysql_list_processes);
+
+
+MYSQL_RES * STDCALL symver16_mysql_list_tables(MYSQL *mysql, const char *wild)
+{
+ return mysql_list_tables(mysql, wild);
+}
+SYM_16(mysql_list_tables);
+
+
+my_bool STDCALL symver16_mysql_more_results(MYSQL *mysql)
+{
+ return mysql_more_results(mysql);
+}
+SYM_16(mysql_more_results);
+
+
+int STDCALL symver16_mysql_next_result(MYSQL *mysql)
+{
+ return mysql_next_result(mysql);
+}
+SYM_16(mysql_next_result);
+
+
+int STDCALL symver16_mysql_ping(MYSQL *mysql)
+{
+ return mysql_ping(mysql);
+}
+SYM_16(mysql_ping);
+
+
+int STDCALL symver16_mysql_query(MYSQL *mysql, const char *query)
+{
+ return mysql_query(mysql, query);
+}
+SYM_16(mysql_query);
+
+
+my_bool STDCALL symver16_mysql_read_query_result(MYSQL *mysql)
+{
+ return mysql_read_query_result(mysql);
+}
+SYM_16(mysql_read_query_result);
+
+
+ulong STDCALL symver16_mysql_real_escape_string(MYSQL *mysql, char *to,const char *from, ulong length)
+{
+ return mysql_real_escape_string(mysql, to, from, length);
+}
+SYM_16(mysql_real_escape_string);
+
+
+int STDCALL symver16_mysql_refresh(MYSQL *mysql,uint options)
+{
+ return mysql_refresh(mysql, options);
+}
+SYM_16(mysql_refresh);
+
+
+my_bool STDCALL symver16_mysql_rollback(MYSQL * mysql)
+{
+ return mysql_rollback(mysql);
+}
+SYM_16(mysql_rollback);
+
+
+MYSQL_ROW_OFFSET STDCALL symver16_mysql_row_seek(MYSQL_RES *result, MYSQL_ROW_OFFSET row)
+{
+ return mysql_row_seek(result, row);
+}
+SYM_16(mysql_row_seek);
+
+
+MYSQL_ROW_OFFSET STDCALL symver16_mysql_row_tell(MYSQL_RES *res)
+{
+ return mysql_row_tell(res);
+}
+SYM_16(mysql_row_tell);
+
+
+void STDCALL symver16_mysql_server_end()
+{
+ return mysql_server_end();
+}
+SYM_16(mysql_server_end);
+
+
+int STDCALL symver16_mysql_server_init(int argc __attribute__((unused)), char **argv __attribute__((unused)), char **groups __attribute__((unused)))
+{
+ return mysql_server_init(argc, argv, groups);
+}
+SYM_16(mysql_server_init);
+
+
+void symver16_mysql_set_local_infile_default(MYSQL *mysql)
+{
+ return mysql_set_local_infile_default(mysql);
+}
+SYM_16(mysql_set_local_infile_default);
+
+
+void symver16_mysql_set_local_infile_handler(MYSQL *mysql, int (*local_infile_init)(void **, const char *, void *), int (*local_infile_read)(void *, char *, uint), void (*local_infile_end)(void *), int (*local_infile_error)(void *, char *, uint), void *userdata)
+{
+ return mysql_set_local_infile_handler(mysql, local_infile_init, local_infile_read, local_infile_end, local_infile_error, userdata);
+}
+SYM_16(mysql_set_local_infile_handler);
+
+
+int STDCALL symver16_mysql_set_server_option(MYSQL *mysql, enum enum_mysql_set_option option)
+{
+ return mysql_set_server_option(mysql, option);
+}
+SYM_16(mysql_set_server_option);
+
+
+int STDCALL symver16_mysql_shutdown(MYSQL *mysql, enum mysql_enum_shutdown_level shutdown_level)
+{
+ return mysql_shutdown(mysql, shutdown_level);
+}
+SYM_16(mysql_shutdown);
+
+
+const char *STDCALL symver16_mysql_sqlstate(MYSQL *mysql)
+{
+ return mysql_sqlstate(mysql);
+}
+SYM_16(mysql_sqlstate);
+
+
+const char * STDCALL symver16_mysql_stat(MYSQL *mysql)
+{
+ return mysql_stat(mysql);
+}
+SYM_16(mysql_stat);
+
+
+my_ulonglong STDCALL symver16_mysql_stmt_affected_rows(MYSQL_STMT *stmt)
+{
+ return mysql_stmt_affected_rows(stmt);
+}
+SYM_16(mysql_stmt_affected_rows);
+
+
+my_bool STDCALL symver16_mysql_stmt_attr_get(MYSQL_STMT *stmt, enum enum_stmt_attr_type attr_type, void *value)
+{
+ return mysql_stmt_attr_get(stmt, attr_type, value);
+}
+SYM_16(mysql_stmt_attr_get);
+
+
+my_bool STDCALL symver16_mysql_stmt_attr_set(MYSQL_STMT *stmt, enum enum_stmt_attr_type attr_type, const void *value)
+{
+ return mysql_stmt_attr_set(stmt, attr_type, value);
+}
+SYM_16(mysql_stmt_attr_set);
+
+
+my_bool STDCALL symver16_mysql_stmt_bind_param(MYSQL_STMT *stmt, MYSQL_BIND *my_bind)
+{
+ return mysql_stmt_bind_param(stmt, my_bind);
+}
+SYM_16(mysql_stmt_bind_param);
+
+
+my_bool STDCALL symver16_mysql_stmt_bind_result(MYSQL_STMT *stmt, MYSQL_BIND *my_bind)
+{
+ return mysql_stmt_bind_result(stmt, my_bind);
+}
+SYM_16(mysql_stmt_bind_result);
+
+
+my_bool STDCALL symver16_mysql_stmt_close(MYSQL_STMT *stmt)
+{
+ return mysql_stmt_close(stmt);
+}
+SYM_16(mysql_stmt_close);
+
+
+void STDCALL symver16_mysql_stmt_data_seek(MYSQL_STMT *stmt, my_ulonglong row)
+{
+ return mysql_stmt_data_seek(stmt, row);
+}
+SYM_16(mysql_stmt_data_seek);
+
+
+uint STDCALL symver16_mysql_stmt_errno(MYSQL_STMT * stmt)
+{
+ return mysql_stmt_errno(stmt);
+}
+SYM_16(mysql_stmt_errno);
+
+
+const char *STDCALL symver16_mysql_stmt_error(MYSQL_STMT * stmt)
+{
+ return mysql_stmt_error(stmt);
+}
+SYM_16(mysql_stmt_error);
+
+
+int STDCALL symver16_mysql_stmt_execute(MYSQL_STMT *stmt)
+{
+ return mysql_stmt_execute(stmt);
+}
+SYM_16(mysql_stmt_execute);
+
+
+int STDCALL symver16_mysql_stmt_fetch(MYSQL_STMT *stmt)
+{
+ return mysql_stmt_fetch(stmt);
+}
+SYM_16(mysql_stmt_fetch);
+
+
+int STDCALL symver16_mysql_stmt_fetch_column(MYSQL_STMT *stmt, MYSQL_BIND *my_bind, uint column, ulong offset)
+{
+ return mysql_stmt_fetch_column(stmt, my_bind, column, offset);
+}
+SYM_16(mysql_stmt_fetch_column);
+
+
+unsigned int STDCALL symver16_mysql_stmt_field_count(MYSQL_STMT *stmt)
+{
+ return mysql_stmt_field_count(stmt);
+}
+SYM_16(mysql_stmt_field_count);
+
+
+my_bool STDCALL symver16_mysql_stmt_free_result(MYSQL_STMT *stmt)
+{
+ return mysql_stmt_free_result(stmt);
+}
+SYM_16(mysql_stmt_free_result);
+
+
+MYSQL_STMT * STDCALL symver16_mysql_stmt_init(MYSQL *mysql)
+{
+ return mysql_stmt_init(mysql);
+}
+SYM_16(mysql_stmt_init);
+
+
+my_ulonglong STDCALL symver16_mysql_stmt_insert_id(MYSQL_STMT *stmt)
+{
+ return mysql_stmt_insert_id(stmt);
+}
+SYM_16(mysql_stmt_insert_id);
+
+
+my_ulonglong STDCALL symver16_mysql_stmt_num_rows(MYSQL_STMT *stmt)
+{
+ return mysql_stmt_num_rows(stmt);
+}
+SYM_16(mysql_stmt_num_rows);
+
+
+ulong STDCALL symver16_mysql_stmt_param_count(MYSQL_STMT * stmt)
+{
+ return mysql_stmt_param_count(stmt);
+}
+SYM_16(mysql_stmt_param_count);
+
+
+MYSQL_RES * STDCALL symver16_mysql_stmt_param_metadata(MYSQL_STMT *stmt)
+{
+ return mysql_stmt_param_metadata(stmt);
+}
+SYM_16(mysql_stmt_param_metadata);
+
+
+int STDCALL symver16_mysql_stmt_prepare(MYSQL_STMT *stmt, const char *query, ulong length)
+{
+ return mysql_stmt_prepare(stmt, query, length);
+}
+SYM_16(mysql_stmt_prepare);
+
+
+my_bool STDCALL symver16_mysql_stmt_reset(MYSQL_STMT *stmt)
+{
+ return mysql_stmt_reset(stmt);
+}
+SYM_16(mysql_stmt_reset);
+
+
+MYSQL_RES * STDCALL symver16_mysql_stmt_result_metadata(MYSQL_STMT *stmt)
+{
+ return mysql_stmt_result_metadata(stmt);
+}
+SYM_16(mysql_stmt_result_metadata);
+
+
+MYSQL_ROW_OFFSET STDCALL symver16_mysql_stmt_row_seek(MYSQL_STMT *stmt, MYSQL_ROW_OFFSET row)
+{
+ return mysql_stmt_row_seek(stmt, row);
+}
+SYM_16(mysql_stmt_row_seek);
+
+
+MYSQL_ROW_OFFSET STDCALL symver16_mysql_stmt_row_tell(MYSQL_STMT *stmt)
+{
+ return mysql_stmt_row_tell(stmt);
+}
+SYM_16(mysql_stmt_row_tell);
+
+
+my_bool STDCALL symver16_mysql_stmt_send_long_data(MYSQL_STMT *stmt, uint param_number, const char *data, ulong length)
+{
+ return mysql_stmt_send_long_data(stmt, param_number, data, length);
+}
+SYM_16(mysql_stmt_send_long_data);
+
+
+const char *STDCALL symver16_mysql_stmt_sqlstate(MYSQL_STMT * stmt)
+{
+ return mysql_stmt_sqlstate(stmt);
+}
+SYM_16(mysql_stmt_sqlstate);
+
+
+int STDCALL symver16_mysql_stmt_store_result(MYSQL_STMT *stmt)
+{
+ return mysql_stmt_store_result(stmt);
+}
+SYM_16(mysql_stmt_store_result);
+
+
+void STDCALL symver16_mysql_thread_end()
+{
+ return mysql_thread_end();
+}
+SYM_16(mysql_thread_end);
+
+
+ulong STDCALL symver16_mysql_thread_id(MYSQL *mysql)
+{
+ return mysql_thread_id(mysql);
+}
+SYM_16(mysql_thread_id);
+
+
+my_bool STDCALL symver16_mysql_thread_init()
+{
+ return mysql_thread_init();
+}
+SYM_16(mysql_thread_init);
+
+
+uint STDCALL symver16_mysql_thread_safe(void)
+{
+ return mysql_thread_safe();
+}
+SYM_16(mysql_thread_safe);
+
+
+MYSQL_RES * STDCALL symver16_mysql_use_result(MYSQL *mysql)
+{
+ return mysql_use_result(mysql);
+}
+SYM_16(mysql_use_result);
+
+
+uint STDCALL symver16_mysql_warning_count(MYSQL *mysql)
+{
+ return mysql_warning_count(mysql);
+}
+SYM_16(mysql_warning_count);
+
+/*****/
+
+MYSQL * STDCALL symver16_mysql_real_connect(MYSQL *mysql,const char *host, const char *user, const char *passwd, const char *db, uint port, const char *unix_socket,ulong client_flag)
+{
+ return mysql_real_connect(mysql, host, user, passwd, db, port, unix_socket, client_flag);
+}
+SYM_16(mysql_real_connect);
+
+/*****/
+
+my_bool symver16_my_init(void)
+{
+ return my_init();
+}
+SYM_16(my_init);
+
+#endif
diff -rup old/libmysql/libmysql.ver.in new/libmysql/libmysql.ver.in
--- old/libmysql/libmysql.ver.in 2013-11-04 20:15:10.000000000 +0100
+++ new/libmysql/libmysql.ver.in 2014-01-14 12:10:27.148374504 +0100
@@ -1 +1,136 @@
-libmysqlclient_@SHARED_LIB_MAJOR_VERSION@ { global: *; };
+libmysqlclient_16
+{
+ local:
+ symver16_*;
+};
+
+libmysqlclient_18
+{
+ global:
+ my_init;
+ myodbc_remove_escape;
+ mysql_affected_rows;
+ mysql_autocommit;
+ mysql_change_user;
+ mysql_character_set_name;
+ mysql_close;
+ mysql_commit;
+ mysql_data_seek;
+ mysql_debug;
+ mysql_dump_debug_info;
+ mysql_embedded;
+ mysql_eof;
+ mysql_errno;
+ mysql_error;
+ mysql_escape_string;
+ mysql_fetch_field;
+ mysql_fetch_field_direct;
+ mysql_fetch_fields;
+ mysql_fetch_lengths;
+ mysql_fetch_row;
+ mysql_field_count;
+ mysql_field_seek;
+ mysql_field_tell;
+ mysql_free_result;
+ mysql_get_character_set_info;
+ mysql_get_client_info;
+ mysql_get_client_version;
+ mysql_get_host_info;
+ mysql_get_parameters;
+ mysql_get_proto_info;
+ mysql_get_server_info;
+ mysql_get_server_version;
+ mysql_get_ssl_cipher;
+ mysql_hex_string;
+ mysql_info;
+ mysql_init;
+ mysql_insert_id;
+ mysql_kill;
+ mysql_list_dbs;
+ mysql_list_fields;
+ mysql_list_processes;
+ mysql_list_tables;
+ mysql_more_results;
+ mysql_next_result;
+ mysql_num_fields;
+ mysql_num_rows;
+ mysql_options;
+ mysql_ping;
+ mysql_query;
+ mysql_read_query_result;
+ mysql_real_connect;
+ mysql_real_escape_string;
+ mysql_real_query;
+ mysql_refresh;
+ mysql_rollback;
+ mysql_row_seek;
+ mysql_row_tell;
+ mysql_select_db;
+ mysql_send_query;
+ mysql_server_end;
+ mysql_server_init;
+ mysql_set_character_set;
+ mysql_set_local_infile_default;
+ mysql_set_local_infile_handler;
+ mysql_set_server_option;
+ mysql_shutdown;
+ mysql_sqlstate;
+ mysql_ssl_set;
+ mysql_stat;
+ mysql_stmt_affected_rows;
+ mysql_stmt_attr_get;
+ mysql_stmt_attr_set;
+ mysql_stmt_bind_param;
+ mysql_stmt_bind_result;
+ mysql_stmt_close;
+ mysql_stmt_data_seek;
+ mysql_stmt_errno;
+ mysql_stmt_error;
+ mysql_stmt_execute;
+ mysql_stmt_fetch;
+ mysql_stmt_fetch_column;
+ mysql_stmt_field_count;
+ mysql_stmt_free_result;
+ mysql_stmt_init;
+ mysql_stmt_insert_id;
+ mysql_stmt_num_rows;
+ mysql_stmt_param_count;
+ mysql_stmt_param_metadata;
+ mysql_stmt_prepare;
+ mysql_stmt_reset;
+ mysql_stmt_result_metadata;
+ mysql_stmt_row_seek;
+ mysql_stmt_row_tell;
+ mysql_stmt_send_long_data;
+ mysql_stmt_sqlstate;
+ mysql_stmt_store_result;
+ mysql_store_result;
+ mysql_thread_end;
+ mysql_thread_id;
+ mysql_thread_init;
+ mysql_thread_safe;
+ mysql_use_result;
+ mysql_warning_count;
+
+ free_defaults;
+ handle_options;
+ load_defaults;
+ my_print_help;
+
+ #my_make_scrambled_password;
+ THR_KEY_mysys;
+
+ mysql_client_find_plugin;
+ mysql_client_register_plugin;
+ mysql_load_plugin;
+ mysql_load_plugin_v;
+ mysql_plugin_options;
+ mysql_stmt_next_result;
+
+ #mysql_default_charset_info;
+ mysql_get_charset;
+ mysql_get_charset_by_csname;
+ mysql_net_realloc;
+ #mysql_client_errors;
+ *;
+} libmysqlclient_16;
diff -rup old/mysys/charset.c new/mysys/charset.c
--- old/mysys/charset.c 2013-11-04 20:15:10.000000000 +0100
+++ new/mysys/charset.c 2014-01-14 12:10:27.197377417 +0100
@@ -1040,3 +1040,20 @@ size_t escape_quotes_for_mysql(CHARSET_I
*to= 0;
return overflow ? (ulong)~0 : (ulong) (to - to_start);
}
+
+#ifndef EMBEDDED_LIBRARY
+
+// Hack to provide Fedora symbols
+
+CHARSET_INFO *mysql_get_charset(uint cs_number, myf flags)
+{
+ return get_charset(cs_number, flags);
+}
+
+
+CHARSET_INFO * mysql_get_charset_by_csname(const char *cs_name, uint cs_flags, myf flags)
+{
+ return get_charset_by_csname(cs_name, cs_flags, flags);
+}
+
+#endif
diff -rup old/sql/net_serv.cc new/sql/net_serv.cc
--- old/sql/net_serv.cc 2013-11-04 20:15:10.000000000 +0100
+++ new/sql/net_serv.cc 2014-01-14 12:10:27.252380688 +0100
@@ -1047,3 +1047,15 @@ void my_net_set_write_timeout(NET *net,
DBUG_VOID_RETURN;
}
+#ifndef EMBEDDED_LIBRARY
+C_MODE_START
+
+// Hack to provide Fedora symbols
+
+my_bool mysql_net_realloc(NET *net, size_t length)
+{
+ return net_realloc(net, length);
+}
+
+C_MODE_END
+#endif
diff -rup old/sql/password.c new/sql/password.c
--- old/sql/password.c 2013-11-04 20:15:10.000000000 +0100
+++ new/sql/password.c 2014-01-14 12:10:27.309384078 +0100
@@ -584,3 +584,16 @@ void make_password_from_salt(char *to, c
octet2hex(to, (const char*) hash_stage2, SHA1_HASH_SIZE);
}
+#ifndef EMBEDDED_LIBRARY
+
+// Hack to provide both libmysqlclient_16 and libmysqlclient_18 symbol versions
+
+#define SYM_16(_exportedsym) __asm__(".symver symver16_" #_exportedsym "," #_exportedsym "@libmysqlclient_16")
+
+void symver16_my_make_scrambled_password(char *to, const char *password, size_t pass_len)
+{
+ my_make_scrambled_password(to, password, pass_len);
+}
+SYM_16(my_make_scrambled_password);
+
+#endif
diff -rup old/sql-common/client.c new/sql-common/client.c
--- old/sql-common/client.c 2013-11-04 20:15:10.000000000 +0100
+++ new/sql-common/client.c 2014-01-14 12:10:27.199377537 +0100
@@ -4847,3 +4847,136 @@ static int clear_password_auth_client(MY
return res ? CR_ERROR : CR_OK;
}
+
+#ifndef EMBEDDED_LIBRARY
+
+// Hack to provide both libmysqlclient_16 and libmysqlclient_18 symbol versions
+
+#define SYM_16(_exportedsym) __asm__(".symver symver16_" #_exportedsym "," #_exportedsym "@libmysqlclient_16")
+
+void STDCALL symver16_mysql_close(MYSQL *mysql)
+{
+ return mysql_close(mysql);
+}
+SYM_16(mysql_close);
+
+
+uint STDCALL symver16_mysql_errno(MYSQL *mysql)
+{
+ return mysql_errno(mysql);
+}
+SYM_16(mysql_errno);
+
+
+const char * STDCALL symver16_mysql_error(MYSQL *mysql)
+{
+ return mysql_error(mysql);
+}
+SYM_16(mysql_error);
+
+
+ulong * STDCALL symver16_mysql_fetch_lengths(MYSQL_RES *res)
+{
+ return mysql_fetch_lengths(res);
+}
+SYM_16(mysql_fetch_lengths);
+
+
+MYSQL_ROW STDCALL symver16_mysql_fetch_row(MYSQL_RES *res)
+{
+ return mysql_fetch_row(res);
+}
+SYM_16(mysql_fetch_row);
+
+
+void STDCALL symver16_mysql_free_result(MYSQL_RES *result)
+{
+ return mysql_free_result(result);
+}
+SYM_16(mysql_free_result);
+
+
+ulong STDCALL symver16_mysql_get_server_version(MYSQL *mysql)
+{
+ return mysql_get_server_version(mysql);
+}
+SYM_16(mysql_get_server_version);
+
+
+const char * STDCALL symver16_mysql_get_ssl_cipher(MYSQL *mysql __attribute__((unused)))
+{
+ return mysql_get_ssl_cipher(mysql);
+}
+SYM_16(mysql_get_ssl_cipher);
+
+
+MYSQL * STDCALL symver16_mysql_init(MYSQL *mysql)
+{
+ return mysql_init(mysql);
+}
+SYM_16(mysql_init);
+
+
+unsigned int STDCALL symver16_mysql_num_fields(MYSQL_RES *res)
+{
+ return mysql_num_fields(res);
+}
+SYM_16(mysql_num_fields);
+
+
+my_ulonglong STDCALL symver16_mysql_num_rows(MYSQL_RES *res)
+{
+ return mysql_num_rows(res);
+}
+SYM_16(mysql_num_rows);
+
+
+int STDCALL symver16_mysql_options(MYSQL *mysql,enum mysql_option option, const void *arg)
+{
+ return mysql_options(mysql, option, arg);
+}
+SYM_16(mysql_options);
+
+
+int STDCALL symver16_mysql_real_query(MYSQL *mysql, const char *query, ulong length)
+{
+ return mysql_real_query(mysql, query, length);
+}
+SYM_16(mysql_real_query);
+
+
+int STDCALL symver16_mysql_select_db(MYSQL *mysql, const char *db)
+{
+ return mysql_select_db(mysql, db);
+}
+SYM_16(mysql_select_db);
+
+
+int STDCALL symver16_mysql_send_query(MYSQL* mysql, const char* query, ulong length)
+{
+ return mysql_send_query(mysql, query, length);
+}
+SYM_16(mysql_send_query);
+
+
+int STDCALL symver16_mysql_set_character_set(MYSQL *mysql, const char *cs_name)
+{
+ return mysql_set_character_set(mysql, cs_name);
+}
+SYM_16(mysql_set_character_set);
+
+
+my_bool STDCALL symver16_mysql_ssl_set(MYSQL *mysql __attribute__((unused)), const char *key __attribute__((unused)), const char *cert __attribute__((unused)), const char *ca __attribute__((unused)), const char *capath __attribute__((unused)), const char *cipher __attribute__((unused)))
+{
+ return mysql_ssl_set(mysql, key, cert, ca, capath, cipher);
+}
+SYM_16(mysql_ssl_set);
+
+
+MYSQL_RES * STDCALL symver16_mysql_store_result(MYSQL *mysql)
+{
+ return mysql_store_result(mysql);
+}
+SYM_16(mysql_store_result);
+
+#endif

View File

@ -0,0 +1,11 @@
--- mysql-5.7.8/cmake/mysql_version.cmake.orig 2015-09-23 15:43:23.252558904 +0200
+++ mysql-5.7.8/cmake/mysql_version.cmake 2015-09-23 15:42:58.187604141 +0200
@@ -17,7 +17,7 @@
# Global constants, only to be changed between major releases.
#
-SET(SHARED_LIB_MAJOR_VERSION "20")
+SET(SHARED_LIB_MAJOR_VERSION "1020")
SET(SHARED_LIB_MINOR_VERSION "0")
SET(PROTOCOL_VERSION "10")
SET(DOT_FRM_VERSION "6")

160
community-mysql-boost.patch Normal file
View File

@ -0,0 +1,160 @@
--- mysql-5.7.9/client/CMakeLists.txt.orig 2015-10-12 08:21:35.000000000 +0200
+++ mysql-5.7.9/client/CMakeLists.txt 2015-11-10 21:16:37.264522003 +0100
@@ -30,12 +30,6 @@ INCLUDE_DIRECTORIES(
INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake)
-# Prevent Boost from including external precompiled Boost libraries, use
-# threading (not implemented for Solaris) and turn off unused functionality.
-ADD_DEFINITIONS(
- -DBOOST_ALL_NO_LIB
- -DBOOST_SYSTEM_NO_DEPRECATED)
-
## Subdirectory with common client code.
ADD_SUBDIRECTORY(base)
## Subdirectory for mysqlpump code.
@@ -46,74 +40,6 @@ COPY_OPENSSL_DLLS(copy_openssl_client)
INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake)
-SET(BOOST_SOURCES_DIR ${BOOST_PATCHES_DIR})
-
-IF(WIN32)
- LIST(APPEND BOOST_THREAD_SOURCES
- ${BOOST_SOURCES_DIR}/libs/thread/src/win32/thread.cpp
- ${BOOST_SOURCES_DIR}/libs/thread/src/win32/tss_dll.cpp
- ${BOOST_SOURCES_DIR}/libs/thread/src/win32/tss_pe.cpp
- )
-ELSE()
- LIST(APPEND BOOST_THREAD_SOURCES
- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/once.cpp
- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/thread.cpp
- )
-ENDIF()
-
-SET(BOOST_LIB_SOURCES
- ${BOOST_SOURCES_DIR}/libs/atomic/src/lockpool.cpp
- ${BOOST_SOURCES_DIR}/libs/chrono/src/chrono.cpp
- ${BOOST_SOURCES_DIR}/libs/chrono/src/process_cpu_clocks.cpp
- ${BOOST_SOURCES_DIR}/libs/chrono/src/thread_clock.cpp
- ${BOOST_SOURCES_DIR}/libs/system/src/error_code.cpp
- ${BOOST_SOURCES_DIR}/libs/thread/src/future.cpp
-)
-
-ADD_CONVENIENCE_LIBRARY(boost_lib
- ${BOOST_LIB_SOURCES}
- ${BOOST_THREAD_SOURCES}
-)
-
-SET_TARGET_PROPERTIES(boost_lib
- PROPERTIES COMPILE_FLAGS "-DBOOST_THREAD_BUILD_LIB")
-
-IF(HAVE_clock_gettime_IN_rt)
- TARGET_LINK_LIBRARIES(boost_lib ${LIBRT})
-ENDIF()
-
-# Do not build library unless it is needed by some other target.
-SET_PROPERTY(TARGET boost_lib PROPERTY EXCLUDE_FROM_ALL TRUE)
-
-MY_CHECK_CXX_COMPILER_FLAG("-Wno-logical-op" HAVE_NO_LOGICAL_OP)
-IF(HAVE_NO_LOGICAL_OP)
- ADD_COMPILE_FLAGS(
- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/thread.cpp
- COMPILE_FLAGS "-Wno-logical-op"
- )
-ENDIF()
-
-# Boost source has unused local typedefs.
-MY_CHECK_CXX_COMPILER_FLAG("-Wno-unused-local-typedefs" HAVE_NO_UNUSED_TYPEDEFS)
-IF(HAVE_NO_UNUSED_TYPEDEFS)
- ADD_COMPILE_FLAGS(
- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/once.cpp
- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/thread.cpp
- COMPILE_FLAGS "-Wno-unused-local-typedefs"
- )
-ENDIF()
-
-ADD_COMPILE_FLAGS(
- ${BOOST_LIB_SOURCES}
- ${BOOST_THREAD_SOURCES}
- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR}
-)
-
-# Need explicit pthread for gcc -fsanitize=address
-IF(CMAKE_USE_PTHREADS_INIT AND CMAKE_C_FLAGS MATCHES "-fsanitize=")
- TARGET_LINK_LIBRARIES(boost_lib pthread)
-ENDIF()
-
ADD_DEFINITIONS(${SSL_DEFINES})
MYSQL_ADD_EXECUTABLE(mysql completion_hash.cc mysql.cc readline.cc ../sql-common/sql_string.cc)
TARGET_LINK_LIBRARIES(mysql mysqlclient)
@@ -125,9 +51,6 @@ IF(NOT WITHOUT_SERVER)
MYSQL_ADD_EXECUTABLE(mysql_upgrade
upgrade/program.cc
)
-ADD_COMPILE_FLAGS(
- upgrade/program.cc COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR}
-)
TARGET_LINK_LIBRARIES(mysql_upgrade mysqlclient client_base mysqlcheck_core)
ADD_DEPENDENCIES(mysql_upgrade GenFixPrivs GenSysSchema)
ENDIF()
--- mysql-5.7.9/client/base/CMakeLists.txt.orig 2015-11-10 21:38:13.968255057 +0100
+++ mysql-5.7.9/client/base/CMakeLists.txt 2015-11-10 21:41:47.685928592 +0100
@@ -45,14 +45,7 @@ ADD_CONVENIENCE_LIBRARY(client_base
../../sql-common/sql_string.cc
)
-ADD_COMPILE_FLAGS(
- mutex.cc
- mysql_query_runner.cc
- show_variable_query_extractor.cc
- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR}
-)
-
-TARGET_LINK_LIBRARIES(client_base mysqlclient boost_lib)
+TARGET_LINK_LIBRARIES(client_base mysqlclient boost_chrono boost_system)
# Do not build library unless it is needed by some other target.
SET_PROPERTY(TARGET client_base PROPERTY EXCLUDE_FROM_ALL TRUE)
--- mysql-5.7.9/client/dump/CMakeLists.txt.orig 2015-11-10 21:37:51.399289532 +0100
+++ mysql-5.7.9/client/dump/CMakeLists.txt 2015-11-10 21:40:32.536043387 +0100
@@ -101,7 +101,7 @@ IF (NOT (CMAKE_CXX_COMPILER_ID STREQUAL
../../sql-common/my_user.c)
ADD_CONVENIENCE_LIBRARY(mysqlpump_lib ${MYSQLPUMP_LIB_SOURCES})
TARGET_LINK_LIBRARIES(mysqlpump_lib
- client_base ${LZ4_LIBRARY} boost_lib)
+ client_base ${LZ4_LIBRARY} boost_chrono boost_system)
# Boost source has unused local typedefs.
MY_CHECK_CXX_COMPILER_FLAG("-Wno-unused-local-typedefs"
@@ -125,19 +125,11 @@ IF (NOT (CMAKE_CXX_COMPILER_ID STREQUAL
ENDIF()
ADD_COMPILE_FLAGS(
- ${MYSQLPUMP_LIB_SOURCES}
- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR}
- )
-
- ADD_COMPILE_FLAGS(
compression_writer.cc
mysqldump_tool_chain_maker.cc
COMPILE_FLAGS -I${LZ4_INCLUDE_DIR}
)
MYSQL_ADD_EXECUTABLE(mysqlpump program.cc)
- ADD_COMPILE_FLAGS(
- program.cc COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR}
- )
TARGET_LINK_LIBRARIES(mysqlpump mysqlpump_lib)
--- mysql-5.7.9/CMakeLists.txt.orig 2015-10-12 08:21:33.000000000 +0200
+++ mysql-5.7.9/CMakeLists.txt 2015-11-11 12:19:26.313509287 +0100
@@ -432,8 +432,6 @@ ELSE()
SET(DEFAULT_TMPDIR "\"${TMPDIR}\"")
ENDIF()
-INCLUDE(cmake/boost.cmake)
-
IF (CMAKE_SYSTEM_NAME MATCHES "Linux")
OPTION(WITH_SYSTEMD "Enable installation of systemd support files" OFF)
IF (WITH_SYSTEMD)

View File

@ -1,38 +0,0 @@
Use configured value instead of hardcoded path
diff -up mariadb-10.0.13/scripts/mysql_install_db.pl.in.pbasedir mariadb-10.0.13/scripts/mysql_install_db.pl.in
--- mariadb-10.0.13/scripts/mysql_install_db.pl.in.pbasedir 2014-09-04 12:50:24.061979080 +0200
+++ mariadb-10.0.13/scripts/mysql_install_db.pl.in 2014-09-04 12:51:22.929045559 +0200
@@ -318,7 +318,7 @@ elsif ( $opt->{basedir} )
find_in_basedir($opt,"file","mysqld-nt",
"bin"); # ,"sql"
$pkgdatadir = find_in_basedir($opt,"dir","fill_help_tables.sql",
- "share","share/mysql"); # ,"scripts"
+ "share","@INSTALL_MYSQLSHAREDIR@"); # ,"scripts"
$scriptdir = "$opt->{basedir}/scripts";
}
else
diff -up mariadb-10.0.13/scripts/mysql_install_db.sh.pbasedir mariadb-10.0.13/scripts/mysql_install_db.sh
--- mariadb-10.0.13/scripts/mysql_install_db.sh.pbasedir 2014-09-04 12:51:59.005086301 +0200
+++ mariadb-10.0.13/scripts/mysql_install_db.sh 2014-09-04 12:54:02.794222597 +0200
@@ -280,16 +280,16 @@ then
cannot_find_file mysqld $basedir/libexec $basedir/sbin $basedir/bin
exit 1
fi
- langdir=`find_in_basedir --dir errmsg.sys share/english share/mysql/english`
+ langdir=`find_in_basedir --dir errmsg.sys share/english @INSTALL_MYSQLSHAREDIR@/english`
if test -z "$langdir"
then
- cannot_find_file errmsg.sys $basedir/share/english $basedir/share/mysql/english
+ cannot_find_file errmsg.sys $basedir/share/english $basedir/@INSTALL_MYSQLSHAREDIR@/english
exit 1
fi
- pkgdatadir=`find_in_basedir --dir fill_help_tables.sql share share/mysql`
+ pkgdatadir=`find_in_basedir --dir fill_help_tables.sql share @INSTALL_MYSQLSHAREDIR@`
if test -z "$pkgdatadir"
then
- cannot_find_file fill_help_tables.sql $basedir/share $basedir/share/mysql
+ cannot_find_file fill_help_tables.sql $basedir/share $basedir/@INSTALL_MYSQLSHAREDIR@
exit 1
fi
scriptdir="$basedir/scripts"

View File

@ -4,10 +4,10 @@ Software Collections. Removing these hard-coded paths should fix it.
Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485
diff -up mysql-5.6.23/client/mysql_plugin.c.hardpaths mysql-5.6.23/client/mysql_plugin.c
--- mysql-5.6.23/client/mysql_plugin.c.hardpaths 2015-01-19 14:48:30.000000000 +0100
+++ mysql-5.6.23/client/mysql_plugin.c 2015-02-23 13:34:21.328484658 +0100
@@ -90,6 +90,7 @@ static int find_plugin(char *tp_path);
diff -up --recursive mysql-5.7.8.orig/client/mysql_plugin.c mysql-5.7.8/client/mysql_plugin.c
--- mysql-5.7.8.orig/client/mysql_plugin.c 2015-07-20 14:25:08.000000000 +0200
+++ mysql-5.7.8/client/mysql_plugin.c 2015-09-23 13:32:57.711495542 +0200
@@ -94,6 +94,7 @@ static int find_plugin(char *tp_path);
static int build_bootstrap_file(char *operation, char *bootstrap);
static int dump_bootstrap_file(char *bootstrap_file);
static int bootstrap_server(char *server_path, char *bootstrap_file);
@ -15,7 +15,7 @@ diff -up mysql-5.6.23/client/mysql_plugin.c.hardpaths mysql-5.6.23/client/mysql_
int main(int argc,char *argv[])
@@ -121,7 +122,7 @@ int main(int argc,char *argv[])
@@ -125,7 +126,7 @@ int main(int argc,char *argv[])
*/
if ((error= process_options(argc, argv, operation)) ||
(error= check_access()) ||
@ -24,7 +24,7 @@ diff -up mysql-5.6.23/client/mysql_plugin.c.hardpaths mysql-5.6.23/client/mysql_
(error= find_plugin(tp_path)) ||
(error= build_bootstrap_file(operation, bootstrap)))
goto exit;
@@ -324,7 +325,7 @@ static int get_default_values()
@@ -331,7 +332,7 @@ static int get_default_values()
FILE *file= 0;
memset(tool_path, 0, FN_REFLEN);
@ -33,7 +33,7 @@ diff -up mysql-5.6.23/client/mysql_plugin.c.hardpaths mysql-5.6.23/client/mysql_
goto exit;
else
{
@@ -989,6 +990,55 @@ exit:
@@ -1014,6 +1015,55 @@ exit:
}
@ -62,7 +62,7 @@ diff -up mysql-5.6.23/client/mysql_plugin.c.hardpaths mysql-5.6.23/client/mysql_
+ {
+ if (path != pos)
+ {
+ strxmov(strnmov(to,path,(uint) (pos-path)),dir,name,ext,NullS);
+ strxmov(my_stpnmov(to,path,(uint) (pos-path)),dir,name,ext,NullS);
+ if (!access(to,F_OK))
+ {
+ if (opt_verbose)
@ -89,10 +89,10 @@ diff -up mysql-5.6.23/client/mysql_plugin.c.hardpaths mysql-5.6.23/client/mysql_
/**
Locate the tool and form tool path.
diff -up mysql-5.6.23/cmake/install_layout.cmake.hardpaths mysql-5.6.23/cmake/install_layout.cmake
--- mysql-5.6.23/cmake/install_layout.cmake.hardpaths 2015-01-19 14:48:32.000000000 +0100
+++ mysql-5.6.23/cmake/install_layout.cmake 2015-02-23 13:34:21.330484657 +0100
@@ -94,7 +94,7 @@ IF(UNIX)
diff -up --recursive mysql-5.7.8.orig/cmake/install_layout.cmake mysql-5.7.8/cmake/install_layout.cmake
--- mysql-5.7.8.orig/cmake/install_layout.cmake 2015-07-20 14:25:07.000000000 +0200
+++ mysql-5.7.8/cmake/install_layout.cmake 2015-09-23 13:32:57.711495542 +0200
@@ -107,7 +107,7 @@ IF(UNIX)
" Choose between ${VALID_INSTALL_LAYOUTS}" )
ENDIF()
@ -101,7 +101,7 @@ diff -up mysql-5.6.23/cmake/install_layout.cmake.hardpaths mysql-5.6.23/cmake/in
CACHE PATH "config directory (for my.cnf)")
MARK_AS_ADVANCED(SYSCONFDIR)
ENDIF()
@@ -145,6 +145,7 @@ SET(INSTALL_PLUGINTESTDIR_STANDALONE
@@ -321,6 +321,7 @@ SET(INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR
SET(INSTALL_BINDIR_RPM "bin")
SET(INSTALL_SBINDIR_RPM "sbin")
SET(INSTALL_SCRIPTDIR_RPM "bin")
@ -109,10 +109,10 @@ diff -up mysql-5.6.23/cmake/install_layout.cmake.hardpaths mysql-5.6.23/cmake/in
#
IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
SET(INSTALL_LIBDIR_RPM "lib64")
diff -up mysql-5.6.23/mysys_ssl/my_default.cc.hardpaths mysql-5.6.23/mysys_ssl/my_default.cc
--- mysql-5.6.23/mysys_ssl/my_default.cc.hardpaths 2015-01-19 14:48:32.000000000 +0100
+++ mysql-5.6.23/mysys_ssl/my_default.cc 2015-02-23 13:34:21.329484658 +0100
@@ -1389,12 +1389,12 @@ static const char **init_default_directo
diff -up --recursive mysql-5.7.8.orig/mysys_ssl/my_default.cc mysql-5.7.8/mysys_ssl/my_default.cc
--- mysql-5.7.8.orig/mysys_ssl/my_default.cc 2015-07-20 14:25:08.000000000 +0200
+++ mysql-5.7.8/mysys_ssl/my_default.cc 2015-09-23 13:32:57.712495541 +0200
@@ -1404,12 +1404,12 @@ static const char **init_default_directo
#else
@ -128,11 +128,11 @@ diff -up mysql-5.6.23/mysys_ssl/my_default.cc.hardpaths mysql-5.6.23/mysys_ssl/m
#endif /* DEFAULT_SYSCONFDIR */
#endif
diff -up mysql-5.6.23/scripts/CMakeLists.txt.hardpaths mysql-5.6.23/scripts/CMakeLists.txt
--- mysql-5.6.23/scripts/CMakeLists.txt.hardpaths 2015-02-23 13:34:21.325484657 +0100
+++ mysql-5.6.23/scripts/CMakeLists.txt 2015-02-23 13:34:21.330484657 +0100
@@ -219,7 +219,7 @@ INSTALL_SCRIPT(
)
diff -up --recursive mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts/CMakeLists.txt
--- mysql-5.7.8.orig/scripts/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200
+++ mysql-5.7.8/scripts/CMakeLists.txt 2015-09-23 13:43:47.463665346 +0200
@@ -295,7 +295,7 @@ ELSE()
ENDIF()
SET(prefix "${CMAKE_INSTALL_PREFIX}")
-SET(sysconfdir ${prefix})
@ -140,30 +140,9 @@ diff -up mysql-5.6.23/scripts/CMakeLists.txt.hardpaths mysql-5.6.23/scripts/CMak
SET(bindir ${prefix}/${INSTALL_BINDIR})
SET(libexecdir ${prefix}/${INSTALL_SBINDIR})
SET(scriptdir ${prefix}/${INSTALL_BINDIR})
diff -up mysql-5.6.23/scripts/mysqlaccess.sh.hardpaths mysql-5.6.23/scripts/mysqlaccess.sh
--- mysql-5.6.23/scripts/mysqlaccess.sh.hardpaths 2015-01-19 14:48:32.000000000 +0100
+++ mysql-5.6.23/scripts/mysqlaccess.sh 2015-02-23 13:34:21.329484658 +0100
@@ -483,9 +483,6 @@ MySQLaccess::Report::Print_Header();
elsif (-f "@sysconfdir@/$script_conf") {
require "@sysconfdir@/$script_conf";
}
- elsif (-f "/etc/$script_conf") {
- require "/etc/$script_conf";
- }
# ****************************
# Read in all parameters
@@ -951,7 +948,6 @@ sub MergeConfigFile {
sub MergeConfigFiles {
my ($name,$pass,$uid,$gid,$quota,$comment,$gcos,$dir,$shell) = getpwuid $<;
MergeConfigFile("@sysconfdir@/my.cnf");
- MergeConfigFile("/etc/my.cnf");
MergeConfigFile("$dir/.my.cnf");
}
diff -up mysql-5.6.23/scripts/mysqld_multi.sh.hardpaths mysql-5.6.23/scripts/mysqld_multi.sh
--- mysql-5.6.23/scripts/mysqld_multi.sh.hardpaths 2015-01-19 14:48:32.000000000 +0100
+++ mysql-5.6.23/scripts/mysqld_multi.sh 2015-02-23 13:34:21.329484658 +0100
diff -up --recursive mysql-5.7.8.orig/scripts/mysqld_multi.sh mysql-5.7.8/scripts/mysqld_multi.sh
--- mysql-5.7.8.orig/scripts/mysqld_multi.sh 2015-07-20 14:25:08.000000000 +0200
+++ mysql-5.7.8/scripts/mysqld_multi.sh 2015-09-23 13:32:57.712495541 +0200
@@ -573,9 +573,7 @@ sub list_defaults_files
my %seen; # Don't list the same file more than once
@ -175,15 +154,3 @@ diff -up mysql-5.6.23/scripts/mysqld_multi.sh.hardpaths mysql-5.6.23/scripts/mys
($ENV{MYSQL_HOME} ? "$ENV{MYSQL_HOME}/my.cnf" : undef),
$opt{'extra-file'},
($ENV{HOME} ? "$ENV{HOME}/.my.cnf" : undef));
diff -up mysql-5.6.23/scripts/mysql_install_db.pl.in.hardpaths mysql-5.6.23/scripts/mysql_install_db.pl.in
--- mysql-5.6.23/scripts/mysql_install_db.pl.in.hardpaths 2015-02-23 13:34:37.995485386 +0100
+++ mysql-5.6.23/scripts/mysql_install_db.pl.in 2015-02-23 13:35:15.505487028 +0100
@@ -922,7 +922,7 @@ if ( open(PIPE, "| $mysqld_install_cmd_l
"The new default config file was created as $copy_cfg_file,",
"please compare it with your file and take the changes you need.");
}
- foreach my $cfg ( "/etc/my.$cnfext", "/etc/mysql/my.$cnfext" )
+ foreach my $cfg ( "@SYSCONFDIR@/my.$cnfext", "@SYSCONFDIR@/mysql/my.$cnfext" )
{
check_sys_cfg_file ($opt, $cfg);
}

View File

@ -1,78 +0,0 @@
In MySQL 5.5, the InnoDB Plugin is the default version and it's compiled in.
In this case, the plugin cannot be uninstalled and we get error when trying
to do so:
mysql> uninstall plugin innodb;
ERROR 1305 (42000): PLUGIN innodb does not exist
But the error message is misleading. The plugin does exist, it just cannot
be installed because it's not dynamically loaded.
MySQL bug report: http://bugs.mysql.com/bug.php?id=51771
MariaDB bug report: https://mariadb.atlassian.net/browse/MDEV-4573
MariaDB fix: http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/3802
diff --git a/include/mysql.h b/include/mysql.h
index 38b54de..0b13e92 100644
--- a/include/mysql.h
+++ b/include/mysql.h
@@ -134,6 +134,7 @@ typedef unsigned long long my_ulonglong;
/* backward compatibility define - to be removed eventually */
#define ER_WARN_DATA_TRUNCATED WARN_DATA_TRUNCATED
+#define WARN_PLUGIN_DELETE_BUILTIN ER_PLUGIN_DELETE_BUILTIN
typedef struct st_mysql_rows {
struct st_mysql_rows *next; /* list of rows */
diff --git a/mysql-test/r/plugin.result b/mysql-test/r/plugin.result
index a3d7437..8ea475d 100644
--- a/mysql-test/r/plugin.result
+++ b/mysql-test/r/plugin.result
@@ -232,3 +232,5 @@ DROP PROCEDURE p_install;
SET DEBUG_SYNC='RESET';
disconnect con1;
disconnect con2;
+UNINSTALL PLUGIN MyISAM;
+ERROR HY000: Built-in plugins cannot be deleted
diff --git a/mysql-test/t/plugin.test b/mysql-test/t/plugin.test
index de68d36..bf9fb7d 100644
--- a/mysql-test/t/plugin.test
+++ b/mysql-test/t/plugin.test
@@ -277,3 +277,9 @@ disconnect con1;
disconnect con2;
--disable_connect_log
+
+#
+# MDEV-4573 UNINSTALL PLUGIN misleading error message for non-dynamic plugins
+#
+--error ER_PLUGIN_DELETE_BUILTIN
+UNINSTALL PLUGIN MyISAM;
diff --git a/sql/share/errmsg-utf8.txt b/sql/share/errmsg-utf8.txt
index 15acc66..35e2c3c 100644
--- a/sql/share/errmsg-utf8.txt
+++ b/sql/share/errmsg-utf8.txt
@@ -6235,7 +6235,7 @@ WARN_NO_MASTER_INFO
WARN_OPTION_IGNORED
eng "<%-.64s> option ignored"
ger "Option <%-.64s> ignoriert"
-WARN_PLUGIN_DELETE_BUILTIN
+ER_PLUGIN_DELETE_BUILTIN
eng "Built-in plugins cannot be deleted"
ger "Eingebaute Plugins können nicht gelöscht werden"
WARN_PLUGIN_BUSY
diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc
index f134e4f..7e34432 100644
--- a/sql/sql_plugin.cc
+++ b/sql/sql_plugin.cc
@@ -2008,9 +2008,7 @@ bool mysql_uninstall_plugin(THD *thd, const LEX_STRING *name)
}
if (!plugin->plugin_dl)
{
- push_warning(thd, Sql_condition::WARN_LEVEL_WARN,
- WARN_PLUGIN_DELETE_BUILTIN, ER(WARN_PLUGIN_DELETE_BUILTIN));
- my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "PLUGIN", name->str);
+ my_error(ER_PLUGIN_DELETE_BUILTIN, MYF(0));
goto err;
}
if (plugin->load_option == PLUGIN_FORCE_PLUS_PERMANENT)

View File

@ -2,38 +2,38 @@ Support s390/s390x in performance schema's cycle-counting functions.
Filed upstream at http://bugs.mysql.com/bug.php?id=59953
diff -up mysql-5.5.28/include/my_rdtsc.h.p11 mysql-5.5.28/include/my_rdtsc.h
--- mysql-5.5.28/include/my_rdtsc.h.p11 2012-08-29 10:50:46.000000000 +0200
+++ mysql-5.5.28/include/my_rdtsc.h 2012-12-06 14:22:13.651823354 +0100
diff -up --recursive mysql-5.7.9.orig/include/my_rdtsc.h mysql-5.7.9/include/my_rdtsc.h
--- mysql-5.7.9.orig/include/my_rdtsc.h 2015-10-12 08:21:33.000000000 +0200
+++ mysql-5.7.9/include/my_rdtsc.h 2015-11-10 16:33:36.037432669 +0100
@@ -125,6 +125,7 @@ C_MODE_END
#define MY_TIMER_ROUTINE_MACH_ABSOLUTE_TIME 25
#define MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME 26
#define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27
+#define MY_TIMER_ROUTINE_ASM_S390 28
#define MY_TIMER_ROUTINE_ASM_AARCH64 28
+#define MY_TIMER_ROUTINE_ASM_S390 29
#endif
diff -up mysql-5.5.28/mysys/my_rdtsc.c.p11 mysql-5.5.28/mysys/my_rdtsc.c
--- mysql-5.5.28/mysys/my_rdtsc.c.p11 2012-08-29 10:50:46.000000000 +0200
+++ mysql-5.5.28/mysys/my_rdtsc.c 2012-12-06 14:22:13.672823375 +0100
@@ -224,6 +224,13 @@ ulonglong my_timer_cycles(void)
clock_gettime(CLOCK_SGI_CYCLE, &tp);
return (ulonglong) tp.tv_sec * 1000000000 + (ulonglong) tp.tv_nsec;
diff -up --recursive mysql-5.7.9.orig/mysys/my_rdtsc.c mysql-5.7.9/mysys/my_rdtsc.c
--- mysql-5.7.9.orig/mysys/my_rdtsc.c 2015-10-12 08:21:33.000000000 +0200
+++ mysql-5.7.9/mysys/my_rdtsc.c 2015-11-10 16:33:36.038432668 +0100
@@ -183,6 +183,13 @@ ulonglong my_timer_cycles(void)
__asm __volatile__ ("mrs %[rt],cntvct_el0" : [rt] "=r" (result));
return result;
}
+#elif defined(__GNUC__) && defined(__s390__)
+ /* covers both s390 and s390x */
+ {
+ ulonglong result;
+ __asm__ __volatile__ ("stck %0" : "=Q" (result) : : "cc");
+ return result;
+ return result;
+ }
#elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME)
/* gethrtime may appear as either cycle or nanosecond counter */
return (ulonglong) gethrtime();
@@ -533,6 +540,8 @@ void my_timer_init(MY_TIMER_INFO *mti)
@@ -487,6 +494,8 @@ void my_timer_init(MY_TIMER_INFO *mti)
mti->cycles.routine= MY_TIMER_ROUTINE_ASM_GCC_SPARC32;
#elif defined(__sgi) && defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_SGI_CYCLE)
mti->cycles.routine= MY_TIMER_ROUTINE_SGI_CYCLE;
#elif defined(__GNUC__) && defined(__aarch64__)
mti->cycles.routine= MY_TIMER_ROUTINE_ASM_AARCH64;
+#elif defined(__GNUC__) && defined(__s390__)
+ mti->cycles.routine= MY_TIMER_ROUTINE_ASM_S390;
#elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME)

View File

@ -1,10 +1,10 @@
diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLists.txt
--- mysql-5.6.19-orig/scripts/CMakeLists.txt 2014-07-22 10:07:12.053410263 +0200
+++ mysql-5.6.19/scripts/CMakeLists.txt 2014-07-22 10:10:44.102502369 +0200
@@ -381,6 +381,34 @@ ELSE()
ENDIF()
INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/${file} COMPONENT ${${file}_COMPONENT})
ENDFOREACH()
diff -rup mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts/CMakeLists.txt
--- mysql-5.7.8.orig/scripts/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200
+++ mysql-5.7.8/scripts/CMakeLists.txt 2015-09-24 10:47:01.733914088 +0200
@@ -483,6 +483,34 @@ ELSE()
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
)
ENDIF()
+
+ # files for systemd
+ SET(SYSTEMD_SCRIPTS

View File

@ -1,6 +1,6 @@
diff -up mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm.p22 mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm
--- mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm.p22 2013-04-24 20:15:14.085623163 +0200
+++ mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm 2013-04-24 20:15:37.456630939 +0200
diff -up --recursive mysql-5.7.8.orig/mysql-test/lib/My/ConfigFactory.pm mysql-5.7.8/mysql-test/lib/My/ConfigFactory.pm
--- mysql-5.7.8.orig/mysql-test/lib/My/ConfigFactory.pm 2015-07-20 14:25:09.000000000 +0200
+++ mysql-5.7.8/mysql-test/lib/My/ConfigFactory.pm 2015-09-23 13:51:18.655091136 +0200
@@ -36,7 +36,7 @@ my @pre_rules=
);
@ -10,10 +10,10 @@ diff -up mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm.p22 mysql-5.5.31/mysql-
sub get_basedir {
diff -up mysql-5.5.31/mysql-test/mysql-test-run.pl.p22 mysql-5.5.31/mysql-test/mysql-test-run.pl
--- mysql-5.5.31/mysql-test/mysql-test-run.pl.p22 2013-03-25 14:14:58.000000000 +0100
+++ mysql-5.5.31/mysql-test/mysql-test-run.pl 2013-04-24 20:18:28.538687866 +0200
@@ -1238,11 +1238,11 @@ sub command_line_setup {
diff -up --recursive mysql-5.7.8.orig/mysql-test/mysql-test-run.pl mysql-5.7.8/mysql-test/mysql-test-run.pl
--- mysql-5.7.8.orig/mysql-test/mysql-test-run.pl 2015-07-20 14:25:08.000000000 +0200
+++ mysql-5.7.8/mysql-test/mysql-test-run.pl 2015-09-23 13:52:50.023961144 +0200
@@ -1282,11 +1282,11 @@ sub command_line_setup {
}
# Look for language files and charsetsdir, use same share
@ -27,18 +27,18 @@ diff -up mysql-5.5.31/mysql-test/mysql-test-run.pl.p22 mysql-5.5.31/mysql-test/m
"$basedir/sql/share/charsets",
"$basedir/share/charsets");
@@ -3324,7 +3324,7 @@ sub mysql_install_db {
@@ -3729,7 +3729,7 @@ sub mysql_install_db {
}
my $path_sql= my_find_file($install_basedir,
- ["mysql", "sql/share", "share/mysql",
+ ["mysql", "sql/share", "@INSTALL_MYSQLSHAREDIR@",
"share", "scripts"],
"mysql_system_tables.sql",
"mysql_system_tables.sql",
NOT_REQUIRED);
diff -up mysql-5.6.23/mysql-test/CMakeLists.txt.sharedir mysql-5.6.23/mysql-test/CMakeLists.txt
--- mysql-5.6.23/mysql-test/CMakeLists.txt.sharedir 2015-01-19 14:48:31.000000000 +0100
+++ mysql-5.6.23/mysql-test/CMakeLists.txt 2015-02-23 13:11:58.358488693 +0100
diff -up --recursive mysql-5.7.8.orig/mysql-test/CMakeLists.txt mysql-5.7.8/mysql-test/CMakeLists.txt
--- mysql-5.7.8.orig/mysql-test/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200
+++ mysql-5.7.8/mysql-test/CMakeLists.txt 2015-09-23 13:53:57.694863067 +0200
@@ -33,6 +33,10 @@ ENDIF()

View File

@ -1,34 +0,0 @@
Remove overly optimistic definition of strmov() as stpcpy().
mysql uses this macro with overlapping source and destination strings,
which is verboten per spec, and fails on some Red Hat platforms.
Deleting the definition is sufficient to make it fall back to a
byte-at-a-time copy loop, which should consistently give the
expected behavior.
Note: the particular case that prompted this patch is reported and fixed
at http://bugs.mysql.com/bug.php?id=48864. However, my faith in upstream's
ability to detect this type of error is low, and I also see little evidence
of any real performance gain from optimizing these calls. So I'm keeping
this patch.
diff -up mysql-5.6.10/include/m_string.h.orig mysql-5.6.10/include/m_string.h
--- mysql-5.6.10/include/m_string.h.orig 2013-01-22 17:54:49.000000000 +0100
+++ mysql-5.6.10/include/m_string.h 2013-02-19 14:12:58.866241727 +0100
@@ -65,15 +65,6 @@ extern void *(*my_str_malloc)(size_t);
extern void *(*my_str_realloc)(void *, size_t);
extern void (*my_str_free)(void *);
-#if defined(HAVE_STPCPY) && MY_GNUC_PREREQ(3, 4) && !defined(__INTEL_COMPILER)
-#define strmov(A,B) __builtin_stpcpy((A),(B))
-#elif defined(HAVE_STPCPY)
-#define strmov(A,B) stpcpy((A),(B))
-#ifndef stpcpy
-extern char *stpcpy(char *, const char *); /* For AIX with gcc 2.95.3 */
-#endif
-#endif
-
/* Declared in int2str() */
extern char _dig_vec_upper[];
extern char _dig_vec_lower[];

View File

@ -0,0 +1,23 @@
diff -rup mysql-5.7.8.orig/mysql-test/r/openssl_1.result mysql-5.7.8/mysql-test/r/openssl_1.result
--- mysql-5.7.8.orig/mysql-test/r/openssl_1.result 2015-07-20 14:25:08.000000000 +0200
+++ mysql-5.7.8/mysql-test/r/openssl_1.result 2015-10-15 11:15:37.719376398 +0200
@@ -211,8 +211,6 @@ Variable_name Value
Ssl_cipher EDH-RSA-DES-CBC3-SHA
Variable_name Value
Ssl_cipher AES256-SHA
-Variable_name Value
-Ssl_cipher RC4-SHA
select 'is still running; no cipher request crashed the server' as result from dual;
result
is still running; no cipher request crashed the server
diff -rup mysql-5.7.8.orig/mysql-test/t/openssl_1.test mysql-5.7.8/mysql-test/t/openssl_1.test
--- mysql-5.7.8.orig/mysql-test/t/openssl_1.test 2015-07-20 14:25:08.000000000 +0200
+++ mysql-5.7.8/mysql-test/t/openssl_1.test 2015-10-15 11:15:07.648425927 +0200
@@ -218,7 +218,6 @@ DROP TABLE t1;
--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl --ssl-cipher=DHE-RSA-AES256-SHA
--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl --ssl-cipher=EDH-RSA-DES-CBC3-SHA
--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl --ssl-cipher=AES256-SHA
---exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl --ssl-cipher=RC4-SHA
--disable_query_log
--disable_result_log

View File

@ -7,6 +7,9 @@
# --nocheck is not possible (e.g. in koji build)
%{!?runselftest:%global runselftest 1}
# Set this to 1 to see which tests fail
%global check_testsuite 0
# set to 1 to enable
%global with_shared_lib_major_hack 1
@ -30,7 +33,6 @@
%bcond_without client
%bcond_without common
%bcond_without errmsg
%bcond_without bench
%bcond_without test
# When there is already another package that ships /etc/my.cnf,
@ -77,7 +79,7 @@
%global sameevr %{?epoch:%{epoch}:}%{version}-%{release}
Name: community-mysql
Version: 5.6.27
Version: 5.7.9
Release: 1%{?with_debug:.debug}%{?dist}
Summary: MySQL client programs and shared libraries
Group: Applications/Databases
@ -87,7 +89,7 @@ URL: http://www.mysql.com
# not only GPL code. See README.mysql-license
License: GPLv2 with exceptions and LGPLv2 and BSD
Source0: https://cdn.mysql.com/Downloads/MySQL-5.6/mysql-%{version}.tar.gz
Source0: https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-%{version}.tar.gz
Source2: mysql_config_multilib.sh
Source3: my.cnf.in
Source4: my_config.h
@ -109,28 +111,27 @@ Source31: server.cnf.in
# Comments for these patches are in the patch files
# Patches common for more mysql-like packages
Patch1: %{pkgnamepatch}-strmov.patch
Patch2: %{pkgnamepatch}-install-test.patch
Patch3: %{pkgnamepatch}-s390-tsc.patch
Patch4: %{pkgnamepatch}-logrotate.patch
Patch5: %{pkgnamepatch}-cipherspec.patch
Patch6: %{pkgnamepatch}-file-contents.patch
Patch8: %{pkgnamepatch}-scripts.patch
Patch9: %{pkgnamepatch}-install-db-sharedir.patch
Patch10: %{pkgnamepatch}-paths.patch
Patch1: %{pkgnamepatch}-install-test.patch
Patch2: %{pkgnamepatch}-s390-tsc.patch
Patch3: %{pkgnamepatch}-logrotate.patch
Patch4: %{pkgnamepatch}-file-contents.patch
Patch5: %{pkgnamepatch}-scripts.patch
Patch6: %{pkgnamepatch}-paths.patch
Patch7: %{pkgnamepatch}-boost.patch
Patch8: %{pkgnamepatch}-test-openssl_1.patch
# Patches specific for this mysql package
Patch51: %{pkgnamepatch}-chain-certs.patch
Patch52: %{pkgnamepatch}-sharedir.patch
Patch53: %{pkgnamepatch}-5.6.16-libmysql-version.patch
Patch55: %{pkgnamepatch}-5.6.16-mysql-install.patch
Patch56: %{pkgnamepatch}-pluginerrmsg.patch
Patch70: %{pkgnamepatch}-5.6.13-major.patch
Patch70: %{pkgnamepatch}-5.7.9-major.patch
BuildRequires: boost-devel
BuildRequires: cmake
BuildRequires: libaio-devel
BuildRequires: libedit-devel
BuildRequires: libevent-devel
BuildRequires: lz4-devel
BuildRequires: mecab-devel
BuildRequires: openssl-devel
BuildRequires: perl
BuildRequires: systemtap-sdt-devel
@ -138,6 +139,8 @@ BuildRequires: zlib-devel
# Tests requires time and ps and some perl modules
BuildRequires: procps
BuildRequires: time
BuildRequires: perl(Digest::file)
BuildRequires: perl(Digest::MD5)
BuildRequires: perl(Env)
BuildRequires: perl(Exporter)
BuildRequires: perl(Fcntl)
@ -257,6 +260,7 @@ Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{_sysconfdir}/my.cnf
Requires: %{_sysconfdir}/my.cnf.d
Requires: %{name}-errmsg%{?_isa} = %{sameevr}
%{?mecab:Requires: mecab-ipadic}
Requires: sh-utils
Requires(pre): /usr/sbin/useradd
%if %{with init_systemd}
@ -273,7 +277,10 @@ Provides: mysql-server = %{sameevr}
Provides: mysql-server%{?_isa} = %{sameevr}
Provides: mysql-compat-server = %{sameevr}
Provides: mysql-compat-server%{?_isa} = %{sameevr}
Obsoletes: mysql-bench < 5.7.8
Obsoletes: mysql-bench%{?_isa}
%endif
Obsoletes: community-mysql-bench < 5.7.8
%{?with_conflicts:Conflicts: mariadb-server}
%{?with_conflicts:Conflicts: mariadb-galera-server}
@ -329,25 +336,6 @@ package contains files needed for developing and testing with
the embedded version of the MySQL server.
%endif
%if %{with bench}
%package bench
Summary: MySQL benchmark scripts and data
Group: Applications/Databases
Requires: %{name}%{?_isa} = %{sameevr}
%{?with_conflicts:Conflicts: mariadb-bench}
%if %{with mysql_names}
Provides: mysql-bench = %{sameevr}
Provides: mysql-bench%{?_isa} = %{sameevr}
%endif
%description bench
MySQL is a multi-user, multi-threaded SQL database server. This
package contains benchmark scripts and data for use when benchmarking
MySQL.
%endif
%if %{with test}
%package test
Summary: The test suite distributed with MySQL
@ -355,6 +343,8 @@ Group: Applications/Databases
Requires: %{name}%{?_isa} = %{sameevr}
Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{name}-server%{?_isa} = %{sameevr}
Requires: perl(Digest::file)
Requires: perl(Digest::MD5)
Requires: perl(Env)
Requires: perl(Exporter)
Requires: perl(Fcntl)
@ -387,18 +377,17 @@ the MySQL sources.
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch51 -p1
%patch52 -p1
%patch53 -p1
%patch55 -p1
%patch56 -p1
%if %{with_shared_lib_major_hack}
%patch70 -p1
%endif
# Prevent using bundled boost
rm -r include/boost_1_59_0
# Modify tests to pass on all archs
pushd mysql-test
@ -408,11 +397,58 @@ add_test () {
touch %{skiplist}
# these tests fail in 5.7.9
add_test 'main.gis-precise : fails in 5.7.9'
add_test 'main.gis : fails in 5.7.9'
add_test 'gis.gis_bugs_crashes : fails in 5.7.9'
add_test 'gis.spatial_analysis_functions_buffer : fails in 5.7.9'
add_test 'gis.spatial_op_testingfunc_mix : fails in 5.7.9'
add_test 'gis.spatial_operators_difference : fails in 5.7.9'
add_test 'gis.spatial_operators_intersection : fails in 5.7.9'
add_test 'gis.spatial_operators_symdifference : fails in 5.7.9'
add_test 'main.datadir_permission : fails in 5.7.9'
add_test 'main.events_1 : fails in 5.7.9'
# Workaround for upstream bug #http://bugs.mysql.com/56342
rm -f t/ssl_8k_key-master.opt
# these tests fail in 5.7.9 on arch
%ifarch %{arm}
add_test 'gis.spatial_operators_union : fails in 5.7.9'
add_test 'gis.spatial_testing_functions_contains : fails in 5.7.9'
add_test 'gis.spatial_testing_functions_crosses : fails in 5.7.9'
add_test 'gis.spatial_testing_functions_disjoint : fails in 5.7.9'
add_test 'gis.spatial_testing_functions_equals : fails in 5.7.9'
add_test 'gis.spatial_testing_functions_intersects : fails in 5.7.9'
add_test 'gis.spatial_testing_functions_overlaps : fails in 5.7.9'
add_test 'gis.spatial_testing_functions_touches : fails in 5.7.9'
add_test 'gis.spatial_testing_functions_within : fails in 5.7.9'
add_test 'innodb_fts.opt : fails in 5.7.9'
add_test 'innodb_gis.gis : fails in 5.7.9'
add_test 'innodb_gis.precise : fails in 5.7.9'
add_test 'innodb_gis.1 : fails in 5.7.9'
add_test 'innodb.log_file : fails in 5.7.9'
add_test 'perfschema.dml_host_cache : fails in 5.7.9'
add_test 'perfschema.dml_hosts : fails in 5.7.9'
add_test 'perfschema.func_file_io : fails in 5.7.9'
add_test 'perfschema.setup_objects : fails in 5.7.9'
add_test 'test_service_sql_api.test_session_detach : fails in 5.7.9'
add_test 'test_service_sql_api.test_session_info : fails in 5.7.9'
add_test 'test_service_sql_api.test_sql_all_col_types : fails in 5.7.9'
add_test 'test_service_sql_api.test_sql_complex : fails in 5.7.9'
add_test 'test_service_sql_api.test_sql_errors : fails in 5.7.9'
add_test 'test_service_sql_api.test_sql_general_log : fails in 5.7.9'
add_test 'test_service_sql_api.test_sql_processlist : fails in 5.7.9'
add_test 'test_service_sql_api.test_sql_replication : fails in 5.7.9'
add_test 'test_service_sql_api.test_sql_sqlmode : fails in 5.7.9'
add_test 'test_service_sql_api.test_sql_stored_procedures_functions : fails in 5.7.9'
add_test 'test_service_sql_api.test_sql_views_triggers : fails in 5.7.9'
add_test 'test_service_sql_api.test_sql_2_sessions : fails in 5.7.9'
%endif
# Archs without hw performance counter, rh 741325
%ifarch %{arm} aarch64 sparc64
%ifarch aarch64 sparc64
add_test 'perfschema.func_file_io : rh 741325'
add_test 'perfschema.func_mutex : rh 741325'
add_test 'perfschema.setup_objects : rh 741325'
@ -420,7 +456,7 @@ add_test 'perfschema.global_read_lock : 77889'
%endif
# Archs with collation issues, bugs.mysql.com/46895
%ifarch %{arm} aarch64 ppc %{power64} s390 s390x
%ifarch aarch64 ppc %{power64} s390 s390x
add_test 'innodb.innodb_ctype_ldml : 46895'
add_test 'main.ctype_ldml : 46895'
%endif
@ -480,17 +516,23 @@ cmake .. \
-DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \
-DINSTALL_SBINDIR=libexec \
-DINSTALL_SCRIPTDIR=bin \
-DINSTALL_SQLBENCHDIR=share \
-DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \
-DMYSQL_DATADIR="%{dbdatadir}" \
-DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \
-DENABLED_LOCAL_INFILE=ON \
-DENABLE_DTRACE=ON \
%if %{with init_systemd}
-DWITH_SYSTEMD=1 \
-DSYSTEMD_SERVICE_NAME="%{daemon_name}" \
-DSYSTEMD_PID_DIR="%{pidfiledir}" \
%endif
-DWITH_INNODB_MEMCACHED=ON \
-DWITH_EMBEDDED_SERVER=ON \
-DWITH_EMBEDDED_SHARED_LIBRARY=ON \
-DWITH_EDITLINE=system \
-DWITH_LIBEVENT=system \
-DWITH_LZ4=system \
-DWITH_MECAB=system \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \
@ -564,10 +606,8 @@ mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{build
ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process
# not needed in rpm package
rm -f %{buildroot}%{_bindir}/mysqlaccess.conf
rm -f %{buildroot}%{_bindir}/mysql_embedded
rm -f %{buildroot}%{_libdir}/mysql/*.a
rm -f %{buildroot}%{_datadir}/%{pkg_name}/binary-configure
rm -f %{buildroot}%{_datadir}/%{pkg_name}/magic
rm -f %{buildroot}%{_datadir}/%{pkg_name}/mysql.server
rm -f %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server
@ -604,7 +644,6 @@ cp -p %{buildroot}%{_mandir}/man1/mysql_client_test.1 %{buildroot}%{_mandir}/man
%if %{without clibrary}
unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so
unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so
rm -rf %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.*
rm -rf %{buildroot}%{_sysconfdir}/ld.so.conf.d
%endif
@ -619,17 +658,18 @@ rm -f %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded
rm -f %{buildroot}%{_bindir}/mysql_config*
rm -rf %{buildroot}%{_includedir}/mysql
rm -f %{buildroot}%{_datadir}/aclocal/mysql.m4
rm -f %{buildroot}%{_libdir}/pkgconfig/mysqlclient.pc
rm -f %{buildroot}%{_libdir}/mysql/libmysqlclient*.so
rm -f %{buildroot}%{_mandir}/man1/mysql_config.1*
%endif
%if %{without client}
rm -f %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_config_editor,\
mysql_find_rows,mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,\
mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}
rm -f %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_config_editor,\
mysql_find_rows,mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,\
mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1*
rm -f %{buildroot}%{_bindir}/{mysql,mysql_config_editor,\
mysql_plugin,mysqladmin,mysqlbinlog,\
mysqlcheck,mysqldump,mysqlpump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}
rm -f %{buildroot}%{_mandir}/man1/{mysql,mysql_config_editor,\
mysql_plugin,mysqladmin,mysqlbinlog,\
mysqlcheck,mysqldump,mysqlpump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1*
%endif
%if %{with config}
@ -649,10 +689,6 @@ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\
polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian}
%endif
%if %{without bench}
rm -rf %{buildroot}%{_datadir}/sql-bench
%endif
%if %{without test}
rm -f %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process}
rm -rf %{buildroot}%{_datadir}/mysql-test
@ -670,10 +706,14 @@ cp ../../mysql-test/%{skiplist} .
export MTR_BUILD_THREAD=%{__isa_bits}
./mtr \
--mem --parallel=auto --force --retry=0 \
--skip-test-list=%{skiplist} \
--mysqld=--binlog-format=mixed \
--suite-timeout=720 --testcase-timeout=30 \
--clean-vardir
--clean-vardir \
%if %{check_testsuite}
--max-test-fail=0 || :
%else
--skip-test-list=%{skiplist}
%endif
rm -rf var/* $(readlink var)
popd
popd
@ -735,34 +775,28 @@ fi
%if %{with client}
%files
%{_bindir}/msql2mysql
%{_bindir}/mysql
%{_bindir}/mysql_config_editor
%{_bindir}/mysql_find_rows
%{_bindir}/mysql_plugin
%{_bindir}/mysql_waitpid
%{_bindir}/mysqlaccess
%{_bindir}/mysqladmin
%{_bindir}/mysqlbinlog
%{_bindir}/mysqlcheck
%{_bindir}/mysqldump
%{_bindir}/mysqlimport
%{_bindir}/mysqlpump
%{_bindir}/mysqlshow
%{_bindir}/mysqlslap
%{_bindir}/my_print_defaults
%{_mandir}/man1/msql2mysql.1*
%{_mandir}/man1/mysql.1*
%{_mandir}/man1/mysql_config_editor.1*
%{_mandir}/man1/mysql_find_rows.1*
%{_mandir}/man1/mysql_plugin.1*
%{_mandir}/man1/mysql_waitpid.1*
%{_mandir}/man1/mysqlaccess.1*
%{_mandir}/man1/mysqladmin.1*
%{_mandir}/man1/mysqlbinlog.1*
%{_mandir}/man1/mysqlcheck.1*
%{_mandir}/man1/mysqldump.1*
%{_mandir}/man1/mysqlimport.1*
%{_mandir}/man1/mysqlpump.1*
%{_mandir}/man1/mysqlshow.1*
%{_mandir}/man1/mysqlslap.1*
%{_mandir}/man1/my_print_defaults.1*
@ -825,19 +859,16 @@ fi
%{_bindir}/myisam_ftdump
%{_bindir}/myisamlog
%{_bindir}/myisampack
%{_bindir}/mysql_convert_table_format
%{_bindir}/mysql_fix_extensions
%{_bindir}/mysql_install_db
%{_bindir}/mysql_secure_installation
%{_bindir}/mysql_setpermission
%{_bindir}/mysql_ssl_rsa_setup
%{_bindir}/mysql_tzinfo_to_sql
%{_bindir}/mysql_upgrade
%{_bindir}/mysql_zap
%{_bindir}/mysqlbug
%{_bindir}/mysqlbinlog
%if %{with init_systemd}
%{_bindir}/mysqld_pre_systemd
%endif
%{_bindir}/mysqldumpslow
%{_bindir}/mysqld_multi
%{_bindir}/mysqld_safe
%{_bindir}/mysqlhotcopy
%{_bindir}/mysqltest
%{_bindir}/innochecksum
%{_bindir}/perror
@ -860,38 +891,36 @@ fi
%{_mandir}/man1/myisamchk.1*
%{_mandir}/man1/myisamlog.1*
%{_mandir}/man1/myisampack.1*
%{_mandir}/man1/mysql_convert_table_format.1*
%{_mandir}/man1/myisam_ftdump.1*
%{_mandir}/man1/mysql.server.1*
%{_mandir}/man1/mysql_fix_extensions.1*
%{_mandir}/man1/mysql_install_db.1*
%{_mandir}/man1/mysql_secure_installation.1*
%{_mandir}/man1/mysql_ssl_rsa_setup.1*
%{_mandir}/man1/mysql_tzinfo_to_sql.1*
%{_mandir}/man1/mysql_upgrade.1*
%{_mandir}/man1/mysql_zap.1*
%{_mandir}/man1/mysqlbug.1*
%{_mandir}/man1/mysqldumpslow.1*
%{_mandir}/man1/mysqld_multi.1*
%{_mandir}/man1/mysqld_safe.1*
%{_mandir}/man1/mysqlhotcopy.1*
%{_mandir}/man1/mysqlman.1*
%{_mandir}/man1/mysql_setpermission.1*
%{_mandir}/man1/mysqltest.1*
%{_mandir}/man1/innochecksum.1*
%{_mandir}/man1/perror.1*
%{_mandir}/man1/replace.1*
%{_mandir}/man1/resolve_stack_dump.1*
%{_mandir}/man1/resolveip.1*
%{_mandir}/man1/mysql_tzinfo_to_sql.1*
%{_mandir}/man8/mysqld.8*
%{_datadir}/%{pkg_name}/dictionary.txt
%{_datadir}/%{pkg_name}/fill_help_tables.sql
%{_datadir}/%{pkg_name}/innodb_memcached_config.sql
%{_datadir}/%{pkg_name}/install_rewriter.sql
%{_datadir}/%{pkg_name}/mysql_security_commands.sql
%{_datadir}/%{pkg_name}/mysql_sys_schema.sql
%{_datadir}/%{pkg_name}/mysql_system_tables.sql
%{_datadir}/%{pkg_name}/mysql_system_tables_data.sql
%{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql
%{_datadir}/%{pkg_name}/my-*.cnf
%{_datadir}/%{pkg_name}/uninstall_rewriter.sql
%{daemondir}/%{daemon_name}*
%{_libexecdir}/mysql-prepare-db-dir
@ -901,10 +930,10 @@ fi
%{_libexecdir}/mysql-check-upgrade
%{_libexecdir}/mysql-scripts-common
%{_tmpfilesdir}/mysql.conf
%{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf}
%attr(0755,mysql,mysql) %dir %{dbdatadir}
%attr(0755,mysql,mysql) %dir %{pidfiledir}
%attr(0755,mysql,mysql) %dir %{_localstatedir}/lib/mysql
%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile}
%config(noreplace) %{logrotateddir}/%{daemon_name}
@ -916,8 +945,8 @@ fi
%{_datadir}/aclocal/mysql.m4
%if %{with clibrary}
%{_libdir}/mysql/libmysqlclient.so
%{_libdir}/mysql/libmysqlclient_r.so
%endif
%{_libdir}/pkgconfig/mysqlclient.pc
%{_mandir}/man1/mysql_config.1*
%endif
@ -933,11 +962,6 @@ fi
%{_mandir}/man1/mysqltest_embedded.1*
%endif
%if %{with bench}
%files bench
%{_datadir}/sql-bench
%endif
%if %{with test}
%files test
%{_bindir}/mysql_client_test
@ -947,6 +971,9 @@ fi
%endif
%changelog
* Fri Oct 2 2015 Jakub Dorňák <jdornak@redhat.com> - 5.7.9-1
- Update to 5.7.9
* Thu Oct 1 2015 Jakub Dorňák <jdornak@redhat.com> - 5.6.27-1
- Update to 5.6.27

View File

@ -1 +1 @@
7754df40bb5567b03b041ccb6b5ddffa mysql-5.6.27.tar.gz
6d782dda9046acb81e694934fd513993 mysql-5.7.9.tar.gz