diff --git a/.gitignore b/.gitignore index 83b41a1..fa5212b 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/community-mysql-5.6.13-major.patch b/community-mysql-5.6.13-major.patch deleted file mode 100644 index 8d65acf..0000000 --- a/community-mysql-5.6.13-major.patch +++ /dev/null @@ -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") diff --git a/community-mysql-5.6.16-libmysql-version.patch b/community-mysql-5.6.16-libmysql-version.patch deleted file mode 100644 index e16e65a..0000000 --- a/community-mysql-5.6.16-libmysql-version.patch +++ /dev/null @@ -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 diff --git a/community-mysql-5.7.9-major.patch b/community-mysql-5.7.9-major.patch new file mode 100644 index 0000000..b822aed --- /dev/null +++ b/community-mysql-5.7.9-major.patch @@ -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") diff --git a/community-mysql-boost.patch b/community-mysql-boost.patch new file mode 100644 index 0000000..03e2aa3 --- /dev/null +++ b/community-mysql-boost.patch @@ -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) diff --git a/community-mysql-install-db-sharedir.patch b/community-mysql-install-db-sharedir.patch deleted file mode 100644 index 4949b6d..0000000 --- a/community-mysql-install-db-sharedir.patch +++ /dev/null @@ -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" diff --git a/community-mysql-paths.patch b/community-mysql-paths.patch index d406b96..7f9ed93 100644 --- a/community-mysql-paths.patch +++ b/community-mysql-paths.patch @@ -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); - } diff --git a/community-mysql-pluginerrmsg.patch b/community-mysql-pluginerrmsg.patch deleted file mode 100644 index a781172..0000000 --- a/community-mysql-pluginerrmsg.patch +++ /dev/null @@ -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) diff --git a/community-mysql-s390-tsc.patch b/community-mysql-s390-tsc.patch index f995266..91bfc10 100644 --- a/community-mysql-s390-tsc.patch +++ b/community-mysql-s390-tsc.patch @@ -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) diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index e7874ce..db6c70b 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -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 diff --git a/community-mysql-sharedir.patch b/community-mysql-sharedir.patch index 19f0b33..6ceaed2 100644 --- a/community-mysql-sharedir.patch +++ b/community-mysql-sharedir.patch @@ -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() diff --git a/community-mysql-strmov.patch b/community-mysql-strmov.patch deleted file mode 100644 index 1c44f55..0000000 --- a/community-mysql-strmov.patch +++ /dev/null @@ -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[]; diff --git a/community-mysql-test-openssl_1.patch b/community-mysql-test-openssl_1.patch new file mode 100644 index 0000000..26f293c --- /dev/null +++ b/community-mysql-test-openssl_1.patch @@ -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 + diff --git a/community-mysql.spec b/community-mysql.spec index c0903df..0e7cf75 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -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 - 5.7.9-1 +- Update to 5.7.9 + * Thu Oct 1 2015 Jakub Dorňák - 5.6.27-1 - Update to 5.6.27 diff --git a/sources b/sources index 16afe97..35278c8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7754df40bb5567b03b041ccb6b5ddffa mysql-5.6.27.tar.gz +6d782dda9046acb81e694934fd513993 mysql-5.7.9.tar.gz