Update to 5.6.14
This commit is contained in:
parent
0a86414a6c
commit
9d8b44262d
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,3 +4,4 @@
|
||||
/mysql-man-gpl.tar.gz
|
||||
/mysql-5.5.32-nodocs.tar.xz
|
||||
/mysql-5.5.33-nodocs.tar.xz
|
||||
/mysql-5.6.14-nodocs.tar.xz
|
150
community-mysql-5.6.10-libmysql-version.patch
Normal file
150
community-mysql-5.6.10-libmysql-version.patch
Normal file
@ -0,0 +1,150 @@
|
||||
--- mysql-5.6.10/libmysql/libmysql.ver.in 2013-01-22 17:54:50.000000000 +0100
|
||||
+++ mysql-5.6.10/libmysql/libmysql.ver.in.fedora 2013-02-21 12:59:40.108881131 +0100
|
||||
@@ -1,1 +1,146 @@
|
||||
-libmysqlclient_@SHARED_LIB_MAJOR_VERSION@ { global: *; };
|
||||
+# symbols exported from mysql 5.1
|
||||
+libmysqlclient_16 {
|
||||
+ global:
|
||||
+ _fini;
|
||||
+ _init;
|
||||
+ 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;
|
||||
+# These are documented in Paul DuBois' MySQL book, so we treat them as part
|
||||
+# of the de-facto API.
|
||||
+ free_defaults;
|
||||
+ handle_options;
|
||||
+ load_defaults;
|
||||
+ my_print_help;
|
||||
+# This isn't really documented anywhere, but it seems to be part of the
|
||||
+# de-facto API as well. We're not going to export the deprecated version
|
||||
+# make_scrambled_password, however.
|
||||
+ my_make_scrambled_password;
|
||||
+# This really shouldn't be exported, but some applications use it as a
|
||||
+# workaround for inadequate threading support; see bug #846602
|
||||
+ THR_KEY_mysys;
|
||||
+ local:
|
||||
+ *;
|
||||
+};
|
||||
+# symbols added in mysql 5.5
|
||||
+libmysqlclient_18 {
|
||||
+ global:
|
||||
+ mysql_client_find_plugin;
|
||||
+ mysql_client_register_plugin;
|
||||
+ mysql_load_plugin;
|
||||
+ mysql_load_plugin_v;
|
||||
+ mysql_plugin_options;
|
||||
+ mysql_stmt_next_result;
|
||||
+#
|
||||
+# Ideally the following symbols wouldn't be exported, but various applications
|
||||
+# require them.
|
||||
+#
|
||||
+# mysql-connector-odbc requires these
|
||||
+ default_charset_info;
|
||||
+ get_charset;
|
||||
+ get_charset_by_csname;
|
||||
+ net_realloc;
|
||||
+# PHP's mysqli.so requires this (via the ER() macro)
|
||||
+ client_errors;
|
||||
+};
|
@ -4,27 +4,28 @@ This patch enhances connect command by an option to specify a cipher
|
||||
and tests are adjusted to specify the expected cipher explicitly.
|
||||
Upstream bug report: http://bugs.mysql.com/bug.php?id=64461
|
||||
|
||||
diff -up mysql-5.5.28/client/mysqltest.cc.p18 mysql-5.5.28/client/mysqltest.cc
|
||||
--- mysql-5.5.28/client/mysqltest.cc.p18 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/client/mysqltest.cc 2012-12-06 14:25:46.370001422 +0100
|
||||
@@ -5458,6 +5458,7 @@ void do_connect(struct st_command *comma
|
||||
my_bool con_ssl= 0, con_compress= 0;
|
||||
diff --git a/client/mysqltest.cc b/client/mysqltest.cc
|
||||
index b6c8643..0e40b0d 100644
|
||||
--- a/client/mysqltest.cc
|
||||
+++ b/client/mysqltest.cc
|
||||
@@ -5496,6 +5496,7 @@ void do_connect(struct st_command *command)
|
||||
my_bool con_pipe= 0, con_shm= 0, con_cleartext_enable= 0;
|
||||
my_bool con_secure_auth= 1;
|
||||
struct st_connection* con_slot;
|
||||
+ char *con_cipher=NULL;
|
||||
|
||||
static DYNAMIC_STRING ds_connection_name;
|
||||
static DYNAMIC_STRING ds_host;
|
||||
@@ -5548,6 +5549,8 @@ void do_connect(struct st_command *comma
|
||||
con_shm= 1;
|
||||
else if (!strncmp(con_options, "CLEARTEXT", 9))
|
||||
@@ -5588,6 +5589,8 @@ void do_connect(struct st_command *command)
|
||||
con_cleartext_enable= 1;
|
||||
else if (!strncmp(con_options, "SKIPSECUREAUTH",14))
|
||||
con_secure_auth= 0;
|
||||
+ else if (!strncmp(con_options, "CIPHER:", 7))
|
||||
+ con_cipher = con_options + 7;
|
||||
else
|
||||
die("Illegal option to connect: %.*s",
|
||||
(int) (end - con_options), con_options);
|
||||
@@ -5595,8 +5598,11 @@ void do_connect(struct st_command *comma
|
||||
@@ -5635,8 +5638,11 @@ void do_connect(struct st_command *command)
|
||||
if (con_ssl)
|
||||
{
|
||||
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
|
||||
@ -34,13 +35,14 @@ diff -up mysql-5.5.28/client/mysqltest.cc.p18 mysql-5.5.28/client/mysqltest.cc
|
||||
mysql_ssl_set(&con_slot->mysql, opt_ssl_key, opt_ssl_cert, opt_ssl_ca,
|
||||
- opt_ssl_capath, opt_ssl_cipher);
|
||||
+ opt_ssl_capath, con_cipher);
|
||||
mysql_options(&con_slot->mysql, MYSQL_OPT_SSL_CRL, opt_ssl_crl);
|
||||
mysql_options(&con_slot->mysql, MYSQL_OPT_SSL_CRLPATH, opt_ssl_crlpath);
|
||||
#if MYSQL_VERSION_ID >= 50000
|
||||
/* Turn on ssl_verify_server_cert only if host is "localhost" */
|
||||
opt_ssl_verify_server_cert= !strcmp(ds_host.str, "localhost");
|
||||
diff -up mysql-5.5.28/mysql-test/t/openssl_1.test.p18 mysql-5.5.28/mysql-test/t/openssl_1.test
|
||||
--- mysql-5.5.28/mysql-test/t/openssl_1.test.p18 2012-08-29 10:50:47.000000000 +0200
|
||||
+++ mysql-5.5.28/mysql-test/t/openssl_1.test 2012-12-06 14:25:46.371001424 +0100
|
||||
@@ -20,13 +20,13 @@ grant select on test.* to ssl_user4@loca
|
||||
diff --git a/mysql-test/t/openssl_1.test b/mysql-test/t/openssl_1.test
|
||||
index 3e907f1..02b89ad 100644
|
||||
--- a/mysql-test/t/openssl_1.test
|
||||
+++ b/mysql-test/t/openssl_1.test
|
||||
@@ -20,13 +20,13 @@ grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA
|
||||
grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx";
|
||||
flush privileges;
|
||||
|
||||
@ -68,7 +70,7 @@ diff -up mysql-5.5.28/mysql-test/t/openssl_1.test.p18 mysql-5.5.28/mysql-test/t/
|
||||
--echo End of 5.0 tests
|
||||
|
||||
#
|
||||
@@ -250,7 +250,7 @@ select 'is still running; no cipher requ
|
||||
@@ -250,7 +250,7 @@ select 'is still running; no cipher request crashed the server' as result from d
|
||||
|
||||
GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509;
|
||||
FLUSH PRIVILEGES;
|
||||
@ -77,34 +79,11 @@ diff -up mysql-5.5.28/mysql-test/t/openssl_1.test.p18 mysql-5.5.28/mysql-test/t/
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
disconnect con1;
|
||||
connection default;
|
||||
diff -up mysql-5.5.28/mysql-test/t/ssl_8k_key.test.p18 mysql-5.5.28/mysql-test/t/ssl_8k_key.test
|
||||
--- mysql-5.5.28/mysql-test/t/ssl_8k_key.test.p18 2012-08-29 10:50:47.000000000 +0200
|
||||
+++ mysql-5.5.28/mysql-test/t/ssl_8k_key.test 2012-12-06 14:25:46.371001424 +0100
|
||||
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Bug#29784 YaSSL assertion failure when reading 8k key.
|
||||
#
|
||||
---exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1
|
||||
+--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl-cipher=DHE-RSA-AES256-SHA -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1
|
||||
|
||||
## This test file is for testing encrypted communication only, not other
|
||||
## encryption routines that the SSL library happens to provide!
|
||||
diff -up mysql-5.5.28/mysql-test/t/ssl_compress.test.p18 mysql-5.5.28/mysql-test/t/ssl_compress.test
|
||||
--- mysql-5.5.28/mysql-test/t/ssl_compress.test.p18 2012-08-29 10:50:47.000000000 +0200
|
||||
+++ mysql-5.5.28/mysql-test/t/ssl_compress.test 2012-12-06 14:25:46.371001424 +0100
|
||||
@@ -7,7 +7,7 @@
|
||||
# Save the initial number of concurrent sessions
|
||||
--source include/count_sessions.inc
|
||||
|
||||
-connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS);
|
||||
+connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS CIPHER:DHE-RSA-AES256-SHA);
|
||||
|
||||
# Check ssl turned on
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
diff -up mysql-5.5.28/mysql-test/t/ssl.test.p18 mysql-5.5.28/mysql-test/t/ssl.test
|
||||
--- mysql-5.5.28/mysql-test/t/ssl.test.p18 2012-08-29 10:50:47.000000000 +0200
|
||||
+++ mysql-5.5.28/mysql-test/t/ssl.test 2012-12-06 14:25:46.371001424 +0100
|
||||
@@ -6,7 +6,7 @@
|
||||
diff --git a/mysql-test/t/ssl.test b/mysql-test/t/ssl.test
|
||||
index ea8be39..c61ca8b 100644
|
||||
--- a/mysql-test/t/ssl.test
|
||||
+++ b/mysql-test/t/ssl.test
|
||||
@@ -8,7 +8,7 @@
|
||||
# Save the initial number of concurrent sessions
|
||||
--source include/count_sessions.inc
|
||||
|
||||
@ -113,3 +92,29 @@ diff -up mysql-5.5.28/mysql-test/t/ssl.test.p18 mysql-5.5.28/mysql-test/t/ssl.te
|
||||
|
||||
# Check ssl turned on
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
diff --git a/mysql-test/t/ssl_8k_key.test b/mysql-test/t/ssl_8k_key.test
|
||||
index d94c2fc..c27ca58 100644
|
||||
--- a/mysql-test/t/ssl_8k_key.test
|
||||
+++ b/mysql-test/t/ssl_8k_key.test
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
# Bug#29784 YaSSL assertion failure when reading 8k key.
|
||||
#
|
||||
---exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1
|
||||
+--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl-cipher=DHE-RSA-AES256-SHA -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1
|
||||
|
||||
## This test file is for testing encrypted communication only, not other
|
||||
## encryption routines that the SSL library happens to provide!
|
||||
diff --git a/mysql-test/t/ssl_compress.test b/mysql-test/t/ssl_compress.test
|
||||
index 2cb4c0d..feaa0e7 100644
|
||||
--- a/mysql-test/t/ssl_compress.test
|
||||
+++ b/mysql-test/t/ssl_compress.test
|
||||
@@ -9,7 +9,7 @@
|
||||
# Save the initial number of concurrent sessions
|
||||
--source include/count_sessions.inc
|
||||
|
||||
-connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS);
|
||||
+connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS CIPHER:DHE-RSA-AES256-SHA);
|
||||
|
||||
# Check ssl turned on
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
11
community-mysql-5.6.13-major.patch
Normal file
11
community-mysql-5.6.13-major.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- 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")
|
115
community-mysql-5.6.13-mtr-secure-file.patch
Normal file
115
community-mysql-5.6.13-mtr-secure-file.patch
Normal file
@ -0,0 +1,115 @@
|
||||
------------------------------------------------------------
|
||||
revno: 5459
|
||||
committer: horst.hunger@oracle.com
|
||||
branch nick: mysql-trunk
|
||||
timestamp: Tue 2013-04-02 11:24:05 +0200
|
||||
message:
|
||||
Changes concerning secure-file-prev.
|
||||
diff:
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_parts_hash_innodb-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_parts_hash_innodb-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_parts_hash_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_parts_hash_myisam-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_parts_hash_myisam-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_parts_hash_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_parts_inv_innodb-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_parts_inv_innodb-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_parts_inv_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_parts_inv_myisam-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_parts_inv_myisam-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_parts_inv_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_parts_key_innodb-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_parts_key_innodb-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_parts_key_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_parts_key_myisam-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_parts_key_myisam-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_parts_key_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_parts_list_innodb-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_parts_list_innodb-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_parts_list_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_parts_list_myisam-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_parts_list_myisam-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_parts_list_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_parts_range_innodb-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_parts_range_innodb-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_parts_range_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_parts_range_myisam-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_parts_range_myisam-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_parts_range_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_list_innodb-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_sub_parts_key_list_innodb-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_sub_parts_key_list_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_list_myisam-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_sub_parts_key_list_myisam-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_sub_parts_key_list_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_range_innodb-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_sub_parts_key_range_innodb-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_sub_parts_key_range_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_range_myisam-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_sub_parts_key_range_myisam-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_sub_parts_key_range_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_list_innodb-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_sub_parts_list_innodb-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_sub_parts_list_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_list_myisam-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_sub_parts_list_myisam-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_sub_parts_list_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_range_innodb-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_sub_parts_range_innodb-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_sub_parts_range_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_range_myisam-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_sub_parts_range_myisam-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_sub_parts_range_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
21
community-mysql-5.6.13-truncate-file.patch
Normal file
21
community-mysql-5.6.13-truncate-file.patch
Normal file
@ -0,0 +1,21 @@
|
||||
Unneccesary use of Env module in Perl code in a test
|
||||
|
||||
Code used Env just to get the value of a single environment variable,
|
||||
causing the test to fail on systems which does not have this
|
||||
installed. This use is overkill, can easily be replaced by standard
|
||||
access via the ENV hash.
|
||||
|
||||
diff -up mysql-test/include/truncate_file.inc.orig mysql-test/include/truncate_file.inc
|
||||
--- mysql-test/include/truncate_file.inc.orig 2013-08-23 12:25:33.216534033 +0200
|
||||
+++ mysql-test/include/truncate_file.inc 2013-08-23 12:15:34.583327832 +0200
|
||||
@@ -9,8 +9,7 @@ if (!$file)
|
||||
let TRUNCATE_FILE= $file;
|
||||
|
||||
perl;
|
||||
-use Env;
|
||||
-Env::import('TRUNCATE_FILE');
|
||||
-open FILE, '>', $TRUNCATE_FILE || die "Can not open file $file";
|
||||
+my $file= $ENV{'TRUNCATE_FILE'};
|
||||
+open FILE, '>', $file || die "Can not open file $file";
|
||||
close FILE;
|
||||
EOF
|
239
community-mysql-5.6.14-mysql-install.patch
Normal file
239
community-mysql-5.6.14-mysql-install.patch
Normal file
@ -0,0 +1,239 @@
|
||||
diff --git a/scripts/mysql_install_db.pl.in b/scripts/mysql_install_db.pl.in
|
||||
index c142d4f..f1f2891 100644
|
||||
--- a/scripts/mysql_install_db.pl.in
|
||||
+++ b/scripts/mysql_install_db.pl.in
|
||||
@@ -34,13 +34,35 @@
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
-use Fcntl;
|
||||
-use File::Basename;
|
||||
-use File::Copy;
|
||||
-use Getopt::Long;
|
||||
-use Sys::Hostname;
|
||||
-use Data::Dumper;
|
||||
use strict;
|
||||
+use warnings;
|
||||
+
|
||||
+##############################################################################
|
||||
+# Check if all needed modules are available, exit if something is missing.
|
||||
+##############################################################################
|
||||
+
|
||||
+BEGIN {
|
||||
+ my @req_mods = ('Fcntl', 'File::Basename', 'File::Copy', 'Getopt::Long',
|
||||
+ 'Sys::Hostname', 'Data::Dumper');
|
||||
+ my @missing_mods;
|
||||
+ my $req;
|
||||
+ foreach $req (@req_mods) {
|
||||
+ eval 'require ' . $req;
|
||||
+ if ($@) {
|
||||
+ push(@missing_mods, $req);
|
||||
+ } else {
|
||||
+ $req->import();
|
||||
+ }
|
||||
+ }
|
||||
+ # this avoids the confusing "BEGIN failed--compilation aborted" message
|
||||
+ local $SIG{__DIE__} = sub {warn @_; exit 1};
|
||||
+
|
||||
+ if (@missing_mods) {
|
||||
+ my $msg = "FATAL ERROR: please install the following Perl modules " .
|
||||
+ "before executing $0:\n" . join("\n",@missing_mods)."\n";
|
||||
+ die $msg;
|
||||
+ }
|
||||
+}
|
||||
|
||||
Getopt::Long::Configure("pass_through");
|
||||
|
||||
@@ -75,6 +97,8 @@ Usage: $0 [OPTIONS]
|
||||
--help Display this help and exit.
|
||||
--ldata=path The path to the MySQL data directory. Same as --datadir.
|
||||
--no-defaults Don't read default options from any option file.
|
||||
+ --keep-my-cnf Don't try to create my.cnf based on template.
|
||||
+ Useful for systems with working, updated my.cnf.
|
||||
EOF1
|
||||
if ( $^O !~ m/^(MSWin32|cygwin)$/ ) {
|
||||
print <<EOF2;
|
||||
@@ -86,6 +110,7 @@ EOF2
|
||||
print <<EOF3;
|
||||
--rpm For internal use. This option is used by RPM files
|
||||
during the MySQL installation process.
|
||||
+ Implies --keep-my-cnf option.
|
||||
--skip-name-resolve Use IP addresses rather than hostnames when creating
|
||||
grant table entries. This option can be useful if
|
||||
your DNS does not work.
|
||||
@@ -149,6 +174,7 @@ sub parse_arguments
|
||||
|
||||
"skip-name-resolve",
|
||||
"verbose",
|
||||
+ "keep-my-cnf",
|
||||
"rpm",
|
||||
"help",
|
||||
"random-passwords",
|
||||
@@ -356,13 +382,19 @@ sub tell_root_password {
|
||||
##############################################################################
|
||||
|
||||
sub generate_random_password {
|
||||
- # On (at least) Linux and Solaris, a "random" device is available, use it:
|
||||
- # cat /dev/urandom | LC_ALL=C tr -dc "[:alnum:]" | fold -w 8 | head -1
|
||||
- # Without LC_ALL, "tr" may not know the "alnum" character class -
|
||||
- # and there are user profiles which do not have this set.
|
||||
- #
|
||||
- my $password = `cat /dev/urandom | LC_ALL=C tr -dc "[:alnum:]" | fold -w 8 | head -1`;
|
||||
- chomp ($password);
|
||||
+ # On Linux, Solaris, Max OS X and FreeBSD we have a random device available.
|
||||
+ my $randfile = "/dev/urandom";
|
||||
+ open(FD, $randfile) || die "Can't open $randfile for reading: $!";
|
||||
+ my $password = "";
|
||||
+ my $pass_len = 16;
|
||||
+ my $c;
|
||||
+ while (length($password) < $pass_len) {
|
||||
+ $c = getc(FD);
|
||||
+ if ($c =~ /\w/) {
|
||||
+ $password .= $c;
|
||||
+ }
|
||||
+ }
|
||||
+ close(FD);
|
||||
return $password;
|
||||
}
|
||||
|
||||
@@ -399,11 +431,16 @@ $basedir= "@prefix@" if ! $basedir; # Default
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
my $print_defaults;
|
||||
+my $keep_my_cnf = 0;
|
||||
|
||||
if ( $opt->{srcdir} and $opt->{basedir} )
|
||||
{
|
||||
error($opt,"Specify either --basedir or --srcdir, not both");
|
||||
}
|
||||
+if ( $opt->{rpm} || $opt->{'keep-my-cnf'} )
|
||||
+{
|
||||
+ $keep_my_cnf = 1;
|
||||
+}
|
||||
if ( $opt->{srcdir} )
|
||||
{
|
||||
$opt->{builddir} = $opt->{srcdir} unless $opt->{builddir};
|
||||
@@ -425,13 +462,18 @@ my $config_file;
|
||||
my $copy_cfg_file;
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
-# This will be the default config file
|
||||
+# This will be the default config file (unless creation is unwanted)
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
$config_file= "$basedir/my.cnf";
|
||||
|
||||
my $cfg_template= find_in_basedir($opt,"file","my-default.cnf",
|
||||
"share","share/mysql","support-files");
|
||||
+# Distros might move files
|
||||
+if ((! -r $cfg_template) && (-r "@pkgdatadir@/my-default.cnf")) {
|
||||
+ $cfg_template = "@pkgdatadir@/my-default.cnf";
|
||||
+}
|
||||
+
|
||||
-e $cfg_template or cannot_find_file("my-default.cnf");
|
||||
|
||||
$copy_cfg_file= $config_file;
|
||||
@@ -441,22 +483,21 @@ if (-e $copy_cfg_file)
|
||||
$copy_cfg_file =~ s/my.cnf/my-new.cnf/;
|
||||
# Too early to print warning here, the user may not notice
|
||||
}
|
||||
-open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template");
|
||||
-if (open (CFG, "> $copy_cfg_file"))
|
||||
-{
|
||||
- while (<TEMPL>)
|
||||
- {
|
||||
- # Remove lines beginning with # *** which are template comments
|
||||
- print CFG $_ unless /^# \*\*\*/;
|
||||
+
|
||||
+if ( ! $keep_my_cnf ) {
|
||||
+ open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template");
|
||||
+ if (open (CFG, "> $copy_cfg_file")) {
|
||||
+ while (<TEMPL>) {
|
||||
+ # Remove lines beginning with # *** which are template comments
|
||||
+ print CFG $_ unless /^# \*\*\*/;
|
||||
+ }
|
||||
+ close CFG;
|
||||
+ } else {
|
||||
+ warning($opt,"Could not write to config file $copy_cfg_file: $!");
|
||||
+ $failed_write_cfg= 1;
|
||||
}
|
||||
- close CFG;
|
||||
+ close TEMPL;
|
||||
}
|
||||
-else
|
||||
-{
|
||||
- warning($opt,"Could not write to config file $copy_cfg_file: $!");
|
||||
- $failed_write_cfg= 1;
|
||||
-}
|
||||
-close TEMPL;
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Now we can get arguments from the groups [mysqld] and [mysql_install_db]
|
||||
@@ -619,7 +660,7 @@ if ( $opt->{'skip-name-resolve'} and $resolved and $resolved =~ /\s/ )
|
||||
}
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
-# Create database directories mysql & test
|
||||
+# Create database directory mysql
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
# FIXME The shell variant uses "mkdir -p":
|
||||
@@ -652,7 +693,7 @@ if ($opt_user)
|
||||
}
|
||||
}
|
||||
|
||||
-foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql", "$opt->{ldata}/test" )
|
||||
+foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql")
|
||||
{
|
||||
mkdir($dir, 0700) unless -d $dir;
|
||||
if ($opt_user and -w "/")
|
||||
@@ -838,15 +879,26 @@ if ( open(PIPE, "| $mysqld_install_cmd_line") )
|
||||
" cd mysql-test ; perl mysql-test-run.pl");
|
||||
}
|
||||
report($opt,
|
||||
- "Please report any problems with the " . '@scriptdir@' . "/mysqlbug script!",
|
||||
- "",
|
||||
"The latest information about MySQL is available on the web at",
|
||||
"",
|
||||
" http://www.mysql.com",
|
||||
"",
|
||||
- "Support MySQL by buying support/licenses at http://shop.mysql.com");
|
||||
+ "Please visit",
|
||||
+ "",
|
||||
+ " http://bugs.mysql.com/",
|
||||
+ "",
|
||||
+ "to report bugs. This database is public and can be browsed",
|
||||
+ "and searched by anyone. If you log in to the system",
|
||||
+ "you can enter new reports.");
|
||||
+
|
||||
|
||||
- if ($copy_cfg_file eq $config_file and !$failed_write_cfg)
|
||||
+ if ($keep_my_cnf)
|
||||
+ {
|
||||
+ report($opt,
|
||||
+ "Note: new default config file not created.",
|
||||
+ "Please make sure your config file is current");
|
||||
+ }
|
||||
+ elsif ($copy_cfg_file eq $config_file and !$failed_write_cfg)
|
||||
{
|
||||
report($opt,
|
||||
"New default config file was created as $config_file and",
|
||||
@@ -900,9 +952,15 @@ else
|
||||
"http://www.mysql.com",
|
||||
"Please consult the MySQL manual section: 'Problems running mysql_install_db',",
|
||||
"and the manual section that describes problems on your OS.",
|
||||
- "Another information source is the MySQL email archive.",
|
||||
- "Please check all of the above before mailing us!",
|
||||
- "And if you do mail us, you MUST use the " . '@scriptdir@' . "/mysqlbug script!")
|
||||
+ "Another information source is our bug database.",
|
||||
+ "Please visit",
|
||||
+ "",
|
||||
+ " http://bugs.mysql.com/",
|
||||
+ "",
|
||||
+ "to report bugs. This database is public and can be browsed",
|
||||
+ "and searched by anyone. If you log in to the system you can",
|
||||
+ "enter new reports.");
|
||||
+
|
||||
}
|
||||
|
||||
##############################################################################
|
@ -6,10 +6,10 @@ mysql-5.5.31/plugin/semisync/semisync_master.cc:661:parameter_as_source – Note
|
||||
|
||||
mysql-5.5.31/plugin/semisync/semisync_master.cc:555:parameter_as_source – Note: This defect has an elevated risk because the source argument is a parameter of the current function.
|
||||
|
||||
diff -up mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow mysql-5.5.31/plugin/semisync/semisync_master.cc
|
||||
--- mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow 2013-06-17 09:04:47.214621154 +0200
|
||||
+++ mysql-5.5.31/plugin/semisync/semisync_master.cc 2013-06-17 09:08:32.189617218 +0200
|
||||
@@ -552,7 +552,8 @@ int ReplSemiSyncMaster::reportReplyBinlo
|
||||
diff -up mysql-5.6.14/plugin/semisync/semisync_master.cc.p33 mysql-5.6.14/plugin/semisync/semisync_master.cc
|
||||
--- mysql-5.6.14/plugin/semisync/semisync_master.cc.p33 2013-09-10 09:38:25.000000000 +0200
|
||||
+++ mysql-5.6.14/plugin/semisync/semisync_master.cc 2013-10-09 15:29:03.550379533 +0200
|
||||
@@ -553,7 +553,8 @@ int ReplSemiSyncMaster::reportReplyBinlo
|
||||
|
||||
if (need_copy_send_pos)
|
||||
{
|
||||
@ -19,7 +19,7 @@ diff -up mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow mys
|
||||
reply_file_pos_ = log_file_pos;
|
||||
reply_file_name_inited_ = true;
|
||||
|
||||
@@ -658,7 +659,8 @@ int ReplSemiSyncMaster::commitTrx(const
|
||||
@@ -681,7 +682,8 @@ int ReplSemiSyncMaster::commitTrx(const
|
||||
if (cmp <= 0)
|
||||
{
|
||||
/* This thd has a lower position, let's update the minimum info. */
|
||||
@ -29,7 +29,7 @@ diff -up mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow mys
|
||||
wait_file_pos_ = trx_wait_binlog_pos;
|
||||
|
||||
rpl_semi_sync_master_wait_pos_backtraverse++;
|
||||
@@ -669,7 +671,8 @@ int ReplSemiSyncMaster::commitTrx(const
|
||||
@@ -692,7 +694,8 @@ int ReplSemiSyncMaster::commitTrx(const
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -39,35 +39,19 @@ diff -up mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow mys
|
||||
wait_file_pos_ = trx_wait_binlog_pos;
|
||||
wait_file_name_inited_ = true;
|
||||
|
||||
|
||||
mysql-5.5.31/sql/rpl_handler.cc:306:fixed_size_dest – You might overrun the 512 byte fixed-size string "log_info->log_file" by copying "log_file + dirname_length(log_file)" without checking the length. diff -up mysql-5.5.31/sql/rpl_handler.cc.covscan-stroverflow mysql-5.5.31/sql/rpl_handler.cc
|
||||
|
||||
--- mysql-5.5.31/sql/rpl_handler.cc.covscan-stroverflow 2013-06-17 10:51:04.940509594 +0200
|
||||
+++ mysql-5.5.31/sql/rpl_handler.cc 2013-06-17 10:51:08.959509523 +0200
|
||||
@@ -303,7 +303,8 @@ int Binlog_storage_delegate::after_flush
|
||||
my_pthread_setspecific_ptr(RPL_TRANS_BINLOG_INFO, log_info);
|
||||
}
|
||||
|
||||
- strcpy(log_info->log_file, log_file+dirname_length(log_file));
|
||||
+ strncpy(log_info->log_file, log_file+dirname_length(log_file), sizeof(log_info->log_file)-1);
|
||||
+ log_info->log_file[sizeof(log_info->log_file)-1] = '\0';
|
||||
log_info->log_pos = log_pos;
|
||||
|
||||
int ret= 0;
|
||||
|
||||
|
||||
mysql-5.5.31/sql/sp_rcontext.h:87:buffer_size_warning – Calling strncpy with a maximum size argument of 512 bytes on destination array "this->m_message" of size 512 bytes might leave the destination string unterminated.
|
||||
|
||||
diff -up mysql-5.5.31/sql/sp_rcontext.h.covscan-stroverflow mysql-5.5.31/sql/sp_rcontext.h
|
||||
--- mysql-5.5.31/sql/sp_rcontext.h.covscan-stroverflow 2013-06-17 13:28:32.540344334 +0200
|
||||
+++ mysql-5.5.31/sql/sp_rcontext.h 2013-06-17 13:29:23.673343443 +0200
|
||||
@@ -84,7 +84,8 @@ public:
|
||||
memcpy(m_sql_state, sqlstate, SQLSTATE_LENGTH);
|
||||
m_sql_state[SQLSTATE_LENGTH]= '\0';
|
||||
diff -up mysql-5.6.14/sql/rpl_handler.cc.p33 mysql-5.6.14/sql/rpl_handler.cc
|
||||
diff -up mysql-5.6.14/sql/sp_rcontext.h.p33 mysql-5.6.14/sql/sp_rcontext.h
|
||||
--- mysql-5.6.14/sql/sp_rcontext.h.p33 2013-10-09 15:29:03.552379535 +0200
|
||||
+++ mysql-5.6.14/sql/sp_rcontext.h 2013-10-09 15:29:53.367412814 +0200
|
||||
@@ -144,7 +144,8 @@ public:
|
||||
memcpy(sql_state, _sql_state, SQLSTATE_LENGTH);
|
||||
sql_state[SQLSTATE_LENGTH]= '\0';
|
||||
|
||||
- strncpy(m_message, msg, MYSQL_ERRMSG_SIZE);
|
||||
+ strncpy(m_message, msg, sizeof(m_message)-1);
|
||||
+ m_message[sizeof(m_message)-1] = '\0';
|
||||
- strncpy(message, _message, MYSQL_ERRMSG_SIZE);
|
||||
+ strncpy(message, _message, sizeof(message)-1);
|
||||
+ message[sizeof(message)-1] = '\0';
|
||||
}
|
||||
};
|
||||
|
||||
void clear()
|
@ -3,10 +3,10 @@ ship a test case for that. This patch only includes the test case ported
|
||||
from MariaDB fix:
|
||||
https://mariadb.atlassian.net/browse/MDEV-4252
|
||||
|
||||
diff -up mysql-5.5.31/mysql-test/r/gis.result.cve mysql-5.5.31/mysql-test/r/gis.result
|
||||
--- mysql-5.5.31/mysql-test/r/gis.result.cve 2013-06-03 16:32:33.732025515 +0200
|
||||
+++ mysql-5.5.31/mysql-test/r/gis.result 2013-06-03 16:34:04.519691044 +0200
|
||||
@@ -1113,4 +1113,19 @@ SELECT 1 FROM g1 WHERE a >= ANY
|
||||
diff -up mysql-5.6.14/mysql-test/r/gis.result.cve mysql-5.6.14/mysql-test/r/gis.result
|
||||
--- mysql-5.6.14/mysql-test/r/gis.result.cve 2013-09-10 09:38:27.000000000 +0200
|
||||
+++ mysql-5.6.14/mysql-test/r/gis.result 2013-10-09 15:08:59.886598028 +0200
|
||||
@@ -1115,6 +1115,21 @@ SELECT 1 FROM g1 WHERE a >= ANY
|
||||
(SELECT 1 FROM g1 WHERE a = geomfromtext('') OR a) ;
|
||||
1
|
||||
DROP TABLE g1;
|
||||
@ -26,10 +26,12 @@ diff -up mysql-5.5.31/mysql-test/r/gis.result.cve mysql-5.5.31/mysql-test/r/gis.
|
||||
+astext(centroid(0x0100000000030000000100000000000010))
|
||||
+NULL
|
||||
End of 5.5 tests
|
||||
diff -up mysql-5.5.31/mysql-test/t/gis.test.cve mysql-5.5.31/mysql-test/t/gis.test
|
||||
--- mysql-5.5.31/mysql-test/t/gis.test.cve 2013-06-03 16:32:33.733025512 +0200
|
||||
+++ mysql-5.5.31/mysql-test/t/gis.test 2013-06-03 16:34:38.942560749 +0200
|
||||
@@ -868,4 +868,11 @@ SELECT 1 FROM g1 WHERE a >= ANY
|
||||
DROP DATABASE IF EXISTS gis_ogs;
|
||||
CREATE DATABASE gis_ogs;
|
||||
diff -up mysql-5.6.14/mysql-test/t/gis.test.cve mysql-5.6.14/mysql-test/t/gis.test
|
||||
--- mysql-5.6.14/mysql-test/t/gis.test.cve 2013-09-10 09:38:27.000000000 +0200
|
||||
+++ mysql-5.6.14/mysql-test/t/gis.test 2013-10-09 15:08:59.886598028 +0200
|
||||
@@ -868,6 +868,13 @@ SELECT 1 FROM g1 WHERE a >= ANY
|
||||
|
||||
DROP TABLE g1;
|
||||
|
||||
@ -41,3 +43,5 @@ diff -up mysql-5.5.31/mysql-test/t/gis.test.cve mysql-5.5.31/mysql-test/t/gis.te
|
||||
+select astext(exteriorring(0x0100000000030000000100000000000010));
|
||||
+select astext(centroid(0x0100000000030000000100000000000010));
|
||||
--echo End of 5.5 tests
|
||||
|
||||
|
@ -1,169 +0,0 @@
|
||||
Prefix mysql_ to the real names of several symbols that have to be exported
|
||||
from libmysqlclient because mysql-connector-odbc and/or PHP depend on them.
|
||||
This limits the intrusion on application namespace.
|
||||
|
||||
Also, remove all traces of make_scrambled_password and
|
||||
make_scrambled_password_323, so that references to these functions draw
|
||||
compile-time warnings, per a suggestion from Paul Howarth in bug #690346.
|
||||
It doesn't seem worth trying to get rid of all the internal symbols exposed
|
||||
by mysql.h, but these two are relatively easy to get rid of.
|
||||
|
||||
|
||||
diff -up mysql-5.5.28/client/mysqladmin.cc.p8 mysql-5.5.28/client/mysqladmin.cc
|
||||
--- mysql-5.5.28/client/mysqladmin.cc.p8 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/client/mysqladmin.cc 2012-12-06 14:16:14.598520859 +0100
|
||||
@@ -21,6 +21,7 @@
|
||||
#include <my_pthread.h> /* because of signal() */
|
||||
#include <sys/stat.h>
|
||||
#include <mysql.h>
|
||||
+#include <password.h> /* my_make_scrambled_password_323, my_make_scrambled_password */
|
||||
#include <sql_common.h>
|
||||
#include <welcome_copyright_notice.h> /* ORACLE_WELCOME_COPYRIGHT_NOTICE */
|
||||
|
||||
@@ -989,9 +990,9 @@ static int execute_commands(MYSQL *mysql
|
||||
}
|
||||
}
|
||||
if (old)
|
||||
- make_scrambled_password_323(crypted_pw, typed_password);
|
||||
+ my_make_scrambled_password_323(crypted_pw, typed_password, strlen(typed_password));
|
||||
else
|
||||
- make_scrambled_password(crypted_pw, typed_password);
|
||||
+ my_make_scrambled_password(crypted_pw, typed_password, strlen(typed_password));
|
||||
}
|
||||
else
|
||||
crypted_pw[0]=0; /* No password */
|
||||
diff -up mysql-5.5.28/include/errmsg.h.p8 mysql-5.5.28/include/errmsg.h
|
||||
--- mysql-5.5.28/include/errmsg.h.p8 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/include/errmsg.h 2012-12-06 14:16:14.598520859 +0100
|
||||
@@ -24,6 +24,7 @@ extern "C" {
|
||||
#endif
|
||||
void init_client_errs(void);
|
||||
void finish_client_errs(void);
|
||||
+#define client_errors mysql_client_errors /* namespace sanity */
|
||||
extern const char *client_errors[]; /* Error messages */
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
diff -up mysql-5.5.28/include/mysql_com.h.p8 mysql-5.5.28/include/mysql_com.h
|
||||
--- mysql-5.5.28/include/mysql_com.h.p8 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/include/mysql_com.h 2012-12-06 14:16:14.599520860 +0100
|
||||
@@ -452,6 +452,7 @@ my_bool my_net_init(NET *net, Vio* vio);
|
||||
void my_net_local_init(NET *net);
|
||||
void net_end(NET *net);
|
||||
void net_clear(NET *net, my_bool clear_buffer);
|
||||
+#define net_realloc mysql_net_realloc /* namespace sanity */
|
||||
my_bool net_realloc(NET *net, size_t length);
|
||||
my_bool net_flush(NET *net);
|
||||
my_bool my_net_write(NET *net,const unsigned char *packet, size_t len);
|
||||
@@ -533,14 +534,12 @@ double my_rnd(struct rand_struct *);
|
||||
void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st);
|
||||
|
||||
void hash_password(unsigned long *to, const char *password, unsigned int password_len);
|
||||
-void make_scrambled_password_323(char *to, const char *password);
|
||||
void scramble_323(char *to, const char *message, const char *password);
|
||||
my_bool check_scramble_323(const unsigned char *reply, const char *message,
|
||||
unsigned long *salt);
|
||||
void get_salt_from_password_323(unsigned long *res, const char *password);
|
||||
void make_password_from_salt_323(char *to, const unsigned long *salt);
|
||||
|
||||
-void make_scrambled_password(char *to, const char *password);
|
||||
void scramble(char *to, const char *message, const char *password);
|
||||
my_bool check_scramble(const unsigned char *reply, const char *message,
|
||||
const unsigned char *hash_stage2);
|
||||
diff -up mysql-5.5.28/include/mysql.h.pp.p8 mysql-5.5.28/include/mysql.h.pp
|
||||
--- mysql-5.5.28/include/mysql.h.pp.p8 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/include/mysql.h.pp 2012-12-06 14:16:14.598520859 +0100
|
||||
@@ -86,7 +86,7 @@ my_bool my_net_init(NET *net, Vio* vio);
|
||||
void my_net_local_init(NET *net);
|
||||
void net_end(NET *net);
|
||||
void net_clear(NET *net, my_bool clear_buffer);
|
||||
-my_bool net_realloc(NET *net, size_t length);
|
||||
+my_bool mysql_net_realloc(NET *net, size_t length);
|
||||
my_bool net_flush(NET *net);
|
||||
my_bool my_net_write(NET *net,const unsigned char *packet, size_t len);
|
||||
my_bool net_write_command(NET *net,unsigned char command,
|
||||
@@ -128,13 +128,11 @@ void randominit(struct rand_struct *, un
|
||||
double my_rnd(struct rand_struct *);
|
||||
void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st);
|
||||
void hash_password(unsigned long *to, const char *password, unsigned int password_len);
|
||||
-void make_scrambled_password_323(char *to, const char *password);
|
||||
void scramble_323(char *to, const char *message, const char *password);
|
||||
my_bool check_scramble_323(const unsigned char *reply, const char *message,
|
||||
unsigned long *salt);
|
||||
void get_salt_from_password_323(unsigned long *res, const char *password);
|
||||
void make_password_from_salt_323(char *to, const unsigned long *salt);
|
||||
-void make_scrambled_password(char *to, const char *password);
|
||||
void scramble(char *to, const char *message, const char *password);
|
||||
my_bool check_scramble(const unsigned char *reply, const char *message,
|
||||
const unsigned char *hash_stage2);
|
||||
diff -up mysql-5.5.28/include/my_sys.h.p8 mysql-5.5.28/include/my_sys.h
|
||||
--- mysql-5.5.28/include/my_sys.h.p8 2012-12-06 14:09:15.218170154 +0100
|
||||
+++ mysql-5.5.28/include/my_sys.h 2012-12-06 14:16:14.598520859 +0100
|
||||
@@ -218,6 +218,7 @@ extern uint my_large_page_size;
|
||||
|
||||
/* charsets */
|
||||
#define MY_ALL_CHARSETS_SIZE 2048
|
||||
+#define default_charset_info mysql_default_charset_info /* namespace sanity */
|
||||
extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *default_charset_info;
|
||||
extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *all_charsets[MY_ALL_CHARSETS_SIZE];
|
||||
extern CHARSET_INFO compiled_charsets[];
|
||||
@@ -895,6 +896,9 @@ extern uint get_charset_number(const cha
|
||||
extern uint get_collation_number(const char *name);
|
||||
extern const char *get_charset_name(uint cs_number);
|
||||
|
||||
+#define get_charset mysql_get_charset /* namespace sanity */
|
||||
+#define get_charset_by_csname mysql_get_charset_by_csname
|
||||
+
|
||||
extern CHARSET_INFO *get_charset(uint cs_number, myf flags);
|
||||
extern CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags);
|
||||
extern CHARSET_INFO *get_charset_by_csname(const char *cs_name,
|
||||
diff -up mysql-5.5.28/sql/password.c.p8 mysql-5.5.28/sql/password.c
|
||||
--- mysql-5.5.28/sql/password.c.p8 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/sql/password.c 2012-12-06 14:16:14.599520860 +0100
|
||||
@@ -155,23 +155,6 @@ void my_make_scrambled_password_323(char
|
||||
|
||||
|
||||
/*
|
||||
- Wrapper around my_make_scrambled_password_323() to maintain client lib ABI
|
||||
- compatibility.
|
||||
- In server code usage of my_make_scrambled_password_323() is preferred to
|
||||
- avoid strlen().
|
||||
- SYNOPSIS
|
||||
- make_scrambled_password_323()
|
||||
- to OUT store scrambled password here
|
||||
- password IN NULL-terminated string with user-supplied password
|
||||
-*/
|
||||
-
|
||||
-void make_scrambled_password_323(char *to, const char *password)
|
||||
-{
|
||||
- my_make_scrambled_password_323(to, password, strlen(password));
|
||||
-}
|
||||
-
|
||||
-
|
||||
-/*
|
||||
Scramble string with password.
|
||||
Used in pre 4.1 authentication phase.
|
||||
SYNOPSIS
|
||||
@@ -434,23 +417,6 @@ void my_make_scrambled_password(char *to
|
||||
|
||||
|
||||
/*
|
||||
- Wrapper around my_make_scrambled_password() to maintain client lib ABI
|
||||
- compatibility.
|
||||
- In server code usage of my_make_scrambled_password() is preferred to
|
||||
- avoid strlen().
|
||||
- SYNOPSIS
|
||||
- make_scrambled_password()
|
||||
- buf OUT buffer of size 2*SHA1_HASH_SIZE + 2 to store hex string
|
||||
- password IN NULL-terminated password string
|
||||
-*/
|
||||
-
|
||||
-void make_scrambled_password(char *to, const char *password)
|
||||
-{
|
||||
- my_make_scrambled_password(to, password, strlen(password));
|
||||
-}
|
||||
-
|
||||
-
|
||||
-/*
|
||||
Produce an obscure octet sequence from password and random
|
||||
string, recieved from the server. This sequence corresponds to the
|
||||
password, but password can not be easily restored from it. The sequence
|
@ -1,21 +0,0 @@
|
||||
"extern int errno" is just a really bad idea.
|
||||
|
||||
|
||||
diff -up mysql-5.5.28/include/my_sys.h.p1 mysql-5.5.28/include/my_sys.h
|
||||
--- mysql-5.5.28/include/my_sys.h.p1 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/include/my_sys.h 2012-12-06 14:09:15.218170154 +0100
|
||||
@@ -197,13 +197,8 @@ extern void my_large_free(uchar *ptr);
|
||||
#define my_afree(PTR) my_free(PTR)
|
||||
#endif /* HAVE_ALLOCA */
|
||||
|
||||
-#ifndef errno /* did we already get it? */
|
||||
-#ifdef HAVE_ERRNO_AS_DEFINE
|
||||
#include <errno.h> /* errno is a define */
|
||||
-#else
|
||||
-extern int errno; /* declare errno */
|
||||
-#endif
|
||||
-#endif /* #ifndef errno */
|
||||
+
|
||||
extern char *home_dir; /* Home directory for user */
|
||||
extern const char *my_progname; /* program-name (printed in errors) */
|
||||
extern char curr_dir[]; /* Current directory for user */
|
@ -553,3 +553,19 @@ diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server8k-key.pem mysql-5.1.50/m
|
||||
+nlUJasA2psbqSBJ5OJ5zAkEA2UxoMju54hASjT54Z92IzraVw4Vo8CYwOcw5fr7z
|
||||
++m5xg1mmWdLBclmZ+WjARzDuTHIW6u/WCxNGg42AykWzfw==
|
||||
-----END RSA PRIVATE KEY-----
|
||||
diff -u mysql-5.6.10/mysql-test/r/ssl.result.orig mysql-5.6.10/mysql-test/r/ssl.result
|
||||
--- mysql-5.6.10/mysql-test/r/ssl.result.orig 2013-03-04 09:50:24.227923768 +0100
|
||||
+++ mysql-5.6.10/mysql-test/r/ssl.result 2013-03-04 09:53:28.449873521 +0100
|
||||
@@ -3,10 +3,10 @@
|
||||
Ssl_cipher DHE-RSA-AES256-SHA
|
||||
SHOW STATUS LIKE 'Ssl_server_not_before';
|
||||
Variable_name Value
|
||||
-Ssl_server_not_before Jan 29 11:56:49 2010 GMT
|
||||
+Ssl_server_not_before Feb 20 02:55:06 2010 GMT
|
||||
SHOW STATUS LIKE 'Ssl_server_not_after';
|
||||
Variable_name Value
|
||||
-Ssl_server_not_after Jan 28 11:56:49 2015 GMT
|
||||
+Ssl_server_not_after Sep 3 02:55:06 2030 GMT
|
||||
drop table if exists t1,t2,t3,t4;
|
||||
CREATE TABLE t1 (
|
||||
Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL,
|
@ -14,27 +14,27 @@ Adjust the mysql-log-rotate script in several ways:
|
||||
See discussions at RH bugs 799735, 547007
|
||||
|
||||
|
||||
diff -Naur mysql-5.5.22.orig/support-files/mysql-log-rotate.sh mysql-5.5.22/support-files/mysql-log-rotate.sh
|
||||
--- mysql-5.5.22.orig/support-files/mysql-log-rotate.sh 2012-03-02 14:44:46.000000000 -0500
|
||||
+++ mysql-5.5.22/support-files/mysql-log-rotate.sh 2012-03-23 22:33:29.092043705 -0400
|
||||
@@ -3,7 +3,7 @@
|
||||
# in the [safe_mysqld] section as follows:
|
||||
diff -up mysql-5.6.10/support-files/mysql-log-rotate.sh.orig mysql-5.6.10/support-files/mysql-log-rotate.sh
|
||||
--- mysql-5.6.10/support-files/mysql-log-rotate.sh.orig 2013-01-22 17:54:50.000000000 +0100
|
||||
+++ mysql-5.6.10/support-files/mysql-log-rotate.sh 2013-02-19 15:27:28.448443077 +0100
|
||||
@@ -4,7 +4,7 @@
|
||||
# follows:
|
||||
#
|
||||
# [safe_mysqld]
|
||||
-# err-log=@localstatedir@/mysqld.log
|
||||
+# err-log=/var/log/mysqld.log
|
||||
# [mysqld]
|
||||
-# log-error=@localstatedir@/mysqld.log
|
||||
+# log-error=/var/log/mysqld.log
|
||||
#
|
||||
# If the root user has a password you have to create a
|
||||
# /root/.my.cnf configuration file with the following
|
||||
@@ -18,19 +18,21 @@
|
||||
# ATTENTION: This /root/.my.cnf should be readable ONLY
|
||||
# for root !
|
||||
# In case the root user has a password, then you
|
||||
# have to create a /root/.my.cnf configuration file
|
||||
@@ -19,19 +19,21 @@
|
||||
# ATTENTION: The /root/.my.cnf file should be readable
|
||||
# _ONLY_ by root !
|
||||
|
||||
-@localstatedir@/mysqld.log {
|
||||
- # create 600 mysql mysql
|
||||
- notifempty
|
||||
- daily
|
||||
- rotate 3
|
||||
- rotate 5
|
||||
- missingok
|
||||
- compress
|
||||
- postrotate
|
@ -1,12 +0,0 @@
|
||||
diff -up mysql-5.5.30/cmake/mysql_version.cmake.major mysql-5.5.30/cmake/mysql_version.cmake
|
||||
--- mysql-5.5.30/cmake/mysql_version.cmake.major 2013-03-11 18:32:45.326473598 +0100
|
||||
+++ mysql-5.5.30/cmake/mysql_version.cmake 2013-03-11 18:33:10.634472902 +0100
|
||||
@@ -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(PROTOCOL_VERSION "10")
|
||||
SET(DOT_FRM_VERSION "6")
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_gethwaddr.c
|
||||
--- mysql-5.5.15/mysys/my_gethwaddr.c.netdevname 2011-07-13 21:09:02.000000000 +0200
|
||||
+++ mysql-5.5.15/mysys/my_gethwaddr.c 2011-11-01 12:32:35.356119715 +0100
|
||||
@@ -68,28 +68,47 @@ err:
|
||||
diff -up mysql-5.6.10/mysys/my_gethwaddr.c.orig mysql-5.6.10/mysys/my_gethwaddr.c
|
||||
--- mysql-5.6.10/mysys/my_gethwaddr.c.orig 2013-01-22 17:54:49.000000000 +0100
|
||||
+++ mysql-5.6.10/mysys/my_gethwaddr.c 2013-02-19 15:19:48.632960900 +0100
|
||||
@@ -68,27 +68,47 @@ err:
|
||||
#include <sys/ioctl.h>
|
||||
#include <net/ethernet.h>
|
||||
|
||||
@ -19,7 +19,7 @@ diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_geth
|
||||
if (fd < 0)
|
||||
goto err;
|
||||
|
||||
- bzero(&ifr, sizeof(ifr));
|
||||
- memset(&ifr, 0, sizeof(ifr));
|
||||
- strnmov(ifr.ifr_name, "eth0", sizeof(ifr.ifr_name) - 1);
|
||||
+ ifc.ifc_len = sizeof(ifs);
|
||||
+ ifc.ifc_req = ifs;
|
||||
@ -28,10 +28,10 @@ diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_geth
|
||||
+ close(fd);
|
||||
+ goto err;
|
||||
+ }
|
||||
+
|
||||
+ memcpy(to, zero_array, ETHER_ADDR_LEN);
|
||||
|
||||
- do
|
||||
+ memcpy(to, zero_array, ETHER_ADDR_LEN);
|
||||
+
|
||||
+ ifend = ifs + (ifc.ifc_len / sizeof(struct ifreq));
|
||||
+ for (ifri = ifc.ifc_req; ifri < ifend; ifri++)
|
||||
{
|
||||
@ -40,7 +40,7 @@ diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_geth
|
||||
{
|
||||
- memcpy(to, &ifr.ifr_hwaddr.sa_data, ETHER_ADDR_LEN);
|
||||
- res= memcmp(to, zero_array, ETHER_ADDR_LEN) ? 0 : 1;
|
||||
+ bzero(&ifr, sizeof(ifr));
|
||||
+ memset(&ifr, 0, sizeof(ifr));
|
||||
+ strncpy(ifr.ifr_name, ifri->ifr_name, sizeof(ifr.ifr_name));
|
||||
+
|
||||
+ /* Get HW address */
|
||||
@ -52,8 +52,7 @@ diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_geth
|
||||
+ }
|
||||
}
|
||||
- } while (res && (errno == 0 || errno == ENODEV) && ifr.ifr_name[3]++ < '6');
|
||||
-
|
||||
+ }
|
||||
|
||||
close(fd);
|
||||
err:
|
||||
return res;
|
@ -1,42 +0,0 @@
|
||||
Fix plugin boolean variables to receive the value "1", not "-1", when they
|
||||
are set to 1. Aside from being bizarre, the existing behavior is unportable:
|
||||
machines where char is unsigned print "255" instead. Filed upstream at
|
||||
http://bugs.mysql.com/bug.php?id=59905
|
||||
|
||||
|
||||
diff -up mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result.p10 mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result
|
||||
--- mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result.p10 2012-08-29 10:50:47.000000000 +0200
|
||||
+++ mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result 2012-12-06 14:20:53.078755855 +0100
|
||||
@@ -45,7 +45,7 @@ set session rpl_semi_sync_master_enabled
|
||||
ERROR HY000: Variable 'rpl_semi_sync_master_enabled' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
select @@global.rpl_semi_sync_master_enabled;
|
||||
@@global.rpl_semi_sync_master_enabled
|
||||
--1
|
||||
+1
|
||||
select @@session.rpl_semi_sync_master_enabled;
|
||||
ERROR HY000: Variable 'rpl_semi_sync_master_enabled' is a GLOBAL variable
|
||||
show global variables like 'rpl_semi_sync_master_enabled';
|
||||
diff -up mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result.p10 mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result
|
||||
--- mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result.p10 2012-08-29 10:50:47.000000000 +0200
|
||||
+++ mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result 2012-12-06 14:20:53.078755855 +0100
|
||||
@@ -45,7 +45,7 @@ set session rpl_semi_sync_slave_enabled=
|
||||
ERROR HY000: Variable 'rpl_semi_sync_slave_enabled' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
select @@global.rpl_semi_sync_slave_enabled;
|
||||
@@global.rpl_semi_sync_slave_enabled
|
||||
--1
|
||||
+1
|
||||
select @@session.rpl_semi_sync_slave_enabled;
|
||||
ERROR HY000: Variable 'rpl_semi_sync_slave_enabled' is a GLOBAL variable
|
||||
show global variables like 'rpl_semi_sync_slave_enabled';
|
||||
diff -up mysql-5.5.28/sql/sql_plugin.cc.p10 mysql-5.5.28/sql/sql_plugin.cc
|
||||
--- mysql-5.5.28/sql/sql_plugin.cc.p10 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/sql/sql_plugin.cc 2012-12-06 14:20:53.078755855 +0100
|
||||
@@ -2094,7 +2094,7 @@ static int check_func_bool(THD *thd, str
|
||||
goto err;
|
||||
result= (int) tmp;
|
||||
}
|
||||
- *(my_bool *) save= -result;
|
||||
+ *(my_bool *) save= result ? true : false;
|
||||
return 0;
|
||||
err:
|
||||
return 1;
|
@ -1,96 +0,0 @@
|
||||
mysql_plugin.test fails when run in mysql-test RPM, though the build-time
|
||||
regression test is OK. This patch is from the pre-existing upstream bug
|
||||
report, except we also fix the part that tries to scribble on the
|
||||
read-only-to-us plugin directory.
|
||||
|
||||
rhbz #789530, upstream at http://bugs.mysql.com/bug.php?id=62907
|
||||
|
||||
|
||||
diff -up mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt.p17 mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt
|
||||
--- mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt.p17 2013-03-25 14:14:58.000000000 +0100
|
||||
+++ mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt 2013-04-19 13:38:23.761741532 +0200
|
||||
@@ -1 +1 @@
|
||||
---plugin-dir=$DAEMONEXAMPLE_DIR
|
||||
+--plugin-dir=$MYSQLTEST_VARDIR/plugin
|
||||
diff -up mysql-5.5.31/mysql-test/t/mysql_plugin.test.p17 mysql-5.5.31/mysql-test/t/mysql_plugin.test
|
||||
--- mysql-5.5.31/mysql-test/t/mysql_plugin.test.p17 2013-03-25 14:14:58.000000000 +0100
|
||||
+++ mysql-5.5.31/mysql-test/t/mysql_plugin.test 2013-04-19 13:38:25.606742145 +0200
|
||||
@@ -25,8 +25,10 @@
|
||||
# Add the datadir, basedir, plugin_dir to the bootstrap command
|
||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
let $MYSQL_BASEDIR= `select @@basedir`;
|
||||
+let $MYSQLD_TMP_BASEDIR= $MYSQLTEST_VARDIR/tmp;
|
||||
let $MYSQL_ERRMSG_BASEDIR=`select @@lc_messages_dir`;
|
||||
let $PLUGIN_DIR=`select @@plugin_dir`;
|
||||
+let $PLUGIN_BASEDIR=$DAEMONEXAMPLE_DIR;
|
||||
|
||||
--disable_abort_on_error
|
||||
|
||||
@@ -51,10 +53,11 @@ use File::Basename;
|
||||
{
|
||||
print FILE "let \$DAEMONEXAMPLE_DIR= $not_found;\n";
|
||||
}
|
||||
- if ((!-e $plugindir_ini) || (!-r $plugindir_ini))
|
||||
- {
|
||||
- print FILE "let \$PLUGIN_DIR= $not_found;\n";
|
||||
- }
|
||||
+# This test doesn't work because $ENV{PLUGIN_DIR} is empty
|
||||
+# if ((!-e $plugindir_ini) || (!-r $plugindir_ini))
|
||||
+# {
|
||||
+# print FILE "let \$PLUGIN_DIR= $not_found;\n";
|
||||
+# }
|
||||
close FILE;
|
||||
EOF
|
||||
|
||||
@@ -66,10 +69,14 @@ remove_file $MYSQL_TMP_DIR/mysqld.inc;
|
||||
# mysql version, so errmsg.sys will be copied to "basedir/share", we create
|
||||
# and remove this structure.
|
||||
|
||||
---mkdir $MYSQLD_BASEDIR/share
|
||||
---mkdir $MYSQLD_BASEDIR/share/mysql
|
||||
---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/errmsg.sys
|
||||
---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/mysql/errmsg.sys
|
||||
+--mkdir $MYSQLD_TMP_BASEDIR/share
|
||||
+--mkdir $MYSQLD_TMP_BASEDIR/share/community-mysql
|
||||
+--mkdir $PLUGIN_DIR
|
||||
+--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/errmsg.sys
|
||||
+--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/community-mysql/errmsg.sys
|
||||
+--copy_file $PLUGIN_BASEDIR/libdaemon_example.so $PLUGIN_DIR/libdaemon_example.so
|
||||
+--copy_file $PLUGIN_BASEDIR/daemon_example.ini $PLUGIN_DIR/daemon_example.ini
|
||||
+
|
||||
|
||||
# The mysql_plugin tool now accepts --my-print-defaults which points to the
|
||||
# executable my_print_defaults.exe we can get this path from the variable
|
||||
@@ -100,7 +107,7 @@ if ($PLUGIN_DIR == '')
|
||||
|
||||
# Build client command for reuse.
|
||||
|
||||
-let $MYSQL_PLUGIN_CMD= $MYSQL_PLUGIN --datadir=$MYSQLD_DATADIR --basedir=$MYSQLD_BASEDIR --plugin-dir=$PLUGIN_DIR --mysqld=$MYSQLD_BASEDIR --my-print-defaults=$MYSQL_MY_PRINT_DEFAULTS_BASEDIR;
|
||||
+let $MYSQL_PLUGIN_CMD= $MYSQL_PLUGIN --datadir=$MYSQLD_DATADIR --basedir=$MYSQLD_TMP_BASEDIR --plugin-dir=$PLUGIN_DIR --mysqld=$MYSQLD_BASEDIR --my-print-defaults=$MYSQL_MY_PRINT_DEFAULTS_BASEDIR;
|
||||
|
||||
--echo #
|
||||
--echo # Ensure the plugin isn't loaded.
|
||||
@@ -184,7 +191,7 @@ SELECT * FROM mysql.plugin WHERE dl like
|
||||
# we must copy the example daemon to a new location renaming it.
|
||||
|
||||
let $DAEMON_RELOAD = lib$DAEMONEXAMPLE;
|
||||
---copy_file $PLUGIN_DIR/$DAEMONEXAMPLE $PLUGIN_DIR/$DAEMON_RELOAD
|
||||
+--copy_file $PLUGIN_BASEDIR/$DAEMONEXAMPLE $PLUGIN_DIR/$DAEMON_RELOAD
|
||||
--copy_file include/libdaemon_example.ini $PLUGIN_DIR/libdaemon_example.ini
|
||||
|
||||
# Now reload it and see that it is a different name.
|
||||
@@ -361,8 +368,11 @@ replace_result $MYSQL_PLUGIN mysql_plugi
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
# Cleanup the share folder in the binary path.
|
||||
---remove_file $MYSQLD_BASEDIR/share/errmsg.sys
|
||||
---rmdir $MYSQLD_BASEDIR/share/mysql
|
||||
---rmdir $MYSQLD_BASEDIR/share
|
||||
+--remove_file $PLUGIN_DIR/daemon_example.ini
|
||||
+--remove_file $PLUGIN_DIR/libdaemon_example.so
|
||||
+--rmdir $PLUGIN_DIR
|
||||
+--remove_file $MYSQLD_TMP_BASEDIR/share/errmsg.sys
|
||||
+--rmdir $MYSQLD_TMP_BASEDIR/share/community-mysql
|
||||
+--rmdir $MYSQLD_TMP_BASEDIR/share
|
||||
|
||||
--enable_abort_on_error
|
@ -12,9 +12,9 @@ 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 -up mysql-5.5.33/include/mysql.h.p30 mysql-5.5.33/include/mysql.h
|
||||
--- mysql-5.5.33/include/mysql.h.p30 2013-07-15 14:01:50.000000000 +0200
|
||||
+++ mysql-5.5.33/include/mysql.h 2013-08-20 17:26:56.745334059 +0200
|
||||
diff -up mysql-5.6.14/include/mysql.h.p34 mysql-5.6.14/include/mysql.h
|
||||
--- mysql-5.6.14/include/mysql.h.p34 2013-09-10 09:38:25.000000000 +0200
|
||||
+++ mysql-5.6.14/include/mysql.h 2013-10-09 15:33:04.523541478 +0200
|
||||
@@ -134,6 +134,7 @@ typedef unsigned long long my_ulonglong;
|
||||
|
||||
/* backward compatibility define - to be removed eventually */
|
||||
@ -23,19 +23,19 @@ diff -up mysql-5.5.33/include/mysql.h.p30 mysql-5.5.33/include/mysql.h
|
||||
|
||||
typedef struct st_mysql_rows {
|
||||
struct st_mysql_rows *next; /* list of rows */
|
||||
diff -up mysql-5.5.33/mysql-test/r/plugin.result.p30 mysql-5.5.33/mysql-test/r/plugin.result
|
||||
--- mysql-5.5.33/mysql-test/r/plugin.result.p30 2013-07-15 14:01:49.000000000 +0200
|
||||
+++ mysql-5.5.33/mysql-test/r/plugin.result 2013-08-20 17:26:56.746334059 +0200
|
||||
@@ -143,3 +143,5 @@ SELECT @@SESSION.example_double_thdvar;
|
||||
diff -up mysql-5.6.14/mysql-test/r/plugin.result.p34 mysql-5.6.14/mysql-test/r/plugin.result
|
||||
--- mysql-5.6.14/mysql-test/r/plugin.result.p34 2013-09-10 09:38:27.000000000 +0200
|
||||
+++ mysql-5.6.14/mysql-test/r/plugin.result 2013-10-09 15:33:04.523541478 +0200
|
||||
@@ -162,3 +162,5 @@ SELECT @@SESSION.example_double_thdvar;
|
||||
@@SESSION.example_double_thdvar
|
||||
1000.500000
|
||||
UNINSTALL PLUGIN example;
|
||||
+UNINSTALL PLUGIN MyISAM;
|
||||
+ERROR HY000: Built-in plugins cannot be deleted
|
||||
diff -up mysql-5.5.33/mysql-test/t/plugin.test.p30 mysql-5.5.33/mysql-test/t/plugin.test
|
||||
--- mysql-5.5.33/mysql-test/t/plugin.test.p30 2013-07-15 14:01:49.000000000 +0200
|
||||
+++ mysql-5.5.33/mysql-test/t/plugin.test 2013-08-20 17:26:56.746334059 +0200
|
||||
@@ -137,3 +137,10 @@ SET SESSION example_double_thdvar = 1000
|
||||
diff -up mysql-5.6.14/mysql-test/t/plugin.test.p34 mysql-5.6.14/mysql-test/t/plugin.test
|
||||
--- mysql-5.6.14/mysql-test/t/plugin.test.p34 2013-09-10 09:38:27.000000000 +0200
|
||||
+++ mysql-5.6.14/mysql-test/t/plugin.test 2013-10-09 15:33:04.524541479 +0200
|
||||
@@ -160,3 +160,10 @@ SET SESSION example_double_thdvar = 1000
|
||||
SELECT @@SESSION.example_double_thdvar;
|
||||
|
||||
UNINSTALL PLUGIN example;
|
||||
@ -46,10 +46,10 @@ diff -up mysql-5.5.33/mysql-test/t/plugin.test.p30 mysql-5.5.33/mysql-test/t/plu
|
||||
+--error ER_PLUGIN_DELETE_BUILTIN
|
||||
+UNINSTALL PLUGIN MyISAM;
|
||||
+
|
||||
diff -up mysql-5.5.33/sql/share/errmsg-utf8.txt.p30 mysql-5.5.33/sql/share/errmsg-utf8.txt
|
||||
--- mysql-5.5.33/sql/share/errmsg-utf8.txt.p30 2013-07-15 14:01:50.000000000 +0200
|
||||
+++ mysql-5.5.33/sql/share/errmsg-utf8.txt 2013-08-20 17:26:56.750334057 +0200
|
||||
@@ -6161,7 +6161,7 @@ WARN_NO_MASTER_INFO
|
||||
diff -up mysql-5.6.14/sql/share/errmsg-utf8.txt.p34 mysql-5.6.14/sql/share/errmsg-utf8.txt
|
||||
--- mysql-5.6.14/sql/share/errmsg-utf8.txt.p34 2013-09-10 09:38:26.000000000 +0200
|
||||
+++ mysql-5.6.14/sql/share/errmsg-utf8.txt 2013-10-09 15:33:04.525541480 +0200
|
||||
@@ -6235,7 +6235,7 @@ WARN_NO_MASTER_INFO
|
||||
WARN_OPTION_IGNORED
|
||||
eng "<%-.64s> option ignored"
|
||||
ger "Option <%-.64s> ignoriert"
|
||||
@ -58,14 +58,14 @@ diff -up mysql-5.5.33/sql/share/errmsg-utf8.txt.p30 mysql-5.5.33/sql/share/errms
|
||||
eng "Built-in plugins cannot be deleted"
|
||||
ger "Eingebaute Plugins können nicht gelöscht werden"
|
||||
WARN_PLUGIN_BUSY
|
||||
diff -up mysql-5.5.33/sql/sql_plugin.cc.p30 mysql-5.5.33/sql/sql_plugin.cc
|
||||
--- mysql-5.5.33/sql/sql_plugin.cc.p30 2013-08-20 17:26:56.640334104 +0200
|
||||
+++ mysql-5.5.33/sql/sql_plugin.cc 2013-08-20 17:26:56.752334057 +0200
|
||||
@@ -1909,9 +1909,7 @@ bool mysql_uninstall_plugin(THD *thd, co
|
||||
diff -up mysql-5.6.14/sql/sql_plugin.cc.p34 mysql-5.6.14/sql/sql_plugin.cc
|
||||
--- mysql-5.6.14/sql/sql_plugin.cc.p34 2013-10-09 15:33:04.527541481 +0200
|
||||
+++ mysql-5.6.14/sql/sql_plugin.cc 2013-10-09 15:34:30.760598323 +0200
|
||||
@@ -1979,9 +1979,7 @@ bool mysql_uninstall_plugin(THD *thd, co
|
||||
}
|
||||
if (!plugin->plugin_dl)
|
||||
{
|
||||
- push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||
- 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));
|
@ -1,139 +0,0 @@
|
||||
mysql is not accounting for the "guard page" when setting thread stack size
|
||||
requests. This is fatal on PPC systems, which may use guard pages as large
|
||||
as 64K. This patch also documents the IA64 situation a bit better.
|
||||
|
||||
Note: there are quite a few other setstacksize calls besides the two in
|
||||
mysqld.cc; is it important to fix any of the others?
|
||||
|
||||
Filed upstream at http://bugs.mysql.com/bug.php?id=35019
|
||||
|
||||
|
||||
diff -up mysql-5.5.28/sql/mysqld.cc.p5 mysql-5.5.28/sql/mysqld.cc
|
||||
--- mysql-5.5.28/sql/mysqld.cc.p5 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/sql/mysqld.cc 2012-12-06 14:13:59.765407494 +0100
|
||||
@@ -2599,6 +2599,70 @@ static void init_signals(void)
|
||||
}
|
||||
|
||||
|
||||
+/* pthread_attr_setstacksize without so much platform-dependency */
|
||||
+/* returns the actual stack size if possible */
|
||||
+static size_t my_setstacksize(pthread_attr_t *attr, size_t stacksize)
|
||||
+{
|
||||
+ size_t guard_size = 0;
|
||||
+
|
||||
+#if defined(__ia64__) || defined(__ia64)
|
||||
+ /*
|
||||
+ On IA64, half of the requested stack size is used for "normal stack"
|
||||
+ and half for "register stack". The space measured by check_stack_overrun
|
||||
+ is the "normal stack", so double the request to make sure we have the
|
||||
+ caller-expected amount of normal stack.
|
||||
+
|
||||
+ NOTE: there is no guarantee that the register stack can't grow faster
|
||||
+ than normal stack, so it's very unclear that we won't dump core due to
|
||||
+ stack overrun despite check_stack_overrun's efforts. Experimentation
|
||||
+ shows that in the execution_constants test, the register stack grows
|
||||
+ less than half as fast as normal stack, but perhaps other scenarios are
|
||||
+ less forgiving. If it turns out that more space is needed for the
|
||||
+ register stack, that could be forced (rather inefficiently) by using a
|
||||
+ multiplier higher than 2 here.
|
||||
+ */
|
||||
+ stacksize *= 2;
|
||||
+#endif
|
||||
+
|
||||
+ /*
|
||||
+ On many machines, the "guard space" is subtracted from the requested
|
||||
+ stack size, and that space is quite large on some platforms. So add
|
||||
+ it to our request, if we can find out what it is.
|
||||
+
|
||||
+ FIXME: autoconfiscate use of pthread_attr_getguardsize
|
||||
+ */
|
||||
+ if (pthread_attr_getguardsize(attr, &guard_size))
|
||||
+ guard_size = 0; /* if can't find it out, treat as 0 */
|
||||
+
|
||||
+ pthread_attr_setstacksize(attr, stacksize + guard_size);
|
||||
+
|
||||
+ /* Retrieve actual stack size if possible */
|
||||
+#ifdef HAVE_PTHREAD_ATTR_GETSTACKSIZE
|
||||
+ {
|
||||
+ size_t real_stack_size= 0;
|
||||
+ /* We must ignore real_stack_size = 0 as Solaris 2.9 can return 0 here */
|
||||
+ if (pthread_attr_getstacksize(attr, &real_stack_size) == 0 &&
|
||||
+ real_stack_size > guard_size)
|
||||
+ {
|
||||
+ real_stack_size -= guard_size;
|
||||
+ if (real_stack_size < stacksize)
|
||||
+ {
|
||||
+ if (global_system_variables.log_warnings)
|
||||
+ sql_print_warning("Asked for %ld thread stack, but got %ld",
|
||||
+ (long) stacksize, (long) real_stack_size);
|
||||
+ stacksize= real_stack_size;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
+#if defined(__ia64__) || defined(__ia64)
|
||||
+ stacksize /= 2;
|
||||
+#endif
|
||||
+ return stacksize;
|
||||
+}
|
||||
+
|
||||
+
|
||||
static void start_signal_handler(void)
|
||||
{
|
||||
int error;
|
||||
@@ -2609,15 +2673,7 @@ static void start_signal_handler(void)
|
||||
#if !defined(HAVE_DEC_3_2_THREADS)
|
||||
pthread_attr_setscope(&thr_attr,PTHREAD_SCOPE_SYSTEM);
|
||||
(void) pthread_attr_setdetachstate(&thr_attr,PTHREAD_CREATE_DETACHED);
|
||||
-#if defined(__ia64__) || defined(__ia64)
|
||||
- /*
|
||||
- Peculiar things with ia64 platforms - it seems we only have half the
|
||||
- stack size in reality, so we have to double it here
|
||||
- */
|
||||
- pthread_attr_setstacksize(&thr_attr,my_thread_stack_size*2);
|
||||
-#else
|
||||
- pthread_attr_setstacksize(&thr_attr,my_thread_stack_size);
|
||||
-#endif
|
||||
+ (void) my_setstacksize(&thr_attr,my_thread_stack_size);
|
||||
#endif
|
||||
|
||||
mysql_mutex_lock(&LOCK_thread_count);
|
||||
@@ -4398,36 +4454,8 @@ int mysqld_main(int argc, char **argv)
|
||||
unireg_abort(1); // Will do exit
|
||||
|
||||
init_signals();
|
||||
-#if defined(__ia64__) || defined(__ia64)
|
||||
- /*
|
||||
- Peculiar things with ia64 platforms - it seems we only have half the
|
||||
- stack size in reality, so we have to double it here
|
||||
- */
|
||||
- pthread_attr_setstacksize(&connection_attrib,my_thread_stack_size*2);
|
||||
-#else
|
||||
- pthread_attr_setstacksize(&connection_attrib,my_thread_stack_size);
|
||||
-#endif
|
||||
#ifdef HAVE_PTHREAD_ATTR_GETSTACKSIZE
|
||||
- {
|
||||
- /* Retrieve used stack size; Needed for checking stack overflows */
|
||||
- size_t stack_size= 0;
|
||||
- pthread_attr_getstacksize(&connection_attrib, &stack_size);
|
||||
-#if defined(__ia64__) || defined(__ia64)
|
||||
- stack_size/= 2;
|
||||
-#endif
|
||||
- /* We must check if stack_size = 0 as Solaris 2.9 can return 0 here */
|
||||
- if (stack_size && stack_size < my_thread_stack_size)
|
||||
- {
|
||||
- if (global_system_variables.log_warnings)
|
||||
- sql_print_warning("Asked for %lu thread stack, but got %ld",
|
||||
- my_thread_stack_size, (long) stack_size);
|
||||
-#if defined(__ia64__) || defined(__ia64)
|
||||
- my_thread_stack_size= stack_size*2;
|
||||
-#else
|
||||
- my_thread_stack_size= stack_size;
|
||||
-#endif
|
||||
- }
|
||||
- }
|
||||
+ my_thread_stack_size = my_setstacksize(&connection_attrib,my_thread_stack_size);
|
||||
#endif
|
||||
|
||||
(void) thr_setconcurrency(concurrency); // 10 by default
|
@ -7,28 +7,27 @@ Filed upstream at http://bugs.mysql.com/bug.php?id=64631
|
||||
Error: BUFFER_SIZE_WARNING:
|
||||
/builddir/build/BUILD/mysql-5.1.61/sql/sql_prepare.cc:2749: buffer_size_warning: Calling strncpy with a maximum size argument of 512 bytes on destination array "this->stmt->last_error" of size 512 bytes might leave the destination string unterminated.
|
||||
|
||||
diff -up mysql-5.5.28/sql/sql_prepare.cc.p20 mysql-5.5.28/sql/sql_prepare.cc
|
||||
--- mysql-5.5.28/sql/sql_prepare.cc.p20 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/sql/sql_prepare.cc 2012-12-06 14:27:28.647087401 +0100
|
||||
@@ -2879,7 +2879,7 @@ void mysql_stmt_get_longdata(THD *thd, c
|
||||
diff -up mysql-5.6.10/sql/sql_prepare.cc.orig mysql-5.6.10/sql/sql_prepare.cc
|
||||
--- mysql-5.6.10/sql/sql_prepare.cc.orig 2013-01-22 17:54:50.000000000 +0100
|
||||
+++ mysql-5.6.10/sql/sql_prepare.cc 2013-02-19 15:50:53.257150632 +0100
|
||||
@@ -2956,7 +2956,7 @@ void mysql_stmt_get_longdata(THD *thd, c
|
||||
{
|
||||
stmt->state= Query_arena::STMT_ERROR;
|
||||
stmt->last_errno= thd->stmt_da->sql_errno();
|
||||
- strncpy(stmt->last_error, thd->stmt_da->message(), MYSQL_ERRMSG_SIZE);
|
||||
+ strncpy(stmt->last_error, thd->stmt_da->message(), sizeof(stmt->last_error)-1);
|
||||
stmt->last_errno= thd->get_stmt_da()->sql_errno();
|
||||
- strncpy(stmt->last_error, thd->get_stmt_da()->message(), MYSQL_ERRMSG_SIZE);
|
||||
+ strncpy(stmt->last_error, thd->get_stmt_da()->message(), sizeof(stmt->last_error)-1);
|
||||
}
|
||||
thd->stmt_da= save_stmt_da;
|
||||
thd->warning_info= save_warinig_info;
|
||||
thd->set_stmt_da(save_stmt_da);
|
||||
|
||||
|
||||
Error: STRING_OVERFLOW:
|
||||
/builddir/build/BUILD/mysql-5.1.61/sql/sql_trigger.cc:2194: fixed_size_dest: You might overrun the 512 byte fixed-size string "this->m_parse_error_message" by copying "error_message" without checking the length.
|
||||
/builddir/build/BUILD/mysql-5.1.61/sql/sql_trigger.cc:2194: parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function.
|
||||
|
||||
diff -up mysql-5.5.28/sql/sql_trigger.cc.p20 mysql-5.5.28/sql/sql_trigger.cc
|
||||
--- mysql-5.5.28/sql/sql_trigger.cc.p20 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/sql/sql_trigger.cc 2012-12-06 14:27:28.648087398 +0100
|
||||
@@ -2260,7 +2260,7 @@ void Table_triggers_list::mark_fields_us
|
||||
diff -up mysql-5.6.10/sql/sql_trigger.cc.orig mysql-5.6.10/sql/sql_trigger.cc
|
||||
--- mysql-5.6.10/sql/sql_trigger.cc.orig 2013-01-22 17:54:50.000000000 +0100
|
||||
+++ mysql-5.6.10/sql/sql_trigger.cc 2013-02-19 16:01:10.605885117 +0100
|
||||
@@ -2303,7 +2303,7 @@ void Table_triggers_list::mark_fields_us
|
||||
void Table_triggers_list::set_parse_error_message(char *error_message)
|
||||
{
|
||||
m_has_unparseable_trigger= true;
|
||||
@ -37,21 +36,3 @@ diff -up mysql-5.5.28/sql/sql_trigger.cc.p20 mysql-5.5.28/sql/sql_trigger.cc
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Error: STRING_OVERFLOW:
|
||||
/builddir/build/BUILD/mysql-5.1.61/storage/innodb_plugin/handler/ha_innodb.cc:6544: fixed_size_dest: You might overrun the 512 byte fixed-size string "name2" by copying "name" without checking the length.
|
||||
/builddir/build/BUILD/mysql-5.1.61/storage/innodb_plugin/handler/ha_innodb.cc:6544: parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function.
|
||||
|
||||
diff -up mysql-5.5.28/storage/innobase/handler/ha_innodb.cc.p20 mysql-5.5.28/storage/innobase/handler/ha_innodb.cc
|
||||
--- mysql-5.5.28/storage/innobase/handler/ha_innodb.cc.p20 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/storage/innobase/handler/ha_innodb.cc 2012-12-06 14:27:28.653087416 +0100
|
||||
@@ -7054,7 +7054,7 @@ ha_innobase::create(
|
||||
|
||||
ut_a(strlen(name) < sizeof(name2));
|
||||
|
||||
- strcpy(name2, name);
|
||||
+ strncpy(name2, name, sizeof(name2)-1);
|
||||
|
||||
normalize_table_name(norm_name, name2);
|
||||
|
@ -13,11 +13,11 @@ of any real performance gain from optimizing these calls. So I'm keeping
|
||||
this patch.
|
||||
|
||||
|
||||
diff -up mysql-5.5.28/include/m_string.h.p2 mysql-5.5.28/include/m_string.h
|
||||
--- mysql-5.5.28/include/m_string.h.p2 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/include/m_string.h 2012-12-06 14:12:31.225333542 +0100
|
||||
@@ -77,15 +77,6 @@ extern "C" {
|
||||
extern void *(*my_str_malloc)(size_t);
|
||||
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)
|
@ -10,10 +10,10 @@ RHBZ#962087
|
||||
Upstream bug report: https://mariadb.atlassian.net/browse/MDEV-4165
|
||||
MySQL bug report: http://bugs.mysql.com/bug.php?id=68338
|
||||
|
||||
diff -up mysql-5.5.31/CMakeLists.txt.tmpdir mysql-5.5.31/CMakeLists.txt
|
||||
--- mysql-5.5.31/CMakeLists.txt.tmpdir 2013-06-03 15:14:51.149345233 +0200
|
||||
+++ mysql-5.5.31/CMakeLists.txt 2013-06-03 15:29:23.263489056 +0200
|
||||
@@ -253,6 +253,10 @@ IF(SYSCONFDIR)
|
||||
diff -up mysql-5.6.14/CMakeLists.txt.tmpdir mysql-5.6.14/CMakeLists.txt
|
||||
--- mysql-5.6.14/CMakeLists.txt.tmpdir 2013-09-10 09:38:25.000000000 +0200
|
||||
+++ mysql-5.6.14/CMakeLists.txt 2013-10-09 14:49:14.115887439 +0200
|
||||
@@ -309,6 +309,10 @@ IF(SYSCONFDIR)
|
||||
SET(DEFAULT_SYSCONFDIR "${SYSCONFDIR}")
|
||||
ENDIF()
|
||||
|
||||
@ -24,10 +24,10 @@ diff -up mysql-5.5.31/CMakeLists.txt.tmpdir mysql-5.5.31/CMakeLists.txt
|
||||
|
||||
# Run platform tests
|
||||
INCLUDE(configure.cmake)
|
||||
diff -up mysql-5.5.31/config.h.cmake.tmpdir mysql-5.5.31/config.h.cmake
|
||||
--- mysql-5.5.31/config.h.cmake.tmpdir 2013-03-25 14:14:58.000000000 +0100
|
||||
+++ mysql-5.5.31/config.h.cmake 2013-06-03 15:14:51.149345233 +0200
|
||||
@@ -600,6 +600,7 @@
|
||||
diff -up mysql-5.6.14/config.h.cmake.tmpdir mysql-5.6.14/config.h.cmake
|
||||
--- mysql-5.6.14/config.h.cmake.tmpdir 2013-09-10 09:38:25.000000000 +0200
|
||||
+++ mysql-5.6.14/config.h.cmake 2013-10-09 14:49:14.115887439 +0200
|
||||
@@ -636,6 +636,7 @@
|
||||
#cmakedefine DEFAULT_CHARSET_HOME "@DEFAULT_CHARSET_HOME@"
|
||||
#cmakedefine PLUGINDIR "@PLUGINDIR@"
|
||||
#cmakedefine DEFAULT_SYSCONFDIR "@DEFAULT_SYSCONFDIR@"
|
||||
@ -35,13 +35,13 @@ diff -up mysql-5.5.31/config.h.cmake.tmpdir mysql-5.5.31/config.h.cmake
|
||||
|
||||
#cmakedefine SO_EXT "@CMAKE_SHARED_MODULE_SUFFIX@"
|
||||
|
||||
diff -up mysql-5.5.31/include/my_global.h.tmpdir mysql-5.5.31/include/my_global.h
|
||||
--- mysql-5.5.31/include/my_global.h.tmpdir 2013-03-25 14:14:58.000000000 +0100
|
||||
+++ mysql-5.5.31/include/my_global.h 2013-06-03 15:14:51.150345232 +0200
|
||||
@@ -1501,4 +1501,11 @@ static inline double rint(double x)
|
||||
|
||||
#endif /* EMBEDDED_LIBRARY */
|
||||
diff -up mysql-5.6.14/include/my_global.h.tmpdir mysql-5.6.14/include/my_global.h
|
||||
--- mysql-5.6.14/include/my_global.h.tmpdir 2013-09-10 09:38:25.000000000 +0200
|
||||
+++ mysql-5.6.14/include/my_global.h 2013-10-09 14:49:14.116887439 +0200
|
||||
@@ -1219,3 +1219,10 @@ typedef struct
|
||||
#endif
|
||||
|
||||
#endif // MY_GLOBAL_INCLUDED
|
||||
+/*
|
||||
+ Define default tmpdir if not already set.
|
||||
+*/
|
||||
@ -49,11 +49,10 @@ diff -up mysql-5.5.31/include/my_global.h.tmpdir mysql-5.5.31/include/my_global.
|
||||
+#define DEFAULT_TMPDIR P_tmpdir
|
||||
+#endif
|
||||
+
|
||||
#endif /* my_global_h */
|
||||
diff -up mysql-5.5.31/libmysqld/lib_sql.cc.tmpdir mysql-5.5.31/libmysqld/lib_sql.cc
|
||||
--- mysql-5.5.31/libmysqld/lib_sql.cc.tmpdir 2013-03-25 14:14:58.000000000 +0100
|
||||
+++ mysql-5.5.31/libmysqld/lib_sql.cc 2013-06-03 15:14:51.150345232 +0200
|
||||
@@ -558,7 +558,7 @@ int init_embedded_server(int argc, char
|
||||
diff -up mysql-5.6.14/libmysqld/lib_sql.cc.tmpdir mysql-5.6.14/libmysqld/lib_sql.cc
|
||||
--- mysql-5.6.14/libmysqld/lib_sql.cc.tmpdir 2013-09-10 09:38:26.000000000 +0200
|
||||
+++ mysql-5.6.14/libmysqld/lib_sql.cc 2013-10-09 14:49:14.116887439 +0200
|
||||
@@ -587,7 +587,7 @@ int init_embedded_server(int argc, char
|
||||
opt_mysql_tmpdir=getenv("TMP");
|
||||
#endif
|
||||
if (!opt_mysql_tmpdir || !opt_mysql_tmpdir[0])
|
||||
@ -62,9 +61,9 @@ diff -up mysql-5.5.31/libmysqld/lib_sql.cc.tmpdir mysql-5.5.31/libmysqld/lib_sql
|
||||
|
||||
init_ssl();
|
||||
umask(((~my_umask) & 0666));
|
||||
diff -up mysql-5.5.31/mysys/mf_tempdir.c.tmpdir mysql-5.5.31/mysys/mf_tempdir.c
|
||||
--- mysql-5.5.31/mysys/mf_tempdir.c.tmpdir 2013-03-25 14:14:58.000000000 +0100
|
||||
+++ mysql-5.5.31/mysys/mf_tempdir.c 2013-06-03 15:14:51.150345232 +0200
|
||||
diff -up mysql-5.6.14/mysys/mf_tempdir.c.tmpdir mysql-5.6.14/mysys/mf_tempdir.c
|
||||
--- mysql-5.6.14/mysys/mf_tempdir.c.tmpdir 2013-09-10 09:38:25.000000000 +0200
|
||||
+++ mysql-5.6.14/mysys/mf_tempdir.c 2013-10-09 14:49:14.116887439 +0200
|
||||
@@ -43,7 +43,7 @@ my_bool init_tmpdir(MY_TMPDIR *tmpdir, c
|
||||
pathlist=getenv("TMP");
|
||||
#endif
|
||||
@ -74,9 +73,9 @@ diff -up mysql-5.5.31/mysys/mf_tempdir.c.tmpdir mysql-5.5.31/mysys/mf_tempdir.c
|
||||
}
|
||||
do
|
||||
{
|
||||
diff -up mysql-5.5.31/mysys/mf_tempfile.c.tmpdir mysql-5.5.31/mysys/mf_tempfile.c
|
||||
--- mysql-5.5.31/mysys/mf_tempfile.c.tmpdir 2013-03-25 14:14:58.000000000 +0100
|
||||
+++ mysql-5.5.31/mysys/mf_tempfile.c 2013-06-03 15:14:51.150345232 +0200
|
||||
diff -up mysql-5.6.14/mysys/mf_tempfile.c.tmpdir mysql-5.6.14/mysys/mf_tempfile.c
|
||||
--- mysql-5.6.14/mysys/mf_tempfile.c.tmpdir 2013-09-10 09:38:25.000000000 +0200
|
||||
+++ mysql-5.6.14/mysys/mf_tempfile.c 2013-10-09 14:49:14.117887440 +0200
|
||||
@@ -111,7 +111,7 @@ File create_temp_file(char *to, const ch
|
||||
sizeof(prefix_buff)-7),"XXXXXX") -
|
||||
prefix_buff);
|
@ -1,55 +0,0 @@
|
||||
Fix unportable usage associated with va_list arguments. Passing "0" to
|
||||
a va_list argument only works if va_list is an integer or pointer type,
|
||||
which is not required by the C spec, and is not true on ARM for instance.
|
||||
Per bug #744707.
|
||||
|
||||
|
||||
diff -up mysql-5.5.28/sql-common/client_plugin.c.p12 mysql-5.5.28/sql-common/client_plugin.c
|
||||
--- mysql-5.5.28/sql-common/client_plugin.c.p12 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/sql-common/client_plugin.c 2012-12-06 14:22:54.494857607 +0100
|
||||
@@ -233,11 +233,13 @@ int mysql_client_plugin_init()
|
||||
{
|
||||
MYSQL mysql;
|
||||
struct st_mysql_client_plugin **builtin;
|
||||
+ va_list unused;
|
||||
|
||||
if (initialized)
|
||||
return 0;
|
||||
|
||||
bzero(&mysql, sizeof(mysql)); /* dummy mysql for set_mysql_extended_error */
|
||||
+ bzero(&unused, sizeof(unused)); /* suppress uninitialized-value warnings */
|
||||
|
||||
pthread_mutex_init(&LOCK_load_client_plugin, MY_MUTEX_INIT_SLOW);
|
||||
init_alloc_root(&mem_root, 128, 128);
|
||||
@@ -249,7 +251,7 @@ int mysql_client_plugin_init()
|
||||
pthread_mutex_lock(&LOCK_load_client_plugin);
|
||||
|
||||
for (builtin= mysql_client_builtins; *builtin; builtin++)
|
||||
- add_plugin(&mysql, *builtin, 0, 0, 0);
|
||||
+ add_plugin(&mysql, *builtin, 0, 0, unused);
|
||||
|
||||
pthread_mutex_unlock(&LOCK_load_client_plugin);
|
||||
|
||||
@@ -293,9 +295,13 @@ struct st_mysql_client_plugin *
|
||||
mysql_client_register_plugin(MYSQL *mysql,
|
||||
struct st_mysql_client_plugin *plugin)
|
||||
{
|
||||
+ va_list unused;
|
||||
+
|
||||
if (is_not_initialized(mysql, plugin->name))
|
||||
return NULL;
|
||||
|
||||
+ bzero(&unused, sizeof(unused)); /* suppress uninitialized-value warnings */
|
||||
+
|
||||
pthread_mutex_lock(&LOCK_load_client_plugin);
|
||||
|
||||
/* make sure the plugin wasn't loaded meanwhile */
|
||||
@@ -307,7 +313,7 @@ mysql_client_register_plugin(MYSQL *mysq
|
||||
plugin= NULL;
|
||||
}
|
||||
else
|
||||
- plugin= add_plugin(mysql, plugin, 0, 0, 0);
|
||||
+ plugin= add_plugin(mysql, plugin, 0, 0, unused);
|
||||
|
||||
pthread_mutex_unlock(&LOCK_load_client_plugin);
|
||||
return plugin;
|
@ -1,18 +0,0 @@
|
||||
The symbol versioning solution for libmysqlclient in mysql 5.1 was pretty
|
||||
awful (export everything) and as of 5.5.8 the cmake build scripts have
|
||||
forgotten the issue entirely. So we now maintain our own list of exported
|
||||
symbols and jam it into the build with this hack.
|
||||
|
||||
|
||||
diff -up mysql-5.5.28/libmysql/CMakeLists.txt.p7 mysql-5.5.28/libmysql/CMakeLists.txt
|
||||
--- mysql-5.5.28/libmysql/CMakeLists.txt.p7 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/libmysql/CMakeLists.txt 2012-12-06 14:15:03.905461517 +0100
|
||||
@@ -209,7 +209,7 @@ IF(NOT DISABLE_SHARED)
|
||||
SET(libmysql_link_flags)
|
||||
ENDIF()
|
||||
SET_TARGET_PROPERTIES(libmysql PROPERTIES LINK_FLAGS
|
||||
- "${libmysql_link_flags} ${LINK_FLAG_NO_UNDEFINED}")
|
||||
+ "${libmysql_link_flags} -Wl,--version-script=libmysql.version ${LINK_FLAG_NO_UNDEFINED}")
|
||||
ENDIF()
|
||||
# clean direct output needs to be set several targets have the same name
|
||||
#(mysqlclient in this case)
|
@ -1,98 +1,112 @@
|
||||
Name: community-mysql
|
||||
Version: 5.5.33
|
||||
Release: 2%{?dist}
|
||||
# Regression tests may take a long time (many cores recommended), skip them by
|
||||
# passing --nocheck to rpmbuild or by setting runselftest to 0 if defining
|
||||
# --nocheck is not possible (e.g. in koji build)
|
||||
%{!?runselftest:%global runselftest 0}
|
||||
|
||||
# set to 1 to enable
|
||||
%global with_shared_lib_major_hack 1
|
||||
|
||||
%global _hardened_build 1
|
||||
|
||||
# By default, patch(1) creates backup files when chunks apply with offsets.
|
||||
# Turn that off to ensure such files don't get included in RPMs (cf bz#884755).
|
||||
%global _default_patch_flags --no-backup-if-mismatch
|
||||
|
||||
Name: community-mysql
|
||||
Version: 5.6.14
|
||||
Release: 1%{?dist}
|
||||
Summary: MySQL client programs and shared libraries
|
||||
Group: Applications/Databases
|
||||
URL: http://www.mysql.com
|
||||
# exceptions allow client libraries to be linked with most open source SW,
|
||||
|
||||
# Exceptions allow client libraries to be linked with most open source SW,
|
||||
# not only GPL code. See README.mysql-license
|
||||
# Some innobase code from Percona and Google is under BSD license
|
||||
# Some code related to test-suite is under LGPLv2
|
||||
License: GPLv2 with exceptions and LGPLv2 and BSD
|
||||
|
||||
# Regression tests take a long time, you can skip 'em with this
|
||||
%{!?runselftest:%global runselftest 1}
|
||||
|
||||
# Upstream has a mirror redirector for downloads, so the URL is hard to
|
||||
# represent statically. You can get the tarball by following a link from
|
||||
# http://dev.mysql.com/downloads/mysql/
|
||||
# mysql.info from upstream tarball must be removed, create tarball by:
|
||||
# wget https://cdn.mysql.com/Downloads/MySQL-5.6/mysql-%{version}.tar.gz
|
||||
# tar xvf mysql-%{version}.tar.gz
|
||||
# rm mysql-%{version}/Docs/mysql.info
|
||||
# tar cJvf mysql-%{version}-nodocs.tar.xz mysql-%{version}
|
||||
Source0: mysql-%{version}-nodocs.tar.xz
|
||||
# The upstream tarball includes non-free documentation that we cannot ship.
|
||||
# To remove the non-free documentation, run this script after downloading
|
||||
# the tarball into the current directory:
|
||||
# ./generate-tarball.sh $VERSION
|
||||
Source2: generate-tarball.sh
|
||||
Source3: my.cnf
|
||||
Source4: mysql_config.sh
|
||||
Source5: my_config.h
|
||||
Source6: README.mysql-docs
|
||||
Source7: README.mysql-license
|
||||
Source8: libmysql.version
|
||||
Source9: mysql-embedded-check.c
|
||||
Source10: MySQL.tmpfiles.d
|
||||
Source10: mysql.tmpfiles.d
|
||||
Source11: mysqld.service
|
||||
Source12: mysqld-prepare-db-dir
|
||||
Source13: mysqld-wait-ready
|
||||
Source14: rh-skipped-tests-base.list
|
||||
Source15: rh-skipped-tests-arm.list
|
||||
# Working around perl dependency checking bug in rpm FTTB. Remove later.
|
||||
Source999: filter-requires-mysql.sh
|
||||
# To track rpmlint warnings
|
||||
Source17: mysql-5.6.10-rpmlintrc
|
||||
|
||||
# Comments for these patches are in the patch files.
|
||||
Patch1: community-mysql-errno.patch
|
||||
# Comments for these patches are in the patch files
|
||||
Patch2: community-mysql-strmov.patch
|
||||
Patch3: community-mysql-install-test.patch
|
||||
Patch4: community-mysql-expired-certs.patch
|
||||
Patch5: community-mysql-stack-guard.patch
|
||||
Patch6: community-mysql-chain-certs.patch
|
||||
Patch7: community-mysql-versioning.patch
|
||||
Patch8: community-mysql-dubious-exports.patch
|
||||
Patch10: community-mysql-plugin-bool.patch
|
||||
Patch11: community-mysql-s390-tsc.patch
|
||||
Patch14: community-mysql-va-list.patch
|
||||
Patch15: community-mysql-netdevname.patch
|
||||
Patch16: community-mysql-logrotate.patch
|
||||
Patch17: community-mysql-plugin-test.patch
|
||||
Patch18: community-mysql-cipherspec.patch
|
||||
Patch18: community-mysql-5.6.11-cipherspec.patch
|
||||
Patch19: community-mysql-file-contents.patch
|
||||
Patch20: community-mysql-string-overflow.patch
|
||||
Patch21: community-mysql-dh1024.patch
|
||||
Patch22: community-mysql-major.patch
|
||||
Patch23: community-mysql-sharedir.patch
|
||||
Patch22: community-mysql-sharedir.patch
|
||||
Patch23: community-mysql-5.6.10-libmysql-version.patch
|
||||
Patch24: community-mysql-man-pages.patch
|
||||
Patch25: community-mysql-tmpdir.patch
|
||||
Patch26: community-mysql-cve-2013-1861.patch
|
||||
Patch27: community-mysql-innodbwarn.patch
|
||||
Patch28: community-mysql-covscan-signexpr.patch
|
||||
Patch29: community-mysql-covscan-stroverflow.patch
|
||||
Patch30: community-mysql-pluginerrmsg.patch
|
||||
Patch25: community-mysql-5.6.14-mysql-install.patch
|
||||
Patch26: community-mysql-5.6.13-major.patch
|
||||
Patch27: community-mysql-5.6.13-mtr-secure-file.patch
|
||||
Patch28: community-mysql-5.6.13-truncate-file.patch
|
||||
Patch29: community-mysql-tmpdir.patch
|
||||
Patch30: community-mysql-cve-2013-1861.patch
|
||||
Patch31: community-mysql-innodbwarn.patch
|
||||
Patch32: community-mysql-covscan-signexpr.patch
|
||||
Patch33: community-mysql-covscan-stroverflow.patch
|
||||
Patch34: community-mysql-pluginerrmsg.patch
|
||||
|
||||
BuildRequires: perl, readline-devel, openssl-devel
|
||||
BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel
|
||||
BuildRequires: systemd, systemtap-sdt-devel
|
||||
# make test requires time and ps
|
||||
BuildRequires: time procps
|
||||
# perl modules needed to run regression tests
|
||||
BuildRequires: perl(Socket), perl(Time::HiRes)
|
||||
BuildRequires: perl(Data::Dumper), perl(Test::More), perl(Env)
|
||||
BuildRequires: cmake
|
||||
BuildRequires: dos2unix
|
||||
BuildRequires: libaio-devel
|
||||
BuildRequires: libedit-devel
|
||||
BuildRequires: libevent-devel
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: perl
|
||||
BuildRequires: systemtap-sdt-devel
|
||||
BuildRequires: zlib-devel
|
||||
# Tests requires time and ps and some perl modules
|
||||
BuildRequires: procps
|
||||
BuildRequires: time
|
||||
BuildRequires: perl(Env)
|
||||
BuildRequires: perl(Exporter)
|
||||
BuildRequires: perl(Fcntl)
|
||||
BuildRequires: perl(File::Temp)
|
||||
BuildRequires: perl(Getopt::Long)
|
||||
BuildRequires: perl(IPC::Open3)
|
||||
BuildRequires: perl(Socket)
|
||||
BuildRequires: perl(Sys::Hostname)
|
||||
BuildRequires: perl(Time::HiRes)
|
||||
BuildRequires: systemd
|
||||
|
||||
Requires: grep, fileutils, bash
|
||||
Requires: bash
|
||||
Requires: grep
|
||||
Requires: fileutils
|
||||
Requires: %{name}-common%{?_isa} = %{version}-%{release}
|
||||
%{?systemd_requires: %systemd_requires}
|
||||
|
||||
# mariadb is MySQL replacement that is used in Fedora as a default
|
||||
# MySQL implementation
|
||||
Conflicts: mariadb
|
||||
Provides: mysql = %{version}-%{release}
|
||||
Provides: mysql%{?_isa} = %{version}-%{release}
|
||||
Conflicts: mariadb
|
||||
# mysql-cluster used to be built from this SRPM, but no more
|
||||
Obsoletes: mysql-cluster < 5.1.44
|
||||
|
||||
# When rpm 4.9 is universal, this could be cleaned up:
|
||||
%global __perl_requires %{SOURCE999}
|
||||
%global __perllib_requires %{SOURCE999}
|
||||
|
||||
# By default, patch(1) creates backup files when chunks apply with offsets.
|
||||
# Turn that off to ensure such files don't get included in RPMs (cf bz#884755).
|
||||
%global _default_patch_flags --no-backup-if-mismatch
|
||||
# Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering
|
||||
%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::)
|
||||
%global __provides_exclude_from ^(/usr/share/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$
|
||||
|
||||
%description
|
||||
MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
|
||||
@ -100,10 +114,11 @@ client/server implementation consisting of a server daemon (mysqld)
|
||||
and many different client programs and libraries. The base package
|
||||
contains the standard MySQL client programs and generic MySQL files.
|
||||
|
||||
%package libs
|
||||
|
||||
%package libs
|
||||
Summary: The shared libraries required for MySQL clients
|
||||
Group: Applications/Databases
|
||||
Requires: /sbin/ldconfig
|
||||
Requires: %{name}-common%{?_isa} = %{version}-%{release}
|
||||
Provides: mysql-libs = %{version}-%{release}
|
||||
Provides: mysql-libs%{?_isa} = %{version}-%{release}
|
||||
@ -114,8 +129,8 @@ MySQL client program or interface. You will need to install this package
|
||||
to use any other MySQL package or any clients that need to connect to a
|
||||
MySQL server.
|
||||
|
||||
%package common
|
||||
|
||||
%package common
|
||||
Summary: The shared files required for MySQL server and client
|
||||
Group: Applications/Databases
|
||||
|
||||
@ -124,10 +139,12 @@ The mysql-common package provides the essential shared files for any
|
||||
MySQL program. You will need to install this package to use any other
|
||||
MySQL package.
|
||||
|
||||
%package server
|
||||
|
||||
%package server
|
||||
Summary: The MySQL server and related files
|
||||
Group: Applications/Databases
|
||||
|
||||
# note: no version here = %{version}-%{release}
|
||||
Requires: mysql%{?_isa}
|
||||
Requires: %{name}-common%{?_isa} = %{version}-%{release}
|
||||
Requires: sh-utils
|
||||
@ -143,10 +160,11 @@ Requires(postun): systemd
|
||||
# should fire just after this package is installed.
|
||||
Requires(post): systemd-sysv
|
||||
# mysqlhotcopy needs DBI/DBD support
|
||||
Requires: perl-DBI, perl-DBD-MySQL
|
||||
Conflicts: mariadb-server
|
||||
Requires: perl(DBI)
|
||||
Requires: perl(DBD::mysql)
|
||||
Provides: mysql-server = %{version}-%{release}
|
||||
Provides: mysql-server%{?_isa} = %{version}-%{release}
|
||||
Conflicts: mariadb-server
|
||||
|
||||
%description server
|
||||
MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
|
||||
@ -154,8 +172,8 @@ client/server implementation consisting of a server daemon (mysqld)
|
||||
and many different client programs and libraries. This package contains
|
||||
the MySQL server and some accompanying files and directories.
|
||||
|
||||
%package devel
|
||||
|
||||
%package devel
|
||||
Summary: Files for development of MySQL applications
|
||||
Group: Applications/Databases
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
@ -168,8 +186,8 @@ MySQL is a multi-user, multi-threaded SQL database server. This
|
||||
package contains the libraries and header files that are needed for
|
||||
developing MySQL client applications.
|
||||
|
||||
%package embedded
|
||||
|
||||
%package embedded
|
||||
Summary: MySQL as an embeddable library
|
||||
Group: Applications/Databases
|
||||
Provides: mysql-embedded = %{version}-%{release}
|
||||
@ -180,8 +198,8 @@ MySQL is a multi-user, multi-threaded SQL database server. This
|
||||
package contains a version of the MySQL server that can be embedded
|
||||
into a client application instead of running as a separate process.
|
||||
|
||||
%package embedded-devel
|
||||
|
||||
%package embedded-devel
|
||||
Summary: Development files for MySQL as an embeddable library
|
||||
Group: Applications/Databases
|
||||
Requires: %{name}-embedded%{?_isa} = %{version}-%{release}
|
||||
@ -193,8 +211,8 @@ MySQL is a multi-user, multi-threaded SQL database server. This
|
||||
package contains files needed for developing and testing with
|
||||
the embedded version of the MySQL server.
|
||||
|
||||
%package bench
|
||||
|
||||
%package bench
|
||||
Summary: MySQL benchmark scripts and data
|
||||
Group: Applications/Databases
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
@ -207,41 +225,32 @@ MySQL is a multi-user, multi-threaded SQL database server. This
|
||||
package contains benchmark scripts and data for use when benchmarking
|
||||
MySQL.
|
||||
|
||||
%package test
|
||||
|
||||
%package test
|
||||
Summary: The test suite distributed with MySQL
|
||||
Group: Applications/Databases
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-common%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-server%{?_isa} = %{version}-%{release}
|
||||
Conflicts: mariadb-test
|
||||
Provides: mysql-test = %{version}-%{release}
|
||||
Provides: mysql-test%{?_isa} = %{version}-%{release}
|
||||
Requires: perl(Socket), perl(Time::HiRes)
|
||||
Requires: perl(Data::Dumper), perl(Test::More), perl(Env)
|
||||
|
||||
%description test
|
||||
MySQL is a multi-user, multi-threaded SQL database server. This
|
||||
package contains the regression test suite distributed with
|
||||
the MySQL sources.
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q -n mysql-%{version}
|
||||
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch14 -p1
|
||||
%patch15 -p1
|
||||
%patch16 -p1
|
||||
%patch17 -p1
|
||||
%patch18 -p1
|
||||
%patch19 -p1
|
||||
%patch20 -p1
|
||||
@ -250,33 +259,35 @@ the MySQL sources.
|
||||
%patch23 -p1
|
||||
%patch24 -p1
|
||||
%patch25 -p1
|
||||
%if %{with_shared_lib_major_hack}
|
||||
%patch26 -p1
|
||||
%patch27 -p1
|
||||
%patch28 -p1
|
||||
%endif
|
||||
%patch27 -p0
|
||||
%patch28 -p0
|
||||
%patch29 -p1
|
||||
%patch30 -p1
|
||||
%patch31 -p1
|
||||
%patch32 -p1
|
||||
%patch33 -p1
|
||||
%patch34 -p1
|
||||
|
||||
# workaround for upstream bug #56342
|
||||
# Workaround for upstream bug #http://bugs.mysql.com/56342
|
||||
rm -f mysql-test/t/ssl_8k_key-master.opt
|
||||
|
||||
# upstream has fallen down badly on symbol versioning, do it ourselves
|
||||
cp %{SOURCE8} libmysql/libmysql.version
|
||||
|
||||
# generate a list of tests that fail, but are not disabled by upstream
|
||||
# Generate a list of tests that fail, but are not disabled by upstream
|
||||
cat %{SOURCE14} > mysql-test/rh-skipped-tests.list
|
||||
# disable some tests failing on ARM architectures
|
||||
# Disable some tests failing on ARM architectures
|
||||
%ifarch %{arm}
|
||||
cat %{SOURCE15} >> mysql-test/rh-skipped-tests.list
|
||||
%endif
|
||||
|
||||
%build
|
||||
|
||||
# fail quickly and obviously if user tries to build as root
|
||||
%if %runselftest
|
||||
if [ x"`id -u`" = x0 ]; then
|
||||
if [ x"$(id -u)" = "x0" ]; then
|
||||
echo "mysql's regression tests fail if run as root."
|
||||
echo "If you really need to build the RPM as root, use"
|
||||
echo "--define='runselftest 0' to skip the regression tests."
|
||||
echo "--nocheck to skip the regression tests."
|
||||
exit 1
|
||||
fi
|
||||
%endif
|
||||
@ -290,21 +301,29 @@ CFLAGS="$CFLAGS -fPIC"
|
||||
# gcc seems to have some bugs on sparc as of 4.4.1, back off optimization
|
||||
# submitted as bz #529298
|
||||
%ifarch sparc sparcv9 sparc64
|
||||
CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" `
|
||||
CFLAGS=$(echo $CFLAGS| sed -e "s|-O2|-O1|g" )
|
||||
%endif
|
||||
CXXFLAGS="$CFLAGS"
|
||||
export CFLAGS CXXFLAGS
|
||||
# building with PIE
|
||||
%if %{_hardened_build}
|
||||
LDFLAGS="$LDFLAGS -pie"
|
||||
export LDFLAGS
|
||||
%endif
|
||||
|
||||
# build out of source
|
||||
mkdir build
|
||||
pushd build
|
||||
|
||||
# The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX
|
||||
# so we can't use %%{_datadir} and so forth here.
|
||||
|
||||
cmake . -DBUILD_CONFIG=mysql_release \
|
||||
cmake .. -DBUILD_CONFIG=mysql_release \
|
||||
-DFEATURE_SET="community" \
|
||||
-DINSTALL_LAYOUT=RPM \
|
||||
-DCMAKE_INSTALL_PREFIX="%{_prefix}" \
|
||||
%if 0%{?fedora} >= 20
|
||||
-DINSTALL_DOCDIR="share/doc/%{name}" \
|
||||
-DINSTALL_DOCREADMEDIR="share/doc/%{name}" \
|
||||
%endif
|
||||
-DINSTALL_INCLUDEDIR=include/mysql \
|
||||
-DINSTALL_INFODIR=share/info \
|
||||
-DINSTALL_LIBDIR="%{_lib}/mysql" \
|
||||
@ -315,145 +334,102 @@ cmake . -DBUILD_CONFIG=mysql_release \
|
||||
-DINSTALL_SBINDIR=libexec \
|
||||
-DINSTALL_SCRIPTDIR=bin \
|
||||
-DINSTALL_SQLBENCHDIR=share \
|
||||
-DINSTALL_SUPPORTFILESDIR=share/mysql \
|
||||
-DINSTALL_SUPPORTFILESDIR=share/%{name} \
|
||||
-DMYSQL_DATADIR="/var/lib/mysql" \
|
||||
-DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \
|
||||
-DENABLED_LOCAL_INFILE=ON \
|
||||
-DENABLE_DTRACE=ON \
|
||||
-DWITH_EMBEDDED_SERVER=ON \
|
||||
-DWITH_READLINE=ON \
|
||||
-DWITH_EDITLINE=system \
|
||||
-DWITH_LIBEVENT=system \
|
||||
-DWITH_SSL=system \
|
||||
-DWITH_ZLIB=system \
|
||||
-DTMPDIR=/var/tmp \
|
||||
%if %{_hardened_build}
|
||||
-DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now"
|
||||
%endif
|
||||
|
||||
make %{?_smp_mflags} VERBOSE=1
|
||||
|
||||
# regular build will make libmysqld.a but not libmysqld.so :-(
|
||||
# Regular build will make libmysqld.a but not libmysqld.so :-(
|
||||
# Upstream bug: http://bugs.mysql.com/68559
|
||||
mkdir libmysqld/work
|
||||
cd libmysqld/work
|
||||
pushd libmysqld/work
|
||||
ar -x ../libmysqld.a
|
||||
# these result in missing dependencies: (filed upstream as bug 59104)
|
||||
rm -f sql_binlog.cc.o rpl_utility.cc.o
|
||||
gcc $CFLAGS $LDFLAGS -shared -Wl,-soname,libmysqld.so.0 -o libmysqld.so.0.0.1 \
|
||||
*.o ../../probes_mysql.o \
|
||||
%{__cc} $CFLAGS $LDFLAGS -DEMBEDDED_LIBRARY -shared -Wl,-soname,libmysqld.so.18 -o libmysqld.so.18.1.0 \
|
||||
*.o \
|
||||
-lpthread -laio -lcrypt -lssl -lcrypto -lz -lrt -lstdc++ -ldl -lm -lc
|
||||
# this is to check that we built a complete library
|
||||
cp %{SOURCE9} .
|
||||
ln -s libmysqld.so.0.0.1 libmysqld.so.0
|
||||
gcc -I../../include $CFLAGS mysql-embedded-check.c libmysqld.so.0
|
||||
# This is to check that we built a complete library
|
||||
cp -p %{SOURCE9} .
|
||||
ln -s libmysqld.so.18.1.0 libmysqld.so.18
|
||||
%{__cc} -I../../../include -I../../include $CFLAGS mysql-embedded-check.c libmysqld.so.18
|
||||
LD_LIBRARY_PATH=. ldd ./a.out
|
||||
cd ../..
|
||||
|
||||
# debuginfo extraction scripts fail to find source files in their real
|
||||
# location -- satisfy them by copying these files into location, which
|
||||
# is expected by scripts
|
||||
for f in pars0grm.c pars0grm.y pars0lex.l lexyy.c ; do
|
||||
cp -p "storage/innobase/pars/$f" "storage/innobase/$f"
|
||||
done
|
||||
|
||||
%check
|
||||
%if %runselftest
|
||||
# hack to let 32- and 64-bit tests run concurrently on same build machine
|
||||
case `uname -m` in
|
||||
ppc64 | ppc64p7 | s390x | x86_64 | sparc64 )
|
||||
MTR_BUILD_THREAD=7
|
||||
;;
|
||||
*)
|
||||
MTR_BUILD_THREAD=11
|
||||
;;
|
||||
esac
|
||||
export MTR_BUILD_THREAD
|
||||
|
||||
make test VERBOSE=1
|
||||
|
||||
# The cmake build scripts don't provide any simple way to control the
|
||||
# options for mysql-test-run, so ignore the make target and just call it
|
||||
# manually. Nonstandard options chosen are:
|
||||
# --force to continue tests after a failure
|
||||
# no retries please
|
||||
# test SSL with --ssl
|
||||
# skip tests that are listed in rh-skipped-tests.list
|
||||
# avoid redundant test runs with --binlog-format=mixed
|
||||
# increase timeouts to prevent unwanted failures during mass rebuilds
|
||||
(
|
||||
cd mysql-test
|
||||
perl ./mysql-test-run.pl --force --retry=0 --ssl \
|
||||
--skip-test-list=rh-skipped-tests.list \
|
||||
--mysqld=--binlog-format=mixed \
|
||||
--suite-timeout=720 --testcase-timeout=30
|
||||
# cmake build scripts will install the var cruft if left alone :-(
|
||||
rm -rf var
|
||||
)
|
||||
%endif
|
||||
|
||||
%install
|
||||
make DESTDIR=$RPM_BUILD_ROOT install
|
||||
pushd build
|
||||
make DESTDIR=%{buildroot} install
|
||||
|
||||
# List the installed tree for RPM package maintenance purposes.
|
||||
find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | sort > ROOTFILES
|
||||
find %{buildroot} -print | sed "s|^%{buildroot}||" | sort > ROOTFILES
|
||||
|
||||
# multilib header hacks
|
||||
# we only apply this to known Red Hat multilib arches, per bug #181335
|
||||
case `uname -i` in
|
||||
i386 | x86_64 | ppc | ppc64 | ppc64p7 | s390 | s390x | sparc | sparc64 | aarch64 )
|
||||
mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_`uname -i`.h
|
||||
install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/
|
||||
;;
|
||||
arm* )
|
||||
mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_arm.h
|
||||
install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# cmake generates some completely wacko references to -lprobes_mysql when
|
||||
# building with dtrace support. Haven't found where to shut that off,
|
||||
# so resort to this blunt instrument. While at it, let's not reference
|
||||
# libmysqlclient_r anymore either.
|
||||
sed -e 's/-lprobes_mysql//' -e 's/-lmysqlclient_r/-lmysqlclient/' \
|
||||
${RPM_BUILD_ROOT}%{_bindir}/mysql_config >mysql_config.tmp
|
||||
cp -f mysql_config.tmp ${RPM_BUILD_ROOT}%{_bindir}/mysql_config
|
||||
chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/mysql_config
|
||||
%{buildroot}%{_bindir}/mysql_config >mysql_config.tmp
|
||||
cp -p -f mysql_config.tmp %{buildroot}%{_bindir}/mysql_config
|
||||
chmod 0755 %{buildroot}%{_bindir}/mysql_config
|
||||
|
||||
# Multilib header hacks
|
||||
# We only apply this to known Red Hat multilib arches, per bug #181335
|
||||
case $(uname -i) in
|
||||
i386 | x86_64 | ppc | ppc64 | ppc64p7 | s390 | s390x | sparc | sparc64 | aarch64 )
|
||||
mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_$(uname -i).h
|
||||
install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/
|
||||
mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits}
|
||||
install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config
|
||||
;;
|
||||
arm* )
|
||||
mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_arm.h
|
||||
install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/
|
||||
mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits}
|
||||
install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files,
|
||||
# but that's pretty wacko --- see also mysql-file-contents.patch)
|
||||
install -m 644 Docs/INFO_SRC ${RPM_BUILD_ROOT}%{_libdir}/mysql/
|
||||
install -m 644 Docs/INFO_BIN ${RPM_BUILD_ROOT}%{_libdir}/mysql/
|
||||
install -p -m 0644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/
|
||||
install -p -m 0644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/
|
||||
|
||||
mkdir -p $RPM_BUILD_ROOT/var/log
|
||||
touch $RPM_BUILD_ROOT/var/log/mysqld.log
|
||||
|
||||
mkdir -p $RPM_BUILD_ROOT/var/run/mysqld
|
||||
install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql
|
||||
mkdir -p %{buildroot}/var/log
|
||||
touch %{buildroot}/var/log/mysqld.log
|
||||
|
||||
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}
|
||||
install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/my.cnf
|
||||
mkdir -p %{buildroot}/var/run/mysqld
|
||||
install -p -m 0755 -d %{buildroot}/var/lib/mysql
|
||||
|
||||
mkdir -p %{buildroot}/etc
|
||||
install -p -m 0644 %{SOURCE3} %{buildroot}/etc/my.cnf
|
||||
|
||||
# install systemd unit files and scripts for handling server startup
|
||||
mkdir -p ${RPM_BUILD_ROOT}%{_unitdir}
|
||||
install -m 644 %{SOURCE11} ${RPM_BUILD_ROOT}%{_unitdir}/
|
||||
install -m 755 %{SOURCE12} ${RPM_BUILD_ROOT}%{_libexecdir}/
|
||||
install -m 755 %{SOURCE13} ${RPM_BUILD_ROOT}%{_libexecdir}/
|
||||
mkdir -p %{buildroot}%{_unitdir}
|
||||
install -p -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/
|
||||
install -p -m 755 %{SOURCE12} %{buildroot}%{_libexecdir}/
|
||||
install -p -m 755 %{SOURCE13} %{buildroot}%{_libexecdir}/
|
||||
|
||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d
|
||||
install -m 0644 %{SOURCE10} $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/%{name}.conf
|
||||
|
||||
# Fix funny permissions that cmake build scripts apply to config files
|
||||
chmod 644 ${RPM_BUILD_ROOT}%{_datadir}/mysql/config.*.ini
|
||||
|
||||
# Fix scripts for multilib safety
|
||||
mv ${RPM_BUILD_ROOT}%{_bindir}/mysql_config ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysql_config
|
||||
ln -sf %{_libdir}/mysql/mysql_config ${RPM_BUILD_ROOT}%{_bindir}/mysql_config
|
||||
mv ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysqlbug
|
||||
ln -sf %{_libdir}/mysql/mysqlbug ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug
|
||||
mkdir -p %{buildroot}%{_prefix}/lib/tmpfiles.d
|
||||
install -p -m 0644 %{SOURCE10} %{buildroot}%{_prefix}/lib/tmpfiles.d/%{name}.conf
|
||||
|
||||
# Remove libmysqld.a, install libmysqld.so
|
||||
rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.a
|
||||
install -m 0755 libmysqld/work/libmysqld.so.0.0.1 ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.so.0.0.1
|
||||
ln -s libmysqld.so.0.0.1 ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.so.0
|
||||
ln -s libmysqld.so.0 ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.so
|
||||
rm -f %{buildroot}%{_libdir}/mysql/libmysqld.a
|
||||
install -m 0755 libmysqld/work/libmysqld.so.18.1.0 %{buildroot}%{_libdir}/mysql/libmysqld.so.18.1.0
|
||||
ln -s libmysqld.so.18.1.0 %{buildroot}%{_libdir}/mysql/libmysqld.so.18
|
||||
ln -s libmysqld.so.18 %{buildroot}%{_libdir}/mysql/libmysqld.so
|
||||
|
||||
# libmysqlclient_r is no more. Upstream tries to replace it with symlinks
|
||||
# but that really doesn't work (wrong soname in particular). We'll keep
|
||||
@ -464,55 +440,96 @@ ln -s libmysqlclient.so ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient_r.so
|
||||
|
||||
# mysql-test includes one executable that doesn't belong under /usr/share,
|
||||
# so move it and provide a symlink
|
||||
mv ${RPM_BUILD_ROOT}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process ${RPM_BUILD_ROOT}%{_bindir}
|
||||
ln -s ../../../../../bin/my_safe_process ${RPM_BUILD_ROOT}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process
|
||||
mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
|
||||
ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process
|
||||
|
||||
# We specified a different share dir, but the test suite expects some
|
||||
# data files under /usr/share/mysql, so we create symlinks to compatibility
|
||||
for f in errmsg-utf8.txt fill_help_tables.sql mysql_system_tables.sql mysql_system_tables_data.sql mysql_test_data_timezone.sql
|
||||
do
|
||||
ln -sf "../MySQL/$f" "${RPM_BUILD_ROOT}/usr/share/mysql/$f"
|
||||
done
|
||||
|
||||
# Remove files that %%doc will install in preferred location
|
||||
rm -f ${RPM_BUILD_ROOT}/usr/COPYING
|
||||
rm -f ${RPM_BUILD_ROOT}/usr/README
|
||||
|
||||
# Remove files we don't want installed at all
|
||||
rm -f ${RPM_BUILD_ROOT}/usr/INSTALL-BINARY
|
||||
rm -f ${RPM_BUILD_ROOT}/usr/docs/ChangeLog
|
||||
rm -f ${RPM_BUILD_ROOT}/usr/data/mysql/.empty
|
||||
rm -f ${RPM_BUILD_ROOT}/usr/data/test/.empty
|
||||
# should move this to /etc/ ?
|
||||
rm -f ${RPM_BUILD_ROOT}%{_bindir}/mysqlaccess.conf
|
||||
rm -f ${RPM_BUILD_ROOT}%{_bindir}/mysql_embedded
|
||||
rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/*.a
|
||||
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/binary-configure
|
||||
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/magic
|
||||
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/ndb-config-2-node.ini
|
||||
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql.server
|
||||
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysqld_multi.server
|
||||
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/comp_err.1*
|
||||
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-stress-test.pl.1*
|
||||
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-test-run.pl.1*
|
||||
# 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}/%{name}/binary-configure
|
||||
rm -f %{buildroot}%{_datadir}/%{name}/magic
|
||||
rm -f %{buildroot}%{_datadir}/%{name}/mysql.server
|
||||
rm -f %{buildroot}%{_datadir}/%{name}/mysqld_multi.server
|
||||
rm -rf %{buildroot}%{_datadir}/%{name}/solaris
|
||||
rm -f %{buildroot}%{_mandir}/man1/comp_err.1*
|
||||
rm -f %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1*
|
||||
rm -f %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1*
|
||||
|
||||
# put logrotate script where it needs to be
|
||||
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
|
||||
mv ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-log-rotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/mysqld
|
||||
chmod 644 $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/mysqld
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
|
||||
mv %{buildroot}%{_datadir}/%{name}/mysql-log-rotate %{buildroot}%{_sysconfdir}/logrotate.d/mysqld
|
||||
chmod 644 %{buildroot}%{_sysconfdir}/logrotate.d/mysqld
|
||||
|
||||
mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
|
||||
echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf
|
||||
mkdir -p %{buildroot}/etc/ld.so.conf.d
|
||||
echo "%{_libdir}/mysql" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf
|
||||
|
||||
# Back to src dir
|
||||
popd
|
||||
|
||||
# copy additional docs into build tree so %%doc will find them
|
||||
cp %{SOURCE6} README.mysql-docs
|
||||
cp %{SOURCE7} README.mysql-license
|
||||
cp -p %{SOURCE6} README.mysql-docs
|
||||
cp -p %{SOURCE7} README.mysql-license
|
||||
|
||||
# install the list of skipped tests to be available for user runs
|
||||
install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/mysql-test
|
||||
# Install the list of skipped tests to be available for user runs
|
||||
install -p -m 0644 mysql-test/rh-skipped-tests.list %{buildroot}%{_datadir}/mysql-test
|
||||
|
||||
# we don't care about scripts for solaris
|
||||
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris
|
||||
# Upstream bugs: http://bugs.mysql.com/68517 http://bugs.mysql.com/68521
|
||||
chmod 0644 %{buildroot}%{_datadir}/%{name}/innodb_memcached_config.sql
|
||||
find %{buildroot}%{_datadir}/mysql-test/{r,suite,t} -type f -print0 | xargs --null chmod 0644
|
||||
chmod 0644 %{buildroot}%{_datadir}/mysql-test/include/{start_mysqld,shutdown_mysqld,check_ipv4_mapped}.inc
|
||||
for f in std_data/checkDBI_DBD-mysql.pl suite/engines/rr_trx/run_stress_tx_rr.pl \
|
||||
suite/funcs_1/lib/DataGen_local.pl suite/funcs_1/lib/DataGen_modify.pl \
|
||||
suite/funcs_2/lib/gen_charset_utf8.pl suite/opt_trace/validate_json.py \
|
||||
suite/rpl/extension/bhs.pl suite/rpl/extension/checksum.pl ; do
|
||||
chmod 0755 %{buildroot}%{_datadir}/mysql-test/$f
|
||||
done
|
||||
chmod 0644 %{buildroot}%{_datadir}/sql-bench/graph-compare-results
|
||||
dos2unix -k %{buildroot}%{_datadir}/sql-bench/innotest*
|
||||
|
||||
# These are in fact identical
|
||||
rm %{buildroot}%{_mandir}/man1/{mysqltest,mysql_client_test}_embedded.1
|
||||
cp -p %{buildroot}%{_mandir}/man1/mysqltest.1 %{buildroot}%{_mandir}/man1/mysqltest_embedded.1
|
||||
cp -p %{buildroot}%{_mandir}/man1/mysql_client_test.1 %{buildroot}%{_mandir}/man1/mysql_client_test_embedded.1
|
||||
|
||||
mkdir %{buildroot}%{_sysconfdir}/my.cnf.d
|
||||
|
||||
%check
|
||||
%if %runselftest
|
||||
pushd build
|
||||
# Hack to let 32- and 64-bit tests run concurrently on same build machine
|
||||
case $(uname -m) in
|
||||
aarch64 | ppc64 | ppc64p7 | s390x | sparc64 | x86_64 )
|
||||
MTR_BUILD_THREAD=7
|
||||
;;
|
||||
*)
|
||||
MTR_BUILD_THREAD=11
|
||||
;;
|
||||
esac
|
||||
|
||||
export MTR_BUILD_THREAD
|
||||
|
||||
make test VERBOSE=1
|
||||
|
||||
# The cmake build scripts don't provide any simple way to control the
|
||||
# options for mysql-test-run, so ignore the make target and just call it
|
||||
# manually. Nonstandard options chosen are:
|
||||
# --force to continue tests after a failure
|
||||
# no retries please
|
||||
# skip tests that are listed in rh-skipped-tests.list
|
||||
# avoid redundant test runs with --binlog-format=mixed
|
||||
# increase timeouts to prevent unwanted failures during mass rebuilds
|
||||
# todo: enable --ssl
|
||||
pushd mysql-test
|
||||
cp ../../mysql-test/rh-skipped-tests.list .
|
||||
./mtr \
|
||||
--mem --parallel=auto --force --retry=0 \
|
||||
--skip-test-list=rh-skipped-tests.list \
|
||||
--mysqld=--binlog-format=mixed \
|
||||
--suite-timeout=720 --testcase-timeout=30
|
||||
rm -rf var/*
|
||||
popd
|
||||
%endif
|
||||
|
||||
%pre server
|
||||
/usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || :
|
||||
@ -523,10 +540,22 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris
|
||||
|
||||
%post server
|
||||
%systemd_post mysqld.service
|
||||
/bin/chmod 0755 /var/lib/mysql
|
||||
/bin/touch /var/log/mysqld.log
|
||||
|
||||
%post embedded -p /sbin/ldconfig
|
||||
# Handle upgrading from SysV initscript to native systemd unit.
|
||||
# We can tell if a SysV version of mysql was previously installed by
|
||||
# checking to see if the initscript is present.
|
||||
%triggerun server -- mysql-server
|
||||
if [ -f /etc/rc.d/init.d/mysqld ]; then
|
||||
# Save the current service runlevel info
|
||||
# User must manually run systemd-sysv-convert --apply mysqld
|
||||
# to migrate them to systemd targets
|
||||
/usr/bin/systemd-sysv-convert --save mysqld >/dev/null 2>&1 || :
|
||||
|
||||
# Run these because the SysV package being removed won't do them
|
||||
/sbin/chkconfig --del mysqld >/dev/null 2>&1 || :
|
||||
/bin/systemctl try-restart mysqld.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
|
||||
%preun server
|
||||
%systemd_preun mysqld.service
|
||||
@ -536,16 +565,15 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris
|
||||
%postun server
|
||||
%systemd_postun_with_restart mysqld.service
|
||||
|
||||
%postun embedded -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%doc README COPYING README.mysql-license
|
||||
%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google
|
||||
%doc README.mysql-docs
|
||||
|
||||
%{_bindir}/msql2mysql
|
||||
%{_bindir}/mysql
|
||||
%{_bindir}/mysql_config
|
||||
%{_bindir}/mysql_config-%{__isa_bits}
|
||||
%{_bindir}/mysql_config_editor
|
||||
%{_bindir}/mysql_find_rows
|
||||
%{_bindir}/mysql_waitpid
|
||||
%{_bindir}/mysqlaccess
|
||||
@ -558,32 +586,36 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris
|
||||
%{_bindir}/mysqlslap
|
||||
%{_bindir}/my_print_defaults
|
||||
|
||||
%{_mandir}/man1/msql2mysql.1*
|
||||
%{_mandir}/man1/mysql.1*
|
||||
%{_mandir}/man1/mysql_config.1*
|
||||
%{_mandir}/man1/mysql_config_editor.1*
|
||||
%{_mandir}/man1/mysql_find_rows.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/mysqlshow.1*
|
||||
%{_mandir}/man1/mysqlslap.1*
|
||||
%{_mandir}/man1/my_print_defaults.1*
|
||||
|
||||
%{_libdir}/mysql/mysql_config
|
||||
|
||||
%files libs
|
||||
%doc README COPYING README.mysql-license
|
||||
%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google
|
||||
# although the default my.cnf contains only server settings, we put it in the
|
||||
# libs package because it can be used for client settings too.
|
||||
%config(noreplace) /etc/my.cnf
|
||||
%dir %{_libdir}/mysql
|
||||
%{_libdir}/mysql/libmysqlclient.so.*
|
||||
/etc/ld.so.conf.d/*
|
||||
%config(noreplace) /etc/ld.so.conf.d/*
|
||||
|
||||
%files common
|
||||
%dir %{_sysconfdir}/my.cnf.d
|
||||
%dir %{_datadir}/%{name}
|
||||
%{_datadir}/%{name}/english
|
||||
%lang(bg) %{_datadir}/%{name}/bulgarian
|
||||
%lang(cs) %{_datadir}/%{name}/czech
|
||||
%lang(da) %{_datadir}/%{name}/danish
|
||||
%lang(nl) %{_datadir}/%{name}/dutch
|
||||
@ -609,8 +641,7 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris
|
||||
%{_datadir}/%{name}/charsets
|
||||
|
||||
%files server
|
||||
%doc support-files/*.cnf
|
||||
|
||||
%doc README COPYING README.mysql-license
|
||||
%{_bindir}/myisamchk
|
||||
%{_bindir}/myisam_ftdump
|
||||
%{_bindir}/myisamlog
|
||||
@ -640,12 +671,8 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris
|
||||
|
||||
%{_libdir}/mysql/INFO_SRC
|
||||
%{_libdir}/mysql/INFO_BIN
|
||||
|
||||
%{_libdir}/mysql/mysqlbug
|
||||
|
||||
%{_libdir}/mysql/plugin
|
||||
|
||||
%{_mandir}/man1/msql2mysql.1*
|
||||
%{_mandir}/man1/myisamchk.1*
|
||||
%{_mandir}/man1/myisamlog.1*
|
||||
%{_mandir}/man1/myisampack.1*
|
||||
@ -660,12 +687,9 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris
|
||||
%{_mandir}/man1/mysql_zap.1*
|
||||
%{_mandir}/man1/mysqlbug.1*
|
||||
%{_mandir}/man1/mysqldumpslow.1*
|
||||
%{_mandir}/man1/mysqlbinlog.1*
|
||||
%{_mandir}/man1/mysqlcheck.1*
|
||||
%{_mandir}/man1/mysqld_multi.1*
|
||||
%{_mandir}/man1/mysqld_safe.1*
|
||||
%{_mandir}/man1/mysqlhotcopy.1*
|
||||
%{_mandir}/man1/mysqlimport.1*
|
||||
%{_mandir}/man1/mysqlman.1*
|
||||
%{_mandir}/man1/mysql_setpermission.1*
|
||||
%{_mandir}/man1/mysqltest.1*
|
||||
@ -677,19 +701,15 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris
|
||||
%{_mandir}/man1/mysql_tzinfo_to_sql.1*
|
||||
%{_mandir}/man8/mysqld.8*
|
||||
|
||||
%{_datadir}/%{name}/dictionary.txt
|
||||
%{_datadir}/%{name}/errmsg-utf8.txt
|
||||
%{_datadir}/%{name}/fill_help_tables.sql
|
||||
%{_datadir}/%{name}/innodb_memcached_config.sql
|
||||
%{_datadir}/%{name}/mysql_security_commands.sql
|
||||
%{_datadir}/%{name}/mysql_system_tables.sql
|
||||
%{_datadir}/%{name}/mysql_system_tables_data.sql
|
||||
%{_datadir}/%{name}/mysql_test_data_timezone.sql
|
||||
%{_datadir}/mysql/errmsg-utf8.txt
|
||||
%{_datadir}/mysql/fill_help_tables.sql
|
||||
%{_datadir}/mysql/mysql_system_tables.sql
|
||||
%{_datadir}/mysql/mysql_system_tables_data.sql
|
||||
%{_datadir}/mysql/mysql_test_data_timezone.sql
|
||||
%{_datadir}/mysql/my-*.cnf
|
||||
%{_datadir}/mysql/config.*.ini
|
||||
|
||||
%{_datadir}/%{name}/my-*.cnf
|
||||
%{_unitdir}/mysqld.service
|
||||
%{_libexecdir}/mysqld-prepare-db-dir
|
||||
%{_libexecdir}/mysqld-wait-ready
|
||||
@ -701,6 +721,9 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/mysqld
|
||||
|
||||
%files devel
|
||||
%doc README COPYING README.mysql-license
|
||||
%{_bindir}/mysql_config
|
||||
%{_bindir}/mysql_config-%{__isa_bits}
|
||||
%{_includedir}/mysql
|
||||
%{_datadir}/aclocal/mysql.m4
|
||||
%{_libdir}/mysql/libmysqlclient.so
|
||||
@ -708,10 +731,10 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris
|
||||
|
||||
%files embedded
|
||||
%doc README COPYING README.mysql-license
|
||||
%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google
|
||||
%{_libdir}/mysql/libmysqld.so.*
|
||||
|
||||
%files embedded-devel
|
||||
%doc README COPYING README.mysql-license
|
||||
%{_libdir}/mysql/libmysqld.so
|
||||
%{_bindir}/mysql_client_test_embedded
|
||||
%{_bindir}/mysqltest_embedded
|
||||
@ -719,16 +742,22 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris
|
||||
%{_mandir}/man1/mysqltest_embedded.1*
|
||||
|
||||
%files bench
|
||||
%doc README COPYING README.mysql-license
|
||||
%{_datadir}/sql-bench
|
||||
|
||||
%files test
|
||||
%doc README COPYING README.mysql-license
|
||||
%{_bindir}/mysql_client_test
|
||||
%{_bindir}/my_safe_process
|
||||
%attr(-,mysql,mysql) %{_datadir}/mysql-test
|
||||
|
||||
%{_mandir}/man1/mysql_client_test.1*
|
||||
|
||||
%changelog
|
||||
* Wed Oct 9 2013 Honza Horak <hhorak@redhat.com> 5.6.14-1
|
||||
- Update to MySQL 5.6.14, for various fixes described at
|
||||
https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-14.html
|
||||
- Incorporate changes done by Bjorn Munch <bjorn.munch@oracle.com>
|
||||
|
||||
* Mon Sep 2 2013 Honza Horak <hhorak@redhat.com> 5.5.33-2
|
||||
- Enhanced my.cnf to be the same as in mariadb
|
||||
Resolves: #1003115
|
||||
@ -820,10 +849,6 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris
|
||||
- Adjusting major soname number of libmysqlclient to avoid
|
||||
library name conflicts with mariadb
|
||||
|
||||
* Mon Mar 4 2013 Honza Horak <hhorak@redhat.com> 5.5.30-2
|
||||
- Renaming package mysql to MySQL to handle conflicting issues
|
||||
with mariadb, which became default
|
||||
|
||||
* Tue Feb 12 2013 Honza Horak <hhorak@redhat.com> 5.5.30-1
|
||||
- Update to MySQL 5.5.30, for various fixes described at
|
||||
http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-30.html
|
@ -1,5 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
/usr/lib/rpm/perl.req $* | \
|
||||
grep -v -e "perl(th" \
|
||||
-e "perl(lib::mtr" -e "perl(lib::v1/mtr" -e "perl(mtr"
|
148
libmysql.version
148
libmysql.version
@ -1,148 +0,0 @@
|
||||
# symbols exported from mysql 5.1
|
||||
libmysqlclient_16 {
|
||||
global:
|
||||
_fini;
|
||||
_init;
|
||||
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;
|
||||
# These are documented in Paul DuBois' MySQL book, so we treat them as part
|
||||
# of the de-facto API.
|
||||
free_defaults;
|
||||
handle_options;
|
||||
load_defaults;
|
||||
my_print_help;
|
||||
# This isn't really documented anywhere, but it seems to be part of the
|
||||
# de-facto API as well. We're not going to export the deprecated version
|
||||
# make_scrambled_password, however.
|
||||
my_make_scrambled_password;
|
||||
# This really shouldn't be exported, but some applications use it as a
|
||||
# workaround for inadequate threading support; see bug #846602
|
||||
THR_KEY_mysys;
|
||||
local:
|
||||
*;
|
||||
};
|
||||
# symbols added in mysql 5.5
|
||||
libmysqlclient_18 {
|
||||
global:
|
||||
mysql_client_find_plugin;
|
||||
mysql_client_register_plugin;
|
||||
mysql_load_plugin;
|
||||
mysql_load_plugin_v;
|
||||
mysql_plugin_options;
|
||||
mysql_stmt_next_result;
|
||||
#
|
||||
# Ideally the following symbols wouldn't be exported, but various applications
|
||||
# require them. We limit the namespace damage by prefixing mysql_
|
||||
# (see mysql-dubious-exports.patch), which means the symbols are not present
|
||||
# in libmysqlclient_16.
|
||||
#
|
||||
# mysql-connector-odbc requires these
|
||||
mysql_default_charset_info;
|
||||
mysql_get_charset;
|
||||
mysql_get_charset_by_csname;
|
||||
mysql_net_realloc;
|
||||
# PHP's mysqli.so requires this (via the ER() macro)
|
||||
mysql_client_errors;
|
||||
};
|
14
my.cnf
14
my.cnf
@ -5,23 +5,13 @@ socket=/var/lib/mysql/mysql.sock
|
||||
symbolic-links=0
|
||||
# Settings user and group are ignored when systemd is used.
|
||||
# If you need to run mysqld under a different user or group,
|
||||
# customize your systemd unit file for mysqld/mariadb according to the
|
||||
# customize your systemd unit file for mysqld according to the
|
||||
# instructions in http://fedoraproject.org/wiki/Systemd
|
||||
|
||||
# Currently, there are mariadb and community-mysql packages in Fedora.
|
||||
# This particular config file is included in respective RPMs of both of them,
|
||||
# so the following settings are general and will be also used by both of them.
|
||||
# Otherwise the RPMs would be in conflict.
|
||||
# Settings for particular implementations like MariaDB are then
|
||||
# defined in appropriate sections; for MariaDB server in [mariadb] section in
|
||||
# /etc/my.cnf.d/server.cnf (part of mariadb-server).
|
||||
# It doesn't matter that we set these settings only for [mysqld] here,
|
||||
# because they will be read and used in mysqld_safe as well.
|
||||
[mysqld_safe]
|
||||
log-error=/var/log/mysqld.log
|
||||
pid-file=/var/run/mysqld/mysqld.pid
|
||||
|
||||
[mysqld_safe]
|
||||
|
||||
#
|
||||
# include all files from the config directory
|
||||
#
|
@ -31,3 +31,4 @@
|
||||
#elif defined(__aarch64__)
|
||||
#include "my_config_aarch64.h"
|
||||
#endif
|
||||
|
48
mysql-5.6.10-rpmlintrc
Normal file
48
mysql-5.6.10-rpmlintrc
Normal file
@ -0,0 +1,48 @@
|
||||
# Filtered out until upstream fixes them
|
||||
# Upstream bug: http://bugs.mysql.com/68518
|
||||
addFilter("incorrect-fsf-address")
|
||||
|
||||
# Done to avoid _prefix/lib64/tmpfiles.d
|
||||
addFilter("E: hardcoded-library-path in %\{_prefix\}/lib/tmpfiles.d")
|
||||
|
||||
# Keeping the old summary for now
|
||||
addFilter("W: name-repeated-in-summary C MySQL")
|
||||
|
||||
# Spellchecked
|
||||
addFilter("W: spelling-error %description -l en_US multi -> mulch, mufti")
|
||||
addFilter("W: spelling-error %description -l en_US benchmarking -> bench marking, bench-marking, benchmark")
|
||||
addFilter("W: spelling-error Summary(en_US) embeddable -> embedded")
|
||||
addFilter("W: spelling-error.*embeddable -> embedded")
|
||||
|
||||
# As long as the manual is part of the original tarball, we have do to
|
||||
# this
|
||||
addFilter("mysql.src: W: invalid-url Source0: mysql-5.6.[0-9]+-nodocs.tar.gz")
|
||||
|
||||
# Leave the logfile where it is for now
|
||||
addFilter("E: non-root-user-log-file /var/log/mysqld.log mysql")
|
||||
addFilter("E: non-root-group-log-file /var/log/mysqld.log mysql")
|
||||
addFilter("E: non-ghost-file /var/log/mysqld.log")
|
||||
addFilter("E: zero-length /var/log/mysqld.log")
|
||||
|
||||
addFilter("E: incoherent-logrotate-file /etc/logrotate.d/mysqld")
|
||||
|
||||
# Hidden files and zero lenght files is normal for some tests
|
||||
addFilter("W: hidden-file-or-dir /usr/share/mysql-test/std_data/.mylogin.cnf")
|
||||
addFilter("E: zero-length /usr/share/mysql-test/suite/parts/t/disabled.def")
|
||||
addFilter("E: zero-length /usr/share/mysql-test/std_data/bug37631.MYD")
|
||||
addFilter("E: zero-length /usr/share/mysql-test/std_data/cluster_7022_table.MYD")
|
||||
addFilter("E: zero-length /usr/share/mysql-test/collections/disabled-weekly.list")
|
||||
addFilter("E: zero-length /usr/share/mysql-test/collections/disabled-daily.list")
|
||||
|
||||
# debuginfo bug?
|
||||
addFilter("E: non-standard-dir-perm /usr/src/debug/tmp 01777")
|
||||
|
||||
# mysql-config *script* in lib
|
||||
addFilter("W: only-non-binary-in-usr-lib")
|
||||
|
||||
# missing
|
||||
addFilter("W: no-manual-page-for-binary my_safe_process")
|
||||
|
||||
# cluster is gone
|
||||
addFilter("W: obsolete-not-provided mysql-cluster")
|
||||
|
26
mysql_config.sh
Normal file
26
mysql_config.sh
Normal file
@ -0,0 +1,26 @@
|
||||
#! /bin/bash
|
||||
#
|
||||
# Wrapper script for mysql_config to support multilib
|
||||
#
|
||||
# This command respects setarch
|
||||
|
||||
bits=$(rpm --eval %__isa_bits)
|
||||
|
||||
case $bits in
|
||||
32|64) status=known ;;
|
||||
*) status=unknown ;;
|
||||
esac
|
||||
|
||||
if [ "$status" = "unknown" ] ; then
|
||||
echo "$0: error: command 'rpm --eval %__isa_bits' returned unknown value: $bits"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
if [ -x /usr/bin/mysql_config-$bits ] ; then
|
||||
/usr/bin/mysql_config-$bits "$@"
|
||||
else
|
||||
echo "$0: error: needed binary: /usr/bin/mysql_config-$bits is missing"
|
||||
exit 1
|
||||
fi
|
||||
|
@ -6,3 +6,9 @@
|
||||
|
||||
perfschema.func_file_io : rhbz#773116 cycle counter does not work on arm
|
||||
perfschema.func_mutex : rhbz#773116 cycle counter does not work on arm
|
||||
|
||||
# These tests fail in Fedora rawhide scratch build
|
||||
|
||||
innodb.innodb_ctype_ldml : Unknown collation: 'utf8_5624_1'
|
||||
main.ctype_ldml : Unknown collation: 'utf8_5624_1'
|
||||
perfschema.setup_objects : <Needs more investigation>
|
@ -11,4 +11,3 @@ outfile_loaddata : bug#46895 code wrong, expected results wrong too
|
||||
# as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155
|
||||
|
||||
innodb.innodb : bug#60155 has platform-dependent results
|
||||
|
Loading…
Reference in New Issue
Block a user