From 147b2680054a33fcab626a49ac4b257cfe9028f3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 10 Jan 2013 17:02:40 +0000 Subject: [PATCH 001/789] Initial setup of the repo --- .gitignore | 0 sources | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 .gitignore create mode 100644 sources diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/sources b/sources new file mode 100644 index 0000000..e69de29 From 9c7c7970563faf4334e400d933ab4581128b4874 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Thu, 10 Jan 2013 18:35:12 +0100 Subject: [PATCH 002/789] Initial commit --- .gitignore | 1 + README.mysql-docs | 4 + README.mysql-license | 6 + libmysql.version | 148 +++++++ mariadb-cipherspec.patch | 115 ++++++ mariadb-dh1024.patch | 63 +++ mariadb-dubious-exports.patch | 161 ++++++++ mariadb-errno.patch | 20 + mariadb-expired-certs.patch | 555 ++++++++++++++++++++++++++ mariadb-file-contents.patch | 27 ++ mariadb-install-test.patch | 54 +++ mariadb-logrotate.patch | 66 ++++ mariadb-man-plugin.patch | 16 + mariadb-s390-tsc.patch | 41 ++ mariadb-string-overflow.patch | 43 ++ mariadb-strmov.patch | 30 ++ mariadb-versioning.patch | 18 + mariadb.spec | 722 ++++++++++++++++++++++++++++++++++ mariadb.tmpfiles.d | 1 + my.cnf | 19 + my_config.h | 29 ++ mysql-embedded-check.c | 26 ++ mysql_plugin.1 | 388 ++++++++++++++++++ mysqld-prepare-db-dir | 82 ++++ mysqld-wait-ready | 56 +++ mysqld.service | 43 ++ rh-skipped-tests-arm.list | 8 + rh-skipped-tests-base.list | 14 + sources | 1 + 29 files changed, 2757 insertions(+) create mode 100644 README.mysql-docs create mode 100644 README.mysql-license create mode 100644 libmysql.version create mode 100644 mariadb-cipherspec.patch create mode 100644 mariadb-dh1024.patch create mode 100644 mariadb-dubious-exports.patch create mode 100644 mariadb-errno.patch create mode 100644 mariadb-expired-certs.patch create mode 100644 mariadb-file-contents.patch create mode 100644 mariadb-install-test.patch create mode 100644 mariadb-logrotate.patch create mode 100644 mariadb-man-plugin.patch create mode 100644 mariadb-s390-tsc.patch create mode 100644 mariadb-string-overflow.patch create mode 100644 mariadb-strmov.patch create mode 100644 mariadb-versioning.patch create mode 100644 mariadb.spec create mode 100644 mariadb.tmpfiles.d create mode 100644 my.cnf create mode 100644 my_config.h create mode 100644 mysql-embedded-check.c create mode 100644 mysql_plugin.1 create mode 100644 mysqld-prepare-db-dir create mode 100644 mysqld-wait-ready create mode 100644 mysqld.service create mode 100644 rh-skipped-tests-arm.list create mode 100644 rh-skipped-tests-base.list diff --git a/.gitignore b/.gitignore index e69de29..7013373 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/mariadb-5.5.28a.tar.gz diff --git a/README.mysql-docs b/README.mysql-docs new file mode 100644 index 0000000..dd894a7 --- /dev/null +++ b/README.mysql-docs @@ -0,0 +1,4 @@ +The official MySQL documentation is not freely redistributable, so we cannot +include it in RHEL or Fedora. You can find it on-line at + +http://dev.mysql.com/doc/ diff --git a/README.mysql-license b/README.mysql-license new file mode 100644 index 0000000..1282653 --- /dev/null +++ b/README.mysql-license @@ -0,0 +1,6 @@ +MySQL is distributed under GPL v2, but there are some licensing exceptions +that allow the client libraries to be linked with a non-GPL application, +so long as the application is under a license approved by Oracle. +For details see + +http://www.mysql.com/about/legal/licensing/foss-exception/ diff --git a/libmysql.version b/libmysql.version new file mode 100644 index 0000000..d547b5d --- /dev/null +++ b/libmysql.version @@ -0,0 +1,148 @@ +# 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; +}; diff --git a/mariadb-cipherspec.patch b/mariadb-cipherspec.patch new file mode 100644 index 0000000..57e2c2b --- /dev/null +++ b/mariadb-cipherspec.patch @@ -0,0 +1,115 @@ +Some test items assume the default SSL cipher is DHE-RSA-AES256-SHA, +which is no longer the case as of openssl 1.0.1. +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 mariadb-5.5.28a/client/mysqltest.cc.p18 mariadb-5.5.28a/client/mysqltest.cc +--- mariadb-5.5.28a/client/mysqltest.cc.p18 2012-11-28 16:49:36.000000000 +0100 ++++ mariadb-5.5.28a/client/mysqltest.cc 2012-12-17 17:40:01.685079912 +0100 +@@ -5808,6 +5808,7 @@ void do_connect(struct st_command *comma + my_bool con_pipe= 0; + my_bool con_shm __attribute__ ((unused))= 0; + struct st_connection* con_slot; ++ char *con_cipher=NULL; + + static DYNAMIC_STRING ds_connection_name; + static DYNAMIC_STRING ds_host; +@@ -5898,6 +5899,8 @@ void do_connect(struct st_command *comma + con_pipe= 1; + else if (length == 3 && !strncmp(con_options, "SHM", 3)) + con_shm= 1; ++ 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); +@@ -5945,8 +5948,11 @@ void do_connect(struct st_command *comma + if (con_ssl) + { + #if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY) ++ /* default cipher */ ++ if (con_cipher == NULL && opt_ssl_cipher != NULL) ++ con_cipher = opt_ssl_cipher; + 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); + #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 mariadb-5.5.28a/mysql-test/t/openssl_1.test.p18 mariadb-5.5.28a/mysql-test/t/openssl_1.test +--- mariadb-5.5.28a/mysql-test/t/openssl_1.test.p18 2012-11-28 16:49:36.000000000 +0100 ++++ mariadb-5.5.28a/mysql-test/t/openssl_1.test 2012-12-17 17:27:31.884891180 +0100 +@@ -20,13 +20,13 @@ grant select on test.* to ssl_user4@loca + grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; + flush privileges; + +-connect (con1,localhost,ssl_user1,,,,,SSL); +-connect (con2,localhost,ssl_user2,,,,,SSL); +-connect (con3,localhost,ssl_user3,,,,,SSL); +-connect (con4,localhost,ssl_user4,,,,,SSL); ++connect (con1,localhost,ssl_user1,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); ++connect (con2,localhost,ssl_user2,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); ++connect (con3,localhost,ssl_user3,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); ++connect (con4,localhost,ssl_user4,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); + --replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT + --error ER_ACCESS_DENIED_ERROR +-connect (con5,localhost,ssl_user5,,,,,SSL); ++connect (con5,localhost,ssl_user5,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); + + connection con1; + # Check ssl turned on +@@ -129,7 +129,7 @@ drop table t1; + # verification of servers certificate by setting both ca certificate + # and ca path to NULL + # +---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 + --echo End of 5.0 tests + + # +@@ -254,7 +254,7 @@ select 'is still running; no cipher requ + + GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; + FLUSH PRIVILEGES; +-connect(con1,localhost,bug42158,,,,,SSL); ++connect(con1,localhost,bug42158,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); + SHOW STATUS LIKE 'Ssl_cipher'; + disconnect con1; + connection default; +diff -up mariadb-5.5.28a/mysql-test/t/ssl_8k_key.test.p18 mariadb-5.5.28a/mysql-test/t/ssl_8k_key.test +--- mariadb-5.5.28a/mysql-test/t/ssl_8k_key.test.p18 2012-11-28 16:49:46.000000000 +0100 ++++ mariadb-5.5.28a/mysql-test/t/ssl_8k_key.test 2012-12-17 17:27:31.885891180 +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 mariadb-5.5.28a/mysql-test/t/ssl_compress.test.p18 mariadb-5.5.28a/mysql-test/t/ssl_compress.test +--- mariadb-5.5.28a/mysql-test/t/ssl_compress.test.p18 2012-11-28 16:49:46.000000000 +0100 ++++ mariadb-5.5.28a/mysql-test/t/ssl_compress.test 2012-12-17 17:27:31.885891180 +0100 +@@ -8,7 +8,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 mariadb-5.5.28a/mysql-test/t/ssl.test.p18 mariadb-5.5.28a/mysql-test/t/ssl.test +--- mariadb-5.5.28a/mysql-test/t/ssl.test.p18 2012-11-28 16:49:46.000000000 +0100 ++++ mariadb-5.5.28a/mysql-test/t/ssl.test 2012-12-17 17:27:31.885891180 +0100 +@@ -8,7 +8,7 @@ + # Save the initial number of concurrent sessions + --source include/count_sessions.inc + +-connect (ssl_con,localhost,root,,,,,SSL); ++connect (ssl_con,localhost,root,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); + + # Check ssl turned on + SHOW STATUS LIKE 'Ssl_cipher'; diff --git a/mariadb-dh1024.patch b/mariadb-dh1024.patch new file mode 100644 index 0000000..620ee0b --- /dev/null +++ b/mariadb-dh1024.patch @@ -0,0 +1,63 @@ +Change the DH key length from 512 to 1024 bits to meet minimum requirements +of FIPS 140-2. (In principle we could use the larger size only when FIPS +mode is on, but it doesn't seem worth the trouble.) + +The new parameter value was generated using "openssl dhparam -C 1024". + + +diff -Naur mysql-5.5.28.orig/vio/viosslfactories.c mysql-5.5.28/vio/viosslfactories.c +--- mysql-5.5.28.orig/vio/viosslfactories.c 2012-08-29 04:50:46.000000000 -0400 ++++ mysql-5.5.28/vio/viosslfactories.c 2012-11-15 11:19:38.575701435 -0500 +@@ -20,27 +20,32 @@ + static my_bool ssl_algorithms_added = FALSE; + static my_bool ssl_error_strings_loaded= FALSE; + +-static unsigned char dh512_p[]= ++static unsigned char dh1024_p[]= + { +- 0xDA,0x58,0x3C,0x16,0xD9,0x85,0x22,0x89,0xD0,0xE4,0xAF,0x75, +- 0x6F,0x4C,0xCA,0x92,0xDD,0x4B,0xE5,0x33,0xB8,0x04,0xFB,0x0F, +- 0xED,0x94,0xEF,0x9C,0x8A,0x44,0x03,0xED,0x57,0x46,0x50,0xD3, +- 0x69,0x99,0xDB,0x29,0xD7,0x76,0x27,0x6B,0xA2,0xD3,0xD4,0x12, +- 0xE2,0x18,0xF4,0xDD,0x1E,0x08,0x4C,0xF6,0xD8,0x00,0x3E,0x7C, +- 0x47,0x74,0xE8,0x33, ++ 0xBF,0x5C,0xFA,0xD1,0xDD,0xBB,0xB3,0x0A,0x58,0x29,0x05,0xF5, ++ 0x7D,0x64,0xB2,0xE1,0xCE,0xE8,0xE0,0xE1,0x7A,0xB6,0xBC,0x5B, ++ 0x21,0x56,0xDF,0x2C,0x82,0x60,0xDC,0x31,0xCA,0x1E,0x02,0xFE, ++ 0xC4,0xE7,0x24,0x63,0x31,0xE4,0x67,0x1C,0x0B,0xFF,0x86,0x12, ++ 0x0D,0x2E,0xE6,0x35,0x0A,0x07,0x4F,0xE7,0x3F,0xDE,0xFE,0xF0, ++ 0x13,0x1C,0xA2,0x2B,0xF4,0xEE,0x2C,0x90,0x10,0x57,0x6B,0x2B, ++ 0xB9,0x1E,0x1B,0x47,0xB0,0x25,0xBF,0x45,0x86,0xDA,0x87,0x35, ++ 0x2C,0xF5,0x6A,0x41,0xA2,0x57,0xD8,0x16,0x5E,0x82,0x91,0x99, ++ 0x33,0xA0,0x8B,0x9D,0x34,0xCE,0x03,0x01,0x80,0x32,0x07,0x3B, ++ 0xF2,0x93,0xFC,0x3A,0x25,0xEC,0xB3,0xED,0x5C,0x4E,0x57,0xF2, ++ 0x3C,0x2E,0x0D,0xB1,0x59,0xA2,0x08,0x93, + }; + +-static unsigned char dh512_g[]={ ++static unsigned char dh1024_g[]={ + 0x02, + }; + +-static DH *get_dh512(void) ++static DH *get_dh1024(void) + { + DH *dh; + if ((dh=DH_new())) + { +- dh->p=BN_bin2bn(dh512_p,sizeof(dh512_p),NULL); +- dh->g=BN_bin2bn(dh512_g,sizeof(dh512_g),NULL); ++ dh->p=BN_bin2bn(dh1024_p,sizeof(dh1024_p),NULL); ++ dh->g=BN_bin2bn(dh1024_g,sizeof(dh1024_g),NULL); + if (! dh->p || ! dh->g) + { + DH_free(dh); +@@ -255,7 +260,7 @@ + } + + /* DH stuff */ +- dh=get_dh512(); ++ dh=get_dh1024(); + SSL_CTX_set_tmp_dh(ssl_fd->ssl_context, dh); + DH_free(dh); + diff --git a/mariadb-dubious-exports.patch b/mariadb-dubious-exports.patch new file mode 100644 index 0000000..d51ea25 --- /dev/null +++ b/mariadb-dubious-exports.patch @@ -0,0 +1,161 @@ +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 mariadb-5.5.28a/client/mysqladmin.cc.p8 mariadb-5.5.28a/client/mysqladmin.cc +--- mariadb-5.5.28a/client/mysqladmin.cc.p8 2012-11-28 16:49:36.000000000 +0100 ++++ mariadb-5.5.28a/client/mysqladmin.cc 2012-12-17 16:33:24.501007457 +0100 +@@ -22,6 +22,7 @@ + #include /* because of signal() */ + #include + #include ++#include /* my_make_scrambled_password_323, my_make_scrambled_password */ + #include + #include /* ORACLE_WELCOME_COPYRIGHT_NOTICE */ + +@@ -1065,9 +1066,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 mariadb-5.5.28a/include/errmsg.h.p8 mariadb-5.5.28a/include/errmsg.h +--- mariadb-5.5.28a/include/errmsg.h.p8 2012-11-28 16:49:43.000000000 +0100 ++++ mariadb-5.5.28a/include/errmsg.h 2012-12-17 16:33:24.501007457 +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 mariadb-5.5.28a/include/mysql_com.h.p8 mariadb-5.5.28a/include/mysql_com.h +--- mariadb-5.5.28a/include/mysql_com.h.p8 2012-11-28 16:49:38.000000000 +0100 ++++ mariadb-5.5.28a/include/mysql_com.h 2012-12-17 16:34:18.758025238 +0100 +@@ -467,6 +467,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); +@@ -545,14 +546,12 @@ void create_random_string(char *to, unsi + struct my_rnd_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 mariadb-5.5.28a/include/mysql.h.pp.p8 mariadb-5.5.28a/include/mysql.h.pp +--- mariadb-5.5.28a/include/mysql.h.pp.p8 2012-11-28 16:49:47.000000000 +0100 ++++ mariadb-5.5.28a/include/mysql.h.pp 2012-12-17 16:47:49.700371140 +0100 +@@ -84,7 +84,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, +@@ -124,13 +124,11 @@ typedef struct st_udf_init + void create_random_string(char *to, unsigned int length, + struct my_rnd_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 mariadb-5.5.28a/include/my_sys.h.p8 mariadb-5.5.28a/include/my_sys.h +--- mariadb-5.5.28a/include/my_sys.h.p8 2012-12-17 16:33:24.306007345 +0100 ++++ mariadb-5.5.28a/include/my_sys.h 2012-12-17 16:33:24.503007462 +0100 +@@ -943,6 +943,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 mariadb-5.5.28a/sql/password.c.p8 mariadb-5.5.28a/sql/password.c +--- mariadb-5.5.28a/sql/password.c.p8 2012-11-28 16:49:48.000000000 +0100 ++++ mariadb-5.5.28a/sql/password.c 2012-12-17 16:33:24.503007462 +0100 +@@ -127,23 +127,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 +@@ -407,23 +390,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 diff --git a/mariadb-errno.patch b/mariadb-errno.patch new file mode 100644 index 0000000..bcacf6c --- /dev/null +++ b/mariadb-errno.patch @@ -0,0 +1,20 @@ +"extern int errno" is just a really bad idea. + +diff -up mariadb-5.5.28a/include/my_sys.h.p1 mariadb-5.5.28a/include/my_sys.h +--- mariadb-5.5.28a/include/my_sys.h.p1 2012-12-17 16:06:12.942346553 +0100 ++++ mariadb-5.5.28a/include/my_sys.h 2012-12-17 16:06:51.085361555 +0100 +@@ -189,13 +189,8 @@ extern void my_large_free(uchar *ptr); + #define my_safe_alloca(size, min_length) ((size <= min_length) ? my_alloca(size) : my_malloc(size,MYF(MY_FAE))) + #define my_safe_afree(ptr, size, min_length) ((size <= min_length) ? my_afree(ptr) : my_free(ptr)) + +-#ifndef errno /* did we already get it? */ +-#ifdef HAVE_ERRNO_AS_DEFINE + #include /* 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 const char *my_progname_short; /* like above but without directory */ diff --git a/mariadb-expired-certs.patch b/mariadb-expired-certs.patch new file mode 100644 index 0000000..acd3a78 --- /dev/null +++ b/mariadb-expired-certs.patch @@ -0,0 +1,555 @@ +Upstream insists on generating SSL testing certificates with relatively short +lifespan, which has repeatedly caused problems (ie, one day the regression +tests suddenly stop working). Replace them with certificates with 20-year +lifespan. We should periodically regenerate these, too, but at least not +very often. + + +diff -Naur mysql-5.1.50.orig/mysql-test/std_data/cacert.pem mysql-5.1.50/mysql-test/std_data/cacert.pem +--- mysql-5.1.50.orig/mysql-test/std_data/cacert.pem 2010-08-03 13:55:04.000000000 -0400 ++++ mysql-5.1.50/mysql-test/std_data/cacert.pem 2010-08-27 23:42:05.751428144 -0400 +@@ -1,17 +1,22 @@ + -----BEGIN CERTIFICATE----- +-MIICrTCCAhagAwIBAgIJAMI7xZKjhrDbMA0GCSqGSIb3DQEBBAUAMEQxCzAJBgNV ++MIIDsjCCApqgAwIBAgIJAL5YrUwfPSWVMA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV + BAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxhMREwDwYD +-VQQKEwhNeVNRTCBBQjAeFw0xMDAxMjkxMTQ3MTBaFw0xNTAxMjgxMTQ3MTBaMEQx ++VQQKEwhNeVNRTCBBQjAeFw0xMDAxMjkwNTU5NTNaFw0xNTAxMjgwNTU5NTNaMEQx + CzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxh +-MREwDwYDVQQKEwhNeVNRTCBBQjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA +-wQYsOEfrN4ESP3FjsI8cghE+tZVuyK2gck61lwieVxjgFMtBd65mI5a1y9pmlOI1 +-yM4SB2Ppqcuw7/e1CdV1y7lvHrGNt5yqEHbN4QX1gvsN8TQauP/2WILturk4R4Hq +-rKg0ZySu7f1Xhl0ed9a48LpaEHD17IcxWEGMMJwAxF0CAwEAAaOBpjCBozAMBgNV +-HRMEBTADAQH/MB0GA1UdDgQWBBSvktYQ0ahLnyxyVKqty+WpBbBrDTB0BgNVHSME +-bTBrgBSvktYQ0ahLnyxyVKqty+WpBbBrDaFIpEYwRDELMAkGA1UEBhMCU0UxEDAO +-BgNVBAgTB1VwcHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FM +-IEFCggkAwjvFkqOGsNswDQYJKoZIhvcNAQEEBQADgYEAdKN1PjwMHAKG2Ww1145g +-JQGBnKxSFOUaoSvkBi/4ntTM+ysnViWh7WvxyWjR9zU9arfr7aqsDeQxm0XDOqzj +-AQ/cQIla2/Li8tXyfc06bisH/IHRaSc2zWqioTKbEwMdVOdrvq4a8V8ic3xYyIWn +-7F4WeS07J8LKardSvM0+hOA= ++MREwDwYDVQQKEwhNeVNRTCBBQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ++ggEBAL6kNN4peX7uhK9rb06W/QbPEpVuejmdWdl2PqMshP/eSuXXw7kwVgfpxx9R ++vC000CKQQSG9MCoZjtqPnFRsetmWLZgApRpEalGXTXJqq9sEbCfoFizg94U8G7d2 ++u5XJjLVmcG34ru36KoBgVx1zeH1puBAf8dOzrE4L7Y+ZQBFzFohjh8C2LqWC4nM5 ++qsLmOkDWMipGqYU5DvkKjIbTbwTyRNRgZHWSPfVDDPUIUOsY4BGUp2DpgeGY9aEv ++lIs57Ev9JqlIUCV65lOhhDkG+xwmkHKHA+ECEU9cALI8+uXbh48MB9XpMOuk408X ++/lX89aZwD0/G9kmObVGnE2G+H5UCAwEAAaOBpjCBozAdBgNVHQ4EFgQUsft+d7VA ++jWgRftkR5cPG2k2sUbAwdAYDVR0jBG0wa4AUsft+d7VAjWgRftkR5cPG2k2sUbCh ++SKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdV ++cHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAL5YrUwfPSWVMAwGA1UdEwQFMAMB ++Af8wDQYJKoZIhvcNAQEFBQADggEBALRUOAmdL8R8sl1y8kiEiFgDatdXK5RDqWai ++8yZChfmwTIToHhmQsOEshJe2e8hky3huUj+33VyXjINoMbebIwMuXPwEkbJal8RZ ++nSJmF0jN1Qz7J/jFffwK9xmejWZJx49Kt2+Qwrwp6kDeq9TLFqQOoVczgyJPYsTL ++NAOib5WqTud3XWvCwxrhqmWu7JZq6sp1fomP/uunprb8y2miWfLESZN2mKAhm44Q ++Lws867LT8v2lskEjq2dT1LutD5+R66XcdjgSr0uDziDs64jZwCD6ea94hVFM7ej0 ++ZOXYeSEZJ56FjUxu632e9fY8NyMh30yKjjmQf1mM9PuGJvdvsWU= + -----END CERTIFICATE----- +diff -Naur mysql-5.1.50.orig/mysql-test/std_data/client-cert.pem mysql-5.1.50/mysql-test/std_data/client-cert.pem +--- mysql-5.1.50.orig/mysql-test/std_data/client-cert.pem 2010-08-03 13:55:04.000000000 -0400 ++++ mysql-5.1.50/mysql-test/std_data/client-cert.pem 2010-08-27 23:42:05.752428395 -0400 +@@ -1,46 +1,69 @@ + Certificate: + Data: +- Version: 1 (0x0) +- Serial Number: 1048577 (0x100001) +- Signature Algorithm: md5WithRSAEncryption ++ Version: 3 (0x2) ++ Serial Number: 6 (0x6) ++ Signature Algorithm: sha1WithRSAEncryption + Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB + Validity +- Not Before: Jan 29 11:50:22 2010 GMT +- Not After : Jan 28 11:50:22 2015 GMT ++ Not Before: Feb 20 03:03:26 2010 GMT ++ Not After : Sep 3 03:03:26 2030 GMT + Subject: C=SE, ST=Uppsala, O=MySQL AB + Subject Public Key Info: + Public Key Algorithm: rsaEncryption +- Public-Key: (1024 bit) +- Modulus: +- 00:cc:9a:37:49:13:66:dc:cf:e3:0b:13:a1:23:ed: +- 78:db:4e:bd:11:f6:8c:0d:76:f9:a3:32:56:9a:f8: +- a1:21:6a:55:4e:4d:3f:e6:67:9d:26:99:b2:cd:a4: +- 9a:d2:2b:59:5c:d7:8a:d3:60:68:f8:18:bd:c5:be: +- 15:e1:2a:3c:a3:d4:61:cb:f5:11:94:17:81:81:f7: +- 87:8c:f6:6a:d2:ee:d8:e6:77:f6:62:66:4d:2e:16: +- 8d:08:81:4a:c9:c6:4b:31:e5:b9:c7:8a:84:96:48: +- a7:47:8c:0d:26:90:56:4e:e6:a5:6e:8c:b3:f2:9f: +- fc:3d:78:9b:49:6e:86:83:77 ++ RSA Public Key: (1024 bit) ++ Modulus (1024 bit): ++ 00:c2:e7:20:cf:89:59:2f:67:cb:4c:9f:e8:11:f2: ++ 23:e5:f1:b1:ee:3f:66:5f:c3:f5:fd:1e:31:ee:8f: ++ 4c:2a:bd:c0:4a:a5:9f:c8:44:d5:77:8f:15:1b:4d: ++ 78:6e:b2:a2:48:a5:24:33:05:40:02:b3:c1:87:8d: ++ 59:3c:1a:07:aa:86:f0:04:e1:9c:20:4b:22:32:c4: ++ 51:9e:40:e4:31:c3:57:f5:98:bf:2e:b1:fd:2c:56: ++ bf:49:d9:9b:e7:17:cc:95:5f:b5:08:19:5e:9d:df: ++ 65:22:39:2c:48:fb:69:96:31:7a:35:4d:de:60:b4: ++ c1:60:19:5f:96:56:7e:55:19 + Exponent: 65537 (0x10001) +- Signature Algorithm: md5WithRSAEncryption +- 5e:1f:a3:53:5f:24:13:1c:f8:28:32:b0:7f:69:69:f3:0e:c0: +- 34:87:10:03:7d:da:15:8b:bd:19:b8:1a:56:31:e7:85:49:81: +- c9:7f:45:20:74:3e:89:c0:e0:26:84:51:cc:04:16:ce:69:99: +- 01:e1:26:99:b3:e3:f5:bd:ec:5f:a0:84:e4:38:da:75:78:7b: +- 89:9c:d2:cd:60:95:20:ba:8e:e3:7c:e6:df:76:3a:7c:89:77: +- 02:94:86:11:3a:c4:61:7d:6f:71:83:21:8a:17:fb:17:e2:ee: +- 02:6b:61:c1:b4:52:63:d7:d8:46:b2:c5:9c:6f:38:91:8a:35: +- 32:0b ++ X509v3 extensions: ++ X509v3 Basic Constraints: ++ CA:FALSE ++ X509v3 Subject Key Identifier: ++ 8D:10:67:91:33:76:9C:02:E5:78:5D:D8:C5:EF:25:96:B2:D7:FA:1F ++ X509v3 Authority Key Identifier: ++ keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 ++ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB ++ serial:BE:58:AD:4C:1F:3D:25:95 ++ ++ Signature Algorithm: sha1WithRSAEncryption ++ a9:88:10:3e:5d:2a:47:29:c8:03:27:7a:31:5a:8e:10:03:bc: ++ b5:4e:37:1d:12:7b:eb:5f:50:71:70:b1:a3:8e:93:0e:77:17: ++ 6c:47:b6:c9:a4:4d:2a:c4:38:f0:61:55:b2:7f:28:ba:06:79: ++ ee:67:11:7d:d4:c9:7f:0a:18:c8:c1:cb:d0:2c:f9:63:0f:bb: ++ 45:ca:de:ea:bb:ac:00:01:52:48:36:2b:07:2b:c8:46:c7:b1: ++ 21:81:bd:77:39:e7:4c:39:aa:bd:ac:60:d8:a7:bf:cf:14:98: ++ 4a:0b:a1:40:55:06:8d:6f:35:a9:39:a0:71:a9:97:ba:7c:73: ++ 3c:41:ba:c5:1c:11:4b:2b:43:1d:2d:ba:7b:5f:14:b5:3d:64: ++ 62:15:36:b4:16:bd:78:c8:43:8d:f9:1c:a5:d2:ac:a1:58:74: ++ e1:99:de:ad:04:19:43:a8:bd:0a:fd:19:9b:50:44:46:6d:18: ++ 55:4d:bf:b4:5b:a4:93:62:c7:64:91:6c:54:34:d1:f8:f3:ff: ++ 12:6d:5f:85:e7:35:9e:5c:42:81:5e:fb:c8:bb:44:51:98:b2: ++ ef:1b:9f:5a:22:77:28:7d:da:fb:08:c2:94:9a:0f:42:08:93: ++ 54:10:1e:ad:f2:4f:fc:62:98:51:e9:9b:b9:3a:93:d9:e4:1f: ++ 1d:c4:76:d0 + -----BEGIN CERTIFICATE----- +-MIIB5zCCAVACAxAAATANBgkqhkiG9w0BAQQFADBEMQswCQYDVQQGEwJTRTEQMA4G +-A1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwg +-QUIwHhcNMTAwMTI5MTE1MDIyWhcNMTUwMTI4MTE1MDIyWjAyMQswCQYDVQQGEwJT +-RTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIwgZ8wDQYJKoZI +-hvcNAQEBBQADgY0AMIGJAoGBAMyaN0kTZtzP4wsToSPteNtOvRH2jA12+aMyVpr4 +-oSFqVU5NP+ZnnSaZss2kmtIrWVzXitNgaPgYvcW+FeEqPKPUYcv1EZQXgYH3h4z2 +-atLu2OZ39mJmTS4WjQiBSsnGSzHluceKhJZIp0eMDSaQVk7mpW6Ms/Kf/D14m0lu +-hoN3AgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAXh+jU18kExz4KDKwf2lp8w7ANIcQ +-A33aFYu9GbgaVjHnhUmByX9FIHQ+icDgJoRRzAQWzmmZAeEmmbPj9b3sX6CE5Dja +-dXh7iZzSzWCVILqO43zm33Y6fIl3ApSGETrEYX1vcYMhihf7F+LuAmthwbRSY9fY +-RrLFnG84kYo1Mgs= ++MIIDETCCAfmgAwIBAgIBBjANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ ++MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT ++UUwgQUIwHhcNMTAwMjIwMDMwMzI2WhcNMzAwOTAzMDMwMzI2WjAyMQswCQYDVQQG ++EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIwgZ8wDQYJ ++KoZIhvcNAQEBBQADgY0AMIGJAoGBAMLnIM+JWS9ny0yf6BHyI+Xxse4/Zl/D9f0e ++Me6PTCq9wEqln8hE1XePFRtNeG6yokilJDMFQAKzwYeNWTwaB6qG8AThnCBLIjLE ++UZ5A5DHDV/WYvy6x/SxWv0nZm+cXzJVftQgZXp3fZSI5LEj7aZYxejVN3mC0wWAZ ++X5ZWflUZAgMBAAGjgaMwgaAwCQYDVR0TBAIwADAdBgNVHQ4EFgQUjRBnkTN2nALl ++eF3Yxe8llrLX+h8wdAYDVR0jBG0wa4AUsft+d7VAjWgRftkR5cPG2k2sUbChSKRG ++MEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBz ++YWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAL5YrUwfPSWVMA0GCSqGSIb3DQEBBQUA ++A4IBAQCpiBA+XSpHKcgDJ3oxWo4QA7y1TjcdEnvrX1BxcLGjjpMOdxdsR7bJpE0q ++xDjwYVWyfyi6BnnuZxF91Ml/ChjIwcvQLPljD7tFyt7qu6wAAVJINisHK8hGx7Eh ++gb13OedMOaq9rGDYp7/PFJhKC6FAVQaNbzWpOaBxqZe6fHM8QbrFHBFLK0MdLbp7 ++XxS1PWRiFTa0Fr14yEON+Ryl0qyhWHThmd6tBBlDqL0K/RmbUERGbRhVTb+0W6ST ++YsdkkWxUNNH48/8SbV+F5zWeXEKBXvvIu0RRmLLvG59aIncofdr7CMKUmg9CCJNU ++EB6t8k/8YphR6Zu5OpPZ5B8dxHbQ + -----END CERTIFICATE----- +diff -Naur mysql-5.1.50.orig/mysql-test/std_data/client-key.pem mysql-5.1.50/mysql-test/std_data/client-key.pem +--- mysql-5.1.50.orig/mysql-test/std_data/client-key.pem 2010-08-03 13:55:05.000000000 -0400 ++++ mysql-5.1.50/mysql-test/std_data/client-key.pem 2010-08-27 23:42:05.752428395 -0400 +@@ -1,15 +1,15 @@ + -----BEGIN RSA PRIVATE KEY----- +-MIICXQIBAAKBgQDMmjdJE2bcz+MLE6Ej7XjbTr0R9owNdvmjMlaa+KEhalVOTT/m +-Z50mmbLNpJrSK1lc14rTYGj4GL3FvhXhKjyj1GHL9RGUF4GB94eM9mrS7tjmd/Zi +-Zk0uFo0IgUrJxksx5bnHioSWSKdHjA0mkFZO5qVujLPyn/w9eJtJboaDdwIDAQAB +-AoGASqk/4We2En+93y3jkIO4pXafIe3w/3zZ7caRue1ehx4RUQh5d+95djuB9u7J +-HEZ7TpjM7QNyao5EueL6gvbxt0LXFvqAMni7yM9tt/HUYtHHPqYiRtUny9bKYFTm +-l8szCCMal/wD9GZU9ByHDNHm7tHUMyMhARNTYSgx+SERFmECQQD/6jJocC4SXf6f +-T3LqimWR02lbJ7qCoDgRglsUXh0zjrG+IIiAyE+QOCCx1GMe3Uw6bsIuYwdHT6as +-WcdPs04xAkEAzKulvEvLVvN5zfa/DTYRTV7jh6aDleOxjsD5oN/oJXoACnPzVuUL +-qQQMNtuAXm6Q1QItrRxpQsSKbY0UQka6JwJBAOSgoNoG5lIIYTKIMvzwGV+XBLeo +-HYsXgh+6Wo4uql3mLErUG78ZtWL9kc/tE4R+ZdyKGLaCR/1gXmH5bwN4B/ECQEBb +-uUH8k3REG4kojesZlVc+/00ojzgS4UKCa/yqa9VdB6ZBz8MDQydinnShkTwgiGpy +-xOoqhO753o2UT0qH8wECQQC99IEJWUnwvExVMkLaZH5NjAFJkb22sjkmuT11tAgU +-RQgOMoDOm6driojnOnDWOkx1r1Gy9NgMLooduja4v6cx ++MIICWwIBAAKBgQDC5yDPiVkvZ8tMn+gR8iPl8bHuP2Zfw/X9HjHuj0wqvcBKpZ/I ++RNV3jxUbTXhusqJIpSQzBUACs8GHjVk8GgeqhvAE4ZwgSyIyxFGeQOQxw1f1mL8u ++sf0sVr9J2ZvnF8yVX7UIGV6d32UiOSxI+2mWMXo1Td5gtMFgGV+WVn5VGQIDAQAB ++AoGARXcXLKDpVooJ3W+IyQyiWsw//IhANpWjUOm4JiyQmxMyO+i4ACr4Yjpu7WI5 ++MEseqAGj20NdwxjKO0PXsCIe5LmrGZ+SI8+CSERFOWXWRtCWz7y7SG30i1k6suvM ++mwqWom0tJLwn93uA1lm/WSwKQwUrJRahRQd3EaZqrl7DP5kCQQD/8gbuYAT5pxQe ++ULLGM0RvEsXxDYbEDxNbY5wrBazfklBwpumxZpFl6jEAT++7Kh2Ns3A7kB1oUNlA ++FPYr+dYPAkEAwvHEwRtoyUr8jqoqVVJWI76CDmBjEOzVeMKW97ztqbs2LxZW8dYI ++iOh/myFGpdoUwgu0U8w9MmXcj3ZeZCYKVwJALyQ+AJPw9qa+fuLwOq9gsHCtwrty ++EhSQxSlwrz/pWniRll439vPkXfgntF4E0t1r+hiN2Hqv3/HcQgBaYzkuIwJAG023 ++bACFxaOuCeFFepvEms8E8jSHy4gQQhCnCl24v8wLw76SQN7kZSCDNtwLRBFuVNtE ++z3PMonFn2eQPRmGZkwJAP1c1BHprMQx/ruafdscROILv3JrH40C1bR6KVVBKt1dK ++Qpnpgi7hK5rUQjDF8k3bn9ugTt06jyeHe/QhAml0kg== + -----END RSA PRIVATE KEY----- +diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server-cert.pem mysql-5.1.50/mysql-test/std_data/server-cert.pem +--- mysql-5.1.50.orig/mysql-test/std_data/server-cert.pem 2010-08-03 13:55:08.000000000 -0400 ++++ mysql-5.1.50/mysql-test/std_data/server-cert.pem 2010-08-27 23:42:05.753428361 -0400 +@@ -1,41 +1,69 @@ + Certificate: + Data: +- Version: 1 (0x0) +- Serial Number: 1048578 (0x100002) +- Signature Algorithm: md5WithRSAEncryption ++ Version: 3 (0x2) ++ Serial Number: 4 (0x4) ++ Signature Algorithm: sha1WithRSAEncryption + Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB + Validity +- Not Before: Jan 29 11:56:49 2010 GMT +- Not After : Jan 28 11:56:49 2015 GMT ++ Not Before: Feb 20 02:55:06 2010 GMT ++ Not After : Sep 3 02:55:06 2030 GMT + Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=localhost + Subject Public Key Info: + Public Key Algorithm: rsaEncryption +- Public-Key: (512 bit) +- Modulus: +- 00:cd:e4:87:51:9d:72:11:a0:d1:fa:f3:92:8b:13: +- 1c:eb:f7:e2:9a:2f:72:a8:d6:65:48:d1:69:af:1b: +- c0:4c:13:e5:60:60:51:41:e9:ab:a6:bc:13:bb:0c: +- 5e:32:7c:d9:6c:9e:cd:05:24:84:78:db:80:91:2e: +- d8:88:2b:c2:ed ++ RSA Public Key: (1024 bit) ++ Modulus (1024 bit): ++ 00:e3:7d:4f:c2:23:77:a9:3a:2c:d2:69:59:a0:2f: ++ 4e:d1:51:4c:ae:8d:f5:17:cc:ce:58:9c:83:4f:0b: ++ a3:bb:29:a2:b8:1d:3e:1b:04:f9:a9:3e:e2:61:d0: ++ e6:7b:b9:7c:12:d8:1f:86:c9:53:b5:04:dd:df:26: ++ e9:c0:2b:de:4a:96:2e:f3:23:6f:79:6d:a9:d2:4e: ++ 17:af:2f:de:8b:68:44:ae:de:a3:e2:c4:37:1c:04: ++ ad:73:4b:85:f9:83:ac:fe:b7:c1:54:47:2e:96:d4: ++ 31:96:85:94:69:d6:5a:63:24:04:99:89:19:1d:56: ++ 8a:d1:77:aa:87:fb:38:cd:b7 + Exponent: 65537 (0x10001) +- Signature Algorithm: md5WithRSAEncryption +- 73:ce:9c:6e:39:46:b4:14:be:da:3f:f3:1b:ba:90:bc:23:43: +- d7:82:2a:70:4e:a6:d9:5a:65:5c:b7:df:71:df:75:77:c5:80: +- a4:af:fa:d2:59:e2:fd:c9:9c:f0:98:95:8e:69:a9:8c:7c:d8: +- 6f:48:d2:e3:36:e0:cd:ff:3f:d1:a5:e6:ab:75:09:c4:50:10: +- c4:96:dd:bf:3b:de:32:46:da:ca:4a:f1:d6:52:8a:33:2f:ab: +- f5:2e:70:3f:d4:9c:be:00:c8:03:f9:39:8a:df:5b:70:3c:40: +- ef:03:be:7c:3d:1d:32:32:f3:51:81:e2:83:30:6e:3d:38:9b: +- fb:3c ++ X509v3 extensions: ++ X509v3 Basic Constraints: ++ CA:FALSE ++ X509v3 Subject Key Identifier: ++ CC:8C:71:40:D0:0F:BF:D1:99:79:3F:1B:E9:10:76:19:67:36:0F:A3 ++ X509v3 Authority Key Identifier: ++ keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 ++ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB ++ serial:BE:58:AD:4C:1F:3D:25:95 ++ ++ Signature Algorithm: sha1WithRSAEncryption ++ 6f:ad:5e:59:fa:84:3a:be:e2:72:b1:e8:66:2a:4e:f8:73:19: ++ 11:06:11:92:78:56:3e:d6:e8:68:29:90:8b:59:d2:fe:aa:ae: ++ 25:59:c7:e9:99:bb:4a:06:43:dd:40:bd:cb:f4:ae:79:95:7d: ++ 8e:90:ef:58:d2:a8:fc:bf:07:f3:37:b2:9b:bd:da:e6:8c:56: ++ dd:5e:c6:4a:70:7c:3e:3d:a1:e8:35:06:b8:a7:7b:ac:26:85: ++ 54:5d:09:a2:7b:77:b4:17:7f:72:31:cb:ff:cc:67:6d:e6:3e: ++ c6:dc:96:eb:4a:0a:ae:e9:48:ae:8a:e0:d6:73:57:6e:32:4c: ++ 00:dc:28:da:55:b3:9f:9f:d8:98:cc:d9:f1:b6:b3:14:67:2e: ++ a1:47:1e:51:11:cf:70:9f:31:8f:ba:59:29:f2:d0:88:0b:e2: ++ 51:6b:f8:31:ed:6d:ac:00:5e:d3:78:4c:95:97:02:cc:74:2b: ++ 3b:c6:28:e6:2a:c3:30:99:35:b4:4d:31:46:d4:90:f2:47:ed: ++ 64:85:1a:75:2a:72:0a:2f:c6:3a:2f:d2:ac:6b:31:cc:e5:a8: ++ 07:c2:d6:22:f3:c6:0f:bf:67:d9:d6:b2:79:cd:48:b5:c3:e0: ++ e3:18:7f:b5:74:c9:43:19:fb:c4:93:29:ca:cc:90:2b:1b:6f: ++ 45:f6:25:f9 + -----BEGIN CERTIFICATE----- +-MIIBtzCCASACAxAAAjANBgkqhkiG9w0BAQQFADBEMQswCQYDVQQGEwJTRTEQMA4G +-A1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwg +-QUIwHhcNMTAwMTI5MTE1NjQ5WhcNMTUwMTI4MTE1NjQ5WjBGMQswCQYDVQQGEwJT +-RTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxEjAQBgNVBAMT +-CWxvY2FsaG9zdDBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQDN5IdRnXIRoNH685KL +-Exzr9+KaL3Ko1mVI0WmvG8BME+VgYFFB6aumvBO7DF4yfNlsns0FJIR424CRLtiI +-K8LtAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAc86cbjlGtBS+2j/zG7qQvCND14Iq +-cE6m2VplXLffcd91d8WApK/60lni/cmc8JiVjmmpjHzYb0jS4zbgzf8/0aXmq3UJ +-xFAQxJbdvzveMkbaykrx1lKKMy+r9S5wP9ScvgDIA/k5it9bcDxA7wO+fD0dMjLz +-UYHigzBuPTib+zw= ++MIIDJTCCAg2gAwIBAgIBBDANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ ++MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT ++UUwgQUIwHhcNMTAwMjIwMDI1NTA2WhcNMzAwOTAzMDI1NTA2WjBGMQswCQYDVQQG ++EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxEjAQBgNV ++BAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA431PwiN3 ++qTos0mlZoC9O0VFMro31F8zOWJyDTwujuymiuB0+GwT5qT7iYdDme7l8EtgfhslT ++tQTd3ybpwCveSpYu8yNveW2p0k4Xry/ei2hErt6j4sQ3HAStc0uF+YOs/rfBVEcu ++ltQxloWUadZaYyQEmYkZHVaK0Xeqh/s4zbcCAwEAAaOBozCBoDAJBgNVHRMEAjAA ++MB0GA1UdDgQWBBTMjHFA0A+/0Zl5PxvpEHYZZzYPozB0BgNVHSMEbTBrgBSx+353 ++tUCNaBF+2RHlw8baTaxRsKFIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgTB1Vw ++cHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkAvlit ++TB89JZUwDQYJKoZIhvcNAQEFBQADggEBAG+tXln6hDq+4nKx6GYqTvhzGREGEZJ4 ++Vj7W6GgpkItZ0v6qriVZx+mZu0oGQ91Avcv0rnmVfY6Q71jSqPy/B/M3spu92uaM ++Vt1exkpwfD49oeg1Brine6wmhVRdCaJ7d7QXf3Ixy//MZ23mPsbclutKCq7pSK6K ++4NZzV24yTADcKNpVs5+f2JjM2fG2sxRnLqFHHlERz3CfMY+6WSny0IgL4lFr+DHt ++bawAXtN4TJWXAsx0KzvGKOYqwzCZNbRNMUbUkPJH7WSFGnUqcgovxjov0qxrMczl ++qAfC1iLzxg+/Z9nWsnnNSLXD4OMYf7V0yUMZ+8STKcrMkCsbb0X2Jfk= + -----END CERTIFICATE----- +diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server-key.pem mysql-5.1.50/mysql-test/std_data/server-key.pem +--- mysql-5.1.50.orig/mysql-test/std_data/server-key.pem 2010-08-03 13:55:08.000000000 -0400 ++++ mysql-5.1.50/mysql-test/std_data/server-key.pem 2010-08-27 23:42:05.754428433 -0400 +@@ -1,9 +1,15 @@ + -----BEGIN RSA PRIVATE KEY----- +-MIIBOwIBAAJBAM3kh1GdchGg0frzkosTHOv34povcqjWZUjRaa8bwEwT5WBgUUHp +-q6a8E7sMXjJ82WyezQUkhHjbgJEu2Igrwu0CAwEAAQJBAJuwhFbF3NzRpBbEmnqJ +-4GPa1UJMQMLFJF+04tqj/HxJcAIVhOJhGmmtYNw1yjz/ZsPnfJCMz4eFOtdjvGtf +-peECIQDmFFg2WLvYo+2m9w9V7z4ZIkg7ixYkI/ObUUctfZkPOQIhAOUWnrvjFrAX +-bIvYT/YR50+3ZDLEc51XxNgJnWqWYl1VAiEAnTOFWgyivFC1DgF8PvDp8u5TgCt2 +-A1d1GMgd490O+TECIC/WMl0/hTxOF9930vKqOGf//o9PUGkZq8QE9fcM4gtlAiAE +-iOcFpnLjtWj57jrhuw214ucnB5rklkQQe+AtcARNkg== ++MIICXgIBAAKBgQDjfU/CI3epOizSaVmgL07RUUyujfUXzM5YnINPC6O7KaK4HT4b ++BPmpPuJh0OZ7uXwS2B+GyVO1BN3fJunAK95Kli7zI295banSThevL96LaESu3qPi ++xDccBK1zS4X5g6z+t8FURy6W1DGWhZRp1lpjJASZiRkdVorRd6qH+zjNtwIDAQAB ++AoGAUb0o91y/FjMs/72S0pes/lDz+JRRSGfyjKxQEgrgndNsADOhqRu0iTdrKDJj ++XnlbN3ooecnFJfnFrvTQcJhSmlS30j6VrBw6LXpCBK3dvjYgJ9LOne7WK+dF1+vS ++FMQtsP04C56Sxy6HJDpMyWJ6oS3Bu169ygG2AxKo+Fk+E6ECQQD38w/MzmrARz2Z ++AGeEPDUnVZPYgtmXkmks95S0/2jSoLhmgpvJimzxwpYwVG/BG8dSDVuTDu5kp05D ++3bZIp3EzAkEA6uAwJsCZPtHXlWU3wYZJsA697rUNjPaCQOIaZ/lnh5RUHTmUiw1h ++Oj/VORqKB0kXqcDfawwLjZEvh1Xli+H5bQJBANTmhw2TvEPnp/OFTl1UGUvyBmXl ++TRMB639qAu07VfVtfYi/4ya1zn/0VmOfTOoigQ5qW9Q1AOu6YNCTQl62L9MCQQDc ++YfEsW2kvNYxYJHoVfuBjbuGuOnn1e1Oqd70ZND59S6NFLMMBWlORaVWzWACNZ3rp ++kAzSj6HDeqgjD2jsQONdAkEAt7S1YHUn8F760bRn4AnAto2TVOYdArtTP/wYjd4o ++9rJREO/d8AYkYJ96APLvF0SZ4n3t1pLwQRsKKN8ZGTmzLA== + -----END RSA PRIVATE KEY----- +diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server8k-cert.pem mysql-5.1.50/mysql-test/std_data/server8k-cert.pem +--- mysql-5.1.50.orig/mysql-test/std_data/server8k-cert.pem 2010-08-03 13:55:08.000000000 -0400 ++++ mysql-5.1.50/mysql-test/std_data/server8k-cert.pem 2010-08-27 23:43:00.005366270 -0400 +@@ -1,51 +1,69 @@ ++Certificate: ++ Data: ++ Version: 3 (0x2) ++ Serial Number: 5 (0x5) ++ Signature Algorithm: sha1WithRSAEncryption ++ Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB ++ Validity ++ Not Before: Feb 20 03:00:54 2010 GMT ++ Not After : Sep 3 03:00:54 2030 GMT ++ Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=server ++ Subject Public Key Info: ++ Public Key Algorithm: rsaEncryption ++ RSA Public Key: (1024 bit) ++ Modulus (1024 bit): ++ 00:c5:da:44:95:06:77:16:21:af:a0:c4:3c:e9:f8: ++ 1d:2d:95:f9:63:90:8c:3f:86:ba:77:76:4a:52:4b: ++ 6b:af:29:f5:1c:aa:d4:3f:3e:42:9f:6d:46:ba:86: ++ 90:b1:2d:cc:db:c6:33:15:a3:f4:af:53:33:4f:a1: ++ 56:d1:aa:3b:26:10:f7:64:b5:f9:bf:1b:b1:47:8e: ++ cc:a6:d6:0d:aa:4a:77:e3:a3:63:9d:2a:dc:65:f4: ++ 7f:91:17:38:2d:d6:cd:4e:8d:53:52:97:6e:87:fc: ++ 64:60:a6:a1:00:ac:96:6c:e4:42:94:75:17:46:6f: ++ 91:b5:dd:06:47:ed:05:e3:db ++ Exponent: 65537 (0x10001) ++ X509v3 extensions: ++ X509v3 Basic Constraints: ++ CA:FALSE ++ X509v3 Subject Key Identifier: ++ 6E:60:3F:29:13:60:99:ED:0C:F7:15:B5:DB:7B:1C:FB:6F:60:19:ED ++ X509v3 Authority Key Identifier: ++ keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 ++ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB ++ serial:BE:58:AD:4C:1F:3D:25:95 ++ ++ Signature Algorithm: sha1WithRSAEncryption ++ 63:2e:0f:07:14:06:cf:74:90:3d:37:42:f2:48:70:60:21:bc: ++ 34:52:31:f1:87:70:d2:b2:fb:ff:13:38:dc:f0:5e:43:d7:ee: ++ a7:c7:1f:ac:aa:d2:8c:4f:fa:3c:4c:73:f6:b6:c2:0c:a0:ea: ++ a2:c9:e2:73:61:c3:2e:78:40:0f:2a:d3:63:50:9b:b8:f9:89: ++ 40:ed:98:08:97:c3:07:24:17:34:b5:78:89:0a:bb:83:4c:e2: ++ 5c:2e:13:d6:21:30:ad:30:48:b5:70:12:ff:4a:6f:42:f0:f8: ++ 9f:b1:4b:bd:89:2b:f0:9d:e2:49:2b:35:69:18:1f:76:40:b4: ++ 76:bd:cb:dd:27:2f:c0:c1:e2:33:3e:6e:df:68:54:19:92:8a: ++ bb:13:9c:cf:d6:17:56:da:bf:0d:64:70:3a:45:b7:aa:5f:e3: ++ f5:96:ae:34:f2:17:37:27:d0:4b:e8:30:4a:c0:02:42:e2:d2: ++ 30:eb:eb:c7:d7:ec:d8:df:5c:43:58:e2:6f:b7:58:54:0d:c4: ++ 01:71:2d:59:8f:44:c7:a1:6c:0b:41:28:fa:b7:63:a7:68:d3: ++ 4f:c3:0f:17:9e:b2:32:50:e6:0b:87:3d:e2:39:47:c0:d8:0a: ++ 3b:f6:af:50:68:0f:9d:ef:6e:34:0d:3a:07:94:f8:a4:d7:24: ++ 86:32:d3:b4 + -----BEGIN CERTIFICATE----- +-MIIJFDCCBPwCAQEwDQYJKoZIhvcNAQEEBQAwTjELMAkGA1UEBhMCU0UxEDAOBgNV +-BAgTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCMQ0wCwYDVQQLEwRUZXN0MQsw +-CQYDVQQDEwJDQTAeFw0xMDA3MjgxNDA3MjhaFw0xODEwMTQxNDA3MjhaMFIxCzAJ +-BgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQjEN +-MAsGA1UECxMEVGVzdDEPMA0GA1UEAxMGc2VydmVyMIIEIjANBgkqhkiG9w0BAQEF +-AAOCBA8AMIIECgKCBAEA6h3v1OWb9I9U/Z8diBu/xYGS8NCTD3ZESboHxVI2qSEC +-PgxNNcG8Lh0ktQdgYcOe64MnDTZX0Bibm47hoDldrAlTSffFxQhylqBBoXxDF+Lr +-hXIqCz7K0PsK+bYusL9ezJ7PETDnCT7oy95q4GXbKsutbNsm9if4ZE41gs2KnoU2 +-DA7kvMmkKojrMIL4+BqTXA20LLo0iSbgvUTvpSJw4u96BeyzMNnxK2wP5vvTtUo5 +-hACbfU87YjaSKs+q2VXCzfyYGZk1L1xk5GUI0bP+jutf1dDzNttW2/q2Nf5rxx09 +-Gh/GwmOnEk1O7cOZ8VQCsOHirIM39NuSARsY6Y3G5XM4k2W4nxyR/RtdG9bvs/33 +-aGsZ5V5yp7WSs8s9HHwaCPSsUiLKckQ7uA0TTRgbeweMrrLKovG57jsbBBB8pQD4 +-PRd31qgxCdstWXHiWwRyI8vOLWENPXPFqA/rJwwqNdWTogy38aqVXxGYR8PIwjA2 +-OaIwFjwGZcsPNLqw6bgAN8O2UBqZHWiMF8mi7brvioDvAIufZuqa2SqT/At45H83 +-psQ6R4FsxZt6SAK7EsdPo8OYTrY1i4iPZd/eKhnEu2srEZgsKRwY5H1mvDH5fWCc +-HSFu07sWmlmK6Or65Fsa0IaKLJiQDVVETd6xrI0wkM4AOcbKDrS7aywJ426dopbs +-+LFdt4N0cdII4gBgJAfLuuA2yrDXRq4P6cgpVMy0R+0dEYE8zzm8zf1a+Ud273LS +-9+LB+LJKwqbW8nOPBoiekimIKfJYoOA4+C/mAjsYl1sVjjEhXJAs9S9L2UvnUk1P +-sZi4UKHI6eAIEl7VM1sQ4GbdZ0px2dF2Ax7pGkhD+DLpYyYkCprharKZdmuUNLUd +-NhXxi/HSEiE+Uy+o8RIzmH7LuROl/ZgnfHjJEiBLt2qPvwrwYd4c3XuXWs4YsWfV +-JTt8Mx2ihgVcdGy9//shCSmgJwR1oWrhgC10AEL2fKeRnYUal1i+IxFPp7nb8uwx +-UADgR0cY4A3qR/JP489QFIcxBTVs65De+Bq3ecnujk6yeGpD9iptonq4Y8uNZMc1 +-kOE7GiFGwR4EufT5SEMh+tUkjth2r+842vmZZuxrVQaohDiATmIJA07W51zKH+nQ +-uw4qVKnAhPaDLCLc7YMIH9JcmkeQX0nf8/S2O2WYDH8glVDi5hfW08tCmV647vRY +-nTIywUTO0lFpz7M+VyMNaJ6yXU6biBV5hLAI8C5ldr/SWI789W2+ebBaJ9gfK+PT +-trohFSK37GcoSH4V6qSLJHCBASEsiddqHIHMLJZRYD+B6J3tLhjVUM43u+MEGbFT +-d33ZDke/WzLTExWkaOv36e67gDBmgDuj9yroq3wGfwIDAQABMA0GCSqGSIb3DQEB +-BAUAA4IEAQCc9RBhRbuWlmRZPZkqIdi5/+enyjoMmOa6ryJPxFSP8D2jrlHgQsk1 +-+GsJmPFT3rwWfoGAQu/aeSX4sp8OhKVJtqNA6MJrGYnZIMolgYa1wZPbkjJsdEfi +-UsZdIB0n2+KA0xwEdGPdkGCfNPBtOg557DkcyEvsIZ9ELp4Pp2XzWRhyFGasJZc4 +-YwgD/3K2rpOPZoMkBKeKqV19j41OfLKGBVyuaqzitbu9+KT4RU1ibr2a+UuFCwdT +-oqyN7bfWXjcjXOMkxCsOmLfKmqQxs7TEOVrYPTdYjamDxLy/e5g5FgoCxGY8iil0 +-+YFLZyH6eEx/Os9DlG/M3O1MeRD9U97CdsphbDVZIDyWw5xeX8qQHJe0KSprAgiG +-TLhTZHeyrKujQCQS1oFFmNy4gSqXt0j1/6/9T80j6HeyjiiYEaEQK9YLTAjRoA7W +-VN8wtHI5F3RlNOVQEJks/bjdlpLL3VhaWtfewGh/mXRGcow84cgcsejMexmhreHm +-JfTUl9+X1IFFxGq2/606A9ROQ7kN/s4rXu7/TiMODXI/kZijoWd2SCc7Z0YWoNo7 +-IRKkmZtrsflJbObEuK2Jk59uqzSxyQOBId8qtbPo8qJJyHGV5GCp34g4x67BxJBo +-h1iyVMamBAS5Ip1ejghuROrB8Hit8NhAZApXju62btJeXLX+mQayXb/wC/IXNJJD +-83tXiLfZgs6GzLAq7+KW/64sZSvj87CPiNtxkvjchAvyr+fhbBXCrf4rlOjJE6SH +-Je2/Jon7uqijncARGLBeYUT0Aa6k1slpXuSKxDNt7EIkP21kDZ5/OJ0Y1u587KVB +-dEhuDgNf2/8ij7gAQBwBoZMe1DrwddrxgLLBlyHpAZetNYFZNT+Cs/OlpqI0Jm59 +-kK9pX0BY4AGOd23XM3K/uLawdmf67kkftim7aVaqXFHPiWsJVtlzmidKvNSmbmZe +-dOmMXp6PBoqcdusFVUS7vjd3KAes5wUX/CaTyOOPRu0LMSnpwEnaL76IC9x4Jd6d +-7QqY/OFTjpPH8nP57LwouiT6MgSUCWGaOkPuBJ9w9sENSbbINpgJJ42iAe2kE+R7 +-qEIvf/2ETCTseeQUqm2nWiSPLkNagEh6kojmEoKrGyrv3YjrSXSOY1a70tDVy43+ +-ueQDQzNZm3Q7inpke2ZKvWyY0LQmLzP2te+tnNBcdLyKJx7emPRTuMUlEdK7cLbt +-V3Sy9IKtyAXqqd66fPFj4NhJygyncj8M6CSqhG5L0GhDbkA8UJ8yK/gfKm3h5xe2 +-utULK5VMtAhQt6cVahO59A9t/OI17y45bmlIgdlEQISzVFe9ZbIUJW44zBfPx74k +-/w8pMRr8gEuRqpL2WdJiKGG6lhMHLVFo ++MIIDIjCCAgqgAwIBAgIBBTANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ ++MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT ++UUwgQUIwHhcNMTAwMjIwMDMwMDU0WhcNMzAwOTAzMDMwMDU0WjBDMQswCQYDVQQG ++EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxDzANBgNV ++BAMTBnNlcnZlcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxdpElQZ3FiGv ++oMQ86fgdLZX5Y5CMP4a6d3ZKUktrryn1HKrUPz5Cn21GuoaQsS3M28YzFaP0r1Mz ++T6FW0ao7JhD3ZLX5vxuxR47MptYNqkp346NjnSrcZfR/kRc4LdbNTo1TUpduh/xk ++YKahAKyWbORClHUXRm+Rtd0GR+0F49sCAwEAAaOBozCBoDAJBgNVHRMEAjAAMB0G ++A1UdDgQWBBRuYD8pE2CZ7Qz3FbXbexz7b2AZ7TB0BgNVHSMEbTBrgBSx+353tUCN ++aBF+2RHlw8baTaxRsKFIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgTB1VwcHNh ++bGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkAvlitTB89 ++JZUwDQYJKoZIhvcNAQEFBQADggEBAGMuDwcUBs90kD03QvJIcGAhvDRSMfGHcNKy +++/8TONzwXkPX7qfHH6yq0oxP+jxMc/a2wgyg6qLJ4nNhwy54QA8q02NQm7j5iUDt ++mAiXwwckFzS1eIkKu4NM4lwuE9YhMK0wSLVwEv9Kb0Lw+J+xS72JK/Cd4kkrNWkY ++H3ZAtHa9y90nL8DB4jM+bt9oVBmSirsTnM/WF1bavw1kcDpFt6pf4/WWrjTyFzcn ++0EvoMErAAkLi0jDr68fX7NjfXENY4m+3WFQNxAFxLVmPRMehbAtBKPq3Y6do00/D ++DxeesjJQ5guHPeI5R8DYCjv2r1BoD53vbjQNOgeU+KTXJIYy07Q= + -----END CERTIFICATE----- +diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server8k-key.pem mysql-5.1.50/mysql-test/std_data/server8k-key.pem +--- mysql-5.1.50.orig/mysql-test/std_data/server8k-key.pem 2010-08-03 13:55:08.000000000 -0400 ++++ mysql-5.1.50/mysql-test/std_data/server8k-key.pem 2010-08-27 23:43:10.165365998 -0400 +@@ -1,99 +1,15 @@ + -----BEGIN RSA PRIVATE KEY----- +-MIISKQIBAAKCBAEA6h3v1OWb9I9U/Z8diBu/xYGS8NCTD3ZESboHxVI2qSECPgxN +-NcG8Lh0ktQdgYcOe64MnDTZX0Bibm47hoDldrAlTSffFxQhylqBBoXxDF+LrhXIq +-Cz7K0PsK+bYusL9ezJ7PETDnCT7oy95q4GXbKsutbNsm9if4ZE41gs2KnoU2DA7k +-vMmkKojrMIL4+BqTXA20LLo0iSbgvUTvpSJw4u96BeyzMNnxK2wP5vvTtUo5hACb +-fU87YjaSKs+q2VXCzfyYGZk1L1xk5GUI0bP+jutf1dDzNttW2/q2Nf5rxx09Gh/G +-wmOnEk1O7cOZ8VQCsOHirIM39NuSARsY6Y3G5XM4k2W4nxyR/RtdG9bvs/33aGsZ +-5V5yp7WSs8s9HHwaCPSsUiLKckQ7uA0TTRgbeweMrrLKovG57jsbBBB8pQD4PRd3 +-1qgxCdstWXHiWwRyI8vOLWENPXPFqA/rJwwqNdWTogy38aqVXxGYR8PIwjA2OaIw +-FjwGZcsPNLqw6bgAN8O2UBqZHWiMF8mi7brvioDvAIufZuqa2SqT/At45H83psQ6 +-R4FsxZt6SAK7EsdPo8OYTrY1i4iPZd/eKhnEu2srEZgsKRwY5H1mvDH5fWCcHSFu +-07sWmlmK6Or65Fsa0IaKLJiQDVVETd6xrI0wkM4AOcbKDrS7aywJ426dopbs+LFd +-t4N0cdII4gBgJAfLuuA2yrDXRq4P6cgpVMy0R+0dEYE8zzm8zf1a+Ud273LS9+LB +-+LJKwqbW8nOPBoiekimIKfJYoOA4+C/mAjsYl1sVjjEhXJAs9S9L2UvnUk1PsZi4 +-UKHI6eAIEl7VM1sQ4GbdZ0px2dF2Ax7pGkhD+DLpYyYkCprharKZdmuUNLUdNhXx +-i/HSEiE+Uy+o8RIzmH7LuROl/ZgnfHjJEiBLt2qPvwrwYd4c3XuXWs4YsWfVJTt8 +-Mx2ihgVcdGy9//shCSmgJwR1oWrhgC10AEL2fKeRnYUal1i+IxFPp7nb8uwxUADg +-R0cY4A3qR/JP489QFIcxBTVs65De+Bq3ecnujk6yeGpD9iptonq4Y8uNZMc1kOE7 +-GiFGwR4EufT5SEMh+tUkjth2r+842vmZZuxrVQaohDiATmIJA07W51zKH+nQuw4q +-VKnAhPaDLCLc7YMIH9JcmkeQX0nf8/S2O2WYDH8glVDi5hfW08tCmV647vRYnTIy +-wUTO0lFpz7M+VyMNaJ6yXU6biBV5hLAI8C5ldr/SWI789W2+ebBaJ9gfK+PTtroh +-FSK37GcoSH4V6qSLJHCBASEsiddqHIHMLJZRYD+B6J3tLhjVUM43u+MEGbFTd33Z +-Dke/WzLTExWkaOv36e67gDBmgDuj9yroq3wGfwIDAQABAoIEAQCSt6YoZqigz/50 +-XvYT6Uf6T6S1lBDFXNmY1qOuDkLBJTWRiwYMDViQEaWCaZgGTKDYeT3M8uR/Phyu +-lRFi5vCEMufmcAeZ3hxptw7KU+R8ILJ207/zgit6YglTys9h5txTIack39+6FJmx +-wbZ64HpETJZnpMO6+fuZaMXyLjuT8mmXjvHcOgXOvjWeFkZOveDhjJkAesUXuqyX +-EI+ajoXuQiPXeKonkD2qd7NTjzfy4gw/ZF4NXs0ZVJeviqtIPo2xp33udOw2vRFh +-bMvlF4cNLAbIKYVyOG0ruOfd2I7Unsc/CvD1u5vlRVuUd8OO0JZLIZR7hlRX+A58 +-8O1g2H/wJZAsF1BnLnFzDGYCX2WjCCK3Zn85FkKGRa0lTdYDduad/C/N3Y2/pHFE +-e7U/2D7IkEei59tD2HcsDBB3MJnckkn/hyiL9qWcxqWZ61vurE+XjU6tc6fnfhk9 +-pJQ6yU3epPU7Vfsk0UGA7bbgKpsyzyH8Zl76YC2mN2ZVJjZekfhY+ibT9odEPdOl +-yLB5iXA6/WhKkDWaOqZGOH+7MblWgT9wHINlcn+nKzOr00JHl26ac6aMlXXi9vbe +-4jgJbFK1HYlFIndyX/BdqRTsFemDoDrVqrEYsaONoVYDd9c5qrqYOeh34DhOksQW +-hNwWBfmMlfzgOGtCYhMeK+AajqTtUbMYQA6qp47KJd/Oa5Dvi3ZCpvZh3Ll5iIau +-rqCtmojsWCqmpWSu7P+Wu4+O3XkUMPdQUuQ5rJFESEBB3yEJcxqk/RItTcKNElNC +-PASrPrMD9cli7S/pJ+frbhu1Gna1ArXzXQE9pMozPaBpjCig7+15R0lL3pmOKO6e +-WK3dgSwrnW6TQdLPlSD4lbRoiIdTHVBczztDeUqVvFiV3/cuaEi1nvaVdAYLqjuL +-ogK4HwE/FQ54S0ijAsP52n25usoH6OTU3bSd/7NTp0vZCy3yf10x7HUdsh2DvhRO +-3+TSK5t0yz0Nt7hNwcI6pLmWUIYcZgpFc/WsiiGscTfhy8rh3kRHI8ylGq53KNF+ +-yCVmjqnBRWs91ArxmeF1ctX2t3w5p7gf65hJWqoX/2DiSi5FBsr6HLxa5sUi4wRZ +-136aCNt5Wu7w+AzPDbQW6qKUGSyfHJAw4JZasZcaZLise5IWb1ks0DtFbWWdT3ux +-8r2AM7IO1WopnekrYCnx/aBvBAv4NjWozVA517ztVttPERt3AGb4nm387nYt5R2U +-NO2GBWcDyT8JQLKmffE1AkWolCR1GsvcNLQfLCbnNppgsnsLE/viTG4mq1wjnd8O +-2Q8nH1SVTuyGFREMp/zsiAEaGfdd0hI2r1J7OdNPBBCtmhITsy9ZYHqm5vrGvy3s +-vi2GuB2RAoICAQD/oWUsg4eTJxHifTJLz/tVSTXnw7DhfbFVa1K1rUV63/MRQAFW +-pabN4T6Yfp3CpdRkljCA8KPJZj7euwhm4OEg1ulpOouA+cfWlE9RFE8wyOK5SYwM +-k+nk31P9MUC866pZg/ghzBGDub91OW1+ZGEtqnLI/n/LhiAIWt0hJvgZclTc1cAL +-xffHVlFwoSyNl/nc3ueZCC95nOLst2XcuxZLLbOFtZCmDYsp49q/Jn6EFjn4Ge2o +-qp38z6eZgDMP1F4lb9nDqXPHfUSt2jxKlmpfXS+IPKdba67+EjhbtmUYzaR4EoPI +-zh+o6SrVWT6Yve7KGiYv06fuRz1m/lLQO/Arbd9ntSjgn+ZEXGOkbhnHUX3DJ4ny +-/6XEGB9NLQjern4uNTn0AaV+uvhncapFMaIBnVfq0Cw8eog0136PBYRaVX7T44j5 +-HwIyGXWtYGA/SzDEQoksD0Y/T61BEGnLZaKeavNd82WwFvcYHZtE0J4aQGjCEE7N +-+nijzCy+j5ETmme9KJvQHpEyXP3N4RBko1eWvyTwFZDdIXtoa6TTEI51lm+FXJ/b +-Y+BzMr6KRo29FB+7//1ptUoMvn5hzL0PwOv2ZSTQuoG5hLDEbxWXLNhd1VHcfznF +-3EZHwfD2F8aGQ3kz+fkMTNfK955KorDrmLgvmV9eZZ5yQxGZrs5H5YfKpwKCAgEA +-6nSUbzfSdVFUH89NM5FmEJgkD06vqCgHl2mpyF+VmDGcay4K06eA4QbRO5kns13+ +-n6PcBl/YVW/rNE8iFi+WxfqUpAjdR1HlShvTuTRVqtFTfuN8XhbYU6VMjKyuE0kd +-LKe3KRdwubjVNhXRZLBknU+3Y/4hnIR7mcE3/M5Zv5hjb7XnwWg/SzxV9WojCKiu +-vQ7cXhH5/o7EuKcl1d6vueGhWsRylCG9RimwgViR2H7zD9kpkOc0nNym9cSpb0Gv +-Lui4cf/fVwIt2HfNEGBjbM/83e2MH6b8Xp1fFAy0aXCdRtOo4LVOzJVAxn5dERMX +-4JJ4d5cSFbssDN1bITOKzuytfBqRIQGNkOfizgQNWUiaFI0MhEN/icymjm1ybOIh +-Gc9tzqKI4wP2X9g+u3+Oof1QaBcZ4UbZEU9ITN87Pa6XVJmpNx7A81BafWoEPFeE +-ahoO4XDwlHZazDuSlOseEShxXcVwaIiqySy7OBEPBVuYdEd2Qw/z3JTx9Kw8MKnf +-hu+ar5tz5dPnJIsvLeYCcJDe/K6loiZuHTtPbWEy9p6It7qubQNPBvTSBN5eVDKc +-Q2bTQNCx8SAAA9C5gJiwWoQKsXJzbRFRY77P9JjuGpua3YJ2nYBHEJmF+fp1R33c +-uHIyMphPMkKC4GC3/43kkMr6tck8kZbXGSYsLsBr2GkCggIBAJvvrjILQianzKcm +-zAmnI6AQ+ssYesvyyrxaraeZvSqJdlLtgmOCxVANuQt5IW9djUSWwZvGL4Np1aw0 +-15k6UNqhftzsE7FnrVneOsww4WXXBUcV8FKz4Bf3i9qFswILmGzmrfSf8YczRfGS +-SJKzVPxwX3jwlrBmbx/pnb7dcLbFIbNcyLvl1ZJJu4BDMVRmgssTRp/5eExtQZg4 +-//A4SA8wH7TO3yAMXvn8vrGgH8kfbdlEp88d1SYk3g4rP/rGB3A63NIYikIEzmJn +-ICQ3wUfPJnGq3kRMWgEuyCZaCy2oNE3yrWVPJ8z3/2MJ/79ZDVNHxEeki2o1FuW+ +-+nGAPq+fZIp03iy4HdVRro7dgugtc9QaSHJtNId8V4vSjviX5Oz3FxUb9AJst58S +-nVV8Q2FMxBa/SlzSOkhRtCg2q1gXkzhaMnIVUleRZFGQ2uWBToxKMjcoUifIyN1J +-z999bkfI4hBLq5pRSAXz+YVu5SMKa10GaawIwJLat+i+1zboF6QyI2o/Wz8nrsNq +-KX/ajFGu5C94WFgsVoWKNI90KBLe48Ssje9c68waBlV/WHMg1YLvU3yqVDOV+K5c +-IHB9tPMnG+AgBYZPxSzuvnLrrkj/GeKx0WI7TrvzOLRGKJo6irMEJ8IzFegASRUq +-TVZKYQDYRG7m+lKlSxU+pyMAh2c9AoICAE4kavCip1eIssQjYLTGSkFPo/0iGbOv +-G9CgXAE3snFWX67tWphupKrbjdMSWcQTmPD2OTg6q6zWL4twsIi6dcMooHAHsFC7 +-//LyUV/SDJdxSyXohiQJ8zH1zwy35RDydnHSuF5OvLh53T44iWDI1dAEqLgAFI3J +-LjTxzEpLMGiGTuYFt+ejai0WQAQayvBw4ESM9m+4CB2K0hBFTXv5y5HlnNTW0uWC +-VUZUUMrbjUieDz8B/zOXi9aYSGFzmZFGUDAPSqJcSMEELemPDF7f8WNr8vi42tIV +-4tlaFD1nep4F9bWMiCXU6B2RxVQi+7vcJEIqL1KUnGd3ydfD00K+ng4Xnj7Vz/cz +-QE7CqrpFaXmPlCMzW6+dm51/AyhHXDLkL2od05hiXcNkJ7KMLWRqwExHVIxM3shR +-x7lYNl3ArUsCrNd6m4aOjnrKFk7kjeLavHxskPccoGKrC9o0JMfTkWLgmuBJFQ0S +-N/HzIbcvIFWF0Ms4ojb50yp6ziXhXfJOO/0KUQEki71XIhvw89mVZszDzD5lqzjf +-HCZMBU4MbmL6NdEevFIDH0zPPkx3HPNtJt3kIJbit9wI8VhUMe+ldGnGxpWb8tKw +-SfM3vrHkYr+lizk26XfXMFhdAuVtT7dzQKSNEyP/1a2Hs307Xzgiv8JulJ8QIkrX +-/nsYWPOAGLG5AoICABmdW9Ppkvuhb1AEcjTWb+XCyopoBc6vit/uQWD9uO+CeX7a +-cfzq+iH01CAjyVMc4E1JDc5Lpi106U+GRGcAAaPJB2Sp5NznoxaOVrb71blu4Q4x +-bNjtKM/P/DXpO+yJYoOPdKtaSDhtnfNDM7H/jztJ3XIrOltKA7CcRDohbBWIx8Q0 +-0uEpvfFpZZBco3yVmjP0RLgIVYn/ZDj9wGhSvFWIJ5vv6GXmtDrcHGMLxcfv7t76 +-UVcMW/Yy4mYJRCzGOrWagyVijJ6MTVNciqadWcH1KcbB3EGoMFYMn61or2qJABPM +-xz89IlhnROU1Re3X/QRx5t86cw6oa+FqrWMOhSs31I0dNWSuS/xDympG27YIYSDd +-mv5seT78GjFmMJC5pPOLoXsbTPB0HpsX2/UL/w/eRAfilTOef/Cf9VE5MP/C2YR7 +-NBxUU7/+21D6WvdtBTcZbrXWGroAo8zPP+PwX0+c6WoAvqDJvCPndp8xZhSgEJN/ +-0kScptezi8n3ZHI95EA9U5mAHxHz0IhDDVzWw/z1f1SBPxKVX3+By3zaa3lrD2ch +-cHq7nBkX72veEevnHUY8Z2rHE2G2jdmRfOtwm4sjL0VBV9fRRoxzJWRduKyeOtDL +-EhhBhUoTrT48UnfW9hxnbNLB9P/hh+UJu9HrS2uAwHoGE1+8gcyundupGDBn ++MIICXgIBAAKBgQDF2kSVBncWIa+gxDzp+B0tlfljkIw/hrp3dkpSS2uvKfUcqtQ/ ++PkKfbUa6hpCxLczbxjMVo/SvUzNPoVbRqjsmEPdktfm/G7FHjsym1g2qSnfjo2Od ++Ktxl9H+RFzgt1s1OjVNSl26H/GRgpqEArJZs5EKUdRdGb5G13QZH7QXj2wIDAQAB ++AoGBAJLCjh7Q9eLnx+QDzH9s+Q/IcH4nSbERmh1lFEopAc6j29qQ6PGkmDy0DUPs ++70VOCOh5A4mo3aZzm9sUfVb24/nRtmyTP/AtMuIVGCsUqzI28dJRGvRlY0aSQG/C ++ILqMP69kiMNGBvuyEIiJhisOmMvDFEp7HrrXHJM9qcc217DpAkEA4nzJ9yyy2e4O ++r6/D711hdfcU/F+ktXw+pL77kSSdTABUap92Uv2RL36UA4q5h8RNvq/GrzMNm6Ye ++u2IMvBCiTQJBAN+iRbiMJCSitTg5YVMluVbT87co7jbTqk7LN1ujyIFEklm4xlHG ++DLJNgEoDR7QJtAkL++FyogC4zsQsey5voscCQQCp54trTbDuI9QIoAaQrrDKWgz4 ++NpfNPeOQm2UFQT5vIWAyjGWrZGViB8bp0UvVOcJI5nxaOiZfOYOcdrWu75uRAkAn ++67zMc9/j1lPJRJz2Dc7nDBD+ikTz7pcBV897AWLCiK4jbBOi91q+3YzgKXO8VNsZ ++nlUJasA2psbqSBJ5OJ5zAkEA2UxoMju54hASjT54Z92IzraVw4Vo8CYwOcw5fr7z +++m5xg1mmWdLBclmZ+WjARzDuTHIW6u/WCxNGg42AykWzfw== + -----END RSA PRIVATE KEY----- diff --git a/mariadb-file-contents.patch b/mariadb-file-contents.patch new file mode 100644 index 0000000..f96640f --- /dev/null +++ b/mariadb-file-contents.patch @@ -0,0 +1,27 @@ +Upstream chooses to install INFO_SRC and INFO_BIN into the docs dir, which +breaks at least two packaging commandments, so we put them into $libdir +instead. That means we have to hack the file_contents regression test +to know about this. + +Recommendation they change is at http://bugs.mysql.com/bug.php?id=61425 + + +diff -up mariadb-5.5.28a/mysql-test/t/file_contents.test.p19 mariadb-5.5.28a/mysql-test/t/file_contents.test +--- mariadb-5.5.28a/mysql-test/t/file_contents.test.p19 2012-11-28 16:49:38.000000000 +0100 ++++ mariadb-5.5.28a/mysql-test/t/file_contents.test 2012-12-17 17:44:26.802139136 +0100 +@@ -32,6 +32,15 @@ if ($dir_bin eq '/usr/') { + # RedHat/Debian: version number in directory name + $dir_docs = glob "$dir_docs/mariadb-server-*"; + $dir_docs = glob "$dir_docs/MySQL-server*" unless -d $dir_docs; ++ ++ # All the above is entirely wacko, because these files are not docs; ++ # they should be kept in libdir instead. mtr does not provide a nice ++ # way to find libdir though, so we have to kluge it like this: ++ if (-d "/usr/lib64/mysql") { ++ $dir_docs = "/usr/lib64/mysql"; ++ } else { ++ $dir_docs = "/usr/lib/mysql"; ++ } + } + } else { + # tar.gz package, Windows, or developer work (in BZR) diff --git a/mariadb-install-test.patch b/mariadb-install-test.patch new file mode 100644 index 0000000..b946619 --- /dev/null +++ b/mariadb-install-test.patch @@ -0,0 +1,54 @@ +Improve the documentation that will be installed in the mysql-test RPM. + +diff -up mariadb-5.5.28a/mysql-test/README.p3 mariadb-5.5.28a/mysql-test/README +--- mariadb-5.5.28a/mysql-test/README.p3 2012-12-17 16:18:20.824636407 +0100 ++++ mariadb-5.5.28a/mysql-test/README 2012-12-17 16:21:21.598707120 +0100 +@@ -1,15 +1,26 @@ +-This directory contains a test suite for the MySQL daemon. To run +-the currently existing test cases, simply execute ./mysql-test-run in +-this directory. It will fire up the newly built mysqld and test it. +- +-Note that you do not have to have to do "make install", and you could +-actually have a co-existing MySQL installation. The tests will not +-conflict with it. To run the test suite in a source directory, you +-must do make first. +- +-All tests must pass. If one or more of them fail on your system, please +-read the following manual section for instructions on how to report the +-problem: ++This directory contains a test suite for the MariaDB daemon. To run ++the currently existing test cases, execute ./mysql-test-run in ++this directory. ++ ++For use in Red Hat distributions, you should run the script as user mysql, ++so the best bet is something like ++ cd /usr/share/mysql-test ++ sudo -u mysql ./mysql-test-run --skip-test-list=rh-skipped-tests.list ++This will use the installed mysql executables, but will run a private copy ++of the server process (using data files within /usr/share/mysql-test), ++so you need not start the mysqld service beforehand. ++ ++The "--skip-test-list=rh-skipped-tests.list" option excludes tests that are ++known to fail on one or more Red-Hat-supported platforms. You can omit it ++if you want to check whether such failures occur for you. Documentation ++about the reasons for omitting such tests can be found in the file ++rh-skipped-tests.list. ++ ++To clean up afterwards, remove the created "var" subdirectory, eg ++ sudo -u mysql rm -rf /usr/share/mysql-test/var ++ ++If one or more tests fail on your system, please read the following manual ++section for instructions on how to report the problem: + + http://kb.askmonty.org/v/reporting-bugs + +@@ -26,7 +37,8 @@ other relevant options. + + With no test cases named on the command line, mysql-test-run falls back + to the normal "non-extern" behavior. The reason for this is that some +-tests cannot run with an external server. ++tests cannot run with an external server (because they need to control the ++options with which the server is started). + + You can create your own test cases. To create a test case, create a new + file in the t subdirectory using a text editor. The file should have a .test diff --git a/mariadb-logrotate.patch b/mariadb-logrotate.patch new file mode 100644 index 0000000..f76237d --- /dev/null +++ b/mariadb-logrotate.patch @@ -0,0 +1,66 @@ +Adjust the mysql-log-rotate script in several ways: + +* Use the correct log file pathname for Red Hat installations. +* Enable creation of the log file by logrotate (needed since + /var/log/ isn't writable by mysql user); and set the same 640 + permissions we normally use. +* Comment out the actual rotation commands, so that user must edit + the file to enable rotation. This is unfortunate, but the fact + that the script will probably fail without manual configuration + (to set a root password) means that we can't really have it turned + on by default. Fortunately, in most configurations the log file + is low-volume and so rotation is not critical functionality. + +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: + # + # [safe_mysqld] +-# err-log=@localstatedir@/mysqld.log ++# err-log=/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 ! + +-@localstatedir@/mysqld.log { +- # create 600 mysql mysql +- notifempty +- daily +- rotate 3 +- missingok +- compress +- postrotate +- # just if mysqld is really running +- if test -x @bindir@/mysqladmin && \ +- @bindir@/mysqladmin ping &>/dev/null +- then +- @bindir@/mysqladmin flush-logs +- fi +- endscript +-} ++# Then, un-comment the following lines to enable rotation of mysql's log file: ++ ++#/var/log/mysqld.log { ++# create 640 mysql mysql ++# notifempty ++# daily ++# rotate 3 ++# missingok ++# compress ++# postrotate ++# # just if mysqld is really running ++# if test -x @bindir@/mysqladmin && \ ++# @bindir@/mysqladmin ping &>/dev/null ++# then ++# @bindir@/mysqladmin flush-logs ++# fi ++# endscript ++#} diff --git a/mariadb-man-plugin.patch b/mariadb-man-plugin.patch new file mode 100644 index 0000000..64bae9e --- /dev/null +++ b/mariadb-man-plugin.patch @@ -0,0 +1,16 @@ +MySQL tar ball includes mysql_plugin.1, but mariadb tar ball doesn't. +Since mysql_plugin.1 is added into RPM by hand, we have to add it to the +CMakeLists.txt too. + +diff -up mariadb-5.5.28a/man/CMakeLists.txt.mysql_plugin mariadb-5.5.28a/man/CMakeLists.txt +--- mariadb-5.5.28a/man/CMakeLists.txt.mysql_plugin 2013-01-02 11:48:23.845499524 +0100 ++++ mariadb-5.5.28a/man/CMakeLists.txt 2013-01-02 11:48:49.967514226 +0100 +@@ -21,7 +21,7 @@ SET(MAN1_SERVER innochecksum.1 my_print_ + mysql_tzinfo_to_sql.1 mysql_upgrade.1 mysql_zap.1 + mysqld_multi.1 mysqld_safe.1 mysqldumpslow.1 mysqlhotcopy.1 + mysqlman.1 mysqltest.1 perror.1 replace.1 resolve_stack_dump.1 +- resolveip.1 mysqlbug.1) ++ resolveip.1 mysqlbug.1 mysql_plugin.1) + SET(MAN8_SERVER mysqld.8 mysqlmanager.8) + SET(MAN1_CLIENT msql2mysql.1 mysql.1 mysql_find_rows.1 mysql_waitpid.1 + mysqlaccess.1 mysqladmin.1 mysqlbinlog.1 mysqlcheck.1 diff --git a/mariadb-s390-tsc.patch b/mariadb-s390-tsc.patch new file mode 100644 index 0000000..f995266 --- /dev/null +++ b/mariadb-s390-tsc.patch @@ -0,0 +1,41 @@ +Support s390/s390x in performance schema's cycle-counting functions. +Filed upstream at http://bugs.mysql.com/bug.php?id=59953 + + +diff -up mysql-5.5.28/include/my_rdtsc.h.p11 mysql-5.5.28/include/my_rdtsc.h +--- mysql-5.5.28/include/my_rdtsc.h.p11 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/include/my_rdtsc.h 2012-12-06 14:22:13.651823354 +0100 +@@ -125,6 +125,7 @@ C_MODE_END + #define MY_TIMER_ROUTINE_MACH_ABSOLUTE_TIME 25 + #define MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME 26 + #define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27 ++#define MY_TIMER_ROUTINE_ASM_S390 28 + + #endif + +diff -up mysql-5.5.28/mysys/my_rdtsc.c.p11 mysql-5.5.28/mysys/my_rdtsc.c +--- mysql-5.5.28/mysys/my_rdtsc.c.p11 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/mysys/my_rdtsc.c 2012-12-06 14:22:13.672823375 +0100 +@@ -224,6 +224,13 @@ ulonglong my_timer_cycles(void) + clock_gettime(CLOCK_SGI_CYCLE, &tp); + return (ulonglong) tp.tv_sec * 1000000000 + (ulonglong) tp.tv_nsec; + } ++#elif defined(__GNUC__) && defined(__s390__) ++ /* covers both s390 and s390x */ ++ { ++ ulonglong result; ++ __asm__ __volatile__ ("stck %0" : "=Q" (result) : : "cc"); ++ return result; ++ } + #elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME) + /* gethrtime may appear as either cycle or nanosecond counter */ + return (ulonglong) gethrtime(); +@@ -533,6 +540,8 @@ void my_timer_init(MY_TIMER_INFO *mti) + mti->cycles.routine= MY_TIMER_ROUTINE_ASM_GCC_SPARC32; + #elif defined(__sgi) && defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_SGI_CYCLE) + mti->cycles.routine= MY_TIMER_ROUTINE_SGI_CYCLE; ++#elif defined(__GNUC__) && defined(__s390__) ++ mti->cycles.routine= MY_TIMER_ROUTINE_ASM_S390; + #elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME) + mti->cycles.routine= MY_TIMER_ROUTINE_GETHRTIME; + #else diff --git a/mariadb-string-overflow.patch b/mariadb-string-overflow.patch new file mode 100644 index 0000000..5bb46da --- /dev/null +++ b/mariadb-string-overflow.patch @@ -0,0 +1,43 @@ +These issues were found by Coverity static analysis tool, for more info +see messages by particular fixes (messages belong to 5.1.61). + +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 mariadb-5.5.28a/sql/sql_prepare.cc.p20 mariadb-5.5.28a/sql/sql_prepare.cc +--- mariadb-5.5.28a/sql/sql_prepare.cc.p20 2012-11-28 16:49:36.000000000 +0100 ++++ mariadb-5.5.28a/sql/sql_prepare.cc 2012-12-17 17:45:24.232151645 +0100 +@@ -2975,7 +2975,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); + } + thd->stmt_da= save_stmt_da; + thd->warning_info= save_warinig_info; + + + + +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 mariadb-5.5.28a/sql/sql_trigger.cc.p20 mariadb-5.5.28a/sql/sql_trigger.cc +diff -up mariadb-5.5.28a/storage/innobase/handler/ha_innodb.cc.p20 mariadb-5.5.28a/storage/innobase/handler/ha_innodb.cc +--- mariadb-5.5.28a/storage/innobase/handler/ha_innodb.cc.p20 2012-11-28 16:49:36.000000000 +0100 ++++ mariadb-5.5.28a/storage/innobase/handler/ha_innodb.cc 2012-12-17 17:45:24.239151651 +0100 +@@ -7094,7 +7094,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); + diff --git a/mariadb-strmov.patch b/mariadb-strmov.patch new file mode 100644 index 0000000..03322ff --- /dev/null +++ b/mariadb-strmov.patch @@ -0,0 +1,30 @@ +Remove overly optimistic definition of strmov() as stpcpy(). + +mysql uses this macro with overlapping source and destination strings, +which is verboten per spec, and fails on some Red Hat platforms. +Deleting the definition is sufficient to make it fall back to a +byte-at-a-time copy loop, which should consistently give the +expected behavior. + +Note: the particular case that prompted this patch is reported and fixed +at http://bugs.mysql.com/bug.php?id=48864. However, my faith in upstream's +ability to detect this type of error is low, and I also see little evidence +of any real performance gain from optimizing these calls. So I'm keeping +this patch. + +diff -up mariadb-5.5.28a/include/m_string.h.p2 mariadb-5.5.28a/include/m_string.h +--- mariadb-5.5.28a/include/m_string.h.p2 2012-12-17 16:14:19.140536799 +0100 ++++ mariadb-5.5.28a/include/m_string.h 2012-12-17 16:15:40.036567242 +0100 +@@ -79,12 +79,6 @@ extern "C" { + extern void *(*my_str_malloc)(size_t); + extern void (*my_str_free)(void *); + +-#if defined(HAVE_STPCPY) && MY_GNUC_PREREQ(3, 4) && !defined(__INTEL_COMPILER) +-#define strmov(A,B) __builtin_stpcpy((A),(B)) +-#elif defined(HAVE_STPCPY) +-#define strmov(A,B) stpcpy((A),(B)) +-#endif +- + /* Declared in int2str() */ + extern const char _dig_vec_upper[]; + extern const char _dig_vec_lower[]; diff --git a/mariadb-versioning.patch b/mariadb-versioning.patch new file mode 100644 index 0000000..6374b6c --- /dev/null +++ b/mariadb-versioning.patch @@ -0,0 +1,18 @@ +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) diff --git a/mariadb.spec b/mariadb.spec new file mode 100644 index 0000000..d1912ea --- /dev/null +++ b/mariadb.spec @@ -0,0 +1,722 @@ +Name: mariadb +Version: 5.5.28a +Release: 5%{?dist} + +Summary: A community developed branch of MySQL +Group: Applications/Databases +URL: http://mariadb.org +# 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 + +# The last known mysql release +%global last_mysql_evr %{version}-%{release} + +# Regression tests take a long time, you can skip 'em with this +%{!?runselftest:%global runselftest 1} + +Source0: http://ftp.osuosl.org/pub/mariadb/mariadb-%{version}/kvm-tarbake-jaunty-x86/mariadb-%{version}.tar.gz +Source3: my.cnf +Source5: my_config.h +Source6: README.mysql-docs +Source7: README.mysql-license +Source8: libmysql.version +Source9: mysql-embedded-check.c +Source10: mariadb.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 +# mysql_plugin is missing in mariadb tar ball +Source16: mysql_plugin.1 + +# Comments for these patches are in the patch files. +Patch1: mariadb-errno.patch +Patch2: mariadb-strmov.patch +Patch3: mariadb-install-test.patch +Patch4: mariadb-expired-certs.patch +Patch5: mariadb-versioning.patch +Patch6: mariadb-dubious-exports.patch +Patch7: mariadb-s390-tsc.patch +Patch8: mariadb-logrotate.patch +Patch9: mariadb-cipherspec.patch +Patch10: mariadb-file-contents.patch +Patch11: mariadb-string-overflow.patch +Patch12: mariadb-dh1024.patch +Patch13: mariadb-man-plugin.patch + +BuildRequires: perl, readline-devel, openssl-devel +BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel +BuildRequires: systemd-units, 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) + +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: grep, fileutils, bash + +%{?systemd_requires: %systemd_requires} + +# MySQL (with caps) is upstream's spelling of their own RPMs for mysql +Conflicts: MySQL +# MariaDB replaces mysql packages +Provides: mysql%{?_isa} = %{version}-%{release} +Obsoletes: mysql%{?_isa} < %{last_mysql_evr} +# mysql-cluster used to be built from this SRPM, but no more +Obsoletes: mysql-cluster < 5.1.44 + +# patch utility does automatically back-up of chunks that didn't apply +# smoothly, but we don't want to create that files because they could be +# included in RPM incorrectly +%global _default_patch_flags --no-backup-if-mismatch + +%description +MariaDB is a community developed branch of MySQL. +MariaDB is a multi-user, multi-threaded SQL database server. +It is a client/server implementation consisting of a server daemon (mysqld) +and many different client programs and libraries. The base package +contains the standard MariaDB/MySQL client programs and generic MySQL files. + +%package libs + +Summary: The shared libraries required for MariaDB/MySQL clients +Group: Applications/Databases +Requires: /sbin/ldconfig +Provides: mysql-libs%{?_isa} = %{version}-%{release} +Obsoletes: mysql-libs%{?_isa} < %{last_mysql_evr} + +%description libs +The mariadb-libs package provides the essential shared libraries for any +MariaDB/MySQL client program or interface. You will need to install this +package to use any other MariaDB package or any clients that need to connect +to a MariaDB/MySQL server. MariaDB is a community developed branch of MySQL. + +%package server + +Summary: The MariaDB server and related files +Group: Applications/Databases +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: sh-utils +Requires(pre): /usr/sbin/useradd +# We require this to be present for %%{_prefix}/lib/tmpfiles.d +Requires: systemd-units +# Make sure it's there when scriptlets run, too +Requires(post): systemd-units +Requires(preun): systemd-units +Requires(postun): systemd-units +# This is actually needed for the %%triggerun script but Requires(triggerun) +# is not valid. We can use %%post because this particular %%triggerun script +# should fire just after this package is installed. +Requires(post): systemd-sysv +# mysqlhotcopy needs DBI/DBD support +Requires: perl-DBI, perl-DBD-MySQL +Conflicts: MySQL-server +Provides: mysql-server%{?_isa} = %{version}-%{release} +Obsoletes: mysql-server%{?_isa} < %{last_mysql_evr} + +%description server +MariaDB is a multi-user, multi-threaded SQL database server. It is a +client/server implementation consisting of a server daemon (mysqld) +and many different client programs and libraries. This package contains +the MariaDB server and some accompanying files and directories. +MariaDB is a community developed branch of MySQL. + +%package devel + +Summary: Files for development of MariaDB/MySQL applications +Group: Applications/Databases +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: openssl-devel%{?_isa} +Conflicts: MySQL-devel +Provides: mysql-devel%{?_isa} = %{version}-%{release} +Obsoletes: mysql-devel%{?_isa} < %{last_mysql_evr} + +%description devel +MariaDB is a multi-user, multi-threaded SQL database server. This +package contains the libraries and header files that are needed for +developing MariaDB/MySQL client applications. +MariaDB is a community developed branch of MySQL. + +%package embedded + +Summary: MariaDB as an embeddable library +Group: Applications/Databases +Requires: /sbin/ldconfig +Provides: mysql-embedded%{?_isa} = %{version}-%{release} +Obsoletes: mysql-embedded%{?_isa} < %{last_mysql_evr} + +%description embedded +MariaDB is a multi-user, multi-threaded SQL database server. This +package contains a version of the MariaDB server that can be embedded +into a client application instead of running as a separate process. +MariaDB is a community developed branch of MySQL. + +%package embedded-devel + +Summary: Development files for MariaDB as an embeddable library +Group: Applications/Databases +Requires: %{name}-embedded%{?_isa} = %{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Provides: mysql-embedded-devel%{?_isa} = %{version}-%{release} +Obsoletes: mysql-embedded-devel%{?_isa} < %{last_mysql_evr} + +%description embedded-devel +MariaDB is a multi-user, multi-threaded SQL database server. This +package contains files needed for developing and testing with +the embedded version of the MariaDB server. +MariaDB is a community developed branch of MySQL. + +%package bench + +Summary: MariaDB benchmark scripts and data +Group: Applications/Databases +Requires: %{name}%{?_isa} = %{version}-%{release} +Conflicts: MySQL-bench +Provides: mysql-bench%{?_isa} = %{version}-%{release} +Obsoletes: mysql-bench%{?_isa} < %{last_mysql_evr} + +%description bench +MariaDB is a multi-user, multi-threaded SQL database server. This +package contains benchmark scripts and data for use when benchmarking +MariaDB. +MariaDB is a community developed branch of MySQL. + +%package test + +Summary: The test suite distributed with MariaD +Group: Applications/Databases +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Conflicts: MySQL-test +Provides: mysql-test%{?_isa} = %{version}-%{release} +Obsoletes: mysql-test%{?_isa} < %{last_mysql_evr} + +%description test +MariaDB is a multi-user, multi-threaded SQL database server. This +package contains the regression test suite distributed with +the MariaDB sources. +MariaDB is a community developed branch of MySQL. + +%prep +%setup -q -n mariadb-%{version} + +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 +%patch11 -p1 +%patch12 -p1 +%patch13 -p1 + +# workaround for upstream bug #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 +cat %{SOURCE14} > mysql-test/rh-skipped-tests.list +# disable some tests failing on ARM architectures +%ifarch %{arm} +cat %{SOURCE15} >> mysql-test/rh-skipped-tests.list +%endif + +# install mysql_plugin +cp %{SOURCE16} man/ + +%build + +# fail quickly and obviously if user tries to build as root +%if %runselftest + if [ x"`id -u`" = x0 ]; then + echo "mariadb'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." + exit 1 + fi +%endif + +CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" +# force PIC mode so that we can build libmysqld.so +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" ` +%endif +CXXFLAGS="$CFLAGS" +export CFLAGS CXXFLAGS +# building with PIE +LDFLAGS="$LDFLAGS -pie" +export LDFLAGS + +# 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 \ + -DFEATURE_SET="community" \ + -DINSTALL_LAYOUT=RPM \ + -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ + -DINSTALL_INCLUDEDIR=include/mysql \ + -DINSTALL_INFODIR=share/info \ + -DINSTALL_LIBDIR="%{_lib}/mysql" \ + -DINSTALL_MANDIR=share/man \ + -DINSTALL_MYSQLSHAREDIR=share/mysql \ + -DINSTALL_MYSQLTESTDIR=share/mysql-test \ + -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ + -DINSTALL_SBINDIR=libexec \ + -DINSTALL_SCRIPTDIR=bin \ + -DINSTALL_SQLBENCHDIR=share \ + -DINSTALL_SUPPORTFILESDIR=share/mysql \ + -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_SSL=system \ + -DWITH_ZLIB=system \ + -DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now" + +make %{?_smp_mflags} VERBOSE=1 + +# 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 e in innobase xtradb ; do + for f in pars0grm.c pars0grm.y pars0lex.l lexyy.c ; do + cp "storage/$e/pars/$f" "storage/$e/$f" + done +done + +%check +%if %runselftest + # hack to let 32- and 64-bit tests run concurrently on same build machine + case `uname -m` in + ppc64 | 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 \ + --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 + +# List the installed tree for RPM package maintenance purposes. +find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | 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 | s390 | s390x | sparc | sparc64 ) + mv $RPM_BUILD_ROOT/usr/include/mysql/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/my_config_`uname -i`.h + install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/usr/include/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 + +# install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, +# but that's pretty wacko --- see also mariadb-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/ + +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 $RPM_BUILD_ROOT%{_sysconfdir} +install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/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 $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 + +# Remove libmysqld.a +rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.a + +# 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 +# just the devel libmysqlclient_r.so link, so that rebuilding without any +# source change is enough to get rid of dependency on libmysqlclient_r. +rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient_r.so* +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 + +# should move this to /etc/ ? +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/mysql-stress-test.pl.1* +rm -f ${RPM_BUILD_ROOT}%{_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 $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d +echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf + +# copy additional docs into build tree so %%doc will find them +cp %{SOURCE6} README.mysql-docs +cp %{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 + +# remove unneeded RHEL-4 SELinux stuff +rm -rf ${RPM_BUILD_ROOT}%{_datadir}/mysql/SELinux/ + +# remove SysV init script +rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/init.d/mysql + +# remove duplicate logrotate script +rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/mysql + +%pre server +/usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : +/usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /bin/bash \ + -c "MariaDB Server" -u 27 mysql >/dev/null 2>&1 || : + +%post libs -p /sbin/ldconfig + +%post server +# As soon as Fedora 17, which doesn't know %%systemd_post macro, +# is retired, we can remove the check for availability of the macro +# and the alternative code. +# Let's keep it there now for anyone trying to build the package +# for F17 on his own. +%if 0%{?systemd_post:1} +%systemd_post mysqld.service +%else +if [ $1 = 1 ]; then + # Initial installation + /bin/systemctl daemon-reload >/dev/null 2>&1 || : +fi +%endif +/bin/chmod 0755 /var/lib/mysql +/bin/touch /var/log/mysqld.log + +# 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 + +%post embedded -p /sbin/ldconfig + +%preun server +%if 0%{?systemd_preun:1} +%systemd_preun mysqld.service +%else +if [ $1 = 0 ]; then + # Package removal, not upgrade + /bin/systemctl --no-reload disable mysqld.service >/dev/null 2>&1 || : + /bin/systemctl stop mysqld.service >/dev/null 2>&1 || : +fi +%endif + +%postun libs -p /sbin/ldconfig + +%postun server +%if 0%{?systemd_postun_with_restart:1} +%systemd_postun_with_restart mysqld.service +%else +/bin/systemctl daemon-reload >/dev/null 2>&1 || : +if [ $1 -ge 1 ]; then + # Package upgrade, not uninstall + /bin/systemctl try-restart mysqld.service >/dev/null 2>&1 || : +fi +%endif + +%postun embedded -p /sbin/ldconfig + +%files +%doc README COPYING COPYING.LESSER 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_find_rows +%{_bindir}/mysql_waitpid +%{_bindir}/mysqlaccess +%{_bindir}/mysqladmin +%{_bindir}/mysqlbinlog +%{_bindir}/mysqlcheck +%{_bindir}/mysqldump +%{_bindir}/mysqlimport +%{_bindir}/mysqlshow +%{_bindir}/mysqlslap +%{_bindir}/my_print_defaults +%{_bindir}/mytop +%{_bindir}/aria_chk +%{_bindir}/aria_dump_log +%{_bindir}/aria_ftdump +%{_bindir}/aria_pack +%{_bindir}/aria_read_log + +%{_mandir}/man1/mysql.1* +%{_mandir}/man1/mysql_config.1* +%{_mandir}/man1/mysql_find_rows.1* +%{_mandir}/man1/mysql_waitpid.1* +%{_mandir}/man1/mysqlaccess.1* +%{_mandir}/man1/mysqladmin.1* +%{_mandir}/man1/mysqldump.1* +%{_mandir}/man1/mysqlshow.1* +%{_mandir}/man1/mysqlslap.1* +%{_mandir}/man1/my_print_defaults.1* +%{_mandir}/man1/mysql_fix_privilege_tables.1* +%{_mandir}/man8/mysqlmanager.8* + +%{_libdir}/mysql/mysql_config +%config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf + +%files libs +%doc README COPYING COPYING.LESSER 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) %{_sysconfdir}/my.cnf +%config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf +%dir %{_libdir}/mysql +%{_libdir}/mysql/libmysqlclient.so.* +%{_sysconfdir}/ld.so.conf.d/* + +%dir %{_datadir}/mysql +%{_datadir}/mysql/english +%lang(cs) %{_datadir}/mysql/czech +%lang(da) %{_datadir}/mysql/danish +%lang(nl) %{_datadir}/mysql/dutch +%lang(et) %{_datadir}/mysql/estonian +%lang(fr) %{_datadir}/mysql/french +%lang(de) %{_datadir}/mysql/german +%lang(el) %{_datadir}/mysql/greek +%lang(hu) %{_datadir}/mysql/hungarian +%lang(it) %{_datadir}/mysql/italian +%lang(ja) %{_datadir}/mysql/japanese +%lang(ko) %{_datadir}/mysql/korean +%lang(no) %{_datadir}/mysql/norwegian +%lang(no) %{_datadir}/mysql/norwegian-ny +%lang(pl) %{_datadir}/mysql/polish +%lang(pt) %{_datadir}/mysql/portuguese +%lang(ro) %{_datadir}/mysql/romanian +%lang(ru) %{_datadir}/mysql/russian +%lang(sr) %{_datadir}/mysql/serbian +%lang(sk) %{_datadir}/mysql/slovak +%lang(es) %{_datadir}/mysql/spanish +%lang(sv) %{_datadir}/mysql/swedish +%lang(uk) %{_datadir}/mysql/ukrainian +%{_datadir}/mysql/charsets + +%files server +%doc support-files/*.cnf + +%{_bindir}/myisamchk +%{_bindir}/myisam_ftdump +%{_bindir}/myisamlog +%{_bindir}/myisampack +%{_bindir}/mysql_convert_table_format +%{_bindir}/mysql_fix_extensions +%{_bindir}/mysql_install_db +%{_bindir}/mysql_plugin +%{_bindir}/mysql_secure_installation +%{_bindir}/mysql_setpermission +%{_bindir}/mysql_tzinfo_to_sql +%{_bindir}/mysql_upgrade +%{_bindir}/mysql_zap +%{_bindir}/mysqlbug +%{_bindir}/mysqldumpslow +%{_bindir}/mysqld_multi +%{_bindir}/mysqld_safe +%{_bindir}/mysqlhotcopy +%{_bindir}/mysqltest +%{_bindir}/innochecksum +%{_bindir}/perror +%{_bindir}/replace +%{_bindir}/resolve_stack_dump +%{_bindir}/resolveip + +%config(noreplace) %{_sysconfdir}/my.cnf.d/server.cnf + +%{_libexecdir}/mysqld + +%{_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* +%{_mandir}/man1/mysql_convert_table_format.1* +%{_mandir}/man1/myisam_ftdump.1* +%{_mandir}/man1/mysql.server.1* +%{_mandir}/man1/mysql_fix_extensions.1* +%{_mandir}/man1/mysql_install_db.1* +%{_mandir}/man1/mysql_plugin.1* +%{_mandir}/man1/mysql_secure_installation.1* +%{_mandir}/man1/mysql_upgrade.1* +%{_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* +%{_mandir}/man1/innochecksum.1* +%{_mandir}/man1/perror.1* +%{_mandir}/man1/replace.1* +%{_mandir}/man1/resolve_stack_dump.1* +%{_mandir}/man1/resolveip.1* +%{_mandir}/man1/mysql_tzinfo_to_sql.1* +%{_mandir}/man8/mysqld.8* + +%{_datadir}/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 + +%{_unitdir}/mysqld.service +%{_libexecdir}/mysqld-prepare-db-dir +%{_libexecdir}/mysqld-wait-ready + +%{_prefix}/lib/tmpfiles.d/%{name}.conf +%attr(0755,mysql,mysql) %dir /var/run/mysqld +%attr(0755,mysql,mysql) %dir /var/lib/mysql +%attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) /var/log/mysqld.log +%config(noreplace) %{_sysconfdir}/logrotate.d/mysqld + +%files devel +/usr/include/mysql +/usr/share/aclocal/mysql.m4 +%{_libdir}/mysql/libmysqlclient.so +%{_libdir}/mysql/libmysqlclient_r.so + +%files embedded +%doc README COPYING COPYING.LESSER README.mysql-license +%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google +%{_libdir}/mysql/libmysqld.so.* + +%files embedded-devel +%{_libdir}/mysql/libmysqld.so +%{_bindir}/mysql_client_test_embedded +%{_bindir}/mysqltest_embedded +%{_mandir}/man1/mysql_client_test_embedded.1* +%{_mandir}/man1/mysqltest_embedded.1* + +%files bench +%{_datadir}/sql-bench + +%files test +%{_bindir}/mysql_client_test +%{_bindir}/my_safe_process +%attr(-,mysql,mysql) %{_datadir}/mysql-test + +%{_mandir}/man1/mysql_client_test.1* + +%changelog +* Thu Jan 10 2013 Honza Horak 5.5.28a-5 +- Added licenses LGPLv2 and BSD +- Removed wrong usage of %%{epoch} +- Test-suite is run in %%check +- Removed perl dependency checking adjustment, rpm seems to be smart enough +- Other minor spec file fixes + +* Tue Dec 18 2012 Honza Horak 5.5.28a-4 +- Packaging of MariaDB based on MySQL package + diff --git a/mariadb.tmpfiles.d b/mariadb.tmpfiles.d new file mode 100644 index 0000000..74cd5f8 --- /dev/null +++ b/mariadb.tmpfiles.d @@ -0,0 +1 @@ +d /var/run/mysqld 0755 mysql mysql - diff --git a/my.cnf b/my.cnf new file mode 100644 index 0000000..587c3c9 --- /dev/null +++ b/my.cnf @@ -0,0 +1,19 @@ +[mysqld] +# Settings user and group are ignored when systemd is used. +# If you need to run mysqld under different user or group, +# customize your systemd unit file for mysqld according to the +# instructions in http://fedoraproject.org/wiki/Systemd +datadir=/var/lib/mysql +socket=/var/lib/mysql/mysql.sock +# Disabling symbolic-links is recommended to prevent assorted security risks +symbolic-links=0 + +[mysqld_safe] +log-error=/var/log/mysqld.log +pid-file=/var/run/mysqld/mysqld.pid + +# +# include all files from the config directory +# +!includedir /etc/my.cnf.d + diff --git a/my_config.h b/my_config.h new file mode 100644 index 0000000..435a126 --- /dev/null +++ b/my_config.h @@ -0,0 +1,29 @@ +/* + * Kluge to support multilib installation of both 32- and 64-bit RPMS: + * we need to arrange that header files that appear in both RPMs are + * identical. Hence, this file is architecture-independent and calls + * in an arch-dependent file that will appear in just one RPM. + * + * To avoid breaking arches not explicitly supported by Red Hat, we + * use this indirection file *only* on known multilib arches. + * + * Note: this may well fail if user tries to use gcc's -I- option. + * But that option is deprecated anyway. + */ +#if defined(__x86_64__) +#include "my_config_x86_64.h" +#elif defined(__i386__) +#include "my_config_i386.h" +#elif defined(__ppc64__) || defined(__powerpc64__) +#include "my_config_ppc64.h" +#elif defined(__ppc__) || defined(__powerpc__) +#include "my_config_ppc.h" +#elif defined(__s390x__) +#include "my_config_s390x.h" +#elif defined(__s390__) +#include "my_config_s390.h" +#elif defined(__sparc__) && defined(__arch64__) +#include "my_config_sparc64.h" +#elif defined(__sparc__) +#include "my_config_sparc.h" +#endif diff --git a/mysql-embedded-check.c b/mysql-embedded-check.c new file mode 100644 index 0000000..8bf8ca5 --- /dev/null +++ b/mysql-embedded-check.c @@ -0,0 +1,26 @@ +/* simple test program to see if we can link the embedded server library */ + +#include +#include +#include + +#include "mysql.h" + +MYSQL *mysql; + +static char *server_options[] = \ + { "mysql_test", "--defaults-file=my.cnf", NULL }; +int num_elements = (sizeof(server_options) / sizeof(char *)) - 1; + +static char *server_groups[] = { "libmysqld_server", + "libmysqld_client", NULL }; + +int main(int argc, char **argv) +{ + mysql_library_init(num_elements, server_options, server_groups); + mysql = mysql_init(NULL); + mysql_close(mysql); + mysql_library_end(); + + return 0; +} diff --git a/mysql_plugin.1 b/mysql_plugin.1 new file mode 100644 index 0000000..e8cacd5 --- /dev/null +++ b/mysql_plugin.1 @@ -0,0 +1,388 @@ +'\" t +.\" Title: \fBmysql_plugin\fR +.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] +.\" Generator: DocBook XSL Stylesheets v1.77.1 +.\" Date: 12/08/2012 +.\" Manual: MySQL Database System +.\" Source: MySQL 5.5 +.\" Language: English +.\" +.TH "\FBMYSQL_PLUGIN\FR" "1" "12/08/2012" "MySQL 5\&.5" "MySQL Database System" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.\" mysql_plugin +.SH "NAME" +mysql_plugin \- configure MySQL server plugins +.SH "SYNOPSIS" +.HP \w'\fBmysql_plugin\ [\fR\fB\fIoptions\fR\fR\fB]\ \fR\fB\fIplugin\fR\fR\fB\ {ENABLE|DISABLE}\fR\ 'u +\fBmysql_plugin [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIplugin\fR\fR\fB {ENABLE|DISABLE}\fR +.SH "DESCRIPTION" +.PP +The +\fBmysql_plugin\fR +utility enables MySQL administrators to manage which plugins a MySQL server loads\&. It provides an alternative to manually specifying the +\fB\-\-plugin\-load\fR +option at server startup or using the +INSTALL PLUGIN +and +UNINSTALL PLUGIN +statements at runtime\&. +\fBmysql_plugin\fR +is available as of MySQL 5\&.5\&.16\&. +.PP +Depending on whether +\fBmysql_plugin\fR +is invoked to enable or disable plugins, it inserts or deletes rows in the +mysql\&.plugin +table that serves as a plugin registry\&. (To perform this operation, +\fBmysql_plugin\fR +invokes the MySQL server in bootstrap mode\&. This means that the server must not already be running\&.) For normal server startups, the server loads and enables plugins listed in +mysql\&.plugin +automatically\&. For additional control over plugin activation, use +\fB\-\-\fR\fB\fIplugin_name\fR\fR +options named for specific plugins, as described in +Section\ \&5.1.8.1, \(lqInstalling and Uninstalling Plugins\(rq\&. +.PP +Each invocation of +\fBmysql_plugin\fR +reads a configuration file to determine how to configure the plugins contained in a single plugin library object file\&. To invoke +\fBmysql_plugin\fR, use this syntax: +.sp +.if n \{\ +.RS 4 +.\} +.nf +mysql_plugin [\fIoptions\fR] \fIplugin\fR {ENABLE|DISABLE} +.fi +.if n \{\ +.RE +.\} +.PP +\fIplugin\fR +is the name of the plugin to configure\&. +ENABLE +or +DISABLE +(not case sensitive) specify whether to enable or disable components of the plugin library named in the configuration file\&. The order of the +\fIplugin\fR +and +ENABLE +or +DISABLE +arguments does not matter\&. +.PP +For example, to configure components of a plugin library file named +myplugins\&.so +on Linux or +myplugins\&.dll +on Windows, specify a +\fIplugin\fR +value of +myplugins\&. Suppose that this plugin library contains three plugins, +plugin1, +plugin2, and +plugin3, all of which should be configured under +\fBmysql_plugin\fR +control\&. By convention, configuration files have a suffix of +\&.ini +and the same basename as the plugin library, so the default configuration file name for this plugin library is +myplugins\&.ini\&. The configuration file contents look like this: +.sp +.if n \{\ +.RS 4 +.\} +.nf +myplugins +plugin1 +plugin2 +plugin3 +.fi +.if n \{\ +.RE +.\} +.PP +The first line in the +myplugins\&.ini +file is the name of the library object file, without any extension such as +\&.so +or +\&.dll\&. The remaining lines are the names of the components to be enabled or disabled\&. Each value in the file should be on a separate line\&. Lines on which the first character is +\*(Aq#\*(Aq +are taken as comments and ignored\&. +.PP +To enable the plugins listed in the configuration file, invoke +\fBmysql_plugin\fR +this way: +.sp +.if n \{\ +.RS 4 +.\} +.nf +shell> \fBmysql_plugin myplugins ENABLE\fR +.fi +.if n \{\ +.RE +.\} +.PP +To disable the plugins, use +DISABLE +rather than +ENABLE\&. +.PP +An error occurs if +\fBmysql_plugin\fR +cannot find the configuration file or plugin library file, or if +\fBmysql_plugin\fR +cannot start the MySQL server\&. +.PP +\fBmysql_plugin\fR +supports the following options, which can be specified on the command line or in the +[mysqld] +group of any option file\&. For options specified in a +[mysqld] +group, +\fBmysql_plugin\fR +recognizes the +\fB\-\-basedir\fR, +\fB\-\-datadir\fR, and +\fB\-\-plugin\-dir\fR +options and ignores others\&. For information about option files, see +Section\ \&4.2.3.3, \(lqUsing Option Files\(rq\&. +.PP +mysql_plugin Options +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +.\" mysql_plugin: help option +.\" help option: mysql_plugin +\fB\-\-help\fR, +\fB\-?\fR +.sp +Display a help message and exit\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +.\" mysql_plugin: basedir option +.\" basedir option: mysql_plugin +\fB\-\-basedir=\fR\fB\fIpath\fR\fR, +\fB\-b \fR\fB\fIpath\fR\fR +.sp +The server base directory\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +.\" mysql_plugin: datadir option +.\" datadir option: mysql_plugin +\fB\-\-datadir=\fR\fB\fIpath\fR\fR, +\fB\-d \fR\fB\fIpath\fR\fR +.sp +The server data directory\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +.\" mysql_plugin: my-print-defaults option +.\" my-print-defaults option: mysql_plugin +\fB\-\-my\-print\-defaults=\fR\fB\fIpath\fR\fR, +\fB\-b \fR\fB\fIpath\fR\fR +.sp +The path to the +\fBmy_print_defaults\fR +program\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +.\" mysql_plugin: mysqld option +.\" mysqld option: mysql_plugin +\fB\-\-mysqld=\fR\fB\fIpath\fR\fR, +\fB\-b \fR\fB\fIpath\fR\fR +.sp +The path to the +\fBmysqld\fR +server\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +.\" mysql_plugin: no-defaults option +.\" no-defaults option: mysql_plugin +\fB\-\-no\-defaults\fR, +\fB\-p\fR +.sp +Do not read values from the configuration file\&. This option enables an administrator to skip reading defaults from the configuration file\&. +.sp +With +\fBmysql_plugin\fR, this option need not be given first on the command line, unlike most other MySQL programs that support +\fB\-\-no\-defaults\fR\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +.\" mysql_plugin: plugin-dir option +.\" plugin-dir option: mysql_plugin +\fB\-\-plugin\-dir=\fR\fB\fIpath\fR\fR, +\fB\-p \fR\fB\fIpath\fR\fR +.sp +The server plugin directory\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +.\" mysql_plugin: plugin-ini option +.\" plugin-ini option: mysql_plugin +\fB\-\-plugin\-ini=\fR\fB\fIfile_name\fR\fR, +\fB\-i \fR\fB\fIfile_name\fR\fR +.sp +The +\fBmysql_plugin\fR +configuration file\&. Relative path names are interpreted relative to the current directory\&. If this option is not given, the default is +\fIplugin\fR\&.ini +in the plugin directory, where +\fIplugin\fR +is the +\fIplugin\fR +argument on the command line\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +.\" mysql_plugin: print-defaults option +.\" print-defaults option: mysql_plugin +\fB\-\-print\-defaults\fR, +\fB\-P\fR +.sp +Display the default values from the configuration file\&. This option causes +\fBmysql_plugin\fR +to print the defaults for +\fB\-\-basedir\fR, +\fB\-\-datadir\fR, and +\fB\-\-plugin\-dir\fR +if they are found in the configuration file\&. If no value for a variable is found, nothing is shown\&. +.sp +With +\fBmysql_plugin\fR, this option need not be given first on the command line, unlike most other MySQL programs that support +\fB\-\-print\-defaults\fR\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +.\" mysql_plugin: verbose option +.\" verbose option: mysql_plugin +\fB\-\-verbose\fR, +\fB\-v\fR +.sp +Verbose mode\&. Print more information about what the program does\&. This option can be used multiple times to increase the amount of information\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +.\" mysql_plugin: version option +.\" version option: mysql_plugin +\fB\-\-version\fR, +\fB\-V\fR +.sp +Display version information and exit\&. +.RE +.SH "COPYRIGHT" +.br +.PP +Copyright \(co 1997, 2012, Oracle and/or its affiliates. All rights reserved. +.PP +This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. +.PP +This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. +.PP +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. +.sp +.SH "SEE ALSO" +For more information, please refer to the MySQL Reference Manual, +which may already be installed locally and which is also available +online at http://dev.mysql.com/doc/. +.SH AUTHOR +Oracle Corporation (http://dev.mysql.com/). diff --git a/mysqld-prepare-db-dir b/mysqld-prepare-db-dir new file mode 100644 index 0000000..f73bc66 --- /dev/null +++ b/mysqld-prepare-db-dir @@ -0,0 +1,82 @@ +#!/bin/sh + +# This script creates the mysql data directory during first service start. +# In subsequent starts, it does nothing much. + +# extract value of a MySQL option from config files +# Usage: get_mysql_option SECTION VARNAME DEFAULT +# result is returned in $result +# We use my_print_defaults which prints all options from multiple files, +# with the more specific ones later; hence take the last match. +get_mysql_option(){ + result=`/usr/bin/my_print_defaults "$1" | sed -n "s/^--$2=//p" | tail -n 1` + if [ -z "$result" ]; then + # not found, use default + result="$3" + fi +} + +# Defaults here had better match what mysqld_safe will default to +get_mysql_option mysqld datadir "/var/lib/mysql" +datadir="$result" +get_mysql_option mysqld_safe log-error "/var/log/mysqld.log" +errlogfile="$result" + +# Absorb configuration settings from the specified systemd service file, +# or the default "mysqld" service if not specified +SERVICE_NAME="$1" +if [ x"$SERVICE_NAME" = x ] +then + SERVICE_NAME=mysqld.service +fi + +myuser=`systemctl show -p User "${SERVICE_NAME}" | + sed 's/^User=//'` +if [ x"$myuser" = x ] +then + myuser=mysql +fi + +mygroup=`systemctl show -p Group "${SERVICE_NAME}" | + sed 's/^Group=//'` +if [ x"$mygroup" = x ] +then + mygroup=mysql +fi + +# Set up the errlogfile with appropriate permissions +touch "$errlogfile" +chown "$myuser:$mygroup" "$errlogfile" +chmod 0640 "$errlogfile" +[ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" + +# Make the data directory +if [ ! -d "$datadir/mysql" ] ; then + # First, make sure $datadir is there with correct permissions + # (note: if it's not, and we're not root, this'll fail ...) + if [ ! -e "$datadir" -a ! -h "$datadir" ] + then + mkdir -p "$datadir" || exit 1 + fi + chown "$myuser:$mygroup" "$datadir" + chmod 0755 "$datadir" + [ -x /sbin/restorecon ] && /sbin/restorecon "$datadir" + + # Now create the database + echo "Initializing MySQL database" + /usr/bin/mysql_install_db --datadir="$datadir" --user="$myuser" + ret=$? + if [ $ret -ne 0 ] ; then + echo "Initialization of MySQL database failed." >&2 + echo "Perhaps /etc/my.cnf is misconfigured." >&2 + # Clean up any partially-created database files + if [ ! -e "$datadir/mysql/user.frm" ] ; then + rm -rf "$datadir"/* + fi + exit $ret + fi + # In case we're running as root, make sure files are owned properly + chown -R "$myuser:$mygroup" "$datadir" +fi + +exit 0 diff --git a/mysqld-wait-ready b/mysqld-wait-ready new file mode 100644 index 0000000..9b0fd0c --- /dev/null +++ b/mysqld-wait-ready @@ -0,0 +1,56 @@ +#!/bin/sh + +# This script waits for mysqld to be ready to accept connections +# (which can be many seconds or even minutes after launch, if there's +# a lot of crash-recovery work to do). +# Running this as ExecStartPost is useful so that services declared as +# "After mysqld" won't be started until the database is really ready. + +# Service file passes us the daemon's PID (actually, mysqld_safe's PID) +daemon_pid="$1" + +# extract value of a MySQL option from config files +# Usage: get_mysql_option SECTION VARNAME DEFAULT +# result is returned in $result +# We use my_print_defaults which prints all options from multiple files, +# with the more specific ones later; hence take the last match. +get_mysql_option(){ + result=`/usr/bin/my_print_defaults "$1" | sed -n "s/^--$2=//p" | tail -n 1` + if [ -z "$result" ]; then + # not found, use default + result="$3" + fi +} + +# Defaults here had better match what mysqld_safe will default to +get_mysql_option mysqld datadir "/var/lib/mysql" +datadir="$result" +get_mysql_option mysqld socket "$datadir/mysql.sock" +socketfile="$result" + +# Wait for the server to come up or for the mysqld process to disappear +ret=0 +while /bin/true; do + RESPONSE=`/usr/bin/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` + mret=$? + if [ $mret -eq 0 ]; then + break + fi + # exit codes 1, 11 (EXIT_CANNOT_CONNECT_TO_SERVICE) are expected, + # anything else suggests a configuration error + if [ $mret -ne 1 -a $mret -ne 11 ]; then + ret=1 + break + fi + # "Access denied" also means the server is alive + echo "$RESPONSE" | grep -q "Access denied for user" && break + + # Check process still exists + if ! /bin/kill -0 $daemon_pid 2>/dev/null; then + ret=1 + break + fi + sleep 1 +done + +exit $ret diff --git a/mysqld.service b/mysqld.service new file mode 100644 index 0000000..3193ce2 --- /dev/null +++ b/mysqld.service @@ -0,0 +1,43 @@ +# It's not recommended to modify this file in-place, because it will be +# overwritten during package upgrades. If you want to customize, the +# best way is to create a file "/etc/systemd/system/mysqld.service", +# containing +# .include /lib/systemd/system/mysqld.service +# ...make your changes here... +# For more info about custom unit files, see +# http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F + +# For example, if you want to increase mysql's open-files-limit to 10000, +# you need to increase systemd's LimitNOFILE setting, so create a file named +# "/etc/systemd/system/mysqld.service" containing: +# .include /lib/systemd/system/mysqld.service +# [Service] +# LimitNOFILE=10000 + +# Note: in F-17 and beyond, /usr/lib/... is recommended in the .include line +# though /lib/... will still work. + +[Unit] +Description=MySQL database server +After=syslog.target +After=network.target + +[Service] +Type=simple +User=mysql +Group=mysql + +ExecStartPre=/usr/libexec/mysqld-prepare-db-dir %n +# Note: we set --basedir to prevent probes that might trigger SELinux alarms, +# per bug #547485 +ExecStart=/usr/bin/mysqld_safe --basedir=/usr +ExecStartPost=/usr/libexec/mysqld-wait-ready $MAINPID + +# Give a reasonable amount of time for the server to start up/shut down +TimeoutSec=300 + +# Place temp files in a secure directory, not /tmp +PrivateTmp=true + +[Install] +WantedBy=multi-user.target diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list new file mode 100644 index 0000000..a6ae9bf --- /dev/null +++ b/rh-skipped-tests-arm.list @@ -0,0 +1,8 @@ + +# Disable perfschema.func_file_io and perfschema.func_mutex, which fail +# because cycle counter returns 0 every time on ARM architectures. +# This is caused by missing hardware performance counter support on ARM. +# Discussion about fixing that can be found in RH bug #741325. + +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 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list new file mode 100644 index 0000000..32f477c --- /dev/null +++ b/rh-skipped-tests-base.list @@ -0,0 +1,14 @@ +# Disable the outfile_loaddata test, which as of 5.1.38 is giving +# platform-dependent results, with the "expected" results being arguably the +# wrong ones. This is upstream at http://bugs.mysql.com/bug.php?id=46895 +# (note that upstream has also disabled it, but only for Solaris, so we still +# need to disable it here). +# Still broken in 5.5.14, despite alleged fix. + +outfile_loaddata : bug#46895 code wrong, expected results wrong too + +# Disable innodb.innodb, which is showing platform-dependent results +# as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 + +innodb.innodb : bug#60155 has platform-dependent results + diff --git a/sources b/sources index e69de29..dbb072d 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +a2d20a040ef1e49944a4ffe65ed7fefa mariadb-5.5.28a.tar.gz From 96467d40525494fe7e8606d724ffe7dcf31885b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 28 Jan 2013 09:10:15 +0100 Subject: [PATCH 003/789] Removed %%{_isa} from provides/obsoletes, which doesn't allow proper obsoleting --- mariadb.spec | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index d1912ea..0fc1241 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb Version: 5.5.28a -Release: 5%{?dist} +Release: 6%{?dist} Summary: A community developed branch of MySQL Group: Applications/Databases @@ -65,8 +65,8 @@ Requires: grep, fileutils, bash # MySQL (with caps) is upstream's spelling of their own RPMs for mysql Conflicts: MySQL # MariaDB replaces mysql packages -Provides: mysql%{?_isa} = %{version}-%{release} -Obsoletes: mysql%{?_isa} < %{last_mysql_evr} +Provides: mysql = %{version}-%{release} +Obsoletes: mysql < %{last_mysql_evr} # mysql-cluster used to be built from this SRPM, but no more Obsoletes: mysql-cluster < 5.1.44 @@ -87,8 +87,8 @@ contains the standard MariaDB/MySQL client programs and generic MySQL files. Summary: The shared libraries required for MariaDB/MySQL clients Group: Applications/Databases Requires: /sbin/ldconfig -Provides: mysql-libs%{?_isa} = %{version}-%{release} -Obsoletes: mysql-libs%{?_isa} < %{last_mysql_evr} +Provides: mysql-libs = %{version}-%{release} +Obsoletes: mysql-libs < %{last_mysql_evr} %description libs The mariadb-libs package provides the essential shared libraries for any @@ -117,8 +117,8 @@ Requires(post): systemd-sysv # mysqlhotcopy needs DBI/DBD support Requires: perl-DBI, perl-DBD-MySQL Conflicts: MySQL-server -Provides: mysql-server%{?_isa} = %{version}-%{release} -Obsoletes: mysql-server%{?_isa} < %{last_mysql_evr} +Provides: mysql-server = %{version}-%{release} +Obsoletes: mysql-server < %{last_mysql_evr} %description server MariaDB is a multi-user, multi-threaded SQL database server. It is a @@ -135,8 +135,8 @@ Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: openssl-devel%{?_isa} Conflicts: MySQL-devel -Provides: mysql-devel%{?_isa} = %{version}-%{release} -Obsoletes: mysql-devel%{?_isa} < %{last_mysql_evr} +Provides: mysql-devel = %{version}-%{release} +Obsoletes: mysql-devel < %{last_mysql_evr} %description devel MariaDB is a multi-user, multi-threaded SQL database server. This @@ -149,8 +149,8 @@ MariaDB is a community developed branch of MySQL. Summary: MariaDB as an embeddable library Group: Applications/Databases Requires: /sbin/ldconfig -Provides: mysql-embedded%{?_isa} = %{version}-%{release} -Obsoletes: mysql-embedded%{?_isa} < %{last_mysql_evr} +Provides: mysql-embedded = %{version}-%{release} +Obsoletes: mysql-embedded < %{last_mysql_evr} %description embedded MariaDB is a multi-user, multi-threaded SQL database server. This @@ -164,8 +164,8 @@ Summary: Development files for MariaDB as an embeddable library Group: Applications/Databases Requires: %{name}-embedded%{?_isa} = %{version}-%{release} Requires: %{name}-devel%{?_isa} = %{version}-%{release} -Provides: mysql-embedded-devel%{?_isa} = %{version}-%{release} -Obsoletes: mysql-embedded-devel%{?_isa} < %{last_mysql_evr} +Provides: mysql-embedded-devel = %{version}-%{release} +Obsoletes: mysql-embedded-devel < %{last_mysql_evr} %description embedded-devel MariaDB is a multi-user, multi-threaded SQL database server. This @@ -179,8 +179,8 @@ Summary: MariaDB benchmark scripts and data Group: Applications/Databases Requires: %{name}%{?_isa} = %{version}-%{release} Conflicts: MySQL-bench -Provides: mysql-bench%{?_isa} = %{version}-%{release} -Obsoletes: mysql-bench%{?_isa} < %{last_mysql_evr} +Provides: mysql-bench = %{version}-%{release} +Obsoletes: mysql-bench < %{last_mysql_evr} %description bench MariaDB is a multi-user, multi-threaded SQL database server. This @@ -196,8 +196,8 @@ Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: %{name}-server%{?_isa} = %{version}-%{release} Conflicts: MySQL-test -Provides: mysql-test%{?_isa} = %{version}-%{release} -Obsoletes: mysql-test%{?_isa} < %{last_mysql_evr} +Provides: mysql-test = %{version}-%{release} +Obsoletes: mysql-test < %{last_mysql_evr} %description test MariaDB is a multi-user, multi-threaded SQL database server. This @@ -710,6 +710,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Jan 28 2013 Honza Horak 5.5.28a-6 +- Removed %%{_isa} from provides/obsoletes, which doesn't allow + proper obsoleting + * Thu Jan 10 2013 Honza Horak 5.5.28a-5 - Added licenses LGPLv2 and BSD - Removed wrong usage of %%{epoch} From 647547d07ff898769ef7cd968d33c19d6d2f501b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 28 Jan 2013 09:43:11 +0100 Subject: [PATCH 004/789] Do not obsolete mysql at a time of testing --- mariadb.spec | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 0fc1241..3c71d01 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -14,6 +14,9 @@ License: GPLv2 with exceptions and LGPLv2 and BSD # The last known mysql release %global last_mysql_evr %{version}-%{release} +# Should mariadb obsolete mysql? +%{!?obsoletemysql:%global obsoletemysql 0} + # Regression tests take a long time, you can skip 'em with this %{!?runselftest:%global runselftest 1} @@ -66,7 +69,8 @@ Requires: grep, fileutils, bash Conflicts: MySQL # MariaDB replaces mysql packages Provides: mysql = %{version}-%{release} -Obsoletes: mysql < %{last_mysql_evr} +%{!?obsoletemysql:Conflicts: mysql} +%{?obsoletemysql:Obsoletes: mysql < %{last_mysql_evr}} # mysql-cluster used to be built from this SRPM, but no more Obsoletes: mysql-cluster < 5.1.44 @@ -88,7 +92,8 @@ Summary: The shared libraries required for MariaDB/MySQL clients Group: Applications/Databases Requires: /sbin/ldconfig Provides: mysql-libs = %{version}-%{release} -Obsoletes: mysql-libs < %{last_mysql_evr} +%{!?obsoletemysql:Conflicts: mysql-libs} +%{?obsoletemysql:Obsoletes: mysql-libs < %{last_mysql_evr}} %description libs The mariadb-libs package provides the essential shared libraries for any @@ -118,7 +123,8 @@ Requires(post): systemd-sysv Requires: perl-DBI, perl-DBD-MySQL Conflicts: MySQL-server Provides: mysql-server = %{version}-%{release} -Obsoletes: mysql-server < %{last_mysql_evr} +%{!?obsoletemysql:Conflicts: mysql-server} +%{?obsoletemysql:Obsoletes: mysql-server < %{last_mysql_evr}} %description server MariaDB is a multi-user, multi-threaded SQL database server. It is a @@ -136,7 +142,8 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: openssl-devel%{?_isa} Conflicts: MySQL-devel Provides: mysql-devel = %{version}-%{release} -Obsoletes: mysql-devel < %{last_mysql_evr} +%{!?obsoletemysql:Conflicts: mysql-devel} +%{?obsoletemysql:Obsoletes: mysql-devel < %{last_mysql_evr}} %description devel MariaDB is a multi-user, multi-threaded SQL database server. This @@ -150,7 +157,8 @@ Summary: MariaDB as an embeddable library Group: Applications/Databases Requires: /sbin/ldconfig Provides: mysql-embedded = %{version}-%{release} -Obsoletes: mysql-embedded < %{last_mysql_evr} +%{!?obsoletemysql:Conflicts: mysql-embedded} +%{?obsoletemysql:Obsoletes: mysql-embedded < %{last_mysql_evr}} %description embedded MariaDB is a multi-user, multi-threaded SQL database server. This @@ -165,7 +173,8 @@ Group: Applications/Databases Requires: %{name}-embedded%{?_isa} = %{version}-%{release} Requires: %{name}-devel%{?_isa} = %{version}-%{release} Provides: mysql-embedded-devel = %{version}-%{release} -Obsoletes: mysql-embedded-devel < %{last_mysql_evr} +%{!?obsoletemysql:Conflicts: mysql-embedded-devel} +%{?obsoletemysql:Obsoletes: mysql-embedded-devel < %{last_mysql_evr}} %description embedded-devel MariaDB is a multi-user, multi-threaded SQL database server. This @@ -180,7 +189,8 @@ Group: Applications/Databases Requires: %{name}%{?_isa} = %{version}-%{release} Conflicts: MySQL-bench Provides: mysql-bench = %{version}-%{release} -Obsoletes: mysql-bench < %{last_mysql_evr} +%{!?obsoletemysql:Conflicts: mysql-bench} +%{?obsoletemysql:Obsoletes: mysql-bench < %{last_mysql_evr}} %description bench MariaDB is a multi-user, multi-threaded SQL database server. This @@ -197,7 +207,8 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: %{name}-server%{?_isa} = %{version}-%{release} Conflicts: MySQL-test Provides: mysql-test = %{version}-%{release} -Obsoletes: mysql-test < %{last_mysql_evr} +%{!?obsoletemysql:Conflicts: mysql-test} +%{?obsoletemysql:Obsoletes: mysql-test < %{last_mysql_evr}} %description test MariaDB is a multi-user, multi-threaded SQL database server. This @@ -713,6 +724,7 @@ fi * Mon Jan 28 2013 Honza Horak 5.5.28a-6 - Removed %%{_isa} from provides/obsoletes, which doesn't allow proper obsoleting +- Do not obsolete mysql in time of testing * Thu Jan 10 2013 Honza Horak 5.5.28a-5 - Added licenses LGPLv2 and BSD From 6595c88db12a46576713e238ce973a31f45a077f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 28 Jan 2013 11:58:18 +0100 Subject: [PATCH 005/789] Fix evaluation of %%obsoletemysql --- mariadb.spec | 58 +++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 41 insertions(+), 17 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 3c71d01..23a11d3 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -69,8 +69,11 @@ Requires: grep, fileutils, bash Conflicts: MySQL # MariaDB replaces mysql packages Provides: mysql = %{version}-%{release} -%{!?obsoletemysql:Conflicts: mysql} -%{?obsoletemysql:Obsoletes: mysql < %{last_mysql_evr}} +%if 0%obsoletemysql +Obsoletes: mysql < %{last_mysql_evr} +%else +Conflicts: mysql +%endif # mysql-cluster used to be built from this SRPM, but no more Obsoletes: mysql-cluster < 5.1.44 @@ -92,8 +95,11 @@ Summary: The shared libraries required for MariaDB/MySQL clients Group: Applications/Databases Requires: /sbin/ldconfig Provides: mysql-libs = %{version}-%{release} -%{!?obsoletemysql:Conflicts: mysql-libs} -%{?obsoletemysql:Obsoletes: mysql-libs < %{last_mysql_evr}} +%if 0%obsoletemysql +Obsoletes: mysql-libs < %{last_mysql_evr} +%else +Conflicts: mysql-libs +%endif %description libs The mariadb-libs package provides the essential shared libraries for any @@ -123,8 +129,11 @@ Requires(post): systemd-sysv Requires: perl-DBI, perl-DBD-MySQL Conflicts: MySQL-server Provides: mysql-server = %{version}-%{release} -%{!?obsoletemysql:Conflicts: mysql-server} -%{?obsoletemysql:Obsoletes: mysql-server < %{last_mysql_evr}} +%if 0%obsoletemysql +Obsoletes: mysql-server < %{last_mysql_evr} +%else +Conflicts: mysql-server +%endif %description server MariaDB is a multi-user, multi-threaded SQL database server. It is a @@ -142,8 +151,11 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: openssl-devel%{?_isa} Conflicts: MySQL-devel Provides: mysql-devel = %{version}-%{release} -%{!?obsoletemysql:Conflicts: mysql-devel} -%{?obsoletemysql:Obsoletes: mysql-devel < %{last_mysql_evr}} +%if 0%obsoletemysql +Obsoletes: mysql-devel < %{last_mysql_evr} +%else +Conflicts: mysql-devel +%endif %description devel MariaDB is a multi-user, multi-threaded SQL database server. This @@ -157,8 +169,11 @@ Summary: MariaDB as an embeddable library Group: Applications/Databases Requires: /sbin/ldconfig Provides: mysql-embedded = %{version}-%{release} -%{!?obsoletemysql:Conflicts: mysql-embedded} -%{?obsoletemysql:Obsoletes: mysql-embedded < %{last_mysql_evr}} +%if 0%obsoletemysql +Obsoletes: mysql-embedded < %{last_mysql_evr} +%else +Conflicts: mysql-embedded +%endif %description embedded MariaDB is a multi-user, multi-threaded SQL database server. This @@ -173,8 +188,11 @@ Group: Applications/Databases Requires: %{name}-embedded%{?_isa} = %{version}-%{release} Requires: %{name}-devel%{?_isa} = %{version}-%{release} Provides: mysql-embedded-devel = %{version}-%{release} -%{!?obsoletemysql:Conflicts: mysql-embedded-devel} -%{?obsoletemysql:Obsoletes: mysql-embedded-devel < %{last_mysql_evr}} +%if 0%obsoletemysql +Obsoletes: mysql-embedded-devel < %{last_mysql_evr} +%else +Conflicts: mysql-embedded-devel +%endif %description embedded-devel MariaDB is a multi-user, multi-threaded SQL database server. This @@ -189,8 +207,11 @@ Group: Applications/Databases Requires: %{name}%{?_isa} = %{version}-%{release} Conflicts: MySQL-bench Provides: mysql-bench = %{version}-%{release} -%{!?obsoletemysql:Conflicts: mysql-bench} -%{?obsoletemysql:Obsoletes: mysql-bench < %{last_mysql_evr}} +%if 0%obsoletemysql +Obsoletes: mysql-bench < %{last_mysql_evr} +%else +Conflicts: mysql-bench +%endif %description bench MariaDB is a multi-user, multi-threaded SQL database server. This @@ -207,8 +228,11 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: %{name}-server%{?_isa} = %{version}-%{release} Conflicts: MySQL-test Provides: mysql-test = %{version}-%{release} -%{!?obsoletemysql:Conflicts: mysql-test} -%{?obsoletemysql:Obsoletes: mysql-test < %{last_mysql_evr}} +%if 0%obsoletemysql +Obsoletes: mysql-test < %{last_mysql_evr} +%else +Conflicts: mysql-test +%endif %description test MariaDB is a multi-user, multi-threaded SQL database server. This @@ -724,7 +748,7 @@ fi * Mon Jan 28 2013 Honza Horak 5.5.28a-6 - Removed %%{_isa} from provides/obsoletes, which doesn't allow proper obsoleting -- Do not obsolete mysql in time of testing +- Do not obsolete mysql at the time of testing * Thu Jan 10 2013 Honza Horak 5.5.28a-5 - Added licenses LGPLv2 and BSD From 5f858eef066a49d70cf8bcd8f09af77c5a2016aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Wed, 30 Jan 2013 14:45:15 +0100 Subject: [PATCH 006/789] Adding necessary hacks for perl dependency checking, rpm is still not wise enough --- filter-requires-mysql.sh | 5 +++++ mariadb.spec | 12 +++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100755 filter-requires-mysql.sh diff --git a/filter-requires-mysql.sh b/filter-requires-mysql.sh new file mode 100755 index 0000000..bce04c6 --- /dev/null +++ b/filter-requires-mysql.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +/usr/lib/rpm/perl.req $* | \ + grep -v -e "perl(th" \ + -e "perl(lib::mtr" -e "perl(lib::v1/mtr" -e "perl(mtr" diff --git a/mariadb.spec b/mariadb.spec index 23a11d3..f1354f8 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb Version: 5.5.28a -Release: 6%{?dist} +Release: 7%{?dist} Summary: A community developed branch of MySQL Group: Applications/Databases @@ -35,6 +35,8 @@ Source14: rh-skipped-tests-base.list Source15: rh-skipped-tests-arm.list # mysql_plugin is missing in mariadb tar ball Source16: mysql_plugin.1 +# Working around perl dependency checking bug in rpm FTTB. Remove later. +Source999: filter-requires-mysql.sh # Comments for these patches are in the patch files. Patch1: mariadb-errno.patch @@ -76,6 +78,10 @@ Conflicts: mysql %endif # 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} # patch utility does automatically back-up of chunks that didn't apply # smoothly, but we don't want to create that files because they could be @@ -745,6 +751,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Jan 30 2013 Honza Horak 5.5.28a-7 +- Adding necessary hacks for perl dependency checking, rpm is still + not wise enough + * Mon Jan 28 2013 Honza Horak 5.5.28a-6 - Removed %%{_isa} from provides/obsoletes, which doesn't allow proper obsoleting From 5ebb8752747277788573230fca9ace99f5ce3e5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Wed, 30 Jan 2013 17:04:04 +0100 Subject: [PATCH 007/789] Namespace sanity re-added for symbol default_charset_info --- mariadb-dubious-exports.patch | 46 ++++++++++++++++++++--------------- mariadb.spec | 1 + 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/mariadb-dubious-exports.patch b/mariadb-dubious-exports.patch index d51ea25..afefb7b 100644 --- a/mariadb-dubious-exports.patch +++ b/mariadb-dubious-exports.patch @@ -9,9 +9,9 @@ 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 mariadb-5.5.28a/client/mysqladmin.cc.p8 mariadb-5.5.28a/client/mysqladmin.cc ---- mariadb-5.5.28a/client/mysqladmin.cc.p8 2012-11-28 16:49:36.000000000 +0100 -+++ mariadb-5.5.28a/client/mysqladmin.cc 2012-12-17 16:33:24.501007457 +0100 +diff -up mariadb-5.5.28a/client/mysqladmin.cc.p6 mariadb-5.5.28a/client/mysqladmin.cc +--- mariadb-5.5.28a/client/mysqladmin.cc.p6 2012-11-28 16:49:36.000000000 +0100 ++++ mariadb-5.5.28a/client/mysqladmin.cc 2013-01-30 16:30:55.047537674 +0100 @@ -22,6 +22,7 @@ #include /* because of signal() */ #include @@ -32,9 +32,9 @@ diff -up mariadb-5.5.28a/client/mysqladmin.cc.p8 mariadb-5.5.28a/client/mysqladm } else crypted_pw[0]=0; /* No password */ -diff -up mariadb-5.5.28a/include/errmsg.h.p8 mariadb-5.5.28a/include/errmsg.h ---- mariadb-5.5.28a/include/errmsg.h.p8 2012-11-28 16:49:43.000000000 +0100 -+++ mariadb-5.5.28a/include/errmsg.h 2012-12-17 16:33:24.501007457 +0100 +diff -up mariadb-5.5.28a/include/errmsg.h.p6 mariadb-5.5.28a/include/errmsg.h +--- mariadb-5.5.28a/include/errmsg.h.p6 2012-11-28 16:49:43.000000000 +0100 ++++ mariadb-5.5.28a/include/errmsg.h 2013-01-30 16:30:55.047537674 +0100 @@ -24,6 +24,7 @@ extern "C" { #endif void init_client_errs(void); @@ -43,9 +43,9 @@ diff -up mariadb-5.5.28a/include/errmsg.h.p8 mariadb-5.5.28a/include/errmsg.h extern const char *client_errors[]; /* Error messages */ #ifdef __cplusplus } -diff -up mariadb-5.5.28a/include/mysql_com.h.p8 mariadb-5.5.28a/include/mysql_com.h ---- mariadb-5.5.28a/include/mysql_com.h.p8 2012-11-28 16:49:38.000000000 +0100 -+++ mariadb-5.5.28a/include/mysql_com.h 2012-12-17 16:34:18.758025238 +0100 +diff -up mariadb-5.5.28a/include/mysql_com.h.p6 mariadb-5.5.28a/include/mysql_com.h +--- mariadb-5.5.28a/include/mysql_com.h.p6 2012-11-28 16:49:38.000000000 +0100 ++++ mariadb-5.5.28a/include/mysql_com.h 2013-01-30 16:30:55.047537674 +0100 @@ -467,6 +467,7 @@ my_bool my_net_init(NET *net, Vio* vio); void my_net_local_init(NET *net); void net_end(NET *net); @@ -69,9 +69,9 @@ diff -up mariadb-5.5.28a/include/mysql_com.h.p8 mariadb-5.5.28a/include/mysql_co 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 mariadb-5.5.28a/include/mysql.h.pp.p8 mariadb-5.5.28a/include/mysql.h.pp ---- mariadb-5.5.28a/include/mysql.h.pp.p8 2012-11-28 16:49:47.000000000 +0100 -+++ mariadb-5.5.28a/include/mysql.h.pp 2012-12-17 16:47:49.700371140 +0100 +diff -up mariadb-5.5.28a/include/mysql.h.pp.p6 mariadb-5.5.28a/include/mysql.h.pp +--- mariadb-5.5.28a/include/mysql.h.pp.p6 2012-11-28 16:49:47.000000000 +0100 ++++ mariadb-5.5.28a/include/mysql.h.pp 2013-01-30 16:30:55.048537674 +0100 @@ -84,7 +84,7 @@ my_bool my_net_init(NET *net, Vio* vio); void my_net_local_init(NET *net); void net_end(NET *net); @@ -95,10 +95,18 @@ diff -up mariadb-5.5.28a/include/mysql.h.pp.p8 mariadb-5.5.28a/include/mysql.h.p 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 mariadb-5.5.28a/include/my_sys.h.p8 mariadb-5.5.28a/include/my_sys.h ---- mariadb-5.5.28a/include/my_sys.h.p8 2012-12-17 16:33:24.306007345 +0100 -+++ mariadb-5.5.28a/include/my_sys.h 2012-12-17 16:33:24.503007462 +0100 -@@ -943,6 +943,9 @@ extern uint get_charset_number(const cha +diff -up mariadb-5.5.28a/include/my_sys.h.p6 mariadb-5.5.28a/include/my_sys.h +--- mariadb-5.5.28a/include/my_sys.h.p6 2013-01-30 16:30:54.980537678 +0100 ++++ mariadb-5.5.28a/include/my_sys.h 2013-01-30 16:31:38.510534702 +0100 +@@ -211,6 +211,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 struct charset_info_st compiled_charsets[]; +@@ -943,6 +944,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); @@ -108,9 +116,9 @@ diff -up mariadb-5.5.28a/include/my_sys.h.p8 mariadb-5.5.28a/include/my_sys.h 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 mariadb-5.5.28a/sql/password.c.p8 mariadb-5.5.28a/sql/password.c ---- mariadb-5.5.28a/sql/password.c.p8 2012-11-28 16:49:48.000000000 +0100 -+++ mariadb-5.5.28a/sql/password.c 2012-12-17 16:33:24.503007462 +0100 +diff -up mariadb-5.5.28a/sql/password.c.p6 mariadb-5.5.28a/sql/password.c +--- mariadb-5.5.28a/sql/password.c.p6 2012-11-28 16:49:48.000000000 +0100 ++++ mariadb-5.5.28a/sql/password.c 2013-01-30 16:30:55.048537674 +0100 @@ -127,23 +127,6 @@ void my_make_scrambled_password_323(char diff --git a/mariadb.spec b/mariadb.spec index f1354f8..86448d6 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -754,6 +754,7 @@ fi * Wed Jan 30 2013 Honza Horak 5.5.28a-7 - Adding necessary hacks for perl dependency checking, rpm is still not wise enough +- Namespace sanity re-added for symbol default_charset_info * Mon Jan 28 2013 Honza Horak 5.5.28a-6 - Removed %%{_isa} from provides/obsoletes, which doesn't allow From 1e074eeb80cf6bdb760d9f2144f136d17ce63152 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Thu, 31 Jan 2013 11:18:29 +0100 Subject: [PATCH 008/789] Enable obsoleting mysql --- mariadb.spec | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 86448d6..4f72673 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb Version: 5.5.28a -Release: 7%{?dist} +Release: 8%{?dist} Summary: A community developed branch of MySQL Group: Applications/Databases @@ -11,11 +11,11 @@ URL: http://mariadb.org # Some code related to test-suite is under LGPLv2 License: GPLv2 with exceptions and LGPLv2 and BSD -# The last known mysql release -%global last_mysql_evr %{version}-%{release} +# The evr of mysql we want to obsolete +%global obsoleted_mysql_evr 5.6-0 # Should mariadb obsolete mysql? -%{!?obsoletemysql:%global obsoletemysql 0} +%{!?obsoletemysql:%global obsoletemysql 1} # Regression tests take a long time, you can skip 'em with this %{!?runselftest:%global runselftest 1} @@ -72,7 +72,7 @@ Conflicts: MySQL # MariaDB replaces mysql packages Provides: mysql = %{version}-%{release} %if 0%obsoletemysql -Obsoletes: mysql < %{last_mysql_evr} +Obsoletes: mysql < %{obsoleted_mysql_evr} %else Conflicts: mysql %endif @@ -102,7 +102,7 @@ Group: Applications/Databases Requires: /sbin/ldconfig Provides: mysql-libs = %{version}-%{release} %if 0%obsoletemysql -Obsoletes: mysql-libs < %{last_mysql_evr} +Obsoletes: mysql-libs < %{obsoleted_mysql_evr} %else Conflicts: mysql-libs %endif @@ -136,7 +136,7 @@ Requires: perl-DBI, perl-DBD-MySQL Conflicts: MySQL-server Provides: mysql-server = %{version}-%{release} %if 0%obsoletemysql -Obsoletes: mysql-server < %{last_mysql_evr} +Obsoletes: mysql-server < %{obsoleted_mysql_evr} %else Conflicts: mysql-server %endif @@ -158,7 +158,7 @@ Requires: openssl-devel%{?_isa} Conflicts: MySQL-devel Provides: mysql-devel = %{version}-%{release} %if 0%obsoletemysql -Obsoletes: mysql-devel < %{last_mysql_evr} +Obsoletes: mysql-devel < %{obsoleted_mysql_evr} %else Conflicts: mysql-devel %endif @@ -176,7 +176,7 @@ Group: Applications/Databases Requires: /sbin/ldconfig Provides: mysql-embedded = %{version}-%{release} %if 0%obsoletemysql -Obsoletes: mysql-embedded < %{last_mysql_evr} +Obsoletes: mysql-embedded < %{obsoleted_mysql_evr} %else Conflicts: mysql-embedded %endif @@ -195,7 +195,7 @@ Requires: %{name}-embedded%{?_isa} = %{version}-%{release} Requires: %{name}-devel%{?_isa} = %{version}-%{release} Provides: mysql-embedded-devel = %{version}-%{release} %if 0%obsoletemysql -Obsoletes: mysql-embedded-devel < %{last_mysql_evr} +Obsoletes: mysql-embedded-devel < %{obsoleted_mysql_evr} %else Conflicts: mysql-embedded-devel %endif @@ -214,7 +214,7 @@ Requires: %{name}%{?_isa} = %{version}-%{release} Conflicts: MySQL-bench Provides: mysql-bench = %{version}-%{release} %if 0%obsoletemysql -Obsoletes: mysql-bench < %{last_mysql_evr} +Obsoletes: mysql-bench < %{obsoleted_mysql_evr} %else Conflicts: mysql-bench %endif @@ -235,7 +235,7 @@ Requires: %{name}-server%{?_isa} = %{version}-%{release} Conflicts: MySQL-test Provides: mysql-test = %{version}-%{release} %if 0%obsoletemysql -Obsoletes: mysql-test < %{last_mysql_evr} +Obsoletes: mysql-test < %{obsoleted_mysql_evr} %else Conflicts: mysql-test %endif @@ -751,6 +751,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Jan 31 2013 Honza Horak 5.5.28a-8 +- Enable obsoleting mysql + * Wed Jan 30 2013 Honza Horak 5.5.28a-7 - Adding necessary hacks for perl dependency checking, rpm is still not wise enough From 5cefe26150444edf7dbe2dc859b9179e6612f5a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 1 Feb 2013 11:35:51 +0100 Subject: [PATCH 009/789] Rebase to 5.5.29 Fix inaccurate default for socket location in mysqld-wait-ready Resolves: #890535 --- .gitignore | 1 + mariadb-versioning.patch | 10 +++++----- mariadb.spec | 16 +++++++++++----- my.cnf | 8 ++++---- mysqld-wait-ready | 2 +- sources | 2 +- 6 files changed, 23 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index 7013373..2fd101e 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /mariadb-5.5.28a.tar.gz +/mariadb-5.5.29.tar.gz diff --git a/mariadb-versioning.patch b/mariadb-versioning.patch index 6374b6c..51ff1d7 100644 --- a/mariadb-versioning.patch +++ b/mariadb-versioning.patch @@ -4,14 +4,14 @@ 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) +diff -up mariadb-5.5.29/libmysql/CMakeLists.txt.p5 mariadb-5.5.29/libmysql/CMakeLists.txt +--- mariadb-5.5.29/libmysql/CMakeLists.txt.p5 2013-01-29 15:12:46.000000000 +0100 ++++ mariadb-5.5.29/libmysql/CMakeLists.txt 2013-02-01 10:44:28.449544405 +0100 +@@ -363,7 +363,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} ${LINK_FLAG_NO_UNDEFINED} ${VERSION_SCRIPT_LINK_FLAGS}") + "${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 diff --git a/mariadb.spec b/mariadb.spec index 4f72673..9cbbfce 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb -Version: 5.5.28a -Release: 8%{?dist} +Version: 5.5.29 +Release: 1%{?dist} Summary: A community developed branch of MySQL Group: Applications/Databases @@ -83,9 +83,8 @@ Obsoletes: mysql-cluster < 5.1.44 %global __perl_requires %{SOURCE999} %global __perllib_requires %{SOURCE999} -# patch utility does automatically back-up of chunks that didn't apply -# smoothly, but we don't want to create that files because they could be -# included in RPM incorrectly +# 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 %description @@ -709,6 +708,7 @@ fi %{_datadir}/mysql/mysql_system_tables.sql %{_datadir}/mysql/mysql_system_tables_data.sql %{_datadir}/mysql/mysql_test_data_timezone.sql +%{_datadir}/mysql/mysql_performance_tables.sql %{_datadir}/mysql/my-*.cnf %{_datadir}/mysql/config.*.ini @@ -751,6 +751,12 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Jan 31 2013 Honza Horak 5.5.29-1 +- Rebase to 5.5.29 + https://kb.askmonty.org/en/mariadb-5529-changelog/ +- Fix inaccurate default for socket location in mysqld-wait-ready + Resolves: #890535 + * Thu Jan 31 2013 Honza Horak 5.5.28a-8 - Enable obsoleting mysql diff --git a/my.cnf b/my.cnf index 587c3c9..1df1f70 100644 --- a/my.cnf +++ b/my.cnf @@ -1,12 +1,12 @@ [mysqld] -# Settings user and group are ignored when systemd is used. -# If you need to run mysqld under different user or group, -# customize your systemd unit file for mysqld according to the -# instructions in http://fedoraproject.org/wiki/Systemd datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks 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 according to the +# instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe] log-error=/var/log/mysqld.log diff --git a/mysqld-wait-ready b/mysqld-wait-ready index 9b0fd0c..9e5d3e4 100644 --- a/mysqld-wait-ready +++ b/mysqld-wait-ready @@ -25,7 +25,7 @@ get_mysql_option(){ # Defaults here had better match what mysqld_safe will default to get_mysql_option mysqld datadir "/var/lib/mysql" datadir="$result" -get_mysql_option mysqld socket "$datadir/mysql.sock" +get_mysql_option mysqld socket "/var/lib/mysql/mysql.sock" socketfile="$result" # Wait for the server to come up or for the mysqld process to disappear diff --git a/sources b/sources index dbb072d..87b951f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a2d20a040ef1e49944a4ffe65ed7fefa mariadb-5.5.28a.tar.gz +643cca7f07f7b00ca3ae1515e6f245d6 mariadb-5.5.29.tar.gz From 30d1fbf42235f06ea215881b8e1d13e84745b8b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 5 Feb 2013 13:33:52 +0100 Subject: [PATCH 010/789] Let mariadb-libs to own /etc/my.cnf.d --- mariadb.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 9cbbfce..46844e4 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb Version: 5.5.29 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A community developed branch of MySQL Group: Applications/Databases @@ -602,6 +602,7 @@ fi # libs package because it can be used for client settings too. %config(noreplace) %{_sysconfdir}/my.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf +%dir %{_sysconfdir}/my.cnf.d %dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient.so.* %{_sysconfdir}/ld.so.conf.d/* @@ -751,6 +752,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Feb 05 2013 Honza Horak 5.5.29-2 +- Let mariadb-libs to own /etc/my.cnf.d + * Thu Jan 31 2013 Honza Horak 5.5.29-1 - Rebase to 5.5.29 https://kb.askmonty.org/en/mariadb-5529-changelog/ From de551aa1e94d68fec6148bba0ed8106eff6cea58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Thu, 7 Feb 2013 14:32:27 +0100 Subject: [PATCH 011/789] Packages need to provide also %%_isa version of mysql package --- mariadb.spec | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 46844e4..7b4d898 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb Version: 5.5.29 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A community developed branch of MySQL Group: Applications/Databases @@ -71,6 +71,7 @@ Requires: grep, fileutils, bash Conflicts: MySQL # MariaDB replaces mysql packages Provides: mysql = %{version}-%{release} +Provides: mysql%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql < %{obsoleted_mysql_evr} %else @@ -100,6 +101,7 @@ Summary: The shared libraries required for MariaDB/MySQL clients Group: Applications/Databases Requires: /sbin/ldconfig Provides: mysql-libs = %{version}-%{release} +Provides: mysql-libs%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-libs < %{obsoleted_mysql_evr} %else @@ -134,6 +136,7 @@ Requires(post): systemd-sysv Requires: perl-DBI, perl-DBD-MySQL Conflicts: MySQL-server Provides: mysql-server = %{version}-%{release} +Provides: mysql-server%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-server < %{obsoleted_mysql_evr} %else @@ -156,6 +159,7 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: openssl-devel%{?_isa} Conflicts: MySQL-devel Provides: mysql-devel = %{version}-%{release} +Provides: mysql-devel%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-devel < %{obsoleted_mysql_evr} %else @@ -174,6 +178,7 @@ Summary: MariaDB as an embeddable library Group: Applications/Databases Requires: /sbin/ldconfig Provides: mysql-embedded = %{version}-%{release} +Provides: mysql-embedded%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-embedded < %{obsoleted_mysql_evr} %else @@ -193,6 +198,7 @@ Group: Applications/Databases Requires: %{name}-embedded%{?_isa} = %{version}-%{release} Requires: %{name}-devel%{?_isa} = %{version}-%{release} Provides: mysql-embedded-devel = %{version}-%{release} +Provides: mysql-embedded-devel%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-embedded-devel < %{obsoleted_mysql_evr} %else @@ -212,6 +218,7 @@ Group: Applications/Databases Requires: %{name}%{?_isa} = %{version}-%{release} Conflicts: MySQL-bench Provides: mysql-bench = %{version}-%{release} +Provides: mysql-bench%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-bench < %{obsoleted_mysql_evr} %else @@ -233,6 +240,7 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: %{name}-server%{?_isa} = %{version}-%{release} Conflicts: MySQL-test Provides: mysql-test = %{version}-%{release} +Provides: mysql-test%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-test < %{obsoleted_mysql_evr} %else @@ -752,6 +760,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Feb 07 2013 Honza Horak 5.5.29-3 +- Packages need to provide also %%_isa version of mysql package + * Tue Feb 05 2013 Honza Horak 5.5.29-2 - Let mariadb-libs to own /etc/my.cnf.d From cc31a55411f76140b8cfe76353e5e874222e70ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 11 Feb 2013 09:50:14 +0100 Subject: [PATCH 012/789] Provide own symbols with real- prefix to distinguish from mysql unambiguously --- mariadb.spec | 40 +++++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 7b4d898..50e4728 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -62,7 +62,7 @@ BuildRequires: time procps BuildRequires: perl(Socket), perl(Time::HiRes) BuildRequires: perl(Data::Dumper), perl(Test::More) -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: real-%{name}-libs%{?_isa} = %{version}-%{release} Requires: grep, fileutils, bash %{?systemd_requires: %systemd_requires} @@ -72,6 +72,8 @@ Conflicts: MySQL # MariaDB replaces mysql packages Provides: mysql = %{version}-%{release} Provides: mysql%{?_isa} = %{version}-%{release} +Provides: real-%{name} = %{version}-%{release} +Provides: real-%{name}%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql < %{obsoleted_mysql_evr} %else @@ -102,6 +104,8 @@ Group: Applications/Databases Requires: /sbin/ldconfig Provides: mysql-libs = %{version}-%{release} Provides: mysql-libs%{?_isa} = %{version}-%{release} +Provides: real-%{name}-libs = %{version}-%{release} +Provides: real-%{name}-libs%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-libs < %{obsoleted_mysql_evr} %else @@ -118,8 +122,8 @@ to a MariaDB/MySQL server. MariaDB is a community developed branch of MySQL. Summary: The MariaDB server and related files Group: Applications/Databases -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: real-%{name}%{?_isa} = %{version}-%{release} +Requires: real-%{name}-libs%{?_isa} = %{version}-%{release} Requires: sh-utils Requires(pre): /usr/sbin/useradd # We require this to be present for %%{_prefix}/lib/tmpfiles.d @@ -137,6 +141,8 @@ Requires: perl-DBI, perl-DBD-MySQL Conflicts: MySQL-server Provides: mysql-server = %{version}-%{release} Provides: mysql-server%{?_isa} = %{version}-%{release} +Provides: real-%{name}-server = %{version}-%{release} +Provides: real-%{name}-server%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-server < %{obsoleted_mysql_evr} %else @@ -154,12 +160,14 @@ MariaDB is a community developed branch of MySQL. Summary: Files for development of MariaDB/MySQL applications Group: Applications/Databases -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: real-%{name}%{?_isa} = %{version}-%{release} +Requires: real-%{name}-libs%{?_isa} = %{version}-%{release} Requires: openssl-devel%{?_isa} Conflicts: MySQL-devel Provides: mysql-devel = %{version}-%{release} Provides: mysql-devel%{?_isa} = %{version}-%{release} +Provides: real-%{name}-devel = %{version}-%{release} +Provides: real-%{name}-devel%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-devel < %{obsoleted_mysql_evr} %else @@ -179,6 +187,8 @@ Group: Applications/Databases Requires: /sbin/ldconfig Provides: mysql-embedded = %{version}-%{release} Provides: mysql-embedded%{?_isa} = %{version}-%{release} +Provides: real-%{name}-embedded = %{version}-%{release} +Provides: real-%{name}-embedded%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-embedded < %{obsoleted_mysql_evr} %else @@ -195,10 +205,12 @@ MariaDB is a community developed branch of MySQL. Summary: Development files for MariaDB as an embeddable library Group: Applications/Databases -Requires: %{name}-embedded%{?_isa} = %{version}-%{release} -Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Requires: real-%{name}-embedded%{?_isa} = %{version}-%{release} +Requires: real-%{name}-devel%{?_isa} = %{version}-%{release} Provides: mysql-embedded-devel = %{version}-%{release} Provides: mysql-embedded-devel%{?_isa} = %{version}-%{release} +Provides: real-%{name}-embedded-devel = %{version}-%{release} +Provides: real-%{name}-embedded-devel%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-embedded-devel < %{obsoleted_mysql_evr} %else @@ -215,10 +227,12 @@ MariaDB is a community developed branch of MySQL. Summary: MariaDB benchmark scripts and data Group: Applications/Databases -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: real-%{name}%{?_isa} = %{version}-%{release} Conflicts: MySQL-bench Provides: mysql-bench = %{version}-%{release} Provides: mysql-bench%{?_isa} = %{version}-%{release} +Provides: real-%{name}-bench = %{version}-%{release} +Provides: real-%{name}-bench%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-bench < %{obsoleted_mysql_evr} %else @@ -235,12 +249,14 @@ MariaDB is a community developed branch of MySQL. Summary: The test suite distributed with MariaD Group: Applications/Databases -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-libs%{?_isa} = %{version}-%{release} -Requires: %{name}-server%{?_isa} = %{version}-%{release} +Requires: real-%{name}%{?_isa} = %{version}-%{release} +Requires: real-%{name}-libs%{?_isa} = %{version}-%{release} +Requires: real-%{name}-server%{?_isa} = %{version}-%{release} Conflicts: MySQL-test Provides: mysql-test = %{version}-%{release} Provides: mysql-test%{?_isa} = %{version}-%{release} +Provides: real-%{name}-test = %{version}-%{release} +Provides: real-%{name}-test %{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-test < %{obsoleted_mysql_evr} %else @@ -762,6 +778,8 @@ fi %changelog * Thu Feb 07 2013 Honza Horak 5.5.29-3 - Packages need to provide also %%_isa version of mysql package +- Provide own symbols with real- prefix to distinguish from mysql + unambiguously * Tue Feb 05 2013 Honza Horak 5.5.29-2 - Let mariadb-libs to own /etc/my.cnf.d From e3d7534ed7d03096b764327557b4e231cb15a581 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 11 Feb 2013 10:08:58 +0100 Subject: [PATCH 013/789] Fix format for buffer size in error messages (MDEV-4156) --- mariadb-buffer.patch | 24 ++++++++++++++++++++++++ mariadb.spec | 3 +++ 2 files changed, 27 insertions(+) create mode 100644 mariadb-buffer.patch diff --git a/mariadb-buffer.patch b/mariadb-buffer.patch new file mode 100644 index 0000000..cec4397 --- /dev/null +++ b/mariadb-buffer.patch @@ -0,0 +1,24 @@ +diff -up mariadb-5.5.29/sql/share/errmsg-utf8.txt.buffer mariadb-5.5.29/sql/share/errmsg-utf8.txt +--- mariadb-5.5.29/sql/share/errmsg-utf8.txt.buffer 2013-02-11 10:04:42.099376733 +0100 ++++ mariadb-5.5.29/sql/share/errmsg-utf8.txt 2013-02-11 10:06:09.450370760 +0100 +@@ -4989,13 +4989,13 @@ ER_WRONG_NAME_FOR_CATALOG 42000 + spa "Nombre de catalog incorrecto '%-.100s'" + swe "Felaktigt katalog namn '%-.100s'" + ER_WARN_QC_RESIZE +- eng "Query cache failed to set size %lu; new query cache size is %lu" +- ger "Änderung der Query-Cache-Größe auf %lu fehlgeschlagen; neue Query-Cache-Größe ist %lu" +- por "Falha em Query cache para configurar tamanho %lu, novo tamanho de query cache é %lu" +- rus "Кеш запросов не может установить размер %lu, новый размер кеша зпросов - %lu" +- spa "Query cache fallada para configurar tamaño %lu, nuevo tamaño de query cache es %lu" +- swe "Storleken av "Query cache" kunde inte sättas till %lu, ny storlek är %lu" +- ukr "Кеш запитів неспроможен встановити розмір %lu, новий розмір кеша запитів - %lu" ++ eng "Query cache failed to set size %llu; new query cache size is %lu" ++ ger "Änderung der Query-Cache-Größe auf %llu fehlgeschlagen; neue Query-Cache-Größe ist %lu" ++ por "Falha em Query cache para configurar tamanho %llu, novo tamanho de query cache é %lu" ++ rus "Кеш запросов не может установить размер %llu, новый размер кеша зпросов - %lu" ++ spa "Query cache fallada para configurar tamaño %llu, nuevo tamaño de query cache es %lu" ++ swe "Storleken av "Query cache" kunde inte sättas till %llu, ny storlek är %lu" ++ ukr "Кеш запитів неспроможен встановити розмір %llu, новий розмір кеша запитів - %lu" + ER_BAD_FT_COLUMN + eng "Column '%-.192s' cannot be part of FULLTEXT index" + ger "Feld '%-.192s' kann nicht Teil eines FULLTEXT-Index sein" diff --git a/mariadb.spec b/mariadb.spec index 50e4728..ab55f74 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -52,6 +52,7 @@ Patch10: mariadb-file-contents.patch Patch11: mariadb-string-overflow.patch Patch12: mariadb-dh1024.patch Patch13: mariadb-man-plugin.patch +Patch14: mariadb-buffer.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -285,6 +286,7 @@ MariaDB is a community developed branch of MySQL. %patch11 -p1 %patch12 -p1 %patch13 -p1 +%patch14 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -780,6 +782,7 @@ fi - Packages need to provide also %%_isa version of mysql package - Provide own symbols with real- prefix to distinguish from mysql unambiguously +- Fix format for buffer size in error messages (MDEV-4156) * Tue Feb 05 2013 Honza Horak 5.5.29-2 - Let mariadb-libs to own /etc/my.cnf.d From a4dbe8dcaa3d36f1f1ca9d134c35668e9ffd0914 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 11 Feb 2013 10:34:56 +0100 Subject: [PATCH 014/789] Disable some tests that fail on ppc and s390 --- mariadb.spec | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index ab55f74..487dcbe 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -300,6 +300,16 @@ cat %{SOURCE14} > mysql-test/rh-skipped-tests.list %ifarch %{arm} cat %{SOURCE15} >> mysql-test/rh-skipped-tests.list %endif +# disable some tests failing on ppc and s390 +%ifarch ppc ppc64 s390 s390x +echo "main.gis-precise : rhbz#906367" >> mysql-test/rh-skipped-tests.list +%endif +%ifarch s390 +echo "main.index_merge_myisam : rhbz#906746" >> mysql-test/rh-skipped-tests.list +%endif +%ifarch ppc +echo "main.myisampack : rhbz#906367" >> mysql-test/rh-skipped-tests.list +%endif # install mysql_plugin cp %{SOURCE16} man/ @@ -783,6 +793,7 @@ fi - Provide own symbols with real- prefix to distinguish from mysql unambiguously - Fix format for buffer size in error messages (MDEV-4156) +- Disable some tests that fail on ppc and s390 * Tue Feb 05 2013 Honza Horak 5.5.29-2 - Let mariadb-libs to own /etc/my.cnf.d From 473e3e84d18e1ddeafcf2f0f0435222d495ddd32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 11 Feb 2013 10:38:18 +0100 Subject: [PATCH 015/789] Conflict only with real-mysql, otherwise mariadb conflicts with ourself --- mariadb.spec | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 487dcbe..8b016e8 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -78,7 +78,7 @@ Provides: real-%{name}%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql < %{obsoleted_mysql_evr} %else -Conflicts: mysql +Conflicts: real-mysql %endif # mysql-cluster used to be built from this SRPM, but no more Obsoletes: mysql-cluster < 5.1.44 @@ -110,7 +110,7 @@ Provides: real-%{name}-libs%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-libs < %{obsoleted_mysql_evr} %else -Conflicts: mysql-libs +Conflicts: real-mysql-libs %endif %description libs @@ -147,7 +147,7 @@ Provides: real-%{name}-server%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-server < %{obsoleted_mysql_evr} %else -Conflicts: mysql-server +Conflicts: real-mysql-server %endif %description server @@ -172,7 +172,7 @@ Provides: real-%{name}-devel%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-devel < %{obsoleted_mysql_evr} %else -Conflicts: mysql-devel +Conflicts: real-mysql-devel %endif %description devel @@ -193,7 +193,7 @@ Provides: real-%{name}-embedded%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-embedded < %{obsoleted_mysql_evr} %else -Conflicts: mysql-embedded +Conflicts: real-mysql-embedded %endif %description embedded @@ -215,7 +215,7 @@ Provides: real-%{name}-embedded-devel%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-embedded-devel < %{obsoleted_mysql_evr} %else -Conflicts: mysql-embedded-devel +Conflicts: real-mysql-embedded-devel %endif %description embedded-devel @@ -237,7 +237,7 @@ Provides: real-%{name}-bench%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-bench < %{obsoleted_mysql_evr} %else -Conflicts: mysql-bench +Conflicts: real-mysql-bench %endif %description bench @@ -261,7 +261,7 @@ Provides: real-%{name}-test %{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-test < %{obsoleted_mysql_evr} %else -Conflicts: mysql-test +Conflicts: real-mysql-test %endif %description test @@ -794,6 +794,7 @@ fi unambiguously - Fix format for buffer size in error messages (MDEV-4156) - Disable some tests that fail on ppc and s390 +- Conflict only with real-mysql, otherwise mariadb conflicts with ourself * Tue Feb 05 2013 Honza Horak 5.5.29-2 - Let mariadb-libs to own /etc/my.cnf.d From 8a5160dbf105bae128e3fdd663bd307369b4de8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 11 Feb 2013 10:51:44 +0100 Subject: [PATCH 016/789] Typo in spec fixed --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 8b016e8..b0464e5 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -257,7 +257,7 @@ Conflicts: MySQL-test Provides: mysql-test = %{version}-%{release} Provides: mysql-test%{?_isa} = %{version}-%{release} Provides: real-%{name}-test = %{version}-%{release} -Provides: real-%{name}-test %{?_isa} = %{version}-%{release} +Provides: real-%{name}-test%{?_isa} = %{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-test < %{obsoleted_mysql_evr} %else From 8bb66c606c64bf474f38d84bc52a318315ebba2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 11 Feb 2013 13:34:02 +0100 Subject: [PATCH 017/789] Disable main.myisampack test also for s390 --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index b0464e5..2260fd9 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -307,7 +307,7 @@ echo "main.gis-precise : rhbz#906367" >> mysql-test/rh-skipped-tests.list %ifarch s390 echo "main.index_merge_myisam : rhbz#906746" >> mysql-test/rh-skipped-tests.list %endif -%ifarch ppc +%ifarch ppc s390 echo "main.myisampack : rhbz#906367" >> mysql-test/rh-skipped-tests.list %endif From e6d746a143a5ac261e8136e9d3944278c856145c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 12 Feb 2013 18:55:48 +0100 Subject: [PATCH 018/789] Suppress warning in tests on ppc, Enable fixed index_merge_myisam test case --- mariadb.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 2260fd9..510aa47 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb Version: 5.5.29 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A community developed branch of MySQL Group: Applications/Databases @@ -304,9 +304,6 @@ cat %{SOURCE15} >> mysql-test/rh-skipped-tests.list %ifarch ppc ppc64 s390 s390x echo "main.gis-precise : rhbz#906367" >> mysql-test/rh-skipped-tests.list %endif -%ifarch s390 -echo "main.index_merge_myisam : rhbz#906746" >> mysql-test/rh-skipped-tests.list -%endif %ifarch ppc s390 echo "main.myisampack : rhbz#906367" >> mysql-test/rh-skipped-tests.list %endif @@ -407,6 +404,9 @@ done cd mysql-test perl ./mysql-test-run.pl --force --retry=0 --ssl \ --skip-test-list=rh-skipped-tests.list \ +%ifarch ppc ppc64 + --nowarnings \ +%endif --suite-timeout=720 --testcase-timeout=30 # cmake build scripts will install the var cruft if left alone :-( rm -rf var @@ -788,6 +788,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Feb 12 2013 Honza Horak 5.5.29-4 +- Suppress warning in tests on ppc +- Enable fixed index_merge_myisam test case + * Thu Feb 07 2013 Honza Horak 5.5.29-3 - Packages need to provide also %%_isa version of mysql package - Provide own symbols with real- prefix to distinguish from mysql From dd2088fa6f87143c64c003eb3c8b56cbc11b7c82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Wed, 13 Feb 2013 09:20:22 +0100 Subject: [PATCH 019/789] Suppress warnings in tests also on ppc64p7 --- mariadb.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 510aa47..8c7b0b6 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb Version: 5.5.29 -Release: 4%{?dist} +Release: 5%{?dist} Summary: A community developed branch of MySQL Group: Applications/Databases @@ -404,7 +404,7 @@ done cd mysql-test perl ./mysql-test-run.pl --force --retry=0 --ssl \ --skip-test-list=rh-skipped-tests.list \ -%ifarch ppc ppc64 +%ifarch ppc ppc64 ppc64p7 --nowarnings \ %endif --suite-timeout=720 --testcase-timeout=30 @@ -788,6 +788,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Feb 13 2013 Honza Horak 5.5.29-5 +- Suppress warnings in tests also on ppc64p7 + * Tue Feb 12 2013 Honza Horak 5.5.29-4 - Suppress warning in tests on ppc - Enable fixed index_merge_myisam test case From 7ef2ba1389675142d7ba996de1d6c628fbc52f12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Wed, 13 Feb 2013 12:34:52 +0100 Subject: [PATCH 020/789] Skip failing tests also on ppc64p7 --- mariadb.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 8c7b0b6..3195290 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -301,7 +301,7 @@ cat %{SOURCE14} > mysql-test/rh-skipped-tests.list cat %{SOURCE15} >> mysql-test/rh-skipped-tests.list %endif # disable some tests failing on ppc and s390 -%ifarch ppc ppc64 s390 s390x +%ifarch ppc ppc64 ppc64p7 s390 s390x echo "main.gis-precise : rhbz#906367" >> mysql-test/rh-skipped-tests.list %endif %ifarch ppc s390 @@ -380,7 +380,7 @@ done %if %runselftest # hack to let 32- and 64-bit tests run concurrently on same build machine case `uname -m` in - ppc64 | s390x | x86_64 | sparc64 ) + ppc64 | ppc64p7 | s390x | x86_64 | sparc64 ) MTR_BUILD_THREAD=7 ;; *) @@ -422,7 +422,7 @@ find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | 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 | s390 | s390x | sparc | sparc64 ) + i386 | x86_64 | ppc | ppc64 | ppc64p7 | s390 | s390x | sparc | sparc64 ) mv $RPM_BUILD_ROOT/usr/include/mysql/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/my_config_`uname -i`.h install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/usr/include/mysql/ ;; @@ -789,7 +789,7 @@ fi %changelog * Wed Feb 13 2013 Honza Horak 5.5.29-5 -- Suppress warnings in tests also on ppc64p7 +- Suppress warnings in tests and skip tests also on ppc64p7 * Tue Feb 12 2013 Honza Horak 5.5.29-4 - Suppress warning in tests on ppc From 0cb82945a88a572a94f9ea488ca8c7f0ce8b96a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Wed, 27 Feb 2013 17:05:40 +0100 Subject: [PATCH 021/789] Fix sort_buffer_length option type --- mariadb-sortbuffer.patch | 19 +++++++++++++++++++ mariadb.spec | 10 ++++++---- 2 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 mariadb-sortbuffer.patch diff --git a/mariadb-sortbuffer.patch b/mariadb-sortbuffer.patch new file mode 100644 index 0000000..be8bd04 --- /dev/null +++ b/mariadb-sortbuffer.patch @@ -0,0 +1,19 @@ +diff -up mariadb-5.5.29/storage/myisam/myisamchk.c.sortbuffer mariadb-5.5.29/storage/myisam/myisamchk.c +--- mariadb-5.5.29/storage/myisam/myisamchk.c.sortbuffer 2013-02-27 16:46:02.258855014 +0100 ++++ mariadb-5.5.29/storage/myisam/myisamchk.c 2013-02-27 16:46:23.456854430 +0100 +@@ -294,13 +294,13 @@ static struct my_option my_long_options[ + { "sort_buffer_size", OPT_SORT_BUFFER_SIZE, + "Deprecated. myisam_sort_buffer_size alias is being used", + &check_param.sort_buffer_length, +- &check_param.sort_buffer_length, 0, GET_ULL, REQUIRED_ARG, ++ &check_param.sort_buffer_length, 0, GET_ULONG, REQUIRED_ARG, + (long) SORT_BUFFER_INIT, (long) (MIN_SORT_BUFFER + MALLOC_OVERHEAD), + SIZE_T_MAX, (long) MALLOC_OVERHEAD, (long) 1L, 0}, + { "myisam_sort_buffer_size", OPT_SORT_BUFFER_SIZE, + "Alias of sort_buffer_size parameter", + &check_param.sort_buffer_length, +- &check_param.sort_buffer_length, 0, GET_ULL, REQUIRED_ARG, ++ &check_param.sort_buffer_length, 0, GET_ULONG, REQUIRED_ARG, + (long) SORT_BUFFER_INIT, (long) (MIN_SORT_BUFFER + MALLOC_OVERHEAD), + SIZE_T_MAX, (long) MALLOC_OVERHEAD, (long) 1L, 0}, + { "sort_key_blocks", OPT_SORT_KEY_BLOCKS, "", diff --git a/mariadb.spec b/mariadb.spec index 3195290..0bf2f1b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb Version: 5.5.29 -Release: 5%{?dist} +Release: 6%{?dist} Summary: A community developed branch of MySQL Group: Applications/Databases @@ -53,6 +53,7 @@ Patch11: mariadb-string-overflow.patch Patch12: mariadb-dh1024.patch Patch13: mariadb-man-plugin.patch Patch14: mariadb-buffer.patch +Patch15: mariadb-sortbuffer.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -287,6 +288,7 @@ MariaDB is a community developed branch of MySQL. %patch12 -p1 %patch13 -p1 %patch14 -p1 +%patch15 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -304,9 +306,6 @@ cat %{SOURCE15} >> mysql-test/rh-skipped-tests.list %ifarch ppc ppc64 ppc64p7 s390 s390x echo "main.gis-precise : rhbz#906367" >> mysql-test/rh-skipped-tests.list %endif -%ifarch ppc s390 -echo "main.myisampack : rhbz#906367" >> mysql-test/rh-skipped-tests.list -%endif # install mysql_plugin cp %{SOURCE16} man/ @@ -788,6 +787,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Feb 27 2013 Honza Horak 5.5.29-6 +- Fix sort_buffer_length option type + * Wed Feb 13 2013 Honza Horak 5.5.29-5 - Suppress warnings in tests and skip tests also on ppc64p7 From 50cf48aea5accd63c80c728f6601e7353080505c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Thu, 28 Feb 2013 10:15:43 +0100 Subject: [PATCH 022/789] Use configured prefix value instead of guessing basedir in mysql_config; Resolves: #916189 --- mariadb-basedir.patch | 15 +++++++++++++++ mariadb.spec | 9 ++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 mariadb-basedir.patch diff --git a/mariadb-basedir.patch b/mariadb-basedir.patch new file mode 100644 index 0000000..f5a5ebf --- /dev/null +++ b/mariadb-basedir.patch @@ -0,0 +1,15 @@ +Don't guess basedir in mysql_config; we place it under _libdir because +of multilib conflicts, so use rather configured @prefix@ path directly. + +diff -up mariadb-5.5.29/scripts/mysql_config.sh.basedir mariadb-5.5.29/scripts/mysql_config.sh +--- mariadb-5.5.29/scripts/mysql_config.sh.basedir 2013-02-28 09:39:26.628440114 +0100 ++++ mariadb-5.5.29/scripts/mysql_config.sh 2013-02-28 09:39:40.613439729 +0100 +@@ -76,7 +76,7 @@ get_full_path () + + me=`get_full_path $0` + +-basedir=`echo $me | sed -e 's;/bin/mysql_config;;'` ++basedir='@prefix@' + + ldata='@localstatedir@' + execdir='@libexecdir@' diff --git a/mariadb.spec b/mariadb.spec index 0bf2f1b..5cba684 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb Version: 5.5.29 -Release: 6%{?dist} +Release: 7%{?dist} Summary: A community developed branch of MySQL Group: Applications/Databases @@ -54,6 +54,7 @@ Patch12: mariadb-dh1024.patch Patch13: mariadb-man-plugin.patch Patch14: mariadb-buffer.patch Patch15: mariadb-sortbuffer.patch +Patch16: mariadb-basedir.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -289,6 +290,7 @@ MariaDB is a community developed branch of MySQL. %patch13 -p1 %patch14 -p1 %patch15 -p1 +%patch16 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -787,6 +789,11 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Feb 28 2013 Honza Horak 5.5.29-7 +- Use configured prefix value instead of guessing basedir + in mysql_config +Resolves: #916189 + * Wed Feb 27 2013 Honza Horak 5.5.29-6 - Fix sort_buffer_length option type From b8f9351dabca43760407217532444ecb2380725a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Thu, 28 Feb 2013 18:16:16 +0100 Subject: [PATCH 023/789] Export dynamic columns and non-blocking API functions documented by upstream --- libmysql.version | 95 ++++++++++++++++++++++++++++++++++++++++++++++++ mariadb.spec | 2 + 2 files changed, 97 insertions(+) diff --git a/libmysql.version b/libmysql.version index d547b5d..dc68053 100644 --- a/libmysql.version +++ b/libmysql.version @@ -146,3 +146,98 @@ libmysqlclient_18 { # PHP's mysqli.so requires this (via the ER() macro) mysql_client_errors; }; + +# symbols specific for mariadb +libmysqlclient_18_mariadb { + global: + # symbols related to non-blocking operations + # documented here: https://kb.askmonty.org/en/non-blocking-api-reference/ + mysql_get_socket; + mysql_get_timeout_value; + mysql_get_timeout_value; + mysql_real_connect_start; + mysql_real_connect_cont; + mysql_real_query_start; + mysql_real_query_cont; + mysql_fetch_row_start; + mysql_fetch_row_cont; + mysql_set_character_set_start; + mysql_set_character_set_cont; + mysql_select_db_start; + mysql_select_db_cont; + mysql_send_query_start; + mysql_send_query_cont; + mysql_store_result_start; + mysql_store_result_cont; + mysql_free_result_start; + mysql_free_result_cont; + mysql_close_start; + mysql_close_cont; + mysql_change_user_start; + mysql_change_user_cont; + mysql_query_start; + mysql_query_cont; + mysql_shutdown_start; + mysql_shutdown_cont; + mysql_dump_debug_info_start; + mysql_dump_debug_info_cont; + mysql_refresh_start; + mysql_refresh_cont; + mysql_kill_start; + mysql_kill_cont; + mysql_set_server_option_start; + mysql_set_server_option_cont; + mysql_ping_start; + mysql_ping_cont; + mysql_stat_start; + mysql_stat_cont; + mysql_list_dbs_start; + mysql_list_dbs_cont; + mysql_list_tables_start; + mysql_list_tables_cont; + mysql_list_processes_start; + mysql_list_processes_cont; + mysql_list_fields_start; + mysql_list_fields_cont; + mysql_read_query_result_start; + mysql_read_query_result_cont; + mysql_stmt_prepare_start; + mysql_stmt_prepare_cont; + mysql_stmt_execute_start; + mysql_stmt_execute_cont; + mysql_stmt_fetch_start; + mysql_stmt_fetch_cont; + mysql_stmt_store_result_start; + mysql_stmt_store_result_cont; + mysql_stmt_close_start; + mysql_stmt_close_cont; + mysql_stmt_reset_start; + mysql_stmt_reset_cont; + mysql_stmt_free_result_start; + mysql_stmt_free_result_cont; + mysql_stmt_send_long_data_start; + mysql_stmt_send_long_data_cont; + mysql_commit_start; + mysql_commit_cont; + mysql_rollback_start; + mysql_rollback_cont; + mysql_autocommit_start; + mysql_autocommit_cont; + mysql_next_result_start; + mysql_next_result_cont; + mysql_stmt_next_result_start; + mysql_stmt_next_result_cont; + # dynamic columns API + # documented here: https://kb.askmonty.org/en/dynamic-columns-api/ + # currently only documentation for mariadb-10.0.x available, but + # upstream promissed adding 5.5.x version as well + dynamic_column_create; + dynamic_column_create_many; + dynamic_column_update; + dynamic_column_update_many; + dynamic_column_delete; + dynamic_column_exists; + dynamic_column_list; + dynamic_column_get; + dynamic_column_prepare_decimal; +}; diff --git a/mariadb.spec b/mariadb.spec index 5cba684..febdcb2 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -793,6 +793,8 @@ fi - Use configured prefix value instead of guessing basedir in mysql_config Resolves: #916189 +- Export dynamic columns and non-blocking API functions documented + by upstream * Wed Feb 27 2013 Honza Horak 5.5.29-6 - Fix sort_buffer_length option type From c05cc16158643a5a1f542c07b21537e73d435b78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 4 Mar 2013 12:37:53 +0100 Subject: [PATCH 024/789] Copy/paste typo in libmysql.version --- libmysql.version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libmysql.version b/libmysql.version index dc68053..d0e329c 100644 --- a/libmysql.version +++ b/libmysql.version @@ -154,7 +154,7 @@ libmysqlclient_18_mariadb { # documented here: https://kb.askmonty.org/en/non-blocking-api-reference/ mysql_get_socket; mysql_get_timeout_value; - mysql_get_timeout_value; + mysql_get_timeout_value_ms; mysql_real_connect_start; mysql_real_connect_cont; mysql_real_query_start; From e9b1460d6c129305a95fba6c6e0682b6c05699e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 4 Mar 2013 14:09:47 +0100 Subject: [PATCH 025/789] Mask expected warnings about setrlimit in test suite --- mariadb-warning.patch | 11 +++++++++++ mariadb.spec | 10 ++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 mariadb-warning.patch diff --git a/mariadb-warning.patch b/mariadb-warning.patch new file mode 100644 index 0000000..c98ee19 --- /dev/null +++ b/mariadb-warning.patch @@ -0,0 +1,11 @@ +diff -up mariadb-5.5.29/mysql-test/mysql-test-run.pl.warning mariadb-5.5.29/mysql-test/mysql-test-run.pl +--- mariadb-5.5.29/mysql-test/mysql-test-run.pl.warning 2013-03-04 14:05:50.197960442 +0100 ++++ mariadb-5.5.29/mysql-test/mysql-test-run.pl 2013-03-04 14:06:27.271959422 +0100 +@@ -4745,6 +4745,7 @@ sub extract_warning_lines ($$) { + qr|Error: io_setup\(\) failed|, + qr|Warning: io_setup\(\) failed|, + qr|Warning: io_setup\(\) attempt|, ++ qr|setrlimit could not change the size of core files to 'infinity';|, + ); + + my $matched_lines= []; diff --git a/mariadb.spec b/mariadb.spec index febdcb2..0ccc2f3 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb Version: 5.5.29 -Release: 7%{?dist} +Release: 8%{?dist} Summary: A community developed branch of MySQL Group: Applications/Databases @@ -55,6 +55,7 @@ Patch13: mariadb-man-plugin.patch Patch14: mariadb-buffer.patch Patch15: mariadb-sortbuffer.patch Patch16: mariadb-basedir.patch +Patch17: mariadb-warning.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -291,6 +292,7 @@ MariaDB is a community developed branch of MySQL. %patch14 -p1 %patch15 -p1 %patch16 -p1 +%patch17 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -405,9 +407,6 @@ done cd mysql-test perl ./mysql-test-run.pl --force --retry=0 --ssl \ --skip-test-list=rh-skipped-tests.list \ -%ifarch ppc ppc64 ppc64p7 - --nowarnings \ -%endif --suite-timeout=720 --testcase-timeout=30 # cmake build scripts will install the var cruft if left alone :-( rm -rf var @@ -789,6 +788,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Mar 4 2013 Honza Horak 5.5.29-8 +- Mask expected warnings about setrlimit in test suite + * Thu Feb 28 2013 Honza Horak 5.5.29-7 - Use configured prefix value instead of guessing basedir in mysql_config From 91bd546649c81fdc0996f25024bf4d322934535b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Wed, 13 Mar 2013 09:10:42 +0100 Subject: [PATCH 026/789] Let mariadb-embedded-devel conflict with MySQL-embedded-devel --- mariadb.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 0ccc2f3..f00f2b0 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb Version: 5.5.29 -Release: 8%{?dist} +Release: 9%{?dist} Summary: A community developed branch of MySQL Group: Applications/Databases @@ -215,6 +215,7 @@ Provides: mysql-embedded-devel = %{version}-%{release} Provides: mysql-embedded-devel%{?_isa} = %{version}-%{release} Provides: real-%{name}-embedded-devel = %{version}-%{release} Provides: real-%{name}-embedded-devel%{?_isa} = %{version}-%{release} +Conflicts: MySQL-embedded-devel %if 0%obsoletemysql Obsoletes: mysql-embedded-devel < %{obsoleted_mysql_evr} %else @@ -788,6 +789,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Mar 13 2013 Honza Horak 5.5.29-9 +- Let mariadb-embedded-devel conflict with MySQL-embedded-devel + * Mon Mar 4 2013 Honza Horak 5.5.29-8 - Mask expected warnings about setrlimit in test suite From 061f172c2da92551c0662306b7efed258bbbaea7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Wed, 13 Mar 2013 09:19:58 +0100 Subject: [PATCH 027/789] Adjust mariadb-sortbuffer.patch to correspond with upstream patch --- mariadb-sortbuffer.patch | 34 +++++++++++++++------------------- mariadb.spec | 1 + 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/mariadb-sortbuffer.patch b/mariadb-sortbuffer.patch index be8bd04..5649d3b 100644 --- a/mariadb-sortbuffer.patch +++ b/mariadb-sortbuffer.patch @@ -1,19 +1,15 @@ -diff -up mariadb-5.5.29/storage/myisam/myisamchk.c.sortbuffer mariadb-5.5.29/storage/myisam/myisamchk.c ---- mariadb-5.5.29/storage/myisam/myisamchk.c.sortbuffer 2013-02-27 16:46:02.258855014 +0100 -+++ mariadb-5.5.29/storage/myisam/myisamchk.c 2013-02-27 16:46:23.456854430 +0100 -@@ -294,13 +294,13 @@ static struct my_option my_long_options[ - { "sort_buffer_size", OPT_SORT_BUFFER_SIZE, - "Deprecated. myisam_sort_buffer_size alias is being used", - &check_param.sort_buffer_length, -- &check_param.sort_buffer_length, 0, GET_ULL, REQUIRED_ARG, -+ &check_param.sort_buffer_length, 0, GET_ULONG, REQUIRED_ARG, - (long) SORT_BUFFER_INIT, (long) (MIN_SORT_BUFFER + MALLOC_OVERHEAD), - SIZE_T_MAX, (long) MALLOC_OVERHEAD, (long) 1L, 0}, - { "myisam_sort_buffer_size", OPT_SORT_BUFFER_SIZE, - "Alias of sort_buffer_size parameter", - &check_param.sort_buffer_length, -- &check_param.sort_buffer_length, 0, GET_ULL, REQUIRED_ARG, -+ &check_param.sort_buffer_length, 0, GET_ULONG, REQUIRED_ARG, - (long) SORT_BUFFER_INIT, (long) (MIN_SORT_BUFFER + MALLOC_OVERHEAD), - SIZE_T_MAX, (long) MALLOC_OVERHEAD, (long) 1L, 0}, - { "sort_key_blocks", OPT_SORT_KEY_BLOCKS, "", +diff -up mariadb-5.5.29/include/myisamchk.h.buffer mariadb-5.5.29/include/myisamchk.h +--- mariadb-5.5.29/include/myisamchk.h.buffer 2013-03-13 09:17:02.802160975 +0100 ++++ mariadb-5.5.29/include/myisamchk.h 2013-03-13 09:17:37.383161267 +0100 +@@ -138,9 +138,9 @@ typedef struct st_handler_check_param + /* Following is used to check if rows are visible */ + ulonglong max_trid, max_found_trid; + ulonglong not_visible_rows_found; ++ ulonglong sort_buffer_length; + ulonglong use_buffers; /* Used as param to getopt() */ +- size_t read_buffer_length, write_buffer_length; +- size_t sort_buffer_length, sort_key_blocks; ++ size_t read_buffer_length, write_buffer_length, sort_key_blocks; + time_t backup_time; /* To sign backup files */ + ulong rec_per_key_part[HA_MAX_KEY_SEG * HA_MAX_POSSIBLE_KEY]; + double new_rec_per_key_part[HA_MAX_KEY_SEG * HA_MAX_POSSIBLE_KEY]; diff --git a/mariadb.spec b/mariadb.spec index f00f2b0..7ad8455 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -791,6 +791,7 @@ fi %changelog * Wed Mar 13 2013 Honza Horak 5.5.29-9 - Let mariadb-embedded-devel conflict with MySQL-embedded-devel +- Adjust mariadb-sortbuffer.patch to correspond with upstream patch * Mon Mar 4 2013 Honza Horak 5.5.29-8 - Mask expected warnings about setrlimit in test suite From 8ae62ad575cbd21140dbf9acf17448b6edb2d829 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Thu, 21 Mar 2013 10:22:34 +0100 Subject: [PATCH 028/789] Adding epoch to have higher priority than other mysql implementations when comes to provider comparison --- mariadb.spec | 93 +++++++++++++++++++++++++++------------------------- 1 file changed, 49 insertions(+), 44 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 7ad8455..bba5d86 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,7 @@ Name: mariadb Version: 5.5.29 -Release: 9%{?dist} +Release: 10%{?dist} +Epoch: 1 Summary: A community developed branch of MySQL Group: Applications/Databases @@ -66,7 +67,7 @@ BuildRequires: time procps BuildRequires: perl(Socket), perl(Time::HiRes) BuildRequires: perl(Data::Dumper), perl(Test::More) -Requires: real-%{name}-libs%{?_isa} = %{version}-%{release} +Requires: real-%{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} Requires: grep, fileutils, bash %{?systemd_requires: %systemd_requires} @@ -74,10 +75,10 @@ Requires: grep, fileutils, bash # MySQL (with caps) is upstream's spelling of their own RPMs for mysql Conflicts: MySQL # MariaDB replaces mysql packages -Provides: mysql = %{version}-%{release} -Provides: mysql%{?_isa} = %{version}-%{release} -Provides: real-%{name} = %{version}-%{release} -Provides: real-%{name}%{?_isa} = %{version}-%{release} +Provides: mysql = %{epoch}:%{version}-%{release} +Provides: mysql%{?_isa} = %{epoch}:%{version}-%{release} +Provides: real-%{name} = %{epoch}:%{version}-%{release} +Provides: real-%{name}%{?_isa} = %{epoch}:%{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql < %{obsoleted_mysql_evr} %else @@ -106,10 +107,10 @@ contains the standard MariaDB/MySQL client programs and generic MySQL files. Summary: The shared libraries required for MariaDB/MySQL clients Group: Applications/Databases Requires: /sbin/ldconfig -Provides: mysql-libs = %{version}-%{release} -Provides: mysql-libs%{?_isa} = %{version}-%{release} -Provides: real-%{name}-libs = %{version}-%{release} -Provides: real-%{name}-libs%{?_isa} = %{version}-%{release} +Provides: mysql-libs = %{epoch}:%{version}-%{release} +Provides: mysql-libs%{?_isa} = %{epoch}:%{version}-%{release} +Provides: real-%{name}-libs = %{epoch}:%{version}-%{release} +Provides: real-%{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-libs < %{obsoleted_mysql_evr} %else @@ -126,8 +127,8 @@ to a MariaDB/MySQL server. MariaDB is a community developed branch of MySQL. Summary: The MariaDB server and related files Group: Applications/Databases -Requires: real-%{name}%{?_isa} = %{version}-%{release} -Requires: real-%{name}-libs%{?_isa} = %{version}-%{release} +Requires: real-%{name}%{?_isa} = %{epoch}:%{version}-%{release} +Requires: real-%{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} Requires: sh-utils Requires(pre): /usr/sbin/useradd # We require this to be present for %%{_prefix}/lib/tmpfiles.d @@ -143,10 +144,10 @@ Requires(post): systemd-sysv # mysqlhotcopy needs DBI/DBD support Requires: perl-DBI, perl-DBD-MySQL Conflicts: MySQL-server -Provides: mysql-server = %{version}-%{release} -Provides: mysql-server%{?_isa} = %{version}-%{release} -Provides: real-%{name}-server = %{version}-%{release} -Provides: real-%{name}-server%{?_isa} = %{version}-%{release} +Provides: mysql-server = %{epoch}:%{version}-%{release} +Provides: mysql-server%{?_isa} = %{epoch}:%{version}-%{release} +Provides: real-%{name}-server = %{epoch}:%{version}-%{release} +Provides: real-%{name}-server%{?_isa} = %{epoch}:%{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-server < %{obsoleted_mysql_evr} %else @@ -164,14 +165,14 @@ MariaDB is a community developed branch of MySQL. Summary: Files for development of MariaDB/MySQL applications Group: Applications/Databases -Requires: real-%{name}%{?_isa} = %{version}-%{release} -Requires: real-%{name}-libs%{?_isa} = %{version}-%{release} +Requires: real-%{name}%{?_isa} = %{epoch}:%{version}-%{release} +Requires: real-%{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} Requires: openssl-devel%{?_isa} Conflicts: MySQL-devel -Provides: mysql-devel = %{version}-%{release} -Provides: mysql-devel%{?_isa} = %{version}-%{release} -Provides: real-%{name}-devel = %{version}-%{release} -Provides: real-%{name}-devel%{?_isa} = %{version}-%{release} +Provides: mysql-devel = %{epoch}:%{version}-%{release} +Provides: mysql-devel%{?_isa} = %{epoch}:%{version}-%{release} +Provides: real-%{name}-devel = %{epoch}:%{version}-%{release} +Provides: real-%{name}-devel%{?_isa} = %{epoch}:%{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-devel < %{obsoleted_mysql_evr} %else @@ -189,10 +190,10 @@ MariaDB is a community developed branch of MySQL. Summary: MariaDB as an embeddable library Group: Applications/Databases Requires: /sbin/ldconfig -Provides: mysql-embedded = %{version}-%{release} -Provides: mysql-embedded%{?_isa} = %{version}-%{release} -Provides: real-%{name}-embedded = %{version}-%{release} -Provides: real-%{name}-embedded%{?_isa} = %{version}-%{release} +Provides: mysql-embedded = %{epoch}:%{version}-%{release} +Provides: mysql-embedded%{?_isa} = %{epoch}:%{version}-%{release} +Provides: real-%{name}-embedded = %{epoch}:%{version}-%{release} +Provides: real-%{name}-embedded%{?_isa} = %{epoch}:%{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-embedded < %{obsoleted_mysql_evr} %else @@ -209,12 +210,12 @@ MariaDB is a community developed branch of MySQL. Summary: Development files for MariaDB as an embeddable library Group: Applications/Databases -Requires: real-%{name}-embedded%{?_isa} = %{version}-%{release} -Requires: real-%{name}-devel%{?_isa} = %{version}-%{release} -Provides: mysql-embedded-devel = %{version}-%{release} -Provides: mysql-embedded-devel%{?_isa} = %{version}-%{release} -Provides: real-%{name}-embedded-devel = %{version}-%{release} -Provides: real-%{name}-embedded-devel%{?_isa} = %{version}-%{release} +Requires: real-%{name}-embedded%{?_isa} = %{epoch}:%{version}-%{release} +Requires: real-%{name}-devel%{?_isa} = %{epoch}:%{version}-%{release} +Provides: mysql-embedded-devel = %{epoch}:%{version}-%{release} +Provides: mysql-embedded-devel%{?_isa} = %{epoch}:%{version}-%{release} +Provides: real-%{name}-embedded-devel = %{epoch}:%{version}-%{release} +Provides: real-%{name}-embedded-devel%{?_isa} = %{epoch}:%{version}-%{release} Conflicts: MySQL-embedded-devel %if 0%obsoletemysql Obsoletes: mysql-embedded-devel < %{obsoleted_mysql_evr} @@ -232,12 +233,12 @@ MariaDB is a community developed branch of MySQL. Summary: MariaDB benchmark scripts and data Group: Applications/Databases -Requires: real-%{name}%{?_isa} = %{version}-%{release} +Requires: real-%{name}%{?_isa} = %{epoch}:%{version}-%{release} Conflicts: MySQL-bench -Provides: mysql-bench = %{version}-%{release} -Provides: mysql-bench%{?_isa} = %{version}-%{release} -Provides: real-%{name}-bench = %{version}-%{release} -Provides: real-%{name}-bench%{?_isa} = %{version}-%{release} +Provides: mysql-bench = %{epoch}:%{version}-%{release} +Provides: mysql-bench%{?_isa} = %{epoch}:%{version}-%{release} +Provides: real-%{name}-bench = %{epoch}:%{version}-%{release} +Provides: real-%{name}-bench%{?_isa} = %{epoch}:%{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-bench < %{obsoleted_mysql_evr} %else @@ -254,14 +255,14 @@ MariaDB is a community developed branch of MySQL. Summary: The test suite distributed with MariaD Group: Applications/Databases -Requires: real-%{name}%{?_isa} = %{version}-%{release} -Requires: real-%{name}-libs%{?_isa} = %{version}-%{release} -Requires: real-%{name}-server%{?_isa} = %{version}-%{release} +Requires: real-%{name}%{?_isa} = %{epoch}:%{version}-%{release} +Requires: real-%{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} +Requires: real-%{name}-server%{?_isa} = %{epoch}:%{version}-%{release} Conflicts: MySQL-test -Provides: mysql-test = %{version}-%{release} -Provides: mysql-test%{?_isa} = %{version}-%{release} -Provides: real-%{name}-test = %{version}-%{release} -Provides: real-%{name}-test%{?_isa} = %{version}-%{release} +Provides: mysql-test = %{epoch}:%{version}-%{release} +Provides: mysql-test%{?_isa} = %{epoch}:%{version}-%{release} +Provides: real-%{name}-test = %{epoch}:%{version}-%{release} +Provides: real-%{name}-test%{?_isa} = %{epoch}:%{version}-%{release} %if 0%obsoletemysql Obsoletes: mysql-test < %{obsoleted_mysql_evr} %else @@ -789,6 +790,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Mar 21 2013 Honza Horak 1:5.5.29-10 +- Adding epoch to have higher priority than other mysql implementations + when comes to provider comparison + * Wed Mar 13 2013 Honza Horak 5.5.29-9 - Let mariadb-embedded-devel conflict with MySQL-embedded-devel - Adjust mariadb-sortbuffer.patch to correspond with upstream patch From dff95bfa20a2cedd9e529f1c0e92fc09539f2735 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 22 Mar 2013 14:57:53 +0100 Subject: [PATCH 029/789] Obsolete MySQL since it is now renamed to community-mysql and remove real- virtual names --- mariadb.spec | 100 ++++++++++++++++----------------------------------- 1 file changed, 31 insertions(+), 69 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index bba5d86..cb16a93 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb Version: 5.5.29 -Release: 10%{?dist} +Release: 11%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -14,9 +14,7 @@ License: GPLv2 with exceptions and LGPLv2 and BSD # The evr of mysql we want to obsolete %global obsoleted_mysql_evr 5.6-0 - -# Should mariadb obsolete mysql? -%{!?obsoletemysql:%global obsoletemysql 1} +%global obsoleted_mysql_case_evr 5.5.30-5 # Regression tests take a long time, you can skip 'em with this %{!?runselftest:%global runselftest 1} @@ -67,23 +65,18 @@ BuildRequires: time procps BuildRequires: perl(Socket), perl(Time::HiRes) BuildRequires: perl(Data::Dumper), perl(Test::More) -Requires: real-%{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} Requires: grep, fileutils, bash %{?systemd_requires: %systemd_requires} # MySQL (with caps) is upstream's spelling of their own RPMs for mysql -Conflicts: MySQL +Obsoletes: MySQL < %{obsoleted_mysql_case_evr} +Conflicts: community-mysql # MariaDB replaces mysql packages Provides: mysql = %{epoch}:%{version}-%{release} Provides: mysql%{?_isa} = %{epoch}:%{version}-%{release} -Provides: real-%{name} = %{epoch}:%{version}-%{release} -Provides: real-%{name}%{?_isa} = %{epoch}:%{version}-%{release} -%if 0%obsoletemysql Obsoletes: mysql < %{obsoleted_mysql_evr} -%else -Conflicts: real-mysql -%endif # mysql-cluster used to be built from this SRPM, but no more Obsoletes: mysql-cluster < 5.1.44 @@ -109,13 +102,8 @@ Group: Applications/Databases Requires: /sbin/ldconfig Provides: mysql-libs = %{epoch}:%{version}-%{release} Provides: mysql-libs%{?_isa} = %{epoch}:%{version}-%{release} -Provides: real-%{name}-libs = %{epoch}:%{version}-%{release} -Provides: real-%{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} -%if 0%obsoletemysql +Obsoletes: MySQL-libs < %{obsoleted_mysql_case_evr} Obsoletes: mysql-libs < %{obsoleted_mysql_evr} -%else -Conflicts: real-mysql-libs -%endif %description libs The mariadb-libs package provides the essential shared libraries for any @@ -127,8 +115,8 @@ to a MariaDB/MySQL server. MariaDB is a community developed branch of MySQL. Summary: The MariaDB server and related files Group: Applications/Databases -Requires: real-%{name}%{?_isa} = %{epoch}:%{version}-%{release} -Requires: real-%{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} Requires: sh-utils Requires(pre): /usr/sbin/useradd # We require this to be present for %%{_prefix}/lib/tmpfiles.d @@ -143,16 +131,11 @@ Requires(postun): systemd-units Requires(post): systemd-sysv # mysqlhotcopy needs DBI/DBD support Requires: perl-DBI, perl-DBD-MySQL -Conflicts: MySQL-server Provides: mysql-server = %{epoch}:%{version}-%{release} Provides: mysql-server%{?_isa} = %{epoch}:%{version}-%{release} -Provides: real-%{name}-server = %{epoch}:%{version}-%{release} -Provides: real-%{name}-server%{?_isa} = %{epoch}:%{version}-%{release} -%if 0%obsoletemysql +Obsoletes: MySQL-server < %{obsoleted_mysql_case_evr} +Conflicts: community-mysql-server Obsoletes: mysql-server < %{obsoleted_mysql_evr} -%else -Conflicts: real-mysql-server -%endif %description server MariaDB is a multi-user, multi-threaded SQL database server. It is a @@ -165,19 +148,14 @@ MariaDB is a community developed branch of MySQL. Summary: Files for development of MariaDB/MySQL applications Group: Applications/Databases -Requires: real-%{name}%{?_isa} = %{epoch}:%{version}-%{release} -Requires: real-%{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} Requires: openssl-devel%{?_isa} -Conflicts: MySQL-devel Provides: mysql-devel = %{epoch}:%{version}-%{release} Provides: mysql-devel%{?_isa} = %{epoch}:%{version}-%{release} -Provides: real-%{name}-devel = %{epoch}:%{version}-%{release} -Provides: real-%{name}-devel%{?_isa} = %{epoch}:%{version}-%{release} -%if 0%obsoletemysql +Obsoletes: MySQL-devel < %{obsoleted_mysql_case_evr} +Conflicts: community-mysql-devel Obsoletes: mysql-devel < %{obsoleted_mysql_evr} -%else -Conflicts: real-mysql-devel -%endif %description devel MariaDB is a multi-user, multi-threaded SQL database server. This @@ -192,13 +170,8 @@ Group: Applications/Databases Requires: /sbin/ldconfig Provides: mysql-embedded = %{epoch}:%{version}-%{release} Provides: mysql-embedded%{?_isa} = %{epoch}:%{version}-%{release} -Provides: real-%{name}-embedded = %{epoch}:%{version}-%{release} -Provides: real-%{name}-embedded%{?_isa} = %{epoch}:%{version}-%{release} -%if 0%obsoletemysql +Obsoletes: MySQL-embedded < %{obsoleted_mysql_case_evr} Obsoletes: mysql-embedded < %{obsoleted_mysql_evr} -%else -Conflicts: real-mysql-embedded -%endif %description embedded MariaDB is a multi-user, multi-threaded SQL database server. This @@ -210,18 +183,13 @@ MariaDB is a community developed branch of MySQL. Summary: Development files for MariaDB as an embeddable library Group: Applications/Databases -Requires: real-%{name}-embedded%{?_isa} = %{epoch}:%{version}-%{release} -Requires: real-%{name}-devel%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-embedded%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{epoch}:%{version}-%{release} Provides: mysql-embedded-devel = %{epoch}:%{version}-%{release} Provides: mysql-embedded-devel%{?_isa} = %{epoch}:%{version}-%{release} -Provides: real-%{name}-embedded-devel = %{epoch}:%{version}-%{release} -Provides: real-%{name}-embedded-devel%{?_isa} = %{epoch}:%{version}-%{release} -Conflicts: MySQL-embedded-devel -%if 0%obsoletemysql +Conflicts: community-mysql-embedded-devel +Obsoletes: MySQL-embedded-devel < %{obsoleted_mysql_case_evr} Obsoletes: mysql-embedded-devel < %{obsoleted_mysql_evr} -%else -Conflicts: real-mysql-embedded-devel -%endif %description embedded-devel MariaDB is a multi-user, multi-threaded SQL database server. This @@ -233,17 +201,12 @@ MariaDB is a community developed branch of MySQL. Summary: MariaDB benchmark scripts and data Group: Applications/Databases -Requires: real-%{name}%{?_isa} = %{epoch}:%{version}-%{release} -Conflicts: MySQL-bench +Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} Provides: mysql-bench = %{epoch}:%{version}-%{release} Provides: mysql-bench%{?_isa} = %{epoch}:%{version}-%{release} -Provides: real-%{name}-bench = %{epoch}:%{version}-%{release} -Provides: real-%{name}-bench%{?_isa} = %{epoch}:%{version}-%{release} -%if 0%obsoletemysql +Conflicts: community-mysql-bench +Obsoletes: MySQL-bench < %{obsoleted_mysql_case_evr} Obsoletes: mysql-bench < %{obsoleted_mysql_evr} -%else -Conflicts: real-mysql-bench -%endif %description bench MariaDB is a multi-user, multi-threaded SQL database server. This @@ -255,19 +218,14 @@ MariaDB is a community developed branch of MySQL. Summary: The test suite distributed with MariaD Group: Applications/Databases -Requires: real-%{name}%{?_isa} = %{epoch}:%{version}-%{release} -Requires: real-%{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} -Requires: real-%{name}-server%{?_isa} = %{epoch}:%{version}-%{release} -Conflicts: MySQL-test +Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-server%{?_isa} = %{epoch}:%{version}-%{release} Provides: mysql-test = %{epoch}:%{version}-%{release} Provides: mysql-test%{?_isa} = %{epoch}:%{version}-%{release} -Provides: real-%{name}-test = %{epoch}:%{version}-%{release} -Provides: real-%{name}-test%{?_isa} = %{epoch}:%{version}-%{release} -%if 0%obsoletemysql +Conflicts: community-mysql-test +Obsoletes: MySQL-test < %{obsoleted_mysql_case_evr} Obsoletes: mysql-test < %{obsoleted_mysql_evr} -%else -Conflicts: real-mysql-test -%endif %description test MariaDB is a multi-user, multi-threaded SQL database server. This @@ -790,6 +748,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Mar 22 2013 Honza Horak 1:5.5.29-11 +- Obsolete MySQL since it is now renamed to community-mysql +- Remove real- virtual names + * Thu Mar 21 2013 Honza Horak 1:5.5.29-10 - Adding epoch to have higher priority than other mysql implementations when comes to provider comparison From cd9eeb6283bba6578d745999035859e5e0565f1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 22 Mar 2013 16:14:07 +0100 Subject: [PATCH 030/789] Rebase to 5.5.30 --- .gitignore | 1 + mariadb-buffer.patch | 24 ------------------------ mariadb-sortbuffer.patch | 15 --------------- mariadb-warning.patch | 11 ----------- mariadb.spec | 16 +++++++--------- sources | 2 +- 6 files changed, 9 insertions(+), 60 deletions(-) delete mode 100644 mariadb-buffer.patch delete mode 100644 mariadb-sortbuffer.patch delete mode 100644 mariadb-warning.patch diff --git a/.gitignore b/.gitignore index 2fd101e..774ea3f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /mariadb-5.5.28a.tar.gz /mariadb-5.5.29.tar.gz +/mariadb-5.5.30.tar.gz diff --git a/mariadb-buffer.patch b/mariadb-buffer.patch deleted file mode 100644 index cec4397..0000000 --- a/mariadb-buffer.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up mariadb-5.5.29/sql/share/errmsg-utf8.txt.buffer mariadb-5.5.29/sql/share/errmsg-utf8.txt ---- mariadb-5.5.29/sql/share/errmsg-utf8.txt.buffer 2013-02-11 10:04:42.099376733 +0100 -+++ mariadb-5.5.29/sql/share/errmsg-utf8.txt 2013-02-11 10:06:09.450370760 +0100 -@@ -4989,13 +4989,13 @@ ER_WRONG_NAME_FOR_CATALOG 42000 - spa "Nombre de catalog incorrecto '%-.100s'" - swe "Felaktigt katalog namn '%-.100s'" - ER_WARN_QC_RESIZE -- eng "Query cache failed to set size %lu; new query cache size is %lu" -- ger "Änderung der Query-Cache-Größe auf %lu fehlgeschlagen; neue Query-Cache-Größe ist %lu" -- por "Falha em Query cache para configurar tamanho %lu, novo tamanho de query cache é %lu" -- rus "Кеш запросов не может установить размер %lu, новый размер кеша зпросов - %lu" -- spa "Query cache fallada para configurar tamaño %lu, nuevo tamaño de query cache es %lu" -- swe "Storleken av "Query cache" kunde inte sättas till %lu, ny storlek är %lu" -- ukr "Кеш запитів неспроможен встановити розмір %lu, новий розмір кеша запитів - %lu" -+ eng "Query cache failed to set size %llu; new query cache size is %lu" -+ ger "Änderung der Query-Cache-Größe auf %llu fehlgeschlagen; neue Query-Cache-Größe ist %lu" -+ por "Falha em Query cache para configurar tamanho %llu, novo tamanho de query cache é %lu" -+ rus "Кеш запросов не может установить размер %llu, новый размер кеша зпросов - %lu" -+ spa "Query cache fallada para configurar tamaño %llu, nuevo tamaño de query cache es %lu" -+ swe "Storleken av "Query cache" kunde inte sättas till %llu, ny storlek är %lu" -+ ukr "Кеш запитів неспроможен встановити розмір %llu, новий розмір кеша запитів - %lu" - ER_BAD_FT_COLUMN - eng "Column '%-.192s' cannot be part of FULLTEXT index" - ger "Feld '%-.192s' kann nicht Teil eines FULLTEXT-Index sein" diff --git a/mariadb-sortbuffer.patch b/mariadb-sortbuffer.patch deleted file mode 100644 index 5649d3b..0000000 --- a/mariadb-sortbuffer.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up mariadb-5.5.29/include/myisamchk.h.buffer mariadb-5.5.29/include/myisamchk.h ---- mariadb-5.5.29/include/myisamchk.h.buffer 2013-03-13 09:17:02.802160975 +0100 -+++ mariadb-5.5.29/include/myisamchk.h 2013-03-13 09:17:37.383161267 +0100 -@@ -138,9 +138,9 @@ typedef struct st_handler_check_param - /* Following is used to check if rows are visible */ - ulonglong max_trid, max_found_trid; - ulonglong not_visible_rows_found; -+ ulonglong sort_buffer_length; - ulonglong use_buffers; /* Used as param to getopt() */ -- size_t read_buffer_length, write_buffer_length; -- size_t sort_buffer_length, sort_key_blocks; -+ size_t read_buffer_length, write_buffer_length, sort_key_blocks; - time_t backup_time; /* To sign backup files */ - ulong rec_per_key_part[HA_MAX_KEY_SEG * HA_MAX_POSSIBLE_KEY]; - double new_rec_per_key_part[HA_MAX_KEY_SEG * HA_MAX_POSSIBLE_KEY]; diff --git a/mariadb-warning.patch b/mariadb-warning.patch deleted file mode 100644 index c98ee19..0000000 --- a/mariadb-warning.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up mariadb-5.5.29/mysql-test/mysql-test-run.pl.warning mariadb-5.5.29/mysql-test/mysql-test-run.pl ---- mariadb-5.5.29/mysql-test/mysql-test-run.pl.warning 2013-03-04 14:05:50.197960442 +0100 -+++ mariadb-5.5.29/mysql-test/mysql-test-run.pl 2013-03-04 14:06:27.271959422 +0100 -@@ -4745,6 +4745,7 @@ sub extract_warning_lines ($$) { - qr|Error: io_setup\(\) failed|, - qr|Warning: io_setup\(\) failed|, - qr|Warning: io_setup\(\) attempt|, -+ qr|setrlimit could not change the size of core files to 'infinity';|, - ); - - my $matched_lines= []; diff --git a/mariadb.spec b/mariadb.spec index cb16a93..e69faee 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb -Version: 5.5.29 -Release: 11%{?dist} +Version: 5.5.30 +Release: 1%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -51,10 +51,7 @@ Patch10: mariadb-file-contents.patch Patch11: mariadb-string-overflow.patch Patch12: mariadb-dh1024.patch Patch13: mariadb-man-plugin.patch -Patch14: mariadb-buffer.patch -Patch15: mariadb-sortbuffer.patch -Patch16: mariadb-basedir.patch -Patch17: mariadb-warning.patch +Patch14: mariadb-basedir.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -250,9 +247,6 @@ MariaDB is a community developed branch of MySQL. %patch12 -p1 %patch13 -p1 %patch14 -p1 -%patch15 -p1 -%patch16 -p1 -%patch17 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -748,6 +742,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Mar 22 2013 Honza Horak 5.5.30-1 +- Rebase to 5.5.30 + https://kb.askmonty.org/en/mariadb-5530-changelog/ + * Fri Mar 22 2013 Honza Horak 1:5.5.29-11 - Obsolete MySQL since it is now renamed to community-mysql - Remove real- virtual names diff --git a/sources b/sources index 87b951f..9fb7718 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -643cca7f07f7b00ca3ae1515e6f245d6 mariadb-5.5.29.tar.gz +39d4da4dabc8bda012517b3587dee6f8 mariadb-5.5.30.tar.gz From b89f76168f76036acf4495588d473fecec46ed4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 6 May 2013 15:44:05 +0200 Subject: [PATCH 031/789] Remove mytop utility, which is packaged separately --- mariadb.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index e69faee..78d9435 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb Version: 5.5.30 -Release: 1%{?dist} +Release: 2%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -451,6 +451,7 @@ 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/mysql-stress-test.pl.1* rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-test-run.pl.1* +rm -f ${RPM_BUILD_ROOT}%{_bindir}/mytop # put logrotate script where it needs to be mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d @@ -562,7 +563,6 @@ fi %{_bindir}/mysqlshow %{_bindir}/mysqlslap %{_bindir}/my_print_defaults -%{_bindir}/mytop %{_bindir}/aria_chk %{_bindir}/aria_dump_log %{_bindir}/aria_ftdump @@ -742,6 +742,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sun May 5 2013 Honza Horak 5.5.30-2 +- Remove mytop utility, which is packaged separately + * Fri Mar 22 2013 Honza Horak 5.5.30-1 - Rebase to 5.5.30 https://kb.askmonty.org/en/mariadb-5530-changelog/ From 427fd6e396b605a440060522673dd05f4ed11fb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 6 May 2013 16:05:55 +0200 Subject: [PATCH 032/789] Resolve multilib conflicts in mysql/private/config.h --- mariadb.spec | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 78d9435..06598d3 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -377,8 +377,10 @@ find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | sort > ROOTFILES # 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 ) - mv $RPM_BUILD_ROOT/usr/include/mysql/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/my_config_`uname -i`.h - install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/usr/include/mysql/ + mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_`uname -i`.h + mv $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h $RPM_BUILD_ROOT%{_includedir}/mysql/private/my_config_`uname -i`.h + install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/ + install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h ;; *) ;; @@ -395,8 +397,8 @@ chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/mysql_config # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also mariadb-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/ +mv ${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}/INFO_SRC ${RPM_BUILD_ROOT}%{_libdir}/mysql/ +mv ${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}/INFO_BIN ${RPM_BUILD_ROOT}%{_libdir}/mysql/ mkdir -p $RPM_BUILD_ROOT/var/log touch $RPM_BUILD_ROOT/var/log/mysqld.log @@ -744,6 +746,7 @@ fi %changelog * Sun May 5 2013 Honza Horak 5.5.30-2 - Remove mytop utility, which is packaged separately +- Resolve multilib conflicts in mysql/private/config.h * Fri Mar 22 2013 Honza Horak 5.5.30-1 - Rebase to 5.5.30 From 36438a3dd0a67182ca9e01f4639ea4abeeb23f2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 24 May 2013 13:21:42 +0200 Subject: [PATCH 033/789] Rebase to 5.5.31 https://kb.askmonty.org/en/mariadb-5531-changelog/ Preserve time-stamps in case of installed files --- .gitignore | 1 + mariadb.spec | 35 ++++++++++++++++++++--------------- sources | 2 +- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index 774ea3f..7f260b3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /mariadb-5.5.28a.tar.gz /mariadb-5.5.29.tar.gz /mariadb-5.5.30.tar.gz +/mariadb-5.5.31.tar.gz diff --git a/mariadb.spec b/mariadb.spec index 06598d3..9c0a8bb 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb -Version: 5.5.30 -Release: 2%{?dist} +Version: 5.5.31 +Release: 1%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -252,7 +252,7 @@ MariaDB is a community developed branch of MySQL. 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 +cp -p %{SOURCE8} libmysql/libmysql.version # generate a list of tests that fail, but are not disabled by upstream cat %{SOURCE14} > mysql-test/rh-skipped-tests.list @@ -266,7 +266,7 @@ echo "main.gis-precise : rhbz#906367" >> mysql-test/rh-skipped-tests.list %endif # install mysql_plugin -cp %{SOURCE16} man/ +cp -p %{SOURCE16} man/ %build @@ -329,7 +329,7 @@ make %{?_smp_mflags} VERBOSE=1 # is expected by scripts for e in innobase xtradb ; do for f in pars0grm.c pars0grm.y pars0lex.l lexyy.c ; do - cp "storage/$e/pars/$f" "storage/$e/$f" + cp -p "storage/$e/pars/$f" "storage/$e/$f" done done @@ -379,8 +379,8 @@ case `uname -i` in i386 | x86_64 | ppc | ppc64 | ppc64p7 | s390 | s390x | sparc | sparc64 ) mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_`uname -i`.h mv $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h $RPM_BUILD_ROOT%{_includedir}/mysql/private/my_config_`uname -i`.h - install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/ - install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h + install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/ + install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h ;; *) ;; @@ -392,7 +392,7 @@ esac # 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 +cp -p -f mysql_config.tmp ${RPM_BUILD_ROOT}%{_bindir}/mysql_config chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/mysql_config # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, @@ -407,16 +407,16 @@ mkdir -p $RPM_BUILD_ROOT/var/run/mysqld install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} -install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/my.cnf +install -p -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/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}/ +install -p -m 644 %{SOURCE11} ${RPM_BUILD_ROOT}%{_unitdir}/ +install -p -m 755 %{SOURCE12} ${RPM_BUILD_ROOT}%{_libexecdir}/ +install -p -m 755 %{SOURCE13} ${RPM_BUILD_ROOT}%{_libexecdir}/ mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d -install -m 0644 %{SOURCE10} $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/%{name}.conf +install -p -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 @@ -464,8 +464,8 @@ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf # 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 @@ -744,6 +744,11 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri May 24 2013 Honza Horak 5.5.31-1 +- Rebase to 5.5.31 + https://kb.askmonty.org/en/mariadb-5531-changelog/ +- Preserve time-stamps in case of installed files + * Sun May 5 2013 Honza Horak 5.5.30-2 - Remove mytop utility, which is packaged separately - Resolve multilib conflicts in mysql/private/config.h diff --git a/sources b/sources index 9fb7718..0b3b78a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -39d4da4dabc8bda012517b3587dee6f8 mariadb-5.5.30.tar.gz +3fe756bc76f0e7a3af2757e48ce0f3f4 mariadb-5.5.31.tar.gz From cf6dc1b3a88f03975d1bef91cc31be2192138fde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 24 May 2013 13:37:05 +0200 Subject: [PATCH 034/789] Use /var/tmp instead of /tmp, since the later is using tmpfs, which can cause problems Resolves: #962087 --- mariadb-tmpdir.patch | 87 ++++++++++++++++++++++++++++++++++++++++++++ mariadb.spec | 6 +++ 2 files changed, 93 insertions(+) create mode 100644 mariadb-tmpdir.patch diff --git a/mariadb-tmpdir.patch b/mariadb-tmpdir.patch new file mode 100644 index 0000000..debb1b7 --- /dev/null +++ b/mariadb-tmpdir.patch @@ -0,0 +1,87 @@ +Directory /tmp is now on tmpfs, which can cause problems with limitted space +or replication. It's documented here: +http://dev.mysql.com/doc/refman/5.5/en/server-options.html#option_mysqld_tmpdir + +"If the MySQL server is acting as a replication slave, you should not set --tmpdir +to point to a directory on a memory-based file system or to a directory that is +cleared when the server host restarts." + +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 mariadb-5.5.31/CMakeLists.txt.tmpdir mariadb-5.5.31/CMakeLists.txt +--- mariadb-5.5.31/CMakeLists.txt.tmpdir 2013-05-22 00:09:51.000000000 +0200 ++++ mariadb-5.5.31/CMakeLists.txt 2013-05-24 13:28:47.830720926 +0200 +@@ -246,6 +246,9 @@ IF(INSTALL_SYSCONFDIR) + SET(DEFAULT_SYSCONFDIR "${INSTALL_SYSCONFDIR}") + ENDIF() + ++IF(TMPDIR) ++ SET(DEFAULT_TMPDIR "${TMPDIR}") ++ENDIF() + + # Run platform tests + INCLUDE(configure.cmake) +diff -up mariadb-5.5.31/config.h.cmake.tmpdir mariadb-5.5.31/config.h.cmake +--- mariadb-5.5.31/config.h.cmake.tmpdir 2013-05-22 00:09:48.000000000 +0200 ++++ mariadb-5.5.31/config.h.cmake 2013-05-24 13:27:38.828722133 +0200 +@@ -618,6 +618,7 @@ + #cmakedefine DEFAULT_CHARSET_HOME "@DEFAULT_CHARSET_HOME@" + #cmakedefine PLUGINDIR "@PLUGINDIR@" + #cmakedefine DEFAULT_SYSCONFDIR "@DEFAULT_SYSCONFDIR@" ++#cmakedefine DEFAULT_TMPDIR "@DEFAULT_TMPDIR@" + + #cmakedefine SO_EXT "@CMAKE_SHARED_MODULE_SUFFIX@" + +diff -up mariadb-5.5.31/include/my_global.h.tmpdir mariadb-5.5.31/include/my_global.h +--- mariadb-5.5.31/include/my_global.h.tmpdir 2013-05-22 00:09:48.000000000 +0200 ++++ mariadb-5.5.31/include/my_global.h 2013-05-24 13:27:38.829722133 +0200 +@@ -1513,4 +1513,11 @@ static inline double rint(double x) + + #endif /* EMBEDDED_LIBRARY */ + ++/* ++ Define default tmpdir if not already set. ++*/ ++#if !defined(DEFAULT_TMPDIR) ++#define DEFAULT_TMPDIR P_tmpdir ++#endif ++ + #endif /* my_global_h */ +diff -up mariadb-5.5.31/libmysqld/lib_sql.cc.tmpdir mariadb-5.5.31/libmysqld/lib_sql.cc +--- mariadb-5.5.31/libmysqld/lib_sql.cc.tmpdir 2013-05-22 00:09:48.000000000 +0200 ++++ mariadb-5.5.31/libmysqld/lib_sql.cc 2013-05-24 13:27:38.830722133 +0200 +@@ -559,7 +559,7 @@ int init_embedded_server(int argc, char + opt_mysql_tmpdir=getenv("TMP"); + #endif + if (!opt_mysql_tmpdir || !opt_mysql_tmpdir[0]) +- opt_mysql_tmpdir=(char*) P_tmpdir; /* purecov: inspected */ ++ opt_mysql_tmpdir=(char*) DEFAULT_TMPDIR; /* purecov: inspected */ + + init_ssl(); + umask(((~my_umask) & 0666)); +diff -up mariadb-5.5.31/mysys/mf_tempdir.c.tmpdir mariadb-5.5.31/mysys/mf_tempdir.c +--- mariadb-5.5.31/mysys/mf_tempdir.c.tmpdir 2013-05-22 00:09:51.000000000 +0200 ++++ mariadb-5.5.31/mysys/mf_tempdir.c 2013-05-24 13:27:38.831722133 +0200 +@@ -43,7 +43,7 @@ my_bool init_tmpdir(MY_TMPDIR *tmpdir, c + pathlist=getenv("TMP"); + #endif + if (!pathlist || !pathlist[0]) +- pathlist=(char*) P_tmpdir; ++ pathlist=(char*) DEFAULT_TMPDIR; + } + do + { +diff -up mariadb-5.5.31/mysys/mf_tempfile.c.tmpdir mariadb-5.5.31/mysys/mf_tempfile.c +--- mariadb-5.5.31/mysys/mf_tempfile.c.tmpdir 2013-05-22 00:09:51.000000000 +0200 ++++ mariadb-5.5.31/mysys/mf_tempfile.c 2013-05-24 13:27:38.832722133 +0200 +@@ -111,7 +111,7 @@ File create_temp_file(char *to, const ch + sizeof(prefix_buff)-7),"XXXXXX") - + prefix_buff); + if (!dir && ! (dir =getenv("TMPDIR"))) +- dir=P_tmpdir; ++ dir=DEFAULT_TMPDIR; + if (strlen(dir)+ pfx_len > FN_REFLEN-2) + { + errno=my_errno= ENAMETOOLONG; diff --git a/mariadb.spec b/mariadb.spec index 9c0a8bb..9a218e4 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -52,6 +52,7 @@ Patch11: mariadb-string-overflow.patch Patch12: mariadb-dh1024.patch Patch13: mariadb-man-plugin.patch Patch14: mariadb-basedir.patch +Patch15: mariadb-tmpdir.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -247,6 +248,7 @@ MariaDB is a community developed branch of MySQL. %patch12 -p1 %patch13 -p1 %patch14 -p1 +%patch15 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -320,6 +322,7 @@ cmake . -DBUILD_CONFIG=mysql_release \ -DWITH_READLINE=ON \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ + -DTMPDIR=/var/tmp \ -DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now" make %{?_smp_mflags} VERBOSE=1 @@ -748,6 +751,9 @@ fi - Rebase to 5.5.31 https://kb.askmonty.org/en/mariadb-5531-changelog/ - Preserve time-stamps in case of installed files +- Use /var/tmp instead of /tmp, since the later is using tmpfs, + which can cause problems + Resolves: #962087 * Sun May 5 2013 Honza Horak 5.5.30-2 - Remove mytop utility, which is packaged separately From 47df471a298f2f9b9269139cd02c4d7845382f87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 24 May 2013 16:23:46 +0200 Subject: [PATCH 035/789] Fix test suite requirements --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 9a218e4..0813884 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -61,7 +61,7 @@ BuildRequires: systemd-units, systemtap-sdt-devel BuildRequires: time procps # perl modules needed to run regression tests BuildRequires: perl(Socket), perl(Time::HiRes) -BuildRequires: perl(Data::Dumper), perl(Test::More) +BuildRequires: perl(Data::Dumper), perl(Test::More), perl(Env) Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} Requires: grep, fileutils, bash @@ -224,6 +224,8 @@ Provides: mysql-test%{?_isa} = %{epoch}:%{version}-%{release} Conflicts: community-mysql-test Obsoletes: MySQL-test < %{obsoleted_mysql_case_evr} Obsoletes: mysql-test < %{obsoleted_mysql_evr} +Requires: perl(Socket), perl(Time::HiRes) +Requires: perl(Data::Dumper), perl(Test::More), perl(Env) %description test MariaDB is a multi-user, multi-threaded SQL database server. This @@ -754,6 +756,7 @@ fi - Use /var/tmp instead of /tmp, since the later is using tmpfs, which can cause problems Resolves: #962087 +- Fix test suite requirements * Sun May 5 2013 Honza Horak 5.5.30-2 - Remove mytop utility, which is packaged separately From 7c1f6a7133dbf5623cecd915420331124988f92f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Thu, 13 Jun 2013 14:29:22 +0200 Subject: [PATCH 036/789] Apply man page fix from Jan Stanek --- mariadb-man-pages.patch | 961 ++++++++++++++++++++++++++++++++++++++++ mariadb.spec | 7 +- 2 files changed, 967 insertions(+), 1 deletion(-) create mode 100644 mariadb-man-pages.patch diff --git a/mariadb-man-pages.patch b/mariadb-man-pages.patch new file mode 100644 index 0000000..12c1e8b --- /dev/null +++ b/mariadb-man-pages.patch @@ -0,0 +1,961 @@ +diff -up mariadb-5.5.31/man/mysql.1.man-pages mariadb-5.5.31/man/mysql.1 +--- mariadb-5.5.31/man/mysql.1.man-pages 2013-05-22 00:09:48.000000000 +0200 ++++ mariadb-5.5.31/man/mysql.1 2013-06-04 16:02:38.745955346 +0200 +@@ -123,7 +123,8 @@ Section\ \&4.2.3.3.1, \(lqCommand-Line O + .\" mysql: help option + .\" help option: mysql + \fB\-\-help\fR, +-\fB\-?\fR ++\fB\-?\fR, ++\fB\-I\fR + .sp + Display a help message and exit\&. + .RE +@@ -265,6 +266,21 @@ Compress all information sent between th + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: connect-timeout option ++.\" connect-timeout option: mysql ++\fB\-\-connect\-timeout=\fR\fB\fIseconds\fR\fR ++.sp ++Set the number of seconds before connection timeout\&. (Default value is 0\&.) ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: database option + .\" database option: mysql + \fB\-\-database=\fR\fB\fIdb_name\fR\fR, +@@ -362,6 +378,37 @@ Section\ \&9.5, \(lqCharacter Set Config + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: defaults-file option ++.\" defaults-file option: mysql ++\fB\-\-defaults-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysql: defaults-extra-file option ++.\" defaults-extra-file option: mysql ++\fB\-\-defaults-extra-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: delimiter option + .\" delimiter option: mysql + \fB\-\-delimiter=\fR\fB\fIstr\fR\fR +@@ -526,6 +573,37 @@ has no effect if the server does not als + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: max-allowed-packet option ++.\" max-allowed-packet option: mysql ++\fB\-\-max\-allowed\-packet=\fR\fB\fInum\fR\fR ++.sp ++Set the maximum packet length to send to or receive from the server\&. (Default value is 16MB\&.) ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysql: max-join-size option ++.\" max-join-size option: mysql ++\fB\-\-max\-join\-size=\fR\fB\fInum\fR\fR ++.sp ++Set the automatic limit for rows in a join when using ++\fB\-\-safe\-updates\fR\&. (Default value is 1,000,000\&.) ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: named-commands option + .\" named-commands option: mysql + \fB\-\-named\-commands\fR, +@@ -551,13 +629,30 @@ the section called \(lqMYSQL COMMANDS\(r + .sp -1 + .IP \(bu 2.3 + .\} ++\h'-04'\(bu\h'+03'\c ++.\} ++.\" mysql: net-buffer-length option ++.\" net-buffer-length option: mysql ++\fB\-\-net\-buffer\-lenght=\fR\fB\fIsize\fR\fR ++.sp ++Set the buffer size for TCP/IP and socket communication\&. (Default value is 16KB\&.) ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: no-auto-rehash option + .\" no-auto-rehash option: mysql + \fB\-\-no\-auto\-rehash\fR, + \fB\-A\fR + .sp + This has the same effect as +-\fB\-skip\-auto\-rehash\fR\&. See the description for ++\fB\-\-skip\-auto\-rehash\fR\&. See the description for + \fB\-\-auto\-rehash\fR\&. + .RE + .sp +@@ -585,6 +680,21 @@ Do not beep when errors occur\&. + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: no-defaults option ++.\" no-defaults option: mysql ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: no-named-commands option + .\" no-named-commands option: mysql + \fB\-\-no\-named\-commands\fR, +@@ -744,6 +854,21 @@ The TCP/IP port number to use for the co + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: print-defaults option ++.\" print-defaults option: mysql ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: prompt option + .\" prompt option: mysql + \fB\-\-prompt=\fR\fB\fIformat_str\fR\fR +@@ -907,6 +1032,36 @@ Do not send passwords to the server in o + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: select-limit option ++.\" select-limit option: mysql ++\fB\-\-select\-limit=\fR\fB\fIlimit\fR\fR ++.sp ++Set automatic limit for SELECT when using \fB\-\-safe\-updates\fR\&. (Default value is 1,000\&.) ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysql: server-arg option ++.\" server-arg option: mysql ++\fB\-\-server\-arg=\fR\fB\fIname\fR\fR ++.sp ++Send \fB\fIname\fR\fR as a parameter to the embedded server\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: show-warnings option + .\" show-warnings option: mysql + \fB\-\-show\-warnings\fR +@@ -959,6 +1114,21 @@ option\&. + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql: skip-auto-rehash option ++.\" skip-auto-rehash option: mysql ++\fB\-\-skip\-auto\-rehash\fR ++.sp ++Disable automatic rehashing\&. Synonym for \fB\-\-disable\-auto\-rehash\fR\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql: skip-column-names option + .\" skip-column-names option: mysql + \fB\-\-skip\-column\-names\fR, +@@ -2754,16 +2924,16 @@ statements that probably need to examine + .RE + .PP + To specify limits different from 1,000 and 1,000,000, you can override the defaults by using the +-\fB\-\-select_limit\fR ++\fB\-\-select\-limit\fR + and +-\fB\-\-max_join_size\fR ++\fB\-\-max\-join\-size\fR + options: + .sp + .if n \{\ + .RS 4 + .\} + .nf +-shell> \fBmysql \-\-safe\-updates \-\-select_limit=500 \-\-max_join_size=10000\fR ++shell> \fBmysql \-\-safe\-updates \-\-select\-limit=500 \-\-max\-join\-size=10000\fR + .fi + .if n \{\ + .RE +diff -up mariadb-5.5.31/man/mysqladmin.1.man-pages mariadb-5.5.31/man/mysqladmin.1 +--- mariadb-5.5.31/man/mysqladmin.1.man-pages 2013-05-22 00:09:48.000000000 +0200 ++++ mariadb-5.5.31/man/mysqladmin.1 2013-06-04 15:01:30.570978963 +0200 +@@ -651,6 +651,21 @@ Compress all information sent between th + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqladmin: connect-timeout option ++.\" connect-timeout option: mysqladmin ++\fB\-\-connect-timeout=\fR\fB\fItimeout\fR\fR ++.sp ++Equivalent to \fB\-\-connect_timeout\fR, see the end of this section\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqladmin: count option + .\" count option: mysqladmin + \fB\-\-count=\fR\fB\fIN\fR\fR, +@@ -737,6 +752,37 @@ Section\ \&9.5, \(lqCharacter Set Config + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqladmin: defaults-extra-file option ++.\" defaults-extra-file option: mysqladmin ++\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqladmin: defaults-file option ++.\" defaults-file option: mysqladmin ++\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqladmin: force option + .\" force option: mysqladmin + \fB\-\-force\fR, +@@ -787,6 +833,21 @@ Suppress the warning beep that is emitte + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqladmin: no-defaults option ++.\" no-defaults option: mysqladmin ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqladmin: password option + .\" password option: mysqladmin + \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, +@@ -848,6 +909,21 @@ The TCP/IP port number to use for the co + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqladmin: print-defaults option ++.\" print-defaults option: mysqladmin ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqladmin: protocol option + .\" protocol option: mysqladmin + \fB\-\-protocol={TCP|SOCKET|PIPE|MEMORY}\fR +@@ -877,6 +953,21 @@ command\&. + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqladmin: shutdown-timeout option ++.\" shutdown-timeout option: mysqladmin ++\fB\-\-shutdown\-timeout\fR\fB\fItimeout\fR\fR ++.sp ++Equivalent of \fB\-\-shutdown_timeout\fR, see the end of this section\&. ++.RE ++.sp ++.RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c + .\} +diff -up mariadb-5.5.31/man/mysqlbinlog.1.man-pages mariadb-5.5.31/man/mysqlbinlog.1 +--- mariadb-5.5.31/man/mysqlbinlog.1.man-pages 2013-05-22 00:09:48.000000000 +0200 ++++ mariadb-5.5.31/man/mysqlbinlog.1 2013-06-04 15:01:30.570978963 +0200 +@@ -714,6 +714,22 @@ Section\ \&4.2.2, \(lqConnecting to the + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlbinlog: open-files-limit option ++.\" open-files-limit option: mysqlbinlog ++\fB\-\-open\-files\-limit=\fR\fB\fINUM\fR\fR ++.sp ++Sets the open_files_limit variable, which is used to reserve file descriptors for ++\fBmysqlbinlog\fR\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlbinlog: read-from-remote-server option + .\" read-from-remote-server option: mysqlbinlog + \fB\-\-read\-from\-remote\-server\fR, +diff -up mariadb-5.5.31/man/mysqlcheck.1.man-pages mariadb-5.5.31/man/mysqlcheck.1 +--- mariadb-5.5.31/man/mysqlcheck.1.man-pages 2013-05-22 00:09:48.000000000 +0200 ++++ mariadb-5.5.31/man/mysqlcheck.1 2013-06-04 15:01:30.571978963 +0200 +@@ -461,6 +461,38 @@ Section\ \&9.5, \(lqCharacter Set Config + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlcheck: defaults-extra-file option ++.\" defaults-extra-file option: mysqlcheck ++\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlcheck: defaults-file option ++.\" defaults-file option: mysqlcheck ++\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlcheck: extended option + .\" extended option: mysqlcheck + \fB\-\-extended\fR, +@@ -575,6 +607,21 @@ operation\&. This finds only 99\&.99% of + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlcheck: no-defaults option ++.\" no-defaults option: mysqlcheck ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlcheck: optimize option + .\" optimize option: mysqlcheck + \fB\-\-optimize\fR, +@@ -661,6 +708,22 @@ Section\ \&4.2.2, \(lqConnecting to the + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlcheck: print-defaults option ++.\" print-defaults option: mysqlcheck ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. ++This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c + .\} +diff -up mariadb-5.5.31/man/mysql_config.1.man-pages mariadb-5.5.31/man/mysql_config.1 +--- mariadb-5.5.31/man/mysql_config.1.man-pages 2013-05-22 00:09:48.000000000 +0200 ++++ mariadb-5.5.31/man/mysql_config.1 2013-06-04 15:01:30.572978963 +0200 +@@ -167,6 +167,22 @@ The default Unix socket file, defined wh + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysql_config: variable option ++.\" variable option: mysql_config ++\fB\-\-variable=VAR\fR ++.sp ++Path to MySQL include, library and plugin directories\&. \fBVAR\fR is one of ++`pkgincludedir`, `pkglibdir` and `plugindir`, respectively\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysql_config: version option + .\" version option: mysql_config + \fB\-\-version\fR +diff -up mariadb-5.5.31/man/mysqldump.1.man-pages mariadb-5.5.31/man/mysqldump.1 +--- mariadb-5.5.31/man/mysqldump.1.man-pages 2013-05-22 00:09:48.000000000 +0200 ++++ mariadb-5.5.31/man/mysqldump.1 2013-06-04 15:01:30.573978963 +0200 +@@ -521,7 +521,8 @@ Compress all information sent between th + .\} + .\" mysqldump: create-options option + .\" create-options option: mysqldump +-\fB\-\-create\-options\fR ++\fB\-\-create\-options\fR, ++\fB\-a\fR + .sp + Include all MySQL\-specific table options in the + CREATE TABLE +@@ -634,6 +635,38 @@ option\&. See the description for that o + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqldump: defaults-extra-file option ++.\" defaults-extra-file option: mysqldump ++\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqldump: defaults-file option ++.\" defaults-file option: mysqldump ++\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqldump: delayed-insert option + .\" delayed-insert option: mysqldump + \fB\-\-delayed\-insert\fR +@@ -1224,6 +1257,36 @@ to point the slave to the correct master + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqldump: max-allowed-packet option ++.\" max-allowed-packet option: mysqldump ++\fB\-\-max\-allowed\-packet=\fR\fB\fIlength\fR\fR ++.sp ++Sets the maximum packet length to send to or recieve from server\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqldump: net-buffer-length option ++.\" net-buffer-length option: mysqldump ++\fB\-\-net\-buffer\-length=\fR\fB\fIlength\fR\fR ++.sp ++Sets the buffer size for TCP/IP and socket communication\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqldump: no-autocommit option + .\" no-autocommit option: mysqldump + \fB\-\-no\-autocommit\fR +@@ -1303,6 +1366,21 @@ statement for the table (for example, to + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqldump: no-defaults option ++.\" no-defaults option: mysqldump ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqldump: no-set-names option + .\" no-set-names option: mysqldump + \fB\-\-no\-set\-names\fR, +@@ -1454,6 +1532,21 @@ to retrieve rows for a table from the se + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqldump: print-defaults option ++.\" print-defaults option: mysqldump ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. This must begiven as the first argument\&. ++.RE ++.sp ++.RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c + .\} +diff -up mariadb-5.5.31/man/mysqlimport.1.man-pages mariadb-5.5.31/man/mysqlimport.1 +--- mariadb-5.5.31/man/mysqlimport.1.man-pages 2013-05-22 00:09:48.000000000 +0200 ++++ mariadb-5.5.31/man/mysqlimport.1 2013-06-04 15:01:30.573978963 +0200 +@@ -218,10 +218,42 @@ Section\ \&9.5, \(lqCharacter Set Config + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlimport: defaults-extra-file option ++.\" defaults-extra-file option: mysqlimport ++\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been ++read\&. Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlimport: defaults-file option ++.\" defaults-file option: mysqlimport ++\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlimport: delete option + .\" delete option: mysqlimport + \fB\-\-delete\fR, +-\fB\-D\fR ++\fB\-d\fR + .sp + Empty the table before importing the text file\&. + .RE +@@ -403,6 +435,22 @@ MERGE)\&. + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlimport: no-defaults option ++.\" no-defaults option: mysqlimport ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the ++first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlimport: password option + .\" password option: mysqlimport + \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, +@@ -473,6 +521,22 @@ Section\ \&4.2.2, \(lqConnecting to the + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlimport: print-defaults option ++.\" print-defaults option: mysqlimport ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. ++This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c + .\} +diff -up mariadb-5.5.31/man/mysqlshow.1.man-pages mariadb-5.5.31/man/mysqlshow.1 +--- mariadb-5.5.31/man/mysqlshow.1.man-pages 2013-05-22 00:09:48.000000000 +0200 ++++ mariadb-5.5.31/man/mysqlshow.1 2013-06-04 15:01:30.574978963 +0200 +@@ -147,7 +147,8 @@ Display a help message and exit\&. + .\} + .\" mysqlshow: character-sets-dir option + .\" character-sets-dir option: mysqlshow +-\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR ++\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR, ++\fB\-c\fR + .sp + The directory where character sets are installed\&. See + Section\ \&9.5, \(lqCharacter Set Configuration\(rq\&. +@@ -261,6 +262,38 @@ Section\ \&9.5, \(lqCharacter Set Config + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlshow: defaults-extra-file option ++.\" defaults-extra-file option: mysqlshow ++\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been ++read\&. Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlshow: defaults-file option ++.\" defaults-file option: mysqlshow ++\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlshow: host option + .\" host option: mysqlshow + \fB\-\-host=\fR\fB\fIhost_name\fR\fR, +@@ -293,6 +326,22 @@ Show table indexes\&. + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlshow: no-defaults option ++.\" no-defaults option: mysqlshow ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the ++first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlshow: password option + .\" password option: mysqlshow + \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, +@@ -363,6 +412,22 @@ Section\ \&4.2.2, \(lqConnecting to the + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlshow: print-defaults option ++.\" print-defaults option: mysqlshow ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. ++This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c + .\} +diff -up mariadb-5.5.31/man/mysqlslap.1.man-pages mariadb-5.5.31/man/mysqlslap.1 +--- mariadb-5.5.31/man/mysqlslap.1.man-pages 2013-05-22 00:09:48.000000000 +0200 ++++ mariadb-5.5.31/man/mysqlslap.1 2013-06-04 15:01:30.574978963 +0200 +@@ -481,6 +481,38 @@ Print debugging information and memory a + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlslap: defaults-extra-file option ++.\" defaults-extra-file option: mysqlslap ++\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been ++read\&. Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlslap: defaults-file option ++.\" defaults-file option: mysqlslap ++\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR ++.sp ++Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. ++Must be given as first option\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlslap: delimiter option + .\" delimiter option: mysqlslap + \fB\-\-delimiter=\fR\fB\fIstr\fR\fR, +@@ -577,6 +609,37 @@ The directory to use for storing locks\& + .sp -1 + .IP \(bu 2.3 + .\} ++.\" mysqlslap: no-defaults option ++.\" no-defaults option: mysqlslap ++\fB\-\-no\-defaults\fR ++.sp ++Do not read default options from any option file\&. This must be given as the ++first argument\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlslap: no-drop option ++.\" no-drop option: mysqlslap ++\fB\-\-no\-drop\fR ++.sp ++Do not drop the schema after the test\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlslap: number-char-cols option + .\" number-char-cols option: mysqlslap + \fB\-\-number\-char\-cols=\fR\fB\fIN\fR\fR, +@@ -750,6 +813,22 @@ On Windows, the shared\-memory name to u + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} ++.\" mysqlslap: print-defaults option ++.\" print-defaults option: mysqlslap ++\fB\-\-print\-defaults\fR ++.sp ++Print the program argument list and exit\&. ++This must be given as the first argument\&. ++.RE ++.sp ++.RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c + .\} diff --git a/mariadb.spec b/mariadb.spec index 0813884..16fb325 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb Version: 5.5.31 -Release: 1%{?dist} +Release: 2%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -53,6 +53,7 @@ Patch12: mariadb-dh1024.patch Patch13: mariadb-man-plugin.patch Patch14: mariadb-basedir.patch Patch15: mariadb-tmpdir.patch +Patch16: mariadb-man-pages.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -251,6 +252,7 @@ MariaDB is a community developed branch of MySQL. %patch13 -p1 %patch14 -p1 %patch15 -p1 +%patch16 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -749,6 +751,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Jun 13 2013 Honza Horak 5.5.31-2 +- Apply man page fix from Jan Stanek + * Fri May 24 2013 Honza Horak 5.5.31-1 - Rebase to 5.5.31 https://kb.askmonty.org/en/mariadb-5531-changelog/ From 9efa2eb96fb884883413b51dd5cacb6c3b43fc96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 14 Jun 2013 10:47:43 +0200 Subject: [PATCH 037/789] Explicitly enable mysqld if it was enabled in the beggining of the transaction. --- mariadb.spec | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 16fb325..8291356 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb Version: 5.5.31 -Release: 2%{?dist} +Release: 3%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -19,6 +19,14 @@ License: GPLv2 with exceptions and LGPLv2 and BSD # Regression tests take a long time, you can skip 'em with this %{!?runselftest:%global runselftest 1} +# When replacing mysql by mariadb these packages are not upated, but rather +# installed and uninstalled. Thus we loose information about mysqld service +# enablement. To address this we use a file to store that information within +# the transaction. Basically the file is created when mysqld is enabled in +# the beginning of the transaction and mysqld is enabled again in the end +# of the transaction in case this flag file exists. +%global mysqld_enabled_flag_file %{_localstatedir}/lib/rpm-state/mysqld_enabled + Source0: http://ftp.osuosl.org/pub/mariadb/mariadb-%{version}/kvm-tarbake-jaunty-x86/mariadb-%{version}.tar.gz Source3: my.cnf Source5: my_config.h @@ -124,6 +132,8 @@ Requires: systemd-units Requires(post): systemd-units Requires(preun): systemd-units Requires(postun): systemd-units +Requires(pretrans): systemd-units +Requires(posttrans): systemd-units # This is actually needed for the %%triggerun script but Requires(triggerun) # is not valid. We can use %%post because this particular %%triggerun script # should fire just after this package is installed. @@ -486,6 +496,21 @@ rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/init.d/mysql # remove duplicate logrotate script rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/mysql +# Explicitly enable mysqld if it was enabled in the beggining +# of the transaction. Otherwise mysqld is disabled always when +# replacing mysql with mariadb, because it is not recognized +# as updating, but rather as removal and install. +%pretrans server +if /bin/systemctl is-enabled mysqld.service >/dev/null 2>&1 ; then + touch %mysqld_enabled_flag_file >/dev/null 2>&1 || : +fi + +%posttrans server +if [ -f %mysqld_enabled_flag_file ]; then + /bin/systemctl enable mysqld.service >/dev/null 2>&1 || : + rm -f %mysqld_enabled_flag_file >/dev/null 2>&1 || : +fi + %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : /usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /bin/bash \ @@ -751,6 +776,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jun 14 2013 Honza Horak 5.5.31-3 +- Explicitly enable mysqld if it was enabled in the beggining + of the transaction. + * Thu Jun 13 2013 Honza Horak 5.5.31-2 - Apply man page fix from Jan Stanek From 9a1819acacffe131763a75cda422c6345f1f0005 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Wed, 19 Jun 2013 11:40:23 +0200 Subject: [PATCH 038/789] Do not use pretrans scriptlet, which doesn't work in anaconda Resolves: #975348 --- mariadb.spec | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 8291356..090be47 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb Version: 5.5.31 -Release: 3%{?dist} +Release: 4%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -496,11 +496,15 @@ rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/init.d/mysql # remove duplicate logrotate script rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/mysql +%pre server +/usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : +/usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /bin/bash \ + -c "MariaDB Server" -u 27 mysql >/dev/null 2>&1 || : + # Explicitly enable mysqld if it was enabled in the beggining # of the transaction. Otherwise mysqld is disabled always when # replacing mysql with mariadb, because it is not recognized # as updating, but rather as removal and install. -%pretrans server if /bin/systemctl is-enabled mysqld.service >/dev/null 2>&1 ; then touch %mysqld_enabled_flag_file >/dev/null 2>&1 || : fi @@ -511,11 +515,6 @@ if [ -f %mysqld_enabled_flag_file ]; then rm -f %mysqld_enabled_flag_file >/dev/null 2>&1 || : fi -%pre server -/usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : -/usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /bin/bash \ - -c "MariaDB Server" -u 27 mysql >/dev/null 2>&1 || : - %post libs -p /sbin/ldconfig %post server @@ -776,6 +775,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Jun 19 2013 Honza Horak 5.5.31-4 +- Do not use pretrans scriptlet, which doesn't work in anaconda + Resolves: #975348 + * Fri Jun 14 2013 Honza Horak 5.5.31-3 - Explicitly enable mysqld if it was enabled in the beggining of the transaction. From af63a8bf7cbdf8d3a01b75b95cd23894b0eba75d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Thu, 27 Jun 2013 16:40:14 +0200 Subject: [PATCH 039/789] Apply fixes found by Coverity static analysis tool --- mariadb-covscan-signexpr.patch | 16 +++++++ mariadb-covscan-stroverflow.patch | 73 +++++++++++++++++++++++++++++++ mariadb.spec | 9 +++- 3 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 mariadb-covscan-signexpr.patch create mode 100644 mariadb-covscan-stroverflow.patch diff --git a/mariadb-covscan-signexpr.patch b/mariadb-covscan-signexpr.patch new file mode 100644 index 0000000..1bbb3db --- /dev/null +++ b/mariadb-covscan-signexpr.patch @@ -0,0 +1,16 @@ +This issue has been found by Coverity - static analysis tool. + +mysql-5.5.31/strings/ctype-ucs2.c:1707:sign_extension – Suspicious implicit sign extension: "s[0]" with type "unsigned char" (8 bits, unsigned) is promoted in "(s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3]" to type "int" (32 bits, signed), then sign-extended to type "unsigned long" (64 bits, unsigned). If "(s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3]" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. + +diff -up mysql-5.5.31/strings/ctype-ucs2.c.covscan1 mysql-5.5.31/strings/ctype-ucs2.c +--- mysql-5.5.31/strings/ctype-ucs2.c.covscan1 2013-06-14 12:12:29.663300314 +0200 ++++ mysql-5.5.31/strings/ctype-ucs2.c 2013-06-14 12:13:07.809299646 +0200 +@@ -1704,7 +1704,7 @@ my_utf32_uni(CHARSET_INFO *cs __attribut + { + if (s + 4 > e) + return MY_CS_TOOSMALL4; +- *pwc= (s[0] << 24) + (s[1] << 16) + (s[2] << 8) + (s[3]); ++ *pwc= (((my_wc_t)s[0]) << 24) + (s[1] << 16) + (s[2] << 8) + (s[3]); + return 4; + } + diff --git a/mariadb-covscan-stroverflow.patch b/mariadb-covscan-stroverflow.patch new file mode 100644 index 0000000..d671b45 --- /dev/null +++ b/mariadb-covscan-stroverflow.patch @@ -0,0 +1,73 @@ +The following problems have been found by Coverity - static analysis tool. + +mysql-5.5.31/plugin/semisync/semisync_master.cc:672:parameter_as_source – Note: This defect has an elevated risk because the source argument is a parameter of the current function. + +mysql-5.5.31/plugin/semisync/semisync_master.cc:661:parameter_as_source – Note: This defect has an elevated risk because the source argument is a parameter of the current function. + +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 + + if (need_copy_send_pos) + { +- strcpy(reply_file_name_, log_file_name); ++ strncpy(reply_file_name_, log_file_name, sizeof(reply_file_name_)-1); ++ reply_file_name_[sizeof(reply_file_name_)-1] = '\0'; + reply_file_pos_ = log_file_pos; + reply_file_name_inited_ = true; + +@@ -658,7 +659,8 @@ int ReplSemiSyncMaster::commitTrx(const + if (cmp <= 0) + { + /* This thd has a lower position, let's update the minimum info. */ +- strcpy(wait_file_name_, trx_wait_binlog_name); ++ strncpy(wait_file_name_, trx_wait_binlog_name, sizeof(wait_file_name_)-1); ++ wait_file_name_[sizeof(wait_file_name_)-1] = '\0'; + wait_file_pos_ = trx_wait_binlog_pos; + + rpl_semi_sync_master_wait_pos_backtraverse++; +@@ -669,7 +671,8 @@ int ReplSemiSyncMaster::commitTrx(const + } + else + { +- strcpy(wait_file_name_, trx_wait_binlog_name); ++ strncpy(wait_file_name_, trx_wait_binlog_name, sizeof(wait_file_name_)-1); ++ wait_file_name_[sizeof(wait_file_name_)-1] = '\0'; + 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'; + +- strncpy(m_message, msg, MYSQL_ERRMSG_SIZE); ++ strncpy(m_message, msg, sizeof(m_message)-1); ++ m_message[sizeof(m_message)-1] = '\0'; + } + + void clear() diff --git a/mariadb.spec b/mariadb.spec index 090be47..309d3d8 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb Version: 5.5.31 -Release: 4%{?dist} +Release: 5%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -62,6 +62,8 @@ Patch13: mariadb-man-plugin.patch Patch14: mariadb-basedir.patch Patch15: mariadb-tmpdir.patch Patch16: mariadb-man-pages.patch +Patch17: mariadb-covscan-signexpr.patch +Patch18: mariadb-covscan-stroverflow.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -263,6 +265,8 @@ MariaDB is a community developed branch of MySQL. %patch14 -p1 %patch15 -p1 %patch16 -p1 +%patch17 -p1 +%patch18 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -775,6 +779,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Jun 27 2013 Honza Horak 5.5.31-5 +- Apply fixes found by Coverity static analysis tool + * Wed Jun 19 2013 Honza Horak 5.5.31-4 - Do not use pretrans scriptlet, which doesn't work in anaconda Resolves: #975348 From 5bbe2768aeb60a90bfa66caa2ddd364c5c6d91cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 1 Jul 2013 15:14:37 +0200 Subject: [PATCH 040/789] Test suite params enhanced to decrease server condition influence --- mariadb.spec | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 309d3d8..c8a0413 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb Version: 5.5.31 -Release: 5%{?dist} +Release: 6%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -366,6 +366,7 @@ done ;; esac export MTR_BUILD_THREAD + export MTR_PARALLEL=1 make test VERBOSE=1 @@ -382,7 +383,9 @@ done cd mysql-test perl ./mysql-test-run.pl --force --retry=0 --ssl \ --skip-test-list=rh-skipped-tests.list \ - --suite-timeout=720 --testcase-timeout=30 + --suite-timeout=720 --testcase-timeout=30 \ + --mysqld=--binlog-format=mixed --force-restart \ + --shutdown-timeout=60 # cmake build scripts will install the var cruft if left alone :-( rm -rf var ) @@ -779,6 +782,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Jul 1 2013 Honza Horak 5.5.31-6 +- Test suite params enhanced to decrease server condition influence + * Thu Jun 27 2013 Honza Horak 5.5.31-5 - Apply fixes found by Coverity static analysis tool From 279ad3326d167141ed0392a8e3bb0f469abe057f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 1 Jul 2013 15:24:02 +0200 Subject: [PATCH 041/789] Fix misleading error message when uninstalling built-in plugins Related: #966873 --- mariadb-pluginerrmsg.patch | 74 ++++++++++++++++++++++++++++++++++++++ mariadb.spec | 4 +++ 2 files changed, 78 insertions(+) create mode 100644 mariadb-pluginerrmsg.patch diff --git a/mariadb-pluginerrmsg.patch b/mariadb-pluginerrmsg.patch new file mode 100644 index 0000000..e751a51 --- /dev/null +++ b/mariadb-pluginerrmsg.patch @@ -0,0 +1,74 @@ +In MySQL 5.5, the InnoDB Plugin is the default version and it's compiled in. +In this case, the plugin cannot be uninstalled and we get error when trying +to do so: + +mysql> uninstall plugin innodb; +ERROR 1305 (42000): PLUGIN innodb does not exist + +But the error message is misleading. The plugin does exist, it just cannot +be installed because it's not dynamically loaded. + +MySQL bug report: http://bugs.mysql.com/bug.php?id=51771 +MariaDB bug report: https://mariadb.atlassian.net/browse/MDEV-4573 +MariaDB fix: http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/3802 + +diff -up mariadb-5.5.31/include/mysql.h.pluginerrmsg mariadb-5.5.31/include/mysql.h +--- mariadb-5.5.31/include/mysql.h.pluginerrmsg 2013-05-22 00:09:51.000000000 +0200 ++++ mariadb-5.5.31/include/mysql.h 2013-07-01 15:16:48.651743395 +0200 +@@ -135,6 +135,7 @@ typedef unsigned long long my_ulonglong; + + /* backward compatibility define - to be removed eventually */ + #define ER_WARN_DATA_TRUNCATED WARN_DATA_TRUNCATED ++#define WARN_PLUGIN_DELETE_BUILTIN ER_PLUGIN_DELETE_BUILTIN + + typedef struct st_mysql_rows { + struct st_mysql_rows *next; /* list of rows */ +diff -up mariadb-5.5.31/mysql-test/r/plugin.result.pluginerrmsg mariadb-5.5.31/mysql-test/r/plugin.result +--- mariadb-5.5.31/mysql-test/r/plugin.result.pluginerrmsg 2013-05-22 00:09:50.000000000 +0200 ++++ mariadb-5.5.31/mysql-test/r/plugin.result 2013-07-01 15:16:48.771743393 +0200 +@@ -171,3 +171,5 @@ select 1; + 1 + 1 + UNINSTALL PLUGIN example; ++UNINSTALL PLUGIN MyISAM; ++ERROR HY000: Built-in plugins cannot be deleted +diff -up mariadb-5.5.31/mysql-test/t/plugin.test.pluginerrmsg mariadb-5.5.31/mysql-test/t/plugin.test +--- mariadb-5.5.31/mysql-test/t/plugin.test.pluginerrmsg 2013-05-22 00:09:50.000000000 +0200 ++++ mariadb-5.5.31/mysql-test/t/plugin.test 2013-07-01 15:16:48.771743393 +0200 +@@ -148,3 +148,10 @@ SET @@SQL_MODE=@OLD_SQL_MODE; + # + select 1; + UNINSTALL PLUGIN example; ++ ++# ++# MDEV-4573 UNINSTALL PLUGIN misleading error message for non-dynamic plugins ++# ++--error ER_PLUGIN_DELETE_BUILTIN ++UNINSTALL PLUGIN MyISAM; ++ +diff -up mariadb-5.5.31/sql/share/errmsg-utf8.txt.pluginerrmsg mariadb-5.5.31/sql/share/errmsg-utf8.txt +--- mariadb-5.5.31/sql/share/errmsg-utf8.txt.pluginerrmsg 2013-05-22 00:09:48.000000000 +0200 ++++ mariadb-5.5.31/sql/share/errmsg-utf8.txt 2013-07-01 15:16:48.773743393 +0200 +@@ -6161,7 +6161,7 @@ WARN_NO_MASTER_INFO + WARN_OPTION_IGNORED + eng "<%-.64s> option ignored" + ger "Option <%-.64s> ignoriert" +-WARN_PLUGIN_DELETE_BUILTIN ++ER_PLUGIN_DELETE_BUILTIN + eng "Built-in plugins cannot be deleted" + ger "Eingebaute Plugins können nicht gelöscht werden" + WARN_PLUGIN_BUSY +diff -up mariadb-5.5.31/sql/sql_plugin.cc.pluginerrmsg mariadb-5.5.31/sql/sql_plugin.cc +--- mariadb-5.5.31/sql/sql_plugin.cc.pluginerrmsg 2013-05-22 00:09:48.000000000 +0200 ++++ mariadb-5.5.31/sql/sql_plugin.cc 2013-07-01 15:16:48.774743393 +0200 +@@ -2174,9 +2174,7 @@ static bool do_uninstall(THD *thd, TABLE + } + if (!plugin->plugin_dl) + { +- push_warning(thd, MYSQL_ERROR::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)); + return 1; + } + if (plugin->load_option == PLUGIN_FORCE_PLUS_PERMANENT) diff --git a/mariadb.spec b/mariadb.spec index c8a0413..6ede652 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -64,6 +64,7 @@ Patch15: mariadb-tmpdir.patch Patch16: mariadb-man-pages.patch Patch17: mariadb-covscan-signexpr.patch Patch18: mariadb-covscan-stroverflow.patch +Patch19: mariadb-pluginerrmsg.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -267,6 +268,7 @@ MariaDB is a community developed branch of MySQL. %patch16 -p1 %patch17 -p1 %patch18 -p1 +%patch19 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -784,6 +786,8 @@ fi %changelog * Mon Jul 1 2013 Honza Horak 5.5.31-6 - Test suite params enhanced to decrease server condition influence +- Fix misleading error message when uninstalling built-in plugins + Related: #966873 * Thu Jun 27 2013 Honza Horak 5.5.31-5 - Apply fixes found by Coverity static analysis tool From f0bc32a8dbc80ed2524117b4053c75331b38831b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Wed, 17 Jul 2013 12:15:20 +0200 Subject: [PATCH 042/789] Perl 5.18 rebuild --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 6ede652..1950572 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb Version: 5.5.31 -Release: 6%{?dist} +Release: 7%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -784,6 +784,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Jul 17 2013 Petr Pisar - 1:5.5.31-7 +- Perl 5.18 rebuild + * Mon Jul 1 2013 Honza Horak 5.5.31-6 - Test suite params enhanced to decrease server condition influence - Fix misleading error message when uninstalling built-in plugins From e48cc34c042e8fe288b132ec924d4696a0af37ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 19 Jul 2013 14:14:40 +0200 Subject: [PATCH 043/789] Rebase to 5.5.32 https://kb.askmonty.org/en/mariadb-5532-changelog/ --- .gitignore | 1 + mariadb-man-pages.patch | 961 ------------------------------------- mariadb-pluginerrmsg.patch | 74 --- mariadb.spec | 12 +- sources | 2 +- 5 files changed, 8 insertions(+), 1042 deletions(-) delete mode 100644 mariadb-man-pages.patch delete mode 100644 mariadb-pluginerrmsg.patch diff --git a/.gitignore b/.gitignore index 7f260b3..6656fad 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /mariadb-5.5.29.tar.gz /mariadb-5.5.30.tar.gz /mariadb-5.5.31.tar.gz +/mariadb-5.5.32.tar.gz diff --git a/mariadb-man-pages.patch b/mariadb-man-pages.patch deleted file mode 100644 index 12c1e8b..0000000 --- a/mariadb-man-pages.patch +++ /dev/null @@ -1,961 +0,0 @@ -diff -up mariadb-5.5.31/man/mysql.1.man-pages mariadb-5.5.31/man/mysql.1 ---- mariadb-5.5.31/man/mysql.1.man-pages 2013-05-22 00:09:48.000000000 +0200 -+++ mariadb-5.5.31/man/mysql.1 2013-06-04 16:02:38.745955346 +0200 -@@ -123,7 +123,8 @@ Section\ \&4.2.3.3.1, \(lqCommand-Line O - .\" mysql: help option - .\" help option: mysql - \fB\-\-help\fR, --\fB\-?\fR -+\fB\-?\fR, -+\fB\-I\fR - .sp - Display a help message and exit\&. - .RE -@@ -265,6 +266,21 @@ Compress all information sent between th - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: connect-timeout option -+.\" connect-timeout option: mysql -+\fB\-\-connect\-timeout=\fR\fB\fIseconds\fR\fR -+.sp -+Set the number of seconds before connection timeout\&. (Default value is 0\&.) -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: database option - .\" database option: mysql - \fB\-\-database=\fR\fB\fIdb_name\fR\fR, -@@ -362,6 +378,37 @@ Section\ \&9.5, \(lqCharacter Set Config - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: defaults-file option -+.\" defaults-file option: mysql -+\fB\-\-defaults-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysql: defaults-extra-file option -+.\" defaults-extra-file option: mysql -+\fB\-\-defaults-extra-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: delimiter option - .\" delimiter option: mysql - \fB\-\-delimiter=\fR\fB\fIstr\fR\fR -@@ -526,6 +573,37 @@ has no effect if the server does not als - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: max-allowed-packet option -+.\" max-allowed-packet option: mysql -+\fB\-\-max\-allowed\-packet=\fR\fB\fInum\fR\fR -+.sp -+Set the maximum packet length to send to or receive from the server\&. (Default value is 16MB\&.) -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysql: max-join-size option -+.\" max-join-size option: mysql -+\fB\-\-max\-join\-size=\fR\fB\fInum\fR\fR -+.sp -+Set the automatic limit for rows in a join when using -+\fB\-\-safe\-updates\fR\&. (Default value is 1,000,000\&.) -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: named-commands option - .\" named-commands option: mysql - \fB\-\-named\-commands\fR, -@@ -551,13 +629,30 @@ the section called \(lqMYSQL COMMANDS\(r - .sp -1 - .IP \(bu 2.3 - .\} -+\h'-04'\(bu\h'+03'\c -+.\} -+.\" mysql: net-buffer-length option -+.\" net-buffer-length option: mysql -+\fB\-\-net\-buffer\-lenght=\fR\fB\fIsize\fR\fR -+.sp -+Set the buffer size for TCP/IP and socket communication\&. (Default value is 16KB\&.) -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: no-auto-rehash option - .\" no-auto-rehash option: mysql - \fB\-\-no\-auto\-rehash\fR, - \fB\-A\fR - .sp - This has the same effect as --\fB\-skip\-auto\-rehash\fR\&. See the description for -+\fB\-\-skip\-auto\-rehash\fR\&. See the description for - \fB\-\-auto\-rehash\fR\&. - .RE - .sp -@@ -585,6 +680,21 @@ Do not beep when errors occur\&. - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: no-defaults option -+.\" no-defaults option: mysql -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: no-named-commands option - .\" no-named-commands option: mysql - \fB\-\-no\-named\-commands\fR, -@@ -744,6 +854,21 @@ The TCP/IP port number to use for the co - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: print-defaults option -+.\" print-defaults option: mysql -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: prompt option - .\" prompt option: mysql - \fB\-\-prompt=\fR\fB\fIformat_str\fR\fR -@@ -907,6 +1032,36 @@ Do not send passwords to the server in o - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: select-limit option -+.\" select-limit option: mysql -+\fB\-\-select\-limit=\fR\fB\fIlimit\fR\fR -+.sp -+Set automatic limit for SELECT when using \fB\-\-safe\-updates\fR\&. (Default value is 1,000\&.) -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysql: server-arg option -+.\" server-arg option: mysql -+\fB\-\-server\-arg=\fR\fB\fIname\fR\fR -+.sp -+Send \fB\fIname\fR\fR as a parameter to the embedded server\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: show-warnings option - .\" show-warnings option: mysql - \fB\-\-show\-warnings\fR -@@ -959,6 +1114,21 @@ option\&. - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql: skip-auto-rehash option -+.\" skip-auto-rehash option: mysql -+\fB\-\-skip\-auto\-rehash\fR -+.sp -+Disable automatic rehashing\&. Synonym for \fB\-\-disable\-auto\-rehash\fR\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql: skip-column-names option - .\" skip-column-names option: mysql - \fB\-\-skip\-column\-names\fR, -@@ -2754,16 +2924,16 @@ statements that probably need to examine - .RE - .PP - To specify limits different from 1,000 and 1,000,000, you can override the defaults by using the --\fB\-\-select_limit\fR -+\fB\-\-select\-limit\fR - and --\fB\-\-max_join_size\fR -+\fB\-\-max\-join\-size\fR - options: - .sp - .if n \{\ - .RS 4 - .\} - .nf --shell> \fBmysql \-\-safe\-updates \-\-select_limit=500 \-\-max_join_size=10000\fR -+shell> \fBmysql \-\-safe\-updates \-\-select\-limit=500 \-\-max\-join\-size=10000\fR - .fi - .if n \{\ - .RE -diff -up mariadb-5.5.31/man/mysqladmin.1.man-pages mariadb-5.5.31/man/mysqladmin.1 ---- mariadb-5.5.31/man/mysqladmin.1.man-pages 2013-05-22 00:09:48.000000000 +0200 -+++ mariadb-5.5.31/man/mysqladmin.1 2013-06-04 15:01:30.570978963 +0200 -@@ -651,6 +651,21 @@ Compress all information sent between th - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqladmin: connect-timeout option -+.\" connect-timeout option: mysqladmin -+\fB\-\-connect-timeout=\fR\fB\fItimeout\fR\fR -+.sp -+Equivalent to \fB\-\-connect_timeout\fR, see the end of this section\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqladmin: count option - .\" count option: mysqladmin - \fB\-\-count=\fR\fB\fIN\fR\fR, -@@ -737,6 +752,37 @@ Section\ \&9.5, \(lqCharacter Set Config - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqladmin: defaults-extra-file option -+.\" defaults-extra-file option: mysqladmin -+\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqladmin: defaults-file option -+.\" defaults-file option: mysqladmin -+\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqladmin: force option - .\" force option: mysqladmin - \fB\-\-force\fR, -@@ -787,6 +833,21 @@ Suppress the warning beep that is emitte - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqladmin: no-defaults option -+.\" no-defaults option: mysqladmin -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqladmin: password option - .\" password option: mysqladmin - \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, -@@ -848,6 +909,21 @@ The TCP/IP port number to use for the co - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqladmin: print-defaults option -+.\" print-defaults option: mysqladmin -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqladmin: protocol option - .\" protocol option: mysqladmin - \fB\-\-protocol={TCP|SOCKET|PIPE|MEMORY}\fR -@@ -877,6 +953,21 @@ command\&. - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqladmin: shutdown-timeout option -+.\" shutdown-timeout option: mysqladmin -+\fB\-\-shutdown\-timeout\fR\fB\fItimeout\fR\fR -+.sp -+Equivalent of \fB\-\-shutdown_timeout\fR, see the end of this section\&. -+.RE -+.sp -+.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mariadb-5.5.31/man/mysqlbinlog.1.man-pages mariadb-5.5.31/man/mysqlbinlog.1 ---- mariadb-5.5.31/man/mysqlbinlog.1.man-pages 2013-05-22 00:09:48.000000000 +0200 -+++ mariadb-5.5.31/man/mysqlbinlog.1 2013-06-04 15:01:30.570978963 +0200 -@@ -714,6 +714,22 @@ Section\ \&4.2.2, \(lqConnecting to the - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqlbinlog: open-files-limit option -+.\" open-files-limit option: mysqlbinlog -+\fB\-\-open\-files\-limit=\fR\fB\fINUM\fR\fR -+.sp -+Sets the open_files_limit variable, which is used to reserve file descriptors for -+\fBmysqlbinlog\fR\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlbinlog: read-from-remote-server option - .\" read-from-remote-server option: mysqlbinlog - \fB\-\-read\-from\-remote\-server\fR, -diff -up mariadb-5.5.31/man/mysqlcheck.1.man-pages mariadb-5.5.31/man/mysqlcheck.1 ---- mariadb-5.5.31/man/mysqlcheck.1.man-pages 2013-05-22 00:09:48.000000000 +0200 -+++ mariadb-5.5.31/man/mysqlcheck.1 2013-06-04 15:01:30.571978963 +0200 -@@ -461,6 +461,38 @@ Section\ \&9.5, \(lqCharacter Set Config - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqlcheck: defaults-extra-file option -+.\" defaults-extra-file option: mysqlcheck -+\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlcheck: defaults-file option -+.\" defaults-file option: mysqlcheck -+\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlcheck: extended option - .\" extended option: mysqlcheck - \fB\-\-extended\fR, -@@ -575,6 +607,21 @@ operation\&. This finds only 99\&.99% of - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqlcheck: no-defaults option -+.\" no-defaults option: mysqlcheck -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlcheck: optimize option - .\" optimize option: mysqlcheck - \fB\-\-optimize\fR, -@@ -661,6 +708,22 @@ Section\ \&4.2.2, \(lqConnecting to the - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlcheck: print-defaults option -+.\" print-defaults option: mysqlcheck -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. -+This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mariadb-5.5.31/man/mysql_config.1.man-pages mariadb-5.5.31/man/mysql_config.1 ---- mariadb-5.5.31/man/mysql_config.1.man-pages 2013-05-22 00:09:48.000000000 +0200 -+++ mariadb-5.5.31/man/mysql_config.1 2013-06-04 15:01:30.572978963 +0200 -@@ -167,6 +167,22 @@ The default Unix socket file, defined wh - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysql_config: variable option -+.\" variable option: mysql_config -+\fB\-\-variable=VAR\fR -+.sp -+Path to MySQL include, library and plugin directories\&. \fBVAR\fR is one of -+`pkgincludedir`, `pkglibdir` and `plugindir`, respectively\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysql_config: version option - .\" version option: mysql_config - \fB\-\-version\fR -diff -up mariadb-5.5.31/man/mysqldump.1.man-pages mariadb-5.5.31/man/mysqldump.1 ---- mariadb-5.5.31/man/mysqldump.1.man-pages 2013-05-22 00:09:48.000000000 +0200 -+++ mariadb-5.5.31/man/mysqldump.1 2013-06-04 15:01:30.573978963 +0200 -@@ -521,7 +521,8 @@ Compress all information sent between th - .\} - .\" mysqldump: create-options option - .\" create-options option: mysqldump --\fB\-\-create\-options\fR -+\fB\-\-create\-options\fR, -+\fB\-a\fR - .sp - Include all MySQL\-specific table options in the - CREATE TABLE -@@ -634,6 +635,38 @@ option\&. See the description for that o - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqldump: defaults-extra-file option -+.\" defaults-extra-file option: mysqldump -+\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been read\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqldump: defaults-file option -+.\" defaults-file option: mysqldump -+\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqldump: delayed-insert option - .\" delayed-insert option: mysqldump - \fB\-\-delayed\-insert\fR -@@ -1224,6 +1257,36 @@ to point the slave to the correct master - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqldump: max-allowed-packet option -+.\" max-allowed-packet option: mysqldump -+\fB\-\-max\-allowed\-packet=\fR\fB\fIlength\fR\fR -+.sp -+Sets the maximum packet length to send to or recieve from server\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqldump: net-buffer-length option -+.\" net-buffer-length option: mysqldump -+\fB\-\-net\-buffer\-length=\fR\fB\fIlength\fR\fR -+.sp -+Sets the buffer size for TCP/IP and socket communication\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqldump: no-autocommit option - .\" no-autocommit option: mysqldump - \fB\-\-no\-autocommit\fR -@@ -1303,6 +1366,21 @@ statement for the table (for example, to - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqldump: no-defaults option -+.\" no-defaults option: mysqldump -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqldump: no-set-names option - .\" no-set-names option: mysqldump - \fB\-\-no\-set\-names\fR, -@@ -1454,6 +1532,21 @@ to retrieve rows for a table from the se - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqldump: print-defaults option -+.\" print-defaults option: mysqldump -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. This must begiven as the first argument\&. -+.RE -+.sp -+.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mariadb-5.5.31/man/mysqlimport.1.man-pages mariadb-5.5.31/man/mysqlimport.1 ---- mariadb-5.5.31/man/mysqlimport.1.man-pages 2013-05-22 00:09:48.000000000 +0200 -+++ mariadb-5.5.31/man/mysqlimport.1 2013-06-04 15:01:30.573978963 +0200 -@@ -218,10 +218,42 @@ Section\ \&9.5, \(lqCharacter Set Config - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqlimport: defaults-extra-file option -+.\" defaults-extra-file option: mysqlimport -+\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been -+read\&. Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlimport: defaults-file option -+.\" defaults-file option: mysqlimport -+\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlimport: delete option - .\" delete option: mysqlimport - \fB\-\-delete\fR, --\fB\-D\fR -+\fB\-d\fR - .sp - Empty the table before importing the text file\&. - .RE -@@ -403,6 +435,22 @@ MERGE)\&. - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqlimport: no-defaults option -+.\" no-defaults option: mysqlimport -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the -+first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlimport: password option - .\" password option: mysqlimport - \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, -@@ -473,6 +521,22 @@ Section\ \&4.2.2, \(lqConnecting to the - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlimport: print-defaults option -+.\" print-defaults option: mysqlimport -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. -+This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mariadb-5.5.31/man/mysqlshow.1.man-pages mariadb-5.5.31/man/mysqlshow.1 ---- mariadb-5.5.31/man/mysqlshow.1.man-pages 2013-05-22 00:09:48.000000000 +0200 -+++ mariadb-5.5.31/man/mysqlshow.1 2013-06-04 15:01:30.574978963 +0200 -@@ -147,7 +147,8 @@ Display a help message and exit\&. - .\} - .\" mysqlshow: character-sets-dir option - .\" character-sets-dir option: mysqlshow --\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR -+\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR, -+\fB\-c\fR - .sp - The directory where character sets are installed\&. See - Section\ \&9.5, \(lqCharacter Set Configuration\(rq\&. -@@ -261,6 +262,38 @@ Section\ \&9.5, \(lqCharacter Set Config - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqlshow: defaults-extra-file option -+.\" defaults-extra-file option: mysqlshow -+\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been -+read\&. Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlshow: defaults-file option -+.\" defaults-file option: mysqlshow -+\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlshow: host option - .\" host option: mysqlshow - \fB\-\-host=\fR\fB\fIhost_name\fR\fR, -@@ -293,6 +326,22 @@ Show table indexes\&. - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqlshow: no-defaults option -+.\" no-defaults option: mysqlshow -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the -+first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlshow: password option - .\" password option: mysqlshow - \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, -@@ -363,6 +412,22 @@ Section\ \&4.2.2, \(lqConnecting to the - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlshow: print-defaults option -+.\" print-defaults option: mysqlshow -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. -+This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mariadb-5.5.31/man/mysqlslap.1.man-pages mariadb-5.5.31/man/mysqlslap.1 ---- mariadb-5.5.31/man/mysqlslap.1.man-pages 2013-05-22 00:09:48.000000000 +0200 -+++ mariadb-5.5.31/man/mysqlslap.1 2013-06-04 15:01:30.574978963 +0200 -@@ -481,6 +481,38 @@ Print debugging information and memory a - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqlslap: defaults-extra-file option -+.\" defaults-extra-file option: mysqlslap -+\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from after the global defaults files has been -+read\&. Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlslap: defaults-file option -+.\" defaults-file option: mysqlslap -+\fB\-\-defaults\-file=\fR\fB\fIfilename\fR\fR -+.sp -+Set \fB\fIfilename\fR\fR as the file to read default options from, override global defaults files\&. -+Must be given as first option\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlslap: delimiter option - .\" delimiter option: mysqlslap - \fB\-\-delimiter=\fR\fB\fIstr\fR\fR, -@@ -577,6 +609,37 @@ The directory to use for storing locks\& - .sp -1 - .IP \(bu 2.3 - .\} -+.\" mysqlslap: no-defaults option -+.\" no-defaults option: mysqlslap -+\fB\-\-no\-defaults\fR -+.sp -+Do not read default options from any option file\&. This must be given as the -+first argument\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlslap: no-drop option -+.\" no-drop option: mysqlslap -+\fB\-\-no\-drop\fR -+.sp -+Do not drop the schema after the test\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlslap: number-char-cols option - .\" number-char-cols option: mysqlslap - \fB\-\-number\-char\-cols=\fR\fB\fIN\fR\fR, -@@ -750,6 +813,22 @@ On Windows, the shared\-memory name to u - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} -+.\" mysqlslap: print-defaults option -+.\" print-defaults option: mysqlslap -+\fB\-\-print\-defaults\fR -+.sp -+Print the program argument list and exit\&. -+This must be given as the first argument\&. -+.RE -+.sp -+.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} diff --git a/mariadb-pluginerrmsg.patch b/mariadb-pluginerrmsg.patch deleted file mode 100644 index e751a51..0000000 --- a/mariadb-pluginerrmsg.patch +++ /dev/null @@ -1,74 +0,0 @@ -In MySQL 5.5, the InnoDB Plugin is the default version and it's compiled in. -In this case, the plugin cannot be uninstalled and we get error when trying -to do so: - -mysql> uninstall plugin innodb; -ERROR 1305 (42000): PLUGIN innodb does not exist - -But the error message is misleading. The plugin does exist, it just cannot -be installed because it's not dynamically loaded. - -MySQL bug report: http://bugs.mysql.com/bug.php?id=51771 -MariaDB bug report: https://mariadb.atlassian.net/browse/MDEV-4573 -MariaDB fix: http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/3802 - -diff -up mariadb-5.5.31/include/mysql.h.pluginerrmsg mariadb-5.5.31/include/mysql.h ---- mariadb-5.5.31/include/mysql.h.pluginerrmsg 2013-05-22 00:09:51.000000000 +0200 -+++ mariadb-5.5.31/include/mysql.h 2013-07-01 15:16:48.651743395 +0200 -@@ -135,6 +135,7 @@ typedef unsigned long long my_ulonglong; - - /* backward compatibility define - to be removed eventually */ - #define ER_WARN_DATA_TRUNCATED WARN_DATA_TRUNCATED -+#define WARN_PLUGIN_DELETE_BUILTIN ER_PLUGIN_DELETE_BUILTIN - - typedef struct st_mysql_rows { - struct st_mysql_rows *next; /* list of rows */ -diff -up mariadb-5.5.31/mysql-test/r/plugin.result.pluginerrmsg mariadb-5.5.31/mysql-test/r/plugin.result ---- mariadb-5.5.31/mysql-test/r/plugin.result.pluginerrmsg 2013-05-22 00:09:50.000000000 +0200 -+++ mariadb-5.5.31/mysql-test/r/plugin.result 2013-07-01 15:16:48.771743393 +0200 -@@ -171,3 +171,5 @@ select 1; - 1 - 1 - UNINSTALL PLUGIN example; -+UNINSTALL PLUGIN MyISAM; -+ERROR HY000: Built-in plugins cannot be deleted -diff -up mariadb-5.5.31/mysql-test/t/plugin.test.pluginerrmsg mariadb-5.5.31/mysql-test/t/plugin.test ---- mariadb-5.5.31/mysql-test/t/plugin.test.pluginerrmsg 2013-05-22 00:09:50.000000000 +0200 -+++ mariadb-5.5.31/mysql-test/t/plugin.test 2013-07-01 15:16:48.771743393 +0200 -@@ -148,3 +148,10 @@ SET @@SQL_MODE=@OLD_SQL_MODE; - # - select 1; - UNINSTALL PLUGIN example; -+ -+# -+# MDEV-4573 UNINSTALL PLUGIN misleading error message for non-dynamic plugins -+# -+--error ER_PLUGIN_DELETE_BUILTIN -+UNINSTALL PLUGIN MyISAM; -+ -diff -up mariadb-5.5.31/sql/share/errmsg-utf8.txt.pluginerrmsg mariadb-5.5.31/sql/share/errmsg-utf8.txt ---- mariadb-5.5.31/sql/share/errmsg-utf8.txt.pluginerrmsg 2013-05-22 00:09:48.000000000 +0200 -+++ mariadb-5.5.31/sql/share/errmsg-utf8.txt 2013-07-01 15:16:48.773743393 +0200 -@@ -6161,7 +6161,7 @@ WARN_NO_MASTER_INFO - WARN_OPTION_IGNORED - eng "<%-.64s> option ignored" - ger "Option <%-.64s> ignoriert" --WARN_PLUGIN_DELETE_BUILTIN -+ER_PLUGIN_DELETE_BUILTIN - eng "Built-in plugins cannot be deleted" - ger "Eingebaute Plugins können nicht gelöscht werden" - WARN_PLUGIN_BUSY -diff -up mariadb-5.5.31/sql/sql_plugin.cc.pluginerrmsg mariadb-5.5.31/sql/sql_plugin.cc ---- mariadb-5.5.31/sql/sql_plugin.cc.pluginerrmsg 2013-05-22 00:09:48.000000000 +0200 -+++ mariadb-5.5.31/sql/sql_plugin.cc 2013-07-01 15:16:48.774743393 +0200 -@@ -2174,9 +2174,7 @@ static bool do_uninstall(THD *thd, TABLE - } - if (!plugin->plugin_dl) - { -- push_warning(thd, MYSQL_ERROR::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)); - return 1; - } - if (plugin->load_option == PLUGIN_FORCE_PLUS_PERMANENT) diff --git a/mariadb.spec b/mariadb.spec index 1950572..bf754f5 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb -Version: 5.5.31 -Release: 7%{?dist} +Version: 5.5.32 +Release: 1%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -61,10 +61,8 @@ Patch12: mariadb-dh1024.patch Patch13: mariadb-man-plugin.patch Patch14: mariadb-basedir.patch Patch15: mariadb-tmpdir.patch -Patch16: mariadb-man-pages.patch Patch17: mariadb-covscan-signexpr.patch Patch18: mariadb-covscan-stroverflow.patch -Patch19: mariadb-pluginerrmsg.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -265,10 +263,8 @@ MariaDB is a community developed branch of MySQL. %patch13 -p1 %patch14 -p1 %patch15 -p1 -%patch16 -p1 %patch17 -p1 %patch18 -p1 -%patch19 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -784,6 +780,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jul 19 2013 Honza Horak 5.5.32-1 +- Rebase to 5.5.32 + https://kb.askmonty.org/en/mariadb-5532-changelog/ + * Wed Jul 17 2013 Petr Pisar - 1:5.5.31-7 - Perl 5.18 rebuild diff --git a/sources b/sources index 0b3b78a..1e9f3ca 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -3fe756bc76f0e7a3af2757e48ce0f3f4 mariadb-5.5.31.tar.gz +565c2dce6a2fb027c9d0ffbae4934135 mariadb-5.5.32.tar.gz From 88699ac4aa7772856d936c7c58a4fac4a4d19ba3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 19 Jul 2013 14:37:02 +0200 Subject: [PATCH 044/789] Clean-up spec file, remove un-necessary systemd snippets --- mariadb-man-plugin.patch | 16 -- mariadb.spec | 63 +------ mysql_plugin.1 | 388 --------------------------------------- 3 files changed, 7 insertions(+), 460 deletions(-) delete mode 100644 mariadb-man-plugin.patch delete mode 100644 mysql_plugin.1 diff --git a/mariadb-man-plugin.patch b/mariadb-man-plugin.patch deleted file mode 100644 index 64bae9e..0000000 --- a/mariadb-man-plugin.patch +++ /dev/null @@ -1,16 +0,0 @@ -MySQL tar ball includes mysql_plugin.1, but mariadb tar ball doesn't. -Since mysql_plugin.1 is added into RPM by hand, we have to add it to the -CMakeLists.txt too. - -diff -up mariadb-5.5.28a/man/CMakeLists.txt.mysql_plugin mariadb-5.5.28a/man/CMakeLists.txt ---- mariadb-5.5.28a/man/CMakeLists.txt.mysql_plugin 2013-01-02 11:48:23.845499524 +0100 -+++ mariadb-5.5.28a/man/CMakeLists.txt 2013-01-02 11:48:49.967514226 +0100 -@@ -21,7 +21,7 @@ SET(MAN1_SERVER innochecksum.1 my_print_ - mysql_tzinfo_to_sql.1 mysql_upgrade.1 mysql_zap.1 - mysqld_multi.1 mysqld_safe.1 mysqldumpslow.1 mysqlhotcopy.1 - mysqlman.1 mysqltest.1 perror.1 replace.1 resolve_stack_dump.1 -- resolveip.1 mysqlbug.1) -+ resolveip.1 mysqlbug.1 mysql_plugin.1) - SET(MAN8_SERVER mysqld.8 mysqlmanager.8) - SET(MAN1_CLIENT msql2mysql.1 mysql.1 mysql_find_rows.1 mysql_waitpid.1 - mysqlaccess.1 mysqladmin.1 mysqlbinlog.1 mysqlcheck.1 diff --git a/mariadb.spec b/mariadb.spec index bf754f5..e9c166f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -40,8 +40,6 @@ Source12: mysqld-prepare-db-dir Source13: mysqld-wait-ready Source14: rh-skipped-tests-base.list Source15: rh-skipped-tests-arm.list -# mysql_plugin is missing in mariadb tar ball -Source16: mysql_plugin.1 # Working around perl dependency checking bug in rpm FTTB. Remove later. Source999: filter-requires-mysql.sh @@ -58,7 +56,6 @@ Patch9: mariadb-cipherspec.patch Patch10: mariadb-file-contents.patch Patch11: mariadb-string-overflow.patch Patch12: mariadb-dh1024.patch -Patch13: mariadb-man-plugin.patch Patch14: mariadb-basedir.patch Patch15: mariadb-tmpdir.patch Patch17: mariadb-covscan-signexpr.patch @@ -127,7 +124,7 @@ Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} Requires: sh-utils Requires(pre): /usr/sbin/useradd -# We require this to be present for %%{_prefix}/lib/tmpfiles.d +# We require this to be present for %%{_tmpfilesdir} Requires: systemd-units # Make sure it's there when scriptlets run, too Requires(post): systemd-units @@ -260,7 +257,6 @@ MariaDB is a community developed branch of MySQL. %patch10 -p1 %patch11 -p1 %patch12 -p1 -%patch13 -p1 %patch14 -p1 %patch15 -p1 %patch17 -p1 @@ -283,9 +279,6 @@ cat %{SOURCE15} >> mysql-test/rh-skipped-tests.list echo "main.gis-precise : rhbz#906367" >> mysql-test/rh-skipped-tests.list %endif -# install mysql_plugin -cp -p %{SOURCE16} man/ - %build # fail quickly and obviously if user tries to build as root @@ -437,8 +430,8 @@ install -p -m 644 %{SOURCE11} ${RPM_BUILD_ROOT}%{_unitdir}/ install -p -m 755 %{SOURCE12} ${RPM_BUILD_ROOT}%{_libexecdir}/ install -p -m 755 %{SOURCE13} ${RPM_BUILD_ROOT}%{_libexecdir}/ -mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d -install -p -m 0644 %{SOURCE10} $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/%{name}.conf +mkdir -p $RPM_BUILD_ROOT%{_tmpfilesdir} +install -p -m 0644 %{SOURCE10} $RPM_BUILD_ROOT%{_tmpfilesdir}/%{name}.conf # Fix funny permissions that cmake build scripts apply to config files chmod 644 ${RPM_BUILD_ROOT}%{_datadir}/mysql/config.*.ini @@ -523,62 +516,19 @@ fi %post libs -p /sbin/ldconfig %post server -# As soon as Fedora 17, which doesn't know %%systemd_post macro, -# is retired, we can remove the check for availability of the macro -# and the alternative code. -# Let's keep it there now for anyone trying to build the package -# for F17 on his own. -%if 0%{?systemd_post:1} %systemd_post mysqld.service -%else -if [ $1 = 1 ]; then - # Initial installation - /bin/systemctl daemon-reload >/dev/null 2>&1 || : -fi -%endif /bin/chmod 0755 /var/lib/mysql /bin/touch /var/log/mysqld.log -# 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 - %post embedded -p /sbin/ldconfig %preun server -%if 0%{?systemd_preun:1} %systemd_preun mysqld.service -%else -if [ $1 = 0 ]; then - # Package removal, not upgrade - /bin/systemctl --no-reload disable mysqld.service >/dev/null 2>&1 || : - /bin/systemctl stop mysqld.service >/dev/null 2>&1 || : -fi -%endif %postun libs -p /sbin/ldconfig %postun server -%if 0%{?systemd_postun_with_restart:1} %systemd_postun_with_restart mysqld.service -%else -/bin/systemctl daemon-reload >/dev/null 2>&1 || : -if [ $1 -ge 1 ]; then - # Package upgrade, not uninstall - /bin/systemctl try-restart mysqld.service >/dev/null 2>&1 || : -fi -%endif %postun embedded -p /sbin/ldconfig @@ -745,15 +695,15 @@ fi %{_libexecdir}/mysqld-prepare-db-dir %{_libexecdir}/mysqld-wait-ready -%{_prefix}/lib/tmpfiles.d/%{name}.conf +%{_tmpfilesdir}/%{name}.conf %attr(0755,mysql,mysql) %dir /var/run/mysqld %attr(0755,mysql,mysql) %dir /var/lib/mysql %attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) /var/log/mysqld.log %config(noreplace) %{_sysconfdir}/logrotate.d/mysqld %files devel -/usr/include/mysql -/usr/share/aclocal/mysql.m4 +%{_includedir}/mysql +%{_datadir}/aclocal/mysql.m4 %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so @@ -783,6 +733,7 @@ fi * Fri Jul 19 2013 Honza Horak 5.5.32-1 - Rebase to 5.5.32 https://kb.askmonty.org/en/mariadb-5532-changelog/ +- Clean-up un-necessary systemd snippets * Wed Jul 17 2013 Petr Pisar - 1:5.5.31-7 - Perl 5.18 rebuild diff --git a/mysql_plugin.1 b/mysql_plugin.1 deleted file mode 100644 index e8cacd5..0000000 --- a/mysql_plugin.1 +++ /dev/null @@ -1,388 +0,0 @@ -'\" t -.\" Title: \fBmysql_plugin\fR -.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] -.\" Generator: DocBook XSL Stylesheets v1.77.1 -.\" Date: 12/08/2012 -.\" Manual: MySQL Database System -.\" Source: MySQL 5.5 -.\" Language: English -.\" -.TH "\FBMYSQL_PLUGIN\FR" "1" "12/08/2012" "MySQL 5\&.5" "MySQL Database System" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.\" mysql_plugin -.SH "NAME" -mysql_plugin \- configure MySQL server plugins -.SH "SYNOPSIS" -.HP \w'\fBmysql_plugin\ [\fR\fB\fIoptions\fR\fR\fB]\ \fR\fB\fIplugin\fR\fR\fB\ {ENABLE|DISABLE}\fR\ 'u -\fBmysql_plugin [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIplugin\fR\fR\fB {ENABLE|DISABLE}\fR -.SH "DESCRIPTION" -.PP -The -\fBmysql_plugin\fR -utility enables MySQL administrators to manage which plugins a MySQL server loads\&. It provides an alternative to manually specifying the -\fB\-\-plugin\-load\fR -option at server startup or using the -INSTALL PLUGIN -and -UNINSTALL PLUGIN -statements at runtime\&. -\fBmysql_plugin\fR -is available as of MySQL 5\&.5\&.16\&. -.PP -Depending on whether -\fBmysql_plugin\fR -is invoked to enable or disable plugins, it inserts or deletes rows in the -mysql\&.plugin -table that serves as a plugin registry\&. (To perform this operation, -\fBmysql_plugin\fR -invokes the MySQL server in bootstrap mode\&. This means that the server must not already be running\&.) For normal server startups, the server loads and enables plugins listed in -mysql\&.plugin -automatically\&. For additional control over plugin activation, use -\fB\-\-\fR\fB\fIplugin_name\fR\fR -options named for specific plugins, as described in -Section\ \&5.1.8.1, \(lqInstalling and Uninstalling Plugins\(rq\&. -.PP -Each invocation of -\fBmysql_plugin\fR -reads a configuration file to determine how to configure the plugins contained in a single plugin library object file\&. To invoke -\fBmysql_plugin\fR, use this syntax: -.sp -.if n \{\ -.RS 4 -.\} -.nf -mysql_plugin [\fIoptions\fR] \fIplugin\fR {ENABLE|DISABLE} -.fi -.if n \{\ -.RE -.\} -.PP -\fIplugin\fR -is the name of the plugin to configure\&. -ENABLE -or -DISABLE -(not case sensitive) specify whether to enable or disable components of the plugin library named in the configuration file\&. The order of the -\fIplugin\fR -and -ENABLE -or -DISABLE -arguments does not matter\&. -.PP -For example, to configure components of a plugin library file named -myplugins\&.so -on Linux or -myplugins\&.dll -on Windows, specify a -\fIplugin\fR -value of -myplugins\&. Suppose that this plugin library contains three plugins, -plugin1, -plugin2, and -plugin3, all of which should be configured under -\fBmysql_plugin\fR -control\&. By convention, configuration files have a suffix of -\&.ini -and the same basename as the plugin library, so the default configuration file name for this plugin library is -myplugins\&.ini\&. The configuration file contents look like this: -.sp -.if n \{\ -.RS 4 -.\} -.nf -myplugins -plugin1 -plugin2 -plugin3 -.fi -.if n \{\ -.RE -.\} -.PP -The first line in the -myplugins\&.ini -file is the name of the library object file, without any extension such as -\&.so -or -\&.dll\&. The remaining lines are the names of the components to be enabled or disabled\&. Each value in the file should be on a separate line\&. Lines on which the first character is -\*(Aq#\*(Aq -are taken as comments and ignored\&. -.PP -To enable the plugins listed in the configuration file, invoke -\fBmysql_plugin\fR -this way: -.sp -.if n \{\ -.RS 4 -.\} -.nf -shell> \fBmysql_plugin myplugins ENABLE\fR -.fi -.if n \{\ -.RE -.\} -.PP -To disable the plugins, use -DISABLE -rather than -ENABLE\&. -.PP -An error occurs if -\fBmysql_plugin\fR -cannot find the configuration file or plugin library file, or if -\fBmysql_plugin\fR -cannot start the MySQL server\&. -.PP -\fBmysql_plugin\fR -supports the following options, which can be specified on the command line or in the -[mysqld] -group of any option file\&. For options specified in a -[mysqld] -group, -\fBmysql_plugin\fR -recognizes the -\fB\-\-basedir\fR, -\fB\-\-datadir\fR, and -\fB\-\-plugin\-dir\fR -options and ignores others\&. For information about option files, see -Section\ \&4.2.3.3, \(lqUsing Option Files\(rq\&. -.PP -mysql_plugin Options -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -.\" mysql_plugin: help option -.\" help option: mysql_plugin -\fB\-\-help\fR, -\fB\-?\fR -.sp -Display a help message and exit\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -.\" mysql_plugin: basedir option -.\" basedir option: mysql_plugin -\fB\-\-basedir=\fR\fB\fIpath\fR\fR, -\fB\-b \fR\fB\fIpath\fR\fR -.sp -The server base directory\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -.\" mysql_plugin: datadir option -.\" datadir option: mysql_plugin -\fB\-\-datadir=\fR\fB\fIpath\fR\fR, -\fB\-d \fR\fB\fIpath\fR\fR -.sp -The server data directory\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -.\" mysql_plugin: my-print-defaults option -.\" my-print-defaults option: mysql_plugin -\fB\-\-my\-print\-defaults=\fR\fB\fIpath\fR\fR, -\fB\-b \fR\fB\fIpath\fR\fR -.sp -The path to the -\fBmy_print_defaults\fR -program\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -.\" mysql_plugin: mysqld option -.\" mysqld option: mysql_plugin -\fB\-\-mysqld=\fR\fB\fIpath\fR\fR, -\fB\-b \fR\fB\fIpath\fR\fR -.sp -The path to the -\fBmysqld\fR -server\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -.\" mysql_plugin: no-defaults option -.\" no-defaults option: mysql_plugin -\fB\-\-no\-defaults\fR, -\fB\-p\fR -.sp -Do not read values from the configuration file\&. This option enables an administrator to skip reading defaults from the configuration file\&. -.sp -With -\fBmysql_plugin\fR, this option need not be given first on the command line, unlike most other MySQL programs that support -\fB\-\-no\-defaults\fR\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -.\" mysql_plugin: plugin-dir option -.\" plugin-dir option: mysql_plugin -\fB\-\-plugin\-dir=\fR\fB\fIpath\fR\fR, -\fB\-p \fR\fB\fIpath\fR\fR -.sp -The server plugin directory\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -.\" mysql_plugin: plugin-ini option -.\" plugin-ini option: mysql_plugin -\fB\-\-plugin\-ini=\fR\fB\fIfile_name\fR\fR, -\fB\-i \fR\fB\fIfile_name\fR\fR -.sp -The -\fBmysql_plugin\fR -configuration file\&. Relative path names are interpreted relative to the current directory\&. If this option is not given, the default is -\fIplugin\fR\&.ini -in the plugin directory, where -\fIplugin\fR -is the -\fIplugin\fR -argument on the command line\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -.\" mysql_plugin: print-defaults option -.\" print-defaults option: mysql_plugin -\fB\-\-print\-defaults\fR, -\fB\-P\fR -.sp -Display the default values from the configuration file\&. This option causes -\fBmysql_plugin\fR -to print the defaults for -\fB\-\-basedir\fR, -\fB\-\-datadir\fR, and -\fB\-\-plugin\-dir\fR -if they are found in the configuration file\&. If no value for a variable is found, nothing is shown\&. -.sp -With -\fBmysql_plugin\fR, this option need not be given first on the command line, unlike most other MySQL programs that support -\fB\-\-print\-defaults\fR\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -.\" mysql_plugin: verbose option -.\" verbose option: mysql_plugin -\fB\-\-verbose\fR, -\fB\-v\fR -.sp -Verbose mode\&. Print more information about what the program does\&. This option can be used multiple times to increase the amount of information\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -.\" mysql_plugin: version option -.\" version option: mysql_plugin -\fB\-\-version\fR, -\fB\-V\fR -.sp -Display version information and exit\&. -.RE -.SH "COPYRIGHT" -.br -.PP -Copyright \(co 1997, 2012, Oracle and/or its affiliates. All rights reserved. -.PP -This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. -.PP -This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -.PP -You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. -.sp -.SH "SEE ALSO" -For more information, please refer to the MySQL Reference Manual, -which may already be installed locally and which is also available -online at http://dev.mysql.com/doc/. -.SH AUTHOR -Oracle Corporation (http://dev.mysql.com/). From 26a56b8fd042f157479e977a90d5169f577cf674 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Tue, 23 Jul 2013 21:09:39 -0500 Subject: [PATCH 045/789] replace systemd-units requires with systemd --- mariadb.spec | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index e9c166f..f335cf0 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb Version: 5.5.32 -Release: 1%{?dist} +Release: 2%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -63,7 +63,7 @@ Patch18: mariadb-covscan-stroverflow.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel -BuildRequires: systemd-units, systemtap-sdt-devel +BuildRequires: systemd, systemtap-sdt-devel # make test requires time and ps BuildRequires: time procps # perl modules needed to run regression tests @@ -125,13 +125,13 @@ Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} Requires: sh-utils Requires(pre): /usr/sbin/useradd # We require this to be present for %%{_tmpfilesdir} -Requires: systemd-units +Requires: systemd # Make sure it's there when scriptlets run, too -Requires(post): systemd-units -Requires(preun): systemd-units -Requires(postun): systemd-units -Requires(pretrans): systemd-units -Requires(posttrans): systemd-units +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +Requires(pretrans): systemd +Requires(posttrans): systemd # This is actually needed for the %%triggerun script but Requires(triggerun) # is not valid. We can use %%post because this particular %%triggerun script # should fire just after this package is installed. @@ -730,6 +730,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Jul 23 2013 Dennis Gilmore 5.5.32-2 +- replace systemd-units requires with systemd + * Fri Jul 19 2013 Honza Horak 5.5.32-1 - Rebase to 5.5.32 https://kb.askmonty.org/en/mariadb-5532-changelog/ From dc53d01aeb2a8bd554deec84934d6a7f1426ff00 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Tue, 23 Jul 2013 23:25:45 -0500 Subject: [PATCH 046/789] remove solaris files that were installed fixuo date in changelog --- mariadb.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index f335cf0..0d824f9 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -494,6 +494,9 @@ rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/init.d/mysql # remove duplicate logrotate script rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/mysql +# remove solaris files +rm -f ${RPM_BUILD_ROOT}%{_datadir}/solaris/ + %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : /usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /bin/bash \ @@ -730,8 +733,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog -* Mon Jul 23 2013 Dennis Gilmore 5.5.32-2 +* Tue Jul 23 2013 Dennis Gilmore 5.5.32-2 - replace systemd-units requires with systemd +- remove solaris files * Fri Jul 19 2013 Honza Horak 5.5.32-1 - Rebase to 5.5.32 From c3340606032f286c326ac2096a1be96fc16b0f08 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Wed, 24 Jul 2013 12:05:12 +0100 Subject: [PATCH 047/789] solaris needs recursive rm due to being a directory --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 0d824f9..0874ab1 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -495,7 +495,7 @@ rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/init.d/mysql rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/mysql # remove solaris files -rm -f ${RPM_BUILD_ROOT}%{_datadir}/solaris/ +rm -rf ${RPM_BUILD_ROOT}%{_datadir}/solaris/ %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : From 8ad2d22359e260ef9fb323e0b5ff9fbd9df3b47f Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 24 Jul 2013 13:01:04 -0500 Subject: [PATCH 048/789] get the path right for the solaris bits --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 0874ab1..e8fe437 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -495,7 +495,7 @@ rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/init.d/mysql rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/mysql # remove solaris files -rm -rf ${RPM_BUILD_ROOT}%{_datadir}/solaris/ +rm -rf ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/ %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : From 273083bdf6e8b794fa5640b548d45f48a1c32c11 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Fri, 26 Jul 2013 20:02:27 -0500 Subject: [PATCH 049/789] add Requires(pre) on systemd for the server package --- mariadb.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index e8fe437..26d82c4 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,6 @@ Name: mariadb Version: 5.5.32 -Release: 2%{?dist} +Release: 3%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -127,6 +127,7 @@ Requires(pre): /usr/sbin/useradd # We require this to be present for %%{_tmpfilesdir} Requires: systemd # Make sure it's there when scriptlets run, too +Requires(pre): systemd Requires(post): systemd Requires(preun): systemd Requires(postun): systemd @@ -733,6 +734,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jul 26 2013 Dennis Gilmore 5.5.32-3 +- add Requires(pre) on systemd for the server package + * Tue Jul 23 2013 Dennis Gilmore 5.5.32-2 - replace systemd-units requires with systemd - remove solaris files From 5bfa689cc1a0b76ce99555efaa68be13da7ce848 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sat, 27 Jul 2013 13:29:34 -0600 Subject: [PATCH 050/789] Set rpm doc macro to install docs in unversioned dir --- mariadb.spec | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 26d82c4..64ec0f3 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,9 @@ +# In f20+ use unversioned docdirs, otherwise the old versioned one +%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} + Name: mariadb Version: 5.5.32 -Release: 3%{?dist} +Release: 4%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -313,6 +316,8 @@ cmake . -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ + -DINSTALL_DOCDIR=share/doc/mariadb \ + -DINSTALL_DOCREADMEDIR=share/doc/mariadb \ -DINSTALL_INCLUDEDIR=include/mysql \ -DINSTALL_INFODIR=share/info \ -DINSTALL_LIBDIR="%{_lib}/mysql" \ @@ -413,8 +418,8 @@ chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/mysql_config # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also mariadb-file-contents.patch) -mv ${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}/INFO_SRC ${RPM_BUILD_ROOT}%{_libdir}/mysql/ -mv ${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}/INFO_BIN ${RPM_BUILD_ROOT}%{_libdir}/mysql/ +mv ${RPM_BUILD_ROOT}%{_pkgdocdir}/INFO_SRC ${RPM_BUILD_ROOT}%{_libdir}/mysql/ +mv ${RPM_BUILD_ROOT}%{_pkgdocdir}/INFO_BIN ${RPM_BUILD_ROOT}%{_libdir}/mysql/ mkdir -p $RPM_BUILD_ROOT/var/log touch $RPM_BUILD_ROOT/var/log/mysqld.log @@ -734,6 +739,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Jul 27 2013 Kevin Fenzi 5.5.32-4 +- Set rpm doc macro to install docs in unversioned dir + * Fri Jul 26 2013 Dennis Gilmore 5.5.32-3 - add Requires(pre) on systemd for the server package From 6c646d81fcaa20b227c082d915c83389f8724e48 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sun, 28 Jul 2013 19:40:34 -0500 Subject: [PATCH 051/789] remove "Requires(pretrans): systemd" since its not possible - when installing mariadb and systemd at the same time. as in a new install --- mariadb.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 64ec0f3..d2bd7a3 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,7 +3,7 @@ Name: mariadb Version: 5.5.32 -Release: 4%{?dist} +Release: 5%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -134,7 +134,6 @@ Requires(pre): systemd Requires(post): systemd Requires(preun): systemd Requires(postun): systemd -Requires(pretrans): systemd Requires(posttrans): systemd # This is actually needed for the %%triggerun script but Requires(triggerun) # is not valid. We can use %%post because this particular %%triggerun script @@ -739,6 +738,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sun Jul 28 2013 Dennis Gilmore - 5.5.32-5 +- remove "Requires(pretrans): systemd" since its not possible +- when installing mariadb and systemd at the same time. as in a new install + * Sat Jul 27 2013 Kevin Fenzi 5.5.32-4 - Set rpm doc macro to install docs in unversioned dir From 3798b7b9719ec61c0fa98ce65edc8ce5c1120c43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 30 Jul 2013 09:31:26 +0200 Subject: [PATCH 052/789] Remove unneeded systemd-sysv requires --- mariadb.spec | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index d2bd7a3..e2727ee 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,7 +3,7 @@ Name: mariadb Version: 5.5.32 -Release: 5%{?dist} +Release: 6%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -135,10 +135,6 @@ Requires(post): systemd Requires(preun): systemd Requires(postun): systemd Requires(posttrans): systemd -# This is actually needed for the %%triggerun script but Requires(triggerun) -# is not valid. We can use %%post because this particular %%triggerun script -# should fire just after this package is installed. -Requires(post): systemd-sysv # mysqlhotcopy needs DBI/DBD support Requires: perl-DBI, perl-DBD-MySQL Provides: mysql-server = %{epoch}:%{version}-%{release} @@ -738,6 +734,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Jul 30 2013 Honza Horak 5.5.32-6 +- Remove unneeded systemd-sysv requires + * Sun Jul 28 2013 Dennis Gilmore - 5.5.32-5 - remove "Requires(pretrans): systemd" since its not possible - when installing mariadb and systemd at the same time. as in a new install From 8e08256ade1870ce1f141047eda1ad7433fd73a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 30 Jul 2013 10:04:11 +0200 Subject: [PATCH 053/789] Provide mysql-compat-server symbol --- mariadb.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index e2727ee..082c604 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -139,6 +139,8 @@ Requires(posttrans): systemd Requires: perl-DBI, perl-DBD-MySQL Provides: mysql-server = %{epoch}:%{version}-%{release} Provides: mysql-server%{?_isa} = %{epoch}:%{version}-%{release} +Provides: mysql-compat-server = %{epoch}:%{version}-%{release} +Provides: mysql-compat-server%{?_isa} = %{epoch}:%{version}-%{release} Obsoletes: MySQL-server < %{obsoleted_mysql_case_evr} Conflicts: community-mysql-server Obsoletes: mysql-server < %{obsoleted_mysql_evr} @@ -736,6 +738,7 @@ fi %changelog * Tue Jul 30 2013 Honza Horak 5.5.32-6 - Remove unneeded systemd-sysv requires +- Provide mysql-compat-server symbol * Sun Jul 28 2013 Dennis Gilmore - 5.5.32-5 - remove "Requires(pretrans): systemd" since its not possible From ea30ccdab4240b577b5c7b1d54f6f486d63b13d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 30 Jul 2013 12:08:59 +0200 Subject: [PATCH 054/789] Create mariadb.service symlink --- mariadb.spec | 3 +++ mysqld.service | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 082c604..4139ff2 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -430,6 +430,7 @@ install -p -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/my.cnf # install systemd unit files and scripts for handling server startup mkdir -p ${RPM_BUILD_ROOT}%{_unitdir} install -p -m 644 %{SOURCE11} ${RPM_BUILD_ROOT}%{_unitdir}/ +ln -s mysqld.service ${RPM_BUILD_ROOT}%{_unitdir}/mariadb.service install -p -m 755 %{SOURCE12} ${RPM_BUILD_ROOT}%{_libexecdir}/ install -p -m 755 %{SOURCE13} ${RPM_BUILD_ROOT}%{_libexecdir}/ @@ -698,6 +699,7 @@ fi %{_datadir}/mysql/config.*.ini %{_unitdir}/mysqld.service +%{_unitdir}/mariadb.service %{_libexecdir}/mysqld-prepare-db-dir %{_libexecdir}/mysqld-wait-ready @@ -739,6 +741,7 @@ fi * Tue Jul 30 2013 Honza Horak 5.5.32-6 - Remove unneeded systemd-sysv requires - Provide mysql-compat-server symbol +- Create mariadb.service symlink * Sun Jul 28 2013 Dennis Gilmore - 5.5.32-5 - remove "Requires(pretrans): systemd" since its not possible diff --git a/mysqld.service b/mysqld.service index 3193ce2..f5b8fa2 100644 --- a/mysqld.service +++ b/mysqld.service @@ -18,7 +18,7 @@ # though /lib/... will still work. [Unit] -Description=MySQL database server +Description=MariaDB database server After=syslog.target After=network.target From 0aac98ab5a6514bb1e543e450a87537e57ea5c5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 30 Jul 2013 12:14:56 +0200 Subject: [PATCH 055/789] Fix multilib header location for arm --- mariadb.spec | 9 ++++++++- my_config.h | 4 ++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 4139ff2..f816e2b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -394,12 +394,18 @@ find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | 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 ) + 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 mv $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h $RPM_BUILD_ROOT%{_includedir}/mysql/private/my_config_`uname -i`.h install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/ install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h ;; + arm* ) + mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_arm.h + mv $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h $RPM_BUILD_ROOT%{_includedir}/mysql/private/my_config_arm.h + install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/ + install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h + ;; *) ;; esac @@ -742,6 +748,7 @@ fi - Remove unneeded systemd-sysv requires - Provide mysql-compat-server symbol - Create mariadb.service symlink +- Fix multilib header location for arm * Sun Jul 28 2013 Dennis Gilmore - 5.5.32-5 - remove "Requires(pretrans): systemd" since its not possible diff --git a/my_config.h b/my_config.h index 435a126..02baa3d 100644 --- a/my_config.h +++ b/my_config.h @@ -26,4 +26,8 @@ #include "my_config_sparc64.h" #elif defined(__sparc__) #include "my_config_sparc.h" +#elif defined(__arm__) +#include "my_config_arm.h" +#elif defined(__aarch64__) +#include "my_config_aarch64.h" #endif From feb70c23cbc346f172ae055c76da691dbb47e563 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 30 Jul 2013 14:27:58 +0200 Subject: [PATCH 056/789] Enhance documentation in the unit file --- mariadb.spec | 1 + mysqld.service | 15 ++++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index f816e2b..afd95a8 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -749,6 +749,7 @@ fi - Provide mysql-compat-server symbol - Create mariadb.service symlink - Fix multilib header location for arm +- Enhance documentation in the unit file * Sun Jul 28 2013 Dennis Gilmore - 5.5.32-5 - remove "Requires(pretrans): systemd" since its not possible diff --git a/mysqld.service b/mysqld.service index f5b8fa2..ceb26e2 100644 --- a/mysqld.service +++ b/mysqld.service @@ -4,18 +4,23 @@ # containing # .include /lib/systemd/system/mysqld.service # ...make your changes here... -# For more info about custom unit files, see +# or create a file "/etc/systemd/system/mysqld.service.d/foo.conf", +# which doesn't need to include ".include" call and which will be parsed +# after the file mysqld.service itself is parsed. +# +# For more info about custom unit files, see systemd.unit(5) or # http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F # For example, if you want to increase mysql's open-files-limit to 10000, # you need to increase systemd's LimitNOFILE setting, so create a file named -# "/etc/systemd/system/mysqld.service" containing: -# .include /lib/systemd/system/mysqld.service +# "/etc/systemd/system/mysqld.service.d/limits.conf" containing: # [Service] # LimitNOFILE=10000 -# Note: in F-17 and beyond, /usr/lib/... is recommended in the .include line -# though /lib/... will still work. +# Note: /usr/lib/... is recommended in the .include line though /lib/... +# still works. +# Don't forget to reload systemd daemon after you change unit configuration: +# root> systemctl --system daemon-reload [Unit] Description=MariaDB database server From 5460e2a995cd3497fa11cbfe90b6f84acc60b6c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 30 Jul 2013 16:04:38 +0200 Subject: [PATCH 057/789] Use scriptstub instead of links to avoid multilib conflicts --- mariadb.spec | 11 +++++++++-- scriptstub.c | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 scriptstub.c diff --git a/mariadb.spec b/mariadb.spec index afd95a8..1a38cda 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -32,6 +32,7 @@ License: GPLv2 with exceptions and LGPLv2 and BSD Source0: http://ftp.osuosl.org/pub/mariadb/mariadb-%{version}/kvm-tarbake-jaunty-x86/mariadb-%{version}.tar.gz Source3: my.cnf +Source4: scriptstub.c Source5: my_config.h Source6: README.mysql-docs Source7: README.mysql-license @@ -337,6 +338,11 @@ cmake . -DBUILD_CONFIG=mysql_release \ -DTMPDIR=/var/tmp \ -DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now" +# this work-around works quite similar to links but using binary +# we avoid multilib conflicts, because binaries can conflict, +# while 64bit binary is prefered +gcc $CFLAGS $LDFLAGS -o scriptstub "-DLIBDIR=\"%{_libdir}/mysql\"" %{SOURCE4} + make %{?_smp_mflags} VERBOSE=1 # debuginfo extraction scripts fail to find source files in their real @@ -448,10 +454,10 @@ 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 +install -p -m 0755 scriptstub ${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 +install -p -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug # Remove libmysqld.a rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.a @@ -750,6 +756,7 @@ fi - Create mariadb.service symlink - Fix multilib header location for arm - Enhance documentation in the unit file +- Use scriptstub instead of links to avoid multilib conflicts * Sun Jul 28 2013 Dennis Gilmore - 5.5.32-5 - remove "Requires(pretrans): systemd" since its not possible diff --git a/scriptstub.c b/scriptstub.c new file mode 100644 index 0000000..de942c1 --- /dev/null +++ b/scriptstub.c @@ -0,0 +1,32 @@ +#include +#include +#include +#include + +/* Translate call of myself into call of same-named script in LIBDIR */ +/* The macro LIBDIR must be defined as a double-quoted string */ + +int main (int argc, char **argv) +{ + char *basename; + char *fullname; + char **newargs; + int i; + + basename = strrchr(argv[0], '/'); + if (basename) + basename++; + else + basename = argv[0]; + fullname = malloc(strlen(LIBDIR) + strlen(basename) + 2); + sprintf(fullname, "%s/%s", LIBDIR, basename); + newargs = malloc((argc+1) * sizeof(char *)); + newargs[0] = fullname; + for (i = 1; i < argc; i++) + newargs[i] = argv[i]; + newargs[argc] = NULL; + + execvp(fullname, newargs); + + return 1; +} From 3318b4977304e54e3eb1024a6868b1d100bdb8a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 30 Jul 2013 17:15:34 +0200 Subject: [PATCH 058/789] Add condition for doc placement in F20+ --- mariadb.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index 1a38cda..e2f137b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -314,8 +314,10 @@ cmake . -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ +%if 0%{?fedora} >= 20 -DINSTALL_DOCDIR=share/doc/mariadb \ -DINSTALL_DOCREADMEDIR=share/doc/mariadb \ +%endif -DINSTALL_INCLUDEDIR=include/mysql \ -DINSTALL_INFODIR=share/info \ -DINSTALL_LIBDIR="%{_lib}/mysql" \ @@ -757,6 +759,7 @@ fi - Fix multilib header location for arm - Enhance documentation in the unit file - Use scriptstub instead of links to avoid multilib conflicts +- Add condition for doc placement in F20+ * Sun Jul 28 2013 Dennis Gilmore - 5.5.32-5 - remove "Requires(pretrans): systemd" since its not possible From d9b4c2f8e2335c5f7248955ceded15ffb98a84b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 30 Jul 2013 23:25:34 +0200 Subject: [PATCH 059/789] Do not use login shell for mysql user --- mariadb-install-test.patch | 20 +++++++++++--------- mariadb.spec | 7 +++++-- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/mariadb-install-test.patch b/mariadb-install-test.patch index b946619..5657b73 100644 --- a/mariadb-install-test.patch +++ b/mariadb-install-test.patch @@ -1,9 +1,9 @@ Improve the documentation that will be installed in the mysql-test RPM. -diff -up mariadb-5.5.28a/mysql-test/README.p3 mariadb-5.5.28a/mysql-test/README ---- mariadb-5.5.28a/mysql-test/README.p3 2012-12-17 16:18:20.824636407 +0100 -+++ mariadb-5.5.28a/mysql-test/README 2012-12-17 16:21:21.598707120 +0100 -@@ -1,15 +1,26 @@ +diff -up mariadb-5.5.32/mysql-test/README.p3 mariadb-5.5.32/mysql-test/README +--- mariadb-5.5.32/mysql-test/README.p3 2013-07-17 16:51:29.000000000 +0200 ++++ mariadb-5.5.32/mysql-test/README 2013-07-30 23:22:54.959494478 +0200 +@@ -1,15 +1,28 @@ -This directory contains a test suite for the MySQL daemon. To run -the currently existing test cases, simply execute ./mysql-test-run in -this directory. It will fire up the newly built mysqld and test it. @@ -21,9 +21,11 @@ diff -up mariadb-5.5.28a/mysql-test/README.p3 mariadb-5.5.28a/mysql-test/README +this directory. + +For use in Red Hat distributions, you should run the script as user mysql, -+so the best bet is something like -+ cd /usr/share/mysql-test -+ sudo -u mysql ./mysql-test-run --skip-test-list=rh-skipped-tests.list ++who is created with nologin shell however, so the best bet is something like ++ $ su - ++ # cd /usr/share/mysql-test ++ # su -s /bin/bash mysql -c "./mysql-test-run --skip-test-list=rh-skipped-tests.list" ++ +This will use the installed mysql executables, but will run a private copy +of the server process (using data files within /usr/share/mysql-test), +so you need not start the mysqld service beforehand. @@ -35,14 +37,14 @@ diff -up mariadb-5.5.28a/mysql-test/README.p3 mariadb-5.5.28a/mysql-test/README +rh-skipped-tests.list. + +To clean up afterwards, remove the created "var" subdirectory, eg -+ sudo -u mysql rm -rf /usr/share/mysql-test/var ++ # su -s /bin/bash - mysql -c "rm -rf /usr/share/mysql-test/var" + +If one or more tests fail on your system, please read the following manual +section for instructions on how to report the problem: http://kb.askmonty.org/v/reporting-bugs -@@ -26,7 +37,8 @@ other relevant options. +@@ -26,7 +39,8 @@ other relevant options. With no test cases named on the command line, mysql-test-run falls back to the normal "non-extern" behavior. The reason for this is that some diff --git a/mariadb.spec b/mariadb.spec index e2f137b..816a086 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,7 +3,7 @@ Name: mariadb Version: 5.5.32 -Release: 6%{?dist} +Release: 7%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -517,7 +517,7 @@ rm -rf ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/ %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : -/usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /bin/bash \ +/usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /sbin/nologin \ -c "MariaDB Server" -u 27 mysql >/dev/null 2>&1 || : # Explicitly enable mysqld if it was enabled in the beggining @@ -752,6 +752,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Jul 31 2013 Honza Horak 5.5.32-7 +- Do not use login shell for mysql user + * Tue Jul 30 2013 Honza Horak 5.5.32-6 - Remove unneeded systemd-sysv requires - Provide mysql-compat-server symbol From b757ef51f9d8f84ef0bbe11359ada696337e311c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Sat, 3 Aug 2013 13:43:23 +0200 Subject: [PATCH 060/789] Perl 5.18 rebuild --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 816a086..70ed0f2 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,7 +3,7 @@ Name: mariadb Version: 5.5.32 -Release: 7%{?dist} +Release: 8%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -752,6 +752,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Aug 03 2013 Petr Pisar - 1:5.5.32-8 +- Perl 5.18 rebuild + * Wed Jul 31 2013 Honza Horak 5.5.32-7 - Do not use login shell for mysql user From a173dc7da26d8f6f417d565e0cc84db62771ce4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 13 Aug 2013 15:35:55 +0200 Subject: [PATCH 061/789] Multilib issues solved by alternatives Resolves: #986959 --- mariadb.spec | 71 +++++++++++++++++++++++++++++++--------------------- scriptstub.c | 32 ----------------------- 2 files changed, 43 insertions(+), 60 deletions(-) delete mode 100644 scriptstub.c diff --git a/mariadb.spec b/mariadb.spec index 70ed0f2..0483e52 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,7 +3,7 @@ Name: mariadb Version: 5.5.32 -Release: 8%{?dist} +Release: 9%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -32,7 +32,6 @@ License: GPLv2 with exceptions and LGPLv2 and BSD Source0: http://ftp.osuosl.org/pub/mariadb/mariadb-%{version}/kvm-tarbake-jaunty-x86/mariadb-%{version}.tar.gz Source3: my.cnf -Source4: scriptstub.c Source5: my_config.h Source6: README.mysql-docs Source7: README.mysql-license @@ -76,6 +75,8 @@ BuildRequires: perl(Data::Dumper), perl(Test::More), perl(Env) Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} Requires: grep, fileutils, bash +Requires(post): /sbin/update-alternatives +Requires(postun): /sbin/update-alternatives %{?systemd_requires: %systemd_requires} @@ -132,9 +133,9 @@ Requires(pre): /usr/sbin/useradd Requires: systemd # Make sure it's there when scriptlets run, too Requires(pre): systemd -Requires(post): systemd +Requires(post): systemd /sbin/update-alternatives Requires(preun): systemd -Requires(postun): systemd +Requires(postun): systemd /sbin/update-alternatives Requires(posttrans): systemd # mysqlhotcopy needs DBI/DBD support Requires: perl-DBI, perl-DBD-MySQL @@ -340,11 +341,6 @@ cmake . -DBUILD_CONFIG=mysql_release \ -DTMPDIR=/var/tmp \ -DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now" -# this work-around works quite similar to links but using binary -# we avoid multilib conflicts, because binaries can conflict, -# while 64bit binary is prefered -gcc $CFLAGS $LDFLAGS -o scriptstub "-DLIBDIR=\"%{_libdir}/mysql\"" %{SOURCE4} - make %{?_smp_mflags} VERBOSE=1 # debuginfo extraction scripts fail to find source files in their real @@ -456,10 +452,10 @@ 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 -install -p -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysql_config +touch ${RPM_BUILD_ROOT}%{_bindir}/mysql_config mv ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysqlbug -install -p -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug +touch ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug # Remove libmysqld.a rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.a @@ -515,6 +511,10 @@ rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/mysql # remove solaris files rm -rf ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/ +%post +/sbin/update-alternatives --install %{_bindir}/mysql_config \ + mysql_config %{_libdir}/mysql/mysql_config %{__isa_bits} + %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : /usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /sbin/nologin \ @@ -541,8 +541,16 @@ fi /bin/chmod 0755 /var/lib/mysql /bin/touch /var/log/mysqld.log +/sbin/update-alternatives --install %{_bindir}/mysqlbug \ + mysqlbug %{_libdir}/mysql/mysqlbug %{__isa_bits} + %post embedded -p /sbin/ldconfig +%postun +if [ $1 -eq 0 ] ; then + /sbin/update-alternatives --remove mysql_config %{_libdir}/mysql/mysql_config +fi + %preun server %systemd_preun mysqld.service @@ -550,6 +558,9 @@ fi %postun server %systemd_postun_with_restart mysqld.service +if [ $1 -eq 0 ] ; then + /sbin/update-alternatives --remove mysqlbug %{_libdir}/mysql/mysqlbug +fi %postun embedded -p /sbin/ldconfig @@ -560,7 +571,7 @@ fi %{_bindir}/msql2mysql %{_bindir}/mysql -%{_bindir}/mysql_config +%ghost %{_bindir}/mysql_config %{_bindir}/mysql_find_rows %{_bindir}/mysql_waitpid %{_bindir}/mysqlaccess @@ -648,7 +659,7 @@ fi %{_bindir}/mysql_tzinfo_to_sql %{_bindir}/mysql_upgrade %{_bindir}/mysql_zap -%{_bindir}/mysqlbug +%ghost %{_bindir}/mysqlbug %{_bindir}/mysqldumpslow %{_bindir}/mysqld_multi %{_bindir}/mysqld_safe @@ -752,13 +763,17 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Aug 13 2013 Honza Horak - 1:5.5.32-9 +- Multilib issues solved by alternatives + Resolves: #986959 + * Sat Aug 03 2013 Petr Pisar - 1:5.5.32-8 - Perl 5.18 rebuild -* Wed Jul 31 2013 Honza Horak 5.5.32-7 +* Wed Jul 31 2013 Honza Horak - 1:5.5.32-7 - Do not use login shell for mysql user -* Tue Jul 30 2013 Honza Horak 5.5.32-6 +* Tue Jul 30 2013 Honza Horak - 1:5.5.32-6 - Remove unneeded systemd-sysv requires - Provide mysql-compat-server symbol - Create mariadb.service symlink @@ -767,21 +782,21 @@ fi - Use scriptstub instead of links to avoid multilib conflicts - Add condition for doc placement in F20+ -* Sun Jul 28 2013 Dennis Gilmore - 5.5.32-5 +* Sun Jul 28 2013 Dennis Gilmore - 1:5.5.32-5 - remove "Requires(pretrans): systemd" since its not possible - when installing mariadb and systemd at the same time. as in a new install -* Sat Jul 27 2013 Kevin Fenzi 5.5.32-4 +* Sat Jul 27 2013 Kevin Fenzi 1:5.5.32-4 - Set rpm doc macro to install docs in unversioned dir -* Fri Jul 26 2013 Dennis Gilmore 5.5.32-3 +* Fri Jul 26 2013 Dennis Gilmore 1:5.5.32-3 - add Requires(pre) on systemd for the server package -* Tue Jul 23 2013 Dennis Gilmore 5.5.32-2 +* Tue Jul 23 2013 Dennis Gilmore 1:5.5.32-2 - replace systemd-units requires with systemd - remove solaris files -* Fri Jul 19 2013 Honza Horak 5.5.32-1 +* Fri Jul 19 2013 Honza Horak 1:5.5.32-1 - Rebase to 5.5.32 https://kb.askmonty.org/en/mariadb-5532-changelog/ - Clean-up un-necessary systemd snippets @@ -789,26 +804,26 @@ fi * Wed Jul 17 2013 Petr Pisar - 1:5.5.31-7 - Perl 5.18 rebuild -* Mon Jul 1 2013 Honza Horak 5.5.31-6 +* Mon Jul 1 2013 Honza Horak 1:5.5.31-6 - Test suite params enhanced to decrease server condition influence - Fix misleading error message when uninstalling built-in plugins Related: #966873 -* Thu Jun 27 2013 Honza Horak 5.5.31-5 +* Thu Jun 27 2013 Honza Horak 1:5.5.31-5 - Apply fixes found by Coverity static analysis tool -* Wed Jun 19 2013 Honza Horak 5.5.31-4 +* Wed Jun 19 2013 Honza Horak 1:5.5.31-4 - Do not use pretrans scriptlet, which doesn't work in anaconda Resolves: #975348 -* Fri Jun 14 2013 Honza Horak 5.5.31-3 +* Fri Jun 14 2013 Honza Horak 1:5.5.31-3 - Explicitly enable mysqld if it was enabled in the beggining of the transaction. -* Thu Jun 13 2013 Honza Horak 5.5.31-2 +* Thu Jun 13 2013 Honza Horak 1:5.5.31-2 - Apply man page fix from Jan Stanek -* Fri May 24 2013 Honza Horak 5.5.31-1 +* Fri May 24 2013 Honza Horak 1:5.5.31-1 - Rebase to 5.5.31 https://kb.askmonty.org/en/mariadb-5531-changelog/ - Preserve time-stamps in case of installed files @@ -817,11 +832,11 @@ fi Resolves: #962087 - Fix test suite requirements -* Sun May 5 2013 Honza Horak 5.5.30-2 +* Sun May 5 2013 Honza Horak 1:5.5.30-2 - Remove mytop utility, which is packaged separately - Resolve multilib conflicts in mysql/private/config.h -* Fri Mar 22 2013 Honza Horak 5.5.30-1 +* Fri Mar 22 2013 Honza Horak 1:5.5.30-1 - Rebase to 5.5.30 https://kb.askmonty.org/en/mariadb-5530-changelog/ diff --git a/scriptstub.c b/scriptstub.c deleted file mode 100644 index de942c1..0000000 --- a/scriptstub.c +++ /dev/null @@ -1,32 +0,0 @@ -#include -#include -#include -#include - -/* Translate call of myself into call of same-named script in LIBDIR */ -/* The macro LIBDIR must be defined as a double-quoted string */ - -int main (int argc, char **argv) -{ - char *basename; - char *fullname; - char **newargs; - int i; - - basename = strrchr(argv[0], '/'); - if (basename) - basename++; - else - basename = argv[0]; - fullname = malloc(strlen(LIBDIR) + strlen(basename) + 2); - sprintf(fullname, "%s/%s", LIBDIR, basename); - newargs = malloc((argc+1) * sizeof(char *)); - newargs[0] = fullname; - for (i = 1; i < argc; i++) - newargs[i] = argv[i]; - newargs[argc] = NULL; - - execvp(fullname, newargs); - - return 1; -} From 95fdcac209c361668fa86999234abe2146d27ef1 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Wed, 14 Aug 2013 10:02:37 -0500 Subject: [PATCH 062/789] fix alternatives usage --- mariadb.spec | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 0483e52..2b81f57 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,7 +3,7 @@ Name: mariadb Version: 5.5.32 -Release: 9%{?dist} +Release: 10%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -75,8 +75,8 @@ BuildRequires: perl(Data::Dumper), perl(Test::More), perl(Env) Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} Requires: grep, fileutils, bash -Requires(post): /sbin/update-alternatives -Requires(postun): /sbin/update-alternatives +Requires(post): %{_sbindir}/update-alternatives +Requires(postun): %{_sbindir}/update-alternatives %{?systemd_requires: %systemd_requires} @@ -133,9 +133,9 @@ Requires(pre): /usr/sbin/useradd Requires: systemd # Make sure it's there when scriptlets run, too Requires(pre): systemd -Requires(post): systemd /sbin/update-alternatives +Requires(post): systemd %{_sbindir}/update-alternatives Requires(preun): systemd -Requires(postun): systemd /sbin/update-alternatives +Requires(postun): systemd %{_sbindir}/update-alternatives Requires(posttrans): systemd # mysqlhotcopy needs DBI/DBD support Requires: perl-DBI, perl-DBD-MySQL @@ -512,7 +512,7 @@ rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/mysql rm -rf ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/ %post -/sbin/update-alternatives --install %{_bindir}/mysql_config \ +%{_sbindir}/update-alternatives --install %{_bindir}/mysql_config \ mysql_config %{_libdir}/mysql/mysql_config %{__isa_bits} %pre server @@ -541,14 +541,14 @@ fi /bin/chmod 0755 /var/lib/mysql /bin/touch /var/log/mysqld.log -/sbin/update-alternatives --install %{_bindir}/mysqlbug \ +%{_sbindir}/update-alternatives --install %{_bindir}/mysqlbug \ mysqlbug %{_libdir}/mysql/mysqlbug %{__isa_bits} %post embedded -p /sbin/ldconfig %postun if [ $1 -eq 0 ] ; then - /sbin/update-alternatives --remove mysql_config %{_libdir}/mysql/mysql_config + %{_sbindir}/update-alternatives --remove mysql_config %{_libdir}/mysql/mysql_config fi %preun server @@ -559,7 +559,7 @@ fi %postun server %systemd_postun_with_restart mysqld.service if [ $1 -eq 0 ] ; then - /sbin/update-alternatives --remove mysqlbug %{_libdir}/mysql/mysqlbug + %{_sbindir}/update-alternatives --remove mysqlbug %{_libdir}/mysql/mysqlbug fi %postun embedded -p /sbin/ldconfig @@ -763,6 +763,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Aug 14 2013 Rex Dieter 1:5.5.32-10 +- fix alternatives usage + * Tue Aug 13 2013 Honza Horak - 1:5.5.32-9 - Multilib issues solved by alternatives Resolves: #986959 From 1adc7451a4d2645b4bc74484aa3ce6dcd80e3662 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Thu, 29 Aug 2013 16:02:55 +0200 Subject: [PATCH 063/789] Move log file into /var/log/mariadb/mariadb.log Rename logrotate script to mariadb Resolves: #999589 --- mariadb-logrotate.patch | 21 ++++++++++++-------- mariadb.spec | 43 +++++++++++++++++++++++++---------------- my.cnf | 2 +- mysqld-prepare-db-dir | 2 +- 4 files changed, 41 insertions(+), 27 deletions(-) diff --git a/mariadb-logrotate.patch b/mariadb-logrotate.patch index f76237d..c9f8b50 100644 --- a/mariadb-logrotate.patch +++ b/mariadb-logrotate.patch @@ -14,15 +14,20 @@ 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 mariadb-5.5.32/support-files/mysql-log-rotate.sh.errlog mariadb-5.5.32/support-files/mysql-log-rotate.sh +--- mariadb-5.5.32/support-files/mysql-log-rotate.sh.errlog 2013-08-29 14:35:34.839119044 +0200 ++++ mariadb-5.5.32/support-files/mysql-log-rotate.sh 2013-08-29 14:38:54.203996083 +0200 +@@ -1,9 +1,9 @@ + # This logname can be set in /etc/my.cnf +-# by setting the variable "err-log" +-# in the [safe_mysqld] section as follows: ++# by setting the variable "log-error" ++# in the [mysqld_safe] section as follows: # - # [safe_mysqld] +-# [safe_mysqld] -# err-log=@localstatedir@/mysqld.log -+# err-log=/var/log/mysqld.log ++# [mysqld_safe] ++# log-error=/var/log/mariadb/mariadb.log # # If the root user has a password you have to create a # /root/.my.cnf configuration file with the following @@ -48,7 +53,7 @@ diff -Naur mysql-5.5.22.orig/support-files/mysql-log-rotate.sh mysql-5.5.22/supp -} +# Then, un-comment the following lines to enable rotation of mysql's log file: + -+#/var/log/mysqld.log { ++#/var/log/mariadb/mariadb.log { +# create 640 mysql mysql +# notifempty +# daily diff --git a/mariadb.spec b/mariadb.spec index 2b81f57..67a11e0 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,7 +3,7 @@ Name: mariadb Version: 5.5.32 -Release: 10%{?dist} +Release: 11%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -330,15 +330,15 @@ cmake . -DBUILD_CONFIG=mysql_release \ -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_SQLBENCHDIR=share \ -DINSTALL_SUPPORTFILESDIR=share/mysql \ - -DMYSQL_DATADIR="/var/lib/mysql" \ - -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ + -DMYSQL_DATADIR="%{_localstatedir}/lib/mysql" \ + -DMYSQL_UNIX_ADDR="%{_localstatedir}/lib/mysql/mysql.sock" \ -DENABLED_LOCAL_INFILE=ON \ -DENABLE_DTRACE=ON \ -DWITH_EMBEDDED_SERVER=ON \ -DWITH_READLINE=ON \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DTMPDIR=/var/tmp \ + -DTMPDIR=%{_localstatedir}/tmp \ -DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now" make %{?_smp_mflags} VERBOSE=1 @@ -428,11 +428,13 @@ chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/mysql_config mv ${RPM_BUILD_ROOT}%{_pkgdocdir}/INFO_SRC ${RPM_BUILD_ROOT}%{_libdir}/mysql/ mv ${RPM_BUILD_ROOT}%{_pkgdocdir}/INFO_BIN ${RPM_BUILD_ROOT}%{_libdir}/mysql/ -mkdir -p $RPM_BUILD_ROOT/var/log -touch $RPM_BUILD_ROOT/var/log/mysqld.log +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/mariadb +chmod 0750 $RPM_BUILD_ROOT%{_localstatedir}/log/mariadb +touch $RPM_BUILD_ROOT%{_localstatedir}/log/mariadb/mariadb.log +ln -s %{_localstatedir}/log/mariadb/mariadb.log $RPM_BUILD_ROOT%{_localstatedir}/log/mysqld.log -mkdir -p $RPM_BUILD_ROOT/var/run/mysqld -install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/mysqld +install -m 0755 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/mysql mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} install -p -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/my.cnf @@ -486,8 +488,8 @@ rm -f ${RPM_BUILD_ROOT}%{_bindir}/mytop # 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 +mv ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-log-rotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/mariadb +chmod 644 $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/mariadb mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf @@ -517,7 +519,7 @@ rm -rf ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/ %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : -/usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /sbin/nologin \ +/usr/sbin/useradd -M -N -g mysql -o -r -d %{_localstatedir}/lib/mysql -s /sbin/nologin \ -c "MariaDB Server" -u 27 mysql >/dev/null 2>&1 || : # Explicitly enable mysqld if it was enabled in the beggining @@ -538,8 +540,8 @@ fi %post server %systemd_post mysqld.service -/bin/chmod 0755 /var/lib/mysql -/bin/touch /var/log/mysqld.log +/bin/chmod 0755 %{_localstatedir}/lib/mysql +/bin/touch %{_localstatedir}/log/mariadb/mariadb.log %{_sbindir}/update-alternatives --install %{_bindir}/mysqlbug \ mysqlbug %{_libdir}/mysql/mysqlbug %{__isa_bits} @@ -729,10 +731,12 @@ fi %{_libexecdir}/mysqld-wait-ready %{_tmpfilesdir}/%{name}.conf -%attr(0755,mysql,mysql) %dir /var/run/mysqld -%attr(0755,mysql,mysql) %dir /var/lib/mysql -%attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) /var/log/mysqld.log -%config(noreplace) %{_sysconfdir}/logrotate.d/mysqld +%attr(0755,mysql,mysql) %dir %{_localstatedir}/run/mysqld +%attr(0755,mysql,mysql) %dir %{_localstatedir}/lib/mysql +%attr(0750,mysql,mysql) %dir %{_localstatedir}/log/mariadb +%attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) %{_localstatedir}/log/mariadb/mariadb.log +%attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) %{_localstatedir}/log/mysqld.log +%config(noreplace) %{_sysconfdir}/logrotate.d/mariadb %files devel %{_includedir}/mysql @@ -763,6 +767,11 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Aug 29 2013 Honza Horak - 1:5.5.32-11 +- Move log file into /var/log/mariadb/mariadb.log +- Rename logrotate script to mariadb +- Resolves: #999589 + * Wed Aug 14 2013 Rex Dieter 1:5.5.32-10 - fix alternatives usage diff --git a/my.cnf b/my.cnf index 1df1f70..2a5311b 100644 --- a/my.cnf +++ b/my.cnf @@ -9,7 +9,7 @@ symbolic-links=0 # instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe] -log-error=/var/log/mysqld.log +log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mysqld/mysqld.pid # diff --git a/mysqld-prepare-db-dir b/mysqld-prepare-db-dir index f73bc66..8762ab7 100644 --- a/mysqld-prepare-db-dir +++ b/mysqld-prepare-db-dir @@ -19,7 +19,7 @@ get_mysql_option(){ # Defaults here had better match what mysqld_safe will default to get_mysql_option mysqld datadir "/var/lib/mysql" datadir="$result" -get_mysql_option mysqld_safe log-error "/var/log/mysqld.log" +get_mysql_option mysqld_safe log-error "/var/log/mariadb/mariadb.log" errlogfile="$result" # Absorb configuration settings from the specified systemd service file, From 3c56e2eca78dedb17a79b3fce6add03a91ee351f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 2 Sep 2013 17:44:03 +0200 Subject: [PATCH 064/789] Re-organize my.cnf to include only generic settings (RHBZ#1003115) Move pid file location to /var/run/mariadb (RHBZ#999589) Make mysqld a symlink to mariadb unit file rather than the opposite way (RHBZ#999589) --- mariadb-config.patch | 20 +++++++ ...d-prepare-db-dir => mariadb-prepare-db-dir | 0 mysqld-wait-ready => mariadb-wait-ready | 0 mysqld.service => mariadb.service | 14 ++--- mariadb.spec | 52 ++++++++++++++----- mariadb.tmpfiles.d | 1 + my.cnf | 16 ++++-- 7 files changed, 81 insertions(+), 22 deletions(-) create mode 100644 mariadb-config.patch rename mysqld-prepare-db-dir => mariadb-prepare-db-dir (100%) rename mysqld-wait-ready => mariadb-wait-ready (100%) rename mysqld.service => mariadb.service (75%) diff --git a/mariadb-config.patch b/mariadb-config.patch new file mode 100644 index 0000000..5034890 --- /dev/null +++ b/mariadb-config.patch @@ -0,0 +1,20 @@ +Settings specific for MariaDB specific are defined in appropriate 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. +Settings in my.cnf are generic for all MySQL implementations because of +conflict issues. +RHBZ#1003115 + +diff -up mariadb-5.5.32/support-files/rpm/server.cnf.mariaconf mariadb-5.5.32/support-files/rpm/server.cnf +--- mariadb-5.5.32/support-files/rpm/server.cnf.mariaconf 2013-09-02 14:17:37.277833263 +0200 ++++ mariadb-5.5.32/support-files/rpm/server.cnf 2013-09-02 14:18:00.638810223 +0200 +@@ -23,6 +23,8 @@ + # If you use the same .cnf file for MySQL and MariaDB, + # you can put MariaDB-only options here + [mariadb] ++log-error=/var/log/mariadb/mariadb.log ++pid-file=/var/run/mariadb/mariadb.pid + + [mariadb-5.5] + diff --git a/mysqld-prepare-db-dir b/mariadb-prepare-db-dir similarity index 100% rename from mysqld-prepare-db-dir rename to mariadb-prepare-db-dir diff --git a/mysqld-wait-ready b/mariadb-wait-ready similarity index 100% rename from mysqld-wait-ready rename to mariadb-wait-ready diff --git a/mysqld.service b/mariadb.service similarity index 75% rename from mysqld.service rename to mariadb.service index ceb26e2..89cbd1a 100644 --- a/mysqld.service +++ b/mariadb.service @@ -1,19 +1,19 @@ # It's not recommended to modify this file in-place, because it will be # overwritten during package upgrades. If you want to customize, the -# best way is to create a file "/etc/systemd/system/mysqld.service", +# best way is to create a file "/etc/systemd/system/mariadb.service", # containing -# .include /lib/systemd/system/mysqld.service +# .include /lib/systemd/system/mariadb.service # ...make your changes here... -# or create a file "/etc/systemd/system/mysqld.service.d/foo.conf", +# or create a file "/etc/systemd/system/mariadb.service.d/foo.conf", # which doesn't need to include ".include" call and which will be parsed -# after the file mysqld.service itself is parsed. +# after the file mariadb.service itself is parsed. # # For more info about custom unit files, see systemd.unit(5) or # http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F # For example, if you want to increase mysql's open-files-limit to 10000, # you need to increase systemd's LimitNOFILE setting, so create a file named -# "/etc/systemd/system/mysqld.service.d/limits.conf" containing: +# "/etc/systemd/system/mariadb.service.d/limits.conf" containing: # [Service] # LimitNOFILE=10000 @@ -32,11 +32,11 @@ Type=simple User=mysql Group=mysql -ExecStartPre=/usr/libexec/mysqld-prepare-db-dir %n +ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 ExecStart=/usr/bin/mysqld_safe --basedir=/usr -ExecStartPost=/usr/libexec/mysqld-wait-ready $MAINPID +ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID # Give a reasonable amount of time for the server to start up/shut down TimeoutSec=300 diff --git a/mariadb.spec b/mariadb.spec index 67a11e0..4b7158b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,7 +3,7 @@ Name: mariadb Version: 5.5.32 -Release: 11%{?dist} +Release: 12%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -29,6 +29,7 @@ License: GPLv2 with exceptions and LGPLv2 and BSD # the beginning of the transaction and mysqld is enabled again in the end # of the transaction in case this flag file exists. %global mysqld_enabled_flag_file %{_localstatedir}/lib/rpm-state/mysqld_enabled +%global mysqld_running_flag_file %{_localstatedir}/lib/rpm-state/mysqld_running Source0: http://ftp.osuosl.org/pub/mariadb/mariadb-%{version}/kvm-tarbake-jaunty-x86/mariadb-%{version}.tar.gz Source3: my.cnf @@ -38,9 +39,9 @@ Source7: README.mysql-license Source8: libmysql.version Source9: mysql-embedded-check.c Source10: mariadb.tmpfiles.d -Source11: mysqld.service -Source12: mysqld-prepare-db-dir -Source13: mysqld-wait-ready +Source11: mariadb.service +Source12: mariadb-prepare-db-dir +Source13: mariadb-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. @@ -63,6 +64,7 @@ Patch14: mariadb-basedir.patch Patch15: mariadb-tmpdir.patch Patch17: mariadb-covscan-signexpr.patch Patch18: mariadb-covscan-stroverflow.patch +Patch19: mariadb-config.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -264,6 +266,7 @@ MariaDB is a community developed branch of MySQL. %patch15 -p1 %patch17 -p1 %patch18 -p1 +%patch19 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -433,7 +436,11 @@ chmod 0750 $RPM_BUILD_ROOT%{_localstatedir}/log/mariadb touch $RPM_BUILD_ROOT%{_localstatedir}/log/mariadb/mariadb.log ln -s %{_localstatedir}/log/mariadb/mariadb.log $RPM_BUILD_ROOT%{_localstatedir}/log/mysqld.log +# current setting in my.cnf is to use /var/run/mariadb for creating pid file, +# however since my.cnf is not updated by RPM if changed, we need to create mysqld +# as well because users can have od settings in their /etc/my.cnf mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/mysqld +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/mariadb install -m 0755 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/mysql mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} @@ -442,7 +449,7 @@ install -p -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/my.cnf # install systemd unit files and scripts for handling server startup mkdir -p ${RPM_BUILD_ROOT}%{_unitdir} install -p -m 644 %{SOURCE11} ${RPM_BUILD_ROOT}%{_unitdir}/ -ln -s mysqld.service ${RPM_BUILD_ROOT}%{_unitdir}/mariadb.service +ln -s mariadb.service ${RPM_BUILD_ROOT}%{_unitdir}/mysqld.service install -p -m 755 %{SOURCE12} ${RPM_BUILD_ROOT}%{_libexecdir}/ install -p -m 755 %{SOURCE13} ${RPM_BUILD_ROOT}%{_libexecdir}/ @@ -530,16 +537,29 @@ if /bin/systemctl is-enabled mysqld.service >/dev/null 2>&1 ; then touch %mysqld_enabled_flag_file >/dev/null 2>&1 || : fi +# Since mysqld.service became a symlink to mariadb.service, turning off +# the running mysqld service doesn't work fine (BZ#1002996). As a work-around +# we explicitly stop mysqld before upgrade and start after it again. +if [ ! -L %{_unitdir}/mysqld.service ] && /bin/systemctl is-active mysqld.service &>/dev/null ; then + touch %mysqld_running_flag_file >/dev/null 2>&1 || : + /bin/systemctl stop mysqld.service >/dev/null 2>&1 || : +fi + %posttrans server -if [ -f %mysqld_enabled_flag_file ]; then - /bin/systemctl enable mysqld.service >/dev/null 2>&1 || : +if [ -f %mysqld_enabled_flag_file ] ; then + /bin/systemctl enable mariadb.service >/dev/null 2>&1 || : rm -f %mysqld_enabled_flag_file >/dev/null 2>&1 || : fi +if [ -f %mysqld_running_flag_file ] ; then + /bin/systemctl start mariadb.service >/dev/null 2>&1 || : + rm -f %mysqld_running_flag_file >/dev/null 2>&1 || : +fi + %post libs -p /sbin/ldconfig %post server -%systemd_post mysqld.service +%systemd_post mariadb.service /bin/chmod 0755 %{_localstatedir}/lib/mysql /bin/touch %{_localstatedir}/log/mariadb/mariadb.log @@ -554,12 +574,12 @@ if [ $1 -eq 0 ] ; then fi %preun server -%systemd_preun mysqld.service +%systemd_preun mariadb.service %postun libs -p /sbin/ldconfig %postun server -%systemd_postun_with_restart mysqld.service +%systemd_postun_with_restart mariadb.service if [ $1 -eq 0 ] ; then %{_sbindir}/update-alternatives --remove mysqlbug %{_libdir}/mysql/mysqlbug fi @@ -727,11 +747,12 @@ fi %{_unitdir}/mysqld.service %{_unitdir}/mariadb.service -%{_libexecdir}/mysqld-prepare-db-dir -%{_libexecdir}/mysqld-wait-ready +%{_libexecdir}/mariadb-prepare-db-dir +%{_libexecdir}/mariadb-wait-ready %{_tmpfilesdir}/%{name}.conf %attr(0755,mysql,mysql) %dir %{_localstatedir}/run/mysqld +%attr(0755,mysql,mysql) %dir %{_localstatedir}/run/mariadb %attr(0755,mysql,mysql) %dir %{_localstatedir}/lib/mysql %attr(0750,mysql,mysql) %dir %{_localstatedir}/log/mariadb %attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) %{_localstatedir}/log/mariadb/mariadb.log @@ -767,6 +788,13 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Sep 2 2013 Honza Horak - 1:5.5.32-12 +- Re-organize my.cnf to include only generic settings + Resolves: #1003115 +- Move pid file location to /var/run/mariadb +- Make mysqld a symlink to mariadb unit file rather than the opposite way + Related: #999589 + * Thu Aug 29 2013 Honza Horak - 1:5.5.32-11 - Move log file into /var/log/mariadb/mariadb.log - Rename logrotate script to mariadb diff --git a/mariadb.tmpfiles.d b/mariadb.tmpfiles.d index 74cd5f8..fbfe4d9 100644 --- a/mariadb.tmpfiles.d +++ b/mariadb.tmpfiles.d @@ -1 +1,2 @@ d /var/run/mysqld 0755 mysql mysql - +d /var/run/mariadb 0755 mysql mysql - diff --git a/my.cnf b/my.cnf index 2a5311b..ac882ac 100644 --- a/my.cnf +++ b/my.cnf @@ -5,13 +5,23 @@ 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 according to the +# customize your systemd unit file for mysqld/mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd -[mysqld_safe] -log-error=/var/log/mariadb/mariadb.log +# 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. +log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid +[mysqld_safe] + # # include all files from the config directory # From 5df5e512dc4f5298a9d4329341dc62e4d0932394 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 11 Oct 2013 09:58:06 +0200 Subject: [PATCH 065/789] Rebase to 5.5.33a --- .gitignore | 1 + mariadb-errno.patch | 14 +++---- mariadb-tmpdir.patch | 87 -------------------------------------------- mariadb.spec | 18 ++++++--- sources | 2 +- 5 files changed, 22 insertions(+), 100 deletions(-) delete mode 100644 mariadb-tmpdir.patch diff --git a/.gitignore b/.gitignore index 6656fad..b5a0d4f 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /mariadb-5.5.30.tar.gz /mariadb-5.5.31.tar.gz /mariadb-5.5.32.tar.gz +/mariadb-5.5.33a.tar.gz diff --git a/mariadb-errno.patch b/mariadb-errno.patch index bcacf6c..8c1c10c 100644 --- a/mariadb-errno.patch +++ b/mariadb-errno.patch @@ -1,20 +1,20 @@ "extern int errno" is just a really bad idea. -diff -up mariadb-5.5.28a/include/my_sys.h.p1 mariadb-5.5.28a/include/my_sys.h ---- mariadb-5.5.28a/include/my_sys.h.p1 2012-12-17 16:06:12.942346553 +0100 -+++ mariadb-5.5.28a/include/my_sys.h 2012-12-17 16:06:51.085361555 +0100 -@@ -189,13 +189,8 @@ extern void my_large_free(uchar *ptr); +diff -up mariadb-5.5.33a/include/my_sys.h.p1 mariadb-5.5.33a/include/my_sys.h +--- mariadb-5.5.33a/include/my_sys.h.p1 2013-10-10 13:37:11.391507810 +0200 ++++ mariadb-5.5.33a/include/my_sys.h 2013-10-10 13:37:57.395519715 +0200 +@@ -190,13 +190,7 @@ extern void my_large_free(uchar *ptr); #define my_safe_alloca(size, min_length) ((size <= min_length) ? my_alloca(size) : my_malloc(size,MYF(MY_FAE))) #define my_safe_afree(ptr, size, min_length) ((size <= min_length) ? my_afree(ptr) : my_free(ptr)) -#ifndef errno /* did we already get it? */ -#ifdef HAVE_ERRNO_AS_DEFINE - #include /* errno is a define */ +-#include /* errno is a define */ -#else -extern int errno; /* declare errno */ -#endif -#endif /* #ifndef errno */ -+ ++#include /* errno is a define */ extern char *home_dir; /* Home directory for user */ + extern MYSQL_PLUGIN_IMPORT char *mysql_data_home; extern const char *my_progname; /* program-name (printed in errors) */ - extern const char *my_progname_short; /* like above but without directory */ diff --git a/mariadb-tmpdir.patch b/mariadb-tmpdir.patch deleted file mode 100644 index debb1b7..0000000 --- a/mariadb-tmpdir.patch +++ /dev/null @@ -1,87 +0,0 @@ -Directory /tmp is now on tmpfs, which can cause problems with limitted space -or replication. It's documented here: -http://dev.mysql.com/doc/refman/5.5/en/server-options.html#option_mysqld_tmpdir - -"If the MySQL server is acting as a replication slave, you should not set --tmpdir -to point to a directory on a memory-based file system or to a directory that is -cleared when the server host restarts." - -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 mariadb-5.5.31/CMakeLists.txt.tmpdir mariadb-5.5.31/CMakeLists.txt ---- mariadb-5.5.31/CMakeLists.txt.tmpdir 2013-05-22 00:09:51.000000000 +0200 -+++ mariadb-5.5.31/CMakeLists.txt 2013-05-24 13:28:47.830720926 +0200 -@@ -246,6 +246,9 @@ IF(INSTALL_SYSCONFDIR) - SET(DEFAULT_SYSCONFDIR "${INSTALL_SYSCONFDIR}") - ENDIF() - -+IF(TMPDIR) -+ SET(DEFAULT_TMPDIR "${TMPDIR}") -+ENDIF() - - # Run platform tests - INCLUDE(configure.cmake) -diff -up mariadb-5.5.31/config.h.cmake.tmpdir mariadb-5.5.31/config.h.cmake ---- mariadb-5.5.31/config.h.cmake.tmpdir 2013-05-22 00:09:48.000000000 +0200 -+++ mariadb-5.5.31/config.h.cmake 2013-05-24 13:27:38.828722133 +0200 -@@ -618,6 +618,7 @@ - #cmakedefine DEFAULT_CHARSET_HOME "@DEFAULT_CHARSET_HOME@" - #cmakedefine PLUGINDIR "@PLUGINDIR@" - #cmakedefine DEFAULT_SYSCONFDIR "@DEFAULT_SYSCONFDIR@" -+#cmakedefine DEFAULT_TMPDIR "@DEFAULT_TMPDIR@" - - #cmakedefine SO_EXT "@CMAKE_SHARED_MODULE_SUFFIX@" - -diff -up mariadb-5.5.31/include/my_global.h.tmpdir mariadb-5.5.31/include/my_global.h ---- mariadb-5.5.31/include/my_global.h.tmpdir 2013-05-22 00:09:48.000000000 +0200 -+++ mariadb-5.5.31/include/my_global.h 2013-05-24 13:27:38.829722133 +0200 -@@ -1513,4 +1513,11 @@ static inline double rint(double x) - - #endif /* EMBEDDED_LIBRARY */ - -+/* -+ Define default tmpdir if not already set. -+*/ -+#if !defined(DEFAULT_TMPDIR) -+#define DEFAULT_TMPDIR P_tmpdir -+#endif -+ - #endif /* my_global_h */ -diff -up mariadb-5.5.31/libmysqld/lib_sql.cc.tmpdir mariadb-5.5.31/libmysqld/lib_sql.cc ---- mariadb-5.5.31/libmysqld/lib_sql.cc.tmpdir 2013-05-22 00:09:48.000000000 +0200 -+++ mariadb-5.5.31/libmysqld/lib_sql.cc 2013-05-24 13:27:38.830722133 +0200 -@@ -559,7 +559,7 @@ int init_embedded_server(int argc, char - opt_mysql_tmpdir=getenv("TMP"); - #endif - if (!opt_mysql_tmpdir || !opt_mysql_tmpdir[0]) -- opt_mysql_tmpdir=(char*) P_tmpdir; /* purecov: inspected */ -+ opt_mysql_tmpdir=(char*) DEFAULT_TMPDIR; /* purecov: inspected */ - - init_ssl(); - umask(((~my_umask) & 0666)); -diff -up mariadb-5.5.31/mysys/mf_tempdir.c.tmpdir mariadb-5.5.31/mysys/mf_tempdir.c ---- mariadb-5.5.31/mysys/mf_tempdir.c.tmpdir 2013-05-22 00:09:51.000000000 +0200 -+++ mariadb-5.5.31/mysys/mf_tempdir.c 2013-05-24 13:27:38.831722133 +0200 -@@ -43,7 +43,7 @@ my_bool init_tmpdir(MY_TMPDIR *tmpdir, c - pathlist=getenv("TMP"); - #endif - if (!pathlist || !pathlist[0]) -- pathlist=(char*) P_tmpdir; -+ pathlist=(char*) DEFAULT_TMPDIR; - } - do - { -diff -up mariadb-5.5.31/mysys/mf_tempfile.c.tmpdir mariadb-5.5.31/mysys/mf_tempfile.c ---- mariadb-5.5.31/mysys/mf_tempfile.c.tmpdir 2013-05-22 00:09:51.000000000 +0200 -+++ mariadb-5.5.31/mysys/mf_tempfile.c 2013-05-24 13:27:38.832722133 +0200 -@@ -111,7 +111,7 @@ File create_temp_file(char *to, const ch - sizeof(prefix_buff)-7),"XXXXXX") - - prefix_buff); - if (!dir && ! (dir =getenv("TMPDIR"))) -- dir=P_tmpdir; -+ dir=DEFAULT_TMPDIR; - if (strlen(dir)+ pfx_len > FN_REFLEN-2) - { - errno=my_errno= ENAMETOOLONG; diff --git a/mariadb.spec b/mariadb.spec index 4b7158b..e2d9e17 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -2,8 +2,8 @@ %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} Name: mariadb -Version: 5.5.32 -Release: 12%{?dist} +Version: 5.5.33a +Release: 1%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -61,10 +61,10 @@ Patch10: mariadb-file-contents.patch Patch11: mariadb-string-overflow.patch Patch12: mariadb-dh1024.patch Patch14: mariadb-basedir.patch -Patch15: mariadb-tmpdir.patch Patch17: mariadb-covscan-signexpr.patch Patch18: mariadb-covscan-stroverflow.patch Patch19: mariadb-config.patch +Patch20: mariadb-cmakehostname.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -250,7 +250,7 @@ MariaDB is a community developed branch of MySQL. %prep %setup -q -n mariadb-%{version} -%patch1 -p1 +%patch1 -p1 -b .p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 @@ -263,10 +263,10 @@ MariaDB is a community developed branch of MySQL. %patch11 -p1 %patch12 -p1 %patch14 -p1 -%patch15 -p1 %patch17 -p1 %patch18 -p1 %patch19 -p1 +%patch20 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -341,6 +341,7 @@ cmake . -DBUILD_CONFIG=mysql_release \ -DWITH_READLINE=ON \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ + -DWITH_JEMALLOC=no \ -DTMPDIR=%{_localstatedir}/tmp \ -DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now" @@ -601,6 +602,7 @@ fi %{_bindir}/mysqlbinlog %{_bindir}/mysqlcheck %{_bindir}/mysqldump +%{_bindir}/tokuftdump %{_bindir}/mysqlimport %{_bindir}/mysqlshow %{_bindir}/mysqlslap @@ -694,6 +696,7 @@ fi %{_bindir}/resolveip %config(noreplace) %{_sysconfdir}/my.cnf.d/server.cnf +%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf %{_libexecdir}/mysqld @@ -788,6 +791,11 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Oct 10 2013 Honza Horak 1:5.5.33a-1 +- Rebase to 5.5.33a + https://kb.askmonty.org/en/mariadb-5533-changelog/ + https://kb.askmonty.org/en/mariadb-5533a-changelog/ + * Mon Sep 2 2013 Honza Horak - 1:5.5.32-12 - Re-organize my.cnf to include only generic settings Resolves: #1003115 diff --git a/sources b/sources index 1e9f3ca..54bd63e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -565c2dce6a2fb027c9d0ffbae4934135 mariadb-5.5.32.tar.gz +00449a034b88490f16bd679b800bb850 mariadb-5.5.33a.tar.gz From 070bb3622e58a1fad5ec7beb9aea7c75bd218660 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 11 Oct 2013 10:24:26 +0200 Subject: [PATCH 066/789] Added mariadb-cmakehostname.patch --- mariadb-cmakehostname.patch | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 mariadb-cmakehostname.patch diff --git a/mariadb-cmakehostname.patch b/mariadb-cmakehostname.patch new file mode 100644 index 0000000..e3fba15 --- /dev/null +++ b/mariadb-cmakehostname.patch @@ -0,0 +1,14 @@ +Upstream bug report: https://mariadb.atlassian.net/browse/MDEV-5124 + +diff -up mariadb-5.5.33a/storage/tokudb/ft-index/cmake_modules/TokuSetupCTest.cmake.cmakehostname mariadb-5.5.33a/storage/tokudb/ft-index/cmake_modules/TokuSetupCTest.cmake +--- mariadb-5.5.33a/storage/tokudb/ft-index/cmake_modules/TokuSetupCTest.cmake.cmakehostname 2013-10-10 16:21:18.904236776 +0200 ++++ mariadb-5.5.33a/storage/tokudb/ft-index/cmake_modules/TokuSetupCTest.cmake 2013-10-10 16:21:29.718243555 +0200 +@@ -60,7 +60,7 @@ macro(hostname out) + COMMAND hostname + OUTPUT_VARIABLE fullhostname + OUTPUT_STRIP_TRAILING_WHITESPACE) +- string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} ${fullhostname}) ++ string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} "${fullhostname}") + endmacro(hostname) + + ## gather machine info From 55c4f60c210bb827bb4d3b7cb4ac687c5571b4fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 11 Oct 2013 10:57:14 +0200 Subject: [PATCH 067/789] Enable outfile_loaddata test --- mariadb.spec | 1 + rh-skipped-tests-base.list | 9 --------- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index e2d9e17..5a4715a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -795,6 +795,7 @@ fi - Rebase to 5.5.33a https://kb.askmonty.org/en/mariadb-5533-changelog/ https://kb.askmonty.org/en/mariadb-5533a-changelog/ +- Enable outfile_loaddata test * Mon Sep 2 2013 Honza Horak - 1:5.5.32-12 - Re-organize my.cnf to include only generic settings diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 32f477c..1a73c03 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -1,12 +1,3 @@ -# Disable the outfile_loaddata test, which as of 5.1.38 is giving -# platform-dependent results, with the "expected" results being arguably the -# wrong ones. This is upstream at http://bugs.mysql.com/bug.php?id=46895 -# (note that upstream has also disabled it, but only for Solaris, so we still -# need to disable it here). -# Still broken in 5.5.14, despite alleged fix. - -outfile_loaddata : bug#46895 code wrong, expected results wrong too - # Disable innodb.innodb, which is showing platform-dependent results # as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 From 3976d8922bd7610a7b2f3fb9bf4bc8679a937c02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 11 Oct 2013 14:08:35 +0200 Subject: [PATCH 068/789] Disable tokudb_innodb_xa_crash test Work-around for BZ#1018192 --- mariadb.spec | 1 + rh-skipped-tests-base.list | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index 5a4715a..210bfc4 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -796,6 +796,7 @@ fi https://kb.askmonty.org/en/mariadb-5533-changelog/ https://kb.askmonty.org/en/mariadb-5533a-changelog/ - Enable outfile_loaddata test +- Disable tokudb_innodb_xa_crash test * Mon Sep 2 2013 Honza Horak - 1:5.5.32-12 - Re-organize my.cnf to include only generic settings diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 1a73c03..44e5155 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -3,3 +3,7 @@ innodb.innodb : bug#60155 has platform-dependent results +# Disable tokudb_innodb_xa_crash temporarily, until it is fixed: +# + +tokudb_innodb_xa_crash : https://bugzilla.redhat.com/show_bug.cgi?id=1018192 From 8c95b2e67202b1ac19bf9960af4c8a7b9a33fe48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 11 Oct 2013 14:22:15 +0200 Subject: [PATCH 069/789] Don't backup patched files --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 210bfc4..f1cfd65 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -250,7 +250,7 @@ MariaDB is a community developed branch of MySQL. %prep %setup -q -n mariadb-%{version} -%patch1 -p1 -b .p1 +%patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 From 25740ab053557f62de5a228d299f9b669a136303 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sat, 12 Oct 2013 15:53:31 +0200 Subject: [PATCH 070/789] Dont't build with TokuDB by default --- mariadb.spec | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index f1cfd65..330d554 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,10 @@ # In f20+ use unversioned docdirs, otherwise the old versioned one %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} +# TokuDB engine is now part of MariaDB, but it is available only for x86_64; +# variable tokudb allows to build with TokuDB storage engine +%bcond_with tokudb + Name: mariadb Version: 5.5.33a Release: 1%{?dist} @@ -20,7 +24,7 @@ License: GPLv2 with exceptions and LGPLv2 and BSD %global obsoleted_mysql_case_evr 5.5.30-5 # Regression tests take a long time, you can skip 'em with this -%{!?runselftest:%global runselftest 1} +%{!?runselftest:%global runselftest 0} # When replacing mysql by mariadb these packages are not upated, but rather # installed and uninstalled. Thus we loose information about mysqld service @@ -342,6 +346,7 @@ cmake . -DBUILD_CONFIG=mysql_release \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DWITH_JEMALLOC=no \ +%{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\ -DTMPDIR=%{_localstatedir}/tmp \ -DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now" @@ -602,7 +607,7 @@ fi %{_bindir}/mysqlbinlog %{_bindir}/mysqlcheck %{_bindir}/mysqldump -%{_bindir}/tokuftdump +%{?with_tokudb:%{_bindir}/tokuftdump} %{_bindir}/mysqlimport %{_bindir}/mysqlshow %{_bindir}/mysqlslap @@ -696,7 +701,7 @@ fi %{_bindir}/resolveip %config(noreplace) %{_sysconfdir}/my.cnf.d/server.cnf -%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf +%{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf} %{_libexecdir}/mysqld From 4fa030a2d76fbb0f1043d86161d6e8452af3ea38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 14 Oct 2013 13:32:21 +0200 Subject: [PATCH 071/789] Turn on test suite --- mariadb.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 330d554..b0f9579 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 5.5.33a -Release: 1%{?dist} +Release: 2%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -24,7 +24,7 @@ License: GPLv2 with exceptions and LGPLv2 and BSD %global obsoleted_mysql_case_evr 5.5.30-5 # Regression tests take a long time, you can skip 'em with this -%{!?runselftest:%global runselftest 0} +%{!?runselftest:%global runselftest 1} # When replacing mysql by mariadb these packages are not upated, but rather # installed and uninstalled. Thus we loose information about mysqld service @@ -796,6 +796,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Oct 14 2013 Honza Horak 1:5.5.33a-2 +- Turn on test suite + * Thu Oct 10 2013 Honza Horak 1:5.5.33a-1 - Rebase to 5.5.33a https://kb.askmonty.org/en/mariadb-5533-changelog/ From 2e73b0f9701166878094f7d52709438765250178 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 4 Nov 2013 13:08:21 +0100 Subject: [PATCH 072/789] Add pam-devel to build-requires in order to build Related: #1019945 --- mariadb.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index b0f9579..f90e055 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 5.5.33a -Release: 2%{?dist} +Release: 3%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -75,6 +75,8 @@ BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel BuildRequires: systemd, systemtap-sdt-devel # make test requires time and ps BuildRequires: time procps +# auth_pam.so plugin will be build if pam-devel is installed +BuildRequires: pam-devel # perl modules needed to run regression tests BuildRequires: perl(Socket), perl(Time::HiRes) BuildRequires: perl(Data::Dumper), perl(Test::More), perl(Env) @@ -796,6 +798,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Nov 4 2013 Honza Horak 1:5.5.33a-3 +- Add pam-devel to build-requires in order to build + Related: #1019945 + * Mon Oct 14 2013 Honza Horak 1:5.5.33a-2 - Turn on test suite From eb0830bac903ba69e88f0630c141c5111f635176 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 4 Nov 2013 13:12:04 +0100 Subject: [PATCH 073/789] Check if correct process is running in mysql-wait-ready script Related: #1026313 --- mariadb-wait-ready | 11 ++++++++++- mariadb.spec | 2 ++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/mariadb-wait-ready b/mariadb-wait-ready index 9e5d3e4..ead58e0 100644 --- a/mariadb-wait-ready +++ b/mariadb-wait-ready @@ -27,13 +27,22 @@ get_mysql_option mysqld datadir "/var/lib/mysql" datadir="$result" get_mysql_option mysqld socket "/var/lib/mysql/mysql.sock" socketfile="$result" +get_mysql_option mysqld_safe pid-file "/var/run/mysqld/mysqld.pid" +mypidfile="$result" # Wait for the server to come up or for the mysqld process to disappear ret=0 while /bin/true; do + MYSQLDRUNNING=0 + if [ -f "$mypidfile" ]; then + MYSQLPID=`cat "$mypidfile" 2>/dev/null` + if [ -n "$MYSQLPID" ] && [ -d "/proc/$MYSQLPID" ] ; then + MYSQLDRUNNING=1 + fi + fi RESPONSE=`/usr/bin/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` mret=$? - if [ $mret -eq 0 ]; then + if [ $mret -eq 0 ] && [ $MYSQLDRUNNING -eq 1 ]; then break fi # exit codes 1, 11 (EXIT_CANNOT_CONNECT_TO_SERVICE) are expected, diff --git a/mariadb.spec b/mariadb.spec index f90e055..b12e148 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -801,6 +801,8 @@ fi * Mon Nov 4 2013 Honza Horak 1:5.5.33a-3 - Add pam-devel to build-requires in order to build Related: #1019945 +- Check if correct process is running in mysql-wait-ready script + Related: #1026313 * Mon Oct 14 2013 Honza Horak 1:5.5.33a-2 - Turn on test suite From 9a2be74e7b0a6cc9e1e3f26ca980601f3715931e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 4 Nov 2013 16:40:18 +0100 Subject: [PATCH 074/789] Fix spec file to be ready for backport by Oden Eriksson Resolves: #1026404 --- mariadb.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index b12e148..af96139 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 5.5.33a -Release: 3%{?dist} +Release: 4%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -327,6 +327,9 @@ cmake . -DBUILD_CONFIG=mysql_release \ %if 0%{?fedora} >= 20 -DINSTALL_DOCDIR=share/doc/mariadb \ -DINSTALL_DOCREADMEDIR=share/doc/mariadb \ +%else + -DINSTALL_DOCDIR=share/doc/%{name}-%{version} \ + -DINSTALL_DOCREADMEDIR=share/doc/%{name}-%{version} \ %endif -DINSTALL_INCLUDEDIR=include/mysql \ -DINSTALL_INFODIR=share/info \ @@ -798,6 +801,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Nov 4 2013 Honza Horak 1:5.5.33a-4 +- Fix spec file to be ready for backport by Oden Eriksson + Resolves: #1026404 + * Mon Nov 4 2013 Honza Horak 1:5.5.33a-3 - Add pam-devel to build-requires in order to build Related: #1019945 From 26fa8b35cd84934b21305bd0e0aecaf9ef3b74c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 22 Nov 2013 08:55:22 +0100 Subject: [PATCH 075/789] Rebase to 5.5.34 --- .gitignore | 1 + mariadb-cmakehostname.patch | 14 -------------- mariadb-file-contents.patch | 10 +++++----- mariadb.spec | 9 +++++---- sources | 2 +- 5 files changed, 12 insertions(+), 24 deletions(-) delete mode 100644 mariadb-cmakehostname.patch diff --git a/.gitignore b/.gitignore index b5a0d4f..3f42815 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ /mariadb-5.5.31.tar.gz /mariadb-5.5.32.tar.gz /mariadb-5.5.33a.tar.gz +/mariadb-5.5.34.tar.gz diff --git a/mariadb-cmakehostname.patch b/mariadb-cmakehostname.patch deleted file mode 100644 index e3fba15..0000000 --- a/mariadb-cmakehostname.patch +++ /dev/null @@ -1,14 +0,0 @@ -Upstream bug report: https://mariadb.atlassian.net/browse/MDEV-5124 - -diff -up mariadb-5.5.33a/storage/tokudb/ft-index/cmake_modules/TokuSetupCTest.cmake.cmakehostname mariadb-5.5.33a/storage/tokudb/ft-index/cmake_modules/TokuSetupCTest.cmake ---- mariadb-5.5.33a/storage/tokudb/ft-index/cmake_modules/TokuSetupCTest.cmake.cmakehostname 2013-10-10 16:21:18.904236776 +0200 -+++ mariadb-5.5.33a/storage/tokudb/ft-index/cmake_modules/TokuSetupCTest.cmake 2013-10-10 16:21:29.718243555 +0200 -@@ -60,7 +60,7 @@ macro(hostname out) - COMMAND hostname - OUTPUT_VARIABLE fullhostname - OUTPUT_STRIP_TRAILING_WHITESPACE) -- string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} ${fullhostname}) -+ string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} "${fullhostname}") - endmacro(hostname) - - ## gather machine info diff --git a/mariadb-file-contents.patch b/mariadb-file-contents.patch index f96640f..8ad8c73 100644 --- a/mariadb-file-contents.patch +++ b/mariadb-file-contents.patch @@ -6,9 +6,9 @@ to know about this. Recommendation they change is at http://bugs.mysql.com/bug.php?id=61425 -diff -up mariadb-5.5.28a/mysql-test/t/file_contents.test.p19 mariadb-5.5.28a/mysql-test/t/file_contents.test ---- mariadb-5.5.28a/mysql-test/t/file_contents.test.p19 2012-11-28 16:49:38.000000000 +0100 -+++ mariadb-5.5.28a/mysql-test/t/file_contents.test 2012-12-17 17:44:26.802139136 +0100 +diff -up mariadb-5.5.34/mysql-test/t/file_contents.test.p10 mariadb-5.5.34/mysql-test/t/file_contents.test +--- mariadb-5.5.34/mysql-test/t/file_contents.test.p10 2013-11-20 13:28:56.000000000 +0100 ++++ mariadb-5.5.34/mysql-test/t/file_contents.test 2013-11-22 08:50:30.244702013 +0100 @@ -32,6 +32,15 @@ if ($dir_bin eq '/usr/') { # RedHat/Debian: version number in directory name $dir_docs = glob "$dir_docs/mariadb-server-*"; @@ -23,5 +23,5 @@ diff -up mariadb-5.5.28a/mysql-test/t/file_contents.test.p19 mariadb-5.5.28a/mys + $dir_docs = "/usr/lib/mysql"; + } } - } else { - # tar.gz package, Windows, or developer work (in BZR) + # Slackware + $dir_docs = glob "$dir_bin/doc/mariadb-[0-9]*" unless -d $dir_docs; diff --git a/mariadb.spec b/mariadb.spec index af96139..3f2cd48 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -6,8 +6,8 @@ %bcond_with tokudb Name: mariadb -Version: 5.5.33a -Release: 4%{?dist} +Version: 5.5.34 +Release: 1%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -68,7 +68,6 @@ Patch14: mariadb-basedir.patch Patch17: mariadb-covscan-signexpr.patch Patch18: mariadb-covscan-stroverflow.patch Patch19: mariadb-config.patch -Patch20: mariadb-cmakehostname.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -272,7 +271,6 @@ MariaDB is a community developed branch of MySQL. %patch17 -p1 %patch18 -p1 %patch19 -p1 -%patch20 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -801,6 +799,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Nov 22 2013 Honza Horak 1:5.5.34-1 +- Rebase to 5.5.34 + * Mon Nov 4 2013 Honza Horak 1:5.5.33a-4 - Fix spec file to be ready for backport by Oden Eriksson Resolves: #1026404 diff --git a/sources b/sources index 54bd63e..0958b05 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -00449a034b88490f16bd679b800bb850 mariadb-5.5.33a.tar.gz +4f2f3da7687c64f589ce1e0fc6e3cfc9 mariadb-5.5.34.tar.gz From 2b8c23763f4c1ed898d52e8882d95c65724f4da1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Wed, 27 Nov 2013 15:22:54 +0100 Subject: [PATCH 076/789] Fix mariadb-wait-ready script --- mariadb-wait-ready | 9 ++------- mariadb.spec | 5 ++++- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/mariadb-wait-ready b/mariadb-wait-ready index ead58e0..63740e3 100644 --- a/mariadb-wait-ready +++ b/mariadb-wait-ready @@ -27,18 +27,13 @@ get_mysql_option mysqld datadir "/var/lib/mysql" datadir="$result" get_mysql_option mysqld socket "/var/lib/mysql/mysql.sock" socketfile="$result" -get_mysql_option mysqld_safe pid-file "/var/run/mysqld/mysqld.pid" -mypidfile="$result" # Wait for the server to come up or for the mysqld process to disappear ret=0 while /bin/true; do MYSQLDRUNNING=0 - if [ -f "$mypidfile" ]; then - MYSQLPID=`cat "$mypidfile" 2>/dev/null` - if [ -n "$MYSQLPID" ] && [ -d "/proc/$MYSQLPID" ] ; then - MYSQLDRUNNING=1 - fi + if [ -d "/proc/${daemon_pid}" ] ; then + MYSQLDRUNNING=1 fi RESPONSE=`/usr/bin/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` mret=$? diff --git a/mariadb.spec b/mariadb.spec index 3f2cd48..d8cecb0 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 5.5.34 -Release: 1%{?dist} +Release: 2%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -799,6 +799,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Nov 27 2013 Honza Horak 1:5.5.34-2 +- Fix mariadb-wait-ready script + * Fri Nov 22 2013 Honza Horak 1:5.5.34-1 - Rebase to 5.5.34 From de206ed6cd7629ef50b842ca91ef608ff3341f17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 6 Jan 2014 11:54:32 +0100 Subject: [PATCH 077/789] Don't test EDH-RSA-DES-CBC-SHA cipher, it seems to be removed from openssl which now makes mariadb/mysql FTBFS because openssl_1 test fails Related: #1044565 --- mariadb-ssltest.patch | 30 ++++++++++++++++++++++++++++++ mariadb.spec | 9 ++++++++- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 mariadb-ssltest.patch diff --git a/mariadb-ssltest.patch b/mariadb-ssltest.patch new file mode 100644 index 0000000..6fdd271 --- /dev/null +++ b/mariadb-ssltest.patch @@ -0,0 +1,30 @@ +Don't test EDH-RSA-DES-CBC-SHA cipher, it seems to be removed from openssl +which now makes mariadb/mysql FTBFS because openssl_1 test fails + +Related: #1044565 + + +diff -up mariadb-5.5.34/mysql-test/r/openssl_1.result.p20 mariadb-5.5.34/mysql-test/r/openssl_1.result +--- mariadb-5.5.34/mysql-test/r/openssl_1.result.p20 2014-01-06 11:51:18.878640731 +0100 ++++ mariadb-5.5.34/mysql-test/r/openssl_1.result 2014-01-06 11:51:45.364678942 +0100 +@@ -196,8 +196,6 @@ Ssl_cipher DHE-RSA-AES256-SHA + Variable_name Value + Ssl_cipher EDH-RSA-DES-CBC3-SHA + Variable_name Value +-Ssl_cipher EDH-RSA-DES-CBC-SHA +-Variable_name Value + Ssl_cipher RC4-SHA + select 'is still running; no cipher request crashed the server' as result from dual; + result +diff -up mariadb-5.5.34/mysql-test/t/openssl_1.test.p20 mariadb-5.5.34/mysql-test/t/openssl_1.test +--- mariadb-5.5.34/mysql-test/t/openssl_1.test.p20 2014-01-06 11:51:18.830640662 +0100 ++++ mariadb-5.5.34/mysql-test/t/openssl_1.test 2014-01-06 11:51:18.879640733 +0100 +@@ -218,7 +218,7 @@ DROP TABLE t1; + # Common ciphers to openssl and yassl + --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=DHE-RSA-AES256-SHA + --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC3-SHA +---exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC-SHA ++#--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC-SHA + --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=RC4-SHA + --disable_query_log + --disable_result_log diff --git a/mariadb.spec b/mariadb.spec index d8cecb0..6f6de7f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 5.5.34 -Release: 2%{?dist} +Release: 3%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -68,6 +68,7 @@ Patch14: mariadb-basedir.patch Patch17: mariadb-covscan-signexpr.patch Patch18: mariadb-covscan-stroverflow.patch Patch19: mariadb-config.patch +Patch20: mariadb-ssltest.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -271,6 +272,7 @@ MariaDB is a community developed branch of MySQL. %patch17 -p1 %patch18 -p1 %patch19 -p1 +%patch20 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -799,6 +801,11 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Jan 4 2014 Honza Horak 1:5.5.34-3 +- Don't test EDH-RSA-DES-CBC-SHA cipher, it seems to be removed from openssl + which now makes mariadb/mysql FTBFS because openssl_1 test fails + Related: #1044565 + * Wed Nov 27 2013 Honza Horak 1:5.5.34-2 - Fix mariadb-wait-ready script From 36b8db2178f431fc55cceb3c032ca767a0a36eca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 6 Jan 2014 12:00:39 +0100 Subject: [PATCH 078/789] Use upstream's layout for symbols version in client library Related: #1045013 --- mariadb-dubious-exports.patch | 169 ---------------------------------- mariadb-versioning.patch | 18 ---- mariadb.spec | 10 +- 3 files changed, 3 insertions(+), 194 deletions(-) delete mode 100644 mariadb-dubious-exports.patch delete mode 100644 mariadb-versioning.patch diff --git a/mariadb-dubious-exports.patch b/mariadb-dubious-exports.patch deleted file mode 100644 index afefb7b..0000000 --- a/mariadb-dubious-exports.patch +++ /dev/null @@ -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 mariadb-5.5.28a/client/mysqladmin.cc.p6 mariadb-5.5.28a/client/mysqladmin.cc ---- mariadb-5.5.28a/client/mysqladmin.cc.p6 2012-11-28 16:49:36.000000000 +0100 -+++ mariadb-5.5.28a/client/mysqladmin.cc 2013-01-30 16:30:55.047537674 +0100 -@@ -22,6 +22,7 @@ - #include /* because of signal() */ - #include - #include -+#include /* my_make_scrambled_password_323, my_make_scrambled_password */ - #include - #include /* ORACLE_WELCOME_COPYRIGHT_NOTICE */ - -@@ -1065,9 +1066,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 mariadb-5.5.28a/include/errmsg.h.p6 mariadb-5.5.28a/include/errmsg.h ---- mariadb-5.5.28a/include/errmsg.h.p6 2012-11-28 16:49:43.000000000 +0100 -+++ mariadb-5.5.28a/include/errmsg.h 2013-01-30 16:30:55.047537674 +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 mariadb-5.5.28a/include/mysql_com.h.p6 mariadb-5.5.28a/include/mysql_com.h ---- mariadb-5.5.28a/include/mysql_com.h.p6 2012-11-28 16:49:38.000000000 +0100 -+++ mariadb-5.5.28a/include/mysql_com.h 2013-01-30 16:30:55.047537674 +0100 -@@ -467,6 +467,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); -@@ -545,14 +546,12 @@ void create_random_string(char *to, unsi - struct my_rnd_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 mariadb-5.5.28a/include/mysql.h.pp.p6 mariadb-5.5.28a/include/mysql.h.pp ---- mariadb-5.5.28a/include/mysql.h.pp.p6 2012-11-28 16:49:47.000000000 +0100 -+++ mariadb-5.5.28a/include/mysql.h.pp 2013-01-30 16:30:55.048537674 +0100 -@@ -84,7 +84,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, -@@ -124,13 +124,11 @@ typedef struct st_udf_init - void create_random_string(char *to, unsigned int length, - struct my_rnd_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 mariadb-5.5.28a/include/my_sys.h.p6 mariadb-5.5.28a/include/my_sys.h ---- mariadb-5.5.28a/include/my_sys.h.p6 2013-01-30 16:30:54.980537678 +0100 -+++ mariadb-5.5.28a/include/my_sys.h 2013-01-30 16:31:38.510534702 +0100 -@@ -211,6 +211,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 struct charset_info_st compiled_charsets[]; -@@ -943,6 +944,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 mariadb-5.5.28a/sql/password.c.p6 mariadb-5.5.28a/sql/password.c ---- mariadb-5.5.28a/sql/password.c.p6 2012-11-28 16:49:48.000000000 +0100 -+++ mariadb-5.5.28a/sql/password.c 2013-01-30 16:30:55.048537674 +0100 -@@ -127,23 +127,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 -@@ -407,23 +390,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 diff --git a/mariadb-versioning.patch b/mariadb-versioning.patch deleted file mode 100644 index 51ff1d7..0000000 --- a/mariadb-versioning.patch +++ /dev/null @@ -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 mariadb-5.5.29/libmysql/CMakeLists.txt.p5 mariadb-5.5.29/libmysql/CMakeLists.txt ---- mariadb-5.5.29/libmysql/CMakeLists.txt.p5 2013-01-29 15:12:46.000000000 +0100 -+++ mariadb-5.5.29/libmysql/CMakeLists.txt 2013-02-01 10:44:28.449544405 +0100 -@@ -363,7 +363,7 @@ IF(NOT DISABLE_SHARED) - SET(libmysql_link_flags) - ENDIF() - SET_TARGET_PROPERTIES(libmysql PROPERTIES LINK_FLAGS -- "${libmysql_link_flags} ${LINK_FLAG_NO_UNDEFINED} ${VERSION_SCRIPT_LINK_FLAGS}") -+ "${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) diff --git a/mariadb.spec b/mariadb.spec index 6f6de7f..774d429 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -56,8 +56,6 @@ Patch1: mariadb-errno.patch Patch2: mariadb-strmov.patch Patch3: mariadb-install-test.patch Patch4: mariadb-expired-certs.patch -Patch5: mariadb-versioning.patch -Patch6: mariadb-dubious-exports.patch Patch7: mariadb-s390-tsc.patch Patch8: mariadb-logrotate.patch Patch9: mariadb-cipherspec.patch @@ -260,8 +258,6 @@ MariaDB is a community developed branch of MySQL. %patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p1 -%patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 @@ -277,9 +273,6 @@ MariaDB is a community developed branch of MySQL. # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt -# upstream has fallen down badly on symbol versioning, do it ourselves -cp -p %{SOURCE8} libmysql/libmysql.version - # 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 @@ -323,6 +316,7 @@ export LDFLAGS cmake . -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ + -DRPM="%{?rhel:rhel%{rhel}}%{?fedora:fedora}" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ %if 0%{?fedora} >= 20 -DINSTALL_DOCDIR=share/doc/mariadb \ @@ -805,6 +799,8 @@ fi - Don't test EDH-RSA-DES-CBC-SHA cipher, it seems to be removed from openssl which now makes mariadb/mysql FTBFS because openssl_1 test fails Related: #1044565 +- Use upstream's layout for symbols version in client library + Related: #1045013 * Wed Nov 27 2013 Honza Horak 1:5.5.34-2 - Fix mariadb-wait-ready script From 96e337e120c58950a71ab2f38c8c61f22cdc1a07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 6 Jan 2014 12:08:06 +0100 Subject: [PATCH 079/789] Check if socket file is not being used by another process at a time of starting the service Related: #1045435 --- mariadb-prepare-db-dir | 10 ++++++++++ mariadb.spec | 3 +++ 2 files changed, 13 insertions(+) diff --git a/mariadb-prepare-db-dir b/mariadb-prepare-db-dir index 8762ab7..c4c333f 100644 --- a/mariadb-prepare-db-dir +++ b/mariadb-prepare-db-dir @@ -50,6 +50,16 @@ chown "$myuser:$mygroup" "$errlogfile" chmod 0640 "$errlogfile" [ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" +# We check if there is already a process using the socket file, +# since otherwise this systemd service file could report false +# positive result when starting and mysqld_safe could remove +# a socket file, which actually uses a different daemon. +if fuser "$socketfile" &>/dev/null ; then + echo "Socket file $socketfile exists." >&2 + echo "Is another MySQL daemon already running with the same unix socket?" >&2 + exit 1 +fi + # Make the data directory if [ ! -d "$datadir/mysql" ] ; then # First, make sure $datadir is there with correct permissions diff --git a/mariadb.spec b/mariadb.spec index 774d429..d9ac190 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -801,6 +801,9 @@ fi Related: #1044565 - Use upstream's layout for symbols version in client library Related: #1045013 +- Check if socket file is not being used by another process at a time + of starting the service + Related: #1045435 * Wed Nov 27 2013 Honza Horak 1:5.5.34-2 - Fix mariadb-wait-ready script From 9aff247e120300d67cb66f8c35be9c7eb919a125 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 6 Jan 2014 18:09:21 +0100 Subject: [PATCH 080/789] Use %%ghost directive for the log file Related: 1043501 --- mariadb.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index d9ac190..fee72c4 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -762,8 +762,8 @@ fi %attr(0755,mysql,mysql) %dir %{_localstatedir}/run/mariadb %attr(0755,mysql,mysql) %dir %{_localstatedir}/lib/mysql %attr(0750,mysql,mysql) %dir %{_localstatedir}/log/mariadb -%attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) %{_localstatedir}/log/mariadb/mariadb.log -%attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) %{_localstatedir}/log/mysqld.log +%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{_localstatedir}/log/mariadb/mariadb.log +%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{_localstatedir}/log/mysqld.log %config(noreplace) %{_sysconfdir}/logrotate.d/mariadb %files devel @@ -804,6 +804,8 @@ fi - Check if socket file is not being used by another process at a time of starting the service Related: #1045435 +- Use %%ghost directive for the log file + Related: 1043501 * Wed Nov 27 2013 Honza Horak 1:5.5.34-2 - Fix mariadb-wait-ready script From 0be8e58cfc2f090218926caf6c8b59c6d2729072 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 6 Jan 2014 18:10:30 +0100 Subject: [PATCH 081/789] Fix date in changelog --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index fee72c4..f857a52 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -795,7 +795,7 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog -* Mon Jan 4 2014 Honza Horak 1:5.5.34-3 +* Mon Jan 6 2014 Honza Horak 1:5.5.34-3 - Don't test EDH-RSA-DES-CBC-SHA cipher, it seems to be removed from openssl which now makes mariadb/mysql FTBFS because openssl_1 test fails Related: #1044565 From 607492ed8ab9e098ffbef30de538425397486122 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 7 Jan 2014 11:00:18 +0100 Subject: [PATCH 082/789] Get INFO_xxx files from the correct place --- mariadb.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index f857a52..2c8cf02 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -433,8 +433,9 @@ chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/mysql_config # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also mariadb-file-contents.patch) -mv ${RPM_BUILD_ROOT}%{_pkgdocdir}/INFO_SRC ${RPM_BUILD_ROOT}%{_libdir}/mysql/ -mv ${RPM_BUILD_ROOT}%{_pkgdocdir}/INFO_BIN ${RPM_BUILD_ROOT}%{_libdir}/mysql/ +mv ${RPM_BUILD_ROOT}%{_pkgdocdir}/MariaDB-server-%{version}/INFO_SRC ${RPM_BUILD_ROOT}%{_libdir}/mysql/ +mv ${RPM_BUILD_ROOT}%{_pkgdocdir}/MariaDB-server-%{version}/INFO_BIN ${RPM_BUILD_ROOT}%{_libdir}/mysql/ +rm -rf ${RPM_BUILD_ROOT}%{_pkgdocdir}/MariaDB-%{version}/ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/mariadb chmod 0750 $RPM_BUILD_ROOT%{_localstatedir}/log/mariadb From cf12bcb35c10287705d61923a134a8a97d642fde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Wed, 8 Jan 2014 09:41:00 +0100 Subject: [PATCH 083/789] Read socketfile location in mariadb-prepare-db-dir script --- mariadb-prepare-db-dir | 2 ++ mariadb.spec | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/mariadb-prepare-db-dir b/mariadb-prepare-db-dir index c4c333f..8a7d3e1 100644 --- a/mariadb-prepare-db-dir +++ b/mariadb-prepare-db-dir @@ -21,6 +21,8 @@ get_mysql_option mysqld datadir "/var/lib/mysql" datadir="$result" get_mysql_option mysqld_safe log-error "/var/log/mariadb/mariadb.log" errlogfile="$result" +get_mysql_option mysqld socket "$datadir/mysql.sock" +socketfile="$result" # Absorb configuration settings from the specified systemd service file, # or the default "mysqld" service if not specified diff --git a/mariadb.spec b/mariadb.spec index 2c8cf02..0a64e1a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 5.5.34 -Release: 3%{?dist} +Release: 4%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -512,7 +512,7 @@ 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 -p -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/mysql-test # remove unneeded RHEL-4 SELinux stuff rm -rf ${RPM_BUILD_ROOT}%{_datadir}/mysql/SELinux/ @@ -796,6 +796,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Jan 8 2014 Honza Horak 1:5.5.34-4 +- Read socketfile location in mariadb-prepare-db-dir script + * Mon Jan 6 2014 Honza Horak 1:5.5.34-3 - Don't test EDH-RSA-DES-CBC-SHA cipher, it seems to be removed from openssl which now makes mariadb/mysql FTBFS because openssl_1 test fails From 0b96aec0678ade5c683dd5554cc00d82fcf108d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 10 Jan 2014 09:17:12 +0100 Subject: [PATCH 084/789] Clean all non-needed doc files properly --- mariadb.spec | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 0a64e1a..46f075e 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 5.5.34 -Release: 4%{?dist} +Release: 5%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -319,8 +319,8 @@ cmake . -DBUILD_CONFIG=mysql_release \ -DRPM="%{?rhel:rhel%{rhel}}%{?fedora:fedora}" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ %if 0%{?fedora} >= 20 - -DINSTALL_DOCDIR=share/doc/mariadb \ - -DINSTALL_DOCREADMEDIR=share/doc/mariadb \ + -DINSTALL_DOCDIR=share/doc/%{name} \ + -DINSTALL_DOCREADMEDIR=share/doc/%{name} \ %else -DINSTALL_DOCDIR=share/doc/%{name}-%{version} \ -DINSTALL_DOCREADMEDIR=share/doc/%{name}-%{version} \ @@ -435,7 +435,7 @@ chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/mysql_config # but that's pretty wacko --- see also mariadb-file-contents.patch) mv ${RPM_BUILD_ROOT}%{_pkgdocdir}/MariaDB-server-%{version}/INFO_SRC ${RPM_BUILD_ROOT}%{_libdir}/mysql/ mv ${RPM_BUILD_ROOT}%{_pkgdocdir}/MariaDB-server-%{version}/INFO_BIN ${RPM_BUILD_ROOT}%{_libdir}/mysql/ -rm -rf ${RPM_BUILD_ROOT}%{_pkgdocdir}/MariaDB-%{version}/ +rm -rf ${RPM_BUILD_ROOT}%{_pkgdocdir}/MariaDB-server-%{version}/ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/mariadb chmod 0750 $RPM_BUILD_ROOT%{_localstatedir}/log/mariadb @@ -796,6 +796,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jan 10 2014 Honza Horak 1:5.5.34-5 +- Clean all non-needed doc files properly + * Wed Jan 8 2014 Honza Horak 1:5.5.34-4 - Read socketfile location in mariadb-prepare-db-dir script From 2980890d18436846a8a73f7cd26ef1583e4e5e59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 10 Jan 2014 09:40:00 +0100 Subject: [PATCH 085/789] Disable main.gis-precise test also for AArch64 Disable perfschema.func_file_io and perfschema.func_mutex for AArch64 (like it is done for 32-bit ARM) Resolves: #1050974 --- mariadb.spec | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 46f075e..96f8a8a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 5.5.34 -Release: 5%{?dist} +Release: 6%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -276,11 +276,11 @@ rm -f mysql-test/t/ssl_8k_key-master.opt # 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 -%ifarch %{arm} +%ifarch %{arm} aarch64 cat %{SOURCE15} >> mysql-test/rh-skipped-tests.list %endif # disable some tests failing on ppc and s390 -%ifarch ppc ppc64 ppc64p7 s390 s390x +%ifarch ppc ppc64 ppc64p7 s390 s390x aarch64 echo "main.gis-precise : rhbz#906367" >> mysql-test/rh-skipped-tests.list %endif @@ -796,6 +796,11 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jan 10 2014 Marcin Juszkiewicz 1:5.5.34-6 +- Disable main.gis-precise test also for AArch64 +- Disable perfschema.func_file_io and perfschema.func_mutex for AArch64 + (like it is done for 32-bit ARM) + * Fri Jan 10 2014 Honza Horak 1:5.5.34-5 - Clean all non-needed doc files properly From d01f73bd77052230fab25b5bee76553b349e1a5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 10 Jan 2014 09:51:00 +0100 Subject: [PATCH 086/789] Build with -O3 on ppc64 Related: #1051069 --- mariadb.spec | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 96f8a8a..d647e73 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 5.5.34 -Release: 6%{?dist} +Release: 7%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -304,6 +304,11 @@ CFLAGS="$CFLAGS -fPIC" %ifarch sparc sparcv9 sparc64 CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` %endif +# significant performance gains can be achieved by compiling with -O3 optimization +# rhbz#1051069 +%ifarch ppc64 +CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` +%endif CXXFLAGS="$CFLAGS" export CFLAGS CXXFLAGS # building with PIE @@ -796,6 +801,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jan 10 2014 Honza Horak 1:5.5.34-7 +- Build with -O3 on ppc64 + Related: #1051069 + * Fri Jan 10 2014 Marcin Juszkiewicz 1:5.5.34-6 - Disable main.gis-precise test also for AArch64 - Disable perfschema.func_file_io and perfschema.func_mutex for AArch64 From 8b23b854abbb8bc54514206dd88cf080d9d27987 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 10 Jan 2014 09:57:54 +0100 Subject: [PATCH 087/789] Move mysql_config to -devel sub-package and remove Require: mariadb Related: #1050920 --- mariadb.spec | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index d647e73..0424395 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -164,7 +164,6 @@ MariaDB is a community developed branch of MySQL. Summary: Files for development of MariaDB/MySQL applications Group: Applications/Databases -Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} Requires: openssl-devel%{?_isa} Provides: mysql-devel = %{epoch}:%{version}-%{release} @@ -604,7 +603,6 @@ fi %{_bindir}/msql2mysql %{_bindir}/mysql -%ghost %{_bindir}/mysql_config %{_bindir}/mysql_find_rows %{_bindir}/mysql_waitpid %{_bindir}/mysqlaccess @@ -624,7 +622,6 @@ fi %{_bindir}/aria_read_log %{_mandir}/man1/mysql.1* -%{_mandir}/man1/mysql_config.1* %{_mandir}/man1/mysql_find_rows.1* %{_mandir}/man1/mysql_waitpid.1* %{_mandir}/man1/mysqlaccess.1* @@ -636,7 +633,6 @@ fi %{_mandir}/man1/mysql_fix_privilege_tables.1* %{_mandir}/man8/mysqlmanager.8* -%{_libdir}/mysql/mysql_config %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf %files libs @@ -773,10 +769,13 @@ fi %config(noreplace) %{_sysconfdir}/logrotate.d/mariadb %files devel +%ghost %{_bindir}/mysql_config %{_includedir}/mysql %{_datadir}/aclocal/mysql.m4 %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so +%{_libdir}/mysql/mysql_config +%{_mandir}/man1/mysql_config.1* %files embedded %doc README COPYING COPYING.LESSER README.mysql-license @@ -804,6 +803,8 @@ fi * Fri Jan 10 2014 Honza Horak 1:5.5.34-7 - Build with -O3 on ppc64 Related: #1051069 +- Move mysql_config to -devel sub-package and remove Require: mariadb + Related: #1050920 * Fri Jan 10 2014 Marcin Juszkiewicz 1:5.5.34-6 - Disable main.gis-precise test also for AArch64 From 3e8dca5f47ff0d1a55dad86bddd98dd805ef4f77 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Mon, 13 Jan 2014 14:36:16 -0600 Subject: [PATCH 088/789] move mysql_config alternatives scriptlets to -devel too --- mariadb.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 0424395..5fb48c6 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 5.5.34 -Release: 7%{?dist} +Release: 8%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -530,7 +530,7 @@ rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/mysql # remove solaris files rm -rf ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/ -%post +%post devel %{_sbindir}/update-alternatives --install %{_bindir}/mysql_config \ mysql_config %{_libdir}/mysql/mysql_config %{__isa_bits} @@ -578,7 +578,7 @@ fi %post embedded -p /sbin/ldconfig -%postun +%postun devel if [ $1 -eq 0 ] ; then %{_sbindir}/update-alternatives --remove mysql_config %{_libdir}/mysql/mysql_config fi @@ -800,6 +800,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Jan 13 2014 Rex Dieter 1:5.5.34-8 +- move mysql_config alternatives scriptlets to -devel too + * Fri Jan 10 2014 Honza Horak 1:5.5.34-7 - Build with -O3 on ppc64 Related: #1051069 From 73abdb8e5edcae08cedb7a35d45bd3096ffc1cd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 14 Jan 2014 20:02:55 +0100 Subject: [PATCH 089/789] Adopt compatible system versioning Related: #1045013 --- mariadb-versioning-compat.patch | 944 ++++++++++++++++++++++++++++++++ mariadb.spec | 14 +- 2 files changed, 954 insertions(+), 4 deletions(-) create mode 100644 mariadb-versioning-compat.patch diff --git a/mariadb-versioning-compat.patch b/mariadb-versioning-compat.patch new file mode 100644 index 0000000..b2e90bf --- /dev/null +++ b/mariadb-versioning-compat.patch @@ -0,0 +1,944 @@ +The issue is Fedora has changed ABI of MySQL client library downstream since +MySQL-5.5 (in order to prevent upstream's ABI mistakes), which started to make +problems for people building on one distro and running their software on other +distro. Detailed info and whole story RHBZ#1045013 [1]. + +With collaboration of MariaDB upstream, Oracle developer and Fedora we came up +with a solution, that we'll use both libmysqlclient_16 and libmysqlclient_18 +versions for symbols, which were already in MySQL 5.1, while libmysqlclient_18 +will be default one. + +MariaDB/MySQL upstreams seem to be willing to use the same approach for RPM +packages they provide. + +[1] https://bugzilla.redhat.com/show_bug.cgi?id=1045013 +[2] https://mariadb.atlassian.net/browse/MDEV-5529 + +diff -up mariadb-5.5.34/cmake/cpack_rpm.cmake.p21 mariadb-5.5.34/cmake/cpack_rpm.cmake +--- mariadb-5.5.34/cmake/cpack_rpm.cmake.p21 2014-01-17 10:26:02.739250383 +0100 ++++ mariadb-5.5.34/cmake/cpack_rpm.cmake 2014-01-17 10:23:55.985160851 +0100 +@@ -136,7 +136,7 @@ IF(RPM MATCHES "(rhel|centos)5") + ELSEIF(RPM MATCHES "(rhel|centos)6") + ALTERNATIVE_NAME("client" "mysql") + ALTERNATIVE_NAME("shared" "mysql-libs") +-ELSEIF(RPM MATCHES "fedora") ++ELSEIF(RPM MATCHES "fedora.*") + ALTERNATIVE_NAME("client" "mysql") + ALTERNATIVE_NAME("shared" "mysql-libs") + ENDIF() +diff -up mariadb-5.5.34/CMakeLists.txt.p21 mariadb-5.5.34/CMakeLists.txt +--- mariadb-5.5.34/CMakeLists.txt.p21 2013-11-20 13:28:54.000000000 +0100 ++++ mariadb-5.5.34/CMakeLists.txt 2014-01-17 10:23:20.542096502 +0100 +@@ -57,6 +57,22 @@ IF(UNIX AND NOT APPLE) + SET(WITH_PIC ${WITH_PIC_DEFAULT} CACHE BOOL "Compile with PIC.") + ENDIF() + ++# We provide compatible symbol versioning in RHEL-7/Fedora 21 and above ++SET(COMPAT_SYMBOL_VERSIONS_DEFAULT 0) ++IF(RPM MATCHES "^(rhel|centos)([0-9]*)$") ++ STRING(REGEX REPLACE "^(rhel|centos)([0-9]*)$" "\\2" RHEL_VER ${RPM}) ++ IF(RHEL_VER GREATER 6) ++ SET(COMPAT_SYMBOL_VERSIONS_DEFAULT 1) ++ ENDIF() ++ELSEIF(RPM MATCHES "^fedora([0-9]*)$") ++ STRING(REGEX REPLACE "^fedora([0-9]*)$" "\\1" FEDORA_VER ${RPM}) ++ IF(FEDORA_VER GREATER 20) ++ SET(COMPAT_SYMBOL_VERSIONS_DEFAULT 1) ++ ENDIF() ++ENDIF() ++SET(COMPAT_SYMBOL_VERSIONS ${COMPAT_SYMBOL_VERSIONS_DEFAULT} CACHE BOOL ++ "Versions of libmysqlclient symbols in compat mode") ++ + # Optionally set project name, e.g. + # foo.xcodeproj (mac) or foo.sln (windows) + SET(MYSQL_PROJECT_NAME_DOCSTRING "MySQL project name") +diff -up mariadb-5.5.34/config.h.cmake.p21 mariadb-5.5.34/config.h.cmake +--- mariadb-5.5.34/config.h.cmake.p21 2013-11-20 13:28:54.000000000 +0100 ++++ mariadb-5.5.34/config.h.cmake 2014-01-17 10:23:20.543096502 +0100 +@@ -641,4 +641,6 @@ + #cmakedefine SIZEOF_TIME_T @SIZEOF_TIME_T@ + #cmakedefine TIME_T_UNSIGNED @TIME_T_UNSIGNED@ + ++#cmakedefine COMPAT_SYMBOL_VERSIONS @COMPAT_SYMBOL_VERSIONS@ ++ + #endif +diff -up mariadb-5.5.34/libmysqld/libmysqld.def.p21 mariadb-5.5.34/libmysqld/libmysqld.def +--- mariadb-5.5.34/libmysqld/libmysqld.def.p21 2013-11-20 13:29:03.000000000 +0100 ++++ mariadb-5.5.34/libmysqld/libmysqld.def 2014-01-17 10:23:20.543096502 +0100 +@@ -104,3 +104,7 @@ EXPORTS + mysql_stmt_attr_set + mysql_stmt_field_count + mysql_get_server_name ++ handle_options ++ free_defaults ++ load_defaults ++ my_print_help +diff -up mariadb-5.5.34/libmysql/libmysql.c.p21 mariadb-5.5.34/libmysql/libmysql.c +--- mariadb-5.5.34/libmysql/libmysql.c.p21 2013-11-20 13:28:58.000000000 +0100 ++++ mariadb-5.5.34/libmysql/libmysql.c 2014-01-17 10:23:20.544096502 +0100 +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + #include "mysql.h" + #include "mysql_version.h" + #include "mysqld_error.h" +@@ -4892,3 +4893,642 @@ my_bool STDCALL mysql_read_query_result( + return (*mysql->methods->read_query_result)(mysql); + } + ++#ifndef EMBEDDED_LIBRARY ++#ifdef COMPAT_SYMBOL_VERSIONS ++ ++// Hack to provide both libmysqlclient_16 and libmysqlclient_18 symbol versions ++ ++#define SYM_16(_exportedsym) __asm__(".symver symver16_" #_exportedsym "," #_exportedsym "@libmysqlclient_16") ++ ++void STDCALL symver16_myodbc_remove_escape(MYSQL *mysql,char *name) ++{ ++ return myodbc_remove_escape(mysql, name); ++} ++SYM_16(myodbc_remove_escape); ++ ++ ++my_ulonglong STDCALL symver16_mysql_affected_rows(MYSQL *mysql) ++{ ++ return mysql_affected_rows(mysql); ++} ++SYM_16(mysql_affected_rows); ++ ++ ++my_bool STDCALL symver16_mysql_autocommit(MYSQL * mysql, my_bool auto_mode) ++{ ++ return mysql_autocommit(mysql, auto_mode); ++} ++SYM_16(mysql_autocommit); ++ ++ ++my_bool STDCALL symver16_mysql_change_user(MYSQL *mysql, const char *user, const char *passwd, const char *db) ++{ ++ return mysql_change_user(mysql, user, passwd, db); ++} ++SYM_16(mysql_change_user); ++ ++ ++const char * STDCALL symver16_mysql_character_set_name(MYSQL *mysql) ++{ ++ return mysql_character_set_name(mysql); ++} ++SYM_16(mysql_character_set_name); ++ ++ ++my_bool STDCALL symver16_mysql_commit(MYSQL * mysql) ++{ ++ return mysql_commit(mysql); ++} ++SYM_16(mysql_commit); ++ ++ ++void STDCALL symver16_mysql_data_seek(MYSQL_RES *result, my_ulonglong row) ++{ ++ return mysql_data_seek(result, row); ++} ++SYM_16(mysql_data_seek); ++ ++ ++void STDCALL symver16_mysql_debug(const char *debug __attribute__((unused))) ++{ ++ return mysql_debug(debug); ++} ++SYM_16(mysql_debug); ++ ++ ++int STDCALL symver16_mysql_dump_debug_info(MYSQL *mysql) ++{ ++ return mysql_dump_debug_info(mysql); ++} ++SYM_16(mysql_dump_debug_info); ++ ++ ++my_bool STDCALL symver16_mysql_embedded(void) ++{ ++ return mysql_embedded(); ++} ++SYM_16(mysql_embedded); ++ ++ ++my_bool STDCALL symver16_mysql_eof(MYSQL_RES *res) ++{ ++ return mysql_eof(res); ++} ++SYM_16(mysql_eof); ++ ++ ++ulong STDCALL symver16_mysql_escape_string(char *to,const char *from,ulong length) ++{ ++ return mysql_escape_string(to, from, length); ++} ++SYM_16(mysql_escape_string); ++ ++ ++MYSQL_FIELD * STDCALL symver16_mysql_fetch_field(MYSQL_RES *result) ++{ ++ return mysql_fetch_field(result); ++} ++SYM_16(mysql_fetch_field); ++ ++ ++MYSQL_FIELD * STDCALL symver16_mysql_fetch_field_direct(MYSQL_RES *res,uint fieldnr) ++{ ++ return mysql_fetch_field_direct(res, fieldnr); ++} ++SYM_16(mysql_fetch_field_direct); ++ ++ ++MYSQL_FIELD * STDCALL symver16_mysql_fetch_fields(MYSQL_RES *res) ++{ ++ return mysql_fetch_fields(res); ++} ++SYM_16(mysql_fetch_fields); ++ ++ ++unsigned int STDCALL symver16_mysql_field_count(MYSQL *mysql) ++{ ++ return mysql_field_count(mysql); ++} ++SYM_16(mysql_field_count); ++ ++ ++MYSQL_FIELD_OFFSET STDCALL symver16_mysql_field_seek(MYSQL_RES *result, MYSQL_FIELD_OFFSET field_offset) ++{ ++ return mysql_field_seek(result, field_offset); ++} ++SYM_16(mysql_field_seek); ++ ++ ++MYSQL_FIELD_OFFSET STDCALL symver16_mysql_field_tell(MYSQL_RES *res) ++{ ++ return mysql_field_tell(res); ++} ++SYM_16(mysql_field_tell); ++ ++ ++void STDCALL symver16_mysql_get_character_set_info(MYSQL *mysql, MY_CHARSET_INFO *csinfo) ++{ ++ return mysql_get_character_set_info(mysql, csinfo); ++} ++SYM_16(mysql_get_character_set_info); ++ ++ ++const char * STDCALL symver16_mysql_get_client_info(void) ++{ ++ return mysql_get_client_info(); ++} ++SYM_16(mysql_get_client_info); ++ ++ulong STDCALL symver16_mysql_get_client_version(void) ++{ ++ return mysql_get_client_version(); ++} ++SYM_16(mysql_get_client_version); ++ ++ ++const char * STDCALL symver16_mysql_get_host_info(MYSQL *mysql) ++{ ++ return mysql_get_host_info(mysql); ++} ++SYM_16(mysql_get_host_info); ++ ++ ++MYSQL_PARAMETERS *STDCALL symver16_mysql_get_parameters(void) ++{ ++ return mysql_get_parameters(); ++} ++SYM_16(mysql_get_parameters); ++ ++ ++uint STDCALL symver16_mysql_get_proto_info(MYSQL *mysql) ++{ ++ return mysql_get_proto_info(mysql); ++} ++SYM_16(mysql_get_proto_info); ++ ++ ++const char * STDCALL symver16_mysql_get_server_info(MYSQL *mysql) ++{ ++ return mysql_get_server_info(mysql); ++} ++SYM_16(mysql_get_server_info); ++ ++ ++ulong STDCALL symver16_mysql_hex_string(char *to, const char *from, ulong length) ++{ ++ return mysql_hex_string(to, from, length); ++} ++SYM_16(mysql_hex_string); ++ ++ ++const char *STDCALL symver16_mysql_info(MYSQL *mysql) ++{ ++ return mysql_info(mysql); ++} ++SYM_16(mysql_info); ++ ++ ++my_ulonglong STDCALL symver16_mysql_insert_id(MYSQL *mysql) ++{ ++ return mysql_insert_id(mysql); ++} ++SYM_16(mysql_insert_id); ++ ++ ++int STDCALL symver16_mysql_kill(MYSQL *mysql,ulong pid) ++{ ++ return mysql_kill(mysql, pid); ++} ++SYM_16(mysql_kill); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_list_dbs(MYSQL *mysql, const char *wild) ++{ ++ return mysql_list_dbs(mysql, wild); ++} ++SYM_16(mysql_list_dbs); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_list_fields(MYSQL *mysql, const char *table, const char *wild) ++{ ++ return mysql_list_fields(mysql, table, wild); ++} ++SYM_16(mysql_list_fields); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_list_processes(MYSQL *mysql) ++{ ++ return mysql_list_processes(mysql); ++} ++SYM_16(mysql_list_processes); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_list_tables(MYSQL *mysql, const char *wild) ++{ ++ return mysql_list_tables(mysql, wild); ++} ++SYM_16(mysql_list_tables); ++ ++ ++my_bool STDCALL symver16_mysql_more_results(MYSQL *mysql) ++{ ++ return mysql_more_results(mysql); ++} ++SYM_16(mysql_more_results); ++ ++ ++int STDCALL symver16_mysql_next_result(MYSQL *mysql) ++{ ++ return mysql_next_result(mysql); ++} ++SYM_16(mysql_next_result); ++ ++ ++int STDCALL symver16_mysql_ping(MYSQL *mysql) ++{ ++ return mysql_ping(mysql); ++} ++SYM_16(mysql_ping); ++ ++ ++int STDCALL symver16_mysql_query(MYSQL *mysql, const char *query) ++{ ++ return mysql_query(mysql, query); ++} ++SYM_16(mysql_query); ++ ++ ++my_bool STDCALL symver16_mysql_read_query_result(MYSQL *mysql) ++{ ++ return mysql_read_query_result(mysql); ++} ++SYM_16(mysql_read_query_result); ++ ++ ++ulong STDCALL symver16_mysql_real_escape_string(MYSQL *mysql, char *to,const char *from, ulong length) ++{ ++ return mysql_real_escape_string(mysql, to, from, length); ++} ++SYM_16(mysql_real_escape_string); ++ ++ ++int STDCALL symver16_mysql_refresh(MYSQL *mysql,uint options) ++{ ++ return mysql_refresh(mysql, options); ++} ++SYM_16(mysql_refresh); ++ ++ ++my_bool STDCALL symver16_mysql_rollback(MYSQL * mysql) ++{ ++ return mysql_rollback(mysql); ++} ++SYM_16(mysql_rollback); ++ ++ ++MYSQL_ROW_OFFSET STDCALL symver16_mysql_row_seek(MYSQL_RES *result, MYSQL_ROW_OFFSET row) ++{ ++ return mysql_row_seek(result, row); ++} ++SYM_16(mysql_row_seek); ++ ++ ++MYSQL_ROW_OFFSET STDCALL symver16_mysql_row_tell(MYSQL_RES *res) ++{ ++ return mysql_row_tell(res); ++} ++SYM_16(mysql_row_tell); ++ ++ ++void STDCALL symver16_mysql_server_end() ++{ ++ return mysql_server_end(); ++} ++SYM_16(mysql_server_end); ++ ++ ++int STDCALL symver16_mysql_server_init(int argc __attribute__((unused)), char **argv __attribute__((unused)), char **groups __attribute__((unused))) ++{ ++ return mysql_server_init(argc, argv, groups); ++} ++SYM_16(mysql_server_init); ++ ++ ++void symver16_mysql_set_local_infile_default(MYSQL *mysql) ++{ ++ return mysql_set_local_infile_default(mysql); ++} ++SYM_16(mysql_set_local_infile_default); ++ ++ ++void symver16_mysql_set_local_infile_handler(MYSQL *mysql, int (*local_infile_init)(void **, const char *, void *), int (*local_infile_read)(void *, char *, uint), void (*local_infile_end)(void *), int (*local_infile_error)(void *, char *, uint), void *userdata) ++{ ++ return mysql_set_local_infile_handler(mysql, local_infile_init, local_infile_read, local_infile_end, local_infile_error, userdata); ++} ++SYM_16(mysql_set_local_infile_handler); ++ ++ ++int STDCALL symver16_mysql_set_server_option(MYSQL *mysql, enum enum_mysql_set_option option) ++{ ++ return mysql_set_server_option(mysql, option); ++} ++SYM_16(mysql_set_server_option); ++ ++ ++int STDCALL symver16_mysql_shutdown(MYSQL *mysql, enum mysql_enum_shutdown_level shutdown_level) ++{ ++ return mysql_shutdown(mysql, shutdown_level); ++} ++SYM_16(mysql_shutdown); ++ ++ ++const char *STDCALL symver16_mysql_sqlstate(MYSQL *mysql) ++{ ++ return mysql_sqlstate(mysql); ++} ++SYM_16(mysql_sqlstate); ++ ++ ++const char * STDCALL symver16_mysql_stat(MYSQL *mysql) ++{ ++ return mysql_stat(mysql); ++} ++SYM_16(mysql_stat); ++ ++ ++my_ulonglong STDCALL symver16_mysql_stmt_affected_rows(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_affected_rows(stmt); ++} ++SYM_16(mysql_stmt_affected_rows); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_attr_get(MYSQL_STMT *stmt, enum enum_stmt_attr_type attr_type, void *value) ++{ ++ return mysql_stmt_attr_get(stmt, attr_type, value); ++} ++SYM_16(mysql_stmt_attr_get); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_attr_set(MYSQL_STMT *stmt, enum enum_stmt_attr_type attr_type, const void *value) ++{ ++ return mysql_stmt_attr_set(stmt, attr_type, value); ++} ++SYM_16(mysql_stmt_attr_set); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_bind_param(MYSQL_STMT *stmt, MYSQL_BIND *my_bind) ++{ ++ return mysql_stmt_bind_param(stmt, my_bind); ++} ++SYM_16(mysql_stmt_bind_param); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_bind_result(MYSQL_STMT *stmt, MYSQL_BIND *my_bind) ++{ ++ return mysql_stmt_bind_result(stmt, my_bind); ++} ++SYM_16(mysql_stmt_bind_result); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_close(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_close(stmt); ++} ++SYM_16(mysql_stmt_close); ++ ++ ++void STDCALL symver16_mysql_stmt_data_seek(MYSQL_STMT *stmt, my_ulonglong row) ++{ ++ return mysql_stmt_data_seek(stmt, row); ++} ++SYM_16(mysql_stmt_data_seek); ++ ++ ++uint STDCALL symver16_mysql_stmt_errno(MYSQL_STMT * stmt) ++{ ++ return mysql_stmt_errno(stmt); ++} ++SYM_16(mysql_stmt_errno); ++ ++ ++const char *STDCALL symver16_mysql_stmt_error(MYSQL_STMT * stmt) ++{ ++ return mysql_stmt_error(stmt); ++} ++SYM_16(mysql_stmt_error); ++ ++ ++int STDCALL symver16_mysql_stmt_execute(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_execute(stmt); ++} ++SYM_16(mysql_stmt_execute); ++ ++ ++int STDCALL symver16_mysql_stmt_fetch(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_fetch(stmt); ++} ++SYM_16(mysql_stmt_fetch); ++ ++ ++int STDCALL symver16_mysql_stmt_fetch_column(MYSQL_STMT *stmt, MYSQL_BIND *my_bind, uint column, ulong offset) ++{ ++ return mysql_stmt_fetch_column(stmt, my_bind, column, offset); ++} ++SYM_16(mysql_stmt_fetch_column); ++ ++ ++unsigned int STDCALL symver16_mysql_stmt_field_count(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_field_count(stmt); ++} ++SYM_16(mysql_stmt_field_count); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_free_result(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_free_result(stmt); ++} ++SYM_16(mysql_stmt_free_result); ++ ++ ++MYSQL_STMT * STDCALL symver16_mysql_stmt_init(MYSQL *mysql) ++{ ++ return mysql_stmt_init(mysql); ++} ++SYM_16(mysql_stmt_init); ++ ++ ++my_ulonglong STDCALL symver16_mysql_stmt_insert_id(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_insert_id(stmt); ++} ++SYM_16(mysql_stmt_insert_id); ++ ++ ++my_ulonglong STDCALL symver16_mysql_stmt_num_rows(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_num_rows(stmt); ++} ++SYM_16(mysql_stmt_num_rows); ++ ++ ++ulong STDCALL symver16_mysql_stmt_param_count(MYSQL_STMT * stmt) ++{ ++ return mysql_stmt_param_count(stmt); ++} ++SYM_16(mysql_stmt_param_count); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_stmt_param_metadata(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_param_metadata(stmt); ++} ++SYM_16(mysql_stmt_param_metadata); ++ ++ ++int STDCALL symver16_mysql_stmt_prepare(MYSQL_STMT *stmt, const char *query, ulong length) ++{ ++ return mysql_stmt_prepare(stmt, query, length); ++} ++SYM_16(mysql_stmt_prepare); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_reset(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_reset(stmt); ++} ++SYM_16(mysql_stmt_reset); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_stmt_result_metadata(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_result_metadata(stmt); ++} ++SYM_16(mysql_stmt_result_metadata); ++ ++ ++MYSQL_ROW_OFFSET STDCALL symver16_mysql_stmt_row_seek(MYSQL_STMT *stmt, MYSQL_ROW_OFFSET row) ++{ ++ return mysql_stmt_row_seek(stmt, row); ++} ++SYM_16(mysql_stmt_row_seek); ++ ++ ++MYSQL_ROW_OFFSET STDCALL symver16_mysql_stmt_row_tell(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_row_tell(stmt); ++} ++SYM_16(mysql_stmt_row_tell); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_send_long_data(MYSQL_STMT *stmt, uint param_number, const char *data, ulong length) ++{ ++ return mysql_stmt_send_long_data(stmt, param_number, data, length); ++} ++SYM_16(mysql_stmt_send_long_data); ++ ++ ++const char *STDCALL symver16_mysql_stmt_sqlstate(MYSQL_STMT * stmt) ++{ ++ return mysql_stmt_sqlstate(stmt); ++} ++SYM_16(mysql_stmt_sqlstate); ++ ++ ++int STDCALL symver16_mysql_stmt_store_result(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_store_result(stmt); ++} ++SYM_16(mysql_stmt_store_result); ++ ++ ++void STDCALL symver16_mysql_thread_end() ++{ ++ return mysql_thread_end(); ++} ++SYM_16(mysql_thread_end); ++ ++ ++ulong STDCALL symver16_mysql_thread_id(MYSQL *mysql) ++{ ++ return mysql_thread_id(mysql); ++} ++SYM_16(mysql_thread_id); ++ ++ ++my_bool STDCALL symver16_mysql_thread_init() ++{ ++ return mysql_thread_init(); ++} ++SYM_16(mysql_thread_init); ++ ++ ++uint STDCALL symver16_mysql_thread_safe(void) ++{ ++ return mysql_thread_safe(); ++} ++SYM_16(mysql_thread_safe); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_use_result(MYSQL *mysql) ++{ ++ return mysql_use_result(mysql); ++} ++SYM_16(mysql_use_result); ++ ++ ++uint STDCALL symver16_mysql_warning_count(MYSQL *mysql) ++{ ++ return mysql_warning_count(mysql); ++} ++SYM_16(mysql_warning_count); ++ ++/*****/ ++ ++MYSQL * STDCALL symver16_mysql_real_connect(MYSQL *mysql,const char *host, const char *user, const char *passwd, const char *db, uint port, const char *unix_socket,ulong client_flag) ++{ ++ return mysql_real_connect(mysql, host, user, passwd, db, port, unix_socket, client_flag); ++} ++SYM_16(mysql_real_connect); ++ ++/*****/ ++ ++my_bool symver16_my_init(void) ++{ ++ return my_init(); ++} ++SYM_16(my_init); ++ ++ ++void symver16_free_defaults(char **argv) ++{ ++ free_defaults(argv); ++} ++SYM_16(free_defaults); ++ ++int symver16_load_defaults(const char *conf_file, const char **groups, ++ int *argc, char ***argv) ++{ ++ return load_defaults(conf_file, groups, argc, argv); ++} ++SYM_16(load_defaults); ++ ++int symver16_handle_options(int *argc, char ***argv, ++ const struct my_option *longopts, ++ my_get_one_option get_one_option) ++{ ++ return handle_options(argc, argv, longopts, get_one_option); ++} ++SYM_16(handle_options); ++ ++void symver16_my_print_help(const struct my_option *options) ++{ ++ my_print_help(options); ++} ++SYM_16(my_print_help); ++ ++#endif ++#endif +diff -up mariadb-5.5.34/libmysql/libmysql_rpm_version.in.p21 mariadb-5.5.34/libmysql/libmysql_rpm_version.in +--- mariadb-5.5.34/libmysql/libmysql_rpm_version.in.p21 2013-11-20 13:28:52.000000000 +0100 ++++ mariadb-5.5.34/libmysql/libmysql_rpm_version.in 2014-01-17 10:23:20.544096502 +0100 +@@ -1,9 +1,20 @@ + # This version script is heavily inspired by Fedora's and Mageia's version scripts for + # MySQL client shared library. It is used in MariaDB for building RPMs. ++# ++# There used to be issues that every distro handled versions of exported ++# symbols differently. Providing both versions for older symbols (from 5.1), ++# while libmysqlclient_18 is the default one, seems like compatible solution, ++# that can be adopted by all distros. ++ ++libmysqlclient_16 ++{ ++ local: ++ symver16_*; ++}; + +-libmysqlclient_16 { ++libmysqlclient_18 { + global: +-@CLIENT_API_5_1_LIST@ ++ @CLIENT_API_5_1_LIST@ + + # some stuff from Mageia, I have no idea why it is there + # But too afraid to throw anything away +@@ -27,12 +38,7 @@ libmysqlclient_16 { + scramble; + # DBD::mysql requires this + is_prefix; +- local: +- *; +-}; + +-libmysqlclient_18 { +- global: + @CLIENT_API_5_5_LIST@ + # + # Ideally the following symbols wouldn't be exported, but various applications +@@ -59,4 +65,7 @@ libmysqlclient_18 { + # PHP's mysqli.so requires this (via the ER() macro) + mysql_client_errors; + client_errors; +-}; ++ local: ++ *; ++} libmysqlclient_16; ++ +diff -up mariadb-5.5.34/sql-common/client.c.p21 mariadb-5.5.34/sql-common/client.c +--- mariadb-5.5.34/sql-common/client.c.p21 2013-11-20 13:28:57.000000000 +0100 ++++ mariadb-5.5.34/sql-common/client.c 2014-01-17 10:23:20.545096501 +0100 +@@ -4485,3 +4485,139 @@ mysql_get_socket(const MYSQL *mysql) + return mysql->net.vio->sd; + return INVALID_SOCKET; + } ++ ++ ++#ifndef EMBEDDED_LIBRARY ++#ifdef COMPAT_SYMBOL_VERSIONS ++ ++// Hack to provide both libmysqlclient_16 and libmysqlclient_18 symbol versions ++ ++#define SYM_16(_exportedsym) __asm__(".symver symver16_" #_exportedsym "," #_exportedsym "@libmysqlclient_16") ++ ++void STDCALL symver16_mysql_close(MYSQL *mysql) ++{ ++ return mysql_close(mysql); ++} ++SYM_16(mysql_close); ++ ++ ++uint STDCALL symver16_mysql_errno(MYSQL *mysql) ++{ ++ return mysql_errno(mysql); ++} ++SYM_16(mysql_errno); ++ ++ ++const char * STDCALL symver16_mysql_error(MYSQL *mysql) ++{ ++ return mysql_error(mysql); ++} ++SYM_16(mysql_error); ++ ++ ++ulong * STDCALL symver16_mysql_fetch_lengths(MYSQL_RES *res) ++{ ++ return mysql_fetch_lengths(res); ++} ++SYM_16(mysql_fetch_lengths); ++ ++ ++MYSQL_ROW STDCALL symver16_mysql_fetch_row(MYSQL_RES *res) ++{ ++ return mysql_fetch_row(res); ++} ++SYM_16(mysql_fetch_row); ++ ++ ++void STDCALL symver16_mysql_free_result(MYSQL_RES *result) ++{ ++ return mysql_free_result(result); ++} ++SYM_16(mysql_free_result); ++ ++ ++ulong STDCALL symver16_mysql_get_server_version(MYSQL *mysql) ++{ ++ return mysql_get_server_version(mysql); ++} ++SYM_16(mysql_get_server_version); ++ ++ ++const char * STDCALL symver16_mysql_get_ssl_cipher(MYSQL *mysql __attribute__((unused))) ++{ ++ return mysql_get_ssl_cipher(mysql); ++} ++SYM_16(mysql_get_ssl_cipher); ++ ++ ++MYSQL * STDCALL symver16_mysql_init(MYSQL *mysql) ++{ ++ return mysql_init(mysql); ++} ++SYM_16(mysql_init); ++ ++ ++unsigned int STDCALL symver16_mysql_num_fields(MYSQL_RES *res) ++{ ++ return mysql_num_fields(res); ++} ++SYM_16(mysql_num_fields); ++ ++ ++my_ulonglong STDCALL symver16_mysql_num_rows(MYSQL_RES *res) ++{ ++ return mysql_num_rows(res); ++} ++SYM_16(mysql_num_rows); ++ ++ ++int STDCALL symver16_mysql_options(MYSQL *mysql,enum mysql_option option, const void *arg) ++{ ++ return mysql_options(mysql, option, arg); ++} ++SYM_16(mysql_options); ++ ++ ++int STDCALL symver16_mysql_real_query(MYSQL *mysql, const char *query, ulong length) ++{ ++ return mysql_real_query(mysql, query, length); ++} ++SYM_16(mysql_real_query); ++ ++ ++int STDCALL symver16_mysql_select_db(MYSQL *mysql, const char *db) ++{ ++ return mysql_select_db(mysql, db); ++} ++SYM_16(mysql_select_db); ++ ++ ++int STDCALL symver16_mysql_send_query(MYSQL* mysql, const char* query, ulong length) ++{ ++ return mysql_send_query(mysql, query, length); ++} ++SYM_16(mysql_send_query); ++ ++ ++int STDCALL symver16_mysql_set_character_set(MYSQL *mysql, const char *cs_name) ++{ ++ return mysql_set_character_set(mysql, cs_name); ++} ++SYM_16(mysql_set_character_set); ++ ++ ++my_bool STDCALL symver16_mysql_ssl_set(MYSQL *mysql __attribute__((unused)), const char *key __attribute__((unused)), const char *cert __attribute__((unused)), const char *ca __attribute__((unused)), const char *capath __attribute__((unused)), const char *cipher __attribute__((unused))) ++{ ++ return mysql_ssl_set(mysql, key, cert, ca, capath, cipher); ++} ++SYM_16(mysql_ssl_set); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_store_result(MYSQL *mysql) ++{ ++ return mysql_store_result(mysql); ++} ++SYM_16(mysql_store_result); ++ ++#endif ++#endif +diff -up mariadb-5.5.34/sql/password.c.p21 mariadb-5.5.34/sql/password.c +--- mariadb-5.5.34/sql/password.c.p21 2013-11-20 13:28:54.000000000 +0100 ++++ mariadb-5.5.34/sql/password.c 2014-01-17 10:23:20.545096501 +0100 +@@ -536,3 +536,20 @@ void make_password_from_salt(char *to, c + *to++= PVERSION41_CHAR; + octet2hex(to, (const char*) hash_stage2, SHA1_HASH_SIZE); + } ++ ++ ++#ifndef EMBEDDED_LIBRARY ++#ifdef COMPAT_SYMBOL_VERSIONS ++ ++// Hack to provide both libmysqlclient_16 and libmysqlclient_18 symbol versions ++ ++#define SYM_16(_exportedsym) __asm__(".symver symver16_" #_exportedsym "," #_exportedsym "@libmysqlclient_16") ++ ++void symver16_my_make_scrambled_password(char *to, const char *password, size_t pass_len) ++{ ++ my_make_scrambled_password(to, password, pass_len); ++} ++SYM_16(my_make_scrambled_password); ++ ++#endif ++#endif diff --git a/mariadb.spec b/mariadb.spec index 5fb48c6..b1f1a19 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 5.5.34 -Release: 8%{?dist} +Release: 9%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -67,6 +67,7 @@ Patch17: mariadb-covscan-signexpr.patch Patch18: mariadb-covscan-stroverflow.patch Patch19: mariadb-config.patch Patch20: mariadb-ssltest.patch +Patch21: mariadb-versioning-compat.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -268,6 +269,7 @@ MariaDB is a community developed branch of MySQL. %patch18 -p1 %patch19 -p1 %patch20 -p1 +%patch21 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -320,7 +322,7 @@ export LDFLAGS cmake . -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ - -DRPM="%{?rhel:rhel%{rhel}}%{?fedora:fedora}" \ + -DRPM="%{?rhel:rhel%{rhel}}%{!?rhel:fedora%{fedora}}" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ %if 0%{?fedora} >= 20 -DINSTALL_DOCDIR=share/doc/%{name} \ @@ -395,7 +397,7 @@ done --skip-test-list=rh-skipped-tests.list \ --suite-timeout=720 --testcase-timeout=30 \ --mysqld=--binlog-format=mixed --force-restart \ - --shutdown-timeout=60 + --shutdown-timeout=60 # cmake build scripts will install the var cruft if left alone :-( rm -rf var ) @@ -485,7 +487,7 @@ rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.a # source change is enough to get rid of dependency on libmysqlclient_r. rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient_r.so* 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} @@ -800,6 +802,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Jan 14 2014 Honza Horak - 1:5.5.34-9 +- Adopt compatible system versioning + Related: #1045013 + * Mon Jan 13 2014 Rex Dieter 1:5.5.34-8 - move mysql_config alternatives scriptlets to -devel too From 9def760e7ed1582d66d5f45d59e6af56b8b1ba59 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 17 Jan 2014 10:34:51 +0100 Subject: [PATCH 090/789] Use compatibility mysqld.service instead of link Related: #1014311 --- mariadb.service | 2 ++ mariadb.spec | 5 ++++- mysqld.service | 12 ++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 mysqld.service diff --git a/mariadb.service b/mariadb.service index 89cbd1a..795e05a 100644 --- a/mariadb.service +++ b/mariadb.service @@ -26,6 +26,7 @@ Description=MariaDB database server After=syslog.target After=network.target +BindsTo=mysqld.service [Service] Type=simple @@ -46,3 +47,4 @@ PrivateTmp=true [Install] WantedBy=multi-user.target +Also=mysqld.service diff --git a/mariadb.spec b/mariadb.spec index b1f1a19..ebc07af 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -48,6 +48,7 @@ Source12: mariadb-prepare-db-dir Source13: mariadb-wait-ready Source14: rh-skipped-tests-base.list Source15: rh-skipped-tests-arm.list +Source16: mysqld.service # Working around perl dependency checking bug in rpm FTTB. Remove later. Source999: filter-requires-mysql.sh @@ -461,7 +462,7 @@ install -p -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/my.cnf # install systemd unit files and scripts for handling server startup mkdir -p ${RPM_BUILD_ROOT}%{_unitdir} install -p -m 644 %{SOURCE11} ${RPM_BUILD_ROOT}%{_unitdir}/ -ln -s mariadb.service ${RPM_BUILD_ROOT}%{_unitdir}/mysqld.service +install -p -m 644 %{SOURCE16} ${RPM_BUILD_ROOT}%{_unitdir}/mysqld.service install -p -m 755 %{SOURCE12} ${RPM_BUILD_ROOT}%{_libexecdir}/ install -p -m 755 %{SOURCE13} ${RPM_BUILD_ROOT}%{_libexecdir}/ @@ -805,6 +806,8 @@ fi * Tue Jan 14 2014 Honza Horak - 1:5.5.34-9 - Adopt compatible system versioning Related: #1045013 +- Use compatibility mysqld.service instead of link + Related: #1014311 * Mon Jan 13 2014 Rex Dieter 1:5.5.34-8 - move mysql_config alternatives scriptlets to -devel too diff --git a/mysqld.service b/mysqld.service new file mode 100644 index 0000000..04db97c --- /dev/null +++ b/mysqld.service @@ -0,0 +1,12 @@ +Unit] +Description=MySQL compatibility service (another name for mariadb.service; you should use mariadb.service instead) +BindsTo=mariadb.service + +[Service] +Type=oneshot +ExecStart=/bin/true +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target +Also=mariadb.service From 577c71be6596081209ef1324b76fb0e668c8ae42 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 30 Jan 2014 17:53:19 +0100 Subject: [PATCH 091/789] Rebase to 5.5.35 https://kb.askmonty.org/en/mariadb-5535-changelog/ Also fixes: CVE-2014-0001, CVE-2014-0412, CVE-2014-0437, CVE-2013-5908, CVE-2014-0420, CVE-2014-0393, CVE-2013-5891, CVE-2014-0386, CVE-2014-0401, CVE-2014-0402 Resolves: #1054043 Resolves: #1059546 --- .gitignore | 1 + mariadb.spec | 13 +++++++++++-- sources | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 3f42815..774f811 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /mariadb-5.5.32.tar.gz /mariadb-5.5.33a.tar.gz /mariadb-5.5.34.tar.gz +/mariadb-5.5.35.tar.gz diff --git a/mariadb.spec b/mariadb.spec index ebc07af..1ef67ef 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -6,8 +6,8 @@ %bcond_with tokudb Name: mariadb -Version: 5.5.34 -Release: 9%{?dist} +Version: 5.5.35 +Release: 1%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -803,6 +803,15 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Jan 30 2014 Honza Horak 5.5.35-1 +- Rebase to 5.5.35 + https://kb.askmonty.org/en/mariadb-5535-changelog/ + Also fixes: CVE-2014-0001, CVE-2014-0412, CVE-2014-0437, CVE-2013-5908, + CVE-2014-0420, CVE-2014-0393, CVE-2013-5891, CVE-2014-0386, CVE-2014-0401, + CVE-2014-0402 + Resolves: #1054043 + Resolves: #1059546 + * Tue Jan 14 2014 Honza Horak - 1:5.5.34-9 - Adopt compatible system versioning Related: #1045013 diff --git a/sources b/sources index 0958b05..85f03e1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -4f2f3da7687c64f589ce1e0fc6e3cfc9 mariadb-5.5.34.tar.gz +c7183f96cfccbeb714c486d37f96051d mariadb-5.5.35.tar.gz From 9b13c57f2f7af561b343bbe1dd0c9b2b7b06b363 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 30 Jan 2014 18:03:25 +0100 Subject: [PATCH 092/789] Fix changlog version --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 1ef67ef..ddcfa22 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -803,7 +803,7 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog -* Thu Jan 30 2014 Honza Horak 5.5.35-1 +* Thu Jan 30 2014 Honza Horak 1:5.5.35-1 - Rebase to 5.5.35 https://kb.askmonty.org/en/mariadb-5535-changelog/ Also fixes: CVE-2014-0001, CVE-2014-0412, CVE-2014-0437, CVE-2013-5908, From 6d5ecbd3023dd928b5ab4746e6fceaa23cc492c0 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 5 Feb 2014 10:40:44 +0100 Subject: [PATCH 093/789] Fix owner and permission of log file in post script Resolves: #1061045 --- mariadb.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index ddcfa22..91b95d9 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 5.5.35 -Release: 1%{?dist} +Release: 2%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -575,6 +575,8 @@ fi %systemd_post mariadb.service /bin/chmod 0755 %{_localstatedir}/lib/mysql /bin/touch %{_localstatedir}/log/mariadb/mariadb.log +/bin/chmod 0640 %{_localstatedir}/log/mariadb/mariadb.log +/bin/chown mysql:mysql %{_localstatedir}/log/mariadb/mariadb.log %{_sbindir}/update-alternatives --install %{_bindir}/mysqlbug \ mysqlbug %{_libdir}/mysql/mysqlbug %{__isa_bits} @@ -803,6 +805,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Feb 5 2014 Honza Horak 1:5.5.35-2 +- Fix owner and permission of log file in post script + Resolves: #1061045 + * Thu Jan 30 2014 Honza Horak 1:5.5.35-1 - Rebase to 5.5.35 https://kb.askmonty.org/en/mariadb-5535-changelog/ From 64e1dc37c7c69909d4665b0a51cec619756398f7 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 5 Feb 2014 12:03:57 +0100 Subject: [PATCH 094/789] Do not touch the log file in post script, so it does not get wrong owner Resolves: #1061045 --- mariadb.spec | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 91b95d9..d8c5076 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 5.5.35 -Release: 2%{?dist} +Release: 3%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -574,9 +574,6 @@ fi %post server %systemd_post mariadb.service /bin/chmod 0755 %{_localstatedir}/lib/mysql -/bin/touch %{_localstatedir}/log/mariadb/mariadb.log -/bin/chmod 0640 %{_localstatedir}/log/mariadb/mariadb.log -/bin/chown mysql:mysql %{_localstatedir}/log/mariadb/mariadb.log %{_sbindir}/update-alternatives --install %{_bindir}/mysqlbug \ mysqlbug %{_libdir}/mysql/mysqlbug %{__isa_bits} @@ -805,8 +802,8 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog -* Wed Feb 5 2014 Honza Horak 1:5.5.35-2 -- Fix owner and permission of log file in post script +* Wed Feb 5 2014 Honza Horak 1:5.5.35-3 +- Do not touch the log file in post script, so it does not get wrong owner Resolves: #1061045 * Thu Jan 30 2014 Honza Horak 1:5.5.35-1 From d283b050854521019993fd3123d031170d442897 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 11 Feb 2014 19:01:55 +0100 Subject: [PATCH 095/789] Fix typo in mysqld.service Resolves: #1063981 --- mariadb.spec | 6 +++++- mysqld.service | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index d8c5076..aed650f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 5.5.35 -Release: 3%{?dist} +Release: 4%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -802,6 +802,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Feb 11 2014 Honza Horak 1:5.5.35-4 +- Fix typo in mysqld.service + Resolves: #1063981 + * Wed Feb 5 2014 Honza Horak 1:5.5.35-3 - Do not touch the log file in post script, so it does not get wrong owner Resolves: #1061045 diff --git a/mysqld.service b/mysqld.service index 04db97c..fad58b7 100644 --- a/mysqld.service +++ b/mysqld.service @@ -1,4 +1,4 @@ -Unit] +[Unit] Description=MySQL compatibility service (another name for mariadb.service; you should use mariadb.service instead) BindsTo=mariadb.service From fff9c6f05a2d73c45be1a7e8144d9dc50b947ba4 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 25 Feb 2014 15:56:53 +0100 Subject: [PATCH 096/789] Daemon helper scripts sanity changes and spec files clean-up --- mariadb-check-socket | 16 ++++++++++++ mariadb-prepare-db-dir | 35 +++------------------------ mariadb-scripts-common | 54 +++++++++++++++++++++++++++++++++++++++++ mariadb-wait-ready | 42 ++++++++++---------------------- mariadb.service | 1 + mariadb.spec | 55 ++++++++++++++++++++++++------------------ 6 files changed, 119 insertions(+), 84 deletions(-) create mode 100644 mariadb-check-socket create mode 100755 mariadb-scripts-common diff --git a/mariadb-check-socket b/mariadb-check-socket new file mode 100644 index 0000000..1561344 --- /dev/null +++ b/mariadb-check-socket @@ -0,0 +1,16 @@ +#!/bin/sh + +# We check if there is already a process using the socket file, +# since otherwise the systemd service file could report false +# positive result when starting and mysqld_safe could remove +# a socket file, which is actually being used by a different daemon. + +source ./mariadb-scripts-common + +if fuser "$socketfile" &>/dev/null ; then + echo "Socket file $socketfile exists." >&2 + echo "Is another MySQL daemon running with the same unix socket?" >&2 + exit 1 +fi + +exit 0 diff --git a/mariadb-prepare-db-dir b/mariadb-prepare-db-dir index 8a7d3e1..c2e82ec 100644 --- a/mariadb-prepare-db-dir +++ b/mariadb-prepare-db-dir @@ -3,33 +3,14 @@ # This script creates the mysql data directory during first service start. # In subsequent starts, it does nothing much. -# extract value of a MySQL option from config files -# Usage: get_mysql_option SECTION VARNAME DEFAULT -# result is returned in $result -# We use my_print_defaults which prints all options from multiple files, -# with the more specific ones later; hence take the last match. -get_mysql_option(){ - result=`/usr/bin/my_print_defaults "$1" | sed -n "s/^--$2=//p" | tail -n 1` - if [ -z "$result" ]; then - # not found, use default - result="$3" - fi -} - -# Defaults here had better match what mysqld_safe will default to -get_mysql_option mysqld datadir "/var/lib/mysql" -datadir="$result" -get_mysql_option mysqld_safe log-error "/var/log/mariadb/mariadb.log" -errlogfile="$result" -get_mysql_option mysqld socket "$datadir/mysql.sock" -socketfile="$result" +source ./mariadb-scripts-common # Absorb configuration settings from the specified systemd service file, -# or the default "mysqld" service if not specified +# or the default "mariadb" service if not specified SERVICE_NAME="$1" if [ x"$SERVICE_NAME" = x ] then - SERVICE_NAME=mysqld.service + SERVICE_NAME=mariadb.service fi myuser=`systemctl show -p User "${SERVICE_NAME}" | @@ -52,16 +33,6 @@ chown "$myuser:$mygroup" "$errlogfile" chmod 0640 "$errlogfile" [ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" -# We check if there is already a process using the socket file, -# since otherwise this systemd service file could report false -# positive result when starting and mysqld_safe could remove -# a socket file, which actually uses a different daemon. -if fuser "$socketfile" &>/dev/null ; then - echo "Socket file $socketfile exists." >&2 - echo "Is another MySQL daemon already running with the same unix socket?" >&2 - exit 1 -fi - # Make the data directory if [ ! -d "$datadir/mysql" ] ; then # First, make sure $datadir is there with correct permissions diff --git a/mariadb-scripts-common b/mariadb-scripts-common new file mode 100755 index 0000000..e1f7b21 --- /dev/null +++ b/mariadb-scripts-common @@ -0,0 +1,54 @@ +#!/bin/sh + +# Some useful functions used in other MySQL helper scripts +# This scripts defines variables datadir, errlogfile, socketfile + +export LC_ALL=C + +# extract value of a MySQL option from config files +# Usage: get_mysql_option VARNAME DEFAULT SECTION [ SECTION, ... ] +# result is returned in $result +# We use my_print_defaults which prints all options from multiple files, +# with the more specific ones later; hence take the last match. +get_mysql_option(){ + if [ $# -ne 3 ] ; then + echo "get_mysql_option requires 3 arguments: section option default_value" + return + fi + sections="$1" + option_name="$2" + default_value="$3" + result=`/usr/bin/my_print_defaults $sections | sed -n "s/^--${option_name}=//p" | tail -n 1` + if [ -z "$result" ]; then + # not found, use default + result="${default_value}" + fi +} + +# Defaults here had better match what mysqld_safe will default to +# The option values are generally defined on three important places +# on the default installation: +# 1) default values are hardcoded in the code of mysqld daemon or +# mysqld_safe script +# 2) configurable values are defined in /etc/my.cnf +# 3) default values for helper scripts are specified bellow +# So, in case values are defined in my.cnf, we need to get that value. +# In case they are not defined in my.cnf, we need to get the same value +# in the daemon, as in the helper scripts. Thus, default values here +# must correspond with values defined in mysqld_safe script and source +# code itself. + +get_mysql_option mysqld datadir "/var/lib/mysql" +datadir="$result" + +# if there is log_error in the my.cnf, my_print_defaults still +# returns log-error +get_mysql_option mysqld_safe log-error "`hostname`.err" +errlogfile="$result" + +get_mysql_option mysqld socket "/var/lib/mysql/mysql.sock" +socketfile="$result" + +get_mysql_option mysqld_safe pid-file "`hostname`.pid" +pidfile="$result" + diff --git a/mariadb-wait-ready b/mariadb-wait-ready index 63740e3..9db35e5 100644 --- a/mariadb-wait-ready +++ b/mariadb-wait-ready @@ -1,59 +1,43 @@ #!/bin/sh +source ./mariadb-scripts-common + # This script waits for mysqld to be ready to accept connections # (which can be many seconds or even minutes after launch, if there's # a lot of crash-recovery work to do). # Running this as ExecStartPost is useful so that services declared as # "After mysqld" won't be started until the database is really ready. +if [ $# -ne 1 ] ; then + echo "You need to pass daemon pid as an argument for this script." + exit 20 +fi + # Service file passes us the daemon's PID (actually, mysqld_safe's PID) daemon_pid="$1" -# extract value of a MySQL option from config files -# Usage: get_mysql_option SECTION VARNAME DEFAULT -# result is returned in $result -# We use my_print_defaults which prints all options from multiple files, -# with the more specific ones later; hence take the last match. -get_mysql_option(){ - result=`/usr/bin/my_print_defaults "$1" | sed -n "s/^--$2=//p" | tail -n 1` - if [ -z "$result" ]; then - # not found, use default - result="$3" - fi -} - -# Defaults here had better match what mysqld_safe will default to -get_mysql_option mysqld datadir "/var/lib/mysql" -datadir="$result" -get_mysql_option mysqld socket "/var/lib/mysql/mysql.sock" -socketfile="$result" - # Wait for the server to come up or for the mysqld process to disappear ret=0 while /bin/true; do - MYSQLDRUNNING=0 - if [ -d "/proc/${daemon_pid}" ] ; then - MYSQLDRUNNING=1 + # Check process still exists + if ! [ -d "/proc/${daemon_pid}" ] ; then + ret=1 + break fi RESPONSE=`/usr/bin/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` mret=$? - if [ $mret -eq 0 ] && [ $MYSQLDRUNNING -eq 1 ]; then + if [ $mret -eq 0 ] ; then break fi # exit codes 1, 11 (EXIT_CANNOT_CONNECT_TO_SERVICE) are expected, # anything else suggests a configuration error if [ $mret -ne 1 -a $mret -ne 11 ]; then - ret=1 + ret=$mret break fi # "Access denied" also means the server is alive echo "$RESPONSE" | grep -q "Access denied for user" && break - # Check process still exists - if ! /bin/kill -0 $daemon_pid 2>/dev/null; then - ret=1 - break - fi sleep 1 done diff --git a/mariadb.service b/mariadb.service index 795e05a..f938b05 100644 --- a/mariadb.service +++ b/mariadb.service @@ -33,6 +33,7 @@ Type=simple User=mysql Group=mysql +ExecStartPre=/usr/libexec/mariadb-check-socket ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 diff --git a/mariadb.spec b/mariadb.spec index aed650f..163efff 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 5.5.35 -Release: 4%{?dist} +Release: 5%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -46,9 +46,11 @@ Source10: mariadb.tmpfiles.d Source11: mariadb.service Source12: mariadb-prepare-db-dir Source13: mariadb-wait-ready -Source14: rh-skipped-tests-base.list -Source15: rh-skipped-tests-arm.list +Source14: mariadb-check-socket +Source15: mariadb-scripts-common Source16: mysqld.service +Source51: rh-skipped-tests-base.list +Source52: rh-skipped-tests-arm.list # Working around perl dependency checking bug in rpm FTTB. Remove later. Source999: filter-requires-mysql.sh @@ -276,10 +278,10 @@ MariaDB is a community developed branch of MySQL. rm -f mysql-test/t/ssl_8k_key-master.opt # generate a list of tests that fail, but are not disabled by upstream -cat %{SOURCE14} > mysql-test/rh-skipped-tests.list +cat %{SOURCE51} > mysql-test/rh-skipped-tests.list # disable some tests failing on ARM architectures %ifarch %{arm} aarch64 -cat %{SOURCE15} >> mysql-test/rh-skipped-tests.list +cat %{SOURCE52} >> mysql-test/rh-skipped-tests.list %endif # disable some tests failing on ppc and s390 %ifarch ppc ppc64 ppc64p7 s390 s390x aarch64 @@ -444,16 +446,16 @@ mv ${RPM_BUILD_ROOT}%{_pkgdocdir}/MariaDB-server-%{version}/INFO_SRC ${RPM_BUILD mv ${RPM_BUILD_ROOT}%{_pkgdocdir}/MariaDB-server-%{version}/INFO_BIN ${RPM_BUILD_ROOT}%{_libdir}/mysql/ rm -rf ${RPM_BUILD_ROOT}%{_pkgdocdir}/MariaDB-server-%{version}/ -mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/mariadb -chmod 0750 $RPM_BUILD_ROOT%{_localstatedir}/log/mariadb -touch $RPM_BUILD_ROOT%{_localstatedir}/log/mariadb/mariadb.log -ln -s %{_localstatedir}/log/mariadb/mariadb.log $RPM_BUILD_ROOT%{_localstatedir}/log/mysqld.log +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/%{name} +chmod 0750 $RPM_BUILD_ROOT%{_localstatedir}/log/%{name} +touch $RPM_BUILD_ROOT%{_localstatedir}/log/%{name}/%{name}.log +ln -s %{_localstatedir}/log/%{name}/%{name}.log $RPM_BUILD_ROOT%{_localstatedir}/log/mysqld.log # current setting in my.cnf is to use /var/run/mariadb for creating pid file, # however since my.cnf is not updated by RPM if changed, we need to create mysqld # as well because users can have od settings in their /etc/my.cnf mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/mysqld -mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/mariadb +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/%{name} install -m 0755 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/mysql mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} @@ -462,9 +464,11 @@ install -p -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/my.cnf # install systemd unit files and scripts for handling server startup mkdir -p ${RPM_BUILD_ROOT}%{_unitdir} install -p -m 644 %{SOURCE11} ${RPM_BUILD_ROOT}%{_unitdir}/ -install -p -m 644 %{SOURCE16} ${RPM_BUILD_ROOT}%{_unitdir}/mysqld.service +install -p -m 644 %{SOURCE16} ${RPM_BUILD_ROOT}%{_unitdir}/`basename %{SOURCE16}` install -p -m 755 %{SOURCE12} ${RPM_BUILD_ROOT}%{_libexecdir}/ install -p -m 755 %{SOURCE13} ${RPM_BUILD_ROOT}%{_libexecdir}/ +install -p -m 755 %{SOURCE14} ${RPM_BUILD_ROOT}%{_libexecdir}/ +install -p -m 644 %{SOURCE15} ${RPM_BUILD_ROOT}%{_libexecdir}/ mkdir -p $RPM_BUILD_ROOT%{_tmpfilesdir} install -p -m 0644 %{SOURCE10} $RPM_BUILD_ROOT%{_tmpfilesdir}/%{name}.conf @@ -508,8 +512,8 @@ rm -f ${RPM_BUILD_ROOT}%{_bindir}/mytop # 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/mariadb -chmod 644 $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/mariadb +mv ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-log-rotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/%{name} +chmod 644 $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/%{name} mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf @@ -560,11 +564,11 @@ fi %posttrans server if [ -f %mysqld_enabled_flag_file ] ; then - /bin/systemctl enable mariadb.service >/dev/null 2>&1 || : + /bin/systemctl enable %{name}.service >/dev/null 2>&1 || : rm -f %mysqld_enabled_flag_file >/dev/null 2>&1 || : fi if [ -f %mysqld_running_flag_file ] ; then - /bin/systemctl start mariadb.service >/dev/null 2>&1 || : + /bin/systemctl start %{name}.service >/dev/null 2>&1 || : rm -f %mysqld_running_flag_file >/dev/null 2>&1 || : fi @@ -572,7 +576,7 @@ fi %post libs -p /sbin/ldconfig %post server -%systemd_post mariadb.service +%systemd_post %{name}.service /bin/chmod 0755 %{_localstatedir}/lib/mysql %{_sbindir}/update-alternatives --install %{_bindir}/mysqlbug \ @@ -586,12 +590,12 @@ if [ $1 -eq 0 ] ; then fi %preun server -%systemd_preun mariadb.service +%systemd_preun %{name}.service %postun libs -p /sbin/ldconfig %postun server -%systemd_postun_with_restart mariadb.service +%systemd_postun_with_restart %{name}.service if [ $1 -eq 0 ] ; then %{_sbindir}/update-alternatives --remove mysqlbug %{_libdir}/mysql/mysqlbug fi @@ -757,18 +761,20 @@ fi %{_datadir}/mysql/config.*.ini %{_unitdir}/mysqld.service -%{_unitdir}/mariadb.service +%{_unitdir}/%{name}.service %{_libexecdir}/mariadb-prepare-db-dir %{_libexecdir}/mariadb-wait-ready +%{_libexecdir}/mariadb-scripts-common +%{_libexecdir}/mariadb-check-socket %{_tmpfilesdir}/%{name}.conf %attr(0755,mysql,mysql) %dir %{_localstatedir}/run/mysqld -%attr(0755,mysql,mysql) %dir %{_localstatedir}/run/mariadb +%attr(0755,mysql,mysql) %dir %{_localstatedir}/run/%{name} %attr(0755,mysql,mysql) %dir %{_localstatedir}/lib/mysql -%attr(0750,mysql,mysql) %dir %{_localstatedir}/log/mariadb -%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{_localstatedir}/log/mariadb/mariadb.log +%attr(0750,mysql,mysql) %dir %{_localstatedir}/log/%{name} +%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{_localstatedir}/log/%{name}/%{name}.log %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{_localstatedir}/log/mysqld.log -%config(noreplace) %{_sysconfdir}/logrotate.d/mariadb +%config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %files devel %ghost %{_bindir}/mysql_config @@ -802,6 +808,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Feb 25 2014 Honza Horak 1:5.5.35-5 +- Daemon helper scripts sanity changes and spec files clean-up + * Tue Feb 11 2014 Honza Horak 1:5.5.35-4 - Fix typo in mysqld.service Resolves: #1063981 From d213ff08cce1a08cffde148adee778b0a7f14841 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 6 Mar 2014 17:37:29 +0100 Subject: [PATCH 097/789] Rebase to 5.5.36 https://kb.askmonty.org/en/mariadb-5536-changelog/ --- .gitignore | 1 + mariadb.spec | 8 ++++++-- sources | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 774f811..e92f058 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /mariadb-5.5.33a.tar.gz /mariadb-5.5.34.tar.gz /mariadb-5.5.35.tar.gz +/mariadb-5.5.36.tar.gz diff --git a/mariadb.spec b/mariadb.spec index 163efff..61e7445 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -6,8 +6,8 @@ %bcond_with tokudb Name: mariadb -Version: 5.5.35 -Release: 5%{?dist} +Version: 5.5.36 +Release: 1%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -808,6 +808,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Mar 06 2014 Honza Horak - 1:5.5.36-1 +- Rebase to 5.5.36 + https://kb.askmonty.org/en/mariadb-5536-changelog/ + * Tue Feb 25 2014 Honza Horak 1:5.5.35-5 - Daemon helper scripts sanity changes and spec files clean-up diff --git a/sources b/sources index 85f03e1..a285bad 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c7183f96cfccbeb714c486d37f96051d mariadb-5.5.35.tar.gz +05f72957bedd8b1ea134c14173be9c25 mariadb-5.5.36.tar.gz From e6b99b32e8d57c7960f11690bd289e7a88f5bedb Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 6 Mar 2014 18:10:06 +0100 Subject: [PATCH 098/789] Remove not needed patch --- mariadb-expired-certs.patch | 555 ------------------------------------ 1 file changed, 555 deletions(-) delete mode 100644 mariadb-expired-certs.patch diff --git a/mariadb-expired-certs.patch b/mariadb-expired-certs.patch deleted file mode 100644 index acd3a78..0000000 --- a/mariadb-expired-certs.patch +++ /dev/null @@ -1,555 +0,0 @@ -Upstream insists on generating SSL testing certificates with relatively short -lifespan, which has repeatedly caused problems (ie, one day the regression -tests suddenly stop working). Replace them with certificates with 20-year -lifespan. We should periodically regenerate these, too, but at least not -very often. - - -diff -Naur mysql-5.1.50.orig/mysql-test/std_data/cacert.pem mysql-5.1.50/mysql-test/std_data/cacert.pem ---- mysql-5.1.50.orig/mysql-test/std_data/cacert.pem 2010-08-03 13:55:04.000000000 -0400 -+++ mysql-5.1.50/mysql-test/std_data/cacert.pem 2010-08-27 23:42:05.751428144 -0400 -@@ -1,17 +1,22 @@ - -----BEGIN CERTIFICATE----- --MIICrTCCAhagAwIBAgIJAMI7xZKjhrDbMA0GCSqGSIb3DQEBBAUAMEQxCzAJBgNV -+MIIDsjCCApqgAwIBAgIJAL5YrUwfPSWVMA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV - BAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxhMREwDwYD --VQQKEwhNeVNRTCBBQjAeFw0xMDAxMjkxMTQ3MTBaFw0xNTAxMjgxMTQ3MTBaMEQx -+VQQKEwhNeVNRTCBBQjAeFw0xMDAxMjkwNTU5NTNaFw0xNTAxMjgwNTU5NTNaMEQx - CzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxh --MREwDwYDVQQKEwhNeVNRTCBBQjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA --wQYsOEfrN4ESP3FjsI8cghE+tZVuyK2gck61lwieVxjgFMtBd65mI5a1y9pmlOI1 --yM4SB2Ppqcuw7/e1CdV1y7lvHrGNt5yqEHbN4QX1gvsN8TQauP/2WILturk4R4Hq --rKg0ZySu7f1Xhl0ed9a48LpaEHD17IcxWEGMMJwAxF0CAwEAAaOBpjCBozAMBgNV --HRMEBTADAQH/MB0GA1UdDgQWBBSvktYQ0ahLnyxyVKqty+WpBbBrDTB0BgNVHSME --bTBrgBSvktYQ0ahLnyxyVKqty+WpBbBrDaFIpEYwRDELMAkGA1UEBhMCU0UxEDAO --BgNVBAgTB1VwcHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FM --IEFCggkAwjvFkqOGsNswDQYJKoZIhvcNAQEEBQADgYEAdKN1PjwMHAKG2Ww1145g --JQGBnKxSFOUaoSvkBi/4ntTM+ysnViWh7WvxyWjR9zU9arfr7aqsDeQxm0XDOqzj --AQ/cQIla2/Li8tXyfc06bisH/IHRaSc2zWqioTKbEwMdVOdrvq4a8V8ic3xYyIWn --7F4WeS07J8LKardSvM0+hOA= -+MREwDwYDVQQKEwhNeVNRTCBBQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -+ggEBAL6kNN4peX7uhK9rb06W/QbPEpVuejmdWdl2PqMshP/eSuXXw7kwVgfpxx9R -+vC000CKQQSG9MCoZjtqPnFRsetmWLZgApRpEalGXTXJqq9sEbCfoFizg94U8G7d2 -+u5XJjLVmcG34ru36KoBgVx1zeH1puBAf8dOzrE4L7Y+ZQBFzFohjh8C2LqWC4nM5 -+qsLmOkDWMipGqYU5DvkKjIbTbwTyRNRgZHWSPfVDDPUIUOsY4BGUp2DpgeGY9aEv -+lIs57Ev9JqlIUCV65lOhhDkG+xwmkHKHA+ECEU9cALI8+uXbh48MB9XpMOuk408X -+/lX89aZwD0/G9kmObVGnE2G+H5UCAwEAAaOBpjCBozAdBgNVHQ4EFgQUsft+d7VA -+jWgRftkR5cPG2k2sUbAwdAYDVR0jBG0wa4AUsft+d7VAjWgRftkR5cPG2k2sUbCh -+SKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdV -+cHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAL5YrUwfPSWVMAwGA1UdEwQFMAMB -+Af8wDQYJKoZIhvcNAQEFBQADggEBALRUOAmdL8R8sl1y8kiEiFgDatdXK5RDqWai -+8yZChfmwTIToHhmQsOEshJe2e8hky3huUj+33VyXjINoMbebIwMuXPwEkbJal8RZ -+nSJmF0jN1Qz7J/jFffwK9xmejWZJx49Kt2+Qwrwp6kDeq9TLFqQOoVczgyJPYsTL -+NAOib5WqTud3XWvCwxrhqmWu7JZq6sp1fomP/uunprb8y2miWfLESZN2mKAhm44Q -+Lws867LT8v2lskEjq2dT1LutD5+R66XcdjgSr0uDziDs64jZwCD6ea94hVFM7ej0 -+ZOXYeSEZJ56FjUxu632e9fY8NyMh30yKjjmQf1mM9PuGJvdvsWU= - -----END CERTIFICATE----- -diff -Naur mysql-5.1.50.orig/mysql-test/std_data/client-cert.pem mysql-5.1.50/mysql-test/std_data/client-cert.pem ---- mysql-5.1.50.orig/mysql-test/std_data/client-cert.pem 2010-08-03 13:55:04.000000000 -0400 -+++ mysql-5.1.50/mysql-test/std_data/client-cert.pem 2010-08-27 23:42:05.752428395 -0400 -@@ -1,46 +1,69 @@ - Certificate: - Data: -- Version: 1 (0x0) -- Serial Number: 1048577 (0x100001) -- Signature Algorithm: md5WithRSAEncryption -+ Version: 3 (0x2) -+ Serial Number: 6 (0x6) -+ Signature Algorithm: sha1WithRSAEncryption - Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB - Validity -- Not Before: Jan 29 11:50:22 2010 GMT -- Not After : Jan 28 11:50:22 2015 GMT -+ Not Before: Feb 20 03:03:26 2010 GMT -+ Not After : Sep 3 03:03:26 2030 GMT - Subject: C=SE, ST=Uppsala, O=MySQL AB - Subject Public Key Info: - Public Key Algorithm: rsaEncryption -- Public-Key: (1024 bit) -- Modulus: -- 00:cc:9a:37:49:13:66:dc:cf:e3:0b:13:a1:23:ed: -- 78:db:4e:bd:11:f6:8c:0d:76:f9:a3:32:56:9a:f8: -- a1:21:6a:55:4e:4d:3f:e6:67:9d:26:99:b2:cd:a4: -- 9a:d2:2b:59:5c:d7:8a:d3:60:68:f8:18:bd:c5:be: -- 15:e1:2a:3c:a3:d4:61:cb:f5:11:94:17:81:81:f7: -- 87:8c:f6:6a:d2:ee:d8:e6:77:f6:62:66:4d:2e:16: -- 8d:08:81:4a:c9:c6:4b:31:e5:b9:c7:8a:84:96:48: -- a7:47:8c:0d:26:90:56:4e:e6:a5:6e:8c:b3:f2:9f: -- fc:3d:78:9b:49:6e:86:83:77 -+ RSA Public Key: (1024 bit) -+ Modulus (1024 bit): -+ 00:c2:e7:20:cf:89:59:2f:67:cb:4c:9f:e8:11:f2: -+ 23:e5:f1:b1:ee:3f:66:5f:c3:f5:fd:1e:31:ee:8f: -+ 4c:2a:bd:c0:4a:a5:9f:c8:44:d5:77:8f:15:1b:4d: -+ 78:6e:b2:a2:48:a5:24:33:05:40:02:b3:c1:87:8d: -+ 59:3c:1a:07:aa:86:f0:04:e1:9c:20:4b:22:32:c4: -+ 51:9e:40:e4:31:c3:57:f5:98:bf:2e:b1:fd:2c:56: -+ bf:49:d9:9b:e7:17:cc:95:5f:b5:08:19:5e:9d:df: -+ 65:22:39:2c:48:fb:69:96:31:7a:35:4d:de:60:b4: -+ c1:60:19:5f:96:56:7e:55:19 - Exponent: 65537 (0x10001) -- Signature Algorithm: md5WithRSAEncryption -- 5e:1f:a3:53:5f:24:13:1c:f8:28:32:b0:7f:69:69:f3:0e:c0: -- 34:87:10:03:7d:da:15:8b:bd:19:b8:1a:56:31:e7:85:49:81: -- c9:7f:45:20:74:3e:89:c0:e0:26:84:51:cc:04:16:ce:69:99: -- 01:e1:26:99:b3:e3:f5:bd:ec:5f:a0:84:e4:38:da:75:78:7b: -- 89:9c:d2:cd:60:95:20:ba:8e:e3:7c:e6:df:76:3a:7c:89:77: -- 02:94:86:11:3a:c4:61:7d:6f:71:83:21:8a:17:fb:17:e2:ee: -- 02:6b:61:c1:b4:52:63:d7:d8:46:b2:c5:9c:6f:38:91:8a:35: -- 32:0b -+ X509v3 extensions: -+ X509v3 Basic Constraints: -+ CA:FALSE -+ X509v3 Subject Key Identifier: -+ 8D:10:67:91:33:76:9C:02:E5:78:5D:D8:C5:EF:25:96:B2:D7:FA:1F -+ X509v3 Authority Key Identifier: -+ keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 -+ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB -+ serial:BE:58:AD:4C:1F:3D:25:95 -+ -+ Signature Algorithm: sha1WithRSAEncryption -+ a9:88:10:3e:5d:2a:47:29:c8:03:27:7a:31:5a:8e:10:03:bc: -+ b5:4e:37:1d:12:7b:eb:5f:50:71:70:b1:a3:8e:93:0e:77:17: -+ 6c:47:b6:c9:a4:4d:2a:c4:38:f0:61:55:b2:7f:28:ba:06:79: -+ ee:67:11:7d:d4:c9:7f:0a:18:c8:c1:cb:d0:2c:f9:63:0f:bb: -+ 45:ca:de:ea:bb:ac:00:01:52:48:36:2b:07:2b:c8:46:c7:b1: -+ 21:81:bd:77:39:e7:4c:39:aa:bd:ac:60:d8:a7:bf:cf:14:98: -+ 4a:0b:a1:40:55:06:8d:6f:35:a9:39:a0:71:a9:97:ba:7c:73: -+ 3c:41:ba:c5:1c:11:4b:2b:43:1d:2d:ba:7b:5f:14:b5:3d:64: -+ 62:15:36:b4:16:bd:78:c8:43:8d:f9:1c:a5:d2:ac:a1:58:74: -+ e1:99:de:ad:04:19:43:a8:bd:0a:fd:19:9b:50:44:46:6d:18: -+ 55:4d:bf:b4:5b:a4:93:62:c7:64:91:6c:54:34:d1:f8:f3:ff: -+ 12:6d:5f:85:e7:35:9e:5c:42:81:5e:fb:c8:bb:44:51:98:b2: -+ ef:1b:9f:5a:22:77:28:7d:da:fb:08:c2:94:9a:0f:42:08:93: -+ 54:10:1e:ad:f2:4f:fc:62:98:51:e9:9b:b9:3a:93:d9:e4:1f: -+ 1d:c4:76:d0 - -----BEGIN CERTIFICATE----- --MIIB5zCCAVACAxAAATANBgkqhkiG9w0BAQQFADBEMQswCQYDVQQGEwJTRTEQMA4G --A1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwg --QUIwHhcNMTAwMTI5MTE1MDIyWhcNMTUwMTI4MTE1MDIyWjAyMQswCQYDVQQGEwJT --RTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIwgZ8wDQYJKoZI --hvcNAQEBBQADgY0AMIGJAoGBAMyaN0kTZtzP4wsToSPteNtOvRH2jA12+aMyVpr4 --oSFqVU5NP+ZnnSaZss2kmtIrWVzXitNgaPgYvcW+FeEqPKPUYcv1EZQXgYH3h4z2 --atLu2OZ39mJmTS4WjQiBSsnGSzHluceKhJZIp0eMDSaQVk7mpW6Ms/Kf/D14m0lu --hoN3AgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAXh+jU18kExz4KDKwf2lp8w7ANIcQ --A33aFYu9GbgaVjHnhUmByX9FIHQ+icDgJoRRzAQWzmmZAeEmmbPj9b3sX6CE5Dja --dXh7iZzSzWCVILqO43zm33Y6fIl3ApSGETrEYX1vcYMhihf7F+LuAmthwbRSY9fY --RrLFnG84kYo1Mgs= -+MIIDETCCAfmgAwIBAgIBBjANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ -+MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT -+UUwgQUIwHhcNMTAwMjIwMDMwMzI2WhcNMzAwOTAzMDMwMzI2WjAyMQswCQYDVQQG -+EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIwgZ8wDQYJ -+KoZIhvcNAQEBBQADgY0AMIGJAoGBAMLnIM+JWS9ny0yf6BHyI+Xxse4/Zl/D9f0e -+Me6PTCq9wEqln8hE1XePFRtNeG6yokilJDMFQAKzwYeNWTwaB6qG8AThnCBLIjLE -+UZ5A5DHDV/WYvy6x/SxWv0nZm+cXzJVftQgZXp3fZSI5LEj7aZYxejVN3mC0wWAZ -+X5ZWflUZAgMBAAGjgaMwgaAwCQYDVR0TBAIwADAdBgNVHQ4EFgQUjRBnkTN2nALl -+eF3Yxe8llrLX+h8wdAYDVR0jBG0wa4AUsft+d7VAjWgRftkR5cPG2k2sUbChSKRG -+MEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBz -+YWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAL5YrUwfPSWVMA0GCSqGSIb3DQEBBQUA -+A4IBAQCpiBA+XSpHKcgDJ3oxWo4QA7y1TjcdEnvrX1BxcLGjjpMOdxdsR7bJpE0q -+xDjwYVWyfyi6BnnuZxF91Ml/ChjIwcvQLPljD7tFyt7qu6wAAVJINisHK8hGx7Eh -+gb13OedMOaq9rGDYp7/PFJhKC6FAVQaNbzWpOaBxqZe6fHM8QbrFHBFLK0MdLbp7 -+XxS1PWRiFTa0Fr14yEON+Ryl0qyhWHThmd6tBBlDqL0K/RmbUERGbRhVTb+0W6ST -+YsdkkWxUNNH48/8SbV+F5zWeXEKBXvvIu0RRmLLvG59aIncofdr7CMKUmg9CCJNU -+EB6t8k/8YphR6Zu5OpPZ5B8dxHbQ - -----END CERTIFICATE----- -diff -Naur mysql-5.1.50.orig/mysql-test/std_data/client-key.pem mysql-5.1.50/mysql-test/std_data/client-key.pem ---- mysql-5.1.50.orig/mysql-test/std_data/client-key.pem 2010-08-03 13:55:05.000000000 -0400 -+++ mysql-5.1.50/mysql-test/std_data/client-key.pem 2010-08-27 23:42:05.752428395 -0400 -@@ -1,15 +1,15 @@ - -----BEGIN RSA PRIVATE KEY----- --MIICXQIBAAKBgQDMmjdJE2bcz+MLE6Ej7XjbTr0R9owNdvmjMlaa+KEhalVOTT/m --Z50mmbLNpJrSK1lc14rTYGj4GL3FvhXhKjyj1GHL9RGUF4GB94eM9mrS7tjmd/Zi --Zk0uFo0IgUrJxksx5bnHioSWSKdHjA0mkFZO5qVujLPyn/w9eJtJboaDdwIDAQAB --AoGASqk/4We2En+93y3jkIO4pXafIe3w/3zZ7caRue1ehx4RUQh5d+95djuB9u7J --HEZ7TpjM7QNyao5EueL6gvbxt0LXFvqAMni7yM9tt/HUYtHHPqYiRtUny9bKYFTm --l8szCCMal/wD9GZU9ByHDNHm7tHUMyMhARNTYSgx+SERFmECQQD/6jJocC4SXf6f --T3LqimWR02lbJ7qCoDgRglsUXh0zjrG+IIiAyE+QOCCx1GMe3Uw6bsIuYwdHT6as --WcdPs04xAkEAzKulvEvLVvN5zfa/DTYRTV7jh6aDleOxjsD5oN/oJXoACnPzVuUL --qQQMNtuAXm6Q1QItrRxpQsSKbY0UQka6JwJBAOSgoNoG5lIIYTKIMvzwGV+XBLeo --HYsXgh+6Wo4uql3mLErUG78ZtWL9kc/tE4R+ZdyKGLaCR/1gXmH5bwN4B/ECQEBb --uUH8k3REG4kojesZlVc+/00ojzgS4UKCa/yqa9VdB6ZBz8MDQydinnShkTwgiGpy --xOoqhO753o2UT0qH8wECQQC99IEJWUnwvExVMkLaZH5NjAFJkb22sjkmuT11tAgU --RQgOMoDOm6driojnOnDWOkx1r1Gy9NgMLooduja4v6cx -+MIICWwIBAAKBgQDC5yDPiVkvZ8tMn+gR8iPl8bHuP2Zfw/X9HjHuj0wqvcBKpZ/I -+RNV3jxUbTXhusqJIpSQzBUACs8GHjVk8GgeqhvAE4ZwgSyIyxFGeQOQxw1f1mL8u -+sf0sVr9J2ZvnF8yVX7UIGV6d32UiOSxI+2mWMXo1Td5gtMFgGV+WVn5VGQIDAQAB -+AoGARXcXLKDpVooJ3W+IyQyiWsw//IhANpWjUOm4JiyQmxMyO+i4ACr4Yjpu7WI5 -+MEseqAGj20NdwxjKO0PXsCIe5LmrGZ+SI8+CSERFOWXWRtCWz7y7SG30i1k6suvM -+mwqWom0tJLwn93uA1lm/WSwKQwUrJRahRQd3EaZqrl7DP5kCQQD/8gbuYAT5pxQe -+ULLGM0RvEsXxDYbEDxNbY5wrBazfklBwpumxZpFl6jEAT++7Kh2Ns3A7kB1oUNlA -+FPYr+dYPAkEAwvHEwRtoyUr8jqoqVVJWI76CDmBjEOzVeMKW97ztqbs2LxZW8dYI -+iOh/myFGpdoUwgu0U8w9MmXcj3ZeZCYKVwJALyQ+AJPw9qa+fuLwOq9gsHCtwrty -+EhSQxSlwrz/pWniRll439vPkXfgntF4E0t1r+hiN2Hqv3/HcQgBaYzkuIwJAG023 -+bACFxaOuCeFFepvEms8E8jSHy4gQQhCnCl24v8wLw76SQN7kZSCDNtwLRBFuVNtE -+z3PMonFn2eQPRmGZkwJAP1c1BHprMQx/ruafdscROILv3JrH40C1bR6KVVBKt1dK -+Qpnpgi7hK5rUQjDF8k3bn9ugTt06jyeHe/QhAml0kg== - -----END RSA PRIVATE KEY----- -diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server-cert.pem mysql-5.1.50/mysql-test/std_data/server-cert.pem ---- mysql-5.1.50.orig/mysql-test/std_data/server-cert.pem 2010-08-03 13:55:08.000000000 -0400 -+++ mysql-5.1.50/mysql-test/std_data/server-cert.pem 2010-08-27 23:42:05.753428361 -0400 -@@ -1,41 +1,69 @@ - Certificate: - Data: -- Version: 1 (0x0) -- Serial Number: 1048578 (0x100002) -- Signature Algorithm: md5WithRSAEncryption -+ Version: 3 (0x2) -+ Serial Number: 4 (0x4) -+ Signature Algorithm: sha1WithRSAEncryption - Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB - Validity -- Not Before: Jan 29 11:56:49 2010 GMT -- Not After : Jan 28 11:56:49 2015 GMT -+ Not Before: Feb 20 02:55:06 2010 GMT -+ Not After : Sep 3 02:55:06 2030 GMT - Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=localhost - Subject Public Key Info: - Public Key Algorithm: rsaEncryption -- Public-Key: (512 bit) -- Modulus: -- 00:cd:e4:87:51:9d:72:11:a0:d1:fa:f3:92:8b:13: -- 1c:eb:f7:e2:9a:2f:72:a8:d6:65:48:d1:69:af:1b: -- c0:4c:13:e5:60:60:51:41:e9:ab:a6:bc:13:bb:0c: -- 5e:32:7c:d9:6c:9e:cd:05:24:84:78:db:80:91:2e: -- d8:88:2b:c2:ed -+ RSA Public Key: (1024 bit) -+ Modulus (1024 bit): -+ 00:e3:7d:4f:c2:23:77:a9:3a:2c:d2:69:59:a0:2f: -+ 4e:d1:51:4c:ae:8d:f5:17:cc:ce:58:9c:83:4f:0b: -+ a3:bb:29:a2:b8:1d:3e:1b:04:f9:a9:3e:e2:61:d0: -+ e6:7b:b9:7c:12:d8:1f:86:c9:53:b5:04:dd:df:26: -+ e9:c0:2b:de:4a:96:2e:f3:23:6f:79:6d:a9:d2:4e: -+ 17:af:2f:de:8b:68:44:ae:de:a3:e2:c4:37:1c:04: -+ ad:73:4b:85:f9:83:ac:fe:b7:c1:54:47:2e:96:d4: -+ 31:96:85:94:69:d6:5a:63:24:04:99:89:19:1d:56: -+ 8a:d1:77:aa:87:fb:38:cd:b7 - Exponent: 65537 (0x10001) -- Signature Algorithm: md5WithRSAEncryption -- 73:ce:9c:6e:39:46:b4:14:be:da:3f:f3:1b:ba:90:bc:23:43: -- d7:82:2a:70:4e:a6:d9:5a:65:5c:b7:df:71:df:75:77:c5:80: -- a4:af:fa:d2:59:e2:fd:c9:9c:f0:98:95:8e:69:a9:8c:7c:d8: -- 6f:48:d2:e3:36:e0:cd:ff:3f:d1:a5:e6:ab:75:09:c4:50:10: -- c4:96:dd:bf:3b:de:32:46:da:ca:4a:f1:d6:52:8a:33:2f:ab: -- f5:2e:70:3f:d4:9c:be:00:c8:03:f9:39:8a:df:5b:70:3c:40: -- ef:03:be:7c:3d:1d:32:32:f3:51:81:e2:83:30:6e:3d:38:9b: -- fb:3c -+ X509v3 extensions: -+ X509v3 Basic Constraints: -+ CA:FALSE -+ X509v3 Subject Key Identifier: -+ CC:8C:71:40:D0:0F:BF:D1:99:79:3F:1B:E9:10:76:19:67:36:0F:A3 -+ X509v3 Authority Key Identifier: -+ keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 -+ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB -+ serial:BE:58:AD:4C:1F:3D:25:95 -+ -+ Signature Algorithm: sha1WithRSAEncryption -+ 6f:ad:5e:59:fa:84:3a:be:e2:72:b1:e8:66:2a:4e:f8:73:19: -+ 11:06:11:92:78:56:3e:d6:e8:68:29:90:8b:59:d2:fe:aa:ae: -+ 25:59:c7:e9:99:bb:4a:06:43:dd:40:bd:cb:f4:ae:79:95:7d: -+ 8e:90:ef:58:d2:a8:fc:bf:07:f3:37:b2:9b:bd:da:e6:8c:56: -+ dd:5e:c6:4a:70:7c:3e:3d:a1:e8:35:06:b8:a7:7b:ac:26:85: -+ 54:5d:09:a2:7b:77:b4:17:7f:72:31:cb:ff:cc:67:6d:e6:3e: -+ c6:dc:96:eb:4a:0a:ae:e9:48:ae:8a:e0:d6:73:57:6e:32:4c: -+ 00:dc:28:da:55:b3:9f:9f:d8:98:cc:d9:f1:b6:b3:14:67:2e: -+ a1:47:1e:51:11:cf:70:9f:31:8f:ba:59:29:f2:d0:88:0b:e2: -+ 51:6b:f8:31:ed:6d:ac:00:5e:d3:78:4c:95:97:02:cc:74:2b: -+ 3b:c6:28:e6:2a:c3:30:99:35:b4:4d:31:46:d4:90:f2:47:ed: -+ 64:85:1a:75:2a:72:0a:2f:c6:3a:2f:d2:ac:6b:31:cc:e5:a8: -+ 07:c2:d6:22:f3:c6:0f:bf:67:d9:d6:b2:79:cd:48:b5:c3:e0: -+ e3:18:7f:b5:74:c9:43:19:fb:c4:93:29:ca:cc:90:2b:1b:6f: -+ 45:f6:25:f9 - -----BEGIN CERTIFICATE----- --MIIBtzCCASACAxAAAjANBgkqhkiG9w0BAQQFADBEMQswCQYDVQQGEwJTRTEQMA4G --A1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwg --QUIwHhcNMTAwMTI5MTE1NjQ5WhcNMTUwMTI4MTE1NjQ5WjBGMQswCQYDVQQGEwJT --RTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxEjAQBgNVBAMT --CWxvY2FsaG9zdDBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQDN5IdRnXIRoNH685KL --Exzr9+KaL3Ko1mVI0WmvG8BME+VgYFFB6aumvBO7DF4yfNlsns0FJIR424CRLtiI --K8LtAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAc86cbjlGtBS+2j/zG7qQvCND14Iq --cE6m2VplXLffcd91d8WApK/60lni/cmc8JiVjmmpjHzYb0jS4zbgzf8/0aXmq3UJ --xFAQxJbdvzveMkbaykrx1lKKMy+r9S5wP9ScvgDIA/k5it9bcDxA7wO+fD0dMjLz --UYHigzBuPTib+zw= -+MIIDJTCCAg2gAwIBAgIBBDANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ -+MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT -+UUwgQUIwHhcNMTAwMjIwMDI1NTA2WhcNMzAwOTAzMDI1NTA2WjBGMQswCQYDVQQG -+EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxEjAQBgNV -+BAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA431PwiN3 -+qTos0mlZoC9O0VFMro31F8zOWJyDTwujuymiuB0+GwT5qT7iYdDme7l8EtgfhslT -+tQTd3ybpwCveSpYu8yNveW2p0k4Xry/ei2hErt6j4sQ3HAStc0uF+YOs/rfBVEcu -+ltQxloWUadZaYyQEmYkZHVaK0Xeqh/s4zbcCAwEAAaOBozCBoDAJBgNVHRMEAjAA -+MB0GA1UdDgQWBBTMjHFA0A+/0Zl5PxvpEHYZZzYPozB0BgNVHSMEbTBrgBSx+353 -+tUCNaBF+2RHlw8baTaxRsKFIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgTB1Vw -+cHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkAvlit -+TB89JZUwDQYJKoZIhvcNAQEFBQADggEBAG+tXln6hDq+4nKx6GYqTvhzGREGEZJ4 -+Vj7W6GgpkItZ0v6qriVZx+mZu0oGQ91Avcv0rnmVfY6Q71jSqPy/B/M3spu92uaM -+Vt1exkpwfD49oeg1Brine6wmhVRdCaJ7d7QXf3Ixy//MZ23mPsbclutKCq7pSK6K -+4NZzV24yTADcKNpVs5+f2JjM2fG2sxRnLqFHHlERz3CfMY+6WSny0IgL4lFr+DHt -+bawAXtN4TJWXAsx0KzvGKOYqwzCZNbRNMUbUkPJH7WSFGnUqcgovxjov0qxrMczl -+qAfC1iLzxg+/Z9nWsnnNSLXD4OMYf7V0yUMZ+8STKcrMkCsbb0X2Jfk= - -----END CERTIFICATE----- -diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server-key.pem mysql-5.1.50/mysql-test/std_data/server-key.pem ---- mysql-5.1.50.orig/mysql-test/std_data/server-key.pem 2010-08-03 13:55:08.000000000 -0400 -+++ mysql-5.1.50/mysql-test/std_data/server-key.pem 2010-08-27 23:42:05.754428433 -0400 -@@ -1,9 +1,15 @@ - -----BEGIN RSA PRIVATE KEY----- --MIIBOwIBAAJBAM3kh1GdchGg0frzkosTHOv34povcqjWZUjRaa8bwEwT5WBgUUHp --q6a8E7sMXjJ82WyezQUkhHjbgJEu2Igrwu0CAwEAAQJBAJuwhFbF3NzRpBbEmnqJ --4GPa1UJMQMLFJF+04tqj/HxJcAIVhOJhGmmtYNw1yjz/ZsPnfJCMz4eFOtdjvGtf --peECIQDmFFg2WLvYo+2m9w9V7z4ZIkg7ixYkI/ObUUctfZkPOQIhAOUWnrvjFrAX --bIvYT/YR50+3ZDLEc51XxNgJnWqWYl1VAiEAnTOFWgyivFC1DgF8PvDp8u5TgCt2 --A1d1GMgd490O+TECIC/WMl0/hTxOF9930vKqOGf//o9PUGkZq8QE9fcM4gtlAiAE --iOcFpnLjtWj57jrhuw214ucnB5rklkQQe+AtcARNkg== -+MIICXgIBAAKBgQDjfU/CI3epOizSaVmgL07RUUyujfUXzM5YnINPC6O7KaK4HT4b -+BPmpPuJh0OZ7uXwS2B+GyVO1BN3fJunAK95Kli7zI295banSThevL96LaESu3qPi -+xDccBK1zS4X5g6z+t8FURy6W1DGWhZRp1lpjJASZiRkdVorRd6qH+zjNtwIDAQAB -+AoGAUb0o91y/FjMs/72S0pes/lDz+JRRSGfyjKxQEgrgndNsADOhqRu0iTdrKDJj -+XnlbN3ooecnFJfnFrvTQcJhSmlS30j6VrBw6LXpCBK3dvjYgJ9LOne7WK+dF1+vS -+FMQtsP04C56Sxy6HJDpMyWJ6oS3Bu169ygG2AxKo+Fk+E6ECQQD38w/MzmrARz2Z -+AGeEPDUnVZPYgtmXkmks95S0/2jSoLhmgpvJimzxwpYwVG/BG8dSDVuTDu5kp05D -+3bZIp3EzAkEA6uAwJsCZPtHXlWU3wYZJsA697rUNjPaCQOIaZ/lnh5RUHTmUiw1h -+Oj/VORqKB0kXqcDfawwLjZEvh1Xli+H5bQJBANTmhw2TvEPnp/OFTl1UGUvyBmXl -+TRMB639qAu07VfVtfYi/4ya1zn/0VmOfTOoigQ5qW9Q1AOu6YNCTQl62L9MCQQDc -+YfEsW2kvNYxYJHoVfuBjbuGuOnn1e1Oqd70ZND59S6NFLMMBWlORaVWzWACNZ3rp -+kAzSj6HDeqgjD2jsQONdAkEAt7S1YHUn8F760bRn4AnAto2TVOYdArtTP/wYjd4o -+9rJREO/d8AYkYJ96APLvF0SZ4n3t1pLwQRsKKN8ZGTmzLA== - -----END RSA PRIVATE KEY----- -diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server8k-cert.pem mysql-5.1.50/mysql-test/std_data/server8k-cert.pem ---- mysql-5.1.50.orig/mysql-test/std_data/server8k-cert.pem 2010-08-03 13:55:08.000000000 -0400 -+++ mysql-5.1.50/mysql-test/std_data/server8k-cert.pem 2010-08-27 23:43:00.005366270 -0400 -@@ -1,51 +1,69 @@ -+Certificate: -+ Data: -+ Version: 3 (0x2) -+ Serial Number: 5 (0x5) -+ Signature Algorithm: sha1WithRSAEncryption -+ Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB -+ Validity -+ Not Before: Feb 20 03:00:54 2010 GMT -+ Not After : Sep 3 03:00:54 2030 GMT -+ Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=server -+ Subject Public Key Info: -+ Public Key Algorithm: rsaEncryption -+ RSA Public Key: (1024 bit) -+ Modulus (1024 bit): -+ 00:c5:da:44:95:06:77:16:21:af:a0:c4:3c:e9:f8: -+ 1d:2d:95:f9:63:90:8c:3f:86:ba:77:76:4a:52:4b: -+ 6b:af:29:f5:1c:aa:d4:3f:3e:42:9f:6d:46:ba:86: -+ 90:b1:2d:cc:db:c6:33:15:a3:f4:af:53:33:4f:a1: -+ 56:d1:aa:3b:26:10:f7:64:b5:f9:bf:1b:b1:47:8e: -+ cc:a6:d6:0d:aa:4a:77:e3:a3:63:9d:2a:dc:65:f4: -+ 7f:91:17:38:2d:d6:cd:4e:8d:53:52:97:6e:87:fc: -+ 64:60:a6:a1:00:ac:96:6c:e4:42:94:75:17:46:6f: -+ 91:b5:dd:06:47:ed:05:e3:db -+ Exponent: 65537 (0x10001) -+ X509v3 extensions: -+ X509v3 Basic Constraints: -+ CA:FALSE -+ X509v3 Subject Key Identifier: -+ 6E:60:3F:29:13:60:99:ED:0C:F7:15:B5:DB:7B:1C:FB:6F:60:19:ED -+ X509v3 Authority Key Identifier: -+ keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 -+ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB -+ serial:BE:58:AD:4C:1F:3D:25:95 -+ -+ Signature Algorithm: sha1WithRSAEncryption -+ 63:2e:0f:07:14:06:cf:74:90:3d:37:42:f2:48:70:60:21:bc: -+ 34:52:31:f1:87:70:d2:b2:fb:ff:13:38:dc:f0:5e:43:d7:ee: -+ a7:c7:1f:ac:aa:d2:8c:4f:fa:3c:4c:73:f6:b6:c2:0c:a0:ea: -+ a2:c9:e2:73:61:c3:2e:78:40:0f:2a:d3:63:50:9b:b8:f9:89: -+ 40:ed:98:08:97:c3:07:24:17:34:b5:78:89:0a:bb:83:4c:e2: -+ 5c:2e:13:d6:21:30:ad:30:48:b5:70:12:ff:4a:6f:42:f0:f8: -+ 9f:b1:4b:bd:89:2b:f0:9d:e2:49:2b:35:69:18:1f:76:40:b4: -+ 76:bd:cb:dd:27:2f:c0:c1:e2:33:3e:6e:df:68:54:19:92:8a: -+ bb:13:9c:cf:d6:17:56:da:bf:0d:64:70:3a:45:b7:aa:5f:e3: -+ f5:96:ae:34:f2:17:37:27:d0:4b:e8:30:4a:c0:02:42:e2:d2: -+ 30:eb:eb:c7:d7:ec:d8:df:5c:43:58:e2:6f:b7:58:54:0d:c4: -+ 01:71:2d:59:8f:44:c7:a1:6c:0b:41:28:fa:b7:63:a7:68:d3: -+ 4f:c3:0f:17:9e:b2:32:50:e6:0b:87:3d:e2:39:47:c0:d8:0a: -+ 3b:f6:af:50:68:0f:9d:ef:6e:34:0d:3a:07:94:f8:a4:d7:24: -+ 86:32:d3:b4 - -----BEGIN CERTIFICATE----- --MIIJFDCCBPwCAQEwDQYJKoZIhvcNAQEEBQAwTjELMAkGA1UEBhMCU0UxEDAOBgNV --BAgTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCMQ0wCwYDVQQLEwRUZXN0MQsw --CQYDVQQDEwJDQTAeFw0xMDA3MjgxNDA3MjhaFw0xODEwMTQxNDA3MjhaMFIxCzAJ --BgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQjEN --MAsGA1UECxMEVGVzdDEPMA0GA1UEAxMGc2VydmVyMIIEIjANBgkqhkiG9w0BAQEF --AAOCBA8AMIIECgKCBAEA6h3v1OWb9I9U/Z8diBu/xYGS8NCTD3ZESboHxVI2qSEC --PgxNNcG8Lh0ktQdgYcOe64MnDTZX0Bibm47hoDldrAlTSffFxQhylqBBoXxDF+Lr --hXIqCz7K0PsK+bYusL9ezJ7PETDnCT7oy95q4GXbKsutbNsm9if4ZE41gs2KnoU2 --DA7kvMmkKojrMIL4+BqTXA20LLo0iSbgvUTvpSJw4u96BeyzMNnxK2wP5vvTtUo5 --hACbfU87YjaSKs+q2VXCzfyYGZk1L1xk5GUI0bP+jutf1dDzNttW2/q2Nf5rxx09 --Gh/GwmOnEk1O7cOZ8VQCsOHirIM39NuSARsY6Y3G5XM4k2W4nxyR/RtdG9bvs/33 --aGsZ5V5yp7WSs8s9HHwaCPSsUiLKckQ7uA0TTRgbeweMrrLKovG57jsbBBB8pQD4 --PRd31qgxCdstWXHiWwRyI8vOLWENPXPFqA/rJwwqNdWTogy38aqVXxGYR8PIwjA2 --OaIwFjwGZcsPNLqw6bgAN8O2UBqZHWiMF8mi7brvioDvAIufZuqa2SqT/At45H83 --psQ6R4FsxZt6SAK7EsdPo8OYTrY1i4iPZd/eKhnEu2srEZgsKRwY5H1mvDH5fWCc --HSFu07sWmlmK6Or65Fsa0IaKLJiQDVVETd6xrI0wkM4AOcbKDrS7aywJ426dopbs --+LFdt4N0cdII4gBgJAfLuuA2yrDXRq4P6cgpVMy0R+0dEYE8zzm8zf1a+Ud273LS --9+LB+LJKwqbW8nOPBoiekimIKfJYoOA4+C/mAjsYl1sVjjEhXJAs9S9L2UvnUk1P --sZi4UKHI6eAIEl7VM1sQ4GbdZ0px2dF2Ax7pGkhD+DLpYyYkCprharKZdmuUNLUd --NhXxi/HSEiE+Uy+o8RIzmH7LuROl/ZgnfHjJEiBLt2qPvwrwYd4c3XuXWs4YsWfV --JTt8Mx2ihgVcdGy9//shCSmgJwR1oWrhgC10AEL2fKeRnYUal1i+IxFPp7nb8uwx --UADgR0cY4A3qR/JP489QFIcxBTVs65De+Bq3ecnujk6yeGpD9iptonq4Y8uNZMc1 --kOE7GiFGwR4EufT5SEMh+tUkjth2r+842vmZZuxrVQaohDiATmIJA07W51zKH+nQ --uw4qVKnAhPaDLCLc7YMIH9JcmkeQX0nf8/S2O2WYDH8glVDi5hfW08tCmV647vRY --nTIywUTO0lFpz7M+VyMNaJ6yXU6biBV5hLAI8C5ldr/SWI789W2+ebBaJ9gfK+PT --trohFSK37GcoSH4V6qSLJHCBASEsiddqHIHMLJZRYD+B6J3tLhjVUM43u+MEGbFT --d33ZDke/WzLTExWkaOv36e67gDBmgDuj9yroq3wGfwIDAQABMA0GCSqGSIb3DQEB --BAUAA4IEAQCc9RBhRbuWlmRZPZkqIdi5/+enyjoMmOa6ryJPxFSP8D2jrlHgQsk1 --+GsJmPFT3rwWfoGAQu/aeSX4sp8OhKVJtqNA6MJrGYnZIMolgYa1wZPbkjJsdEfi --UsZdIB0n2+KA0xwEdGPdkGCfNPBtOg557DkcyEvsIZ9ELp4Pp2XzWRhyFGasJZc4 --YwgD/3K2rpOPZoMkBKeKqV19j41OfLKGBVyuaqzitbu9+KT4RU1ibr2a+UuFCwdT --oqyN7bfWXjcjXOMkxCsOmLfKmqQxs7TEOVrYPTdYjamDxLy/e5g5FgoCxGY8iil0 --+YFLZyH6eEx/Os9DlG/M3O1MeRD9U97CdsphbDVZIDyWw5xeX8qQHJe0KSprAgiG --TLhTZHeyrKujQCQS1oFFmNy4gSqXt0j1/6/9T80j6HeyjiiYEaEQK9YLTAjRoA7W --VN8wtHI5F3RlNOVQEJks/bjdlpLL3VhaWtfewGh/mXRGcow84cgcsejMexmhreHm --JfTUl9+X1IFFxGq2/606A9ROQ7kN/s4rXu7/TiMODXI/kZijoWd2SCc7Z0YWoNo7 --IRKkmZtrsflJbObEuK2Jk59uqzSxyQOBId8qtbPo8qJJyHGV5GCp34g4x67BxJBo --h1iyVMamBAS5Ip1ejghuROrB8Hit8NhAZApXju62btJeXLX+mQayXb/wC/IXNJJD --83tXiLfZgs6GzLAq7+KW/64sZSvj87CPiNtxkvjchAvyr+fhbBXCrf4rlOjJE6SH --Je2/Jon7uqijncARGLBeYUT0Aa6k1slpXuSKxDNt7EIkP21kDZ5/OJ0Y1u587KVB --dEhuDgNf2/8ij7gAQBwBoZMe1DrwddrxgLLBlyHpAZetNYFZNT+Cs/OlpqI0Jm59 --kK9pX0BY4AGOd23XM3K/uLawdmf67kkftim7aVaqXFHPiWsJVtlzmidKvNSmbmZe --dOmMXp6PBoqcdusFVUS7vjd3KAes5wUX/CaTyOOPRu0LMSnpwEnaL76IC9x4Jd6d --7QqY/OFTjpPH8nP57LwouiT6MgSUCWGaOkPuBJ9w9sENSbbINpgJJ42iAe2kE+R7 --qEIvf/2ETCTseeQUqm2nWiSPLkNagEh6kojmEoKrGyrv3YjrSXSOY1a70tDVy43+ --ueQDQzNZm3Q7inpke2ZKvWyY0LQmLzP2te+tnNBcdLyKJx7emPRTuMUlEdK7cLbt --V3Sy9IKtyAXqqd66fPFj4NhJygyncj8M6CSqhG5L0GhDbkA8UJ8yK/gfKm3h5xe2 --utULK5VMtAhQt6cVahO59A9t/OI17y45bmlIgdlEQISzVFe9ZbIUJW44zBfPx74k --/w8pMRr8gEuRqpL2WdJiKGG6lhMHLVFo -+MIIDIjCCAgqgAwIBAgIBBTANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ -+MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT -+UUwgQUIwHhcNMTAwMjIwMDMwMDU0WhcNMzAwOTAzMDMwMDU0WjBDMQswCQYDVQQG -+EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxDzANBgNV -+BAMTBnNlcnZlcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxdpElQZ3FiGv -+oMQ86fgdLZX5Y5CMP4a6d3ZKUktrryn1HKrUPz5Cn21GuoaQsS3M28YzFaP0r1Mz -+T6FW0ao7JhD3ZLX5vxuxR47MptYNqkp346NjnSrcZfR/kRc4LdbNTo1TUpduh/xk -+YKahAKyWbORClHUXRm+Rtd0GR+0F49sCAwEAAaOBozCBoDAJBgNVHRMEAjAAMB0G -+A1UdDgQWBBRuYD8pE2CZ7Qz3FbXbexz7b2AZ7TB0BgNVHSMEbTBrgBSx+353tUCN -+aBF+2RHlw8baTaxRsKFIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgTB1VwcHNh -+bGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkAvlitTB89 -+JZUwDQYJKoZIhvcNAQEFBQADggEBAGMuDwcUBs90kD03QvJIcGAhvDRSMfGHcNKy -++/8TONzwXkPX7qfHH6yq0oxP+jxMc/a2wgyg6qLJ4nNhwy54QA8q02NQm7j5iUDt -+mAiXwwckFzS1eIkKu4NM4lwuE9YhMK0wSLVwEv9Kb0Lw+J+xS72JK/Cd4kkrNWkY -+H3ZAtHa9y90nL8DB4jM+bt9oVBmSirsTnM/WF1bavw1kcDpFt6pf4/WWrjTyFzcn -+0EvoMErAAkLi0jDr68fX7NjfXENY4m+3WFQNxAFxLVmPRMehbAtBKPq3Y6do00/D -+DxeesjJQ5guHPeI5R8DYCjv2r1BoD53vbjQNOgeU+KTXJIYy07Q= - -----END CERTIFICATE----- -diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server8k-key.pem mysql-5.1.50/mysql-test/std_data/server8k-key.pem ---- mysql-5.1.50.orig/mysql-test/std_data/server8k-key.pem 2010-08-03 13:55:08.000000000 -0400 -+++ mysql-5.1.50/mysql-test/std_data/server8k-key.pem 2010-08-27 23:43:10.165365998 -0400 -@@ -1,99 +1,15 @@ - -----BEGIN RSA PRIVATE KEY----- --MIISKQIBAAKCBAEA6h3v1OWb9I9U/Z8diBu/xYGS8NCTD3ZESboHxVI2qSECPgxN --NcG8Lh0ktQdgYcOe64MnDTZX0Bibm47hoDldrAlTSffFxQhylqBBoXxDF+LrhXIq --Cz7K0PsK+bYusL9ezJ7PETDnCT7oy95q4GXbKsutbNsm9if4ZE41gs2KnoU2DA7k --vMmkKojrMIL4+BqTXA20LLo0iSbgvUTvpSJw4u96BeyzMNnxK2wP5vvTtUo5hACb --fU87YjaSKs+q2VXCzfyYGZk1L1xk5GUI0bP+jutf1dDzNttW2/q2Nf5rxx09Gh/G --wmOnEk1O7cOZ8VQCsOHirIM39NuSARsY6Y3G5XM4k2W4nxyR/RtdG9bvs/33aGsZ --5V5yp7WSs8s9HHwaCPSsUiLKckQ7uA0TTRgbeweMrrLKovG57jsbBBB8pQD4PRd3 --1qgxCdstWXHiWwRyI8vOLWENPXPFqA/rJwwqNdWTogy38aqVXxGYR8PIwjA2OaIw --FjwGZcsPNLqw6bgAN8O2UBqZHWiMF8mi7brvioDvAIufZuqa2SqT/At45H83psQ6 --R4FsxZt6SAK7EsdPo8OYTrY1i4iPZd/eKhnEu2srEZgsKRwY5H1mvDH5fWCcHSFu --07sWmlmK6Or65Fsa0IaKLJiQDVVETd6xrI0wkM4AOcbKDrS7aywJ426dopbs+LFd --t4N0cdII4gBgJAfLuuA2yrDXRq4P6cgpVMy0R+0dEYE8zzm8zf1a+Ud273LS9+LB --+LJKwqbW8nOPBoiekimIKfJYoOA4+C/mAjsYl1sVjjEhXJAs9S9L2UvnUk1PsZi4 --UKHI6eAIEl7VM1sQ4GbdZ0px2dF2Ax7pGkhD+DLpYyYkCprharKZdmuUNLUdNhXx --i/HSEiE+Uy+o8RIzmH7LuROl/ZgnfHjJEiBLt2qPvwrwYd4c3XuXWs4YsWfVJTt8 --Mx2ihgVcdGy9//shCSmgJwR1oWrhgC10AEL2fKeRnYUal1i+IxFPp7nb8uwxUADg --R0cY4A3qR/JP489QFIcxBTVs65De+Bq3ecnujk6yeGpD9iptonq4Y8uNZMc1kOE7 --GiFGwR4EufT5SEMh+tUkjth2r+842vmZZuxrVQaohDiATmIJA07W51zKH+nQuw4q --VKnAhPaDLCLc7YMIH9JcmkeQX0nf8/S2O2WYDH8glVDi5hfW08tCmV647vRYnTIy --wUTO0lFpz7M+VyMNaJ6yXU6biBV5hLAI8C5ldr/SWI789W2+ebBaJ9gfK+PTtroh --FSK37GcoSH4V6qSLJHCBASEsiddqHIHMLJZRYD+B6J3tLhjVUM43u+MEGbFTd33Z --Dke/WzLTExWkaOv36e67gDBmgDuj9yroq3wGfwIDAQABAoIEAQCSt6YoZqigz/50 --XvYT6Uf6T6S1lBDFXNmY1qOuDkLBJTWRiwYMDViQEaWCaZgGTKDYeT3M8uR/Phyu --lRFi5vCEMufmcAeZ3hxptw7KU+R8ILJ207/zgit6YglTys9h5txTIack39+6FJmx --wbZ64HpETJZnpMO6+fuZaMXyLjuT8mmXjvHcOgXOvjWeFkZOveDhjJkAesUXuqyX --EI+ajoXuQiPXeKonkD2qd7NTjzfy4gw/ZF4NXs0ZVJeviqtIPo2xp33udOw2vRFh --bMvlF4cNLAbIKYVyOG0ruOfd2I7Unsc/CvD1u5vlRVuUd8OO0JZLIZR7hlRX+A58 --8O1g2H/wJZAsF1BnLnFzDGYCX2WjCCK3Zn85FkKGRa0lTdYDduad/C/N3Y2/pHFE --e7U/2D7IkEei59tD2HcsDBB3MJnckkn/hyiL9qWcxqWZ61vurE+XjU6tc6fnfhk9 --pJQ6yU3epPU7Vfsk0UGA7bbgKpsyzyH8Zl76YC2mN2ZVJjZekfhY+ibT9odEPdOl --yLB5iXA6/WhKkDWaOqZGOH+7MblWgT9wHINlcn+nKzOr00JHl26ac6aMlXXi9vbe --4jgJbFK1HYlFIndyX/BdqRTsFemDoDrVqrEYsaONoVYDd9c5qrqYOeh34DhOksQW --hNwWBfmMlfzgOGtCYhMeK+AajqTtUbMYQA6qp47KJd/Oa5Dvi3ZCpvZh3Ll5iIau --rqCtmojsWCqmpWSu7P+Wu4+O3XkUMPdQUuQ5rJFESEBB3yEJcxqk/RItTcKNElNC --PASrPrMD9cli7S/pJ+frbhu1Gna1ArXzXQE9pMozPaBpjCig7+15R0lL3pmOKO6e --WK3dgSwrnW6TQdLPlSD4lbRoiIdTHVBczztDeUqVvFiV3/cuaEi1nvaVdAYLqjuL --ogK4HwE/FQ54S0ijAsP52n25usoH6OTU3bSd/7NTp0vZCy3yf10x7HUdsh2DvhRO --3+TSK5t0yz0Nt7hNwcI6pLmWUIYcZgpFc/WsiiGscTfhy8rh3kRHI8ylGq53KNF+ --yCVmjqnBRWs91ArxmeF1ctX2t3w5p7gf65hJWqoX/2DiSi5FBsr6HLxa5sUi4wRZ --136aCNt5Wu7w+AzPDbQW6qKUGSyfHJAw4JZasZcaZLise5IWb1ks0DtFbWWdT3ux --8r2AM7IO1WopnekrYCnx/aBvBAv4NjWozVA517ztVttPERt3AGb4nm387nYt5R2U --NO2GBWcDyT8JQLKmffE1AkWolCR1GsvcNLQfLCbnNppgsnsLE/viTG4mq1wjnd8O --2Q8nH1SVTuyGFREMp/zsiAEaGfdd0hI2r1J7OdNPBBCtmhITsy9ZYHqm5vrGvy3s --vi2GuB2RAoICAQD/oWUsg4eTJxHifTJLz/tVSTXnw7DhfbFVa1K1rUV63/MRQAFW --pabN4T6Yfp3CpdRkljCA8KPJZj7euwhm4OEg1ulpOouA+cfWlE9RFE8wyOK5SYwM --k+nk31P9MUC866pZg/ghzBGDub91OW1+ZGEtqnLI/n/LhiAIWt0hJvgZclTc1cAL --xffHVlFwoSyNl/nc3ueZCC95nOLst2XcuxZLLbOFtZCmDYsp49q/Jn6EFjn4Ge2o --qp38z6eZgDMP1F4lb9nDqXPHfUSt2jxKlmpfXS+IPKdba67+EjhbtmUYzaR4EoPI --zh+o6SrVWT6Yve7KGiYv06fuRz1m/lLQO/Arbd9ntSjgn+ZEXGOkbhnHUX3DJ4ny --/6XEGB9NLQjern4uNTn0AaV+uvhncapFMaIBnVfq0Cw8eog0136PBYRaVX7T44j5 --HwIyGXWtYGA/SzDEQoksD0Y/T61BEGnLZaKeavNd82WwFvcYHZtE0J4aQGjCEE7N --+nijzCy+j5ETmme9KJvQHpEyXP3N4RBko1eWvyTwFZDdIXtoa6TTEI51lm+FXJ/b --Y+BzMr6KRo29FB+7//1ptUoMvn5hzL0PwOv2ZSTQuoG5hLDEbxWXLNhd1VHcfznF --3EZHwfD2F8aGQ3kz+fkMTNfK955KorDrmLgvmV9eZZ5yQxGZrs5H5YfKpwKCAgEA --6nSUbzfSdVFUH89NM5FmEJgkD06vqCgHl2mpyF+VmDGcay4K06eA4QbRO5kns13+ --n6PcBl/YVW/rNE8iFi+WxfqUpAjdR1HlShvTuTRVqtFTfuN8XhbYU6VMjKyuE0kd --LKe3KRdwubjVNhXRZLBknU+3Y/4hnIR7mcE3/M5Zv5hjb7XnwWg/SzxV9WojCKiu --vQ7cXhH5/o7EuKcl1d6vueGhWsRylCG9RimwgViR2H7zD9kpkOc0nNym9cSpb0Gv --Lui4cf/fVwIt2HfNEGBjbM/83e2MH6b8Xp1fFAy0aXCdRtOo4LVOzJVAxn5dERMX --4JJ4d5cSFbssDN1bITOKzuytfBqRIQGNkOfizgQNWUiaFI0MhEN/icymjm1ybOIh --Gc9tzqKI4wP2X9g+u3+Oof1QaBcZ4UbZEU9ITN87Pa6XVJmpNx7A81BafWoEPFeE --ahoO4XDwlHZazDuSlOseEShxXcVwaIiqySy7OBEPBVuYdEd2Qw/z3JTx9Kw8MKnf --hu+ar5tz5dPnJIsvLeYCcJDe/K6loiZuHTtPbWEy9p6It7qubQNPBvTSBN5eVDKc --Q2bTQNCx8SAAA9C5gJiwWoQKsXJzbRFRY77P9JjuGpua3YJ2nYBHEJmF+fp1R33c --uHIyMphPMkKC4GC3/43kkMr6tck8kZbXGSYsLsBr2GkCggIBAJvvrjILQianzKcm --zAmnI6AQ+ssYesvyyrxaraeZvSqJdlLtgmOCxVANuQt5IW9djUSWwZvGL4Np1aw0 --15k6UNqhftzsE7FnrVneOsww4WXXBUcV8FKz4Bf3i9qFswILmGzmrfSf8YczRfGS --SJKzVPxwX3jwlrBmbx/pnb7dcLbFIbNcyLvl1ZJJu4BDMVRmgssTRp/5eExtQZg4 --//A4SA8wH7TO3yAMXvn8vrGgH8kfbdlEp88d1SYk3g4rP/rGB3A63NIYikIEzmJn --ICQ3wUfPJnGq3kRMWgEuyCZaCy2oNE3yrWVPJ8z3/2MJ/79ZDVNHxEeki2o1FuW+ --+nGAPq+fZIp03iy4HdVRro7dgugtc9QaSHJtNId8V4vSjviX5Oz3FxUb9AJst58S --nVV8Q2FMxBa/SlzSOkhRtCg2q1gXkzhaMnIVUleRZFGQ2uWBToxKMjcoUifIyN1J --z999bkfI4hBLq5pRSAXz+YVu5SMKa10GaawIwJLat+i+1zboF6QyI2o/Wz8nrsNq --KX/ajFGu5C94WFgsVoWKNI90KBLe48Ssje9c68waBlV/WHMg1YLvU3yqVDOV+K5c --IHB9tPMnG+AgBYZPxSzuvnLrrkj/GeKx0WI7TrvzOLRGKJo6irMEJ8IzFegASRUq --TVZKYQDYRG7m+lKlSxU+pyMAh2c9AoICAE4kavCip1eIssQjYLTGSkFPo/0iGbOv --G9CgXAE3snFWX67tWphupKrbjdMSWcQTmPD2OTg6q6zWL4twsIi6dcMooHAHsFC7 --//LyUV/SDJdxSyXohiQJ8zH1zwy35RDydnHSuF5OvLh53T44iWDI1dAEqLgAFI3J --LjTxzEpLMGiGTuYFt+ejai0WQAQayvBw4ESM9m+4CB2K0hBFTXv5y5HlnNTW0uWC --VUZUUMrbjUieDz8B/zOXi9aYSGFzmZFGUDAPSqJcSMEELemPDF7f8WNr8vi42tIV --4tlaFD1nep4F9bWMiCXU6B2RxVQi+7vcJEIqL1KUnGd3ydfD00K+ng4Xnj7Vz/cz --QE7CqrpFaXmPlCMzW6+dm51/AyhHXDLkL2od05hiXcNkJ7KMLWRqwExHVIxM3shR --x7lYNl3ArUsCrNd6m4aOjnrKFk7kjeLavHxskPccoGKrC9o0JMfTkWLgmuBJFQ0S --N/HzIbcvIFWF0Ms4ojb50yp6ziXhXfJOO/0KUQEki71XIhvw89mVZszDzD5lqzjf --HCZMBU4MbmL6NdEevFIDH0zPPkx3HPNtJt3kIJbit9wI8VhUMe+ldGnGxpWb8tKw --SfM3vrHkYr+lizk26XfXMFhdAuVtT7dzQKSNEyP/1a2Hs307Xzgiv8JulJ8QIkrX --/nsYWPOAGLG5AoICABmdW9Ppkvuhb1AEcjTWb+XCyopoBc6vit/uQWD9uO+CeX7a --cfzq+iH01CAjyVMc4E1JDc5Lpi106U+GRGcAAaPJB2Sp5NznoxaOVrb71blu4Q4x --bNjtKM/P/DXpO+yJYoOPdKtaSDhtnfNDM7H/jztJ3XIrOltKA7CcRDohbBWIx8Q0 --0uEpvfFpZZBco3yVmjP0RLgIVYn/ZDj9wGhSvFWIJ5vv6GXmtDrcHGMLxcfv7t76 --UVcMW/Yy4mYJRCzGOrWagyVijJ6MTVNciqadWcH1KcbB3EGoMFYMn61or2qJABPM --xz89IlhnROU1Re3X/QRx5t86cw6oa+FqrWMOhSs31I0dNWSuS/xDympG27YIYSDd --mv5seT78GjFmMJC5pPOLoXsbTPB0HpsX2/UL/w/eRAfilTOef/Cf9VE5MP/C2YR7 --NBxUU7/+21D6WvdtBTcZbrXWGroAo8zPP+PwX0+c6WoAvqDJvCPndp8xZhSgEJN/ --0kScptezi8n3ZHI95EA9U5mAHxHz0IhDDVzWw/z1f1SBPxKVX3+By3zaa3lrD2ch --cHq7nBkX72veEevnHUY8Z2rHE2G2jdmRfOtwm4sjL0VBV9fRRoxzJWRduKyeOtDL --EhhBhUoTrT48UnfW9hxnbNLB9P/hh+UJu9HrS2uAwHoGE1+8gcyundupGDBn -+MIICXgIBAAKBgQDF2kSVBncWIa+gxDzp+B0tlfljkIw/hrp3dkpSS2uvKfUcqtQ/ -+PkKfbUa6hpCxLczbxjMVo/SvUzNPoVbRqjsmEPdktfm/G7FHjsym1g2qSnfjo2Od -+Ktxl9H+RFzgt1s1OjVNSl26H/GRgpqEArJZs5EKUdRdGb5G13QZH7QXj2wIDAQAB -+AoGBAJLCjh7Q9eLnx+QDzH9s+Q/IcH4nSbERmh1lFEopAc6j29qQ6PGkmDy0DUPs -+70VOCOh5A4mo3aZzm9sUfVb24/nRtmyTP/AtMuIVGCsUqzI28dJRGvRlY0aSQG/C -+ILqMP69kiMNGBvuyEIiJhisOmMvDFEp7HrrXHJM9qcc217DpAkEA4nzJ9yyy2e4O -+r6/D711hdfcU/F+ktXw+pL77kSSdTABUap92Uv2RL36UA4q5h8RNvq/GrzMNm6Ye -+u2IMvBCiTQJBAN+iRbiMJCSitTg5YVMluVbT87co7jbTqk7LN1ujyIFEklm4xlHG -+DLJNgEoDR7QJtAkL++FyogC4zsQsey5voscCQQCp54trTbDuI9QIoAaQrrDKWgz4 -+NpfNPeOQm2UFQT5vIWAyjGWrZGViB8bp0UvVOcJI5nxaOiZfOYOcdrWu75uRAkAn -+67zMc9/j1lPJRJz2Dc7nDBD+ikTz7pcBV897AWLCiK4jbBOi91q+3YzgKXO8VNsZ -+nlUJasA2psbqSBJ5OJ5zAkEA2UxoMju54hASjT54Z92IzraVw4Vo8CYwOcw5fr7z -++m5xg1mmWdLBclmZ+WjARzDuTHIW6u/WCxNGg42AykWzfw== - -----END RSA PRIVATE KEY----- From 62e3367ef7901a0b8f278a754db25ae5007d6f86 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 6 Mar 2014 18:10:06 +0100 Subject: [PATCH 099/789] Remove not needed patches --- mariadb-expired-certs.patch | 555 ------------------- mariadb-versioning-compat.patch | 944 -------------------------------- mariadb.spec | 4 - 3 files changed, 1503 deletions(-) delete mode 100644 mariadb-expired-certs.patch delete mode 100644 mariadb-versioning-compat.patch diff --git a/mariadb-expired-certs.patch b/mariadb-expired-certs.patch deleted file mode 100644 index acd3a78..0000000 --- a/mariadb-expired-certs.patch +++ /dev/null @@ -1,555 +0,0 @@ -Upstream insists on generating SSL testing certificates with relatively short -lifespan, which has repeatedly caused problems (ie, one day the regression -tests suddenly stop working). Replace them with certificates with 20-year -lifespan. We should periodically regenerate these, too, but at least not -very often. - - -diff -Naur mysql-5.1.50.orig/mysql-test/std_data/cacert.pem mysql-5.1.50/mysql-test/std_data/cacert.pem ---- mysql-5.1.50.orig/mysql-test/std_data/cacert.pem 2010-08-03 13:55:04.000000000 -0400 -+++ mysql-5.1.50/mysql-test/std_data/cacert.pem 2010-08-27 23:42:05.751428144 -0400 -@@ -1,17 +1,22 @@ - -----BEGIN CERTIFICATE----- --MIICrTCCAhagAwIBAgIJAMI7xZKjhrDbMA0GCSqGSIb3DQEBBAUAMEQxCzAJBgNV -+MIIDsjCCApqgAwIBAgIJAL5YrUwfPSWVMA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV - BAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxhMREwDwYD --VQQKEwhNeVNRTCBBQjAeFw0xMDAxMjkxMTQ3MTBaFw0xNTAxMjgxMTQ3MTBaMEQx -+VQQKEwhNeVNRTCBBQjAeFw0xMDAxMjkwNTU5NTNaFw0xNTAxMjgwNTU5NTNaMEQx - CzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxh --MREwDwYDVQQKEwhNeVNRTCBBQjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA --wQYsOEfrN4ESP3FjsI8cghE+tZVuyK2gck61lwieVxjgFMtBd65mI5a1y9pmlOI1 --yM4SB2Ppqcuw7/e1CdV1y7lvHrGNt5yqEHbN4QX1gvsN8TQauP/2WILturk4R4Hq --rKg0ZySu7f1Xhl0ed9a48LpaEHD17IcxWEGMMJwAxF0CAwEAAaOBpjCBozAMBgNV --HRMEBTADAQH/MB0GA1UdDgQWBBSvktYQ0ahLnyxyVKqty+WpBbBrDTB0BgNVHSME --bTBrgBSvktYQ0ahLnyxyVKqty+WpBbBrDaFIpEYwRDELMAkGA1UEBhMCU0UxEDAO --BgNVBAgTB1VwcHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FM --IEFCggkAwjvFkqOGsNswDQYJKoZIhvcNAQEEBQADgYEAdKN1PjwMHAKG2Ww1145g --JQGBnKxSFOUaoSvkBi/4ntTM+ysnViWh7WvxyWjR9zU9arfr7aqsDeQxm0XDOqzj --AQ/cQIla2/Li8tXyfc06bisH/IHRaSc2zWqioTKbEwMdVOdrvq4a8V8ic3xYyIWn --7F4WeS07J8LKardSvM0+hOA= -+MREwDwYDVQQKEwhNeVNRTCBBQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -+ggEBAL6kNN4peX7uhK9rb06W/QbPEpVuejmdWdl2PqMshP/eSuXXw7kwVgfpxx9R -+vC000CKQQSG9MCoZjtqPnFRsetmWLZgApRpEalGXTXJqq9sEbCfoFizg94U8G7d2 -+u5XJjLVmcG34ru36KoBgVx1zeH1puBAf8dOzrE4L7Y+ZQBFzFohjh8C2LqWC4nM5 -+qsLmOkDWMipGqYU5DvkKjIbTbwTyRNRgZHWSPfVDDPUIUOsY4BGUp2DpgeGY9aEv -+lIs57Ev9JqlIUCV65lOhhDkG+xwmkHKHA+ECEU9cALI8+uXbh48MB9XpMOuk408X -+/lX89aZwD0/G9kmObVGnE2G+H5UCAwEAAaOBpjCBozAdBgNVHQ4EFgQUsft+d7VA -+jWgRftkR5cPG2k2sUbAwdAYDVR0jBG0wa4AUsft+d7VAjWgRftkR5cPG2k2sUbCh -+SKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdV -+cHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAL5YrUwfPSWVMAwGA1UdEwQFMAMB -+Af8wDQYJKoZIhvcNAQEFBQADggEBALRUOAmdL8R8sl1y8kiEiFgDatdXK5RDqWai -+8yZChfmwTIToHhmQsOEshJe2e8hky3huUj+33VyXjINoMbebIwMuXPwEkbJal8RZ -+nSJmF0jN1Qz7J/jFffwK9xmejWZJx49Kt2+Qwrwp6kDeq9TLFqQOoVczgyJPYsTL -+NAOib5WqTud3XWvCwxrhqmWu7JZq6sp1fomP/uunprb8y2miWfLESZN2mKAhm44Q -+Lws867LT8v2lskEjq2dT1LutD5+R66XcdjgSr0uDziDs64jZwCD6ea94hVFM7ej0 -+ZOXYeSEZJ56FjUxu632e9fY8NyMh30yKjjmQf1mM9PuGJvdvsWU= - -----END CERTIFICATE----- -diff -Naur mysql-5.1.50.orig/mysql-test/std_data/client-cert.pem mysql-5.1.50/mysql-test/std_data/client-cert.pem ---- mysql-5.1.50.orig/mysql-test/std_data/client-cert.pem 2010-08-03 13:55:04.000000000 -0400 -+++ mysql-5.1.50/mysql-test/std_data/client-cert.pem 2010-08-27 23:42:05.752428395 -0400 -@@ -1,46 +1,69 @@ - Certificate: - Data: -- Version: 1 (0x0) -- Serial Number: 1048577 (0x100001) -- Signature Algorithm: md5WithRSAEncryption -+ Version: 3 (0x2) -+ Serial Number: 6 (0x6) -+ Signature Algorithm: sha1WithRSAEncryption - Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB - Validity -- Not Before: Jan 29 11:50:22 2010 GMT -- Not After : Jan 28 11:50:22 2015 GMT -+ Not Before: Feb 20 03:03:26 2010 GMT -+ Not After : Sep 3 03:03:26 2030 GMT - Subject: C=SE, ST=Uppsala, O=MySQL AB - Subject Public Key Info: - Public Key Algorithm: rsaEncryption -- Public-Key: (1024 bit) -- Modulus: -- 00:cc:9a:37:49:13:66:dc:cf:e3:0b:13:a1:23:ed: -- 78:db:4e:bd:11:f6:8c:0d:76:f9:a3:32:56:9a:f8: -- a1:21:6a:55:4e:4d:3f:e6:67:9d:26:99:b2:cd:a4: -- 9a:d2:2b:59:5c:d7:8a:d3:60:68:f8:18:bd:c5:be: -- 15:e1:2a:3c:a3:d4:61:cb:f5:11:94:17:81:81:f7: -- 87:8c:f6:6a:d2:ee:d8:e6:77:f6:62:66:4d:2e:16: -- 8d:08:81:4a:c9:c6:4b:31:e5:b9:c7:8a:84:96:48: -- a7:47:8c:0d:26:90:56:4e:e6:a5:6e:8c:b3:f2:9f: -- fc:3d:78:9b:49:6e:86:83:77 -+ RSA Public Key: (1024 bit) -+ Modulus (1024 bit): -+ 00:c2:e7:20:cf:89:59:2f:67:cb:4c:9f:e8:11:f2: -+ 23:e5:f1:b1:ee:3f:66:5f:c3:f5:fd:1e:31:ee:8f: -+ 4c:2a:bd:c0:4a:a5:9f:c8:44:d5:77:8f:15:1b:4d: -+ 78:6e:b2:a2:48:a5:24:33:05:40:02:b3:c1:87:8d: -+ 59:3c:1a:07:aa:86:f0:04:e1:9c:20:4b:22:32:c4: -+ 51:9e:40:e4:31:c3:57:f5:98:bf:2e:b1:fd:2c:56: -+ bf:49:d9:9b:e7:17:cc:95:5f:b5:08:19:5e:9d:df: -+ 65:22:39:2c:48:fb:69:96:31:7a:35:4d:de:60:b4: -+ c1:60:19:5f:96:56:7e:55:19 - Exponent: 65537 (0x10001) -- Signature Algorithm: md5WithRSAEncryption -- 5e:1f:a3:53:5f:24:13:1c:f8:28:32:b0:7f:69:69:f3:0e:c0: -- 34:87:10:03:7d:da:15:8b:bd:19:b8:1a:56:31:e7:85:49:81: -- c9:7f:45:20:74:3e:89:c0:e0:26:84:51:cc:04:16:ce:69:99: -- 01:e1:26:99:b3:e3:f5:bd:ec:5f:a0:84:e4:38:da:75:78:7b: -- 89:9c:d2:cd:60:95:20:ba:8e:e3:7c:e6:df:76:3a:7c:89:77: -- 02:94:86:11:3a:c4:61:7d:6f:71:83:21:8a:17:fb:17:e2:ee: -- 02:6b:61:c1:b4:52:63:d7:d8:46:b2:c5:9c:6f:38:91:8a:35: -- 32:0b -+ X509v3 extensions: -+ X509v3 Basic Constraints: -+ CA:FALSE -+ X509v3 Subject Key Identifier: -+ 8D:10:67:91:33:76:9C:02:E5:78:5D:D8:C5:EF:25:96:B2:D7:FA:1F -+ X509v3 Authority Key Identifier: -+ keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 -+ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB -+ serial:BE:58:AD:4C:1F:3D:25:95 -+ -+ Signature Algorithm: sha1WithRSAEncryption -+ a9:88:10:3e:5d:2a:47:29:c8:03:27:7a:31:5a:8e:10:03:bc: -+ b5:4e:37:1d:12:7b:eb:5f:50:71:70:b1:a3:8e:93:0e:77:17: -+ 6c:47:b6:c9:a4:4d:2a:c4:38:f0:61:55:b2:7f:28:ba:06:79: -+ ee:67:11:7d:d4:c9:7f:0a:18:c8:c1:cb:d0:2c:f9:63:0f:bb: -+ 45:ca:de:ea:bb:ac:00:01:52:48:36:2b:07:2b:c8:46:c7:b1: -+ 21:81:bd:77:39:e7:4c:39:aa:bd:ac:60:d8:a7:bf:cf:14:98: -+ 4a:0b:a1:40:55:06:8d:6f:35:a9:39:a0:71:a9:97:ba:7c:73: -+ 3c:41:ba:c5:1c:11:4b:2b:43:1d:2d:ba:7b:5f:14:b5:3d:64: -+ 62:15:36:b4:16:bd:78:c8:43:8d:f9:1c:a5:d2:ac:a1:58:74: -+ e1:99:de:ad:04:19:43:a8:bd:0a:fd:19:9b:50:44:46:6d:18: -+ 55:4d:bf:b4:5b:a4:93:62:c7:64:91:6c:54:34:d1:f8:f3:ff: -+ 12:6d:5f:85:e7:35:9e:5c:42:81:5e:fb:c8:bb:44:51:98:b2: -+ ef:1b:9f:5a:22:77:28:7d:da:fb:08:c2:94:9a:0f:42:08:93: -+ 54:10:1e:ad:f2:4f:fc:62:98:51:e9:9b:b9:3a:93:d9:e4:1f: -+ 1d:c4:76:d0 - -----BEGIN CERTIFICATE----- --MIIB5zCCAVACAxAAATANBgkqhkiG9w0BAQQFADBEMQswCQYDVQQGEwJTRTEQMA4G --A1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwg --QUIwHhcNMTAwMTI5MTE1MDIyWhcNMTUwMTI4MTE1MDIyWjAyMQswCQYDVQQGEwJT --RTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIwgZ8wDQYJKoZI --hvcNAQEBBQADgY0AMIGJAoGBAMyaN0kTZtzP4wsToSPteNtOvRH2jA12+aMyVpr4 --oSFqVU5NP+ZnnSaZss2kmtIrWVzXitNgaPgYvcW+FeEqPKPUYcv1EZQXgYH3h4z2 --atLu2OZ39mJmTS4WjQiBSsnGSzHluceKhJZIp0eMDSaQVk7mpW6Ms/Kf/D14m0lu --hoN3AgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAXh+jU18kExz4KDKwf2lp8w7ANIcQ --A33aFYu9GbgaVjHnhUmByX9FIHQ+icDgJoRRzAQWzmmZAeEmmbPj9b3sX6CE5Dja --dXh7iZzSzWCVILqO43zm33Y6fIl3ApSGETrEYX1vcYMhihf7F+LuAmthwbRSY9fY --RrLFnG84kYo1Mgs= -+MIIDETCCAfmgAwIBAgIBBjANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ -+MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT -+UUwgQUIwHhcNMTAwMjIwMDMwMzI2WhcNMzAwOTAzMDMwMzI2WjAyMQswCQYDVQQG -+EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIwgZ8wDQYJ -+KoZIhvcNAQEBBQADgY0AMIGJAoGBAMLnIM+JWS9ny0yf6BHyI+Xxse4/Zl/D9f0e -+Me6PTCq9wEqln8hE1XePFRtNeG6yokilJDMFQAKzwYeNWTwaB6qG8AThnCBLIjLE -+UZ5A5DHDV/WYvy6x/SxWv0nZm+cXzJVftQgZXp3fZSI5LEj7aZYxejVN3mC0wWAZ -+X5ZWflUZAgMBAAGjgaMwgaAwCQYDVR0TBAIwADAdBgNVHQ4EFgQUjRBnkTN2nALl -+eF3Yxe8llrLX+h8wdAYDVR0jBG0wa4AUsft+d7VAjWgRftkR5cPG2k2sUbChSKRG -+MEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBz -+YWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAL5YrUwfPSWVMA0GCSqGSIb3DQEBBQUA -+A4IBAQCpiBA+XSpHKcgDJ3oxWo4QA7y1TjcdEnvrX1BxcLGjjpMOdxdsR7bJpE0q -+xDjwYVWyfyi6BnnuZxF91Ml/ChjIwcvQLPljD7tFyt7qu6wAAVJINisHK8hGx7Eh -+gb13OedMOaq9rGDYp7/PFJhKC6FAVQaNbzWpOaBxqZe6fHM8QbrFHBFLK0MdLbp7 -+XxS1PWRiFTa0Fr14yEON+Ryl0qyhWHThmd6tBBlDqL0K/RmbUERGbRhVTb+0W6ST -+YsdkkWxUNNH48/8SbV+F5zWeXEKBXvvIu0RRmLLvG59aIncofdr7CMKUmg9CCJNU -+EB6t8k/8YphR6Zu5OpPZ5B8dxHbQ - -----END CERTIFICATE----- -diff -Naur mysql-5.1.50.orig/mysql-test/std_data/client-key.pem mysql-5.1.50/mysql-test/std_data/client-key.pem ---- mysql-5.1.50.orig/mysql-test/std_data/client-key.pem 2010-08-03 13:55:05.000000000 -0400 -+++ mysql-5.1.50/mysql-test/std_data/client-key.pem 2010-08-27 23:42:05.752428395 -0400 -@@ -1,15 +1,15 @@ - -----BEGIN RSA PRIVATE KEY----- --MIICXQIBAAKBgQDMmjdJE2bcz+MLE6Ej7XjbTr0R9owNdvmjMlaa+KEhalVOTT/m --Z50mmbLNpJrSK1lc14rTYGj4GL3FvhXhKjyj1GHL9RGUF4GB94eM9mrS7tjmd/Zi --Zk0uFo0IgUrJxksx5bnHioSWSKdHjA0mkFZO5qVujLPyn/w9eJtJboaDdwIDAQAB --AoGASqk/4We2En+93y3jkIO4pXafIe3w/3zZ7caRue1ehx4RUQh5d+95djuB9u7J --HEZ7TpjM7QNyao5EueL6gvbxt0LXFvqAMni7yM9tt/HUYtHHPqYiRtUny9bKYFTm --l8szCCMal/wD9GZU9ByHDNHm7tHUMyMhARNTYSgx+SERFmECQQD/6jJocC4SXf6f --T3LqimWR02lbJ7qCoDgRglsUXh0zjrG+IIiAyE+QOCCx1GMe3Uw6bsIuYwdHT6as --WcdPs04xAkEAzKulvEvLVvN5zfa/DTYRTV7jh6aDleOxjsD5oN/oJXoACnPzVuUL --qQQMNtuAXm6Q1QItrRxpQsSKbY0UQka6JwJBAOSgoNoG5lIIYTKIMvzwGV+XBLeo --HYsXgh+6Wo4uql3mLErUG78ZtWL9kc/tE4R+ZdyKGLaCR/1gXmH5bwN4B/ECQEBb --uUH8k3REG4kojesZlVc+/00ojzgS4UKCa/yqa9VdB6ZBz8MDQydinnShkTwgiGpy --xOoqhO753o2UT0qH8wECQQC99IEJWUnwvExVMkLaZH5NjAFJkb22sjkmuT11tAgU --RQgOMoDOm6driojnOnDWOkx1r1Gy9NgMLooduja4v6cx -+MIICWwIBAAKBgQDC5yDPiVkvZ8tMn+gR8iPl8bHuP2Zfw/X9HjHuj0wqvcBKpZ/I -+RNV3jxUbTXhusqJIpSQzBUACs8GHjVk8GgeqhvAE4ZwgSyIyxFGeQOQxw1f1mL8u -+sf0sVr9J2ZvnF8yVX7UIGV6d32UiOSxI+2mWMXo1Td5gtMFgGV+WVn5VGQIDAQAB -+AoGARXcXLKDpVooJ3W+IyQyiWsw//IhANpWjUOm4JiyQmxMyO+i4ACr4Yjpu7WI5 -+MEseqAGj20NdwxjKO0PXsCIe5LmrGZ+SI8+CSERFOWXWRtCWz7y7SG30i1k6suvM -+mwqWom0tJLwn93uA1lm/WSwKQwUrJRahRQd3EaZqrl7DP5kCQQD/8gbuYAT5pxQe -+ULLGM0RvEsXxDYbEDxNbY5wrBazfklBwpumxZpFl6jEAT++7Kh2Ns3A7kB1oUNlA -+FPYr+dYPAkEAwvHEwRtoyUr8jqoqVVJWI76CDmBjEOzVeMKW97ztqbs2LxZW8dYI -+iOh/myFGpdoUwgu0U8w9MmXcj3ZeZCYKVwJALyQ+AJPw9qa+fuLwOq9gsHCtwrty -+EhSQxSlwrz/pWniRll439vPkXfgntF4E0t1r+hiN2Hqv3/HcQgBaYzkuIwJAG023 -+bACFxaOuCeFFepvEms8E8jSHy4gQQhCnCl24v8wLw76SQN7kZSCDNtwLRBFuVNtE -+z3PMonFn2eQPRmGZkwJAP1c1BHprMQx/ruafdscROILv3JrH40C1bR6KVVBKt1dK -+Qpnpgi7hK5rUQjDF8k3bn9ugTt06jyeHe/QhAml0kg== - -----END RSA PRIVATE KEY----- -diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server-cert.pem mysql-5.1.50/mysql-test/std_data/server-cert.pem ---- mysql-5.1.50.orig/mysql-test/std_data/server-cert.pem 2010-08-03 13:55:08.000000000 -0400 -+++ mysql-5.1.50/mysql-test/std_data/server-cert.pem 2010-08-27 23:42:05.753428361 -0400 -@@ -1,41 +1,69 @@ - Certificate: - Data: -- Version: 1 (0x0) -- Serial Number: 1048578 (0x100002) -- Signature Algorithm: md5WithRSAEncryption -+ Version: 3 (0x2) -+ Serial Number: 4 (0x4) -+ Signature Algorithm: sha1WithRSAEncryption - Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB - Validity -- Not Before: Jan 29 11:56:49 2010 GMT -- Not After : Jan 28 11:56:49 2015 GMT -+ Not Before: Feb 20 02:55:06 2010 GMT -+ Not After : Sep 3 02:55:06 2030 GMT - Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=localhost - Subject Public Key Info: - Public Key Algorithm: rsaEncryption -- Public-Key: (512 bit) -- Modulus: -- 00:cd:e4:87:51:9d:72:11:a0:d1:fa:f3:92:8b:13: -- 1c:eb:f7:e2:9a:2f:72:a8:d6:65:48:d1:69:af:1b: -- c0:4c:13:e5:60:60:51:41:e9:ab:a6:bc:13:bb:0c: -- 5e:32:7c:d9:6c:9e:cd:05:24:84:78:db:80:91:2e: -- d8:88:2b:c2:ed -+ RSA Public Key: (1024 bit) -+ Modulus (1024 bit): -+ 00:e3:7d:4f:c2:23:77:a9:3a:2c:d2:69:59:a0:2f: -+ 4e:d1:51:4c:ae:8d:f5:17:cc:ce:58:9c:83:4f:0b: -+ a3:bb:29:a2:b8:1d:3e:1b:04:f9:a9:3e:e2:61:d0: -+ e6:7b:b9:7c:12:d8:1f:86:c9:53:b5:04:dd:df:26: -+ e9:c0:2b:de:4a:96:2e:f3:23:6f:79:6d:a9:d2:4e: -+ 17:af:2f:de:8b:68:44:ae:de:a3:e2:c4:37:1c:04: -+ ad:73:4b:85:f9:83:ac:fe:b7:c1:54:47:2e:96:d4: -+ 31:96:85:94:69:d6:5a:63:24:04:99:89:19:1d:56: -+ 8a:d1:77:aa:87:fb:38:cd:b7 - Exponent: 65537 (0x10001) -- Signature Algorithm: md5WithRSAEncryption -- 73:ce:9c:6e:39:46:b4:14:be:da:3f:f3:1b:ba:90:bc:23:43: -- d7:82:2a:70:4e:a6:d9:5a:65:5c:b7:df:71:df:75:77:c5:80: -- a4:af:fa:d2:59:e2:fd:c9:9c:f0:98:95:8e:69:a9:8c:7c:d8: -- 6f:48:d2:e3:36:e0:cd:ff:3f:d1:a5:e6:ab:75:09:c4:50:10: -- c4:96:dd:bf:3b:de:32:46:da:ca:4a:f1:d6:52:8a:33:2f:ab: -- f5:2e:70:3f:d4:9c:be:00:c8:03:f9:39:8a:df:5b:70:3c:40: -- ef:03:be:7c:3d:1d:32:32:f3:51:81:e2:83:30:6e:3d:38:9b: -- fb:3c -+ X509v3 extensions: -+ X509v3 Basic Constraints: -+ CA:FALSE -+ X509v3 Subject Key Identifier: -+ CC:8C:71:40:D0:0F:BF:D1:99:79:3F:1B:E9:10:76:19:67:36:0F:A3 -+ X509v3 Authority Key Identifier: -+ keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 -+ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB -+ serial:BE:58:AD:4C:1F:3D:25:95 -+ -+ Signature Algorithm: sha1WithRSAEncryption -+ 6f:ad:5e:59:fa:84:3a:be:e2:72:b1:e8:66:2a:4e:f8:73:19: -+ 11:06:11:92:78:56:3e:d6:e8:68:29:90:8b:59:d2:fe:aa:ae: -+ 25:59:c7:e9:99:bb:4a:06:43:dd:40:bd:cb:f4:ae:79:95:7d: -+ 8e:90:ef:58:d2:a8:fc:bf:07:f3:37:b2:9b:bd:da:e6:8c:56: -+ dd:5e:c6:4a:70:7c:3e:3d:a1:e8:35:06:b8:a7:7b:ac:26:85: -+ 54:5d:09:a2:7b:77:b4:17:7f:72:31:cb:ff:cc:67:6d:e6:3e: -+ c6:dc:96:eb:4a:0a:ae:e9:48:ae:8a:e0:d6:73:57:6e:32:4c: -+ 00:dc:28:da:55:b3:9f:9f:d8:98:cc:d9:f1:b6:b3:14:67:2e: -+ a1:47:1e:51:11:cf:70:9f:31:8f:ba:59:29:f2:d0:88:0b:e2: -+ 51:6b:f8:31:ed:6d:ac:00:5e:d3:78:4c:95:97:02:cc:74:2b: -+ 3b:c6:28:e6:2a:c3:30:99:35:b4:4d:31:46:d4:90:f2:47:ed: -+ 64:85:1a:75:2a:72:0a:2f:c6:3a:2f:d2:ac:6b:31:cc:e5:a8: -+ 07:c2:d6:22:f3:c6:0f:bf:67:d9:d6:b2:79:cd:48:b5:c3:e0: -+ e3:18:7f:b5:74:c9:43:19:fb:c4:93:29:ca:cc:90:2b:1b:6f: -+ 45:f6:25:f9 - -----BEGIN CERTIFICATE----- --MIIBtzCCASACAxAAAjANBgkqhkiG9w0BAQQFADBEMQswCQYDVQQGEwJTRTEQMA4G --A1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwg --QUIwHhcNMTAwMTI5MTE1NjQ5WhcNMTUwMTI4MTE1NjQ5WjBGMQswCQYDVQQGEwJT --RTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxEjAQBgNVBAMT --CWxvY2FsaG9zdDBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQDN5IdRnXIRoNH685KL --Exzr9+KaL3Ko1mVI0WmvG8BME+VgYFFB6aumvBO7DF4yfNlsns0FJIR424CRLtiI --K8LtAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAc86cbjlGtBS+2j/zG7qQvCND14Iq --cE6m2VplXLffcd91d8WApK/60lni/cmc8JiVjmmpjHzYb0jS4zbgzf8/0aXmq3UJ --xFAQxJbdvzveMkbaykrx1lKKMy+r9S5wP9ScvgDIA/k5it9bcDxA7wO+fD0dMjLz --UYHigzBuPTib+zw= -+MIIDJTCCAg2gAwIBAgIBBDANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ -+MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT -+UUwgQUIwHhcNMTAwMjIwMDI1NTA2WhcNMzAwOTAzMDI1NTA2WjBGMQswCQYDVQQG -+EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxEjAQBgNV -+BAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA431PwiN3 -+qTos0mlZoC9O0VFMro31F8zOWJyDTwujuymiuB0+GwT5qT7iYdDme7l8EtgfhslT -+tQTd3ybpwCveSpYu8yNveW2p0k4Xry/ei2hErt6j4sQ3HAStc0uF+YOs/rfBVEcu -+ltQxloWUadZaYyQEmYkZHVaK0Xeqh/s4zbcCAwEAAaOBozCBoDAJBgNVHRMEAjAA -+MB0GA1UdDgQWBBTMjHFA0A+/0Zl5PxvpEHYZZzYPozB0BgNVHSMEbTBrgBSx+353 -+tUCNaBF+2RHlw8baTaxRsKFIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgTB1Vw -+cHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkAvlit -+TB89JZUwDQYJKoZIhvcNAQEFBQADggEBAG+tXln6hDq+4nKx6GYqTvhzGREGEZJ4 -+Vj7W6GgpkItZ0v6qriVZx+mZu0oGQ91Avcv0rnmVfY6Q71jSqPy/B/M3spu92uaM -+Vt1exkpwfD49oeg1Brine6wmhVRdCaJ7d7QXf3Ixy//MZ23mPsbclutKCq7pSK6K -+4NZzV24yTADcKNpVs5+f2JjM2fG2sxRnLqFHHlERz3CfMY+6WSny0IgL4lFr+DHt -+bawAXtN4TJWXAsx0KzvGKOYqwzCZNbRNMUbUkPJH7WSFGnUqcgovxjov0qxrMczl -+qAfC1iLzxg+/Z9nWsnnNSLXD4OMYf7V0yUMZ+8STKcrMkCsbb0X2Jfk= - -----END CERTIFICATE----- -diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server-key.pem mysql-5.1.50/mysql-test/std_data/server-key.pem ---- mysql-5.1.50.orig/mysql-test/std_data/server-key.pem 2010-08-03 13:55:08.000000000 -0400 -+++ mysql-5.1.50/mysql-test/std_data/server-key.pem 2010-08-27 23:42:05.754428433 -0400 -@@ -1,9 +1,15 @@ - -----BEGIN RSA PRIVATE KEY----- --MIIBOwIBAAJBAM3kh1GdchGg0frzkosTHOv34povcqjWZUjRaa8bwEwT5WBgUUHp --q6a8E7sMXjJ82WyezQUkhHjbgJEu2Igrwu0CAwEAAQJBAJuwhFbF3NzRpBbEmnqJ --4GPa1UJMQMLFJF+04tqj/HxJcAIVhOJhGmmtYNw1yjz/ZsPnfJCMz4eFOtdjvGtf --peECIQDmFFg2WLvYo+2m9w9V7z4ZIkg7ixYkI/ObUUctfZkPOQIhAOUWnrvjFrAX --bIvYT/YR50+3ZDLEc51XxNgJnWqWYl1VAiEAnTOFWgyivFC1DgF8PvDp8u5TgCt2 --A1d1GMgd490O+TECIC/WMl0/hTxOF9930vKqOGf//o9PUGkZq8QE9fcM4gtlAiAE --iOcFpnLjtWj57jrhuw214ucnB5rklkQQe+AtcARNkg== -+MIICXgIBAAKBgQDjfU/CI3epOizSaVmgL07RUUyujfUXzM5YnINPC6O7KaK4HT4b -+BPmpPuJh0OZ7uXwS2B+GyVO1BN3fJunAK95Kli7zI295banSThevL96LaESu3qPi -+xDccBK1zS4X5g6z+t8FURy6W1DGWhZRp1lpjJASZiRkdVorRd6qH+zjNtwIDAQAB -+AoGAUb0o91y/FjMs/72S0pes/lDz+JRRSGfyjKxQEgrgndNsADOhqRu0iTdrKDJj -+XnlbN3ooecnFJfnFrvTQcJhSmlS30j6VrBw6LXpCBK3dvjYgJ9LOne7WK+dF1+vS -+FMQtsP04C56Sxy6HJDpMyWJ6oS3Bu169ygG2AxKo+Fk+E6ECQQD38w/MzmrARz2Z -+AGeEPDUnVZPYgtmXkmks95S0/2jSoLhmgpvJimzxwpYwVG/BG8dSDVuTDu5kp05D -+3bZIp3EzAkEA6uAwJsCZPtHXlWU3wYZJsA697rUNjPaCQOIaZ/lnh5RUHTmUiw1h -+Oj/VORqKB0kXqcDfawwLjZEvh1Xli+H5bQJBANTmhw2TvEPnp/OFTl1UGUvyBmXl -+TRMB639qAu07VfVtfYi/4ya1zn/0VmOfTOoigQ5qW9Q1AOu6YNCTQl62L9MCQQDc -+YfEsW2kvNYxYJHoVfuBjbuGuOnn1e1Oqd70ZND59S6NFLMMBWlORaVWzWACNZ3rp -+kAzSj6HDeqgjD2jsQONdAkEAt7S1YHUn8F760bRn4AnAto2TVOYdArtTP/wYjd4o -+9rJREO/d8AYkYJ96APLvF0SZ4n3t1pLwQRsKKN8ZGTmzLA== - -----END RSA PRIVATE KEY----- -diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server8k-cert.pem mysql-5.1.50/mysql-test/std_data/server8k-cert.pem ---- mysql-5.1.50.orig/mysql-test/std_data/server8k-cert.pem 2010-08-03 13:55:08.000000000 -0400 -+++ mysql-5.1.50/mysql-test/std_data/server8k-cert.pem 2010-08-27 23:43:00.005366270 -0400 -@@ -1,51 +1,69 @@ -+Certificate: -+ Data: -+ Version: 3 (0x2) -+ Serial Number: 5 (0x5) -+ Signature Algorithm: sha1WithRSAEncryption -+ Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB -+ Validity -+ Not Before: Feb 20 03:00:54 2010 GMT -+ Not After : Sep 3 03:00:54 2030 GMT -+ Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=server -+ Subject Public Key Info: -+ Public Key Algorithm: rsaEncryption -+ RSA Public Key: (1024 bit) -+ Modulus (1024 bit): -+ 00:c5:da:44:95:06:77:16:21:af:a0:c4:3c:e9:f8: -+ 1d:2d:95:f9:63:90:8c:3f:86:ba:77:76:4a:52:4b: -+ 6b:af:29:f5:1c:aa:d4:3f:3e:42:9f:6d:46:ba:86: -+ 90:b1:2d:cc:db:c6:33:15:a3:f4:af:53:33:4f:a1: -+ 56:d1:aa:3b:26:10:f7:64:b5:f9:bf:1b:b1:47:8e: -+ cc:a6:d6:0d:aa:4a:77:e3:a3:63:9d:2a:dc:65:f4: -+ 7f:91:17:38:2d:d6:cd:4e:8d:53:52:97:6e:87:fc: -+ 64:60:a6:a1:00:ac:96:6c:e4:42:94:75:17:46:6f: -+ 91:b5:dd:06:47:ed:05:e3:db -+ Exponent: 65537 (0x10001) -+ X509v3 extensions: -+ X509v3 Basic Constraints: -+ CA:FALSE -+ X509v3 Subject Key Identifier: -+ 6E:60:3F:29:13:60:99:ED:0C:F7:15:B5:DB:7B:1C:FB:6F:60:19:ED -+ X509v3 Authority Key Identifier: -+ keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 -+ DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB -+ serial:BE:58:AD:4C:1F:3D:25:95 -+ -+ Signature Algorithm: sha1WithRSAEncryption -+ 63:2e:0f:07:14:06:cf:74:90:3d:37:42:f2:48:70:60:21:bc: -+ 34:52:31:f1:87:70:d2:b2:fb:ff:13:38:dc:f0:5e:43:d7:ee: -+ a7:c7:1f:ac:aa:d2:8c:4f:fa:3c:4c:73:f6:b6:c2:0c:a0:ea: -+ a2:c9:e2:73:61:c3:2e:78:40:0f:2a:d3:63:50:9b:b8:f9:89: -+ 40:ed:98:08:97:c3:07:24:17:34:b5:78:89:0a:bb:83:4c:e2: -+ 5c:2e:13:d6:21:30:ad:30:48:b5:70:12:ff:4a:6f:42:f0:f8: -+ 9f:b1:4b:bd:89:2b:f0:9d:e2:49:2b:35:69:18:1f:76:40:b4: -+ 76:bd:cb:dd:27:2f:c0:c1:e2:33:3e:6e:df:68:54:19:92:8a: -+ bb:13:9c:cf:d6:17:56:da:bf:0d:64:70:3a:45:b7:aa:5f:e3: -+ f5:96:ae:34:f2:17:37:27:d0:4b:e8:30:4a:c0:02:42:e2:d2: -+ 30:eb:eb:c7:d7:ec:d8:df:5c:43:58:e2:6f:b7:58:54:0d:c4: -+ 01:71:2d:59:8f:44:c7:a1:6c:0b:41:28:fa:b7:63:a7:68:d3: -+ 4f:c3:0f:17:9e:b2:32:50:e6:0b:87:3d:e2:39:47:c0:d8:0a: -+ 3b:f6:af:50:68:0f:9d:ef:6e:34:0d:3a:07:94:f8:a4:d7:24: -+ 86:32:d3:b4 - -----BEGIN CERTIFICATE----- --MIIJFDCCBPwCAQEwDQYJKoZIhvcNAQEEBQAwTjELMAkGA1UEBhMCU0UxEDAOBgNV --BAgTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCMQ0wCwYDVQQLEwRUZXN0MQsw --CQYDVQQDEwJDQTAeFw0xMDA3MjgxNDA3MjhaFw0xODEwMTQxNDA3MjhaMFIxCzAJ --BgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQjEN --MAsGA1UECxMEVGVzdDEPMA0GA1UEAxMGc2VydmVyMIIEIjANBgkqhkiG9w0BAQEF --AAOCBA8AMIIECgKCBAEA6h3v1OWb9I9U/Z8diBu/xYGS8NCTD3ZESboHxVI2qSEC --PgxNNcG8Lh0ktQdgYcOe64MnDTZX0Bibm47hoDldrAlTSffFxQhylqBBoXxDF+Lr --hXIqCz7K0PsK+bYusL9ezJ7PETDnCT7oy95q4GXbKsutbNsm9if4ZE41gs2KnoU2 --DA7kvMmkKojrMIL4+BqTXA20LLo0iSbgvUTvpSJw4u96BeyzMNnxK2wP5vvTtUo5 --hACbfU87YjaSKs+q2VXCzfyYGZk1L1xk5GUI0bP+jutf1dDzNttW2/q2Nf5rxx09 --Gh/GwmOnEk1O7cOZ8VQCsOHirIM39NuSARsY6Y3G5XM4k2W4nxyR/RtdG9bvs/33 --aGsZ5V5yp7WSs8s9HHwaCPSsUiLKckQ7uA0TTRgbeweMrrLKovG57jsbBBB8pQD4 --PRd31qgxCdstWXHiWwRyI8vOLWENPXPFqA/rJwwqNdWTogy38aqVXxGYR8PIwjA2 --OaIwFjwGZcsPNLqw6bgAN8O2UBqZHWiMF8mi7brvioDvAIufZuqa2SqT/At45H83 --psQ6R4FsxZt6SAK7EsdPo8OYTrY1i4iPZd/eKhnEu2srEZgsKRwY5H1mvDH5fWCc --HSFu07sWmlmK6Or65Fsa0IaKLJiQDVVETd6xrI0wkM4AOcbKDrS7aywJ426dopbs --+LFdt4N0cdII4gBgJAfLuuA2yrDXRq4P6cgpVMy0R+0dEYE8zzm8zf1a+Ud273LS --9+LB+LJKwqbW8nOPBoiekimIKfJYoOA4+C/mAjsYl1sVjjEhXJAs9S9L2UvnUk1P --sZi4UKHI6eAIEl7VM1sQ4GbdZ0px2dF2Ax7pGkhD+DLpYyYkCprharKZdmuUNLUd --NhXxi/HSEiE+Uy+o8RIzmH7LuROl/ZgnfHjJEiBLt2qPvwrwYd4c3XuXWs4YsWfV --JTt8Mx2ihgVcdGy9//shCSmgJwR1oWrhgC10AEL2fKeRnYUal1i+IxFPp7nb8uwx --UADgR0cY4A3qR/JP489QFIcxBTVs65De+Bq3ecnujk6yeGpD9iptonq4Y8uNZMc1 --kOE7GiFGwR4EufT5SEMh+tUkjth2r+842vmZZuxrVQaohDiATmIJA07W51zKH+nQ --uw4qVKnAhPaDLCLc7YMIH9JcmkeQX0nf8/S2O2WYDH8glVDi5hfW08tCmV647vRY --nTIywUTO0lFpz7M+VyMNaJ6yXU6biBV5hLAI8C5ldr/SWI789W2+ebBaJ9gfK+PT --trohFSK37GcoSH4V6qSLJHCBASEsiddqHIHMLJZRYD+B6J3tLhjVUM43u+MEGbFT --d33ZDke/WzLTExWkaOv36e67gDBmgDuj9yroq3wGfwIDAQABMA0GCSqGSIb3DQEB --BAUAA4IEAQCc9RBhRbuWlmRZPZkqIdi5/+enyjoMmOa6ryJPxFSP8D2jrlHgQsk1 --+GsJmPFT3rwWfoGAQu/aeSX4sp8OhKVJtqNA6MJrGYnZIMolgYa1wZPbkjJsdEfi --UsZdIB0n2+KA0xwEdGPdkGCfNPBtOg557DkcyEvsIZ9ELp4Pp2XzWRhyFGasJZc4 --YwgD/3K2rpOPZoMkBKeKqV19j41OfLKGBVyuaqzitbu9+KT4RU1ibr2a+UuFCwdT --oqyN7bfWXjcjXOMkxCsOmLfKmqQxs7TEOVrYPTdYjamDxLy/e5g5FgoCxGY8iil0 --+YFLZyH6eEx/Os9DlG/M3O1MeRD9U97CdsphbDVZIDyWw5xeX8qQHJe0KSprAgiG --TLhTZHeyrKujQCQS1oFFmNy4gSqXt0j1/6/9T80j6HeyjiiYEaEQK9YLTAjRoA7W --VN8wtHI5F3RlNOVQEJks/bjdlpLL3VhaWtfewGh/mXRGcow84cgcsejMexmhreHm --JfTUl9+X1IFFxGq2/606A9ROQ7kN/s4rXu7/TiMODXI/kZijoWd2SCc7Z0YWoNo7 --IRKkmZtrsflJbObEuK2Jk59uqzSxyQOBId8qtbPo8qJJyHGV5GCp34g4x67BxJBo --h1iyVMamBAS5Ip1ejghuROrB8Hit8NhAZApXju62btJeXLX+mQayXb/wC/IXNJJD --83tXiLfZgs6GzLAq7+KW/64sZSvj87CPiNtxkvjchAvyr+fhbBXCrf4rlOjJE6SH --Je2/Jon7uqijncARGLBeYUT0Aa6k1slpXuSKxDNt7EIkP21kDZ5/OJ0Y1u587KVB --dEhuDgNf2/8ij7gAQBwBoZMe1DrwddrxgLLBlyHpAZetNYFZNT+Cs/OlpqI0Jm59 --kK9pX0BY4AGOd23XM3K/uLawdmf67kkftim7aVaqXFHPiWsJVtlzmidKvNSmbmZe --dOmMXp6PBoqcdusFVUS7vjd3KAes5wUX/CaTyOOPRu0LMSnpwEnaL76IC9x4Jd6d --7QqY/OFTjpPH8nP57LwouiT6MgSUCWGaOkPuBJ9w9sENSbbINpgJJ42iAe2kE+R7 --qEIvf/2ETCTseeQUqm2nWiSPLkNagEh6kojmEoKrGyrv3YjrSXSOY1a70tDVy43+ --ueQDQzNZm3Q7inpke2ZKvWyY0LQmLzP2te+tnNBcdLyKJx7emPRTuMUlEdK7cLbt --V3Sy9IKtyAXqqd66fPFj4NhJygyncj8M6CSqhG5L0GhDbkA8UJ8yK/gfKm3h5xe2 --utULK5VMtAhQt6cVahO59A9t/OI17y45bmlIgdlEQISzVFe9ZbIUJW44zBfPx74k --/w8pMRr8gEuRqpL2WdJiKGG6lhMHLVFo -+MIIDIjCCAgqgAwIBAgIBBTANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ -+MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT -+UUwgQUIwHhcNMTAwMjIwMDMwMDU0WhcNMzAwOTAzMDMwMDU0WjBDMQswCQYDVQQG -+EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxDzANBgNV -+BAMTBnNlcnZlcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxdpElQZ3FiGv -+oMQ86fgdLZX5Y5CMP4a6d3ZKUktrryn1HKrUPz5Cn21GuoaQsS3M28YzFaP0r1Mz -+T6FW0ao7JhD3ZLX5vxuxR47MptYNqkp346NjnSrcZfR/kRc4LdbNTo1TUpduh/xk -+YKahAKyWbORClHUXRm+Rtd0GR+0F49sCAwEAAaOBozCBoDAJBgNVHRMEAjAAMB0G -+A1UdDgQWBBRuYD8pE2CZ7Qz3FbXbexz7b2AZ7TB0BgNVHSMEbTBrgBSx+353tUCN -+aBF+2RHlw8baTaxRsKFIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgTB1VwcHNh -+bGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkAvlitTB89 -+JZUwDQYJKoZIhvcNAQEFBQADggEBAGMuDwcUBs90kD03QvJIcGAhvDRSMfGHcNKy -++/8TONzwXkPX7qfHH6yq0oxP+jxMc/a2wgyg6qLJ4nNhwy54QA8q02NQm7j5iUDt -+mAiXwwckFzS1eIkKu4NM4lwuE9YhMK0wSLVwEv9Kb0Lw+J+xS72JK/Cd4kkrNWkY -+H3ZAtHa9y90nL8DB4jM+bt9oVBmSirsTnM/WF1bavw1kcDpFt6pf4/WWrjTyFzcn -+0EvoMErAAkLi0jDr68fX7NjfXENY4m+3WFQNxAFxLVmPRMehbAtBKPq3Y6do00/D -+DxeesjJQ5guHPeI5R8DYCjv2r1BoD53vbjQNOgeU+KTXJIYy07Q= - -----END CERTIFICATE----- -diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server8k-key.pem mysql-5.1.50/mysql-test/std_data/server8k-key.pem ---- mysql-5.1.50.orig/mysql-test/std_data/server8k-key.pem 2010-08-03 13:55:08.000000000 -0400 -+++ mysql-5.1.50/mysql-test/std_data/server8k-key.pem 2010-08-27 23:43:10.165365998 -0400 -@@ -1,99 +1,15 @@ - -----BEGIN RSA PRIVATE KEY----- --MIISKQIBAAKCBAEA6h3v1OWb9I9U/Z8diBu/xYGS8NCTD3ZESboHxVI2qSECPgxN --NcG8Lh0ktQdgYcOe64MnDTZX0Bibm47hoDldrAlTSffFxQhylqBBoXxDF+LrhXIq --Cz7K0PsK+bYusL9ezJ7PETDnCT7oy95q4GXbKsutbNsm9if4ZE41gs2KnoU2DA7k --vMmkKojrMIL4+BqTXA20LLo0iSbgvUTvpSJw4u96BeyzMNnxK2wP5vvTtUo5hACb --fU87YjaSKs+q2VXCzfyYGZk1L1xk5GUI0bP+jutf1dDzNttW2/q2Nf5rxx09Gh/G --wmOnEk1O7cOZ8VQCsOHirIM39NuSARsY6Y3G5XM4k2W4nxyR/RtdG9bvs/33aGsZ --5V5yp7WSs8s9HHwaCPSsUiLKckQ7uA0TTRgbeweMrrLKovG57jsbBBB8pQD4PRd3 --1qgxCdstWXHiWwRyI8vOLWENPXPFqA/rJwwqNdWTogy38aqVXxGYR8PIwjA2OaIw --FjwGZcsPNLqw6bgAN8O2UBqZHWiMF8mi7brvioDvAIufZuqa2SqT/At45H83psQ6 --R4FsxZt6SAK7EsdPo8OYTrY1i4iPZd/eKhnEu2srEZgsKRwY5H1mvDH5fWCcHSFu --07sWmlmK6Or65Fsa0IaKLJiQDVVETd6xrI0wkM4AOcbKDrS7aywJ426dopbs+LFd --t4N0cdII4gBgJAfLuuA2yrDXRq4P6cgpVMy0R+0dEYE8zzm8zf1a+Ud273LS9+LB --+LJKwqbW8nOPBoiekimIKfJYoOA4+C/mAjsYl1sVjjEhXJAs9S9L2UvnUk1PsZi4 --UKHI6eAIEl7VM1sQ4GbdZ0px2dF2Ax7pGkhD+DLpYyYkCprharKZdmuUNLUdNhXx --i/HSEiE+Uy+o8RIzmH7LuROl/ZgnfHjJEiBLt2qPvwrwYd4c3XuXWs4YsWfVJTt8 --Mx2ihgVcdGy9//shCSmgJwR1oWrhgC10AEL2fKeRnYUal1i+IxFPp7nb8uwxUADg --R0cY4A3qR/JP489QFIcxBTVs65De+Bq3ecnujk6yeGpD9iptonq4Y8uNZMc1kOE7 --GiFGwR4EufT5SEMh+tUkjth2r+842vmZZuxrVQaohDiATmIJA07W51zKH+nQuw4q --VKnAhPaDLCLc7YMIH9JcmkeQX0nf8/S2O2WYDH8glVDi5hfW08tCmV647vRYnTIy --wUTO0lFpz7M+VyMNaJ6yXU6biBV5hLAI8C5ldr/SWI789W2+ebBaJ9gfK+PTtroh --FSK37GcoSH4V6qSLJHCBASEsiddqHIHMLJZRYD+B6J3tLhjVUM43u+MEGbFTd33Z --Dke/WzLTExWkaOv36e67gDBmgDuj9yroq3wGfwIDAQABAoIEAQCSt6YoZqigz/50 --XvYT6Uf6T6S1lBDFXNmY1qOuDkLBJTWRiwYMDViQEaWCaZgGTKDYeT3M8uR/Phyu --lRFi5vCEMufmcAeZ3hxptw7KU+R8ILJ207/zgit6YglTys9h5txTIack39+6FJmx --wbZ64HpETJZnpMO6+fuZaMXyLjuT8mmXjvHcOgXOvjWeFkZOveDhjJkAesUXuqyX --EI+ajoXuQiPXeKonkD2qd7NTjzfy4gw/ZF4NXs0ZVJeviqtIPo2xp33udOw2vRFh --bMvlF4cNLAbIKYVyOG0ruOfd2I7Unsc/CvD1u5vlRVuUd8OO0JZLIZR7hlRX+A58 --8O1g2H/wJZAsF1BnLnFzDGYCX2WjCCK3Zn85FkKGRa0lTdYDduad/C/N3Y2/pHFE --e7U/2D7IkEei59tD2HcsDBB3MJnckkn/hyiL9qWcxqWZ61vurE+XjU6tc6fnfhk9 --pJQ6yU3epPU7Vfsk0UGA7bbgKpsyzyH8Zl76YC2mN2ZVJjZekfhY+ibT9odEPdOl --yLB5iXA6/WhKkDWaOqZGOH+7MblWgT9wHINlcn+nKzOr00JHl26ac6aMlXXi9vbe --4jgJbFK1HYlFIndyX/BdqRTsFemDoDrVqrEYsaONoVYDd9c5qrqYOeh34DhOksQW --hNwWBfmMlfzgOGtCYhMeK+AajqTtUbMYQA6qp47KJd/Oa5Dvi3ZCpvZh3Ll5iIau --rqCtmojsWCqmpWSu7P+Wu4+O3XkUMPdQUuQ5rJFESEBB3yEJcxqk/RItTcKNElNC --PASrPrMD9cli7S/pJ+frbhu1Gna1ArXzXQE9pMozPaBpjCig7+15R0lL3pmOKO6e --WK3dgSwrnW6TQdLPlSD4lbRoiIdTHVBczztDeUqVvFiV3/cuaEi1nvaVdAYLqjuL --ogK4HwE/FQ54S0ijAsP52n25usoH6OTU3bSd/7NTp0vZCy3yf10x7HUdsh2DvhRO --3+TSK5t0yz0Nt7hNwcI6pLmWUIYcZgpFc/WsiiGscTfhy8rh3kRHI8ylGq53KNF+ --yCVmjqnBRWs91ArxmeF1ctX2t3w5p7gf65hJWqoX/2DiSi5FBsr6HLxa5sUi4wRZ --136aCNt5Wu7w+AzPDbQW6qKUGSyfHJAw4JZasZcaZLise5IWb1ks0DtFbWWdT3ux --8r2AM7IO1WopnekrYCnx/aBvBAv4NjWozVA517ztVttPERt3AGb4nm387nYt5R2U --NO2GBWcDyT8JQLKmffE1AkWolCR1GsvcNLQfLCbnNppgsnsLE/viTG4mq1wjnd8O --2Q8nH1SVTuyGFREMp/zsiAEaGfdd0hI2r1J7OdNPBBCtmhITsy9ZYHqm5vrGvy3s --vi2GuB2RAoICAQD/oWUsg4eTJxHifTJLz/tVSTXnw7DhfbFVa1K1rUV63/MRQAFW --pabN4T6Yfp3CpdRkljCA8KPJZj7euwhm4OEg1ulpOouA+cfWlE9RFE8wyOK5SYwM --k+nk31P9MUC866pZg/ghzBGDub91OW1+ZGEtqnLI/n/LhiAIWt0hJvgZclTc1cAL --xffHVlFwoSyNl/nc3ueZCC95nOLst2XcuxZLLbOFtZCmDYsp49q/Jn6EFjn4Ge2o --qp38z6eZgDMP1F4lb9nDqXPHfUSt2jxKlmpfXS+IPKdba67+EjhbtmUYzaR4EoPI --zh+o6SrVWT6Yve7KGiYv06fuRz1m/lLQO/Arbd9ntSjgn+ZEXGOkbhnHUX3DJ4ny --/6XEGB9NLQjern4uNTn0AaV+uvhncapFMaIBnVfq0Cw8eog0136PBYRaVX7T44j5 --HwIyGXWtYGA/SzDEQoksD0Y/T61BEGnLZaKeavNd82WwFvcYHZtE0J4aQGjCEE7N --+nijzCy+j5ETmme9KJvQHpEyXP3N4RBko1eWvyTwFZDdIXtoa6TTEI51lm+FXJ/b --Y+BzMr6KRo29FB+7//1ptUoMvn5hzL0PwOv2ZSTQuoG5hLDEbxWXLNhd1VHcfznF --3EZHwfD2F8aGQ3kz+fkMTNfK955KorDrmLgvmV9eZZ5yQxGZrs5H5YfKpwKCAgEA --6nSUbzfSdVFUH89NM5FmEJgkD06vqCgHl2mpyF+VmDGcay4K06eA4QbRO5kns13+ --n6PcBl/YVW/rNE8iFi+WxfqUpAjdR1HlShvTuTRVqtFTfuN8XhbYU6VMjKyuE0kd --LKe3KRdwubjVNhXRZLBknU+3Y/4hnIR7mcE3/M5Zv5hjb7XnwWg/SzxV9WojCKiu --vQ7cXhH5/o7EuKcl1d6vueGhWsRylCG9RimwgViR2H7zD9kpkOc0nNym9cSpb0Gv --Lui4cf/fVwIt2HfNEGBjbM/83e2MH6b8Xp1fFAy0aXCdRtOo4LVOzJVAxn5dERMX --4JJ4d5cSFbssDN1bITOKzuytfBqRIQGNkOfizgQNWUiaFI0MhEN/icymjm1ybOIh --Gc9tzqKI4wP2X9g+u3+Oof1QaBcZ4UbZEU9ITN87Pa6XVJmpNx7A81BafWoEPFeE --ahoO4XDwlHZazDuSlOseEShxXcVwaIiqySy7OBEPBVuYdEd2Qw/z3JTx9Kw8MKnf --hu+ar5tz5dPnJIsvLeYCcJDe/K6loiZuHTtPbWEy9p6It7qubQNPBvTSBN5eVDKc --Q2bTQNCx8SAAA9C5gJiwWoQKsXJzbRFRY77P9JjuGpua3YJ2nYBHEJmF+fp1R33c --uHIyMphPMkKC4GC3/43kkMr6tck8kZbXGSYsLsBr2GkCggIBAJvvrjILQianzKcm --zAmnI6AQ+ssYesvyyrxaraeZvSqJdlLtgmOCxVANuQt5IW9djUSWwZvGL4Np1aw0 --15k6UNqhftzsE7FnrVneOsww4WXXBUcV8FKz4Bf3i9qFswILmGzmrfSf8YczRfGS --SJKzVPxwX3jwlrBmbx/pnb7dcLbFIbNcyLvl1ZJJu4BDMVRmgssTRp/5eExtQZg4 --//A4SA8wH7TO3yAMXvn8vrGgH8kfbdlEp88d1SYk3g4rP/rGB3A63NIYikIEzmJn --ICQ3wUfPJnGq3kRMWgEuyCZaCy2oNE3yrWVPJ8z3/2MJ/79ZDVNHxEeki2o1FuW+ --+nGAPq+fZIp03iy4HdVRro7dgugtc9QaSHJtNId8V4vSjviX5Oz3FxUb9AJst58S --nVV8Q2FMxBa/SlzSOkhRtCg2q1gXkzhaMnIVUleRZFGQ2uWBToxKMjcoUifIyN1J --z999bkfI4hBLq5pRSAXz+YVu5SMKa10GaawIwJLat+i+1zboF6QyI2o/Wz8nrsNq --KX/ajFGu5C94WFgsVoWKNI90KBLe48Ssje9c68waBlV/WHMg1YLvU3yqVDOV+K5c --IHB9tPMnG+AgBYZPxSzuvnLrrkj/GeKx0WI7TrvzOLRGKJo6irMEJ8IzFegASRUq --TVZKYQDYRG7m+lKlSxU+pyMAh2c9AoICAE4kavCip1eIssQjYLTGSkFPo/0iGbOv --G9CgXAE3snFWX67tWphupKrbjdMSWcQTmPD2OTg6q6zWL4twsIi6dcMooHAHsFC7 --//LyUV/SDJdxSyXohiQJ8zH1zwy35RDydnHSuF5OvLh53T44iWDI1dAEqLgAFI3J --LjTxzEpLMGiGTuYFt+ejai0WQAQayvBw4ESM9m+4CB2K0hBFTXv5y5HlnNTW0uWC --VUZUUMrbjUieDz8B/zOXi9aYSGFzmZFGUDAPSqJcSMEELemPDF7f8WNr8vi42tIV --4tlaFD1nep4F9bWMiCXU6B2RxVQi+7vcJEIqL1KUnGd3ydfD00K+ng4Xnj7Vz/cz --QE7CqrpFaXmPlCMzW6+dm51/AyhHXDLkL2od05hiXcNkJ7KMLWRqwExHVIxM3shR --x7lYNl3ArUsCrNd6m4aOjnrKFk7kjeLavHxskPccoGKrC9o0JMfTkWLgmuBJFQ0S --N/HzIbcvIFWF0Ms4ojb50yp6ziXhXfJOO/0KUQEki71XIhvw89mVZszDzD5lqzjf --HCZMBU4MbmL6NdEevFIDH0zPPkx3HPNtJt3kIJbit9wI8VhUMe+ldGnGxpWb8tKw --SfM3vrHkYr+lizk26XfXMFhdAuVtT7dzQKSNEyP/1a2Hs307Xzgiv8JulJ8QIkrX --/nsYWPOAGLG5AoICABmdW9Ppkvuhb1AEcjTWb+XCyopoBc6vit/uQWD9uO+CeX7a --cfzq+iH01CAjyVMc4E1JDc5Lpi106U+GRGcAAaPJB2Sp5NznoxaOVrb71blu4Q4x --bNjtKM/P/DXpO+yJYoOPdKtaSDhtnfNDM7H/jztJ3XIrOltKA7CcRDohbBWIx8Q0 --0uEpvfFpZZBco3yVmjP0RLgIVYn/ZDj9wGhSvFWIJ5vv6GXmtDrcHGMLxcfv7t76 --UVcMW/Yy4mYJRCzGOrWagyVijJ6MTVNciqadWcH1KcbB3EGoMFYMn61or2qJABPM --xz89IlhnROU1Re3X/QRx5t86cw6oa+FqrWMOhSs31I0dNWSuS/xDympG27YIYSDd --mv5seT78GjFmMJC5pPOLoXsbTPB0HpsX2/UL/w/eRAfilTOef/Cf9VE5MP/C2YR7 --NBxUU7/+21D6WvdtBTcZbrXWGroAo8zPP+PwX0+c6WoAvqDJvCPndp8xZhSgEJN/ --0kScptezi8n3ZHI95EA9U5mAHxHz0IhDDVzWw/z1f1SBPxKVX3+By3zaa3lrD2ch --cHq7nBkX72veEevnHUY8Z2rHE2G2jdmRfOtwm4sjL0VBV9fRRoxzJWRduKyeOtDL --EhhBhUoTrT48UnfW9hxnbNLB9P/hh+UJu9HrS2uAwHoGE1+8gcyundupGDBn -+MIICXgIBAAKBgQDF2kSVBncWIa+gxDzp+B0tlfljkIw/hrp3dkpSS2uvKfUcqtQ/ -+PkKfbUa6hpCxLczbxjMVo/SvUzNPoVbRqjsmEPdktfm/G7FHjsym1g2qSnfjo2Od -+Ktxl9H+RFzgt1s1OjVNSl26H/GRgpqEArJZs5EKUdRdGb5G13QZH7QXj2wIDAQAB -+AoGBAJLCjh7Q9eLnx+QDzH9s+Q/IcH4nSbERmh1lFEopAc6j29qQ6PGkmDy0DUPs -+70VOCOh5A4mo3aZzm9sUfVb24/nRtmyTP/AtMuIVGCsUqzI28dJRGvRlY0aSQG/C -+ILqMP69kiMNGBvuyEIiJhisOmMvDFEp7HrrXHJM9qcc217DpAkEA4nzJ9yyy2e4O -+r6/D711hdfcU/F+ktXw+pL77kSSdTABUap92Uv2RL36UA4q5h8RNvq/GrzMNm6Ye -+u2IMvBCiTQJBAN+iRbiMJCSitTg5YVMluVbT87co7jbTqk7LN1ujyIFEklm4xlHG -+DLJNgEoDR7QJtAkL++FyogC4zsQsey5voscCQQCp54trTbDuI9QIoAaQrrDKWgz4 -+NpfNPeOQm2UFQT5vIWAyjGWrZGViB8bp0UvVOcJI5nxaOiZfOYOcdrWu75uRAkAn -+67zMc9/j1lPJRJz2Dc7nDBD+ikTz7pcBV897AWLCiK4jbBOi91q+3YzgKXO8VNsZ -+nlUJasA2psbqSBJ5OJ5zAkEA2UxoMju54hASjT54Z92IzraVw4Vo8CYwOcw5fr7z -++m5xg1mmWdLBclmZ+WjARzDuTHIW6u/WCxNGg42AykWzfw== - -----END RSA PRIVATE KEY----- diff --git a/mariadb-versioning-compat.patch b/mariadb-versioning-compat.patch deleted file mode 100644 index b2e90bf..0000000 --- a/mariadb-versioning-compat.patch +++ /dev/null @@ -1,944 +0,0 @@ -The issue is Fedora has changed ABI of MySQL client library downstream since -MySQL-5.5 (in order to prevent upstream's ABI mistakes), which started to make -problems for people building on one distro and running their software on other -distro. Detailed info and whole story RHBZ#1045013 [1]. - -With collaboration of MariaDB upstream, Oracle developer and Fedora we came up -with a solution, that we'll use both libmysqlclient_16 and libmysqlclient_18 -versions for symbols, which were already in MySQL 5.1, while libmysqlclient_18 -will be default one. - -MariaDB/MySQL upstreams seem to be willing to use the same approach for RPM -packages they provide. - -[1] https://bugzilla.redhat.com/show_bug.cgi?id=1045013 -[2] https://mariadb.atlassian.net/browse/MDEV-5529 - -diff -up mariadb-5.5.34/cmake/cpack_rpm.cmake.p21 mariadb-5.5.34/cmake/cpack_rpm.cmake ---- mariadb-5.5.34/cmake/cpack_rpm.cmake.p21 2014-01-17 10:26:02.739250383 +0100 -+++ mariadb-5.5.34/cmake/cpack_rpm.cmake 2014-01-17 10:23:55.985160851 +0100 -@@ -136,7 +136,7 @@ IF(RPM MATCHES "(rhel|centos)5") - ELSEIF(RPM MATCHES "(rhel|centos)6") - ALTERNATIVE_NAME("client" "mysql") - ALTERNATIVE_NAME("shared" "mysql-libs") --ELSEIF(RPM MATCHES "fedora") -+ELSEIF(RPM MATCHES "fedora.*") - ALTERNATIVE_NAME("client" "mysql") - ALTERNATIVE_NAME("shared" "mysql-libs") - ENDIF() -diff -up mariadb-5.5.34/CMakeLists.txt.p21 mariadb-5.5.34/CMakeLists.txt ---- mariadb-5.5.34/CMakeLists.txt.p21 2013-11-20 13:28:54.000000000 +0100 -+++ mariadb-5.5.34/CMakeLists.txt 2014-01-17 10:23:20.542096502 +0100 -@@ -57,6 +57,22 @@ IF(UNIX AND NOT APPLE) - SET(WITH_PIC ${WITH_PIC_DEFAULT} CACHE BOOL "Compile with PIC.") - ENDIF() - -+# We provide compatible symbol versioning in RHEL-7/Fedora 21 and above -+SET(COMPAT_SYMBOL_VERSIONS_DEFAULT 0) -+IF(RPM MATCHES "^(rhel|centos)([0-9]*)$") -+ STRING(REGEX REPLACE "^(rhel|centos)([0-9]*)$" "\\2" RHEL_VER ${RPM}) -+ IF(RHEL_VER GREATER 6) -+ SET(COMPAT_SYMBOL_VERSIONS_DEFAULT 1) -+ ENDIF() -+ELSEIF(RPM MATCHES "^fedora([0-9]*)$") -+ STRING(REGEX REPLACE "^fedora([0-9]*)$" "\\1" FEDORA_VER ${RPM}) -+ IF(FEDORA_VER GREATER 20) -+ SET(COMPAT_SYMBOL_VERSIONS_DEFAULT 1) -+ ENDIF() -+ENDIF() -+SET(COMPAT_SYMBOL_VERSIONS ${COMPAT_SYMBOL_VERSIONS_DEFAULT} CACHE BOOL -+ "Versions of libmysqlclient symbols in compat mode") -+ - # Optionally set project name, e.g. - # foo.xcodeproj (mac) or foo.sln (windows) - SET(MYSQL_PROJECT_NAME_DOCSTRING "MySQL project name") -diff -up mariadb-5.5.34/config.h.cmake.p21 mariadb-5.5.34/config.h.cmake ---- mariadb-5.5.34/config.h.cmake.p21 2013-11-20 13:28:54.000000000 +0100 -+++ mariadb-5.5.34/config.h.cmake 2014-01-17 10:23:20.543096502 +0100 -@@ -641,4 +641,6 @@ - #cmakedefine SIZEOF_TIME_T @SIZEOF_TIME_T@ - #cmakedefine TIME_T_UNSIGNED @TIME_T_UNSIGNED@ - -+#cmakedefine COMPAT_SYMBOL_VERSIONS @COMPAT_SYMBOL_VERSIONS@ -+ - #endif -diff -up mariadb-5.5.34/libmysqld/libmysqld.def.p21 mariadb-5.5.34/libmysqld/libmysqld.def ---- mariadb-5.5.34/libmysqld/libmysqld.def.p21 2013-11-20 13:29:03.000000000 +0100 -+++ mariadb-5.5.34/libmysqld/libmysqld.def 2014-01-17 10:23:20.543096502 +0100 -@@ -104,3 +104,7 @@ EXPORTS - mysql_stmt_attr_set - mysql_stmt_field_count - mysql_get_server_name -+ handle_options -+ free_defaults -+ load_defaults -+ my_print_help -diff -up mariadb-5.5.34/libmysql/libmysql.c.p21 mariadb-5.5.34/libmysql/libmysql.c ---- mariadb-5.5.34/libmysql/libmysql.c.p21 2013-11-20 13:28:58.000000000 +0100 -+++ mariadb-5.5.34/libmysql/libmysql.c 2014-01-17 10:23:20.544096502 +0100 -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - #include "mysql.h" - #include "mysql_version.h" - #include "mysqld_error.h" -@@ -4892,3 +4893,642 @@ my_bool STDCALL mysql_read_query_result( - return (*mysql->methods->read_query_result)(mysql); - } - -+#ifndef EMBEDDED_LIBRARY -+#ifdef COMPAT_SYMBOL_VERSIONS -+ -+// Hack to provide both libmysqlclient_16 and libmysqlclient_18 symbol versions -+ -+#define SYM_16(_exportedsym) __asm__(".symver symver16_" #_exportedsym "," #_exportedsym "@libmysqlclient_16") -+ -+void STDCALL symver16_myodbc_remove_escape(MYSQL *mysql,char *name) -+{ -+ return myodbc_remove_escape(mysql, name); -+} -+SYM_16(myodbc_remove_escape); -+ -+ -+my_ulonglong STDCALL symver16_mysql_affected_rows(MYSQL *mysql) -+{ -+ return mysql_affected_rows(mysql); -+} -+SYM_16(mysql_affected_rows); -+ -+ -+my_bool STDCALL symver16_mysql_autocommit(MYSQL * mysql, my_bool auto_mode) -+{ -+ return mysql_autocommit(mysql, auto_mode); -+} -+SYM_16(mysql_autocommit); -+ -+ -+my_bool STDCALL symver16_mysql_change_user(MYSQL *mysql, const char *user, const char *passwd, const char *db) -+{ -+ return mysql_change_user(mysql, user, passwd, db); -+} -+SYM_16(mysql_change_user); -+ -+ -+const char * STDCALL symver16_mysql_character_set_name(MYSQL *mysql) -+{ -+ return mysql_character_set_name(mysql); -+} -+SYM_16(mysql_character_set_name); -+ -+ -+my_bool STDCALL symver16_mysql_commit(MYSQL * mysql) -+{ -+ return mysql_commit(mysql); -+} -+SYM_16(mysql_commit); -+ -+ -+void STDCALL symver16_mysql_data_seek(MYSQL_RES *result, my_ulonglong row) -+{ -+ return mysql_data_seek(result, row); -+} -+SYM_16(mysql_data_seek); -+ -+ -+void STDCALL symver16_mysql_debug(const char *debug __attribute__((unused))) -+{ -+ return mysql_debug(debug); -+} -+SYM_16(mysql_debug); -+ -+ -+int STDCALL symver16_mysql_dump_debug_info(MYSQL *mysql) -+{ -+ return mysql_dump_debug_info(mysql); -+} -+SYM_16(mysql_dump_debug_info); -+ -+ -+my_bool STDCALL symver16_mysql_embedded(void) -+{ -+ return mysql_embedded(); -+} -+SYM_16(mysql_embedded); -+ -+ -+my_bool STDCALL symver16_mysql_eof(MYSQL_RES *res) -+{ -+ return mysql_eof(res); -+} -+SYM_16(mysql_eof); -+ -+ -+ulong STDCALL symver16_mysql_escape_string(char *to,const char *from,ulong length) -+{ -+ return mysql_escape_string(to, from, length); -+} -+SYM_16(mysql_escape_string); -+ -+ -+MYSQL_FIELD * STDCALL symver16_mysql_fetch_field(MYSQL_RES *result) -+{ -+ return mysql_fetch_field(result); -+} -+SYM_16(mysql_fetch_field); -+ -+ -+MYSQL_FIELD * STDCALL symver16_mysql_fetch_field_direct(MYSQL_RES *res,uint fieldnr) -+{ -+ return mysql_fetch_field_direct(res, fieldnr); -+} -+SYM_16(mysql_fetch_field_direct); -+ -+ -+MYSQL_FIELD * STDCALL symver16_mysql_fetch_fields(MYSQL_RES *res) -+{ -+ return mysql_fetch_fields(res); -+} -+SYM_16(mysql_fetch_fields); -+ -+ -+unsigned int STDCALL symver16_mysql_field_count(MYSQL *mysql) -+{ -+ return mysql_field_count(mysql); -+} -+SYM_16(mysql_field_count); -+ -+ -+MYSQL_FIELD_OFFSET STDCALL symver16_mysql_field_seek(MYSQL_RES *result, MYSQL_FIELD_OFFSET field_offset) -+{ -+ return mysql_field_seek(result, field_offset); -+} -+SYM_16(mysql_field_seek); -+ -+ -+MYSQL_FIELD_OFFSET STDCALL symver16_mysql_field_tell(MYSQL_RES *res) -+{ -+ return mysql_field_tell(res); -+} -+SYM_16(mysql_field_tell); -+ -+ -+void STDCALL symver16_mysql_get_character_set_info(MYSQL *mysql, MY_CHARSET_INFO *csinfo) -+{ -+ return mysql_get_character_set_info(mysql, csinfo); -+} -+SYM_16(mysql_get_character_set_info); -+ -+ -+const char * STDCALL symver16_mysql_get_client_info(void) -+{ -+ return mysql_get_client_info(); -+} -+SYM_16(mysql_get_client_info); -+ -+ulong STDCALL symver16_mysql_get_client_version(void) -+{ -+ return mysql_get_client_version(); -+} -+SYM_16(mysql_get_client_version); -+ -+ -+const char * STDCALL symver16_mysql_get_host_info(MYSQL *mysql) -+{ -+ return mysql_get_host_info(mysql); -+} -+SYM_16(mysql_get_host_info); -+ -+ -+MYSQL_PARAMETERS *STDCALL symver16_mysql_get_parameters(void) -+{ -+ return mysql_get_parameters(); -+} -+SYM_16(mysql_get_parameters); -+ -+ -+uint STDCALL symver16_mysql_get_proto_info(MYSQL *mysql) -+{ -+ return mysql_get_proto_info(mysql); -+} -+SYM_16(mysql_get_proto_info); -+ -+ -+const char * STDCALL symver16_mysql_get_server_info(MYSQL *mysql) -+{ -+ return mysql_get_server_info(mysql); -+} -+SYM_16(mysql_get_server_info); -+ -+ -+ulong STDCALL symver16_mysql_hex_string(char *to, const char *from, ulong length) -+{ -+ return mysql_hex_string(to, from, length); -+} -+SYM_16(mysql_hex_string); -+ -+ -+const char *STDCALL symver16_mysql_info(MYSQL *mysql) -+{ -+ return mysql_info(mysql); -+} -+SYM_16(mysql_info); -+ -+ -+my_ulonglong STDCALL symver16_mysql_insert_id(MYSQL *mysql) -+{ -+ return mysql_insert_id(mysql); -+} -+SYM_16(mysql_insert_id); -+ -+ -+int STDCALL symver16_mysql_kill(MYSQL *mysql,ulong pid) -+{ -+ return mysql_kill(mysql, pid); -+} -+SYM_16(mysql_kill); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_list_dbs(MYSQL *mysql, const char *wild) -+{ -+ return mysql_list_dbs(mysql, wild); -+} -+SYM_16(mysql_list_dbs); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_list_fields(MYSQL *mysql, const char *table, const char *wild) -+{ -+ return mysql_list_fields(mysql, table, wild); -+} -+SYM_16(mysql_list_fields); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_list_processes(MYSQL *mysql) -+{ -+ return mysql_list_processes(mysql); -+} -+SYM_16(mysql_list_processes); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_list_tables(MYSQL *mysql, const char *wild) -+{ -+ return mysql_list_tables(mysql, wild); -+} -+SYM_16(mysql_list_tables); -+ -+ -+my_bool STDCALL symver16_mysql_more_results(MYSQL *mysql) -+{ -+ return mysql_more_results(mysql); -+} -+SYM_16(mysql_more_results); -+ -+ -+int STDCALL symver16_mysql_next_result(MYSQL *mysql) -+{ -+ return mysql_next_result(mysql); -+} -+SYM_16(mysql_next_result); -+ -+ -+int STDCALL symver16_mysql_ping(MYSQL *mysql) -+{ -+ return mysql_ping(mysql); -+} -+SYM_16(mysql_ping); -+ -+ -+int STDCALL symver16_mysql_query(MYSQL *mysql, const char *query) -+{ -+ return mysql_query(mysql, query); -+} -+SYM_16(mysql_query); -+ -+ -+my_bool STDCALL symver16_mysql_read_query_result(MYSQL *mysql) -+{ -+ return mysql_read_query_result(mysql); -+} -+SYM_16(mysql_read_query_result); -+ -+ -+ulong STDCALL symver16_mysql_real_escape_string(MYSQL *mysql, char *to,const char *from, ulong length) -+{ -+ return mysql_real_escape_string(mysql, to, from, length); -+} -+SYM_16(mysql_real_escape_string); -+ -+ -+int STDCALL symver16_mysql_refresh(MYSQL *mysql,uint options) -+{ -+ return mysql_refresh(mysql, options); -+} -+SYM_16(mysql_refresh); -+ -+ -+my_bool STDCALL symver16_mysql_rollback(MYSQL * mysql) -+{ -+ return mysql_rollback(mysql); -+} -+SYM_16(mysql_rollback); -+ -+ -+MYSQL_ROW_OFFSET STDCALL symver16_mysql_row_seek(MYSQL_RES *result, MYSQL_ROW_OFFSET row) -+{ -+ return mysql_row_seek(result, row); -+} -+SYM_16(mysql_row_seek); -+ -+ -+MYSQL_ROW_OFFSET STDCALL symver16_mysql_row_tell(MYSQL_RES *res) -+{ -+ return mysql_row_tell(res); -+} -+SYM_16(mysql_row_tell); -+ -+ -+void STDCALL symver16_mysql_server_end() -+{ -+ return mysql_server_end(); -+} -+SYM_16(mysql_server_end); -+ -+ -+int STDCALL symver16_mysql_server_init(int argc __attribute__((unused)), char **argv __attribute__((unused)), char **groups __attribute__((unused))) -+{ -+ return mysql_server_init(argc, argv, groups); -+} -+SYM_16(mysql_server_init); -+ -+ -+void symver16_mysql_set_local_infile_default(MYSQL *mysql) -+{ -+ return mysql_set_local_infile_default(mysql); -+} -+SYM_16(mysql_set_local_infile_default); -+ -+ -+void symver16_mysql_set_local_infile_handler(MYSQL *mysql, int (*local_infile_init)(void **, const char *, void *), int (*local_infile_read)(void *, char *, uint), void (*local_infile_end)(void *), int (*local_infile_error)(void *, char *, uint), void *userdata) -+{ -+ return mysql_set_local_infile_handler(mysql, local_infile_init, local_infile_read, local_infile_end, local_infile_error, userdata); -+} -+SYM_16(mysql_set_local_infile_handler); -+ -+ -+int STDCALL symver16_mysql_set_server_option(MYSQL *mysql, enum enum_mysql_set_option option) -+{ -+ return mysql_set_server_option(mysql, option); -+} -+SYM_16(mysql_set_server_option); -+ -+ -+int STDCALL symver16_mysql_shutdown(MYSQL *mysql, enum mysql_enum_shutdown_level shutdown_level) -+{ -+ return mysql_shutdown(mysql, shutdown_level); -+} -+SYM_16(mysql_shutdown); -+ -+ -+const char *STDCALL symver16_mysql_sqlstate(MYSQL *mysql) -+{ -+ return mysql_sqlstate(mysql); -+} -+SYM_16(mysql_sqlstate); -+ -+ -+const char * STDCALL symver16_mysql_stat(MYSQL *mysql) -+{ -+ return mysql_stat(mysql); -+} -+SYM_16(mysql_stat); -+ -+ -+my_ulonglong STDCALL symver16_mysql_stmt_affected_rows(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_affected_rows(stmt); -+} -+SYM_16(mysql_stmt_affected_rows); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_attr_get(MYSQL_STMT *stmt, enum enum_stmt_attr_type attr_type, void *value) -+{ -+ return mysql_stmt_attr_get(stmt, attr_type, value); -+} -+SYM_16(mysql_stmt_attr_get); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_attr_set(MYSQL_STMT *stmt, enum enum_stmt_attr_type attr_type, const void *value) -+{ -+ return mysql_stmt_attr_set(stmt, attr_type, value); -+} -+SYM_16(mysql_stmt_attr_set); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_bind_param(MYSQL_STMT *stmt, MYSQL_BIND *my_bind) -+{ -+ return mysql_stmt_bind_param(stmt, my_bind); -+} -+SYM_16(mysql_stmt_bind_param); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_bind_result(MYSQL_STMT *stmt, MYSQL_BIND *my_bind) -+{ -+ return mysql_stmt_bind_result(stmt, my_bind); -+} -+SYM_16(mysql_stmt_bind_result); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_close(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_close(stmt); -+} -+SYM_16(mysql_stmt_close); -+ -+ -+void STDCALL symver16_mysql_stmt_data_seek(MYSQL_STMT *stmt, my_ulonglong row) -+{ -+ return mysql_stmt_data_seek(stmt, row); -+} -+SYM_16(mysql_stmt_data_seek); -+ -+ -+uint STDCALL symver16_mysql_stmt_errno(MYSQL_STMT * stmt) -+{ -+ return mysql_stmt_errno(stmt); -+} -+SYM_16(mysql_stmt_errno); -+ -+ -+const char *STDCALL symver16_mysql_stmt_error(MYSQL_STMT * stmt) -+{ -+ return mysql_stmt_error(stmt); -+} -+SYM_16(mysql_stmt_error); -+ -+ -+int STDCALL symver16_mysql_stmt_execute(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_execute(stmt); -+} -+SYM_16(mysql_stmt_execute); -+ -+ -+int STDCALL symver16_mysql_stmt_fetch(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_fetch(stmt); -+} -+SYM_16(mysql_stmt_fetch); -+ -+ -+int STDCALL symver16_mysql_stmt_fetch_column(MYSQL_STMT *stmt, MYSQL_BIND *my_bind, uint column, ulong offset) -+{ -+ return mysql_stmt_fetch_column(stmt, my_bind, column, offset); -+} -+SYM_16(mysql_stmt_fetch_column); -+ -+ -+unsigned int STDCALL symver16_mysql_stmt_field_count(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_field_count(stmt); -+} -+SYM_16(mysql_stmt_field_count); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_free_result(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_free_result(stmt); -+} -+SYM_16(mysql_stmt_free_result); -+ -+ -+MYSQL_STMT * STDCALL symver16_mysql_stmt_init(MYSQL *mysql) -+{ -+ return mysql_stmt_init(mysql); -+} -+SYM_16(mysql_stmt_init); -+ -+ -+my_ulonglong STDCALL symver16_mysql_stmt_insert_id(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_insert_id(stmt); -+} -+SYM_16(mysql_stmt_insert_id); -+ -+ -+my_ulonglong STDCALL symver16_mysql_stmt_num_rows(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_num_rows(stmt); -+} -+SYM_16(mysql_stmt_num_rows); -+ -+ -+ulong STDCALL symver16_mysql_stmt_param_count(MYSQL_STMT * stmt) -+{ -+ return mysql_stmt_param_count(stmt); -+} -+SYM_16(mysql_stmt_param_count); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_stmt_param_metadata(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_param_metadata(stmt); -+} -+SYM_16(mysql_stmt_param_metadata); -+ -+ -+int STDCALL symver16_mysql_stmt_prepare(MYSQL_STMT *stmt, const char *query, ulong length) -+{ -+ return mysql_stmt_prepare(stmt, query, length); -+} -+SYM_16(mysql_stmt_prepare); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_reset(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_reset(stmt); -+} -+SYM_16(mysql_stmt_reset); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_stmt_result_metadata(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_result_metadata(stmt); -+} -+SYM_16(mysql_stmt_result_metadata); -+ -+ -+MYSQL_ROW_OFFSET STDCALL symver16_mysql_stmt_row_seek(MYSQL_STMT *stmt, MYSQL_ROW_OFFSET row) -+{ -+ return mysql_stmt_row_seek(stmt, row); -+} -+SYM_16(mysql_stmt_row_seek); -+ -+ -+MYSQL_ROW_OFFSET STDCALL symver16_mysql_stmt_row_tell(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_row_tell(stmt); -+} -+SYM_16(mysql_stmt_row_tell); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_send_long_data(MYSQL_STMT *stmt, uint param_number, const char *data, ulong length) -+{ -+ return mysql_stmt_send_long_data(stmt, param_number, data, length); -+} -+SYM_16(mysql_stmt_send_long_data); -+ -+ -+const char *STDCALL symver16_mysql_stmt_sqlstate(MYSQL_STMT * stmt) -+{ -+ return mysql_stmt_sqlstate(stmt); -+} -+SYM_16(mysql_stmt_sqlstate); -+ -+ -+int STDCALL symver16_mysql_stmt_store_result(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_store_result(stmt); -+} -+SYM_16(mysql_stmt_store_result); -+ -+ -+void STDCALL symver16_mysql_thread_end() -+{ -+ return mysql_thread_end(); -+} -+SYM_16(mysql_thread_end); -+ -+ -+ulong STDCALL symver16_mysql_thread_id(MYSQL *mysql) -+{ -+ return mysql_thread_id(mysql); -+} -+SYM_16(mysql_thread_id); -+ -+ -+my_bool STDCALL symver16_mysql_thread_init() -+{ -+ return mysql_thread_init(); -+} -+SYM_16(mysql_thread_init); -+ -+ -+uint STDCALL symver16_mysql_thread_safe(void) -+{ -+ return mysql_thread_safe(); -+} -+SYM_16(mysql_thread_safe); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_use_result(MYSQL *mysql) -+{ -+ return mysql_use_result(mysql); -+} -+SYM_16(mysql_use_result); -+ -+ -+uint STDCALL symver16_mysql_warning_count(MYSQL *mysql) -+{ -+ return mysql_warning_count(mysql); -+} -+SYM_16(mysql_warning_count); -+ -+/*****/ -+ -+MYSQL * STDCALL symver16_mysql_real_connect(MYSQL *mysql,const char *host, const char *user, const char *passwd, const char *db, uint port, const char *unix_socket,ulong client_flag) -+{ -+ return mysql_real_connect(mysql, host, user, passwd, db, port, unix_socket, client_flag); -+} -+SYM_16(mysql_real_connect); -+ -+/*****/ -+ -+my_bool symver16_my_init(void) -+{ -+ return my_init(); -+} -+SYM_16(my_init); -+ -+ -+void symver16_free_defaults(char **argv) -+{ -+ free_defaults(argv); -+} -+SYM_16(free_defaults); -+ -+int symver16_load_defaults(const char *conf_file, const char **groups, -+ int *argc, char ***argv) -+{ -+ return load_defaults(conf_file, groups, argc, argv); -+} -+SYM_16(load_defaults); -+ -+int symver16_handle_options(int *argc, char ***argv, -+ const struct my_option *longopts, -+ my_get_one_option get_one_option) -+{ -+ return handle_options(argc, argv, longopts, get_one_option); -+} -+SYM_16(handle_options); -+ -+void symver16_my_print_help(const struct my_option *options) -+{ -+ my_print_help(options); -+} -+SYM_16(my_print_help); -+ -+#endif -+#endif -diff -up mariadb-5.5.34/libmysql/libmysql_rpm_version.in.p21 mariadb-5.5.34/libmysql/libmysql_rpm_version.in ---- mariadb-5.5.34/libmysql/libmysql_rpm_version.in.p21 2013-11-20 13:28:52.000000000 +0100 -+++ mariadb-5.5.34/libmysql/libmysql_rpm_version.in 2014-01-17 10:23:20.544096502 +0100 -@@ -1,9 +1,20 @@ - # This version script is heavily inspired by Fedora's and Mageia's version scripts for - # MySQL client shared library. It is used in MariaDB for building RPMs. -+# -+# There used to be issues that every distro handled versions of exported -+# symbols differently. Providing both versions for older symbols (from 5.1), -+# while libmysqlclient_18 is the default one, seems like compatible solution, -+# that can be adopted by all distros. -+ -+libmysqlclient_16 -+{ -+ local: -+ symver16_*; -+}; - --libmysqlclient_16 { -+libmysqlclient_18 { - global: --@CLIENT_API_5_1_LIST@ -+ @CLIENT_API_5_1_LIST@ - - # some stuff from Mageia, I have no idea why it is there - # But too afraid to throw anything away -@@ -27,12 +38,7 @@ libmysqlclient_16 { - scramble; - # DBD::mysql requires this - is_prefix; -- local: -- *; --}; - --libmysqlclient_18 { -- global: - @CLIENT_API_5_5_LIST@ - # - # Ideally the following symbols wouldn't be exported, but various applications -@@ -59,4 +65,7 @@ libmysqlclient_18 { - # PHP's mysqli.so requires this (via the ER() macro) - mysql_client_errors; - client_errors; --}; -+ local: -+ *; -+} libmysqlclient_16; -+ -diff -up mariadb-5.5.34/sql-common/client.c.p21 mariadb-5.5.34/sql-common/client.c ---- mariadb-5.5.34/sql-common/client.c.p21 2013-11-20 13:28:57.000000000 +0100 -+++ mariadb-5.5.34/sql-common/client.c 2014-01-17 10:23:20.545096501 +0100 -@@ -4485,3 +4485,139 @@ mysql_get_socket(const MYSQL *mysql) - return mysql->net.vio->sd; - return INVALID_SOCKET; - } -+ -+ -+#ifndef EMBEDDED_LIBRARY -+#ifdef COMPAT_SYMBOL_VERSIONS -+ -+// Hack to provide both libmysqlclient_16 and libmysqlclient_18 symbol versions -+ -+#define SYM_16(_exportedsym) __asm__(".symver symver16_" #_exportedsym "," #_exportedsym "@libmysqlclient_16") -+ -+void STDCALL symver16_mysql_close(MYSQL *mysql) -+{ -+ return mysql_close(mysql); -+} -+SYM_16(mysql_close); -+ -+ -+uint STDCALL symver16_mysql_errno(MYSQL *mysql) -+{ -+ return mysql_errno(mysql); -+} -+SYM_16(mysql_errno); -+ -+ -+const char * STDCALL symver16_mysql_error(MYSQL *mysql) -+{ -+ return mysql_error(mysql); -+} -+SYM_16(mysql_error); -+ -+ -+ulong * STDCALL symver16_mysql_fetch_lengths(MYSQL_RES *res) -+{ -+ return mysql_fetch_lengths(res); -+} -+SYM_16(mysql_fetch_lengths); -+ -+ -+MYSQL_ROW STDCALL symver16_mysql_fetch_row(MYSQL_RES *res) -+{ -+ return mysql_fetch_row(res); -+} -+SYM_16(mysql_fetch_row); -+ -+ -+void STDCALL symver16_mysql_free_result(MYSQL_RES *result) -+{ -+ return mysql_free_result(result); -+} -+SYM_16(mysql_free_result); -+ -+ -+ulong STDCALL symver16_mysql_get_server_version(MYSQL *mysql) -+{ -+ return mysql_get_server_version(mysql); -+} -+SYM_16(mysql_get_server_version); -+ -+ -+const char * STDCALL symver16_mysql_get_ssl_cipher(MYSQL *mysql __attribute__((unused))) -+{ -+ return mysql_get_ssl_cipher(mysql); -+} -+SYM_16(mysql_get_ssl_cipher); -+ -+ -+MYSQL * STDCALL symver16_mysql_init(MYSQL *mysql) -+{ -+ return mysql_init(mysql); -+} -+SYM_16(mysql_init); -+ -+ -+unsigned int STDCALL symver16_mysql_num_fields(MYSQL_RES *res) -+{ -+ return mysql_num_fields(res); -+} -+SYM_16(mysql_num_fields); -+ -+ -+my_ulonglong STDCALL symver16_mysql_num_rows(MYSQL_RES *res) -+{ -+ return mysql_num_rows(res); -+} -+SYM_16(mysql_num_rows); -+ -+ -+int STDCALL symver16_mysql_options(MYSQL *mysql,enum mysql_option option, const void *arg) -+{ -+ return mysql_options(mysql, option, arg); -+} -+SYM_16(mysql_options); -+ -+ -+int STDCALL symver16_mysql_real_query(MYSQL *mysql, const char *query, ulong length) -+{ -+ return mysql_real_query(mysql, query, length); -+} -+SYM_16(mysql_real_query); -+ -+ -+int STDCALL symver16_mysql_select_db(MYSQL *mysql, const char *db) -+{ -+ return mysql_select_db(mysql, db); -+} -+SYM_16(mysql_select_db); -+ -+ -+int STDCALL symver16_mysql_send_query(MYSQL* mysql, const char* query, ulong length) -+{ -+ return mysql_send_query(mysql, query, length); -+} -+SYM_16(mysql_send_query); -+ -+ -+int STDCALL symver16_mysql_set_character_set(MYSQL *mysql, const char *cs_name) -+{ -+ return mysql_set_character_set(mysql, cs_name); -+} -+SYM_16(mysql_set_character_set); -+ -+ -+my_bool STDCALL symver16_mysql_ssl_set(MYSQL *mysql __attribute__((unused)), const char *key __attribute__((unused)), const char *cert __attribute__((unused)), const char *ca __attribute__((unused)), const char *capath __attribute__((unused)), const char *cipher __attribute__((unused))) -+{ -+ return mysql_ssl_set(mysql, key, cert, ca, capath, cipher); -+} -+SYM_16(mysql_ssl_set); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_store_result(MYSQL *mysql) -+{ -+ return mysql_store_result(mysql); -+} -+SYM_16(mysql_store_result); -+ -+#endif -+#endif -diff -up mariadb-5.5.34/sql/password.c.p21 mariadb-5.5.34/sql/password.c ---- mariadb-5.5.34/sql/password.c.p21 2013-11-20 13:28:54.000000000 +0100 -+++ mariadb-5.5.34/sql/password.c 2014-01-17 10:23:20.545096501 +0100 -@@ -536,3 +536,20 @@ void make_password_from_salt(char *to, c - *to++= PVERSION41_CHAR; - octet2hex(to, (const char*) hash_stage2, SHA1_HASH_SIZE); - } -+ -+ -+#ifndef EMBEDDED_LIBRARY -+#ifdef COMPAT_SYMBOL_VERSIONS -+ -+// Hack to provide both libmysqlclient_16 and libmysqlclient_18 symbol versions -+ -+#define SYM_16(_exportedsym) __asm__(".symver symver16_" #_exportedsym "," #_exportedsym "@libmysqlclient_16") -+ -+void symver16_my_make_scrambled_password(char *to, const char *password, size_t pass_len) -+{ -+ my_make_scrambled_password(to, password, pass_len); -+} -+SYM_16(my_make_scrambled_password); -+ -+#endif -+#endif diff --git a/mariadb.spec b/mariadb.spec index 61e7445..19c714a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -58,7 +58,6 @@ Source999: filter-requires-mysql.sh Patch1: mariadb-errno.patch Patch2: mariadb-strmov.patch Patch3: mariadb-install-test.patch -Patch4: mariadb-expired-certs.patch Patch7: mariadb-s390-tsc.patch Patch8: mariadb-logrotate.patch Patch9: mariadb-cipherspec.patch @@ -70,7 +69,6 @@ Patch17: mariadb-covscan-signexpr.patch Patch18: mariadb-covscan-stroverflow.patch Patch19: mariadb-config.patch Patch20: mariadb-ssltest.patch -Patch21: mariadb-versioning-compat.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -260,7 +258,6 @@ MariaDB is a community developed branch of MySQL. %patch1 -p1 %patch2 -p1 %patch3 -p1 -%patch4 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 @@ -272,7 +269,6 @@ MariaDB is a community developed branch of MySQL. %patch18 -p1 %patch19 -p1 %patch20 -p1 -%patch21 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt From 5b0ed2d4109f10e952f5e1c2abd1bab533a16c76 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 12 Mar 2014 11:38:27 +0100 Subject: [PATCH 100/789] Server crashes on SQL select containing more group by and left join statements using innodb tables Resolves: #1065676 --- mariadb-rhbz1065676.patch | 386 ++++++++++++++++++++++++++++++++++++++ mariadb.spec | 8 +- 2 files changed, 393 insertions(+), 1 deletion(-) create mode 100644 mariadb-rhbz1065676.patch diff --git a/mariadb-rhbz1065676.patch b/mariadb-rhbz1065676.patch new file mode 100644 index 0000000..cdb6074 --- /dev/null +++ b/mariadb-rhbz1065676.patch @@ -0,0 +1,386 @@ +Backported from mariadb-5.5.37: +https://mariadb.atlassian.net/browse/MDEV-5724 +https://bugzilla.redhat.com/show_bug.cgi?id=1065676 + +diff -up mariadb-5.5.36/mysql-test/r/stack-crash.result.rhbz1065676 mariadb-5.5.36/mysql-test/r/stack-crash.result +--- mariadb-5.5.36/mysql-test/r/stack-crash.result.rhbz1065676 2014-03-11 18:20:56.344327004 +0100 ++++ mariadb-5.5.36/mysql-test/r/stack-crash.result 2014-03-11 18:20:56.344327004 +0100 +@@ -0,0 +1,93 @@ ++drop table if exists t1,t2; ++Warnings: ++Note 1051 Unknown table 't1' ++Note 1051 Unknown table 't2' ++CREATE TABLE t1 ( ++`sspo_id` int(11) NOT NULL AUTO_INCREMENT, ++`sspo_uid` int(11) NOT NULL DEFAULT '0', ++`sspo_type` varchar(1) NOT NULL DEFAULT 'P', ++`sspo_text` longtext NOT NULL, ++`sspo_image` varchar(255) NOT NULL, ++`sspo_source` int(11) NOT NULL DEFAULT '0', ++`sspo_event_name` varchar(255) NOT NULL DEFAULT '', ++`sspo_event_location` varchar(255) NOT NULL DEFAULT '', ++`sspo_event_date` datetime DEFAULT NULL, ++`sspo_remote_title` varchar(255) NOT NULL, ++`sspo_remote_url` varchar(255) NOT NULL, ++`sspo_remote_desc` text NOT NULL, ++`sspo_remote_image` varchar(255) NOT NULL, ++`sspo_obj_status` varchar(1) NOT NULL DEFAULT 'A', ++`sspo_cr_date` datetime NOT NULL DEFAULT '1970-01-01 00:00:00', ++`sspo_cr_uid` int(11) NOT NULL DEFAULT '0', ++`sspo_lu_date` datetime NOT NULL DEFAULT '1970-01-01 00:00:00', ++`sspo_lu_uid` int(11) NOT NULL DEFAULT '0', ++PRIMARY KEY (`sspo_id`), ++KEY `post_uid` (`sspo_uid`,`sspo_cr_date`) ++) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8; ++Warnings: ++Warning 1286 Unknown storage engine 'InnoDB' ++Warning 1266 Using storage engine MyISAM for table 't1' ++INSERT INTO t1 VALUES (1,2,'P','test1','',0,'','',NULL,'','','','','A','2013-09-30 00:19:32',2,'2013-09-30 00:19:32',2),(2,2,'P','bbb','',0,'','',NULL,'','','','','A','2013-10-02 15:06:35',2,'2013-10-02 15:06:35',2); ++CREATE TABLE `t2` ( ++`spoo_id` int(11) NOT NULL AUTO_INCREMENT, ++`spoo_user_type_id` int(11) NOT NULL DEFAULT '0', ++`spoo_uid` int(11) NOT NULL DEFAULT '0', ++`spoo_option_id` int(11) NOT NULL DEFAULT '0', ++`spoo_value` varchar(10000) NOT NULL, ++`spoo_obj_status` varchar(1) NOT NULL DEFAULT 'A', ++`spoo_cr_date` datetime NOT NULL DEFAULT '1970-01-01 00:00:00', ++`spoo_cr_uid` int(11) NOT NULL DEFAULT '0', ++`spoo_lu_date` datetime NOT NULL DEFAULT '1970-01-01 00:00:00', ++`spoo_lu_uid` int(11) NOT NULL DEFAULT '0', ++PRIMARY KEY (`spoo_id`), ++KEY `object_option_main_idx` (`spoo_user_type_id`,`spoo_uid`,`spoo_option_id`,`spoo_value`(255)) ++) ENGINE=InnoDB AUTO_INCREMENT=107 DEFAULT CHARSET=utf8; ++Warnings: ++Warning 1286 Unknown storage engine 'InnoDB' ++Warning 1266 Using storage engine MyISAM for table 't2' ++INSERT INTO `t2` VALUES (19,1,2,6,'Dortmund','A','2013-09-26 01:36:51',2,'2013-09-26 01:36:51',2),(20,1,2,8,'49','A','2013-09-26 01:36:51',2,'2013-09-26 01:36:51',2); ++SELECT Count(*) ++FROM t1 AS tbl ++LEFT JOIN t2 a ++ON a.spoo_uid = sspo_uid ++AND a.spoo_option_id = 1 ++LEFT JOIN t2 b ++ON b.spoo_uid = sspo_uid ++AND b.spoo_option_id = 2 ++LEFT JOIN t2 c ++ON c.spoo_uid = sspo_uid ++AND c.spoo_option_id = 3 ++LEFT JOIN t2 d ++ON d.spoo_uid = sspo_uid ++AND d.spoo_option_id = 5 ++LEFT JOIN t2 e ++ON e.spoo_uid = sspo_uid ++AND e.spoo_option_id = 4 ++LEFT JOIN t2 f ++ON f.spoo_uid = sspo_uid ++AND f.spoo_option_id = 11 ++LEFT JOIN t2 g ++ON g.spoo_uid = sspo_uid ++AND g.spoo_option_id = 7 ++LEFT JOIN t2 h ++ON h.spoo_uid = sspo_uid ++AND h.spoo_option_id = 10 ++LEFT JOIN t2 i ++ON i.spoo_uid = sspo_uid ++AND i.spoo_option_id = 18 ++LEFT JOIN t2 j ++ON j.spoo_uid = sspo_uid ++AND j.spoo_option_id = 6 ++GROUP BY a.spoo_value, ++b.spoo_value, ++c.spoo_value, ++d.spoo_value, ++e.spoo_value, ++f.spoo_value, ++g.spoo_value, ++h.spoo_value, ++i.spoo_value, ++j.spoo_value; ++Count(*) ++2 ++drop table t1,t2; +diff -up mariadb-5.5.36/mysql-test/t/stack-crash.test.rhbz1065676 mariadb-5.5.36/mysql-test/t/stack-crash.test +--- mariadb-5.5.36/mysql-test/t/stack-crash.test.rhbz1065676 2014-03-11 18:20:56.344327004 +0100 ++++ mariadb-5.5.36/mysql-test/t/stack-crash.test 2014-03-11 18:20:56.344327004 +0100 +@@ -0,0 +1,96 @@ ++# ++# Test to ensure that we don't get stack overflows ++# ++ ++drop table if exists t1,t2; ++ ++# ++# MDEV-5724 ++# Server crashes on SQL select containing more group by and left join ++# statements ++# This was because record_buffer was 300,000 bytes and caused stack overflow ++# ++ ++CREATE TABLE t1 ( ++ `sspo_id` int(11) NOT NULL AUTO_INCREMENT, ++ `sspo_uid` int(11) NOT NULL DEFAULT '0', ++ `sspo_type` varchar(1) NOT NULL DEFAULT 'P', ++ `sspo_text` longtext NOT NULL, ++ `sspo_image` varchar(255) NOT NULL, ++ `sspo_source` int(11) NOT NULL DEFAULT '0', ++ `sspo_event_name` varchar(255) NOT NULL DEFAULT '', ++ `sspo_event_location` varchar(255) NOT NULL DEFAULT '', ++ `sspo_event_date` datetime DEFAULT NULL, ++ `sspo_remote_title` varchar(255) NOT NULL, ++ `sspo_remote_url` varchar(255) NOT NULL, ++ `sspo_remote_desc` text NOT NULL, ++ `sspo_remote_image` varchar(255) NOT NULL, ++ `sspo_obj_status` varchar(1) NOT NULL DEFAULT 'A', ++ `sspo_cr_date` datetime NOT NULL DEFAULT '1970-01-01 00:00:00', ++ `sspo_cr_uid` int(11) NOT NULL DEFAULT '0', ++ `sspo_lu_date` datetime NOT NULL DEFAULT '1970-01-01 00:00:00', ++ `sspo_lu_uid` int(11) NOT NULL DEFAULT '0', ++ PRIMARY KEY (`sspo_id`), ++ KEY `post_uid` (`sspo_uid`,`sspo_cr_date`) ++) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8; ++INSERT INTO t1 VALUES (1,2,'P','test1','',0,'','',NULL,'','','','','A','2013-09-30 00:19:32',2,'2013-09-30 00:19:32',2),(2,2,'P','bbb','',0,'','',NULL,'','','','','A','2013-10-02 15:06:35',2,'2013-10-02 15:06:35',2); ++ ++CREATE TABLE `t2` ( ++ `spoo_id` int(11) NOT NULL AUTO_INCREMENT, ++ `spoo_user_type_id` int(11) NOT NULL DEFAULT '0', ++ `spoo_uid` int(11) NOT NULL DEFAULT '0', ++ `spoo_option_id` int(11) NOT NULL DEFAULT '0', ++ `spoo_value` varchar(10000) NOT NULL, ++ `spoo_obj_status` varchar(1) NOT NULL DEFAULT 'A', ++ `spoo_cr_date` datetime NOT NULL DEFAULT '1970-01-01 00:00:00', ++ `spoo_cr_uid` int(11) NOT NULL DEFAULT '0', ++ `spoo_lu_date` datetime NOT NULL DEFAULT '1970-01-01 00:00:00', ++ `spoo_lu_uid` int(11) NOT NULL DEFAULT '0', ++ PRIMARY KEY (`spoo_id`), ++ KEY `object_option_main_idx` (`spoo_user_type_id`,`spoo_uid`,`spoo_option_id`,`spoo_value`(255)) ++) ENGINE=InnoDB AUTO_INCREMENT=107 DEFAULT CHARSET=utf8; ++INSERT INTO `t2` VALUES (19,1,2,6,'Dortmund','A','2013-09-26 01:36:51',2,'2013-09-26 01:36:51',2),(20,1,2,8,'49','A','2013-09-26 01:36:51',2,'2013-09-26 01:36:51',2); ++ ++SELECT Count(*) ++FROM t1 AS tbl ++ LEFT JOIN t2 a ++ ON a.spoo_uid = sspo_uid ++ AND a.spoo_option_id = 1 ++ LEFT JOIN t2 b ++ ON b.spoo_uid = sspo_uid ++ AND b.spoo_option_id = 2 ++ LEFT JOIN t2 c ++ ON c.spoo_uid = sspo_uid ++ AND c.spoo_option_id = 3 ++ LEFT JOIN t2 d ++ ON d.spoo_uid = sspo_uid ++ AND d.spoo_option_id = 5 ++ LEFT JOIN t2 e ++ ON e.spoo_uid = sspo_uid ++ AND e.spoo_option_id = 4 ++ LEFT JOIN t2 f ++ ON f.spoo_uid = sspo_uid ++ AND f.spoo_option_id = 11 ++ LEFT JOIN t2 g ++ ON g.spoo_uid = sspo_uid ++ AND g.spoo_option_id = 7 ++ LEFT JOIN t2 h ++ ON h.spoo_uid = sspo_uid ++ AND h.spoo_option_id = 10 ++ LEFT JOIN t2 i ++ ON i.spoo_uid = sspo_uid ++ AND i.spoo_option_id = 18 ++ LEFT JOIN t2 j ++ ON j.spoo_uid = sspo_uid ++ AND j.spoo_option_id = 6 ++GROUP BY a.spoo_value, ++ b.spoo_value, ++ c.spoo_value, ++ d.spoo_value, ++ e.spoo_value, ++ f.spoo_value, ++ g.spoo_value, ++ h.spoo_value, ++ i.spoo_value, ++ j.spoo_value; ++drop table t1,t2; +diff -up mariadb-5.5.36/storage/maria/ma_blockrec.c.rhbz1065676 mariadb-5.5.36/storage/maria/ma_blockrec.c +--- mariadb-5.5.36/storage/maria/ma_blockrec.c.rhbz1065676 2014-02-24 00:50:19.000000000 +0100 ++++ mariadb-5.5.36/storage/maria/ma_blockrec.c 2014-03-11 18:20:56.347327004 +0100 +@@ -5144,7 +5144,12 @@ my_bool _ma_cmp_block_unique(MARIA_HA *i + int error; + DBUG_ENTER("_ma_cmp_block_unique"); + +- if (!(old_record= my_alloca(info->s->base.reclength))) ++ /* ++ Don't allocate more than 16K on the stack to ensure we don't get ++ stack overflow. ++ */ ++ if (!(old_record= my_safe_alloca(info->s->base.reclength, ++ MARIA_MAX_RECORD_ON_STACK))) + DBUG_RETURN(1); + + /* Don't let the compare destroy blobs that may be in use */ +@@ -5166,7 +5171,8 @@ my_bool _ma_cmp_block_unique(MARIA_HA *i + info->rec_buff_size= org_rec_buff_size; + } + DBUG_PRINT("exit", ("result: %d", error)); +- my_afree(old_record); ++ my_safe_afree(old_record, info->s->base.reclength, ++ MARIA_MAX_RECORD_ON_STACK); + DBUG_RETURN(error != 0); + } + +diff -up mariadb-5.5.36/storage/maria/ma_dynrec.c.rhbz1065676 mariadb-5.5.36/storage/maria/ma_dynrec.c +--- mariadb-5.5.36/storage/maria/ma_dynrec.c.rhbz1065676 2014-02-24 00:50:16.000000000 +0100 ++++ mariadb-5.5.36/storage/maria/ma_dynrec.c 2014-03-11 18:20:56.348327004 +0100 +@@ -36,12 +36,6 @@ static my_bool delete_dynamic_record(MAR + static my_bool _ma_cmp_buffer(File file, const uchar *buff, my_off_t filepos, + uint length); + +-/* Play it safe; We have a small stack when using threads */ +-#undef my_alloca +-#undef my_afree +-#define my_alloca(A) my_malloc((A),MYF(0)) +-#define my_afree(A) my_free((A)) +- + /* Interface function from MARIA_HA */ + + #ifdef HAVE_MMAP +@@ -256,7 +250,8 @@ my_bool _ma_write_blob_record(MARIA_HA * + MARIA_DYN_DELETE_BLOCK_HEADER+1); + reclength= (info->s->base.pack_reclength + + _ma_calc_total_blob_length(info,record)+ extra); +- if (!(rec_buff=(uchar*) my_alloca(reclength))) ++ if (!(rec_buff=(uchar*) my_safe_alloca(reclength, ++ MARIA_MAX_RECORD_ON_STACK))) + { + my_errno= HA_ERR_OUT_OF_MEM; /* purecov: inspected */ + return(1); +@@ -270,7 +265,7 @@ my_bool _ma_write_blob_record(MARIA_HA * + error= write_dynamic_record(info, + rec_buff+ALIGN_SIZE(MARIA_MAX_DYN_BLOCK_HEADER), + reclength2); +- my_afree(rec_buff); ++ my_safe_afree(rec_buff, reclength, MARIA_MAX_RECORD_ON_STACK); + return(error != 0); + } + +@@ -294,7 +289,8 @@ my_bool _ma_update_blob_record(MARIA_HA + return 1; + } + #endif +- if (!(rec_buff=(uchar*) my_alloca(reclength))) ++ if (!(rec_buff=(uchar*) my_safe_alloca(reclength, ++ MARIA_MAX_RECORD_ON_STACK))) + { + my_errno= HA_ERR_OUT_OF_MEM; /* purecov: inspected */ + return(1); +@@ -304,7 +300,7 @@ my_bool _ma_update_blob_record(MARIA_HA + error=update_dynamic_record(info,pos, + rec_buff+ALIGN_SIZE(MARIA_MAX_DYN_BLOCK_HEADER), + reclength); +- my_afree(rec_buff); ++ my_safe_afree(rec_buff, reclength, MARIA_MAX_RECORD_ON_STACK); + return(error != 0); + } + +@@ -1559,7 +1555,8 @@ my_bool _ma_cmp_dynamic_unique(MARIA_HA + my_bool error; + DBUG_ENTER("_ma_cmp_dynamic_unique"); + +- if (!(old_record=my_alloca(info->s->base.reclength))) ++ if (!(old_record= my_safe_alloca(info->s->base.reclength, ++ MARIA_MAX_RECORD_ON_STACK))) + DBUG_RETURN(1); + + /* Don't let the compare destroy blobs that may be in use */ +@@ -1580,7 +1577,8 @@ my_bool _ma_cmp_dynamic_unique(MARIA_HA + info->rec_buff= old_rec_buff; + info->rec_buff_size= old_rec_buff_size; + } +- my_afree(old_record); ++ my_safe_afree(old_record, info->s->base.reclength, ++ MARIA_MAX_RECORD_ON_STACK); + DBUG_RETURN(error); + } + +@@ -1595,6 +1593,9 @@ my_bool _ma_cmp_dynamic_record(register + uchar *buffer; + MARIA_BLOCK_INFO block_info; + my_bool error= 1; ++ size_t buffer_length; ++ LINT_INIT(buffer_length); ++ + DBUG_ENTER("_ma_cmp_dynamic_record"); + + if (info->opt_flag & WRITE_CACHE_USED) +@@ -1612,8 +1613,10 @@ my_bool _ma_cmp_dynamic_record(register + { /* If check isn't disabled */ + if (info->s->base.blobs) + { +- if (!(buffer=(uchar*) my_alloca(info->s->base.pack_reclength+ +- _ma_calc_total_blob_length(info,record)))) ++ buffer_length= (info->s->base.pack_reclength + ++ _ma_calc_total_blob_length(info,record)); ++ if (!(buffer=(uchar*) my_safe_alloca(buffer_length, ++ MARIA_MAX_RECORD_ON_STACK))) + DBUG_RETURN(1); + } + reclength= _ma_rec_pack(info,buffer,record); +@@ -1665,7 +1668,7 @@ my_bool _ma_cmp_dynamic_record(register + error= 0; + err: + if (buffer != info->rec_buff) +- my_afree(buffer); ++ my_safe_afree(buffer, buffer_length, MARIA_MAX_RECORD_ON_STACK); + DBUG_PRINT("exit", ("result: %d", error)); + DBUG_RETURN(error); + } +diff -up mariadb-5.5.36/storage/maria/maria_def.h.rhbz1065676 mariadb-5.5.36/storage/maria/maria_def.h +--- mariadb-5.5.36/storage/maria/maria_def.h.rhbz1065676 2014-02-24 00:50:21.000000000 +0100 ++++ mariadb-5.5.36/storage/maria/maria_def.h 2014-03-11 18:20:56.348327004 +0100 +@@ -42,6 +42,7 @@ + + #define MAX_NONMAPPED_INSERTS 1000 + #define MARIA_MAX_TREE_LEVELS 32 ++#define MARIA_MAX_RECORD_ON_STACK 16384 + + /* maria_open() flag, specific for maria_pack */ + #define HA_OPEN_IGNORE_MOVED_STATE (1U << 30) +diff -up mariadb-5.5.36/storage/maria/maria_pack.c.rhbz1065676 mariadb-5.5.36/storage/maria/maria_pack.c +--- mariadb-5.5.36/storage/maria/maria_pack.c.rhbz1065676 2014-02-24 00:50:16.000000000 +0100 ++++ mariadb-5.5.36/storage/maria/maria_pack.c 2014-03-11 18:20:56.351327005 +0100 +@@ -861,7 +861,7 @@ static int get_statistic(PACK_MRG_INFO * + + reclength= mrg->file[0]->s->base.reclength; + null_bytes= mrg->file[0]->s->base.null_bytes; +- record=(uchar*) my_alloca(reclength); ++ record=(uchar*) my_safe_alloca(reclength, MARIA_MAX_RECORD_ON_STACK); + end_count=huff_counts+mrg->file[0]->s->base.fields; + record_count=0; glob_crc=0; + max_blob_length=0; +@@ -1145,7 +1145,7 @@ static int get_statistic(PACK_MRG_INFO * + + mrg->records=record_count; + mrg->max_blob_length=max_blob_length; +- my_afree(record); ++ my_safe_afree(record, reclength, MARIA_MAX_RECORD_ON_STACK); + DBUG_RETURN(error != HA_ERR_END_OF_FILE); + } + +@@ -2415,7 +2415,8 @@ static int compress_maria_file(PACK_MRG_ + DBUG_ENTER("compress_maria_file"); + + /* Allocate a buffer for the records (excluding blobs). */ +- if (!(record=(uchar*) my_alloca(isam_file->s->base.reclength))) ++ if (!(record=(uchar*) my_safe_alloca(isam_file->s->base.reclength, ++ MARIA_MAX_RECORD_ON_STACK))) + return -1; + + end_count=huff_counts+isam_file->s->base.fields; +@@ -2778,7 +2779,8 @@ static int compress_maria_file(PACK_MRG_ + if (verbose >= 2) + printf("wrote %s records.\n", llstr((longlong) record_count, llbuf)); + +- my_afree(record); ++ my_safe_afree(record, isam_file->s->base.reclength, ++ MARIA_MAX_RECORD_ON_STACK); + mrg->ref_length=max_pack_length; + mrg->min_pack_length=max_record_length ? min_record_length : 0; + mrg->max_pack_length=max_record_length; diff --git a/mariadb.spec b/mariadb.spec index 19c714a..d91bc97 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 5.5.36 -Release: 1%{?dist} +Release: 2%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -69,6 +69,7 @@ Patch17: mariadb-covscan-signexpr.patch Patch18: mariadb-covscan-stroverflow.patch Patch19: mariadb-config.patch Patch20: mariadb-ssltest.patch +Patch21: mariadb-rhbz1065676.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -269,6 +270,7 @@ MariaDB is a community developed branch of MySQL. %patch18 -p1 %patch19 -p1 %patch20 -p1 +%patch21 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -804,6 +806,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Mar 12 2014 Honza Horak - 1:5.5.36-2 +- Server crashes on SQL select containing more group by and left join statements using innodb tables + Resolves: #1065676 + * Thu Mar 06 2014 Honza Horak - 1:5.5.36-1 - Rebase to 5.5.36 https://kb.askmonty.org/en/mariadb-5536-changelog/ From 41a1c5712baa20eec064f3dd3acb43881b983640 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 13 Mar 2014 13:25:10 +0100 Subject: [PATCH 101/789] Fix paths in helper scripts --- mariadb-check-socket | 2 +- mariadb-prepare-db-dir | 2 +- mariadb-wait-ready | 2 +- mariadb.spec | 1 + 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/mariadb-check-socket b/mariadb-check-socket index 1561344..90e835b 100644 --- a/mariadb-check-socket +++ b/mariadb-check-socket @@ -5,7 +5,7 @@ # positive result when starting and mysqld_safe could remove # a socket file, which is actually being used by a different daemon. -source ./mariadb-scripts-common +source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" if fuser "$socketfile" &>/dev/null ; then echo "Socket file $socketfile exists." >&2 diff --git a/mariadb-prepare-db-dir b/mariadb-prepare-db-dir index c2e82ec..8265747 100644 --- a/mariadb-prepare-db-dir +++ b/mariadb-prepare-db-dir @@ -3,7 +3,7 @@ # This script creates the mysql data directory during first service start. # In subsequent starts, it does nothing much. -source ./mariadb-scripts-common +source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" # Absorb configuration settings from the specified systemd service file, # or the default "mariadb" service if not specified diff --git a/mariadb-wait-ready b/mariadb-wait-ready index 9db35e5..ad1392b 100644 --- a/mariadb-wait-ready +++ b/mariadb-wait-ready @@ -1,6 +1,6 @@ #!/bin/sh -source ./mariadb-scripts-common +source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" # This script waits for mysqld to be ready to accept connections # (which can be many seconds or even minutes after launch, if there's diff --git a/mariadb.spec b/mariadb.spec index d91bc97..9ce2149 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -809,6 +809,7 @@ fi * Wed Mar 12 2014 Honza Horak - 1:5.5.36-2 - Server crashes on SQL select containing more group by and left join statements using innodb tables Resolves: #1065676 +- Fix paths in helper scripts * Thu Mar 06 2014 Honza Horak - 1:5.5.36-1 - Rebase to 5.5.36 From d42fd789781d90ed21a91ceb459daf44d1286b4d Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 25 Mar 2014 19:34:29 +0100 Subject: [PATCH 102/789] Move language files to the mariadb directory --- mariadb.spec | 89 ++++++++++++++++++++++++++-------------------------- 1 file changed, 45 insertions(+), 44 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 9ce2149..e3efd4f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -336,13 +336,13 @@ cmake . -DBUILD_CONFIG=mysql_release \ -DINSTALL_INFODIR=share/info \ -DINSTALL_LIBDIR="%{_lib}/mysql" \ -DINSTALL_MANDIR=share/man \ - -DINSTALL_MYSQLSHAREDIR=share/mysql \ + -DINSTALL_MYSQLSHAREDIR=share/%{name} \ -DINSTALL_MYSQLTESTDIR=share/mysql-test \ -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ -DINSTALL_SBINDIR=libexec \ -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_SQLBENCHDIR=share \ - -DINSTALL_SUPPORTFILESDIR=share/mysql \ + -DINSTALL_SUPPORTFILESDIR=share/%{name} \ -DMYSQL_DATADIR="%{_localstatedir}/lib/mysql" \ -DMYSQL_UNIX_ADDR="%{_localstatedir}/lib/mysql/mysql.sock" \ -DENABLED_LOCAL_INFILE=ON \ @@ -472,7 +472,7 @@ mkdir -p $RPM_BUILD_ROOT%{_tmpfilesdir} install -p -m 0644 %{SOURCE10} $RPM_BUILD_ROOT%{_tmpfilesdir}/%{name}.conf # Fix funny permissions that cmake build scripts apply to config files -chmod 644 ${RPM_BUILD_ROOT}%{_datadir}/mysql/config.*.ini +chmod 644 ${RPM_BUILD_ROOT}%{_datadir}/%{name}/config.*.ini # Fix scripts for multilib safety mv ${RPM_BUILD_ROOT}%{_bindir}/mysql_config ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysql_config @@ -499,18 +499,18 @@ ln -s ../../../../../bin/my_safe_process ${RPM_BUILD_ROOT}%{_datadir}/mysql-test # should move this to /etc/ ? 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}%{_datadir}/%{name}/binary-configure +rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/magic +rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/ndb-config-2-node.ini +rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/mysql.server +rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/mysqld_multi.server rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-stress-test.pl.1* rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-test-run.pl.1* rm -f ${RPM_BUILD_ROOT}%{_bindir}/mytop # 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/%{name} +mv ${RPM_BUILD_ROOT}%{_datadir}/%{name}/mysql-log-rotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/%{name} chmod 644 $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/%{name} mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d @@ -524,7 +524,7 @@ cp -p %{SOURCE7} README.mysql-license install -p -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/mysql-test # remove unneeded RHEL-4 SELinux stuff -rm -rf ${RPM_BUILD_ROOT}%{_datadir}/mysql/SELinux/ +rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/SELinux/ # remove SysV init script rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/init.d/mysql @@ -533,7 +533,7 @@ rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/init.d/mysql rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/mysql # remove solaris files -rm -rf ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/ +rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/solaris/ %post devel %{_sbindir}/update-alternatives --install %{_bindir}/mysql_config \ @@ -651,31 +651,31 @@ fi %{_libdir}/mysql/libmysqlclient.so.* %{_sysconfdir}/ld.so.conf.d/* -%dir %{_datadir}/mysql -%{_datadir}/mysql/english -%lang(cs) %{_datadir}/mysql/czech -%lang(da) %{_datadir}/mysql/danish -%lang(nl) %{_datadir}/mysql/dutch -%lang(et) %{_datadir}/mysql/estonian -%lang(fr) %{_datadir}/mysql/french -%lang(de) %{_datadir}/mysql/german -%lang(el) %{_datadir}/mysql/greek -%lang(hu) %{_datadir}/mysql/hungarian -%lang(it) %{_datadir}/mysql/italian -%lang(ja) %{_datadir}/mysql/japanese -%lang(ko) %{_datadir}/mysql/korean -%lang(no) %{_datadir}/mysql/norwegian -%lang(no) %{_datadir}/mysql/norwegian-ny -%lang(pl) %{_datadir}/mysql/polish -%lang(pt) %{_datadir}/mysql/portuguese -%lang(ro) %{_datadir}/mysql/romanian -%lang(ru) %{_datadir}/mysql/russian -%lang(sr) %{_datadir}/mysql/serbian -%lang(sk) %{_datadir}/mysql/slovak -%lang(es) %{_datadir}/mysql/spanish -%lang(sv) %{_datadir}/mysql/swedish -%lang(uk) %{_datadir}/mysql/ukrainian -%{_datadir}/mysql/charsets +%dir %{_datadir}/%{name} +%{_datadir}/%{name}/english +%lang(cs) %{_datadir}/%{name}/czech +%lang(da) %{_datadir}/%{name}/danish +%lang(nl) %{_datadir}/%{name}/dutch +%lang(et) %{_datadir}/%{name}/estonian +%lang(fr) %{_datadir}/%{name}/french +%lang(de) %{_datadir}/%{name}/german +%lang(el) %{_datadir}/%{name}/greek +%lang(hu) %{_datadir}/%{name}/hungarian +%lang(it) %{_datadir}/%{name}/italian +%lang(ja) %{_datadir}/%{name}/japanese +%lang(ko) %{_datadir}/%{name}/korean +%lang(no) %{_datadir}/%{name}/norwegian +%lang(no) %{_datadir}/%{name}/norwegian-ny +%lang(pl) %{_datadir}/%{name}/polish +%lang(pt) %{_datadir}/%{name}/portuguese +%lang(ro) %{_datadir}/%{name}/romanian +%lang(ru) %{_datadir}/%{name}/russian +%lang(sr) %{_datadir}/%{name}/serbian +%lang(sk) %{_datadir}/%{name}/slovak +%lang(es) %{_datadir}/%{name}/spanish +%lang(sv) %{_datadir}/%{name}/swedish +%lang(uk) %{_datadir}/%{name}/ukrainian +%{_datadir}/%{name}/charsets %files server %doc support-files/*.cnf @@ -749,14 +749,14 @@ fi %{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man8/mysqld.8* -%{_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/mysql_performance_tables.sql -%{_datadir}/mysql/my-*.cnf -%{_datadir}/mysql/config.*.ini +%{_datadir}/%{name}/errmsg-utf8.txt +%{_datadir}/%{name}/fill_help_tables.sql +%{_datadir}/%{name}/mysql_system_tables.sql +%{_datadir}/%{name}/mysql_system_tables_data.sql +%{_datadir}/%{name}/mysql_test_data_timezone.sql +%{_datadir}/%{name}/mysql_performance_tables.sql +%{_datadir}/%{name}/my-*.cnf +%{_datadir}/%{name}/config.*.ini %{_unitdir}/mysqld.service %{_unitdir}/%{name}.service @@ -810,6 +810,7 @@ fi - Server crashes on SQL select containing more group by and left join statements using innodb tables Resolves: #1065676 - Fix paths in helper scripts +- Move language files into mariadb directory * Thu Mar 06 2014 Honza Horak - 1:5.5.36-1 - Rebase to 5.5.36 From 6aba9be8ec8806d5561528d0c8e8f3db54bd4359 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Mon, 7 Apr 2014 21:07:33 +0200 Subject: [PATCH 103/789] mariadb-10.0.10 - sources and patches --- .gitignore | 1 + mariadb-basedir.patch | 6 +- mariadb-cipherspec.patch | 60 ++--- mariadb-config.patch | 12 +- mariadb-covscan-signexpr.patch | 8 +- mariadb-covscan-stroverflow.patch | 33 +-- mariadb-dh1024.patch | 8 +- mariadb-errno.patch | 15 +- mariadb-file-contents.patch | 6 +- mariadb-install-test.patch | 6 +- mariadb-logrotate.patch | 6 +- mariadb-rhbz1065676.patch | 386 ------------------------------ mariadb-s390-tsc.patch | 12 +- mariadb-ssltest.patch | 12 +- mariadb-string-overflow.patch | 37 +-- mariadb-strmov.patch | 10 +- mariadb.spec | 36 ++- sources | 2 +- 18 files changed, 114 insertions(+), 542 deletions(-) delete mode 100644 mariadb-rhbz1065676.patch diff --git a/.gitignore b/.gitignore index e92f058..48adbbc 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /mariadb-5.5.34.tar.gz /mariadb-5.5.35.tar.gz /mariadb-5.5.36.tar.gz +/mariadb-10.0.10.tar.gz diff --git a/mariadb-basedir.patch b/mariadb-basedir.patch index f5a5ebf..eb71f70 100644 --- a/mariadb-basedir.patch +++ b/mariadb-basedir.patch @@ -1,9 +1,9 @@ Don't guess basedir in mysql_config; we place it under _libdir because of multilib conflicts, so use rather configured @prefix@ path directly. -diff -up mariadb-5.5.29/scripts/mysql_config.sh.basedir mariadb-5.5.29/scripts/mysql_config.sh ---- mariadb-5.5.29/scripts/mysql_config.sh.basedir 2013-02-28 09:39:26.628440114 +0100 -+++ mariadb-5.5.29/scripts/mysql_config.sh 2013-02-28 09:39:40.613439729 +0100 +diff -up mariadb-10.0.10/scripts/mysql_config.sh.p10 mariadb-10.0.10/scripts/mysql_config.sh +--- mariadb-10.0.10/scripts/mysql_config.sh.p10 2014-03-30 19:56:39.000000000 +0200 ++++ mariadb-10.0.10/scripts/mysql_config.sh 2014-04-07 18:54:19.601390650 +0200 @@ -76,7 +76,7 @@ get_full_path () me=`get_full_path $0` diff --git a/mariadb-cipherspec.patch b/mariadb-cipherspec.patch index 57e2c2b..55804bd 100644 --- a/mariadb-cipherspec.patch +++ b/mariadb-cipherspec.patch @@ -4,10 +4,10 @@ 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 mariadb-5.5.28a/client/mysqltest.cc.p18 mariadb-5.5.28a/client/mysqltest.cc ---- mariadb-5.5.28a/client/mysqltest.cc.p18 2012-11-28 16:49:36.000000000 +0100 -+++ mariadb-5.5.28a/client/mysqltest.cc 2012-12-17 17:40:01.685079912 +0100 -@@ -5808,6 +5808,7 @@ void do_connect(struct st_command *comma +diff -up --recursive mariadb-10.0.10.p6/client/mysqltest.cc mariadb-10.0.10/client/mysqltest.cc +--- mariadb-10.0.10.p6/client/mysqltest.cc 2014-03-30 19:56:39.000000000 +0200 ++++ mariadb-10.0.10/client/mysqltest.cc 2014-04-07 17:21:33.840148449 +0200 +@@ -5872,6 +5872,7 @@ void do_connect(struct st_command *comma my_bool con_pipe= 0; my_bool con_shm __attribute__ ((unused))= 0; struct st_connection* con_slot; @@ -15,7 +15,7 @@ diff -up mariadb-5.5.28a/client/mysqltest.cc.p18 mariadb-5.5.28a/client/mysqltes static DYNAMIC_STRING ds_connection_name; static DYNAMIC_STRING ds_host; -@@ -5898,6 +5899,8 @@ void do_connect(struct st_command *comma +@@ -5962,6 +5963,8 @@ void do_connect(struct st_command *comma con_pipe= 1; else if (length == 3 && !strncmp(con_options, "SHM", 3)) con_shm= 1; @@ -24,22 +24,22 @@ diff -up mariadb-5.5.28a/client/mysqltest.cc.p18 mariadb-5.5.28a/client/mysqltes else die("Illegal option to connect: %.*s", (int) (end - con_options), con_options); -@@ -5945,8 +5948,11 @@ void do_connect(struct st_command *comma +@@ -6011,8 +6014,11 @@ void do_connect(struct st_command *comma if (con_ssl) { #if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY) -+ /* default cipher */ ++ /* default cipher */ + if (con_cipher == NULL && opt_ssl_cipher != NULL) + con_cipher = opt_ssl_cipher; 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 mariadb-5.5.28a/mysql-test/t/openssl_1.test.p18 mariadb-5.5.28a/mysql-test/t/openssl_1.test ---- mariadb-5.5.28a/mysql-test/t/openssl_1.test.p18 2012-11-28 16:49:36.000000000 +0100 -+++ mariadb-5.5.28a/mysql-test/t/openssl_1.test 2012-12-17 17:27:31.884891180 +0100 +diff -up --recursive mariadb-10.0.10.p6/mysql-test/t/openssl_1.test mariadb-10.0.10/mysql-test/t/openssl_1.test +--- mariadb-10.0.10.p6/mysql-test/t/openssl_1.test 2014-03-30 19:56:53.000000000 +0200 ++++ mariadb-10.0.10/mysql-test/t/openssl_1.test 2014-04-07 17:58:49.924934666 +0200 @@ -20,13 +20,13 @@ grant select on test.* to ssl_user4@loca grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; flush privileges; @@ -77,21 +77,9 @@ diff -up mariadb-5.5.28a/mysql-test/t/openssl_1.test.p18 mariadb-5.5.28a/mysql-t SHOW STATUS LIKE 'Ssl_cipher'; disconnect con1; connection default; -diff -up mariadb-5.5.28a/mysql-test/t/ssl_8k_key.test.p18 mariadb-5.5.28a/mysql-test/t/ssl_8k_key.test ---- mariadb-5.5.28a/mysql-test/t/ssl_8k_key.test.p18 2012-11-28 16:49:46.000000000 +0100 -+++ mariadb-5.5.28a/mysql-test/t/ssl_8k_key.test 2012-12-17 17:27:31.885891180 +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 mariadb-5.5.28a/mysql-test/t/ssl_compress.test.p18 mariadb-5.5.28a/mysql-test/t/ssl_compress.test ---- mariadb-5.5.28a/mysql-test/t/ssl_compress.test.p18 2012-11-28 16:49:46.000000000 +0100 -+++ mariadb-5.5.28a/mysql-test/t/ssl_compress.test 2012-12-17 17:27:31.885891180 +0100 +diff -up --recursive mariadb-10.0.10.p6/mysql-test/t/ssl_compress.test mariadb-10.0.10/mysql-test/t/ssl_compress.test +--- mariadb-10.0.10.p6/mysql-test/t/ssl_compress.test 2014-03-30 19:56:35.000000000 +0200 ++++ mariadb-10.0.10/mysql-test/t/ssl_compress.test 2014-04-07 18:00:39.199845919 +0200 @@ -8,7 +8,7 @@ # Save the initial number of concurrent sessions --source include/count_sessions.inc @@ -101,9 +89,9 @@ diff -up mariadb-5.5.28a/mysql-test/t/ssl_compress.test.p18 mariadb-5.5.28a/mysq # Check ssl turned on SHOW STATUS LIKE 'Ssl_cipher'; -diff -up mariadb-5.5.28a/mysql-test/t/ssl.test.p18 mariadb-5.5.28a/mysql-test/t/ssl.test ---- mariadb-5.5.28a/mysql-test/t/ssl.test.p18 2012-11-28 16:49:46.000000000 +0100 -+++ mariadb-5.5.28a/mysql-test/t/ssl.test 2012-12-17 17:27:31.885891180 +0100 +diff -up --recursive mariadb-10.0.10.p6/mysql-test/t/ssl.test mariadb-10.0.10/mysql-test/t/ssl.test +--- mariadb-10.0.10.p6/mysql-test/t/ssl.test 2014-03-30 19:56:36.000000000 +0200 ++++ mariadb-10.0.10/mysql-test/t/ssl.test 2014-04-07 18:01:14.270854601 +0200 @@ -8,7 +8,7 @@ # Save the initial number of concurrent sessions --source include/count_sessions.inc @@ -113,3 +101,15 @@ diff -up mariadb-5.5.28a/mysql-test/t/ssl.test.p18 mariadb-5.5.28a/mysql-test/t/ # Check ssl turned on SHOW STATUS LIKE 'Ssl_cipher'; +diff -up --recursive mariadb-10.0.10.p6/mysql-test/t/ssl_8k_key.test mariadb-10.0.10/mysql-test/t/ssl_8k_key.test +--- mariadb-10.0.10.p6/mysql-test/t/ssl_8k_key.test 2014-03-30 19:56:36.000000000 +0200 ++++ mariadb-10.0.10/mysql-test/t/ssl_8k_key.test 2014-04-07 17:59:31.586757044 +0200 +@@ -5,7 +5,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/mariadb-config.patch b/mariadb-config.patch index 5034890..b07306f 100644 --- a/mariadb-config.patch +++ b/mariadb-config.patch @@ -6,15 +6,15 @@ Settings in my.cnf are generic for all MySQL implementations because of conflict issues. RHBZ#1003115 -diff -up mariadb-5.5.32/support-files/rpm/server.cnf.mariaconf mariadb-5.5.32/support-files/rpm/server.cnf ---- mariadb-5.5.32/support-files/rpm/server.cnf.mariaconf 2013-09-02 14:17:37.277833263 +0200 -+++ mariadb-5.5.32/support-files/rpm/server.cnf 2013-09-02 14:18:00.638810223 +0200 -@@ -23,6 +23,8 @@ +diff -up mariadb-10.0.10/support-files/rpm/server.cnf.p13 mariadb-10.0.10/support-files/rpm/server.cnf +--- mariadb-10.0.10/support-files/rpm/server.cnf.p13 2014-04-07 20:12:54.260193809 +0200 ++++ mariadb-10.0.10/support-files/rpm/server.cnf 2014-04-07 20:12:24.758256491 +0200 +@@ -18,6 +18,8 @@ # If you use the same .cnf file for MySQL and MariaDB, # you can put MariaDB-only options here [mariadb] +log-error=/var/log/mariadb/mariadb.log +pid-file=/var/run/mariadb/mariadb.pid - [mariadb-5.5] - + # This group is only read by MariaDB-10.0 servers. + # If you use the same .cnf file for MariaDB of different versions, diff --git a/mariadb-covscan-signexpr.patch b/mariadb-covscan-signexpr.patch index 1bbb3db..5eec94a 100644 --- a/mariadb-covscan-signexpr.patch +++ b/mariadb-covscan-signexpr.patch @@ -2,10 +2,10 @@ This issue has been found by Coverity - static analysis tool. mysql-5.5.31/strings/ctype-ucs2.c:1707:sign_extension – Suspicious implicit sign extension: "s[0]" with type "unsigned char" (8 bits, unsigned) is promoted in "(s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3]" to type "int" (32 bits, signed), then sign-extended to type "unsigned long" (64 bits, unsigned). If "(s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3]" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. -diff -up mysql-5.5.31/strings/ctype-ucs2.c.covscan1 mysql-5.5.31/strings/ctype-ucs2.c ---- mysql-5.5.31/strings/ctype-ucs2.c.covscan1 2013-06-14 12:12:29.663300314 +0200 -+++ mysql-5.5.31/strings/ctype-ucs2.c 2013-06-14 12:13:07.809299646 +0200 -@@ -1704,7 +1704,7 @@ my_utf32_uni(CHARSET_INFO *cs __attribut +diff -up mariadb-10.0.10/strings/ctype-ucs2.c.p11 mariadb-10.0.10/strings/ctype-ucs2.c +--- mariadb-10.0.10/strings/ctype-ucs2.c.p11 2014-03-30 19:56:37.000000000 +0200 ++++ mariadb-10.0.10/strings/ctype-ucs2.c 2014-04-07 18:56:01.145454666 +0200 +@@ -1930,7 +1930,7 @@ my_utf32_uni(CHARSET_INFO *cs __attribut { if (s + 4 > e) return MY_CS_TOOSMALL4; diff --git a/mariadb-covscan-stroverflow.patch b/mariadb-covscan-stroverflow.patch index d671b45..4eb6e8b 100644 --- a/mariadb-covscan-stroverflow.patch +++ b/mariadb-covscan-stroverflow.patch @@ -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 mariadb-10.0.10/plugin/semisync/semisync_master.cc.p12 mariadb-10.0.10/plugin/semisync/semisync_master.cc +--- mariadb-10.0.10/plugin/semisync/semisync_master.cc.p12 2014-03-30 19:56:37.000000000 +0200 ++++ mariadb-10.0.10/plugin/semisync/semisync_master.cc 2014-04-07 20:02:49.614944992 +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 +@@ -661,7 +662,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 +@@ -672,7 +674,8 @@ int ReplSemiSyncMaster::commitTrx(const } else { @@ -42,8 +42,8 @@ diff -up mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow mys 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 +--- mariadb-10.0.10/sql/rpl_handler.cc.p12 2014-03-30 19:56:34.000000000 +0200 ++++ mariadb-10.0.10/sql/rpl_handler.cc 2014-04-07 20:07:58.851123497 +0200 @@ -303,7 +303,8 @@ int Binlog_storage_delegate::after_flush my_pthread_setspecific_ptr(RPL_TRANS_BINLOG_INFO, log_info); } @@ -54,20 +54,3 @@ mysql-5.5.31/sql/rpl_handler.cc:306:fixed_size_dest – You might overrun the 51 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'; - -- strncpy(m_message, msg, MYSQL_ERRMSG_SIZE); -+ strncpy(m_message, msg, sizeof(m_message)-1); -+ m_message[sizeof(m_message)-1] = '\0'; - } - - void clear() diff --git a/mariadb-dh1024.patch b/mariadb-dh1024.patch index 620ee0b..93f53ad 100644 --- a/mariadb-dh1024.patch +++ b/mariadb-dh1024.patch @@ -5,9 +5,9 @@ mode is on, but it doesn't seem worth the trouble.) The new parameter value was generated using "openssl dhparam -C 1024". -diff -Naur mysql-5.5.28.orig/vio/viosslfactories.c mysql-5.5.28/vio/viosslfactories.c ---- mysql-5.5.28.orig/vio/viosslfactories.c 2012-08-29 04:50:46.000000000 -0400 -+++ mysql-5.5.28/vio/viosslfactories.c 2012-11-15 11:19:38.575701435 -0500 +diff -up mariadb-10.0.10/vio/viosslfactories.c.p9 mariadb-10.0.10/vio/viosslfactories.c +--- mariadb-10.0.10/vio/viosslfactories.c.p9 2014-03-30 19:56:42.000000000 +0200 ++++ mariadb-10.0.10/vio/viosslfactories.c 2014-04-07 18:50:55.068255050 +0200 @@ -20,27 +20,32 @@ static my_bool ssl_algorithms_added = FALSE; static my_bool ssl_error_strings_loaded= FALSE; @@ -52,7 +52,7 @@ diff -Naur mysql-5.5.28.orig/vio/viosslfactories.c mysql-5.5.28/vio/viosslfactor if (! dh->p || ! dh->g) { DH_free(dh); -@@ -255,7 +260,7 @@ +@@ -282,7 +287,7 @@ new_VioSSLFd(const char *key_file, const } /* DH stuff */ diff --git a/mariadb-errno.patch b/mariadb-errno.patch index 8c1c10c..8901403 100644 --- a/mariadb-errno.patch +++ b/mariadb-errno.patch @@ -1,11 +1,8 @@ -"extern int errno" is just a really bad idea. - -diff -up mariadb-5.5.33a/include/my_sys.h.p1 mariadb-5.5.33a/include/my_sys.h ---- mariadb-5.5.33a/include/my_sys.h.p1 2013-10-10 13:37:11.391507810 +0200 -+++ mariadb-5.5.33a/include/my_sys.h 2013-10-10 13:37:57.395519715 +0200 -@@ -190,13 +190,7 @@ extern void my_large_free(uchar *ptr); - #define my_safe_alloca(size, min_length) ((size <= min_length) ? my_alloca(size) : my_malloc(size,MYF(MY_FAE))) - #define my_safe_afree(ptr, size, min_length) ((size <= min_length) ? my_afree(ptr) : my_free(ptr)) +--- mariadb-10.0.10/include/my_sys.h.p1 2014-03-30 19:56:37.000000000 +0200 ++++ mariadb-10.0.10/include/my_sys.h 2014-04-07 15:30:20.627060157 +0200 +@@ -209,13 +209,7 @@ extern void my_large_free(uchar *ptr); + #define my_safe_afree(ptr, size, max_alloca_sz) my_afree(ptr) + #endif /* HAVE_ALLOCA */ -#ifndef errno /* did we already get it? */ -#ifdef HAVE_ERRNO_AS_DEFINE @@ -14,7 +11,7 @@ diff -up mariadb-5.5.33a/include/my_sys.h.p1 mariadb-5.5.33a/include/my_sys.h -extern int errno; /* declare errno */ -#endif -#endif /* #ifndef errno */ -+#include /* errno is a define */ ++#include /* errno is a define */ extern char *home_dir; /* Home directory for user */ extern MYSQL_PLUGIN_IMPORT char *mysql_data_home; extern const char *my_progname; /* program-name (printed in errors) */ diff --git a/mariadb-file-contents.patch b/mariadb-file-contents.patch index 8ad8c73..7f4b164 100644 --- a/mariadb-file-contents.patch +++ b/mariadb-file-contents.patch @@ -6,9 +6,9 @@ to know about this. Recommendation they change is at http://bugs.mysql.com/bug.php?id=61425 -diff -up mariadb-5.5.34/mysql-test/t/file_contents.test.p10 mariadb-5.5.34/mysql-test/t/file_contents.test ---- mariadb-5.5.34/mysql-test/t/file_contents.test.p10 2013-11-20 13:28:56.000000000 +0100 -+++ mariadb-5.5.34/mysql-test/t/file_contents.test 2013-11-22 08:50:30.244702013 +0100 +diff -up mariadb-10.0.10/mysql-test/t/file_contents.test.p7 mariadb-10.0.10/mysql-test/t/file_contents.test +--- mariadb-10.0.10/mysql-test/t/file_contents.test.p7 2014-03-30 19:56:44.000000000 +0200 ++++ mariadb-10.0.10/mysql-test/t/file_contents.test 2014-04-07 18:14:32.776772032 +0200 @@ -32,6 +32,15 @@ if ($dir_bin eq '/usr/') { # RedHat/Debian: version number in directory name $dir_docs = glob "$dir_docs/mariadb-server-*"; diff --git a/mariadb-install-test.patch b/mariadb-install-test.patch index 5657b73..e377e60 100644 --- a/mariadb-install-test.patch +++ b/mariadb-install-test.patch @@ -1,8 +1,8 @@ Improve the documentation that will be installed in the mysql-test RPM. -diff -up mariadb-5.5.32/mysql-test/README.p3 mariadb-5.5.32/mysql-test/README ---- mariadb-5.5.32/mysql-test/README.p3 2013-07-17 16:51:29.000000000 +0200 -+++ mariadb-5.5.32/mysql-test/README 2013-07-30 23:22:54.959494478 +0200 +diff -up mariadb-10.0.10/mysql-test/README.p3 mariadb-10.0.10/mysql-test/README +--- mariadb-10.0.10/mysql-test/README.p3 2014-04-07 16:05:51.402631548 +0200 ++++ mariadb-10.0.10/mysql-test/README 2014-04-07 16:06:06.137637991 +0200 @@ -1,15 +1,28 @@ -This directory contains a test suite for the MySQL daemon. To run -the currently existing test cases, simply execute ./mysql-test-run in diff --git a/mariadb-logrotate.patch b/mariadb-logrotate.patch index c9f8b50..596e1bf 100644 --- a/mariadb-logrotate.patch +++ b/mariadb-logrotate.patch @@ -14,9 +14,9 @@ Adjust the mysql-log-rotate script in several ways: See discussions at RH bugs 799735, 547007 -diff -up mariadb-5.5.32/support-files/mysql-log-rotate.sh.errlog mariadb-5.5.32/support-files/mysql-log-rotate.sh ---- mariadb-5.5.32/support-files/mysql-log-rotate.sh.errlog 2013-08-29 14:35:34.839119044 +0200 -+++ mariadb-5.5.32/support-files/mysql-log-rotate.sh 2013-08-29 14:38:54.203996083 +0200 +diff -up mariadb-10.0.10/support-files/mysql-log-rotate.sh.p5 mariadb-10.0.10/support-files/mysql-log-rotate.sh +--- mariadb-10.0.10/support-files/mysql-log-rotate.sh.p5 2014-03-30 19:56:53.000000000 +0200 ++++ mariadb-10.0.10/support-files/mysql-log-rotate.sh 2014-04-07 16:30:11.264618655 +0200 @@ -1,9 +1,9 @@ # This logname can be set in /etc/my.cnf -# by setting the variable "err-log" diff --git a/mariadb-rhbz1065676.patch b/mariadb-rhbz1065676.patch deleted file mode 100644 index cdb6074..0000000 --- a/mariadb-rhbz1065676.patch +++ /dev/null @@ -1,386 +0,0 @@ -Backported from mariadb-5.5.37: -https://mariadb.atlassian.net/browse/MDEV-5724 -https://bugzilla.redhat.com/show_bug.cgi?id=1065676 - -diff -up mariadb-5.5.36/mysql-test/r/stack-crash.result.rhbz1065676 mariadb-5.5.36/mysql-test/r/stack-crash.result ---- mariadb-5.5.36/mysql-test/r/stack-crash.result.rhbz1065676 2014-03-11 18:20:56.344327004 +0100 -+++ mariadb-5.5.36/mysql-test/r/stack-crash.result 2014-03-11 18:20:56.344327004 +0100 -@@ -0,0 +1,93 @@ -+drop table if exists t1,t2; -+Warnings: -+Note 1051 Unknown table 't1' -+Note 1051 Unknown table 't2' -+CREATE TABLE t1 ( -+`sspo_id` int(11) NOT NULL AUTO_INCREMENT, -+`sspo_uid` int(11) NOT NULL DEFAULT '0', -+`sspo_type` varchar(1) NOT NULL DEFAULT 'P', -+`sspo_text` longtext NOT NULL, -+`sspo_image` varchar(255) NOT NULL, -+`sspo_source` int(11) NOT NULL DEFAULT '0', -+`sspo_event_name` varchar(255) NOT NULL DEFAULT '', -+`sspo_event_location` varchar(255) NOT NULL DEFAULT '', -+`sspo_event_date` datetime DEFAULT NULL, -+`sspo_remote_title` varchar(255) NOT NULL, -+`sspo_remote_url` varchar(255) NOT NULL, -+`sspo_remote_desc` text NOT NULL, -+`sspo_remote_image` varchar(255) NOT NULL, -+`sspo_obj_status` varchar(1) NOT NULL DEFAULT 'A', -+`sspo_cr_date` datetime NOT NULL DEFAULT '1970-01-01 00:00:00', -+`sspo_cr_uid` int(11) NOT NULL DEFAULT '0', -+`sspo_lu_date` datetime NOT NULL DEFAULT '1970-01-01 00:00:00', -+`sspo_lu_uid` int(11) NOT NULL DEFAULT '0', -+PRIMARY KEY (`sspo_id`), -+KEY `post_uid` (`sspo_uid`,`sspo_cr_date`) -+) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8; -+Warnings: -+Warning 1286 Unknown storage engine 'InnoDB' -+Warning 1266 Using storage engine MyISAM for table 't1' -+INSERT INTO t1 VALUES (1,2,'P','test1','',0,'','',NULL,'','','','','A','2013-09-30 00:19:32',2,'2013-09-30 00:19:32',2),(2,2,'P','bbb','',0,'','',NULL,'','','','','A','2013-10-02 15:06:35',2,'2013-10-02 15:06:35',2); -+CREATE TABLE `t2` ( -+`spoo_id` int(11) NOT NULL AUTO_INCREMENT, -+`spoo_user_type_id` int(11) NOT NULL DEFAULT '0', -+`spoo_uid` int(11) NOT NULL DEFAULT '0', -+`spoo_option_id` int(11) NOT NULL DEFAULT '0', -+`spoo_value` varchar(10000) NOT NULL, -+`spoo_obj_status` varchar(1) NOT NULL DEFAULT 'A', -+`spoo_cr_date` datetime NOT NULL DEFAULT '1970-01-01 00:00:00', -+`spoo_cr_uid` int(11) NOT NULL DEFAULT '0', -+`spoo_lu_date` datetime NOT NULL DEFAULT '1970-01-01 00:00:00', -+`spoo_lu_uid` int(11) NOT NULL DEFAULT '0', -+PRIMARY KEY (`spoo_id`), -+KEY `object_option_main_idx` (`spoo_user_type_id`,`spoo_uid`,`spoo_option_id`,`spoo_value`(255)) -+) ENGINE=InnoDB AUTO_INCREMENT=107 DEFAULT CHARSET=utf8; -+Warnings: -+Warning 1286 Unknown storage engine 'InnoDB' -+Warning 1266 Using storage engine MyISAM for table 't2' -+INSERT INTO `t2` VALUES (19,1,2,6,'Dortmund','A','2013-09-26 01:36:51',2,'2013-09-26 01:36:51',2),(20,1,2,8,'49','A','2013-09-26 01:36:51',2,'2013-09-26 01:36:51',2); -+SELECT Count(*) -+FROM t1 AS tbl -+LEFT JOIN t2 a -+ON a.spoo_uid = sspo_uid -+AND a.spoo_option_id = 1 -+LEFT JOIN t2 b -+ON b.spoo_uid = sspo_uid -+AND b.spoo_option_id = 2 -+LEFT JOIN t2 c -+ON c.spoo_uid = sspo_uid -+AND c.spoo_option_id = 3 -+LEFT JOIN t2 d -+ON d.spoo_uid = sspo_uid -+AND d.spoo_option_id = 5 -+LEFT JOIN t2 e -+ON e.spoo_uid = sspo_uid -+AND e.spoo_option_id = 4 -+LEFT JOIN t2 f -+ON f.spoo_uid = sspo_uid -+AND f.spoo_option_id = 11 -+LEFT JOIN t2 g -+ON g.spoo_uid = sspo_uid -+AND g.spoo_option_id = 7 -+LEFT JOIN t2 h -+ON h.spoo_uid = sspo_uid -+AND h.spoo_option_id = 10 -+LEFT JOIN t2 i -+ON i.spoo_uid = sspo_uid -+AND i.spoo_option_id = 18 -+LEFT JOIN t2 j -+ON j.spoo_uid = sspo_uid -+AND j.spoo_option_id = 6 -+GROUP BY a.spoo_value, -+b.spoo_value, -+c.spoo_value, -+d.spoo_value, -+e.spoo_value, -+f.spoo_value, -+g.spoo_value, -+h.spoo_value, -+i.spoo_value, -+j.spoo_value; -+Count(*) -+2 -+drop table t1,t2; -diff -up mariadb-5.5.36/mysql-test/t/stack-crash.test.rhbz1065676 mariadb-5.5.36/mysql-test/t/stack-crash.test ---- mariadb-5.5.36/mysql-test/t/stack-crash.test.rhbz1065676 2014-03-11 18:20:56.344327004 +0100 -+++ mariadb-5.5.36/mysql-test/t/stack-crash.test 2014-03-11 18:20:56.344327004 +0100 -@@ -0,0 +1,96 @@ -+# -+# Test to ensure that we don't get stack overflows -+# -+ -+drop table if exists t1,t2; -+ -+# -+# MDEV-5724 -+# Server crashes on SQL select containing more group by and left join -+# statements -+# This was because record_buffer was 300,000 bytes and caused stack overflow -+# -+ -+CREATE TABLE t1 ( -+ `sspo_id` int(11) NOT NULL AUTO_INCREMENT, -+ `sspo_uid` int(11) NOT NULL DEFAULT '0', -+ `sspo_type` varchar(1) NOT NULL DEFAULT 'P', -+ `sspo_text` longtext NOT NULL, -+ `sspo_image` varchar(255) NOT NULL, -+ `sspo_source` int(11) NOT NULL DEFAULT '0', -+ `sspo_event_name` varchar(255) NOT NULL DEFAULT '', -+ `sspo_event_location` varchar(255) NOT NULL DEFAULT '', -+ `sspo_event_date` datetime DEFAULT NULL, -+ `sspo_remote_title` varchar(255) NOT NULL, -+ `sspo_remote_url` varchar(255) NOT NULL, -+ `sspo_remote_desc` text NOT NULL, -+ `sspo_remote_image` varchar(255) NOT NULL, -+ `sspo_obj_status` varchar(1) NOT NULL DEFAULT 'A', -+ `sspo_cr_date` datetime NOT NULL DEFAULT '1970-01-01 00:00:00', -+ `sspo_cr_uid` int(11) NOT NULL DEFAULT '0', -+ `sspo_lu_date` datetime NOT NULL DEFAULT '1970-01-01 00:00:00', -+ `sspo_lu_uid` int(11) NOT NULL DEFAULT '0', -+ PRIMARY KEY (`sspo_id`), -+ KEY `post_uid` (`sspo_uid`,`sspo_cr_date`) -+) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8; -+INSERT INTO t1 VALUES (1,2,'P','test1','',0,'','',NULL,'','','','','A','2013-09-30 00:19:32',2,'2013-09-30 00:19:32',2),(2,2,'P','bbb','',0,'','',NULL,'','','','','A','2013-10-02 15:06:35',2,'2013-10-02 15:06:35',2); -+ -+CREATE TABLE `t2` ( -+ `spoo_id` int(11) NOT NULL AUTO_INCREMENT, -+ `spoo_user_type_id` int(11) NOT NULL DEFAULT '0', -+ `spoo_uid` int(11) NOT NULL DEFAULT '0', -+ `spoo_option_id` int(11) NOT NULL DEFAULT '0', -+ `spoo_value` varchar(10000) NOT NULL, -+ `spoo_obj_status` varchar(1) NOT NULL DEFAULT 'A', -+ `spoo_cr_date` datetime NOT NULL DEFAULT '1970-01-01 00:00:00', -+ `spoo_cr_uid` int(11) NOT NULL DEFAULT '0', -+ `spoo_lu_date` datetime NOT NULL DEFAULT '1970-01-01 00:00:00', -+ `spoo_lu_uid` int(11) NOT NULL DEFAULT '0', -+ PRIMARY KEY (`spoo_id`), -+ KEY `object_option_main_idx` (`spoo_user_type_id`,`spoo_uid`,`spoo_option_id`,`spoo_value`(255)) -+) ENGINE=InnoDB AUTO_INCREMENT=107 DEFAULT CHARSET=utf8; -+INSERT INTO `t2` VALUES (19,1,2,6,'Dortmund','A','2013-09-26 01:36:51',2,'2013-09-26 01:36:51',2),(20,1,2,8,'49','A','2013-09-26 01:36:51',2,'2013-09-26 01:36:51',2); -+ -+SELECT Count(*) -+FROM t1 AS tbl -+ LEFT JOIN t2 a -+ ON a.spoo_uid = sspo_uid -+ AND a.spoo_option_id = 1 -+ LEFT JOIN t2 b -+ ON b.spoo_uid = sspo_uid -+ AND b.spoo_option_id = 2 -+ LEFT JOIN t2 c -+ ON c.spoo_uid = sspo_uid -+ AND c.spoo_option_id = 3 -+ LEFT JOIN t2 d -+ ON d.spoo_uid = sspo_uid -+ AND d.spoo_option_id = 5 -+ LEFT JOIN t2 e -+ ON e.spoo_uid = sspo_uid -+ AND e.spoo_option_id = 4 -+ LEFT JOIN t2 f -+ ON f.spoo_uid = sspo_uid -+ AND f.spoo_option_id = 11 -+ LEFT JOIN t2 g -+ ON g.spoo_uid = sspo_uid -+ AND g.spoo_option_id = 7 -+ LEFT JOIN t2 h -+ ON h.spoo_uid = sspo_uid -+ AND h.spoo_option_id = 10 -+ LEFT JOIN t2 i -+ ON i.spoo_uid = sspo_uid -+ AND i.spoo_option_id = 18 -+ LEFT JOIN t2 j -+ ON j.spoo_uid = sspo_uid -+ AND j.spoo_option_id = 6 -+GROUP BY a.spoo_value, -+ b.spoo_value, -+ c.spoo_value, -+ d.spoo_value, -+ e.spoo_value, -+ f.spoo_value, -+ g.spoo_value, -+ h.spoo_value, -+ i.spoo_value, -+ j.spoo_value; -+drop table t1,t2; -diff -up mariadb-5.5.36/storage/maria/ma_blockrec.c.rhbz1065676 mariadb-5.5.36/storage/maria/ma_blockrec.c ---- mariadb-5.5.36/storage/maria/ma_blockrec.c.rhbz1065676 2014-02-24 00:50:19.000000000 +0100 -+++ mariadb-5.5.36/storage/maria/ma_blockrec.c 2014-03-11 18:20:56.347327004 +0100 -@@ -5144,7 +5144,12 @@ my_bool _ma_cmp_block_unique(MARIA_HA *i - int error; - DBUG_ENTER("_ma_cmp_block_unique"); - -- if (!(old_record= my_alloca(info->s->base.reclength))) -+ /* -+ Don't allocate more than 16K on the stack to ensure we don't get -+ stack overflow. -+ */ -+ if (!(old_record= my_safe_alloca(info->s->base.reclength, -+ MARIA_MAX_RECORD_ON_STACK))) - DBUG_RETURN(1); - - /* Don't let the compare destroy blobs that may be in use */ -@@ -5166,7 +5171,8 @@ my_bool _ma_cmp_block_unique(MARIA_HA *i - info->rec_buff_size= org_rec_buff_size; - } - DBUG_PRINT("exit", ("result: %d", error)); -- my_afree(old_record); -+ my_safe_afree(old_record, info->s->base.reclength, -+ MARIA_MAX_RECORD_ON_STACK); - DBUG_RETURN(error != 0); - } - -diff -up mariadb-5.5.36/storage/maria/ma_dynrec.c.rhbz1065676 mariadb-5.5.36/storage/maria/ma_dynrec.c ---- mariadb-5.5.36/storage/maria/ma_dynrec.c.rhbz1065676 2014-02-24 00:50:16.000000000 +0100 -+++ mariadb-5.5.36/storage/maria/ma_dynrec.c 2014-03-11 18:20:56.348327004 +0100 -@@ -36,12 +36,6 @@ static my_bool delete_dynamic_record(MAR - static my_bool _ma_cmp_buffer(File file, const uchar *buff, my_off_t filepos, - uint length); - --/* Play it safe; We have a small stack when using threads */ --#undef my_alloca --#undef my_afree --#define my_alloca(A) my_malloc((A),MYF(0)) --#define my_afree(A) my_free((A)) -- - /* Interface function from MARIA_HA */ - - #ifdef HAVE_MMAP -@@ -256,7 +250,8 @@ my_bool _ma_write_blob_record(MARIA_HA * - MARIA_DYN_DELETE_BLOCK_HEADER+1); - reclength= (info->s->base.pack_reclength + - _ma_calc_total_blob_length(info,record)+ extra); -- if (!(rec_buff=(uchar*) my_alloca(reclength))) -+ if (!(rec_buff=(uchar*) my_safe_alloca(reclength, -+ MARIA_MAX_RECORD_ON_STACK))) - { - my_errno= HA_ERR_OUT_OF_MEM; /* purecov: inspected */ - return(1); -@@ -270,7 +265,7 @@ my_bool _ma_write_blob_record(MARIA_HA * - error= write_dynamic_record(info, - rec_buff+ALIGN_SIZE(MARIA_MAX_DYN_BLOCK_HEADER), - reclength2); -- my_afree(rec_buff); -+ my_safe_afree(rec_buff, reclength, MARIA_MAX_RECORD_ON_STACK); - return(error != 0); - } - -@@ -294,7 +289,8 @@ my_bool _ma_update_blob_record(MARIA_HA - return 1; - } - #endif -- if (!(rec_buff=(uchar*) my_alloca(reclength))) -+ if (!(rec_buff=(uchar*) my_safe_alloca(reclength, -+ MARIA_MAX_RECORD_ON_STACK))) - { - my_errno= HA_ERR_OUT_OF_MEM; /* purecov: inspected */ - return(1); -@@ -304,7 +300,7 @@ my_bool _ma_update_blob_record(MARIA_HA - error=update_dynamic_record(info,pos, - rec_buff+ALIGN_SIZE(MARIA_MAX_DYN_BLOCK_HEADER), - reclength); -- my_afree(rec_buff); -+ my_safe_afree(rec_buff, reclength, MARIA_MAX_RECORD_ON_STACK); - return(error != 0); - } - -@@ -1559,7 +1555,8 @@ my_bool _ma_cmp_dynamic_unique(MARIA_HA - my_bool error; - DBUG_ENTER("_ma_cmp_dynamic_unique"); - -- if (!(old_record=my_alloca(info->s->base.reclength))) -+ if (!(old_record= my_safe_alloca(info->s->base.reclength, -+ MARIA_MAX_RECORD_ON_STACK))) - DBUG_RETURN(1); - - /* Don't let the compare destroy blobs that may be in use */ -@@ -1580,7 +1577,8 @@ my_bool _ma_cmp_dynamic_unique(MARIA_HA - info->rec_buff= old_rec_buff; - info->rec_buff_size= old_rec_buff_size; - } -- my_afree(old_record); -+ my_safe_afree(old_record, info->s->base.reclength, -+ MARIA_MAX_RECORD_ON_STACK); - DBUG_RETURN(error); - } - -@@ -1595,6 +1593,9 @@ my_bool _ma_cmp_dynamic_record(register - uchar *buffer; - MARIA_BLOCK_INFO block_info; - my_bool error= 1; -+ size_t buffer_length; -+ LINT_INIT(buffer_length); -+ - DBUG_ENTER("_ma_cmp_dynamic_record"); - - if (info->opt_flag & WRITE_CACHE_USED) -@@ -1612,8 +1613,10 @@ my_bool _ma_cmp_dynamic_record(register - { /* If check isn't disabled */ - if (info->s->base.blobs) - { -- if (!(buffer=(uchar*) my_alloca(info->s->base.pack_reclength+ -- _ma_calc_total_blob_length(info,record)))) -+ buffer_length= (info->s->base.pack_reclength + -+ _ma_calc_total_blob_length(info,record)); -+ if (!(buffer=(uchar*) my_safe_alloca(buffer_length, -+ MARIA_MAX_RECORD_ON_STACK))) - DBUG_RETURN(1); - } - reclength= _ma_rec_pack(info,buffer,record); -@@ -1665,7 +1668,7 @@ my_bool _ma_cmp_dynamic_record(register - error= 0; - err: - if (buffer != info->rec_buff) -- my_afree(buffer); -+ my_safe_afree(buffer, buffer_length, MARIA_MAX_RECORD_ON_STACK); - DBUG_PRINT("exit", ("result: %d", error)); - DBUG_RETURN(error); - } -diff -up mariadb-5.5.36/storage/maria/maria_def.h.rhbz1065676 mariadb-5.5.36/storage/maria/maria_def.h ---- mariadb-5.5.36/storage/maria/maria_def.h.rhbz1065676 2014-02-24 00:50:21.000000000 +0100 -+++ mariadb-5.5.36/storage/maria/maria_def.h 2014-03-11 18:20:56.348327004 +0100 -@@ -42,6 +42,7 @@ - - #define MAX_NONMAPPED_INSERTS 1000 - #define MARIA_MAX_TREE_LEVELS 32 -+#define MARIA_MAX_RECORD_ON_STACK 16384 - - /* maria_open() flag, specific for maria_pack */ - #define HA_OPEN_IGNORE_MOVED_STATE (1U << 30) -diff -up mariadb-5.5.36/storage/maria/maria_pack.c.rhbz1065676 mariadb-5.5.36/storage/maria/maria_pack.c ---- mariadb-5.5.36/storage/maria/maria_pack.c.rhbz1065676 2014-02-24 00:50:16.000000000 +0100 -+++ mariadb-5.5.36/storage/maria/maria_pack.c 2014-03-11 18:20:56.351327005 +0100 -@@ -861,7 +861,7 @@ static int get_statistic(PACK_MRG_INFO * - - reclength= mrg->file[0]->s->base.reclength; - null_bytes= mrg->file[0]->s->base.null_bytes; -- record=(uchar*) my_alloca(reclength); -+ record=(uchar*) my_safe_alloca(reclength, MARIA_MAX_RECORD_ON_STACK); - end_count=huff_counts+mrg->file[0]->s->base.fields; - record_count=0; glob_crc=0; - max_blob_length=0; -@@ -1145,7 +1145,7 @@ static int get_statistic(PACK_MRG_INFO * - - mrg->records=record_count; - mrg->max_blob_length=max_blob_length; -- my_afree(record); -+ my_safe_afree(record, reclength, MARIA_MAX_RECORD_ON_STACK); - DBUG_RETURN(error != HA_ERR_END_OF_FILE); - } - -@@ -2415,7 +2415,8 @@ static int compress_maria_file(PACK_MRG_ - DBUG_ENTER("compress_maria_file"); - - /* Allocate a buffer for the records (excluding blobs). */ -- if (!(record=(uchar*) my_alloca(isam_file->s->base.reclength))) -+ if (!(record=(uchar*) my_safe_alloca(isam_file->s->base.reclength, -+ MARIA_MAX_RECORD_ON_STACK))) - return -1; - - end_count=huff_counts+isam_file->s->base.fields; -@@ -2778,7 +2779,8 @@ static int compress_maria_file(PACK_MRG_ - if (verbose >= 2) - printf("wrote %s records.\n", llstr((longlong) record_count, llbuf)); - -- my_afree(record); -+ my_safe_afree(record, isam_file->s->base.reclength, -+ MARIA_MAX_RECORD_ON_STACK); - mrg->ref_length=max_pack_length; - mrg->min_pack_length=max_record_length ? min_record_length : 0; - mrg->max_pack_length=max_record_length; diff --git a/mariadb-s390-tsc.patch b/mariadb-s390-tsc.patch index f995266..ebbf951 100644 --- a/mariadb-s390-tsc.patch +++ b/mariadb-s390-tsc.patch @@ -2,9 +2,9 @@ Support s390/s390x in performance schema's cycle-counting functions. Filed upstream at http://bugs.mysql.com/bug.php?id=59953 -diff -up mysql-5.5.28/include/my_rdtsc.h.p11 mysql-5.5.28/include/my_rdtsc.h ---- mysql-5.5.28/include/my_rdtsc.h.p11 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/include/my_rdtsc.h 2012-12-06 14:22:13.651823354 +0100 +diff -up mariadb-10.0.10/include/my_rdtsc.h.p4 mariadb-10.0.10/include/my_rdtsc.h +--- mariadb-10.0.10/include/my_rdtsc.h.p4 2014-03-30 19:56:36.000000000 +0200 ++++ mariadb-10.0.10/include/my_rdtsc.h 2014-04-07 16:13:55.227792169 +0200 @@ -125,6 +125,7 @@ C_MODE_END #define MY_TIMER_ROUTINE_MACH_ABSOLUTE_TIME 25 #define MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME 26 @@ -13,9 +13,9 @@ diff -up mysql-5.5.28/include/my_rdtsc.h.p11 mysql-5.5.28/include/my_rdtsc.h #endif -diff -up mysql-5.5.28/mysys/my_rdtsc.c.p11 mysql-5.5.28/mysys/my_rdtsc.c ---- mysql-5.5.28/mysys/my_rdtsc.c.p11 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/mysys/my_rdtsc.c 2012-12-06 14:22:13.672823375 +0100 +diff -up mariadb-10.0.10/mysys/my_rdtsc.c.p4 mariadb-10.0.10/mysys/my_rdtsc.c +--- mariadb-10.0.10/mysys/my_rdtsc.c.p4 2014-03-30 19:56:36.000000000 +0200 ++++ mariadb-10.0.10/mysys/my_rdtsc.c 2014-04-07 16:15:48.114901576 +0200 @@ -224,6 +224,13 @@ ulonglong my_timer_cycles(void) clock_gettime(CLOCK_SGI_CYCLE, &tp); return (ulonglong) tp.tv_sec * 1000000000 + (ulonglong) tp.tv_nsec; diff --git a/mariadb-ssltest.patch b/mariadb-ssltest.patch index 6fdd271..8409f39 100644 --- a/mariadb-ssltest.patch +++ b/mariadb-ssltest.patch @@ -4,9 +4,9 @@ which now makes mariadb/mysql FTBFS because openssl_1 test fails Related: #1044565 -diff -up mariadb-5.5.34/mysql-test/r/openssl_1.result.p20 mariadb-5.5.34/mysql-test/r/openssl_1.result ---- mariadb-5.5.34/mysql-test/r/openssl_1.result.p20 2014-01-06 11:51:18.878640731 +0100 -+++ mariadb-5.5.34/mysql-test/r/openssl_1.result 2014-01-06 11:51:45.364678942 +0100 +diff -up mariadb-10.0.10/mysql-test/r/openssl_1.result.p14 mariadb-10.0.10/mysql-test/r/openssl_1.result +--- mariadb-10.0.10/mysql-test/r/openssl_1.result.p14 2014-03-30 19:56:35.000000000 +0200 ++++ mariadb-10.0.10/mysql-test/r/openssl_1.result 2014-04-07 20:14:24.702980342 +0200 @@ -196,8 +196,6 @@ Ssl_cipher DHE-RSA-AES256-SHA Variable_name Value Ssl_cipher EDH-RSA-DES-CBC3-SHA @@ -16,9 +16,9 @@ diff -up mariadb-5.5.34/mysql-test/r/openssl_1.result.p20 mariadb-5.5.34/mysql-t Ssl_cipher RC4-SHA select 'is still running; no cipher request crashed the server' as result from dual; result -diff -up mariadb-5.5.34/mysql-test/t/openssl_1.test.p20 mariadb-5.5.34/mysql-test/t/openssl_1.test ---- mariadb-5.5.34/mysql-test/t/openssl_1.test.p20 2014-01-06 11:51:18.830640662 +0100 -+++ mariadb-5.5.34/mysql-test/t/openssl_1.test 2014-01-06 11:51:18.879640733 +0100 +diff -up mariadb-10.0.10/mysql-test/t/openssl_1.test.p14 mariadb-10.0.10/mysql-test/t/openssl_1.test +--- mariadb-10.0.10/mysql-test/t/openssl_1.test.p14 2014-04-07 20:14:24.686980712 +0200 ++++ mariadb-10.0.10/mysql-test/t/openssl_1.test 2014-04-07 20:14:24.702980342 +0200 @@ -218,7 +218,7 @@ DROP TABLE t1; # Common ciphers to openssl and yassl --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=DHE-RSA-AES256-SHA diff --git a/mariadb-string-overflow.patch b/mariadb-string-overflow.patch index 5bb46da..a8231bd 100644 --- a/mariadb-string-overflow.patch +++ b/mariadb-string-overflow.patch @@ -8,36 +8,15 @@ 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 mariadb-5.5.28a/sql/sql_prepare.cc.p20 mariadb-5.5.28a/sql/sql_prepare.cc ---- mariadb-5.5.28a/sql/sql_prepare.cc.p20 2012-11-28 16:49:36.000000000 +0100 -+++ mariadb-5.5.28a/sql/sql_prepare.cc 2012-12-17 17:45:24.232151645 +0100 -@@ -2975,7 +2975,7 @@ void mysql_stmt_get_longdata(THD *thd, c +diff -up mariadb-10.0.10/sql/sql_prepare.cc.p8 mariadb-10.0.10/sql/sql_prepare.cc +--- mariadb-10.0.10/sql/sql_prepare.cc.p8 2014-03-30 19:56:42.000000000 +0200 ++++ mariadb-10.0.10/sql/sql_prepare.cc 2014-04-07 18:43:33.901074770 +0200 +@@ -3021,7 +3021,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; - - - - -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 mariadb-5.5.28a/sql/sql_trigger.cc.p20 mariadb-5.5.28a/sql/sql_trigger.cc -diff -up mariadb-5.5.28a/storage/innobase/handler/ha_innodb.cc.p20 mariadb-5.5.28a/storage/innobase/handler/ha_innodb.cc ---- mariadb-5.5.28a/storage/innobase/handler/ha_innodb.cc.p20 2012-11-28 16:49:36.000000000 +0100 -+++ mariadb-5.5.28a/storage/innobase/handler/ha_innodb.cc 2012-12-17 17:45:24.239151651 +0100 -@@ -7094,7 +7094,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); + thd->set_stmt_da(save_stmt_da); diff --git a/mariadb-strmov.patch b/mariadb-strmov.patch index 03322ff..6f94069 100644 --- a/mariadb-strmov.patch +++ b/mariadb-strmov.patch @@ -12,11 +12,11 @@ ability to detect this type of error is low, and I also see little evidence of any real performance gain from optimizing these calls. So I'm keeping this patch. -diff -up mariadb-5.5.28a/include/m_string.h.p2 mariadb-5.5.28a/include/m_string.h ---- mariadb-5.5.28a/include/m_string.h.p2 2012-12-17 16:14:19.140536799 +0100 -+++ mariadb-5.5.28a/include/m_string.h 2012-12-17 16:15:40.036567242 +0100 -@@ -79,12 +79,6 @@ extern "C" { - extern void *(*my_str_malloc)(size_t); +diff -up mariadb-10.0.10/include/m_string.h.orig mariadb-10.0.10/include/m_string.h +--- mariadb-10.0.10/include/m_string.h.p2 2014-04-07 15:36:44.694806871 +0200 ++++ mariadb-10.0.10/include/m_string.h 2014-04-07 15:37:17.044786762 +0200 +@@ -81,12 +81,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) diff --git a/mariadb.spec b/mariadb.spec index e3efd4f..3691690 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -6,8 +6,8 @@ %bcond_with tokudb Name: mariadb -Version: 5.5.36 -Release: 2%{?dist} +Version: 10.0.10 +Release: 1%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -58,18 +58,17 @@ Source999: filter-requires-mysql.sh Patch1: mariadb-errno.patch Patch2: mariadb-strmov.patch Patch3: mariadb-install-test.patch -Patch7: mariadb-s390-tsc.patch -Patch8: mariadb-logrotate.patch -Patch9: mariadb-cipherspec.patch -Patch10: mariadb-file-contents.patch -Patch11: mariadb-string-overflow.patch -Patch12: mariadb-dh1024.patch -Patch14: mariadb-basedir.patch -Patch17: mariadb-covscan-signexpr.patch -Patch18: mariadb-covscan-stroverflow.patch -Patch19: mariadb-config.patch -Patch20: mariadb-ssltest.patch -Patch21: mariadb-rhbz1065676.patch +Patch4: mariadb-s390-tsc.patch +Patch5: mariadb-logrotate.patch +Patch6: mariadb-cipherspec.patch +Patch7: mariadb-file-contents.patch +Patch8: mariadb-string-overflow.patch +Patch9: mariadb-dh1024.patch +Patch10: mariadb-basedir.patch +Patch11: mariadb-covscan-signexpr.patch +Patch12: mariadb-covscan-stroverflow.patch +Patch13: mariadb-config.patch +Patch14: mariadb-ssltest.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -259,18 +258,17 @@ MariaDB is a community developed branch of MySQL. %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 %patch11 -p1 %patch12 -p1 +%patch13 -p1 %patch14 -p1 -%patch17 -p1 -%patch18 -p1 -%patch19 -p1 -%patch20 -p1 -%patch21 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt diff --git a/sources b/sources index a285bad..aa0b46a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -05f72957bedd8b1ea134c14173be9c25 mariadb-5.5.36.tar.gz +14ce22b8197d4eae88d237776d47220f mariadb-10.0.10.tar.gz From 5160428e8634d306d4aabb59f3f35235c04ec8fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Tue, 8 Apr 2014 10:37:08 +0200 Subject: [PATCH 104/789] mariadb-10.0.10 - files --- mariadb.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 3691690..d4da0e2 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -360,7 +360,7 @@ make %{?_smp_mflags} VERBOSE=1 # location -- satisfy them by copying these files into location, which # is expected by scripts for e in innobase xtradb ; do - for f in pars0grm.c pars0grm.y pars0lex.l lexyy.c ; do + for f in pars0grm.y pars0lex.l ; do cp -p "storage/$e/pars/$f" "storage/$e/$f" done done @@ -636,6 +636,7 @@ fi %{_mandir}/man8/mysqlmanager.8* %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf +%config(noreplace) %{_sysconfdir}/my.cnf.d/connect.cnf %files libs %doc README COPYING COPYING.LESSER README.mysql-license @@ -749,6 +750,7 @@ fi %{_datadir}/%{name}/errmsg-utf8.txt %{_datadir}/%{name}/fill_help_tables.sql +%{_datadir}/%{name}/install_spider.sql %{_datadir}/%{name}/mysql_system_tables.sql %{_datadir}/%{name}/mysql_system_tables_data.sql %{_datadir}/%{name}/mysql_test_data_timezone.sql From 59bc3f11aeba94dc09aaa1b26b37a8b21b585640 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Wed, 9 Apr 2014 08:40:43 +0200 Subject: [PATCH 105/789] mariadb-10.0.10 - failing tests --- rh-skipped-tests-arm.list | 3 +++ rh-skipped-tests-base.list | 12 ++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index a6ae9bf..609c82d 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -6,3 +6,6 @@ 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 + +connect.bin : Fails with MariaDB 10 +perfschema.setup_objects : Fails with MariaDB 10 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 44e5155..51d2f8c 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -1,9 +1,17 @@ # Disable innodb.innodb, which is showing platform-dependent results # as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 -innodb.innodb : bug#60155 has platform-dependent results +#innodb.innodb : bug#60155 has platform-dependent results # Disable tokudb_innodb_xa_crash temporarily, until it is fixed: # -tokudb_innodb_xa_crash : https://bugzilla.redhat.com/show_bug.cgi?id=1018192 +#tokudb_innodb_xa_crash : https://bugzilla.redhat.com/show_bug.cgi?id=1018192 + +vcol.vcol_supported_sql_funcs_innodb : Fails with MariaDB 10 +main.ssl_crl_clients : Fails with MariaDB 10 +main.func_str : Fails with MariaDB 10 +perfschema.nesting : Fails with MariaDB 10 +perfschema.socket_summary_by_event_name_func : Fails with MariaDB 10 +perfschema.socket_summary_by_instance_func : Fails with MariaDB 10 +vcol.vcol_supported_sql_funcs_myisam : Fails with MariaDB 10 From 1dcbdc2bc46fcd115203b0f250b3517a2db97b86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Thu, 10 Apr 2014 10:26:59 +0200 Subject: [PATCH 106/789] mariadb-10.0.10 - changelog --- mariadb.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index d4da0e2..69780e3 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -806,6 +806,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Apr 10 2014 Jakub Dorňák - 1:10.0.10-1 +- Rebase to version 10.0.10 + * Wed Mar 12 2014 Honza Horak - 1:5.5.36-2 - Server crashes on SQL select containing more group by and left join statements using innodb tables Resolves: #1065676 From 78d8add8e5f70d5a0d37733efdc169a0fd81745e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Thu, 10 Apr 2014 14:55:31 +0200 Subject: [PATCH 107/789] use system pcre library --- mariadb.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 69780e3..bf9f34a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 10.0.10 -Release: 1%{?dist} +Release: 2%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -349,6 +349,7 @@ cmake . -DBUILD_CONFIG=mysql_release \ -DWITH_READLINE=ON \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ + -DWITH_PCRE=system \ -DWITH_JEMALLOC=no \ %{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\ -DTMPDIR=%{_localstatedir}/tmp \ @@ -806,6 +807,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Apr 10 2014 Jakub Dorňák - 1:10.0.10-2 +- use system pcre library + * Thu Apr 10 2014 Jakub Dorňák - 1:10.0.10-1 - Rebase to version 10.0.10 From f2056aa95043fd5eb5cae26feab103f8e8c455a8 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 5 May 2014 12:36:12 +0200 Subject: [PATCH 108/789] Script for socket check enhanced --- mariadb-check-socket | 29 ++++++++++++++++++++++++++--- mariadb.spec | 5 ++++- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/mariadb-check-socket b/mariadb-check-socket index 90e835b..955dc4f 100644 --- a/mariadb-check-socket +++ b/mariadb-check-socket @@ -7,10 +7,33 @@ source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" -if fuser "$socketfile" &>/dev/null ; then +if test -e "$socketfile" ; then echo "Socket file $socketfile exists." >&2 - echo "Is another MySQL daemon running with the same unix socket?" >&2 - exit 1 + + # no write permissions + if ! test -w "$socketfile" ; then + echo "Not enough permission to write to the socket file $socketfile, which is suspicious." >&2 + echo "Please, remove $socketfile manually to start the service." >&2 + exit 1 + fi + + # not a socket file + if ! test -S "$socketfile" ; then + echo "The file $socketfile is not a socket file, which is suspicious." >&2 + echo "Please, remove $socketfile manually to start the service." >&2 + exit 1 + fi + + # some process uses the socket file + if fuser "$socketfile" &>/dev/null ; then + socketpid=$(fuser "$socketfile" 2>/dev/null) + echo "Is another MySQL daemon already running with the same unix socket?" >&2 + echo "Please, stop the process $socketpid or remove $socketfile manually to start the service." >&2 + exit 1 + fi + + # socket file is a garbage + echo "No process is using $socketfile, which means it is a garbage, so it will be removed automatically." >&2 fi exit 0 diff --git a/mariadb.spec b/mariadb.spec index bf9f34a..0ea764a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 10.0.10 -Release: 2%{?dist} +Release: 3%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -807,6 +807,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon May 05 2014 Honza Horak - 1:10.0.10-3 +- Script for socket check enhanced + * Thu Apr 10 2014 Jakub Dorňák - 1:10.0.10-2 - use system pcre library From d6a8f7fcc46b415e25c64c45add66edbe8ca2a69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Wed, 14 May 2014 14:05:26 +0200 Subject: [PATCH 109/789] Rebase to version 10.0.11 --- .gitignore | 1 + mariadb-cipherspec.patch | 12 ++++++------ mariadb.spec | 9 ++++++--- sources | 2 +- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index 48adbbc..485d1e7 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ /mariadb-5.5.35.tar.gz /mariadb-5.5.36.tar.gz /mariadb-10.0.10.tar.gz +/mariadb-10.0.11.tar.gz diff --git a/mariadb-cipherspec.patch b/mariadb-cipherspec.patch index 55804bd..f2d5e12 100644 --- a/mariadb-cipherspec.patch +++ b/mariadb-cipherspec.patch @@ -4,10 +4,10 @@ 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 --recursive mariadb-10.0.10.p6/client/mysqltest.cc mariadb-10.0.10/client/mysqltest.cc ---- mariadb-10.0.10.p6/client/mysqltest.cc 2014-03-30 19:56:39.000000000 +0200 -+++ mariadb-10.0.10/client/mysqltest.cc 2014-04-07 17:21:33.840148449 +0200 -@@ -5872,6 +5872,7 @@ void do_connect(struct st_command *comma +diff -up --recursive mariadb-10.0.11.p6/client/mysqltest.cc mariadb-10.0.11/client/mysqltest.cc +--- mariadb-10.0.11.p6/client/mysqltest.cc 2014-05-14 13:48:57.021925254 +0200 ++++ mariadb-10.0.11/client/mysqltest.cc 2014-05-14 13:55:20.192711847 +0200 +@@ -5908,6 +5908,7 @@ void do_connect(struct st_command *comma my_bool con_pipe= 0; my_bool con_shm __attribute__ ((unused))= 0; struct st_connection* con_slot; @@ -15,7 +15,7 @@ diff -up --recursive mariadb-10.0.10.p6/client/mysqltest.cc mariadb-10.0.10/clie static DYNAMIC_STRING ds_connection_name; static DYNAMIC_STRING ds_host; -@@ -5962,6 +5963,8 @@ void do_connect(struct st_command *comma +@@ -5998,6 +5999,8 @@ void do_connect(struct st_command *comma con_pipe= 1; else if (length == 3 && !strncmp(con_options, "SHM", 3)) con_shm= 1; @@ -24,7 +24,7 @@ diff -up --recursive mariadb-10.0.10.p6/client/mysqltest.cc mariadb-10.0.10/clie else die("Illegal option to connect: %.*s", (int) (end - con_options), con_options); -@@ -6011,8 +6014,11 @@ void do_connect(struct st_command *comma +@@ -6047,8 +6050,11 @@ void do_connect(struct st_command *comma if (con_ssl) { #if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY) diff --git a/mariadb.spec b/mariadb.spec index 0ea764a..6b87552 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -6,8 +6,8 @@ %bcond_with tokudb Name: mariadb -Version: 10.0.10 -Release: 3%{?dist} +Version: 10.0.11 +Release: 1%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -35,7 +35,7 @@ License: GPLv2 with exceptions and LGPLv2 and BSD %global mysqld_enabled_flag_file %{_localstatedir}/lib/rpm-state/mysqld_enabled %global mysqld_running_flag_file %{_localstatedir}/lib/rpm-state/mysqld_running -Source0: http://ftp.osuosl.org/pub/mariadb/mariadb-%{version}/kvm-tarbake-jaunty-x86/mariadb-%{version}.tar.gz +Source0: http://mirrors.syringanetworks.net/mariadb/mariadb-%{version}/source/mariadb-%{version}.tar.gz Source3: my.cnf Source5: my_config.h Source6: README.mysql-docs @@ -807,6 +807,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed May 14 2014 Jakub Dorňák - 1:10.0.11-1 +- Rebase to version 10.0.11 + * Mon May 05 2014 Honza Horak - 1:10.0.10-3 - Script for socket check enhanced diff --git a/sources b/sources index aa0b46a..0d4957e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -14ce22b8197d4eae88d237776d47220f mariadb-10.0.10.tar.gz +faa2ea3f9c6f7bc5f021d299367a7a8d mariadb-10.0.11.tar.gz From ca8e4cee0ec530c139a101a13bca027c4f24d100 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Thu, 29 May 2014 09:42:35 +0200 Subject: [PATCH 110/789] skip tests failing on ppc64 (rhbz#1096787) --- mariadb-skip-test-list.patch | 11 ++++ mariadb.spec | 6 ++ rh-skipped-tests-ppc64.list | 115 +++++++++++++++++++++++++++++++++++ 3 files changed, 132 insertions(+) create mode 100644 mariadb-skip-test-list.patch create mode 100644 rh-skipped-tests-ppc64.list diff --git a/mariadb-skip-test-list.patch b/mariadb-skip-test-list.patch new file mode 100644 index 0000000..79232bb --- /dev/null +++ b/mariadb-skip-test-list.patch @@ -0,0 +1,11 @@ +--- mariadb-10.0.11/mysql-test/lib/mtr_cases.pm.orig 2014-05-29 09:38:59.828057468 +0200 ++++ mariadb-10.0.11/mysql-test/lib/mtr_cases.pm 2014-05-29 09:39:26.890028880 +0200 +@@ -321,7 +321,7 @@ sub parse_disabled { + chomp; + next if /^\s*#/ or /^\s*$/; + mtr_error("Syntax error in $filename line $.") +- unless /^\s*(?:([-0-9A-Za-z_]+)\.)?([-0-9A-Za-z_]+)\s*:\s*(.*?)\s*$/; ++ unless /^\s*(?:([-0-9A-Za-z_\/]+)\.)?([-0-9A-Za-z_]+)\s*:\s*(.*?)\s*$/; + mtr_error("Wrong suite name in $filename line $.") + if defined $1 and defined $suitename and $1 ne $suitename; + $disabled{($1 || $suitename || '') . ".$2"} = $3; diff --git a/mariadb.spec b/mariadb.spec index 6b87552..6a810ba 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -51,6 +51,7 @@ Source15: mariadb-scripts-common Source16: mysqld.service Source51: rh-skipped-tests-base.list Source52: rh-skipped-tests-arm.list +Source53: rh-skipped-tests-ppc64.list # Working around perl dependency checking bug in rpm FTTB. Remove later. Source999: filter-requires-mysql.sh @@ -69,6 +70,7 @@ Patch11: mariadb-covscan-signexpr.patch Patch12: mariadb-covscan-stroverflow.patch Patch13: mariadb-config.patch Patch14: mariadb-ssltest.patch +Patch15: mariadb-skip-test-list.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -269,6 +271,7 @@ MariaDB is a community developed branch of MySQL. %patch12 -p1 %patch13 -p1 %patch14 -p1 +%patch15 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -279,6 +282,9 @@ cat %{SOURCE51} > mysql-test/rh-skipped-tests.list %ifarch %{arm} aarch64 cat %{SOURCE52} >> mysql-test/rh-skipped-tests.list %endif +%ifarch ppc64 +cat %{SOURCE53} >> mysql-test/rh-skipped-tests.list +%endif # disable some tests failing on ppc and s390 %ifarch ppc ppc64 ppc64p7 s390 s390x aarch64 echo "main.gis-precise : rhbz#906367" >> mysql-test/rh-skipped-tests.list diff --git a/rh-skipped-tests-ppc64.list b/rh-skipped-tests-ppc64.list new file mode 100644 index 0000000..469b683 --- /dev/null +++ b/rh-skipped-tests-ppc64.list @@ -0,0 +1,115 @@ +multi_source.skip_counter : rhbz#1096787 +rpl.rpl_auto_increment : rhbz#1096787 +rpl.rpl_mixed_binlog_max_cache_size : rhbz#1096787 +rpl.rpl_slave_skip : rhbz#1096787 +rpl.rpl_innodb_mixed_dml : rhbz#1096787 +rpl.rpl_mixed_implicit_commit_binlog : rhbz#1096787 +rpl.rpl_gtid_until : rhbz#1096787 +rpl.rpl_skip_replication : rhbz#1096787 +rpl.rpl_partition_innodb : rhbz#1096787 +rpl.rpl_innodb_bug30888 : rhbz#1096787 +rpl.rpl_relayrotate : rhbz#1096787 +rpl.rpl_checksum_cache : rhbz#1096787 +rpl.rpl_relay_space_innodb : rhbz#1096787 +rpl.rpl_stm_max_relay_size : rhbz#1096787 +rpl.rpl_circular_for_4_hosts : rhbz#1096787 +rpl.rpl_gtid_basic : rhbz#1096787 +rpl.rpl_gtid_master_promote : rhbz#1096787 +rpl.rpl_gtid_stop_start : rhbz#1096787 +rpl.rpl_rotate_logs : rhbz#1096787 +connect.alter : rhbz#1096787 +connect.bin : rhbz#1096787 +connect.dbf : rhbz#1096787 +connect.index : rhbz#1096787 +spider/bg.spider_fixes : rhbz#1096787 +spider/bg.function : rhbz#1096787 +spider.spider_fixes : rhbz#1096787 +spider.function : rhbz#1096787 +innodb.innodb : rhbz#1096787 +binlog.binlog_mixed_cache_stat : rhbz#1096787 +main.ctype_utf8 : rhbz#1096787 +main.ctype_utf8mb4 : rhbz#1096787 +main.ctype_utf8mb4_innodb : rhbz#1096787 +main.implicit_commit : rhbz#1096787 +main.statistics : rhbz#1096787 +innodb_zip.innodb_cmp_drop_table : rhbz#1096787 +main.innodb_mysql_lock2 : rhbz#1096787 +binlog.binlog_innodb : rhbz#1096787 +main.commit_1innodb : rhbz#1096787 +main.sp_trans : rhbz#1096787 +innodb.innodb_bug30919 : rhbz#1096787 +main.partition_exchange : rhbz#1096787 +main.partition_innodb : rhbz#1096787 +main.partition_innodb_plugin : rhbz#1096787 +parts.partition_auto_increment_innodb : rhbz#1096787 +parts.partition_bit_innodb : rhbz#1096787 +parts.partition_engine_innodb : rhbz#1096787 +parts.partition_exch_qa_10 : rhbz#1096787 +parts.partition_exch_qa_1_innodb : rhbz#1096787 +innodb.innodb_information_schema_buffer : rhbz#1096787 +funcs_2.innodb_charset : rhbz#1096787 +main.selectivity_innodb : rhbz#1096787 +main.stat_tables_innodb : rhbz#1096787 +funcs_1.innodb_trig_03e : rhbz#1096787 +funcs_1.innodb_views : rhbz#1096787 +funcs_1.is_columns_innodb : rhbz#1096787 +handler.innodb : rhbz#1096787 +innodb.innodb-autoinc-optimize : rhbz#1096787 +innodb.innodb-index : rhbz#1096787 +innodb.innodb-index_ucs2 : rhbz#1096787 +innodb.innodb-wl5522 : rhbz#1096787 +innodb.innodb-wl5522-1 : rhbz#1096787 +innodb.innodb-wl5522-zip : rhbz#1096787 +innodb.innodb_bug14704286 : rhbz#1096787 +innodb.innodb_bug30423 : rhbz#1096787 +innodb.innodb_bug34300 : rhbz#1096787 +innodb.innodb_bug41904 : rhbz#1096787 +innodb.innodb_bug47621 : rhbz#1096787 +innodb.innodb_bug53290 : rhbz#1096787 +innodb.innodb_bug56143 : rhbz#1096787 +innodb.innodb_bug59733 : rhbz#1096787 +innodb.innodb_trx_weight : rhbz#1096787 +innodb_fts.fulltext2 : rhbz#1096787 +innodb_fts.fulltext_order_by : rhbz#1096787 +innodb_fts.innodb-fts-ddl : rhbz#1096787 +innodb_fts.innodb-fts-fic : rhbz#1096787 +innodb_fts.innodb_fts_large_records : rhbz#1096787 +innodb_fts.innodb_fts_misc : rhbz#1096787 +innodb_fts.innodb_fts_misc_1 : rhbz#1096787 +innodb_fts.innodb_fts_multiple_index : rhbz#1096787 +innodb_fts.innodb_fts_proximity : rhbz#1096787 +innodb_fts.innodb_fts_stopword_charset : rhbz#1096787 +innodb_fts.innodb_fts_transaction : rhbz#1096787 +innodb_zip.innodb_bug56680 : rhbz#1096787 +innodb_zip.innodb_index_large_prefix : rhbz#1096787 +innodb_zip.innodb_prefix_index_liftedlimit : rhbz#1096787 +main.alter_table : rhbz#1096787 +main.alter_table_online : rhbz#1096787 +main.flush-innodb : rhbz#1096787 +main.group_min_max_innodb : rhbz#1096787 +main.index_intersect_innodb : rhbz#1096787 +main.innodb_ext_key : rhbz#1096787 +main.innodb_icp : rhbz#1096787 +main.innodb_mrr_cpk : rhbz#1096787 +main.innodb_mysql_lock : rhbz#1096787 +main.mysqlcheck : rhbz#1096787 +main.range_vs_index_merge_innodb : rhbz#1096787 +main.stat_tables_disabled : rhbz#1096787 +main.subselect_innodb : rhbz#1096787 +main.subselect_sj2 : rhbz#1096787 +main.subselect_sj2_jcl6 : rhbz#1096787 +main.subselect_sj2_mat : rhbz#1096787 +main.trigger-trans : rhbz#1096787 +main.type_bit_innodb : rhbz#1096787 +main.update : rhbz#1096787 +perfschema.innodb_table_io : rhbz#1096787 +sys_vars.innodb_max_dirty_pages_pct_func : rhbz#1096787 +vcol.vcol_non_stored_columns_innodb : rhbz#1096787 +main.multi_update : rhbz#1096787 +main.index_merge_innodb : rhbz#1096787 +main.progress_976225 : rhbz#1096787 +main.xtradb_mrr : rhbz#1096787 +percona.percona_xtradb_bug317074 : rhbz#1096787 +sys_vars.max_relay_log_size_basic : rhbz#1096787 +sys_vars.sql_slave_skip_counter_basic : rhbz#1096787 +perfschema.rpl_statements : rhbz#1096787 From 3b0a17cb0724cc3d6009a4d50203273c062cabae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Thu, 29 May 2014 10:46:30 +0200 Subject: [PATCH 111/789] update arch list for the recently broken tests --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 6a810ba..e773631 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -282,7 +282,7 @@ cat %{SOURCE51} > mysql-test/rh-skipped-tests.list %ifarch %{arm} aarch64 cat %{SOURCE52} >> mysql-test/rh-skipped-tests.list %endif -%ifarch ppc64 +%ifarch ppc ppc64 ppc64p7 s390 s390x cat %{SOURCE53} >> mysql-test/rh-skipped-tests.list %endif # disable some tests failing on ppc and s390 From e05ba09fe9551f39fcb3832addeee76b00dc18b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Thu, 29 May 2014 13:33:24 +0200 Subject: [PATCH 112/789] - rebuild with tests failing on big endian arches disabled (#1096787) --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index e773631..de4e3bc 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 10.0.11 -Release: 1%{?dist} +Release: 2%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -813,6 +813,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu May 29 2014 Dan Horák - 1:10.0.11-2 +- rebuild with tests failing on big endian arches disabled (#1096787) + * Wed May 14 2014 Jakub Dorňák - 1:10.0.11-1 - Rebase to version 10.0.11 From 7819f4907874d2e0a23171180e12da1fa53d49d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Mon, 2 Jun 2014 18:25:47 +0200 Subject: [PATCH 113/789] rebuild with tests failing on different arches disabled (#1096787) --- mariadb.spec | 28 +++++-- rh-skipped-tests-arm.list | 8 +- rh-skipped-tests-base.list | 118 +++++++++++++++++++++++++++--- rh-skipped-tests-ppc64-s390x.list | 16 ++++ rh-skipped-tests-ppc64.list | 115 ----------------------------- rh-skipped-tests-s390.list | 8 ++ 6 files changed, 161 insertions(+), 132 deletions(-) create mode 100644 rh-skipped-tests-ppc64-s390x.list delete mode 100644 rh-skipped-tests-ppc64.list create mode 100644 rh-skipped-tests-s390.list diff --git a/mariadb.spec b/mariadb.spec index de4e3bc..16cb746 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 10.0.11 -Release: 2%{?dist} +Release: 3%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -51,7 +51,8 @@ Source15: mariadb-scripts-common Source16: mysqld.service Source51: rh-skipped-tests-base.list Source52: rh-skipped-tests-arm.list -Source53: rh-skipped-tests-ppc64.list +Source53: rh-skipped-tests-ppc64-s390x.list +Source54: rh-skipped-tests-s390.list # Working around perl dependency checking bug in rpm FTTB. Remove later. Source999: filter-requires-mysql.sh @@ -278,13 +279,27 @@ rm -f mysql-test/t/ssl_8k_key-master.opt # generate a list of tests that fail, but are not disabled by upstream cat %{SOURCE51} > mysql-test/rh-skipped-tests.list + # disable some tests failing on ARM architectures %ifarch %{arm} aarch64 cat %{SOURCE52} >> mysql-test/rh-skipped-tests.list %endif -%ifarch ppc ppc64 ppc64p7 s390 s390x +%ifarch aarch64 +sed -i -r '/^connect.bin /d' mysql-test/rh-skipped-tests.list +%endif + +%ifarch ppc ppc64 ppc64p7 cat %{SOURCE53} >> mysql-test/rh-skipped-tests.list %endif + +%ifarch s390x +cat %{SOURCE53} >> mysql-test/rh-skipped-tests.list +sed -i -r '/^vcol.vcol_supported_sql_funcs_/d' mysql-test/rh-skipped-tests.list +%endif +%ifarch s390 +cat %{SOURCE54} >> mysql-test/rh-skipped-tests.list +%endif + # disable some tests failing on ppc and s390 %ifarch ppc ppc64 ppc64p7 s390 s390x aarch64 echo "main.gis-precise : rhbz#906367" >> mysql-test/rh-skipped-tests.list @@ -403,10 +418,10 @@ done --skip-test-list=rh-skipped-tests.list \ --suite-timeout=720 --testcase-timeout=30 \ --mysqld=--binlog-format=mixed --force-restart \ - --shutdown-timeout=60 + --shutdown-timeout=60 --max-test-fail=0 # cmake build scripts will install the var cruft if left alone :-( rm -rf var - ) + ) %endif %install @@ -813,6 +828,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Jun 2 2014 Jakub Dorňák - 1:10.0.11-3 +- rebuild with tests failing on different arches disabled (#1096787) + * Thu May 29 2014 Dan Horák - 1:10.0.11-2 - rebuild with tests failing on big endian arches disabled (#1096787) diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index 609c82d..3c1c4db 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -4,8 +4,10 @@ # This is caused by missing hardware performance counter support on ARM. # Discussion about fixing that can be found in RH bug #741325. -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 +#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 -connect.bin : Fails with MariaDB 10 +connect.bin : Fails with MariaDB 10 (pass on aarch64) +perfschema.func_file_io : Fails with MariaDB 10 +perfschema.func_mutex : Fails with MariaDB 10 perfschema.setup_objects : Fails with MariaDB 10 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 51d2f8c..b7e7696 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -1,17 +1,117 @@ # Disable innodb.innodb, which is showing platform-dependent results # as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 -#innodb.innodb : bug#60155 has platform-dependent results +innodb.innodb : bug#60155 has platform-dependent results # Disable tokudb_innodb_xa_crash temporarily, until it is fixed: # -#tokudb_innodb_xa_crash : https://bugzilla.redhat.com/show_bug.cgi?id=1018192 +tokudb_innodb_xa_crash : https://bugzilla.redhat.com/show_bug.cgi?id=1018192 -vcol.vcol_supported_sql_funcs_innodb : Fails with MariaDB 10 -main.ssl_crl_clients : Fails with MariaDB 10 -main.func_str : Fails with MariaDB 10 -perfschema.nesting : Fails with MariaDB 10 -perfschema.socket_summary_by_event_name_func : Fails with MariaDB 10 -perfschema.socket_summary_by_instance_func : Fails with MariaDB 10 -vcol.vcol_supported_sql_funcs_myisam : Fails with MariaDB 10 +# These tests fail with MariaDB 10: + +binlog.binlog_innodb : rhbz#1096787 +binlog.binlog_mixed_cache_stat : rhbz#1096787 +funcs_1.innodb_trig_03e : rhbz#1096787 +funcs_1.innodb_views : rhbz#1096787 +funcs_1.is_columns_innodb : rhbz#1096787 +funcs_2.innodb_charset : rhbz#1096787 +handler.innodb : rhbz#1096787 +innodb_fts.fulltext_order_by : rhbz#1096787 +innodb_fts.fulltext2 : rhbz#1096787 +innodb_fts.innodb-fts-ddl : rhbz#1096787 +innodb_fts.innodb-fts-fic : rhbz#1096787 +innodb_fts.innodb_fts_large_records : rhbz#1096787 +innodb_fts.innodb_fts_misc : rhbz#1096787 +innodb_fts.innodb_fts_misc_1 : rhbz#1096787 +innodb_fts.innodb_fts_multiple_index : rhbz#1096787 +innodb_fts.innodb_fts_proximity : rhbz#1096787 +innodb_fts.innodb_fts_stopword_charset : rhbz#1096787 +innodb_fts.innodb_fts_transaction : rhbz#1096787 +innodb.innodb-autoinc-optimize : rhbz#1096787 +innodb.innodb_bug14704286 : rhbz#1096787 +innodb.innodb_bug30423 : rhbz#1096787 +innodb.innodb_bug30919 : rhbz#1096787 +innodb.innodb_bug34300 : rhbz#1096787 +innodb.innodb_bug41904 : rhbz#1096787 +innodb.innodb_bug47621 : rhbz#1096787 +innodb.innodb_bug53290 : rhbz#1096787 +innodb.innodb_bug56143 : rhbz#1096787 +innodb.innodb_bug59733 : rhbz#1096787 +innodb.innodb-index : rhbz#1096787 +innodb.innodb-index_ucs2 : rhbz#1096787 +innodb.innodb_information_schema_buffer : rhbz#1096787 +innodb.innodb_trx_weight : rhbz#1096787 +innodb.innodb-wl5522 : rhbz#1096787 +innodb.innodb-wl5522-zip : rhbz#1096787 +innodb.innodb-wl5522-1 : rhbz#1096787 +innodb_zip.innodb_bug56680 : rhbz#1096787 +innodb_zip.innodb_cmp_drop_table : rhbz#1096787 +innodb_zip.innodb_index_large_prefix : rhbz#1096787 +innodb_zip.innodb_prefix_index_liftedlimit : rhbz#1096787 +main.alter_table : rhbz#1096787 +main.alter_table_online : rhbz#1096787 +main.commit_1innodb : rhbz#1096787 +main.ctype_utf8 : rhbz#1096787 +main.ctype_utf8mb4 : rhbz#1096787 +main.ctype_utf8mb4_innodb : rhbz#1096787 +main.flush-innodb : rhbz#1096787 +main.func_str : rhbz#1096787 +main.group_min_max_innodb : rhbz#1096787 +main.implicit_commit : rhbz#1096787 +main.index_intersect_innodb : rhbz#1096787 +main.index_merge_innodb : rhbz#1096787 +main.innodb_ext_key : rhbz#1096787 +main.innodb_icp : rhbz#1096787 +main.innodb_mrr_cpk : rhbz#1096787 +main.innodb_mysql_lock : rhbz#1096787 +main.innodb_mysql_lock2 : rhbz#1096787 +main.multi_update : rhbz#1096787 +main.mysqlcheck : rhbz#1096787 +main.partition_exchange : rhbz#1096787 +main.partition_innodb : rhbz#1096787 +main.partition_innodb_plugin : rhbz#1096787 +main.progress_976225 : rhbz#1096787 +main.range_vs_index_merge_innodb : rhbz#1096787 +main.selectivity_innodb : rhbz#1096787 +main.sp_trans : rhbz#1096787 +main.ssl_crl_clients : rhbz#1096787 +main.statistics : rhbz#1096787 +main.stat_tables_disabled : rhbz#1096787 +main.stat_tables_innodb : rhbz#1096787 +main.subselect_innodb : rhbz#1096787 +main.subselect_sj2 : rhbz#1096787 +main.subselect_sj2_jcl6 : rhbz#1096787 +main.subselect_sj2_mat : rhbz#1096787 +main.trigger-trans : rhbz#1096787 +main.type_bit_innodb : rhbz#1096787 +main.update : rhbz#1096787 +main.xtradb_mrr : rhbz#1096787 +parts.partition_auto_increment_innodb : rhbz#1096787 +parts.partition_bit_innodb : rhbz#1096787 +parts.partition_engine_innodb : rhbz#1096787 +parts.partition_exch_qa_1_innodb : rhbz#1096787 +parts.partition_exch_qa_10 : rhbz#1096787 +percona.percona_xtradb_bug317074 : rhbz#1096787 +perfschema.innodb_table_io : rhbz#1096787 +perfschema.nesting : rhbz#1096787 +perfschema.rpl_statements : rhbz#1096787 +perfschema.socket_summary_by_event_name_func : rhbz#1096787 +perfschema.socket_summary_by_instance_func : rhbz#1096787 +rpl.rpl_circular_for_4_hosts : rhbz#1096787 +rpl.rpl_checksum_cache : rhbz#1096787 +rpl.rpl_innodb_bug30888 : rhbz#1096787 +rpl.rpl_innodb_mixed_dml : rhbz#1096787 +rpl.rpl_mixed_binlog_max_cache_size : rhbz#1096787 +rpl.rpl_mixed_implicit_commit_binlog : rhbz#1096787 +rpl.rpl_partition_innodb : rhbz#1096787 +rpl.rpl_relayrotate : rhbz#1096787 +rpl.rpl_relay_space_innodb : rhbz#1096787 +spider/bg.function : rhbz#1096787 +spider/bg.spider_fixes : rhbz#1096787 +spider.function : rhbz#1096787 +spider.spider_fixes : rhbz#1096787 +sys_vars.innodb_max_dirty_pages_pct_func : rhbz#1096787 +vcol.vcol_non_stored_columns_innodb : rhbz#1096787 +vcol.vcol_supported_sql_funcs_innodb : rhbz#1096787 (pass on s390x) +vcol.vcol_supported_sql_funcs_myisam : rhbz#1096787 (pass on s390x) diff --git a/rh-skipped-tests-ppc64-s390x.list b/rh-skipped-tests-ppc64-s390x.list new file mode 100644 index 0000000..50b068d --- /dev/null +++ b/rh-skipped-tests-ppc64-s390x.list @@ -0,0 +1,16 @@ +connect.alter : rhbz#1096787 +connect.bin : rhbz#1096787 +connect.dbf : rhbz#1096787 +connect.index : rhbz#1096787 +multi_source.skip_counter : rhbz#1096787 +rpl.rpl_auto_increment : rhbz#1096787 +rpl.rpl_gtid_basic : rhbz#1096787 +rpl.rpl_gtid_master_promote : rhbz#1096787 +rpl.rpl_gtid_stop_start : rhbz#1096787 +rpl.rpl_gtid_until : rhbz#1096787 +rpl.rpl_rotate_logs : rhbz#1096787 +rpl.rpl_skip_replication : rhbz#1096787 +rpl.rpl_slave_skip : rhbz#1096787 +rpl.rpl_stm_max_relay_size : rhbz#1096787 +sys_vars.max_relay_log_size_basic : rhbz#1096787 +sys_vars.sql_slave_skip_counter_basic : rhbz#1096787 diff --git a/rh-skipped-tests-ppc64.list b/rh-skipped-tests-ppc64.list deleted file mode 100644 index 469b683..0000000 --- a/rh-skipped-tests-ppc64.list +++ /dev/null @@ -1,115 +0,0 @@ -multi_source.skip_counter : rhbz#1096787 -rpl.rpl_auto_increment : rhbz#1096787 -rpl.rpl_mixed_binlog_max_cache_size : rhbz#1096787 -rpl.rpl_slave_skip : rhbz#1096787 -rpl.rpl_innodb_mixed_dml : rhbz#1096787 -rpl.rpl_mixed_implicit_commit_binlog : rhbz#1096787 -rpl.rpl_gtid_until : rhbz#1096787 -rpl.rpl_skip_replication : rhbz#1096787 -rpl.rpl_partition_innodb : rhbz#1096787 -rpl.rpl_innodb_bug30888 : rhbz#1096787 -rpl.rpl_relayrotate : rhbz#1096787 -rpl.rpl_checksum_cache : rhbz#1096787 -rpl.rpl_relay_space_innodb : rhbz#1096787 -rpl.rpl_stm_max_relay_size : rhbz#1096787 -rpl.rpl_circular_for_4_hosts : rhbz#1096787 -rpl.rpl_gtid_basic : rhbz#1096787 -rpl.rpl_gtid_master_promote : rhbz#1096787 -rpl.rpl_gtid_stop_start : rhbz#1096787 -rpl.rpl_rotate_logs : rhbz#1096787 -connect.alter : rhbz#1096787 -connect.bin : rhbz#1096787 -connect.dbf : rhbz#1096787 -connect.index : rhbz#1096787 -spider/bg.spider_fixes : rhbz#1096787 -spider/bg.function : rhbz#1096787 -spider.spider_fixes : rhbz#1096787 -spider.function : rhbz#1096787 -innodb.innodb : rhbz#1096787 -binlog.binlog_mixed_cache_stat : rhbz#1096787 -main.ctype_utf8 : rhbz#1096787 -main.ctype_utf8mb4 : rhbz#1096787 -main.ctype_utf8mb4_innodb : rhbz#1096787 -main.implicit_commit : rhbz#1096787 -main.statistics : rhbz#1096787 -innodb_zip.innodb_cmp_drop_table : rhbz#1096787 -main.innodb_mysql_lock2 : rhbz#1096787 -binlog.binlog_innodb : rhbz#1096787 -main.commit_1innodb : rhbz#1096787 -main.sp_trans : rhbz#1096787 -innodb.innodb_bug30919 : rhbz#1096787 -main.partition_exchange : rhbz#1096787 -main.partition_innodb : rhbz#1096787 -main.partition_innodb_plugin : rhbz#1096787 -parts.partition_auto_increment_innodb : rhbz#1096787 -parts.partition_bit_innodb : rhbz#1096787 -parts.partition_engine_innodb : rhbz#1096787 -parts.partition_exch_qa_10 : rhbz#1096787 -parts.partition_exch_qa_1_innodb : rhbz#1096787 -innodb.innodb_information_schema_buffer : rhbz#1096787 -funcs_2.innodb_charset : rhbz#1096787 -main.selectivity_innodb : rhbz#1096787 -main.stat_tables_innodb : rhbz#1096787 -funcs_1.innodb_trig_03e : rhbz#1096787 -funcs_1.innodb_views : rhbz#1096787 -funcs_1.is_columns_innodb : rhbz#1096787 -handler.innodb : rhbz#1096787 -innodb.innodb-autoinc-optimize : rhbz#1096787 -innodb.innodb-index : rhbz#1096787 -innodb.innodb-index_ucs2 : rhbz#1096787 -innodb.innodb-wl5522 : rhbz#1096787 -innodb.innodb-wl5522-1 : rhbz#1096787 -innodb.innodb-wl5522-zip : rhbz#1096787 -innodb.innodb_bug14704286 : rhbz#1096787 -innodb.innodb_bug30423 : rhbz#1096787 -innodb.innodb_bug34300 : rhbz#1096787 -innodb.innodb_bug41904 : rhbz#1096787 -innodb.innodb_bug47621 : rhbz#1096787 -innodb.innodb_bug53290 : rhbz#1096787 -innodb.innodb_bug56143 : rhbz#1096787 -innodb.innodb_bug59733 : rhbz#1096787 -innodb.innodb_trx_weight : rhbz#1096787 -innodb_fts.fulltext2 : rhbz#1096787 -innodb_fts.fulltext_order_by : rhbz#1096787 -innodb_fts.innodb-fts-ddl : rhbz#1096787 -innodb_fts.innodb-fts-fic : rhbz#1096787 -innodb_fts.innodb_fts_large_records : rhbz#1096787 -innodb_fts.innodb_fts_misc : rhbz#1096787 -innodb_fts.innodb_fts_misc_1 : rhbz#1096787 -innodb_fts.innodb_fts_multiple_index : rhbz#1096787 -innodb_fts.innodb_fts_proximity : rhbz#1096787 -innodb_fts.innodb_fts_stopword_charset : rhbz#1096787 -innodb_fts.innodb_fts_transaction : rhbz#1096787 -innodb_zip.innodb_bug56680 : rhbz#1096787 -innodb_zip.innodb_index_large_prefix : rhbz#1096787 -innodb_zip.innodb_prefix_index_liftedlimit : rhbz#1096787 -main.alter_table : rhbz#1096787 -main.alter_table_online : rhbz#1096787 -main.flush-innodb : rhbz#1096787 -main.group_min_max_innodb : rhbz#1096787 -main.index_intersect_innodb : rhbz#1096787 -main.innodb_ext_key : rhbz#1096787 -main.innodb_icp : rhbz#1096787 -main.innodb_mrr_cpk : rhbz#1096787 -main.innodb_mysql_lock : rhbz#1096787 -main.mysqlcheck : rhbz#1096787 -main.range_vs_index_merge_innodb : rhbz#1096787 -main.stat_tables_disabled : rhbz#1096787 -main.subselect_innodb : rhbz#1096787 -main.subselect_sj2 : rhbz#1096787 -main.subselect_sj2_jcl6 : rhbz#1096787 -main.subselect_sj2_mat : rhbz#1096787 -main.trigger-trans : rhbz#1096787 -main.type_bit_innodb : rhbz#1096787 -main.update : rhbz#1096787 -perfschema.innodb_table_io : rhbz#1096787 -sys_vars.innodb_max_dirty_pages_pct_func : rhbz#1096787 -vcol.vcol_non_stored_columns_innodb : rhbz#1096787 -main.multi_update : rhbz#1096787 -main.index_merge_innodb : rhbz#1096787 -main.progress_976225 : rhbz#1096787 -main.xtradb_mrr : rhbz#1096787 -percona.percona_xtradb_bug317074 : rhbz#1096787 -sys_vars.max_relay_log_size_basic : rhbz#1096787 -sys_vars.sql_slave_skip_counter_basic : rhbz#1096787 -perfschema.rpl_statements : rhbz#1096787 diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list new file mode 100644 index 0000000..2b0b5a4 --- /dev/null +++ b/rh-skipped-tests-s390.list @@ -0,0 +1,8 @@ +connect.alter : rhbz#1096787 +connect.bin : rhbz#1096787 +connect.dbf : rhbz#1096787 +connect.index : rhbz#1096787 +rpl.rpl_gtid_basic : rhbz#1096787 +rpl.rpl_gtid_master_promote : rhbz#1096787 +rpl.rpl_gtid_stop_start : rhbz#1096787 +rpl.rpl_gtid_until : rhbz#1096787 From b76166269a19e972affc4bb3d398beb313b2a042 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Tue, 3 Jun 2014 09:15:56 +0200 Subject: [PATCH 114/789] rebuild with tests failing on different arches disabled (#1096787) --- mariadb.spec | 5 ++--- rh-skipped-tests-base.list | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 16cb746..8a78167 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 10.0.11 -Release: 3%{?dist} +Release: 4%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -294,7 +294,6 @@ cat %{SOURCE53} >> mysql-test/rh-skipped-tests.list %ifarch s390x cat %{SOURCE53} >> mysql-test/rh-skipped-tests.list -sed -i -r '/^vcol.vcol_supported_sql_funcs_/d' mysql-test/rh-skipped-tests.list %endif %ifarch s390 cat %{SOURCE54} >> mysql-test/rh-skipped-tests.list @@ -828,7 +827,7 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog -* Mon Jun 2 2014 Jakub Dorňák - 1:10.0.11-3 +* Tue Jun 3 2014 Jakub Dorňák - 1:10.0.11-4 - rebuild with tests failing on different arches disabled (#1096787) * Thu May 29 2014 Dan Horák - 1:10.0.11-2 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index b7e7696..0dd0efb 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -113,5 +113,5 @@ spider.function : rhbz#1096787 spider.spider_fixes : rhbz#1096787 sys_vars.innodb_max_dirty_pages_pct_func : rhbz#1096787 vcol.vcol_non_stored_columns_innodb : rhbz#1096787 -vcol.vcol_supported_sql_funcs_innodb : rhbz#1096787 (pass on s390x) -vcol.vcol_supported_sql_funcs_myisam : rhbz#1096787 (pass on s390x) +vcol.vcol_supported_sql_funcs_innodb : rhbz#1096787 +vcol.vcol_supported_sql_funcs_myisam : rhbz#1096787 From eeaa2f723c1ef3b36405b40caed822cf3da54325 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 7 Jun 2014 03:00:32 -0500 Subject: [PATCH 115/789] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 8a78167..4df95ea 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 10.0.11 -Release: 4%{?dist} +Release: 5%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -827,6 +827,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Jun 07 2014 Fedora Release Engineering - 1:10.0.11-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + * Tue Jun 3 2014 Jakub Dorňák - 1:10.0.11-4 - rebuild with tests failing on different arches disabled (#1096787) From 3a5d7cd0bc3d827096484d1f668de4e3f7acb0d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Thu, 19 Jun 2014 16:08:41 +0200 Subject: [PATCH 116/789] Rebase to version 10.0.12 --- .gitignore | 1 + mariadb-cipherspec.patch | 36 ++++++++++++++++++------------------ mariadb-mysql_config.patch | 27 +++++++++++++++++++++++++++ mariadb-skip-test-list.patch | 11 ----------- mariadb.spec | 18 +++++++----------- rh-skipped-tests-base.list | 5 +++++ sources | 2 +- 7 files changed, 59 insertions(+), 41 deletions(-) create mode 100644 mariadb-mysql_config.patch delete mode 100644 mariadb-skip-test-list.patch diff --git a/.gitignore b/.gitignore index 485d1e7..6043979 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /mariadb-5.5.36.tar.gz /mariadb-10.0.10.tar.gz /mariadb-10.0.11.tar.gz +/mariadb-10.0.12.tar.gz diff --git a/mariadb-cipherspec.patch b/mariadb-cipherspec.patch index f2d5e12..0707093 100644 --- a/mariadb-cipherspec.patch +++ b/mariadb-cipherspec.patch @@ -4,10 +4,10 @@ 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 --recursive mariadb-10.0.11.p6/client/mysqltest.cc mariadb-10.0.11/client/mysqltest.cc ---- mariadb-10.0.11.p6/client/mysqltest.cc 2014-05-14 13:48:57.021925254 +0200 -+++ mariadb-10.0.11/client/mysqltest.cc 2014-05-14 13:55:20.192711847 +0200 -@@ -5908,6 +5908,7 @@ void do_connect(struct st_command *comma +diff -up --recursive mariadb-10.0.12.orig/client/mysqltest.cc mariadb-10.0.12/client/mysqltest.cc +--- mariadb-10.0.12.orig/client/mysqltest.cc 2014-06-12 11:26:05.000000000 +0200 ++++ mariadb-10.0.12/client/mysqltest.cc 2014-06-18 11:24:49.623171255 +0200 +@@ -5912,6 +5912,7 @@ void do_connect(struct st_command *comma my_bool con_pipe= 0; my_bool con_shm __attribute__ ((unused))= 0; struct st_connection* con_slot; @@ -15,7 +15,7 @@ diff -up --recursive mariadb-10.0.11.p6/client/mysqltest.cc mariadb-10.0.11/clie static DYNAMIC_STRING ds_connection_name; static DYNAMIC_STRING ds_host; -@@ -5998,6 +5999,8 @@ void do_connect(struct st_command *comma +@@ -6002,6 +6003,8 @@ void do_connect(struct st_command *comma con_pipe= 1; else if (length == 3 && !strncmp(con_options, "SHM", 3)) con_shm= 1; @@ -24,7 +24,7 @@ diff -up --recursive mariadb-10.0.11.p6/client/mysqltest.cc mariadb-10.0.11/clie else die("Illegal option to connect: %.*s", (int) (end - con_options), con_options); -@@ -6047,8 +6050,11 @@ void do_connect(struct st_command *comma +@@ -6051,8 +6054,11 @@ void do_connect(struct st_command *comma if (con_ssl) { #if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY) @@ -37,9 +37,9 @@ diff -up --recursive mariadb-10.0.11.p6/client/mysqltest.cc mariadb-10.0.11/clie 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 -diff -up --recursive mariadb-10.0.10.p6/mysql-test/t/openssl_1.test mariadb-10.0.10/mysql-test/t/openssl_1.test ---- mariadb-10.0.10.p6/mysql-test/t/openssl_1.test 2014-03-30 19:56:53.000000000 +0200 -+++ mariadb-10.0.10/mysql-test/t/openssl_1.test 2014-04-07 17:58:49.924934666 +0200 +diff -up --recursive mariadb-10.0.12.orig/mysql-test/t/openssl_1.test mariadb-10.0.12/mysql-test/t/openssl_1.test +--- mariadb-10.0.12.orig/mysql-test/t/openssl_1.test 2014-06-12 11:26:05.000000000 +0200 ++++ mariadb-10.0.12/mysql-test/t/openssl_1.test 2014-06-18 11:24:49.624171253 +0200 @@ -20,13 +20,13 @@ grant select on test.* to ssl_user4@loca grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; flush privileges; @@ -77,9 +77,9 @@ diff -up --recursive mariadb-10.0.10.p6/mysql-test/t/openssl_1.test mariadb-10.0 SHOW STATUS LIKE 'Ssl_cipher'; disconnect con1; connection default; -diff -up --recursive mariadb-10.0.10.p6/mysql-test/t/ssl_compress.test mariadb-10.0.10/mysql-test/t/ssl_compress.test ---- mariadb-10.0.10.p6/mysql-test/t/ssl_compress.test 2014-03-30 19:56:35.000000000 +0200 -+++ mariadb-10.0.10/mysql-test/t/ssl_compress.test 2014-04-07 18:00:39.199845919 +0200 +diff -up --recursive mariadb-10.0.12.orig/mysql-test/t/ssl_compress.test mariadb-10.0.12/mysql-test/t/ssl_compress.test +--- mariadb-10.0.12.orig/mysql-test/t/ssl_compress.test 2014-06-12 11:26:07.000000000 +0200 ++++ mariadb-10.0.12/mysql-test/t/ssl_compress.test 2014-06-18 11:24:49.624171253 +0200 @@ -8,7 +8,7 @@ # Save the initial number of concurrent sessions --source include/count_sessions.inc @@ -89,9 +89,9 @@ diff -up --recursive mariadb-10.0.10.p6/mysql-test/t/ssl_compress.test mariadb-1 # Check ssl turned on SHOW STATUS LIKE 'Ssl_cipher'; -diff -up --recursive mariadb-10.0.10.p6/mysql-test/t/ssl.test mariadb-10.0.10/mysql-test/t/ssl.test ---- mariadb-10.0.10.p6/mysql-test/t/ssl.test 2014-03-30 19:56:36.000000000 +0200 -+++ mariadb-10.0.10/mysql-test/t/ssl.test 2014-04-07 18:01:14.270854601 +0200 +diff -up --recursive mariadb-10.0.12.orig/mysql-test/t/ssl.test mariadb-10.0.12/mysql-test/t/ssl.test +--- mariadb-10.0.12.orig/mysql-test/t/ssl.test 2014-06-12 11:26:05.000000000 +0200 ++++ mariadb-10.0.12/mysql-test/t/ssl.test 2014-06-18 11:24:49.624171253 +0200 @@ -8,7 +8,7 @@ # Save the initial number of concurrent sessions --source include/count_sessions.inc @@ -101,9 +101,9 @@ diff -up --recursive mariadb-10.0.10.p6/mysql-test/t/ssl.test mariadb-10.0.10/my # Check ssl turned on SHOW STATUS LIKE 'Ssl_cipher'; -diff -up --recursive mariadb-10.0.10.p6/mysql-test/t/ssl_8k_key.test mariadb-10.0.10/mysql-test/t/ssl_8k_key.test ---- mariadb-10.0.10.p6/mysql-test/t/ssl_8k_key.test 2014-03-30 19:56:36.000000000 +0200 -+++ mariadb-10.0.10/mysql-test/t/ssl_8k_key.test 2014-04-07 17:59:31.586757044 +0200 +diff -up --recursive mariadb-10.0.12.orig/mysql-test/t/ssl_8k_key.test mariadb-10.0.12/mysql-test/t/ssl_8k_key.test +--- mariadb-10.0.12.orig/mysql-test/t/ssl_8k_key.test 2014-06-12 11:26:05.000000000 +0200 ++++ mariadb-10.0.12/mysql-test/t/ssl_8k_key.test 2014-06-18 11:24:49.624171253 +0200 @@ -5,7 +5,7 @@ # # Bug#29784 YaSSL assertion failure when reading 8k key. diff --git a/mariadb-mysql_config.patch b/mariadb-mysql_config.patch new file mode 100644 index 0000000..1ab0874 --- /dev/null +++ b/mariadb-mysql_config.patch @@ -0,0 +1,27 @@ +--- mariadb-10.0.12/scripts/mysql_config.sh.orig 2014-06-17 11:11:54.444874750 +0200 ++++ mariadb-10.0.12/scripts/mysql_config.sh 2014-06-17 11:30:48.244454413 +0200 +@@ -176,10 +176,9 @@ Options: + pkglibdir [$pkglibdir] + plugindir [$plugindir] + EOF +- exit 0 + } + +-if test $# -le 0; then usage; fi ++if test $# -le 0; then usage; exit 0; fi + + while test $# -gt 0; do + case $1 in +@@ -198,10 +197,10 @@ while test $# -gt 0; do + pkgincludedir) echo "$pkgincludedir" ;; + pkglibdir) echo "$pkglibdir" ;; + plugindir) echo "$plugindir" ;; +- *) usage ;; ++ *) echo >&2 "Unknown var: $var"; usage >&2; exit 1 ;; + esac + ;; +- *) usage ;; ++ *) echo >&2 "Unknown option: $1"; usage >&2; exit 1 ;; + esac + + shift diff --git a/mariadb-skip-test-list.patch b/mariadb-skip-test-list.patch deleted file mode 100644 index 79232bb..0000000 --- a/mariadb-skip-test-list.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- mariadb-10.0.11/mysql-test/lib/mtr_cases.pm.orig 2014-05-29 09:38:59.828057468 +0200 -+++ mariadb-10.0.11/mysql-test/lib/mtr_cases.pm 2014-05-29 09:39:26.890028880 +0200 -@@ -321,7 +321,7 @@ sub parse_disabled { - chomp; - next if /^\s*#/ or /^\s*$/; - mtr_error("Syntax error in $filename line $.") -- unless /^\s*(?:([-0-9A-Za-z_]+)\.)?([-0-9A-Za-z_]+)\s*:\s*(.*?)\s*$/; -+ unless /^\s*(?:([-0-9A-Za-z_\/]+)\.)?([-0-9A-Za-z_]+)\s*:\s*(.*?)\s*$/; - mtr_error("Wrong suite name in $filename line $.") - if defined $1 and defined $suitename and $1 ne $suitename; - $disabled{($1 || $suitename || '') . ".$2"} = $3; diff --git a/mariadb.spec b/mariadb.spec index 4df95ea..5e56720 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -6,8 +6,8 @@ %bcond_with tokudb Name: mariadb -Version: 10.0.11 -Release: 5%{?dist} +Version: 10.0.12 +Release: 1%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -71,7 +71,7 @@ Patch11: mariadb-covscan-signexpr.patch Patch12: mariadb-covscan-stroverflow.patch Patch13: mariadb-config.patch Patch14: mariadb-ssltest.patch -Patch15: mariadb-skip-test-list.patch +Patch15: mariadb-mysql_config.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -490,9 +490,6 @@ install -p -m 644 %{SOURCE15} ${RPM_BUILD_ROOT}%{_libexecdir}/ mkdir -p $RPM_BUILD_ROOT%{_tmpfilesdir} install -p -m 0644 %{SOURCE10} $RPM_BUILD_ROOT%{_tmpfilesdir}/%{name}.conf -# Fix funny permissions that cmake build scripts apply to config files -chmod 644 ${RPM_BUILD_ROOT}%{_datadir}/%{name}/config.*.ini - # Fix scripts for multilib safety mv ${RPM_BUILD_ROOT}%{_bindir}/mysql_config ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysql_config touch ${RPM_BUILD_ROOT}%{_bindir}/mysql_config @@ -653,8 +650,6 @@ fi %{_mandir}/man1/mysqlshow.1* %{_mandir}/man1/mysqlslap.1* %{_mandir}/man1/my_print_defaults.1* -%{_mandir}/man1/mysql_fix_privilege_tables.1* -%{_mandir}/man8/mysqlmanager.8* %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/connect.cnf @@ -758,7 +753,6 @@ fi %{_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* %{_mandir}/man1/innochecksum.1* @@ -777,7 +771,6 @@ fi %{_datadir}/%{name}/mysql_test_data_timezone.sql %{_datadir}/%{name}/mysql_performance_tables.sql %{_datadir}/%{name}/my-*.cnf -%{_datadir}/%{name}/config.*.ini %{_unitdir}/mysqld.service %{_unitdir}/%{name}.service @@ -792,7 +785,7 @@ fi %attr(0755,mysql,mysql) %dir %{_localstatedir}/lib/mysql %attr(0750,mysql,mysql) %dir %{_localstatedir}/log/%{name} %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{_localstatedir}/log/%{name}/%{name}.log -%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{_localstatedir}/log/mysqld.log + %config %ghost %verify(not md5 size mtime) %{_localstatedir}/log/mysqld.log %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %files devel @@ -827,6 +820,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Jun 17 2014 Jakub Dorňák - 1:10.0.12-1 +- Rebase to version 10.0.12 + * Sat Jun 07 2014 Fedora Release Engineering - 1:10.0.11-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 0dd0efb..7746f3e 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -17,6 +17,7 @@ funcs_1.innodb_views : rhbz#1096787 funcs_1.is_columns_innodb : rhbz#1096787 funcs_2.innodb_charset : rhbz#1096787 handler.innodb : rhbz#1096787 +innodb.innodb : rhbz#1096787 innodb_fts.fulltext_order_by : rhbz#1096787 innodb_fts.fulltext2 : rhbz#1096787 innodb_fts.innodb-fts-ddl : rhbz#1096787 @@ -57,6 +58,7 @@ main.ctype_utf8mb4 : rhbz#1096787 main.ctype_utf8mb4_innodb : rhbz#1096787 main.flush-innodb : rhbz#1096787 main.func_str : rhbz#1096787 +main.gis-precise : rhbz#1096787 main.group_min_max_innodb : rhbz#1096787 main.implicit_commit : rhbz#1096787 main.index_intersect_innodb : rhbz#1096787 @@ -68,10 +70,13 @@ main.innodb_mysql_lock : rhbz#1096787 main.innodb_mysql_lock2 : rhbz#1096787 main.multi_update : rhbz#1096787 main.mysqlcheck : rhbz#1096787 +main.openssl_1 : rhbz#1096787 main.partition_exchange : rhbz#1096787 main.partition_innodb : rhbz#1096787 main.partition_innodb_plugin : rhbz#1096787 main.progress_976225 : rhbz#1096787 +main.range : rhbz#1096787 +main.range_mrr_icp : rhbz#1096787 main.range_vs_index_merge_innodb : rhbz#1096787 main.selectivity_innodb : rhbz#1096787 main.sp_trans : rhbz#1096787 diff --git a/sources b/sources index 0d4957e..8a8137d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -faa2ea3f9c6f7bc5f021d299367a7a8d mariadb-10.0.11.tar.gz +6e9a7c075526f8f2f83ad8e0933bab2f mariadb-10.0.12.tar.gz From 2a52daee0ad6fdfc137da9dd7172dbf636e3bfa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Fri, 20 Jun 2014 14:36:41 +0200 Subject: [PATCH 117/789] Use -fno-delete-null-pointer-checks to avoid segfaults with gcc 4.9 (patch by Mikko Tiihonen) --- mariadb.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 5e56720..6762962 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,7 +7,7 @@ Name: mariadb Version: 10.0.12 -Release: 1%{?dist} +Release: 2%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -319,6 +319,8 @@ echo "main.gis-precise : rhbz#906367" >> mysql-test/rh-skipped-tests.list CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" # force PIC mode so that we can build libmysqld.so CFLAGS="$CFLAGS -fPIC" +# GCC 4.9 causes segfaults: https://mariadb.atlassian.net/browse/MDEV-6360 +CFLAGS="$CFLAGS -fno-delete-null-pointer-checks" # gcc seems to have some bugs on sparc as of 4.4.1, back off optimization # submitted as bz #529298 %ifarch sparc sparcv9 sparc64 @@ -820,6 +822,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Jun 18 2014 Mikko Tiihonen - 1:10.0.12-2 +- Use -fno-delete-null-pointer-checks to avoid segfaults with gcc 4.9 + * Tue Jun 17 2014 Jakub Dorňák - 1:10.0.12-1 - Rebase to version 10.0.12 From a04e3ba82532f5819993cd1b4cf0c17adbda9b3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Mon, 23 Jun 2014 19:03:30 +0200 Subject: [PATCH 118/789] Updated lists of failing tests (have no results for s390*) --- mariadb.spec | 29 ++++---- rh-skipped-tests-arm.list | 13 ++-- rh-skipped-tests-base.list | 109 ------------------------------ rh-skipped-tests-intel.list | 2 + rh-skipped-tests-ppc-s390.list | 20 ++++++ rh-skipped-tests-ppc64-s390x.list | 16 ----- rh-skipped-tests-ppc64le.list | 3 + rh-skipped-tests-s390.list | 8 --- 8 files changed, 44 insertions(+), 156 deletions(-) create mode 100644 rh-skipped-tests-intel.list create mode 100644 rh-skipped-tests-ppc-s390.list delete mode 100644 rh-skipped-tests-ppc64-s390x.list create mode 100644 rh-skipped-tests-ppc64le.list delete mode 100644 rh-skipped-tests-s390.list diff --git a/mariadb.spec b/mariadb.spec index 6762962..60fc71a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -49,10 +49,11 @@ Source13: mariadb-wait-ready Source14: mariadb-check-socket Source15: mariadb-scripts-common Source16: mysqld.service -Source51: rh-skipped-tests-base.list +Source50: rh-skipped-tests-base.list +Source51: rh-skipped-tests-intel.list Source52: rh-skipped-tests-arm.list -Source53: rh-skipped-tests-ppc64-s390x.list -Source54: rh-skipped-tests-s390.list +Source53: rh-skipped-tests-ppc-s390.list +Source54: rh-skipped-tests-ppc64le.list # Working around perl dependency checking bug in rpm FTTB. Remove later. Source999: filter-requires-mysql.sh @@ -278,31 +279,25 @@ MariaDB is a community developed branch of MySQL. rm -f mysql-test/t/ssl_8k_key-master.opt # generate a list of tests that fail, but are not disabled by upstream -cat %{SOURCE51} > mysql-test/rh-skipped-tests.list +cat %{SOURCE50} > mysql-test/rh-skipped-tests.list + +# disable some tests failing on different architectures +%ifarch x86_64 i686 +cat %{SOURCE51} >> mysql-test/rh-skipped-tests.list +%endif -# disable some tests failing on ARM architectures %ifarch %{arm} aarch64 cat %{SOURCE52} >> mysql-test/rh-skipped-tests.list %endif -%ifarch aarch64 -sed -i -r '/^connect.bin /d' mysql-test/rh-skipped-tests.list -%endif -%ifarch ppc ppc64 ppc64p7 +%ifarch ppc ppc64 ppc64p7 s390 s390x cat %{SOURCE53} >> mysql-test/rh-skipped-tests.list %endif -%ifarch s390x -cat %{SOURCE53} >> mysql-test/rh-skipped-tests.list -%endif -%ifarch s390 +%ifarch ppc64le cat %{SOURCE54} >> mysql-test/rh-skipped-tests.list %endif -# disable some tests failing on ppc and s390 -%ifarch ppc ppc64 ppc64p7 s390 s390x aarch64 -echo "main.gis-precise : rhbz#906367" >> mysql-test/rh-skipped-tests.list -%endif %build diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index 3c1c4db..76caf6b 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -4,10 +4,11 @@ # This is caused by missing hardware performance counter support on ARM. # Discussion about fixing that can be found in RH bug #741325. -#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 +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 -connect.bin : Fails with MariaDB 10 (pass on aarch64) -perfschema.func_file_io : Fails with MariaDB 10 -perfschema.func_mutex : Fails with MariaDB 10 -perfschema.setup_objects : Fails with MariaDB 10 +connect.bin : rhbz#1096787 (pass on aarch64) +main.gis-precise : rhbz#1096787 (pass on armv7hl) +main.openssl_1 : rhbz#1096787 +perfschema.setup_objects : rhbz#1096787 +vcol.vcol_supported_sql_funcs_myisam : rhbz#1096787 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 7746f3e..38ab601 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -1,8 +1,3 @@ -# Disable innodb.innodb, which is showing platform-dependent results -# as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 - -innodb.innodb : bug#60155 has platform-dependent results - # Disable tokudb_innodb_xa_crash temporarily, until it is fixed: # @@ -10,113 +5,9 @@ tokudb_innodb_xa_crash : https://bugzilla.redhat.com/show_bug.cgi?id=1018192 # These tests fail with MariaDB 10: -binlog.binlog_innodb : rhbz#1096787 -binlog.binlog_mixed_cache_stat : rhbz#1096787 -funcs_1.innodb_trig_03e : rhbz#1096787 -funcs_1.innodb_views : rhbz#1096787 -funcs_1.is_columns_innodb : rhbz#1096787 -funcs_2.innodb_charset : rhbz#1096787 -handler.innodb : rhbz#1096787 -innodb.innodb : rhbz#1096787 -innodb_fts.fulltext_order_by : rhbz#1096787 -innodb_fts.fulltext2 : rhbz#1096787 -innodb_fts.innodb-fts-ddl : rhbz#1096787 -innodb_fts.innodb-fts-fic : rhbz#1096787 -innodb_fts.innodb_fts_large_records : rhbz#1096787 -innodb_fts.innodb_fts_misc : rhbz#1096787 -innodb_fts.innodb_fts_misc_1 : rhbz#1096787 -innodb_fts.innodb_fts_multiple_index : rhbz#1096787 -innodb_fts.innodb_fts_proximity : rhbz#1096787 -innodb_fts.innodb_fts_stopword_charset : rhbz#1096787 -innodb_fts.innodb_fts_transaction : rhbz#1096787 -innodb.innodb-autoinc-optimize : rhbz#1096787 -innodb.innodb_bug14704286 : rhbz#1096787 -innodb.innodb_bug30423 : rhbz#1096787 -innodb.innodb_bug30919 : rhbz#1096787 -innodb.innodb_bug34300 : rhbz#1096787 -innodb.innodb_bug41904 : rhbz#1096787 -innodb.innodb_bug47621 : rhbz#1096787 -innodb.innodb_bug53290 : rhbz#1096787 -innodb.innodb_bug56143 : rhbz#1096787 -innodb.innodb_bug59733 : rhbz#1096787 -innodb.innodb-index : rhbz#1096787 -innodb.innodb-index_ucs2 : rhbz#1096787 -innodb.innodb_information_schema_buffer : rhbz#1096787 -innodb.innodb_trx_weight : rhbz#1096787 -innodb.innodb-wl5522 : rhbz#1096787 -innodb.innodb-wl5522-zip : rhbz#1096787 -innodb.innodb-wl5522-1 : rhbz#1096787 -innodb_zip.innodb_bug56680 : rhbz#1096787 -innodb_zip.innodb_cmp_drop_table : rhbz#1096787 -innodb_zip.innodb_index_large_prefix : rhbz#1096787 -innodb_zip.innodb_prefix_index_liftedlimit : rhbz#1096787 -main.alter_table : rhbz#1096787 -main.alter_table_online : rhbz#1096787 -main.commit_1innodb : rhbz#1096787 -main.ctype_utf8 : rhbz#1096787 -main.ctype_utf8mb4 : rhbz#1096787 -main.ctype_utf8mb4_innodb : rhbz#1096787 -main.flush-innodb : rhbz#1096787 main.func_str : rhbz#1096787 -main.gis-precise : rhbz#1096787 -main.group_min_max_innodb : rhbz#1096787 -main.implicit_commit : rhbz#1096787 -main.index_intersect_innodb : rhbz#1096787 -main.index_merge_innodb : rhbz#1096787 -main.innodb_ext_key : rhbz#1096787 -main.innodb_icp : rhbz#1096787 -main.innodb_mrr_cpk : rhbz#1096787 -main.innodb_mysql_lock : rhbz#1096787 -main.innodb_mysql_lock2 : rhbz#1096787 -main.multi_update : rhbz#1096787 -main.mysqlcheck : rhbz#1096787 -main.openssl_1 : rhbz#1096787 -main.partition_exchange : rhbz#1096787 -main.partition_innodb : rhbz#1096787 -main.partition_innodb_plugin : rhbz#1096787 -main.progress_976225 : rhbz#1096787 -main.range : rhbz#1096787 -main.range_mrr_icp : rhbz#1096787 -main.range_vs_index_merge_innodb : rhbz#1096787 -main.selectivity_innodb : rhbz#1096787 -main.sp_trans : rhbz#1096787 main.ssl_crl_clients : rhbz#1096787 -main.statistics : rhbz#1096787 -main.stat_tables_disabled : rhbz#1096787 -main.stat_tables_innodb : rhbz#1096787 -main.subselect_innodb : rhbz#1096787 -main.subselect_sj2 : rhbz#1096787 -main.subselect_sj2_jcl6 : rhbz#1096787 -main.subselect_sj2_mat : rhbz#1096787 -main.trigger-trans : rhbz#1096787 -main.type_bit_innodb : rhbz#1096787 -main.update : rhbz#1096787 -main.xtradb_mrr : rhbz#1096787 -parts.partition_auto_increment_innodb : rhbz#1096787 -parts.partition_bit_innodb : rhbz#1096787 -parts.partition_engine_innodb : rhbz#1096787 -parts.partition_exch_qa_1_innodb : rhbz#1096787 -parts.partition_exch_qa_10 : rhbz#1096787 -percona.percona_xtradb_bug317074 : rhbz#1096787 -perfschema.innodb_table_io : rhbz#1096787 perfschema.nesting : rhbz#1096787 -perfschema.rpl_statements : rhbz#1096787 perfschema.socket_summary_by_event_name_func : rhbz#1096787 perfschema.socket_summary_by_instance_func : rhbz#1096787 -rpl.rpl_circular_for_4_hosts : rhbz#1096787 -rpl.rpl_checksum_cache : rhbz#1096787 -rpl.rpl_innodb_bug30888 : rhbz#1096787 -rpl.rpl_innodb_mixed_dml : rhbz#1096787 -rpl.rpl_mixed_binlog_max_cache_size : rhbz#1096787 -rpl.rpl_mixed_implicit_commit_binlog : rhbz#1096787 -rpl.rpl_partition_innodb : rhbz#1096787 -rpl.rpl_relayrotate : rhbz#1096787 -rpl.rpl_relay_space_innodb : rhbz#1096787 -spider/bg.function : rhbz#1096787 -spider/bg.spider_fixes : rhbz#1096787 -spider.function : rhbz#1096787 -spider.spider_fixes : rhbz#1096787 -sys_vars.innodb_max_dirty_pages_pct_func : rhbz#1096787 -vcol.vcol_non_stored_columns_innodb : rhbz#1096787 vcol.vcol_supported_sql_funcs_innodb : rhbz#1096787 -vcol.vcol_supported_sql_funcs_myisam : rhbz#1096787 diff --git a/rh-skipped-tests-intel.list b/rh-skipped-tests-intel.list new file mode 100644 index 0000000..8065f23 --- /dev/null +++ b/rh-skipped-tests-intel.list @@ -0,0 +1,2 @@ +main.openssl_1 : rhbz#1096787 +vcol.vcol_supported_sql_funcs_myisam : rhbz#1096787 diff --git a/rh-skipped-tests-ppc-s390.list b/rh-skipped-tests-ppc-s390.list new file mode 100644 index 0000000..8c15a79 --- /dev/null +++ b/rh-skipped-tests-ppc-s390.list @@ -0,0 +1,20 @@ +connect.alter : rhbz#1096787 +connect.bin : rhbz#1096787 +connect.dbf : rhbz#1096787 +connect.index : rhbz#1096787 +main.gis-precise : rhbz#1096787 +main.statistics : rhbz#1096787 +multi_source.skip_counter : rhbz#1096787 +rpl.rpl_auto_increment : rhbz#1096787 +rpl.rpl_gtid_basic : rhbz#1096787 +rpl.rpl_gtid_master_promote : rhbz#1096787 +rpl.rpl_gtid_stop_start : rhbz#1096787 +rpl.rpl_gtid_until : rhbz#1096787 +rpl.rpl_mixed_binlog_max_cache_size : rhbz#1096787 +rpl.rpl_rotate_logs : rhbz#1096787 +rpl.rpl_skip_replication : rhbz#1096787 +rpl.rpl_slave_skip : rhbz#1096787 +rpl.rpl_stm_max_relay_size : rhbz#1096787 +sys_vars.max_relay_log_size_basic : rhbz#1096787 +sys_vars.sql_slave_skip_counter_basic : rhbz#1096787 +vcol.vcol_supported_sql_funcs_myisam : rhbz#1096787 diff --git a/rh-skipped-tests-ppc64-s390x.list b/rh-skipped-tests-ppc64-s390x.list deleted file mode 100644 index 50b068d..0000000 --- a/rh-skipped-tests-ppc64-s390x.list +++ /dev/null @@ -1,16 +0,0 @@ -connect.alter : rhbz#1096787 -connect.bin : rhbz#1096787 -connect.dbf : rhbz#1096787 -connect.index : rhbz#1096787 -multi_source.skip_counter : rhbz#1096787 -rpl.rpl_auto_increment : rhbz#1096787 -rpl.rpl_gtid_basic : rhbz#1096787 -rpl.rpl_gtid_master_promote : rhbz#1096787 -rpl.rpl_gtid_stop_start : rhbz#1096787 -rpl.rpl_gtid_until : rhbz#1096787 -rpl.rpl_rotate_logs : rhbz#1096787 -rpl.rpl_skip_replication : rhbz#1096787 -rpl.rpl_slave_skip : rhbz#1096787 -rpl.rpl_stm_max_relay_size : rhbz#1096787 -sys_vars.max_relay_log_size_basic : rhbz#1096787 -sys_vars.sql_slave_skip_counter_basic : rhbz#1096787 diff --git a/rh-skipped-tests-ppc64le.list b/rh-skipped-tests-ppc64le.list new file mode 100644 index 0000000..716f7b3 --- /dev/null +++ b/rh-skipped-tests-ppc64le.list @@ -0,0 +1,3 @@ +main.gis-precise : rhbz#1096787 +main.mysqlslap : rhbz#1096787 +rpl.rpl_insert : rhbz#1096787 diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list deleted file mode 100644 index 2b0b5a4..0000000 --- a/rh-skipped-tests-s390.list +++ /dev/null @@ -1,8 +0,0 @@ -connect.alter : rhbz#1096787 -connect.bin : rhbz#1096787 -connect.dbf : rhbz#1096787 -connect.index : rhbz#1096787 -rpl.rpl_gtid_basic : rhbz#1096787 -rpl.rpl_gtid_master_promote : rhbz#1096787 -rpl.rpl_gtid_stop_start : rhbz#1096787 -rpl.rpl_gtid_until : rhbz#1096787 From 502f72a4dc8d352de0e915de60f1801325983d45 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 15 Jul 2014 15:44:21 +0200 Subject: [PATCH 119/789] Enable OQGRAPH engine --- mariadb.spec | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 60fc71a..1152c13 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -5,9 +5,14 @@ # variable tokudb allows to build with TokuDB storage engine %bcond_with tokudb +# The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing +# hierarchies and more complex graph structures to be handled in a relational +# fashion; enabled by default +%bcond_without oqgraph + Name: mariadb Version: 10.0.12 -Release: 2%{?dist} +Release: 3%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -81,6 +86,8 @@ BuildRequires: systemd, systemtap-sdt-devel BuildRequires: time procps # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel +# boost and Judy required for oograph +%{?with_oqgraph:BuildRequires: boost-devel, Judy-devel} # perl modules needed to run regression tests BuildRequires: perl(Socket), perl(Time::HiRes) BuildRequires: perl(Data::Dumper), perl(Test::More), perl(Env) @@ -719,6 +726,7 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/server.cnf %{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf} +%{?with_oqgraph:%config(noreplace) %{_sysconfdir}/my.cnf.d/oqgraph.cnf} %{_libexecdir}/mysqld @@ -817,6 +825,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Jul 15 2014 Honza Horak - 1:10.0.12-3 +- Enable OQGRAPH engine + * Wed Jun 18 2014 Mikko Tiihonen - 1:10.0.12-2 - Use -fno-delete-null-pointer-checks to avoid segfaults with gcc 4.9 From be639b0aa32825661aed4a43f01b4516e454860a Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 19 Jun 2014 12:50:19 +0200 Subject: [PATCH 120/789] Enable TokuDB engine for x86_64 Re-enable tokudb_innodb_xa_crash again, seems to be fixed now --- mariadb.spec | 6 ++++++ rh-skipped-tests-base.list | 5 ----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 1152c13..9cd79b8 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,7 +3,11 @@ # TokuDB engine is now part of MariaDB, but it is available only for x86_64; # variable tokudb allows to build with TokuDB storage engine +%ifarch x86_64 +%bcond_without tokudb +%else %bcond_with tokudb +%endif # The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing # hierarchies and more complex graph structures to be handled in a relational @@ -827,6 +831,8 @@ fi %changelog * Tue Jul 15 2014 Honza Horak - 1:10.0.12-3 - Enable OQGRAPH engine +- Enable TokuDB engine for x86_64 +- Re-enable tokudb_innodb_xa_crash again, seems to be fixed now * Wed Jun 18 2014 Mikko Tiihonen - 1:10.0.12-2 - Use -fno-delete-null-pointer-checks to avoid segfaults with gcc 4.9 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 38ab601..196fa1a 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -1,8 +1,3 @@ -# Disable tokudb_innodb_xa_crash temporarily, until it is fixed: -# - -tokudb_innodb_xa_crash : https://bugzilla.redhat.com/show_bug.cgi?id=1018192 - # These tests fail with MariaDB 10: main.func_str : rhbz#1096787 From 6830987ad3d050d76afc3aecd27972d33cef571d Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 17 Jul 2014 13:46:57 +0200 Subject: [PATCH 121/789] =?UTF-8?q?Drop=20superfluous=20-libs=20and=20-emb?= =?UTF-8?q?edded=20ldconfig=20deps=20(thanks=20Ville=20Skytt=C3=A4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mariadb.spec | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 9cd79b8..31a5c63 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -132,7 +132,6 @@ contains the standard MariaDB/MySQL client programs and generic MySQL files. Summary: The shared libraries required for MariaDB/MySQL clients Group: Applications/Databases -Requires: /sbin/ldconfig Provides: mysql-libs = %{epoch}:%{version}-%{release} Provides: mysql-libs%{?_isa} = %{epoch}:%{version}-%{release} Obsoletes: MySQL-libs < %{obsoleted_mysql_case_evr} @@ -199,7 +198,6 @@ MariaDB is a community developed branch of MySQL. Summary: MariaDB as an embeddable library Group: Applications/Databases -Requires: /sbin/ldconfig Provides: mysql-embedded = %{epoch}:%{version}-%{release} Provides: mysql-embedded%{?_isa} = %{epoch}:%{version}-%{release} Obsoletes: MySQL-embedded < %{obsoleted_mysql_case_evr} @@ -568,7 +566,7 @@ rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/solaris/ /usr/sbin/useradd -M -N -g mysql -o -r -d %{_localstatedir}/lib/mysql -s /sbin/nologin \ -c "MariaDB Server" -u 27 mysql >/dev/null 2>&1 || : -# Explicitly enable mysqld if it was enabled in the beggining +# Explicitly enable mysqld if it was enabled in the beginning # of the transaction. Otherwise mysqld is disabled always when # replacing mysql with mariadb, because it is not recognized # as updating, but rather as removal and install. @@ -833,6 +831,7 @@ fi - Enable OQGRAPH engine - Enable TokuDB engine for x86_64 - Re-enable tokudb_innodb_xa_crash again, seems to be fixed now +- Drop superfluous -libs and -embedded ldconfig deps (thanks Ville Skyttä) * Wed Jun 18 2014 Mikko Tiihonen - 1:10.0.12-2 - Use -fno-delete-null-pointer-checks to avoid segfaults with gcc 4.9 @@ -1024,7 +1023,7 @@ fi Resolves: #975348 * Fri Jun 14 2013 Honza Horak 1:5.5.31-3 -- Explicitly enable mysqld if it was enabled in the beggining +- Explicitly enable mysqld if it was enabled in the beginning of the transaction. * Thu Jun 13 2013 Honza Horak 1:5.5.31-2 From aed899f5091790dd8f391849c3881f844f6a1832 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 17 Jul 2014 15:11:00 +0200 Subject: [PATCH 122/789] Separate -lib and -common sub-packages Require /etc/my.cnf instead of shipping it --- mariadb.spec | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 31a5c63..3bb78b6 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,13 @@ # In f20+ use unversioned docdirs, otherwise the old versioned one %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} +# When there is already another package that ships /etc/my.cnf, +# rather include it than ship the file again, since conflicts between +# those files may create issues +# ship_my_cnf=1 means this is the only package in distro which ships +# my.cnf and my.cnf.d +%global ship_my_cnf 1 + # TokuDB engine is now part of MariaDB, but it is available only for x86_64; # variable tokudb allows to build with TokuDB storage engine %ifarch x86_64 @@ -96,8 +103,8 @@ BuildRequires: pam-devel BuildRequires: perl(Socket), perl(Time::HiRes) BuildRequires: perl(Data::Dumper), perl(Test::More), perl(Env) -Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} Requires: grep, fileutils, bash +Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} Requires(post): %{_sbindir}/update-alternatives Requires(postun): %{_sbindir}/update-alternatives @@ -112,7 +119,7 @@ Provides: mysql%{?_isa} = %{epoch}:%{version}-%{release} Obsoletes: mysql < %{obsoleted_mysql_evr} # 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} @@ -138,17 +145,29 @@ Obsoletes: MySQL-libs < %{obsoleted_mysql_case_evr} Obsoletes: mysql-libs < %{obsoleted_mysql_evr} %description libs -The mariadb-libs package provides the essential shared libraries for any +The mariadb-libs package provides the essential shared libraries for any MariaDB/MySQL client program or interface. You will need to install this package to use any other MariaDB package or any clients that need to connect to a MariaDB/MySQL server. MariaDB is a community developed branch of MySQL. +%package common + +Summary: The shared files required by server and client +Group: Applications/Databases +%if ! %{ship_my_cnf} +Requires: %{_sysconfdir}/my.cnf +%endif + +%description common +The package provides the essential shared files for any MariaDB program. +You will need to install this package to use any other MariaDB package. + %package server Summary: The MariaDB server and related files Group: Applications/Databases Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} -Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} Requires: sh-utils Requires(pre): /usr/sbin/useradd # We require this to be present for %%{_tmpfilesdir} @@ -249,7 +268,7 @@ MariaDB is a community developed branch of MySQL. Summary: The test suite distributed with MariaD Group: Applications/Databases Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} -Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} Requires: %{name}-server%{?_isa} = %{epoch}:%{version}-%{release} Provides: mysql-test = %{epoch}:%{version}-%{release} Provides: mysql-test%{?_isa} = %{epoch}:%{version}-%{release} @@ -482,7 +501,9 @@ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/%{name} install -m 0755 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/mysql mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} +%if %{ship_my_cnf} install -p -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/my.cnf +%endif # install systemd unit files and scripts for handling server startup mkdir -p ${RPM_BUILD_ROOT}%{_unitdir} @@ -665,13 +686,16 @@ fi %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. +%if %{ship_my_cnf} %config(noreplace) %{_sysconfdir}/my.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf %dir %{_sysconfdir}/my.cnf.d +%endif %dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient.so.* %{_sysconfdir}/ld.so.conf.d/* +%files common %dir %{_datadir}/%{name} %{_datadir}/%{name}/english %lang(cs) %{_datadir}/%{name}/czech @@ -832,6 +856,8 @@ fi - Enable TokuDB engine for x86_64 - Re-enable tokudb_innodb_xa_crash again, seems to be fixed now - Drop superfluous -libs and -embedded ldconfig deps (thanks Ville Skyttä) +- Separate -lib and -common sub-packages +- Require /etc/my.cnf instead of shipping it * Wed Jun 18 2014 Mikko Tiihonen - 1:10.0.12-2 - Use -fno-delete-null-pointer-checks to avoid segfaults with gcc 4.9 From 9e778c02ee50daf36e6b8e4f4486ad929f678c0e Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 17 Jul 2014 15:57:42 +0200 Subject: [PATCH 123/789] Include README.mysql-cnf --- README.mysql-cnf | 13 +++++++++++++ mariadb.spec | 15 +++++++++------ 2 files changed, 22 insertions(+), 6 deletions(-) create mode 100644 README.mysql-cnf diff --git a/README.mysql-cnf b/README.mysql-cnf new file mode 100644 index 0000000..65bebb9 --- /dev/null +++ b/README.mysql-cnf @@ -0,0 +1,13 @@ +This directory contains prepared configuration files with .cnf extension, +which provide a configuration for some common MariaDB deployment scenarios. +These configuration files do not include the default configuration of datadir, +log-file and pid-file locations, as specified in the default my.cnf file, +provided in this distribution. + +Thus, it is recommended to use these configuration files as an addition to the +default my.cnf configuration file. + +Since default my.cnf contains `!includedir /etc/my.cnf.d` directive, it is +recommended to copy required configuration under /etc/my.cnf.d/ directory, +so the default my.cnf specifications will be extended. + diff --git a/mariadb.spec b/mariadb.spec index 3bb78b6..f36c963 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -53,7 +53,8 @@ License: GPLv2 with exceptions and LGPLv2 and BSD Source0: http://mirrors.syringanetworks.net/mariadb/mariadb-%{version}/source/mariadb-%{version}.tar.gz Source3: my.cnf -Source5: my_config.h +Source4: my_config.h +Source5: README.mysql-cnf Source6: README.mysql-docs Source7: README.mysql-license Source8: libmysql.version @@ -460,14 +461,14 @@ 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 mv $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h $RPM_BUILD_ROOT%{_includedir}/mysql/private/my_config_`uname -i`.h - install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/ - install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h + install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_includedir}/mysql/ + install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h ;; arm* ) mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_arm.h mv $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h $RPM_BUILD_ROOT%{_includedir}/mysql/private/my_config_arm.h - install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/ - install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h + install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_includedir}/mysql/ + install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h ;; *) ;; @@ -562,6 +563,7 @@ echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/%{name}-%{_ # copy additional docs into build tree so %%doc will find them cp -p %{SOURCE6} README.mysql-docs cp -p %{SOURCE7} README.mysql-license +cp -p %{SOURCE16} README.mysql-cnf # install the list of skipped tests to be available for user runs install -p -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/mysql-test @@ -723,7 +725,7 @@ fi %{_datadir}/%{name}/charsets %files server -%doc support-files/*.cnf +%doc support-files/*.cnf README.mysql-cnf %{_bindir}/myisamchk %{_bindir}/myisam_ftdump @@ -858,6 +860,7 @@ fi - Drop superfluous -libs and -embedded ldconfig deps (thanks Ville Skyttä) - Separate -lib and -common sub-packages - Require /etc/my.cnf instead of shipping it +- Include README.mysql-cnf * Wed Jun 18 2014 Mikko Tiihonen - 1:10.0.12-2 - Use -fno-delete-null-pointer-checks to avoid segfaults with gcc 4.9 From 2d84ddd46117ee62b1baeb7616b550e445979f8b Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 17 Jul 2014 16:02:19 +0200 Subject: [PATCH 124/789] Do not hardcode SOURCE file names in spec --- mariadb.spec | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index f36c963..d12cb7b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -503,13 +503,13 @@ install -m 0755 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/mysql mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} %if %{ship_my_cnf} -install -p -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/my.cnf +install -p -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/ %endif # install systemd unit files and scripts for handling server startup mkdir -p ${RPM_BUILD_ROOT}%{_unitdir} install -p -m 644 %{SOURCE11} ${RPM_BUILD_ROOT}%{_unitdir}/ -install -p -m 644 %{SOURCE16} ${RPM_BUILD_ROOT}%{_unitdir}/`basename %{SOURCE16}` +install -p -m 644 %{SOURCE16} ${RPM_BUILD_ROOT}%{_unitdir}/ install -p -m 755 %{SOURCE12} ${RPM_BUILD_ROOT}%{_libexecdir}/ install -p -m 755 %{SOURCE13} ${RPM_BUILD_ROOT}%{_libexecdir}/ install -p -m 755 %{SOURCE14} ${RPM_BUILD_ROOT}%{_libexecdir}/ @@ -561,9 +561,9 @@ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf # copy additional docs into build tree so %%doc will find them -cp -p %{SOURCE6} README.mysql-docs -cp -p %{SOURCE7} README.mysql-license -cp -p %{SOURCE16} README.mysql-cnf +cp -p %{SOURCE6} . +cp -p %{SOURCE7} . +cp -p %{SOURCE16} . # install the list of skipped tests to be available for user runs install -p -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/mysql-test From 4f5c8ebe4f988286246c5864fd2062cd6bbe779b Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 17 Jul 2014 16:29:43 +0200 Subject: [PATCH 125/789] Multilib support re-worked --- mariadb.spec | 65 +++++++++++++++---------------------------------- mysql_config.sh | 26 ++++++++++++++++++++ 2 files changed, 45 insertions(+), 46 deletions(-) create mode 100644 mysql_config.sh diff --git a/mariadb.spec b/mariadb.spec index d12cb7b..deadab8 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -52,6 +52,7 @@ License: GPLv2 with exceptions and LGPLv2 and BSD %global mysqld_running_flag_file %{_localstatedir}/lib/rpm-state/mysqld_running Source0: http://mirrors.syringanetworks.net/mariadb/mariadb-%{version}/source/mariadb-%{version}.tar.gz +Source2: mysql_config.sh Source3: my.cnf Source4: my_config.h Source5: README.mysql-cnf @@ -106,8 +107,6 @@ BuildRequires: perl(Data::Dumper), perl(Test::More), perl(Env) Requires: grep, fileutils, bash Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} -Requires(post): %{_sbindir}/update-alternatives -Requires(postun): %{_sbindir}/update-alternatives %{?systemd_requires: %systemd_requires} @@ -175,9 +174,9 @@ Requires(pre): /usr/sbin/useradd Requires: systemd # Make sure it's there when scriptlets run, too Requires(pre): systemd -Requires(post): systemd %{_sbindir}/update-alternatives +Requires(post): systemd Requires(preun): systemd -Requires(postun): systemd %{_sbindir}/update-alternatives +Requires(postun): systemd Requires(posttrans): systemd # mysqlhotcopy needs DBI/DBD support Requires: perl-DBI, perl-DBD-MySQL @@ -457,22 +456,18 @@ find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | 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 - mv $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h $RPM_BUILD_ROOT%{_includedir}/mysql/private/my_config_`uname -i`.h - install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_includedir}/mysql/ - install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h - ;; - arm* ) - mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_arm.h - mv $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h $RPM_BUILD_ROOT%{_includedir}/mysql/private/my_config_arm.h - install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_includedir}/mysql/ - install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h - ;; - *) - ;; -esac +unamei=$(uname -i) +%ifarch %{arm} +unamei=arm +%endif +%ifarch %{arm} aarch64 %{ix86} x86_64 ppc %{power64} %{sparc} s390 s390x +mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_${unamei}.h +mv $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h $RPM_BUILD_ROOT%{_includedir}/mysql/private/my_config_${unamei}.h +install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_includedir}/mysql/ +install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h +mv $RPM_BUILD_ROOT%{_bindir}/mysql_config $RPM_BUILD_ROOT%{_bindir}/mysql_config-%{__isa_bits} +install -p -m 0755 %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/mysql_config +%endif # cmake generates some completely wacko references to -lprobes_mysql when # building with dtrace support. Haven't found where to shut that off, @@ -518,13 +513,6 @@ install -p -m 644 %{SOURCE15} ${RPM_BUILD_ROOT}%{_libexecdir}/ mkdir -p $RPM_BUILD_ROOT%{_tmpfilesdir} install -p -m 0644 %{SOURCE10} $RPM_BUILD_ROOT%{_tmpfilesdir}/%{name}.conf -# Fix scripts for multilib safety -mv ${RPM_BUILD_ROOT}%{_bindir}/mysql_config ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysql_config -touch ${RPM_BUILD_ROOT}%{_bindir}/mysql_config - -mv ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysqlbug -touch ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug - # Remove libmysqld.a rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.a @@ -580,10 +568,6 @@ rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/mysql # remove solaris files rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/solaris/ -%post devel -%{_sbindir}/update-alternatives --install %{_bindir}/mysql_config \ - mysql_config %{_libdir}/mysql/mysql_config %{__isa_bits} - %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : /usr/sbin/useradd -M -N -g mysql -o -r -d %{_localstatedir}/lib/mysql -s /sbin/nologin \ @@ -622,16 +606,8 @@ fi %systemd_post %{name}.service /bin/chmod 0755 %{_localstatedir}/lib/mysql -%{_sbindir}/update-alternatives --install %{_bindir}/mysqlbug \ - mysqlbug %{_libdir}/mysql/mysqlbug %{__isa_bits} - %post embedded -p /sbin/ldconfig -%postun devel -if [ $1 -eq 0 ] ; then - %{_sbindir}/update-alternatives --remove mysql_config %{_libdir}/mysql/mysql_config -fi - %preun server %systemd_preun %{name}.service @@ -639,9 +615,6 @@ fi %postun server %systemd_postun_with_restart %{name}.service -if [ $1 -eq 0 ] ; then - %{_sbindir}/update-alternatives --remove mysqlbug %{_libdir}/mysql/mysqlbug -fi %postun embedded -p /sbin/ldconfig @@ -740,7 +713,7 @@ fi %{_bindir}/mysql_tzinfo_to_sql %{_bindir}/mysql_upgrade %{_bindir}/mysql_zap -%ghost %{_bindir}/mysqlbug +%{_bindir}/mysqlbug %{_bindir}/mysqldumpslow %{_bindir}/mysqld_multi %{_bindir}/mysqld_safe @@ -761,8 +734,6 @@ fi %{_libdir}/mysql/INFO_SRC %{_libdir}/mysql/INFO_BIN -%{_libdir}/mysql/mysqlbug - %{_libdir}/mysql/plugin %{_mandir}/man1/msql2mysql.1* @@ -822,7 +793,8 @@ fi %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %files devel -%ghost %{_bindir}/mysql_config +%{_bindir}/mysql_config +%{_bindir}/mysql_config-%{__isa_bits} %{_includedir}/mysql %{_datadir}/aclocal/mysql.m4 %{_libdir}/mysql/libmysqlclient.so @@ -861,6 +833,7 @@ fi - Separate -lib and -common sub-packages - Require /etc/my.cnf instead of shipping it - Include README.mysql-cnf +- Multilib support re-worked * Wed Jun 18 2014 Mikko Tiihonen - 1:10.0.12-2 - Use -fno-delete-null-pointer-checks to avoid segfaults with gcc 4.9 diff --git a/mysql_config.sh b/mysql_config.sh new file mode 100644 index 0000000..4849e95 --- /dev/null +++ b/mysql_config.sh @@ -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 + From d8610a2c7a845d76ee0a6aeacb815ff00a701d3f Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 17 Jul 2014 16:33:17 +0200 Subject: [PATCH 126/789] Use buildroot rather than RPM_BUILD_ROOT to have the spec in sync with community-mysql --- mariadb.spec | 114 +++++++++++++++++++++++++-------------------------- 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index deadab8..1249076 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -449,10 +449,10 @@ done %endif %install -make DESTDIR=$RPM_BUILD_ROOT install +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 @@ -461,12 +461,12 @@ unamei=$(uname -i) unamei=arm %endif %ifarch %{arm} aarch64 %{ix86} x86_64 ppc %{power64} %{sparc} s390 s390x -mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_${unamei}.h -mv $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h $RPM_BUILD_ROOT%{_includedir}/mysql/private/my_config_${unamei}.h -install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_includedir}/mysql/ -install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h -mv $RPM_BUILD_ROOT%{_bindir}/mysql_config $RPM_BUILD_ROOT%{_bindir}/mysql_config-%{__isa_bits} -install -p -m 0755 %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/mysql_config +mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_${unamei}.h +mv %{buildroot}%{_includedir}/mysql/private/config.h %{buildroot}%{_includedir}/mysql/private/my_config_${unamei}.h +install -p -m 644 %{SOURCE4} %{buildroot}%{_includedir}/mysql/ +install -p -m 644 %{SOURCE4} %{buildroot}%{_includedir}/mysql/private/config.h +mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} +install -p -m 0755 %{SOURCE2} %{buildroot}%{_bindir}/mysql_config %endif # cmake generates some completely wacko references to -lprobes_mysql when @@ -474,79 +474,79 @@ install -p -m 0755 %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/mysql_config # 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 -p -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 755 %{buildroot}%{_bindir}/mysql_config # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also mariadb-file-contents.patch) -mv ${RPM_BUILD_ROOT}%{_pkgdocdir}/MariaDB-server-%{version}/INFO_SRC ${RPM_BUILD_ROOT}%{_libdir}/mysql/ -mv ${RPM_BUILD_ROOT}%{_pkgdocdir}/MariaDB-server-%{version}/INFO_BIN ${RPM_BUILD_ROOT}%{_libdir}/mysql/ -rm -rf ${RPM_BUILD_ROOT}%{_pkgdocdir}/MariaDB-server-%{version}/ +mv %{buildroot}%{_pkgdocdir}/MariaDB-server-%{version}/INFO_SRC %{buildroot}%{_libdir}/mysql/ +mv %{buildroot}%{_pkgdocdir}/MariaDB-server-%{version}/INFO_BIN %{buildroot}%{_libdir}/mysql/ +rm -rf %{buildroot}%{_pkgdocdir}/MariaDB-server-%{version}/ -mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/%{name} -chmod 0750 $RPM_BUILD_ROOT%{_localstatedir}/log/%{name} -touch $RPM_BUILD_ROOT%{_localstatedir}/log/%{name}/%{name}.log -ln -s %{_localstatedir}/log/%{name}/%{name}.log $RPM_BUILD_ROOT%{_localstatedir}/log/mysqld.log +mkdir -p %{buildroot}%{_localstatedir}/log/%{name} +chmod 0750 %{buildroot}%{_localstatedir}/log/%{name} +touch %{buildroot}%{_localstatedir}/log/%{name}/%{name}.log +ln -s %{_localstatedir}/log/%{name}/%{name}.log %{buildroot}%{_localstatedir}/log/mysqld.log # current setting in my.cnf is to use /var/run/mariadb for creating pid file, # however since my.cnf is not updated by RPM if changed, we need to create mysqld # as well because users can have od settings in their /etc/my.cnf -mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/mysqld -mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/%{name} -install -m 0755 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/mysql +mkdir -p %{buildroot}%{_localstatedir}/run/mysqld +mkdir -p %{buildroot}%{_localstatedir}/run/%{name} +install -m 0755 -d %{buildroot}%{_localstatedir}/lib/mysql -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} +mkdir -p %{buildroot}%{_sysconfdir} %if %{ship_my_cnf} -install -p -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/ +install -p -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/ %endif # install systemd unit files and scripts for handling server startup -mkdir -p ${RPM_BUILD_ROOT}%{_unitdir} -install -p -m 644 %{SOURCE11} ${RPM_BUILD_ROOT}%{_unitdir}/ -install -p -m 644 %{SOURCE16} ${RPM_BUILD_ROOT}%{_unitdir}/ -install -p -m 755 %{SOURCE12} ${RPM_BUILD_ROOT}%{_libexecdir}/ -install -p -m 755 %{SOURCE13} ${RPM_BUILD_ROOT}%{_libexecdir}/ -install -p -m 755 %{SOURCE14} ${RPM_BUILD_ROOT}%{_libexecdir}/ -install -p -m 644 %{SOURCE15} ${RPM_BUILD_ROOT}%{_libexecdir}/ +mkdir -p %{buildroot}%{_unitdir} +install -p -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/ +install -p -m 644 %{SOURCE16} %{buildroot}%{_unitdir}/ +install -p -m 755 %{SOURCE12} %{buildroot}%{_libexecdir}/ +install -p -m 755 %{SOURCE13} %{buildroot}%{_libexecdir}/ +install -p -m 755 %{SOURCE14} %{buildroot}%{_libexecdir}/ +install -p -m 644 %{SOURCE15} %{buildroot}%{_libexecdir}/ -mkdir -p $RPM_BUILD_ROOT%{_tmpfilesdir} -install -p -m 0644 %{SOURCE10} $RPM_BUILD_ROOT%{_tmpfilesdir}/%{name}.conf +mkdir -p %{buildroot}%{_tmpfilesdir} +install -p -m 0644 %{SOURCE10} %{buildroot}%{_tmpfilesdir}/%{name}.conf # Remove libmysqld.a -rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.a +rm -f %{buildroot}%{_libdir}/mysql/libmysqld.a # 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 # just the devel libmysqlclient_r.so link, so that rebuilding without any # source change is enough to get rid of dependency on libmysqlclient_r. -rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient_r.so* -ln -s libmysqlclient.so ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient_r.so +rm -f %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so* +ln -s libmysqlclient.so %{buildroot}%{_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 # should move this to /etc/ ? -rm -f ${RPM_BUILD_ROOT}%{_bindir}/mysql_embedded -rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/*.a -rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/binary-configure -rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/magic -rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/ndb-config-2-node.ini -rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/mysql.server -rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/mysqld_multi.server -rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-stress-test.pl.1* -rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-test-run.pl.1* -rm -f ${RPM_BUILD_ROOT}%{_bindir}/mytop +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}/ndb-config-2-node.ini +rm -f %{buildroot}%{_datadir}/%{name}/mysql.server +rm -f %{buildroot}%{_datadir}/%{name}/mysqld_multi.server +rm -f %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* +rm -f %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* +rm -f %{buildroot}%{_bindir}/mytop # put logrotate script where it needs to be -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d -mv ${RPM_BUILD_ROOT}%{_datadir}/%{name}/mysql-log-rotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/%{name} -chmod 644 $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/%{name} +mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d +mv %{buildroot}%{_datadir}/%{name}/mysql-log-rotate %{buildroot}%{_sysconfdir}/logrotate.d/%{name} +chmod 644 %{buildroot}%{_sysconfdir}/logrotate.d/%{name} -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d -echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf +mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d +echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf # copy additional docs into build tree so %%doc will find them cp -p %{SOURCE6} . @@ -554,19 +554,19 @@ cp -p %{SOURCE7} . cp -p %{SOURCE16} . # install the list of skipped tests to be available for user runs -install -p -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/mysql-test +install -p -m 0644 mysql-test/rh-skipped-tests.list %{buildroot}%{_datadir}/mysql-test # remove unneeded RHEL-4 SELinux stuff -rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/SELinux/ +rm -rf %{buildroot}%{_datadir}/%{name}/SELinux/ # remove SysV init script -rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/init.d/mysql +rm -f %{buildroot}%{_sysconfdir}/init.d/mysql # remove duplicate logrotate script -rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/mysql +rm -f %{buildroot}%{_sysconfdir}/logrotate.d/mysql # remove solaris files -rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/solaris/ +rm -rf %{buildroot}%{_datadir}/%{name}/solaris/ %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : From 6405c556a75a91fe50958e7c658650df267a4777 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 17 Jul 2014 16:46:12 +0200 Subject: [PATCH 127/789] Introduce new option with_mysqld_unit --- mariadb.spec | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 1249076..a354fdf 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -21,6 +21,10 @@ # fashion; enabled by default %bcond_without oqgraph +# Provide temporary service file name that will be removed after some time +# (Fedora 22?) +%bcond_without mysqld_unit + Name: mariadb Version: 10.0.12 Release: 3%{?dist} @@ -503,8 +507,10 @@ install -p -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/ # install systemd unit files and scripts for handling server startup mkdir -p %{buildroot}%{_unitdir} -install -p -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/ +install -p -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/%{name}.service +%if %{?with_mysqld_unit} install -p -m 644 %{SOURCE16} %{buildroot}%{_unitdir}/ +%endif install -p -m 755 %{SOURCE12} %{buildroot}%{_libexecdir}/ install -p -m 755 %{SOURCE13} %{buildroot}%{_libexecdir}/ install -p -m 755 %{SOURCE14} %{buildroot}%{_libexecdir}/ @@ -776,7 +782,7 @@ fi %{_datadir}/%{name}/mysql_performance_tables.sql %{_datadir}/%{name}/my-*.cnf -%{_unitdir}/mysqld.service +%{?with_mysqld_unit:%{_unitdir}/mysqld.service} %{_unitdir}/%{name}.service %{_libexecdir}/mariadb-prepare-db-dir %{_libexecdir}/mariadb-wait-ready @@ -834,6 +840,7 @@ fi - Require /etc/my.cnf instead of shipping it - Include README.mysql-cnf - Multilib support re-worked +- Introduce new option with_mysqld_unit * Wed Jun 18 2014 Mikko Tiihonen - 1:10.0.12-2 - Use -fno-delete-null-pointer-checks to avoid segfaults with gcc 4.9 From c2d546d69b802eec20d4dc14db3955aaf9b252ae Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 17 Jul 2014 17:24:07 +0200 Subject: [PATCH 128/789] Do not hardcode SOURCE names in the spec file --- mariadb.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index a354fdf..6a9a766 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -784,10 +784,10 @@ fi %{?with_mysqld_unit:%{_unitdir}/mysqld.service} %{_unitdir}/%{name}.service -%{_libexecdir}/mariadb-prepare-db-dir -%{_libexecdir}/mariadb-wait-ready -%{_libexecdir}/mariadb-scripts-common -%{_libexecdir}/mariadb-check-socket +%{_libexecdir}/%{basename:%{SOURCE12}} +%{_libexecdir}/%{basename:%{SOURCE13}} +%{_libexecdir}/%{basename:%{SOURCE14}} +%{_libexecdir}/%{basename:%{SOURCE15}} %{_tmpfilesdir}/%{name}.conf %attr(0755,mysql,mysql) %dir %{_localstatedir}/run/mysqld From 0185d9964a5bc999c9f3af7946d8135109e623a5 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 17 Jul 2014 17:29:28 +0200 Subject: [PATCH 129/789] Do not obsolete packages if macros not defined --- mariadb.spec | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 6a9a766..04a19be 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -115,12 +115,12 @@ Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} %{?systemd_requires: %systemd_requires} # MySQL (with caps) is upstream's spelling of their own RPMs for mysql -Obsoletes: MySQL < %{obsoleted_mysql_case_evr} +%{?obsoleted_mysql_case_evr:Obsoletes: MySQL < %{obsoleted_mysql_case_evr}} Conflicts: community-mysql # MariaDB replaces mysql packages Provides: mysql = %{epoch}:%{version}-%{release} Provides: mysql%{?_isa} = %{epoch}:%{version}-%{release} -Obsoletes: mysql < %{obsoleted_mysql_evr} +%{?obsoleted_mysql_evr:Obsoletes: mysql < %{obsoleted_mysql_evr}} # mysql-cluster used to be built from this SRPM, but no more Obsoletes: mysql-cluster < 5.1.44 @@ -145,8 +145,8 @@ Summary: The shared libraries required for MariaDB/MySQL clients Group: Applications/Databases Provides: mysql-libs = %{epoch}:%{version}-%{release} Provides: mysql-libs%{?_isa} = %{epoch}:%{version}-%{release} -Obsoletes: MySQL-libs < %{obsoleted_mysql_case_evr} -Obsoletes: mysql-libs < %{obsoleted_mysql_evr} +%{?obsoleted_mysql_case_evr:Obsoletes: MySQL-libs < %{obsoleted_mysql_case_evr}} +%{?obsoleted_mysql_evr:Obsoletes: mysql-libs < %{obsoleted_mysql_evr}} %description libs The mariadb-libs package provides the essential shared libraries for any @@ -188,9 +188,9 @@ Provides: mysql-server = %{epoch}:%{version}-%{release} Provides: mysql-server%{?_isa} = %{epoch}:%{version}-%{release} Provides: mysql-compat-server = %{epoch}:%{version}-%{release} Provides: mysql-compat-server%{?_isa} = %{epoch}:%{version}-%{release} -Obsoletes: MySQL-server < %{obsoleted_mysql_case_evr} +%{?obsoleted_mysql_case_evr:Obsoletes: MySQL-server < %{obsoleted_mysql_case_evr}} Conflicts: community-mysql-server -Obsoletes: mysql-server < %{obsoleted_mysql_evr} +%{?obsoleted_mysql_evr:Obsoletes: mysql-server < %{obsoleted_mysql_evr}} %description server MariaDB is a multi-user, multi-threaded SQL database server. It is a @@ -207,9 +207,9 @@ Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} Requires: openssl-devel%{?_isa} Provides: mysql-devel = %{epoch}:%{version}-%{release} Provides: mysql-devel%{?_isa} = %{epoch}:%{version}-%{release} -Obsoletes: MySQL-devel < %{obsoleted_mysql_case_evr} +%{?obsoleted_mysql_case_evr:Obsoletes: MySQL-devel < %{obsoleted_mysql_case_evr}} Conflicts: community-mysql-devel -Obsoletes: mysql-devel < %{obsoleted_mysql_evr} +%{?obsoleted_mysql_evr:Obsoletes: mysql-devel < %{obsoleted_mysql_evr}} %description devel MariaDB is a multi-user, multi-threaded SQL database server. This @@ -223,8 +223,8 @@ Summary: MariaDB as an embeddable library Group: Applications/Databases Provides: mysql-embedded = %{epoch}:%{version}-%{release} Provides: mysql-embedded%{?_isa} = %{epoch}:%{version}-%{release} -Obsoletes: MySQL-embedded < %{obsoleted_mysql_case_evr} -Obsoletes: mysql-embedded < %{obsoleted_mysql_evr} +%{?obsoleted_mysql_case_evr:Obsoletes: MySQL-embedded < %{obsoleted_mysql_case_evr}} +%{?obsoleted_mysql_evr:Obsoletes: mysql-embedded < %{obsoleted_mysql_evr}} %description embedded MariaDB is a multi-user, multi-threaded SQL database server. This @@ -241,8 +241,8 @@ Requires: %{name}-devel%{?_isa} = %{epoch}:%{version}-%{release} Provides: mysql-embedded-devel = %{epoch}:%{version}-%{release} Provides: mysql-embedded-devel%{?_isa} = %{epoch}:%{version}-%{release} Conflicts: community-mysql-embedded-devel -Obsoletes: MySQL-embedded-devel < %{obsoleted_mysql_case_evr} -Obsoletes: mysql-embedded-devel < %{obsoleted_mysql_evr} +%{?obsoleted_mysql_case_evr:Obsoletes: MySQL-embedded-devel < %{obsoleted_mysql_case_evr}} +%{?obsoleted_mysql_evr:Obsoletes: mysql-embedded-devel < %{obsoleted_mysql_evr}} %description embedded-devel MariaDB is a multi-user, multi-threaded SQL database server. This @@ -258,8 +258,8 @@ Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} Provides: mysql-bench = %{epoch}:%{version}-%{release} Provides: mysql-bench%{?_isa} = %{epoch}:%{version}-%{release} Conflicts: community-mysql-bench -Obsoletes: MySQL-bench < %{obsoleted_mysql_case_evr} -Obsoletes: mysql-bench < %{obsoleted_mysql_evr} +%{?obsoleted_mysql_case_evr:Obsoletes: MySQL-bench < %{obsoleted_mysql_case_evr}} +%{?obsoleted_mysql_evr:Obsoletes: mysql-bench < %{obsoleted_mysql_evr}} %description bench MariaDB is a multi-user, multi-threaded SQL database server. This @@ -277,8 +277,8 @@ Requires: %{name}-server%{?_isa} = %{epoch}:%{version}-%{release} Provides: mysql-test = %{epoch}:%{version}-%{release} Provides: mysql-test%{?_isa} = %{epoch}:%{version}-%{release} Conflicts: community-mysql-test -Obsoletes: MySQL-test < %{obsoleted_mysql_case_evr} -Obsoletes: mysql-test < %{obsoleted_mysql_evr} +%{?obsoleted_mysql_case_evr:Obsoletes: MySQL-test < %{obsoleted_mysql_case_evr}} +%{?obsoleted_mysql_evr:Obsoletes: mysql-test < %{obsoleted_mysql_evr}} Requires: perl(Socket), perl(Time::HiRes) Requires: perl(Data::Dumper), perl(Test::More), perl(Env) From 8102b4c264b605c4d23be5758e349b48dd72fd04 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 17 Jul 2014 17:33:31 +0200 Subject: [PATCH 130/789] Removed obsolete mysql-cluster, the package should already be removed --- mariadb.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 04a19be..eb5be49 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -121,8 +121,6 @@ Conflicts: community-mysql Provides: mysql = %{epoch}:%{version}-%{release} Provides: mysql%{?_isa} = %{epoch}:%{version}-%{release} %{?obsoleted_mysql_evr:Obsoletes: mysql < %{obsoleted_mysql_evr}} -# 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} @@ -841,6 +839,7 @@ fi - Include README.mysql-cnf - Multilib support re-worked - Introduce new option with_mysqld_unit +- Removed obsolete mysql-cluster, the package should already be removed * Wed Jun 18 2014 Mikko Tiihonen - 1:10.0.12-2 - Use -fno-delete-null-pointer-checks to avoid segfaults with gcc 4.9 From f2af251c7d0a373dfedf5a7a4cd8fb877d2064f0 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 18 Jul 2014 09:52:36 +0200 Subject: [PATCH 131/789] Improve error message when log file is not writable --- mariadb-prepare-db-dir | 14 ++++++++++++++ mariadb-scripts-common | 4 +++- mariadb.spec | 1 + 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/mariadb-prepare-db-dir b/mariadb-prepare-db-dir index 8265747..3b464e9 100644 --- a/mariadb-prepare-db-dir +++ b/mariadb-prepare-db-dir @@ -29,6 +29,20 @@ fi # Set up the errlogfile with appropriate permissions touch "$errlogfile" +ret=$? +# Provide some advice if the log file cannot be touched +if [ $ret -ne 0 ] ; then + errlogdir=$(dirname $errlogfile) + if ! [ -d "$errlogdir" ] ; then + echo "The directory $errlogdir does not exist." + elif [ -f "$errlogfile" ] ; then + echo "The log file $errlogfile cannot be touched, please, fix its permissions." + else + echo "The log file $errlogfile could not be created." + fi + echo "The daemon will be run under $myuser:$mygroup" + exit 1 +fi chown "$myuser:$mygroup" "$errlogfile" chmod 0640 "$errlogfile" [ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" diff --git a/mariadb-scripts-common b/mariadb-scripts-common index e1f7b21..02b53a7 100755 --- a/mariadb-scripts-common +++ b/mariadb-scripts-common @@ -43,7 +43,9 @@ datadir="$result" # if there is log_error in the my.cnf, my_print_defaults still # returns log-error -get_mysql_option mysqld_safe log-error "`hostname`.err" +# log-error might be defined in mysqld_safe and mysqld sections, +# the former has bigger priority +get_mysql_option "mysqld_safe mysqld" log-error "`hostname`.err" errlogfile="$result" get_mysql_option mysqld socket "/var/lib/mysql/mysql.sock" diff --git a/mariadb.spec b/mariadb.spec index eb5be49..f38aa62 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -840,6 +840,7 @@ fi - Multilib support re-worked - Introduce new option with_mysqld_unit - Removed obsolete mysql-cluster, the package should already be removed +- Improve error message when log file is not writable * Wed Jun 18 2014 Mikko Tiihonen - 1:10.0.12-2 - Use -fno-delete-null-pointer-checks to avoid segfaults with gcc 4.9 From a6b32994bad7b113e1d775d373c3579e229fa37e Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 18 Jul 2014 09:55:25 +0200 Subject: [PATCH 132/789] Compile all binaries with full RELRO (RHBZ#1092548) --- mariadb.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index f38aa62..2274fb5 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -25,6 +25,9 @@ # (Fedora 22?) %bcond_without mysqld_unit +# use Full RELRO for all binaries (RHBZ#1092548) +%global _hardened_build 1 + Name: mariadb Version: 10.0.12 Release: 3%{?dist} @@ -358,9 +361,11 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` %endif CXXFLAGS="$CFLAGS" export CFLAGS CXXFLAGS +%if 0%{?_hardened_build} # building with PIE -LDFLAGS="$LDFLAGS -pie" +LDFLAGS="$LDFLAGS -pie -Wl,-z,relro,-z,now" export LDFLAGS +%endif # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. @@ -841,6 +846,7 @@ fi - Introduce new option with_mysqld_unit - Removed obsolete mysql-cluster, the package should already be removed - Improve error message when log file is not writable +- Compile all binaries with full RELRO (RHBZ#1092548) * Wed Jun 18 2014 Mikko Tiihonen - 1:10.0.12-2 - Use -fno-delete-null-pointer-checks to avoid segfaults with gcc 4.9 From 539489a7a2941de1d5c31cc14e64f0b4ae1920cc Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 18 Jul 2014 11:57:24 +0200 Subject: [PATCH 133/789] Disable TokuDB temporarily, until https://mariadb.atlassian.net/browse/MDEV-6446 is solved --- mariadb.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 2274fb5..d586a49 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -10,7 +10,8 @@ # TokuDB engine is now part of MariaDB, but it is available only for x86_64; # variable tokudb allows to build with TokuDB storage engine -%ifarch x86_64 +# Temporarily disabled for https://mariadb.atlassian.net/browse/MDEV-6446 +%ifarch 0 #x86_64 %bcond_without tokudb %else %bcond_with tokudb @@ -836,7 +837,7 @@ fi %changelog * Tue Jul 15 2014 Honza Horak - 1:10.0.12-3 - Enable OQGRAPH engine -- Enable TokuDB engine for x86_64 +- Add support for TokuDB engine for x86_64 (currently still disabled) - Re-enable tokudb_innodb_xa_crash again, seems to be fixed now - Drop superfluous -libs and -embedded ldconfig deps (thanks Ville Skyttä) - Separate -lib and -common sub-packages From 75785df7d638e98d44a9d96d6b704b866e492f37 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 18 Jul 2014 14:28:47 +0200 Subject: [PATCH 134/789] Use modern symbol filtering with compatible backup --- filter-requires-mysql.sh | 5 ----- mariadb.spec | 15 ++++++++++----- 2 files changed, 10 insertions(+), 10 deletions(-) delete mode 100755 filter-requires-mysql.sh diff --git a/filter-requires-mysql.sh b/filter-requires-mysql.sh deleted file mode 100755 index bce04c6..0000000 --- a/filter-requires-mysql.sh +++ /dev/null @@ -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" diff --git a/mariadb.spec b/mariadb.spec index d586a49..6b16a82 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -80,8 +80,6 @@ Source51: rh-skipped-tests-intel.list Source52: rh-skipped-tests-arm.list Source53: rh-skipped-tests-ppc-s390.list Source54: rh-skipped-tests-ppc64le.list -# Working around perl dependency checking bug in rpm FTTB. Remove later. -Source999: filter-requires-mysql.sh # Comments for these patches are in the patch files. Patch1: mariadb-errno.patch @@ -126,9 +124,15 @@ Provides: mysql = %{epoch}:%{version}-%{release} Provides: mysql%{?_isa} = %{epoch}:%{version}-%{release} %{?obsoleted_mysql_evr:Obsoletes: mysql < %{obsoleted_mysql_evr}} -# When rpm 4.9 is universal, this could be cleaned up: -%global __perl_requires %{SOURCE999} -%global __perllib_requires %{SOURCE999} +# Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering +%if 0%{?__requires_exclude:1} +%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) +%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ +%else +%filter_from_requires /perl(\(hostnames\|lib::mtr\|lib::v1\|mtr_\|My::\)/d +%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ +%filter_setup +%endif # 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). @@ -848,6 +852,7 @@ fi - Removed obsolete mysql-cluster, the package should already be removed - Improve error message when log file is not writable - Compile all binaries with full RELRO (RHBZ#1092548) +- Use modern symbol filtering with compatible backup * Wed Jun 18 2014 Mikko Tiihonen - 1:10.0.12-2 - Use -fno-delete-null-pointer-checks to avoid segfaults with gcc 4.9 From 43c59ffe3e765035c6d3d79c3afcfbf79eefd623 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 18 Jul 2014 15:44:47 +0200 Subject: [PATCH 135/789] Add README-mysql-cnf into build dir to make it visible for %doc --- mariadb.spec | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 6b16a82..c51d5bc 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -29,20 +29,6 @@ # use Full RELRO for all binaries (RHBZ#1092548) %global _hardened_build 1 -Name: mariadb -Version: 10.0.12 -Release: 3%{?dist} -Epoch: 1 - -Summary: A community developed branch of MySQL -Group: Applications/Databases -URL: http://mariadb.org -# 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 - # The evr of mysql we want to obsolete %global obsoleted_mysql_evr 5.6-0 %global obsoleted_mysql_case_evr 5.5.30-5 @@ -59,6 +45,20 @@ License: GPLv2 with exceptions and LGPLv2 and BSD %global mysqld_enabled_flag_file %{_localstatedir}/lib/rpm-state/mysqld_enabled %global mysqld_running_flag_file %{_localstatedir}/lib/rpm-state/mysqld_running +Name: mariadb +Version: 10.0.12 +Release: 3%{?dist} +Epoch: 1 + +Summary: A community developed branch of MySQL +Group: Applications/Databases +URL: http://mariadb.org +# 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 + Source0: http://mirrors.syringanetworks.net/mariadb/mariadb-%{version}/source/mariadb-%{version}.tar.gz Source2: mysql_config.sh Source3: my.cnf @@ -563,6 +563,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf # copy additional docs into build tree so %%doc will find them +cp -p %{SOURCE5} . cp -p %{SOURCE6} . cp -p %{SOURCE7} . cp -p %{SOURCE16} . From 2c4d13cefcdab72f4db3fc073d9d65cc30bfad92 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 21 Jul 2014 09:10:31 +0200 Subject: [PATCH 136/789] Fix mysql_config packaging --- mariadb.spec | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index c51d5bc..f95225a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -466,6 +466,15 @@ make DESTDIR=%{buildroot} install # List the installed tree for RPM package maintenance purposes. find %{buildroot} -print | sed "s|^%{buildroot}||" | sort > ROOTFILES +# 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/' \ + %{buildroot}%{_bindir}/mysql_config >mysql_config.tmp +cp -p -f mysql_config.tmp %{buildroot}%{_bindir}/mysql_config +chmod 755 %{buildroot}%{_bindir}/mysql_config + # multilib header hacks # we only apply this to known Red Hat multilib arches, per bug #181335 unamei=$(uname -i) @@ -481,15 +490,6 @@ mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__i install -p -m 0755 %{SOURCE2} %{buildroot}%{_bindir}/mysql_config %endif -# 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/' \ - %{buildroot}%{_bindir}/mysql_config >mysql_config.tmp -cp -p -f mysql_config.tmp %{buildroot}%{_bindir}/mysql_config -chmod 755 %{buildroot}%{_bindir}/mysql_config - # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also mariadb-file-contents.patch) mv %{buildroot}%{_pkgdocdir}/MariaDB-server-%{version}/INFO_SRC %{buildroot}%{_libdir}/mysql/ @@ -814,7 +814,6 @@ fi %{_datadir}/aclocal/mysql.m4 %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so -%{_libdir}/mysql/mysql_config %{_mandir}/man1/mysql_config.1* %files embedded From 626b71dbfc5fce464ac9448747a4c8714efb8476 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 21 Jul 2014 09:53:36 +0200 Subject: [PATCH 137/789] Add more group names for server's my.cnf --- mariadb-scripts-common | 10 ++++++---- mariadb.spec | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/mariadb-scripts-common b/mariadb-scripts-common index 02b53a7..7278350 100755 --- a/mariadb-scripts-common +++ b/mariadb-scripts-common @@ -38,19 +38,21 @@ get_mysql_option(){ # must correspond with values defined in mysqld_safe script and source # code itself. -get_mysql_option mysqld datadir "/var/lib/mysql" +server_sections="mysqld_safe mysqld server mariadb" + +get_mysql_option "$server_sections" datadir "/var/lib/mysql" datadir="$result" # if there is log_error in the my.cnf, my_print_defaults still # returns log-error # log-error might be defined in mysqld_safe and mysqld sections, # the former has bigger priority -get_mysql_option "mysqld_safe mysqld" log-error "`hostname`.err" +get_mysql_option "$server_sections" log-error "`hostname`.err" errlogfile="$result" -get_mysql_option mysqld socket "/var/lib/mysql/mysql.sock" +get_mysql_option "$server_sections" socket "/var/lib/mysql/mysql.sock" socketfile="$result" -get_mysql_option mysqld_safe pid-file "`hostname`.pid" +get_mysql_option "$server_sections" pid-file "`hostname`.pid" pidfile="$result" diff --git a/mariadb.spec b/mariadb.spec index f95225a..3fa8563 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -853,6 +853,7 @@ fi - Improve error message when log file is not writable - Compile all binaries with full RELRO (RHBZ#1092548) - Use modern symbol filtering with compatible backup +- Add more groupnames for server's my.cnf * Wed Jun 18 2014 Mikko Tiihonen - 1:10.0.12-2 - Use -fno-delete-null-pointer-checks to avoid segfaults with gcc 4.9 From 8a019a0a245a885c672c429db6f33c3ace0c6c06 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 21 Jul 2014 10:20:20 +0200 Subject: [PATCH 138/789] Error messages now provided by a separate package (thanks Alexander Barkov) --- mariadb.spec | 40 ++++++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 3fa8563..4d47859 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -149,6 +149,7 @@ contains the standard MariaDB/MySQL client programs and generic MySQL files. Summary: The shared libraries required for MariaDB/MySQL clients Group: Applications/Databases +Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} Provides: mysql-libs = %{epoch}:%{version}-%{release} Provides: mysql-libs%{?_isa} = %{epoch}:%{version}-%{release} %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-libs < %{obsoleted_mysql_case_evr}} @@ -172,12 +173,24 @@ Requires: %{_sysconfdir}/my.cnf The package provides the essential shared files for any MariaDB program. You will need to install this package to use any other MariaDB package. +%package errmsg + +Summary: The error messages files required by server and embedded +Group: Applications/Databases +Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} + +%description errmsg +The package provides error messages files for the MariaDB daemon and the +embedded server. You will need to install this package to use any of those +MariaDB packages. + %package server Summary: The MariaDB server and related files Group: Applications/Databases Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-errmsg%{?_isa} = %{epoch}:%{version}-%{release} Requires: sh-utils Requires(pre): /usr/sbin/useradd # We require this to be present for %%{_tmpfilesdir} @@ -227,6 +240,8 @@ MariaDB is a community developed branch of MySQL. Summary: MariaDB as an embeddable library Group: Applications/Databases +Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-errmsg%{?_isa} = %{epoch}:%{version}-%{release} Provides: mysql-embedded = %{epoch}:%{version}-%{release} Provides: mysql-embedded%{?_isa} = %{epoch}:%{version}-%{release} %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-embedded < %{obsoleted_mysql_case_evr}} @@ -634,8 +649,6 @@ fi %postun embedded -p /sbin/ldconfig %files -%doc README COPYING COPYING.LESSER README.mysql-license -%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google %doc README.mysql-docs %{_bindir}/msql2mysql @@ -672,21 +685,24 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/connect.cnf %files libs -%doc README COPYING COPYING.LESSER 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. -%if %{ship_my_cnf} -%config(noreplace) %{_sysconfdir}/my.cnf -%config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf -%dir %{_sysconfdir}/my.cnf.d -%endif %dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient.so.* %{_sysconfdir}/ld.so.conf.d/* %files common +%doc README COPYING COPYING.LESSER 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 +# common package because it can be used for client settings too. +%if %{ship_my_cnf} +%config(noreplace) %{_sysconfdir}/my.cnf +%config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf +%dir %{_sysconfdir}/my.cnf.d +%endif %dir %{_datadir}/%{name} +%{_datadir}/%{name}/charsets + +%files errmsg %{_datadir}/%{name}/english %lang(cs) %{_datadir}/%{name}/czech %lang(da) %{_datadir}/%{name}/danish @@ -710,7 +726,6 @@ fi %lang(es) %{_datadir}/%{name}/spanish %lang(sv) %{_datadir}/%{name}/swedish %lang(uk) %{_datadir}/%{name}/ukrainian -%{_datadir}/%{name}/charsets %files server %doc support-files/*.cnf README.mysql-cnf @@ -854,6 +869,7 @@ fi - Compile all binaries with full RELRO (RHBZ#1092548) - Use modern symbol filtering with compatible backup - Add more groupnames for server's my.cnf +- Error messages now provided by a separate package (thanks Alexander Barkov) * Wed Jun 18 2014 Mikko Tiihonen - 1:10.0.12-2 - Use -fno-delete-null-pointer-checks to avoid segfaults with gcc 4.9 From 0879ad208d707a629100f762b930cdfb42168911 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 21 Jul 2014 10:29:11 +0200 Subject: [PATCH 139/789] Require correct version of pcre library --- mariadb.spec | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 4d47859..56beec6 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -26,6 +26,14 @@ # (Fedora 22?) %bcond_without mysqld_unit +# MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use +# the bundled library, since the package cannot be build with older version +%if 0%{?fedora} >= 21 +%bcond_without pcre +%else +%bcond_with pcre +%endif + # use Full RELRO for all binaries (RHBZ#1092548) %global _hardened_build 1 @@ -107,6 +115,7 @@ BuildRequires: time procps BuildRequires: pam-devel # boost and Judy required for oograph %{?with_oqgraph:BuildRequires: boost-devel, Judy-devel} +%{?with_pcre:BuildRequires: pcre-devel >= 8.35} # perl modules needed to run regression tests BuildRequires: perl(Socket), perl(Time::HiRes) BuildRequires: perl(Data::Dumper), perl(Test::More), perl(Env) @@ -421,7 +430,7 @@ cmake . -DBUILD_CONFIG=mysql_release \ -DWITH_READLINE=ON \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DWITH_PCRE=system \ +%{?with_pcre: -DWITH_PCRE=system}\ -DWITH_JEMALLOC=no \ %{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\ -DTMPDIR=%{_localstatedir}/tmp \ From b10bd5019e7a2e580440fc16fe11c03d098a7bbd Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 21 Jul 2014 10:32:08 +0200 Subject: [PATCH 140/789] Remove already unused libmysql.version --- libmysql.version | 243 ----------------------------------------------- mariadb.spec | 1 - 2 files changed, 244 deletions(-) delete mode 100644 libmysql.version diff --git a/libmysql.version b/libmysql.version deleted file mode 100644 index d0e329c..0000000 --- a/libmysql.version +++ /dev/null @@ -1,243 +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; -}; - -# symbols specific for mariadb -libmysqlclient_18_mariadb { - global: - # symbols related to non-blocking operations - # documented here: https://kb.askmonty.org/en/non-blocking-api-reference/ - mysql_get_socket; - mysql_get_timeout_value; - mysql_get_timeout_value_ms; - mysql_real_connect_start; - mysql_real_connect_cont; - mysql_real_query_start; - mysql_real_query_cont; - mysql_fetch_row_start; - mysql_fetch_row_cont; - mysql_set_character_set_start; - mysql_set_character_set_cont; - mysql_select_db_start; - mysql_select_db_cont; - mysql_send_query_start; - mysql_send_query_cont; - mysql_store_result_start; - mysql_store_result_cont; - mysql_free_result_start; - mysql_free_result_cont; - mysql_close_start; - mysql_close_cont; - mysql_change_user_start; - mysql_change_user_cont; - mysql_query_start; - mysql_query_cont; - mysql_shutdown_start; - mysql_shutdown_cont; - mysql_dump_debug_info_start; - mysql_dump_debug_info_cont; - mysql_refresh_start; - mysql_refresh_cont; - mysql_kill_start; - mysql_kill_cont; - mysql_set_server_option_start; - mysql_set_server_option_cont; - mysql_ping_start; - mysql_ping_cont; - mysql_stat_start; - mysql_stat_cont; - mysql_list_dbs_start; - mysql_list_dbs_cont; - mysql_list_tables_start; - mysql_list_tables_cont; - mysql_list_processes_start; - mysql_list_processes_cont; - mysql_list_fields_start; - mysql_list_fields_cont; - mysql_read_query_result_start; - mysql_read_query_result_cont; - mysql_stmt_prepare_start; - mysql_stmt_prepare_cont; - mysql_stmt_execute_start; - mysql_stmt_execute_cont; - mysql_stmt_fetch_start; - mysql_stmt_fetch_cont; - mysql_stmt_store_result_start; - mysql_stmt_store_result_cont; - mysql_stmt_close_start; - mysql_stmt_close_cont; - mysql_stmt_reset_start; - mysql_stmt_reset_cont; - mysql_stmt_free_result_start; - mysql_stmt_free_result_cont; - mysql_stmt_send_long_data_start; - mysql_stmt_send_long_data_cont; - mysql_commit_start; - mysql_commit_cont; - mysql_rollback_start; - mysql_rollback_cont; - mysql_autocommit_start; - mysql_autocommit_cont; - mysql_next_result_start; - mysql_next_result_cont; - mysql_stmt_next_result_start; - mysql_stmt_next_result_cont; - # dynamic columns API - # documented here: https://kb.askmonty.org/en/dynamic-columns-api/ - # currently only documentation for mariadb-10.0.x available, but - # upstream promissed adding 5.5.x version as well - dynamic_column_create; - dynamic_column_create_many; - dynamic_column_update; - dynamic_column_update_many; - dynamic_column_delete; - dynamic_column_exists; - dynamic_column_list; - dynamic_column_get; - dynamic_column_prepare_decimal; -}; diff --git a/mariadb.spec b/mariadb.spec index 56beec6..2d5f39b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -74,7 +74,6 @@ Source4: my_config.h Source5: README.mysql-cnf Source6: README.mysql-docs Source7: README.mysql-license -Source8: libmysql.version Source9: mysql-embedded-check.c Source10: mariadb.tmpfiles.d Source11: mariadb.service From 5eaeb51ae724ec750876f90bbf992e81c0f9141a Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 21 Jul 2014 14:41:04 +0200 Subject: [PATCH 141/789] Expand paths in helper scripts using cmake --- ...db-check-socket => mariadb-check-socket.sh | 0 ...repare-db-dir => mariadb-prepare-db-dir.sh | 6 +-- ...cripts-common => mariadb-scripts-common.sh | 6 +-- mariadb-wait-ready => mariadb-wait-ready.sh | 4 +- mariadb.service => mariadb.service.in | 16 +++---- mariadb.spec | 46 +++++++++++-------- mariadb.tmpfiles.d | 2 - mariadb.tmpfiles.d.in | 2 + mysql_config.sh => mysql_config_multilib.sh | 8 ++-- mysqld.service | 12 ----- mysqld.service.in | 12 +++++ 11 files changed, 60 insertions(+), 54 deletions(-) rename mariadb-check-socket => mariadb-check-socket.sh (100%) rename mariadb-prepare-db-dir => mariadb-prepare-db-dir.sh (92%) rename mariadb-scripts-common => mariadb-scripts-common.sh (87%) rename mariadb-wait-ready => mariadb-wait-ready.sh (94%) rename mariadb.service => mariadb.service.in (80%) delete mode 100644 mariadb.tmpfiles.d create mode 100644 mariadb.tmpfiles.d.in rename mysql_config.sh => mysql_config_multilib.sh (69%) delete mode 100644 mysqld.service create mode 100644 mysqld.service.in diff --git a/mariadb-check-socket b/mariadb-check-socket.sh similarity index 100% rename from mariadb-check-socket rename to mariadb-check-socket.sh diff --git a/mariadb-prepare-db-dir b/mariadb-prepare-db-dir.sh similarity index 92% rename from mariadb-prepare-db-dir rename to mariadb-prepare-db-dir.sh index 3b464e9..0e574bc 100644 --- a/mariadb-prepare-db-dir +++ b/mariadb-prepare-db-dir.sh @@ -10,7 +10,7 @@ source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" SERVICE_NAME="$1" if [ x"$SERVICE_NAME" = x ] then - SERVICE_NAME=mariadb.service + SERVICE_NAME=@RPM_PACKAGE_PREFIX@mariadb.service fi myuser=`systemctl show -p User "${SERVICE_NAME}" | @@ -61,11 +61,11 @@ if [ ! -d "$datadir/mysql" ] ; then # Now create the database echo "Initializing MySQL database" - /usr/bin/mysql_install_db --datadir="$datadir" --user="$myuser" + @bindir@/mysql_install_db --datadir="$datadir" --user="$myuser" ret=$? if [ $ret -ne 0 ] ; then echo "Initialization of MySQL database failed." >&2 - echo "Perhaps /etc/my.cnf is misconfigured." >&2 + echo "Perhaps @sysconfdir@/my.cnf is misconfigured." >&2 # Clean up any partially-created database files if [ ! -e "$datadir/mysql/user.frm" ] ; then rm -rf "$datadir"/* diff --git a/mariadb-scripts-common b/mariadb-scripts-common.sh similarity index 87% rename from mariadb-scripts-common rename to mariadb-scripts-common.sh index 7278350..7ce9a11 100755 --- a/mariadb-scripts-common +++ b/mariadb-scripts-common.sh @@ -38,9 +38,9 @@ get_mysql_option(){ # must correspond with values defined in mysqld_safe script and source # code itself. -server_sections="mysqld_safe mysqld server mariadb" +server_sections="mysqld_safe mysqld server mysqld-@MAJOR_VERSION@.@MINOR_VERSION@ mariadb mariadb-@MAJOR_VERSION@.@MINOR_VERSION@ client-server" -get_mysql_option "$server_sections" datadir "/var/lib/mysql" +get_mysql_option "$server_sections" datadir "@MYSQL_DATADIR@" datadir="$result" # if there is log_error in the my.cnf, my_print_defaults still @@ -50,7 +50,7 @@ datadir="$result" get_mysql_option "$server_sections" log-error "`hostname`.err" errlogfile="$result" -get_mysql_option "$server_sections" socket "/var/lib/mysql/mysql.sock" +get_mysql_option "$server_sections" socket "@MYSQL_UNIX_ADDR@" socketfile="$result" get_mysql_option "$server_sections" pid-file "`hostname`.pid" diff --git a/mariadb-wait-ready b/mariadb-wait-ready.sh similarity index 94% rename from mariadb-wait-ready rename to mariadb-wait-ready.sh index ad1392b..cf5409f 100644 --- a/mariadb-wait-ready +++ b/mariadb-wait-ready.sh @@ -11,7 +11,7 @@ source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" if [ $# -ne 1 ] ; then echo "You need to pass daemon pid as an argument for this script." exit 20 -fi +fi # Service file passes us the daemon's PID (actually, mysqld_safe's PID) daemon_pid="$1" @@ -24,7 +24,7 @@ while /bin/true; do ret=1 break fi - RESPONSE=`/usr/bin/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` + RESPONSE=`@bindir@/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` mret=$? if [ $mret -eq 0 ] ; then break diff --git a/mariadb.service b/mariadb.service.in similarity index 80% rename from mariadb.service rename to mariadb.service.in index f938b05..82b87db 100644 --- a/mariadb.service +++ b/mariadb.service.in @@ -17,28 +17,28 @@ # [Service] # LimitNOFILE=10000 -# Note: /usr/lib/... is recommended in the .include line though /lib/... +# Note: /usr/lib/... is recommended in the .include line though /lib/... # still works. # Don't forget to reload systemd daemon after you change unit configuration: # root> systemctl --system daemon-reload [Unit] -Description=MariaDB database server +Description=MariaDB @MAJOR_VERSION@.@MINOR_VERSION@ database server After=syslog.target After=network.target -BindsTo=mysqld.service +BindsTo=@RPM_PACKAGE_PREFIX@mysqld.service [Service] Type=simple User=mysql Group=mysql -ExecStartPre=/usr/libexec/mariadb-check-socket -ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n +ExecStartPre=@libexecdir@/mariadb-check-socket +ExecStartPre=@libexecdir@/mariadb-prepare-db-dir %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 -ExecStart=/usr/bin/mysqld_safe --basedir=/usr -ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID +ExecStart=@bindir@/mysqld_safe --basedir=@prefix@ +ExecStartPost=@libexecdir@/mariadb-wait-ready $MAINPID # Give a reasonable amount of time for the server to start up/shut down TimeoutSec=300 @@ -48,4 +48,4 @@ PrivateTmp=true [Install] WantedBy=multi-user.target -Also=mysqld.service +Also=@RPM_PACKAGE_PREFIX@mysqld.service diff --git a/mariadb.spec b/mariadb.spec index 2d5f39b..1e836c2 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -68,20 +68,20 @@ URL: http://mariadb.org License: GPLv2 with exceptions and LGPLv2 and BSD Source0: http://mirrors.syringanetworks.net/mariadb/mariadb-%{version}/source/mariadb-%{version}.tar.gz -Source2: mysql_config.sh +Source2: mysql_config_multilib.sh Source3: my.cnf Source4: my_config.h Source5: README.mysql-cnf Source6: README.mysql-docs Source7: README.mysql-license Source9: mysql-embedded-check.c -Source10: mariadb.tmpfiles.d -Source11: mariadb.service -Source12: mariadb-prepare-db-dir -Source13: mariadb-wait-ready -Source14: mariadb-check-socket -Source15: mariadb-scripts-common -Source16: mysqld.service +Source10: mariadb.tmpfiles.d.in +Source11: mariadb.service.in +Source12: mariadb-prepare-db-dir.sh +Source13: mariadb-wait-ready.sh +Source14: mariadb-check-socket.sh +Source15: mariadb-scripts-common.sh +Source16: mysqld.service.in Source50: rh-skipped-tests-base.list Source51: rh-skipped-tests-intel.list Source52: rh-skipped-tests-arm.list @@ -104,6 +104,7 @@ Patch12: mariadb-covscan-stroverflow.patch Patch13: mariadb-config.patch Patch14: mariadb-ssltest.patch Patch15: mariadb-mysql_config.patch +Patch16: mariadb-scripts.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -335,6 +336,7 @@ MariaDB is a community developed branch of MySQL. %patch13 -p1 %patch14 -p1 %patch15 -p1 +%patch16 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -359,6 +361,8 @@ cat %{SOURCE53} >> mysql-test/rh-skipped-tests.list cat %{SOURCE54} >> mysql-test/rh-skipped-tests.list %endif +cp %{SOURCE2} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} \ + %{SOURCE15} %{SOURCE16} scripts %build @@ -401,6 +405,7 @@ export LDFLAGS cmake . -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ + -DRPM_PACKAGE_PREFIX="" \ -DRPM="%{?rhel:rhel%{rhel}}%{!?rhel:fedora%{fedora}}" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ %if 0%{?fedora} >= 20 @@ -510,7 +515,7 @@ mv %{buildroot}%{_includedir}/mysql/private/config.h %{buildroot}%{_includedir}/ install -p -m 644 %{SOURCE4} %{buildroot}%{_includedir}/mysql/ install -p -m 644 %{SOURCE4} %{buildroot}%{_includedir}/mysql/private/config.h mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} -install -p -m 0755 %{SOURCE2} %{buildroot}%{_bindir}/mysql_config +install -p -m 0755 scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config %endif # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, @@ -538,17 +543,17 @@ install -p -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/ # install systemd unit files and scripts for handling server startup mkdir -p %{buildroot}%{_unitdir} -install -p -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/%{name}.service +install -p -m 644 scripts/mariadb.service %{buildroot}%{_unitdir}/%{name}.service %if %{?with_mysqld_unit} -install -p -m 644 %{SOURCE16} %{buildroot}%{_unitdir}/ +install -p -m 644 scripts/mysqld.service %{buildroot}%{_unitdir}/mysqld.service %endif -install -p -m 755 %{SOURCE12} %{buildroot}%{_libexecdir}/ -install -p -m 755 %{SOURCE13} %{buildroot}%{_libexecdir}/ -install -p -m 755 %{SOURCE14} %{buildroot}%{_libexecdir}/ -install -p -m 644 %{SOURCE15} %{buildroot}%{_libexecdir}/ +install -p -m 755 scripts/mariadb-prepare-db-dir %{buildroot}%{_libexecdir}/mariadb-prepare-db-dir +install -p -m 755 scripts/mariadb-wait-ready %{buildroot}%{_libexecdir}/mariadb-wait-ready +install -p -m 755 scripts/mariadb-check-socket %{buildroot}%{_libexecdir}/mariadb-check-socket +install -p -m 644 scripts/mariadb-scripts-common %{buildroot}%{_libexecdir}/mariadb-scripts-common mkdir -p %{buildroot}%{_tmpfilesdir} -install -p -m 0644 %{SOURCE10} %{buildroot}%{_tmpfilesdir}/%{name}.conf +install -p -m 0644 scripts/mariadb.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf # Remove libmysqld.a rm -f %{buildroot}%{_libdir}/mysql/libmysqld.a @@ -816,10 +821,10 @@ fi %{?with_mysqld_unit:%{_unitdir}/mysqld.service} %{_unitdir}/%{name}.service -%{_libexecdir}/%{basename:%{SOURCE12}} -%{_libexecdir}/%{basename:%{SOURCE13}} -%{_libexecdir}/%{basename:%{SOURCE14}} -%{_libexecdir}/%{basename:%{SOURCE15}} +%{_libexecdir}/mariadb-prepare-db-dir +%{_libexecdir}/mariadb-wait-ready +%{_libexecdir}/mariadb-check-socket +%{_libexecdir}/mariadb-scripts-common %{_tmpfilesdir}/%{name}.conf %attr(0755,mysql,mysql) %dir %{_localstatedir}/run/mysqld @@ -878,6 +883,7 @@ fi - Use modern symbol filtering with compatible backup - Add more groupnames for server's my.cnf - Error messages now provided by a separate package (thanks Alexander Barkov) +- Expand paths in helper scripts using cmake * Wed Jun 18 2014 Mikko Tiihonen - 1:10.0.12-2 - Use -fno-delete-null-pointer-checks to avoid segfaults with gcc 4.9 diff --git a/mariadb.tmpfiles.d b/mariadb.tmpfiles.d deleted file mode 100644 index fbfe4d9..0000000 --- a/mariadb.tmpfiles.d +++ /dev/null @@ -1,2 +0,0 @@ -d /var/run/mysqld 0755 mysql mysql - -d /var/run/mariadb 0755 mysql mysql - diff --git a/mariadb.tmpfiles.d.in b/mariadb.tmpfiles.d.in new file mode 100644 index 0000000..a1b20aa --- /dev/null +++ b/mariadb.tmpfiles.d.in @@ -0,0 +1,2 @@ +d /var/run/@RPM_PACKAGE_PREFIX@mysqld 0755 mysql mysql - +d /var/run/@RPM_PACKAGE_PREFIX@mariadb 0755 mysql mysql - diff --git a/mysql_config.sh b/mysql_config_multilib.sh similarity index 69% rename from mysql_config.sh rename to mysql_config_multilib.sh index 4849e95..06c2a2b 100644 --- a/mysql_config.sh +++ b/mysql_config_multilib.sh @@ -1,4 +1,4 @@ -#! /bin/bash +#! /bin/sh # # Wrapper script for mysql_config to support multilib # @@ -17,10 +17,10 @@ if [ "$status" = "unknown" ] ; then fi -if [ -x /usr/bin/mysql_config-$bits ] ; then - /usr/bin/mysql_config-$bits "$@" +if [ -x @bindir@/mysql_config-$bits ] ; then + @bindir@/mysql_config-$bits "$@" else - echo "$0: error: needed binary: /usr/bin/mysql_config-$bits is missing" + echo "$0: error: needed binary: @bindir@/mysql_config-$bits is missing" exit 1 fi diff --git a/mysqld.service b/mysqld.service deleted file mode 100644 index fad58b7..0000000 --- a/mysqld.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=MySQL compatibility service (another name for mariadb.service; you should use mariadb.service instead) -BindsTo=mariadb.service - -[Service] -Type=oneshot -ExecStart=/bin/true -RemainAfterExit=yes - -[Install] -WantedBy=multi-user.target -Also=mariadb.service diff --git a/mysqld.service.in b/mysqld.service.in new file mode 100644 index 0000000..50f4b49 --- /dev/null +++ b/mysqld.service.in @@ -0,0 +1,12 @@ +[Unit] +Description=MySQL compatibility service (another name for @RPM_PACKAGE_PREFIX@mariadb.service; you should use @RPM_PACKAGE_PREFIX@mariadb.service instead) +BindsTo=@RPM_PACKAGE_PREFIX@mariadb.service + +[Service] +Type=oneshot +ExecStart=/bin/true +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target +Also=@RPM_PACKAGE_PREFIX@mariadb.service From b1b346ab215d70cdc4a8cb6f73c946c7bcd202a6 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 21 Jul 2014 15:01:30 +0200 Subject: [PATCH 142/789] Package OQGRAPH as a sub-package --- mariadb.spec | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 1e836c2..1400cf8 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -113,8 +113,6 @@ BuildRequires: systemd, systemtap-sdt-devel BuildRequires: time procps # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel -# boost and Judy required for oograph -%{?with_oqgraph:BuildRequires: boost-devel, Judy-devel} %{?with_pcre:BuildRequires: pcre-devel >= 8.35} # perl modules needed to run regression tests BuildRequires: perl(Socket), perl(Time::HiRes) @@ -227,6 +225,23 @@ and many different client programs and libraries. This package contains the MariaDB server and some accompanying files and directories. MariaDB is a community developed branch of MySQL. +%if %{with oqgraph} +%package oqgraph + +Summary: The Open Query GRAPH engine for MariaDB +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{epoch}:%{version}-%{release} +# boost and Judy required for oograph +BuildRequires: boost-devel, Judy-devel + +%description oqgraph +The package provides Open Query GRAPH engine (OQGRAPH) as plugin for MariaDB +database server. OQGRAPH is a computation engine allowing hierarchies and more +complex graph structures to be handled in a relational fashion. In a nutshell, +tree structures and friend-of-a-friend style searches can now be done using +standard SQL syntax, and results joined onto other tables. +%endif + %package devel Summary: Files for development of MariaDB/MySQL applications @@ -770,7 +785,6 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/server.cnf %{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf} -%{?with_oqgraph:%config(noreplace) %{_sysconfdir}/my.cnf.d/oqgraph.cnf} %{_libexecdir}/mysqld @@ -778,6 +792,7 @@ fi %{_libdir}/mysql/INFO_BIN %{_libdir}/mysql/plugin +%exclude %{_libdir}/mysql/plugin/ha_oqgraph.so %{_mandir}/man1/msql2mysql.1* %{_mandir}/man1/myisamchk.1* @@ -835,6 +850,12 @@ fi %config %ghost %verify(not md5 size mtime) %{_localstatedir}/log/mysqld.log %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} +%if %{with oqgraph} +%files oqgraph +%config(noreplace) %{_sysconfdir}/my.cnf.d/oqgraph.cnf +%{_libdir}/mysql/plugin/ha_oqgraph.so +%endif + %files devel %{_bindir}/mysql_config %{_bindir}/mysql_config-%{__isa_bits} @@ -868,7 +889,7 @@ fi %changelog * Tue Jul 15 2014 Honza Horak - 1:10.0.12-3 -- Enable OQGRAPH engine +- Enable OQGRAPH engine and package it as a sub-package - Add support for TokuDB engine for x86_64 (currently still disabled) - Re-enable tokudb_innodb_xa_crash again, seems to be fixed now - Drop superfluous -libs and -embedded ldconfig deps (thanks Ville Skyttä) From 8d19c178ae70c62b59198eb6d135848bb0f42116 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 21 Jul 2014 17:02:00 +0200 Subject: [PATCH 143/789] Added patch mariadb-scripts.patch --- mariadb-scripts.patch | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 mariadb-scripts.patch diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch new file mode 100644 index 0000000..1a06aae --- /dev/null +++ b/mariadb-scripts.patch @@ -0,0 +1,34 @@ +diff -up mariadb-10.0.12/scripts/CMakeLists.txt.systemd mariadb-10.0.12/scripts/CMakeLists.txt +--- mariadb-10.0.12/scripts/CMakeLists.txt.systemd 2014-07-21 10:49:58.491470586 +0200 ++++ mariadb-10.0.12/scripts/CMakeLists.txt 2014-07-21 14:21:22.673329708 +0200 +@@ -368,6 +368,30 @@ ELSE() + COMPONENT ${${file}_COMPONENT} + ) + ENDFOREACH() ++ ++ # files for systemd ++ SET(SYSTEMD_SCRIPTS ++ mariadb-wait-ready ++ mariadb-scripts-common ++ mariadb-prepare-db-dir ++ mariadb-check-socket ++ mysql_config_multilib ++ mariadb.service ++ mysqld.service ++ mariadb.tmpfiles.d ++ ) ++ FOREACH(file ${SYSTEMD_SCRIPTS}) ++ IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh) ++ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh ++ ${CMAKE_CURRENT_BINARY_DIR}/${file} ESCAPE_QUOTES @ONLY) ++ ELSEIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.in) ++ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.in ++ ${CMAKE_CURRENT_BINARY_DIR}/${file} ESCAPE_QUOTES @ONLY) ++ ELSE() ++ MESSAGE(FATAL_ERROR "Can not find ${file}.sh or ${file}.in in " ++ "${CMAKE_CURRENT_SOURCE_DIR}" ) ++ ENDIF() ++ ENDFOREACH() + ENDIF() + + # Install libgcc as mylibgcc.a From 4bc1433e50b185c37f96f8e9cb28e0a66014d875 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 22 Jul 2014 00:34:41 +0200 Subject: [PATCH 144/789] Reformating spec and removing unnecessary snippets --- mariadb.spec | 505 ++++++++++++++++++++++++++------------------------- 1 file changed, 260 insertions(+), 245 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 1400cf8..68edce7 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,14 @@ +# 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 1} + # In f20+ use unversioned docdirs, otherwise the old versioned one %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} +# use Full RELRO for all binaries (RHBZ#1092548) +%global _hardened_build 1 + # When there is already another package that ships /etc/my.cnf, # rather include it than ship the file again, since conflicts between # those files may create issues @@ -34,16 +42,10 @@ %bcond_with pcre %endif -# use Full RELRO for all binaries (RHBZ#1092548) -%global _hardened_build 1 - # The evr of mysql we want to obsolete %global obsoleted_mysql_evr 5.6-0 %global obsoleted_mysql_case_evr 5.5.30-5 -# Regression tests take a long time, you can skip 'em with this -%{!?runselftest:%global runselftest 1} - # When replacing mysql by mariadb these packages are not upated, but rather # installed and uninstalled. Thus we loose information about mysqld service # enablement. To address this we use a file to store that information within @@ -53,82 +55,94 @@ %global mysqld_enabled_flag_file %{_localstatedir}/lib/rpm-state/mysqld_enabled %global mysqld_running_flag_file %{_localstatedir}/lib/rpm-state/mysqld_running -Name: mariadb -Version: 10.0.12 -Release: 3%{?dist} -Epoch: 1 +Name: mariadb +Version: 10.0.12 +Release: 4%{?dist} +Epoch: 1 -Summary: A community developed branch of MySQL -Group: Applications/Databases -URL: http://mariadb.org +Summary: A community developed branch of MySQL +Group: Applications/Databases +URL: http://mariadb.org # 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 +License: GPLv2 with exceptions and LGPLv2 and BSD -Source0: http://mirrors.syringanetworks.net/mariadb/mariadb-%{version}/source/mariadb-%{version}.tar.gz -Source2: mysql_config_multilib.sh -Source3: my.cnf -Source4: my_config.h -Source5: README.mysql-cnf -Source6: README.mysql-docs -Source7: README.mysql-license -Source9: mysql-embedded-check.c -Source10: mariadb.tmpfiles.d.in -Source11: mariadb.service.in -Source12: mariadb-prepare-db-dir.sh -Source13: mariadb-wait-ready.sh -Source14: mariadb-check-socket.sh -Source15: mariadb-scripts-common.sh -Source16: mysqld.service.in -Source50: rh-skipped-tests-base.list -Source51: rh-skipped-tests-intel.list -Source52: rh-skipped-tests-arm.list -Source53: rh-skipped-tests-ppc-s390.list -Source54: rh-skipped-tests-ppc64le.list +Source0: http://mirrors.syringanetworks.net/mariadb/mariadb-%{version}/source/mariadb-%{version}.tar.gz +Source2: mysql_config_multilib.sh +Source3: my.cnf +Source4: my_config.h +Source5: README.mysql-cnf +Source6: README.mysql-docs +Source7: README.mysql-license +Source9: mysql-embedded-check.c +Source10: mariadb.tmpfiles.d.in +Source11: mariadb.service.in +Source12: mariadb-prepare-db-dir.sh +Source13: mariadb-wait-ready.sh +Source14: mariadb-check-socket.sh +Source15: mariadb-scripts-common.sh +Source16: mysqld.service.in +Source50: rh-skipped-tests-base.list +Source51: rh-skipped-tests-intel.list +Source52: rh-skipped-tests-arm.list +Source53: rh-skipped-tests-ppc-s390.list +Source54: rh-skipped-tests-ppc64le.list # Comments for these patches are in the patch files. -Patch1: mariadb-errno.patch -Patch2: mariadb-strmov.patch -Patch3: mariadb-install-test.patch -Patch4: mariadb-s390-tsc.patch -Patch5: mariadb-logrotate.patch -Patch6: mariadb-cipherspec.patch -Patch7: mariadb-file-contents.patch -Patch8: mariadb-string-overflow.patch -Patch9: mariadb-dh1024.patch -Patch10: mariadb-basedir.patch -Patch11: mariadb-covscan-signexpr.patch -Patch12: mariadb-covscan-stroverflow.patch -Patch13: mariadb-config.patch -Patch14: mariadb-ssltest.patch -Patch15: mariadb-mysql_config.patch -Patch16: mariadb-scripts.patch +Patch1: mariadb-errno.patch +Patch2: mariadb-strmov.patch +Patch3: mariadb-install-test.patch +Patch4: mariadb-s390-tsc.patch +Patch5: mariadb-logrotate.patch +Patch6: mariadb-cipherspec.patch +Patch7: mariadb-file-contents.patch +Patch8: mariadb-string-overflow.patch +Patch9: mariadb-dh1024.patch +Patch10: mariadb-basedir.patch +Patch11: mariadb-covscan-signexpr.patch +Patch12: mariadb-covscan-stroverflow.patch +Patch13: mariadb-config.patch +Patch14: mariadb-ssltest.patch +Patch15: mariadb-mysql_config.patch +Patch16: mariadb-scripts.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 +BuildRequires: cmake +BuildRequires: libaio-devel +BuildRequires: readline-devel +BuildRequires: openssl-devel +BuildRequires: ncurses-devel +BuildRequires: perl +BuildRequires: systemtap-sdt-devel +BuildRequires: zlib-devel # auth_pam.so plugin will be build if pam-devel is installed -BuildRequires: pam-devel +BuildRequires: pam-devel %{?with_pcre:BuildRequires: pcre-devel >= 8.35} -# perl modules needed to run regression tests -BuildRequires: perl(Socket), perl(Time::HiRes) -BuildRequires: perl(Data::Dumper), perl(Test::More), perl(Env) +# Tests requires time and ps and some perl modules +BuildRequires: procps +BuildRequires: time +BuildRequires: perl(Env) +BuildRequires: perl(Data::Dumper) +BuildRequires: perl(Socket) +BuildRequires: perl(Test::More) +BuildRequires: perl(Time::HiRes) +BuildRequires: systemd -Requires: grep, fileutils, bash -Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +Requires: bash +Requires: fileutils +Requires: grep +Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} -%{?systemd_requires: %systemd_requires} # MySQL (with caps) is upstream's spelling of their own RPMs for mysql %{?obsoleted_mysql_case_evr:Obsoletes: MySQL < %{obsoleted_mysql_case_evr}} -Conflicts: community-mysql +Conflicts: community-mysql # MariaDB replaces mysql packages -Provides: mysql = %{epoch}:%{version}-%{release} -Provides: mysql%{?_isa} = %{epoch}:%{version}-%{release} +Provides: mysql = %{epoch}:%{version}-%{release} +Provides: mysql%{?_isa} = %{epoch}:%{version}-%{release} +Provides: mysql-compat-client = %{epoch}:%{version}-%{release} +Provides: mysql-compat-client%{?_isa} = %{epoch}:%{version}-%{release} %{?obsoleted_mysql_evr:Obsoletes: mysql < %{obsoleted_mysql_evr}} # Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering @@ -152,89 +166,97 @@ It is a client/server implementation consisting of a server daemon (mysqld) and many different client programs and libraries. The base package contains the standard MariaDB/MySQL client programs and generic MySQL files. -%package libs -Summary: The shared libraries required for MariaDB/MySQL clients -Group: Applications/Databases -Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} -Provides: mysql-libs = %{epoch}:%{version}-%{release} -Provides: mysql-libs%{?_isa} = %{epoch}:%{version}-%{release} +%package libs + +Summary: The shared libraries required for MariaDB/MySQL clients +Group: Applications/Databases +Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +Provides: mysql-libs = %{epoch}:%{version}-%{release} +Provides: mysql-libs%{?_isa} = %{epoch}:%{version}-%{release} %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-libs < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-libs < %{obsoleted_mysql_evr}} -%description libs +%description libs The mariadb-libs package provides the essential shared libraries for any MariaDB/MySQL client program or interface. You will need to install this package to use any other MariaDB package or any clients that need to connect to a MariaDB/MySQL server. MariaDB is a community developed branch of MySQL. -%package common -Summary: The shared files required by server and client -Group: Applications/Databases +%package common + +Summary: The shared files required by server and client +Group: Applications/Databases %if ! %{ship_my_cnf} -Requires: %{_sysconfdir}/my.cnf +Requires: %{_sysconfdir}/my.cnf %endif -%description common +%description common The package provides the essential shared files for any MariaDB program. You will need to install this package to use any other MariaDB package. -%package errmsg -Summary: The error messages files required by server and embedded -Group: Applications/Databases -Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +%package errmsg -%description errmsg +Summary: The error messages files required by server and embedded +Group: Applications/Databases +Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} + +%description errmsg The package provides error messages files for the MariaDB daemon and the embedded server. You will need to install this package to use any of those MariaDB packages. -%package server -Summary: The MariaDB server and related files -Group: Applications/Databases -Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} -Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} -Requires: %{name}-errmsg%{?_isa} = %{epoch}:%{version}-%{release} -Requires: sh-utils -Requires(pre): /usr/sbin/useradd +%package server + +Summary: The MariaDB server and related files +Group: Applications/Databases + +# note: no version here = %{version}-%{release} +Requires: mysql-compat-client%{?_isa} +Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-errmsg%{?_isa} = %{epoch}:%{version}-%{release} +Requires: sh-utils +Requires(pre): /usr/sbin/useradd # We require this to be present for %%{_tmpfilesdir} -Requires: systemd +Requires: systemd # Make sure it's there when scriptlets run, too -Requires(pre): systemd -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd +Requires(pre): systemd Requires(posttrans): systemd +%{?systemd_requires: %systemd_requires} # mysqlhotcopy needs DBI/DBD support -Requires: perl-DBI, perl-DBD-MySQL -Provides: mysql-server = %{epoch}:%{version}-%{release} -Provides: mysql-server%{?_isa} = %{epoch}:%{version}-%{release} -Provides: mysql-compat-server = %{epoch}:%{version}-%{release} -Provides: mysql-compat-server%{?_isa} = %{epoch}:%{version}-%{release} +Requires: perl-DBI +Requires: perl-DBD-MySQL +Provides: mysql-server = %{epoch}:%{version}-%{release} +Provides: mysql-server%{?_isa} = %{epoch}:%{version}-%{release} +Provides: mysql-compat-server = %{epoch}:%{version}-%{release} +Provides: mysql-compat-server%{?_isa} = %{epoch}:%{version}-%{release} %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-server < %{obsoleted_mysql_case_evr}} -Conflicts: community-mysql-server +Conflicts: community-mysql-server +Conflicts: mariadb-galera-server %{?obsoleted_mysql_evr:Obsoletes: mysql-server < %{obsoleted_mysql_evr}} -%description server +%description server MariaDB is a multi-user, multi-threaded SQL database server. It is a client/server implementation consisting of a server daemon (mysqld) and many different client programs and libraries. This package contains the MariaDB server and some accompanying files and directories. MariaDB is a community developed branch of MySQL. + %if %{with oqgraph} -%package oqgraph +%package oqgraph -Summary: The Open Query GRAPH engine for MariaDB -Group: Applications/Databases -Requires: %{name}-server%{?_isa} = %{epoch}:%{version}-%{release} +Summary: The Open Query GRAPH engine for MariaDB +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{epoch}:%{version}-%{release} # boost and Judy required for oograph -BuildRequires: boost-devel, Judy-devel +BuildRequires: boost-devel +BuildRequires: Judy-devel -%description oqgraph +%description oqgraph The package provides Open Query GRAPH engine (OQGRAPH) as plugin for MariaDB database server. OQGRAPH is a computation engine allowing hierarchies and more complex graph structures to be handled in a relational fashion. In a nutshell, @@ -242,92 +264,100 @@ tree structures and friend-of-a-friend style searches can now be done using standard SQL syntax, and results joined onto other tables. %endif -%package devel -Summary: Files for development of MariaDB/MySQL applications -Group: Applications/Databases -Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} -Requires: openssl-devel%{?_isa} -Provides: mysql-devel = %{epoch}:%{version}-%{release} -Provides: mysql-devel%{?_isa} = %{epoch}:%{version}-%{release} +%package devel + +Summary: Files for development of MariaDB/MySQL applications +Group: Applications/Databases +Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} +Requires: openssl-devel%{?_isa} +Provides: mysql-devel = %{epoch}:%{version}-%{release} +Provides: mysql-devel%{?_isa} = %{epoch}:%{version}-%{release} %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-devel < %{obsoleted_mysql_case_evr}} -Conflicts: community-mysql-devel %{?obsoleted_mysql_evr:Obsoletes: mysql-devel < %{obsoleted_mysql_evr}} +Conflicts: community-mysql-devel -%description devel +%description devel MariaDB is a multi-user, multi-threaded SQL database server. This package contains the libraries and header files that are needed for developing MariaDB/MySQL client applications. MariaDB is a community developed branch of MySQL. -%package embedded -Summary: MariaDB as an embeddable library -Group: Applications/Databases -Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} -Requires: %{name}-errmsg%{?_isa} = %{epoch}:%{version}-%{release} -Provides: mysql-embedded = %{epoch}:%{version}-%{release} -Provides: mysql-embedded%{?_isa} = %{epoch}:%{version}-%{release} +%package embedded + +Summary: MariaDB as an embeddable library +Group: Applications/Databases +Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-errmsg%{?_isa} = %{epoch}:%{version}-%{release} +Provides: mysql-embedded = %{epoch}:%{version}-%{release} +Provides: mysql-embedded%{?_isa} = %{epoch}:%{version}-%{release} %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-embedded < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-embedded < %{obsoleted_mysql_evr}} -%description embedded +%description embedded MariaDB is a multi-user, multi-threaded SQL database server. This package contains a version of the MariaDB server that can be embedded into a client application instead of running as a separate process. MariaDB is a community developed branch of MySQL. -%package embedded-devel -Summary: Development files for MariaDB as an embeddable library -Group: Applications/Databases -Requires: %{name}-embedded%{?_isa} = %{epoch}:%{version}-%{release} -Requires: %{name}-devel%{?_isa} = %{epoch}:%{version}-%{release} -Provides: mysql-embedded-devel = %{epoch}:%{version}-%{release} -Provides: mysql-embedded-devel%{?_isa} = %{epoch}:%{version}-%{release} -Conflicts: community-mysql-embedded-devel +%package embedded-devel + +Summary: Development files for MariaDB as an embeddable library +Group: Applications/Databases +Requires: %{name}-embedded%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{epoch}:%{version}-%{release} +Provides: mysql-embedded-devel = %{epoch}:%{version}-%{release} +Provides: mysql-embedded-devel%{?_isa} = %{epoch}:%{version}-%{release} +Conflicts: community-mysql-embedded-devel %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-embedded-devel < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-embedded-devel < %{obsoleted_mysql_evr}} -%description embedded-devel +%description embedded-devel MariaDB is a multi-user, multi-threaded SQL database server. This package contains files needed for developing and testing with the embedded version of the MariaDB server. MariaDB is a community developed branch of MySQL. -%package bench -Summary: MariaDB benchmark scripts and data -Group: Applications/Databases -Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} -Provides: mysql-bench = %{epoch}:%{version}-%{release} -Provides: mysql-bench%{?_isa} = %{epoch}:%{version}-%{release} -Conflicts: community-mysql-bench +%package bench + +Summary: MariaDB benchmark scripts and data +Group: Applications/Databases +Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} +Provides: mysql-bench = %{epoch}:%{version}-%{release} +Provides: mysql-bench%{?_isa} = %{epoch}:%{version}-%{release} +Conflicts: community-mysql-bench %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-bench < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-bench < %{obsoleted_mysql_evr}} -%description bench +%description bench MariaDB is a multi-user, multi-threaded SQL database server. This package contains benchmark scripts and data for use when benchmarking MariaDB. MariaDB is a community developed branch of MySQL. -%package test -Summary: The test suite distributed with MariaD -Group: Applications/Databases -Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} -Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} -Requires: %{name}-server%{?_isa} = %{epoch}:%{version}-%{release} -Provides: mysql-test = %{epoch}:%{version}-%{release} -Provides: mysql-test%{?_isa} = %{epoch}:%{version}-%{release} -Conflicts: community-mysql-test +%package test + +Summary: The test suite distributed with MariaD +Group: Applications/Databases +Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-server%{?_isa} = %{epoch}:%{version}-%{release} +Provides: mysql-test = %{epoch}:%{version}-%{release} +Provides: mysql-test%{?_isa} = %{epoch}:%{version}-%{release} +Conflicts: community-mysql-test %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-test < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-test < %{obsoleted_mysql_evr}} -Requires: perl(Socket), perl(Time::HiRes) -Requires: perl(Data::Dumper), perl(Test::More), perl(Env) +Requires: perl(Env) +Requires: perl(Data::Dumper) +Requires: perl(Socket) +Requires: perl(Test::More) +Requires: perl(Time::HiRes) -%description test +%description test MariaDB is a multi-user, multi-threaded SQL database server. This package contains the regression test suite distributed with the MariaDB sources. @@ -383,12 +413,12 @@ cp %{SOURCE2} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} \ # fail quickly and obviously if user tries to build as root %if %runselftest - if [ x"`id -u`" = x0 ]; then - echo "mariadb'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." - exit 1 - fi + 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 "--nocheck to skip the regression tests." + exit 1 + fi %endif CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" @@ -416,44 +446,43 @@ export LDFLAGS # 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 \ - -DFEATURE_SET="community" \ - -DINSTALL_LAYOUT=RPM \ - -DRPM_PACKAGE_PREFIX="" \ - -DRPM="%{?rhel:rhel%{rhel}}%{!?rhel:fedora%{fedora}}" \ - -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ +cmake . -DBUILD_CONFIG=mysql_release \ + -DFEATURE_SET="community" \ + -DINSTALL_LAYOUT=RPM \ + -DRPM_PACKAGE_PREFIX="" \ + -DRPM="%{?rhel:rhel%{rhel}}%{!?rhel:fedora%{fedora}}" \ + -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ %if 0%{?fedora} >= 20 - -DINSTALL_DOCDIR=share/doc/%{name} \ - -DINSTALL_DOCREADMEDIR=share/doc/%{name} \ + -DINSTALL_DOCDIR="share/doc/%{name}" \ + -DINSTALL_DOCREADMEDIR="share/doc/%{name}" \ %else - -DINSTALL_DOCDIR=share/doc/%{name}-%{version} \ - -DINSTALL_DOCREADMEDIR=share/doc/%{name}-%{version} \ + -DINSTALL_DOCDIR="share/doc/%{name}-%{version}" \ + -DINSTALL_DOCREADMEDIR="share/doc/%{name}-%{version}" \ %endif - -DINSTALL_INCLUDEDIR=include/mysql \ - -DINSTALL_INFODIR=share/info \ - -DINSTALL_LIBDIR="%{_lib}/mysql" \ - -DINSTALL_MANDIR=share/man \ - -DINSTALL_MYSQLSHAREDIR=share/%{name} \ - -DINSTALL_MYSQLTESTDIR=share/mysql-test \ - -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ - -DINSTALL_SBINDIR=libexec \ - -DINSTALL_SCRIPTDIR=bin \ - -DINSTALL_SQLBENCHDIR=share \ - -DINSTALL_SUPPORTFILESDIR=share/%{name} \ - -DMYSQL_DATADIR="%{_localstatedir}/lib/mysql" \ - -DMYSQL_UNIX_ADDR="%{_localstatedir}/lib/mysql/mysql.sock" \ - -DENABLED_LOCAL_INFILE=ON \ - -DENABLE_DTRACE=ON \ - -DWITH_EMBEDDED_SERVER=ON \ - -DWITH_READLINE=ON \ - -DWITH_SSL=system \ - -DWITH_ZLIB=system \ -%{?with_pcre: -DWITH_PCRE=system}\ - -DWITH_JEMALLOC=no \ + -DINSTALL_INCLUDEDIR=include/mysql \ + -DINSTALL_INFODIR=share/info \ + -DINSTALL_LIBDIR="%{_lib}/mysql" \ + -DINSTALL_MANDIR=share/man \ + -DINSTALL_MYSQLSHAREDIR=share/%{name} \ + -DINSTALL_MYSQLTESTDIR=share/mysql-test \ + -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ + -DINSTALL_SBINDIR=libexec \ + -DINSTALL_SCRIPTDIR=bin \ + -DINSTALL_SQLBENCHDIR=share \ + -DINSTALL_SUPPORTFILESDIR=share/%{name} \ + -DMYSQL_DATADIR="%{_localstatedir}/lib/mysql" \ + -DMYSQL_UNIX_ADDR="%{_localstatedir}/lib/mysql/mysql.sock" \ + -DENABLED_LOCAL_INFILE=ON \ + -DENABLE_DTRACE=ON \ + -DWITH_EMBEDDED_SERVER=ON \ + -DWITH_READLINE=ON \ + -DWITH_SSL=system \ + -DWITH_ZLIB=system \ +%{?with_pcre: -DWITH_PCRE=system}\ + -DWITH_JEMALLOC=no \ %{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\ - -DTMPDIR=%{_localstatedir}/tmp \ - -DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now" + -DTMPDIR=%{_localstatedir}/tmp \ + -DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now" make %{?_smp_mflags} VERBOSE=1 @@ -466,49 +495,9 @@ for e in innobase xtradb ; do done 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 - export MTR_PARALLEL=1 - - 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 \ - --suite-timeout=720 --testcase-timeout=30 \ - --mysqld=--binlog-format=mixed --force-restart \ - --shutdown-timeout=60 --max-test-fail=0 - # cmake build scripts will install the var cruft if left alone :-( - rm -rf var - ) -%endif - %install make DESTDIR=%{buildroot} install -# List the installed tree for RPM package maintenance purposes. -find %{buildroot} -print | sed "s|^%{buildroot}||" | sort > ROOTFILES - # 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 @@ -518,7 +507,7 @@ sed -e 's/-lprobes_mysql//' -e 's/-lmysqlclient_r/-lmysqlclient/' \ cp -p -f mysql_config.tmp %{buildroot}%{_bindir}/mysql_config chmod 755 %{buildroot}%{_bindir}/mysql_config -# multilib header hacks +# multilib header support # we only apply this to known Red Hat multilib arches, per bug #181335 unamei=$(uname -i) %ifarch %{arm} @@ -549,16 +538,14 @@ ln -s %{_localstatedir}/log/%{name}/%{name}.log %{buildroot}%{_localstatedir}/lo # as well because users can have od settings in their /etc/my.cnf mkdir -p %{buildroot}%{_localstatedir}/run/mysqld mkdir -p %{buildroot}%{_localstatedir}/run/%{name} -install -m 0755 -d %{buildroot}%{_localstatedir}/lib/mysql +install -p -m 0755 -d %{buildroot}%{_localstatedir}/lib/mysql -mkdir -p %{buildroot}%{_sysconfdir} %if %{ship_my_cnf} -install -p -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/ +install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/my.cnf %endif # install systemd unit files and scripts for handling server startup -mkdir -p %{buildroot}%{_unitdir} -install -p -m 644 scripts/mariadb.service %{buildroot}%{_unitdir}/%{name}.service +install -D -p -m 644 scripts/mariadb.service %{buildroot}%{_unitdir}/%{name}.service %if %{?with_mysqld_unit} install -p -m 644 scripts/mysqld.service %{buildroot}%{_unitdir}/mysqld.service %endif @@ -567,8 +554,7 @@ install -p -m 755 scripts/mariadb-wait-ready %{buildroot}%{_libexecdir}/mariadb- install -p -m 755 scripts/mariadb-check-socket %{buildroot}%{_libexecdir}/mariadb-check-socket install -p -m 644 scripts/mariadb-scripts-common %{buildroot}%{_libexecdir}/mariadb-scripts-common -mkdir -p %{buildroot}%{_tmpfilesdir} -install -p -m 0644 scripts/mariadb.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf +install -D -p -m 0644 scripts/mariadb.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf # Remove libmysqld.a rm -f %{buildroot}%{_libdir}/mysql/libmysqld.a @@ -626,6 +612,35 @@ rm -f %{buildroot}%{_sysconfdir}/logrotate.d/mysql # remove solaris files rm -rf %{buildroot}%{_datadir}/%{name}/solaris/ +%check +%if %runselftest +make test VERBOSE=1 +# hack to let 32- and 64-bit tests run concurrently on same build machine +export MTR_PARALLEL=1 +# builds might happen at the same host, avoid collision +export MTR_BUILD_THREAD=%{__isa_bits} + +# 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 \ + --suite-timeout=720 --testcase-timeout=30 \ + --mysqld=--binlog-format=mixed --force-restart \ + --shutdown-timeout=60 --max-test-fail=0 + # cmake build scripts will install the var cruft if left alone :-( + rm -rf var +) +%endif + %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : /usr/sbin/useradd -M -N -g mysql -o -r -d %{_localstatedir}/lib/mysql -s /sbin/nologin \ @@ -866,8 +881,6 @@ fi %{_mandir}/man1/mysql_config.1* %files embedded -%doc README COPYING COPYING.LESSER README.mysql-license -%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google %{_libdir}/mysql/libmysqld.so.* %files embedded-devel @@ -884,10 +897,12 @@ fi %{_bindir}/mysql_client_test %{_bindir}/my_safe_process %attr(-,mysql,mysql) %{_datadir}/mysql-test - %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Jul 21 2014 Honza Horak - 1:10.0.12-4 +- Reformating spec and removing unnecessary snippets + * Tue Jul 15 2014 Honza Horak - 1:10.0.12-3 - Enable OQGRAPH engine and package it as a sub-package - Add support for TokuDB engine for x86_64 (currently still disabled) From 1366a527f1696aa9575e17c30859e10f1e4930c6 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 22 Jul 2014 10:39:20 +0200 Subject: [PATCH 145/789] Use variable for daemon unit name --- mariadb.spec | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 68edce7..4448d71 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -30,9 +30,12 @@ # fashion; enabled by default %bcond_without oqgraph +# Name for the systemd unit file +%global daemon_unit %{name}.service + # Provide temporary service file name that will be removed after some time # (Fedora 22?) -%bcond_without mysqld_unit +%global mysqld_unit mysqld.service # MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use # the bundled library, since the package cannot be build with older version @@ -57,7 +60,7 @@ Name: mariadb Version: 10.0.12 -Release: 4%{?dist} +Release: 5%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -545,9 +548,9 @@ install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/my.cnf %endif # install systemd unit files and scripts for handling server startup -install -D -p -m 644 scripts/mariadb.service %{buildroot}%{_unitdir}/%{name}.service -%if %{?with_mysqld_unit} -install -p -m 644 scripts/mysqld.service %{buildroot}%{_unitdir}/mysqld.service +install -D -p -m 644 scripts/mariadb.service %{buildroot}%{_unitdir}/%{daemon_unit} +%if 0%{?mysqld_unit:1} +install -p -m 644 scripts/mysqld.service %{buildroot}%{_unitdir}/%{mysqld_unit} %endif install -p -m 755 scripts/mariadb-prepare-db-dir %{buildroot}%{_libexecdir}/mariadb-prepare-db-dir install -p -m 755 scripts/mariadb-wait-ready %{buildroot}%{_libexecdir}/mariadb-wait-ready @@ -664,11 +667,11 @@ fi %posttrans server if [ -f %mysqld_enabled_flag_file ] ; then - /bin/systemctl enable %{name}.service >/dev/null 2>&1 || : + /bin/systemctl enable %{daemon_unit} >/dev/null 2>&1 || : rm -f %mysqld_enabled_flag_file >/dev/null 2>&1 || : fi if [ -f %mysqld_running_flag_file ] ; then - /bin/systemctl start %{name}.service >/dev/null 2>&1 || : + /bin/systemctl start %{daemon_unit} >/dev/null 2>&1 || : rm -f %mysqld_running_flag_file >/dev/null 2>&1 || : fi @@ -676,18 +679,18 @@ fi %post libs -p /sbin/ldconfig %post server -%systemd_post %{name}.service +%systemd_post %{daemon_unit} /bin/chmod 0755 %{_localstatedir}/lib/mysql %post embedded -p /sbin/ldconfig %preun server -%systemd_preun %{name}.service +%systemd_preun %{daemon_unit} %postun libs -p /sbin/ldconfig %postun server -%systemd_postun_with_restart %{name}.service +%systemd_postun_with_restart %{daemon_unit} %postun embedded -p /sbin/ldconfig @@ -849,8 +852,8 @@ fi %{_datadir}/%{name}/mysql_performance_tables.sql %{_datadir}/%{name}/my-*.cnf -%{?with_mysqld_unit:%{_unitdir}/mysqld.service} -%{_unitdir}/%{name}.service +%{?mysqld_unit:%{_unitdir}/%{mysqld_unit}} +%{_unitdir}/%{daemon_unit} %{_libexecdir}/mariadb-prepare-db-dir %{_libexecdir}/mariadb-wait-ready %{_libexecdir}/mariadb-check-socket @@ -900,6 +903,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Jul 22 2014 Honza Horak - 1:10.0.12-5 +- Use variable for daemon unit name + * Mon Jul 21 2014 Honza Horak - 1:10.0.12-4 - Reformating spec and removing unnecessary snippets From ee2d0857de46dc650cf8f7105ac4f429cebeb776 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 23 Jul 2014 15:26:28 +0200 Subject: [PATCH 146/789] Include SysV init script if built on older system --- mariadb-prepare-db-dir.sh | 42 +++++---- mariadb-scripts.patch | 3 +- mariadb-wait-ready.sh | 1 + mariadb.service.in | 4 +- mariadb.spec | 138 +++++++++++++++++++++-------- mariadb.tmpfiles.d.in | 4 +- mysql.init.in | 177 ++++++++++++++++++++++++++++++++++++++ mysqld.service.in | 6 +- 8 files changed, 316 insertions(+), 59 deletions(-) create mode 100644 mysql.init.in diff --git a/mariadb-prepare-db-dir.sh b/mariadb-prepare-db-dir.sh index 0e574bc..8581a5f 100644 --- a/mariadb-prepare-db-dir.sh +++ b/mariadb-prepare-db-dir.sh @@ -5,26 +5,34 @@ source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" -# Absorb configuration settings from the specified systemd service file, -# or the default "mariadb" service if not specified -SERVICE_NAME="$1" -if [ x"$SERVICE_NAME" = x ] +# If two args given first is user, second is group +# otherwise the arg is the systemd service file +if [ "$#" -eq 2 ] then - SERVICE_NAME=@RPM_PACKAGE_PREFIX@mariadb.service -fi + myuser="$1" + mygroup="$2" +else + # Absorb configuration settings from the specified systemd service file, + # or the default "mariadb" service if not specified + SERVICE_NAME="$1" + if [ x"$SERVICE_NAME" = x ] + then + SERVICE_NAME=@DAEMON_NAME@.service + fi -myuser=`systemctl show -p User "${SERVICE_NAME}" | - sed 's/^User=//'` -if [ x"$myuser" = x ] -then - myuser=mysql -fi + myuser=`systemctl show -p User "${SERVICE_NAME}" | + sed 's/^User=//'` + if [ x"$myuser" = x ] + then + myuser=mysql + fi -mygroup=`systemctl show -p Group "${SERVICE_NAME}" | - sed 's/^Group=//'` -if [ x"$mygroup" = x ] -then - mygroup=mysql + mygroup=`systemctl show -p Group "${SERVICE_NAME}" | + sed 's/^Group=//'` + if [ x"$mygroup" = x ] + then + mygroup=mysql + fi fi # Set up the errlogfile with appropriate permissions diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index 1a06aae..c79c134 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -1,7 +1,7 @@ diff -up mariadb-10.0.12/scripts/CMakeLists.txt.systemd mariadb-10.0.12/scripts/CMakeLists.txt --- mariadb-10.0.12/scripts/CMakeLists.txt.systemd 2014-07-21 10:49:58.491470586 +0200 +++ mariadb-10.0.12/scripts/CMakeLists.txt 2014-07-21 14:21:22.673329708 +0200 -@@ -368,6 +368,30 @@ ELSE() +@@ -368,6 +368,31 @@ ELSE() COMPONENT ${${file}_COMPONENT} ) ENDFOREACH() @@ -16,6 +16,7 @@ diff -up mariadb-10.0.12/scripts/CMakeLists.txt.systemd mariadb-10.0.12/scripts/ + mariadb.service + mysqld.service + mariadb.tmpfiles.d ++ mysql.init + ) + FOREACH(file ${SYSTEMD_SCRIPTS}) + IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh) diff --git a/mariadb-wait-ready.sh b/mariadb-wait-ready.sh index cf5409f..a5356c2 100644 --- a/mariadb-wait-ready.sh +++ b/mariadb-wait-ready.sh @@ -32,6 +32,7 @@ while /bin/true; do # exit codes 1, 11 (EXIT_CANNOT_CONNECT_TO_SERVICE) are expected, # anything else suggests a configuration error if [ $mret -ne 1 -a $mret -ne 11 ]; then + echo "Cannot check for MySQL Daemon startup because of mysqladmin failure." >&2 ret=$mret break fi diff --git a/mariadb.service.in b/mariadb.service.in index 82b87db..b8c2f49 100644 --- a/mariadb.service.in +++ b/mariadb.service.in @@ -26,7 +26,7 @@ Description=MariaDB @MAJOR_VERSION@.@MINOR_VERSION@ database server After=syslog.target After=network.target -BindsTo=@RPM_PACKAGE_PREFIX@mysqld.service +BindsTo=@DAEMON_NAME2@.service [Service] Type=simple @@ -48,4 +48,4 @@ PrivateTmp=true [Install] WantedBy=multi-user.target -Also=@RPM_PACKAGE_PREFIX@mysqld.service +Also=@DAEMON_NAME2@.service diff --git a/mariadb.spec b/mariadb.spec index 4448d71..fb5d87b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -14,7 +14,11 @@ # those files may create issues # ship_my_cnf=1 means this is the only package in distro which ships # my.cnf and my.cnf.d +%if 0%{?fedora} >= 21 %global ship_my_cnf 1 +%else +%global ship_my_cnf 0 +%endif # TokuDB engine is now part of MariaDB, but it is available only for x86_64; # variable tokudb allows to build with TokuDB storage engine @@ -30,12 +34,19 @@ # fashion; enabled by default %bcond_without oqgraph -# Name for the systemd unit file -%global daemon_unit %{name}.service - +# Include files for SysV init or systemd +%if 0%{?systemd_requires:1} +%bcond_without init_systemd +%bcond_with init_sysv +%global daemon_name %{name} # Provide temporary service file name that will be removed after some time # (Fedora 22?) -%global mysqld_unit mysqld.service +%global mysqld_unit mysqld +%else +%bcond_with init_systemd +%bcond_without init_sysv +%global daemon_name mysqld +%endif # MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use # the bundled library, since the package cannot be build with older version @@ -45,6 +56,15 @@ %bcond_with pcre %endif +# We define some system's well known locations here so we can use them easily +# later when building to another location (like SCL) +%global logrotateddir %{_sysconfdir}/logrotate.d +%global logfiledir %{_localstatedir}/log/%{name} +%global logfile %{logfiledir}/%{name}.log +%if 0%{?fedora} >= 20 +%global old_logfile %{_localstatedir}/log/mysqld.log +%endif + # The evr of mysql we want to obsolete %global obsoleted_mysql_evr 5.6-0 %global obsoleted_mysql_case_evr 5.5.30-5 @@ -87,6 +107,7 @@ Source13: mariadb-wait-ready.sh Source14: mariadb-check-socket.sh Source15: mariadb-scripts-common.sh Source16: mysqld.service.in +Source17: mysql.init.in Source50: rh-skipped-tests-base.list Source51: rh-skipped-tests-intel.list Source52: rh-skipped-tests-arm.list @@ -130,7 +151,7 @@ BuildRequires: perl(Data::Dumper) BuildRequires: perl(Socket) BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) -BuildRequires: systemd +%{?with_init_systemd:BuildRequires: systemd} Requires: bash Requires: fileutils @@ -223,12 +244,14 @@ Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} Requires: %{name}-errmsg%{?_isa} = %{epoch}:%{version}-%{release} Requires: sh-utils Requires(pre): /usr/sbin/useradd +%if %{with init_systemd} # We require this to be present for %%{_tmpfilesdir} Requires: systemd # Make sure it's there when scriptlets run, too Requires(pre): systemd Requires(posttrans): systemd %{?systemd_requires: %systemd_requires} +%endif # mysqlhotcopy needs DBI/DBD support Requires: perl-DBI Requires: perl-DBD-MySQL @@ -386,6 +409,8 @@ MariaDB is a community developed branch of MySQL. %patch15 -p1 %patch16 -p1 +sed -i -e 's/2.8.7/2.6.4/g' cmake/cpack_rpm.cmake + # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -410,7 +435,7 @@ cat %{SOURCE54} >> mysql-test/rh-skipped-tests.list %endif cp %{SOURCE2} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} \ - %{SOURCE15} %{SOURCE16} scripts + %{SOURCE15} %{SOURCE16} %{SOURCE17} scripts %build @@ -452,7 +477,10 @@ export LDFLAGS cmake . -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ - -DRPM_PACKAGE_PREFIX="" \ + -DDAEMON_NAME="%{daemon_name}" \ +%if 0%{?mysqld_unit:1} + -DDAEMON_NAME2="%{mysqld_unit}" \ +%endif -DRPM="%{?rhel:rhel%{rhel}}%{!?rhel:fedora%{fedora}}" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ %if 0%{?fedora} >= 20 @@ -531,10 +559,12 @@ mv %{buildroot}%{_pkgdocdir}/MariaDB-server-%{version}/INFO_SRC %{buildroot}%{_l mv %{buildroot}%{_pkgdocdir}/MariaDB-server-%{version}/INFO_BIN %{buildroot}%{_libdir}/mysql/ rm -rf %{buildroot}%{_pkgdocdir}/MariaDB-server-%{version}/ -mkdir -p %{buildroot}%{_localstatedir}/log/%{name} -chmod 0750 %{buildroot}%{_localstatedir}/log/%{name} -touch %{buildroot}%{_localstatedir}/log/%{name}/%{name}.log -ln -s %{_localstatedir}/log/%{name}/%{name}.log %{buildroot}%{_localstatedir}/log/mysqld.log +mkdir -p %{buildroot}%{logfiledir} +chmod 0750 %{buildroot}%{logfiledir} +touch %{buildroot}%{logfile} +%if 0%{?old_logfile:1} +ln -s %{logfile} %{buildroot}%{old_logfile} +%endif # current setting in my.cnf is to use /var/run/mariadb for creating pid file, # however since my.cnf is not updated by RPM if changed, we need to create mysqld @@ -545,20 +575,33 @@ install -p -m 0755 -d %{buildroot}%{_localstatedir}/lib/mysql %if %{ship_my_cnf} install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/my.cnf +%else +rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf +rm -f %{buildroot}%{_sysconfdir}/my.cnf %endif # install systemd unit files and scripts for handling server startup -install -D -p -m 644 scripts/mariadb.service %{buildroot}%{_unitdir}/%{daemon_unit} -%if 0%{?mysqld_unit:1} -install -p -m 644 scripts/mysqld.service %{buildroot}%{_unitdir}/%{mysqld_unit} +%if %{with init_systemd} +install -D -p -m 644 scripts/mariadb.service %{buildroot}%{_unitdir}/%{daemon_name}.service +install -D -p -m 0644 scripts/mariadb.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %endif + +# install alternative systemd unit file for compatibility reasons +%if 0%{?mysqld_unit:1} +install -p -m 644 scripts/mysqld.service %{buildroot}%{_unitdir}/%{mysqld_unit}.service +%endif + +# install SysV init script +%if %{with init_sysv} +install -D -p -m 755 scripts/mysql.init %{buildroot}%{_initddir}/%{daemon_name} +%endif + +# helper scripts for service starting install -p -m 755 scripts/mariadb-prepare-db-dir %{buildroot}%{_libexecdir}/mariadb-prepare-db-dir install -p -m 755 scripts/mariadb-wait-ready %{buildroot}%{_libexecdir}/mariadb-wait-ready install -p -m 755 scripts/mariadb-check-socket %{buildroot}%{_libexecdir}/mariadb-check-socket install -p -m 644 scripts/mariadb-scripts-common %{buildroot}%{_libexecdir}/mariadb-scripts-common -install -D -p -m 0644 scripts/mariadb.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf - # Remove libmysqld.a rm -f %{buildroot}%{_libdir}/mysql/libmysqld.a @@ -587,9 +630,9 @@ rm -f %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* rm -f %{buildroot}%{_bindir}/mytop # put logrotate script where it needs to be -mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d -mv %{buildroot}%{_datadir}/%{name}/mysql-log-rotate %{buildroot}%{_sysconfdir}/logrotate.d/%{name} -chmod 644 %{buildroot}%{_sysconfdir}/logrotate.d/%{name} +mkdir -p %{buildroot}%{logrotateddir} +mv %{buildroot}%{_datadir}/%{name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{name} +chmod 644 %{buildroot}%{logrotateddir}/%{name} mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf @@ -610,7 +653,7 @@ rm -rf %{buildroot}%{_datadir}/%{name}/SELinux/ rm -f %{buildroot}%{_sysconfdir}/init.d/mysql # remove duplicate logrotate script -rm -f %{buildroot}%{_sysconfdir}/logrotate.d/mysql +rm -f %{buildroot}%{logrotateddir}/mysql # remove solaris files rm -rf %{buildroot}%{_datadir}/%{name}/solaris/ @@ -649,6 +692,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} /usr/sbin/useradd -M -N -g mysql -o -r -d %{_localstatedir}/lib/mysql -s /sbin/nologin \ -c "MariaDB Server" -u 27 mysql >/dev/null 2>&1 || : +%if %{with init_systemd} # Explicitly enable mysqld if it was enabled in the beginning # of the transaction. Otherwise mysqld is disabled always when # replacing mysql with mariadb, because it is not recognized @@ -667,30 +711,52 @@ fi %posttrans server if [ -f %mysqld_enabled_flag_file ] ; then - /bin/systemctl enable %{daemon_unit} >/dev/null 2>&1 || : + /bin/systemctl enable %{daemon_name}.service >/dev/null 2>&1 || : rm -f %mysqld_enabled_flag_file >/dev/null 2>&1 || : fi if [ -f %mysqld_running_flag_file ] ; then - /bin/systemctl start %{daemon_unit} >/dev/null 2>&1 || : + /bin/systemctl start %{daemon_name}.service >/dev/null 2>&1 || : rm -f %mysqld_running_flag_file >/dev/null 2>&1 || : fi - +%endif %post libs -p /sbin/ldconfig %post server -%systemd_post %{daemon_unit} +%if %{with init_systemd} +%systemd_post %{daemon_name}.service +%endif +%if %{with init_sysv} +if [ $1 = 1 ]; then + /sbin/chkconfig --add %{daemon_name} +fi +%endif /bin/chmod 0755 %{_localstatedir}/lib/mysql %post embedded -p /sbin/ldconfig %preun server -%systemd_preun %{daemon_unit} +%if %{with init_systemd} +%systemd_preun %{daemon_name}.service +%endif +%if %{with init_sysv} +if [ $1 = 0 ]; then + /sbin/service %{daemon_name} stop >/dev/null 2>&1 + /sbin/chkconfig --del %{daemon_name} +fi +%endif %postun libs -p /sbin/ldconfig %postun server -%systemd_postun_with_restart %{daemon_unit} +%if %{with init_systemd} +%systemd_postun_with_restart %{daemon_name}.service +%endif +%if %{with init_sysv} +if [ $1 -ge 1 ]; then + /sbin/service %{daemon_name} condrestart >/dev/null 2>&1 || : +fi +%endif %postun embedded -p /sbin/ldconfig @@ -740,10 +806,10 @@ fi %doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google # although the default my.cnf contains only server settings, we put it in the # common package because it can be used for client settings too. +%dir %{_sysconfdir}/my.cnf.d %if %{ship_my_cnf} %config(noreplace) %{_sysconfdir}/my.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf -%dir %{_sysconfdir}/my.cnf.d %endif %dir %{_datadir}/%{name} %{_datadir}/%{name}/charsets @@ -852,21 +918,24 @@ fi %{_datadir}/%{name}/mysql_performance_tables.sql %{_datadir}/%{name}/my-*.cnf -%{?mysqld_unit:%{_unitdir}/%{mysqld_unit}} -%{_unitdir}/%{daemon_unit} +%{?mysqld_unit:%{_unitdir}/%{mysqld_unit}.service} +%{?with_init_systemd:%{_unitdir}/%{daemon_name}.service} +%{?with_init_sysv:%{_initddir}/%{daemon_name}} %{_libexecdir}/mariadb-prepare-db-dir %{_libexecdir}/mariadb-wait-ready %{_libexecdir}/mariadb-check-socket %{_libexecdir}/mariadb-scripts-common -%{_tmpfilesdir}/%{name}.conf +%{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} %attr(0755,mysql,mysql) %dir %{_localstatedir}/run/mysqld %attr(0755,mysql,mysql) %dir %{_localstatedir}/run/%{name} %attr(0755,mysql,mysql) %dir %{_localstatedir}/lib/mysql -%attr(0750,mysql,mysql) %dir %{_localstatedir}/log/%{name} -%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{_localstatedir}/log/%{name}/%{name}.log - %config %ghost %verify(not md5 size mtime) %{_localstatedir}/log/mysqld.log -%config(noreplace) %{_sysconfdir}/logrotate.d/%{name} +%attr(0750,mysql,mysql) %dir %{logfiledir} +%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} +%if 0%{?old_logfile:1} + %config %ghost %verify(not md5 size mtime) %{old_logfile} +%endif +%config(noreplace) %{logrotateddir}/%{name} %if %{with oqgraph} %files oqgraph @@ -905,6 +974,7 @@ fi %changelog * Tue Jul 22 2014 Honza Horak - 1:10.0.12-5 - Use variable for daemon unit name +- Include SysV init script if built on older system * Mon Jul 21 2014 Honza Horak - 1:10.0.12-4 - Reformating spec and removing unnecessary snippets diff --git a/mariadb.tmpfiles.d.in b/mariadb.tmpfiles.d.in index a1b20aa..3799c46 100644 --- a/mariadb.tmpfiles.d.in +++ b/mariadb.tmpfiles.d.in @@ -1,2 +1,2 @@ -d /var/run/@RPM_PACKAGE_PREFIX@mysqld 0755 mysql mysql - -d /var/run/@RPM_PACKAGE_PREFIX@mariadb 0755 mysql mysql - +d /var/run/@DAEMON_NAME2@ 0755 mysql mysql - +d /var/run/@DAEMON_NAME@ 0755 mysql mysql - diff --git a/mysql.init.in b/mysql.init.in new file mode 100644 index 0000000..91e2f98 --- /dev/null +++ b/mysql.init.in @@ -0,0 +1,177 @@ +#!/bin/sh +# +# @DAEMON_NAME@ This shell script takes care of starting and stopping +# the MySQL subsystem (mysqld). +# +# chkconfig: - 64 36 +# description: MySQL database server. +# processname: mysqld +# config: @sysconfdir@/my.cnf +# pidfile: /var/run/@DAEMON_NAME@/@DAEMON_NAME@.pid +### BEGIN INIT INFO +# Provides: mysqld +# Required-Start: $local_fs $remote_fs $network $named $syslog $time +# Required-Stop: $local_fs $remote_fs $network $named $syslog $time +# Short-Description: start and stop MySQL server +# Description: MySQL database server +### END INIT INFO + +# Source function library. +. /etc/rc.d/init.d/functions + +# Source networking configuration. +. /etc/sysconfig/network + + +exec="@bindir@/mysqld_safe" +prog="@DAEMON_NAME@" + +# Set timeouts here so they can be overridden from /etc/sysconfig/@DAEMON_NAME@ +STARTTIMEOUT=300 +STOPTIMEOUT=60 + +# User and group the daemon will run under +MYUSER=mysql +MYGROUP=mysql + +[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog + +lockfile=/var/lock/subsys/$prog + +# get options from my.cnf +source "@libexecdir@/mariadb-scripts-common" + +start(){ + [ -x $exec ] || exit 5 + # check to see if it's already running + MYSQLDRUNNING=0 + if [ -f "$pidfile" ]; then + MYSQLPID=`cat "$pidfile" 2>/dev/null` + if [ -n "$MYSQLPID" ] && [ -d "/proc/$MYSQLPID" ] ; then + MYSQLDRUNNING=1 + fi + fi + RESPONSE=`@bindir@/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` + if [ $MYSQLDRUNNING = 1 ] && [ $? = 0 ]; then + # already running, do nothing + action $"Starting $prog: " /bin/true + ret=0 + elif [ $MYSQLDRUNNING = 1 ] && echo "$RESPONSE" | grep -q "Access denied for user" + then + # already running, do nothing + action $"Starting $prog: " /bin/true + ret=0 + else + @libexecdir@/mariadb-prepare-db-dir $MYUSER $MYGROUP || return 4 + @libexecdir@/mariadb-check-socket || return 1 + + # Pass all the options determined above, to ensure consistent behavior. + # In many cases mysqld_safe would arrive at the same conclusions anyway + # but we need to be sure. (An exception is that we don't force the + # log-error setting, since this script doesn't really depend on that, + # and some users might prefer to configure logging to syslog.) + # Note: set --basedir to prevent probes that might trigger SELinux + # alarms, per bug #547485 + $exec --datadir="$datadir" --socket="$socketfile" \ + --pid-file="$pidfile" \ + --basedir=@prefix@ --user=$MYUSER >/dev/null 2>&1 & + safe_pid=$! + + # Wait until the daemon is up + @libexecdir@/mariadb-wait-ready "$safe_pid" + ret=$? + + if [ $ret -eq 0 ]; then + action $"Starting $prog: " /bin/true + chmod o+r $pidfile >/dev/null 2>&1 + touch $lockfile + else + action $"Starting $prog: " /bin/false + fi + fi + return $ret +} + +stop(){ + if [ ! -f "$pidfile" ]; then + # not running; per LSB standards this is "ok" + action $"Stopping $prog: " /bin/true + return 0 + fi + MYSQLPID=`cat "$pidfile" 2>/dev/null` + if [ -n "$MYSQLPID" ]; then + if ! [ -d "/proc/$MYSQLPID" ] ; then + # process doesn't run anymore + action $"Stopping $prog: " /bin/true + return 0 + fi + /bin/kill "$MYSQLPID" >/dev/null 2>&1 + ret=$? + if [ $ret -eq 0 ]; then + TIMEOUT="$STOPTIMEOUT" + while [ $TIMEOUT -gt 0 ]; do + /bin/kill -0 "$MYSQLPID" >/dev/null 2>&1 || break + sleep 1 + let TIMEOUT=${TIMEOUT}-1 + done + if [ $TIMEOUT -eq 0 ]; then + echo "Timeout error occurred trying to stop MySQL Daemon." + ret=1 + action $"Stopping $prog: " /bin/false + else + rm -f $lockfile + rm -f "$socketfile" + action $"Stopping $prog: " /bin/true + fi + else + # kill command failed, probably insufficient permissions + action $"Stopping $prog: " /bin/false + ret=4 + fi + else + # failed to read pidfile, probably insufficient permissions + action $"Stopping $prog: " /bin/false + ret=4 + fi + return $ret +} + +restart(){ + stop + start +} + +condrestart(){ + [ -e $lockfile ] && restart || : +} + + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + status) + status -p "$pidfile" $prog + ;; + restart) + restart + ;; + condrestart|try-restart) + condrestart + ;; + reload) + exit 3 + ;; + force-reload) + restart + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" + exit 2 +esac + +exit $? diff --git a/mysqld.service.in b/mysqld.service.in index 50f4b49..acd6c44 100644 --- a/mysqld.service.in +++ b/mysqld.service.in @@ -1,6 +1,6 @@ [Unit] -Description=MySQL compatibility service (another name for @RPM_PACKAGE_PREFIX@mariadb.service; you should use @RPM_PACKAGE_PREFIX@mariadb.service instead) -BindsTo=@RPM_PACKAGE_PREFIX@mariadb.service +Description=MySQL compatibility service (another name for @DAEMON_NAME@.service; you should use @DAEMON_NAME@.service instead) +BindsTo=@DAEMON_NAME@.service [Service] Type=oneshot @@ -9,4 +9,4 @@ RemainAfterExit=yes [Install] WantedBy=multi-user.target -Also=@RPM_PACKAGE_PREFIX@mariadb.service +Also=@DAEMON_NAME@.service From 9084c83ebd9b5209ef431ba3ac6a43a8f92ca4b6 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 23 Jul 2014 16:37:14 +0200 Subject: [PATCH 147/789] Add possibility to not ship some sub-packages --- mariadb.spec | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 110 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index fb5d87b..716a173 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -34,6 +34,16 @@ # fashion; enabled by default %bcond_without oqgraph +# For some use cases we do not need some parts of the package +%bcond_without clibrary +%bcond_without embedded +%bcond_without devel +%bcond_without client +%bcond_without common +%bcond_without errmsg +%bcond_without bench +%bcond_without test + # Include files for SysV init or systemd %if 0%{?systemd_requires:1} %bcond_without init_systemd @@ -191,6 +201,7 @@ and many different client programs and libraries. The base package contains the standard MariaDB/MySQL client programs and generic MySQL files. +%if %{with clibrary} %package libs Summary: The shared libraries required for MariaDB/MySQL clients @@ -206,8 +217,9 @@ The mariadb-libs package provides the essential shared libraries for any MariaDB/MySQL client program or interface. You will need to install this package to use any other MariaDB package or any clients that need to connect to a MariaDB/MySQL server. MariaDB is a community developed branch of MySQL. +%endif - +%if %{with common} %package common Summary: The shared files required by server and client @@ -219,8 +231,10 @@ Requires: %{_sysconfdir}/my.cnf %description common The package provides the essential shared files for any MariaDB program. You will need to install this package to use any other MariaDB package. +%endif +%if %{with errmsg} %package errmsg Summary: The error messages files required by server and embedded @@ -231,6 +245,7 @@ Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} The package provides error messages files for the MariaDB daemon and the embedded server. You will need to install this package to use any of those MariaDB packages. +%endif %package server @@ -241,6 +256,10 @@ Group: Applications/Databases # note: no version here = %{version}-%{release} Requires: mysql-compat-client%{?_isa} Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +%if %{without common} +Requires: %{_sysconfdir}/my.cnf +Requires: %{_sysconfdir}/my.cnf.d +%endif Requires: %{name}-errmsg%{?_isa} = %{epoch}:%{version}-%{release} Requires: sh-utils Requires(pre): /usr/sbin/useradd @@ -291,6 +310,7 @@ standard SQL syntax, and results joined onto other tables. %endif +%if %{with devel} %package devel Summary: Files for development of MariaDB/MySQL applications @@ -308,8 +328,10 @@ MariaDB is a multi-user, multi-threaded SQL database server. This package contains the libraries and header files that are needed for developing MariaDB/MySQL client applications. MariaDB is a community developed branch of MySQL. +%endif +%if %{with embedded} %package embedded Summary: MariaDB as an embeddable library @@ -345,8 +367,10 @@ MariaDB is a multi-user, multi-threaded SQL database server. This package contains files needed for developing and testing with the embedded version of the MariaDB server. MariaDB is a community developed branch of MySQL. +%endif +%if %{with bench} %package bench Summary: MariaDB benchmark scripts and data @@ -363,8 +387,10 @@ MariaDB is a multi-user, multi-threaded SQL database server. This package contains benchmark scripts and data for use when benchmarking MariaDB. MariaDB is a community developed branch of MySQL. +%endif +%if %{with test} %package test Summary: The test suite distributed with MariaD @@ -388,6 +414,7 @@ MariaDB is a multi-user, multi-threaded SQL database server. This package contains the regression test suite distributed with the MariaDB sources. MariaDB is a community developed branch of MySQL. +%endif %prep %setup -q -n mariadb-%{version} @@ -658,7 +685,60 @@ rm -f %{buildroot}%{logrotateddir}/mysql # remove solaris files rm -rf %{buildroot}%{_datadir}/%{name}/solaris/ +%if %{without clibrary} +rm -rf %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* +rm -rf %{buildroot}%{_sysconfdir}/ld.so.conf.d +%endif + +%if %{without embedded} +rm -f %{buildroot}%{_libdir}/mysql/libmysqld.so* +rm -f %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} +rm -f %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* +%endif + +%if %{without devel} +rm -f %{buildroot}%{_bindir}/mysql_config* +rm -rf %{buildroot}%{_includedir}/mysql +rm -f %{buildroot}%{_datadir}/aclocal/mysql.m4 +rm -f %{buildroot}%{_libdir}/mysql/libmysqlclient*.so +rm -f %{buildroot}%{_mandir}/man1/mysql_config.1* +%endif + +%if %{without client} +rm -f %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_find_rows,mysql_waitpid,\ +mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,mysqldump,tokuftdump,mysqlimport,\ +mysqlshow,mysqlslap,my_print_defaults,aria_chk,aria_dump_log,aria_ftdump,\ +aria_pack,aria_read_log} +rm -f %{buildroot}%{_mandir}/man1/{mysql,mysql_find_rows,mysql_waitpid,\ +mysqlaccess,mysqladmin,mysqldump,mysqlshow,mysqlslap,\ +my_print_defaults}.1* +rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/{client,connect}.cnf +%endif + +%if %{without common} +rm -f %{buildroot}%{_sysconfdir}/my.cnf +rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf +rm -rf %{buildroot}%{_datadir}/%{name}/charsets +%endif + +%if %{without errmsg} +rm -rf %{buildroot}%{_datadir}/%{name}/{english,czech,danish,dutch,estonian,\ +french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ +polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} +%endif + +%if %{without bench} +rm -rf %{buildroot}%{_datadir}/sql-bench +%endif + +%if %{without test} +rm -f %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process} +rm -rf %{buildroot}%{_datadir}/mysql-test +rm -f %{buildroot}%{_mandir}/man1/mysql_client_test.1* +%endif + %check +%if %{with test} %if %runselftest make test VERBOSE=1 # hack to let 32- and 64-bit tests run concurrently on same build machine @@ -686,6 +766,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} rm -rf var ) %endif +%endif %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : @@ -720,7 +801,9 @@ if [ -f %mysqld_running_flag_file ] ; then fi %endif +%if %{with clibrary} %post libs -p /sbin/ldconfig +%endif %post server %if %{with init_systemd} @@ -733,7 +816,9 @@ fi %endif /bin/chmod 0755 %{_localstatedir}/lib/mysql +%if %{with embedded} %post embedded -p /sbin/ldconfig +%endif %preun server %if %{with init_systemd} @@ -746,7 +831,9 @@ if [ $1 = 0 ]; then fi %endif +%if %{with clibrary} %postun libs -p /sbin/ldconfig +%endif %postun server %if %{with init_systemd} @@ -758,11 +845,14 @@ if [ $1 -ge 1 ]; then fi %endif +%if %{with embedded} %postun embedded -p /sbin/ldconfig +%endif %files %doc README.mysql-docs +%if %{with client} %{_bindir}/msql2mysql %{_bindir}/mysql %{_bindir}/mysql_find_rows @@ -795,12 +885,16 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/connect.cnf +%endif +%if %{with clibrary} %files libs %dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient.so.* %{_sysconfdir}/ld.so.conf.d/* +%endif +%if %{with common} %files common %doc README COPYING COPYING.LESSER README.mysql-license %doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google @@ -813,7 +907,9 @@ fi %endif %dir %{_datadir}/%{name} %{_datadir}/%{name}/charsets +%endif +%if %{with errmsg} %files errmsg %{_datadir}/%{name}/english %lang(cs) %{_datadir}/%{name}/czech @@ -838,6 +934,7 @@ fi %lang(es) %{_datadir}/%{name}/spanish %lang(sv) %{_datadir}/%{name}/swedish %lang(uk) %{_datadir}/%{name}/ukrainian +%endif %files server %doc support-files/*.cnf README.mysql-cnf @@ -874,6 +971,9 @@ fi %{_libdir}/mysql/INFO_SRC %{_libdir}/mysql/INFO_BIN +%if %{without common} +%dir %{_datadir}/%{name} +%endif %{_libdir}/mysql/plugin %exclude %{_libdir}/mysql/plugin/ha_oqgraph.so @@ -943,6 +1043,7 @@ fi %{_libdir}/mysql/plugin/ha_oqgraph.so %endif +%if %{with devel} %files devel %{_bindir}/mysql_config %{_bindir}/mysql_config-%{__isa_bits} @@ -951,7 +1052,9 @@ fi %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so %{_mandir}/man1/mysql_config.1* +%endif +%if %{with embedded} %files embedded %{_libdir}/mysql/libmysqld.so.* @@ -961,20 +1064,26 @@ fi %{_bindir}/mysqltest_embedded %{_mandir}/man1/mysql_client_test_embedded.1* %{_mandir}/man1/mysqltest_embedded.1* +%endif +%if %{with bench} %files bench %{_datadir}/sql-bench +%endif +%if %{with test} %files test %{_bindir}/mysql_client_test %{_bindir}/my_safe_process %attr(-,mysql,mysql) %{_datadir}/mysql-test %{_mandir}/man1/mysql_client_test.1* +%endif %changelog * Tue Jul 22 2014 Honza Horak - 1:10.0.12-5 - Use variable for daemon unit name - Include SysV init script if built on older system +- Add possibility to not ship some sub-packages * Mon Jul 21 2014 Honza Horak - 1:10.0.12-4 - Reformating spec and removing unnecessary snippets From 85af24c338ec4c9bb2ad62c08ee34469a1e52ebf Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 24 Jul 2014 10:00:33 +0200 Subject: [PATCH 148/789] Spec rewrite to be more similar to oterh MySQL implementations --- mariadb-scripts.patch | 17 +- mariadb.spec | 271 ++++++++++-------- ...b-check-socket.sh => mysql-check-socket.sh | 2 +- mysqld.service.in => mysql-compat.service.in | 0 ...epare-db-dir.sh => mysql-prepare-db-dir.sh | 8 +- ...ripts-common.sh => mysql-scripts-common.sh | 0 mariadb-wait-ready.sh => mysql-wait-ready.sh | 4 +- mariadb.service.in => mysql.service.in | 20 +- mariadb.tmpfiles.d.in => mysql.tmpfiles.d.in | 0 9 files changed, 171 insertions(+), 151 deletions(-) rename mariadb-check-socket.sh => mysql-check-socket.sh (95%) rename mysqld.service.in => mysql-compat.service.in (100%) rename mariadb-prepare-db-dir.sh => mysql-prepare-db-dir.sh (91%) rename mariadb-scripts-common.sh => mysql-scripts-common.sh (100%) rename mariadb-wait-ready.sh => mysql-wait-ready.sh (87%) rename mariadb.service.in => mysql.service.in (68%) rename mariadb.tmpfiles.d.in => mysql.tmpfiles.d.in (100%) diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index c79c134..650bbad 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -1,22 +1,23 @@ diff -up mariadb-10.0.12/scripts/CMakeLists.txt.systemd mariadb-10.0.12/scripts/CMakeLists.txt --- mariadb-10.0.12/scripts/CMakeLists.txt.systemd 2014-07-21 10:49:58.491470586 +0200 +++ mariadb-10.0.12/scripts/CMakeLists.txt 2014-07-21 14:21:22.673329708 +0200 -@@ -368,6 +368,31 @@ ELSE() +@@ -368,6 +368,32 @@ ELSE() COMPONENT ${${file}_COMPONENT} ) ENDFOREACH() + + # files for systemd + SET(SYSTEMD_SCRIPTS -+ mariadb-wait-ready -+ mariadb-scripts-common -+ mariadb-prepare-db-dir -+ mariadb-check-socket ++ mysql.tmpfiles.d ++ mysql.service ++ mysql-prepare-db-dir ++ mysql-wait-ready ++ mysql-check-socket ++ mysql-scripts-common + mysql_config_multilib -+ mariadb.service -+ mysqld.service -+ mariadb.tmpfiles.d + mysql.init ++ mysql-compat.service ++ mysql-compat.conf + ) + FOREACH(file ${SYSTEMD_SCRIPTS}) + IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh) diff --git a/mariadb.spec b/mariadb.spec index 716a173..c99d293 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,3 +1,6 @@ +# Name of the package without any prefixes +%global pkgname mariadb + # 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) @@ -9,6 +12,10 @@ # use Full RELRO for all binaries (RHBZ#1092548) %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 + # When there is already another package that ships /etc/my.cnf, # rather include it than ship the file again, since conflicts between # those files may create issues @@ -45,7 +52,7 @@ %bcond_without test # Include files for SysV init or systemd -%if 0%{?systemd_requires:1} +%if 0%{?fedora} >= 15 %bcond_without init_systemd %bcond_with init_sysv %global daemon_name %{name} @@ -75,6 +82,9 @@ %global old_logfile %{_localstatedir}/log/mysqld.log %endif +# Home directory of mysql user should be same for all packages that create it +%global mysqluserhome /var/lib/mysql + # The evr of mysql we want to obsolete %global obsoleted_mysql_evr 5.6-0 %global obsoleted_mysql_case_evr 5.5.30-5 @@ -88,7 +98,10 @@ %global mysqld_enabled_flag_file %{_localstatedir}/lib/rpm-state/mysqld_enabled %global mysqld_running_flag_file %{_localstatedir}/lib/rpm-state/mysqld_running -Name: mariadb +# Make long macros shorter +%global sameevp %{epoch}:%{version}-%{release} + +Name: %{pkgname} Version: 10.0.12 Release: 5%{?dist} Epoch: 1 @@ -110,44 +123,48 @@ Source5: README.mysql-cnf Source6: README.mysql-docs Source7: README.mysql-license Source9: mysql-embedded-check.c -Source10: mariadb.tmpfiles.d.in -Source11: mariadb.service.in -Source12: mariadb-prepare-db-dir.sh -Source13: mariadb-wait-ready.sh -Source14: mariadb-check-socket.sh -Source15: mariadb-scripts-common.sh -Source16: mysqld.service.in -Source17: mysql.init.in +Source10: mysql.tmpfiles.d.in +Source11: mysql.service.in +Source12: mysql-prepare-db-dir.sh +Source13: mysql-wait-ready.sh +Source14: mysql-check-socket.sh +Source15: mysql-scripts-common.sh +Source16: mysql-compat.service.in +Source17: mysql-compat.conf.in +Source18: mysql.init.in Source50: rh-skipped-tests-base.list Source51: rh-skipped-tests-intel.list Source52: rh-skipped-tests-arm.list Source53: rh-skipped-tests-ppc-s390.list Source54: rh-skipped-tests-ppc64le.list -# Comments for these patches are in the patch files. -Patch1: mariadb-errno.patch -Patch2: mariadb-strmov.patch -Patch3: mariadb-install-test.patch -Patch4: mariadb-s390-tsc.patch -Patch5: mariadb-logrotate.patch -Patch6: mariadb-cipherspec.patch -Patch7: mariadb-file-contents.patch -Patch8: mariadb-string-overflow.patch -Patch9: mariadb-dh1024.patch -Patch10: mariadb-basedir.patch -Patch11: mariadb-covscan-signexpr.patch -Patch12: mariadb-covscan-stroverflow.patch -Patch13: mariadb-config.patch -Patch14: mariadb-ssltest.patch -Patch15: mariadb-mysql_config.patch -Patch16: mariadb-scripts.patch +# Comments for these patches are in the patch files +# Patches common for more mysql-like packages +Patch1: %{pkgname}-strmov.patch +Patch2: %{pkgname}-install-test.patch +Patch3: %{pkgname}-s390-tsc.patch +Patch4: %{pkgname}-logrotate.patch +Patch5: %{pkgname}-cipherspec.patch +Patch6: %{pkgname}-file-contents.patch +Patch7: %{pkgname}-dh1024.patch +Patch8: %{pkgname}-scripts.patch + +# Patches specific for this mysql package +Patch30: %{pkgname}-errno.patch +Patch31: %{pkgname}-string-overflow.patch +Patch32: %{pkgname}-basedir.patch +Patch33: %{pkgname}-covscan-signexpr.patch +Patch34: %{pkgname}-covscan-stroverflow.patch +Patch35: %{pkgname}-config.patch +Patch36: %{pkgname}-ssltest.patch +Patch37: %{pkgname}-mysql_config.patch BuildRequires: cmake BuildRequires: libaio-devel -BuildRequires: readline-devel BuildRequires: openssl-devel BuildRequires: ncurses-devel BuildRequires: perl +BuildRequires: readline-devel BuildRequires: systemtap-sdt-devel BuildRequires: zlib-devel # auth_pam.so plugin will be build if pam-devel is installed @@ -157,8 +174,14 @@ BuildRequires: pam-devel BuildRequires: procps BuildRequires: time BuildRequires: perl(Env) +BuildRequires: perl(Exporter) +BuildRequires: perl(Fcntl) +BuildRequires: perl(File::Temp) BuildRequires: perl(Data::Dumper) +BuildRequires: perl(Getopt::Long) +BuildRequires: perl(IPC::Open3) BuildRequires: perl(Socket) +BuildRequires: perl(Sys::Hostname) BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) %{?with_init_systemd:BuildRequires: systemd} @@ -166,18 +189,17 @@ BuildRequires: perl(Time::HiRes) Requires: bash Requires: fileutils Requires: grep -Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-common%{?_isa} = %{sameevp} +Provides: mysql = %{sameevp} +Provides: mysql%{?_isa} = %{sameevp} +Provides: mysql-compat-client = %{sameevp} +Provides: mysql-compat-client%{?_isa} = %{sameevp} # MySQL (with caps) is upstream's spelling of their own RPMs for mysql %{?obsoleted_mysql_case_evr:Obsoletes: MySQL < %{obsoleted_mysql_case_evr}} -Conflicts: community-mysql -# MariaDB replaces mysql packages -Provides: mysql = %{epoch}:%{version}-%{release} -Provides: mysql%{?_isa} = %{epoch}:%{version}-%{release} -Provides: mysql-compat-client = %{epoch}:%{version}-%{release} -Provides: mysql-compat-client%{?_isa} = %{epoch}:%{version}-%{release} %{?obsoleted_mysql_evr:Obsoletes: mysql < %{obsoleted_mysql_evr}} +Conflicts: community-mysql # Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering %if 0%{?__requires_exclude:1} @@ -186,13 +208,9 @@ Provides: mysql-compat-client%{?_isa} = %{epoch}:%{version}-%{release} %else %filter_from_requires /perl(\(hostnames\|lib::mtr\|lib::v1\|mtr_\|My::\)/d %filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ -%filter_setup +%filter_setup %endif -# 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 - %description MariaDB is a community developed branch of MySQL. MariaDB is a multi-user, multi-threaded SQL database server. @@ -203,12 +221,11 @@ contains the standard MariaDB/MySQL client programs and generic MySQL files. %if %{with clibrary} %package libs - Summary: The shared libraries required for MariaDB/MySQL clients Group: Applications/Databases -Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} -Provides: mysql-libs = %{epoch}:%{version}-%{release} -Provides: mysql-libs%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-common%{?_isa} = %{sameevp} +Provides: mysql-libs = %{sameevp} +Provides: mysql-libs%{?_isa} = %{sameevp} %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-libs < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-libs < %{obsoleted_mysql_evr}} @@ -219,9 +236,9 @@ package to use any other MariaDB package or any clients that need to connect to a MariaDB/MySQL server. MariaDB is a community developed branch of MySQL. %endif + %if %{with common} %package common - Summary: The shared files required by server and client Group: Applications/Databases %if ! %{ship_my_cnf} @@ -236,10 +253,9 @@ You will need to install this package to use any other MariaDB package. %if %{with errmsg} %package errmsg - Summary: The error messages files required by server and embedded Group: Applications/Databases -Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-common%{?_isa} = %{sameevp} %description errmsg The package provides error messages files for the MariaDB daemon and the @@ -249,18 +265,17 @@ MariaDB packages. %package server - Summary: The MariaDB server and related files Group: Applications/Databases # note: no version here = %{version}-%{release} Requires: mysql-compat-client%{?_isa} -Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-common%{?_isa} = %{sameevp} %if %{without common} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d %endif -Requires: %{name}-errmsg%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-errmsg%{?_isa} = %{sameevp} Requires: sh-utils Requires(pre): /usr/sbin/useradd %if %{with init_systemd} @@ -272,12 +287,12 @@ Requires(posttrans): systemd %{?systemd_requires: %systemd_requires} %endif # mysqlhotcopy needs DBI/DBD support -Requires: perl-DBI -Requires: perl-DBD-MySQL -Provides: mysql-server = %{epoch}:%{version}-%{release} -Provides: mysql-server%{?_isa} = %{epoch}:%{version}-%{release} -Provides: mysql-compat-server = %{epoch}:%{version}-%{release} -Provides: mysql-compat-server%{?_isa} = %{epoch}:%{version}-%{release} +Requires: perl(DBI) +Requires: perl(DBD::mysql) +Provides: mysql-server = %{sameevp} +Provides: mysql-server%{?_isa} = %{sameevp} +Provides: mysql-compat-server = %{sameevp} +Provides: mysql-compat-server%{?_isa} = %{sameevp} %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-server < %{obsoleted_mysql_case_evr}} Conflicts: community-mysql-server Conflicts: mariadb-galera-server @@ -293,10 +308,9 @@ MariaDB is a community developed branch of MySQL. %if %{with oqgraph} %package oqgraph - Summary: The Open Query GRAPH engine for MariaDB Group: Applications/Databases -Requires: %{name}-server%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-server%{?_isa} = %{sameevp} # boost and Judy required for oograph BuildRequires: boost-devel BuildRequires: Judy-devel @@ -312,13 +326,12 @@ standard SQL syntax, and results joined onto other tables. %if %{with devel} %package devel - Summary: Files for development of MariaDB/MySQL applications Group: Applications/Databases -Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{sameevp} Requires: openssl-devel%{?_isa} -Provides: mysql-devel = %{epoch}:%{version}-%{release} -Provides: mysql-devel%{?_isa} = %{epoch}:%{version}-%{release} +Provides: mysql-devel = %{sameevp} +Provides: mysql-devel%{?_isa} = %{sameevp} %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-devel < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-devel < %{obsoleted_mysql_evr}} Conflicts: community-mysql-devel @@ -333,13 +346,12 @@ MariaDB is a community developed branch of MySQL. %if %{with embedded} %package embedded - Summary: MariaDB as an embeddable library Group: Applications/Databases -Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} -Requires: %{name}-errmsg%{?_isa} = %{epoch}:%{version}-%{release} -Provides: mysql-embedded = %{epoch}:%{version}-%{release} -Provides: mysql-embedded%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-common%{?_isa} = %{sameevp} +Requires: %{name}-errmsg%{?_isa} = %{sameevp} +Provides: mysql-embedded = %{sameevp} +Provides: mysql-embedded%{?_isa} = %{sameevp} %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-embedded < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-embedded < %{obsoleted_mysql_evr}} @@ -351,13 +363,12 @@ MariaDB is a community developed branch of MySQL. %package embedded-devel - Summary: Development files for MariaDB as an embeddable library Group: Applications/Databases -Requires: %{name}-embedded%{?_isa} = %{epoch}:%{version}-%{release} -Requires: %{name}-devel%{?_isa} = %{epoch}:%{version}-%{release} -Provides: mysql-embedded-devel = %{epoch}:%{version}-%{release} -Provides: mysql-embedded-devel%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-embedded%{?_isa} = %{sameevp} +Requires: %{name}-devel%{?_isa} = %{sameevp} +Provides: mysql-embedded-devel = %{sameevp} +Provides: mysql-embedded-devel%{?_isa} = %{sameevp} Conflicts: community-mysql-embedded-devel %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-embedded-devel < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-embedded-devel < %{obsoleted_mysql_evr}} @@ -372,12 +383,11 @@ MariaDB is a community developed branch of MySQL. %if %{with bench} %package bench - Summary: MariaDB benchmark scripts and data Group: Applications/Databases -Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} -Provides: mysql-bench = %{epoch}:%{version}-%{release} -Provides: mysql-bench%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}%{?_isa} = %{sameevp} +Provides: mysql-bench = %{sameevp} +Provides: mysql-bench%{?_isa} = %{sameevp} Conflicts: community-mysql-bench %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-bench < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-bench < %{obsoleted_mysql_evr}} @@ -392,22 +402,27 @@ MariaDB is a community developed branch of MySQL. %if %{with test} %package test - Summary: The test suite distributed with MariaD Group: Applications/Databases -Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} -Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} -Requires: %{name}-server%{?_isa} = %{epoch}:%{version}-%{release} -Provides: mysql-test = %{epoch}:%{version}-%{release} -Provides: mysql-test%{?_isa} = %{epoch}:%{version}-%{release} -Conflicts: community-mysql-test -%{?obsoleted_mysql_case_evr:Obsoletes: MySQL-test < %{obsoleted_mysql_case_evr}} -%{?obsoleted_mysql_evr:Obsoletes: mysql-test < %{obsoleted_mysql_evr}} +Requires: %{name}%{?_isa} = %{sameevp} +Requires: %{name}-common%{?_isa} = %{sameevp} +Requires: %{name}-server%{?_isa} = %{sameevp} Requires: perl(Env) +Requires: perl(Exporter) +Requires: perl(Fcntl) +Requires: perl(File::Temp) Requires: perl(Data::Dumper) +Requires: perl(Getopt::Long) +Requires: perl(IPC::Open3) Requires: perl(Socket) +Requires: perl(Sys::Hostname) Requires: perl(Test::More) Requires: perl(Time::HiRes) +Conflicts: community-mysql-test +Provides: mysql-test = %{sameevp} +Provides: mysql-test%{?_isa} = %{sameevp} +%{?obsoleted_mysql_case_evr:Obsoletes: MySQL-test < %{obsoleted_mysql_case_evr}} +%{?obsoleted_mysql_evr:Obsoletes: mysql-test < %{obsoleted_mysql_evr}} %description test MariaDB is a multi-user, multi-threaded SQL database server. This @@ -427,14 +442,14 @@ MariaDB is a community developed branch of MySQL. %patch6 -p1 %patch7 -p1 %patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 -%patch14 -p1 -%patch15 -p1 -%patch16 -p1 +%patch30 -p1 +%patch31 -p1 +%patch32 -p1 +%patch33 -p1 +%patch34 -p1 +%patch35 -p1 +%patch36 -p1 +%patch37 -p1 sed -i -e 's/2.8.7/2.6.4/g' cmake/cpack_rpm.cmake @@ -462,7 +477,7 @@ cat %{SOURCE54} >> mysql-test/rh-skipped-tests.list %endif cp %{SOURCE2} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} \ - %{SOURCE15} %{SOURCE16} %{SOURCE17} scripts + %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} scripts %build @@ -493,6 +508,7 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` %endif CXXFLAGS="$CFLAGS" export CFLAGS CXXFLAGS + %if 0%{?_hardened_build} # building with PIE LDFLAGS="$LDFLAGS -pie -Wl,-z,relro,-z,now" @@ -508,6 +524,7 @@ cmake . -DBUILD_CONFIG=mysql_release \ %if 0%{?mysqld_unit:1} -DDAEMON_NAME2="%{mysqld_unit}" \ %endif + -DNICE_PROJECT_NAME="MariaDB" \ -DRPM="%{?rhel:rhel%{rhel}}%{!?rhel:fedora%{fedora}}" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ %if 0%{?fedora} >= 20 @@ -581,7 +598,7 @@ install -p -m 0755 scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_co %endif # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, -# but that's pretty wacko --- see also mariadb-file-contents.patch) +# but that's pretty wacko --- see also %%{name}-file-contents.patch) mv %{buildroot}%{_pkgdocdir}/MariaDB-server-%{version}/INFO_SRC %{buildroot}%{_libdir}/mysql/ mv %{buildroot}%{_pkgdocdir}/MariaDB-server-%{version}/INFO_BIN %{buildroot}%{_libdir}/mysql/ rm -rf %{buildroot}%{_pkgdocdir}/MariaDB-server-%{version}/ @@ -609,13 +626,15 @@ rm -f %{buildroot}%{_sysconfdir}/my.cnf # install systemd unit files and scripts for handling server startup %if %{with init_systemd} -install -D -p -m 644 scripts/mariadb.service %{buildroot}%{_unitdir}/%{daemon_name}.service -install -D -p -m 0644 scripts/mariadb.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf +install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service +install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %endif # install alternative systemd unit file for compatibility reasons %if 0%{?mysqld_unit:1} -install -p -m 644 scripts/mysqld.service %{buildroot}%{_unitdir}/%{mysqld_unit}.service +install -p -m 644 scripts/mysql-compat.service %{buildroot}%{_unitdir}/%{mysqld_unit}.service +mkdir -p %{buildroot}%{_unitdir}/%{daemon_name}.service.d +install -p -m 644 scripts/mysql-compat.conf %{buildroot}%{_unitdir}/%{daemon_name}.service.d/mysql-compat.conf %endif # install SysV init script @@ -624,10 +643,10 @@ install -D -p -m 755 scripts/mysql.init %{buildroot}%{_initddir}/%{daemon_name} %endif # helper scripts for service starting -install -p -m 755 scripts/mariadb-prepare-db-dir %{buildroot}%{_libexecdir}/mariadb-prepare-db-dir -install -p -m 755 scripts/mariadb-wait-ready %{buildroot}%{_libexecdir}/mariadb-wait-ready -install -p -m 755 scripts/mariadb-check-socket %{buildroot}%{_libexecdir}/mariadb-check-socket -install -p -m 644 scripts/mariadb-scripts-common %{buildroot}%{_libexecdir}/mariadb-scripts-common +install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir +install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready +install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket +install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common # Remove libmysqld.a rm -f %{buildroot}%{_libdir}/mysql/libmysqld.a @@ -658,17 +677,17 @@ rm -f %{buildroot}%{_bindir}/mytop # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} -mv %{buildroot}%{_datadir}/%{name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{name} -chmod 644 %{buildroot}%{logrotateddir}/%{name} +mv %{buildroot}%{_datadir}/%{name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name} +chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name} mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf # copy additional docs into build tree so %%doc will find them -cp -p %{SOURCE5} . -cp -p %{SOURCE6} . -cp -p %{SOURCE7} . -cp -p %{SOURCE16} . +install -p -m 0644 %{SOURCE5} %{basename:%{SOURCE5}} +install -p -m 0644 %{SOURCE6} %{basename:%{SOURCE6}} +install -p -m 0644 %{SOURCE7} %{basename:%{SOURCE7}} +install -p -m 0644 %{SOURCE16} %{basename:%{SOURCE16}} # 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 @@ -770,8 +789,8 @@ export MTR_BUILD_THREAD=%{__isa_bits} %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : -/usr/sbin/useradd -M -N -g mysql -o -r -d %{_localstatedir}/lib/mysql -s /sbin/nologin \ - -c "MariaDB Server" -u 27 mysql >/dev/null 2>&1 || : +/usr/sbin/useradd -M -N -g mysql -o -r -d %{mysqluserhome} -s /sbin/nologin \ + -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : %if %{with init_systemd} # Explicitly enable mysqld if it was enabled in the beginning @@ -805,6 +824,10 @@ fi %post libs -p /sbin/ldconfig %endif +%if %{with embedded} +%post embedded -p /sbin/ldconfig +%endif + %post server %if %{with init_systemd} %systemd_post %{daemon_name}.service @@ -816,10 +839,6 @@ fi %endif /bin/chmod 0755 %{_localstatedir}/lib/mysql -%if %{with embedded} -%post embedded -p /sbin/ldconfig -%endif - %preun server %if %{with init_systemd} %systemd_preun %{daemon_name}.service @@ -835,6 +854,10 @@ fi %postun libs -p /sbin/ldconfig %endif +%if %{with embedded} +%postun embedded -p /sbin/ldconfig +%endif + %postun server %if %{with init_systemd} %systemd_postun_with_restart %{daemon_name}.service @@ -845,10 +868,6 @@ if [ $1 -ge 1 ]; then fi %endif -%if %{with embedded} -%postun embedded -p /sbin/ldconfig -%endif - %files %doc README.mysql-docs @@ -900,9 +919,9 @@ fi %doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google # although the default my.cnf contains only server settings, we put it in the # common package because it can be used for client settings too. -%dir %{_sysconfdir}/my.cnf.d %if %{ship_my_cnf} %config(noreplace) %{_sysconfdir}/my.cnf +%dir %{_sysconfdir}/my.cnf.d %config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf %endif %dir %{_datadir}/%{name} @@ -1019,23 +1038,24 @@ fi %{_datadir}/%{name}/my-*.cnf %{?mysqld_unit:%{_unitdir}/%{mysqld_unit}.service} +%{?mysqld_unit:%{_unitdir}/%{daemon_name}.service.d/mysql-compat.conf} %{?with_init_systemd:%{_unitdir}/%{daemon_name}.service} %{?with_init_sysv:%{_initddir}/%{daemon_name}} -%{_libexecdir}/mariadb-prepare-db-dir -%{_libexecdir}/mariadb-wait-ready -%{_libexecdir}/mariadb-check-socket -%{_libexecdir}/mariadb-scripts-common +%{_libexecdir}/mysql-prepare-db-dir +%{_libexecdir}/mysql-wait-ready +%{_libexecdir}/mysql-check-socket +%{_libexecdir}/mysql-scripts-common %{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} %attr(0755,mysql,mysql) %dir %{_localstatedir}/run/mysqld -%attr(0755,mysql,mysql) %dir %{_localstatedir}/run/%{name} +%attr(0755,mysql,mysql) %dir %{_localstatedir}/run/%{daemon_name} %attr(0755,mysql,mysql) %dir %{_localstatedir}/lib/mysql %attr(0750,mysql,mysql) %dir %{logfiledir} %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %if 0%{?old_logfile:1} %config %ghost %verify(not md5 size mtime) %{old_logfile} %endif -%config(noreplace) %{logrotateddir}/%{name} +%config(noreplace) %{logrotateddir}/%{daemon_name} %if %{with oqgraph} %files oqgraph @@ -1081,6 +1101,7 @@ fi %changelog * Tue Jul 22 2014 Honza Horak - 1:10.0.12-5 +- Spec rewrite to be more similar to oterh MySQL implementations - Use variable for daemon unit name - Include SysV init script if built on older system - Add possibility to not ship some sub-packages diff --git a/mariadb-check-socket.sh b/mysql-check-socket.sh similarity index 95% rename from mariadb-check-socket.sh rename to mysql-check-socket.sh index 955dc4f..b15cd32 100644 --- a/mariadb-check-socket.sh +++ b/mysql-check-socket.sh @@ -5,7 +5,7 @@ # positive result when starting and mysqld_safe could remove # a socket file, which is actually being used by a different daemon. -source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" +source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" if test -e "$socketfile" ; then echo "Socket file $socketfile exists." >&2 diff --git a/mysqld.service.in b/mysql-compat.service.in similarity index 100% rename from mysqld.service.in rename to mysql-compat.service.in diff --git a/mariadb-prepare-db-dir.sh b/mysql-prepare-db-dir.sh similarity index 91% rename from mariadb-prepare-db-dir.sh rename to mysql-prepare-db-dir.sh index 8581a5f..0507f52 100644 --- a/mariadb-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -3,7 +3,7 @@ # This script creates the mysql data directory during first service start. # In subsequent starts, it does nothing much. -source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" +source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" # If two args given first is user, second is group # otherwise the arg is the systemd service file @@ -13,7 +13,7 @@ then mygroup="$2" else # Absorb configuration settings from the specified systemd service file, - # or the default "mariadb" service if not specified + # or the default service if not specified SERVICE_NAME="$1" if [ x"$SERVICE_NAME" = x ] then @@ -68,11 +68,11 @@ if [ ! -d "$datadir/mysql" ] ; then [ -x /sbin/restorecon ] && /sbin/restorecon "$datadir" # Now create the database - echo "Initializing MySQL database" + echo "Initializing @NICE_PROJECT_NAME@ database" @bindir@/mysql_install_db --datadir="$datadir" --user="$myuser" ret=$? if [ $ret -ne 0 ] ; then - echo "Initialization of MySQL database failed." >&2 + echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2 echo "Perhaps @sysconfdir@/my.cnf is misconfigured." >&2 # Clean up any partially-created database files if [ ! -e "$datadir/mysql/user.frm" ] ; then diff --git a/mariadb-scripts-common.sh b/mysql-scripts-common.sh similarity index 100% rename from mariadb-scripts-common.sh rename to mysql-scripts-common.sh diff --git a/mariadb-wait-ready.sh b/mysql-wait-ready.sh similarity index 87% rename from mariadb-wait-ready.sh rename to mysql-wait-ready.sh index a5356c2..2ed5fe1 100644 --- a/mariadb-wait-ready.sh +++ b/mysql-wait-ready.sh @@ -1,6 +1,6 @@ #!/bin/sh -source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" +source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" # This script waits for mysqld to be ready to accept connections # (which can be many seconds or even minutes after launch, if there's @@ -32,7 +32,7 @@ while /bin/true; do # exit codes 1, 11 (EXIT_CANNOT_CONNECT_TO_SERVICE) are expected, # anything else suggests a configuration error if [ $mret -ne 1 -a $mret -ne 11 ]; then - echo "Cannot check for MySQL Daemon startup because of mysqladmin failure." >&2 + echo "Cannot check for @NICE_PROJECT_NAME@ Daemon startup because of mysqladmin failure." >&2 ret=$mret break fi diff --git a/mariadb.service.in b/mysql.service.in similarity index 68% rename from mariadb.service.in rename to mysql.service.in index b8c2f49..4c2b60a 100644 --- a/mariadb.service.in +++ b/mysql.service.in @@ -1,19 +1,19 @@ # It's not recommended to modify this file in-place, because it will be # overwritten during package upgrades. If you want to customize, the -# best way is to create a file "/etc/systemd/system/mariadb.service", +# best way is to create a file "/etc/systemd/system/@DAEMON_NAME@.service", # containing -# .include /lib/systemd/system/mariadb.service +# .include /usr/lib/systemd/system/@DAEMON_NAME@.service # ...make your changes here... -# or create a file "/etc/systemd/system/mariadb.service.d/foo.conf", +# or create a file "/etc/systemd/system/@DAEMON_NAME@.service.d/foo.conf", # which doesn't need to include ".include" call and which will be parsed -# after the file mariadb.service itself is parsed. +# after the file @DAEMON_NAME@.service itself is parsed. # # For more info about custom unit files, see systemd.unit(5) or # http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F # For example, if you want to increase mysql's open-files-limit to 10000, # you need to increase systemd's LimitNOFILE setting, so create a file named -# "/etc/systemd/system/mariadb.service.d/limits.conf" containing: +# "/etc/systemd/system/@DAEMON_NAME@.service.d/limits.conf" containing: # [Service] # LimitNOFILE=10000 @@ -23,22 +23,21 @@ # root> systemctl --system daemon-reload [Unit] -Description=MariaDB @MAJOR_VERSION@.@MINOR_VERSION@ database server +Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server After=syslog.target After=network.target -BindsTo=@DAEMON_NAME2@.service [Service] Type=simple User=mysql Group=mysql -ExecStartPre=@libexecdir@/mariadb-check-socket -ExecStartPre=@libexecdir@/mariadb-prepare-db-dir %n +ExecStartPre=@libexecdir@/mysql-check-socket +ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 ExecStart=@bindir@/mysqld_safe --basedir=@prefix@ -ExecStartPost=@libexecdir@/mariadb-wait-ready $MAINPID +ExecStartPost=@libexecdir@/mysql-wait-ready $MAINPID # Give a reasonable amount of time for the server to start up/shut down TimeoutSec=300 @@ -48,4 +47,3 @@ PrivateTmp=true [Install] WantedBy=multi-user.target -Also=@DAEMON_NAME2@.service diff --git a/mariadb.tmpfiles.d.in b/mysql.tmpfiles.d.in similarity index 100% rename from mariadb.tmpfiles.d.in rename to mysql.tmpfiles.d.in From f6b02e32773658233a5cd47fdb18043e03caf3ea Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 25 Jul 2014 09:00:44 +0200 Subject: [PATCH 149/789] Hardcoded paths removed to work fine in chroot --- README.mysql-cnf | 4 +- mariadb-config.patch | 4 +- mariadb-file-contents.patch | 31 ++++++-- mariadb-logrotate.patch | 4 +- mariadb-paths.patch | 153 ++++++++++++++++++++++++++++++++++++ mariadb-scripts.patch | 15 +++- mariadb.spec | 17 ++-- my.cnf => my.cnf.in | 8 +- mysql-scripts-common.sh | 4 +- mysql.tmpfiles.d.in | 4 +- 10 files changed, 218 insertions(+), 26 deletions(-) create mode 100644 mariadb-paths.patch rename my.cnf => my.cnf.in (84%) diff --git a/README.mysql-cnf b/README.mysql-cnf index 65bebb9..10a75fa 100644 --- a/README.mysql-cnf +++ b/README.mysql-cnf @@ -7,7 +7,7 @@ provided in this distribution. Thus, it is recommended to use these configuration files as an addition to the default my.cnf configuration file. -Since default my.cnf contains `!includedir /etc/my.cnf.d` directive, it is -recommended to copy required configuration under /etc/my.cnf.d/ directory, +Since default my.cnf contains `!includedir @sysconfdir@/my.cnf.d` directive, it is +recommended to copy required configuration under @sysconfdir@/my.cnf.d/ directory, so the default my.cnf specifications will be extended. diff --git a/mariadb-config.patch b/mariadb-config.patch index b07306f..9307093 100644 --- a/mariadb-config.patch +++ b/mariadb-config.patch @@ -13,8 +13,8 @@ diff -up mariadb-10.0.10/support-files/rpm/server.cnf.p13 mariadb-10.0.10/suppor # If you use the same .cnf file for MySQL and MariaDB, # you can put MariaDB-only options here [mariadb] -+log-error=/var/log/mariadb/mariadb.log -+pid-file=/var/run/mariadb/mariadb.pid ++log-error=@LOG_LOCATION@ ++pid-file=@PID_FILE_DIR@/@DAEMON_NAME@.pid # This group is only read by MariaDB-10.0 servers. # If you use the same .cnf file for MariaDB of different versions, diff --git a/mariadb-file-contents.patch b/mariadb-file-contents.patch index 7f4b164..441f4f0 100644 --- a/mariadb-file-contents.patch +++ b/mariadb-file-contents.patch @@ -6,9 +6,28 @@ to know about this. Recommendation they change is at http://bugs.mysql.com/bug.php?id=61425 -diff -up mariadb-10.0.10/mysql-test/t/file_contents.test.p7 mariadb-10.0.10/mysql-test/t/file_contents.test ---- mariadb-10.0.10/mysql-test/t/file_contents.test.p7 2014-03-30 19:56:44.000000000 +0200 -+++ mariadb-10.0.10/mysql-test/t/file_contents.test 2014-04-07 18:14:32.776772032 +0200 +diff -up mariadb-10.0.12/mysql-test/t/file_contents.test.file_contents mariadb-10.0.12/mysql-test/t/file_contents.test. +diff -up mariadb-10.0.12/mysql-test/t/file_contents.test.file_contents mariadb-10.0.12/mysql-test/t/file_contents.test +--- mariadb-10.0.12/mysql-test/t/file_contents.test.file_contents 2014-06-12 11:26:03.000000000 +0200 ++++ mariadb-10.0.12/mysql-test/t/file_contents.test 2014-07-24 23:53:49.833176793 +0200 +@@ -11,7 +11,7 @@ + --perl + print "\nChecking 'INFO_SRC' and 'INFO_BIN'\n"; + $dir_bin = $ENV{'MYSQL_BINDIR'}; +-if ($dir_bin eq '/usr/') { ++if ($dir_bin =~ '.*/usr/$') { + # RPM package + $dir_docs = $dir_bin; + $dir_docs =~ s|/lib|/share/doc|; +@@ -22,7 +22,7 @@ if ($dir_bin eq '/usr/') { + # RedHat: version number in directory name + $dir_docs = glob "$dir_docs/MySQL-server*"; + } +-} elsif ($dir_bin eq '/usr') { ++} elsif ($dir_bin =~ '.*/usr$') { + # RPM build during development + $dir_docs = "$dir_bin/share/doc"; + if(-d "$dir_docs/packages") { @@ -32,6 +32,15 @@ if ($dir_bin eq '/usr/') { # RedHat/Debian: version number in directory name $dir_docs = glob "$dir_docs/mariadb-server-*"; @@ -17,10 +36,10 @@ diff -up mariadb-10.0.10/mysql-test/t/file_contents.test.p7 mariadb-10.0.10/mysq + # All the above is entirely wacko, because these files are not docs; + # they should be kept in libdir instead. mtr does not provide a nice + # way to find libdir though, so we have to kluge it like this: -+ if (-d "/usr/lib64/mysql") { -+ $dir_docs = "/usr/lib64/mysql"; ++ if (-d "$dir_bin/lib64/mysql") { ++ $dir_docs = "$dir_bin/lib64/mysql"; + } else { -+ $dir_docs = "/usr/lib/mysql"; ++ $dir_docs = "$dir_bin/lib/mysql"; + } } # Slackware diff --git a/mariadb-logrotate.patch b/mariadb-logrotate.patch index 596e1bf..898f7f4 100644 --- a/mariadb-logrotate.patch +++ b/mariadb-logrotate.patch @@ -27,7 +27,7 @@ diff -up mariadb-10.0.10/support-files/mysql-log-rotate.sh.p5 mariadb-10.0.10/su -# [safe_mysqld] -# err-log=@localstatedir@/mysqld.log +# [mysqld_safe] -+# log-error=/var/log/mariadb/mariadb.log ++# log-error=@LOG_LOCATION@ # # If the root user has a password you have to create a # /root/.my.cnf configuration file with the following @@ -53,7 +53,7 @@ diff -up mariadb-10.0.10/support-files/mysql-log-rotate.sh.p5 mariadb-10.0.10/su -} +# Then, un-comment the following lines to enable rotation of mysql's log file: + -+#/var/log/mariadb/mariadb.log { ++#@LOG_LOCATION@ { +# create 640 mysql mysql +# notifempty +# daily diff --git a/mariadb-paths.patch b/mariadb-paths.patch new file mode 100644 index 0000000..c79302a --- /dev/null +++ b/mariadb-paths.patch @@ -0,0 +1,153 @@ +Some hard-coded paths make problems when package is built into chroot like +Software Collections. Removing these hard-coded paths should fix it. + +Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485 + + +diff -up mariadb-10.0.12/client/mysql_plugin.c.cmakepaths mariadb-10.0.12/client/mysql_plugin.c +--- mariadb-10.0.12/client/mysql_plugin.c.cmakepaths 2014-06-12 11:26:06.000000000 +0200 ++++ mariadb-10.0.12/client/mysql_plugin.c 2014-07-25 08:40:15.898059511 +0200 +@@ -90,6 +90,7 @@ static int find_plugin(char *tp_path); + static int build_bootstrap_file(char *operation, char *bootstrap); + static int dump_bootstrap_file(char *bootstrap_file); + static int bootstrap_server(char *server_path, char *bootstrap_file); ++static int find_file_in_path(char *to,const char *name); + + + int main(int argc,char *argv[]) +@@ -122,7 +123,7 @@ int main(int argc,char *argv[]) + */ + if ((error= process_options(argc, argv, operation)) || + (error= check_access()) || +- (error= find_tool("mysqld" FN_EXEEXT, server_path)) || ++ (error= find_file_in_path("mysqld" FN_EXEEXT, server_path)) || + (error= find_plugin(tp_path)) || + (error= build_bootstrap_file(operation, bootstrap))) + goto exit; +@@ -325,7 +326,7 @@ static int get_default_values() + FILE *file= 0; + + bzero(tool_path, FN_REFLEN); +- if ((error= find_tool("my_print_defaults" FN_EXEEXT, tool_path))) ++ if ((error= find_file_in_path("my_print_defaults" FN_EXEEXT, tool_path))) + goto exit; + else + { +@@ -954,6 +955,55 @@ exit: + } + + ++#if defined(__WIN__) ++#define F_OK 0 ++#define PATH_SEP ';' ++#define PROGRAM_EXTENSION ".exe" ++#else ++#define PATH_SEP ':' ++#endif ++ ++static int find_file_in_path(char *to, const char *name) ++{ ++ char *path,*pos,dir[2]; ++ const char *ext=""; ++ ++ if (!(path=getenv("PATH"))) ++ goto notfound; ++ dir[0]=FN_LIBCHAR; dir[1]=0; ++#ifdef PROGRAM_EXTENSION ++ if (!fn_ext(name)[0]) ++ ext=PROGRAM_EXTENSION; ++#endif ++ ++ for (pos=path ; (pos=strchr(pos,PATH_SEP)) ; path= ++pos) ++ { ++ if (path != pos) ++ { ++ strxmov(strnmov(to,path,(uint) (pos-path)),dir,name,ext,NullS); ++ if (!access(to,F_OK)) ++ { ++ if (opt_verbose) ++ printf("# Found tool '%s' as '%s'.\n", name, to); ++ return 0; ++ } ++ } ++ } ++#ifdef __WIN__ ++ to[0]=FN_CURLIB; ++ strxmov(to+1,dir,name,ext,NullS); ++ if (!access(to,F_OK)) /* Test in current dir */ ++ { ++ if (opt_verbose) ++ printf("# Found tool '%s' as '%s'.\n", name, to); ++ return 0; ++ } ++#endif ++notfound: ++ fprintf(stderr, "WARNING: Cannot find %s.\n", name); ++ return 1; /* File not found */ ++} ++ + /** + Locate the tool and form tool path. + +diff -up mariadb-10.0.12/mysys/my_default.c.cmakepaths mariadb-10.0.12/mysys/my_default.c +--- mariadb-10.0.12/mysys/my_default.c.cmakepaths 2014-06-12 11:26:03.000000000 +0200 ++++ mariadb-10.0.12/mysys/my_default.c 2014-07-25 08:39:04.875937851 +0200 +@@ -1224,9 +1224,6 @@ static const char **init_default_directo + + #else + +- errors += add_directory(alloc, "/etc/", dirs); +- errors += add_directory(alloc, "/etc/mysql/", dirs); +- + #if defined(DEFAULT_SYSCONFDIR) + if (DEFAULT_SYSCONFDIR[0]) + errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs); +diff -up mariadb-10.0.12/scripts/mysqlaccess.sh.cmakepaths mariadb-10.0.12/scripts/mysqlaccess.sh +--- mariadb-10.0.12/scripts/mysqlaccess.sh.cmakepaths 2014-06-12 11:26:06.000000000 +0200 ++++ mariadb-10.0.12/scripts/mysqlaccess.sh 2014-07-25 08:39:04.877937855 +0200 +@@ -483,9 +483,6 @@ MySQLaccess::Report::Print_Header(); + elsif (-f "@sysconfdir@/$script_conf") { + require "@sysconfdir@/$script_conf"; + } +- elsif (-f "/etc/$script_conf") { +- require "/etc/$script_conf"; +- } + + # **************************** + # Read in all parameters +@@ -951,7 +948,6 @@ sub MergeConfigFile { + sub MergeConfigFiles { + my ($name,$pass,$uid,$gid,$quota,$comment,$gcos,$dir,$shell) = getpwuid $<; + MergeConfigFile("@sysconfdir@/my.cnf"); +- MergeConfigFile("/etc/my.cnf"); + MergeConfigFile("$dir/.my.cnf"); + } + +diff -up mariadb-10.0.12/scripts/mysqld_multi.sh.cmakepaths mariadb-10.0.12/scripts/mysqld_multi.sh +--- mariadb-10.0.12/scripts/mysqld_multi.sh.cmakepaths 2014-06-12 11:26:04.000000000 +0200 ++++ mariadb-10.0.12/scripts/mysqld_multi.sh 2014-07-25 08:39:04.878937857 +0200 +@@ -499,9 +499,7 @@ sub list_defaults_files + + my %seen; # Don't list the same file more than once + return grep { defined $_ and not $seen{$_}++ and -f $_ and -r $_ } +- ('/etc/my.cnf', +- '/etc/mysql/my.cnf', +- '@sysconfdir@/my.cnf', ++ ('@sysconfdir@/my.cnf', + ($ENV{MYSQL_HOME} ? "$ENV{MYSQL_HOME}/my.cnf" : undef), + $opt{'extra-file'}, + ($ENV{HOME} ? "$ENV{HOME}/.my.cnf" : undef)); +diff -up mariadb-10.0.12/scripts/mytop.sh.cmakepaths mariadb-10.0.12/scripts/mytop.sh +--- mariadb-10.0.12/scripts/mytop.sh.cmakepaths 2014-06-12 11:26:06.000000000 +0200 ++++ mariadb-10.0.12/scripts/mytop.sh 2014-07-25 08:39:04.879937858 +0200 +@@ -1829,8 +1829,8 @@ sub FindProg($) + { + my $prog = shift; + my $found = undef; +- my @search_dirs = ("/bin", "/usr/bin", "/usr/sbin", +- "/usr/local/bin", "/usr/local/sbin"); ++ my @search_dirs = ("@prefix@", "@prefix@/bin", "@prefix@/sbin", ++ "@prefix@/local/bin", "@prefix@/local/sbin"); + + for (@search_dirs) + { diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index 650bbad..49f36c6 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -1,7 +1,7 @@ diff -up mariadb-10.0.12/scripts/CMakeLists.txt.systemd mariadb-10.0.12/scripts/CMakeLists.txt --- mariadb-10.0.12/scripts/CMakeLists.txt.systemd 2014-07-21 10:49:58.491470586 +0200 +++ mariadb-10.0.12/scripts/CMakeLists.txt 2014-07-21 14:21:22.673329708 +0200 -@@ -368,6 +368,32 @@ ELSE() +@@ -368,6 +368,33 @@ ELSE() COMPONENT ${${file}_COMPONENT} ) ENDFOREACH() @@ -18,6 +18,7 @@ diff -up mariadb-10.0.12/scripts/CMakeLists.txt.systemd mariadb-10.0.12/scripts/ + mysql.init + mysql-compat.service + mysql-compat.conf ++ my.cnf + ) + FOREACH(file ${SYSTEMD_SCRIPTS}) + IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh) @@ -34,3 +35,15 @@ diff -up mariadb-10.0.12/scripts/CMakeLists.txt.systemd mariadb-10.0.12/scripts/ ENDIF() # Install libgcc as mylibgcc.a +diff -up mariadb-10.0.12/support-files/CMakeLists.txt.cmakescripts mariadb-10.0.12/support-files/CMakeLists.txt +--- mariadb-10.0.12/support-files/CMakeLists.txt.cmakescripts 2014-07-24 22:31:38.116002679 +0200 ++++ mariadb-10.0.12/support-files/CMakeLists.txt 2014-07-24 22:35:00.532233645 +0200 +@@ -110,6 +110,8 @@ IF(UNIX) + COMPONENT SharedLibraries) + INSTALL(FILES rpm/mysql-clients.cnf DESTINATION ${INSTALL_SYSCONF2DIR} + COMPONENT Client) ++ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/rpm/server.cnf ++ ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY ) + INSTALL(FILES rpm/server.cnf DESTINATION ${INSTALL_SYSCONF2DIR} + COMPONENT IniFiles) + ENDIF() diff --git a/mariadb.spec b/mariadb.spec index c99d293..a90acb7 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -117,7 +117,7 @@ License: GPLv2 with exceptions and LGPLv2 and BSD Source0: http://mirrors.syringanetworks.net/mariadb/mariadb-%{version}/source/mariadb-%{version}.tar.gz Source2: mysql_config_multilib.sh -Source3: my.cnf +Source3: my.cnf.in Source4: my_config.h Source5: README.mysql-cnf Source6: README.mysql-docs @@ -148,6 +148,7 @@ Patch5: %{pkgname}-cipherspec.patch Patch6: %{pkgname}-file-contents.patch Patch7: %{pkgname}-dh1024.patch Patch8: %{pkgname}-scripts.patch +Patch9: %{pkgname}-paths.patch # Patches specific for this mysql package Patch30: %{pkgname}-errno.patch @@ -442,6 +443,7 @@ MariaDB is a community developed branch of MySQL. %patch6 -p1 %patch7 -p1 %patch8 -p1 +%patch9 -p1 %patch30 -p1 %patch31 -p1 %patch32 -p1 @@ -476,8 +478,8 @@ cat %{SOURCE53} >> mysql-test/rh-skipped-tests.list cat %{SOURCE54} >> mysql-test/rh-skipped-tests.list %endif -cp %{SOURCE2} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} \ - %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} scripts +cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ + %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} scripts %build @@ -522,8 +524,12 @@ cmake . -DBUILD_CONFIG=mysql_release \ -DINSTALL_LAYOUT=RPM \ -DDAEMON_NAME="%{daemon_name}" \ %if 0%{?mysqld_unit:1} - -DDAEMON_NAME2="%{mysqld_unit}" \ + -DDAEMON_NAME_COMPAT="%{mysqld_unit}" \ %endif + -DLOG_LOCATION="%{logfile}" \ + -DLOG_LOCATION_COMPAT="%{old_logfile}" \ + -DPID_FILE_DIR="%{_localstatedir}/run/%{daemon_name}" \ + -DPID_FILE_DIR_COMAPT="%{_localstatedir}/run/%{mysqld_unit}" \ -DNICE_PROJECT_NAME="MariaDB" \ -DRPM="%{?rhel:rhel%{rhel}}%{!?rhel:fedora%{fedora}}" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ @@ -556,7 +562,7 @@ cmake . -DBUILD_CONFIG=mysql_release \ %{?with_pcre: -DWITH_PCRE=system}\ -DWITH_JEMALLOC=no \ %{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\ - -DTMPDIR=%{_localstatedir}/tmp \ + -DTMPDIR=/var/tmp \ -DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now" make %{?_smp_mflags} VERBOSE=1 @@ -1101,6 +1107,7 @@ fi %changelog * Tue Jul 22 2014 Honza Horak - 1:10.0.12-5 +- Hardcoded paths removed to work fine in chroot - Spec rewrite to be more similar to oterh MySQL implementations - Use variable for daemon unit name - Include SysV init script if built on older system diff --git a/my.cnf b/my.cnf.in similarity index 84% rename from my.cnf rename to my.cnf.in index ac882ac..06b7438 100644 --- a/my.cnf +++ b/my.cnf.in @@ -14,16 +14,16 @@ symbolic-links=0 # 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). +# @sysconfdir@/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. -log-error=/var/log/mysqld.log -pid-file=/var/run/mysqld/mysqld.pid +log-error=@LOG_LOCATION_COMPAT@ +pid-file=@PID_FILE_DIR_COMAPT@/@DAEMON_NAME_COMPAT@.pid [mysqld_safe] # # include all files from the config directory # -!includedir /etc/my.cnf.d +!includedir @sysconfdir@/my.cnf.d diff --git a/mysql-scripts-common.sh b/mysql-scripts-common.sh index 7ce9a11..29f3a93 100755 --- a/mysql-scripts-common.sh +++ b/mysql-scripts-common.sh @@ -18,7 +18,7 @@ get_mysql_option(){ sections="$1" option_name="$2" default_value="$3" - result=`/usr/bin/my_print_defaults $sections | sed -n "s/^--${option_name}=//p" | tail -n 1` + result=`@bindir@/my_print_defaults $sections | sed -n "s/^--${option_name}=//p" | tail -n 1` if [ -z "$result" ]; then # not found, use default result="${default_value}" @@ -30,7 +30,7 @@ get_mysql_option(){ # on the default installation: # 1) default values are hardcoded in the code of mysqld daemon or # mysqld_safe script -# 2) configurable values are defined in /etc/my.cnf +# 2) configurable values are defined in @sysconfdir@/my.cnf # 3) default values for helper scripts are specified bellow # So, in case values are defined in my.cnf, we need to get that value. # In case they are not defined in my.cnf, we need to get the same value diff --git a/mysql.tmpfiles.d.in b/mysql.tmpfiles.d.in index 3799c46..1a196ee 100644 --- a/mysql.tmpfiles.d.in +++ b/mysql.tmpfiles.d.in @@ -1,2 +1,2 @@ -d /var/run/@DAEMON_NAME2@ 0755 mysql mysql - -d /var/run/@DAEMON_NAME@ 0755 mysql mysql - +d @PID_FILE_DIR@ 0755 mysql mysql - +d @PID_FILE_DIR_COMAPT@ 0755 mysql mysql - From 29691cea7568103f5413f9c9fecb69e5548ad2fa Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 25 Jul 2014 09:22:10 +0200 Subject: [PATCH 150/789] Added forgotten mysql-compat.conf.in --- mysql-compat.conf.in | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 mysql-compat.conf.in diff --git a/mysql-compat.conf.in b/mysql-compat.conf.in new file mode 100644 index 0000000..5c098df --- /dev/null +++ b/mysql-compat.conf.in @@ -0,0 +1,6 @@ +[Unit] +BindsTo=@DAEMON_NAME_COMPAT@.service + +[Install] +Also=@DAEMON_NAME_COMPAT@.service + From 842d2220fe6def8b7a1c382c172191f28edb32d0 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 28 Jul 2014 19:24:01 +0200 Subject: [PATCH 151/789] Use explicit sysconfdir --- mariadb.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index a90acb7..a745952 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -103,7 +103,7 @@ Name: %{pkgname} Version: 10.0.12 -Release: 5%{?dist} +Release: 6%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -533,6 +533,8 @@ cmake . -DBUILD_CONFIG=mysql_release \ -DNICE_PROJECT_NAME="MariaDB" \ -DRPM="%{?rhel:rhel%{rhel}}%{!?rhel:fedora%{fedora}}" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ + -DINSTALL_SYSCONFDIR="%{_sysconfdir}" \ + -DINSTALL_SYSCONF2DIR="%{_sysconfdir}/my.cnf.d" \ %if 0%{?fedora} >= 20 -DINSTALL_DOCDIR="share/doc/%{name}" \ -DINSTALL_DOCREADMEDIR="share/doc/%{name}" \ @@ -1106,6 +1108,9 @@ fi %endif %changelog +* Mon Jul 28 2014 Honza Horak - 1:10.0.12-6 +- Use explicit sysconfdir + * Tue Jul 22 2014 Honza Horak - 1:10.0.12-5 - Hardcoded paths removed to work fine in chroot - Spec rewrite to be more similar to oterh MySQL implementations From 088c1e447fada9f69a2851aa0dea9004d25a577f Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 28 Jul 2014 19:26:09 +0200 Subject: [PATCH 152/789] Absolut path for default value for pid file and error log --- mariadb.spec | 1 + mysql-scripts-common.sh | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index a745952..cc9f84b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1110,6 +1110,7 @@ fi %changelog * Mon Jul 28 2014 Honza Horak - 1:10.0.12-6 - Use explicit sysconfdir +- Absolut path for default value for pid file and error log * Tue Jul 22 2014 Honza Horak - 1:10.0.12-5 - Hardcoded paths removed to work fine in chroot diff --git a/mysql-scripts-common.sh b/mysql-scripts-common.sh index 29f3a93..2ec5fc5 100755 --- a/mysql-scripts-common.sh +++ b/mysql-scripts-common.sh @@ -48,11 +48,11 @@ datadir="$result" # log-error might be defined in mysqld_safe and mysqld sections, # the former has bigger priority get_mysql_option "$server_sections" log-error "`hostname`.err" -errlogfile="$result" +errlogfile="$datadir/$result" get_mysql_option "$server_sections" socket "@MYSQL_UNIX_ADDR@" socketfile="$result" get_mysql_option "$server_sections" pid-file "`hostname`.pid" -pidfile="$result" +pidfile="$datadir/$result" From 7de9cfe709b91e13bdeb9ff9b48fd9eb1fb3e305 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 5 Aug 2014 07:29:17 +0200 Subject: [PATCH 153/789] Fix several path issues. --- README.mysql-cnf | 4 ++-- mariadb-paths.patch | 12 ++++++++++++ mariadb.spec | 4 ++-- my.cnf.in | 6 +++--- mysql-scripts-common.sh | 8 ++++---- mysql.tmpfiles.d.in | 2 +- 6 files changed, 24 insertions(+), 12 deletions(-) diff --git a/README.mysql-cnf b/README.mysql-cnf index 10a75fa..3700c7f 100644 --- a/README.mysql-cnf +++ b/README.mysql-cnf @@ -7,7 +7,7 @@ provided in this distribution. Thus, it is recommended to use these configuration files as an addition to the default my.cnf configuration file. -Since default my.cnf contains `!includedir @sysconfdir@/my.cnf.d` directive, it is -recommended to copy required configuration under @sysconfdir@/my.cnf.d/ directory, +Since default my.cnf contains `!includedir @INSTALL_SYSCONF2DIR@` directive, it is +recommended to copy required configuration under @INSTALL_SYSCONF2DIR@ directory, so the default my.cnf specifications will be extended. diff --git a/mariadb-paths.patch b/mariadb-paths.patch index c79302a..78ea82a 100644 --- a/mariadb-paths.patch +++ b/mariadb-paths.patch @@ -151,3 +151,15 @@ diff -up mariadb-10.0.12/scripts/mytop.sh.cmakepaths mariadb-10.0.12/scripts/myt for (@search_dirs) { +diff -up mariadb-10.0.12/scripts/CMakeLists.txt.patchs mariadb-10.0.12/scripts/CMakeLists.txt +--- mariadb-10.0.12/scripts/CMakeLists.txt.patchs 2014-08-04 22:21:02.577917599 +0200 ++++ mariadb-10.0.12/scripts/CMakeLists.txt 2014-08-04 22:21:42.712940832 +0200 +@@ -221,7 +221,7 @@ INSTALL_SCRIPT( + ENDIF() + + SET(prefix "${CMAKE_INSTALL_PREFIX}") +-SET(sysconfdir ${prefix}) ++SET(sysconfdir ${prefix}/${INSTALL_SYSCONFDIR}) + SET(bindir ${prefix}/${INSTALL_BINDIR}) + SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) + SET(scriptdir ${prefix}/${INSTALL_BINDIR}) diff --git a/mariadb.spec b/mariadb.spec index cc9f84b..b72eff9 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -529,7 +529,7 @@ cmake . -DBUILD_CONFIG=mysql_release \ -DLOG_LOCATION="%{logfile}" \ -DLOG_LOCATION_COMPAT="%{old_logfile}" \ -DPID_FILE_DIR="%{_localstatedir}/run/%{daemon_name}" \ - -DPID_FILE_DIR_COMAPT="%{_localstatedir}/run/%{mysqld_unit}" \ + -DPID_FILE_DIR_COMPAT="%{_localstatedir}/run/%{mysqld_unit}" \ -DNICE_PROJECT_NAME="MariaDB" \ -DRPM="%{?rhel:rhel%{rhel}}%{!?rhel:fedora%{fedora}}" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ @@ -626,7 +626,7 @@ mkdir -p %{buildroot}%{_localstatedir}/run/%{name} install -p -m 0755 -d %{buildroot}%{_localstatedir}/lib/mysql %if %{ship_my_cnf} -install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/my.cnf +install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf %else rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf rm -f %{buildroot}%{_sysconfdir}/my.cnf diff --git a/my.cnf.in b/my.cnf.in index 06b7438..660c40e 100644 --- a/my.cnf.in +++ b/my.cnf.in @@ -14,16 +14,16 @@ symbolic-links=0 # 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 -# @sysconfdir@/my.cnf.d/server.cnf (part of mariadb-server). +# @INSTALL_SYSCONF2DIR@/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. log-error=@LOG_LOCATION_COMPAT@ -pid-file=@PID_FILE_DIR_COMAPT@/@DAEMON_NAME_COMPAT@.pid +pid-file=@PID_FILE_DIR_COMPAT@/@DAEMON_NAME_COMPAT@.pid [mysqld_safe] # # include all files from the config directory # -!includedir @sysconfdir@/my.cnf.d +!includedir @INSTALL_SYSCONF2DIR@ diff --git a/mysql-scripts-common.sh b/mysql-scripts-common.sh index 2ec5fc5..925cf9c 100755 --- a/mysql-scripts-common.sh +++ b/mysql-scripts-common.sh @@ -47,12 +47,12 @@ datadir="$result" # returns log-error # log-error might be defined in mysqld_safe and mysqld sections, # the former has bigger priority -get_mysql_option "$server_sections" log-error "`hostname`.err" -errlogfile="$datadir/$result" +get_mysql_option "$server_sections" log-error "$datadir/`hostname`.err" +errlogfile="$result" get_mysql_option "$server_sections" socket "@MYSQL_UNIX_ADDR@" socketfile="$result" -get_mysql_option "$server_sections" pid-file "`hostname`.pid" -pidfile="$datadir/$result" +get_mysql_option "$server_sections" pid-file "$datadir/`hostname`.pid" +pidfile="$result" diff --git a/mysql.tmpfiles.d.in b/mysql.tmpfiles.d.in index 1a196ee..937087a 100644 --- a/mysql.tmpfiles.d.in +++ b/mysql.tmpfiles.d.in @@ -1,2 +1,2 @@ d @PID_FILE_DIR@ 0755 mysql mysql - -d @PID_FILE_DIR_COMAPT@ 0755 mysql mysql - +d @PID_FILE_DIR_COMPAT@ 0755 mysql mysql - From 2a7a489639586c042f248384543c55c6695cd6bc Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 5 Aug 2014 14:20:26 +0200 Subject: [PATCH 154/789] Adopt changes from mysql, thanks Bjorn Munch --- README.mysql-license | 3 + mariadb-paths.patch | 2 +- mariadb.spec | 138 ++++++++++++++++++++-------------------- mysql-prepare-db-dir.sh | 2 +- mysql.init.in | 8 +-- 5 files changed, 79 insertions(+), 74 deletions(-) diff --git a/README.mysql-license b/README.mysql-license index 1282653..ceabbcf 100644 --- a/README.mysql-license +++ b/README.mysql-license @@ -4,3 +4,6 @@ so long as the application is under a license approved by Oracle. For details see http://www.mysql.com/about/legal/licensing/foss-exception/ + +Some innobase code from Percona and Google is under BSD license. +Some code related to test-suite is under LGPLv2. diff --git a/mariadb-paths.patch b/mariadb-paths.patch index 78ea82a..c801b0b 100644 --- a/mariadb-paths.patch +++ b/mariadb-paths.patch @@ -159,7 +159,7 @@ diff -up mariadb-10.0.12/scripts/CMakeLists.txt.patchs mariadb-10.0.12/scripts/C SET(prefix "${CMAKE_INSTALL_PREFIX}") -SET(sysconfdir ${prefix}) -+SET(sysconfdir ${prefix}/${INSTALL_SYSCONFDIR}) ++SET(sysconfdir ${INSTALL_SYSCONFDIR}) SET(bindir ${prefix}/${INSTALL_BINDIR}) SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) SET(scriptdir ${prefix}/${INSTALL_BINDIR}) diff --git a/mariadb.spec b/mariadb.spec index b72eff9..72b7124 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,5 +1,6 @@ # Name of the package without any prefixes %global pkgname mariadb +%global pkgnamepatch mariadb # 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 @@ -76,8 +77,8 @@ # We define some system's well known locations here so we can use them easily # later when building to another location (like SCL) %global logrotateddir %{_sysconfdir}/logrotate.d -%global logfiledir %{_localstatedir}/log/%{name} -%global logfile %{logfiledir}/%{name}.log +%global logfiledir %{_localstatedir}/log/%{daemon_name} +%global logfile %{logfiledir}/%{daemon_name}.log %if 0%{?fedora} >= 20 %global old_logfile %{_localstatedir}/log/mysqld.log %endif @@ -99,11 +100,13 @@ %global mysqld_running_flag_file %{_localstatedir}/lib/rpm-state/mysqld_running # Make long macros shorter -%global sameevp %{epoch}:%{version}-%{release} +%global sameevr %{epoch}:%{version}-%{release} +%global compatver 10.0 +%global bugfixver 12 Name: %{pkgname} -Version: 10.0.12 -Release: 6%{?dist} +Version: %{compatver}.%{bugfixver} +Release: 7%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -111,8 +114,6 @@ Group: Applications/Databases URL: http://mariadb.org # 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 Source0: http://mirrors.syringanetworks.net/mariadb/mariadb-%{version}/source/mariadb-%{version}.tar.gz @@ -140,25 +141,25 @@ Source54: rh-skipped-tests-ppc64le.list # Comments for these patches are in the patch files # Patches common for more mysql-like packages -Patch1: %{pkgname}-strmov.patch -Patch2: %{pkgname}-install-test.patch -Patch3: %{pkgname}-s390-tsc.patch -Patch4: %{pkgname}-logrotate.patch -Patch5: %{pkgname}-cipherspec.patch -Patch6: %{pkgname}-file-contents.patch -Patch7: %{pkgname}-dh1024.patch -Patch8: %{pkgname}-scripts.patch -Patch9: %{pkgname}-paths.patch +Patch1: %{pkgnamepatch}-strmov.patch +Patch2: %{pkgnamepatch}-install-test.patch +Patch3: %{pkgnamepatch}-s390-tsc.patch +Patch4: %{pkgnamepatch}-logrotate.patch +Patch5: %{pkgnamepatch}-cipherspec.patch +Patch6: %{pkgnamepatch}-file-contents.patch +Patch7: %{pkgnamepatch}-dh1024.patch +Patch8: %{pkgnamepatch}-scripts.patch +Patch9: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package -Patch30: %{pkgname}-errno.patch -Patch31: %{pkgname}-string-overflow.patch -Patch32: %{pkgname}-basedir.patch -Patch33: %{pkgname}-covscan-signexpr.patch -Patch34: %{pkgname}-covscan-stroverflow.patch -Patch35: %{pkgname}-config.patch -Patch36: %{pkgname}-ssltest.patch -Patch37: %{pkgname}-mysql_config.patch +Patch30: %{pkgnamepatch}-errno.patch +Patch31: %{pkgnamepatch}-string-overflow.patch +Patch32: %{pkgnamepatch}-basedir.patch +Patch33: %{pkgnamepatch}-covscan-signexpr.patch +Patch34: %{pkgnamepatch}-covscan-stroverflow.patch +Patch35: %{pkgnamepatch}-config.patch +Patch36: %{pkgnamepatch}-ssltest.patch +Patch37: %{pkgnamepatch}-mysql_config.patch BuildRequires: cmake BuildRequires: libaio-devel @@ -190,12 +191,12 @@ BuildRequires: perl(Time::HiRes) Requires: bash Requires: fileutils Requires: grep -Requires: %{name}-common%{?_isa} = %{sameevp} +Requires: %{name}-common%{?_isa} = %{sameevr} -Provides: mysql = %{sameevp} -Provides: mysql%{?_isa} = %{sameevp} -Provides: mysql-compat-client = %{sameevp} -Provides: mysql-compat-client%{?_isa} = %{sameevp} +Provides: mysql = %{sameevr} +Provides: mysql%{?_isa} = %{sameevr} +Provides: mysql-compat-client = %{sameevr} +Provides: mysql-compat-client%{?_isa} = %{sameevr} # MySQL (with caps) is upstream's spelling of their own RPMs for mysql %{?obsoleted_mysql_case_evr:Obsoletes: MySQL < %{obsoleted_mysql_case_evr}} @@ -203,7 +204,7 @@ Provides: mysql-compat-client%{?_isa} = %{sameevp} Conflicts: community-mysql # Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering -%if 0%{?__requires_exclude:1} +%if 0%{?fedora} > 14 || 0%{?rhel} > 6 %global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) %global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ %else @@ -224,9 +225,9 @@ contains the standard MariaDB/MySQL client programs and generic MySQL files. %package libs Summary: The shared libraries required for MariaDB/MySQL clients Group: Applications/Databases -Requires: %{name}-common%{?_isa} = %{sameevp} -Provides: mysql-libs = %{sameevp} -Provides: mysql-libs%{?_isa} = %{sameevp} +Requires: %{name}-common%{?_isa} = %{sameevr} +Provides: mysql-libs = %{sameevr} +Provides: mysql-libs%{?_isa} = %{sameevr} %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-libs < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-libs < %{obsoleted_mysql_evr}} @@ -256,7 +257,7 @@ You will need to install this package to use any other MariaDB package. %package errmsg Summary: The error messages files required by server and embedded Group: Applications/Databases -Requires: %{name}-common%{?_isa} = %{sameevp} +Requires: %{name}-common%{?_isa} = %{sameevr} %description errmsg The package provides error messages files for the MariaDB daemon and the @@ -271,12 +272,12 @@ Group: Applications/Databases # note: no version here = %{version}-%{release} Requires: mysql-compat-client%{?_isa} -Requires: %{name}-common%{?_isa} = %{sameevp} +Requires: %{name}-common%{?_isa} = %{sameevr} %if %{without common} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d %endif -Requires: %{name}-errmsg%{?_isa} = %{sameevp} +Requires: %{name}-errmsg%{?_isa} = %{sameevr} Requires: sh-utils Requires(pre): /usr/sbin/useradd %if %{with init_systemd} @@ -290,10 +291,10 @@ Requires(posttrans): systemd # mysqlhotcopy needs DBI/DBD support Requires: perl(DBI) Requires: perl(DBD::mysql) -Provides: mysql-server = %{sameevp} -Provides: mysql-server%{?_isa} = %{sameevp} -Provides: mysql-compat-server = %{sameevp} -Provides: mysql-compat-server%{?_isa} = %{sameevp} +Provides: mysql-server = %{sameevr} +Provides: mysql-server%{?_isa} = %{sameevr} +Provides: mysql-compat-server = %{sameevr} +Provides: mysql-compat-server%{?_isa} = %{sameevr} %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-server < %{obsoleted_mysql_case_evr}} Conflicts: community-mysql-server Conflicts: mariadb-galera-server @@ -311,7 +312,7 @@ MariaDB is a community developed branch of MySQL. %package oqgraph Summary: The Open Query GRAPH engine for MariaDB Group: Applications/Databases -Requires: %{name}-server%{?_isa} = %{sameevp} +Requires: %{name}-server%{?_isa} = %{sameevr} # boost and Judy required for oograph BuildRequires: boost-devel BuildRequires: Judy-devel @@ -329,10 +330,10 @@ standard SQL syntax, and results joined onto other tables. %package devel Summary: Files for development of MariaDB/MySQL applications Group: Applications/Databases -Requires: %{name}-libs%{?_isa} = %{sameevp} +Requires: %{name}-libs%{?_isa} = %{sameevr} Requires: openssl-devel%{?_isa} -Provides: mysql-devel = %{sameevp} -Provides: mysql-devel%{?_isa} = %{sameevp} +Provides: mysql-devel = %{sameevr} +Provides: mysql-devel%{?_isa} = %{sameevr} %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-devel < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-devel < %{obsoleted_mysql_evr}} Conflicts: community-mysql-devel @@ -349,10 +350,10 @@ MariaDB is a community developed branch of MySQL. %package embedded Summary: MariaDB as an embeddable library Group: Applications/Databases -Requires: %{name}-common%{?_isa} = %{sameevp} -Requires: %{name}-errmsg%{?_isa} = %{sameevp} -Provides: mysql-embedded = %{sameevp} -Provides: mysql-embedded%{?_isa} = %{sameevp} +Requires: %{name}-common%{?_isa} = %{sameevr} +Requires: %{name}-errmsg%{?_isa} = %{sameevr} +Provides: mysql-embedded = %{sameevr} +Provides: mysql-embedded%{?_isa} = %{sameevr} %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-embedded < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-embedded < %{obsoleted_mysql_evr}} @@ -366,10 +367,10 @@ MariaDB is a community developed branch of MySQL. %package embedded-devel Summary: Development files for MariaDB as an embeddable library Group: Applications/Databases -Requires: %{name}-embedded%{?_isa} = %{sameevp} -Requires: %{name}-devel%{?_isa} = %{sameevp} -Provides: mysql-embedded-devel = %{sameevp} -Provides: mysql-embedded-devel%{?_isa} = %{sameevp} +Requires: %{name}-embedded%{?_isa} = %{sameevr} +Requires: %{name}-devel%{?_isa} = %{sameevr} +Provides: mysql-embedded-devel = %{sameevr} +Provides: mysql-embedded-devel%{?_isa} = %{sameevr} Conflicts: community-mysql-embedded-devel %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-embedded-devel < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-embedded-devel < %{obsoleted_mysql_evr}} @@ -386,9 +387,9 @@ MariaDB is a community developed branch of MySQL. %package bench Summary: MariaDB benchmark scripts and data Group: Applications/Databases -Requires: %{name}%{?_isa} = %{sameevp} -Provides: mysql-bench = %{sameevp} -Provides: mysql-bench%{?_isa} = %{sameevp} +Requires: %{name}%{?_isa} = %{sameevr} +Provides: mysql-bench = %{sameevr} +Provides: mysql-bench%{?_isa} = %{sameevr} Conflicts: community-mysql-bench %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-bench < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-bench < %{obsoleted_mysql_evr}} @@ -405,9 +406,9 @@ MariaDB is a community developed branch of MySQL. %package test Summary: The test suite distributed with MariaD Group: Applications/Databases -Requires: %{name}%{?_isa} = %{sameevp} -Requires: %{name}-common%{?_isa} = %{sameevp} -Requires: %{name}-server%{?_isa} = %{sameevp} +Requires: %{name}%{?_isa} = %{sameevr} +Requires: %{name}-common%{?_isa} = %{sameevr} +Requires: %{name}-server%{?_isa} = %{sameevr} Requires: perl(Env) Requires: perl(Exporter) Requires: perl(Fcntl) @@ -420,8 +421,8 @@ Requires: perl(Sys::Hostname) Requires: perl(Test::More) Requires: perl(Time::HiRes) Conflicts: community-mysql-test -Provides: mysql-test = %{sameevp} -Provides: mysql-test%{?_isa} = %{sameevp} +Provides: mysql-test = %{sameevr} +Provides: mysql-test%{?_isa} = %{sameevr} %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-test < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-test < %{obsoleted_mysql_evr}} @@ -565,7 +566,7 @@ cmake . -DBUILD_CONFIG=mysql_release \ -DWITH_JEMALLOC=no \ %{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\ -DTMPDIR=/var/tmp \ - -DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now" + %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} make %{?_smp_mflags} VERBOSE=1 @@ -620,9 +621,9 @@ ln -s %{logfile} %{buildroot}%{old_logfile} # current setting in my.cnf is to use /var/run/mariadb for creating pid file, # however since my.cnf is not updated by RPM if changed, we need to create mysqld -# as well because users can have od settings in their /etc/my.cnf -mkdir -p %{buildroot}%{_localstatedir}/run/mysqld -mkdir -p %{buildroot}%{_localstatedir}/run/%{name} +# as well because users can have odd settings in their /etc/my.cnf +mkdir -p %{buildroot}%{_localstatedir}/run/%{mysqld_unit} +mkdir -p %{buildroot}%{_localstatedir}/run/%{daemon_name} install -p -m 0755 -d %{buildroot}%{_localstatedir}/lib/mysql %if %{ship_my_cnf} @@ -877,8 +878,6 @@ fi %endif %files -%doc README.mysql-docs - %if %{with client} %{_bindir}/msql2mysql %{_bindir}/mysql @@ -923,7 +922,7 @@ fi %if %{with common} %files common -%doc README COPYING COPYING.LESSER README.mysql-license +%doc README COPYING COPYING.LESSER README.mysql-license README.mysql-docs %doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google # although the default my.cnf contains only server settings, we put it in the # common package because it can be used for client settings too. @@ -1055,7 +1054,7 @@ fi %{_libexecdir}/mysql-scripts-common %{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} -%attr(0755,mysql,mysql) %dir %{_localstatedir}/run/mysqld +%attr(0755,mysql,mysql) %dir %{_localstatedir}/run/%{mysqld_unit} %attr(0755,mysql,mysql) %dir %{_localstatedir}/run/%{daemon_name} %attr(0755,mysql,mysql) %dir %{_localstatedir}/lib/mysql %attr(0750,mysql,mysql) %dir %{logfiledir} @@ -1108,6 +1107,9 @@ fi %endif %changelog +* Tue Aug 5 2014 Honza Horak - 1:10.0.12-7 +- Adopt changes from mysql, thanks Bjorn Munch + * Mon Jul 28 2014 Honza Horak - 1:10.0.12-6 - Use explicit sysconfdir - Absolut path for default value for pid file and error log diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index 0507f52..e1dad61 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -69,7 +69,7 @@ if [ ! -d "$datadir/mysql" ] ; then # Now create the database echo "Initializing @NICE_PROJECT_NAME@ database" - @bindir@/mysql_install_db --datadir="$datadir" --user="$myuser" + @bindir@/mysql_install_db --rpm --datadir="$datadir" --user="$myuser" ret=$? if [ $ret -ne 0 ] ; then echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2 diff --git a/mysql.init.in b/mysql.init.in index 91e2f98..d6b43d3 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -39,7 +39,7 @@ MYGROUP=mysql lockfile=/var/lock/subsys/$prog # get options from my.cnf -source "@libexecdir@/mariadb-scripts-common" +source "@libexecdir@/mysql-scripts-common" start(){ [ -x $exec ] || exit 5 @@ -62,8 +62,8 @@ start(){ action $"Starting $prog: " /bin/true ret=0 else - @libexecdir@/mariadb-prepare-db-dir $MYUSER $MYGROUP || return 4 - @libexecdir@/mariadb-check-socket || return 1 + @libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP || return 4 + @libexecdir@/mysql-check-socket || return 1 # Pass all the options determined above, to ensure consistent behavior. # In many cases mysqld_safe would arrive at the same conclusions anyway @@ -78,7 +78,7 @@ start(){ safe_pid=$! # Wait until the daemon is up - @libexecdir@/mariadb-wait-ready "$safe_pid" + @libexecdir@/mysql-wait-ready "$safe_pid" ret=$? if [ $ret -eq 0 ]; then From c3689f98c074c574c697a4d9620e8b2399cb4c65 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 6 Aug 2014 07:04:03 +0200 Subject: [PATCH 155/789] Move %files section into with client condition --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 72b7124..1acf893 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -877,8 +877,8 @@ if [ $1 -ge 1 ]; then fi %endif -%files %if %{with client} +%files %{_bindir}/msql2mysql %{_bindir}/mysql %{_bindir}/mysql_find_rows From 0690baa687777582776185bd588b89372691a25a Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 13 Aug 2014 16:07:48 +0200 Subject: [PATCH 156/789] Introduce -config subpackage and ship base config files here --- mariadb.spec | 71 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 43 insertions(+), 28 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 1acf893..2f0cc4e 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,5 +1,5 @@ # Name of the package without any prefixes -%global pkgname mariadb +%global pkgname mariadb %global pkgnamepatch mariadb # Regression tests may take a long time (many cores recommended), skip them by @@ -17,17 +17,6 @@ # Turn that off to ensure such files don't get included in RPMs (cf bz#884755). %global _default_patch_flags --no-backup-if-mismatch -# When there is already another package that ships /etc/my.cnf, -# rather include it than ship the file again, since conflicts between -# those files may create issues -# ship_my_cnf=1 means this is the only package in distro which ships -# my.cnf and my.cnf.d -%if 0%{?fedora} >= 21 -%global ship_my_cnf 1 -%else -%global ship_my_cnf 0 -%endif - # TokuDB engine is now part of MariaDB, but it is available only for x86_64; # variable tokudb allows to build with TokuDB storage engine # Temporarily disabled for https://mariadb.atlassian.net/browse/MDEV-6446 @@ -52,6 +41,15 @@ %bcond_without bench %bcond_without test +# When there is already another package that ships /etc/my.cnf, +# rather include it than ship the file again, since conflicts between +# those files may create issues +%if 0%{?fedora} >= 21 +%bcond_without config +%else +%bcond_with config +%endif + # Include files for SysV init or systemd %if 0%{?fedora} >= 15 %bcond_without init_systemd @@ -106,7 +104,7 @@ Name: %{pkgname} Version: %{compatver}.%{bugfixver} -Release: 7%{?dist} +Release: 8%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -239,13 +237,24 @@ to a MariaDB/MySQL server. MariaDB is a community developed branch of MySQL. %endif -%if %{with common} +%if %{with config} +%package config +Summary: The config files required by server and client +Group: Applications/Databases + +%description config +The package provides the config file my.cnf and my.cnf.d directory used by any +MariaDB or MySQL program. You will need to install this package to use any +other MariaDB or MySQL package if the config files are not provided in the +package itself. +%endif + + +%%if %{with common} %package common Summary: The shared files required by server and client Group: Applications/Databases -%if ! %{ship_my_cnf} Requires: %{_sysconfdir}/my.cnf -%endif %description common The package provides the essential shared files for any MariaDB program. @@ -270,13 +279,11 @@ MariaDB packages. Summary: The MariaDB server and related files Group: Applications/Databases -# note: no version here = %{version}-%{release} +# note: no version here = %%{version}-%%{release} Requires: mysql-compat-client%{?_isa} Requires: %{name}-common%{?_isa} = %{sameevr} -%if %{without common} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d -%endif Requires: %{name}-errmsg%{?_isa} = %{sameevr} Requires: sh-utils Requires(pre): /usr/sbin/useradd @@ -564,7 +571,7 @@ cmake . -DBUILD_CONFIG=mysql_release \ -DWITH_ZLIB=system \ %{?with_pcre: -DWITH_PCRE=system}\ -DWITH_JEMALLOC=no \ -%{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\ +%{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\ -DTMPDIR=/var/tmp \ %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} @@ -587,7 +594,7 @@ make DESTDIR=%{buildroot} install # 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/' \ - %{buildroot}%{_bindir}/mysql_config >mysql_config.tmp + %{buildroot}%{_bindir}/mysql_config >mysql_config.tmp cp -p -f mysql_config.tmp %{buildroot}%{_bindir}/mysql_config chmod 755 %{buildroot}%{_bindir}/mysql_config @@ -626,7 +633,7 @@ mkdir -p %{buildroot}%{_localstatedir}/run/%{mysqld_unit} mkdir -p %{buildroot}%{_localstatedir}/run/%{daemon_name} install -p -m 0755 -d %{buildroot}%{_localstatedir}/lib/mysql -%if %{ship_my_cnf} +%if %{with config} install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf %else rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf @@ -743,9 +750,12 @@ my_print_defaults}.1* rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/{client,connect}.cnf %endif -%if %{without common} +%if %{without config} rm -f %{buildroot}%{_sysconfdir}/my.cnf rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf +%endif + +%if %{without common} rm -rf %{buildroot}%{_datadir}/%{name}/charsets %endif @@ -920,17 +930,19 @@ fi %{_sysconfdir}/ld.so.conf.d/* %endif -%if %{with common} -%files common -%doc README COPYING COPYING.LESSER README.mysql-license README.mysql-docs -%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google +%if %{with config} +%files config # although the default my.cnf contains only server settings, we put it in the # common package because it can be used for client settings too. -%if %{ship_my_cnf} %config(noreplace) %{_sysconfdir}/my.cnf %dir %{_sysconfdir}/my.cnf.d %config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf %endif + +%if %{with common} +%files common +%doc README COPYING COPYING.LESSER README.mysql-license README.mysql-docs +%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google %dir %{_datadir}/%{name} %{_datadir}/%{name}/charsets %endif @@ -1107,6 +1119,9 @@ fi %endif %changelog +* Tue Aug 12 2014 Honza Horak - 1:10.0.12-8 +- Introduce -config subpackage and ship base config files here + * Tue Aug 5 2014 Honza Horak - 1:10.0.12-7 - Adopt changes from mysql, thanks Bjorn Munch From c5f6daa7dc02e96a8ccc860ac416a42a3dfc6e9b Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 14 Aug 2014 09:54:25 +0200 Subject: [PATCH 157/789] Rebase to version 10.0.13 --- .gitignore | 1 + mariadb-basedir.patch | 11 +-- mariadb-mysql_config.patch | 27 ------ mariadb-paths.patch | 165 ------------------------------------- mariadb.spec | 16 ++-- sources | 2 +- 6 files changed, 18 insertions(+), 204 deletions(-) delete mode 100644 mariadb-mysql_config.patch delete mode 100644 mariadb-paths.patch diff --git a/.gitignore b/.gitignore index 6043979..0f144d4 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ /mariadb-10.0.10.tar.gz /mariadb-10.0.11.tar.gz /mariadb-10.0.12.tar.gz +/mariadb-10.0.13.tar.gz diff --git a/mariadb-basedir.patch b/mariadb-basedir.patch index eb71f70..d548ff5 100644 --- a/mariadb-basedir.patch +++ b/mariadb-basedir.patch @@ -1,14 +1,15 @@ Don't guess basedir in mysql_config; we place it under _libdir because of multilib conflicts, so use rather configured @prefix@ path directly. -diff -up mariadb-10.0.10/scripts/mysql_config.sh.p10 mariadb-10.0.10/scripts/mysql_config.sh ---- mariadb-10.0.10/scripts/mysql_config.sh.p10 2014-03-30 19:56:39.000000000 +0200 -+++ mariadb-10.0.10/scripts/mysql_config.sh 2014-04-07 18:54:19.601390650 +0200 -@@ -76,7 +76,7 @@ get_full_path () +diff -up mariadb-10.0.13/scripts/mysql_config.sh.patch32 mariadb-10.0.13/scripts/mysql_config.sh +--- mariadb-10.0.13/scripts/mysql_config.sh.patch32 2014-08-13 17:28:51.174776518 +0200 ++++ mariadb-10.0.13/scripts/mysql_config.sh 2014-08-13 17:32:18.205275028 +0200 +@@ -76,8 +76,7 @@ get_full_path () me=`get_full_path $0` --basedir=`echo $me | sed -e 's;/bin/mysql_config;;'` +-# Script might have been renamed but assume mysql_config +-basedir=`echo $me | sed -e 's;/bin/mysql_.*config.*;;'` +basedir='@prefix@' ldata='@localstatedir@' diff --git a/mariadb-mysql_config.patch b/mariadb-mysql_config.patch deleted file mode 100644 index 1ab0874..0000000 --- a/mariadb-mysql_config.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- mariadb-10.0.12/scripts/mysql_config.sh.orig 2014-06-17 11:11:54.444874750 +0200 -+++ mariadb-10.0.12/scripts/mysql_config.sh 2014-06-17 11:30:48.244454413 +0200 -@@ -176,10 +176,9 @@ Options: - pkglibdir [$pkglibdir] - plugindir [$plugindir] - EOF -- exit 0 - } - --if test $# -le 0; then usage; fi -+if test $# -le 0; then usage; exit 0; fi - - while test $# -gt 0; do - case $1 in -@@ -198,10 +197,10 @@ while test $# -gt 0; do - pkgincludedir) echo "$pkgincludedir" ;; - pkglibdir) echo "$pkglibdir" ;; - plugindir) echo "$plugindir" ;; -- *) usage ;; -+ *) echo >&2 "Unknown var: $var"; usage >&2; exit 1 ;; - esac - ;; -- *) usage ;; -+ *) echo >&2 "Unknown option: $1"; usage >&2; exit 1 ;; - esac - - shift diff --git a/mariadb-paths.patch b/mariadb-paths.patch deleted file mode 100644 index c801b0b..0000000 --- a/mariadb-paths.patch +++ /dev/null @@ -1,165 +0,0 @@ -Some hard-coded paths make problems when package is built into chroot like -Software Collections. Removing these hard-coded paths should fix it. - -Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485 - - -diff -up mariadb-10.0.12/client/mysql_plugin.c.cmakepaths mariadb-10.0.12/client/mysql_plugin.c ---- mariadb-10.0.12/client/mysql_plugin.c.cmakepaths 2014-06-12 11:26:06.000000000 +0200 -+++ mariadb-10.0.12/client/mysql_plugin.c 2014-07-25 08:40:15.898059511 +0200 -@@ -90,6 +90,7 @@ static int find_plugin(char *tp_path); - static int build_bootstrap_file(char *operation, char *bootstrap); - static int dump_bootstrap_file(char *bootstrap_file); - static int bootstrap_server(char *server_path, char *bootstrap_file); -+static int find_file_in_path(char *to,const char *name); - - - int main(int argc,char *argv[]) -@@ -122,7 +123,7 @@ int main(int argc,char *argv[]) - */ - if ((error= process_options(argc, argv, operation)) || - (error= check_access()) || -- (error= find_tool("mysqld" FN_EXEEXT, server_path)) || -+ (error= find_file_in_path("mysqld" FN_EXEEXT, server_path)) || - (error= find_plugin(tp_path)) || - (error= build_bootstrap_file(operation, bootstrap))) - goto exit; -@@ -325,7 +326,7 @@ static int get_default_values() - FILE *file= 0; - - bzero(tool_path, FN_REFLEN); -- if ((error= find_tool("my_print_defaults" FN_EXEEXT, tool_path))) -+ if ((error= find_file_in_path("my_print_defaults" FN_EXEEXT, tool_path))) - goto exit; - else - { -@@ -954,6 +955,55 @@ exit: - } - - -+#if defined(__WIN__) -+#define F_OK 0 -+#define PATH_SEP ';' -+#define PROGRAM_EXTENSION ".exe" -+#else -+#define PATH_SEP ':' -+#endif -+ -+static int find_file_in_path(char *to, const char *name) -+{ -+ char *path,*pos,dir[2]; -+ const char *ext=""; -+ -+ if (!(path=getenv("PATH"))) -+ goto notfound; -+ dir[0]=FN_LIBCHAR; dir[1]=0; -+#ifdef PROGRAM_EXTENSION -+ if (!fn_ext(name)[0]) -+ ext=PROGRAM_EXTENSION; -+#endif -+ -+ for (pos=path ; (pos=strchr(pos,PATH_SEP)) ; path= ++pos) -+ { -+ if (path != pos) -+ { -+ strxmov(strnmov(to,path,(uint) (pos-path)),dir,name,ext,NullS); -+ if (!access(to,F_OK)) -+ { -+ if (opt_verbose) -+ printf("# Found tool '%s' as '%s'.\n", name, to); -+ return 0; -+ } -+ } -+ } -+#ifdef __WIN__ -+ to[0]=FN_CURLIB; -+ strxmov(to+1,dir,name,ext,NullS); -+ if (!access(to,F_OK)) /* Test in current dir */ -+ { -+ if (opt_verbose) -+ printf("# Found tool '%s' as '%s'.\n", name, to); -+ return 0; -+ } -+#endif -+notfound: -+ fprintf(stderr, "WARNING: Cannot find %s.\n", name); -+ return 1; /* File not found */ -+} -+ - /** - Locate the tool and form tool path. - -diff -up mariadb-10.0.12/mysys/my_default.c.cmakepaths mariadb-10.0.12/mysys/my_default.c ---- mariadb-10.0.12/mysys/my_default.c.cmakepaths 2014-06-12 11:26:03.000000000 +0200 -+++ mariadb-10.0.12/mysys/my_default.c 2014-07-25 08:39:04.875937851 +0200 -@@ -1224,9 +1224,6 @@ static const char **init_default_directo - - #else - -- errors += add_directory(alloc, "/etc/", dirs); -- errors += add_directory(alloc, "/etc/mysql/", dirs); -- - #if defined(DEFAULT_SYSCONFDIR) - if (DEFAULT_SYSCONFDIR[0]) - errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs); -diff -up mariadb-10.0.12/scripts/mysqlaccess.sh.cmakepaths mariadb-10.0.12/scripts/mysqlaccess.sh ---- mariadb-10.0.12/scripts/mysqlaccess.sh.cmakepaths 2014-06-12 11:26:06.000000000 +0200 -+++ mariadb-10.0.12/scripts/mysqlaccess.sh 2014-07-25 08:39:04.877937855 +0200 -@@ -483,9 +483,6 @@ MySQLaccess::Report::Print_Header(); - elsif (-f "@sysconfdir@/$script_conf") { - require "@sysconfdir@/$script_conf"; - } -- elsif (-f "/etc/$script_conf") { -- require "/etc/$script_conf"; -- } - - # **************************** - # Read in all parameters -@@ -951,7 +948,6 @@ sub MergeConfigFile { - sub MergeConfigFiles { - my ($name,$pass,$uid,$gid,$quota,$comment,$gcos,$dir,$shell) = getpwuid $<; - MergeConfigFile("@sysconfdir@/my.cnf"); -- MergeConfigFile("/etc/my.cnf"); - MergeConfigFile("$dir/.my.cnf"); - } - -diff -up mariadb-10.0.12/scripts/mysqld_multi.sh.cmakepaths mariadb-10.0.12/scripts/mysqld_multi.sh ---- mariadb-10.0.12/scripts/mysqld_multi.sh.cmakepaths 2014-06-12 11:26:04.000000000 +0200 -+++ mariadb-10.0.12/scripts/mysqld_multi.sh 2014-07-25 08:39:04.878937857 +0200 -@@ -499,9 +499,7 @@ sub list_defaults_files - - my %seen; # Don't list the same file more than once - return grep { defined $_ and not $seen{$_}++ and -f $_ and -r $_ } -- ('/etc/my.cnf', -- '/etc/mysql/my.cnf', -- '@sysconfdir@/my.cnf', -+ ('@sysconfdir@/my.cnf', - ($ENV{MYSQL_HOME} ? "$ENV{MYSQL_HOME}/my.cnf" : undef), - $opt{'extra-file'}, - ($ENV{HOME} ? "$ENV{HOME}/.my.cnf" : undef)); -diff -up mariadb-10.0.12/scripts/mytop.sh.cmakepaths mariadb-10.0.12/scripts/mytop.sh ---- mariadb-10.0.12/scripts/mytop.sh.cmakepaths 2014-06-12 11:26:06.000000000 +0200 -+++ mariadb-10.0.12/scripts/mytop.sh 2014-07-25 08:39:04.879937858 +0200 -@@ -1829,8 +1829,8 @@ sub FindProg($) - { - my $prog = shift; - my $found = undef; -- my @search_dirs = ("/bin", "/usr/bin", "/usr/sbin", -- "/usr/local/bin", "/usr/local/sbin"); -+ my @search_dirs = ("@prefix@", "@prefix@/bin", "@prefix@/sbin", -+ "@prefix@/local/bin", "@prefix@/local/sbin"); - - for (@search_dirs) - { -diff -up mariadb-10.0.12/scripts/CMakeLists.txt.patchs mariadb-10.0.12/scripts/CMakeLists.txt ---- mariadb-10.0.12/scripts/CMakeLists.txt.patchs 2014-08-04 22:21:02.577917599 +0200 -+++ mariadb-10.0.12/scripts/CMakeLists.txt 2014-08-04 22:21:42.712940832 +0200 -@@ -221,7 +221,7 @@ INSTALL_SCRIPT( - ENDIF() - - SET(prefix "${CMAKE_INSTALL_PREFIX}") --SET(sysconfdir ${prefix}) -+SET(sysconfdir ${INSTALL_SYSCONFDIR}) - SET(bindir ${prefix}/${INSTALL_BINDIR}) - SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) - SET(scriptdir ${prefix}/${INSTALL_BINDIR}) diff --git a/mariadb.spec b/mariadb.spec index 2f0cc4e..347211f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -100,11 +100,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.0 -%global bugfixver 12 +%global bugfixver 13 Name: %{pkgname} Version: %{compatver}.%{bugfixver} -Release: 8%{?dist} +Release: 1%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -147,7 +147,6 @@ Patch5: %{pkgnamepatch}-cipherspec.patch Patch6: %{pkgnamepatch}-file-contents.patch Patch7: %{pkgnamepatch}-dh1024.patch Patch8: %{pkgnamepatch}-scripts.patch -Patch9: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package Patch30: %{pkgnamepatch}-errno.patch @@ -157,7 +156,6 @@ Patch33: %{pkgnamepatch}-covscan-signexpr.patch Patch34: %{pkgnamepatch}-covscan-stroverflow.patch Patch35: %{pkgnamepatch}-config.patch Patch36: %{pkgnamepatch}-ssltest.patch -Patch37: %{pkgnamepatch}-mysql_config.patch BuildRequires: cmake BuildRequires: libaio-devel @@ -451,7 +449,6 @@ MariaDB is a community developed branch of MySQL. %patch6 -p1 %patch7 -p1 %patch8 -p1 -%patch9 -p1 %patch30 -p1 %patch31 -p1 %patch32 -p1 @@ -459,7 +456,6 @@ MariaDB is a community developed branch of MySQL. %patch34 -p1 %patch35 -p1 %patch36 -p1 -%patch37 -p1 sed -i -e 's/2.8.7/2.6.4/g' cmake/cpack_rpm.cmake @@ -918,6 +914,11 @@ fi %{_mandir}/man1/mysqlshow.1* %{_mandir}/man1/mysqlslap.1* %{_mandir}/man1/my_print_defaults.1* +%{_mandir}/man1/aria_chk.1.gz +%{_mandir}/man1/aria_dump_log.1.gz +%{_mandir}/man1/aria_ftdump.1.gz +%{_mandir}/man1/aria_pack.1.gz +%{_mandir}/man1/aria_read_log.1.gz %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/connect.cnf @@ -1119,6 +1120,9 @@ fi %endif %changelog +* Wed Aug 13 2014 Honza Horak - 1:10.0.13-1 +- Rebase to version 10.0.13 + * Tue Aug 12 2014 Honza Horak - 1:10.0.12-8 - Introduce -config subpackage and ship base config files here diff --git a/sources b/sources index 8a8137d..c3664dc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6e9a7c075526f8f2f83ad8e0933bab2f mariadb-10.0.12.tar.gz +7b2e88864b51d7d0607dc37abb8a0adb mariadb-10.0.13.tar.gz From 2390bfeb42572d4acc2c18d2074517c844254f2e Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 14 Aug 2014 15:14:58 +0200 Subject: [PATCH 158/789] Include mysqld_unit only if required; enable tokudb in f20- --- mariadb.spec | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 347211f..6357cee 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -19,8 +19,8 @@ # TokuDB engine is now part of MariaDB, but it is available only for x86_64; # variable tokudb allows to build with TokuDB storage engine -# Temporarily disabled for https://mariadb.atlassian.net/browse/MDEV-6446 -%ifarch 0 #x86_64 +# Temporarily disabled in F21+ for https://mariadb.atlassian.net/browse/MDEV-6446 +%ifarch 0%{?fedora} < 21 #x86_64 %bcond_without tokudb %else %bcond_with tokudb @@ -104,7 +104,7 @@ Name: %{pkgname} Version: %{compatver}.%{bugfixver} -Release: 1%{?dist} +Release: 2%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -248,7 +248,7 @@ package itself. %endif -%%if %{with common} +%if %{with common} %package common Summary: The shared files required by server and client Group: Applications/Databases @@ -625,7 +625,7 @@ ln -s %{logfile} %{buildroot}%{old_logfile} # current setting in my.cnf is to use /var/run/mariadb for creating pid file, # however since my.cnf is not updated by RPM if changed, we need to create mysqld # as well because users can have odd settings in their /etc/my.cnf -mkdir -p %{buildroot}%{_localstatedir}/run/%{mysqld_unit} +%{?mysqld_unit:mkdir -p %{buildroot}%{_localstatedir}/run/%{mysqld_unit}} mkdir -p %{buildroot}%{_localstatedir}/run/%{daemon_name} install -p -m 0755 -d %{buildroot}%{_localstatedir}/lib/mysql @@ -1067,7 +1067,7 @@ fi %{_libexecdir}/mysql-scripts-common %{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} -%attr(0755,mysql,mysql) %dir %{_localstatedir}/run/%{mysqld_unit} +%{?mysqld_unit:%attr(0755,mysql,mysql) %dir %{_localstatedir}/run/%{mysqld_unit}} %attr(0755,mysql,mysql) %dir %{_localstatedir}/run/%{daemon_name} %attr(0755,mysql,mysql) %dir %{_localstatedir}/lib/mysql %attr(0750,mysql,mysql) %dir %{logfiledir} @@ -1120,6 +1120,9 @@ fi %endif %changelog +* Thu Aug 14 2014 Honza Horak - 1:10.0.13-2 +- Include mysqld_unit only if required; enable tokudb in f20- + * Wed Aug 13 2014 Honza Horak - 1:10.0.13-1 - Rebase to version 10.0.13 From 0fad14ff8f9c4c35a2d505d1fb27556ab164d13a Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 14 Aug 2014 17:27:12 +0200 Subject: [PATCH 159/789] Only exclude ha_oqgraph.so if build with it --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 6357cee..511a5b1 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1015,7 +1015,7 @@ fi %endif %{_libdir}/mysql/plugin -%exclude %{_libdir}/mysql/plugin/ha_oqgraph.so +%{?with_oqgraph:%exclude %{_libdir}/mysql/plugin/ha_oqgraph.so} %{_mandir}/man1/msql2mysql.1* %{_mandir}/man1/myisamchk.1* From b448ae98117ab8e9efbbb12e62212a2cfb96d517 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Sun, 17 Aug 2014 08:42:41 +0000 Subject: [PATCH 160/789] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 511a5b1..ae28eca 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -104,7 +104,7 @@ Name: %{pkgname} Version: %{compatver}.%{bugfixver} -Release: 2%{?dist} +Release: 3%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1120,6 +1120,9 @@ fi %endif %changelog +* Sun Aug 17 2014 Fedora Release Engineering - 1:10.0.13-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + * Thu Aug 14 2014 Honza Horak - 1:10.0.13-2 - Include mysqld_unit only if required; enable tokudb in f20- From d01f3c2ab6278e6e4b38b341b63cf805cbec563a Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 19 Aug 2014 09:46:18 +0200 Subject: [PATCH 161/789] Build config subpackage everytime --- mariadb.spec | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index ae28eca..099d63a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -44,11 +44,7 @@ # When there is already another package that ships /etc/my.cnf, # rather include it than ship the file again, since conflicts between # those files may create issues -%if 0%{?fedora} >= 21 %bcond_without config -%else -%bcond_with config -%endif # Include files for SysV init or systemd %if 0%{?fedora} >= 15 @@ -104,7 +100,7 @@ Name: %{pkgname} Version: %{compatver}.%{bugfixver} -Release: 3%{?dist} +Release: 4%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1120,6 +1116,9 @@ fi %endif %changelog +* Tue Aug 19 2014 Honza Horak - 1:10.0.13-4 +- Build config subpackage everytime + * Sun Aug 17 2014 Fedora Release Engineering - 1:10.0.13-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild From 782cd3849fd4b57270997f28e43047c3c4585d68 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 20 Aug 2014 09:17:23 +0200 Subject: [PATCH 162/789] Disable failing tests: innodb_simulate_comp_failures_small, key_cache rhbz#1096787 --- mariadb.spec | 2 ++ rh-skipped-tests-arm.list | 2 ++ 2 files changed, 4 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index 099d63a..ce54b72 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1118,6 +1118,8 @@ fi %changelog * Tue Aug 19 2014 Honza Horak - 1:10.0.13-4 - Build config subpackage everytime +- Disable failing tests: innodb_simulate_comp_failures_small, key_cache + rhbz#1096787 * Sun Aug 17 2014 Fedora Release Engineering - 1:10.0.13-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index 76caf6b..aac4c87 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -12,3 +12,5 @@ main.gis-precise : rhbz#1096787 (pass on armv7hl) main.openssl_1 : rhbz#1096787 perfschema.setup_objects : rhbz#1096787 vcol.vcol_supported_sql_funcs_myisam : rhbz#1096787 +innodb.innodb_simulate_comp_failures_small : rhbz#1096787 +main.key_cache : rhbz#1096787 From 2902cb99074c993227a6ec447a4007922ff81dc9 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 21 Aug 2014 14:42:41 +0200 Subject: [PATCH 163/789] Handle all ppc64 the same in my_config.h --- mariadb.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index ce54b72..c9ffd73 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -596,6 +596,9 @@ unamei=$(uname -i) %ifarch %{arm} unamei=arm %endif +%ifarch %{power64} +unamei=ppc64 +%endif %ifarch %{arm} aarch64 %{ix86} x86_64 ppc %{power64} %{sparc} s390 s390x mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_${unamei}.h mv %{buildroot}%{_includedir}/mysql/private/config.h %{buildroot}%{_includedir}/mysql/private/my_config_${unamei}.h From 24ae267a59cbc56a8201abca1579942d8187a585 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 4 Sep 2014 15:36:04 +0200 Subject: [PATCH 164/789] Fix paths in mysql_install_db script Resolves: #1134328 --- mariadb-install-db-sharedir.patch | 38 +++++++++++++++++++++++++++++++ mariadb.spec | 8 ++++++- 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 mariadb-install-db-sharedir.patch diff --git a/mariadb-install-db-sharedir.patch b/mariadb-install-db-sharedir.patch new file mode 100644 index 0000000..4949b6d --- /dev/null +++ b/mariadb-install-db-sharedir.patch @@ -0,0 +1,38 @@ +Use configured value instead of hardcoded path + +diff -up mariadb-10.0.13/scripts/mysql_install_db.pl.in.pbasedir mariadb-10.0.13/scripts/mysql_install_db.pl.in +--- mariadb-10.0.13/scripts/mysql_install_db.pl.in.pbasedir 2014-09-04 12:50:24.061979080 +0200 ++++ mariadb-10.0.13/scripts/mysql_install_db.pl.in 2014-09-04 12:51:22.929045559 +0200 +@@ -318,7 +318,7 @@ elsif ( $opt->{basedir} ) + find_in_basedir($opt,"file","mysqld-nt", + "bin"); # ,"sql" + $pkgdatadir = find_in_basedir($opt,"dir","fill_help_tables.sql", +- "share","share/mysql"); # ,"scripts" ++ "share","@INSTALL_MYSQLSHAREDIR@"); # ,"scripts" + $scriptdir = "$opt->{basedir}/scripts"; + } + else +diff -up mariadb-10.0.13/scripts/mysql_install_db.sh.pbasedir mariadb-10.0.13/scripts/mysql_install_db.sh +--- mariadb-10.0.13/scripts/mysql_install_db.sh.pbasedir 2014-09-04 12:51:59.005086301 +0200 ++++ mariadb-10.0.13/scripts/mysql_install_db.sh 2014-09-04 12:54:02.794222597 +0200 +@@ -280,16 +280,16 @@ then + cannot_find_file mysqld $basedir/libexec $basedir/sbin $basedir/bin + exit 1 + fi +- langdir=`find_in_basedir --dir errmsg.sys share/english share/mysql/english` ++ langdir=`find_in_basedir --dir errmsg.sys share/english @INSTALL_MYSQLSHAREDIR@/english` + if test -z "$langdir" + then +- cannot_find_file errmsg.sys $basedir/share/english $basedir/share/mysql/english ++ cannot_find_file errmsg.sys $basedir/share/english $basedir/@INSTALL_MYSQLSHAREDIR@/english + exit 1 + fi +- pkgdatadir=`find_in_basedir --dir fill_help_tables.sql share share/mysql` ++ pkgdatadir=`find_in_basedir --dir fill_help_tables.sql share @INSTALL_MYSQLSHAREDIR@` + if test -z "$pkgdatadir" + then +- cannot_find_file fill_help_tables.sql $basedir/share $basedir/share/mysql ++ cannot_find_file fill_help_tables.sql $basedir/share $basedir/@INSTALL_MYSQLSHAREDIR@ + exit 1 + fi + scriptdir="$basedir/scripts" diff --git a/mariadb.spec b/mariadb.spec index c9ffd73..893b426 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -100,7 +100,7 @@ Name: %{pkgname} Version: %{compatver}.%{bugfixver} -Release: 4%{?dist} +Release: 5%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -143,6 +143,7 @@ Patch5: %{pkgnamepatch}-cipherspec.patch Patch6: %{pkgnamepatch}-file-contents.patch Patch7: %{pkgnamepatch}-dh1024.patch Patch8: %{pkgnamepatch}-scripts.patch +Patch9: %{pkgnamepatch}-install-db-sharedir.patch # Patches specific for this mysql package Patch30: %{pkgnamepatch}-errno.patch @@ -445,6 +446,7 @@ MariaDB is a community developed branch of MySQL. %patch6 -p1 %patch7 -p1 %patch8 -p1 +%patch9 -p1 %patch30 -p1 %patch31 -p1 %patch32 -p1 @@ -1119,6 +1121,10 @@ fi %endif %changelog +* Thu Sep 04 2014 Honza Horak - 1:10.0.13-5 +- Fix paths in mysql_install_db script + Resolves: #1134328 + * Tue Aug 19 2014 Honza Horak - 1:10.0.13-4 - Build config subpackage everytime - Disable failing tests: innodb_simulate_comp_failures_small, key_cache From caef7803699d82c1a61bbfec93584388976741e5 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 4 Sep 2014 15:37:20 +0200 Subject: [PATCH 165/789] Use %cmake macro --- mariadb.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 893b426..91c20aa 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -521,7 +521,8 @@ export LDFLAGS # 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 \ -DDAEMON_NAME="%{daemon_name}" \ @@ -1124,6 +1125,7 @@ fi * Thu Sep 04 2014 Honza Horak - 1:10.0.13-5 - Fix paths in mysql_install_db script Resolves: #1134328 +- Use %%cmake macro * Tue Aug 19 2014 Honza Horak - 1:10.0.13-4 - Build config subpackage everytime From 50eb63d819219e153800964246f15acbb01a4855 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 8 Sep 2014 12:32:47 +0200 Subject: [PATCH 166/789] Disable vcol_supported_sql_funcs_myisam test on all arches Related: #1096787 --- mariadb.spec | 6 +++++- rh-skipped-tests-arm.list | 1 - rh-skipped-tests-base.list | 1 + rh-skipped-tests-intel.list | 1 - rh-skipped-tests-ppc-s390.list | 1 - 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 91c20aa..65bbc9d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -100,7 +100,7 @@ Name: %{pkgname} Version: %{compatver}.%{bugfixver} -Release: 5%{?dist} +Release: 6%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1122,6 +1122,10 @@ fi %endif %changelog +* Mon Sep 08 2014 Honza Horak - 1:10.0.13-6 +- Disable vcol_supported_sql_funcs_myisam test on all arches + Related: #1096787 + * Thu Sep 04 2014 Honza Horak - 1:10.0.13-5 - Fix paths in mysql_install_db script Resolves: #1134328 diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index aac4c87..635845c 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -11,6 +11,5 @@ connect.bin : rhbz#1096787 (pass on aarch64) main.gis-precise : rhbz#1096787 (pass on armv7hl) main.openssl_1 : rhbz#1096787 perfschema.setup_objects : rhbz#1096787 -vcol.vcol_supported_sql_funcs_myisam : rhbz#1096787 innodb.innodb_simulate_comp_failures_small : rhbz#1096787 main.key_cache : rhbz#1096787 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 196fa1a..d144318 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -6,3 +6,4 @@ perfschema.nesting : rhbz#1096787 perfschema.socket_summary_by_event_name_func : rhbz#1096787 perfschema.socket_summary_by_instance_func : rhbz#1096787 vcol.vcol_supported_sql_funcs_innodb : rhbz#1096787 +vcol.vcol_supported_sql_funcs_myisam : rhbz#1096787 diff --git a/rh-skipped-tests-intel.list b/rh-skipped-tests-intel.list index 8065f23..1660a88 100644 --- a/rh-skipped-tests-intel.list +++ b/rh-skipped-tests-intel.list @@ -1,2 +1 @@ main.openssl_1 : rhbz#1096787 -vcol.vcol_supported_sql_funcs_myisam : rhbz#1096787 diff --git a/rh-skipped-tests-ppc-s390.list b/rh-skipped-tests-ppc-s390.list index 8c15a79..45cc061 100644 --- a/rh-skipped-tests-ppc-s390.list +++ b/rh-skipped-tests-ppc-s390.list @@ -17,4 +17,3 @@ rpl.rpl_slave_skip : rhbz#1096787 rpl.rpl_stm_max_relay_size : rhbz#1096787 sys_vars.max_relay_log_size_basic : rhbz#1096787 sys_vars.sql_slave_skip_counter_basic : rhbz#1096787 -vcol.vcol_supported_sql_funcs_myisam : rhbz#1096787 From 6cfcb4da75d26b57bfbe27bdd377dbe982eddb8b Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 5 Sep 2014 13:21:47 +0200 Subject: [PATCH 167/789] Install systemd service file on RHEL-7+ Server requires any mysql package, so it should be fine with older client Conflicts: mariadb.spec --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 65bbc9d..5ea5fd8 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -47,7 +47,7 @@ %bcond_without config # Include files for SysV init or systemd -%if 0%{?fedora} >= 15 +%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 %bcond_without init_systemd %bcond_with init_sysv %global daemon_name %{name} @@ -276,6 +276,7 @@ Group: Applications/Databases # note: no version here = %%{version}-%%{release} Requires: mysql-compat-client%{?_isa} +Requires: mysql%{?_isa} Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d @@ -1125,6 +1126,8 @@ fi * Mon Sep 08 2014 Honza Horak - 1:10.0.13-6 - Disable vcol_supported_sql_funcs_myisam test on all arches Related: #1096787 +- Install systemd service file on RHEL-7+ + Server requires any mysql package, so it should be fine with older client * Thu Sep 04 2014 Honza Horak - 1:10.0.13-5 - Fix paths in mysql_install_db script From 881c7d3976bf45485757f97899dc9272b68bfea2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Mu=C5=BEila?= Date: Wed, 24 Sep 2014 09:42:14 +0200 Subject: [PATCH 168/789] Client related libraries moved from mariadb-server to mariadb-libs Related: #1138843 --- mariadb.spec | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 5ea5fd8..4f4bdce 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -100,7 +100,7 @@ Name: %{pkgname} Version: %{compatver}.%{bugfixver} -Release: 6%{?dist} +Release: 7%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -931,6 +931,8 @@ fi %files libs %dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient.so.* +%{_libdir}/mysql/plugin/dialog.so +%{_libdir}/mysql/plugin/mysql_clear_password.so %{_sysconfdir}/ld.so.conf.d/* %endif @@ -1017,6 +1019,9 @@ fi %dir %{_datadir}/%{name} %endif + +%exclude %{_libdir}/mysql/plugin/dialog.so +%exclude %{_libdir}/mysql/plugin/mysql_clear_password.so %{_libdir}/mysql/plugin %{?with_oqgraph:%exclude %{_libdir}/mysql/plugin/ha_oqgraph.so} @@ -1123,6 +1128,10 @@ fi %endif %changelog +* Mon Sep 24 2014 Matej Muzila - 1:10.0.13-7 +- Client related libraries moved from mariadb-server to mariadb-libs + Related: #1138843 + * Mon Sep 08 2014 Honza Horak - 1:10.0.13-6 - Disable vcol_supported_sql_funcs_myisam test on all arches Related: #1096787 From 5c7b565b2a532600cb2c41c50096a7e8204d766d Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 24 Sep 2014 13:23:06 +0200 Subject: [PATCH 169/789] Fix typo in changelog --- mariadb.spec | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 4f4bdce..b379db4 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1019,11 +1019,10 @@ fi %dir %{_datadir}/%{name} %endif - -%exclude %{_libdir}/mysql/plugin/dialog.so -%exclude %{_libdir}/mysql/plugin/mysql_clear_password.so %{_libdir}/mysql/plugin %{?with_oqgraph:%exclude %{_libdir}/mysql/plugin/ha_oqgraph.so} +%exclude %{_libdir}/mysql/plugin/dialog.so +%exclude %{_libdir}/mysql/plugin/mysql_clear_password.so %{_mandir}/man1/msql2mysql.1* %{_mandir}/man1/myisamchk.1* @@ -1128,7 +1127,7 @@ fi %endif %changelog -* Mon Sep 24 2014 Matej Muzila - 1:10.0.13-7 +* Wed Sep 24 2014 Matej Muzila - 1:10.0.13-7 - Client related libraries moved from mariadb-server to mariadb-libs Related: #1138843 From 2d590e9c2cb599557801cb0b2e2a45e7ff3fab7a Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 24 Sep 2014 15:53:15 +0200 Subject: [PATCH 170/789] Move connect engine to a separate package Rename oqgraph engine to align with upstream packages --- mariadb.spec | 42 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index b379db4..f840f18 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -40,6 +40,7 @@ %bcond_without errmsg %bcond_without bench %bcond_without test +%bcond_without connect # When there is already another package that ships /etc/my.cnf, # rather include it than ship the file again, since conflicts between @@ -100,7 +101,7 @@ Name: %{pkgname} Version: %{compatver}.%{bugfixver} -Release: 7%{?dist} +Release: 8%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -312,7 +313,7 @@ MariaDB is a community developed branch of MySQL. %if %{with oqgraph} -%package oqgraph +%package oqgraph-engine Summary: The Open Query GRAPH engine for MariaDB Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} @@ -320,7 +321,7 @@ Requires: %{name}-server%{?_isa} = %{sameevr} BuildRequires: boost-devel BuildRequires: Judy-devel -%description oqgraph +%description oqgraph-engine The package provides Open Query GRAPH engine (OQGRAPH) as plugin for MariaDB database server. OQGRAPH is a computation engine allowing hierarchies and more complex graph structures to be handled in a relational fashion. In a nutshell, @@ -329,6 +330,21 @@ standard SQL syntax, and results joined onto other tables. %endif +%if %{with connect} +%package connect-engine +Summary: The CONNECT storage engine for MariaDB +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{sameevr} + +%description connect-engine +The CONNECT storage engine enables MariaDB to access external local or +remote data (MED). This is done by defining tables based on different data +types, in particular files in various formats, data extracted from other DBMS +or products (such as Excel), or data retrieved from the environment +(for example DIR, WMI, and MAC tables). +%endif + + %if %{with devel} %package devel Summary: Files for development of MariaDB/MySQL applications @@ -746,7 +762,11 @@ aria_pack,aria_read_log} rm -f %{buildroot}%{_mandir}/man1/{mysql,mysql_find_rows,mysql_waitpid,\ mysqlaccess,mysqladmin,mysqldump,mysqlshow,mysqlslap,\ my_print_defaults}.1* -rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/{client,connect}.cnf +rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf +%endif + +%if %{without connect} +rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/connect.cnf %endif %if %{without config} @@ -924,7 +944,6 @@ fi %{_mandir}/man1/aria_read_log.1.gz %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf -%config(noreplace) %{_sysconfdir}/my.cnf.d/connect.cnf %endif %if %{with clibrary} @@ -1021,6 +1040,7 @@ fi %{_libdir}/mysql/plugin %{?with_oqgraph:%exclude %{_libdir}/mysql/plugin/ha_oqgraph.so} +%{?with_connect:%exclude %{_libdir}/mysql/plugin/ha_connect.so} %exclude %{_libdir}/mysql/plugin/dialog.so %exclude %{_libdir}/mysql/plugin/mysql_clear_password.so @@ -1085,11 +1105,17 @@ fi %config(noreplace) %{logrotateddir}/%{daemon_name} %if %{with oqgraph} -%files oqgraph +%files oqgraph-engine %config(noreplace) %{_sysconfdir}/my.cnf.d/oqgraph.cnf %{_libdir}/mysql/plugin/ha_oqgraph.so %endif +%if %{with connect} +%files connect-engine +%config(noreplace) %{_sysconfdir}/my.cnf.d/connect.cnf +%{_libdir}/mysql/plugin/ha_connect.so +%endif + %if %{with devel} %files devel %{_bindir}/mysql_config @@ -1127,6 +1153,10 @@ fi %endif %changelog +* Wed Sep 24 2014 Honza Horak - 1:10.0.13-8 +- Move connect engine to a separate package + Rename oqgraph engine to align with upstream packages + * Wed Sep 24 2014 Matej Muzila - 1:10.0.13-7 - Client related libraries moved from mariadb-server to mariadb-libs Related: #1138843 From 77858d0995e1cd374f989027d0f0aa9a7cae4aa7 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 24 Sep 2014 17:32:43 +0200 Subject: [PATCH 171/789] Move some files to correspond with MariaDB upstream packages client.cnf into -libs, mysql_plugin and msql2mysql into base, tokuftdump and aria_* into -server, errmsg-utf8.txt into -errmsg Remove duplicate cnf files packaged using %doc --- mariadb.spec | 58 +++++++++++++++++++++++++++------------------------- 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index f840f18..1a2a29a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -738,6 +738,7 @@ rm -rf %{buildroot}%{_datadir}/%{name}/solaris/ %if %{without clibrary} rm -rf %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* rm -rf %{buildroot}%{_sysconfdir}/ld.so.conf.d +rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf %endif %if %{without embedded} @@ -755,14 +756,12 @@ rm -f %{buildroot}%{_mandir}/man1/mysql_config.1* %endif %if %{without client} -rm -f %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_find_rows,mysql_waitpid,\ -mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,mysqldump,tokuftdump,mysqlimport,\ -mysqlshow,mysqlslap,my_print_defaults,aria_chk,aria_dump_log,aria_ftdump,\ -aria_pack,aria_read_log} -rm -f %{buildroot}%{_mandir}/man1/{mysql,mysql_find_rows,mysql_waitpid,\ -mysqlaccess,mysqladmin,mysqldump,mysqlshow,mysqlslap,\ -my_print_defaults}.1* -rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf +rm -f %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_find_rows,\ +mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ +mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} +rm -f %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_find_rows,\ +mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ +mysqldump,mysqlshow,mysqlslap,my_print_defaults}.1* %endif %if %{without connect} @@ -911,39 +910,31 @@ fi %{_bindir}/msql2mysql %{_bindir}/mysql %{_bindir}/mysql_find_rows +%{_bindir}/mysql_plugin %{_bindir}/mysql_waitpid %{_bindir}/mysqlaccess %{_bindir}/mysqladmin %{_bindir}/mysqlbinlog %{_bindir}/mysqlcheck %{_bindir}/mysqldump -%{?with_tokudb:%{_bindir}/tokuftdump} %{_bindir}/mysqlimport %{_bindir}/mysqlshow %{_bindir}/mysqlslap %{_bindir}/my_print_defaults -%{_bindir}/aria_chk -%{_bindir}/aria_dump_log -%{_bindir}/aria_ftdump -%{_bindir}/aria_pack -%{_bindir}/aria_read_log +%{_mandir}/man1/msql2mysql.1* %{_mandir}/man1/mysql.1* %{_mandir}/man1/mysql_find_rows.1* +%{_mandir}/man1/mysql_plugin.1* %{_mandir}/man1/mysql_waitpid.1* %{_mandir}/man1/mysqlaccess.1* %{_mandir}/man1/mysqladmin.1* +%{_mandir}/man1/mysqlbinlog.1* +%{_mandir}/man1/mysqlcheck.1* %{_mandir}/man1/mysqldump.1* %{_mandir}/man1/mysqlshow.1* %{_mandir}/man1/mysqlslap.1* %{_mandir}/man1/my_print_defaults.1* -%{_mandir}/man1/aria_chk.1.gz -%{_mandir}/man1/aria_dump_log.1.gz -%{_mandir}/man1/aria_ftdump.1.gz -%{_mandir}/man1/aria_pack.1.gz -%{_mandir}/man1/aria_read_log.1.gz - -%config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf %endif %if %{with clibrary} @@ -953,6 +944,7 @@ fi %{_libdir}/mysql/plugin/dialog.so %{_libdir}/mysql/plugin/mysql_clear_password.so %{_sysconfdir}/ld.so.conf.d/* +%config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf %endif %if %{with config} @@ -974,6 +966,7 @@ fi %if %{with errmsg} %files errmsg +%{_datadir}/%{name}/errmsg-utf8.txt %{_datadir}/%{name}/english %lang(cs) %{_datadir}/%{name}/czech %lang(da) %{_datadir}/%{name}/danish @@ -1000,8 +993,13 @@ fi %endif %files server -%doc support-files/*.cnf README.mysql-cnf +%doc README.mysql-cnf +%{_bindir}/aria_chk +%{_bindir}/aria_dump_log +%{_bindir}/aria_ftdump +%{_bindir}/aria_pack +%{_bindir}/aria_read_log %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog @@ -1009,7 +1007,6 @@ fi %{_bindir}/mysql_convert_table_format %{_bindir}/mysql_fix_extensions %{_bindir}/mysql_install_db -%{_bindir}/mysql_plugin %{_bindir}/mysql_secure_installation %{_bindir}/mysql_setpermission %{_bindir}/mysql_tzinfo_to_sql @@ -1026,6 +1023,7 @@ fi %{_bindir}/replace %{_bindir}/resolve_stack_dump %{_bindir}/resolveip +%{?with_tokudb:%{_bindir}/tokuftdump} %config(noreplace) %{_sysconfdir}/my.cnf.d/server.cnf %{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf} @@ -1044,7 +1042,11 @@ fi %exclude %{_libdir}/mysql/plugin/dialog.so %exclude %{_libdir}/mysql/plugin/mysql_clear_password.so -%{_mandir}/man1/msql2mysql.1* +%{_mandir}/man1/aria_chk.1.gz +%{_mandir}/man1/aria_dump_log.1.gz +%{_mandir}/man1/aria_ftdump.1.gz +%{_mandir}/man1/aria_pack.1.gz +%{_mandir}/man1/aria_read_log.1.gz %{_mandir}/man1/myisamchk.1* %{_mandir}/man1/myisamlog.1* %{_mandir}/man1/myisampack.1* @@ -1053,14 +1055,11 @@ fi %{_mandir}/man1/mysql.server.1* %{_mandir}/man1/mysql_fix_extensions.1* %{_mandir}/man1/mysql_install_db.1* -%{_mandir}/man1/mysql_plugin.1* %{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_upgrade.1* %{_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* @@ -1075,7 +1074,6 @@ fi %{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man8/mysqld.8* -%{_datadir}/%{name}/errmsg-utf8.txt %{_datadir}/%{name}/fill_help_tables.sql %{_datadir}/%{name}/install_spider.sql %{_datadir}/%{name}/mysql_system_tables.sql @@ -1156,6 +1154,10 @@ fi * Wed Sep 24 2014 Honza Horak - 1:10.0.13-8 - Move connect engine to a separate package Rename oqgraph engine to align with upstream packages +- Move some files to correspond with MariaDB upstream packages + client.cnf into -libs, mysql_plugin and msql2mysql into base, + tokuftdump and aria_* into -server, errmsg-utf8.txt into -errmsg +- Remove duplicate cnf files packaged using %%doc * Wed Sep 24 2014 Matej Muzila - 1:10.0.13-7 - Client related libraries moved from mariadb-server to mariadb-libs From 487b6d1b3481f94430f1b896c50e0edc3bd452e8 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 29 Sep 2014 14:34:41 +0200 Subject: [PATCH 172/789] Check upgrade script added to warn about need for mysql_upgrade --- mariadb-scripts.patch | 3 ++- mariadb.spec | 13 +++++++++---- mysql-check-upgrade.sh | 39 +++++++++++++++++++++++++++++++++++++++ mysql-prepare-db-dir.sh | 2 ++ mysql.service.in | 1 + 5 files changed, 53 insertions(+), 5 deletions(-) create mode 100644 mysql-check-upgrade.sh diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index 49f36c6..1dd1844 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -1,7 +1,7 @@ diff -up mariadb-10.0.12/scripts/CMakeLists.txt.systemd mariadb-10.0.12/scripts/CMakeLists.txt --- mariadb-10.0.12/scripts/CMakeLists.txt.systemd 2014-07-21 10:49:58.491470586 +0200 +++ mariadb-10.0.12/scripts/CMakeLists.txt 2014-07-21 14:21:22.673329708 +0200 -@@ -368,6 +368,33 @@ ELSE() +@@ -368,6 +368,34 @@ ELSE() COMPONENT ${${file}_COMPONENT} ) ENDFOREACH() @@ -13,6 +13,7 @@ diff -up mariadb-10.0.12/scripts/CMakeLists.txt.systemd mariadb-10.0.12/scripts/ + mysql-prepare-db-dir + mysql-wait-ready + mysql-check-socket ++ mysql-check-upgrade + mysql-scripts-common + mysql_config_multilib + mysql.init diff --git a/mariadb.spec b/mariadb.spec index 1a2a29a..73bb979 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -125,9 +125,10 @@ Source12: mysql-prepare-db-dir.sh Source13: mysql-wait-ready.sh Source14: mysql-check-socket.sh Source15: mysql-scripts-common.sh -Source16: mysql-compat.service.in -Source17: mysql-compat.conf.in -Source18: mysql.init.in +Source16: mysql-check-upgrade.sh +Source17: mysql-compat.service.in +Source18: mysql-compat.conf.in +Source19: mysql.init.in Source50: rh-skipped-tests-base.list Source51: rh-skipped-tests-intel.list Source52: rh-skipped-tests-arm.list @@ -498,7 +499,8 @@ cat %{SOURCE54} >> mysql-test/rh-skipped-tests.list %endif cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ - %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} scripts + %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} %{SOURCE19} \ + scripts %build @@ -677,6 +679,7 @@ install -D -p -m 755 scripts/mysql.init %{buildroot}%{_initddir}/%{daemon_name} install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket +install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common # Remove libmysqld.a @@ -1089,6 +1092,7 @@ fi %{_libexecdir}/mysql-prepare-db-dir %{_libexecdir}/mysql-wait-ready %{_libexecdir}/mysql-check-socket +%{_libexecdir}/mysql-check-upgrade %{_libexecdir}/mysql-scripts-common %{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} @@ -1158,6 +1162,7 @@ fi client.cnf into -libs, mysql_plugin and msql2mysql into base, tokuftdump and aria_* into -server, errmsg-utf8.txt into -errmsg - Remove duplicate cnf files packaged using %%doc +- Check upgrade script added to warn about need for mysql_upgrade * Wed Sep 24 2014 Matej Muzila - 1:10.0.13-7 - Client related libraries moved from mariadb-server to mariadb-libs diff --git a/mysql-check-upgrade.sh b/mysql-check-upgrade.sh new file mode 100644 index 0000000..8fefe6b --- /dev/null +++ b/mysql-check-upgrade.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" + +upgrade_info_file="$datadir/mysql_upgrade_info" +version=0 +# get version as integer from mysql_upgrade_info file +if [ -f "$upgrade_info_file" ] && [ -r "$upgrade_info_file" ] ; then + version_major=$(cat "$upgrade_info_file" | head -n 1 | sed -e 's/\([0-9]*\)\.\([0-9]*\)\..*$/\1/') + version_minor=$(cat "$upgrade_info_file" | head -n 1 | sed -e 's/\([0-9]*\)\.\([0-9]*\)\..*$/\2/') + if [[ $version_major =~ ^[0-9]+$ ]] && [[ $version_minor =~ ^[0-9]+$ ]] ; then + version=$((version_major*100+version_minor)) + fi +fi + +# compute current version as integer +thisversion=$((@MAJOR_VERSION@*100+@MINOR_VERSION@)) + +# provide warning in cases we should run mysql_upgrade +if [ $version -ne $thisversion ] ; then + + # give extra warning if some version seems to be skipped + if [ $version -gt 0 ] && [ $version -lt 505 ] ; then + echo "The datadir located at $datadir seems to be older than of a version 5.5. Please, mind that as a general rule, to upgrade from one release series to another, go to the next series rather than skipping a series." >&2 + fi + + cat <&2 +The datadir located at $datadir needs to be upgraded using 'mysql_upgrade' tool. This can be done using the following steps: + + 1. Back-up your data before running 'mysql_upgrade' + 2. Start the database daemon using 'systemctl start @DAEMON_NAME@.service' + 3. Run 'mysql_upgrade' with a database user that has sufficent privileges + +Read more about 'mysql_upgrade' usage at: +https://mariadb.com/kb/en/mariadb/documentation/sql-commands/table-commands/mysql_upgrade/ +EOF +fi + +exit 0 diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index e1dad61..67fe919 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -80,6 +80,8 @@ if [ ! -d "$datadir/mysql" ] ; then fi exit $ret fi + # upgrade does not need to be run on a fresh datadir + echo "@MYSQL_VERSION_ID@" >"$datadir/mysql_upgrade_info" # In case we're running as root, make sure files are owned properly chown -R "$myuser:$mygroup" "$datadir" fi diff --git a/mysql.service.in b/mysql.service.in index 4c2b60a..a33df16 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -38,6 +38,7 @@ ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n # per bug #547485 ExecStart=@bindir@/mysqld_safe --basedir=@prefix@ ExecStartPost=@libexecdir@/mysql-wait-ready $MAINPID +ExecStartPost=@libexecdir@/mysql-check-upgrade # Give a reasonable amount of time for the server to start up/shut down TimeoutSec=300 From 00534d9ccca5122db1125fc09c1f1cecf370cde8 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 29 Sep 2014 17:19:52 +0200 Subject: [PATCH 173/789] Update to 10.0.14 --- .gitignore | 1 + mariadb.spec | 11 +++++++---- mysql-check-upgrade.sh | 2 +- mysql-prepare-db-dir.sh | 2 +- sources | 2 +- 5 files changed, 11 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 0f144d4..314f72e 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ /mariadb-10.0.11.tar.gz /mariadb-10.0.12.tar.gz /mariadb-10.0.13.tar.gz +/mariadb-10.0.14.tar.gz diff --git a/mariadb.spec b/mariadb.spec index 73bb979..84ba44c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -97,11 +97,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.0 -%global bugfixver 13 +%global bugfixver 14 Name: %{pkgname} Version: %{compatver}.%{bugfixver} -Release: 8%{?dist} +Release: 1%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -632,8 +632,8 @@ install -p -m 0755 scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_co # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also %%{name}-file-contents.patch) -mv %{buildroot}%{_pkgdocdir}/MariaDB-server-%{version}/INFO_SRC %{buildroot}%{_libdir}/mysql/ -mv %{buildroot}%{_pkgdocdir}/MariaDB-server-%{version}/INFO_BIN %{buildroot}%{_libdir}/mysql/ +install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ +install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ rm -rf %{buildroot}%{_pkgdocdir}/MariaDB-server-%{version}/ mkdir -p %{buildroot}%{logfiledir} @@ -1155,6 +1155,9 @@ fi %endif %changelog +* Mon Sep 29 2014 Honza Horak - 1:10.0.14-1 +- Update to 10.0.14 + * Wed Sep 24 2014 Honza Horak - 1:10.0.13-8 - Move connect engine to a separate package Rename oqgraph engine to align with upstream packages diff --git a/mysql-check-upgrade.sh b/mysql-check-upgrade.sh index 8fefe6b..9c8a8bd 100644 --- a/mysql-check-upgrade.sh +++ b/mysql-check-upgrade.sh @@ -29,7 +29,7 @@ The datadir located at $datadir needs to be upgraded using 'mysql_upgrade' tool. 1. Back-up your data before running 'mysql_upgrade' 2. Start the database daemon using 'systemctl start @DAEMON_NAME@.service' - 3. Run 'mysql_upgrade' with a database user that has sufficent privileges + 3. Run 'mysql_upgrade' with a database user that has sufficient privileges Read more about 'mysql_upgrade' usage at: https://mariadb.com/kb/en/mariadb/documentation/sql-commands/table-commands/mysql_upgrade/ diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index 67fe919..1905f09 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -81,7 +81,7 @@ if [ ! -d "$datadir/mysql" ] ; then exit $ret fi # upgrade does not need to be run on a fresh datadir - echo "@MYSQL_VERSION_ID@" >"$datadir/mysql_upgrade_info" + echo "@VERSION@-MariaDB" >"$datadir/mysql_upgrade_info" # In case we're running as root, make sure files are owned properly chown -R "$myuser:$mygroup" "$datadir" fi diff --git a/sources b/sources index c3664dc..211343f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7b2e88864b51d7d0607dc37abb8a0adb mariadb-10.0.13.tar.gz +80fea71de54a9cfa7f5508df53d3f06d mariadb-10.0.14.tar.gz From c4ed5215c5d7322420ab102b241d5ad9c7976073 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 29 Sep 2014 18:41:50 +0200 Subject: [PATCH 174/789] Add with_debug option --- mariadb.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 84ba44c..c8346b5 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -47,6 +47,9 @@ # those files may create issues %bcond_without config +# For deep debugging we need to build binaries with extra debug info +%bcond_with debug + # Include files for SysV init or systemd %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 %bcond_without init_systemd @@ -101,7 +104,7 @@ Name: %{pkgname} Version: %{compatver}.%{bugfixver} -Release: 1%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -587,6 +590,7 @@ export LDFLAGS -DWITH_JEMALLOC=no \ %{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\ -DTMPDIR=/var/tmp \ +%{?with_debug: -DCMAKE_BUILD_TYPE=Debug}\ %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} make %{?_smp_mflags} VERBOSE=1 @@ -1155,6 +1159,9 @@ fi %endif %changelog +* Mon Sep 29 2014 Honza Horak - 1:10.0.14-2 +- Add with_debug option + * Mon Sep 29 2014 Honza Horak - 1:10.0.14-1 - Update to 10.0.14 From 53fd0e710d4a4737334f04478e4c9c63ef40e24c Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 30 Sep 2014 21:32:03 +0200 Subject: [PATCH 175/789] Remove errmsg-utf8.txt if not packaged --- mariadb.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/mariadb.spec b/mariadb.spec index c8346b5..b77b03c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -785,6 +785,7 @@ rm -rf %{buildroot}%{_datadir}/%{name}/charsets %endif %if %{without errmsg} +rm -f %{buildroot}%{_datadir}/%{name}/errmsg-utf8.txt rm -rf %{buildroot}%{_datadir}/%{name}/{english,czech,danish,dutch,estonian,\ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} From 4bb43c839e7e54756f58607a932c008c3876a05b Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 1 Oct 2014 08:46:39 +0200 Subject: [PATCH 176/789] Build with system libedit Resolves: #1079637 --- mariadb.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index b77b03c..3c9995b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -104,7 +104,7 @@ Name: %{pkgname} Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -164,7 +164,7 @@ BuildRequires: libaio-devel BuildRequires: openssl-devel BuildRequires: ncurses-devel BuildRequires: perl -BuildRequires: readline-devel +BuildRequires: libedit-devel BuildRequires: systemtap-sdt-devel BuildRequires: zlib-devel # auth_pam.so plugin will be build if pam-devel is installed @@ -583,7 +583,6 @@ export LDFLAGS -DENABLED_LOCAL_INFILE=ON \ -DENABLE_DTRACE=ON \ -DWITH_EMBEDDED_SERVER=ON \ - -DWITH_READLINE=ON \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ %{?with_pcre: -DWITH_PCRE=system}\ @@ -1160,6 +1159,10 @@ fi %endif %changelog +* Wed Oct 01 2014 Honza Horak - 1:10.0.14-3 +- Build with system libedit + Resolves: #1079637 + * Mon Sep 29 2014 Honza Horak - 1:10.0.14-2 - Add with_debug option From b0dad15adba17a523ac96d52bd1e430c3cad0881 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 1 Oct 2014 14:13:57 +0200 Subject: [PATCH 177/789] Add bcond_without mysql_names Use more correct path when deleting mysql logrotate script --- mariadb.spec | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 3c9995b..f94c224 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -88,6 +88,9 @@ %global obsoleted_mysql_evr 5.6-0 %global obsoleted_mysql_case_evr 5.5.30-5 +# Provide mysql names for compatibility +%bcond_without mysql_names + # When replacing mysql by mariadb these packages are not upated, but rather # installed and uninstalled. Thus we loose information about mysqld service # enablement. To address this we use a file to store that information within @@ -104,7 +107,7 @@ Name: %{pkgname} Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -191,10 +194,12 @@ Requires: fileutils Requires: grep Requires: %{name}-common%{?_isa} = %{sameevr} +%if %{with mysql_names} Provides: mysql = %{sameevr} Provides: mysql%{?_isa} = %{sameevr} Provides: mysql-compat-client = %{sameevr} Provides: mysql-compat-client%{?_isa} = %{sameevr} +%endif # MySQL (with caps) is upstream's spelling of their own RPMs for mysql %{?obsoleted_mysql_case_evr:Obsoletes: MySQL < %{obsoleted_mysql_case_evr}} @@ -224,8 +229,10 @@ contains the standard MariaDB/MySQL client programs and generic MySQL files. Summary: The shared libraries required for MariaDB/MySQL clients Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} +%if %{with mysql_names} Provides: mysql-libs = %{sameevr} Provides: mysql-libs%{?_isa} = %{sameevr} +%endif %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-libs < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-libs < %{obsoleted_mysql_evr}} @@ -299,10 +306,12 @@ Requires(posttrans): systemd # mysqlhotcopy needs DBI/DBD support Requires: perl(DBI) Requires: perl(DBD::mysql) +%if %{with mysql_names} Provides: mysql-server = %{sameevr} Provides: mysql-server%{?_isa} = %{sameevr} Provides: mysql-compat-server = %{sameevr} Provides: mysql-compat-server%{?_isa} = %{sameevr} +%endif %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-server < %{obsoleted_mysql_case_evr}} Conflicts: community-mysql-server Conflicts: mariadb-galera-server @@ -355,8 +364,10 @@ Summary: Files for development of MariaDB/MySQL applications Group: Applications/Databases Requires: %{name}-libs%{?_isa} = %{sameevr} Requires: openssl-devel%{?_isa} +%if %{with mysql_names} Provides: mysql-devel = %{sameevr} Provides: mysql-devel%{?_isa} = %{sameevr} +%endif %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-devel < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-devel < %{obsoleted_mysql_evr}} Conflicts: community-mysql-devel @@ -375,8 +386,10 @@ Summary: MariaDB as an embeddable library Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-errmsg%{?_isa} = %{sameevr} +%if %{with mysql_names} Provides: mysql-embedded = %{sameevr} Provides: mysql-embedded%{?_isa} = %{sameevr} +%endif %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-embedded < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-embedded < %{obsoleted_mysql_evr}} @@ -392,8 +405,10 @@ Summary: Development files for MariaDB as an embeddable library Group: Applications/Databases Requires: %{name}-embedded%{?_isa} = %{sameevr} Requires: %{name}-devel%{?_isa} = %{sameevr} +%if %{with mysql_names} Provides: mysql-embedded-devel = %{sameevr} Provides: mysql-embedded-devel%{?_isa} = %{sameevr} +%endif Conflicts: community-mysql-embedded-devel %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-embedded-devel < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-embedded-devel < %{obsoleted_mysql_evr}} @@ -411,8 +426,10 @@ MariaDB is a community developed branch of MySQL. Summary: MariaDB benchmark scripts and data Group: Applications/Databases Requires: %{name}%{?_isa} = %{sameevr} +%if %{with mysql_names} Provides: mysql-bench = %{sameevr} Provides: mysql-bench%{?_isa} = %{sameevr} +%endif Conflicts: community-mysql-bench %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-bench < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-bench < %{obsoleted_mysql_evr}} @@ -444,8 +461,10 @@ Requires: perl(Sys::Hostname) Requires: perl(Test::More) Requires: perl(Time::HiRes) Conflicts: community-mysql-test +%if %{with mysql_names} Provides: mysql-test = %{sameevr} Provides: mysql-test%{?_isa} = %{sameevr} +%endif %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-test < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-test < %{obsoleted_mysql_evr}} @@ -736,7 +755,7 @@ rm -rf %{buildroot}%{_datadir}/%{name}/SELinux/ rm -f %{buildroot}%{_sysconfdir}/init.d/mysql # remove duplicate logrotate script -rm -f %{buildroot}%{logrotateddir}/mysql +rm -f %{buildroot}%{_sysconfdir}/logrotate.d/mysql # remove solaris files rm -rf %{buildroot}%{_datadir}/%{name}/solaris/ @@ -1159,6 +1178,10 @@ fi %endif %changelog +* Wed Oct 01 2014 Honza Horak - 1:10.0.14-4 +- Add bcond_without mysql_names + Use more correct path when deleting mysql logrotate script + * Wed Oct 01 2014 Honza Horak - 1:10.0.14-3 - Build with system libedit Resolves: #1079637 From d4c6e22c2bf8690af9fd6ab06462d6e5f0bd11c0 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 1 Oct 2014 15:42:52 +0200 Subject: [PATCH 178/789] Remove executable flag from mysql-scripts-common.sh --- mysql-scripts-common.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 mysql-scripts-common.sh diff --git a/mysql-scripts-common.sh b/mysql-scripts-common.sh old mode 100755 new mode 100644 From a7cd29b16449f4a701e1e2550f4afbd573ddd90b Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 8 Oct 2014 14:10:46 +0200 Subject: [PATCH 179/789] Disable tests connect.part_file, connect.part_table and connect.updelx Related: #1149647 --- mariadb.spec | 7 ++++++- rh-skipped-tests-ppc-s390.list | 3 +++ rh-skipped-tests-ppc64le.list | 3 +++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index f94c224..ebc23f7 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -107,7 +107,7 @@ Name: %{pkgname} Version: %{compatver}.%{bugfixver} -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1178,6 +1178,11 @@ fi %endif %changelog +* Wed Oct 08 2014 Honza Horak - 1:10.0.14-5 +- Disable tests connect.part_file, connect.part_table + and connect.updelx + Related: #1149647 + * Wed Oct 01 2014 Honza Horak - 1:10.0.14-4 - Add bcond_without mysql_names Use more correct path when deleting mysql logrotate script diff --git a/rh-skipped-tests-ppc-s390.list b/rh-skipped-tests-ppc-s390.list index 45cc061..e28c764 100644 --- a/rh-skipped-tests-ppc-s390.list +++ b/rh-skipped-tests-ppc-s390.list @@ -2,6 +2,9 @@ connect.alter : rhbz#1096787 connect.bin : rhbz#1096787 connect.dbf : rhbz#1096787 connect.index : rhbz#1096787 +connect.part_file : rhbz#1149647 +connect.part_table : rhbz#1149647 +connect.updelx : rhbz#1149647 main.gis-precise : rhbz#1096787 main.statistics : rhbz#1096787 multi_source.skip_counter : rhbz#1096787 diff --git a/rh-skipped-tests-ppc64le.list b/rh-skipped-tests-ppc64le.list index 716f7b3..85fe832 100644 --- a/rh-skipped-tests-ppc64le.list +++ b/rh-skipped-tests-ppc64le.list @@ -1,3 +1,6 @@ main.gis-precise : rhbz#1096787 main.mysqlslap : rhbz#1096787 rpl.rpl_insert : rhbz#1096787 +connect.part_file : rhbz#1149647 +connect.part_table : rhbz#1149647 +connect.updelx : rhbz#1149647 From 0df3a48d8033f65099ccdb8e5680afab85d87841 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 13 Oct 2014 20:31:09 +0200 Subject: [PATCH 180/789] Remove bundled cmd-line-utils Related: #1079637 --- mariadb.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index ebc23f7..b3705e7 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -107,7 +107,7 @@ Name: %{pkgname} Version: %{compatver}.%{bugfixver} -Release: 5%{?with_debug:.debug}%{?dist} +Release: 6%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -495,6 +495,9 @@ MariaDB is a community developed branch of MySQL. %patch35 -p1 %patch36 -p1 +# removing bundled cmd-line-utils +rm -r cmd-line-utils + sed -i -e 's/2.8.7/2.6.4/g' cmake/cpack_rpm.cmake # workaround for upstream bug #56342 @@ -1178,6 +1181,10 @@ fi %endif %changelog +* Mon Oct 13 2014 Honza Horak - 1:10.0.14-6 +- Remove bundled cmd-line-utils + Related: #1079637 + * Wed Oct 08 2014 Honza Horak - 1:10.0.14-5 - Disable tests connect.part_file, connect.part_table and connect.updelx From 7162d539b15d358b967dc9b2c6e6c1237d0eb73d Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 13 Oct 2014 20:35:25 +0200 Subject: [PATCH 181/789] Move mysqlimport man page to proper package --- mariadb.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index b3705e7..69cd706 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -789,7 +789,7 @@ mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} rm -f %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_find_rows,\ mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ -mysqldump,mysqlshow,mysqlslap,my_print_defaults}.1* +mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* %endif %if %{without connect} @@ -961,6 +961,7 @@ fi %{_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* @@ -1092,7 +1093,6 @@ fi %{_mandir}/man1/mysqld_multi.1* %{_mandir}/man1/mysqld_safe.1* %{_mandir}/man1/mysqlhotcopy.1* -%{_mandir}/man1/mysqlimport.1* %{_mandir}/man1/mysql_setpermission.1* %{_mandir}/man1/mysqltest.1* %{_mandir}/man1/innochecksum.1* @@ -1184,6 +1184,7 @@ fi * Mon Oct 13 2014 Honza Horak - 1:10.0.14-6 - Remove bundled cmd-line-utils Related: #1079637 +- Move mysqlimport man page to proper package * Wed Oct 08 2014 Honza Horak - 1:10.0.14-5 - Disable tests connect.part_file, connect.part_table From 971c99504c488539a94fe56687ce9dd89971abe7 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 13 Oct 2014 20:42:51 +0200 Subject: [PATCH 182/789] Disable main.key_cache test on s390 Releated: #1149647 --- mariadb.spec | 7 +++++++ rh-skipped-tests-s390.list | 2 ++ 2 files changed, 9 insertions(+) create mode 100644 rh-skipped-tests-s390.list diff --git a/mariadb.spec b/mariadb.spec index 69cd706..29abd04 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -140,6 +140,7 @@ Source51: rh-skipped-tests-intel.list Source52: rh-skipped-tests-arm.list Source53: rh-skipped-tests-ppc-s390.list Source54: rh-skipped-tests-ppc64le.list +Source55: rh-skipped-tests-s390.list # Comments for these patches are in the patch files # Patches common for more mysql-like packages @@ -523,6 +524,10 @@ cat %{SOURCE53} >> mysql-test/rh-skipped-tests.list cat %{SOURCE54} >> mysql-test/rh-skipped-tests.list %endif +%ifarch s390 +cat %{SOURCE55} >> mysql-test/rh-skipped-tests.list +%endif + cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} %{SOURCE19} \ scripts @@ -1185,6 +1190,8 @@ fi - Remove bundled cmd-line-utils Related: #1079637 - Move mysqlimport man page to proper package +- Disable main.key_cache test on s390 + Releated: #1149647 * Wed Oct 08 2014 Honza Horak - 1:10.0.14-5 - Disable tests connect.part_file, connect.part_table diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list new file mode 100644 index 0000000..48daec1 --- /dev/null +++ b/rh-skipped-tests-s390.list @@ -0,0 +1,2 @@ +main.key_cache : rhbz#1149647 + From a2a92b8e1d645c375d8621adef2c242ba573b4b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Stan=C4=9Bk?= Date: Fri, 24 Oct 2014 14:18:17 +0200 Subject: [PATCH 183/789] Fixed compat service file. Resolves: #1155700 --- mariadb.spec | 6 +++++- mysql-compat.service.in | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 29abd04..d94db38 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -107,7 +107,7 @@ Name: %{pkgname} Version: %{compatver}.%{bugfixver} -Release: 6%{?with_debug:.debug}%{?dist} +Release: 7%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1186,6 +1186,10 @@ fi %endif %changelog +* Fri Oct 24 2014 Jan Stanek - 1:10.0.14-7 +- Fixed compat service file. + Resolves: #1155700 + * Mon Oct 13 2014 Honza Horak - 1:10.0.14-6 - Remove bundled cmd-line-utils Related: #1079637 diff --git a/mysql-compat.service.in b/mysql-compat.service.in index acd6c44..16bcdc0 100644 --- a/mysql-compat.service.in +++ b/mysql-compat.service.in @@ -1,6 +1,7 @@ [Unit] Description=MySQL compatibility service (another name for @DAEMON_NAME@.service; you should use @DAEMON_NAME@.service instead) BindsTo=@DAEMON_NAME@.service +After=@DAEMON_NAME@.service [Service] Type=oneshot From c0c63684bf57bf2ca145da6ca7d6af13d981be3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Stan=C4=9Bk?= Date: Thu, 20 Nov 2014 14:09:59 +0100 Subject: [PATCH 184/789] Applied upstream fix for mysql_config --cflags output. Resolves: #1160845 --- mariadb-10.0.14-mysql_config-cflags.patch | 20 ++++++++++++++++++++ mariadb.spec | 8 +++++++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 mariadb-10.0.14-mysql_config-cflags.patch diff --git a/mariadb-10.0.14-mysql_config-cflags.patch b/mariadb-10.0.14-mysql_config-cflags.patch new file mode 100644 index 0000000..89a22d9 --- /dev/null +++ b/mariadb-10.0.14-mysql_config-cflags.patch @@ -0,0 +1,20 @@ +# Fix leftover warning flags on mysql_config --cflags + +--- scripts/mysql_config.sh 2014-10-08 07:35:00 +0000 ++++ scripts/mysql_config.sh 2014-11-18 14:43:01 +0000 +@@ -136,12 +136,12 @@ + for remove in DDBUG_OFF DSAFE_MUTEX DUNIV_MUST_NOT_INLINE DFORCE_INIT_OF_VARS \ + DEXTRA_DEBUG DHAVE_valgrind O 'O[0-9]' 'xO[0-9]' 'W[-A-Za-z]*' \ + 'mtune=[-A-Za-z0-9]*' 'mcpu=[-A-Za-z0-9]*' 'march=[-A-Za-z0-9]*' \ +- Xa xstrconst "xc99=none" AC99 \ ++ Xa xstrconst "xc99=none" AC99 'W[-A-Za-z]*=[-A-Za-z0-9]*' \ + unroll2 ip mp restrict + do + # The first option we might strip will always have a space before it because + # we set -I$pkgincludedir as the first option +- cflags=`echo "$cflags"|sed -e "s/ -$remove */ /g"` ++ cflags=`echo "$cflags"|sed -e ':again' -e "s/ -$remove */ /g" -e 't again'` + done + cflags=`echo "$cflags"|sed -e 's/ *\$//'` + + diff --git a/mariadb.spec b/mariadb.spec index d94db38..66d6ed3 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -107,7 +107,7 @@ Name: %{pkgname} Version: %{compatver}.%{bugfixver} -Release: 7%{?with_debug:.debug}%{?dist} +Release: 8%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -162,6 +162,7 @@ Patch33: %{pkgnamepatch}-covscan-signexpr.patch Patch34: %{pkgnamepatch}-covscan-stroverflow.patch Patch35: %{pkgnamepatch}-config.patch Patch36: %{pkgnamepatch}-ssltest.patch +Patch37: mariadb-10.0.14-mysql_config-cflags.patch BuildRequires: cmake BuildRequires: libaio-devel @@ -495,6 +496,7 @@ MariaDB is a community developed branch of MySQL. %patch34 -p1 %patch35 -p1 %patch36 -p1 +%patch37 -p0 # removing bundled cmd-line-utils rm -r cmd-line-utils @@ -1186,6 +1188,10 @@ fi %endif %changelog +* Thu Nov 20 2014 Jan Stanek - 1:10.0.14-8 +- Applied upstream fix for mysql_config --cflags output. + Resolves: #1160845 + * Fri Oct 24 2014 Jan Stanek - 1:10.0.14-7 - Fixed compat service file. Resolves: #1155700 From 7f3fe0a2f7164045b5401a2e0c8a8a017de29edb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Thu, 27 Nov 2014 15:30:37 +0100 Subject: [PATCH 185/789] Update to 10.0.15 --- .gitignore | 1 + mariadb-10.0.14-mysql_config-cflags.patch | 20 ---- mariadb-cipherspec.patch | 115 ---------------------- mariadb-covscan-signexpr.patch | 8 +- mariadb-covscan-stroverflow.patch | 13 +-- mariadb-dh1024.patch | 8 +- mariadb-scripts.patch | 16 +-- mariadb-ssltest.patch | 16 +-- mariadb-strmov.patch | 8 +- mariadb.spec | 34 ++++--- rh-skipped-tests-arm.list | 5 +- rh-skipped-tests-base.list | 5 +- sources | 2 +- 13 files changed, 64 insertions(+), 187 deletions(-) delete mode 100644 mariadb-10.0.14-mysql_config-cflags.patch delete mode 100644 mariadb-cipherspec.patch diff --git a/.gitignore b/.gitignore index 314f72e..8f84719 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /mariadb-10.0.12.tar.gz /mariadb-10.0.13.tar.gz /mariadb-10.0.14.tar.gz +/mariadb-10.0.15.tar.gz diff --git a/mariadb-10.0.14-mysql_config-cflags.patch b/mariadb-10.0.14-mysql_config-cflags.patch deleted file mode 100644 index 89a22d9..0000000 --- a/mariadb-10.0.14-mysql_config-cflags.patch +++ /dev/null @@ -1,20 +0,0 @@ -# Fix leftover warning flags on mysql_config --cflags - ---- scripts/mysql_config.sh 2014-10-08 07:35:00 +0000 -+++ scripts/mysql_config.sh 2014-11-18 14:43:01 +0000 -@@ -136,12 +136,12 @@ - for remove in DDBUG_OFF DSAFE_MUTEX DUNIV_MUST_NOT_INLINE DFORCE_INIT_OF_VARS \ - DEXTRA_DEBUG DHAVE_valgrind O 'O[0-9]' 'xO[0-9]' 'W[-A-Za-z]*' \ - 'mtune=[-A-Za-z0-9]*' 'mcpu=[-A-Za-z0-9]*' 'march=[-A-Za-z0-9]*' \ -- Xa xstrconst "xc99=none" AC99 \ -+ Xa xstrconst "xc99=none" AC99 'W[-A-Za-z]*=[-A-Za-z0-9]*' \ - unroll2 ip mp restrict - do - # The first option we might strip will always have a space before it because - # we set -I$pkgincludedir as the first option -- cflags=`echo "$cflags"|sed -e "s/ -$remove */ /g"` -+ cflags=`echo "$cflags"|sed -e ':again' -e "s/ -$remove */ /g" -e 't again'` - done - cflags=`echo "$cflags"|sed -e 's/ *\$//'` - - diff --git a/mariadb-cipherspec.patch b/mariadb-cipherspec.patch deleted file mode 100644 index 0707093..0000000 --- a/mariadb-cipherspec.patch +++ /dev/null @@ -1,115 +0,0 @@ -Some test items assume the default SSL cipher is DHE-RSA-AES256-SHA, -which is no longer the case as of openssl 1.0.1. -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 --recursive mariadb-10.0.12.orig/client/mysqltest.cc mariadb-10.0.12/client/mysqltest.cc ---- mariadb-10.0.12.orig/client/mysqltest.cc 2014-06-12 11:26:05.000000000 +0200 -+++ mariadb-10.0.12/client/mysqltest.cc 2014-06-18 11:24:49.623171255 +0200 -@@ -5912,6 +5912,7 @@ void do_connect(struct st_command *comma - my_bool con_pipe= 0; - my_bool con_shm __attribute__ ((unused))= 0; - struct st_connection* con_slot; -+ char *con_cipher=NULL; - - static DYNAMIC_STRING ds_connection_name; - static DYNAMIC_STRING ds_host; -@@ -6002,6 +6003,8 @@ void do_connect(struct st_command *comma - con_pipe= 1; - else if (length == 3 && !strncmp(con_options, "SHM", 3)) - con_shm= 1; -+ 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); -@@ -6051,8 +6054,11 @@ void do_connect(struct st_command *comma - if (con_ssl) - { - #if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY) -+ /* default cipher */ -+ if (con_cipher == NULL && opt_ssl_cipher != NULL) -+ con_cipher = opt_ssl_cipher; - 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 -diff -up --recursive mariadb-10.0.12.orig/mysql-test/t/openssl_1.test mariadb-10.0.12/mysql-test/t/openssl_1.test ---- mariadb-10.0.12.orig/mysql-test/t/openssl_1.test 2014-06-12 11:26:05.000000000 +0200 -+++ mariadb-10.0.12/mysql-test/t/openssl_1.test 2014-06-18 11:24:49.624171253 +0200 -@@ -20,13 +20,13 @@ grant select on test.* to ssl_user4@loca - grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; - flush privileges; - --connect (con1,localhost,ssl_user1,,,,,SSL); --connect (con2,localhost,ssl_user2,,,,,SSL); --connect (con3,localhost,ssl_user3,,,,,SSL); --connect (con4,localhost,ssl_user4,,,,,SSL); -+connect (con1,localhost,ssl_user1,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); -+connect (con2,localhost,ssl_user2,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); -+connect (con3,localhost,ssl_user3,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); -+connect (con4,localhost,ssl_user4,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); - --replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT - --error ER_ACCESS_DENIED_ERROR --connect (con5,localhost,ssl_user5,,,,,SSL); -+connect (con5,localhost,ssl_user5,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); - - connection con1; - # Check ssl turned on -@@ -129,7 +129,7 @@ drop table t1; - # verification of servers certificate by setting both ca certificate - # and ca path to NULL - # ----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 - --echo End of 5.0 tests - - # -@@ -254,7 +254,7 @@ select 'is still running; no cipher requ - - GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; - FLUSH PRIVILEGES; --connect(con1,localhost,bug42158,,,,,SSL); -+connect(con1,localhost,bug42158,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); - SHOW STATUS LIKE 'Ssl_cipher'; - disconnect con1; - connection default; -diff -up --recursive mariadb-10.0.12.orig/mysql-test/t/ssl_compress.test mariadb-10.0.12/mysql-test/t/ssl_compress.test ---- mariadb-10.0.12.orig/mysql-test/t/ssl_compress.test 2014-06-12 11:26:07.000000000 +0200 -+++ mariadb-10.0.12/mysql-test/t/ssl_compress.test 2014-06-18 11:24:49.624171253 +0200 -@@ -8,7 +8,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 --recursive mariadb-10.0.12.orig/mysql-test/t/ssl.test mariadb-10.0.12/mysql-test/t/ssl.test ---- mariadb-10.0.12.orig/mysql-test/t/ssl.test 2014-06-12 11:26:05.000000000 +0200 -+++ mariadb-10.0.12/mysql-test/t/ssl.test 2014-06-18 11:24:49.624171253 +0200 -@@ -8,7 +8,7 @@ - # Save the initial number of concurrent sessions - --source include/count_sessions.inc - --connect (ssl_con,localhost,root,,,,,SSL); -+connect (ssl_con,localhost,root,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); - - # Check ssl turned on - SHOW STATUS LIKE 'Ssl_cipher'; -diff -up --recursive mariadb-10.0.12.orig/mysql-test/t/ssl_8k_key.test mariadb-10.0.12/mysql-test/t/ssl_8k_key.test ---- mariadb-10.0.12.orig/mysql-test/t/ssl_8k_key.test 2014-06-12 11:26:05.000000000 +0200 -+++ mariadb-10.0.12/mysql-test/t/ssl_8k_key.test 2014-06-18 11:24:49.624171253 +0200 -@@ -5,7 +5,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/mariadb-covscan-signexpr.patch b/mariadb-covscan-signexpr.patch index 5eec94a..54d47b5 100644 --- a/mariadb-covscan-signexpr.patch +++ b/mariadb-covscan-signexpr.patch @@ -2,10 +2,10 @@ This issue has been found by Coverity - static analysis tool. mysql-5.5.31/strings/ctype-ucs2.c:1707:sign_extension – Suspicious implicit sign extension: "s[0]" with type "unsigned char" (8 bits, unsigned) is promoted in "(s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3]" to type "int" (32 bits, signed), then sign-extended to type "unsigned long" (64 bits, unsigned). If "(s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3]" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. -diff -up mariadb-10.0.10/strings/ctype-ucs2.c.p11 mariadb-10.0.10/strings/ctype-ucs2.c ---- mariadb-10.0.10/strings/ctype-ucs2.c.p11 2014-03-30 19:56:37.000000000 +0200 -+++ mariadb-10.0.10/strings/ctype-ucs2.c 2014-04-07 18:56:01.145454666 +0200 -@@ -1930,7 +1930,7 @@ my_utf32_uni(CHARSET_INFO *cs __attribut +diff -up mariadb-10.0.15/strings/ctype-ucs2.c.orig mariadb-10.0.15/strings/ctype-ucs2.c +--- mariadb-10.0.15/strings/ctype-ucs2.c.orig 2014-11-27 15:14:11.129554529 +0100 ++++ mariadb-10.0.15/strings/ctype-ucs2.c 2014-11-27 15:13:06.806439653 +0100 +@@ -1932,7 +1932,7 @@ my_utf32_uni(CHARSET_INFO *cs __attribut { if (s + 4 > e) return MY_CS_TOOSMALL4; diff --git a/mariadb-covscan-stroverflow.patch b/mariadb-covscan-stroverflow.patch index 4eb6e8b..42f373d 100644 --- a/mariadb-covscan-stroverflow.patch +++ b/mariadb-covscan-stroverflow.patch @@ -6,9 +6,9 @@ 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 mariadb-10.0.10/plugin/semisync/semisync_master.cc.p12 mariadb-10.0.10/plugin/semisync/semisync_master.cc ---- mariadb-10.0.10/plugin/semisync/semisync_master.cc.p12 2014-03-30 19:56:37.000000000 +0200 -+++ mariadb-10.0.10/plugin/semisync/semisync_master.cc 2014-04-07 20:02:49.614944992 +0200 +diff -up mariadb-10.0.15/plugin/semisync/semisync_master.cc.orig mariadb-10.0.15/plugin/semisync/semisync_master.cc +--- mariadb-10.0.15/plugin/semisync/semisync_master.cc.orig 2014-11-27 15:16:59.664855517 +0100 ++++ mariadb-10.0.15/plugin/semisync/semisync_master.cc 2014-11-27 15:16:17.029779375 +0100 @@ -553,7 +553,8 @@ int ReplSemiSyncMaster::reportReplyBinlo if (need_copy_send_pos) @@ -42,9 +42,10 @@ diff -up mariadb-10.0.10/plugin/semisync/semisync_master.cc.p12 mariadb-10.0.10/ 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 ---- mariadb-10.0.10/sql/rpl_handler.cc.p12 2014-03-30 19:56:34.000000000 +0200 -+++ mariadb-10.0.10/sql/rpl_handler.cc 2014-04-07 20:07:58.851123497 +0200 -@@ -303,7 +303,8 @@ int Binlog_storage_delegate::after_flush +diff -up mariadb-10.0.15/sql/rpl_handler.cc.orig mariadb-10.0.15/sql/rpl_handler.cc +--- mariadb-10.0.15/sql/rpl_handler.cc.orig 2014-11-27 15:17:28.000906123 +0100 ++++ mariadb-10.0.15/sql/rpl_handler.cc 2014-11-27 15:16:17.030779377 +0100 +@@ -270,7 +270,8 @@ int Binlog_storage_delegate::after_flush my_pthread_setspecific_ptr(RPL_TRANS_BINLOG_INFO, log_info); } diff --git a/mariadb-dh1024.patch b/mariadb-dh1024.patch index 93f53ad..e1a2ee8 100644 --- a/mariadb-dh1024.patch +++ b/mariadb-dh1024.patch @@ -5,9 +5,9 @@ mode is on, but it doesn't seem worth the trouble.) The new parameter value was generated using "openssl dhparam -C 1024". -diff -up mariadb-10.0.10/vio/viosslfactories.c.p9 mariadb-10.0.10/vio/viosslfactories.c ---- mariadb-10.0.10/vio/viosslfactories.c.p9 2014-03-30 19:56:42.000000000 +0200 -+++ mariadb-10.0.10/vio/viosslfactories.c 2014-04-07 18:50:55.068255050 +0200 +diff -up mariadb-10.0.15/vio/viosslfactories.c.orig mariadb-10.0.15/vio/viosslfactories.c +--- mariadb-10.0.15/vio/viosslfactories.c.orig 2014-11-27 15:02:22.757315487 +0100 ++++ mariadb-10.0.15/vio/viosslfactories.c 2014-11-27 15:00:44.847144887 +0100 @@ -20,27 +20,32 @@ static my_bool ssl_algorithms_added = FALSE; static my_bool ssl_error_strings_loaded= FALSE; @@ -52,7 +52,7 @@ diff -up mariadb-10.0.10/vio/viosslfactories.c.p9 mariadb-10.0.10/vio/viosslfact if (! dh->p || ! dh->g) { DH_free(dh); -@@ -282,7 +287,7 @@ new_VioSSLFd(const char *key_file, const +@@ -284,7 +289,7 @@ new_VioSSLFd(const char *key_file, const } /* DH stuff */ diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index 1dd1844..d5ba659 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -1,7 +1,7 @@ -diff -up mariadb-10.0.12/scripts/CMakeLists.txt.systemd mariadb-10.0.12/scripts/CMakeLists.txt ---- mariadb-10.0.12/scripts/CMakeLists.txt.systemd 2014-07-21 10:49:58.491470586 +0200 -+++ mariadb-10.0.12/scripts/CMakeLists.txt 2014-07-21 14:21:22.673329708 +0200 -@@ -368,6 +368,34 @@ ELSE() +diff -up mariadb-10.0.15/scripts/CMakeLists.txt.systemd mariadb-10.0.15/scripts/CMakeLists.txt +--- mariadb-10.0.15/scripts/CMakeLists.txt.systemd 2014-11-27 15:06:24.670736998 +0100 ++++ mariadb-10.0.15/scripts/CMakeLists.txt 2014-11-27 15:04:26.252530666 +0100 +@@ -374,6 +374,34 @@ ELSE() COMPONENT ${${file}_COMPONENT} ) ENDFOREACH() @@ -36,10 +36,10 @@ diff -up mariadb-10.0.12/scripts/CMakeLists.txt.systemd mariadb-10.0.12/scripts/ ENDIF() # Install libgcc as mylibgcc.a -diff -up mariadb-10.0.12/support-files/CMakeLists.txt.cmakescripts mariadb-10.0.12/support-files/CMakeLists.txt ---- mariadb-10.0.12/support-files/CMakeLists.txt.cmakescripts 2014-07-24 22:31:38.116002679 +0200 -+++ mariadb-10.0.12/support-files/CMakeLists.txt 2014-07-24 22:35:00.532233645 +0200 -@@ -110,6 +110,8 @@ IF(UNIX) +diff -up mariadb-10.0.15/support-files/CMakeLists.txt.cmakescripts mariadb-10.0.15/support-files/CMakeLists.txt +--- mariadb-10.0.15/support-files/CMakeLists.txt.cmakescripts 2014-11-27 15:07:13.203821563 +0100 ++++ mariadb-10.0.15/support-files/CMakeLists.txt 2014-11-27 15:04:26.252530666 +0100 +@@ -112,6 +112,8 @@ IF(UNIX) COMPONENT SharedLibraries) INSTALL(FILES rpm/mysql-clients.cnf DESTINATION ${INSTALL_SYSCONF2DIR} COMPONENT Client) diff --git a/mariadb-ssltest.patch b/mariadb-ssltest.patch index 8409f39..7529d7f 100644 --- a/mariadb-ssltest.patch +++ b/mariadb-ssltest.patch @@ -4,10 +4,10 @@ which now makes mariadb/mysql FTBFS because openssl_1 test fails Related: #1044565 -diff -up mariadb-10.0.10/mysql-test/r/openssl_1.result.p14 mariadb-10.0.10/mysql-test/r/openssl_1.result ---- mariadb-10.0.10/mysql-test/r/openssl_1.result.p14 2014-03-30 19:56:35.000000000 +0200 -+++ mariadb-10.0.10/mysql-test/r/openssl_1.result 2014-04-07 20:14:24.702980342 +0200 -@@ -196,8 +196,6 @@ Ssl_cipher DHE-RSA-AES256-SHA +diff -up mariadb-10.0.15/mysql-test/r/openssl_1.result.orig mariadb-10.0.15/mysql-test/r/openssl_1.result +--- mariadb-10.0.15/mysql-test/r/openssl_1.result.orig 2014-11-27 15:25:32.582771542 +0100 ++++ mariadb-10.0.15/mysql-test/r/openssl_1.result 2014-11-27 15:22:46.353474672 +0100 +@@ -198,8 +198,6 @@ Ssl_cipher DHE-RSA-AES256-SHA Variable_name Value Ssl_cipher EDH-RSA-DES-CBC3-SHA Variable_name Value @@ -16,10 +16,10 @@ diff -up mariadb-10.0.10/mysql-test/r/openssl_1.result.p14 mariadb-10.0.10/mysql Ssl_cipher RC4-SHA select 'is still running; no cipher request crashed the server' as result from dual; result -diff -up mariadb-10.0.10/mysql-test/t/openssl_1.test.p14 mariadb-10.0.10/mysql-test/t/openssl_1.test ---- mariadb-10.0.10/mysql-test/t/openssl_1.test.p14 2014-04-07 20:14:24.686980712 +0200 -+++ mariadb-10.0.10/mysql-test/t/openssl_1.test 2014-04-07 20:14:24.702980342 +0200 -@@ -218,7 +218,7 @@ DROP TABLE t1; +diff -up mariadb-10.0.15/mysql-test/t/openssl_1.test.orig mariadb-10.0.15/mysql-test/t/openssl_1.test +--- mariadb-10.0.15/mysql-test/t/openssl_1.test.orig 2014-11-27 15:25:16.637743066 +0100 ++++ mariadb-10.0.15/mysql-test/t/openssl_1.test 2014-11-27 15:22:46.354474674 +0100 +@@ -222,7 +222,7 @@ DROP TABLE t1; # Common ciphers to openssl and yassl --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=DHE-RSA-AES256-SHA --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC3-SHA diff --git a/mariadb-strmov.patch b/mariadb-strmov.patch index 6f94069..c2350c4 100644 --- a/mariadb-strmov.patch +++ b/mariadb-strmov.patch @@ -12,10 +12,10 @@ ability to detect this type of error is low, and I also see little evidence of any real performance gain from optimizing these calls. So I'm keeping this patch. -diff -up mariadb-10.0.10/include/m_string.h.orig mariadb-10.0.10/include/m_string.h ---- mariadb-10.0.10/include/m_string.h.p2 2014-04-07 15:36:44.694806871 +0200 -+++ mariadb-10.0.10/include/m_string.h 2014-04-07 15:37:17.044786762 +0200 -@@ -81,12 +81,6 @@ extern void *(*my_str_malloc)(size_t); +diff -up mariadb-10.0.15/include/m_string.h.orig mariadb-10.0.15/include/m_string.h +--- mariadb-10.0.15/include/m_string.h.orig 2014-11-27 14:40:32.622032698 +0100 ++++ mariadb-10.0.15/include/m_string.h 2014-11-27 14:38:56.211864712 +0100 +@@ -73,12 +73,6 @@ extern void *(*my_str_malloc)(size_t); extern void *(*my_str_realloc)(void *, size_t); extern void (*my_str_free)(void *); diff --git a/mariadb.spec b/mariadb.spec index 66d6ed3..7c11c24 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -2,7 +2,7 @@ %global pkgname mariadb %global pkgnamepatch mariadb -# Regression tests may take a long time (many cores recommended), skip them by +# 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 1} @@ -26,6 +26,14 @@ %bcond_with tokudb %endif +# Mroonga engine is now part of MariaDB, but it only builds for x86_64; +# variable mroonga allows to build with Mroonga storage engine +%ifarch x86_64 i686 +%bcond_without mroonga +%else +%bcond_with mroonga +%endif + # The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing # hierarchies and more complex graph structures to be handled in a relational # fashion; enabled by default @@ -103,11 +111,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.0 -%global bugfixver 14 +%global bugfixver 15 Name: %{pkgname} Version: %{compatver}.%{bugfixver} -Release: 8%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -148,11 +156,10 @@ Patch1: %{pkgnamepatch}-strmov.patch Patch2: %{pkgnamepatch}-install-test.patch Patch3: %{pkgnamepatch}-s390-tsc.patch Patch4: %{pkgnamepatch}-logrotate.patch -Patch5: %{pkgnamepatch}-cipherspec.patch -Patch6: %{pkgnamepatch}-file-contents.patch -Patch7: %{pkgnamepatch}-dh1024.patch -Patch8: %{pkgnamepatch}-scripts.patch -Patch9: %{pkgnamepatch}-install-db-sharedir.patch +Patch5: %{pkgnamepatch}-file-contents.patch +Patch6: %{pkgnamepatch}-dh1024.patch +Patch7: %{pkgnamepatch}-scripts.patch +Patch8: %{pkgnamepatch}-install-db-sharedir.patch # Patches specific for this mysql package Patch30: %{pkgnamepatch}-errno.patch @@ -162,7 +169,6 @@ Patch33: %{pkgnamepatch}-covscan-signexpr.patch Patch34: %{pkgnamepatch}-covscan-stroverflow.patch Patch35: %{pkgnamepatch}-config.patch Patch36: %{pkgnamepatch}-ssltest.patch -Patch37: mariadb-10.0.14-mysql_config-cflags.patch BuildRequires: cmake BuildRequires: libaio-devel @@ -488,7 +494,6 @@ MariaDB is a community developed branch of MySQL. %patch6 -p1 %patch7 -p1 %patch8 -p1 -%patch9 -p1 %patch30 -p1 %patch31 -p1 %patch32 -p1 @@ -496,7 +501,6 @@ MariaDB is a community developed branch of MySQL. %patch34 -p1 %patch35 -p1 %patch36 -p1 -%patch37 -p0 # removing bundled cmd-line-utils rm -r cmd-line-utils @@ -617,6 +621,7 @@ export LDFLAGS %{?with_pcre: -DWITH_PCRE=system}\ -DWITH_JEMALLOC=no \ %{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\ +%{!?with_mroonga: -DWITHOUT_MROONGA=ON}\ -DTMPDIR=/var/tmp \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug}\ %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} @@ -1116,6 +1121,8 @@ fi %{_datadir}/%{name}/mysql_system_tables_data.sql %{_datadir}/%{name}/mysql_test_data_timezone.sql %{_datadir}/%{name}/mysql_performance_tables.sql +%{?with_mroonga:%{_datadir}/%{name}/mroonga/install.sql} +%{?with_mroonga:%{_datadir}/%{name}/mroonga/uninstall.sql} %{_datadir}/%{name}/my-*.cnf %{?mysqld_unit:%{_unitdir}/%{mysqld_unit}.service} @@ -1188,6 +1195,9 @@ fi %endif %changelog +* Thu Nov 27 2014 Jakub Dorňák - 1:10.0.15-1 +- Update to 10.0.15 + * Thu Nov 20 2014 Jan Stanek - 1:10.0.14-8 - Applied upstream fix for mysql_config --cflags output. Resolves: #1160845 @@ -1204,7 +1214,7 @@ fi Releated: #1149647 * Wed Oct 08 2014 Honza Horak - 1:10.0.14-5 -- Disable tests connect.part_file, connect.part_table +- Disable tests connect.part_file, connect.part_table and connect.updelx Related: #1149647 diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index 635845c..6c13814 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -8,8 +8,5 @@ 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 connect.bin : rhbz#1096787 (pass on aarch64) -main.gis-precise : rhbz#1096787 (pass on armv7hl) -main.openssl_1 : rhbz#1096787 perfschema.setup_objects : rhbz#1096787 -innodb.innodb_simulate_comp_failures_small : rhbz#1096787 -main.key_cache : rhbz#1096787 +vcol.vcol_supported_sql_funcs_myisam : rhbz#1096787 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index d144318..aaef656 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -1,9 +1,12 @@ # These tests fail with MariaDB 10: main.func_str : rhbz#1096787 +main.openssl_1 : rhbz#1096787 +main.ssl : rhbz#1096787 +main.ssl_compress : rhbz#1096787 main.ssl_crl_clients : rhbz#1096787 +main.ssl_8k_key : rhbz#1096787 perfschema.nesting : rhbz#1096787 perfschema.socket_summary_by_event_name_func : rhbz#1096787 perfschema.socket_summary_by_instance_func : rhbz#1096787 vcol.vcol_supported_sql_funcs_innodb : rhbz#1096787 -vcol.vcol_supported_sql_funcs_myisam : rhbz#1096787 diff --git a/sources b/sources index 211343f..1aea2ed 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -80fea71de54a9cfa7f5508df53d3f06d mariadb-10.0.14.tar.gz +07e2ca1ad684c2dc5cb260717c4db41d mariadb-10.0.15.tar.gz From e1d5a56ddaf701ddb325e101070f395de31bee61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Mon, 1 Dec 2014 10:29:49 +0100 Subject: [PATCH 186/789] failing test --- rh-skipped-tests-arm.list | 1 + 1 file changed, 1 insertion(+) diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index 6c13814..40f231a 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -8,5 +8,6 @@ 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 connect.bin : rhbz#1096787 (pass on aarch64) +main.key_cache : rhbz#1096787 perfschema.setup_objects : rhbz#1096787 vcol.vcol_supported_sql_funcs_myisam : rhbz#1096787 From ab97bc3e2b4e7deea6bfde41d38a106ab1846e9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Mon, 1 Dec 2014 15:22:34 +0100 Subject: [PATCH 187/789] failing test --- rh-skipped-tests-arm.list | 3 +-- rh-skipped-tests-base.list | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index 40f231a..061d0c5 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -8,6 +8,5 @@ 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 connect.bin : rhbz#1096787 (pass on aarch64) -main.key_cache : rhbz#1096787 +main.key_cache : rhbz#1096787 (pass on aarch64) perfschema.setup_objects : rhbz#1096787 -vcol.vcol_supported_sql_funcs_myisam : rhbz#1096787 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index aaef656..794bea7 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -10,3 +10,4 @@ perfschema.nesting : rhbz#1096787 perfschema.socket_summary_by_event_name_func : rhbz#1096787 perfschema.socket_summary_by_instance_func : rhbz#1096787 vcol.vcol_supported_sql_funcs_innodb : rhbz#1096787 +vcol.vcol_supported_sql_funcs_myisam : rhbz#1096787 From 83886dc4bb474cf51be5577f0c4e4fdae9ee9cd0 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 5 Dec 2014 10:37:09 +0100 Subject: [PATCH 188/789] Require mysql and mysql-compat-client only when providing them, since otherwise we cannot be sure there is such a package in the repo --- mariadb.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index 7c11c24..f775987 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -295,8 +295,12 @@ Summary: The MariaDB server and related files Group: Applications/Databases # note: no version here = %%{version}-%%{release} +%if %{with mysql_names} Requires: mysql-compat-client%{?_isa} Requires: mysql%{?_isa} +%else +Requires: %{name}%{?_isa} +%endif Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d From 8a5dc2e71880c3d175961c922600fa8b84fc5eac Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sat, 6 Dec 2014 09:00:06 +0100 Subject: [PATCH 189/789] Rework usage of macros and remove some compatibility artefacts --- mariadb-scripts.patch | 4 +- mariadb.spec | 111 +++++++++--------------------------------- 2 files changed, 25 insertions(+), 90 deletions(-) diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index d5ba659..f42c991 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -1,7 +1,7 @@ diff -up mariadb-10.0.15/scripts/CMakeLists.txt.systemd mariadb-10.0.15/scripts/CMakeLists.txt --- mariadb-10.0.15/scripts/CMakeLists.txt.systemd 2014-11-27 15:06:24.670736998 +0100 +++ mariadb-10.0.15/scripts/CMakeLists.txt 2014-11-27 15:04:26.252530666 +0100 -@@ -374,6 +374,34 @@ ELSE() +@@ -374,6 +374,32 @@ ELSE() COMPONENT ${${file}_COMPONENT} ) ENDFOREACH() @@ -17,8 +17,6 @@ diff -up mariadb-10.0.15/scripts/CMakeLists.txt.systemd mariadb-10.0.15/scripts/ + mysql-scripts-common + mysql_config_multilib + mysql.init -+ mysql-compat.service -+ mysql-compat.conf + my.cnf + ) + FOREACH(file ${SYSTEMD_SCRIPTS}) diff --git a/mariadb.spec b/mariadb.spec index f775987..48e64a7 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,5 +1,4 @@ -# Name of the package without any prefixes -%global pkgname mariadb +# Prefix that is used for patches %global pkgnamepatch mariadb # Regression tests may take a long time (many cores recommended), skip them by @@ -10,7 +9,7 @@ # In f20+ use unversioned docdirs, otherwise the old versioned one %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} -# use Full RELRO for all binaries (RHBZ#1092548) +# Use Full RELRO for all binaries (RHBZ#1092548) %global _hardened_build 1 # By default, patch(1) creates backup files when chunks apply with offsets. @@ -63,9 +62,6 @@ %bcond_without init_systemd %bcond_with init_sysv %global daemon_name %{name} -# Provide temporary service file name that will be removed after some time -# (Fedora 22?) -%global mysqld_unit mysqld %else %bcond_with init_systemd %bcond_without init_sysv @@ -85,9 +81,9 @@ %global logrotateddir %{_sysconfdir}/logrotate.d %global logfiledir %{_localstatedir}/log/%{daemon_name} %global logfile %{logfiledir}/%{daemon_name}.log -%if 0%{?fedora} >= 20 -%global old_logfile %{_localstatedir}/log/mysqld.log -%endif + +# Defining where database data live +%global dbdatadir %{_localstatedir}/lib/mysql # Home directory of mysql user should be same for all packages that create it %global mysqluserhome /var/lib/mysql @@ -98,24 +94,16 @@ # Provide mysql names for compatibility %bcond_without mysql_names - -# When replacing mysql by mariadb these packages are not upated, but rather -# installed and uninstalled. Thus we loose information about mysqld service -# enablement. To address this we use a file to store that information within -# the transaction. Basically the file is created when mysqld is enabled in -# the beginning of the transaction and mysqld is enabled again in the end -# of the transaction in case this flag file exists. -%global mysqld_enabled_flag_file %{_localstatedir}/lib/rpm-state/mysqld_enabled -%global mysqld_running_flag_file %{_localstatedir}/lib/rpm-state/mysqld_running +%bcond_without conflicts # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.0 %global bugfixver 15 -Name: %{pkgname} +Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -140,8 +128,6 @@ Source13: mysql-wait-ready.sh Source14: mysql-check-socket.sh Source15: mysql-scripts-common.sh Source16: mysql-check-upgrade.sh -Source17: mysql-compat.service.in -Source18: mysql-compat.conf.in Source19: mysql.init.in Source50: rh-skipped-tests-base.list Source51: rh-skipped-tests-intel.list @@ -167,7 +153,6 @@ Patch31: %{pkgnamepatch}-string-overflow.patch Patch32: %{pkgnamepatch}-basedir.patch Patch33: %{pkgnamepatch}-covscan-signexpr.patch Patch34: %{pkgnamepatch}-covscan-stroverflow.patch -Patch35: %{pkgnamepatch}-config.patch Patch36: %{pkgnamepatch}-ssltest.patch BuildRequires: cmake @@ -212,7 +197,7 @@ Provides: mysql-compat-client%{?_isa} = %{sameevr} # MySQL (with caps) is upstream's spelling of their own RPMs for mysql %{?obsoleted_mysql_case_evr:Obsoletes: MySQL < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql < %{obsoleted_mysql_evr}} -Conflicts: community-mysql +%{?with_conflicts:Conflicts: community-mysql} # Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering %if 0%{?fedora} > 14 || 0%{?rhel} > 6 @@ -325,8 +310,8 @@ Provides: mysql-compat-server = %{sameevr} Provides: mysql-compat-server%{?_isa} = %{sameevr} %endif %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-server < %{obsoleted_mysql_case_evr}} -Conflicts: community-mysql-server -Conflicts: mariadb-galera-server +%{?with_conflicts:Conflicts: community-mysql-server} +%{?with_conflicts:Conflicts: mariadb-galera-server} %{?obsoleted_mysql_evr:Obsoletes: mysql-server < %{obsoleted_mysql_evr}} %description server @@ -382,7 +367,7 @@ Provides: mysql-devel%{?_isa} = %{sameevr} %endif %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-devel < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-devel < %{obsoleted_mysql_evr}} -Conflicts: community-mysql-devel +%{?with_conflicts:Conflicts: community-mysql-devel} %description devel MariaDB is a multi-user, multi-threaded SQL database server. This @@ -421,7 +406,7 @@ Requires: %{name}-devel%{?_isa} = %{sameevr} Provides: mysql-embedded-devel = %{sameevr} Provides: mysql-embedded-devel%{?_isa} = %{sameevr} %endif -Conflicts: community-mysql-embedded-devel +%{?with_conflicts:Conflicts: community-mysql-embedded-devel} %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-embedded-devel < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-embedded-devel < %{obsoleted_mysql_evr}} @@ -442,7 +427,7 @@ Requires: %{name}%{?_isa} = %{sameevr} Provides: mysql-bench = %{sameevr} Provides: mysql-bench%{?_isa} = %{sameevr} %endif -Conflicts: community-mysql-bench +%{?with_conflicts:Conflicts: community-mysql-bench} %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-bench < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-bench < %{obsoleted_mysql_evr}} @@ -472,7 +457,7 @@ Requires: perl(Socket) Requires: perl(Sys::Hostname) Requires: perl(Test::More) Requires: perl(Time::HiRes) -Conflicts: community-mysql-test +%{?with_conflicts:Conflicts: community-mysql-test} %if %{with mysql_names} Provides: mysql-test = %{sameevr} Provides: mysql-test%{?_isa} = %{sameevr} @@ -503,7 +488,6 @@ MariaDB is a community developed branch of MySQL. %patch32 -p1 %patch33 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 # removing bundled cmd-line-utils @@ -539,7 +523,7 @@ cat %{SOURCE55} >> mysql-test/rh-skipped-tests.list %endif cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ - %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} %{SOURCE19} \ + %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE19} \ scripts %build @@ -585,13 +569,8 @@ export LDFLAGS -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ -DDAEMON_NAME="%{daemon_name}" \ -%if 0%{?mysqld_unit:1} - -DDAEMON_NAME_COMPAT="%{mysqld_unit}" \ -%endif -DLOG_LOCATION="%{logfile}" \ - -DLOG_LOCATION_COMPAT="%{old_logfile}" \ -DPID_FILE_DIR="%{_localstatedir}/run/%{daemon_name}" \ - -DPID_FILE_DIR_COMPAT="%{_localstatedir}/run/%{mysqld_unit}" \ -DNICE_PROJECT_NAME="MariaDB" \ -DRPM="%{?rhel:rhel%{rhel}}%{!?rhel:fedora%{fedora}}" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ @@ -615,8 +594,8 @@ export LDFLAGS -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_SQLBENCHDIR=share \ -DINSTALL_SUPPORTFILESDIR=share/%{name} \ - -DMYSQL_DATADIR="%{_localstatedir}/lib/mysql" \ - -DMYSQL_UNIX_ADDR="%{_localstatedir}/lib/mysql/mysql.sock" \ + -DMYSQL_DATADIR="%{dbdatadir}" \ + -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ -DENABLED_LOCAL_INFILE=ON \ -DENABLE_DTRACE=ON \ -DWITH_EMBEDDED_SERVER=ON \ @@ -680,16 +659,12 @@ rm -rf %{buildroot}%{_pkgdocdir}/MariaDB-server-%{version}/ mkdir -p %{buildroot}%{logfiledir} chmod 0750 %{buildroot}%{logfiledir} touch %{buildroot}%{logfile} -%if 0%{?old_logfile:1} -ln -s %{logfile} %{buildroot}%{old_logfile} -%endif # current setting in my.cnf is to use /var/run/mariadb for creating pid file, # however since my.cnf is not updated by RPM if changed, we need to create mysqld # as well because users can have odd settings in their /etc/my.cnf -%{?mysqld_unit:mkdir -p %{buildroot}%{_localstatedir}/run/%{mysqld_unit}} mkdir -p %{buildroot}%{_localstatedir}/run/%{daemon_name} -install -p -m 0755 -d %{buildroot}%{_localstatedir}/lib/mysql +install -p -m 0755 -d %{buildroot}%{dbdatadir} %if %{with config} install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf @@ -704,13 +679,6 @@ install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %endif -# install alternative systemd unit file for compatibility reasons -%if 0%{?mysqld_unit:1} -install -p -m 644 scripts/mysql-compat.service %{buildroot}%{_unitdir}/%{mysqld_unit}.service -mkdir -p %{buildroot}%{_unitdir}/%{daemon_name}.service.d -install -p -m 644 scripts/mysql-compat.conf %{buildroot}%{_unitdir}/%{daemon_name}.service.d/mysql-compat.conf -%endif - # install SysV init script %if %{with init_sysv} install -D -p -m 755 scripts/mysql.init %{buildroot}%{_initddir}/%{daemon_name} @@ -874,34 +842,6 @@ export MTR_BUILD_THREAD=%{__isa_bits} /usr/sbin/useradd -M -N -g mysql -o -r -d %{mysqluserhome} -s /sbin/nologin \ -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : -%if %{with init_systemd} -# Explicitly enable mysqld if it was enabled in the beginning -# of the transaction. Otherwise mysqld is disabled always when -# replacing mysql with mariadb, because it is not recognized -# as updating, but rather as removal and install. -if /bin/systemctl is-enabled mysqld.service >/dev/null 2>&1 ; then - touch %mysqld_enabled_flag_file >/dev/null 2>&1 || : -fi - -# Since mysqld.service became a symlink to mariadb.service, turning off -# the running mysqld service doesn't work fine (BZ#1002996). As a work-around -# we explicitly stop mysqld before upgrade and start after it again. -if [ ! -L %{_unitdir}/mysqld.service ] && /bin/systemctl is-active mysqld.service &>/dev/null ; then - touch %mysqld_running_flag_file >/dev/null 2>&1 || : - /bin/systemctl stop mysqld.service >/dev/null 2>&1 || : -fi - -%posttrans server -if [ -f %mysqld_enabled_flag_file ] ; then - /bin/systemctl enable %{daemon_name}.service >/dev/null 2>&1 || : - rm -f %mysqld_enabled_flag_file >/dev/null 2>&1 || : -fi -if [ -f %mysqld_running_flag_file ] ; then - /bin/systemctl start %{daemon_name}.service >/dev/null 2>&1 || : - rm -f %mysqld_running_flag_file >/dev/null 2>&1 || : -fi -%endif - %if %{with clibrary} %post libs -p /sbin/ldconfig %endif @@ -919,7 +859,7 @@ if [ $1 = 1 ]; then /sbin/chkconfig --add %{daemon_name} fi %endif -/bin/chmod 0755 %{_localstatedir}/lib/mysql +/bin/chmod 0755 %{dbdatadir} %preun server %if %{with init_systemd} @@ -1129,8 +1069,6 @@ fi %{?with_mroonga:%{_datadir}/%{name}/mroonga/uninstall.sql} %{_datadir}/%{name}/my-*.cnf -%{?mysqld_unit:%{_unitdir}/%{mysqld_unit}.service} -%{?mysqld_unit:%{_unitdir}/%{daemon_name}.service.d/mysql-compat.conf} %{?with_init_systemd:%{_unitdir}/%{daemon_name}.service} %{?with_init_sysv:%{_initddir}/%{daemon_name}} %{_libexecdir}/mysql-prepare-db-dir @@ -1140,14 +1078,10 @@ fi %{_libexecdir}/mysql-scripts-common %{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} -%{?mysqld_unit:%attr(0755,mysql,mysql) %dir %{_localstatedir}/run/%{mysqld_unit}} %attr(0755,mysql,mysql) %dir %{_localstatedir}/run/%{daemon_name} -%attr(0755,mysql,mysql) %dir %{_localstatedir}/lib/mysql +%attr(0755,mysql,mysql) %dir %{dbdatadir} %attr(0750,mysql,mysql) %dir %{logfiledir} %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} -%if 0%{?old_logfile:1} - %config %ghost %verify(not md5 size mtime) %{old_logfile} -%endif %config(noreplace) %{logrotateddir}/%{daemon_name} %if %{with oqgraph} @@ -1199,6 +1133,9 @@ fi %endif %changelog +* Fri Dec 05 2014 Honza Horak - 1:10.0.15-2 +- Rework usage of macros and remove some compatibility artefacts + * Thu Nov 27 2014 Jakub Dorňák - 1:10.0.15-1 - Update to 10.0.15 From eaa3746707a33be00ee07502b3cea8234387b77a Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 19 Dec 2014 10:05:22 +0100 Subject: [PATCH 190/789] Removing compat unit file and unit configuration file --- mysql-compat.conf.in | 6 ------ mysql-compat.service.in | 13 ------------- 2 files changed, 19 deletions(-) delete mode 100644 mysql-compat.conf.in delete mode 100644 mysql-compat.service.in diff --git a/mysql-compat.conf.in b/mysql-compat.conf.in deleted file mode 100644 index 5c098df..0000000 --- a/mysql-compat.conf.in +++ /dev/null @@ -1,6 +0,0 @@ -[Unit] -BindsTo=@DAEMON_NAME_COMPAT@.service - -[Install] -Also=@DAEMON_NAME_COMPAT@.service - diff --git a/mysql-compat.service.in b/mysql-compat.service.in deleted file mode 100644 index 16bcdc0..0000000 --- a/mysql-compat.service.in +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=MySQL compatibility service (another name for @DAEMON_NAME@.service; you should use @DAEMON_NAME@.service instead) -BindsTo=@DAEMON_NAME@.service -After=@DAEMON_NAME@.service - -[Service] -Type=oneshot -ExecStart=/bin/true -RemainAfterExit=yes - -[Install] -WantedBy=multi-user.target -Also=@DAEMON_NAME@.service From 745e0f92099640719235fe5ffe70852200f61e93 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 22 Dec 2014 14:28:01 +0100 Subject: [PATCH 191/789] Fix macros paths in my.cnf Create old location for pid file if it remained in my.cnf --- mariadb.spec | 10 +++++++++- my.cnf.in | 4 ++-- mysql.tmpfiles.d.in | 1 - 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 48e64a7..0cf79c4 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -62,6 +62,7 @@ %bcond_without init_systemd %bcond_with init_sysv %global daemon_name %{name} +%global mysqld_pid_dir mysqld %else %bcond_with init_systemd %bcond_without init_sysv @@ -103,7 +104,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -677,6 +678,9 @@ rm -f %{buildroot}%{_sysconfdir}/my.cnf %if %{with init_systemd} install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf +%if 0%{?mysqld_pid_dir:1} +echo "d %{_localstatedir}/run/%{mysqld_pid_dir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf +%endif %endif # install SysV init script @@ -1133,6 +1137,10 @@ fi %endif %changelog +* Mon Dec 22 2014 Honza Horak - 1:10.0.15-3 +- Fix macros paths in my.cnf +- Create old location for pid file if it remained in my.cnf + * Fri Dec 05 2014 Honza Horak - 1:10.0.15-2 - Rework usage of macros and remove some compatibility artefacts diff --git a/my.cnf.in b/my.cnf.in index 660c40e..eff1259 100644 --- a/my.cnf.in +++ b/my.cnf.in @@ -17,8 +17,8 @@ symbolic-links=0 # @INSTALL_SYSCONF2DIR@/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. -log-error=@LOG_LOCATION_COMPAT@ -pid-file=@PID_FILE_DIR_COMPAT@/@DAEMON_NAME_COMPAT@.pid +log-error=@LOG_LOCATION@ +pid-file=@PID_FILE_DIR@/@DAEMON_NAME@.pid [mysqld_safe] diff --git a/mysql.tmpfiles.d.in b/mysql.tmpfiles.d.in index 937087a..d2c4b31 100644 --- a/mysql.tmpfiles.d.in +++ b/mysql.tmpfiles.d.in @@ -1,2 +1 @@ d @PID_FILE_DIR@ 0755 mysql mysql - -d @PID_FILE_DIR_COMPAT@ 0755 mysql mysql - From 9b25da0212fdb9600407f503a1188597d3e8233d Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 22 Dec 2014 20:23:21 +0100 Subject: [PATCH 192/789] Remove unused mariadb-config.patch --- mariadb-config.patch | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 mariadb-config.patch diff --git a/mariadb-config.patch b/mariadb-config.patch deleted file mode 100644 index 9307093..0000000 --- a/mariadb-config.patch +++ /dev/null @@ -1,20 +0,0 @@ -Settings specific for MariaDB specific are defined in appropriate 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. -Settings in my.cnf are generic for all MySQL implementations because of -conflict issues. -RHBZ#1003115 - -diff -up mariadb-10.0.10/support-files/rpm/server.cnf.p13 mariadb-10.0.10/support-files/rpm/server.cnf ---- mariadb-10.0.10/support-files/rpm/server.cnf.p13 2014-04-07 20:12:54.260193809 +0200 -+++ mariadb-10.0.10/support-files/rpm/server.cnf 2014-04-07 20:12:24.758256491 +0200 -@@ -18,6 +18,8 @@ - # If you use the same .cnf file for MySQL and MariaDB, - # you can put MariaDB-only options here - [mariadb] -+log-error=@LOG_LOCATION@ -+pid-file=@PID_FILE_DIR@/@DAEMON_NAME@.pid - - # This group is only read by MariaDB-10.0 servers. - # If you use the same .cnf file for MariaDB of different versions, From 07c8c5049274d04db51d52877681cf73d26e5492 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 6 Jan 2015 13:46:45 +0100 Subject: [PATCH 193/789] Disable failing tests connect.mrr, connect.updelx2 on ppc and s390 --- mariadb.spec | 5 ++++- rh-skipped-tests-ppc-s390.list | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 0cf79c4..4cdf20f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -104,7 +104,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1137,6 +1137,9 @@ fi %endif %changelog +* Tue Jan 06 2015 Honza Horak - 1:10.0.15-4 +- Disable failing tests connect.mrr, connect.updelx2 on ppc and s390 + * Mon Dec 22 2014 Honza Horak - 1:10.0.15-3 - Fix macros paths in my.cnf - Create old location for pid file if it remained in my.cnf diff --git a/rh-skipped-tests-ppc-s390.list b/rh-skipped-tests-ppc-s390.list index e28c764..c484996 100644 --- a/rh-skipped-tests-ppc-s390.list +++ b/rh-skipped-tests-ppc-s390.list @@ -2,9 +2,11 @@ connect.alter : rhbz#1096787 connect.bin : rhbz#1096787 connect.dbf : rhbz#1096787 connect.index : rhbz#1096787 +connect.mrr : rhbz#1149647#c6 connect.part_file : rhbz#1149647 connect.part_table : rhbz#1149647 connect.updelx : rhbz#1149647 +connect.updelx2 : rhbz#1149647#c6 main.gis-precise : rhbz#1096787 main.statistics : rhbz#1096787 multi_source.skip_counter : rhbz#1096787 From 5870f56b230df791b48c6bc3c292f48a3216c8db Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sat, 24 Jan 2015 22:46:25 +0100 Subject: [PATCH 194/789] Fix path for sysconfig file Filter provides in el6 properly Fix initscript file location --- mariadb.spec | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 4cdf20f..f3561d8 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -104,7 +104,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -206,7 +206,7 @@ Provides: mysql-compat-client%{?_isa} = %{sameevr} %global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ %else %filter_from_requires /perl(\(hostnames\|lib::mtr\|lib::v1\|mtr_\|My::\)/d -%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ +%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\.so) %filter_setup %endif @@ -500,27 +500,27 @@ sed -i -e 's/2.8.7/2.6.4/g' cmake/cpack_rpm.cmake rm -f mysql-test/t/ssl_8k_key-master.opt # generate a list of tests that fail, but are not disabled by upstream -cat %{SOURCE50} > mysql-test/rh-skipped-tests.list +cat %{SOURCE50} | tee mysql-test/rh-skipped-tests.list # disable some tests failing on different architectures %ifarch x86_64 i686 -cat %{SOURCE51} >> mysql-test/rh-skipped-tests.list +cat %{SOURCE51} | tee -a mysql-test/rh-skipped-tests.list %endif %ifarch %{arm} aarch64 -cat %{SOURCE52} >> mysql-test/rh-skipped-tests.list +cat %{SOURCE52} | tee -a mysql-test/rh-skipped-tests.list %endif %ifarch ppc ppc64 ppc64p7 s390 s390x -cat %{SOURCE53} >> mysql-test/rh-skipped-tests.list +cat %{SOURCE53} | tee -a mysql-test/rh-skipped-tests.list %endif %ifarch ppc64le -cat %{SOURCE54} >> mysql-test/rh-skipped-tests.list +cat %{SOURCE54} | tee -a mysql-test/rh-skipped-tests.list %endif %ifarch s390 -cat %{SOURCE55} >> mysql-test/rh-skipped-tests.list +cat %{SOURCE55} | tee -a mysql-test/rh-skipped-tests.list %endif cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ @@ -685,7 +685,7 @@ echo "d %{_localstatedir}/run/%{mysqld_pid_dir} 0755 mysql mysql -" >>%{buildroo # install SysV init script %if %{with init_sysv} -install -D -p -m 755 scripts/mysql.init %{buildroot}%{_initddir}/%{daemon_name} +install -D -p -m 755 scripts/mysql.init %{buildroot}%{daemondir}/%{daemon_name} %endif # helper scripts for service starting @@ -863,6 +863,7 @@ if [ $1 = 1 ]; then /sbin/chkconfig --add %{daemon_name} fi %endif +/bin/touch %{logfile} /bin/chmod 0755 %{dbdatadir} %preun server @@ -929,7 +930,6 @@ fi %if %{with clibrary} %files libs -%dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient.so.* %{_libdir}/mysql/plugin/dialog.so %{_libdir}/mysql/plugin/mysql_clear_password.so @@ -941,8 +941,8 @@ fi %files config # although the default my.cnf contains only server settings, we put it in the # common package because it can be used for client settings too. -%config(noreplace) %{_sysconfdir}/my.cnf %dir %{_sysconfdir}/my.cnf.d +%config(noreplace) %{_sysconfdir}/my.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf %endif @@ -950,6 +950,7 @@ fi %files common %doc README COPYING COPYING.LESSER README.mysql-license README.mysql-docs %doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google +%dir %{_libdir}/mysql %dir %{_datadir}/%{name} %{_datadir}/%{name}/charsets %endif @@ -1032,11 +1033,11 @@ fi %exclude %{_libdir}/mysql/plugin/dialog.so %exclude %{_libdir}/mysql/plugin/mysql_clear_password.so -%{_mandir}/man1/aria_chk.1.gz -%{_mandir}/man1/aria_dump_log.1.gz -%{_mandir}/man1/aria_ftdump.1.gz -%{_mandir}/man1/aria_pack.1.gz -%{_mandir}/man1/aria_read_log.1.gz +%{_mandir}/man1/aria_chk.1* +%{_mandir}/man1/aria_dump_log.1* +%{_mandir}/man1/aria_ftdump.1* +%{_mandir}/man1/aria_pack.1* +%{_mandir}/man1/aria_read_log.1* %{_mandir}/man1/myisamchk.1* %{_mandir}/man1/myisamlog.1* %{_mandir}/man1/myisampack.1* @@ -1073,8 +1074,7 @@ fi %{?with_mroonga:%{_datadir}/%{name}/mroonga/uninstall.sql} %{_datadir}/%{name}/my-*.cnf -%{?with_init_systemd:%{_unitdir}/%{daemon_name}.service} -%{?with_init_sysv:%{_initddir}/%{daemon_name}} +%{daemondir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir %{_libexecdir}/mysql-wait-ready %{_libexecdir}/mysql-check-socket @@ -1137,6 +1137,11 @@ fi %endif %changelog +* Sat Jan 24 2015 Honza Horak - 1:10.0.15-5 +- Fix path for sysconfig file + Filter provides in el6 properly + Fix initscript file location + * Tue Jan 06 2015 Honza Horak - 1:10.0.15-4 - Disable failing tests connect.mrr, connect.updelx2 on ppc and s390 From aa64b0065d26ad1d3b89181a10fb400ae472c277 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sat, 24 Jan 2015 23:02:07 +0100 Subject: [PATCH 195/789] Fix path for sysconfig file --- mysql.init.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mysql.init.in b/mysql.init.in index d6b43d3..be34fbf 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -34,7 +34,9 @@ STOPTIMEOUT=60 MYUSER=mysql MYGROUP=mysql -[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog +# Edit the following file in order to re-write some of the environment +# variables defined above, like $STARTTIMEOUT, $STOPTIMEOUT, $exec +[ -e @sysconfdir@/sysconfig/$prog ] && . @sysconfdir@/sysconfig/$prog lockfile=/var/lock/subsys/$prog From b2ee179e9b5fc414d72b60e9340ddfd28a414a73 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sun, 25 Jan 2015 00:00:50 +0100 Subject: [PATCH 196/789] Move server settings to config file under my.cnf.d dir --- mariadb-ownsetup.patch | 20 ++++++++++++++++++++ mariadb.spec | 7 ++++++- my.cnf.in | 29 +++++++++-------------------- 3 files changed, 35 insertions(+), 21 deletions(-) create mode 100644 mariadb-ownsetup.patch diff --git a/mariadb-ownsetup.patch b/mariadb-ownsetup.patch new file mode 100644 index 0000000..491a3a5 --- /dev/null +++ b/mariadb-ownsetup.patch @@ -0,0 +1,20 @@ +diff -up mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup mariadb-10.0.15/support-files/rpm/server.cnf +--- mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup 2015-01-24 23:55:55.110063592 +0100 ++++ mariadb-10.0.15/support-files/rpm/server.cnf 2015-01-24 23:57:42.308114387 +0100 +@@ -9,7 +9,16 @@ + [server] + + # this is only for the mysqld standalone daemon ++# 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 ++# instructions in http://fedoraproject.org/wiki/Systemd + [mysqld] ++datadir=@MYSQL_DATADIR@ ++socket=@DMYSQL_UNIX_ADDR@ ++log-error=@LOG_LOCATION@ ++pid-file=@PID_FILE_DIR@/@DAEMON_NAME@.pid ++ + + # this is only for embedded server + [embedded] diff --git a/mariadb.spec b/mariadb.spec index f3561d8..708ac2c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -104,7 +104,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 5%{?with_debug:.debug}%{?dist} +Release: 6%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -147,6 +147,7 @@ Patch5: %{pkgnamepatch}-file-contents.patch Patch6: %{pkgnamepatch}-dh1024.patch Patch7: %{pkgnamepatch}-scripts.patch Patch8: %{pkgnamepatch}-install-db-sharedir.patch +Patch9: %{pkgnamepatch}-ownsetup.patch # Patches specific for this mysql package Patch30: %{pkgnamepatch}-errno.patch @@ -484,6 +485,7 @@ MariaDB is a community developed branch of MySQL. %patch6 -p1 %patch7 -p1 %patch8 -p1 +%patch9 -p1 %patch30 -p1 %patch31 -p1 %patch32 -p1 @@ -1137,6 +1139,9 @@ fi %endif %changelog +* Sat Jan 24 2015 Honza Horak - 1:10.0.15-6 +- Move server settings to config file under my.cnf.d dir + * Sat Jan 24 2015 Honza Horak - 1:10.0.15-5 - Fix path for sysconfig file Filter provides in el6 properly diff --git a/my.cnf.in b/my.cnf.in index eff1259..247e12d 100644 --- a/my.cnf.in +++ b/my.cnf.in @@ -1,26 +1,15 @@ +# +# This group is read both both by the client and the server +# use it for options that affect everything +# +[client-server] + +# +# This group is read by the server +# [mysqld] -datadir=/var/lib/mysql -socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks 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 -# 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 -# @INSTALL_SYSCONF2DIR@/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. -log-error=@LOG_LOCATION@ -pid-file=@PID_FILE_DIR@/@DAEMON_NAME@.pid - -[mysqld_safe] # # include all files from the config directory From e1cb7b3d494d0c9ebbf093846f4012ffa266f0e2 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sun, 25 Jan 2015 10:44:42 +0100 Subject: [PATCH 197/789] Use pkg_name for files in share --- mariadb.spec | 118 ++++++++++++++++++++++++++------------------------- 1 file changed, 60 insertions(+), 58 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 708ac2c..698967a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,4 +1,5 @@ # Prefix that is used for patches +%global pkg_name %{name} %global pkgnamepatch mariadb # Regression tests may take a long time (many cores recommended), skip them by @@ -7,7 +8,8 @@ %{!?runselftest:%global runselftest 1} # In f20+ use unversioned docdirs, otherwise the old versioned one -%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} +%global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} +%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}} # Use Full RELRO for all binaries (RHBZ#1092548) %global _hardened_build 1 @@ -62,11 +64,13 @@ %bcond_without init_systemd %bcond_with init_sysv %global daemon_name %{name} +%global daemondir %{_unitdir} %global mysqld_pid_dir mysqld %else %bcond_with init_systemd %bcond_without init_sysv %global daemon_name mysqld +%global daemondir %{_sysconfdir}/rc.d/init.d %endif # MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use @@ -579,24 +583,19 @@ export LDFLAGS -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ -DINSTALL_SYSCONFDIR="%{_sysconfdir}" \ -DINSTALL_SYSCONF2DIR="%{_sysconfdir}/my.cnf.d" \ -%if 0%{?fedora} >= 20 - -DINSTALL_DOCDIR="share/doc/%{name}" \ - -DINSTALL_DOCREADMEDIR="share/doc/%{name}" \ -%else - -DINSTALL_DOCDIR="share/doc/%{name}-%{version}" \ - -DINSTALL_DOCREADMEDIR="share/doc/%{name}-%{version}" \ -%endif + -DINSTALL_DOCDIR="share/doc/%{_pkgdocdirname}" \ + -DINSTALL_DOCREADMEDIR="share/doc/%{_pkgdocdirname}" \ -DINSTALL_INCLUDEDIR=include/mysql \ -DINSTALL_INFODIR=share/info \ -DINSTALL_LIBDIR="%{_lib}/mysql" \ -DINSTALL_MANDIR=share/man \ - -DINSTALL_MYSQLSHAREDIR=share/%{name} \ + -DINSTALL_MYSQLSHAREDIR=share/%{pkg_name} \ -DINSTALL_MYSQLTESTDIR=share/mysql-test \ -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ -DINSTALL_SBINDIR=libexec \ -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_SQLBENCHDIR=share \ - -DINSTALL_SUPPORTFILESDIR=share/%{name} \ + -DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \ -DMYSQL_DATADIR="%{dbdatadir}" \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ -DENABLED_LOCAL_INFILE=ON \ @@ -676,6 +675,9 @@ rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf rm -f %{buildroot}%{_sysconfdir}/my.cnf %endif +# use different config file name for each variant of server +mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf + # install systemd unit files and scripts for handling server startup %if %{with init_systemd} install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service @@ -715,18 +717,18 @@ ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/ # should move this to /etc/ ? 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}/ndb-config-2-node.ini -rm -f %{buildroot}%{_datadir}/%{name}/mysql.server -rm -f %{buildroot}%{_datadir}/%{name}/mysqld_multi.server +rm -f %{buildroot}%{_datadir}/%{pkg_name}/binary-configure +rm -f %{buildroot}%{_datadir}/%{pkg_name}/magic +rm -f %{buildroot}%{_datadir}/%{pkg_name}/ndb-config-2-node.ini +rm -f %{buildroot}%{_datadir}/%{pkg_name}/mysql.server +rm -f %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server rm -f %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* rm -f %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* rm -f %{buildroot}%{_bindir}/mytop # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} -mv %{buildroot}%{_datadir}/%{name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name} +mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name} chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name} mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d @@ -742,7 +744,7 @@ install -p -m 0644 %{SOURCE16} %{basename:%{SOURCE16}} install -p -m 0644 mysql-test/rh-skipped-tests.list %{buildroot}%{_datadir}/mysql-test # remove unneeded RHEL-4 SELinux stuff -rm -rf %{buildroot}%{_datadir}/%{name}/SELinux/ +rm -rf %{buildroot}%{_datadir}/%{pkg_name}/SELinux/ # remove SysV init script rm -f %{buildroot}%{_sysconfdir}/init.d/mysql @@ -751,7 +753,7 @@ rm -f %{buildroot}%{_sysconfdir}/init.d/mysql rm -f %{buildroot}%{_sysconfdir}/logrotate.d/mysql # remove solaris files -rm -rf %{buildroot}%{_datadir}/%{name}/solaris/ +rm -rf %{buildroot}%{_datadir}/%{pkg_name}/solaris/ %if %{without clibrary} rm -rf %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* @@ -792,12 +794,12 @@ rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf %endif %if %{without common} -rm -rf %{buildroot}%{_datadir}/%{name}/charsets +rm -rf %{buildroot}%{_datadir}/%{pkg_name}/charsets %endif %if %{without errmsg} -rm -f %{buildroot}%{_datadir}/%{name}/errmsg-utf8.txt -rm -rf %{buildroot}%{_datadir}/%{name}/{english,czech,danish,dutch,estonian,\ +rm -f %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt +rm -rf %{buildroot}%{_datadir}/%{pkg_name}/{english,czech,danish,dutch,estonian,\ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} %endif @@ -953,36 +955,36 @@ fi %doc README COPYING COPYING.LESSER README.mysql-license README.mysql-docs %doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google %dir %{_libdir}/mysql -%dir %{_datadir}/%{name} -%{_datadir}/%{name}/charsets +%dir %{_datadir}/%{pkg_name} +%{_datadir}/%{pkg_name}/charsets %endif %if %{with errmsg} %files errmsg -%{_datadir}/%{name}/errmsg-utf8.txt -%{_datadir}/%{name}/english -%lang(cs) %{_datadir}/%{name}/czech -%lang(da) %{_datadir}/%{name}/danish -%lang(nl) %{_datadir}/%{name}/dutch -%lang(et) %{_datadir}/%{name}/estonian -%lang(fr) %{_datadir}/%{name}/french -%lang(de) %{_datadir}/%{name}/german -%lang(el) %{_datadir}/%{name}/greek -%lang(hu) %{_datadir}/%{name}/hungarian -%lang(it) %{_datadir}/%{name}/italian -%lang(ja) %{_datadir}/%{name}/japanese -%lang(ko) %{_datadir}/%{name}/korean -%lang(no) %{_datadir}/%{name}/norwegian -%lang(no) %{_datadir}/%{name}/norwegian-ny -%lang(pl) %{_datadir}/%{name}/polish -%lang(pt) %{_datadir}/%{name}/portuguese -%lang(ro) %{_datadir}/%{name}/romanian -%lang(ru) %{_datadir}/%{name}/russian -%lang(sr) %{_datadir}/%{name}/serbian -%lang(sk) %{_datadir}/%{name}/slovak -%lang(es) %{_datadir}/%{name}/spanish -%lang(sv) %{_datadir}/%{name}/swedish -%lang(uk) %{_datadir}/%{name}/ukrainian +%{_datadir}/%{pkg_name}/errmsg-utf8.txt +%{_datadir}/%{pkg_name}/english +%lang(cs) %{_datadir}/%{pkg_name}/czech +%lang(da) %{_datadir}/%{pkg_name}/danish +%lang(nl) %{_datadir}/%{pkg_name}/dutch +%lang(et) %{_datadir}/%{pkg_name}/estonian +%lang(fr) %{_datadir}/%{pkg_name}/french +%lang(de) %{_datadir}/%{pkg_name}/german +%lang(el) %{_datadir}/%{pkg_name}/greek +%lang(hu) %{_datadir}/%{pkg_name}/hungarian +%lang(it) %{_datadir}/%{pkg_name}/italian +%lang(ja) %{_datadir}/%{pkg_name}/japanese +%lang(ko) %{_datadir}/%{pkg_name}/korean +%lang(no) %{_datadir}/%{pkg_name}/norwegian +%lang(no) %{_datadir}/%{pkg_name}/norwegian-ny +%lang(pl) %{_datadir}/%{pkg_name}/polish +%lang(pt) %{_datadir}/%{pkg_name}/portuguese +%lang(ro) %{_datadir}/%{pkg_name}/romanian +%lang(ru) %{_datadir}/%{pkg_name}/russian +%lang(sr) %{_datadir}/%{pkg_name}/serbian +%lang(sk) %{_datadir}/%{pkg_name}/slovak +%lang(es) %{_datadir}/%{pkg_name}/spanish +%lang(sv) %{_datadir}/%{pkg_name}/swedish +%lang(uk) %{_datadir}/%{pkg_name}/ukrainian %endif %files server @@ -1018,7 +1020,7 @@ fi %{_bindir}/resolveip %{?with_tokudb:%{_bindir}/tokuftdump} -%config(noreplace) %{_sysconfdir}/my.cnf.d/server.cnf +%config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf %{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf} %{_libexecdir}/mysqld @@ -1026,7 +1028,7 @@ fi %{_libdir}/mysql/INFO_SRC %{_libdir}/mysql/INFO_BIN %if %{without common} -%dir %{_datadir}/%{name} +%dir %{_datadir}/%{pkg_name} %endif %{_libdir}/mysql/plugin @@ -1066,15 +1068,15 @@ fi %{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man8/mysqld.8* -%{_datadir}/%{name}/fill_help_tables.sql -%{_datadir}/%{name}/install_spider.sql -%{_datadir}/%{name}/mysql_system_tables.sql -%{_datadir}/%{name}/mysql_system_tables_data.sql -%{_datadir}/%{name}/mysql_test_data_timezone.sql -%{_datadir}/%{name}/mysql_performance_tables.sql -%{?with_mroonga:%{_datadir}/%{name}/mroonga/install.sql} -%{?with_mroonga:%{_datadir}/%{name}/mroonga/uninstall.sql} -%{_datadir}/%{name}/my-*.cnf +%{_datadir}/%{pkg_name}/fill_help_tables.sql +%{_datadir}/%{pkg_name}/install_spider.sql +%{_datadir}/%{pkg_name}/mysql_system_tables.sql +%{_datadir}/%{pkg_name}/mysql_system_tables_data.sql +%{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql +%{_datadir}/%{pkg_name}/mysql_performance_tables.sql +%{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/install.sql} +%{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/uninstall.sql} +%{_datadir}/%{pkg_name}/my-*.cnf %{daemondir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir From a0cd71f7357e3de13630bd1e93f62d7d12742dde Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sun, 25 Jan 2015 19:54:12 +0100 Subject: [PATCH 198/789] Do not create log file in post script Conflicts: mariadb.spec my.cnf.in --- mariadb.spec | 7 ++++--- mysql-check-upgrade.sh | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 698967a..f909a23 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -108,7 +108,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 6%{?with_debug:.debug}%{?dist} +Release: 7%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -867,8 +867,6 @@ if [ $1 = 1 ]; then /sbin/chkconfig --add %{daemon_name} fi %endif -/bin/touch %{logfile} -/bin/chmod 0755 %{dbdatadir} %preun server %if %{with init_systemd} @@ -1141,6 +1139,9 @@ fi %endif %changelog +* Sun Jan 25 2015 Honza Horak - 1:10.0.15-7 +- Do not create log file in post script + * Sat Jan 24 2015 Honza Horak - 1:10.0.15-6 - Move server settings to config file under my.cnf.d dir diff --git a/mysql-check-upgrade.sh b/mysql-check-upgrade.sh index 9c8a8bd..1bfd3bc 100644 --- a/mysql-check-upgrade.sh +++ b/mysql-check-upgrade.sh @@ -27,8 +27,8 @@ if [ $version -ne $thisversion ] ; then cat <&2 The datadir located at $datadir needs to be upgraded using 'mysql_upgrade' tool. This can be done using the following steps: - 1. Back-up your data before running 'mysql_upgrade' - 2. Start the database daemon using 'systemctl start @DAEMON_NAME@.service' + 1. Back-up your data before with 'mysql_upgrade' + 2. Start the database daemon using 'service @DAEMON_NAME@ start' 3. Run 'mysql_upgrade' with a database user that has sufficient privileges Read more about 'mysql_upgrade' usage at: From 093a0820aff1d5af785fe9e0020078479db7f41b Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 26 Jan 2015 17:55:15 +0100 Subject: [PATCH 199/789] Fix typo in the config file --- mariadb-ownsetup.patch | 2 +- mariadb.spec | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/mariadb-ownsetup.patch b/mariadb-ownsetup.patch index 491a3a5..9741221 100644 --- a/mariadb-ownsetup.patch +++ b/mariadb-ownsetup.patch @@ -11,7 +11,7 @@ diff -up mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup mariadb-10.0.15/s +# instructions in http://fedoraproject.org/wiki/Systemd [mysqld] +datadir=@MYSQL_DATADIR@ -+socket=@DMYSQL_UNIX_ADDR@ ++socket=@MYSQL_UNIX_ADDR@ +log-error=@LOG_LOCATION@ +pid-file=@PID_FILE_DIR@/@DAEMON_NAME@.pid + diff --git a/mariadb.spec b/mariadb.spec index f909a23..15ee234 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -108,7 +108,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 7%{?with_debug:.debug}%{?dist} +Release: 8%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1139,6 +1139,9 @@ fi %endif %changelog +* Mon Jan 26 2015 Honza Horak - 1:10.0.15-8 +- Fix typo in the config file + * Sun Jan 25 2015 Honza Horak - 1:10.0.15-7 - Do not create log file in post script From fb0dc83fa5411cb527db67fb98d391caf2629222 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Tue, 27 Jan 2015 02:45:58 +0100 Subject: [PATCH 200/789] Rebuild for boost 1.57.0 --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 15ee234..c8f5a6c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -108,7 +108,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 8%{?with_debug:.debug}%{?dist} +Release: 9%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1139,6 +1139,9 @@ fi %endif %changelog +* Tue Jan 27 2015 Petr Machata - 1:10.0.15-9 +- Rebuild for boost 1.57.0 + * Mon Jan 26 2015 Honza Horak - 1:10.0.15-8 - Fix typo in the config file From 73dc70620add86be0e1a06033b040683b955cd74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Tue, 3 Feb 2015 11:00:02 +0100 Subject: [PATCH 201/789] Rebase to version 10.0.16 Resolves: #1187895 --- .gitignore | 1 + mariadb-dh1024.patch | 8 ++++---- mariadb-scripts.patch | 8 ++++---- mariadb.spec | 8 ++++++-- sources | 2 +- 5 files changed, 16 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 8f84719..fc356c5 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ /mariadb-10.0.13.tar.gz /mariadb-10.0.14.tar.gz /mariadb-10.0.15.tar.gz +/mariadb-10.0.16.tar.gz diff --git a/mariadb-dh1024.patch b/mariadb-dh1024.patch index e1a2ee8..a887199 100644 --- a/mariadb-dh1024.patch +++ b/mariadb-dh1024.patch @@ -5,9 +5,9 @@ mode is on, but it doesn't seem worth the trouble.) The new parameter value was generated using "openssl dhparam -C 1024". -diff -up mariadb-10.0.15/vio/viosslfactories.c.orig mariadb-10.0.15/vio/viosslfactories.c ---- mariadb-10.0.15/vio/viosslfactories.c.orig 2014-11-27 15:02:22.757315487 +0100 -+++ mariadb-10.0.15/vio/viosslfactories.c 2014-11-27 15:00:44.847144887 +0100 +diff -up mariadb-10.0.16/vio/viosslfactories.c.orig mariadb-10.0.16/vio/viosslfactories.c +--- mariadb-10.0.16/vio/viosslfactories.c.orig 2015-01-25 16:21:38.000000000 +0100 ++++ mariadb-10.0.16/vio/viosslfactories.c 2015-02-03 10:48:26.012560285 +0100 @@ -20,27 +20,32 @@ static my_bool ssl_algorithms_added = FALSE; static my_bool ssl_error_strings_loaded= FALSE; @@ -52,7 +52,7 @@ diff -up mariadb-10.0.15/vio/viosslfactories.c.orig mariadb-10.0.15/vio/viosslfa if (! dh->p || ! dh->g) { DH_free(dh); -@@ -284,7 +289,7 @@ new_VioSSLFd(const char *key_file, const +@@ -257,7 +262,7 @@ new_VioSSLFd(const char *key_file, const } /* DH stuff */ diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index f42c991..e55e794 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -1,7 +1,7 @@ -diff -up mariadb-10.0.15/scripts/CMakeLists.txt.systemd mariadb-10.0.15/scripts/CMakeLists.txt ---- mariadb-10.0.15/scripts/CMakeLists.txt.systemd 2014-11-27 15:06:24.670736998 +0100 -+++ mariadb-10.0.15/scripts/CMakeLists.txt 2014-11-27 15:04:26.252530666 +0100 -@@ -374,6 +374,32 @@ ELSE() +diff -up mariadb-10.0.16/scripts/CMakeLists.txt.systemd mariadb-10.0.16/scripts/CMakeLists.txt +--- mariadb-10.0.16/scripts/CMakeLists.txt.systemd 2015-01-25 16:21:37.000000000 +0100 ++++ mariadb-10.0.16/scripts/CMakeLists.txt 2015-02-03 10:53:05.261790495 +0100 +@@ -367,6 +367,32 @@ ELSE() COMPONENT ${${file}_COMPONENT} ) ENDFOREACH() diff --git a/mariadb.spec b/mariadb.spec index c8f5a6c..619419b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -104,11 +104,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.0 -%global bugfixver 15 +%global bugfixver 16 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 9%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1139,6 +1139,10 @@ fi %endif %changelog +* Tue Feb 3 2015 Jakub Dorňák - 1:10.0.16-9 +- Rebase to version 10.0.16 + Resolves: #1187895 + * Tue Jan 27 2015 Petr Machata - 1:10.0.15-9 - Rebuild for boost 1.57.0 diff --git a/sources b/sources index 1aea2ed..18a850f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -07e2ca1ad684c2dc5cb260717c4db41d mariadb-10.0.15.tar.gz +7b1a197ea5d4027833a3a2ed26fc4cae mariadb-10.0.16.tar.gz From 709026c2095107747f55d8866d7b983c323c3451 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Wed, 4 Feb 2015 12:38:09 +0100 Subject: [PATCH 202/789] Include new certificate for tests --- mariadb-expired-certs.patch | 784 ++++++++++++++++++++++++++++++++++++ mariadb.spec | 8 +- 2 files changed, 791 insertions(+), 1 deletion(-) create mode 100644 mariadb-expired-certs.patch diff --git a/mariadb-expired-certs.patch b/mariadb-expired-certs.patch new file mode 100644 index 0000000..2437ad2 --- /dev/null +++ b/mariadb-expired-certs.patch @@ -0,0 +1,784 @@ +revno: 4416 +revision-id: sergii@pisem.net-20150129133431-85vpfgesj50hozfu +parent: sanja@askmonty.org-20150128104955-v9x9u2mfg2trc1ns +committer: Sergei Golubchik +branch nick: 5.5 +timestamp: Thu 2015-01-29 14:34:31 +0100 +message: + recreate expired certificates for SSL tests + + added a script to regenerate certificates easily in the future (2035!) + restored server8k-key.pem to actually be 8K key, as it was supposed to +=== added file 'mysql-test/lib/generate-ssl-certs.sh' +--- a/mysql-test/lib/generate-ssl-certs.sh 1970-01-01 00:00:00 +0000 ++++ b/mysql-test/lib/generate-ssl-certs.sh 2015-01-29 13:34:31 +0000 +@@ -0,0 +1,31 @@ ++#/bin/sh -xe ++ ++# simply run me from mysql-test/ ++cd std_data/ ++ ++# boilerplace for "openssl ca" and /etc/ssl/openssl.cnf ++rm -rf demoCA ++mkdir demoCA demoCA/private demoCA/newcerts ++touch demoCA/index.txt ++echo 01 > demoCA/serial ++ ++# CA certificate, self-signed ++openssl req -x509 -newkey rsa:2048 -keyout demoCA/private/cakey.pem -out cacert.pem -days 7300 -nodes -subj '/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB' -text ++ ++# server certificate signing request and private key ++openssl req -newkey rsa:1024 -keyout server-key.pem -out demoCA/server-req.pem -days 7300 -nodes -subj '/C=SE/ST=Uppsala/O=MySQL AB/CN=localhost' ++# convert the key to yassl compatible format ++openssl rsa -in server-key.pem -out server-key.pem ++# sign the server certificate with CA certificate ++openssl ca -days 7300 -batch -cert cacert.pem -policy policy_anything -out server-cert.pem -infiles demoCA/server-req.pem ++ ++openssl req -newkey rsa:8192 -keyout server8k-key.pem -out demoCA/server8k-req.pem -days 7300 -nodes -subj '/C=SE/ST=Uppsala/O=MySQL AB/CN=server' ++openssl rsa -in server8k-key.pem -out server8k-key.pem ++openssl ca -days 7300 -batch -cert cacert.pem -policy policy_anything -out server8k-cert.pem -infiles demoCA/server8k-req.pem ++ ++openssl req -newkey rsa:1024 -keyout client-key.pem -out demoCA/client-req.pem -days 7300 -nodes -subj '/C=SE/ST=Uppsala/O=MySQL AB' ++openssl rsa -in client-key.pem -out client-key.pem ++# if the folloing will require a common name - that's defined in /etc/ssl/openssl.cnf, under policy_anything ++openssl ca -days 7300 -batch -cert cacert.pem -policy policy_anything -out client-cert.pem -infiles demoCA/client-req.pem ++ ++rm -rf demoCA + +=== modified file 'mysql-test/std_data/cacert.pem' +--- a/mysql-test/std_data/cacert.pem 2014-02-19 20:40:34 +0000 ++++ b/mysql-test/std_data/cacert.pem 2015-01-29 13:34:31 +0000 +@@ -1,22 +1,77 @@ ++Certificate: ++ Data: ++ Version: 3 (0x2) ++ Serial Number: 18344029820145564920 (0xfe9315ee3af2fcf8) ++ Signature Algorithm: sha1WithRSAEncryption ++ Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB ++ Validity ++ Not Before: Jan 29 13:33:36 2015 GMT ++ Not After : Jan 24 13:33:36 2035 GMT ++ Subject: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB ++ Subject Public Key Info: ++ Public Key Algorithm: rsaEncryption ++ Public-Key: (2048 bit) ++ Modulus: ++ 00:ad:79:3b:d1:c4:f3:fd:72:e8:4a:9e:54:db:44: ++ 86:c7:57:a9:53:2e:01:5a:5b:04:b8:b7:15:02:28: ++ b2:e8:8a:8d:0e:32:29:a6:cc:63:00:fb:e4:7a:ec: ++ 27:b0:09:8f:4d:34:95:c5:9e:2e:92:20:8b:ec:88: ++ d3:08:75:c7:c0:61:46:60:79:bb:0f:5f:e4:08:d7: ++ b2:20:08:1a:71:a9:ea:f2:d6:55:40:26:82:9b:2c: ++ 6a:00:66:74:58:ea:e8:6c:77:74:81:10:3b:78:7f: ++ 20:75:9c:ac:7a:63:af:0e:b6:7b:e8:94:13:00:b8: ++ 7d:33:7a:c7:49:1f:b2:84:ce:0d:89:4a:97:ee:61: ++ 0a:1d:8b:a7:8b:45:90:dc:cc:e6:56:dc:aa:28:b2: ++ cb:83:09:e7:7b:9a:7c:3e:da:4f:11:d0:b2:95:0d: ++ 96:c0:b0:41:63:2d:2b:45:2f:6d:46:38:5a:b0:93: ++ e6:07:af:d1:2f:15:ff:84:f3:05:62:a5:28:1a:a4: ++ 40:23:3d:c6:77:60:2c:55:7d:fd:af:da:4a:e8:fb: ++ 16:03:9a:67:4b:76:a6:ec:96:ba:46:86:f2:fb:7c: ++ eb:2c:59:5c:af:e7:79:50:26:05:d4:71:c3:d5:62: ++ d5:2b:17:35:d3:32:4e:b4:df:30:7d:8b:fd:ba:c3: ++ a6:5d ++ Exponent: 65537 (0x10001) ++ X509v3 extensions: ++ X509v3 Subject Key Identifier: ++ D0:25:36:E4:E6:DB:8B:6E:4F:8A:4D:20:48:A4:21:3A:58:7E:EF:C4 ++ X509v3 Authority Key Identifier: ++ keyid:D0:25:36:E4:E6:DB:8B:6E:4F:8A:4D:20:48:A4:21:3A:58:7E:EF:C4 ++ ++ X509v3 Basic Constraints: ++ CA:TRUE ++ Signature Algorithm: sha1WithRSAEncryption ++ 8d:9f:56:93:67:4b:77:e1:4c:f0:3c:6b:9c:8a:a0:a5:3d:5d: ++ a7:21:72:5e:bc:4c:88:16:61:95:3d:e6:34:da:a6:b0:8c:6e: ++ 94:4c:69:ea:c6:8a:fa:2c:3d:bf:f9:8e:b5:d1:69:ac:a1:46: ++ 12:95:bc:fd:67:21:1e:ca:0f:49:77:f8:54:29:aa:06:5b:08: ++ 0b:8e:0b:4f:9d:52:da:03:9e:a1:31:1b:4a:bb:df:cb:d7:ba: ++ b1:20:d7:77:bc:3b:87:e4:ae:46:59:13:88:cd:76:ab:15:68: ++ c5:90:d7:01:fb:7b:16:30:7f:f8:1e:c5:3d:a3:e2:61:d9:35: ++ fe:70:af:9a:47:12:59:26:27:b1:f6:a2:d8:99:80:a1:a4:a3: ++ a3:77:ad:40:90:8c:4e:7e:83:b0:c0:0e:fb:0b:c3:9f:ac:8d: ++ ee:65:fe:7d:85:2b:b3:93:62:56:50:f3:ca:68:68:76:37:9d: ++ e7:85:13:45:c1:c8:9e:c6:ba:eb:ef:24:85:e8:47:31:82:53: ++ 1b:c4:66:b3:c3:e6:89:5f:3e:18:9f:f5:ed:66:19:9e:57:5b: ++ 3d:6a:2f:fb:c2:e3:5a:40:d0:5b:2e:ac:f6:a4:c6:5b:ee:a5: ++ 76:a0:af:a8:c0:c0:e1:2f:78:6c:7b:fa:fe:a8:2d:8b:cf:2b: ++ c8:87:ee:09 + -----BEGIN CERTIFICATE----- +-MIIDsjCCApqgAwIBAgIJAL5YrUwfPSWVMA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV +-BAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxhMREwDwYD +-VQQKEwhNeVNRTCBBQjAeFw0xMDAxMjkwNTU5NTNaFw0xNTAxMjgwNTU5NTNaMEQx +-CzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxh +-MREwDwYDVQQKEwhNeVNRTCBBQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +-ggEBAL6kNN4peX7uhK9rb06W/QbPEpVuejmdWdl2PqMshP/eSuXXw7kwVgfpxx9R +-vC000CKQQSG9MCoZjtqPnFRsetmWLZgApRpEalGXTXJqq9sEbCfoFizg94U8G7d2 +-u5XJjLVmcG34ru36KoBgVx1zeH1puBAf8dOzrE4L7Y+ZQBFzFohjh8C2LqWC4nM5 +-qsLmOkDWMipGqYU5DvkKjIbTbwTyRNRgZHWSPfVDDPUIUOsY4BGUp2DpgeGY9aEv +-lIs57Ev9JqlIUCV65lOhhDkG+xwmkHKHA+ECEU9cALI8+uXbh48MB9XpMOuk408X +-/lX89aZwD0/G9kmObVGnE2G+H5UCAwEAAaOBpjCBozAdBgNVHQ4EFgQUsft+d7VA +-jWgRftkR5cPG2k2sUbAwdAYDVR0jBG0wa4AUsft+d7VAjWgRftkR5cPG2k2sUbCh +-SKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdV +-cHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAL5YrUwfPSWVMAwGA1UdEwQFMAMB +-Af8wDQYJKoZIhvcNAQEFBQADggEBALRUOAmdL8R8sl1y8kiEiFgDatdXK5RDqWai +-8yZChfmwTIToHhmQsOEshJe2e8hky3huUj+33VyXjINoMbebIwMuXPwEkbJal8RZ +-nSJmF0jN1Qz7J/jFffwK9xmejWZJx49Kt2+Qwrwp6kDeq9TLFqQOoVczgyJPYsTL +-NAOib5WqTud3XWvCwxrhqmWu7JZq6sp1fomP/uunprb8y2miWfLESZN2mKAhm44Q +-Lws867LT8v2lskEjq2dT1LutD5+R66XcdjgSr0uDziDs64jZwCD6ea94hVFM7ej0 +-ZOXYeSEZJ56FjUxu632e9fY8NyMh30yKjjmQf1mM9PuGJvdvsWU= ++MIIDWzCCAkOgAwIBAgIJAP6TFe468vz4MA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV ++BAYTAlNFMRAwDgYDVQQIDAdVcHBzYWxhMRAwDgYDVQQHDAdVcHBzYWxhMREwDwYD ++VQQKDAhNeVNRTCBBQjAeFw0xNTAxMjkxMzMzMzZaFw0zNTAxMjQxMzMzMzZaMEQx ++CzAJBgNVBAYTAlNFMRAwDgYDVQQIDAdVcHBzYWxhMRAwDgYDVQQHDAdVcHBzYWxh ++MREwDwYDVQQKDAhNeVNRTCBBQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ++ggEBAK15O9HE8/1y6EqeVNtEhsdXqVMuAVpbBLi3FQIosuiKjQ4yKabMYwD75Hrs ++J7AJj000lcWeLpIgi+yI0wh1x8BhRmB5uw9f5AjXsiAIGnGp6vLWVUAmgpssagBm ++dFjq6Gx3dIEQO3h/IHWcrHpjrw62e+iUEwC4fTN6x0kfsoTODYlKl+5hCh2Lp4tF ++kNzM5lbcqiiyy4MJ53uafD7aTxHQspUNlsCwQWMtK0UvbUY4WrCT5gev0S8V/4Tz ++BWKlKBqkQCM9xndgLFV9/a/aSuj7FgOaZ0t2puyWukaG8vt86yxZXK/neVAmBdRx ++w9Vi1SsXNdMyTrTfMH2L/brDpl0CAwEAAaNQME4wHQYDVR0OBBYEFNAlNuTm24tu ++T4pNIEikITpYfu/EMB8GA1UdIwQYMBaAFNAlNuTm24tuT4pNIEikITpYfu/EMAwG ++A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAI2fVpNnS3fhTPA8a5yKoKU9 ++Xachcl68TIgWYZU95jTaprCMbpRMaerGivosPb/5jrXRaayhRhKVvP1nIR7KD0l3 +++FQpqgZbCAuOC0+dUtoDnqExG0q738vXurEg13e8O4fkrkZZE4jNdqsVaMWQ1wH7 ++exYwf/gexT2j4mHZNf5wr5pHElkmJ7H2otiZgKGko6N3rUCQjE5+g7DADvsLw5+s ++je5l/n2FK7OTYlZQ88poaHY3neeFE0XByJ7GuuvvJIXoRzGCUxvEZrPD5olfPhif ++9e1mGZ5XWz1qL/vC41pA0FsurPakxlvupXagr6jAwOEveGx7+v6oLYvPK8iH7gk= + -----END CERTIFICATE----- + +=== modified file 'mysql-test/std_data/client-cert.pem' +--- a/mysql-test/std_data/client-cert.pem 2014-02-19 20:40:34 +0000 ++++ b/mysql-test/std_data/client-cert.pem 2015-01-29 13:34:31 +0000 +@@ -1,69 +1,68 @@ + Certificate: + Data: + Version: 3 (0x2) +- Serial Number: 6 (0x6) +- Signature Algorithm: sha1WithRSAEncryption ++ Serial Number: 3 (0x3) ++ Signature Algorithm: sha1WithRSAEncryption + Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB + Validity +- Not Before: Feb 20 03:03:26 2010 GMT +- Not After : Sep 3 03:03:26 2030 GMT ++ Not Before: Jan 29 13:33:49 2015 GMT ++ Not After : Jan 24 13:33:49 2035 GMT + Subject: C=SE, ST=Uppsala, O=MySQL AB + Subject Public Key Info: + Public Key Algorithm: rsaEncryption +- RSA Public Key: (1024 bit) +- Modulus (1024 bit): +- 00:c2:e7:20:cf:89:59:2f:67:cb:4c:9f:e8:11:f2: +- 23:e5:f1:b1:ee:3f:66:5f:c3:f5:fd:1e:31:ee:8f: +- 4c:2a:bd:c0:4a:a5:9f:c8:44:d5:77:8f:15:1b:4d: +- 78:6e:b2:a2:48:a5:24:33:05:40:02:b3:c1:87:8d: +- 59:3c:1a:07:aa:86:f0:04:e1:9c:20:4b:22:32:c4: +- 51:9e:40:e4:31:c3:57:f5:98:bf:2e:b1:fd:2c:56: +- bf:49:d9:9b:e7:17:cc:95:5f:b5:08:19:5e:9d:df: +- 65:22:39:2c:48:fb:69:96:31:7a:35:4d:de:60:b4: +- c1:60:19:5f:96:56:7e:55:19 ++ Public-Key: (1024 bit) ++ Modulus: ++ 00:c1:f6:6e:41:de:b5:80:fe:10:6d:c5:15:98:53: ++ 85:4a:88:51:06:85:30:7f:c9:92:87:51:3a:d6:8d: ++ d3:9c:0e:91:c2:39:30:e9:b2:6e:53:4a:3a:aa:a3: ++ 8b:ce:c0:93:94:c9:65:db:89:8e:21:2b:af:2a:ff: ++ 7b:5a:0f:b9:03:99:f0:eb:20:d4:2c:39:00:0e:5a: ++ b7:2b:17:e6:78:54:4f:54:23:36:81:b2:db:3e:48: ++ cd:8e:14:36:b4:4f:6e:4d:a1:84:64:29:b7:68:3c: ++ 45:3e:eb:9a:9b:8f:e2:d0:35:a8:0c:e6:70:4e:ac: ++ 78:74:d5:45:aa:67:33:81:0d + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: + CA:FALSE ++ Netscape Comment: ++ OpenSSL Generated Certificate + X509v3 Subject Key Identifier: +- 8D:10:67:91:33:76:9C:02:E5:78:5D:D8:C5:EF:25:96:B2:D7:FA:1F ++ 17:61:EA:3F:25:92:55:2B:04:1C:D8:C7:A9:F6:61:C9:D9:99:A4:C9 + X509v3 Authority Key Identifier: +- keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 +- DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB +- serial:BE:58:AD:4C:1F:3D:25:95 ++ keyid:D0:25:36:E4:E6:DB:8B:6E:4F:8A:4D:20:48:A4:21:3A:58:7E:EF:C4 + + Signature Algorithm: sha1WithRSAEncryption +- a9:88:10:3e:5d:2a:47:29:c8:03:27:7a:31:5a:8e:10:03:bc: +- b5:4e:37:1d:12:7b:eb:5f:50:71:70:b1:a3:8e:93:0e:77:17: +- 6c:47:b6:c9:a4:4d:2a:c4:38:f0:61:55:b2:7f:28:ba:06:79: +- ee:67:11:7d:d4:c9:7f:0a:18:c8:c1:cb:d0:2c:f9:63:0f:bb: +- 45:ca:de:ea:bb:ac:00:01:52:48:36:2b:07:2b:c8:46:c7:b1: +- 21:81:bd:77:39:e7:4c:39:aa:bd:ac:60:d8:a7:bf:cf:14:98: +- 4a:0b:a1:40:55:06:8d:6f:35:a9:39:a0:71:a9:97:ba:7c:73: +- 3c:41:ba:c5:1c:11:4b:2b:43:1d:2d:ba:7b:5f:14:b5:3d:64: +- 62:15:36:b4:16:bd:78:c8:43:8d:f9:1c:a5:d2:ac:a1:58:74: +- e1:99:de:ad:04:19:43:a8:bd:0a:fd:19:9b:50:44:46:6d:18: +- 55:4d:bf:b4:5b:a4:93:62:c7:64:91:6c:54:34:d1:f8:f3:ff: +- 12:6d:5f:85:e7:35:9e:5c:42:81:5e:fb:c8:bb:44:51:98:b2: +- ef:1b:9f:5a:22:77:28:7d:da:fb:08:c2:94:9a:0f:42:08:93: +- 54:10:1e:ad:f2:4f:fc:62:98:51:e9:9b:b9:3a:93:d9:e4:1f: +- 1d:c4:76:d0 ++ 78:ea:34:4f:ac:c5:0b:17:bd:c9:f4:28:bd:b2:b1:cd:a7:58: ++ 74:4f:00:82:82:c8:a5:71:fe:f4:2f:54:d0:e0:ae:b0:57:87: ++ 7d:e6:2e:14:4a:49:21:43:c3:b5:39:e4:7c:0f:fe:8b:c5:5d: ++ 5e:84:bc:42:2a:2a:a1:69:10:30:dc:e8:a6:ba:79:8b:a0:56: ++ 09:ab:a3:ce:db:32:b2:10:7a:9f:b7:7a:46:80:4a:90:59:af: ++ 81:5c:c7:92:20:46:9d:0e:27:20:e5:9a:da:b3:26:96:37:3b: ++ 87:e7:13:93:ba:8d:be:d3:9d:7a:cb:6d:96:75:36:54:e1:cd: ++ 7e:ff:0d:2d:3c:6a:cd:50:b3:a5:73:a8:83:a0:a7:a2:aa:fa: ++ 6e:49:b9:77:fc:03:16:21:bb:c7:8a:4a:79:5f:a9:7e:b9:21: ++ 6d:84:a7:5f:96:60:38:42:f7:d0:82:de:87:74:d4:05:93:b8: ++ 94:ae:d1:eb:0c:26:96:60:d5:d8:6c:cc:17:40:85:2f:ac:f8: ++ 31:f5:f5:76:d0:f1:3f:aa:87:81:b9:a0:93:71:28:6a:b2:f6: ++ 74:36:a1:fa:f8:dc:39:a8:cd:b7:75:79:d0:40:73:6c:d6:b2: ++ dc:9e:58:a5:51:e5:09:f0:3d:c2:2f:3d:16:ab:41:26:ec:3b: ++ 71:04:2d:eb + -----BEGIN CERTIFICATE----- +-MIIDETCCAfmgAwIBAgIBBjANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ +-MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT +-UUwgQUIwHhcNMTAwMjIwMDMwMzI2WhcNMzAwOTAzMDMwMzI2WjAyMQswCQYDVQQG +-EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIwgZ8wDQYJ +-KoZIhvcNAQEBBQADgY0AMIGJAoGBAMLnIM+JWS9ny0yf6BHyI+Xxse4/Zl/D9f0e +-Me6PTCq9wEqln8hE1XePFRtNeG6yokilJDMFQAKzwYeNWTwaB6qG8AThnCBLIjLE +-UZ5A5DHDV/WYvy6x/SxWv0nZm+cXzJVftQgZXp3fZSI5LEj7aZYxejVN3mC0wWAZ +-X5ZWflUZAgMBAAGjgaMwgaAwCQYDVR0TBAIwADAdBgNVHQ4EFgQUjRBnkTN2nALl +-eF3Yxe8llrLX+h8wdAYDVR0jBG0wa4AUsft+d7VAjWgRftkR5cPG2k2sUbChSKRG +-MEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBz +-YWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAL5YrUwfPSWVMA0GCSqGSIb3DQEBBQUA +-A4IBAQCpiBA+XSpHKcgDJ3oxWo4QA7y1TjcdEnvrX1BxcLGjjpMOdxdsR7bJpE0q +-xDjwYVWyfyi6BnnuZxF91Ml/ChjIwcvQLPljD7tFyt7qu6wAAVJINisHK8hGx7Eh +-gb13OedMOaq9rGDYp7/PFJhKC6FAVQaNbzWpOaBxqZe6fHM8QbrFHBFLK0MdLbp7 +-XxS1PWRiFTa0Fr14yEON+Ryl0qyhWHThmd6tBBlDqL0K/RmbUERGbRhVTb+0W6ST +-YsdkkWxUNNH48/8SbV+F5zWeXEKBXvvIu0RRmLLvG59aIncofdr7CMKUmg9CCJNU +-EB6t8k/8YphR6Zu5OpPZ5B8dxHbQ ++MIIC6DCCAdCgAwIBAgIBAzANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ ++MA4GA1UECAwHVXBwc2FsYTEQMA4GA1UEBwwHVXBwc2FsYTERMA8GA1UECgwITXlT ++UUwgQUIwHhcNMTUwMTI5MTMzMzQ5WhcNMzUwMTI0MTMzMzQ5WjAyMQswCQYDVQQG ++EwJTRTEQMA4GA1UECAwHVXBwc2FsYTERMA8GA1UECgwITXlTUUwgQUIwgZ8wDQYJ ++KoZIhvcNAQEBBQADgY0AMIGJAoGBAMH2bkHetYD+EG3FFZhThUqIUQaFMH/JkodR ++OtaN05wOkcI5MOmyblNKOqqji87Ak5TJZduJjiErryr/e1oPuQOZ8Osg1Cw5AA5a ++tysX5nhUT1QjNoGy2z5IzY4UNrRPbk2hhGQpt2g8RT7rmpuP4tA1qAzmcE6seHTV ++RapnM4ENAgMBAAGjezB5MAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5T ++U0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBQXYeo/JZJVKwQc2Mep ++9mHJ2ZmkyTAfBgNVHSMEGDAWgBTQJTbk5tuLbk+KTSBIpCE6WH7vxDANBgkqhkiG ++9w0BAQUFAAOCAQEAeOo0T6zFCxe9yfQovbKxzadYdE8AgoLIpXH+9C9U0OCusFeH ++feYuFEpJIUPDtTnkfA/+i8VdXoS8QioqoWkQMNzoprp5i6BWCaujztsyshB6n7d6 ++RoBKkFmvgVzHkiBGnQ4nIOWa2rMmljc7h+cTk7qNvtOdesttlnU2VOHNfv8NLTxq ++zVCzpXOog6Cnoqr6bkm5d/wDFiG7x4pKeV+pfrkhbYSnX5ZgOEL30ILeh3TUBZO4 ++lK7R6wwmlmDV2GzMF0CFL6z4MfX1dtDxP6qHgbmgk3EoarL2dDah+vjcOajNt3V5 ++0EBzbNay3J5YpVHlCfA9wi89FqtBJuw7cQQt6w== + -----END CERTIFICATE----- + +=== modified file 'mysql-test/std_data/client-key.pem' +--- a/mysql-test/std_data/client-key.pem 2014-02-19 20:40:34 +0000 ++++ b/mysql-test/std_data/client-key.pem 2015-01-29 13:34:31 +0000 +@@ -1,15 +1,15 @@ + -----BEGIN RSA PRIVATE KEY----- +-MIICWwIBAAKBgQDC5yDPiVkvZ8tMn+gR8iPl8bHuP2Zfw/X9HjHuj0wqvcBKpZ/I +-RNV3jxUbTXhusqJIpSQzBUACs8GHjVk8GgeqhvAE4ZwgSyIyxFGeQOQxw1f1mL8u +-sf0sVr9J2ZvnF8yVX7UIGV6d32UiOSxI+2mWMXo1Td5gtMFgGV+WVn5VGQIDAQAB +-AoGARXcXLKDpVooJ3W+IyQyiWsw//IhANpWjUOm4JiyQmxMyO+i4ACr4Yjpu7WI5 +-MEseqAGj20NdwxjKO0PXsCIe5LmrGZ+SI8+CSERFOWXWRtCWz7y7SG30i1k6suvM +-mwqWom0tJLwn93uA1lm/WSwKQwUrJRahRQd3EaZqrl7DP5kCQQD/8gbuYAT5pxQe +-ULLGM0RvEsXxDYbEDxNbY5wrBazfklBwpumxZpFl6jEAT++7Kh2Ns3A7kB1oUNlA +-FPYr+dYPAkEAwvHEwRtoyUr8jqoqVVJWI76CDmBjEOzVeMKW97ztqbs2LxZW8dYI +-iOh/myFGpdoUwgu0U8w9MmXcj3ZeZCYKVwJALyQ+AJPw9qa+fuLwOq9gsHCtwrty +-EhSQxSlwrz/pWniRll439vPkXfgntF4E0t1r+hiN2Hqv3/HcQgBaYzkuIwJAG023 +-bACFxaOuCeFFepvEms8E8jSHy4gQQhCnCl24v8wLw76SQN7kZSCDNtwLRBFuVNtE +-z3PMonFn2eQPRmGZkwJAP1c1BHprMQx/ruafdscROILv3JrH40C1bR6KVVBKt1dK +-Qpnpgi7hK5rUQjDF8k3bn9ugTt06jyeHe/QhAml0kg== ++MIICXQIBAAKBgQDB9m5B3rWA/hBtxRWYU4VKiFEGhTB/yZKHUTrWjdOcDpHCOTDp ++sm5TSjqqo4vOwJOUyWXbiY4hK68q/3taD7kDmfDrINQsOQAOWrcrF+Z4VE9UIzaB ++sts+SM2OFDa0T25NoYRkKbdoPEU+65qbj+LQNagM5nBOrHh01UWqZzOBDQIDAQAB ++AoGANRzgEFWF6i6oHQbs5OtqAoDVfy2VnEh8QWWy8PGhUoiCzWaPyE69+zzGV9e0 ++/wao4wNLSxSdwOOPcfzHsF/Bz4plBP4GOhq1BJ4TU13RMlVpU0G2CCJNmc7Fz/g/ ++iFk7NrhJ+hS22QuC5R/upQaDmKvn3USppXurh7NbayjQRhkCQQDsd2XEdHzOqr1A ++fvd3tzAbmOoiSz05OHaVNJdHwsnWRASgn//YHCxaQCw/mt3hWjvxgRfS3kuDGFcy ++KAwa/tbnAkEA0fwyfqZERZIRH1sSxXclqbmSRfF9PsDvS8DsjjUVkj/Td4KV7DKI ++OWEv9d3VZvioIVaACeoGgmc6jdD6tAGN6wJBAN5Pyj+OfKAX6WEvfRzx/qqTctvW ++/LJFIUdZcDipKvTkca1Jf1D/+7rFxlPuF1f8a4q7oVhAYaHYSnH/MJJYsFUCQQDB ++ukofvGe6Q7NWWWCtG2p89r7zloM1VSywmBHmdSUso4QGe0yz+D7jqT1lOT872+bJ ++sxM3klhlELXdxtK1JcX3AkBqnkbKafhVdIojRvxwY1NXD2HrxZGNbl+r/0usrQc9 ++viRpCxVsqPeseK9sxbL+xDJ6a1ofJrLg8YJLFapOqWTh + -----END RSA PRIVATE KEY----- + +=== modified file 'mysql-test/std_data/server-cert.pem' +--- a/mysql-test/std_data/server-cert.pem 2014-02-19 20:40:34 +0000 ++++ b/mysql-test/std_data/server-cert.pem 2015-01-29 13:34:31 +0000 +@@ -1,69 +1,68 @@ + Certificate: + Data: + Version: 3 (0x2) +- Serial Number: 4 (0x4) +- Signature Algorithm: sha1WithRSAEncryption ++ Serial Number: 1 (0x1) ++ Signature Algorithm: sha1WithRSAEncryption + Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB + Validity +- Not Before: Feb 20 02:55:06 2010 GMT +- Not After : Sep 3 02:55:06 2030 GMT ++ Not Before: Jan 29 13:33:36 2015 GMT ++ Not After : Jan 24 13:33:36 2035 GMT + Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=localhost + Subject Public Key Info: + Public Key Algorithm: rsaEncryption +- RSA Public Key: (1024 bit) +- Modulus (1024 bit): +- 00:e3:7d:4f:c2:23:77:a9:3a:2c:d2:69:59:a0:2f: +- 4e:d1:51:4c:ae:8d:f5:17:cc:ce:58:9c:83:4f:0b: +- a3:bb:29:a2:b8:1d:3e:1b:04:f9:a9:3e:e2:61:d0: +- e6:7b:b9:7c:12:d8:1f:86:c9:53:b5:04:dd:df:26: +- e9:c0:2b:de:4a:96:2e:f3:23:6f:79:6d:a9:d2:4e: +- 17:af:2f:de:8b:68:44:ae:de:a3:e2:c4:37:1c:04: +- ad:73:4b:85:f9:83:ac:fe:b7:c1:54:47:2e:96:d4: +- 31:96:85:94:69:d6:5a:63:24:04:99:89:19:1d:56: +- 8a:d1:77:aa:87:fb:38:cd:b7 ++ Public-Key: (1024 bit) ++ Modulus: ++ 00:9c:3a:93:e6:10:8c:b3:e2:57:2f:57:5d:03:4f: ++ 0a:e6:fd:44:1a:f3:49:42:70:58:3a:d5:a3:96:ef: ++ f2:98:39:09:fa:8c:57:12:d5:8b:1e:a5:b8:35:c0: ++ 81:18:6d:45:c8:43:17:28:47:cc:67:8d:dc:3f:9e: ++ 29:0a:f8:e5:99:ec:01:ca:d1:42:62:91:47:ee:85: ++ 1b:b6:65:95:49:08:99:b8:b9:b6:2a:cf:04:05:e9: ++ 5f:a3:7f:d1:c3:08:a0:37:3f:d6:fe:eb:d4:dd:7c: ++ 0a:37:ad:00:43:d1:5d:cf:21:56:9c:d4:6b:d2:7c: ++ 56:5e:25:fa:e4:2a:ef:14:95 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: + CA:FALSE ++ Netscape Comment: ++ OpenSSL Generated Certificate + X509v3 Subject Key Identifier: +- CC:8C:71:40:D0:0F:BF:D1:99:79:3F:1B:E9:10:76:19:67:36:0F:A3 ++ E2:04:9A:5D:CB:44:EC:98:C9:84:13:36:A4:7A:41:AC:34:3D:CD:0C + X509v3 Authority Key Identifier: +- keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 +- DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB +- serial:BE:58:AD:4C:1F:3D:25:95 ++ keyid:D0:25:36:E4:E6:DB:8B:6E:4F:8A:4D:20:48:A4:21:3A:58:7E:EF:C4 + + Signature Algorithm: sha1WithRSAEncryption +- 6f:ad:5e:59:fa:84:3a:be:e2:72:b1:e8:66:2a:4e:f8:73:19: +- 11:06:11:92:78:56:3e:d6:e8:68:29:90:8b:59:d2:fe:aa:ae: +- 25:59:c7:e9:99:bb:4a:06:43:dd:40:bd:cb:f4:ae:79:95:7d: +- 8e:90:ef:58:d2:a8:fc:bf:07:f3:37:b2:9b:bd:da:e6:8c:56: +- dd:5e:c6:4a:70:7c:3e:3d:a1:e8:35:06:b8:a7:7b:ac:26:85: +- 54:5d:09:a2:7b:77:b4:17:7f:72:31:cb:ff:cc:67:6d:e6:3e: +- c6:dc:96:eb:4a:0a:ae:e9:48:ae:8a:e0:d6:73:57:6e:32:4c: +- 00:dc:28:da:55:b3:9f:9f:d8:98:cc:d9:f1:b6:b3:14:67:2e: +- a1:47:1e:51:11:cf:70:9f:31:8f:ba:59:29:f2:d0:88:0b:e2: +- 51:6b:f8:31:ed:6d:ac:00:5e:d3:78:4c:95:97:02:cc:74:2b: +- 3b:c6:28:e6:2a:c3:30:99:35:b4:4d:31:46:d4:90:f2:47:ed: +- 64:85:1a:75:2a:72:0a:2f:c6:3a:2f:d2:ac:6b:31:cc:e5:a8: +- 07:c2:d6:22:f3:c6:0f:bf:67:d9:d6:b2:79:cd:48:b5:c3:e0: +- e3:18:7f:b5:74:c9:43:19:fb:c4:93:29:ca:cc:90:2b:1b:6f: +- 45:f6:25:f9 ++ 28:f8:8b:22:d4:8e:00:29:cb:0e:b2:82:f1:a6:3b:e2:c6:76: ++ 0a:79:b5:e3:6b:b2:80:c9:af:8b:df:c5:d7:f4:cb:ab:37:3c: ++ b2:be:78:b7:2d:ac:77:f1:52:bd:6c:ae:a4:70:1d:98:92:e5: ++ 07:71:99:6c:70:4e:f2:c5:9d:da:c4:31:29:3e:fb:df:82:90: ++ 5c:76:97:0a:70:c3:dd:0c:cc:be:7d:4c:40:f7:25:9f:6f:d3: ++ 37:c5:9b:1a:09:e1:fe:28:08:59:79:17:ac:64:cb:aa:e0:ac: ++ 17:f3:3e:72:69:91:f2:16:8d:c6:3e:89:33:77:be:74:8f:69: ++ ad:9f:4d:96:e1:51:68:ba:4c:7b:3f:26:7f:14:38:be:e9:07: ++ 5d:2b:c2:fb:58:1d:40:c3:b8:21:a8:ee:0e:69:82:7a:21:67: ++ 36:16:41:08:dc:71:e4:7c:d2:f1:58:3b:c8:7b:56:63:b4:1c: ++ f6:7c:2a:3e:95:2b:03:9f:9c:41:b9:95:1a:bc:ab:b7:39:1b: ++ 8e:68:6e:78:ac:2e:18:00:3c:bf:c6:42:c0:62:5f:ba:ec:9f: ++ 81:da:0e:76:94:a7:88:68:71:22:ef:d1:4a:15:94:5e:cb:5a: ++ 9c:af:59:b3:f7:1a:ad:8f:74:e8:fc:a5:b1:da:f9:4f:fc:d6: ++ f8:11:4c:a9 + -----BEGIN CERTIFICATE----- +-MIIDJTCCAg2gAwIBAgIBBDANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ +-MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT +-UUwgQUIwHhcNMTAwMjIwMDI1NTA2WhcNMzAwOTAzMDI1NTA2WjBGMQswCQYDVQQG +-EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxEjAQBgNV +-BAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA431PwiN3 +-qTos0mlZoC9O0VFMro31F8zOWJyDTwujuymiuB0+GwT5qT7iYdDme7l8EtgfhslT +-tQTd3ybpwCveSpYu8yNveW2p0k4Xry/ei2hErt6j4sQ3HAStc0uF+YOs/rfBVEcu +-ltQxloWUadZaYyQEmYkZHVaK0Xeqh/s4zbcCAwEAAaOBozCBoDAJBgNVHRMEAjAA +-MB0GA1UdDgQWBBTMjHFA0A+/0Zl5PxvpEHYZZzYPozB0BgNVHSMEbTBrgBSx+353 +-tUCNaBF+2RHlw8baTaxRsKFIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgTB1Vw +-cHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkAvlit +-TB89JZUwDQYJKoZIhvcNAQEFBQADggEBAG+tXln6hDq+4nKx6GYqTvhzGREGEZJ4 +-Vj7W6GgpkItZ0v6qriVZx+mZu0oGQ91Avcv0rnmVfY6Q71jSqPy/B/M3spu92uaM +-Vt1exkpwfD49oeg1Brine6wmhVRdCaJ7d7QXf3Ixy//MZ23mPsbclutKCq7pSK6K +-4NZzV24yTADcKNpVs5+f2JjM2fG2sxRnLqFHHlERz3CfMY+6WSny0IgL4lFr+DHt +-bawAXtN4TJWXAsx0KzvGKOYqwzCZNbRNMUbUkPJH7WSFGnUqcgovxjov0qxrMczl +-qAfC1iLzxg+/Z9nWsnnNSLXD4OMYf7V0yUMZ+8STKcrMkCsbb0X2Jfk= ++MIIC/DCCAeSgAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ ++MA4GA1UECAwHVXBwc2FsYTEQMA4GA1UEBwwHVXBwc2FsYTERMA8GA1UECgwITXlT ++UUwgQUIwHhcNMTUwMTI5MTMzMzM2WhcNMzUwMTI0MTMzMzM2WjBGMQswCQYDVQQG ++EwJTRTEQMA4GA1UECAwHVXBwc2FsYTERMA8GA1UECgwITXlTUUwgQUIxEjAQBgNV ++BAMMCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAnDqT5hCM ++s+JXL1ddA08K5v1EGvNJQnBYOtWjlu/ymDkJ+oxXEtWLHqW4NcCBGG1FyEMXKEfM ++Z43cP54pCvjlmewBytFCYpFH7oUbtmWVSQiZuLm2Ks8EBelfo3/RwwigNz/W/uvU ++3XwKN60AQ9FdzyFWnNRr0nxWXiX65CrvFJUCAwEAAaN7MHkwCQYDVR0TBAIwADAs ++BglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYD ++VR0OBBYEFOIEml3LROyYyYQTNqR6Qaw0Pc0MMB8GA1UdIwQYMBaAFNAlNuTm24tu ++T4pNIEikITpYfu/EMA0GCSqGSIb3DQEBBQUAA4IBAQAo+Isi1I4AKcsOsoLxpjvi ++xnYKebXja7KAya+L38XX9MurNzyyvni3Lax38VK9bK6kcB2YkuUHcZlscE7yxZ3a ++xDEpPvvfgpBcdpcKcMPdDMy+fUxA9yWfb9M3xZsaCeH+KAhZeResZMuq4KwX8z5y ++aZHyFo3GPokzd750j2mtn02W4VFoukx7PyZ/FDi+6QddK8L7WB1Aw7ghqO4OaYJ6 ++IWc2FkEI3HHkfNLxWDvIe1ZjtBz2fCo+lSsDn5xBuZUavKu3ORuOaG54rC4YADy/ ++xkLAYl+67J+B2g52lKeIaHEi79FKFZRey1qcr1mz9xqtj3To/KWx2vlP/Nb4EUyp + -----END CERTIFICATE----- + +=== modified file 'mysql-test/std_data/server-key.pem' +--- a/mysql-test/std_data/server-key.pem 2014-02-19 20:40:34 +0000 ++++ b/mysql-test/std_data/server-key.pem 2015-01-29 13:34:31 +0000 +@@ -1,15 +1,15 @@ + -----BEGIN RSA PRIVATE KEY----- +-MIICXgIBAAKBgQDjfU/CI3epOizSaVmgL07RUUyujfUXzM5YnINPC6O7KaK4HT4b +-BPmpPuJh0OZ7uXwS2B+GyVO1BN3fJunAK95Kli7zI295banSThevL96LaESu3qPi +-xDccBK1zS4X5g6z+t8FURy6W1DGWhZRp1lpjJASZiRkdVorRd6qH+zjNtwIDAQAB +-AoGAUb0o91y/FjMs/72S0pes/lDz+JRRSGfyjKxQEgrgndNsADOhqRu0iTdrKDJj +-XnlbN3ooecnFJfnFrvTQcJhSmlS30j6VrBw6LXpCBK3dvjYgJ9LOne7WK+dF1+vS +-FMQtsP04C56Sxy6HJDpMyWJ6oS3Bu169ygG2AxKo+Fk+E6ECQQD38w/MzmrARz2Z +-AGeEPDUnVZPYgtmXkmks95S0/2jSoLhmgpvJimzxwpYwVG/BG8dSDVuTDu5kp05D +-3bZIp3EzAkEA6uAwJsCZPtHXlWU3wYZJsA697rUNjPaCQOIaZ/lnh5RUHTmUiw1h +-Oj/VORqKB0kXqcDfawwLjZEvh1Xli+H5bQJBANTmhw2TvEPnp/OFTl1UGUvyBmXl +-TRMB639qAu07VfVtfYi/4ya1zn/0VmOfTOoigQ5qW9Q1AOu6YNCTQl62L9MCQQDc +-YfEsW2kvNYxYJHoVfuBjbuGuOnn1e1Oqd70ZND59S6NFLMMBWlORaVWzWACNZ3rp +-kAzSj6HDeqgjD2jsQONdAkEAt7S1YHUn8F760bRn4AnAto2TVOYdArtTP/wYjd4o +-9rJREO/d8AYkYJ96APLvF0SZ4n3t1pLwQRsKKN8ZGTmzLA== ++MIICXAIBAAKBgQCcOpPmEIyz4lcvV10DTwrm/UQa80lCcFg61aOW7/KYOQn6jFcS ++1Ysepbg1wIEYbUXIQxcoR8xnjdw/nikK+OWZ7AHK0UJikUfuhRu2ZZVJCJm4ubYq ++zwQF6V+jf9HDCKA3P9b+69TdfAo3rQBD0V3PIVac1GvSfFZeJfrkKu8UlQIDAQAB ++AoGAPWQDZD+SmslRi0fgRAGWfih9z71UR2hQM2ZqL1DA2rJnSm5FdSA21+c1GOI5 ++mHiwGD7M5cY4+2RSbSlgZXBjAFj+V0NReudoRMymTLCB8LsuaOSbPxMn92NffGKH ++BQmZRncj+Sj+dTvTmnbaCzjGMEw6UUFBIus6nOH/dl3+TA0CQQDKuiwhreU2gUOT ++ztmc+DggMWOWMs2Ji2jMJCpMrdxDSwxVas6jgaDesQ/9nL7F8RzPtliv6qaDCMfT ++XoXGKPuvAkEAxUhfb/FkZ6MwDs2MyKCNhZjAoEvFESdGP/xiBzLlbDZSRDEUMNRS ++sJrUYOIDUl3TIOvFJVh7tCQftygM3ciw+wJALcvy7kTPdAmtj3V6GYjFfRhLLAIc ++Bod0zDEbUSkxig4pIh63wZ4mDkinmR5Qxnyaip3h2RPEO/O+2JQQ2lwlxwJBAKPi ++TTXHB6t4SrHhWzRG+4mhrVL73oczYw5AcIaeZyuPrKNtSeKOXurKk+avmibQPlU4 ++xpsReCHbaGVUZevPjgUCQAU5WDLCV2DTXEb42PDuvRn7M7yw853CaN2d7j5Kliun ++7lS42fcyaFttfLpopCvAhZ0fVRpJGgCcAvoA/zN8uco= + -----END RSA PRIVATE KEY----- + +=== modified file 'mysql-test/std_data/server8k-cert.pem' +--- a/mysql-test/std_data/server8k-cert.pem 2014-02-19 20:40:34 +0000 ++++ b/mysql-test/std_data/server8k-cert.pem 2015-01-29 13:34:31 +0000 +@@ -1,69 +1,147 @@ + Certificate: + Data: + Version: 3 (0x2) +- Serial Number: 5 (0x5) +- Signature Algorithm: sha1WithRSAEncryption ++ Serial Number: 2 (0x2) ++ Signature Algorithm: sha1WithRSAEncryption + Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB + Validity +- Not Before: Feb 20 03:00:54 2010 GMT +- Not After : Sep 3 03:00:54 2030 GMT ++ Not Before: Jan 29 13:33:49 2015 GMT ++ Not After : Jan 24 13:33:49 2035 GMT + Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=server + Subject Public Key Info: + Public Key Algorithm: rsaEncryption +- RSA Public Key: (1024 bit) +- Modulus (1024 bit): +- 00:c5:da:44:95:06:77:16:21:af:a0:c4:3c:e9:f8: +- 1d:2d:95:f9:63:90:8c:3f:86:ba:77:76:4a:52:4b: +- 6b:af:29:f5:1c:aa:d4:3f:3e:42:9f:6d:46:ba:86: +- 90:b1:2d:cc:db:c6:33:15:a3:f4:af:53:33:4f:a1: +- 56:d1:aa:3b:26:10:f7:64:b5:f9:bf:1b:b1:47:8e: +- cc:a6:d6:0d:aa:4a:77:e3:a3:63:9d:2a:dc:65:f4: +- 7f:91:17:38:2d:d6:cd:4e:8d:53:52:97:6e:87:fc: +- 64:60:a6:a1:00:ac:96:6c:e4:42:94:75:17:46:6f: +- 91:b5:dd:06:47:ed:05:e3:db ++ Public-Key: (8192 bit) ++ Modulus: ++ 00:bd:48:03:11:06:b5:8b:92:f6:9f:2b:27:e0:3d: ++ 6c:8b:87:cc:7b:cf:e5:7b:e9:5f:eb:8d:4c:95:36: ++ 68:a6:1d:dc:81:10:83:c0:bb:97:c9:ac:4b:d1:c2: ++ a1:64:2a:09:e2:1e:5f:26:14:42:6b:b8:8c:82:ea: ++ 6a:d8:df:9b:dd:46:9a:23:52:66:03:51:25:90:2f: ++ 96:d4:c2:ec:1f:6c:a7:de:3a:eb:49:7c:da:81:ae: ++ 42:48:30:59:82:43:d6:ab:00:a1:22:80:e5:1c:f4: ++ 74:3c:59:42:e4:a2:6b:5d:13:69:1e:74:a3:f9:a2: ++ 71:eb:a6:b6:7b:ba:12:49:a8:4b:47:40:ed:f0:2e: ++ 94:80:23:73:5c:51:7a:2a:5c:96:bc:a1:20:7b:bb: ++ 38:b6:41:11:53:92:c4:1c:95:cf:d4:b2:62:ce:65: ++ bc:dd:4a:34:76:71:8f:e3:3e:fb:4c:0c:8f:dd:51: ++ 69:a3:e0:4c:c5:23:fa:c2:fd:5a:24:5d:cb:b1:fe: ++ f1:21:3f:c4:16:f1:d1:53:09:0c:72:bb:9b:01:b6: ++ c0:13:34:8e:bf:39:30:db:c5:f0:fc:6d:38:92:c3: ++ a8:8c:91:59:cb:b1:ce:4f:2e:7b:2f:6c:65:69:d9: ++ 8c:35:f9:b8:ae:1b:9d:2f:ee:b0:26:23:43:9b:d8: ++ ab:08:90:6a:d0:1d:cb:09:73:64:a4:55:95:f4:6f: ++ 0d:17:c5:ef:53:ea:6f:a0:13:3d:c1:cb:60:d0:1c: ++ aa:02:a3:22:4b:05:0a:26:86:ae:ed:73:0e:b7:6c: ++ b4:3b:ee:f1:34:01:60:9d:82:3d:e3:78:b0:ca:af: ++ ed:8e:f2:56:ac:de:1c:9b:f7:2c:55:cc:58:94:11: ++ 92:55:a9:38:75:61:71:c4:da:95:7a:d4:7f:03:2d: ++ 9d:29:76:e3:f7:c9:69:56:54:a0:b9:db:b9:ea:46: ++ e0:1a:55:a2:0f:cd:80:0f:4d:cf:7a:51:9c:f2:d5: ++ e4:6d:9a:59:95:e1:7e:00:2e:2e:e5:30:14:6c:8e: ++ 21:52:3b:f8:01:7c:9b:c8:ba:77:fd:41:1e:d4:b9: ++ a3:58:e1:4e:6d:a6:45:7e:cf:4f:3b:bb:a3:dd:a6: ++ 99:e8:d6:45:e3:28:d7:5b:b1:25:34:cb:15:3c:31: ++ 16:91:3b:01:76:32:b4:dd:c0:07:e9:d9:d9:87:f6: ++ c9:c2:6a:30:05:47:ba:d9:1b:98:b5:2b:50:9f:71: ++ ee:41:76:d6:0a:f5:30:de:0d:c6:d2:e1:ec:f7:7c: ++ 3e:97:13:5b:fb:2f:cf:82:7a:28:c0:98:e3:20:96: ++ 2c:f0:a7:30:19:ee:3d:66:c6:1e:f9:e8:f1:aa:11: ++ aa:fa:38:7f:89:c6:74:fa:7c:22:8e:37:5c:49:20: ++ 98:ae:cd:bc:21:d5:76:7b:66:f8:cf:07:3f:bc:07: ++ bf:75:ec:96:90:7f:62:10:31:eb:fe:60:c5:bf:78: ++ d5:51:f5:87:70:d5:ce:a9:17:4d:f5:b4:69:7e:08: ++ 98:19:cf:31:dd:f4:cd:b9:17:2d:46:d2:23:08:e4: ++ d1:75:c8:c5:a1:c4:5c:d8:26:bc:d8:bc:10:71:e1: ++ 5d:b7:2a:a3:c8:17:1c:7e:55:3c:d5:92:72:50:99: ++ a7:6c:a0:0d:5a:46:89:1c:71:e8:2c:05:b8:60:3d: ++ 03:74:05:2d:f4:20:4f:11:a7:04:82:ba:32:b8:5f: ++ de:ee:b6:bb:b2:7a:c2:64:ff:cc:5a:08:1c:c4:d8: ++ ac:e4:37:be:d4:1d:f2:7b:4a:db:5a:0d:07:25:88: ++ e2:74:91:ec:30:3a:97:b4:87:68:de:d7:53:6a:b8: ++ cd:54:cd:b0:de:55:95:f6:76:41:3f:3c:37:27:0a: ++ d0:bb:54:42:cf:5a:9f:3f:bc:9f:2b:45:f7:64:1e: ++ d5:f8:98:75:8b:e9:b1:9d:32:00:bf:6a:f1:78:eb: ++ f3:db:0b:12:16:62:4b:b3:b3:a9:c4:e2:48:72:cb: ++ c4:a7:f5:26:23:27:32:63:3d:b7:40:70:d0:14:e6: ++ 93:56:e4:8b:c6:21:40:35:4b:2d:59:e2:21:97:df: ++ cb:14:cb:eb:a5:27:a8:56:83:9c:94:ce:76:a6:2b: ++ 25:5d:51:de:0b:40:86:29:ae:2c:e6:74:a7:7d:b8: ++ d7:13:1a:df:fc:d3:de:f8:38:24:d6:69:5e:69:61: ++ 6f:ad:ea:d7:94:61:22:30:6c:08:4a:3f:71:6f:c9: ++ c0:d1:08:ca:06:ef:e4:12:a2:75:dd:a6:15:a2:56: ++ 14:82:e2:5e:b8:fe:87:09:70:c1:12:7d:84:29:5d: ++ cf:b1:a4:45:7a:c6:a6:d3:91:c9:83:ec:0b:d9:95: ++ 25:5c:a7:fb:c4:75:2f:f7:13:31:1d:b5:48:20:2c: ++ fb:eb:95:02:80:2e:81:bb:32:92:28:da:71:5b:42: ++ 97:c7:66:3d:2c:be:b3:ab:ee:30:68:b0:6b:11:f9: ++ 0d:5a:82:0d:5f:d6:3a:2a:99:f3:2a:e4:b5:47:c0: ++ 34:ce:94:ac:17:68:68:cd:72:52:f5:83:bd:17:f9: ++ 7b:ad:76:0a:98:6e:83:6f:4b:02:b6:af:bd:c2:e7: ++ 60:68:e5:e8:a5:90:1c:30:ce:c6:bc:78:e6:0f:77: ++ 7d:9c:7e:62:49:8c:54:4b:a5:98:be:31:b7:05:21: ++ b1:6a:9c:2a:76:7f:20:f5:f5:1f:2a:40:80:b5:05: ++ 57:12:b9:d0:29 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: + CA:FALSE ++ Netscape Comment: ++ OpenSSL Generated Certificate + X509v3 Subject Key Identifier: +- 6E:60:3F:29:13:60:99:ED:0C:F7:15:B5:DB:7B:1C:FB:6F:60:19:ED ++ DF:F6:30:35:E7:24:29:DF:22:90:5F:EF:7C:1F:14:E9:5B:1C:98:1D + X509v3 Authority Key Identifier: +- keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 +- DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB +- serial:BE:58:AD:4C:1F:3D:25:95 ++ keyid:D0:25:36:E4:E6:DB:8B:6E:4F:8A:4D:20:48:A4:21:3A:58:7E:EF:C4 + + Signature Algorithm: sha1WithRSAEncryption +- 63:2e:0f:07:14:06:cf:74:90:3d:37:42:f2:48:70:60:21:bc: +- 34:52:31:f1:87:70:d2:b2:fb:ff:13:38:dc:f0:5e:43:d7:ee: +- a7:c7:1f:ac:aa:d2:8c:4f:fa:3c:4c:73:f6:b6:c2:0c:a0:ea: +- a2:c9:e2:73:61:c3:2e:78:40:0f:2a:d3:63:50:9b:b8:f9:89: +- 40:ed:98:08:97:c3:07:24:17:34:b5:78:89:0a:bb:83:4c:e2: +- 5c:2e:13:d6:21:30:ad:30:48:b5:70:12:ff:4a:6f:42:f0:f8: +- 9f:b1:4b:bd:89:2b:f0:9d:e2:49:2b:35:69:18:1f:76:40:b4: +- 76:bd:cb:dd:27:2f:c0:c1:e2:33:3e:6e:df:68:54:19:92:8a: +- bb:13:9c:cf:d6:17:56:da:bf:0d:64:70:3a:45:b7:aa:5f:e3: +- f5:96:ae:34:f2:17:37:27:d0:4b:e8:30:4a:c0:02:42:e2:d2: +- 30:eb:eb:c7:d7:ec:d8:df:5c:43:58:e2:6f:b7:58:54:0d:c4: +- 01:71:2d:59:8f:44:c7:a1:6c:0b:41:28:fa:b7:63:a7:68:d3: +- 4f:c3:0f:17:9e:b2:32:50:e6:0b:87:3d:e2:39:47:c0:d8:0a: +- 3b:f6:af:50:68:0f:9d:ef:6e:34:0d:3a:07:94:f8:a4:d7:24: +- 86:32:d3:b4 ++ 78:18:7b:57:42:67:41:d3:b8:3e:2f:ad:74:e6:c0:de:2e:83: ++ ea:fa:07:5c:06:fe:d6:47:46:85:5a:df:67:17:86:f3:da:52: ++ 83:98:9a:5f:80:a3:a5:60:ab:07:f0:f0:d8:c5:9d:c5:09:53: ++ ad:79:c4:c0:31:35:af:0c:e7:41:8e:b7:aa:ca:36:ee:90:6b: ++ 34:a6:19:1c:3b:1a:90:3a:91:10:47:12:a0:31:49:0c:c2:38: ++ 68:0e:38:57:24:d6:12:c6:4c:bb:b2:b4:d8:ab:9e:80:93:ad: ++ af:84:01:d0:e8:2b:b3:ea:f6:c0:bc:4a:fa:01:b1:ce:fa:ab: ++ eb:f1:08:b3:0d:83:fc:08:57:79:02:74:4c:09:56:14:0a:52: ++ e0:02:74:76:44:66:2b:12:fe:8d:d4:8c:30:90:41:3b:4a:7b: ++ 3f:1c:7c:86:74:97:94:66:43:39:da:7d:20:4a:ba:3a:17:49: ++ ac:c7:fa:72:ee:d8:84:09:e6:f4:84:8d:e3:2a:7b:70:36:93: ++ 88:f8:60:ef:7f:b8:e8:51:61:16:6f:a0:94:b8:7d:ff:3f:ec: ++ 25:fe:42:cf:0e:0d:ab:06:07:88:7a:e2:ba:d5:62:ff:19:19: ++ 37:43:ff:92:53:8c:ea:31:6f:a1:14:89:3b:b4:d1:3c:45:e8: ++ 9c:ef:bb:2d + -----BEGIN CERTIFICATE----- +-MIIDIjCCAgqgAwIBAgIBBTANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ +-MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT +-UUwgQUIwHhcNMTAwMjIwMDMwMDU0WhcNMzAwOTAzMDMwMDU0WjBDMQswCQYDVQQG +-EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxDzANBgNV +-BAMTBnNlcnZlcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxdpElQZ3FiGv +-oMQ86fgdLZX5Y5CMP4a6d3ZKUktrryn1HKrUPz5Cn21GuoaQsS3M28YzFaP0r1Mz +-T6FW0ao7JhD3ZLX5vxuxR47MptYNqkp346NjnSrcZfR/kRc4LdbNTo1TUpduh/xk +-YKahAKyWbORClHUXRm+Rtd0GR+0F49sCAwEAAaOBozCBoDAJBgNVHRMEAjAAMB0G +-A1UdDgQWBBRuYD8pE2CZ7Qz3FbXbexz7b2AZ7TB0BgNVHSMEbTBrgBSx+353tUCN +-aBF+2RHlw8baTaxRsKFIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgTB1VwcHNh +-bGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkAvlitTB89 +-JZUwDQYJKoZIhvcNAQEFBQADggEBAGMuDwcUBs90kD03QvJIcGAhvDRSMfGHcNKy +-+/8TONzwXkPX7qfHH6yq0oxP+jxMc/a2wgyg6qLJ4nNhwy54QA8q02NQm7j5iUDt +-mAiXwwckFzS1eIkKu4NM4lwuE9YhMK0wSLVwEv9Kb0Lw+J+xS72JK/Cd4kkrNWkY +-H3ZAtHa9y90nL8DB4jM+bt9oVBmSirsTnM/WF1bavw1kcDpFt6pf4/WWrjTyFzcn +-0EvoMErAAkLi0jDr68fX7NjfXENY4m+3WFQNxAFxLVmPRMehbAtBKPq3Y6do00/D +-DxeesjJQ5guHPeI5R8DYCjv2r1BoD53vbjQNOgeU+KTXJIYy07Q= ++MIIGfTCCBWWgAwIBAgIBAjANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ ++MA4GA1UECAwHVXBwc2FsYTEQMA4GA1UEBwwHVXBwc2FsYTERMA8GA1UECgwITXlT ++UUwgQUIwHhcNMTUwMTI5MTMzMzQ5WhcNMzUwMTI0MTMzMzQ5WjBDMQswCQYDVQQG ++EwJTRTEQMA4GA1UECAwHVXBwc2FsYTERMA8GA1UECgwITXlTUUwgQUIxDzANBgNV ++BAMMBnNlcnZlcjCCBCIwDQYJKoZIhvcNAQEBBQADggQPADCCBAoCggQBAL1IAxEG ++tYuS9p8rJ+A9bIuHzHvP5XvpX+uNTJU2aKYd3IEQg8C7l8msS9HCoWQqCeIeXyYU ++Qmu4jILqatjfm91GmiNSZgNRJZAvltTC7B9sp94660l82oGuQkgwWYJD1qsAoSKA ++5Rz0dDxZQuSia10TaR50o/miceumtnu6EkmoS0dA7fAulIAjc1xReipclryhIHu7 ++OLZBEVOSxByVz9SyYs5lvN1KNHZxj+M++0wMj91RaaPgTMUj+sL9WiRdy7H+8SE/ ++xBbx0VMJDHK7mwG2wBM0jr85MNvF8PxtOJLDqIyRWcuxzk8uey9sZWnZjDX5uK4b ++nS/usCYjQ5vYqwiQatAdywlzZKRVlfRvDRfF71Pqb6ATPcHLYNAcqgKjIksFCiaG ++ru1zDrdstDvu8TQBYJ2CPeN4sMqv7Y7yVqzeHJv3LFXMWJQRklWpOHVhccTalXrU ++fwMtnSl24/fJaVZUoLnbuepG4BpVog/NgA9Nz3pRnPLV5G2aWZXhfgAuLuUwFGyO ++IVI7+AF8m8i6d/1BHtS5o1jhTm2mRX7PTzu7o92mmejWReMo11uxJTTLFTwxFpE7 ++AXYytN3AB+nZ2Yf2ycJqMAVHutkbmLUrUJ9x7kF21gr1MN4NxtLh7Pd8PpcTW/sv ++z4J6KMCY4yCWLPCnMBnuPWbGHvno8aoRqvo4f4nGdPp8Io43XEkgmK7NvCHVdntm +++M8HP7wHv3XslpB/YhAx6/5gxb941VH1h3DVzqkXTfW0aX4ImBnPMd30zbkXLUbS ++Iwjk0XXIxaHEXNgmvNi8EHHhXbcqo8gXHH5VPNWSclCZp2ygDVpGiRxx6CwFuGA9 ++A3QFLfQgTxGnBIK6Mrhf3u62u7J6wmT/zFoIHMTYrOQ3vtQd8ntK21oNByWI4nSR ++7DA6l7SHaN7XU2q4zVTNsN5VlfZ2QT88NycK0LtUQs9anz+8nytF92Qe1fiYdYvp ++sZ0yAL9q8Xjr89sLEhZiS7OzqcTiSHLLxKf1JiMnMmM9t0Bw0BTmk1bki8YhQDVL ++LVniIZffyxTL66UnqFaDnJTOdqYrJV1R3gtAhimuLOZ0p3241xMa3/zT3vg4JNZp ++Xmlhb63q15RhIjBsCEo/cW/JwNEIygbv5BKidd2mFaJWFILiXrj+hwlwwRJ9hCld ++z7GkRXrGptORyYPsC9mVJVyn+8R1L/cTMR21SCAs++uVAoAugbsykijacVtCl8dm ++PSy+s6vuMGiwaxH5DVqCDV/WOiqZ8yrktUfANM6UrBdoaM1yUvWDvRf5e612Cphu ++g29LAravvcLnYGjl6KWQHDDOxrx45g93fZx+YkmMVEulmL4xtwUhsWqcKnZ/IPX1 ++HypAgLUFVxK50CkCAwEAAaN7MHkwCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYd ++T3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFN/2MDXnJCnf ++IpBf73wfFOlbHJgdMB8GA1UdIwQYMBaAFNAlNuTm24tuT4pNIEikITpYfu/EMA0G ++CSqGSIb3DQEBBQUAA4IBAQB4GHtXQmdB07g+L6105sDeLoPq+gdcBv7WR0aFWt9n ++F4bz2lKDmJpfgKOlYKsH8PDYxZ3FCVOtecTAMTWvDOdBjreqyjbukGs0phkcOxqQ ++OpEQRxKgMUkMwjhoDjhXJNYSxky7srTYq56Ak62vhAHQ6Cuz6vbAvEr6AbHO+qvr ++8QizDYP8CFd5AnRMCVYUClLgAnR2RGYrEv6N1IwwkEE7Sns/HHyGdJeUZkM52n0g ++Sro6F0msx/py7tiECeb0hI3jKntwNpOI+GDvf7joUWEWb6CUuH3/P+wl/kLPDg2r ++BgeIeuK61WL/GRk3Q/+SU4zqMW+hFIk7tNE8Reic77st + -----END CERTIFICATE----- + +=== modified file 'mysql-test/std_data/server8k-key.pem' +--- a/mysql-test/std_data/server8k-key.pem 2014-02-19 20:40:34 +0000 ++++ b/mysql-test/std_data/server8k-key.pem 2015-01-29 13:34:31 +0000 +@@ -1,15 +1,99 @@ + -----BEGIN RSA PRIVATE KEY----- +-MIICXgIBAAKBgQDF2kSVBncWIa+gxDzp+B0tlfljkIw/hrp3dkpSS2uvKfUcqtQ/ +-PkKfbUa6hpCxLczbxjMVo/SvUzNPoVbRqjsmEPdktfm/G7FHjsym1g2qSnfjo2Od +-Ktxl9H+RFzgt1s1OjVNSl26H/GRgpqEArJZs5EKUdRdGb5G13QZH7QXj2wIDAQAB +-AoGBAJLCjh7Q9eLnx+QDzH9s+Q/IcH4nSbERmh1lFEopAc6j29qQ6PGkmDy0DUPs +-70VOCOh5A4mo3aZzm9sUfVb24/nRtmyTP/AtMuIVGCsUqzI28dJRGvRlY0aSQG/C +-ILqMP69kiMNGBvuyEIiJhisOmMvDFEp7HrrXHJM9qcc217DpAkEA4nzJ9yyy2e4O +-r6/D711hdfcU/F+ktXw+pL77kSSdTABUap92Uv2RL36UA4q5h8RNvq/GrzMNm6Ye +-u2IMvBCiTQJBAN+iRbiMJCSitTg5YVMluVbT87co7jbTqk7LN1ujyIFEklm4xlHG +-DLJNgEoDR7QJtAkL++FyogC4zsQsey5voscCQQCp54trTbDuI9QIoAaQrrDKWgz4 +-NpfNPeOQm2UFQT5vIWAyjGWrZGViB8bp0UvVOcJI5nxaOiZfOYOcdrWu75uRAkAn +-67zMc9/j1lPJRJz2Dc7nDBD+ikTz7pcBV897AWLCiK4jbBOi91q+3YzgKXO8VNsZ +-nlUJasA2psbqSBJ5OJ5zAkEA2UxoMju54hASjT54Z92IzraVw4Vo8CYwOcw5fr7z +-+m5xg1mmWdLBclmZ+WjARzDuTHIW6u/WCxNGg42AykWzfw== ++MIISJwIBAAKCBAEAvUgDEQa1i5L2nysn4D1si4fMe8/le+lf641MlTZoph3cgRCD ++wLuXyaxL0cKhZCoJ4h5fJhRCa7iMgupq2N+b3UaaI1JmA1ElkC+W1MLsH2yn3jrr ++SXzaga5CSDBZgkPWqwChIoDlHPR0PFlC5KJrXRNpHnSj+aJx66a2e7oSSahLR0Dt ++8C6UgCNzXFF6KlyWvKEge7s4tkERU5LEHJXP1LJizmW83Uo0dnGP4z77TAyP3VFp ++o+BMxSP6wv1aJF3Lsf7xIT/EFvHRUwkMcrubAbbAEzSOvzkw28Xw/G04ksOojJFZ ++y7HOTy57L2xladmMNfm4rhudL+6wJiNDm9irCJBq0B3LCXNkpFWV9G8NF8XvU+pv ++oBM9wctg0ByqAqMiSwUKJoau7XMOt2y0O+7xNAFgnYI943iwyq/tjvJWrN4cm/cs ++VcxYlBGSVak4dWFxxNqVetR/Ay2dKXbj98lpVlSgudu56kbgGlWiD82AD03PelGc ++8tXkbZpZleF+AC4u5TAUbI4hUjv4AXybyLp3/UEe1LmjWOFObaZFfs9PO7uj3aaZ ++6NZF4yjXW7ElNMsVPDEWkTsBdjK03cAH6dnZh/bJwmowBUe62RuYtStQn3HuQXbW ++CvUw3g3G0uHs93w+lxNb+y/PgnoowJjjIJYs8KcwGe49ZsYe+ejxqhGq+jh/icZ0 +++nwijjdcSSCYrs28IdV2e2b4zwc/vAe/deyWkH9iEDHr/mDFv3jVUfWHcNXOqRdN ++9bRpfgiYGc8x3fTNuRctRtIjCOTRdcjFocRc2Ca82LwQceFdtyqjyBccflU81ZJy ++UJmnbKANWkaJHHHoLAW4YD0DdAUt9CBPEacEgroyuF/e7ra7snrCZP/MWggcxNis ++5De+1B3ye0rbWg0HJYjidJHsMDqXtIdo3tdTarjNVM2w3lWV9nZBPzw3JwrQu1RC ++z1qfP7yfK0X3ZB7V+Jh1i+mxnTIAv2rxeOvz2wsSFmJLs7OpxOJIcsvEp/UmIycy ++Yz23QHDQFOaTVuSLxiFANUstWeIhl9/LFMvrpSeoVoOclM52pislXVHeC0CGKa4s ++5nSnfbjXExrf/NPe+Dgk1mleaWFvrerXlGEiMGwISj9xb8nA0QjKBu/kEqJ13aYV ++olYUguJeuP6HCXDBEn2EKV3PsaRFesam05HJg+wL2ZUlXKf7xHUv9xMxHbVIICz7 ++65UCgC6BuzKSKNpxW0KXx2Y9LL6zq+4waLBrEfkNWoINX9Y6KpnzKuS1R8A0zpSs ++F2hozXJS9YO9F/l7rXYKmG6Db0sCtq+9wudgaOXopZAcMM7GvHjmD3d9nH5iSYxU ++S6WYvjG3BSGxapwqdn8g9fUfKkCAtQVXErnQKQIDAQABAoIEAErwZt5n1JrE/cV4 ++1ZnPV9lKU6g1YDsV47cjw01UNEyIiBPFURSOcQMUpxQORc2dYzpWIf+2h7GUaHUw ++kEr7BP+vgzk211K63u9eGA52efvbDf9LPnpi5zPupSllkxqi9yvO3P0HIS68jgSS ++poxUzcMU+0pmjcE5EndlEtybh8AH1H4Kc+ni10KARp0nWQHKlJdsB6tVLZfi3RRE ++iEZ0/crNMZdb6lGGnozCW2ByQBYU5ySNphCOrnZiz1ZB7l11kT8Qm7E5SM54wRJq ++A7atFiqwiw1PgrCs2O46STX3nC1nL6UvquidpfvtgDH/bYth6UQ5cWflYO9oRe9j ++iNH8D4MdglyRXyCHwjHZ/LvA9+MQp7eGmtk6pPnEJrlej+TpZ5tiDGnCayFxq0Lt ++09HiwTaA0RqrRQt5bi1hR+GPisd4TMVnL/NsKym8Zz5o+ARpJxz0Gbh+xyaf+ZhA ++DPO+l2jpqpTLLKlXlER44Of2yZvFh75673OpQX4vXQadN0ClCEYPKhbskr63JXKZ ++PihTw0vOa4F3WffHhECfUuZo94rDuJX57vejVhogwlr4IK3tNaQWH0Qyo1qDqt4c ++uEVazegpyimh1w9QHeb1KRmZY5stBVJ/1TCTcNyJgc1eS26Uj0dLD+C8RiD3cokG ++Pu5Y5sQEvWOW0lKNYBg7pOpbgmD8LHIvQQeM/Jut5B3hT8kmBbvbjts5tsrgSlM3 ++0LB1tUHRqGlFYOC3l4/vQPt+OnNeajh0iF8MiCMyWLWssZbKJYR5T2zWQZFd0cNw ++I1Dssspmx98dF//tA9cgv9joVeWM2mDZIFsYuo3BnMAzFMlXgMogE4vhGbxuAq9T ++iqar7zueu0sEkbgzJUFLzQEkh6cXM5jixtG0ryxzogk6sSkFqEnowYxBMzGh44yy ++ownBTwULKfs1UCRrW7O5DnoUNQ5kK1v8Nm+mEanadKe5qiqrBu6q7lYwPeSG2t/6 ++LSlQ5KRVPxWrf30zzwqzLJy08/P42wPM1zZFOyqFtdamV1k2nhvSefiq/b+aIXK4 ++fN0gtBcO6fStqNvRBeMHO0DjHz49/HZGjqa1ZWjCA8oGuTMXfrmlgrf+RBlWJgLA ++ST3RAFQ7Nyw2D5ABuSk/2m1yGcuyEgwsqOqr8qDY11nNgmiAxuVF9Atf3zmoB6Mp +++4GE3EQuATyBhcZ/ZJiMn02roQ/lkrDOkdE1DrRnF7Jjw6y9XpBbhH6dwlWIMmmZ ++EZAhhKo9vtP9SKAGy43IE8JMHFnMVpr1nEMT54WsyU3cNKORUKL6diOl2trGjsSr ++T4tE1jWqry/sfLg8OxqWxGoca6UUjngLfBcnUSbcaDhlGPqCl+kahmummozNcziS ++mogK5N0CggIBAPA1BMon7N+1Q/1saE/SsPsgbUcWzjb5M2mwHURUamQRQ2OnltSr ++/qjKoe++TzF19QnAGCJMsKhTUIdWW988xEUUnwSlPGZ6h+vx779Nc9870r1B8WgA ++ejwx7oH14EVNg6WECXZEYvVSvQn1LsXEWfpujlxeDYoaOMHZSq7MFzyrzJxKgUIB ++e35mCPzXPvh3XUz6MR9RtfRZk/XaSIV1LRR56H4xDTXOp8nejmvTALLbX9RaSV1K ++64KbEPdWe4FZ7WK+qLBglO/JR0OE5f7y86MqUztjNfnUKubABfo9lBS574u26rbW ++Y+kFHux9WjkVPIkQsO5kGjs+dWWkyeUKoNEyE5otxJ7p8nXaUU9ZSd7c1VvK8Cof +++uIsFpwCpyAJdo+zfgCNf0WzFwAM5UIB8PsbmMQnbTdDr+VYhxaEh9e0oLCApjCz +++RUm5I6ElXKpzejkMn5FGlknQ3aEghmOfTo1WmZ2B31ZnJrRLuYRKRZXqieIvHm8 ++NGiyJx4oi6jQzf4QxKjbH0brW2lSkxArE8sgKrJImSLI7TxPVlQ8JmuLR4MU2xHp ++48PC0AxnBB/0l+2EWG37yPmPVCNQ5oEKjzqp8fgnCzuLKe2wG2QE2IkLUEJUtZjD ++fHkCArilVmZDvAUDpYDu9AbgDhsRlyV6fKAo+S05EiuwjbKExhn4Iry3AoICAQDJ ++udlnRSVxoHEPFfg2IQzAg2v3e6OAWNc/c+Unc88eEZJXUHIGt0fqWN2OrVvx3HEg ++ZrwhiByThLHPqmfqLjr/s9KuxYBSoC/5YhYb9KGYHEcwdSrxFo3bvCULmIjDGqbU ++1m3AbHVPe6Zj0dw13hgf7HDcW/ZK/mtvjgBMQiRjI5RWlkh9kGkxKKOiAZFsGx0T ++dB+ocXhC5SVbISARkCesMKmuYQfo285JNSudaJ4JWJkLOj1+Ovfczj3KxWo4nLV2 ++HYJlWugL6RBVETu2iDlrcO1RlxcH6942N4DbN3SVNYMWQ2vjbro8tC2RBU2L60/u ++v5tDlMag8IotVSVQWInda/Dwk9WKpxHyHjUHreqj22wrECmizmTD2CTfTtLgfGoa ++4qXZUfuMGLgxBiAdxQyRJsjzVKtY6CAlzBuF9kNfIaGJGtDAumG2f3/YC17rfyYq ++vlNtJKbRPkif5g97de1x/H5gNzXlKx2+lJ7wWW2lH3fRF14tji/1xjHGSZeO0Rrs ++bPJvqLAQHu9AsBmA5qsyydFkwks21NxUXjnr98iIVYusNvNPvsQQzAOLcHWTxtel ++uhjPh6Wa2w68WW2f+u0Wp6t8ksFt/QmYVWZ67UOpGQFU36k+qXJvSQpRwNNlkkcP ++aZQbA7SstkspiMFmPitqQptbUnBr5iYA8z7h6di6HwKCAgATPgwOLbiaCylRKdgJ ++XPV0iJp4cWk/miL2Ond9u81yCrf9SbWZf9W8q87hJ7usWKiyiULlrIMSWOpAjTh6 ++36FRb191vc7i3rn4ur7b8lZv8ZjmNFwkWrVwEQfsPUgkBRugrL0dTkknIeOm4o9G ++pH4Yw7Z/y8EF6SfWz5NeAVdzMsgHVSiZowjDjWT27D9NJDLDMd+xhJgw5OQnc78P ++gd2EoGdxhHhscQub7ko2dQa/TTeWCU2LPa80HTv0tGbca9nKaT+WMYZ81wDwdbr+ +++3NtBLz6Ku5t/wMYzRUtgLVWG7cG2DZhQzdpuVFK3JfXrs3UpROnZTl8uXoqFFNg ++F8PePka3uSbhHBiiPET7OEnkoogs/ErU9Q7iA2okQUomFNv8kwJrBOrHKJuVE3Ni ++IEmvs/w+6nGjVbbHhpn7wc4oB34/5W5qxGAVw7HXgON/9f5aw70PxHVh4vVSjzbk ++2TdK7G87egULk5wqAsvg/kruUUN+O0Pt9Je2M19S2Sim82MtESbP6A3PXpdKDqVd ++TDYftYn2Ej7CPJpUlH5z7QWe499srsUF4Fiwm/CSrcX00WFCU7HJzbvB0iuJULfG ++apQivO53VJlfwbwwIEVxc7ns8I0TYznQ7QgRoYmaRRRwyMhNFoexlnLSAizfGj+j ++bvaA1gdwCfxcp54SSPSdq/UMbQKCAgBTyZrwVvsfgAmVv4VSTlXynGO67qLRy5TU ++KTo0MdkEXz4OgD5sZbI8N18HRSBcjDh8wc9Aij18VHBaligFT+B3luRabXRIXXqv ++tbsDL4/zE0PKb9A/RSP08efdMiUUDLzgyJPbifEL64sICQHTagVRNS8HiDb7nUNY ++mX2sLwjYGM4jTNadON9IaN3Wi5owce6YxvHjUAYomu7yNAcS5HJmBexknq7fXHUJ ++WUldXzfNH/ypei5SgQG0uAFYeLkO/KAuiEFCAglB8TM0ci0AOwLGiqg37G7HfoPU ++tycRZq5Iz2o8VBK666H1Vs1aX/5+sGWKABHodyItdNufyq7t+WiCDLSN6ImYxp4g ++l8VlBCrilmAOXu88TUfzRJLEIgRa87JKqntCkdfOr/HJgwbR9qeqnpZ242MsUXYQ ++3P9NnCUNnXVv8jBk7MVrPPgH72kknbJnrJgQTFnxrVITAEbL/AZ9Augm5KfBITCA ++mVCO+kYdgL2Onosilt160zCXcLe/vUDWlMX59PH0MDUmBD8DmEvhk4wissT06GL/ ++tAeQ6GFlp0qVZFmZdN4RL/wE7dgYYk3t6yclA+2YLYaoWui6u0nA0DHdU0N+gMx8 ++dnRTeLtSwC0aaK/udAkxCgB8RoBHvwM+9pZqxhZEao87mC7kXcxAnZvTyaEiX/zH ++BkHHKg839wKCAgAAvo9BfWg3gf0rRnbXsGbYGeiodCMGiskI/QmboM1uJ27oMrcn ++pHeIuNP7Ag9L88DYewznq6IqHk2PHLU4Gzt+AAiiiEE5SFIJP1J5NR28u//MQC9v ++K+cPDjGjPXJHhE084VFqz3nV+R/M8MdwD/Wm2JWevDnMKBpZxLJuQNzv1UBLVSMb ++kdkYWvS8Be8p4sv2zcrgygawCHJRVlwrm6EZcpSDr0ohNd2KuAHQpi1DGBDDWEBv ++0WylbTmqiNf8LCE+1a5n6CvrdUmEe43FKpLPnvN+lqyCmSxR7pUrjoIzlVCGkAQ8 ++y1nAmhStjC/TM4S3M7ip6036AAFqHe9y8Rwt2D8YaTQXxr6seyMmWLYPWMZeF/mm ++fYV2pNmjwLCN5TOnjn2EJABzsxA9Ex814BDcZhb6vam29K1mkEo32khrqP22YXB7 ++XT7BNE8vczQ1lnUclfZIeuOgdFLwmrT7R95BX2xfR6yGZUpqqZOePoLvBKIC28Hf ++sp88Jm8QTZfjQiLAu8kuu2+bPkooIdyXZqYO8qrRCza2QjJwM1xuyxABqoz4a6OW ++YfT+WHRUQLJTkSvD95B2B4fKWnK+C8QeTP42SZbDNwzrbUyQgqlNbH2MFEIYE/b4 ++ipfcemR7T7zP7DEL8VkqGR33q/qFOtHvijb6H3W0IO06MmDOaenbMpkmyA== + -----END RSA PRIVATE KEY----- + +_________________________________ diff --git a/mariadb.spec b/mariadb.spec index 619419b..b1f9bd7 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -108,7 +108,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -152,6 +152,7 @@ Patch6: %{pkgnamepatch}-dh1024.patch Patch7: %{pkgnamepatch}-scripts.patch Patch8: %{pkgnamepatch}-install-db-sharedir.patch Patch9: %{pkgnamepatch}-ownsetup.patch +Patch10: %{pkgnamepatch}-expired-certs.patch # Patches specific for this mysql package Patch30: %{pkgnamepatch}-errno.patch @@ -490,6 +491,7 @@ MariaDB is a community developed branch of MySQL. %patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch10 -p1 %patch30 -p1 %patch31 -p1 %patch32 -p1 @@ -1139,6 +1141,10 @@ fi %endif %changelog +* Wed Feb 4 2015 Jakub Dorňák - 1:10.0.16-2 +- Include new certificate for tests + Related: #1186110 + * Tue Feb 3 2015 Jakub Dorňák - 1:10.0.16-9 - Rebase to version 10.0.16 Resolves: #1187895 From 62d85982a47f8df65a35974239307394de3f04fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Fri, 6 Feb 2015 13:18:31 +0100 Subject: [PATCH 203/789] updated lists of failing tests --- mariadb.spec | 27 ++++++--------------------- rh-skipped-tests-arm.list | 1 - rh-skipped-tests-intel.list | 1 - rh-skipped-tests-ppc-s390.list | 15 --------------- rh-skipped-tests-ppc64le.list | 6 ------ rh-skipped-tests-s390.list | 2 -- 6 files changed, 6 insertions(+), 46 deletions(-) delete mode 100644 rh-skipped-tests-intel.list delete mode 100644 rh-skipped-tests-ppc64le.list delete mode 100644 rh-skipped-tests-s390.list diff --git a/mariadb.spec b/mariadb.spec index b1f9bd7..8f6e843 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -135,11 +135,8 @@ Source15: mysql-scripts-common.sh Source16: mysql-check-upgrade.sh Source19: mysql.init.in Source50: rh-skipped-tests-base.list -Source51: rh-skipped-tests-intel.list -Source52: rh-skipped-tests-arm.list -Source53: rh-skipped-tests-ppc-s390.list -Source54: rh-skipped-tests-ppc64le.list -Source55: rh-skipped-tests-s390.list +Source51: rh-skipped-tests-arm.list +Source52: rh-skipped-tests-ppc-s390.list # Comments for these patches are in the patch files # Patches common for more mysql-like packages @@ -511,24 +508,12 @@ rm -f mysql-test/t/ssl_8k_key-master.opt cat %{SOURCE50} | tee mysql-test/rh-skipped-tests.list # disable some tests failing on different architectures -%ifarch x86_64 i686 +%ifarch %{arm} aarch64 cat %{SOURCE51} | tee -a mysql-test/rh-skipped-tests.list %endif -%ifarch %{arm} aarch64 -cat %{SOURCE52} | tee -a mysql-test/rh-skipped-tests.list -%endif - %ifarch ppc ppc64 ppc64p7 s390 s390x -cat %{SOURCE53} | tee -a mysql-test/rh-skipped-tests.list -%endif - -%ifarch ppc64le -cat %{SOURCE54} | tee -a mysql-test/rh-skipped-tests.list -%endif - -%ifarch s390 -cat %{SOURCE55} | tee -a mysql-test/rh-skipped-tests.list +cat %{SOURCE52} | tee -a mysql-test/rh-skipped-tests.list %endif cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ @@ -837,10 +822,9 @@ export MTR_BUILD_THREAD=%{__isa_bits} ( cd mysql-test perl ./mysql-test-run.pl --force --retry=0 --ssl \ - --skip-test-list=rh-skipped-tests.list \ --suite-timeout=720 --testcase-timeout=30 \ --mysqld=--binlog-format=mixed --force-restart \ - --shutdown-timeout=60 --max-test-fail=0 + --shutdown-timeout=60 --max-test-fail=0 || : # cmake build scripts will install the var cruft if left alone :-( rm -rf var ) @@ -1143,6 +1127,7 @@ fi %changelog * Wed Feb 4 2015 Jakub Dorňák - 1:10.0.16-2 - Include new certificate for tests +- Update lists of failing tests Related: #1186110 * Tue Feb 3 2015 Jakub Dorňák - 1:10.0.16-9 diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index 061d0c5..ec4e52a 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -8,5 +8,4 @@ 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 connect.bin : rhbz#1096787 (pass on aarch64) -main.key_cache : rhbz#1096787 (pass on aarch64) perfschema.setup_objects : rhbz#1096787 diff --git a/rh-skipped-tests-intel.list b/rh-skipped-tests-intel.list deleted file mode 100644 index 1660a88..0000000 --- a/rh-skipped-tests-intel.list +++ /dev/null @@ -1 +0,0 @@ -main.openssl_1 : rhbz#1096787 diff --git a/rh-skipped-tests-ppc-s390.list b/rh-skipped-tests-ppc-s390.list index c484996..c8fcfd2 100644 --- a/rh-skipped-tests-ppc-s390.list +++ b/rh-skipped-tests-ppc-s390.list @@ -7,18 +7,3 @@ connect.part_file : rhbz#1149647 connect.part_table : rhbz#1149647 connect.updelx : rhbz#1149647 connect.updelx2 : rhbz#1149647#c6 -main.gis-precise : rhbz#1096787 -main.statistics : rhbz#1096787 -multi_source.skip_counter : rhbz#1096787 -rpl.rpl_auto_increment : rhbz#1096787 -rpl.rpl_gtid_basic : rhbz#1096787 -rpl.rpl_gtid_master_promote : rhbz#1096787 -rpl.rpl_gtid_stop_start : rhbz#1096787 -rpl.rpl_gtid_until : rhbz#1096787 -rpl.rpl_mixed_binlog_max_cache_size : rhbz#1096787 -rpl.rpl_rotate_logs : rhbz#1096787 -rpl.rpl_skip_replication : rhbz#1096787 -rpl.rpl_slave_skip : rhbz#1096787 -rpl.rpl_stm_max_relay_size : rhbz#1096787 -sys_vars.max_relay_log_size_basic : rhbz#1096787 -sys_vars.sql_slave_skip_counter_basic : rhbz#1096787 diff --git a/rh-skipped-tests-ppc64le.list b/rh-skipped-tests-ppc64le.list deleted file mode 100644 index 85fe832..0000000 --- a/rh-skipped-tests-ppc64le.list +++ /dev/null @@ -1,6 +0,0 @@ -main.gis-precise : rhbz#1096787 -main.mysqlslap : rhbz#1096787 -rpl.rpl_insert : rhbz#1096787 -connect.part_file : rhbz#1149647 -connect.part_table : rhbz#1149647 -connect.updelx : rhbz#1149647 diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list deleted file mode 100644 index 48daec1..0000000 --- a/rh-skipped-tests-s390.list +++ /dev/null @@ -1,2 +0,0 @@ -main.key_cache : rhbz#1149647 - From 52a503bde9bd54db25b3de110c729246e012fb22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Fri, 6 Feb 2015 13:22:55 +0100 Subject: [PATCH 204/789] put back, what was accidentally removed --- mariadb.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 8f6e843..fb7042b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -822,9 +822,10 @@ export MTR_BUILD_THREAD=%{__isa_bits} ( cd mysql-test perl ./mysql-test-run.pl --force --retry=0 --ssl \ + --skip-test-list=rh-skipped-tests.list \ --suite-timeout=720 --testcase-timeout=30 \ --mysqld=--binlog-format=mixed --force-restart \ - --shutdown-timeout=60 --max-test-fail=0 || : + --shutdown-timeout=60 --max-test-fail=0 # cmake build scripts will install the var cruft if left alone :-( rm -rf var ) From af141dba7b7e6f1ad1f12eb3098e41c341cb4898 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Fri, 6 Feb 2015 21:24:17 +0100 Subject: [PATCH 205/789] updated lists of failing tests --- rh-skipped-tests-base.list | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 794bea7..6d34d66 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -1,5 +1,10 @@ # These tests fail with MariaDB 10: +funcs_1.innodb_func_view : rhbz#1096787 +funcs_1.memory_func_view : rhbz#1096787 +funcs_1.myisam_func_view : rhbz#1096787 +main.bigint : rhbz#1096787 +main.dyncol : rhbz#1096787 main.func_str : rhbz#1096787 main.openssl_1 : rhbz#1096787 main.ssl : rhbz#1096787 From d40c57fbc349cdaee44df9b93a7933608587dff7 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 10 Feb 2015 12:34:02 +0100 Subject: [PATCH 206/789] Fix openssl test --- mariadb-ssltest.patch | 30 ++++++++++++++++++++++++------ rh-skipped-tests-base.list | 1 - 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/mariadb-ssltest.patch b/mariadb-ssltest.patch index 7529d7f..c39b752 100644 --- a/mariadb-ssltest.patch +++ b/mariadb-ssltest.patch @@ -4,9 +4,9 @@ which now makes mariadb/mysql FTBFS because openssl_1 test fails Related: #1044565 -diff -up mariadb-10.0.15/mysql-test/r/openssl_1.result.orig mariadb-10.0.15/mysql-test/r/openssl_1.result ---- mariadb-10.0.15/mysql-test/r/openssl_1.result.orig 2014-11-27 15:25:32.582771542 +0100 -+++ mariadb-10.0.15/mysql-test/r/openssl_1.result 2014-11-27 15:22:46.353474672 +0100 +diff -up mariadb-10.0.16/mysql-test/r/openssl_1.result.testssl mariadb-10.0.16/mysql-test/r/openssl_1.result +--- mariadb-10.0.16/mysql-test/r/openssl_1.result.testssl 2015-01-25 16:21:38.000000000 +0100 ++++ mariadb-10.0.16/mysql-test/r/openssl_1.result 2015-02-10 12:15:06.178207088 +0100 @@ -198,8 +198,6 @@ Ssl_cipher DHE-RSA-AES256-SHA Variable_name Value Ssl_cipher EDH-RSA-DES-CBC3-SHA @@ -16,9 +16,18 @@ diff -up mariadb-10.0.15/mysql-test/r/openssl_1.result.orig mariadb-10.0.15/mysq Ssl_cipher RC4-SHA select 'is still running; no cipher request crashed the server' as result from dual; result -diff -up mariadb-10.0.15/mysql-test/t/openssl_1.test.orig mariadb-10.0.15/mysql-test/t/openssl_1.test ---- mariadb-10.0.15/mysql-test/t/openssl_1.test.orig 2014-11-27 15:25:16.637743066 +0100 -+++ mariadb-10.0.15/mysql-test/t/openssl_1.test 2014-11-27 15:22:46.354474674 +0100 +diff -up mariadb-10.0.16/mysql-test/t/openssl_1.test.testssl mariadb-10.0.16/mysql-test/t/openssl_1.test +--- mariadb-10.0.16/mysql-test/t/openssl_1.test.testssl 2015-01-25 16:21:38.000000000 +0100 ++++ mariadb-10.0.16/mysql-test/t/openssl_1.test 2015-02-10 12:16:49.769911038 +0100 +@@ -132,7 +132,7 @@ drop table t1; + # verification of servers certificate by setting both ca certificate + # and ca path to NULL + # +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA ++--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA + --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 + --echo End of 5.0 tests + @@ -222,7 +222,7 @@ DROP TABLE t1; # Common ciphers to openssl and yassl --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=DHE-RSA-AES256-SHA @@ -28,3 +37,12 @@ diff -up mariadb-10.0.15/mysql-test/t/openssl_1.test.orig mariadb-10.0.15/mysql- --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=RC4-SHA --disable_query_log --disable_result_log +@@ -259,7 +259,7 @@ select 'is still running; no cipher requ + GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; + FLUSH PRIVILEGES; + connect(con1,localhost,bug42158,,,,,SSL); +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA ++--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Ssl_cipher'; + disconnect con1; + connection default; diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 6d34d66..c3fc748 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -6,7 +6,6 @@ funcs_1.myisam_func_view : rhbz#1096787 main.bigint : rhbz#1096787 main.dyncol : rhbz#1096787 main.func_str : rhbz#1096787 -main.openssl_1 : rhbz#1096787 main.ssl : rhbz#1096787 main.ssl_compress : rhbz#1096787 main.ssl_crl_clients : rhbz#1096787 From 0fd3f8559d89d4727096c91455282a2a1dc1f995 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 10 Feb 2015 12:34:02 +0100 Subject: [PATCH 207/789] Fix openssl test --- mariadb-ssltest.patch | 30 ++++++++++++++++++++++++------ mariadb.spec | 5 ++++- rh-skipped-tests-base.list | 1 - 3 files changed, 28 insertions(+), 8 deletions(-) diff --git a/mariadb-ssltest.patch b/mariadb-ssltest.patch index 7529d7f..c39b752 100644 --- a/mariadb-ssltest.patch +++ b/mariadb-ssltest.patch @@ -4,9 +4,9 @@ which now makes mariadb/mysql FTBFS because openssl_1 test fails Related: #1044565 -diff -up mariadb-10.0.15/mysql-test/r/openssl_1.result.orig mariadb-10.0.15/mysql-test/r/openssl_1.result ---- mariadb-10.0.15/mysql-test/r/openssl_1.result.orig 2014-11-27 15:25:32.582771542 +0100 -+++ mariadb-10.0.15/mysql-test/r/openssl_1.result 2014-11-27 15:22:46.353474672 +0100 +diff -up mariadb-10.0.16/mysql-test/r/openssl_1.result.testssl mariadb-10.0.16/mysql-test/r/openssl_1.result +--- mariadb-10.0.16/mysql-test/r/openssl_1.result.testssl 2015-01-25 16:21:38.000000000 +0100 ++++ mariadb-10.0.16/mysql-test/r/openssl_1.result 2015-02-10 12:15:06.178207088 +0100 @@ -198,8 +198,6 @@ Ssl_cipher DHE-RSA-AES256-SHA Variable_name Value Ssl_cipher EDH-RSA-DES-CBC3-SHA @@ -16,9 +16,18 @@ diff -up mariadb-10.0.15/mysql-test/r/openssl_1.result.orig mariadb-10.0.15/mysq Ssl_cipher RC4-SHA select 'is still running; no cipher request crashed the server' as result from dual; result -diff -up mariadb-10.0.15/mysql-test/t/openssl_1.test.orig mariadb-10.0.15/mysql-test/t/openssl_1.test ---- mariadb-10.0.15/mysql-test/t/openssl_1.test.orig 2014-11-27 15:25:16.637743066 +0100 -+++ mariadb-10.0.15/mysql-test/t/openssl_1.test 2014-11-27 15:22:46.354474674 +0100 +diff -up mariadb-10.0.16/mysql-test/t/openssl_1.test.testssl mariadb-10.0.16/mysql-test/t/openssl_1.test +--- mariadb-10.0.16/mysql-test/t/openssl_1.test.testssl 2015-01-25 16:21:38.000000000 +0100 ++++ mariadb-10.0.16/mysql-test/t/openssl_1.test 2015-02-10 12:16:49.769911038 +0100 +@@ -132,7 +132,7 @@ drop table t1; + # verification of servers certificate by setting both ca certificate + # and ca path to NULL + # +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA ++--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA + --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 + --echo End of 5.0 tests + @@ -222,7 +222,7 @@ DROP TABLE t1; # Common ciphers to openssl and yassl --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=DHE-RSA-AES256-SHA @@ -28,3 +37,12 @@ diff -up mariadb-10.0.15/mysql-test/t/openssl_1.test.orig mariadb-10.0.15/mysql- --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=RC4-SHA --disable_query_log --disable_result_log +@@ -259,7 +259,7 @@ select 'is still running; no cipher requ + GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; + FLUSH PRIVILEGES; + connect(con1,localhost,bug42158,,,,,SSL); +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA ++--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Ssl_cipher'; + disconnect con1; + connection default; diff --git a/mariadb.spec b/mariadb.spec index fb7042b..7bb1823 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -108,7 +108,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1126,6 +1126,9 @@ fi %endif %changelog +* Tue Feb 10 2015 Honza Horak - 1:10.0.16-3 +- Fix openssl_1 test + * Wed Feb 4 2015 Jakub Dorňák - 1:10.0.16-2 - Include new certificate for tests - Update lists of failing tests diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 6d34d66..c3fc748 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -6,7 +6,6 @@ funcs_1.myisam_func_view : rhbz#1096787 main.bigint : rhbz#1096787 main.dyncol : rhbz#1096787 main.func_str : rhbz#1096787 -main.openssl_1 : rhbz#1096787 main.ssl : rhbz#1096787 main.ssl_compress : rhbz#1096787 main.ssl_crl_clients : rhbz#1096787 From a02a49cae751949d258dfe1bd7e56a3cf7a46b0a Mon Sep 17 00:00:00 2001 From: Matej Muzila Date: Fri, 13 Feb 2015 11:00:18 +0100 Subject: [PATCH 208/789] Enable tokudb --- mariadb.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 7bb1823..ed867cc 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -21,7 +21,8 @@ # TokuDB engine is now part of MariaDB, but it is available only for x86_64; # variable tokudb allows to build with TokuDB storage engine # Temporarily disabled in F21+ for https://mariadb.atlassian.net/browse/MDEV-6446 -%ifarch 0%{?fedora} < 21 #x86_64 +#%ifarch 0%{?fedora} < 21 #x86_64 +%ifarch x86_64 %bcond_without tokudb %else %bcond_with tokudb @@ -108,7 +109,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1126,6 +1127,9 @@ fi %endif %changelog +* Fri Feb 13 2015 Matej Muzila - 1:10.0.16-4 +- Enable tokudb + * Tue Feb 10 2015 Honza Horak - 1:10.0.16-3 - Fix openssl_1 test From 46165ca650578db1555ac63fbea43f9efd80b944 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 3 Mar 2015 22:59:12 +0100 Subject: [PATCH 209/789] Check permissions when starting service on RHEL-6 Resolves: #1194699 Conflicts: mariadb.spec --- mariadb.spec | 4 ++++ mysql.init.in | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index ed867cc..3b91308 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1127,6 +1127,10 @@ fi %endif %changelog +* Tue Mar 03 2015 Honza Horak - 1:10.0.16-6 +- Check permissions when starting service on RHEL-6 + Resolves: #1194699 + * Fri Feb 13 2015 Matej Muzila - 1:10.0.16-4 - Enable tokudb diff --git a/mysql.init.in b/mysql.init.in index be34fbf..e5a1659 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -45,6 +45,13 @@ source "@libexecdir@/mysql-scripts-common" start(){ [ -x $exec ] || exit 5 + + # check permissions + if ! touch $(dirname $socketfile) &>/dev/null ; then + action $"Starting $prog: " /bin/false + return 4 + fi + # check to see if it's already running MYSQLDRUNNING=0 if [ -f "$pidfile" ]; then From 1ba13114e22470625bde892b7b36b30a465c2474 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 3 Mar 2015 23:05:35 +0100 Subject: [PATCH 210/789] Do not create test database by default Related: #1194611 --- mariadb.spec | 4 ++++ mysql-notestdb.patch | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 mysql-notestdb.patch diff --git a/mariadb.spec b/mariadb.spec index 3b91308..f218db3 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -159,6 +159,7 @@ Patch32: %{pkgnamepatch}-basedir.patch Patch33: %{pkgnamepatch}-covscan-signexpr.patch Patch34: %{pkgnamepatch}-covscan-stroverflow.patch Patch36: %{pkgnamepatch}-ssltest.patch +Patch37: %{pkgnamepatch}-notestdb.patch BuildRequires: cmake BuildRequires: libaio-devel @@ -496,6 +497,7 @@ MariaDB is a community developed branch of MySQL. %patch33 -p1 %patch34 -p1 %patch36 -p1 +%patch37 -p1 # removing bundled cmd-line-utils rm -r cmd-line-utils @@ -1130,6 +1132,8 @@ fi * Tue Mar 03 2015 Honza Horak - 1:10.0.16-6 - Check permissions when starting service on RHEL-6 Resolves: #1194699 +- Do not create test database by default + Related: #1194611 * Fri Feb 13 2015 Matej Muzila - 1:10.0.16-4 - Enable tokudb diff --git a/mysql-notestdb.patch b/mysql-notestdb.patch new file mode 100644 index 0000000..90a0d88 --- /dev/null +++ b/mysql-notestdb.patch @@ -0,0 +1,16 @@ +diff -up mariadb-10.0.16/scripts/mysql_install_db.pl.in.createtestdb mariadb-10.0.16/scripts/mysql_install_db.pl.in +--- mariadb-10.0.16/scripts/mysql_install_db.pl.in.createtestdb 2015-03-03 23:02:33.287620715 +0100 ++++ mariadb-10.0.16/scripts/mysql_install_db.pl.in 2015-03-03 23:02:56.664641960 +0100 +@@ -398,10 +398,10 @@ if ( $opt->{'skip-name-resolve'} and $re + } + + # ---------------------------------------------------------------------- +-# Create database directories mysql & test ++# Create database directories mysql + # ---------------------------------------------------------------------- + +-foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql", "$opt->{ldata}/test" ) ++foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql" ) + { + # FIXME not really the same as original "mkdir -p", but ok? + mkdir($dir, 0700) unless -d $dir; From c78a37d91fe9672c0c7bd6d786bf0356e9d7d6a1 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 3 Mar 2015 23:08:10 +0100 Subject: [PATCH 211/789] Use correct name for the patch --- mysql-notestdb.patch => mariadb-notestdb.patch | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename mysql-notestdb.patch => mariadb-notestdb.patch (100%) diff --git a/mysql-notestdb.patch b/mariadb-notestdb.patch similarity index 100% rename from mysql-notestdb.patch rename to mariadb-notestdb.patch From ba44c958463237a172a91178d1b2974d492b257d Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 4 Mar 2015 13:18:32 +0100 Subject: [PATCH 212/789] Rebase to version 10.0.17 Conflicts: mariadb.spec --- .gitignore | 1 + mariadb-expired-certs.patch | 784 ------------------------------------ mariadb.spec | 9 +- sources | 2 +- 4 files changed, 7 insertions(+), 789 deletions(-) delete mode 100644 mariadb-expired-certs.patch diff --git a/.gitignore b/.gitignore index fc356c5..27c91ef 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ /mariadb-10.0.14.tar.gz /mariadb-10.0.15.tar.gz /mariadb-10.0.16.tar.gz +/mariadb-10.0.17.tar.gz diff --git a/mariadb-expired-certs.patch b/mariadb-expired-certs.patch deleted file mode 100644 index 2437ad2..0000000 --- a/mariadb-expired-certs.patch +++ /dev/null @@ -1,784 +0,0 @@ -revno: 4416 -revision-id: sergii@pisem.net-20150129133431-85vpfgesj50hozfu -parent: sanja@askmonty.org-20150128104955-v9x9u2mfg2trc1ns -committer: Sergei Golubchik -branch nick: 5.5 -timestamp: Thu 2015-01-29 14:34:31 +0100 -message: - recreate expired certificates for SSL tests - - added a script to regenerate certificates easily in the future (2035!) - restored server8k-key.pem to actually be 8K key, as it was supposed to -=== added file 'mysql-test/lib/generate-ssl-certs.sh' ---- a/mysql-test/lib/generate-ssl-certs.sh 1970-01-01 00:00:00 +0000 -+++ b/mysql-test/lib/generate-ssl-certs.sh 2015-01-29 13:34:31 +0000 -@@ -0,0 +1,31 @@ -+#/bin/sh -xe -+ -+# simply run me from mysql-test/ -+cd std_data/ -+ -+# boilerplace for "openssl ca" and /etc/ssl/openssl.cnf -+rm -rf demoCA -+mkdir demoCA demoCA/private demoCA/newcerts -+touch demoCA/index.txt -+echo 01 > demoCA/serial -+ -+# CA certificate, self-signed -+openssl req -x509 -newkey rsa:2048 -keyout demoCA/private/cakey.pem -out cacert.pem -days 7300 -nodes -subj '/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB' -text -+ -+# server certificate signing request and private key -+openssl req -newkey rsa:1024 -keyout server-key.pem -out demoCA/server-req.pem -days 7300 -nodes -subj '/C=SE/ST=Uppsala/O=MySQL AB/CN=localhost' -+# convert the key to yassl compatible format -+openssl rsa -in server-key.pem -out server-key.pem -+# sign the server certificate with CA certificate -+openssl ca -days 7300 -batch -cert cacert.pem -policy policy_anything -out server-cert.pem -infiles demoCA/server-req.pem -+ -+openssl req -newkey rsa:8192 -keyout server8k-key.pem -out demoCA/server8k-req.pem -days 7300 -nodes -subj '/C=SE/ST=Uppsala/O=MySQL AB/CN=server' -+openssl rsa -in server8k-key.pem -out server8k-key.pem -+openssl ca -days 7300 -batch -cert cacert.pem -policy policy_anything -out server8k-cert.pem -infiles demoCA/server8k-req.pem -+ -+openssl req -newkey rsa:1024 -keyout client-key.pem -out demoCA/client-req.pem -days 7300 -nodes -subj '/C=SE/ST=Uppsala/O=MySQL AB' -+openssl rsa -in client-key.pem -out client-key.pem -+# if the folloing will require a common name - that's defined in /etc/ssl/openssl.cnf, under policy_anything -+openssl ca -days 7300 -batch -cert cacert.pem -policy policy_anything -out client-cert.pem -infiles demoCA/client-req.pem -+ -+rm -rf demoCA - -=== modified file 'mysql-test/std_data/cacert.pem' ---- a/mysql-test/std_data/cacert.pem 2014-02-19 20:40:34 +0000 -+++ b/mysql-test/std_data/cacert.pem 2015-01-29 13:34:31 +0000 -@@ -1,22 +1,77 @@ -+Certificate: -+ Data: -+ Version: 3 (0x2) -+ Serial Number: 18344029820145564920 (0xfe9315ee3af2fcf8) -+ Signature Algorithm: sha1WithRSAEncryption -+ Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB -+ Validity -+ Not Before: Jan 29 13:33:36 2015 GMT -+ Not After : Jan 24 13:33:36 2035 GMT -+ Subject: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB -+ Subject Public Key Info: -+ Public Key Algorithm: rsaEncryption -+ Public-Key: (2048 bit) -+ Modulus: -+ 00:ad:79:3b:d1:c4:f3:fd:72:e8:4a:9e:54:db:44: -+ 86:c7:57:a9:53:2e:01:5a:5b:04:b8:b7:15:02:28: -+ b2:e8:8a:8d:0e:32:29:a6:cc:63:00:fb:e4:7a:ec: -+ 27:b0:09:8f:4d:34:95:c5:9e:2e:92:20:8b:ec:88: -+ d3:08:75:c7:c0:61:46:60:79:bb:0f:5f:e4:08:d7: -+ b2:20:08:1a:71:a9:ea:f2:d6:55:40:26:82:9b:2c: -+ 6a:00:66:74:58:ea:e8:6c:77:74:81:10:3b:78:7f: -+ 20:75:9c:ac:7a:63:af:0e:b6:7b:e8:94:13:00:b8: -+ 7d:33:7a:c7:49:1f:b2:84:ce:0d:89:4a:97:ee:61: -+ 0a:1d:8b:a7:8b:45:90:dc:cc:e6:56:dc:aa:28:b2: -+ cb:83:09:e7:7b:9a:7c:3e:da:4f:11:d0:b2:95:0d: -+ 96:c0:b0:41:63:2d:2b:45:2f:6d:46:38:5a:b0:93: -+ e6:07:af:d1:2f:15:ff:84:f3:05:62:a5:28:1a:a4: -+ 40:23:3d:c6:77:60:2c:55:7d:fd:af:da:4a:e8:fb: -+ 16:03:9a:67:4b:76:a6:ec:96:ba:46:86:f2:fb:7c: -+ eb:2c:59:5c:af:e7:79:50:26:05:d4:71:c3:d5:62: -+ d5:2b:17:35:d3:32:4e:b4:df:30:7d:8b:fd:ba:c3: -+ a6:5d -+ Exponent: 65537 (0x10001) -+ X509v3 extensions: -+ X509v3 Subject Key Identifier: -+ D0:25:36:E4:E6:DB:8B:6E:4F:8A:4D:20:48:A4:21:3A:58:7E:EF:C4 -+ X509v3 Authority Key Identifier: -+ keyid:D0:25:36:E4:E6:DB:8B:6E:4F:8A:4D:20:48:A4:21:3A:58:7E:EF:C4 -+ -+ X509v3 Basic Constraints: -+ CA:TRUE -+ Signature Algorithm: sha1WithRSAEncryption -+ 8d:9f:56:93:67:4b:77:e1:4c:f0:3c:6b:9c:8a:a0:a5:3d:5d: -+ a7:21:72:5e:bc:4c:88:16:61:95:3d:e6:34:da:a6:b0:8c:6e: -+ 94:4c:69:ea:c6:8a:fa:2c:3d:bf:f9:8e:b5:d1:69:ac:a1:46: -+ 12:95:bc:fd:67:21:1e:ca:0f:49:77:f8:54:29:aa:06:5b:08: -+ 0b:8e:0b:4f:9d:52:da:03:9e:a1:31:1b:4a:bb:df:cb:d7:ba: -+ b1:20:d7:77:bc:3b:87:e4:ae:46:59:13:88:cd:76:ab:15:68: -+ c5:90:d7:01:fb:7b:16:30:7f:f8:1e:c5:3d:a3:e2:61:d9:35: -+ fe:70:af:9a:47:12:59:26:27:b1:f6:a2:d8:99:80:a1:a4:a3: -+ a3:77:ad:40:90:8c:4e:7e:83:b0:c0:0e:fb:0b:c3:9f:ac:8d: -+ ee:65:fe:7d:85:2b:b3:93:62:56:50:f3:ca:68:68:76:37:9d: -+ e7:85:13:45:c1:c8:9e:c6:ba:eb:ef:24:85:e8:47:31:82:53: -+ 1b:c4:66:b3:c3:e6:89:5f:3e:18:9f:f5:ed:66:19:9e:57:5b: -+ 3d:6a:2f:fb:c2:e3:5a:40:d0:5b:2e:ac:f6:a4:c6:5b:ee:a5: -+ 76:a0:af:a8:c0:c0:e1:2f:78:6c:7b:fa:fe:a8:2d:8b:cf:2b: -+ c8:87:ee:09 - -----BEGIN CERTIFICATE----- --MIIDsjCCApqgAwIBAgIJAL5YrUwfPSWVMA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV --BAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxhMREwDwYD --VQQKEwhNeVNRTCBBQjAeFw0xMDAxMjkwNTU5NTNaFw0xNTAxMjgwNTU5NTNaMEQx --CzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxh --MREwDwYDVQQKEwhNeVNRTCBBQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC --ggEBAL6kNN4peX7uhK9rb06W/QbPEpVuejmdWdl2PqMshP/eSuXXw7kwVgfpxx9R --vC000CKQQSG9MCoZjtqPnFRsetmWLZgApRpEalGXTXJqq9sEbCfoFizg94U8G7d2 --u5XJjLVmcG34ru36KoBgVx1zeH1puBAf8dOzrE4L7Y+ZQBFzFohjh8C2LqWC4nM5 --qsLmOkDWMipGqYU5DvkKjIbTbwTyRNRgZHWSPfVDDPUIUOsY4BGUp2DpgeGY9aEv --lIs57Ev9JqlIUCV65lOhhDkG+xwmkHKHA+ECEU9cALI8+uXbh48MB9XpMOuk408X --/lX89aZwD0/G9kmObVGnE2G+H5UCAwEAAaOBpjCBozAdBgNVHQ4EFgQUsft+d7VA --jWgRftkR5cPG2k2sUbAwdAYDVR0jBG0wa4AUsft+d7VAjWgRftkR5cPG2k2sUbCh --SKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdV --cHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAL5YrUwfPSWVMAwGA1UdEwQFMAMB --Af8wDQYJKoZIhvcNAQEFBQADggEBALRUOAmdL8R8sl1y8kiEiFgDatdXK5RDqWai --8yZChfmwTIToHhmQsOEshJe2e8hky3huUj+33VyXjINoMbebIwMuXPwEkbJal8RZ --nSJmF0jN1Qz7J/jFffwK9xmejWZJx49Kt2+Qwrwp6kDeq9TLFqQOoVczgyJPYsTL --NAOib5WqTud3XWvCwxrhqmWu7JZq6sp1fomP/uunprb8y2miWfLESZN2mKAhm44Q --Lws867LT8v2lskEjq2dT1LutD5+R66XcdjgSr0uDziDs64jZwCD6ea94hVFM7ej0 --ZOXYeSEZJ56FjUxu632e9fY8NyMh30yKjjmQf1mM9PuGJvdvsWU= -+MIIDWzCCAkOgAwIBAgIJAP6TFe468vz4MA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV -+BAYTAlNFMRAwDgYDVQQIDAdVcHBzYWxhMRAwDgYDVQQHDAdVcHBzYWxhMREwDwYD -+VQQKDAhNeVNRTCBBQjAeFw0xNTAxMjkxMzMzMzZaFw0zNTAxMjQxMzMzMzZaMEQx -+CzAJBgNVBAYTAlNFMRAwDgYDVQQIDAdVcHBzYWxhMRAwDgYDVQQHDAdVcHBzYWxh -+MREwDwYDVQQKDAhNeVNRTCBBQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -+ggEBAK15O9HE8/1y6EqeVNtEhsdXqVMuAVpbBLi3FQIosuiKjQ4yKabMYwD75Hrs -+J7AJj000lcWeLpIgi+yI0wh1x8BhRmB5uw9f5AjXsiAIGnGp6vLWVUAmgpssagBm -+dFjq6Gx3dIEQO3h/IHWcrHpjrw62e+iUEwC4fTN6x0kfsoTODYlKl+5hCh2Lp4tF -+kNzM5lbcqiiyy4MJ53uafD7aTxHQspUNlsCwQWMtK0UvbUY4WrCT5gev0S8V/4Tz -+BWKlKBqkQCM9xndgLFV9/a/aSuj7FgOaZ0t2puyWukaG8vt86yxZXK/neVAmBdRx -+w9Vi1SsXNdMyTrTfMH2L/brDpl0CAwEAAaNQME4wHQYDVR0OBBYEFNAlNuTm24tu -+T4pNIEikITpYfu/EMB8GA1UdIwQYMBaAFNAlNuTm24tuT4pNIEikITpYfu/EMAwG -+A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAI2fVpNnS3fhTPA8a5yKoKU9 -+Xachcl68TIgWYZU95jTaprCMbpRMaerGivosPb/5jrXRaayhRhKVvP1nIR7KD0l3 -++FQpqgZbCAuOC0+dUtoDnqExG0q738vXurEg13e8O4fkrkZZE4jNdqsVaMWQ1wH7 -+exYwf/gexT2j4mHZNf5wr5pHElkmJ7H2otiZgKGko6N3rUCQjE5+g7DADvsLw5+s -+je5l/n2FK7OTYlZQ88poaHY3neeFE0XByJ7GuuvvJIXoRzGCUxvEZrPD5olfPhif -+9e1mGZ5XWz1qL/vC41pA0FsurPakxlvupXagr6jAwOEveGx7+v6oLYvPK8iH7gk= - -----END CERTIFICATE----- - -=== modified file 'mysql-test/std_data/client-cert.pem' ---- a/mysql-test/std_data/client-cert.pem 2014-02-19 20:40:34 +0000 -+++ b/mysql-test/std_data/client-cert.pem 2015-01-29 13:34:31 +0000 -@@ -1,69 +1,68 @@ - Certificate: - Data: - Version: 3 (0x2) -- Serial Number: 6 (0x6) -- Signature Algorithm: sha1WithRSAEncryption -+ Serial Number: 3 (0x3) -+ Signature Algorithm: sha1WithRSAEncryption - Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB - Validity -- Not Before: Feb 20 03:03:26 2010 GMT -- Not After : Sep 3 03:03:26 2030 GMT -+ Not Before: Jan 29 13:33:49 2015 GMT -+ Not After : Jan 24 13:33:49 2035 GMT - Subject: C=SE, ST=Uppsala, O=MySQL AB - Subject Public Key Info: - Public Key Algorithm: rsaEncryption -- RSA Public Key: (1024 bit) -- Modulus (1024 bit): -- 00:c2:e7:20:cf:89:59:2f:67:cb:4c:9f:e8:11:f2: -- 23:e5:f1:b1:ee:3f:66:5f:c3:f5:fd:1e:31:ee:8f: -- 4c:2a:bd:c0:4a:a5:9f:c8:44:d5:77:8f:15:1b:4d: -- 78:6e:b2:a2:48:a5:24:33:05:40:02:b3:c1:87:8d: -- 59:3c:1a:07:aa:86:f0:04:e1:9c:20:4b:22:32:c4: -- 51:9e:40:e4:31:c3:57:f5:98:bf:2e:b1:fd:2c:56: -- bf:49:d9:9b:e7:17:cc:95:5f:b5:08:19:5e:9d:df: -- 65:22:39:2c:48:fb:69:96:31:7a:35:4d:de:60:b4: -- c1:60:19:5f:96:56:7e:55:19 -+ Public-Key: (1024 bit) -+ Modulus: -+ 00:c1:f6:6e:41:de:b5:80:fe:10:6d:c5:15:98:53: -+ 85:4a:88:51:06:85:30:7f:c9:92:87:51:3a:d6:8d: -+ d3:9c:0e:91:c2:39:30:e9:b2:6e:53:4a:3a:aa:a3: -+ 8b:ce:c0:93:94:c9:65:db:89:8e:21:2b:af:2a:ff: -+ 7b:5a:0f:b9:03:99:f0:eb:20:d4:2c:39:00:0e:5a: -+ b7:2b:17:e6:78:54:4f:54:23:36:81:b2:db:3e:48: -+ cd:8e:14:36:b4:4f:6e:4d:a1:84:64:29:b7:68:3c: -+ 45:3e:eb:9a:9b:8f:e2:d0:35:a8:0c:e6:70:4e:ac: -+ 78:74:d5:45:aa:67:33:81:0d - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: - CA:FALSE -+ Netscape Comment: -+ OpenSSL Generated Certificate - X509v3 Subject Key Identifier: -- 8D:10:67:91:33:76:9C:02:E5:78:5D:D8:C5:EF:25:96:B2:D7:FA:1F -+ 17:61:EA:3F:25:92:55:2B:04:1C:D8:C7:A9:F6:61:C9:D9:99:A4:C9 - X509v3 Authority Key Identifier: -- keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 -- DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB -- serial:BE:58:AD:4C:1F:3D:25:95 -+ keyid:D0:25:36:E4:E6:DB:8B:6E:4F:8A:4D:20:48:A4:21:3A:58:7E:EF:C4 - - Signature Algorithm: sha1WithRSAEncryption -- a9:88:10:3e:5d:2a:47:29:c8:03:27:7a:31:5a:8e:10:03:bc: -- b5:4e:37:1d:12:7b:eb:5f:50:71:70:b1:a3:8e:93:0e:77:17: -- 6c:47:b6:c9:a4:4d:2a:c4:38:f0:61:55:b2:7f:28:ba:06:79: -- ee:67:11:7d:d4:c9:7f:0a:18:c8:c1:cb:d0:2c:f9:63:0f:bb: -- 45:ca:de:ea:bb:ac:00:01:52:48:36:2b:07:2b:c8:46:c7:b1: -- 21:81:bd:77:39:e7:4c:39:aa:bd:ac:60:d8:a7:bf:cf:14:98: -- 4a:0b:a1:40:55:06:8d:6f:35:a9:39:a0:71:a9:97:ba:7c:73: -- 3c:41:ba:c5:1c:11:4b:2b:43:1d:2d:ba:7b:5f:14:b5:3d:64: -- 62:15:36:b4:16:bd:78:c8:43:8d:f9:1c:a5:d2:ac:a1:58:74: -- e1:99:de:ad:04:19:43:a8:bd:0a:fd:19:9b:50:44:46:6d:18: -- 55:4d:bf:b4:5b:a4:93:62:c7:64:91:6c:54:34:d1:f8:f3:ff: -- 12:6d:5f:85:e7:35:9e:5c:42:81:5e:fb:c8:bb:44:51:98:b2: -- ef:1b:9f:5a:22:77:28:7d:da:fb:08:c2:94:9a:0f:42:08:93: -- 54:10:1e:ad:f2:4f:fc:62:98:51:e9:9b:b9:3a:93:d9:e4:1f: -- 1d:c4:76:d0 -+ 78:ea:34:4f:ac:c5:0b:17:bd:c9:f4:28:bd:b2:b1:cd:a7:58: -+ 74:4f:00:82:82:c8:a5:71:fe:f4:2f:54:d0:e0:ae:b0:57:87: -+ 7d:e6:2e:14:4a:49:21:43:c3:b5:39:e4:7c:0f:fe:8b:c5:5d: -+ 5e:84:bc:42:2a:2a:a1:69:10:30:dc:e8:a6:ba:79:8b:a0:56: -+ 09:ab:a3:ce:db:32:b2:10:7a:9f:b7:7a:46:80:4a:90:59:af: -+ 81:5c:c7:92:20:46:9d:0e:27:20:e5:9a:da:b3:26:96:37:3b: -+ 87:e7:13:93:ba:8d:be:d3:9d:7a:cb:6d:96:75:36:54:e1:cd: -+ 7e:ff:0d:2d:3c:6a:cd:50:b3:a5:73:a8:83:a0:a7:a2:aa:fa: -+ 6e:49:b9:77:fc:03:16:21:bb:c7:8a:4a:79:5f:a9:7e:b9:21: -+ 6d:84:a7:5f:96:60:38:42:f7:d0:82:de:87:74:d4:05:93:b8: -+ 94:ae:d1:eb:0c:26:96:60:d5:d8:6c:cc:17:40:85:2f:ac:f8: -+ 31:f5:f5:76:d0:f1:3f:aa:87:81:b9:a0:93:71:28:6a:b2:f6: -+ 74:36:a1:fa:f8:dc:39:a8:cd:b7:75:79:d0:40:73:6c:d6:b2: -+ dc:9e:58:a5:51:e5:09:f0:3d:c2:2f:3d:16:ab:41:26:ec:3b: -+ 71:04:2d:eb - -----BEGIN CERTIFICATE----- --MIIDETCCAfmgAwIBAgIBBjANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ --MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT --UUwgQUIwHhcNMTAwMjIwMDMwMzI2WhcNMzAwOTAzMDMwMzI2WjAyMQswCQYDVQQG --EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIwgZ8wDQYJ --KoZIhvcNAQEBBQADgY0AMIGJAoGBAMLnIM+JWS9ny0yf6BHyI+Xxse4/Zl/D9f0e --Me6PTCq9wEqln8hE1XePFRtNeG6yokilJDMFQAKzwYeNWTwaB6qG8AThnCBLIjLE --UZ5A5DHDV/WYvy6x/SxWv0nZm+cXzJVftQgZXp3fZSI5LEj7aZYxejVN3mC0wWAZ --X5ZWflUZAgMBAAGjgaMwgaAwCQYDVR0TBAIwADAdBgNVHQ4EFgQUjRBnkTN2nALl --eF3Yxe8llrLX+h8wdAYDVR0jBG0wa4AUsft+d7VAjWgRftkR5cPG2k2sUbChSKRG --MEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBz --YWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAL5YrUwfPSWVMA0GCSqGSIb3DQEBBQUA --A4IBAQCpiBA+XSpHKcgDJ3oxWo4QA7y1TjcdEnvrX1BxcLGjjpMOdxdsR7bJpE0q --xDjwYVWyfyi6BnnuZxF91Ml/ChjIwcvQLPljD7tFyt7qu6wAAVJINisHK8hGx7Eh --gb13OedMOaq9rGDYp7/PFJhKC6FAVQaNbzWpOaBxqZe6fHM8QbrFHBFLK0MdLbp7 --XxS1PWRiFTa0Fr14yEON+Ryl0qyhWHThmd6tBBlDqL0K/RmbUERGbRhVTb+0W6ST --YsdkkWxUNNH48/8SbV+F5zWeXEKBXvvIu0RRmLLvG59aIncofdr7CMKUmg9CCJNU --EB6t8k/8YphR6Zu5OpPZ5B8dxHbQ -+MIIC6DCCAdCgAwIBAgIBAzANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ -+MA4GA1UECAwHVXBwc2FsYTEQMA4GA1UEBwwHVXBwc2FsYTERMA8GA1UECgwITXlT -+UUwgQUIwHhcNMTUwMTI5MTMzMzQ5WhcNMzUwMTI0MTMzMzQ5WjAyMQswCQYDVQQG -+EwJTRTEQMA4GA1UECAwHVXBwc2FsYTERMA8GA1UECgwITXlTUUwgQUIwgZ8wDQYJ -+KoZIhvcNAQEBBQADgY0AMIGJAoGBAMH2bkHetYD+EG3FFZhThUqIUQaFMH/JkodR -+OtaN05wOkcI5MOmyblNKOqqji87Ak5TJZduJjiErryr/e1oPuQOZ8Osg1Cw5AA5a -+tysX5nhUT1QjNoGy2z5IzY4UNrRPbk2hhGQpt2g8RT7rmpuP4tA1qAzmcE6seHTV -+RapnM4ENAgMBAAGjezB5MAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5T -+U0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBQXYeo/JZJVKwQc2Mep -+9mHJ2ZmkyTAfBgNVHSMEGDAWgBTQJTbk5tuLbk+KTSBIpCE6WH7vxDANBgkqhkiG -+9w0BAQUFAAOCAQEAeOo0T6zFCxe9yfQovbKxzadYdE8AgoLIpXH+9C9U0OCusFeH -+feYuFEpJIUPDtTnkfA/+i8VdXoS8QioqoWkQMNzoprp5i6BWCaujztsyshB6n7d6 -+RoBKkFmvgVzHkiBGnQ4nIOWa2rMmljc7h+cTk7qNvtOdesttlnU2VOHNfv8NLTxq -+zVCzpXOog6Cnoqr6bkm5d/wDFiG7x4pKeV+pfrkhbYSnX5ZgOEL30ILeh3TUBZO4 -+lK7R6wwmlmDV2GzMF0CFL6z4MfX1dtDxP6qHgbmgk3EoarL2dDah+vjcOajNt3V5 -+0EBzbNay3J5YpVHlCfA9wi89FqtBJuw7cQQt6w== - -----END CERTIFICATE----- - -=== modified file 'mysql-test/std_data/client-key.pem' ---- a/mysql-test/std_data/client-key.pem 2014-02-19 20:40:34 +0000 -+++ b/mysql-test/std_data/client-key.pem 2015-01-29 13:34:31 +0000 -@@ -1,15 +1,15 @@ - -----BEGIN RSA PRIVATE KEY----- --MIICWwIBAAKBgQDC5yDPiVkvZ8tMn+gR8iPl8bHuP2Zfw/X9HjHuj0wqvcBKpZ/I --RNV3jxUbTXhusqJIpSQzBUACs8GHjVk8GgeqhvAE4ZwgSyIyxFGeQOQxw1f1mL8u --sf0sVr9J2ZvnF8yVX7UIGV6d32UiOSxI+2mWMXo1Td5gtMFgGV+WVn5VGQIDAQAB --AoGARXcXLKDpVooJ3W+IyQyiWsw//IhANpWjUOm4JiyQmxMyO+i4ACr4Yjpu7WI5 --MEseqAGj20NdwxjKO0PXsCIe5LmrGZ+SI8+CSERFOWXWRtCWz7y7SG30i1k6suvM --mwqWom0tJLwn93uA1lm/WSwKQwUrJRahRQd3EaZqrl7DP5kCQQD/8gbuYAT5pxQe --ULLGM0RvEsXxDYbEDxNbY5wrBazfklBwpumxZpFl6jEAT++7Kh2Ns3A7kB1oUNlA --FPYr+dYPAkEAwvHEwRtoyUr8jqoqVVJWI76CDmBjEOzVeMKW97ztqbs2LxZW8dYI --iOh/myFGpdoUwgu0U8w9MmXcj3ZeZCYKVwJALyQ+AJPw9qa+fuLwOq9gsHCtwrty --EhSQxSlwrz/pWniRll439vPkXfgntF4E0t1r+hiN2Hqv3/HcQgBaYzkuIwJAG023 --bACFxaOuCeFFepvEms8E8jSHy4gQQhCnCl24v8wLw76SQN7kZSCDNtwLRBFuVNtE --z3PMonFn2eQPRmGZkwJAP1c1BHprMQx/ruafdscROILv3JrH40C1bR6KVVBKt1dK --Qpnpgi7hK5rUQjDF8k3bn9ugTt06jyeHe/QhAml0kg== -+MIICXQIBAAKBgQDB9m5B3rWA/hBtxRWYU4VKiFEGhTB/yZKHUTrWjdOcDpHCOTDp -+sm5TSjqqo4vOwJOUyWXbiY4hK68q/3taD7kDmfDrINQsOQAOWrcrF+Z4VE9UIzaB -+sts+SM2OFDa0T25NoYRkKbdoPEU+65qbj+LQNagM5nBOrHh01UWqZzOBDQIDAQAB -+AoGANRzgEFWF6i6oHQbs5OtqAoDVfy2VnEh8QWWy8PGhUoiCzWaPyE69+zzGV9e0 -+/wao4wNLSxSdwOOPcfzHsF/Bz4plBP4GOhq1BJ4TU13RMlVpU0G2CCJNmc7Fz/g/ -+iFk7NrhJ+hS22QuC5R/upQaDmKvn3USppXurh7NbayjQRhkCQQDsd2XEdHzOqr1A -+fvd3tzAbmOoiSz05OHaVNJdHwsnWRASgn//YHCxaQCw/mt3hWjvxgRfS3kuDGFcy -+KAwa/tbnAkEA0fwyfqZERZIRH1sSxXclqbmSRfF9PsDvS8DsjjUVkj/Td4KV7DKI -+OWEv9d3VZvioIVaACeoGgmc6jdD6tAGN6wJBAN5Pyj+OfKAX6WEvfRzx/qqTctvW -+/LJFIUdZcDipKvTkca1Jf1D/+7rFxlPuF1f8a4q7oVhAYaHYSnH/MJJYsFUCQQDB -+ukofvGe6Q7NWWWCtG2p89r7zloM1VSywmBHmdSUso4QGe0yz+D7jqT1lOT872+bJ -+sxM3klhlELXdxtK1JcX3AkBqnkbKafhVdIojRvxwY1NXD2HrxZGNbl+r/0usrQc9 -+viRpCxVsqPeseK9sxbL+xDJ6a1ofJrLg8YJLFapOqWTh - -----END RSA PRIVATE KEY----- - -=== modified file 'mysql-test/std_data/server-cert.pem' ---- a/mysql-test/std_data/server-cert.pem 2014-02-19 20:40:34 +0000 -+++ b/mysql-test/std_data/server-cert.pem 2015-01-29 13:34:31 +0000 -@@ -1,69 +1,68 @@ - Certificate: - Data: - Version: 3 (0x2) -- Serial Number: 4 (0x4) -- Signature Algorithm: sha1WithRSAEncryption -+ Serial Number: 1 (0x1) -+ Signature Algorithm: sha1WithRSAEncryption - Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB - Validity -- Not Before: Feb 20 02:55:06 2010 GMT -- Not After : Sep 3 02:55:06 2030 GMT -+ Not Before: Jan 29 13:33:36 2015 GMT -+ Not After : Jan 24 13:33:36 2035 GMT - Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=localhost - Subject Public Key Info: - Public Key Algorithm: rsaEncryption -- RSA Public Key: (1024 bit) -- Modulus (1024 bit): -- 00:e3:7d:4f:c2:23:77:a9:3a:2c:d2:69:59:a0:2f: -- 4e:d1:51:4c:ae:8d:f5:17:cc:ce:58:9c:83:4f:0b: -- a3:bb:29:a2:b8:1d:3e:1b:04:f9:a9:3e:e2:61:d0: -- e6:7b:b9:7c:12:d8:1f:86:c9:53:b5:04:dd:df:26: -- e9:c0:2b:de:4a:96:2e:f3:23:6f:79:6d:a9:d2:4e: -- 17:af:2f:de:8b:68:44:ae:de:a3:e2:c4:37:1c:04: -- ad:73:4b:85:f9:83:ac:fe:b7:c1:54:47:2e:96:d4: -- 31:96:85:94:69:d6:5a:63:24:04:99:89:19:1d:56: -- 8a:d1:77:aa:87:fb:38:cd:b7 -+ Public-Key: (1024 bit) -+ Modulus: -+ 00:9c:3a:93:e6:10:8c:b3:e2:57:2f:57:5d:03:4f: -+ 0a:e6:fd:44:1a:f3:49:42:70:58:3a:d5:a3:96:ef: -+ f2:98:39:09:fa:8c:57:12:d5:8b:1e:a5:b8:35:c0: -+ 81:18:6d:45:c8:43:17:28:47:cc:67:8d:dc:3f:9e: -+ 29:0a:f8:e5:99:ec:01:ca:d1:42:62:91:47:ee:85: -+ 1b:b6:65:95:49:08:99:b8:b9:b6:2a:cf:04:05:e9: -+ 5f:a3:7f:d1:c3:08:a0:37:3f:d6:fe:eb:d4:dd:7c: -+ 0a:37:ad:00:43:d1:5d:cf:21:56:9c:d4:6b:d2:7c: -+ 56:5e:25:fa:e4:2a:ef:14:95 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: - CA:FALSE -+ Netscape Comment: -+ OpenSSL Generated Certificate - X509v3 Subject Key Identifier: -- CC:8C:71:40:D0:0F:BF:D1:99:79:3F:1B:E9:10:76:19:67:36:0F:A3 -+ E2:04:9A:5D:CB:44:EC:98:C9:84:13:36:A4:7A:41:AC:34:3D:CD:0C - X509v3 Authority Key Identifier: -- keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 -- DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB -- serial:BE:58:AD:4C:1F:3D:25:95 -+ keyid:D0:25:36:E4:E6:DB:8B:6E:4F:8A:4D:20:48:A4:21:3A:58:7E:EF:C4 - - Signature Algorithm: sha1WithRSAEncryption -- 6f:ad:5e:59:fa:84:3a:be:e2:72:b1:e8:66:2a:4e:f8:73:19: -- 11:06:11:92:78:56:3e:d6:e8:68:29:90:8b:59:d2:fe:aa:ae: -- 25:59:c7:e9:99:bb:4a:06:43:dd:40:bd:cb:f4:ae:79:95:7d: -- 8e:90:ef:58:d2:a8:fc:bf:07:f3:37:b2:9b:bd:da:e6:8c:56: -- dd:5e:c6:4a:70:7c:3e:3d:a1:e8:35:06:b8:a7:7b:ac:26:85: -- 54:5d:09:a2:7b:77:b4:17:7f:72:31:cb:ff:cc:67:6d:e6:3e: -- c6:dc:96:eb:4a:0a:ae:e9:48:ae:8a:e0:d6:73:57:6e:32:4c: -- 00:dc:28:da:55:b3:9f:9f:d8:98:cc:d9:f1:b6:b3:14:67:2e: -- a1:47:1e:51:11:cf:70:9f:31:8f:ba:59:29:f2:d0:88:0b:e2: -- 51:6b:f8:31:ed:6d:ac:00:5e:d3:78:4c:95:97:02:cc:74:2b: -- 3b:c6:28:e6:2a:c3:30:99:35:b4:4d:31:46:d4:90:f2:47:ed: -- 64:85:1a:75:2a:72:0a:2f:c6:3a:2f:d2:ac:6b:31:cc:e5:a8: -- 07:c2:d6:22:f3:c6:0f:bf:67:d9:d6:b2:79:cd:48:b5:c3:e0: -- e3:18:7f:b5:74:c9:43:19:fb:c4:93:29:ca:cc:90:2b:1b:6f: -- 45:f6:25:f9 -+ 28:f8:8b:22:d4:8e:00:29:cb:0e:b2:82:f1:a6:3b:e2:c6:76: -+ 0a:79:b5:e3:6b:b2:80:c9:af:8b:df:c5:d7:f4:cb:ab:37:3c: -+ b2:be:78:b7:2d:ac:77:f1:52:bd:6c:ae:a4:70:1d:98:92:e5: -+ 07:71:99:6c:70:4e:f2:c5:9d:da:c4:31:29:3e:fb:df:82:90: -+ 5c:76:97:0a:70:c3:dd:0c:cc:be:7d:4c:40:f7:25:9f:6f:d3: -+ 37:c5:9b:1a:09:e1:fe:28:08:59:79:17:ac:64:cb:aa:e0:ac: -+ 17:f3:3e:72:69:91:f2:16:8d:c6:3e:89:33:77:be:74:8f:69: -+ ad:9f:4d:96:e1:51:68:ba:4c:7b:3f:26:7f:14:38:be:e9:07: -+ 5d:2b:c2:fb:58:1d:40:c3:b8:21:a8:ee:0e:69:82:7a:21:67: -+ 36:16:41:08:dc:71:e4:7c:d2:f1:58:3b:c8:7b:56:63:b4:1c: -+ f6:7c:2a:3e:95:2b:03:9f:9c:41:b9:95:1a:bc:ab:b7:39:1b: -+ 8e:68:6e:78:ac:2e:18:00:3c:bf:c6:42:c0:62:5f:ba:ec:9f: -+ 81:da:0e:76:94:a7:88:68:71:22:ef:d1:4a:15:94:5e:cb:5a: -+ 9c:af:59:b3:f7:1a:ad:8f:74:e8:fc:a5:b1:da:f9:4f:fc:d6: -+ f8:11:4c:a9 - -----BEGIN CERTIFICATE----- --MIIDJTCCAg2gAwIBAgIBBDANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ --MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT --UUwgQUIwHhcNMTAwMjIwMDI1NTA2WhcNMzAwOTAzMDI1NTA2WjBGMQswCQYDVQQG --EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxEjAQBgNV --BAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA431PwiN3 --qTos0mlZoC9O0VFMro31F8zOWJyDTwujuymiuB0+GwT5qT7iYdDme7l8EtgfhslT --tQTd3ybpwCveSpYu8yNveW2p0k4Xry/ei2hErt6j4sQ3HAStc0uF+YOs/rfBVEcu --ltQxloWUadZaYyQEmYkZHVaK0Xeqh/s4zbcCAwEAAaOBozCBoDAJBgNVHRMEAjAA --MB0GA1UdDgQWBBTMjHFA0A+/0Zl5PxvpEHYZZzYPozB0BgNVHSMEbTBrgBSx+353 --tUCNaBF+2RHlw8baTaxRsKFIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgTB1Vw --cHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkAvlit --TB89JZUwDQYJKoZIhvcNAQEFBQADggEBAG+tXln6hDq+4nKx6GYqTvhzGREGEZJ4 --Vj7W6GgpkItZ0v6qriVZx+mZu0oGQ91Avcv0rnmVfY6Q71jSqPy/B/M3spu92uaM --Vt1exkpwfD49oeg1Brine6wmhVRdCaJ7d7QXf3Ixy//MZ23mPsbclutKCq7pSK6K --4NZzV24yTADcKNpVs5+f2JjM2fG2sxRnLqFHHlERz3CfMY+6WSny0IgL4lFr+DHt --bawAXtN4TJWXAsx0KzvGKOYqwzCZNbRNMUbUkPJH7WSFGnUqcgovxjov0qxrMczl --qAfC1iLzxg+/Z9nWsnnNSLXD4OMYf7V0yUMZ+8STKcrMkCsbb0X2Jfk= -+MIIC/DCCAeSgAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ -+MA4GA1UECAwHVXBwc2FsYTEQMA4GA1UEBwwHVXBwc2FsYTERMA8GA1UECgwITXlT -+UUwgQUIwHhcNMTUwMTI5MTMzMzM2WhcNMzUwMTI0MTMzMzM2WjBGMQswCQYDVQQG -+EwJTRTEQMA4GA1UECAwHVXBwc2FsYTERMA8GA1UECgwITXlTUUwgQUIxEjAQBgNV -+BAMMCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAnDqT5hCM -+s+JXL1ddA08K5v1EGvNJQnBYOtWjlu/ymDkJ+oxXEtWLHqW4NcCBGG1FyEMXKEfM -+Z43cP54pCvjlmewBytFCYpFH7oUbtmWVSQiZuLm2Ks8EBelfo3/RwwigNz/W/uvU -+3XwKN60AQ9FdzyFWnNRr0nxWXiX65CrvFJUCAwEAAaN7MHkwCQYDVR0TBAIwADAs -+BglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYD -+VR0OBBYEFOIEml3LROyYyYQTNqR6Qaw0Pc0MMB8GA1UdIwQYMBaAFNAlNuTm24tu -+T4pNIEikITpYfu/EMA0GCSqGSIb3DQEBBQUAA4IBAQAo+Isi1I4AKcsOsoLxpjvi -+xnYKebXja7KAya+L38XX9MurNzyyvni3Lax38VK9bK6kcB2YkuUHcZlscE7yxZ3a -+xDEpPvvfgpBcdpcKcMPdDMy+fUxA9yWfb9M3xZsaCeH+KAhZeResZMuq4KwX8z5y -+aZHyFo3GPokzd750j2mtn02W4VFoukx7PyZ/FDi+6QddK8L7WB1Aw7ghqO4OaYJ6 -+IWc2FkEI3HHkfNLxWDvIe1ZjtBz2fCo+lSsDn5xBuZUavKu3ORuOaG54rC4YADy/ -+xkLAYl+67J+B2g52lKeIaHEi79FKFZRey1qcr1mz9xqtj3To/KWx2vlP/Nb4EUyp - -----END CERTIFICATE----- - -=== modified file 'mysql-test/std_data/server-key.pem' ---- a/mysql-test/std_data/server-key.pem 2014-02-19 20:40:34 +0000 -+++ b/mysql-test/std_data/server-key.pem 2015-01-29 13:34:31 +0000 -@@ -1,15 +1,15 @@ - -----BEGIN RSA PRIVATE KEY----- --MIICXgIBAAKBgQDjfU/CI3epOizSaVmgL07RUUyujfUXzM5YnINPC6O7KaK4HT4b --BPmpPuJh0OZ7uXwS2B+GyVO1BN3fJunAK95Kli7zI295banSThevL96LaESu3qPi --xDccBK1zS4X5g6z+t8FURy6W1DGWhZRp1lpjJASZiRkdVorRd6qH+zjNtwIDAQAB --AoGAUb0o91y/FjMs/72S0pes/lDz+JRRSGfyjKxQEgrgndNsADOhqRu0iTdrKDJj --XnlbN3ooecnFJfnFrvTQcJhSmlS30j6VrBw6LXpCBK3dvjYgJ9LOne7WK+dF1+vS --FMQtsP04C56Sxy6HJDpMyWJ6oS3Bu169ygG2AxKo+Fk+E6ECQQD38w/MzmrARz2Z --AGeEPDUnVZPYgtmXkmks95S0/2jSoLhmgpvJimzxwpYwVG/BG8dSDVuTDu5kp05D --3bZIp3EzAkEA6uAwJsCZPtHXlWU3wYZJsA697rUNjPaCQOIaZ/lnh5RUHTmUiw1h --Oj/VORqKB0kXqcDfawwLjZEvh1Xli+H5bQJBANTmhw2TvEPnp/OFTl1UGUvyBmXl --TRMB639qAu07VfVtfYi/4ya1zn/0VmOfTOoigQ5qW9Q1AOu6YNCTQl62L9MCQQDc --YfEsW2kvNYxYJHoVfuBjbuGuOnn1e1Oqd70ZND59S6NFLMMBWlORaVWzWACNZ3rp --kAzSj6HDeqgjD2jsQONdAkEAt7S1YHUn8F760bRn4AnAto2TVOYdArtTP/wYjd4o --9rJREO/d8AYkYJ96APLvF0SZ4n3t1pLwQRsKKN8ZGTmzLA== -+MIICXAIBAAKBgQCcOpPmEIyz4lcvV10DTwrm/UQa80lCcFg61aOW7/KYOQn6jFcS -+1Ysepbg1wIEYbUXIQxcoR8xnjdw/nikK+OWZ7AHK0UJikUfuhRu2ZZVJCJm4ubYq -+zwQF6V+jf9HDCKA3P9b+69TdfAo3rQBD0V3PIVac1GvSfFZeJfrkKu8UlQIDAQAB -+AoGAPWQDZD+SmslRi0fgRAGWfih9z71UR2hQM2ZqL1DA2rJnSm5FdSA21+c1GOI5 -+mHiwGD7M5cY4+2RSbSlgZXBjAFj+V0NReudoRMymTLCB8LsuaOSbPxMn92NffGKH -+BQmZRncj+Sj+dTvTmnbaCzjGMEw6UUFBIus6nOH/dl3+TA0CQQDKuiwhreU2gUOT -+ztmc+DggMWOWMs2Ji2jMJCpMrdxDSwxVas6jgaDesQ/9nL7F8RzPtliv6qaDCMfT -+XoXGKPuvAkEAxUhfb/FkZ6MwDs2MyKCNhZjAoEvFESdGP/xiBzLlbDZSRDEUMNRS -+sJrUYOIDUl3TIOvFJVh7tCQftygM3ciw+wJALcvy7kTPdAmtj3V6GYjFfRhLLAIc -+Bod0zDEbUSkxig4pIh63wZ4mDkinmR5Qxnyaip3h2RPEO/O+2JQQ2lwlxwJBAKPi -+TTXHB6t4SrHhWzRG+4mhrVL73oczYw5AcIaeZyuPrKNtSeKOXurKk+avmibQPlU4 -+xpsReCHbaGVUZevPjgUCQAU5WDLCV2DTXEb42PDuvRn7M7yw853CaN2d7j5Kliun -+7lS42fcyaFttfLpopCvAhZ0fVRpJGgCcAvoA/zN8uco= - -----END RSA PRIVATE KEY----- - -=== modified file 'mysql-test/std_data/server8k-cert.pem' ---- a/mysql-test/std_data/server8k-cert.pem 2014-02-19 20:40:34 +0000 -+++ b/mysql-test/std_data/server8k-cert.pem 2015-01-29 13:34:31 +0000 -@@ -1,69 +1,147 @@ - Certificate: - Data: - Version: 3 (0x2) -- Serial Number: 5 (0x5) -- Signature Algorithm: sha1WithRSAEncryption -+ Serial Number: 2 (0x2) -+ Signature Algorithm: sha1WithRSAEncryption - Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB - Validity -- Not Before: Feb 20 03:00:54 2010 GMT -- Not After : Sep 3 03:00:54 2030 GMT -+ Not Before: Jan 29 13:33:49 2015 GMT -+ Not After : Jan 24 13:33:49 2035 GMT - Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=server - Subject Public Key Info: - Public Key Algorithm: rsaEncryption -- RSA Public Key: (1024 bit) -- Modulus (1024 bit): -- 00:c5:da:44:95:06:77:16:21:af:a0:c4:3c:e9:f8: -- 1d:2d:95:f9:63:90:8c:3f:86:ba:77:76:4a:52:4b: -- 6b:af:29:f5:1c:aa:d4:3f:3e:42:9f:6d:46:ba:86: -- 90:b1:2d:cc:db:c6:33:15:a3:f4:af:53:33:4f:a1: -- 56:d1:aa:3b:26:10:f7:64:b5:f9:bf:1b:b1:47:8e: -- cc:a6:d6:0d:aa:4a:77:e3:a3:63:9d:2a:dc:65:f4: -- 7f:91:17:38:2d:d6:cd:4e:8d:53:52:97:6e:87:fc: -- 64:60:a6:a1:00:ac:96:6c:e4:42:94:75:17:46:6f: -- 91:b5:dd:06:47:ed:05:e3:db -+ Public-Key: (8192 bit) -+ Modulus: -+ 00:bd:48:03:11:06:b5:8b:92:f6:9f:2b:27:e0:3d: -+ 6c:8b:87:cc:7b:cf:e5:7b:e9:5f:eb:8d:4c:95:36: -+ 68:a6:1d:dc:81:10:83:c0:bb:97:c9:ac:4b:d1:c2: -+ a1:64:2a:09:e2:1e:5f:26:14:42:6b:b8:8c:82:ea: -+ 6a:d8:df:9b:dd:46:9a:23:52:66:03:51:25:90:2f: -+ 96:d4:c2:ec:1f:6c:a7:de:3a:eb:49:7c:da:81:ae: -+ 42:48:30:59:82:43:d6:ab:00:a1:22:80:e5:1c:f4: -+ 74:3c:59:42:e4:a2:6b:5d:13:69:1e:74:a3:f9:a2: -+ 71:eb:a6:b6:7b:ba:12:49:a8:4b:47:40:ed:f0:2e: -+ 94:80:23:73:5c:51:7a:2a:5c:96:bc:a1:20:7b:bb: -+ 38:b6:41:11:53:92:c4:1c:95:cf:d4:b2:62:ce:65: -+ bc:dd:4a:34:76:71:8f:e3:3e:fb:4c:0c:8f:dd:51: -+ 69:a3:e0:4c:c5:23:fa:c2:fd:5a:24:5d:cb:b1:fe: -+ f1:21:3f:c4:16:f1:d1:53:09:0c:72:bb:9b:01:b6: -+ c0:13:34:8e:bf:39:30:db:c5:f0:fc:6d:38:92:c3: -+ a8:8c:91:59:cb:b1:ce:4f:2e:7b:2f:6c:65:69:d9: -+ 8c:35:f9:b8:ae:1b:9d:2f:ee:b0:26:23:43:9b:d8: -+ ab:08:90:6a:d0:1d:cb:09:73:64:a4:55:95:f4:6f: -+ 0d:17:c5:ef:53:ea:6f:a0:13:3d:c1:cb:60:d0:1c: -+ aa:02:a3:22:4b:05:0a:26:86:ae:ed:73:0e:b7:6c: -+ b4:3b:ee:f1:34:01:60:9d:82:3d:e3:78:b0:ca:af: -+ ed:8e:f2:56:ac:de:1c:9b:f7:2c:55:cc:58:94:11: -+ 92:55:a9:38:75:61:71:c4:da:95:7a:d4:7f:03:2d: -+ 9d:29:76:e3:f7:c9:69:56:54:a0:b9:db:b9:ea:46: -+ e0:1a:55:a2:0f:cd:80:0f:4d:cf:7a:51:9c:f2:d5: -+ e4:6d:9a:59:95:e1:7e:00:2e:2e:e5:30:14:6c:8e: -+ 21:52:3b:f8:01:7c:9b:c8:ba:77:fd:41:1e:d4:b9: -+ a3:58:e1:4e:6d:a6:45:7e:cf:4f:3b:bb:a3:dd:a6: -+ 99:e8:d6:45:e3:28:d7:5b:b1:25:34:cb:15:3c:31: -+ 16:91:3b:01:76:32:b4:dd:c0:07:e9:d9:d9:87:f6: -+ c9:c2:6a:30:05:47:ba:d9:1b:98:b5:2b:50:9f:71: -+ ee:41:76:d6:0a:f5:30:de:0d:c6:d2:e1:ec:f7:7c: -+ 3e:97:13:5b:fb:2f:cf:82:7a:28:c0:98:e3:20:96: -+ 2c:f0:a7:30:19:ee:3d:66:c6:1e:f9:e8:f1:aa:11: -+ aa:fa:38:7f:89:c6:74:fa:7c:22:8e:37:5c:49:20: -+ 98:ae:cd:bc:21:d5:76:7b:66:f8:cf:07:3f:bc:07: -+ bf:75:ec:96:90:7f:62:10:31:eb:fe:60:c5:bf:78: -+ d5:51:f5:87:70:d5:ce:a9:17:4d:f5:b4:69:7e:08: -+ 98:19:cf:31:dd:f4:cd:b9:17:2d:46:d2:23:08:e4: -+ d1:75:c8:c5:a1:c4:5c:d8:26:bc:d8:bc:10:71:e1: -+ 5d:b7:2a:a3:c8:17:1c:7e:55:3c:d5:92:72:50:99: -+ a7:6c:a0:0d:5a:46:89:1c:71:e8:2c:05:b8:60:3d: -+ 03:74:05:2d:f4:20:4f:11:a7:04:82:ba:32:b8:5f: -+ de:ee:b6:bb:b2:7a:c2:64:ff:cc:5a:08:1c:c4:d8: -+ ac:e4:37:be:d4:1d:f2:7b:4a:db:5a:0d:07:25:88: -+ e2:74:91:ec:30:3a:97:b4:87:68:de:d7:53:6a:b8: -+ cd:54:cd:b0:de:55:95:f6:76:41:3f:3c:37:27:0a: -+ d0:bb:54:42:cf:5a:9f:3f:bc:9f:2b:45:f7:64:1e: -+ d5:f8:98:75:8b:e9:b1:9d:32:00:bf:6a:f1:78:eb: -+ f3:db:0b:12:16:62:4b:b3:b3:a9:c4:e2:48:72:cb: -+ c4:a7:f5:26:23:27:32:63:3d:b7:40:70:d0:14:e6: -+ 93:56:e4:8b:c6:21:40:35:4b:2d:59:e2:21:97:df: -+ cb:14:cb:eb:a5:27:a8:56:83:9c:94:ce:76:a6:2b: -+ 25:5d:51:de:0b:40:86:29:ae:2c:e6:74:a7:7d:b8: -+ d7:13:1a:df:fc:d3:de:f8:38:24:d6:69:5e:69:61: -+ 6f:ad:ea:d7:94:61:22:30:6c:08:4a:3f:71:6f:c9: -+ c0:d1:08:ca:06:ef:e4:12:a2:75:dd:a6:15:a2:56: -+ 14:82:e2:5e:b8:fe:87:09:70:c1:12:7d:84:29:5d: -+ cf:b1:a4:45:7a:c6:a6:d3:91:c9:83:ec:0b:d9:95: -+ 25:5c:a7:fb:c4:75:2f:f7:13:31:1d:b5:48:20:2c: -+ fb:eb:95:02:80:2e:81:bb:32:92:28:da:71:5b:42: -+ 97:c7:66:3d:2c:be:b3:ab:ee:30:68:b0:6b:11:f9: -+ 0d:5a:82:0d:5f:d6:3a:2a:99:f3:2a:e4:b5:47:c0: -+ 34:ce:94:ac:17:68:68:cd:72:52:f5:83:bd:17:f9: -+ 7b:ad:76:0a:98:6e:83:6f:4b:02:b6:af:bd:c2:e7: -+ 60:68:e5:e8:a5:90:1c:30:ce:c6:bc:78:e6:0f:77: -+ 7d:9c:7e:62:49:8c:54:4b:a5:98:be:31:b7:05:21: -+ b1:6a:9c:2a:76:7f:20:f5:f5:1f:2a:40:80:b5:05: -+ 57:12:b9:d0:29 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: - CA:FALSE -+ Netscape Comment: -+ OpenSSL Generated Certificate - X509v3 Subject Key Identifier: -- 6E:60:3F:29:13:60:99:ED:0C:F7:15:B5:DB:7B:1C:FB:6F:60:19:ED -+ DF:F6:30:35:E7:24:29:DF:22:90:5F:EF:7C:1F:14:E9:5B:1C:98:1D - X509v3 Authority Key Identifier: -- keyid:B1:FB:7E:77:B5:40:8D:68:11:7E:D9:11:E5:C3:C6:DA:4D:AC:51:B0 -- DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB -- serial:BE:58:AD:4C:1F:3D:25:95 -+ keyid:D0:25:36:E4:E6:DB:8B:6E:4F:8A:4D:20:48:A4:21:3A:58:7E:EF:C4 - - Signature Algorithm: sha1WithRSAEncryption -- 63:2e:0f:07:14:06:cf:74:90:3d:37:42:f2:48:70:60:21:bc: -- 34:52:31:f1:87:70:d2:b2:fb:ff:13:38:dc:f0:5e:43:d7:ee: -- a7:c7:1f:ac:aa:d2:8c:4f:fa:3c:4c:73:f6:b6:c2:0c:a0:ea: -- a2:c9:e2:73:61:c3:2e:78:40:0f:2a:d3:63:50:9b:b8:f9:89: -- 40:ed:98:08:97:c3:07:24:17:34:b5:78:89:0a:bb:83:4c:e2: -- 5c:2e:13:d6:21:30:ad:30:48:b5:70:12:ff:4a:6f:42:f0:f8: -- 9f:b1:4b:bd:89:2b:f0:9d:e2:49:2b:35:69:18:1f:76:40:b4: -- 76:bd:cb:dd:27:2f:c0:c1:e2:33:3e:6e:df:68:54:19:92:8a: -- bb:13:9c:cf:d6:17:56:da:bf:0d:64:70:3a:45:b7:aa:5f:e3: -- f5:96:ae:34:f2:17:37:27:d0:4b:e8:30:4a:c0:02:42:e2:d2: -- 30:eb:eb:c7:d7:ec:d8:df:5c:43:58:e2:6f:b7:58:54:0d:c4: -- 01:71:2d:59:8f:44:c7:a1:6c:0b:41:28:fa:b7:63:a7:68:d3: -- 4f:c3:0f:17:9e:b2:32:50:e6:0b:87:3d:e2:39:47:c0:d8:0a: -- 3b:f6:af:50:68:0f:9d:ef:6e:34:0d:3a:07:94:f8:a4:d7:24: -- 86:32:d3:b4 -+ 78:18:7b:57:42:67:41:d3:b8:3e:2f:ad:74:e6:c0:de:2e:83: -+ ea:fa:07:5c:06:fe:d6:47:46:85:5a:df:67:17:86:f3:da:52: -+ 83:98:9a:5f:80:a3:a5:60:ab:07:f0:f0:d8:c5:9d:c5:09:53: -+ ad:79:c4:c0:31:35:af:0c:e7:41:8e:b7:aa:ca:36:ee:90:6b: -+ 34:a6:19:1c:3b:1a:90:3a:91:10:47:12:a0:31:49:0c:c2:38: -+ 68:0e:38:57:24:d6:12:c6:4c:bb:b2:b4:d8:ab:9e:80:93:ad: -+ af:84:01:d0:e8:2b:b3:ea:f6:c0:bc:4a:fa:01:b1:ce:fa:ab: -+ eb:f1:08:b3:0d:83:fc:08:57:79:02:74:4c:09:56:14:0a:52: -+ e0:02:74:76:44:66:2b:12:fe:8d:d4:8c:30:90:41:3b:4a:7b: -+ 3f:1c:7c:86:74:97:94:66:43:39:da:7d:20:4a:ba:3a:17:49: -+ ac:c7:fa:72:ee:d8:84:09:e6:f4:84:8d:e3:2a:7b:70:36:93: -+ 88:f8:60:ef:7f:b8:e8:51:61:16:6f:a0:94:b8:7d:ff:3f:ec: -+ 25:fe:42:cf:0e:0d:ab:06:07:88:7a:e2:ba:d5:62:ff:19:19: -+ 37:43:ff:92:53:8c:ea:31:6f:a1:14:89:3b:b4:d1:3c:45:e8: -+ 9c:ef:bb:2d - -----BEGIN CERTIFICATE----- --MIIDIjCCAgqgAwIBAgIBBTANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ --MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT --UUwgQUIwHhcNMTAwMjIwMDMwMDU0WhcNMzAwOTAzMDMwMDU0WjBDMQswCQYDVQQG --EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxDzANBgNV --BAMTBnNlcnZlcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxdpElQZ3FiGv --oMQ86fgdLZX5Y5CMP4a6d3ZKUktrryn1HKrUPz5Cn21GuoaQsS3M28YzFaP0r1Mz --T6FW0ao7JhD3ZLX5vxuxR47MptYNqkp346NjnSrcZfR/kRc4LdbNTo1TUpduh/xk --YKahAKyWbORClHUXRm+Rtd0GR+0F49sCAwEAAaOBozCBoDAJBgNVHRMEAjAAMB0G --A1UdDgQWBBRuYD8pE2CZ7Qz3FbXbexz7b2AZ7TB0BgNVHSMEbTBrgBSx+353tUCN --aBF+2RHlw8baTaxRsKFIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgTB1VwcHNh --bGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkAvlitTB89 --JZUwDQYJKoZIhvcNAQEFBQADggEBAGMuDwcUBs90kD03QvJIcGAhvDRSMfGHcNKy --+/8TONzwXkPX7qfHH6yq0oxP+jxMc/a2wgyg6qLJ4nNhwy54QA8q02NQm7j5iUDt --mAiXwwckFzS1eIkKu4NM4lwuE9YhMK0wSLVwEv9Kb0Lw+J+xS72JK/Cd4kkrNWkY --H3ZAtHa9y90nL8DB4jM+bt9oVBmSirsTnM/WF1bavw1kcDpFt6pf4/WWrjTyFzcn --0EvoMErAAkLi0jDr68fX7NjfXENY4m+3WFQNxAFxLVmPRMehbAtBKPq3Y6do00/D --DxeesjJQ5guHPeI5R8DYCjv2r1BoD53vbjQNOgeU+KTXJIYy07Q= -+MIIGfTCCBWWgAwIBAgIBAjANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ -+MA4GA1UECAwHVXBwc2FsYTEQMA4GA1UEBwwHVXBwc2FsYTERMA8GA1UECgwITXlT -+UUwgQUIwHhcNMTUwMTI5MTMzMzQ5WhcNMzUwMTI0MTMzMzQ5WjBDMQswCQYDVQQG -+EwJTRTEQMA4GA1UECAwHVXBwc2FsYTERMA8GA1UECgwITXlTUUwgQUIxDzANBgNV -+BAMMBnNlcnZlcjCCBCIwDQYJKoZIhvcNAQEBBQADggQPADCCBAoCggQBAL1IAxEG -+tYuS9p8rJ+A9bIuHzHvP5XvpX+uNTJU2aKYd3IEQg8C7l8msS9HCoWQqCeIeXyYU -+Qmu4jILqatjfm91GmiNSZgNRJZAvltTC7B9sp94660l82oGuQkgwWYJD1qsAoSKA -+5Rz0dDxZQuSia10TaR50o/miceumtnu6EkmoS0dA7fAulIAjc1xReipclryhIHu7 -+OLZBEVOSxByVz9SyYs5lvN1KNHZxj+M++0wMj91RaaPgTMUj+sL9WiRdy7H+8SE/ -+xBbx0VMJDHK7mwG2wBM0jr85MNvF8PxtOJLDqIyRWcuxzk8uey9sZWnZjDX5uK4b -+nS/usCYjQ5vYqwiQatAdywlzZKRVlfRvDRfF71Pqb6ATPcHLYNAcqgKjIksFCiaG -+ru1zDrdstDvu8TQBYJ2CPeN4sMqv7Y7yVqzeHJv3LFXMWJQRklWpOHVhccTalXrU -+fwMtnSl24/fJaVZUoLnbuepG4BpVog/NgA9Nz3pRnPLV5G2aWZXhfgAuLuUwFGyO -+IVI7+AF8m8i6d/1BHtS5o1jhTm2mRX7PTzu7o92mmejWReMo11uxJTTLFTwxFpE7 -+AXYytN3AB+nZ2Yf2ycJqMAVHutkbmLUrUJ9x7kF21gr1MN4NxtLh7Pd8PpcTW/sv -+z4J6KMCY4yCWLPCnMBnuPWbGHvno8aoRqvo4f4nGdPp8Io43XEkgmK7NvCHVdntm -++M8HP7wHv3XslpB/YhAx6/5gxb941VH1h3DVzqkXTfW0aX4ImBnPMd30zbkXLUbS -+Iwjk0XXIxaHEXNgmvNi8EHHhXbcqo8gXHH5VPNWSclCZp2ygDVpGiRxx6CwFuGA9 -+A3QFLfQgTxGnBIK6Mrhf3u62u7J6wmT/zFoIHMTYrOQ3vtQd8ntK21oNByWI4nSR -+7DA6l7SHaN7XU2q4zVTNsN5VlfZ2QT88NycK0LtUQs9anz+8nytF92Qe1fiYdYvp -+sZ0yAL9q8Xjr89sLEhZiS7OzqcTiSHLLxKf1JiMnMmM9t0Bw0BTmk1bki8YhQDVL -+LVniIZffyxTL66UnqFaDnJTOdqYrJV1R3gtAhimuLOZ0p3241xMa3/zT3vg4JNZp -+Xmlhb63q15RhIjBsCEo/cW/JwNEIygbv5BKidd2mFaJWFILiXrj+hwlwwRJ9hCld -+z7GkRXrGptORyYPsC9mVJVyn+8R1L/cTMR21SCAs++uVAoAugbsykijacVtCl8dm -+PSy+s6vuMGiwaxH5DVqCDV/WOiqZ8yrktUfANM6UrBdoaM1yUvWDvRf5e612Cphu -+g29LAravvcLnYGjl6KWQHDDOxrx45g93fZx+YkmMVEulmL4xtwUhsWqcKnZ/IPX1 -+HypAgLUFVxK50CkCAwEAAaN7MHkwCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYd -+T3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFN/2MDXnJCnf -+IpBf73wfFOlbHJgdMB8GA1UdIwQYMBaAFNAlNuTm24tuT4pNIEikITpYfu/EMA0G -+CSqGSIb3DQEBBQUAA4IBAQB4GHtXQmdB07g+L6105sDeLoPq+gdcBv7WR0aFWt9n -+F4bz2lKDmJpfgKOlYKsH8PDYxZ3FCVOtecTAMTWvDOdBjreqyjbukGs0phkcOxqQ -+OpEQRxKgMUkMwjhoDjhXJNYSxky7srTYq56Ak62vhAHQ6Cuz6vbAvEr6AbHO+qvr -+8QizDYP8CFd5AnRMCVYUClLgAnR2RGYrEv6N1IwwkEE7Sns/HHyGdJeUZkM52n0g -+Sro6F0msx/py7tiECeb0hI3jKntwNpOI+GDvf7joUWEWb6CUuH3/P+wl/kLPDg2r -+BgeIeuK61WL/GRk3Q/+SU4zqMW+hFIk7tNE8Reic77st - -----END CERTIFICATE----- - -=== modified file 'mysql-test/std_data/server8k-key.pem' ---- a/mysql-test/std_data/server8k-key.pem 2014-02-19 20:40:34 +0000 -+++ b/mysql-test/std_data/server8k-key.pem 2015-01-29 13:34:31 +0000 -@@ -1,15 +1,99 @@ - -----BEGIN RSA PRIVATE KEY----- --MIICXgIBAAKBgQDF2kSVBncWIa+gxDzp+B0tlfljkIw/hrp3dkpSS2uvKfUcqtQ/ --PkKfbUa6hpCxLczbxjMVo/SvUzNPoVbRqjsmEPdktfm/G7FHjsym1g2qSnfjo2Od --Ktxl9H+RFzgt1s1OjVNSl26H/GRgpqEArJZs5EKUdRdGb5G13QZH7QXj2wIDAQAB --AoGBAJLCjh7Q9eLnx+QDzH9s+Q/IcH4nSbERmh1lFEopAc6j29qQ6PGkmDy0DUPs --70VOCOh5A4mo3aZzm9sUfVb24/nRtmyTP/AtMuIVGCsUqzI28dJRGvRlY0aSQG/C --ILqMP69kiMNGBvuyEIiJhisOmMvDFEp7HrrXHJM9qcc217DpAkEA4nzJ9yyy2e4O --r6/D711hdfcU/F+ktXw+pL77kSSdTABUap92Uv2RL36UA4q5h8RNvq/GrzMNm6Ye --u2IMvBCiTQJBAN+iRbiMJCSitTg5YVMluVbT87co7jbTqk7LN1ujyIFEklm4xlHG --DLJNgEoDR7QJtAkL++FyogC4zsQsey5voscCQQCp54trTbDuI9QIoAaQrrDKWgz4 --NpfNPeOQm2UFQT5vIWAyjGWrZGViB8bp0UvVOcJI5nxaOiZfOYOcdrWu75uRAkAn --67zMc9/j1lPJRJz2Dc7nDBD+ikTz7pcBV897AWLCiK4jbBOi91q+3YzgKXO8VNsZ --nlUJasA2psbqSBJ5OJ5zAkEA2UxoMju54hASjT54Z92IzraVw4Vo8CYwOcw5fr7z --+m5xg1mmWdLBclmZ+WjARzDuTHIW6u/WCxNGg42AykWzfw== -+MIISJwIBAAKCBAEAvUgDEQa1i5L2nysn4D1si4fMe8/le+lf641MlTZoph3cgRCD -+wLuXyaxL0cKhZCoJ4h5fJhRCa7iMgupq2N+b3UaaI1JmA1ElkC+W1MLsH2yn3jrr -+SXzaga5CSDBZgkPWqwChIoDlHPR0PFlC5KJrXRNpHnSj+aJx66a2e7oSSahLR0Dt -+8C6UgCNzXFF6KlyWvKEge7s4tkERU5LEHJXP1LJizmW83Uo0dnGP4z77TAyP3VFp -+o+BMxSP6wv1aJF3Lsf7xIT/EFvHRUwkMcrubAbbAEzSOvzkw28Xw/G04ksOojJFZ -+y7HOTy57L2xladmMNfm4rhudL+6wJiNDm9irCJBq0B3LCXNkpFWV9G8NF8XvU+pv -+oBM9wctg0ByqAqMiSwUKJoau7XMOt2y0O+7xNAFgnYI943iwyq/tjvJWrN4cm/cs -+VcxYlBGSVak4dWFxxNqVetR/Ay2dKXbj98lpVlSgudu56kbgGlWiD82AD03PelGc -+8tXkbZpZleF+AC4u5TAUbI4hUjv4AXybyLp3/UEe1LmjWOFObaZFfs9PO7uj3aaZ -+6NZF4yjXW7ElNMsVPDEWkTsBdjK03cAH6dnZh/bJwmowBUe62RuYtStQn3HuQXbW -+CvUw3g3G0uHs93w+lxNb+y/PgnoowJjjIJYs8KcwGe49ZsYe+ejxqhGq+jh/icZ0 -++nwijjdcSSCYrs28IdV2e2b4zwc/vAe/deyWkH9iEDHr/mDFv3jVUfWHcNXOqRdN -+9bRpfgiYGc8x3fTNuRctRtIjCOTRdcjFocRc2Ca82LwQceFdtyqjyBccflU81ZJy -+UJmnbKANWkaJHHHoLAW4YD0DdAUt9CBPEacEgroyuF/e7ra7snrCZP/MWggcxNis -+5De+1B3ye0rbWg0HJYjidJHsMDqXtIdo3tdTarjNVM2w3lWV9nZBPzw3JwrQu1RC -+z1qfP7yfK0X3ZB7V+Jh1i+mxnTIAv2rxeOvz2wsSFmJLs7OpxOJIcsvEp/UmIycy -+Yz23QHDQFOaTVuSLxiFANUstWeIhl9/LFMvrpSeoVoOclM52pislXVHeC0CGKa4s -+5nSnfbjXExrf/NPe+Dgk1mleaWFvrerXlGEiMGwISj9xb8nA0QjKBu/kEqJ13aYV -+olYUguJeuP6HCXDBEn2EKV3PsaRFesam05HJg+wL2ZUlXKf7xHUv9xMxHbVIICz7 -+65UCgC6BuzKSKNpxW0KXx2Y9LL6zq+4waLBrEfkNWoINX9Y6KpnzKuS1R8A0zpSs -+F2hozXJS9YO9F/l7rXYKmG6Db0sCtq+9wudgaOXopZAcMM7GvHjmD3d9nH5iSYxU -+S6WYvjG3BSGxapwqdn8g9fUfKkCAtQVXErnQKQIDAQABAoIEAErwZt5n1JrE/cV4 -+1ZnPV9lKU6g1YDsV47cjw01UNEyIiBPFURSOcQMUpxQORc2dYzpWIf+2h7GUaHUw -+kEr7BP+vgzk211K63u9eGA52efvbDf9LPnpi5zPupSllkxqi9yvO3P0HIS68jgSS -+poxUzcMU+0pmjcE5EndlEtybh8AH1H4Kc+ni10KARp0nWQHKlJdsB6tVLZfi3RRE -+iEZ0/crNMZdb6lGGnozCW2ByQBYU5ySNphCOrnZiz1ZB7l11kT8Qm7E5SM54wRJq -+A7atFiqwiw1PgrCs2O46STX3nC1nL6UvquidpfvtgDH/bYth6UQ5cWflYO9oRe9j -+iNH8D4MdglyRXyCHwjHZ/LvA9+MQp7eGmtk6pPnEJrlej+TpZ5tiDGnCayFxq0Lt -+09HiwTaA0RqrRQt5bi1hR+GPisd4TMVnL/NsKym8Zz5o+ARpJxz0Gbh+xyaf+ZhA -+DPO+l2jpqpTLLKlXlER44Of2yZvFh75673OpQX4vXQadN0ClCEYPKhbskr63JXKZ -+PihTw0vOa4F3WffHhECfUuZo94rDuJX57vejVhogwlr4IK3tNaQWH0Qyo1qDqt4c -+uEVazegpyimh1w9QHeb1KRmZY5stBVJ/1TCTcNyJgc1eS26Uj0dLD+C8RiD3cokG -+Pu5Y5sQEvWOW0lKNYBg7pOpbgmD8LHIvQQeM/Jut5B3hT8kmBbvbjts5tsrgSlM3 -+0LB1tUHRqGlFYOC3l4/vQPt+OnNeajh0iF8MiCMyWLWssZbKJYR5T2zWQZFd0cNw -+I1Dssspmx98dF//tA9cgv9joVeWM2mDZIFsYuo3BnMAzFMlXgMogE4vhGbxuAq9T -+iqar7zueu0sEkbgzJUFLzQEkh6cXM5jixtG0ryxzogk6sSkFqEnowYxBMzGh44yy -+ownBTwULKfs1UCRrW7O5DnoUNQ5kK1v8Nm+mEanadKe5qiqrBu6q7lYwPeSG2t/6 -+LSlQ5KRVPxWrf30zzwqzLJy08/P42wPM1zZFOyqFtdamV1k2nhvSefiq/b+aIXK4 -+fN0gtBcO6fStqNvRBeMHO0DjHz49/HZGjqa1ZWjCA8oGuTMXfrmlgrf+RBlWJgLA -+ST3RAFQ7Nyw2D5ABuSk/2m1yGcuyEgwsqOqr8qDY11nNgmiAxuVF9Atf3zmoB6Mp -++4GE3EQuATyBhcZ/ZJiMn02roQ/lkrDOkdE1DrRnF7Jjw6y9XpBbhH6dwlWIMmmZ -+EZAhhKo9vtP9SKAGy43IE8JMHFnMVpr1nEMT54WsyU3cNKORUKL6diOl2trGjsSr -+T4tE1jWqry/sfLg8OxqWxGoca6UUjngLfBcnUSbcaDhlGPqCl+kahmummozNcziS -+mogK5N0CggIBAPA1BMon7N+1Q/1saE/SsPsgbUcWzjb5M2mwHURUamQRQ2OnltSr -+/qjKoe++TzF19QnAGCJMsKhTUIdWW988xEUUnwSlPGZ6h+vx779Nc9870r1B8WgA -+ejwx7oH14EVNg6WECXZEYvVSvQn1LsXEWfpujlxeDYoaOMHZSq7MFzyrzJxKgUIB -+e35mCPzXPvh3XUz6MR9RtfRZk/XaSIV1LRR56H4xDTXOp8nejmvTALLbX9RaSV1K -+64KbEPdWe4FZ7WK+qLBglO/JR0OE5f7y86MqUztjNfnUKubABfo9lBS574u26rbW -+Y+kFHux9WjkVPIkQsO5kGjs+dWWkyeUKoNEyE5otxJ7p8nXaUU9ZSd7c1VvK8Cof -++uIsFpwCpyAJdo+zfgCNf0WzFwAM5UIB8PsbmMQnbTdDr+VYhxaEh9e0oLCApjCz -++RUm5I6ElXKpzejkMn5FGlknQ3aEghmOfTo1WmZ2B31ZnJrRLuYRKRZXqieIvHm8 -+NGiyJx4oi6jQzf4QxKjbH0brW2lSkxArE8sgKrJImSLI7TxPVlQ8JmuLR4MU2xHp -+48PC0AxnBB/0l+2EWG37yPmPVCNQ5oEKjzqp8fgnCzuLKe2wG2QE2IkLUEJUtZjD -+fHkCArilVmZDvAUDpYDu9AbgDhsRlyV6fKAo+S05EiuwjbKExhn4Iry3AoICAQDJ -+udlnRSVxoHEPFfg2IQzAg2v3e6OAWNc/c+Unc88eEZJXUHIGt0fqWN2OrVvx3HEg -+ZrwhiByThLHPqmfqLjr/s9KuxYBSoC/5YhYb9KGYHEcwdSrxFo3bvCULmIjDGqbU -+1m3AbHVPe6Zj0dw13hgf7HDcW/ZK/mtvjgBMQiRjI5RWlkh9kGkxKKOiAZFsGx0T -+dB+ocXhC5SVbISARkCesMKmuYQfo285JNSudaJ4JWJkLOj1+Ovfczj3KxWo4nLV2 -+HYJlWugL6RBVETu2iDlrcO1RlxcH6942N4DbN3SVNYMWQ2vjbro8tC2RBU2L60/u -+v5tDlMag8IotVSVQWInda/Dwk9WKpxHyHjUHreqj22wrECmizmTD2CTfTtLgfGoa -+4qXZUfuMGLgxBiAdxQyRJsjzVKtY6CAlzBuF9kNfIaGJGtDAumG2f3/YC17rfyYq -+vlNtJKbRPkif5g97de1x/H5gNzXlKx2+lJ7wWW2lH3fRF14tji/1xjHGSZeO0Rrs -+bPJvqLAQHu9AsBmA5qsyydFkwks21NxUXjnr98iIVYusNvNPvsQQzAOLcHWTxtel -+uhjPh6Wa2w68WW2f+u0Wp6t8ksFt/QmYVWZ67UOpGQFU36k+qXJvSQpRwNNlkkcP -+aZQbA7SstkspiMFmPitqQptbUnBr5iYA8z7h6di6HwKCAgATPgwOLbiaCylRKdgJ -+XPV0iJp4cWk/miL2Ond9u81yCrf9SbWZf9W8q87hJ7usWKiyiULlrIMSWOpAjTh6 -+36FRb191vc7i3rn4ur7b8lZv8ZjmNFwkWrVwEQfsPUgkBRugrL0dTkknIeOm4o9G -+pH4Yw7Z/y8EF6SfWz5NeAVdzMsgHVSiZowjDjWT27D9NJDLDMd+xhJgw5OQnc78P -+gd2EoGdxhHhscQub7ko2dQa/TTeWCU2LPa80HTv0tGbca9nKaT+WMYZ81wDwdbr+ -++3NtBLz6Ku5t/wMYzRUtgLVWG7cG2DZhQzdpuVFK3JfXrs3UpROnZTl8uXoqFFNg -+F8PePka3uSbhHBiiPET7OEnkoogs/ErU9Q7iA2okQUomFNv8kwJrBOrHKJuVE3Ni -+IEmvs/w+6nGjVbbHhpn7wc4oB34/5W5qxGAVw7HXgON/9f5aw70PxHVh4vVSjzbk -+2TdK7G87egULk5wqAsvg/kruUUN+O0Pt9Je2M19S2Sim82MtESbP6A3PXpdKDqVd -+TDYftYn2Ej7CPJpUlH5z7QWe499srsUF4Fiwm/CSrcX00WFCU7HJzbvB0iuJULfG -+apQivO53VJlfwbwwIEVxc7ns8I0TYznQ7QgRoYmaRRRwyMhNFoexlnLSAizfGj+j -+bvaA1gdwCfxcp54SSPSdq/UMbQKCAgBTyZrwVvsfgAmVv4VSTlXynGO67qLRy5TU -+KTo0MdkEXz4OgD5sZbI8N18HRSBcjDh8wc9Aij18VHBaligFT+B3luRabXRIXXqv -+tbsDL4/zE0PKb9A/RSP08efdMiUUDLzgyJPbifEL64sICQHTagVRNS8HiDb7nUNY -+mX2sLwjYGM4jTNadON9IaN3Wi5owce6YxvHjUAYomu7yNAcS5HJmBexknq7fXHUJ -+WUldXzfNH/ypei5SgQG0uAFYeLkO/KAuiEFCAglB8TM0ci0AOwLGiqg37G7HfoPU -+tycRZq5Iz2o8VBK666H1Vs1aX/5+sGWKABHodyItdNufyq7t+WiCDLSN6ImYxp4g -+l8VlBCrilmAOXu88TUfzRJLEIgRa87JKqntCkdfOr/HJgwbR9qeqnpZ242MsUXYQ -+3P9NnCUNnXVv8jBk7MVrPPgH72kknbJnrJgQTFnxrVITAEbL/AZ9Augm5KfBITCA -+mVCO+kYdgL2Onosilt160zCXcLe/vUDWlMX59PH0MDUmBD8DmEvhk4wissT06GL/ -+tAeQ6GFlp0qVZFmZdN4RL/wE7dgYYk3t6yclA+2YLYaoWui6u0nA0DHdU0N+gMx8 -+dnRTeLtSwC0aaK/udAkxCgB8RoBHvwM+9pZqxhZEao87mC7kXcxAnZvTyaEiX/zH -+BkHHKg839wKCAgAAvo9BfWg3gf0rRnbXsGbYGeiodCMGiskI/QmboM1uJ27oMrcn -+pHeIuNP7Ag9L88DYewznq6IqHk2PHLU4Gzt+AAiiiEE5SFIJP1J5NR28u//MQC9v -+K+cPDjGjPXJHhE084VFqz3nV+R/M8MdwD/Wm2JWevDnMKBpZxLJuQNzv1UBLVSMb -+kdkYWvS8Be8p4sv2zcrgygawCHJRVlwrm6EZcpSDr0ohNd2KuAHQpi1DGBDDWEBv -+0WylbTmqiNf8LCE+1a5n6CvrdUmEe43FKpLPnvN+lqyCmSxR7pUrjoIzlVCGkAQ8 -+y1nAmhStjC/TM4S3M7ip6036AAFqHe9y8Rwt2D8YaTQXxr6seyMmWLYPWMZeF/mm -+fYV2pNmjwLCN5TOnjn2EJABzsxA9Ex814BDcZhb6vam29K1mkEo32khrqP22YXB7 -+XT7BNE8vczQ1lnUclfZIeuOgdFLwmrT7R95BX2xfR6yGZUpqqZOePoLvBKIC28Hf -+sp88Jm8QTZfjQiLAu8kuu2+bPkooIdyXZqYO8qrRCza2QjJwM1xuyxABqoz4a6OW -+YfT+WHRUQLJTkSvD95B2B4fKWnK+C8QeTP42SZbDNwzrbUyQgqlNbH2MFEIYE/b4 -+ipfcemR7T7zP7DEL8VkqGR33q/qFOtHvijb6H3W0IO06MmDOaenbMpkmyA== - -----END RSA PRIVATE KEY----- - -_________________________________ diff --git a/mariadb.spec b/mariadb.spec index f218db3..1c4c1dc 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -105,11 +105,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.0 -%global bugfixver 16 +%global bugfixver 17 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 4%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -150,7 +150,6 @@ Patch6: %{pkgnamepatch}-dh1024.patch Patch7: %{pkgnamepatch}-scripts.patch Patch8: %{pkgnamepatch}-install-db-sharedir.patch Patch9: %{pkgnamepatch}-ownsetup.patch -Patch10: %{pkgnamepatch}-expired-certs.patch # Patches specific for this mysql package Patch30: %{pkgnamepatch}-errno.patch @@ -490,7 +489,6 @@ MariaDB is a community developed branch of MySQL. %patch7 -p1 %patch8 -p1 %patch9 -p1 -%patch10 -p1 %patch30 -p1 %patch31 -p1 %patch32 -p1 @@ -1129,6 +1127,9 @@ fi %endif %changelog +* Wed Mar 04 2015 Honza Horak - 1:10.0.17-1 +- Rebase to version 10.0.17 + * Tue Mar 03 2015 Honza Horak - 1:10.0.16-6 - Check permissions when starting service on RHEL-6 Resolves: #1194699 diff --git a/sources b/sources index 18a850f..85d30fe 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7b1a197ea5d4027833a3a2ed26fc4cae mariadb-10.0.16.tar.gz +3101d1e79c1b04699cde10780f959625 mariadb-10.0.17.tar.gz From 5fdb6bd2c79a665619fbe068853d4fd4914f6e03 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 4 Mar 2015 22:07:10 +0100 Subject: [PATCH 213/789] Added variable for turn off skipping some tests --- mariadb.spec | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index 1c4c1dc..7c3b019 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,6 +7,9 @@ # --nocheck is not possible (e.g. in koji build) %{!?runselftest:%global runselftest 1} +# Set this to 1 to see which tests fail +%global check_testsuite 0 + # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}} @@ -823,7 +826,9 @@ export MTR_BUILD_THREAD=%{__isa_bits} ( cd mysql-test perl ./mysql-test-run.pl --force --retry=0 --ssl \ +%if ! %{check_testsuite} --skip-test-list=rh-skipped-tests.list \ +%endif --suite-timeout=720 --testcase-timeout=30 \ --mysqld=--binlog-format=mixed --force-restart \ --shutdown-timeout=60 --max-test-fail=0 @@ -1129,6 +1134,7 @@ fi %changelog * Wed Mar 04 2015 Honza Horak - 1:10.0.17-1 - Rebase to version 10.0.17 +- Added variable for turn off skipping some tests * Tue Mar 03 2015 Honza Horak - 1:10.0.16-6 - Check permissions when starting service on RHEL-6 From eb4231cae1bfab0ac72e6a21d26399467a76f500 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 18 Feb 2015 16:50:54 +0100 Subject: [PATCH 214/789] Wait for daemon ends Resolves: #1072958 Conflicts: mariadb-scl-env-check.patch mariadb.spec --- mariadb-scripts.patch | 3 ++- mariadb.spec | 11 +++++++++-- mysql-wait-stop.sh | 36 ++++++++++++++++++++++++++++++++++++ mysql.service.in | 1 + 4 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 mysql-wait-stop.sh diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index e55e794..e062c50 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -1,7 +1,7 @@ diff -up mariadb-10.0.16/scripts/CMakeLists.txt.systemd mariadb-10.0.16/scripts/CMakeLists.txt --- mariadb-10.0.16/scripts/CMakeLists.txt.systemd 2015-01-25 16:21:37.000000000 +0100 +++ mariadb-10.0.16/scripts/CMakeLists.txt 2015-02-03 10:53:05.261790495 +0100 -@@ -367,6 +367,32 @@ ELSE() +@@ -367,6 +367,33 @@ ELSE() COMPONENT ${${file}_COMPONENT} ) ENDFOREACH() @@ -12,6 +12,7 @@ diff -up mariadb-10.0.16/scripts/CMakeLists.txt.systemd mariadb-10.0.16/scripts/ + mysql.service + mysql-prepare-db-dir + mysql-wait-ready ++ mysql-wait-stop + mysql-check-socket + mysql-check-upgrade + mysql-scripts-common diff --git a/mariadb.spec b/mariadb.spec index 7c3b019..75ecca9 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -112,7 +112,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -137,6 +137,7 @@ Source13: mysql-wait-ready.sh Source14: mysql-check-socket.sh Source15: mysql-scripts-common.sh Source16: mysql-check-upgrade.sh +Source17: mysql-wait-stop.sh Source19: mysql.init.in Source50: rh-skipped-tests-base.list Source51: rh-skipped-tests-arm.list @@ -521,7 +522,7 @@ cat %{SOURCE52} | tee -a mysql-test/rh-skipped-tests.list %endif cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ - %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE19} \ + %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE19} \ scripts %build @@ -686,6 +687,7 @@ install -D -p -m 755 scripts/mysql.init %{buildroot}%{daemondir}/%{daemon_name} # helper scripts for service starting install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready +install -p -m 755 scripts/mysql-wait-stop %{buildroot}%{_libexecdir}/mysql-wait-stop install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common @@ -1072,6 +1074,7 @@ fi %{daemondir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir %{_libexecdir}/mysql-wait-ready +%{_libexecdir}/mysql-wait-stop %{_libexecdir}/mysql-check-socket %{_libexecdir}/mysql-check-upgrade %{_libexecdir}/mysql-scripts-common @@ -1132,6 +1135,10 @@ fi %endif %changelog +* Fri Mar 06 2015 Honza Horak - 1:10.0.17-2 +- Wait for daemon ends + Resolves: #1072958 + * Wed Mar 04 2015 Honza Horak - 1:10.0.17-1 - Rebase to version 10.0.17 - Added variable for turn off skipping some tests diff --git a/mysql-wait-stop.sh b/mysql-wait-stop.sh new file mode 100644 index 0000000..62bde30 --- /dev/null +++ b/mysql-wait-stop.sh @@ -0,0 +1,36 @@ +#!/bin/sh + +source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" + +# This script waits for mysqld to be properly stopped +# (which can be many seconds in some large load). +# Running this as ExecStopPost is useful so that starting which is done +# as part of restart doesn't see the former process still running. + +# Wait for the server to properly end the main server +ret=0 +TIMEOUT=60 +SECONDS=0 + +if ! [ -f "$pidfile" ]; then + exit 0 +fi + +MYSQLPID=`cat "$pidfile" 2>/dev/null` +if [ -z "$MYSQLPID" ] ; then + exit 2 +fi + +while /bin/true; do + # Check process still exists + if ! [ -d "/proc/${MYSQLPID}" ] ; then + break + fi + if [ $SECONDS -gt $TIMEOUT ] ; then + ret=3 + break + fi + sleep 1 +done + +exit $ret diff --git a/mysql.service.in b/mysql.service.in index a33df16..3f8ce06 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -39,6 +39,7 @@ ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n ExecStart=@bindir@/mysqld_safe --basedir=@prefix@ ExecStartPost=@libexecdir@/mysql-wait-ready $MAINPID ExecStartPost=@libexecdir@/mysql-check-upgrade +ExecStopPost=@libexecdir@/mysql-wait-stop # Give a reasonable amount of time for the server to start up/shut down TimeoutSec=300 From 4568299fc7799b7e85b9db57b7755955e9c25b9e Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 27 Jan 2015 17:27:50 +0100 Subject: [PATCH 215/789] Do not include symlink to libmysqlclient if not shipping the library Conflicts: mariadb.spec --- mariadb.spec | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index 75ecca9..1d5e4b2 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -749,6 +749,8 @@ rm -f %{buildroot}%{_sysconfdir}/logrotate.d/mysql rm -rf %{buildroot}%{_datadir}/%{pkg_name}/solaris/ %if %{without clibrary} +unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so +unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so rm -rf %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* rm -rf %{buildroot}%{_sysconfdir}/ld.so.conf.d rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf @@ -1104,8 +1106,10 @@ fi %{_bindir}/mysql_config-%{__isa_bits} %{_includedir}/mysql %{_datadir}/aclocal/mysql.m4 +%if %{with clibrary} %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so +%endif %{_mandir}/man1/mysql_config.1* %endif @@ -1138,6 +1142,7 @@ fi * Fri Mar 06 2015 Honza Horak - 1:10.0.17-2 - Wait for daemon ends Resolves: #1072958 +- Do not include symlink to libmysqlclient if not shipping the library * Wed Mar 04 2015 Honza Horak - 1:10.0.17-1 - Rebase to version 10.0.17 From fa8f2eb58c5040bd6d16b9a58afc1dc6d542c861 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 3 Mar 2015 21:28:20 +0100 Subject: [PATCH 216/789] Do not use scl prefix more than once in paths Based on https://www.redhat.com/archives/sclorg/2015-February/msg00038.html Conflicts: mariadb.spec my.cnf.in --- mariadb-ownsetup.patch | 2 +- mariadb.spec | 14 +++++++++++--- mysql.init.in | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/mariadb-ownsetup.patch b/mariadb-ownsetup.patch index 9741221..ea10cdf 100644 --- a/mariadb-ownsetup.patch +++ b/mariadb-ownsetup.patch @@ -13,7 +13,7 @@ diff -up mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup mariadb-10.0.15/s +datadir=@MYSQL_DATADIR@ +socket=@MYSQL_UNIX_ADDR@ +log-error=@LOG_LOCATION@ -+pid-file=@PID_FILE_DIR@/@DAEMON_NAME@.pid ++pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid + # this is only for embedded server diff --git a/mariadb.spec b/mariadb.spec index 1d5e4b2..d177917 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -69,12 +69,14 @@ %bcond_with init_sysv %global daemon_name %{name} %global daemondir %{_unitdir} +%global daemon_no_prefix %{pkg_name} %global mysqld_pid_dir mysqld %else %bcond_with init_systemd %bcond_without init_sysv %global daemon_name mysqld %global daemondir %{_sysconfdir}/rc.d/init.d +%global daemon_no_prefix mysqld %endif # MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use @@ -91,6 +93,9 @@ %global logfiledir %{_localstatedir}/log/%{daemon_name} %global logfile %{logfiledir}/%{daemon_name}.log +# Directory for storing pid file +%global pidfiledir %{_localstatedir}/run/%{daemon_name} + # Defining where database data live %global dbdatadir %{_localstatedir}/lib/mysql @@ -568,8 +573,9 @@ export LDFLAGS -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ -DDAEMON_NAME="%{daemon_name}" \ + -DDAEMON_NO_PREFIX="%{daemon_no_prefix}" \ -DLOG_LOCATION="%{logfile}" \ - -DPID_FILE_DIR="%{_localstatedir}/run/%{daemon_name}" \ + -DPID_FILE_DIR="%{pidfiledir}" \ -DNICE_PROJECT_NAME="MariaDB" \ -DRPM="%{?rhel:rhel%{rhel}}%{!?rhel:fedora%{fedora}}" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ @@ -657,7 +663,7 @@ touch %{buildroot}%{logfile} # current setting in my.cnf is to use /var/run/mariadb for creating pid file, # however since my.cnf is not updated by RPM if changed, we need to create mysqld # as well because users can have odd settings in their /etc/my.cnf -mkdir -p %{buildroot}%{_localstatedir}/run/%{daemon_name} +mkdir -p %{buildroot}%{pidfiledir} install -p -m 0755 -d %{buildroot}%{dbdatadir} %if %{with config} @@ -1082,7 +1088,7 @@ fi %{_libexecdir}/mysql-scripts-common %{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} -%attr(0755,mysql,mysql) %dir %{_localstatedir}/run/%{daemon_name} +%attr(0755,mysql,mysql) %dir %{pidfiledir} %attr(0755,mysql,mysql) %dir %{dbdatadir} %attr(0750,mysql,mysql) %dir %{logfiledir} %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} @@ -1143,6 +1149,8 @@ fi - Wait for daemon ends Resolves: #1072958 - Do not include symlink to libmysqlclient if not shipping the library +- Do not use scl prefix more than once in paths + Based on https://www.redhat.com/archives/sclorg/2015-February/msg00038.html * Wed Mar 04 2015 Honza Horak - 1:10.0.17-1 - Rebase to version 10.0.17 diff --git a/mysql.init.in b/mysql.init.in index e5a1659..24a110c 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -36,7 +36,7 @@ MYGROUP=mysql # Edit the following file in order to re-write some of the environment # variables defined above, like $STARTTIMEOUT, $STOPTIMEOUT, $exec -[ -e @sysconfdir@/sysconfig/$prog ] && . @sysconfdir@/sysconfig/$prog +[ -e @sysconfdir@/sysconfig/@DAEMON_NO_PREFIX@ ] && . @sysconfdir@/sysconfig/@DAEMON_NO_PREFIX@ lockfile=/var/lock/subsys/$prog From c9d7d6f31d5f8ad7979201b65c03cb7fec4fd157 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 6 Mar 2015 21:50:59 +0100 Subject: [PATCH 217/789] Require -libs only when it is build --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index d177917..9651406 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -373,7 +373,7 @@ or products (such as Excel), or data retrieved from the environment %package devel Summary: Files for development of MariaDB/MySQL applications Group: Applications/Databases -Requires: %{name}-libs%{?_isa} = %{sameevr} +%{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} Requires: openssl-devel%{?_isa} %if %{with mysql_names} Provides: mysql-devel = %{sameevr} From b0dd56bbb5c571d38e825b1f23769572ebd02b31 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Sat, 2 May 2015 15:54:15 +0200 Subject: [PATCH 218/789] Rebuilt for GCC 5 C++11 ABI change --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 9651406..838e77f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -117,7 +117,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1145,6 +1145,9 @@ fi %endif %changelog +* Sat May 02 2015 Kalev Lember - 1:10.0.17-3 +- Rebuilt for GCC 5 C++11 ABI change + * Fri Mar 06 2015 Honza Horak - 1:10.0.17-2 - Wait for daemon ends Resolves: #1072958 From 41d13c39ac881f87c4771c45d5a45f6de7d408ed Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 13 Mar 2015 16:03:16 +0100 Subject: [PATCH 219/789] Include client plugins into -common package since they are used by both -libs and base packages. Conflicts: mariadb.spec --- mariadb.spec | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 838e77f..b330932 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -117,7 +117,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -936,8 +936,6 @@ fi %if %{with clibrary} %files libs %{_libdir}/mysql/libmysqlclient.so.* -%{_libdir}/mysql/plugin/dialog.so -%{_libdir}/mysql/plugin/mysql_clear_password.so %{_sysconfdir}/ld.so.conf.d/* %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf %endif @@ -957,6 +955,8 @@ fi %doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google %dir %{_libdir}/mysql %dir %{_datadir}/%{pkg_name} +%{_libdir}/mysql/plugin/dialog.so +%{_libdir}/mysql/plugin/mysql_clear_password.so %{_datadir}/%{pkg_name}/charsets %endif @@ -1145,6 +1145,10 @@ fi %endif %changelog +* Fri May 07 2015 Honza Horak - 1:10.0.17-4 +- Include client plugins into -common package since they are used by both -libs + and base packages. + * Sat May 02 2015 Kalev Lember - 1:10.0.17-3 - Rebuilt for GCC 5 C++11 ABI change From cef557efac779580bf78ae489f736d42c9e2fd40 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sat, 14 Mar 2015 12:26:49 +0100 Subject: [PATCH 220/789] Do not use libedit Related: #1201988 --- mariadb.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index b330932..b2521aa 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -174,7 +174,6 @@ BuildRequires: libaio-devel BuildRequires: openssl-devel BuildRequires: ncurses-devel BuildRequires: perl -BuildRequires: libedit-devel BuildRequires: systemtap-sdt-devel BuildRequires: zlib-devel # auth_pam.so plugin will be build if pam-devel is installed @@ -506,8 +505,9 @@ MariaDB is a community developed branch of MySQL. %patch36 -p1 %patch37 -p1 -# removing bundled cmd-line-utils -rm -r cmd-line-utils +# removing bundled cmd-line-utils is now disabled +# we cannot use libedit due #1201988 +# rm -r cmd-line-utils sed -i -e 's/2.8.7/2.6.4/g' cmake/cpack_rpm.cmake @@ -571,6 +571,7 @@ export LDFLAGS %cmake . \ -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ + -DWITH_READLINE=ON \ -DINSTALL_LAYOUT=RPM \ -DDAEMON_NAME="%{daemon_name}" \ -DDAEMON_NO_PREFIX="%{daemon_no_prefix}" \ @@ -1148,6 +1149,8 @@ fi * Fri May 07 2015 Honza Horak - 1:10.0.17-4 - Include client plugins into -common package since they are used by both -libs and base packages. +- Do not use libedit + Related: #1201988 * Sat May 02 2015 Kalev Lember - 1:10.0.17-3 - Rebuilt for GCC 5 C++11 ABI change From 35ddbf6329d7c5692925e42c1208fbe41a4bb714 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sat, 14 Mar 2015 17:27:29 +0100 Subject: [PATCH 221/789] Let plugin dir to be owned by -common Conflicts: mariadb.spec --- mariadb.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index b2521aa..9554acb 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -955,6 +955,7 @@ fi %doc README COPYING COPYING.LESSER README.mysql-license README.mysql-docs %doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google %dir %{_libdir}/mysql +%dir %{_libdir}/mysql/plugin %dir %{_datadir}/%{pkg_name} %{_libdir}/mysql/plugin/dialog.so %{_libdir}/mysql/plugin/mysql_clear_password.so @@ -1033,7 +1034,7 @@ fi %dir %{_datadir}/%{pkg_name} %endif -%{_libdir}/mysql/plugin +%{_libdir}/mysql/plugin/* %{?with_oqgraph:%exclude %{_libdir}/mysql/plugin/ha_oqgraph.so} %{?with_connect:%exclude %{_libdir}/mysql/plugin/ha_connect.so} %exclude %{_libdir}/mysql/plugin/dialog.so @@ -1151,6 +1152,7 @@ fi and base packages. - Do not use libedit Related: #1201988 +- Let plugin dir to be owned by -common * Sat May 02 2015 Kalev Lember - 1:10.0.17-3 - Rebuilt for GCC 5 C++11 ABI change From 97dcf7410bdd0e528b18b517b7588351978a824a Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 17 Mar 2015 21:12:09 +0100 Subject: [PATCH 222/789] Check permissions when starting service on RHEL-6 Resolves: #1194699 Conflicts: mariadb.spec --- mariadb.spec | 2 ++ mysql.init.in | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 9554acb..84db6d4 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1153,6 +1153,8 @@ fi - Do not use libedit Related: #1201988 - Let plugin dir to be owned by -common +- Use correct comment in the init script + Related: #1184604 * Sat May 02 2015 Kalev Lember - 1:10.0.17-3 - Rebuilt for GCC 5 C++11 ABI change diff --git a/mysql.init.in b/mysql.init.in index 24a110c..0a022af 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -26,7 +26,7 @@ exec="@bindir@/mysqld_safe" prog="@DAEMON_NAME@" -# Set timeouts here so they can be overridden from /etc/sysconfig/@DAEMON_NAME@ +# Set timeouts here so they can be overridden from @sysconfdir@/sysconfig/@DAEMON_NO_PREFIX@ STARTTIMEOUT=300 STOPTIMEOUT=60 From 7d80bfec00da30d3513d9edff26b0b023efb76d0 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 20 Mar 2015 09:31:29 +0100 Subject: [PATCH 223/789] Add openssl as BuildRequires to run some openssl tests during build Related: #1189180 Conflicts: mariadb.spec --- mariadb.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index 84db6d4..f693ebd 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -193,6 +193,8 @@ BuildRequires: perl(Socket) BuildRequires: perl(Sys::Hostname) BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) +# for running some openssl tests rhbz#1189180 +BuildRequires: openssl %{?with_init_systemd:BuildRequires: systemd} Requires: bash @@ -1155,6 +1157,8 @@ fi - Let plugin dir to be owned by -common - Use correct comment in the init script Related: #1184604 +- Add openssl as BuildRequires to run some openssl tests during build + Related: #1189180 * Sat May 02 2015 Kalev Lember - 1:10.0.17-3 - Rebuilt for GCC 5 C++11 ABI change From b5fe19261f8454af42ca2218153a0b120211136d Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 7 May 2015 22:38:03 +0200 Subject: [PATCH 224/789] Fail in case any command in check fails Related: #1124791 --- mariadb.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index f693ebd..50db6f7 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -837,6 +837,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} # avoid redundant test runs with --binlog-format=mixed # increase timeouts to prevent unwanted failures during mass rebuilds ( + set -e cd mysql-test perl ./mysql-test-run.pl --force --retry=0 --ssl \ %if ! %{check_testsuite} @@ -1159,6 +1160,8 @@ fi Related: #1184604 - Add openssl as BuildRequires to run some openssl tests during build Related: #1189180 +- Fail in case any command in check fails + Related: #1124791 * Sat May 02 2015 Kalev Lember - 1:10.0.17-3 - Rebuilt for GCC 5 C++11 ABI change From e83c0889de769b1c260f818ddc435b3071975321 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 23 Apr 2015 21:31:52 +0200 Subject: [PATCH 225/789] Fix mysqladmin crash if run with -u root -p Resolves: #1207170 Conflicts: mariadb.spec --- mariadb-admincrash.patch | 24 ++++++++++++++++++++++++ mariadb.spec | 4 ++++ 2 files changed, 28 insertions(+) create mode 100644 mariadb-admincrash.patch diff --git a/mariadb-admincrash.patch b/mariadb-admincrash.patch new file mode 100644 index 0000000..31cbe39 --- /dev/null +++ b/mariadb-admincrash.patch @@ -0,0 +1,24 @@ +mysqladmin crash on execution of below command: + + #> mysqladmin -u root -p + ... + Segmentation fault (core dumped) + +This is probably caused by memory corruption based on working with temp_argv[-1]. + +RHBZ: #1207041 +Upstream report: https://mariadb.atlassian.net/browse/MDEV-7883 + +diff -up mariadb-5.5.41/client/mysqladmin.cc.bz1207041 mariadb-5.5.41/client/mysqladmin.cc +--- mariadb-5.5.41/client/mysqladmin.cc.bz1207041 2015-03-30 12:37:31.078880914 +0200 ++++ mariadb-5.5.41/client/mysqladmin.cc 2015-03-30 13:03:32.442152833 +0200 +@@ -1215,7 +1215,8 @@ static char **mask_password(int argc, ch + } + argc--; + } +- temp_argv[argc]= my_strdup((*argv)[argc], MYF(MY_FAE)); ++ if (argc >= 0) ++ temp_argv[argc]= my_strdup((*argv)[argc], MYF(MY_FAE)); + return(temp_argv); + } + diff --git a/mariadb.spec b/mariadb.spec index 50db6f7..7cccd49 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -159,6 +159,7 @@ Patch6: %{pkgnamepatch}-dh1024.patch Patch7: %{pkgnamepatch}-scripts.patch Patch8: %{pkgnamepatch}-install-db-sharedir.patch Patch9: %{pkgnamepatch}-ownsetup.patch +Patch12: %{pkgnamepatch}-admincrash.patch # Patches specific for this mysql package Patch30: %{pkgnamepatch}-errno.patch @@ -499,6 +500,7 @@ MariaDB is a community developed branch of MySQL. %patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch12 -p1 %patch30 -p1 %patch31 -p1 %patch32 -p1 @@ -1162,6 +1164,8 @@ fi Related: #1189180 - Fail in case any command in check fails Related: #1124791 +- Fix mysqladmin crash if run with -u root -p + Resolves: #1207170 * Sat May 02 2015 Kalev Lember - 1:10.0.17-3 - Rebuilt for GCC 5 C++11 ABI change From 913badf090392969021057899e20548bde3d35f1 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 7 May 2015 22:11:16 +0200 Subject: [PATCH 226/789] Update to 10.0.18 Conflicts: mariadb-ssltest.patch mariadb.spec --- .gitignore | 1 + mariadb-dh1024.patch | 63 ------------------------------------------- mariadb-ssltest.patch | 48 --------------------------------- mariadb.spec | 11 ++++---- sources | 2 +- 5 files changed, 7 insertions(+), 118 deletions(-) delete mode 100644 mariadb-dh1024.patch delete mode 100644 mariadb-ssltest.patch diff --git a/.gitignore b/.gitignore index 27c91ef..9a81e3f 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ /mariadb-10.0.15.tar.gz /mariadb-10.0.16.tar.gz /mariadb-10.0.17.tar.gz +/mariadb-10.0.18.tar.gz diff --git a/mariadb-dh1024.patch b/mariadb-dh1024.patch deleted file mode 100644 index a887199..0000000 --- a/mariadb-dh1024.patch +++ /dev/null @@ -1,63 +0,0 @@ -Change the DH key length from 512 to 1024 bits to meet minimum requirements -of FIPS 140-2. (In principle we could use the larger size only when FIPS -mode is on, but it doesn't seem worth the trouble.) - -The new parameter value was generated using "openssl dhparam -C 1024". - - -diff -up mariadb-10.0.16/vio/viosslfactories.c.orig mariadb-10.0.16/vio/viosslfactories.c ---- mariadb-10.0.16/vio/viosslfactories.c.orig 2015-01-25 16:21:38.000000000 +0100 -+++ mariadb-10.0.16/vio/viosslfactories.c 2015-02-03 10:48:26.012560285 +0100 -@@ -20,27 +20,32 @@ - static my_bool ssl_algorithms_added = FALSE; - static my_bool ssl_error_strings_loaded= FALSE; - --static unsigned char dh512_p[]= -+static unsigned char dh1024_p[]= - { -- 0xDA,0x58,0x3C,0x16,0xD9,0x85,0x22,0x89,0xD0,0xE4,0xAF,0x75, -- 0x6F,0x4C,0xCA,0x92,0xDD,0x4B,0xE5,0x33,0xB8,0x04,0xFB,0x0F, -- 0xED,0x94,0xEF,0x9C,0x8A,0x44,0x03,0xED,0x57,0x46,0x50,0xD3, -- 0x69,0x99,0xDB,0x29,0xD7,0x76,0x27,0x6B,0xA2,0xD3,0xD4,0x12, -- 0xE2,0x18,0xF4,0xDD,0x1E,0x08,0x4C,0xF6,0xD8,0x00,0x3E,0x7C, -- 0x47,0x74,0xE8,0x33, -+ 0xBF,0x5C,0xFA,0xD1,0xDD,0xBB,0xB3,0x0A,0x58,0x29,0x05,0xF5, -+ 0x7D,0x64,0xB2,0xE1,0xCE,0xE8,0xE0,0xE1,0x7A,0xB6,0xBC,0x5B, -+ 0x21,0x56,0xDF,0x2C,0x82,0x60,0xDC,0x31,0xCA,0x1E,0x02,0xFE, -+ 0xC4,0xE7,0x24,0x63,0x31,0xE4,0x67,0x1C,0x0B,0xFF,0x86,0x12, -+ 0x0D,0x2E,0xE6,0x35,0x0A,0x07,0x4F,0xE7,0x3F,0xDE,0xFE,0xF0, -+ 0x13,0x1C,0xA2,0x2B,0xF4,0xEE,0x2C,0x90,0x10,0x57,0x6B,0x2B, -+ 0xB9,0x1E,0x1B,0x47,0xB0,0x25,0xBF,0x45,0x86,0xDA,0x87,0x35, -+ 0x2C,0xF5,0x6A,0x41,0xA2,0x57,0xD8,0x16,0x5E,0x82,0x91,0x99, -+ 0x33,0xA0,0x8B,0x9D,0x34,0xCE,0x03,0x01,0x80,0x32,0x07,0x3B, -+ 0xF2,0x93,0xFC,0x3A,0x25,0xEC,0xB3,0xED,0x5C,0x4E,0x57,0xF2, -+ 0x3C,0x2E,0x0D,0xB1,0x59,0xA2,0x08,0x93, - }; - --static unsigned char dh512_g[]={ -+static unsigned char dh1024_g[]={ - 0x02, - }; - --static DH *get_dh512(void) -+static DH *get_dh1024(void) - { - DH *dh; - if ((dh=DH_new())) - { -- dh->p=BN_bin2bn(dh512_p,sizeof(dh512_p),NULL); -- dh->g=BN_bin2bn(dh512_g,sizeof(dh512_g),NULL); -+ dh->p=BN_bin2bn(dh1024_p,sizeof(dh1024_p),NULL); -+ dh->g=BN_bin2bn(dh1024_g,sizeof(dh1024_g),NULL); - if (! dh->p || ! dh->g) - { - DH_free(dh); -@@ -257,7 +262,7 @@ new_VioSSLFd(const char *key_file, const - } - - /* DH stuff */ -- dh=get_dh512(); -+ dh=get_dh1024(); - SSL_CTX_set_tmp_dh(ssl_fd->ssl_context, dh); - DH_free(dh); - diff --git a/mariadb-ssltest.patch b/mariadb-ssltest.patch deleted file mode 100644 index c39b752..0000000 --- a/mariadb-ssltest.patch +++ /dev/null @@ -1,48 +0,0 @@ -Don't test EDH-RSA-DES-CBC-SHA cipher, it seems to be removed from openssl -which now makes mariadb/mysql FTBFS because openssl_1 test fails - -Related: #1044565 - - -diff -up mariadb-10.0.16/mysql-test/r/openssl_1.result.testssl mariadb-10.0.16/mysql-test/r/openssl_1.result ---- mariadb-10.0.16/mysql-test/r/openssl_1.result.testssl 2015-01-25 16:21:38.000000000 +0100 -+++ mariadb-10.0.16/mysql-test/r/openssl_1.result 2015-02-10 12:15:06.178207088 +0100 -@@ -198,8 +198,6 @@ Ssl_cipher DHE-RSA-AES256-SHA - Variable_name Value - Ssl_cipher EDH-RSA-DES-CBC3-SHA - Variable_name Value --Ssl_cipher EDH-RSA-DES-CBC-SHA --Variable_name Value - Ssl_cipher RC4-SHA - select 'is still running; no cipher request crashed the server' as result from dual; - result -diff -up mariadb-10.0.16/mysql-test/t/openssl_1.test.testssl mariadb-10.0.16/mysql-test/t/openssl_1.test ---- mariadb-10.0.16/mysql-test/t/openssl_1.test.testssl 2015-01-25 16:21:38.000000000 +0100 -+++ mariadb-10.0.16/mysql-test/t/openssl_1.test 2015-02-10 12:16:49.769911038 +0100 -@@ -132,7 +132,7 @@ drop table t1; - # verification of servers certificate by setting both ca certificate - # and ca path to NULL - # ----replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA -+--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA - --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 - --echo End of 5.0 tests - -@@ -222,7 +222,7 @@ DROP TABLE t1; - # Common ciphers to openssl and yassl - --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=DHE-RSA-AES256-SHA - --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC3-SHA ----exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC-SHA -+#--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC-SHA - --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=RC4-SHA - --disable_query_log - --disable_result_log -@@ -259,7 +259,7 @@ select 'is still running; no cipher requ - GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; - FLUSH PRIVILEGES; - connect(con1,localhost,bug42158,,,,,SSL); ----replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA -+--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA - SHOW STATUS LIKE 'Ssl_cipher'; - disconnect con1; - connection default; diff --git a/mariadb.spec b/mariadb.spec index 7cccd49..f1a0732 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -113,11 +113,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.0 -%global bugfixver 17 +%global bugfixver 18 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 4%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -155,7 +155,6 @@ Patch2: %{pkgnamepatch}-install-test.patch Patch3: %{pkgnamepatch}-s390-tsc.patch Patch4: %{pkgnamepatch}-logrotate.patch Patch5: %{pkgnamepatch}-file-contents.patch -Patch6: %{pkgnamepatch}-dh1024.patch Patch7: %{pkgnamepatch}-scripts.patch Patch8: %{pkgnamepatch}-install-db-sharedir.patch Patch9: %{pkgnamepatch}-ownsetup.patch @@ -167,7 +166,6 @@ Patch31: %{pkgnamepatch}-string-overflow.patch Patch32: %{pkgnamepatch}-basedir.patch Patch33: %{pkgnamepatch}-covscan-signexpr.patch Patch34: %{pkgnamepatch}-covscan-stroverflow.patch -Patch36: %{pkgnamepatch}-ssltest.patch Patch37: %{pkgnamepatch}-notestdb.patch BuildRequires: cmake @@ -496,7 +494,6 @@ MariaDB is a community developed branch of MySQL. %patch3 -p1 %patch4 -p1 %patch5 -p1 -%patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 @@ -506,7 +503,6 @@ MariaDB is a community developed branch of MySQL. %patch32 -p1 %patch33 -p1 %patch34 -p1 -%patch36 -p1 %patch37 -p1 # removing bundled cmd-line-utils is now disabled @@ -1152,6 +1148,9 @@ fi %endif %changelog +* Thu May 07 2015 Honza Horak - 1:10.0.18-1 +- Update to 10.0.18 + * Fri May 07 2015 Honza Horak - 1:10.0.17-4 - Include client plugins into -common package since they are used by both -libs and base packages. diff --git a/sources b/sources index 85d30fe..20264b9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -3101d1e79c1b04699cde10780f959625 mariadb-10.0.17.tar.gz +eab4f9303883d33558c0059af9e30aa4 mariadb-10.0.18.tar.gz From e621a3ac8f520c84b93ce3b2fca15df6632db541 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 8 May 2015 07:47:03 +0200 Subject: [PATCH 227/789] Fix openssl test to match openssl default ciphers Conflicts: mariadb.spec --- mariadb-ssltest.patch | 36 ++++++++++++++++++++++++++++++++++++ mariadb.spec | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 mariadb-ssltest.patch diff --git a/mariadb-ssltest.patch b/mariadb-ssltest.patch new file mode 100644 index 0000000..8405ba5 --- /dev/null +++ b/mariadb-ssltest.patch @@ -0,0 +1,36 @@ +DHE-RSA-AES256-GCM-SHA384 is not what we get in Fedora openssl, so we need +to replace a different cipher. + +diff -up mariadb-10.0.18/mysql-test/t/openssl_1.test.ssltest mariadb-10.0.18/mysql-test/t/openssl_1.test +--- mariadb-10.0.18/mysql-test/t/openssl_1.test.ssltest 2015-05-08 07:26:43.836965643 +0200 ++++ mariadb-10.0.18/mysql-test/t/openssl_1.test 2015-05-08 07:28:16.144215861 +0200 +@@ -132,7 +132,7 @@ drop table t1; + # verification of servers certificate by setting both ca certificate + # and ca path to NULL + # +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA ++--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA + --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 + --echo End of 5.0 tests + +@@ -257,7 +257,7 @@ select 'is still running; no cipher requ + GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; + FLUSH PRIVILEGES; + connect(con1,localhost,bug42158,,,,,SSL); +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA ++--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Ssl_cipher'; + disconnect con1; + connection default; +diff -up mariadb-10.0.18/mysql-test/t/ssl_timeout.test.ssltest mariadb-10.0.18/mysql-test/t/ssl_timeout.test +--- mariadb-10.0.18/mysql-test/t/ssl_timeout.test.ssltest 2015-05-08 07:22:24.504341009 +0200 ++++ mariadb-10.0.18/mysql-test/t/ssl_timeout.test 2015-05-08 07:26:04.192885581 +0200 +@@ -7,7 +7,7 @@ + connect (ssl_con,localhost,root,,,,,SSL read_timeout=5); + + --echo # Check ssl turned on +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA ++--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Ssl_cipher'; + + # --error CR_SERVER_LOST diff --git a/mariadb.spec b/mariadb.spec index f1a0732..0974996 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -166,6 +166,7 @@ Patch31: %{pkgnamepatch}-string-overflow.patch Patch32: %{pkgnamepatch}-basedir.patch Patch33: %{pkgnamepatch}-covscan-signexpr.patch Patch34: %{pkgnamepatch}-covscan-stroverflow.patch +Patch36: %{pkgnamepatch}-ssltest.patch Patch37: %{pkgnamepatch}-notestdb.patch BuildRequires: cmake @@ -503,6 +504,7 @@ MariaDB is a community developed branch of MySQL. %patch32 -p1 %patch33 -p1 %patch34 -p1 +%patch36 -p1 %patch37 -p1 # removing bundled cmd-line-utils is now disabled From 965e4581ba120efdfe2bfcb9846b1e9c89bd2424 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 8 May 2015 07:47:03 +0200 Subject: [PATCH 228/789] Fix openssl test to match openssl default ciphers Conflicts: mariadb.spec --- mariadb-ssltest.patch | 36 ++++++++++++++++++++++++++++++++++++ mariadb.spec | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 mariadb-ssltest.patch diff --git a/mariadb-ssltest.patch b/mariadb-ssltest.patch new file mode 100644 index 0000000..8405ba5 --- /dev/null +++ b/mariadb-ssltest.patch @@ -0,0 +1,36 @@ +DHE-RSA-AES256-GCM-SHA384 is not what we get in Fedora openssl, so we need +to replace a different cipher. + +diff -up mariadb-10.0.18/mysql-test/t/openssl_1.test.ssltest mariadb-10.0.18/mysql-test/t/openssl_1.test +--- mariadb-10.0.18/mysql-test/t/openssl_1.test.ssltest 2015-05-08 07:26:43.836965643 +0200 ++++ mariadb-10.0.18/mysql-test/t/openssl_1.test 2015-05-08 07:28:16.144215861 +0200 +@@ -132,7 +132,7 @@ drop table t1; + # verification of servers certificate by setting both ca certificate + # and ca path to NULL + # +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA ++--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA + --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 + --echo End of 5.0 tests + +@@ -257,7 +257,7 @@ select 'is still running; no cipher requ + GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; + FLUSH PRIVILEGES; + connect(con1,localhost,bug42158,,,,,SSL); +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA ++--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Ssl_cipher'; + disconnect con1; + connection default; +diff -up mariadb-10.0.18/mysql-test/t/ssl_timeout.test.ssltest mariadb-10.0.18/mysql-test/t/ssl_timeout.test +--- mariadb-10.0.18/mysql-test/t/ssl_timeout.test.ssltest 2015-05-08 07:22:24.504341009 +0200 ++++ mariadb-10.0.18/mysql-test/t/ssl_timeout.test 2015-05-08 07:26:04.192885581 +0200 +@@ -7,7 +7,7 @@ + connect (ssl_con,localhost,root,,,,,SSL read_timeout=5); + + --echo # Check ssl turned on +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA ++--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Ssl_cipher'; + + # --error CR_SERVER_LOST diff --git a/mariadb.spec b/mariadb.spec index f1a0732..0974996 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -166,6 +166,7 @@ Patch31: %{pkgnamepatch}-string-overflow.patch Patch32: %{pkgnamepatch}-basedir.patch Patch33: %{pkgnamepatch}-covscan-signexpr.patch Patch34: %{pkgnamepatch}-covscan-stroverflow.patch +Patch36: %{pkgnamepatch}-ssltest.patch Patch37: %{pkgnamepatch}-notestdb.patch BuildRequires: cmake @@ -503,6 +504,7 @@ MariaDB is a community developed branch of MySQL. %patch32 -p1 %patch33 -p1 %patch34 -p1 +%patch36 -p1 %patch37 -p1 # removing bundled cmd-line-utils is now disabled From b4e648b57ac38a24373247b4135f55cb9e1239a2 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 8 May 2015 07:51:29 +0200 Subject: [PATCH 229/789] Fix bogus data in changelog --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 0974996..89f15f8 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1153,7 +1153,7 @@ fi * Thu May 07 2015 Honza Horak - 1:10.0.18-1 - Update to 10.0.18 -* Fri May 07 2015 Honza Horak - 1:10.0.17-4 +* Thu May 07 2015 Honza Horak - 1:10.0.17-4 - Include client plugins into -common package since they are used by both -libs and base packages. - Do not use libedit From 162447e3a40b6984f1e3c5cb126000a0f16f0bce Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 11 May 2015 08:25:55 +0200 Subject: [PATCH 230/789] Update to 10.0.19 --- .gitignore | 1 + mariadb.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 9a81e3f..5879d73 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ /mariadb-10.0.16.tar.gz /mariadb-10.0.17.tar.gz /mariadb-10.0.18.tar.gz +/mariadb-10.0.19.tar.gz diff --git a/mariadb.spec b/mariadb.spec index 89f15f8..4a7d78f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -113,7 +113,7 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.0 -%global bugfixver 18 +%global bugfixver 19 Name: mariadb Version: %{compatver}.%{bugfixver} @@ -1150,6 +1150,9 @@ fi %endif %changelog +* Mon May 11 2015 Honza Horak - 1:10.0.19-1 +- Update to 10.0.19 + * Thu May 07 2015 Honza Horak - 1:10.0.18-1 - Update to 10.0.18 diff --git a/sources b/sources index 20264b9..baedd15 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -eab4f9303883d33558c0059af9e30aa4 mariadb-10.0.18.tar.gz +aeaf101c688515dc8f73a5250e6c1df9 mariadb-10.0.19.tar.gz From abbc049086944c67a52de50b2df8441476b8f2d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Tue, 2 Jun 2015 19:16:35 +0200 Subject: [PATCH 231/789] skip test connect.json_udf related #1149647 --- rh-skipped-tests-ppc-s390.list | 1 + 1 file changed, 1 insertion(+) diff --git a/rh-skipped-tests-ppc-s390.list b/rh-skipped-tests-ppc-s390.list index c8fcfd2..3900131 100644 --- a/rh-skipped-tests-ppc-s390.list +++ b/rh-skipped-tests-ppc-s390.list @@ -7,3 +7,4 @@ connect.part_file : rhbz#1149647 connect.part_table : rhbz#1149647 connect.updelx : rhbz#1149647 connect.updelx2 : rhbz#1149647#c6 +connect.json_udf : rhbz#1149647#c8 From 9df6d782e29a814b43677cc3d27057646740c566 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Wed, 3 Jun 2015 15:27:39 +0200 Subject: [PATCH 232/789] - Update lists of failing tests (jdornak) Related: #1149647 --- mariadb.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 4a7d78f..9cf1081 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -117,7 +117,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1150,6 +1150,10 @@ fi %endif %changelog +* Wed Jun 03 2015 Dan Horák - 1:10.0.19-2 +- Update lists of failing tests (jdornak) + Related: #1149647 + * Mon May 11 2015 Honza Horak - 1:10.0.19-1 - Update to 10.0.19 From 21e32e0f08ea330e47aa959ef16b7a077d17aa08 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 17 Jun 2015 19:30:36 +0000 Subject: [PATCH 233/789] - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 9cf1081..6d73dfd 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -117,7 +117,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1150,6 +1150,9 @@ fi %endif %changelog +* Wed Jun 17 2015 Fedora Release Engineering - 1:10.0.19-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + * Wed Jun 03 2015 Dan Horák - 1:10.0.19-2 - Update lists of failing tests (jdornak) Related: #1149647 From 1b9ef3ebd66059837118fd1f7ac1c4a5f4793ad9 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 23 Jun 2015 22:42:54 -0400 Subject: [PATCH 234/789] Update to 10.0.20 --- .gitignore | 1 + mariadb-ssltest.patch | 53 ++++++++++++++++++++++++++++++++++++++ mariadb.spec | 7 +++-- rh-skipped-tests-base.list | 4 +-- sources | 2 +- 5 files changed, 61 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 5879d73..d8676ed 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ /mariadb-10.0.17.tar.gz /mariadb-10.0.18.tar.gz /mariadb-10.0.19.tar.gz +/mariadb-10.0.20.tar.gz diff --git a/mariadb-ssltest.patch b/mariadb-ssltest.patch index 8405ba5..bb41fd1 100644 --- a/mariadb-ssltest.patch +++ b/mariadb-ssltest.patch @@ -34,3 +34,56 @@ diff -up mariadb-10.0.18/mysql-test/t/ssl_timeout.test.ssltest mariadb-10.0.18/m SHOW STATUS LIKE 'Ssl_cipher'; # --error CR_SERVER_LOST +diff -rup mysql-test-orig/t/ssl_8k_key.test mysql-test/t/ssl_8k_key.test +--- mariadb-10.0.20/mysql-test-orig/t/ssl_8k_key.test 2015-06-23 22:19:52.926707552 -0400 ++++ mariadb-10.0.20/mysql-test/t/ssl_8k_key.test 2015-06-23 22:24:28.304261714 -0400 +@@ -5,6 +5,7 @@ + # + # Bug#29784 YaSSL assertion failure when reading 8k key. + # ++--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA + --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 + + ## This test file is for testing encrypted communication only, not other +diff -rup mysql-test-orig/t/ssl_compress.test mysql-test/t/ssl_compress.test +--- mariadb-10.0.20/mysql-test-orig/t/ssl_compress.test 2015-06-23 22:19:52.912707611 -0400 ++++ mariadb-10.0.20/mysql-test/t/ssl_compress.test 2015-06-23 22:22:38.760221667 -0400 +@@ -11,7 +11,7 @@ + connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS); + + # Check ssl turned on +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA ++--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Ssl_cipher'; + + # Check compression turned on +@@ -21,7 +21,7 @@ SHOW STATUS LIKE 'Compression'; + -- source include/common-tests.inc + + # Check ssl turned on +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA ++--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Ssl_cipher'; + + # Check compression turned on +diff -rup mysql-test-orig/t/ssl.test mysql-test/t/ssl.test +--- mariadb-10.0.20/mysql-test-orig/t/ssl.test 2015-06-23 22:19:52.902707654 -0400 ++++ mariadb-10.0.20/mysql-test/t/ssl.test 2015-06-23 22:25:26.153282864 -0400 +@@ -11,7 +11,7 @@ + connect (ssl_con,localhost,root,,,,,SSL); + + # Check ssl turned on +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA ++--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Ssl_cipher'; + + # Check ssl expiration +@@ -22,7 +22,7 @@ SHOW STATUS LIKE 'Ssl_server_not_after'; + -- source include/common-tests.inc + + # Check ssl turned on +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA ++--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Ssl_cipher'; + + # diff --git a/mariadb.spec b/mariadb.spec index 6d73dfd..05a25d1 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -113,11 +113,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.0 -%global bugfixver 19 +%global bugfixver 20 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1150,6 +1150,9 @@ fi %endif %changelog +* Tue Jun 23 2015 Honza Horak - 1:10.0.20-1 +- Update to 10.0.20 + * Wed Jun 17 2015 Fedora Release Engineering - 1:10.0.19-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index c3fc748..5f9270b 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -6,10 +6,8 @@ funcs_1.myisam_func_view : rhbz#1096787 main.bigint : rhbz#1096787 main.dyncol : rhbz#1096787 main.func_str : rhbz#1096787 -main.ssl : rhbz#1096787 -main.ssl_compress : rhbz#1096787 +main.ssl_7937 : rhbz#1096787 main.ssl_crl_clients : rhbz#1096787 -main.ssl_8k_key : rhbz#1096787 perfschema.nesting : rhbz#1096787 perfschema.socket_summary_by_event_name_func : rhbz#1096787 perfschema.socket_summary_by_instance_func : rhbz#1096787 diff --git a/sources b/sources index baedd15..342a03a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -aeaf101c688515dc8f73a5250e6c1df9 mariadb-10.0.19.tar.gz +59d6c00827ad56f2ac76340fece32fc0 mariadb-10.0.20.tar.gz From fea52af2a78b0cad971dc479435df66b1c62296d Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 24 Jun 2015 07:09:40 -0400 Subject: [PATCH 235/789] Add tokuft_logprint into %files section --- mariadb.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/mariadb.spec b/mariadb.spec index 05a25d1..1b2b85c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1025,6 +1025,7 @@ fi %{_bindir}/resolve_stack_dump %{_bindir}/resolveip %{?with_tokudb:%{_bindir}/tokuftdump} +%{?with_tokudb:%{_bindir}/tokuft_logprint} %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf %{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf} From 61786393f11ec90411816b0c1bd904528feafc6e Mon Sep 17 00:00:00 2001 From: David Tardon Date: Wed, 22 Jul 2015 19:05:55 +0200 Subject: [PATCH 236/789] rebuild for Boost 1.58 --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 1b2b85c..3fd67e0 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -117,7 +117,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1151,6 +1151,9 @@ fi %endif %changelog +* Wed Jul 22 2015 David Tardon - 1:10.0.20-2 +- rebuild for Boost 1.58 + * Tue Jun 23 2015 Honza Horak - 1:10.0.20-1 - Update to 10.0.20 From c447717e1a65a489b39eb36a94452ad241d53bdc Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 29 Jul 2015 12:50:05 -0500 Subject: [PATCH 237/789] - Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 3fd67e0..5c2444b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -117,7 +117,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1151,6 +1151,9 @@ fi %endif %changelog +* Wed Jul 29 2015 Fedora Release Engineering - 1:10.0.20-3 +- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 + * Wed Jul 22 2015 David Tardon - 1:10.0.20-2 - rebuild for Boost 1.58 From 7d334d7eafd13cddef6332f3a062150770f48ca9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Mon, 10 Aug 2015 17:33:13 +0200 Subject: [PATCH 238/789] Update to 10.0.21 --- .gitignore | 1 + mariadb-covscan-stroverflow.patch | 20 ++++++++++---------- mariadb.spec | 7 +++++-- sources | 2 +- 4 files changed, 17 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index d8676ed..2fcbda1 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ /mariadb-10.0.18.tar.gz /mariadb-10.0.19.tar.gz /mariadb-10.0.20.tar.gz +/mariadb-10.0.21.tar.gz diff --git a/mariadb-covscan-stroverflow.patch b/mariadb-covscan-stroverflow.patch index 42f373d..078c7c5 100644 --- a/mariadb-covscan-stroverflow.patch +++ b/mariadb-covscan-stroverflow.patch @@ -6,9 +6,9 @@ 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 mariadb-10.0.15/plugin/semisync/semisync_master.cc.orig mariadb-10.0.15/plugin/semisync/semisync_master.cc ---- mariadb-10.0.15/plugin/semisync/semisync_master.cc.orig 2014-11-27 15:16:59.664855517 +0100 -+++ mariadb-10.0.15/plugin/semisync/semisync_master.cc 2014-11-27 15:16:17.029779375 +0100 +diff -up mariadb-10.0.21/plugin/semisync/semisync_master.cc.orig mariadb-10.0.21/plugin/semisync/semisync_master.cc +--- mariadb-10.0.21/plugin/semisync/semisync_master.cc.orig 2015-08-05 20:11:31.000000000 +0200 ++++ mariadb-10.0.21/plugin/semisync/semisync_master.cc 2015-08-10 17:22:31.700604043 +0200 @@ -553,7 +553,8 @@ int ReplSemiSyncMaster::reportReplyBinlo if (need_copy_send_pos) @@ -42,16 +42,16 @@ diff -up mariadb-10.0.15/plugin/semisync/semisync_master.cc.orig mariadb-10.0.15 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 -diff -up mariadb-10.0.15/sql/rpl_handler.cc.orig mariadb-10.0.15/sql/rpl_handler.cc ---- mariadb-10.0.15/sql/rpl_handler.cc.orig 2014-11-27 15:17:28.000906123 +0100 -+++ mariadb-10.0.15/sql/rpl_handler.cc 2014-11-27 15:16:17.030779377 +0100 -@@ -270,7 +270,8 @@ int Binlog_storage_delegate::after_flush - my_pthread_setspecific_ptr(RPL_TRANS_BINLOG_INFO, log_info); +diff -up mariadb-10.0.21/sql/rpl_handler.cc.orig mariadb-10.0.21/sql/rpl_handler.cc +--- mariadb-10.0.21/sql/rpl_handler.cc.orig 2015-08-05 20:11:31.000000000 +0200 ++++ mariadb-10.0.21/sql/rpl_handler.cc 2015-08-10 17:28:57.093803582 +0200 +@@ -261,7 +261,8 @@ int Binlog_storage_delegate::after_flush + thd->semisync_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; + FOREACH_OBSERVER(ret, after_flush, false, diff --git a/mariadb.spec b/mariadb.spec index 5c2444b..7b3c788 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -113,11 +113,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.0 -%global bugfixver 20 +%global bugfixver 21 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1151,6 +1151,9 @@ fi %endif %changelog +* Mon Aug 10 2015 Jakub Dorňák - 1:10.0.21-1 +- Update to 10.0.21 + * Wed Jul 29 2015 Fedora Release Engineering - 1:10.0.20-3 - Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 diff --git a/sources b/sources index 342a03a..a3c0d36 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -59d6c00827ad56f2ac76340fece32fc0 mariadb-10.0.20.tar.gz +956561f3798d1fe8dfbe4b665287a87a mariadb-10.0.21.tar.gz From 919f31dbfa923edd5060c5292bd1fed309233095 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Tue, 11 Aug 2015 13:44:14 +0200 Subject: [PATCH 239/789] BuildRequires: perl(Memoize) It has been split from the main perl package in f24 --- mariadb.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/mariadb.spec b/mariadb.spec index 7b3c788..656e123 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -189,6 +189,7 @@ BuildRequires: perl(File::Temp) BuildRequires: perl(Data::Dumper) BuildRequires: perl(Getopt::Long) BuildRequires: perl(IPC::Open3) +BuildRequires: perl(Memoize) BuildRequires: perl(Socket) BuildRequires: perl(Sys::Hostname) BuildRequires: perl(Test::More) From d5335fe0bf6a24593547462483f6a36d67bdb6f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Wed, 12 Aug 2015 11:15:09 +0200 Subject: [PATCH 240/789] the new test connect.endian fails on arm --- rh-skipped-tests-arm.list | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index ec4e52a..473af3a 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -9,3 +9,6 @@ perfschema.func_mutex : rhbz#773116 cycle counter does not work on arm connect.bin : rhbz#1096787 (pass on aarch64) perfschema.setup_objects : rhbz#1096787 + +connect.endian : rhbz#1096787 +perfschema.global_read_lock : rhbz#1096787 From ee6fef0b6fe5e69793a8f8dd10fb02f6eb407b39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Mon, 17 Aug 2015 09:42:45 +0200 Subject: [PATCH 241/789] add warning to tmpfiles.d/mariadb.conf related: #1241623 --- mysql.tmpfiles.d.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mysql.tmpfiles.d.in b/mysql.tmpfiles.d.in index d2c4b31..9e6b6e8 100644 --- a/mysql.tmpfiles.d.in +++ b/mysql.tmpfiles.d.in @@ -1 +1,3 @@ +# Do not edit this file. +# To override this, put /etc/tmpfiles.d/mariadb.conf instead. d @PID_FILE_DIR@ 0755 mysql mysql - From d9719cc625e4e2584343f41e003c5ddc6d3d79f1 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Thu, 27 Aug 2015 20:44:52 +0100 Subject: [PATCH 242/789] Rebuilt for Boost 1.59 --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 656e123..04ff34e 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -117,7 +117,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1152,6 +1152,9 @@ fi %endif %changelog +* Thu Aug 27 2015 Jonathan Wakely - 1:10.0.21-2 +- Rebuilt for Boost 1.59 + * Mon Aug 10 2015 Jakub Dorňák - 1:10.0.21-1 - Update to 10.0.21 From 6290cad8ad97ac4f553ee528fb825e6d5b5593ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Thu, 22 Oct 2015 21:51:01 +0200 Subject: [PATCH 243/789] Update to 10.1.8 --- .gitignore | 1 + mariadb-covscan-signexpr.patch | 16 ------------- mariadb-errno.patch | 9 ++++---- mariadb-file-contents.patch | 13 +++++------ mariadb-ownsetup.patch | 10 ++++----- mariadb-scripts.patch | 19 +++------------- mariadb.spec | 41 ++++++++++++++++++++++++++-------- rh-skipped-tests-arm.list | 22 +++++++++--------- rh-skipped-tests-base.list | 25 ++++++++++----------- sources | 2 +- 10 files changed, 75 insertions(+), 83 deletions(-) delete mode 100644 mariadb-covscan-signexpr.patch diff --git a/.gitignore b/.gitignore index 2fcbda1..794dc57 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,4 @@ /mariadb-10.0.19.tar.gz /mariadb-10.0.20.tar.gz /mariadb-10.0.21.tar.gz +/mariadb-10.1.8.tar.gz diff --git a/mariadb-covscan-signexpr.patch b/mariadb-covscan-signexpr.patch deleted file mode 100644 index 54d47b5..0000000 --- a/mariadb-covscan-signexpr.patch +++ /dev/null @@ -1,16 +0,0 @@ -This issue has been found by Coverity - static analysis tool. - -mysql-5.5.31/strings/ctype-ucs2.c:1707:sign_extension – Suspicious implicit sign extension: "s[0]" with type "unsigned char" (8 bits, unsigned) is promoted in "(s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3]" to type "int" (32 bits, signed), then sign-extended to type "unsigned long" (64 bits, unsigned). If "(s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3]" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. - -diff -up mariadb-10.0.15/strings/ctype-ucs2.c.orig mariadb-10.0.15/strings/ctype-ucs2.c ---- mariadb-10.0.15/strings/ctype-ucs2.c.orig 2014-11-27 15:14:11.129554529 +0100 -+++ mariadb-10.0.15/strings/ctype-ucs2.c 2014-11-27 15:13:06.806439653 +0100 -@@ -1932,7 +1932,7 @@ my_utf32_uni(CHARSET_INFO *cs __attribut - { - if (s + 4 > e) - return MY_CS_TOOSMALL4; -- *pwc= (s[0] << 24) + (s[1] << 16) + (s[2] << 8) + (s[3]); -+ *pwc= (((my_wc_t)s[0]) << 24) + (s[1] << 16) + (s[2] << 8) + (s[3]); - return 4; - } - diff --git a/mariadb-errno.patch b/mariadb-errno.patch index 8901403..9caec8b 100644 --- a/mariadb-errno.patch +++ b/mariadb-errno.patch @@ -1,7 +1,8 @@ ---- mariadb-10.0.10/include/my_sys.h.p1 2014-03-30 19:56:37.000000000 +0200 -+++ mariadb-10.0.10/include/my_sys.h 2014-04-07 15:30:20.627060157 +0200 -@@ -209,13 +209,7 @@ extern void my_large_free(uchar *ptr); - #define my_safe_afree(ptr, size, max_alloca_sz) my_afree(ptr) +diff -rup mariadb-10.1.8.orig/include/my_sys.h mariadb-10.1.8/include/my_sys.h +--- mariadb-10.1.8.orig/include/my_sys.h 2015-10-15 17:43:37.000000000 +0200 ++++ mariadb-10.1.8/include/my_sys.h 2015-10-21 15:48:00.948590204 +0200 +@@ -218,13 +218,7 @@ extern void my_large_free(uchar *ptr); + #define my_safe_afree(ptr, size) my_afree(ptr) #endif /* HAVE_ALLOCA */ -#ifndef errno /* did we already get it? */ diff --git a/mariadb-file-contents.patch b/mariadb-file-contents.patch index 441f4f0..85c1163 100644 --- a/mariadb-file-contents.patch +++ b/mariadb-file-contents.patch @@ -6,10 +6,9 @@ to know about this. Recommendation they change is at http://bugs.mysql.com/bug.php?id=61425 -diff -up mariadb-10.0.12/mysql-test/t/file_contents.test.file_contents mariadb-10.0.12/mysql-test/t/file_contents.test. -diff -up mariadb-10.0.12/mysql-test/t/file_contents.test.file_contents mariadb-10.0.12/mysql-test/t/file_contents.test ---- mariadb-10.0.12/mysql-test/t/file_contents.test.file_contents 2014-06-12 11:26:03.000000000 +0200 -+++ mariadb-10.0.12/mysql-test/t/file_contents.test 2014-07-24 23:53:49.833176793 +0200 +diff -rup mariadb-10.1.8.orig/mysql-test/t/file_contents.test mariadb-10.1.8/mysql-test/t/file_contents.test +--- mariadb-10.1.8.orig/mysql-test/t/file_contents.test 2015-10-15 17:43:44.000000000 +0200 ++++ mariadb-10.1.8/mysql-test/t/file_contents.test 2015-10-19 13:54:53.505550439 +0200 @@ -11,7 +11,7 @@ --perl print "\nChecking 'INFO_SRC' and 'INFO_BIN'\n"; @@ -21,17 +20,17 @@ diff -up mariadb-10.0.12/mysql-test/t/file_contents.test.file_contents mariadb-1 $dir_docs =~ s|/lib|/share/doc|; @@ -22,7 +22,7 @@ if ($dir_bin eq '/usr/') { # RedHat: version number in directory name - $dir_docs = glob "$dir_docs/MySQL-server*"; + $dir_docs = glob "$dir_docs/MariaDB-server*"; } -} elsif ($dir_bin eq '/usr') { -+} elsif ($dir_bin =~ '.*/usr$') { ++} elsif ($dir_bin =~ '.*/usr$') { # RPM build during development $dir_docs = "$dir_bin/share/doc"; if(-d "$dir_docs/packages") { @@ -32,6 +32,15 @@ if ($dir_bin eq '/usr/') { # RedHat/Debian: version number in directory name $dir_docs = glob "$dir_docs/mariadb-server-*"; - $dir_docs = glob "$dir_docs/MySQL-server*" unless -d $dir_docs; + $dir_docs = glob "$dir_docs/MariaDB-server*" unless -d $dir_docs; + + # All the above is entirely wacko, because these files are not docs; + # they should be kept in libdir instead. mtr does not provide a nice diff --git a/mariadb-ownsetup.patch b/mariadb-ownsetup.patch index ea10cdf..9fdb94b 100644 --- a/mariadb-ownsetup.patch +++ b/mariadb-ownsetup.patch @@ -1,6 +1,6 @@ -diff -up mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup mariadb-10.0.15/support-files/rpm/server.cnf ---- mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup 2015-01-24 23:55:55.110063592 +0100 -+++ mariadb-10.0.15/support-files/rpm/server.cnf 2015-01-24 23:57:42.308114387 +0100 +diff -rup mariadb-10.1.8.orig/support-files/rpm/server.cnf mariadb-10.1.8/support-files/rpm/server.cnf +--- mariadb-10.1.8.orig/support-files/rpm/server.cnf 2015-10-15 17:44:19.000000000 +0200 ++++ mariadb-10.1.8/support-files/rpm/server.cnf 2015-10-21 15:39:36.298577017 +0200 @@ -9,7 +9,16 @@ [server] @@ -16,5 +16,5 @@ diff -up mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup mariadb-10.0.15/s +pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid + - # this is only for embedded server - [embedded] + # + # * Galera-related settings diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index e062c50..43674d7 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -1,7 +1,6 @@ -diff -up mariadb-10.0.16/scripts/CMakeLists.txt.systemd mariadb-10.0.16/scripts/CMakeLists.txt ---- mariadb-10.0.16/scripts/CMakeLists.txt.systemd 2015-01-25 16:21:37.000000000 +0100 -+++ mariadb-10.0.16/scripts/CMakeLists.txt 2015-02-03 10:53:05.261790495 +0100 -@@ -367,6 +367,33 @@ ELSE() +--- mariadb-10.1.8/scripts/CMakeLists.txt.systemd 2015-10-15 17:43:45.000000000 +0200 ++++ mariadb-10.1.8/scripts/CMakeLists.txt 2015-10-21 17:39:41.179737915 +0200 +@@ -323,6 +323,33 @@ ELSE() COMPONENT ${${file}_COMPONENT} ) ENDFOREACH() @@ -35,15 +34,3 @@ diff -up mariadb-10.0.16/scripts/CMakeLists.txt.systemd mariadb-10.0.16/scripts/ ENDIF() # Install libgcc as mylibgcc.a -diff -up mariadb-10.0.15/support-files/CMakeLists.txt.cmakescripts mariadb-10.0.15/support-files/CMakeLists.txt ---- mariadb-10.0.15/support-files/CMakeLists.txt.cmakescripts 2014-11-27 15:07:13.203821563 +0100 -+++ mariadb-10.0.15/support-files/CMakeLists.txt 2014-11-27 15:04:26.252530666 +0100 -@@ -112,6 +112,8 @@ IF(UNIX) - COMPONENT SharedLibraries) - INSTALL(FILES rpm/mysql-clients.cnf DESTINATION ${INSTALL_SYSCONF2DIR} - COMPONENT Client) -+ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/rpm/server.cnf -+ ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY ) - INSTALL(FILES rpm/server.cnf DESTINATION ${INSTALL_SYSCONF2DIR} - COMPONENT IniFiles) - ENDIF() diff --git a/mariadb.spec b/mariadb.spec index 04ff34e..ca7264f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -112,12 +112,12 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} -%global compatver 10.0 -%global bugfixver 21 +%global compatver 10.1 +%global bugfixver 8 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -164,7 +164,6 @@ Patch12: %{pkgnamepatch}-admincrash.patch Patch30: %{pkgnamepatch}-errno.patch Patch31: %{pkgnamepatch}-string-overflow.patch Patch32: %{pkgnamepatch}-basedir.patch -Patch33: %{pkgnamepatch}-covscan-signexpr.patch Patch34: %{pkgnamepatch}-covscan-stroverflow.patch Patch36: %{pkgnamepatch}-ssltest.patch Patch37: %{pkgnamepatch}-notestdb.patch @@ -503,7 +502,6 @@ MariaDB is a community developed branch of MySQL. %patch30 -p1 %patch31 -p1 %patch32 -p1 -%patch33 -p1 %patch34 -p1 %patch36 -p1 %patch37 -p1 @@ -776,6 +774,7 @@ rm -f %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded rm -f %{buildroot}%{_bindir}/mysql_config* rm -rf %{buildroot}%{_includedir}/mysql rm -f %{buildroot}%{_datadir}/aclocal/mysql.m4 +rm -f %{buildroot}%{_datadir}/pkgconfig/mariadb.pc rm -f %{buildroot}%{_libdir}/mysql/libmysqlclient*.so rm -f %{buildroot}%{_mandir}/man1/mysql_config.1* %endif @@ -841,12 +840,14 @@ export MTR_BUILD_THREAD=%{__isa_bits} set -e cd mysql-test perl ./mysql-test-run.pl --force --retry=0 --ssl \ -%if ! %{check_testsuite} - --skip-test-list=rh-skipped-tests.list \ -%endif --suite-timeout=720 --testcase-timeout=30 \ --mysqld=--binlog-format=mixed --force-restart \ - --shutdown-timeout=60 --max-test-fail=0 + --shutdown-timeout=60 --max-test-fail=0 \ +%if %{check_testsuite} + || : +%else + --skip-test-list=rh-skipped-tests.list +%endif # cmake build scripts will install the var cruft if left alone :-( rm -rf var ) @@ -952,6 +953,7 @@ fi %dir %{_sysconfdir}/my.cnf.d %config(noreplace) %{_sysconfdir}/my.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf +%config(noreplace) %{_sysconfdir}/my.cnf.d/enable_encryption.preset %endif %if %{with common} @@ -1025,6 +1027,11 @@ fi %{_bindir}/replace %{_bindir}/resolve_stack_dump %{_bindir}/resolveip +%{_bindir}/wsrep_sst_common +%{_bindir}/wsrep_sst_mysqldump +%{_bindir}/wsrep_sst_rsync +%{_bindir}/wsrep_sst_xtrabackup +%{_bindir}/wsrep_sst_xtrabackup-v2 %{?with_tokudb:%{_bindir}/tokuftdump} %{?with_tokudb:%{_bindir}/tokuft_logprint} @@ -1078,6 +1085,8 @@ fi %{_datadir}/%{pkg_name}/fill_help_tables.sql %{_datadir}/%{pkg_name}/install_spider.sql +%{_datadir}/%{pkg_name}/maria_add_gis_sp.sql +%{_datadir}/%{pkg_name}/maria_add_gis_sp_bootstrap.sql %{_datadir}/%{pkg_name}/mysql_system_tables.sql %{_datadir}/%{pkg_name}/mysql_system_tables_data.sql %{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql @@ -1085,6 +1094,15 @@ fi %{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/install.sql} %{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/uninstall.sql} %{_datadir}/%{pkg_name}/my-*.cnf +%{_datadir}/%{pkg_name}/wsrep.cnf +%{_datadir}/%{pkg_name}/wsrep_notify +%dir %{_datadir}/%{pkg_name}/policy +%dir %{_datadir}/%{pkg_name}/policy/apparmor +%dir %{_datadir}/%{pkg_name}/policy/selinux +%{_datadir}/%{pkg_name}/policy/apparmor/README +%{_datadir}/%{pkg_name}/policy/apparmor/usr.sbin.mysqld* +%{_datadir}/%{pkg_name}/policy/selinux/README +%{_datadir}/%{pkg_name}/policy/selinux/mariadb-server.* %{daemondir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir @@ -1093,6 +1111,7 @@ fi %{_libexecdir}/mysql-check-socket %{_libexecdir}/mysql-check-upgrade %{_libexecdir}/mysql-scripts-common +%{_libexecdir}/rcmysql %{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} %attr(0755,mysql,mysql) %dir %{pidfiledir} @@ -1119,6 +1138,7 @@ fi %{_bindir}/mysql_config-%{__isa_bits} %{_includedir}/mysql %{_datadir}/aclocal/mysql.m4 +%{_datadir}/pkgconfig/mariadb.pc %if %{with clibrary} %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so @@ -1152,6 +1172,9 @@ fi %endif %changelog +* Thu Oct 22 2015 Jakub Dorňák - 1:10.1.8-1 +- Update to 10.1.8 + * Thu Aug 27 2015 Jonathan Wakely - 1:10.0.21-2 - Rebuilt for Boost 1.59 diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index 473af3a..9b92367 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -1,14 +1,12 @@ -# Disable perfschema.func_file_io and perfschema.func_mutex, which fail -# because cycle counter returns 0 every time on ARM architectures. -# This is caused by missing hardware performance counter support on ARM. -# Discussion about fixing that can be found in RH bug #741325. - -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 - -connect.bin : rhbz#1096787 (pass on aarch64) -perfschema.setup_objects : rhbz#1096787 - +connect.bin : rhbz#1096787 (pass on aarch64) connect.endian : rhbz#1096787 -perfschema.global_read_lock : rhbz#1096787 + +main.partition_exchange : rhbz#1096787 +main.analyze_stmt_orderby : rhbz#1096787 +main.explain_json_innodb : rhbz#1096787 +main.explain_json_format_partitions : rhbz#1096787 +main.analyze_format_json : rhbz#1096787 +main.explain_json : rhbz#1096787 +main.subselect_cache : rhbz#1096787 +main.type_year : rhbz#1096787 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 5f9270b..fb33990 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -1,15 +1,14 @@ # These tests fail with MariaDB 10: -funcs_1.innodb_func_view : rhbz#1096787 -funcs_1.memory_func_view : rhbz#1096787 -funcs_1.myisam_func_view : rhbz#1096787 -main.bigint : rhbz#1096787 -main.dyncol : rhbz#1096787 -main.func_str : rhbz#1096787 -main.ssl_7937 : rhbz#1096787 -main.ssl_crl_clients : rhbz#1096787 -perfschema.nesting : rhbz#1096787 -perfschema.socket_summary_by_event_name_func : rhbz#1096787 -perfschema.socket_summary_by_instance_func : rhbz#1096787 -vcol.vcol_supported_sql_funcs_innodb : rhbz#1096787 -vcol.vcol_supported_sql_funcs_myisam : rhbz#1096787 +main.userstat : rhbz#1096787 +main.set_statement_notembedded_binlog : rhbz#1096787 +main.ssl_7937 : rhbz#1096787 +main.ssl_crl_clients : rhbz#1096787 +main.openssl_1 : rhbz#1096787 +main.ssl : rhbz#1096787 +main.ssl_8k_key : rhbz#1096787 +main.ssl_compress : rhbz#1096787 +main.ssl_timeout : rhbz#1096787 +perfschema.nesting : rhbz#1096787 +perfschema.socket_summary_by_event_name_func : rhbz#1096787 +perfschema.socket_summary_by_instance_func : rhbz#1096787 diff --git a/sources b/sources index a3c0d36..ab130dd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -956561f3798d1fe8dfbe4b665287a87a mariadb-10.0.21.tar.gz +9ba0aaabba40153d83e70edcc1aa43a8 mariadb-10.1.8.tar.gz From 26eedb79747ffeb04859a2897a0e650095401f56 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 3 Nov 2015 13:05:39 +0100 Subject: [PATCH 244/789] Expand variables in server.cnf --- mariadb-ownsetup.patch | 17 ++++++++++++++--- mariadb.spec | 6 ++++-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/mariadb-ownsetup.patch b/mariadb-ownsetup.patch index 9fdb94b..23dcba8 100644 --- a/mariadb-ownsetup.patch +++ b/mariadb-ownsetup.patch @@ -1,6 +1,17 @@ -diff -rup mariadb-10.1.8.orig/support-files/rpm/server.cnf mariadb-10.1.8/support-files/rpm/server.cnf ---- mariadb-10.1.8.orig/support-files/rpm/server.cnf 2015-10-15 17:44:19.000000000 +0200 -+++ mariadb-10.1.8/support-files/rpm/server.cnf 2015-10-21 15:39:36.298577017 +0200 +diff -up mariadb-10.1.8/support-files/CMakeLists.txt.p9 mariadb-10.1.8/support-files/CMakeLists.txt +--- mariadb-10.1.8/support-files/CMakeLists.txt.p9 2015-11-03 11:38:46.029139464 +0100 ++++ mariadb-10.1.8/support-files/CMakeLists.txt 2015-11-03 11:41:07.107605055 +0100 +@@ -62,6 +62,7 @@ IF(UNIX) + ENDIF() + + CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY) ++ CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development) + + INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) +diff -up mariadb-10.1.8/support-files/rpm/server.cnf.p9 mariadb-10.1.8/support-files/rpm/server.cnf +--- mariadb-10.1.8/support-files/rpm/server.cnf.p9 2015-10-15 17:44:19.000000000 +0200 ++++ mariadb-10.1.8/support-files/rpm/server.cnf 2015-11-03 11:38:25.228070808 +0100 @@ -9,7 +9,16 @@ [server] diff --git a/mariadb.spec b/mariadb.spec index ca7264f..2882493 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -24,7 +24,6 @@ # TokuDB engine is now part of MariaDB, but it is available only for x86_64; # variable tokudb allows to build with TokuDB storage engine # Temporarily disabled in F21+ for https://mariadb.atlassian.net/browse/MDEV-6446 -#%ifarch 0%{?fedora} < 21 #x86_64 %ifarch x86_64 %bcond_without tokudb %else @@ -117,7 +116,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1172,6 +1171,9 @@ fi %endif %changelog +* Tue Nov 03 2015 Honza Horak - 1:10.1.8-2 +- Expand variables in server.cnf + * Thu Oct 22 2015 Jakub Dorňák - 1:10.1.8-1 - Update to 10.1.8 From 8b495216c94139a78e980f8e101c65faa4a81f3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Tue, 1 Dec 2015 09:12:19 +0100 Subject: [PATCH 245/789] another bunch of tests failing on s390 --- rh-skipped-tests-ppc-s390.list | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/rh-skipped-tests-ppc-s390.list b/rh-skipped-tests-ppc-s390.list index 3900131..39366b5 100644 --- a/rh-skipped-tests-ppc-s390.list +++ b/rh-skipped-tests-ppc-s390.list @@ -8,3 +8,15 @@ connect.part_table : rhbz#1149647 connect.updelx : rhbz#1149647 connect.updelx2 : rhbz#1149647#c6 connect.json_udf : rhbz#1149647#c8 +sys_vars.sysvars_server_notembedded : rhbz#1149647 +main.partition_exchange : rhbz#1149647 +main.analyze_stmt_orderby : rhbz#1149647 +main.explain_json_innodb : rhbz#1149647 +encryption.encrypt_and_grep : rhbz#1149647 +main.explain_json_format_partitions : rhbz#1149647 +main.analyze_format_json : rhbz#1149647 +main.explain_json : rhbz#1149647 +main.mdev-504 : rhbz#1149647 +main.subselect_cache : rhbz#1149647 +main.type_year : rhbz#1149647 +sys_vars.sysvars_wsrep : rhbz#1149647 From 61cbdd024519e303af43983f8d774103f51764b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Mon, 7 Dec 2015 16:07:44 +0100 Subject: [PATCH 246/789] - rebuilt for s390(x) --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 2882493..c9e0763 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -116,7 +116,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1171,6 +1171,9 @@ fi %endif %changelog +* Mon Dec 07 2015 Dan Horák - 1:10.1.8-3 +- rebuilt for s390(x) + * Tue Nov 03 2015 Honza Horak - 1:10.1.8-2 - Expand variables in server.cnf From 9a948cc78e95d605445b26ade650e4ca612731f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Tue, 19 Jan 2016 16:50:50 +0100 Subject: [PATCH 247/789] Update to 10.1.10 --- mariadb-s390-tsc.patch | 41 ----------------------------------------- mariadb.spec | 11 ++++++----- 2 files changed, 6 insertions(+), 46 deletions(-) delete mode 100644 mariadb-s390-tsc.patch diff --git a/mariadb-s390-tsc.patch b/mariadb-s390-tsc.patch deleted file mode 100644 index ebbf951..0000000 --- a/mariadb-s390-tsc.patch +++ /dev/null @@ -1,41 +0,0 @@ -Support s390/s390x in performance schema's cycle-counting functions. -Filed upstream at http://bugs.mysql.com/bug.php?id=59953 - - -diff -up mariadb-10.0.10/include/my_rdtsc.h.p4 mariadb-10.0.10/include/my_rdtsc.h ---- mariadb-10.0.10/include/my_rdtsc.h.p4 2014-03-30 19:56:36.000000000 +0200 -+++ mariadb-10.0.10/include/my_rdtsc.h 2014-04-07 16:13:55.227792169 +0200 -@@ -125,6 +125,7 @@ C_MODE_END - #define MY_TIMER_ROUTINE_MACH_ABSOLUTE_TIME 25 - #define MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME 26 - #define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27 -+#define MY_TIMER_ROUTINE_ASM_S390 28 - - #endif - -diff -up mariadb-10.0.10/mysys/my_rdtsc.c.p4 mariadb-10.0.10/mysys/my_rdtsc.c ---- mariadb-10.0.10/mysys/my_rdtsc.c.p4 2014-03-30 19:56:36.000000000 +0200 -+++ mariadb-10.0.10/mysys/my_rdtsc.c 2014-04-07 16:15:48.114901576 +0200 -@@ -224,6 +224,13 @@ ulonglong my_timer_cycles(void) - clock_gettime(CLOCK_SGI_CYCLE, &tp); - return (ulonglong) tp.tv_sec * 1000000000 + (ulonglong) tp.tv_nsec; - } -+#elif defined(__GNUC__) && defined(__s390__) -+ /* covers both s390 and s390x */ -+ { -+ ulonglong result; -+ __asm__ __volatile__ ("stck %0" : "=Q" (result) : : "cc"); -+ return result; -+ } - #elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME) - /* gethrtime may appear as either cycle or nanosecond counter */ - return (ulonglong) gethrtime(); -@@ -533,6 +540,8 @@ void my_timer_init(MY_TIMER_INFO *mti) - mti->cycles.routine= MY_TIMER_ROUTINE_ASM_GCC_SPARC32; - #elif defined(__sgi) && defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_SGI_CYCLE) - mti->cycles.routine= MY_TIMER_ROUTINE_SGI_CYCLE; -+#elif defined(__GNUC__) && defined(__s390__) -+ mti->cycles.routine= MY_TIMER_ROUTINE_ASM_S390; - #elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME) - mti->cycles.routine= MY_TIMER_ROUTINE_GETHRTIME; - #else diff --git a/mariadb.spec b/mariadb.spec index c9e0763..d7e8b40 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -8,7 +8,7 @@ %{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail -%global check_testsuite 0 +%global check_testsuite 1 # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} @@ -112,11 +112,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.1 -%global bugfixver 8 +%global bugfixver 10 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -151,7 +151,6 @@ Source52: rh-skipped-tests-ppc-s390.list # Patches common for more mysql-like packages Patch1: %{pkgnamepatch}-strmov.patch Patch2: %{pkgnamepatch}-install-test.patch -Patch3: %{pkgnamepatch}-s390-tsc.patch Patch4: %{pkgnamepatch}-logrotate.patch Patch5: %{pkgnamepatch}-file-contents.patch Patch7: %{pkgnamepatch}-scripts.patch @@ -491,7 +490,6 @@ MariaDB is a community developed branch of MySQL. %patch1 -p1 %patch2 -p1 -%patch3 -p1 %patch4 -p1 %patch5 -p1 %patch7 -p1 @@ -1171,6 +1169,9 @@ fi %endif %changelog +* Tue Jan 19 2016 Jakub Dorňák - 1:10.1.10-1 +- Update to 10.1.10 + * Mon Dec 07 2015 Dan Horák - 1:10.1.8-3 - rebuilt for s390(x) From d9ffe7958a691e19e59dcfb2a767e6afe9300ded Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Wed, 27 Jan 2016 15:42:29 +0100 Subject: [PATCH 248/789] new-sources --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 794dc57..745d740 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ /mariadb-10.0.20.tar.gz /mariadb-10.0.21.tar.gz /mariadb-10.1.8.tar.gz +/mariadb-10.1.10.tar.gz diff --git a/sources b/sources index ab130dd..4bf4ebc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9ba0aaabba40153d83e70edcc1aa43a8 mariadb-10.1.8.tar.gz +9aa4d68b24c1ddd8cb56923a920684b3 mariadb-10.1.10.tar.gz From 0619ce4c5b31f9ee84e8f67da79d611880d50fdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Wed, 3 Feb 2016 12:49:50 +0100 Subject: [PATCH 249/789] Update to 10.1.11 --- .gitignore | 1 + mariadb-scripts.patch | 8 ++++---- mariadb.spec | 7 ++++++- sources | 2 +- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 745d740..62e7565 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ /mariadb-10.0.21.tar.gz /mariadb-10.1.8.tar.gz /mariadb-10.1.10.tar.gz +/mariadb-10.1.11.tar.gz diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index 43674d7..9b2446a 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -1,6 +1,6 @@ ---- mariadb-10.1.8/scripts/CMakeLists.txt.systemd 2015-10-15 17:43:45.000000000 +0200 -+++ mariadb-10.1.8/scripts/CMakeLists.txt 2015-10-21 17:39:41.179737915 +0200 -@@ -323,6 +323,33 @@ ELSE() +--- mariadb-10.1.11.orig/scripts/CMakeLists.txt 2016-01-28 13:12:51.000000000 +0100 ++++ mariadb-10.1.11/scripts/CMakeLists.txt 2016-02-03 12:46:26.306109293 +0100 +@@ -320,6 +320,33 @@ ELSE() COMPONENT ${${file}_COMPONENT} ) ENDFOREACH() @@ -33,4 +33,4 @@ + ENDFOREACH() ENDIF() - # Install libgcc as mylibgcc.a + # Configure two scripts from one 'in' file. diff --git a/mariadb.spec b/mariadb.spec index d7e8b40..1264127 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -112,7 +112,7 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.1 -%global bugfixver 10 +%global bugfixver 11 Name: mariadb Version: %{compatver}.%{bugfixver} @@ -1001,6 +1001,7 @@ fi %{_bindir}/aria_ftdump %{_bindir}/aria_pack %{_bindir}/aria_read_log +%{_bindir}/maria_add_gis_sp.sql %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog @@ -1033,6 +1034,7 @@ fi %{?with_tokudb:%{_bindir}/tokuft_logprint} %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf +%config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf %{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf} %{_libexecdir}/mysqld @@ -1169,6 +1171,9 @@ fi %endif %changelog +* Wed Feb 3 2016 Jakub Dorňák - 1:10.1.11-1 +- Update to 10.1.11 + * Tue Jan 19 2016 Jakub Dorňák - 1:10.1.10-1 - Update to 10.1.10 diff --git a/sources b/sources index 4bf4ebc..a78b5f2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9aa4d68b24c1ddd8cb56923a920684b3 mariadb-10.1.10.tar.gz +c199608ae4282f16007dc8c270ff2439 mariadb-10.1.11.tar.gz From 6562be992f781e61ef4ad25b60d54aeb29a612a5 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 4 Feb 2016 04:53:25 +0000 Subject: [PATCH 250/789] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 1264127..bee7ac7 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -116,7 +116,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1171,6 +1171,9 @@ fi %endif %changelog +* Thu Feb 04 2016 Fedora Release Engineering - 1:10.1.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + * Wed Feb 3 2016 Jakub Dorňák - 1:10.1.11-1 - Update to 10.1.11 From 35f670f8ce3c6cd6380cf0e8e0842818eb7079d8 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sun, 7 Feb 2016 14:29:38 +0100 Subject: [PATCH 251/789] Add files missing in spec --- mariadb.spec | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index bee7ac7..a0d2879 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1001,7 +1001,9 @@ fi %{_bindir}/aria_ftdump %{_bindir}/aria_pack %{_bindir}/aria_read_log +%{_bindir}/galera_new_cluster %{_bindir}/maria_add_gis_sp.sql +%{_bindir}/mariadb-service-convert %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog @@ -1102,6 +1104,9 @@ fi %{_datadir}/%{pkg_name}/policy/apparmor/usr.sbin.mysqld* %{_datadir}/%{pkg_name}/policy/selinux/README %{_datadir}/%{pkg_name}/policy/selinux/mariadb-server.* +%{_datadir}/%{pkg_name}/systemd/mariadb.service +%{_datadir}/%{pkg_name}/systemd/mariadb@.service +%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %{daemondir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir From 0265f229ab9b7ac168ed09263e2f8e48f5d9162a Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sun, 7 Feb 2016 19:40:35 +0100 Subject: [PATCH 252/789] Temporarily disabling oqgraph for https://mariadb.atlassian.net/browse/MDEV-9479 --- mariadb.spec | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index a0d2879..3f9af51 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -41,7 +41,8 @@ # The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing # hierarchies and more complex graph structures to be handled in a relational # fashion; enabled by default -%bcond_without oqgraph +# Temporarily disabling oqgraph: https://mariadb.atlassian.net/browse/MDEV-9479 +%bcond_with oqgraph # For some use cases we do not need some parts of the package %bcond_without clibrary @@ -116,7 +117,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -789,6 +790,10 @@ mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/connect.cnf %endif +%if %{without oqgraph} +rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/oqgraph.cnf +%endif + %if %{without config} rm -f %{buildroot}%{_sysconfdir}/my.cnf rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf @@ -1176,6 +1181,10 @@ fi %endif %changelog +* Sun Feb 07 2016 Honza Horak - 1:10.1.11-3 +- Temporarily disabling oqgraph for + https://mariadb.atlassian.net/browse/MDEV-9479 + * Thu Feb 04 2016 Fedora Release Engineering - 1:10.1.11-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild From 43cc79ee49c0a4bec38db777beb230f75fddf1e0 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 8 Feb 2016 06:56:32 +0100 Subject: [PATCH 253/789] Use systemd unit file more compatible with upstream --- mariadb-scripts.patch | 3 ++- mariadb.spec | 8 ++++++-- mysql.service.in | 23 +++++++++++++++++++++-- 3 files changed, 29 insertions(+), 5 deletions(-) diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index 9b2446a..c2e7724 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -1,6 +1,6 @@ --- mariadb-10.1.11.orig/scripts/CMakeLists.txt 2016-01-28 13:12:51.000000000 +0100 +++ mariadb-10.1.11/scripts/CMakeLists.txt 2016-02-03 12:46:26.306109293 +0100 -@@ -320,6 +320,33 @@ ELSE() +@@ -320,6 +320,34 @@ ELSE() COMPONENT ${${file}_COMPONENT} ) ENDFOREACH() @@ -9,6 +9,7 @@ + SET(SYSTEMD_SCRIPTS + mysql.tmpfiles.d + mysql.service ++ mysql@.service + mysql-prepare-db-dir + mysql-wait-ready + mysql-wait-stop diff --git a/mariadb.spec b/mariadb.spec index 3f9af51..1141cc9 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -117,7 +117,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -194,7 +194,7 @@ BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) # for running some openssl tests rhbz#1189180 BuildRequires: openssl -%{?with_init_systemd:BuildRequires: systemd} +%{?with_init_systemd:BuildRequires: systemd systemd-devel} Requires: bash Requires: fileutils @@ -528,6 +528,7 @@ cat %{SOURCE52} | tee -a mysql-test/rh-skipped-tests.list cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE19} \ scripts +cp %{SOURCE11} scripts/mysql@.service.in %build @@ -1181,6 +1182,9 @@ fi %endif %changelog +* Mon Feb 08 2016 Honza Horak - 1:10.1.11-4 +- Use systemd unit file more compatible with upstream + * Sun Feb 07 2016 Honza Horak - 1:10.1.11-3 - Temporarily disabling oqgraph for https://mariadb.atlassian.net/browse/MDEV-9479 diff --git a/mysql.service.in b/mysql.service.in index 3f8ce06..0f3e823 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -22,13 +22,15 @@ # Don't forget to reload systemd daemon after you change unit configuration: # root> systemctl --system daemon-reload +# Use [mysqld.INSTANCENAME] as sections in my.cnf to configure this instance. + [Unit] Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server After=syslog.target After=network.target [Service] -Type=simple +Type=notify User=mysql Group=mysql @@ -36,11 +38,28 @@ ExecStartPre=@libexecdir@/mysql-check-socket ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 -ExecStart=@bindir@/mysqld_safe --basedir=@prefix@ +ExecStart=@libexecdir@/mysqld --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER ExecStartPost=@libexecdir@/mysql-wait-ready $MAINPID ExecStartPost=@libexecdir@/mysql-check-upgrade ExecStopPost=@libexecdir@/mysql-wait-stop +# Setting this to true can break replication and the Type=notify settings +# See also bind-address mysqld option. +PrivateNetwork=false + +KillMode=process +KillSignal=SIGTERM + +# Don't want to see an automated SIGKILL ever +SendSIGKILL=no + +# Restart crashed server only, on-failure would also restart, for example, when +# my.cnf contains unknown option +Restart=on-abort +RestartSec=5s + +UMask=007 + # Give a reasonable amount of time for the server to start up/shut down TimeoutSec=300 From a97ddad354d78d9a2ec7bfa2b54a5baba5b4adbd Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 11 Feb 2016 10:24:38 +0100 Subject: [PATCH 254/789] Add missing requirements for proper wsrep functionality --- mariadb.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 1141cc9..f9fe63f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -117,7 +117,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -317,6 +317,11 @@ Requires(posttrans): systemd # mysqlhotcopy needs DBI/DBD support Requires: perl(DBI) Requires: perl(DBD::mysql) +# wsrep requirements +Requires: lsof +Requires: net-tools +Requires: sh-utils +Requires: rsync %if %{with mysql_names} Provides: mysql-server = %{sameevr} Provides: mysql-server%{?_isa} = %{sameevr} @@ -1182,6 +1187,9 @@ fi %endif %changelog +* Thu Feb 11 2016 Honza Horak - 1:10.1.11-5 +- Add missing requirements for proper wsrep functionality + * Mon Feb 08 2016 Honza Horak - 1:10.1.11-4 - Use systemd unit file more compatible with upstream From d43c4315abbd707769baacc9e2895082b5df9aab Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 11 Feb 2016 10:35:49 +0100 Subject: [PATCH 255/789] Obsolate mariadb-galera & mariadb-galera-server (thanks Tomas Repik) Resolves: #1279753 --- mariadb.spec | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index f9fe63f..c624bb5 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -106,6 +106,11 @@ %global obsoleted_mysql_evr 5.6-0 %global obsoleted_mysql_case_evr 5.5.30-5 +# The evr of mariadb-galera we want to obsolete +%global obsoleted_mariadb_galera_evr 10.0.17-6 +%global obsoleted_mariadb_galera_common_evr 5.5.36-10 +%global obsoleted_mariadb_galera_server_evr 10.0.17-6 + # Provide mysql names for compatibility %bcond_without mysql_names %bcond_without conflicts @@ -213,6 +218,10 @@ Provides: mysql-compat-client%{?_isa} = %{sameevr} %{?obsoleted_mysql_evr:Obsoletes: mysql < %{obsoleted_mysql_evr}} %{?with_conflicts:Conflicts: community-mysql} +# obsolation of mariadb-galera +Provides: mariadb-galera = %{sameevr} +Obsoletes: mariadb-galera < %{obsolated_mariadb_galera_evr} + # Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering %if 0%{?fedora} > 14 || 0%{?rhel} > 6 %global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) @@ -270,6 +279,10 @@ Summary: The shared files required by server and client Group: Applications/Databases Requires: %{_sysconfdir}/my.cnf +# obsolation of mariadb-galera-common +Provides: mariadb-galera-common = %{sameevr} +Obsoletes: mariadb-galera-common < %{obsolated_mariadb_galera_common_evr} + %description common The package provides the essential shared files for any MariaDB program. You will need to install this package to use any other MariaDB package. @@ -333,6 +346,10 @@ Provides: mysql-compat-server%{?_isa} = %{sameevr} %{?with_conflicts:Conflicts: mariadb-galera-server} %{?obsoleted_mysql_evr:Obsoletes: mysql-server < %{obsoleted_mysql_evr}} +# obsolation of mariadb-galera-server +Provides: mariadb-galera-server = %{sameevr} +Obsoletes: mariadb-galera-server < %{obsolated_mariadb_galera_server_evr} + %description server MariaDB is a multi-user, multi-threaded SQL database server. It is a client/server implementation consisting of a server daemon (mysqld) @@ -1189,6 +1206,8 @@ fi %changelog * Thu Feb 11 2016 Honza Horak - 1:10.1.11-5 - Add missing requirements for proper wsrep functionality +- Obsolate mariadb-galera & mariadb-galera-server (thanks Tomas Repik) + Resolves: #1279753 * Mon Feb 08 2016 Honza Horak - 1:10.1.11-4 - Use systemd unit file more compatible with upstream From f7a17ba600d9d9c8f447c351e7fb14f644098947 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 11 Feb 2016 11:40:18 +0100 Subject: [PATCH 256/789] Re-enable using libedit, which should be now fixed Related: #1201988 --- mariadb.spec | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index c624bb5..4e93667 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -174,6 +174,7 @@ Patch37: %{pkgnamepatch}-notestdb.patch BuildRequires: cmake BuildRequires: libaio-devel +BuildRequires: libedit-devel BuildRequires: openssl-devel BuildRequires: ncurses-devel BuildRequires: perl @@ -526,10 +527,6 @@ MariaDB is a community developed branch of MySQL. %patch36 -p1 %patch37 -p1 -# removing bundled cmd-line-utils is now disabled -# we cannot use libedit due #1201988 -# rm -r cmd-line-utils - sed -i -e 's/2.8.7/2.6.4/g' cmake/cpack_rpm.cmake # workaround for upstream bug #56342 @@ -593,7 +590,6 @@ export LDFLAGS %cmake . \ -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ - -DWITH_READLINE=ON \ -DINSTALL_LAYOUT=RPM \ -DDAEMON_NAME="%{daemon_name}" \ -DDAEMON_NO_PREFIX="%{daemon_no_prefix}" \ @@ -1208,6 +1204,8 @@ fi - Add missing requirements for proper wsrep functionality - Obsolate mariadb-galera & mariadb-galera-server (thanks Tomas Repik) Resolves: #1279753 +- Re-enable using libedit, which should be now fixed + Related: #1201988 * Mon Feb 08 2016 Honza Horak - 1:10.1.11-4 - Use systemd unit file more compatible with upstream From 2caa773538c1d27e10cb86e15d76c39c20339cf9 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 11 Feb 2016 11:58:28 +0100 Subject: [PATCH 257/789] Remove mariadb-wait-ready call from systemd unit, we have now systemd notify support Make mariadb@.service similar to mariadb.service --- mariadb.spec | 7 +++-- mysql.service.in | 2 +- mysql@.service.in | 77 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 83 insertions(+), 3 deletions(-) create mode 100644 mysql@.service.in diff --git a/mariadb.spec b/mariadb.spec index 4e93667..5e6a6d6 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -148,6 +148,7 @@ Source14: mysql-check-socket.sh Source15: mysql-scripts-common.sh Source16: mysql-check-upgrade.sh Source17: mysql-wait-stop.sh +Source18: mysql@.service.in Source19: mysql.init.in Source50: rh-skipped-tests-base.list Source51: rh-skipped-tests-arm.list @@ -545,9 +546,8 @@ cat %{SOURCE52} | tee -a mysql-test/rh-skipped-tests.list %endif cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ - %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE19} \ + %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} %{SOURCE19} \ scripts -cp %{SOURCE11} scripts/mysql@.service.in %build @@ -698,6 +698,7 @@ mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my. # install systemd unit files and scripts for handling server startup %if %{with init_systemd} install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service +install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?mysqld_pid_dir:1} echo "d %{_localstatedir}/run/%{mysqld_pid_dir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf @@ -1206,6 +1207,8 @@ fi Resolves: #1279753 - Re-enable using libedit, which should be now fixed Related: #1201988 +- Remove mariadb-wait-ready call from systemd unit, we have now systemd notify support +- Make mariadb@.service similar to mariadb.service * Mon Feb 08 2016 Honza Horak - 1:10.1.11-4 - Use systemd unit file more compatible with upstream diff --git a/mysql.service.in b/mysql.service.in index 0f3e823..c385b4a 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -36,10 +36,10 @@ Group=mysql ExecStartPre=@libexecdir@/mysql-check-socket ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n +# MYSQLD_OPTS here is for users to set in /etc/systemd/system/@DAEMON_NAME@@.service.d/MY_SPECIAL.conf # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 ExecStart=@libexecdir@/mysqld --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER -ExecStartPost=@libexecdir@/mysql-wait-ready $MAINPID ExecStartPost=@libexecdir@/mysql-check-upgrade ExecStopPost=@libexecdir@/mysql-wait-stop diff --git a/mysql@.service.in b/mysql@.service.in new file mode 100644 index 0000000..ab9a7cd --- /dev/null +++ b/mysql@.service.in @@ -0,0 +1,77 @@ +# Multi instance version of mariadb. For if you run mutiple verions at once. +# Also used for @DAEMON_NAME@@bootstrap to bootstrap Galera. +# +# To use multi instance variant, use [mysqld.INSTANCENAME] as sections in my.cnf +# and start the service via: +# systemctl start @DAEMON_NAME@@{instancename}.server +# +# It's not recommended to modify this file in-place, because it will be +# overwritten during package upgrades. If you want to customize, the +# best way is to create a file "/etc/systemd/system/@DAEMON_NAME@.service", +# containing +# .include /usr/lib/systemd/system/@DAEMON_NAME@.service +# ...make your changes here... +# or create a file "/etc/systemd/system/@DAEMON_NAME@.service.d/foo.conf", +# which doesn't need to include ".include" call and which will be parsed +# after the file @DAEMON_NAME@.service itself is parsed. +# +# For more info about custom unit files, see systemd.unit(5) or +# http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F + +# For example, if you want to increase mysql's open-files-limit to 10000, +# you need to increase systemd's LimitNOFILE setting, so create a file named +# "/etc/systemd/system/@DAEMON_NAME@.service.d/limits.conf" containing: +# [Service] +# LimitNOFILE=10000 + +# Note: /usr/lib/... is recommended in the .include line though /lib/... +# still works. +# Don't forget to reload systemd daemon after you change unit configuration: +# root> systemctl --system daemon-reload + +# Use [mysqld.INSTANCENAME] as sections in my.cnf to configure this instance. + +[Unit] +Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server +After=syslog.target +After=network.target + +[Service] +Type=notify +User=mysql +Group=mysql + +ExecStartPre=@libexecdir@/mysql-check-socket +ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n +# MYSQLD_OPTS here is for users to set in /etc/systemd/system/@DAEMON_NAME@@.service.d/MY_SPECIAL.conf +# Note: we set --basedir to prevent probes that might trigger SELinux alarms, +# per bug #547485 +ExecStart=@libexecdir@/mysqld --defaults-group-suffix=.%I --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER +ExecStartPost=@libexecdir@/mysql-check-upgrade +ExecStopPost=@libexecdir@/mysql-wait-stop + +# Setting this to true can break replication and the Type=notify settings +# See also bind-address mysqld option. +PrivateNetwork=false + +KillMode=process +KillSignal=SIGTERM + +# Don't want to see an automated SIGKILL ever +SendSIGKILL=no + +# Restart crashed server only, on-failure would also restart, for example, when +# my.cnf contains unknown option +Restart=on-abort +RestartSec=5s + +UMask=007 + +# Give a reasonable amount of time for the server to start up/shut down +TimeoutSec=300 + +# Place temp files in a secure directory, not /tmp +PrivateTmp=true + +[Install] +WantedBy=multi-user.target From 3e8dc51024a3620ea2b7d4723e84717934f13a96 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 12 Feb 2016 08:34:57 +0100 Subject: [PATCH 258/789] Fix typo s/obsolate/obsolete/ --- mariadb.spec | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 5e6a6d6..5654f96 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -122,7 +122,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 5%{?with_debug:.debug}%{?dist} +Release: 6%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -220,9 +220,9 @@ Provides: mysql-compat-client%{?_isa} = %{sameevr} %{?obsoleted_mysql_evr:Obsoletes: mysql < %{obsoleted_mysql_evr}} %{?with_conflicts:Conflicts: community-mysql} -# obsolation of mariadb-galera +# obsoletion of mariadb-galera Provides: mariadb-galera = %{sameevr} -Obsoletes: mariadb-galera < %{obsolated_mariadb_galera_evr} +Obsoletes: mariadb-galera < %{obsoleted_mariadb_galera_evr} # Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering %if 0%{?fedora} > 14 || 0%{?rhel} > 6 @@ -281,9 +281,9 @@ Summary: The shared files required by server and client Group: Applications/Databases Requires: %{_sysconfdir}/my.cnf -# obsolation of mariadb-galera-common +# obsoletion of mariadb-galera-common Provides: mariadb-galera-common = %{sameevr} -Obsoletes: mariadb-galera-common < %{obsolated_mariadb_galera_common_evr} +Obsoletes: mariadb-galera-common < %{obsoleted_mariadb_galera_common_evr} %description common The package provides the essential shared files for any MariaDB program. @@ -348,9 +348,9 @@ Provides: mysql-compat-server%{?_isa} = %{sameevr} %{?with_conflicts:Conflicts: mariadb-galera-server} %{?obsoleted_mysql_evr:Obsoletes: mysql-server < %{obsoleted_mysql_evr}} -# obsolation of mariadb-galera-server +# obsoletion of mariadb-galera-server Provides: mariadb-galera-server = %{sameevr} -Obsoletes: mariadb-galera-server < %{obsolated_mariadb_galera_server_evr} +Obsoletes: mariadb-galera-server < %{obsoleted_mariadb_galera_server_evr} %description server MariaDB is a multi-user, multi-threaded SQL database server. It is a @@ -1201,6 +1201,9 @@ fi %endif %changelog +* Fri Feb 12 2016 Honza Horak - 1:10.1.11-6 +- Fix typo s/obsolate/obsolete/ + * Thu Feb 11 2016 Honza Horak - 1:10.1.11-5 - Add missing requirements for proper wsrep functionality - Obsolate mariadb-galera & mariadb-galera-server (thanks Tomas Repik) From e0c8c9c170af90f1393650ca971fc6601d249a37 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 12 Feb 2016 12:22:22 +0100 Subject: [PATCH 259/789] Add Provides: bundled(pcre) in case we build with bundled pcre Related: #1302296 --- mariadb.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 5654f96..3442768 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -122,7 +122,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 6%{?with_debug:.debug}%{?dist} +Release: 7%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -183,7 +183,9 @@ BuildRequires: systemtap-sdt-devel BuildRequires: zlib-devel # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel +# use either new enough version of pcre or provide bundles(pcre) %{?with_pcre:BuildRequires: pcre-devel >= 8.35} +%{!?with_pcre:Provides: bundled(pcre) = 8.38} # Tests requires time and ps and some perl modules BuildRequires: procps BuildRequires: time @@ -1201,6 +1203,10 @@ fi %endif %changelog +* Fri Feb 12 2016 Honza Horak - 1:10.1.11-7 +- Add Provides: bundled(pcre) in case we build with bundled pcre + Related: #1302296 + * Fri Feb 12 2016 Honza Horak - 1:10.1.11-6 - Fix typo s/obsolate/obsolete/ From d13216c17820c3c4ade8b5814a82c0f387ecf6a1 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 12 Feb 2016 12:45:58 +0100 Subject: [PATCH 260/789] embedded-devel should require libaio-devel Resolves: #1290517 --- mariadb.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index 3442768..6a6939e 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -442,6 +442,8 @@ Summary: Development files for MariaDB as an embeddable library Group: Applications/Databases Requires: %{name}-embedded%{?_isa} = %{sameevr} Requires: %{name}-devel%{?_isa} = %{sameevr} +# embedded-devel should require libaio-devel (rhbz#1290517) +Requires: libaio-devel %if %{with mysql_names} Provides: mysql-embedded-devel = %{sameevr} Provides: mysql-embedded-devel%{?_isa} = %{sameevr} @@ -1206,6 +1208,8 @@ fi * Fri Feb 12 2016 Honza Horak - 1:10.1.11-7 - Add Provides: bundled(pcre) in case we build with bundled pcre Related: #1302296 +- embedded-devel should require libaio-devel + Resolves: #1290517 * Fri Feb 12 2016 Honza Horak - 1:10.1.11-6 - Fix typo s/obsolate/obsolete/ From 3c90b1d1a28eb9eca0af27d2d9e9afdf5569601d Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sat, 13 Feb 2016 17:24:01 +0100 Subject: [PATCH 261/789] Use epoch for obsoleting mariadb-galera-server --- mariadb.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 6a6939e..9d97995 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -107,9 +107,9 @@ %global obsoleted_mysql_case_evr 5.5.30-5 # The evr of mariadb-galera we want to obsolete -%global obsoleted_mariadb_galera_evr 10.0.17-6 +%global obsoleted_mariadb_galera_evr 1:10.0.17-6 %global obsoleted_mariadb_galera_common_evr 5.5.36-10 -%global obsoleted_mariadb_galera_server_evr 10.0.17-6 +%global obsoleted_mariadb_galera_server_evr 1:10.0.17-6 # Provide mysql names for compatibility %bcond_without mysql_names @@ -122,7 +122,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 7%{?with_debug:.debug}%{?dist} +Release: 8%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1205,6 +1205,9 @@ fi %endif %changelog +* Sat Feb 13 2016 Honza Horak - 1:10.1.11-8 +- Use epoch for obsoleting mariadb-galera-server + * Fri Feb 12 2016 Honza Horak - 1:10.1.11-7 - Add Provides: bundled(pcre) in case we build with bundled pcre Related: #1302296 From 20e34b49a4826476e18d6cd277e603dbf8a2fead Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 16 Feb 2016 10:43:14 +0100 Subject: [PATCH 262/789] Remove dangling symlink to /etc/init.d/mysql --- mariadb.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 9d97995..354bb5b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -122,7 +122,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 8%{?with_debug:.debug}%{?dist} +Release: 9%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -769,8 +769,9 @@ install -p -m 0644 mysql-test/rh-skipped-tests.list %{buildroot}%{_datadir}/mysq # remove unneeded RHEL-4 SELinux stuff rm -rf %{buildroot}%{_datadir}/%{pkg_name}/SELinux/ -# remove SysV init script +# remove SysV init script and a symlink to that rm -f %{buildroot}%{_sysconfdir}/init.d/mysql +rm -f %{buildroot}%{_libexecdir}/rcmysql # remove duplicate logrotate script rm -f %{buildroot}%{_sysconfdir}/logrotate.d/mysql @@ -1144,7 +1145,6 @@ fi %{_libexecdir}/mysql-check-socket %{_libexecdir}/mysql-check-upgrade %{_libexecdir}/mysql-scripts-common -%{_libexecdir}/rcmysql %{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} %attr(0755,mysql,mysql) %dir %{pidfiledir} @@ -1205,6 +1205,9 @@ fi %endif %changelog +* Tue Feb 16 2016 Honza Horak - 1:10.1.11-9 +- Remove dangling symlink to /etc/init.d/mysql + * Sat Feb 13 2016 Honza Horak - 1:10.1.11-8 - Use epoch for obsoleting mariadb-galera-server From 7fa8e9931ae4cbe9cb438629517b30f6d1e50346 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Mon, 29 Feb 2016 18:32:00 +0100 Subject: [PATCH 263/789] Update to 10.1.12 --- .gitignore | 27 +++------------------------ mariadb.spec | 8 +++++--- sources | 2 +- 3 files changed, 9 insertions(+), 28 deletions(-) diff --git a/.gitignore b/.gitignore index 62e7565..20870bb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,24 +1,3 @@ -/mariadb-5.5.28a.tar.gz -/mariadb-5.5.29.tar.gz -/mariadb-5.5.30.tar.gz -/mariadb-5.5.31.tar.gz -/mariadb-5.5.32.tar.gz -/mariadb-5.5.33a.tar.gz -/mariadb-5.5.34.tar.gz -/mariadb-5.5.35.tar.gz -/mariadb-5.5.36.tar.gz -/mariadb-10.0.10.tar.gz -/mariadb-10.0.11.tar.gz -/mariadb-10.0.12.tar.gz -/mariadb-10.0.13.tar.gz -/mariadb-10.0.14.tar.gz -/mariadb-10.0.15.tar.gz -/mariadb-10.0.16.tar.gz -/mariadb-10.0.17.tar.gz -/mariadb-10.0.18.tar.gz -/mariadb-10.0.19.tar.gz -/mariadb-10.0.20.tar.gz -/mariadb-10.0.21.tar.gz -/mariadb-10.1.8.tar.gz -/mariadb-10.1.10.tar.gz -/mariadb-10.1.11.tar.gz +/*/ +/*.rpm +/*.tar.gz diff --git a/mariadb.spec b/mariadb.spec index 354bb5b..6e15c19 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -118,11 +118,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.1 -%global bugfixver 11 +%global bugfixver 12 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 9%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1032,7 +1032,6 @@ fi %{_bindir}/aria_pack %{_bindir}/aria_read_log %{_bindir}/galera_new_cluster -%{_bindir}/maria_add_gis_sp.sql %{_bindir}/mariadb-service-convert %{_bindir}/myisamchk %{_bindir}/myisam_ftdump @@ -1205,6 +1204,9 @@ fi %endif %changelog +* Mon Feb 29 2016 Jakub Dorňák - 1:10.1.12-1 +- Update to 10.1.12 + * Tue Feb 16 2016 Honza Horak - 1:10.1.11-9 - Remove dangling symlink to /etc/init.d/mysql diff --git a/sources b/sources index a78b5f2..8ef6ae1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c199608ae4282f16007dc8c270ff2439 mariadb-10.1.11.tar.gz +a2c0809f27ec112139c2c50f03569b2b mariadb-10.1.12.tar.gz From fa6213e0b414ab25d9d4e6501c2064fbd0c3912e Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 1 Mar 2016 15:26:02 +0100 Subject: [PATCH 264/789] Rebuild for BZ#1309199 (symbol versioning) --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 6e15c19..5999938 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -122,7 +122,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1204,6 +1204,9 @@ fi %endif %changelog +* Tue Mar 01 2016 Honza Horak - 1:10.1.12-2 +- Rebuild for BZ#1309199 (symbol versioning) + * Mon Feb 29 2016 Jakub Dorňák - 1:10.1.12-1 - Update to 10.1.12 From 063b7bbe38b598d6c22124d9588155de6eb2ce08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Fri, 18 Mar 2016 16:23:14 +0100 Subject: [PATCH 265/789] use uname -n instead of hostname resolves: #1317907 --- mysql-scripts-common.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mysql-scripts-common.sh b/mysql-scripts-common.sh index 925cf9c..bf2888f 100644 --- a/mysql-scripts-common.sh +++ b/mysql-scripts-common.sh @@ -47,12 +47,12 @@ datadir="$result" # returns log-error # log-error might be defined in mysqld_safe and mysqld sections, # the former has bigger priority -get_mysql_option "$server_sections" log-error "$datadir/`hostname`.err" +get_mysql_option "$server_sections" log-error "$datadir/`uname -n`.err" errlogfile="$result" get_mysql_option "$server_sections" socket "@MYSQL_UNIX_ADDR@" socketfile="$result" -get_mysql_option "$server_sections" pid-file "$datadir/`hostname`.pid" +get_mysql_option "$server_sections" pid-file "$datadir/`uname -n`.pid" pidfile="$result" From 803bbfca97cf89ff9dae71357a1a527348b3bef1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Tue, 22 Mar 2016 15:30:08 +0100 Subject: [PATCH 266/789] Add subpackage mariadb-server-galera Resolves: 1310622 --- LICENSE.clustercheck | 27 +++++++++++++ clustercheck.sh | 89 +++++++++++++++++++++++++++++++++++++++++++ mariadb-scripts.patch | 3 +- mariadb.spec | 58 ++++++++++++++++++++++++---- 4 files changed, 169 insertions(+), 8 deletions(-) create mode 100644 LICENSE.clustercheck create mode 100644 clustercheck.sh diff --git a/LICENSE.clustercheck b/LICENSE.clustercheck new file mode 100644 index 0000000..609015d --- /dev/null +++ b/LICENSE.clustercheck @@ -0,0 +1,27 @@ +Copyright (c) 2012-2014, Olaf van Zandwijk +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/clustercheck.sh b/clustercheck.sh new file mode 100644 index 0000000..782dbb6 --- /dev/null +++ b/clustercheck.sh @@ -0,0 +1,89 @@ +#!/bin/bash +# +# Script to make a proxy (ie HAProxy) capable of monitoring Galera cluster nodes properly +# +# Author: Olaf van Zandwijk +# Author: Raghavendra Prabhu +# Author: Ryan O'Hara +# +# Documentation and download: https://github.com/olafz/percona-clustercheck +# +# Based on the original script from Unai Rodriguez +# + +if [ -f @INSTALL_SYSCONFDIR@/sysconfig/clustercheck ]; then + . @INSTALL_SYSCONFDIR@/sysconfig/clustercheck +fi + +MYSQL_USERNAME="${MYSQL_USERNAME-clustercheckuser}" +MYSQL_PASSWORD="${MYSQL_PASSWORD-clustercheckpassword!}" +MYSQL_HOST="${MYSQL_HOST:-127.0.0.1}" +MYSQL_PORT="${MYSQL_PORT:-3306}" +ERR_FILE="${ERR_FILE:-/dev/null}" +AVAILABLE_WHEN_DONOR=${AVAILABLE_WHEN_DONOR:-0} +AVAILABLE_WHEN_READONLY=${AVAILABLE_WHEN_READONLY:-1} +DEFAULTS_EXTRA_FILE=${DEFAULTS_EXTRA_FILE:-@INSTALL_SYSCONFDIR@/my.cnf} + +#Timeout exists for instances where mysqld may be hung +TIMEOUT=10 + +if [[ -r $DEFAULTS_EXTRA_FILE ]];then + MYSQL_CMDLINE="mysql --defaults-extra-file=$DEFAULTS_EXTRA_FILE -nNE \ + --connect-timeout=$TIMEOUT \ + --user=${MYSQL_USERNAME} --password=${MYSQL_PASSWORD} \ + --host=${MYSQL_HOST} --port=${MYSQL_PORT}" +else + MYSQL_CMDLINE="mysql -nNE --connect-timeout=$TIMEOUT \ + --user=${MYSQL_USERNAME} --password=${MYSQL_PASSWORD} \ + --host=${MYSQL_HOST} --port=${MYSQL_PORT}" +fi +# +# Perform the query to check the wsrep_local_state +# +WSREP_STATUS=$($MYSQL_CMDLINE -e "SHOW STATUS LIKE 'wsrep_local_state';" \ + 2>${ERR_FILE} | tail -1 2>>${ERR_FILE}) + +if [[ "${WSREP_STATUS}" == "4" ]] || [[ "${WSREP_STATUS}" == "2" && ${AVAILABLE_WHEN_DONOR} == 1 ]] +then + # Check only when set to 0 to avoid latency in response. + if [[ $AVAILABLE_WHEN_READONLY -eq 0 ]];then + READ_ONLY=$($MYSQL_CMDLINE -e "SHOW GLOBAL VARIABLES LIKE 'read_only';" \ + 2>${ERR_FILE} | tail -1 2>>${ERR_FILE}) + + if [[ "${READ_ONLY}" == "ON" ]];then + # Galera cluster node local state is 'Synced', but it is in + # read-only mode. The variable AVAILABLE_WHEN_READONLY is set to 0. + # => return HTTP 503 + # Shell return-code is 1 + echo -en "HTTP/1.1 503 Service Unavailable\r\n" + echo -en "Content-Type: text/plain\r\n" + echo -en "Connection: close\r\n" + echo -en "Content-Length: 35\r\n" + echo -en "\r\n" + echo -en "Galera cluster node is read-only.\r\n" + sleep 0.1 + exit 1 + fi + fi + # Galera cluster node local state is 'Synced' => return HTTP 200 + # Shell return-code is 0 + echo -en "HTTP/1.1 200 OK\r\n" + echo -en "Content-Type: text/plain\r\n" + echo -en "Connection: close\r\n" + echo -en "Content-Length: 32\r\n" + echo -en "\r\n" + echo -en "Galera cluster node is synced.\r\n" + sleep 0.1 + exit 0 +else + # Galera cluster node local state is not 'Synced' => return HTTP 503 + # Shell return-code is 1 + echo -en "HTTP/1.1 503 Service Unavailable\r\n" + echo -en "Content-Type: text/plain\r\n" + echo -en "Connection: close\r\n" + echo -en "Content-Length: 36\r\n" + echo -en "\r\n" + echo -en "Galera cluster node is not synced.\r\n" + sleep 0.1 + exit 1 +fi diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index c2e7724..6ba5bae 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -1,6 +1,6 @@ --- mariadb-10.1.11.orig/scripts/CMakeLists.txt 2016-01-28 13:12:51.000000000 +0100 +++ mariadb-10.1.11/scripts/CMakeLists.txt 2016-02-03 12:46:26.306109293 +0100 -@@ -320,6 +320,34 @@ ELSE() +@@ -320,6 +320,35 @@ ELSE() COMPONENT ${${file}_COMPONENT} ) ENDFOREACH() @@ -17,6 +17,7 @@ + mysql-check-upgrade + mysql-scripts-common + mysql_config_multilib ++ clustercheck + mysql.init + my.cnf + ) diff --git a/mariadb.spec b/mariadb.spec index 5999938..c9899ff 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -54,6 +54,7 @@ %bcond_without bench %bcond_without test %bcond_without connect +%bcond_without galera # When there is already another package that ships /etc/my.cnf, # rather include it than ship the file again, since conflicts between @@ -122,7 +123,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -153,6 +154,9 @@ Source19: mysql.init.in Source50: rh-skipped-tests-base.list Source51: rh-skipped-tests-arm.list Source52: rh-skipped-tests-ppc-s390.list +# TODO: clustercheck contains some hard-coded paths, these should be expanded using template system +Source70: clustercheck.sh +Source71: LICENSE.clustercheck # Comments for these patches are in the patch files # Patches common for more mysql-like packages @@ -306,6 +310,27 @@ MariaDB packages. %endif +%if %{with galera} +%package server-galera +Summary: The configuration files and scripts for galera replication +Group: Applications/Databases +Requires: %{name}-common%{?_isa} = %{sameevr} +Requires: %{name}-server%{?_isa} = %{sameevr} +Requires: galera >= 25.3.3 + +# obsoletion of mariadb-galera-server +Provides: mariadb-galera-server = %{sameevr} +Obsoletes: mariadb-galera-server < %{obsoleted_mariadb_galera_server_evr} + +%description server-galera +MariaDB is a multi-user, multi-threaded SQL database server. It is a +client/server implementation consisting of a server daemon (mysqld) +and many different client programs and libraries. This package contains +the MariaDB server and some accompanying files and directories. +MariaDB is a community developed branch of MySQL. +%endif + + %package server Summary: The MariaDB server and related files Group: Applications/Databases @@ -350,10 +375,6 @@ Provides: mysql-compat-server%{?_isa} = %{sameevr} %{?with_conflicts:Conflicts: mariadb-galera-server} %{?obsoleted_mysql_evr:Obsoletes: mysql-server < %{obsoleted_mysql_evr}} -# obsoletion of mariadb-galera-server -Provides: mariadb-galera-server = %{sameevr} -Obsoletes: mariadb-galera-server < %{obsoleted_mariadb_galera_server_evr} - %description server MariaDB is a multi-user, multi-threaded SQL database server. It is a client/server implementation consisting of a server daemon (mysqld) @@ -551,7 +572,7 @@ cat %{SOURCE52} | tee -a mysql-test/rh-skipped-tests.list cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} %{SOURCE19} \ - scripts + %{SOURCE70} scripts %build @@ -762,6 +783,15 @@ install -p -m 0644 %{SOURCE5} %{basename:%{SOURCE5}} install -p -m 0644 %{SOURCE6} %{basename:%{SOURCE6}} install -p -m 0644 %{SOURCE7} %{basename:%{SOURCE7}} install -p -m 0644 %{SOURCE16} %{basename:%{SOURCE16}} +install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}} + +# install galera config file +install -p -m 0644 support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf + +# install the clustercheck script +mkdir -p %{buildroot}%{_sysconfdir}/sysconfig +touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck +install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck # 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 @@ -779,6 +809,9 @@ rm -f %{buildroot}%{_sysconfdir}/logrotate.d/mysql # remove solaris files rm -rf %{buildroot}%{_datadir}/%{pkg_name}/solaris/ +# rename the wsrep README so it corresponds with the other README names +mv Docs/README-wsrep Docs/README.wsrep + %if %{without clibrary} unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so @@ -1023,6 +1056,13 @@ fi %lang(uk) %{_datadir}/%{pkg_name}/ukrainian %endif +%files server-galera +%doc Docs/README.wsrep +%license LICENSE.clustercheck +%{_bindir}/galera_new_cluster +%{_bindir}/clustercheck +%config(noreplace) %{_sysconfdir}/my.cnf.d/galera.cnf + %files server %doc README.mysql-cnf @@ -1031,7 +1071,6 @@ fi %{_bindir}/aria_ftdump %{_bindir}/aria_pack %{_bindir}/aria_read_log -%{_bindir}/galera_new_cluster %{_bindir}/mariadb-service-convert %{_bindir}/myisamchk %{_bindir}/myisam_ftdump @@ -1067,6 +1106,7 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf %{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf} +%attr(0640,root,root) %ghost %config(noreplace) %{_sysconfdir}/sysconfig/clustercheck %{_libexecdir}/mysqld @@ -1204,6 +1244,10 @@ fi %endif %changelog +* Tue Mar 22 2016 Jakub Dorňák - 1:10.1.12-3 +- Add subpackage mariadb-server-galera + Resolves: 1310622 + * Tue Mar 01 2016 Honza Horak - 1:10.1.12-2 - Rebuild for BZ#1309199 (symbol versioning) From 3699d693bec3fb11273fbc86bc7ccf78a1d92689 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Wed, 23 Mar 2016 13:58:03 +0100 Subject: [PATCH 267/789] Fixed conflict with mariadb-galera-server --- mariadb.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index c9899ff..335e09a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -123,7 +123,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -320,7 +320,7 @@ Requires: galera >= 25.3.3 # obsoletion of mariadb-galera-server Provides: mariadb-galera-server = %{sameevr} -Obsoletes: mariadb-galera-server < %{obsoleted_mariadb_galera_server_evr} +Obsoletes: mariadb-galera-server <= %{obsoleted_mariadb_galera_server_evr} %description server-galera MariaDB is a multi-user, multi-threaded SQL database server. It is a @@ -372,7 +372,7 @@ Provides: mysql-compat-server%{?_isa} = %{sameevr} %endif %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-server < %{obsoleted_mysql_case_evr}} %{?with_conflicts:Conflicts: community-mysql-server} -%{?with_conflicts:Conflicts: mariadb-galera-server} +%{?with_conflicts:Conflicts: mariadb-galera-server <= %{obsoleted_mariadb_galera_server_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-server < %{obsoleted_mysql_evr}} %description server @@ -1244,6 +1244,9 @@ fi %endif %changelog +* Wed Mar 23 2016 Jakub Dorňák - 1:10.1.12-4 +- Fixed conflict with mariadb-galera-server + * Tue Mar 22 2016 Jakub Dorňák - 1:10.1.12-3 - Add subpackage mariadb-server-galera Resolves: 1310622 From 77ceff32b65513a7092dae0f31c32b265db2fc20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Tue, 29 Mar 2016 10:29:29 +0200 Subject: [PATCH 268/789] Update to 10.1.13 --- mariadb-install-test.patch | 7 +++---- mariadb.spec | 8 ++++++-- sources | 2 +- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/mariadb-install-test.patch b/mariadb-install-test.patch index e377e60..e085599 100644 --- a/mariadb-install-test.patch +++ b/mariadb-install-test.patch @@ -1,8 +1,7 @@ Improve the documentation that will be installed in the mysql-test RPM. -diff -up mariadb-10.0.10/mysql-test/README.p3 mariadb-10.0.10/mysql-test/README ---- mariadb-10.0.10/mysql-test/README.p3 2014-04-07 16:05:51.402631548 +0200 -+++ mariadb-10.0.10/mysql-test/README 2014-04-07 16:06:06.137637991 +0200 +--- mariadb-10.1.13/mysql-test/README.orig 2016-03-24 10:12:10.000000000 +0100 ++++ mariadb-10.1.13/mysql-test/README 2016-03-29 10:23:30.074326900 +0200 @@ -1,15 +1,28 @@ -This directory contains a test suite for the MySQL daemon. To run -the currently existing test cases, simply execute ./mysql-test-run in @@ -42,7 +41,7 @@ diff -up mariadb-10.0.10/mysql-test/README.p3 mariadb-10.0.10/mysql-test/README +If one or more tests fail on your system, please read the following manual +section for instructions on how to report the problem: - http://kb.askmonty.org/v/reporting-bugs + https://mariadb.com/kb/en/reporting-bugs @@ -26,7 +39,8 @@ other relevant options. diff --git a/mariadb.spec b/mariadb.spec index 335e09a..239c836 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -119,11 +119,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.1 -%global bugfixver 12 +%global bugfixver 13 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 4%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -786,6 +786,7 @@ install -p -m 0644 %{SOURCE16} %{basename:%{SOURCE16}} install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}} # install galera config file +sed -r 's|^wsrep_provider=none|wsrep_provider=/usr/lib64/galera/libgalera_smm.so|' install -p -m 0644 support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf # install the clustercheck script @@ -1244,6 +1245,9 @@ fi %endif %changelog +* Tue Mar 29 2016 Jakub Dorňák - 1:10.1.13-1 +- Update to 10.1.13 + * Wed Mar 23 2016 Jakub Dorňák - 1:10.1.12-4 - Fixed conflict with mariadb-galera-server diff --git a/sources b/sources index 8ef6ae1..3b9249b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a2c0809f27ec112139c2c50f03569b2b mariadb-10.1.12.tar.gz +aa881ff81a181c7357a90b8a357dee7c mariadb-10.1.13.tar.gz From f74de4a7380fd23261adb2f63e0a7f0f0ad49399 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Wed, 30 Mar 2016 14:09:36 +0200 Subject: [PATCH 269/789] fix galera configuration file --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 239c836..eb74a31 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -786,7 +786,7 @@ install -p -m 0644 %{SOURCE16} %{basename:%{SOURCE16}} install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}} # install galera config file -sed -r 's|^wsrep_provider=none|wsrep_provider=/usr/lib64/galera/libgalera_smm.so|' +sed -i -r 's|^wsrep_provider=none|wsrep_provider=/usr/lib64/galera/libgalera_smm.so|' support-files/wsrep.cnf install -p -m 0644 support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf # install the clustercheck script From d9318cef1d3fa543c1272078b0a19f29e2b36dca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Tue, 5 Apr 2016 17:09:01 +0200 Subject: [PATCH 270/789] Moved other galera related files to mariadb-server-galera --- mariadb.spec | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index eb74a31..ce40ed9 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -123,7 +123,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1062,7 +1062,9 @@ fi %license LICENSE.clustercheck %{_bindir}/galera_new_cluster %{_bindir}/clustercheck +%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %config(noreplace) %{_sysconfdir}/my.cnf.d/galera.cnf +%attr(0640,root,root) %ghost %config(noreplace) %{_sysconfdir}/sysconfig/clustercheck %files server %doc README.mysql-cnf @@ -1107,7 +1109,6 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf %{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf} -%attr(0640,root,root) %ghost %config(noreplace) %{_sysconfdir}/sysconfig/clustercheck %{_libexecdir}/mysqld @@ -1176,7 +1177,6 @@ fi %{_datadir}/%{pkg_name}/policy/selinux/mariadb-server.* %{_datadir}/%{pkg_name}/systemd/mariadb.service %{_datadir}/%{pkg_name}/systemd/mariadb@.service -%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %{daemondir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir @@ -1245,6 +1245,11 @@ fi %endif %changelog +* Tue Apr 5 2016 Jakub Dorňák - 1:10.1.13-2 +- Moved /etc/sysconfig/clustercheck + and /usr/share/mariadb/systemd/use_galera_new_cluster.conf + to mariadb-server-galera + * Tue Mar 29 2016 Jakub Dorňák - 1:10.1.13-1 - Update to 10.1.13 From 345174466bf9a722b03f6d3a557614b050125110 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Thu, 7 Apr 2016 11:07:01 +0200 Subject: [PATCH 271/789] wsrep_on in galera.cnf --- mariadb-galera.cnf.patch | 12 ++++++++++++ mariadb.spec | 11 +++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 mariadb-galera.cnf.patch diff --git a/mariadb-galera.cnf.patch b/mariadb-galera.cnf.patch new file mode 100644 index 0000000..095cdf4 --- /dev/null +++ b/mariadb-galera.cnf.patch @@ -0,0 +1,12 @@ +--- mariadb-10.1.13/support-files/wsrep.cnf.sh.orig 2016-03-24 10:12:15.000000000 +0100 ++++ mariadb-10.1.13/support-files/wsrep.cnf.sh 2016-04-07 10:18:34.281155365 +0200 +@@ -30,6 +30,9 @@ bind-address=0.0.0.0 + ## WSREP options + ## + ++# Enable wsrep ++wsrep_on=1 ++ + # Full path to wsrep provider library or 'none' + wsrep_provider=none + diff --git a/mariadb.spec b/mariadb.spec index ce40ed9..2010cae 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -123,7 +123,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -177,6 +177,9 @@ Patch34: %{pkgnamepatch}-covscan-stroverflow.patch Patch36: %{pkgnamepatch}-ssltest.patch Patch37: %{pkgnamepatch}-notestdb.patch +# Patches for galera +Patch40: %{pkgnamepatch}-galera.cnf.patch + BuildRequires: cmake BuildRequires: libaio-devel BuildRequires: libedit-devel @@ -552,6 +555,7 @@ MariaDB is a community developed branch of MySQL. %patch34 -p1 %patch36 -p1 %patch37 -p1 +%patch40 -p1 sed -i -e 's/2.8.7/2.6.4/g' cmake/cpack_rpm.cmake @@ -786,7 +790,7 @@ install -p -m 0644 %{SOURCE16} %{basename:%{SOURCE16}} install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}} # install galera config file -sed -i -r 's|^wsrep_provider=none|wsrep_provider=/usr/lib64/galera/libgalera_smm.so|' support-files/wsrep.cnf +sed -i -r 's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|' support-files/wsrep.cnf install -p -m 0644 support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf # install the clustercheck script @@ -1245,6 +1249,9 @@ fi %endif %changelog +* Thu Apr 7 2016 Jakub Dorňák - 1:10.1.13-3 +- wsrep_on in galera.cnf + * Tue Apr 5 2016 Jakub Dorňák - 1:10.1.13-2 - Moved /etc/sysconfig/clustercheck and /usr/share/mariadb/systemd/use_galera_new_cluster.conf From 992cadbef305cd4a00166cf9641c7a8292b2c633 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Thu, 12 May 2016 17:02:51 +0200 Subject: [PATCH 272/789] Add selinux policy Update to 10.1.14 (includes various bug fixes) Add -h and --help options to galera_new_cluster --- mariadb-galera-new-cluster-help.patch | 25 ++++++++++++++ mariadb-server-galera.te | 23 +++++++++++++ mariadb.spec | 48 ++++++++++++++++++++++++--- sources | 2 +- 4 files changed, 93 insertions(+), 5 deletions(-) create mode 100644 mariadb-galera-new-cluster-help.patch create mode 100644 mariadb-server-galera.te diff --git a/mariadb-galera-new-cluster-help.patch b/mariadb-galera-new-cluster-help.patch new file mode 100644 index 0000000..cf63719 --- /dev/null +++ b/mariadb-galera-new-cluster-help.patch @@ -0,0 +1,25 @@ +--- mariadb-10.1.14/scripts/galera_new_cluster.sh.orig 2016-05-11 18:51:13.797926130 +0200 ++++ mariadb-10.1.14/scripts/galera_new_cluster.sh 2016-05-11 19:19:41.195591769 +0200 +@@ -5,6 +5,22 @@ + # the Free Software Foundation; either version 2.1 of the License, or + # (at your option) any later version. + ++if [ "${1}" == "-h" -o "${1}" == "--help" ]; then ++ cat <= 25.3.3 +Requires(post): libselinux-utils +Requires(post): policycoreutils-python # obsoletion of mariadb-galera-server Provides: mariadb-galera-server = %{sameevr} @@ -553,9 +557,9 @@ MariaDB is a community developed branch of MySQL. %patch31 -p1 %patch32 -p1 %patch34 -p1 -%patch36 -p1 %patch37 -p1 %patch40 -p1 +%patch41 -p1 sed -i -e 's/2.8.7/2.6.4/g' cmake/cpack_rpm.cmake @@ -578,6 +582,13 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} %{SOURCE19} \ %{SOURCE70} scripts +%if %{with galera} +# prepare selinux policy +mkdir selinux +sed 's/mariadb-server-galera/%{name}-server-galera/' %{SOURCE72} > selinux/%{name}-server-galera.te +cat selinux/%{name}-server-galera.te +%endif + %build # fail quickly and obviously if user tries to build as root @@ -668,6 +679,12 @@ for e in innobase xtradb ; do done done +# build selinux policy +%if %{with galera} +pushd selinux +make -f /usr/share/selinux/devel/Makefile %{name}-server-galera.pp +%endif + %install make DESTDIR=%{buildroot} install @@ -747,6 +764,11 @@ install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-ch install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common +# install selinux policy +%if %{with galera} +install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp +%endif + # Remove libmysqld.a rm -f %{buildroot}%{_libdir}/mysql/libmysqld.a @@ -932,6 +954,10 @@ export MTR_BUILD_THREAD=%{__isa_bits} %post embedded -p /sbin/ldconfig %endif +%post server-galera +semanage port -a -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || : +semodule -i %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp >/dev/null 2>&1 || : + %post server %if %{with init_systemd} %systemd_post %{daemon_name}.service @@ -961,6 +987,13 @@ fi %postun embedded -p /sbin/ldconfig %endif +%if %{with galera} +%postun server-galera +if [ $1 -eq 0 ]; then + semodule -r %{name}-server-galera 2>/dev/null || : +fi +%endif + %postun server %if %{with init_systemd} %systemd_postun_with_restart %{daemon_name}.service @@ -1069,6 +1102,7 @@ fi %{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %config(noreplace) %{_sysconfdir}/my.cnf.d/galera.cnf %attr(0640,root,root) %ghost %config(noreplace) %{_sysconfdir}/sysconfig/clustercheck +%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp %files server %doc README.mysql-cnf @@ -1166,6 +1200,7 @@ fi %{_datadir}/%{pkg_name}/mysql_system_tables.sql %{_datadir}/%{pkg_name}/mysql_system_tables_data.sql %{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql +%{_datadir}/%{pkg_name}/mysql_to_mariadb.sql %{_datadir}/%{pkg_name}/mysql_performance_tables.sql %{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/install.sql} %{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/uninstall.sql} @@ -1249,6 +1284,11 @@ fi %endif %changelog +* Thu May 12 2016 Jakub Dorňák - 1:10.1.14-1 +- Add selinux policy +- Update to 10.1.14 (includes various bug fixes) +- Add -h and --help options to galera_new_cluster + * Thu Apr 7 2016 Jakub Dorňák - 1:10.1.13-3 - wsrep_on in galera.cnf diff --git a/sources b/sources index 3b9249b..7a029da 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -aa881ff81a181c7357a90b8a357dee7c mariadb-10.1.13.tar.gz +294925531e0fd2f0461e3894496a5adc mariadb-10.1.14.tar.gz From 782ee2120959d517fb61ceb1001944b88c96314b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Wed, 20 Apr 2016 15:39:01 +0200 Subject: [PATCH 273/789] Update to 10.2.0 --- mariadb.spec | 12 +++++------- sources | 2 +- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 7d9e3cd..9905e52 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -118,8 +118,8 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} -%global compatver 10.1 -%global bugfixver 14 +%global compatver 10.2 +%global bugfixver 0 Name: mariadb Version: %{compatver}.%{bugfixver} @@ -1124,8 +1124,6 @@ fi %{_bindir}/mysql_setpermission %{_bindir}/mysql_tzinfo_to_sql %{_bindir}/mysql_upgrade -%{_bindir}/mysql_zap -%{_bindir}/mysqlbug %{_bindir}/mysqldumpslow %{_bindir}/mysqld_multi %{_bindir}/mysqld_safe @@ -1177,8 +1175,6 @@ fi %{_mandir}/man1/mysql_install_db.1* %{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_upgrade.1* -%{_mandir}/man1/mysql_zap.1* -%{_mandir}/man1/mysqlbug.1* %{_mandir}/man1/mysqldumpslow.1* %{_mandir}/man1/mysqld_multi.1* %{_mandir}/man1/mysqld_safe.1* @@ -1200,7 +1196,6 @@ fi %{_datadir}/%{pkg_name}/mysql_system_tables.sql %{_datadir}/%{pkg_name}/mysql_system_tables_data.sql %{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql -%{_datadir}/%{pkg_name}/mysql_to_mariadb.sql %{_datadir}/%{pkg_name}/mysql_performance_tables.sql %{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/install.sql} %{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/uninstall.sql} @@ -1284,6 +1279,9 @@ fi %endif %changelog +* Thu May 12 2016 Jakub Dorňák - 1:10.2.0-1 +- Update to 10.2.0 + * Thu May 12 2016 Jakub Dorňák - 1:10.1.14-1 - Add selinux policy - Update to 10.1.14 (includes various bug fixes) diff --git a/sources b/sources index 7a029da..cde7cfa 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -294925531e0fd2f0461e3894496a5adc mariadb-10.1.14.tar.gz +28877798b5c69f9a53f68553d4b20016 mariadb-10.2.0.tar.gz From cb04c7ab875698414cfd3be4040e52630380eb95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Thu, 26 May 2016 16:16:11 +0200 Subject: [PATCH 274/789] Fix mysql-prepare-db-dir Resolves: #1335849 --- mariadb.spec | 6 +++++- mysql-prepare-db-dir.sh | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 9905e52..c200ee9 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -123,7 +123,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1279,6 +1279,10 @@ fi %endif %changelog +* Thu May 26 2016 Jakub Dorňák - 1:10.2.0-2 +- Fix mysql-prepare-db-dir + Resolves: #1335849 + * Thu May 12 2016 Jakub Dorňák - 1:10.2.0-1 - Update to 10.2.0 diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index 1905f09..1873c1f 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -55,8 +55,8 @@ chown "$myuser:$mygroup" "$errlogfile" chmod 0640 "$errlogfile" [ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" -# Make the data directory -if [ ! -d "$datadir/mysql" ] ; then +# Make the data directory if doesn't exist or empty +if ! ls $datadir/* &>/dev/null; then # First, make sure $datadir is there with correct permissions # (note: if it's not, and we're not root, this'll fail ...) if [ ! -e "$datadir" -a ! -h "$datadir" ] From f4d4f22e9c5ed9938a81a7134044c41a74d1f6c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Thu, 26 May 2016 16:16:11 +0200 Subject: [PATCH 275/789] Fix mysql-prepare-db-dir Resolves: #1335849 --- mariadb.spec | 6 +++++- mysql-prepare-db-dir.sh | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 7d9e3cd..69df542 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -123,7 +123,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -1284,6 +1284,10 @@ fi %endif %changelog +* Thu May 26 2016 Jakub Dorňák - 1:10.1.14-2 +- Fix mysql-prepare-db-dir + Resolves: #1335849 + * Thu May 12 2016 Jakub Dorňák - 1:10.1.14-1 - Add selinux policy - Update to 10.1.14 (includes various bug fixes) diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index 1905f09..1873c1f 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -55,8 +55,8 @@ chown "$myuser:$mygroup" "$errlogfile" chmod 0640 "$errlogfile" [ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" -# Make the data directory -if [ ! -d "$datadir/mysql" ] ; then +# Make the data directory if doesn't exist or empty +if ! ls $datadir/* &>/dev/null; then # First, make sure $datadir is there with correct permissions # (note: if it's not, and we're not root, this'll fail ...) if [ ! -e "$datadir" -a ! -h "$datadir" ] From e0a9f3e25e2a83d476964e59efbc256263b99aac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Fri, 24 Jun 2016 10:01:21 +0200 Subject: [PATCH 276/789] Mandatory Perl build-requires added --- mariadb.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/mariadb.spec b/mariadb.spec index c200ee9..7e95d53 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -187,6 +187,7 @@ BuildRequires: libedit-devel BuildRequires: openssl-devel BuildRequires: ncurses-devel BuildRequires: perl +BuildRequires: perl-generators BuildRequires: systemtap-sdt-devel BuildRequires: zlib-devel # auth_pam.so plugin will be build if pam-devel is installed From cd3275f872684fa9d7acf4867aaf4a883a7dc4b2 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Wed, 22 Jun 2016 14:03:19 +0200 Subject: [PATCH 277/789] multilib fixes Delegate most of the multilib decisions to multilib-rpm-config, this allows us to maintain the rules at central place. Move the pkgconfig file to architecture dependant location. Version: 10.2.0-3 --- mariadb.spec | 39 ++++++++++++++++++++------------------- my_config.h | 33 --------------------------------- 2 files changed, 20 insertions(+), 52 deletions(-) delete mode 100644 my_config.h diff --git a/mariadb.spec b/mariadb.spec index 7e95d53..f96f561 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -123,7 +123,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -136,7 +136,6 @@ License: GPLv2 with exceptions and LGPLv2 and BSD Source0: http://mirrors.syringanetworks.net/mariadb/mariadb-%{version}/source/mariadb-%{version}.tar.gz Source2: mysql_config_multilib.sh Source3: my.cnf.in -Source4: my_config.h Source5: README.mysql-cnf Source6: README.mysql-docs Source7: README.mysql-license @@ -190,6 +189,7 @@ BuildRequires: perl BuildRequires: perl-generators BuildRequires: systemtap-sdt-devel BuildRequires: zlib-devel +BuildRequires: multilib-rpm-config # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel # use either new enough version of pcre or provide bundles(pcre) @@ -699,22 +699,20 @@ cp -p -f mysql_config.tmp %{buildroot}%{_bindir}/mysql_config chmod 755 %{buildroot}%{_bindir}/mysql_config # multilib header support +for header in mysql/my_config.h mysql/private/config.h; do +%multilib_fix_c_header --file %{_includedir}/$header +done + +# multilib support for shell scripts # we only apply this to known Red Hat multilib arches, per bug #181335 -unamei=$(uname -i) -%ifarch %{arm} -unamei=arm -%endif -%ifarch %{power64} -unamei=ppc64 -%endif -%ifarch %{arm} aarch64 %{ix86} x86_64 ppc %{power64} %{sparc} s390 s390x -mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_${unamei}.h -mv %{buildroot}%{_includedir}/mysql/private/config.h %{buildroot}%{_includedir}/mysql/private/my_config_${unamei}.h -install -p -m 644 %{SOURCE4} %{buildroot}%{_includedir}/mysql/ -install -p -m 644 %{SOURCE4} %{buildroot}%{_includedir}/mysql/private/config.h +if %multilib_capable; then mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} install -p -m 0755 scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config -%endif +fi + +# Upstream install this into arch-independent directory, TODO: report +mkdir -p %{buildroot}/%{_libdir}/pkgconfig +mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also %%{name}-file-contents.patch) @@ -858,7 +856,7 @@ rm -f %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded rm -f %{buildroot}%{_bindir}/mysql_config* rm -rf %{buildroot}%{_includedir}/mysql rm -f %{buildroot}%{_datadir}/aclocal/mysql.m4 -rm -f %{buildroot}%{_datadir}/pkgconfig/mariadb.pc +rm -f %{buildroot}%{_libdir}/pkgconfig/mariadb.pc rm -f %{buildroot}%{_libdir}/mysql/libmysqlclient*.so rm -f %{buildroot}%{_mandir}/man1/mysql_config.1* %endif @@ -1242,11 +1240,10 @@ fi %if %{with devel} %files devel -%{_bindir}/mysql_config -%{_bindir}/mysql_config-%{__isa_bits} +%{_bindir}/mysql_config* %{_includedir}/mysql %{_datadir}/aclocal/mysql.m4 -%{_datadir}/pkgconfig/mariadb.pc +%{_libdir}/pkgconfig/mariadb.pc %if %{with clibrary} %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so @@ -1280,6 +1277,10 @@ fi %endif %changelog +* Tue Jun 21 2016 Pavel Raiskup - 10.2.0-3 +- BR multilib-rpm-config and use it for multilib workarounds +- install architecture dependant pc file to arch-dependant location + * Thu May 26 2016 Jakub Dorňák - 1:10.2.0-2 - Fix mysql-prepare-db-dir Resolves: #1335849 diff --git a/my_config.h b/my_config.h deleted file mode 100644 index 02baa3d..0000000 --- a/my_config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Kluge to support multilib installation of both 32- and 64-bit RPMS: - * we need to arrange that header files that appear in both RPMs are - * identical. Hence, this file is architecture-independent and calls - * in an arch-dependent file that will appear in just one RPM. - * - * To avoid breaking arches not explicitly supported by Red Hat, we - * use this indirection file *only* on known multilib arches. - * - * Note: this may well fail if user tries to use gcc's -I- option. - * But that option is deprecated anyway. - */ -#if defined(__x86_64__) -#include "my_config_x86_64.h" -#elif defined(__i386__) -#include "my_config_i386.h" -#elif defined(__ppc64__) || defined(__powerpc64__) -#include "my_config_ppc64.h" -#elif defined(__ppc__) || defined(__powerpc__) -#include "my_config_ppc.h" -#elif defined(__s390x__) -#include "my_config_s390x.h" -#elif defined(__s390__) -#include "my_config_s390.h" -#elif defined(__sparc__) && defined(__arch64__) -#include "my_config_sparc64.h" -#elif defined(__sparc__) -#include "my_config_sparc.h" -#elif defined(__arm__) -#include "my_config_arm.h" -#elif defined(__aarch64__) -#include "my_config_aarch64.h" -#endif From d34bef2a31231b1f6ce3205b400d3ac2719a56c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Fri, 1 Jul 2016 19:48:49 +0200 Subject: [PATCH 278/789] Revert "Update to 10.2.0" This reverts commit 782ee2120959d517fb61ceb1001944b88c96314b. It is possible that MariaDB 10.2.0 won't be stable till f25 GA. --- mariadb.spec | 16 +++++++++------- sources | 2 +- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index f96f561..9ad644f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -118,8 +118,8 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} -%global compatver 10.2 -%global bugfixver 0 +%global compatver 10.1 +%global bugfixver 14 Name: mariadb Version: %{compatver}.%{bugfixver} @@ -1123,6 +1123,8 @@ fi %{_bindir}/mysql_setpermission %{_bindir}/mysql_tzinfo_to_sql %{_bindir}/mysql_upgrade +%{_bindir}/mysql_zap +%{_bindir}/mysqlbug %{_bindir}/mysqldumpslow %{_bindir}/mysqld_multi %{_bindir}/mysqld_safe @@ -1174,6 +1176,8 @@ fi %{_mandir}/man1/mysql_install_db.1* %{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_upgrade.1* +%{_mandir}/man1/mysql_zap.1* +%{_mandir}/man1/mysqlbug.1* %{_mandir}/man1/mysqldumpslow.1* %{_mandir}/man1/mysqld_multi.1* %{_mandir}/man1/mysqld_safe.1* @@ -1195,6 +1199,7 @@ fi %{_datadir}/%{pkg_name}/mysql_system_tables.sql %{_datadir}/%{pkg_name}/mysql_system_tables_data.sql %{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql +%{_datadir}/%{pkg_name}/mysql_to_mariadb.sql %{_datadir}/%{pkg_name}/mysql_performance_tables.sql %{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/install.sql} %{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/uninstall.sql} @@ -1277,17 +1282,14 @@ fi %endif %changelog -* Tue Jun 21 2016 Pavel Raiskup - 10.2.0-3 +* Tue Jun 21 2016 Pavel Raiskup - 1:10.1.14-3 - BR multilib-rpm-config and use it for multilib workarounds - install architecture dependant pc file to arch-dependant location -* Thu May 26 2016 Jakub Dorňák - 1:10.2.0-2 +* Thu May 26 2016 Jakub Dorňák - 1:10.1.14-2 - Fix mysql-prepare-db-dir Resolves: #1335849 -* Thu May 12 2016 Jakub Dorňák - 1:10.2.0-1 -- Update to 10.2.0 - * Thu May 12 2016 Jakub Dorňák - 1:10.1.14-1 - Add selinux policy - Update to 10.1.14 (includes various bug fixes) diff --git a/sources b/sources index cde7cfa..7a029da 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -28877798b5c69f9a53f68553d4b20016 mariadb-10.2.0.tar.gz +294925531e0fd2f0461e3894496a5adc mariadb-10.1.14.tar.gz From e6d72a834bd861ce44cba9b04b612668efb179fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Sat, 2 Jul 2016 08:52:36 +0200 Subject: [PATCH 279/789] Update to 10.1.15 --- mariadb-test-openssl_1.patch | 20 ++++++++++++++++++++ mariadb.spec | 14 ++++++++++---- rh-skipped-tests-arm.list | 12 ++++-------- rh-skipped-tests-base.list | 13 +++++++------ sources | 2 +- 5 files changed, 42 insertions(+), 19 deletions(-) create mode 100644 mariadb-test-openssl_1.patch diff --git a/mariadb-test-openssl_1.patch b/mariadb-test-openssl_1.patch new file mode 100644 index 0000000..9e63524 --- /dev/null +++ b/mariadb-test-openssl_1.patch @@ -0,0 +1,20 @@ +--- mariadb-10.1.15/mysql-test/t/openssl_1.test.orig 2016-06-29 22:56:09.000000000 +0200 ++++ mariadb-10.1.15/mysql-test/t/openssl_1.test 2016-07-04 10:47:13.366522457 +0200 +@@ -134,7 +134,7 @@ drop table t1; + # verification of servers certificate by setting both ca certificate + # and ca path to NULL + # +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA ++--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA + --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 + --echo End of 5.0 tests + +@@ -259,7 +259,7 @@ select 'is still running; no cipher requ + GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; + FLUSH PRIVILEGES; + connect(con1,localhost,bug42158,,,,,SSL); +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA ++--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Ssl_cipher'; + disconnect con1; + connection default; diff --git a/mariadb.spec b/mariadb.spec index 9ad644f..e3c2301 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -8,7 +8,7 @@ %{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail -%global check_testsuite 1 +%global check_testsuite 0 # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} @@ -119,11 +119,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.1 -%global bugfixver 14 +%global bugfixver 15 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -162,6 +162,7 @@ Source72: mariadb-server-galera.te # Patches common for more mysql-like packages Patch1: %{pkgnamepatch}-strmov.patch Patch2: %{pkgnamepatch}-install-test.patch +Patch3: %{pkgnamepatch}-test-openssl_1.patch Patch4: %{pkgnamepatch}-logrotate.patch Patch5: %{pkgnamepatch}-file-contents.patch Patch7: %{pkgnamepatch}-scripts.patch @@ -548,6 +549,7 @@ MariaDB is a community developed branch of MySQL. %patch1 -p1 %patch2 -p1 +%patch3 -p1 %patch4 -p1 %patch5 -p1 %patch7 -p1 @@ -1096,8 +1098,9 @@ fi %files server-galera %doc Docs/README.wsrep %license LICENSE.clustercheck -%{_bindir}/galera_new_cluster %{_bindir}/clustercheck +%{_bindir}/galera_new_cluster +%{_bindir}/galera_recovery %{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %config(noreplace) %{_sysconfdir}/my.cnf.d/galera.cnf %attr(0640,root,root) %ghost %config(noreplace) %{_sysconfdir}/sysconfig/clustercheck @@ -1282,6 +1285,9 @@ fi %endif %changelog +* Fri Jul 1 2016 Jakub Dorňák - 1:10.1.15-1 +- Update to 10.1.15 + * Tue Jun 21 2016 Pavel Raiskup - 1:10.1.14-3 - BR multilib-rpm-config and use it for multilib workarounds - install architecture dependant pc file to arch-dependant location diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index 9b92367..c2fbe9d 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -1,12 +1,8 @@ - -connect.bin : rhbz#1096787 (pass on aarch64) -connect.endian : rhbz#1096787 - -main.partition_exchange : rhbz#1096787 -main.analyze_stmt_orderby : rhbz#1096787 -main.explain_json_innodb : rhbz#1096787 -main.explain_json_format_partitions : rhbz#1096787 main.analyze_format_json : rhbz#1096787 +main.analyze_stmt_orderby : rhbz#1096787 main.explain_json : rhbz#1096787 +main.explain_json_format_partitions : rhbz#1096787 +main.explain_json_innodb : rhbz#1096787 +main.partition_exchange : rhbz#1096787 main.subselect_cache : rhbz#1096787 main.type_year : rhbz#1096787 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index fb33990..cb0ecbc 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -1,14 +1,15 @@ # These tests fail with MariaDB 10: - -main.userstat : rhbz#1096787 +main.multi_update : rhbz#1096787 main.set_statement_notembedded_binlog : rhbz#1096787 -main.ssl_7937 : rhbz#1096787 -main.ssl_crl_clients : rhbz#1096787 -main.openssl_1 : rhbz#1096787 main.ssl : rhbz#1096787 -main.ssl_8k_key : rhbz#1096787 +main.ssl_ca : rhbz#1096787 +main.ssl_cert_verify : rhbz#1096787 main.ssl_compress : rhbz#1096787 +main.ssl_crl_clients : rhbz#1096787 main.ssl_timeout : rhbz#1096787 +main.ssl_7937 : rhbz#1096787 +main.ssl_8k_key : rhbz#1096787 +main.userstat : rhbz#1096787 perfschema.nesting : rhbz#1096787 perfschema.socket_summary_by_event_name_func : rhbz#1096787 perfschema.socket_summary_by_instance_func : rhbz#1096787 diff --git a/sources b/sources index 7a029da..55c84ac 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -294925531e0fd2f0461e3894496a5adc mariadb-10.1.14.tar.gz +21bd68cbc08b4195fbfcf29d1c385fe8 mariadb-10.1.15.tar.gz From 94956e3b320b16e04f8d7cbdca25ee61a0514eb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Thu, 7 Jul 2016 12:42:21 +0200 Subject: [PATCH 280/789] bump epoch related to the downgrade from the pre-release version --- mariadb.spec | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index e3c2301..3f80dbf 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -124,7 +124,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} Release: 1%{?with_debug:.debug}%{?dist} -Epoch: 1 +Epoch: 2 Summary: A community developed branch of MySQL Group: Applications/Databases @@ -1285,17 +1285,28 @@ fi %endif %changelog +* Thu Jul 7 2016 Jakub Dorňák - 2:10.1.15-1 +- Bump epoch + (related to the downgrade from the pre-release version) + * Fri Jul 1 2016 Jakub Dorňák - 1:10.1.15-1 - Update to 10.1.15 -* Tue Jun 21 2016 Pavel Raiskup - 1:10.1.14-3 +* Fri Jul 1 2016 Jakub Dorňák - 1:10.1.14-3 + Revert "Update to 10.2.0" + It is possible that MariaDB 10.2.0 won't be stable till f25 GA. + +* Tue Jun 21 2016 Pavel Raiskup - 10.2.0-3 - BR multilib-rpm-config and use it for multilib workarounds - install architecture dependant pc file to arch-dependant location -* Thu May 26 2016 Jakub Dorňák - 1:10.1.14-2 +* Thu May 26 2016 Jakub Dorňák - 1:10.2.0-2 - Fix mysql-prepare-db-dir Resolves: #1335849 +* Thu May 12 2016 Jakub Dorňák - 1:10.2.0-1 +- Update to 10.2.0 + * Thu May 12 2016 Jakub Dorňák - 1:10.1.14-1 - Add selinux policy - Update to 10.1.14 (includes various bug fixes) From 69ae9856e2963fcde99e763819a9e21b4a825ae3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Thu, 7 Jul 2016 14:33:31 +0200 Subject: [PATCH 281/789] need to bump release too to pass n-v-r check --- mariadb.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 3f80dbf..c11c485 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -123,7 +123,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 2 Summary: A community developed branch of MySQL @@ -1285,7 +1285,7 @@ fi %endif %changelog -* Thu Jul 7 2016 Jakub Dorňák - 2:10.1.15-1 +* Thu Jul 7 2016 Jakub Dorňák - 2:10.1.15-2 - Bump epoch (related to the downgrade from the pre-release version) From 72a82b67aec312ecd63c515c592e9f018a4d548c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Sat, 2 Jul 2016 08:52:36 +0200 Subject: [PATCH 282/789] Update to 10.1.15 --- mariadb-test-openssl_1.patch | 20 ++++++++++++++++++++ mariadb.spec | 14 ++++++++++---- rh-skipped-tests-arm.list | 12 ++++-------- rh-skipped-tests-base.list | 13 +++++++------ sources | 2 +- 5 files changed, 42 insertions(+), 19 deletions(-) create mode 100644 mariadb-test-openssl_1.patch diff --git a/mariadb-test-openssl_1.patch b/mariadb-test-openssl_1.patch new file mode 100644 index 0000000..9e63524 --- /dev/null +++ b/mariadb-test-openssl_1.patch @@ -0,0 +1,20 @@ +--- mariadb-10.1.15/mysql-test/t/openssl_1.test.orig 2016-06-29 22:56:09.000000000 +0200 ++++ mariadb-10.1.15/mysql-test/t/openssl_1.test 2016-07-04 10:47:13.366522457 +0200 +@@ -134,7 +134,7 @@ drop table t1; + # verification of servers certificate by setting both ca certificate + # and ca path to NULL + # +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA ++--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA + --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 + --echo End of 5.0 tests + +@@ -259,7 +259,7 @@ select 'is still running; no cipher requ + GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; + FLUSH PRIVILEGES; + connect(con1,localhost,bug42158,,,,,SSL); +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA ++--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Ssl_cipher'; + disconnect con1; + connection default; diff --git a/mariadb.spec b/mariadb.spec index 69df542..8f55dc2 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -8,7 +8,7 @@ %{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail -%global check_testsuite 1 +%global check_testsuite 0 # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} @@ -119,11 +119,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.1 -%global bugfixver 14 +%global bugfixver 15 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -163,6 +163,7 @@ Source72: mariadb-server-galera.te # Patches common for more mysql-like packages Patch1: %{pkgnamepatch}-strmov.patch Patch2: %{pkgnamepatch}-install-test.patch +Patch3: %{pkgnamepatch}-test-openssl_1.patch Patch4: %{pkgnamepatch}-logrotate.patch Patch5: %{pkgnamepatch}-file-contents.patch Patch7: %{pkgnamepatch}-scripts.patch @@ -547,6 +548,7 @@ MariaDB is a community developed branch of MySQL. %patch1 -p1 %patch2 -p1 +%patch3 -p1 %patch4 -p1 %patch5 -p1 %patch7 -p1 @@ -1097,8 +1099,9 @@ fi %files server-galera %doc Docs/README.wsrep %license LICENSE.clustercheck -%{_bindir}/galera_new_cluster %{_bindir}/clustercheck +%{_bindir}/galera_new_cluster +%{_bindir}/galera_recovery %{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %config(noreplace) %{_sysconfdir}/my.cnf.d/galera.cnf %attr(0640,root,root) %ghost %config(noreplace) %{_sysconfdir}/sysconfig/clustercheck @@ -1284,6 +1287,9 @@ fi %endif %changelog +* Fri Jul 1 2016 Jakub Dorňák - 1:10.1.15-1 +- Update to 10.1.15 + * Thu May 26 2016 Jakub Dorňák - 1:10.1.14-2 - Fix mysql-prepare-db-dir Resolves: #1335849 diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index 9b92367..c2fbe9d 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -1,12 +1,8 @@ - -connect.bin : rhbz#1096787 (pass on aarch64) -connect.endian : rhbz#1096787 - -main.partition_exchange : rhbz#1096787 -main.analyze_stmt_orderby : rhbz#1096787 -main.explain_json_innodb : rhbz#1096787 -main.explain_json_format_partitions : rhbz#1096787 main.analyze_format_json : rhbz#1096787 +main.analyze_stmt_orderby : rhbz#1096787 main.explain_json : rhbz#1096787 +main.explain_json_format_partitions : rhbz#1096787 +main.explain_json_innodb : rhbz#1096787 +main.partition_exchange : rhbz#1096787 main.subselect_cache : rhbz#1096787 main.type_year : rhbz#1096787 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index fb33990..cb0ecbc 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -1,14 +1,15 @@ # These tests fail with MariaDB 10: - -main.userstat : rhbz#1096787 +main.multi_update : rhbz#1096787 main.set_statement_notembedded_binlog : rhbz#1096787 -main.ssl_7937 : rhbz#1096787 -main.ssl_crl_clients : rhbz#1096787 -main.openssl_1 : rhbz#1096787 main.ssl : rhbz#1096787 -main.ssl_8k_key : rhbz#1096787 +main.ssl_ca : rhbz#1096787 +main.ssl_cert_verify : rhbz#1096787 main.ssl_compress : rhbz#1096787 +main.ssl_crl_clients : rhbz#1096787 main.ssl_timeout : rhbz#1096787 +main.ssl_7937 : rhbz#1096787 +main.ssl_8k_key : rhbz#1096787 +main.userstat : rhbz#1096787 perfschema.nesting : rhbz#1096787 perfschema.socket_summary_by_event_name_func : rhbz#1096787 perfschema.socket_summary_by_instance_func : rhbz#1096787 diff --git a/sources b/sources index 7a029da..55c84ac 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -294925531e0fd2f0461e3894496a5adc mariadb-10.1.14.tar.gz +21bd68cbc08b4195fbfcf29d1c385fe8 mariadb-10.1.15.tar.gz From 7b4b19c581e083f14489661dc4aa92fff64e24bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Wed, 13 Jul 2016 12:37:11 +0200 Subject: [PATCH 283/789] Revert "Update to 10.1.15" This reverts commit 72a82b67aec312ecd63c515c592e9f018a4d548c. I can't remember, where I found it, but 10.1.15 was never released. --- mariadb-test-openssl_1.patch | 20 -------------------- mariadb.spec | 14 ++++---------- rh-skipped-tests-arm.list | 14 +++++++++----- rh-skipped-tests-base.list | 19 +++++++++---------- sources | 2 +- 5 files changed, 23 insertions(+), 46 deletions(-) delete mode 100644 mariadb-test-openssl_1.patch diff --git a/mariadb-test-openssl_1.patch b/mariadb-test-openssl_1.patch deleted file mode 100644 index 9e63524..0000000 --- a/mariadb-test-openssl_1.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- mariadb-10.1.15/mysql-test/t/openssl_1.test.orig 2016-06-29 22:56:09.000000000 +0200 -+++ mariadb-10.1.15/mysql-test/t/openssl_1.test 2016-07-04 10:47:13.366522457 +0200 -@@ -134,7 +134,7 @@ drop table t1; - # verification of servers certificate by setting both ca certificate - # and ca path to NULL - # ----replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA -+--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA - --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 - --echo End of 5.0 tests - -@@ -259,7 +259,7 @@ select 'is still running; no cipher requ - GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; - FLUSH PRIVILEGES; - connect(con1,localhost,bug42158,,,,,SSL); ----replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA -+--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA - SHOW STATUS LIKE 'Ssl_cipher'; - disconnect con1; - connection default; diff --git a/mariadb.spec b/mariadb.spec index 8f55dc2..69df542 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -8,7 +8,7 @@ %{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail -%global check_testsuite 0 +%global check_testsuite 1 # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} @@ -119,11 +119,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.1 -%global bugfixver 15 +%global bugfixver 14 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 1 Summary: A community developed branch of MySQL @@ -163,7 +163,6 @@ Source72: mariadb-server-galera.te # Patches common for more mysql-like packages Patch1: %{pkgnamepatch}-strmov.patch Patch2: %{pkgnamepatch}-install-test.patch -Patch3: %{pkgnamepatch}-test-openssl_1.patch Patch4: %{pkgnamepatch}-logrotate.patch Patch5: %{pkgnamepatch}-file-contents.patch Patch7: %{pkgnamepatch}-scripts.patch @@ -548,7 +547,6 @@ MariaDB is a community developed branch of MySQL. %patch1 -p1 %patch2 -p1 -%patch3 -p1 %patch4 -p1 %patch5 -p1 %patch7 -p1 @@ -1099,9 +1097,8 @@ fi %files server-galera %doc Docs/README.wsrep %license LICENSE.clustercheck -%{_bindir}/clustercheck %{_bindir}/galera_new_cluster -%{_bindir}/galera_recovery +%{_bindir}/clustercheck %{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %config(noreplace) %{_sysconfdir}/my.cnf.d/galera.cnf %attr(0640,root,root) %ghost %config(noreplace) %{_sysconfdir}/sysconfig/clustercheck @@ -1287,9 +1284,6 @@ fi %endif %changelog -* Fri Jul 1 2016 Jakub Dorňák - 1:10.1.15-1 -- Update to 10.1.15 - * Thu May 26 2016 Jakub Dorňák - 1:10.1.14-2 - Fix mysql-prepare-db-dir Resolves: #1335849 diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index c2fbe9d..9b92367 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -1,8 +1,12 @@ -main.analyze_format_json : rhbz#1096787 -main.analyze_stmt_orderby : rhbz#1096787 -main.explain_json : rhbz#1096787 -main.explain_json_format_partitions : rhbz#1096787 -main.explain_json_innodb : rhbz#1096787 + +connect.bin : rhbz#1096787 (pass on aarch64) +connect.endian : rhbz#1096787 + main.partition_exchange : rhbz#1096787 +main.analyze_stmt_orderby : rhbz#1096787 +main.explain_json_innodb : rhbz#1096787 +main.explain_json_format_partitions : rhbz#1096787 +main.analyze_format_json : rhbz#1096787 +main.explain_json : rhbz#1096787 main.subselect_cache : rhbz#1096787 main.type_year : rhbz#1096787 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index cb0ecbc..fb33990 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -1,15 +1,14 @@ # These tests fail with MariaDB 10: -main.multi_update : rhbz#1096787 -main.set_statement_notembedded_binlog : rhbz#1096787 -main.ssl : rhbz#1096787 -main.ssl_ca : rhbz#1096787 -main.ssl_cert_verify : rhbz#1096787 -main.ssl_compress : rhbz#1096787 -main.ssl_crl_clients : rhbz#1096787 -main.ssl_timeout : rhbz#1096787 -main.ssl_7937 : rhbz#1096787 -main.ssl_8k_key : rhbz#1096787 + main.userstat : rhbz#1096787 +main.set_statement_notembedded_binlog : rhbz#1096787 +main.ssl_7937 : rhbz#1096787 +main.ssl_crl_clients : rhbz#1096787 +main.openssl_1 : rhbz#1096787 +main.ssl : rhbz#1096787 +main.ssl_8k_key : rhbz#1096787 +main.ssl_compress : rhbz#1096787 +main.ssl_timeout : rhbz#1096787 perfschema.nesting : rhbz#1096787 perfschema.socket_summary_by_event_name_func : rhbz#1096787 perfschema.socket_summary_by_instance_func : rhbz#1096787 diff --git a/sources b/sources index 55c84ac..7a029da 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -21bd68cbc08b4195fbfcf29d1c385fe8 mariadb-10.1.15.tar.gz +294925531e0fd2f0461e3894496a5adc mariadb-10.1.14.tar.gz From a8ba852168a3dfbbc05c411789c2bd1ce32c8d88 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 14 Jul 2016 00:10:50 +0200 Subject: [PATCH 284/789] Check datadir more carefully to avoid unwanted data corruption Related: #1335849 --- mysql-prepare-db-dir.sh | 56 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 52 insertions(+), 4 deletions(-) diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index 1873c1f..ac7bc5e 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -5,6 +5,26 @@ source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" +# Returns content of the specified directory +# If listing files fails, fake-file is returned so which means +# we'll behave like there was some data initialized +# @param datadir +ls_check_datadir () +{ + ls -A "$1" 2>/dev/null + test $? -eq 0 || echo "fake-file" +} + +# Checks whether datadir should be initialized +# @param datadir +can_initialize () +{ + case `ls_check_datadir "$1"` in + ""|lost+found) true ;; + *) false ;; + esac +} + # If two args given first is user, second is group # otherwise the arg is the systemd service file if [ "$#" -eq 2 ] @@ -56,7 +76,7 @@ chmod 0640 "$errlogfile" [ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" # Make the data directory if doesn't exist or empty -if ! ls $datadir/* &>/dev/null; then +if can_initialize "$datadir" ; then # First, make sure $datadir is there with correct permissions # (note: if it's not, and we're not root, this'll fail ...) if [ ! -e "$datadir" -a ! -h "$datadir" ] @@ -69,14 +89,30 @@ if ! ls $datadir/* &>/dev/null; then # Now create the database echo "Initializing @NICE_PROJECT_NAME@ database" + CURRENT_TIME=`LANG=C date -u` @bindir@/mysql_install_db --rpm --datadir="$datadir" --user="$myuser" ret=$? if [ $ret -ne 0 ] ; then echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2 - echo "Perhaps @sysconfdir@/my.cnf is misconfigured." >&2 + echo "Perhaps @sysconfdir@/my.cnf is misconfigured or there is some problem with permissions of $datadir." >&2 # Clean up any partially-created database files - if [ ! -e "$datadir/mysql/user.frm" ] ; then - rm -rf "$datadir"/* + if [ ! -e "$datadir/mysql/user.frm" ] && [ -d "$datadir" ] ; then + echo "Initialization of @NICE_PROJECT_NAME@ database was not finished successfully." >&2 + echo "Files created so far will be removed." >&2 + # Avoiding deletion of files not created by mysql_install_db is + # guarded by time check and sleep should help work-arounded + # potential issues on systems with 1 second resolution timestamps + # https://bugzilla.redhat.com/show_bug.cgi?id=1335849#c19 + sleep 1 + find "$datadir" -mindepth 1 -maxdepth 1 -newermt "$CURRENT_TIME" \ + -not -name "lost+found" -exec rm -rf {} + + if [ $? -ne 0 ] ; then + echo "Removing of created files was not successfull." >&2 + echo "Please, clean directory $datadir manually." >&2 + fi + else + echo "However, part of data has been initialized and those will not be removed." >&2 + echo "Please, clean directory $datadir manually." >&2 fi exit $ret fi @@ -84,6 +120,18 @@ if ! ls $datadir/* &>/dev/null; then echo "@VERSION@-MariaDB" >"$datadir/mysql_upgrade_info" # In case we're running as root, make sure files are owned properly chown -R "$myuser:$mygroup" "$datadir" +else + if [ -d "$datadir/mysql/" ] ; then + # mysql dir exists, it seems data are initialized properly + echo "Database MariaDB is probably initialized in $datadir already, nothing is done." + echo "If this is not the case, make sure the $datadir is empty before running `basename $0`." + else + # if the directory is not empty but mysql/ directory is missing, then + # print error and let user to initialize manually or empty the directory + echo "Database MariaDB is not initialized, but the directory $datadir is not empty, so initialization cannot be done." + echo "Make sure the $datadir is empty before running `basename $0`." + exit 1 + fi fi exit 0 From ff0bbd1d4f677f9987a2065c3db02cfb050d6a90 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 14 Jul 2016 19:38:46 +0200 Subject: [PATCH 285/789] Bump release for previous commit: Check datadir more carefully to avoid unwanted data corruption Related: #1335849 --- mariadb.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index c11c485..cf25749 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -123,7 +123,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 2 Summary: A community developed branch of MySQL @@ -1285,6 +1285,10 @@ fi %endif %changelog +* Thu Jul 14 2016 Honza Horak - 2:10.1.15-3 +- Check datadir more carefully to avoid unwanted data corruption + Related: #1335849 + * Thu Jul 7 2016 Jakub Dorňák - 2:10.1.15-2 - Bump epoch (related to the downgrade from the pre-release version) From 10ba86daf1aa8df0d3786fccf32e8c8403d1679b Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 14 Jul 2016 19:42:00 +0200 Subject: [PATCH 286/789] Re-enable checking test-suite result --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index cf25749..c7aeeab 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -8,7 +8,7 @@ %{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail -%global check_testsuite 0 +%global check_testsuite 1 # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} From dac8b4cb1edb15efed4df6ed4eb615467d58a6d3 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 14 Jul 2016 19:52:12 +0200 Subject: [PATCH 287/789] Better function name for the initialization check in mysql-prepare-db-dir.sh --- mysql-prepare-db-dir.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index ac7bc5e..ca00b13 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -17,7 +17,7 @@ ls_check_datadir () # Checks whether datadir should be initialized # @param datadir -can_initialize () +should_initialize () { case `ls_check_datadir "$1"` in ""|lost+found) true ;; @@ -76,7 +76,7 @@ chmod 0640 "$errlogfile" [ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" # Make the data directory if doesn't exist or empty -if can_initialize "$datadir" ; then +if should_initialize "$datadir" ; then # First, make sure $datadir is there with correct permissions # (note: if it's not, and we're not root, this'll fail ...) if [ ! -e "$datadir" -a ! -h "$datadir" ] From 52318239a0540f0d8676e7f4a8b7c2ba264652ef Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 14 Jul 2016 20:05:02 +0200 Subject: [PATCH 288/789] Include perl-generators dependency only on newer system where this package exists --- mariadb.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index c7aeeab..57cb44d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -187,7 +187,9 @@ BuildRequires: libedit-devel BuildRequires: openssl-devel BuildRequires: ncurses-devel BuildRequires: perl +%if 0%{?fedora} >= 22 || 0%{?rhel} > 7 BuildRequires: perl-generators +%endif BuildRequires: systemtap-sdt-devel BuildRequires: zlib-devel BuildRequires: multilib-rpm-config From 5c109c86e1b02b78cb109bfdfd3ca0912eadfe39 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 14 Jul 2016 21:15:23 +0200 Subject: [PATCH 289/789] Revert "Update to 10.1.15" This reverts commit e6d72a834bd861ce44cba9b04b612668efb179fb. --- mariadb-test-openssl_1.patch | 20 -------------------- mariadb.spec | 17 +++++++++-------- rh-skipped-tests-arm.list | 14 +++++++++----- rh-skipped-tests-base.list | 19 +++++++++---------- sources | 2 +- 5 files changed, 28 insertions(+), 44 deletions(-) delete mode 100644 mariadb-test-openssl_1.patch diff --git a/mariadb-test-openssl_1.patch b/mariadb-test-openssl_1.patch deleted file mode 100644 index 9e63524..0000000 --- a/mariadb-test-openssl_1.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- mariadb-10.1.15/mysql-test/t/openssl_1.test.orig 2016-06-29 22:56:09.000000000 +0200 -+++ mariadb-10.1.15/mysql-test/t/openssl_1.test 2016-07-04 10:47:13.366522457 +0200 -@@ -134,7 +134,7 @@ drop table t1; - # verification of servers certificate by setting both ca certificate - # and ca path to NULL - # ----replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA -+--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA - --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 - --echo End of 5.0 tests - -@@ -259,7 +259,7 @@ select 'is still running; no cipher requ - GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; - FLUSH PRIVILEGES; - connect(con1,localhost,bug42158,,,,,SSL); ----replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA -+--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA - SHOW STATUS LIKE 'Ssl_cipher'; - disconnect con1; - connection default; diff --git a/mariadb.spec b/mariadb.spec index 57cb44d..8f9d899 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -119,12 +119,12 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.1 -%global bugfixver 15 +%global bugfixver 14 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} -Epoch: 2 +Release: 4%{?with_debug:.debug}%{?dist} +Epoch: 3 Summary: A community developed branch of MySQL Group: Applications/Databases @@ -162,7 +162,6 @@ Source72: mariadb-server-galera.te # Patches common for more mysql-like packages Patch1: %{pkgnamepatch}-strmov.patch Patch2: %{pkgnamepatch}-install-test.patch -Patch3: %{pkgnamepatch}-test-openssl_1.patch Patch4: %{pkgnamepatch}-logrotate.patch Patch5: %{pkgnamepatch}-file-contents.patch Patch7: %{pkgnamepatch}-scripts.patch @@ -551,7 +550,6 @@ MariaDB is a community developed branch of MySQL. %patch1 -p1 %patch2 -p1 -%patch3 -p1 %patch4 -p1 %patch5 -p1 %patch7 -p1 @@ -1100,9 +1098,8 @@ fi %files server-galera %doc Docs/README.wsrep %license LICENSE.clustercheck -%{_bindir}/clustercheck %{_bindir}/galera_new_cluster -%{_bindir}/galera_recovery +%{_bindir}/clustercheck %{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %config(noreplace) %{_sysconfdir}/my.cnf.d/galera.cnf %attr(0640,root,root) %ghost %config(noreplace) %{_sysconfdir}/sysconfig/clustercheck @@ -1287,6 +1284,10 @@ fi %endif %changelog +* Thu Jul 14 2016 Honza Horak - 3:10.1.14-4 +- Revert Update to 10.1.15, this release is broken + https://lists.launchpad.net/maria-discuss/msg03691.html + * Thu Jul 14 2016 Honza Horak - 2:10.1.15-3 - Check datadir more carefully to avoid unwanted data corruption Related: #1335849 @@ -1302,7 +1303,7 @@ fi Revert "Update to 10.2.0" It is possible that MariaDB 10.2.0 won't be stable till f25 GA. -* Tue Jun 21 2016 Pavel Raiskup - 10.2.0-3 +* Tue Jun 21 2016 Pavel Raiskup - 1:10.1.14-3 - BR multilib-rpm-config and use it for multilib workarounds - install architecture dependant pc file to arch-dependant location diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index c2fbe9d..9b92367 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -1,8 +1,12 @@ -main.analyze_format_json : rhbz#1096787 -main.analyze_stmt_orderby : rhbz#1096787 -main.explain_json : rhbz#1096787 -main.explain_json_format_partitions : rhbz#1096787 -main.explain_json_innodb : rhbz#1096787 + +connect.bin : rhbz#1096787 (pass on aarch64) +connect.endian : rhbz#1096787 + main.partition_exchange : rhbz#1096787 +main.analyze_stmt_orderby : rhbz#1096787 +main.explain_json_innodb : rhbz#1096787 +main.explain_json_format_partitions : rhbz#1096787 +main.analyze_format_json : rhbz#1096787 +main.explain_json : rhbz#1096787 main.subselect_cache : rhbz#1096787 main.type_year : rhbz#1096787 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index cb0ecbc..fb33990 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -1,15 +1,14 @@ # These tests fail with MariaDB 10: -main.multi_update : rhbz#1096787 -main.set_statement_notembedded_binlog : rhbz#1096787 -main.ssl : rhbz#1096787 -main.ssl_ca : rhbz#1096787 -main.ssl_cert_verify : rhbz#1096787 -main.ssl_compress : rhbz#1096787 -main.ssl_crl_clients : rhbz#1096787 -main.ssl_timeout : rhbz#1096787 -main.ssl_7937 : rhbz#1096787 -main.ssl_8k_key : rhbz#1096787 + main.userstat : rhbz#1096787 +main.set_statement_notembedded_binlog : rhbz#1096787 +main.ssl_7937 : rhbz#1096787 +main.ssl_crl_clients : rhbz#1096787 +main.openssl_1 : rhbz#1096787 +main.ssl : rhbz#1096787 +main.ssl_8k_key : rhbz#1096787 +main.ssl_compress : rhbz#1096787 +main.ssl_timeout : rhbz#1096787 perfschema.nesting : rhbz#1096787 perfschema.socket_summary_by_event_name_func : rhbz#1096787 perfschema.socket_summary_by_instance_func : rhbz#1096787 diff --git a/sources b/sources index 55c84ac..7a029da 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -21bd68cbc08b4195fbfcf29d1c385fe8 mariadb-10.1.15.tar.gz +294925531e0fd2f0461e3894496a5adc mariadb-10.1.14.tar.gz From 95ef74d698c32577c6d7dee8fbf60e0864dbf87a Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 14 Jul 2016 22:04:43 +0200 Subject: [PATCH 290/789] Include mariadb@.service only when cmake installs it --- mariadb.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index 8f9d899..c671138 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1216,7 +1216,10 @@ fi %{_datadir}/%{pkg_name}/policy/selinux/README %{_datadir}/%{pkg_name}/policy/selinux/mariadb-server.* %{_datadir}/%{pkg_name}/systemd/mariadb.service +# mariadb@ is installed only when we have cmake newer than 3.3 +%if 0%{?fedora} > 22 || 0%{?rhel} > 7 %{_datadir}/%{pkg_name}/systemd/mariadb@.service +%endif %{daemondir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir From 2b30b91e4e8e6c6c16687de2a628b91a9b631e42 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 15 Jul 2016 07:54:53 +0200 Subject: [PATCH 291/789] Fail build when test-suite fails --- mariadb.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index c671138..8621085 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -8,7 +8,7 @@ %{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail -%global check_testsuite 1 +%global check_testsuite 0 # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} @@ -123,7 +123,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1287,6 +1287,9 @@ fi %endif %changelog +* Fri Jul 15 2016 Honza Horak - 3:10.1.14-5 +- Fail build when test-suite fails + * Thu Jul 14 2016 Honza Horak - 3:10.1.14-4 - Revert Update to 10.1.15, this release is broken https://lists.launchpad.net/maria-discuss/msg03691.html From e3d4b2f14e5e0cb7b42b468ffb9de6ff39e3d248 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 15 Jul 2016 08:00:18 +0200 Subject: [PATCH 292/789] Use license macro for inclusion of licenses --- mariadb.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 8621085..10079dd 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -248,6 +248,9 @@ Obsoletes: mariadb-galera < %{obsoleted_mariadb_galera_evr} %filter_setup %endif +# Define license macro if not present +%{!?_licensedir:%global license %doc} + %description MariaDB is a community developed branch of MySQL. MariaDB is a multi-user, multi-threaded SQL database server. @@ -1057,8 +1060,9 @@ fi %if %{with common} %files common -%doc README COPYING COPYING.LESSER README.mysql-license README.mysql-docs -%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google +%license COPYING COPYING.LESSER +%license storage/innobase/COPYING.Percona storage/innobase/COPYING.Google +%doc README README.mysql-license README.mysql-docs %dir %{_libdir}/mysql %dir %{_libdir}/mysql/plugin %dir %{_datadir}/%{pkg_name} @@ -1289,6 +1293,7 @@ fi %changelog * Fri Jul 15 2016 Honza Horak - 3:10.1.14-5 - Fail build when test-suite fails +- Use license macro for inclusion of licenses * Thu Jul 14 2016 Honza Horak - 3:10.1.14-4 - Revert Update to 10.1.15, this release is broken From 39de317fb5cea2cd2d233f7088d02fa10a8a911f Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 15 Jul 2016 10:49:28 +0200 Subject: [PATCH 293/789] Fix ssl tests and run them separately --- mariadb-ssltest.patch | 89 ------------------------------ mariadb-ssltests-replace.patch | 98 ++++++++++++++++++++++++++++++++++ mariadb.spec | 6 +++ 3 files changed, 104 insertions(+), 89 deletions(-) delete mode 100644 mariadb-ssltest.patch create mode 100644 mariadb-ssltests-replace.patch diff --git a/mariadb-ssltest.patch b/mariadb-ssltest.patch deleted file mode 100644 index bb41fd1..0000000 --- a/mariadb-ssltest.patch +++ /dev/null @@ -1,89 +0,0 @@ -DHE-RSA-AES256-GCM-SHA384 is not what we get in Fedora openssl, so we need -to replace a different cipher. - -diff -up mariadb-10.0.18/mysql-test/t/openssl_1.test.ssltest mariadb-10.0.18/mysql-test/t/openssl_1.test ---- mariadb-10.0.18/mysql-test/t/openssl_1.test.ssltest 2015-05-08 07:26:43.836965643 +0200 -+++ mariadb-10.0.18/mysql-test/t/openssl_1.test 2015-05-08 07:28:16.144215861 +0200 -@@ -132,7 +132,7 @@ drop table t1; - # verification of servers certificate by setting both ca certificate - # and ca path to NULL - # ----replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA -+--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA - --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 - --echo End of 5.0 tests - -@@ -257,7 +257,7 @@ select 'is still running; no cipher requ - GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; - FLUSH PRIVILEGES; - connect(con1,localhost,bug42158,,,,,SSL); ----replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA -+--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA - SHOW STATUS LIKE 'Ssl_cipher'; - disconnect con1; - connection default; -diff -up mariadb-10.0.18/mysql-test/t/ssl_timeout.test.ssltest mariadb-10.0.18/mysql-test/t/ssl_timeout.test ---- mariadb-10.0.18/mysql-test/t/ssl_timeout.test.ssltest 2015-05-08 07:22:24.504341009 +0200 -+++ mariadb-10.0.18/mysql-test/t/ssl_timeout.test 2015-05-08 07:26:04.192885581 +0200 -@@ -7,7 +7,7 @@ - connect (ssl_con,localhost,root,,,,,SSL read_timeout=5); - - --echo # Check ssl turned on ----replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA -+--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA - SHOW STATUS LIKE 'Ssl_cipher'; - - # --error CR_SERVER_LOST -diff -rup mysql-test-orig/t/ssl_8k_key.test mysql-test/t/ssl_8k_key.test ---- mariadb-10.0.20/mysql-test-orig/t/ssl_8k_key.test 2015-06-23 22:19:52.926707552 -0400 -+++ mariadb-10.0.20/mysql-test/t/ssl_8k_key.test 2015-06-23 22:24:28.304261714 -0400 -@@ -5,6 +5,7 @@ - # - # Bug#29784 YaSSL assertion failure when reading 8k key. - # -+--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA - --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 - - ## This test file is for testing encrypted communication only, not other -diff -rup mysql-test-orig/t/ssl_compress.test mysql-test/t/ssl_compress.test ---- mariadb-10.0.20/mysql-test-orig/t/ssl_compress.test 2015-06-23 22:19:52.912707611 -0400 -+++ mariadb-10.0.20/mysql-test/t/ssl_compress.test 2015-06-23 22:22:38.760221667 -0400 -@@ -11,7 +11,7 @@ - connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS); - - # Check ssl turned on ----replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA -+--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA - SHOW STATUS LIKE 'Ssl_cipher'; - - # Check compression turned on -@@ -21,7 +21,7 @@ SHOW STATUS LIKE 'Compression'; - -- source include/common-tests.inc - - # Check ssl turned on ----replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA -+--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA - SHOW STATUS LIKE 'Ssl_cipher'; - - # Check compression turned on -diff -rup mysql-test-orig/t/ssl.test mysql-test/t/ssl.test ---- mariadb-10.0.20/mysql-test-orig/t/ssl.test 2015-06-23 22:19:52.902707654 -0400 -+++ mariadb-10.0.20/mysql-test/t/ssl.test 2015-06-23 22:25:26.153282864 -0400 -@@ -11,7 +11,7 @@ - connect (ssl_con,localhost,root,,,,,SSL); - - # Check ssl turned on ----replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA -+--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA - SHOW STATUS LIKE 'Ssl_cipher'; - - # Check ssl expiration -@@ -22,7 +22,7 @@ SHOW STATUS LIKE 'Ssl_server_not_after'; - -- source include/common-tests.inc - - # Check ssl turned on ----replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA -+--replace_result AES128-GCM-SHA256 DHE-RSA-AES256-SHA - SHOW STATUS LIKE 'Ssl_cipher'; - - # diff --git a/mariadb-ssltests-replace.patch b/mariadb-ssltests-replace.patch new file mode 100644 index 0000000..084c14b --- /dev/null +++ b/mariadb-ssltests-replace.patch @@ -0,0 +1,98 @@ +diff -up mariadb-10.1.14/mysql-test/t/openssl_1.test.sslnew mariadb-10.1.14/mysql-test/t/openssl_1.test +--- mariadb-10.1.14/mysql-test/t/openssl_1.test.sslnew 2016-07-15 08:24:17.393378642 +0200 ++++ mariadb-10.1.14/mysql-test/t/openssl_1.test 2016-07-15 08:28:00.918177536 +0200 +@@ -134,7 +134,7 @@ drop table t1; + # verification of servers certificate by setting both ca certificate + # and ca path to NULL + # +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA ++--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA + --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 + --echo End of 5.0 tests + +@@ -259,7 +259,7 @@ select 'is still running; no cipher requ + GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; + FLUSH PRIVILEGES; + connect(con1,localhost,bug42158,,,,,SSL); +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA ++--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Ssl_cipher'; + disconnect con1; + connection default; +diff -up mariadb-10.1.14/mysql-test/t/ssl_compress.test.sslnew mariadb-10.1.14/mysql-test/t/ssl_compress.test +--- mariadb-10.1.14/mysql-test/t/ssl_compress.test.sslnew 2016-07-15 08:24:17.395378649 +0200 ++++ mariadb-10.1.14/mysql-test/t/ssl_compress.test 2016-07-15 08:29:53.924562035 +0200 +@@ -11,7 +11,7 @@ + connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS); + + # Check ssl turned on +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA ++--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Ssl_cipher'; + + # Check compression turned on +@@ -21,7 +21,7 @@ SHOW STATUS LIKE 'Compression'; + -- source include/common-tests.inc + + # Check ssl turned on +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA ++--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Ssl_cipher'; + + # Check compression turned on +diff -up mariadb-10.1.14/mysql-test/t/ssl.test.sslnew mariadb-10.1.14/mysql-test/t/ssl.test +--- mariadb-10.1.14/mysql-test/t/ssl.test.sslnew 2016-07-15 08:24:17.397378656 +0200 ++++ mariadb-10.1.14/mysql-test/t/ssl.test 2016-07-15 08:29:06.339400129 +0200 +@@ -11,7 +11,7 @@ + connect (ssl_con,localhost,root,,,,,SSL); + + # Check ssl turned on +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA ++--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Ssl_cipher'; + + # Check ssl expiration +@@ -22,7 +22,7 @@ SHOW STATUS LIKE 'Ssl_server_not_after'; + -- source include/common-tests.inc + + # Check ssl turned on +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA ++--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Ssl_cipher'; + + # +diff -up mariadb-10.1.14/mysql-test/t/ssl_timeout.test.sslnew mariadb-10.1.14/mysql-test/t/ssl_timeout.test +--- mariadb-10.1.14/mysql-test/t/ssl_timeout.test.sslnew 2016-07-15 08:24:17.398378660 +0200 ++++ mariadb-10.1.14/mysql-test/t/ssl_timeout.test 2016-07-15 08:28:51.920351068 +0200 +@@ -7,7 +7,7 @@ + connect (ssl_con,localhost,root,,,,,SSL read_timeout=5); + + --echo # Check ssl turned on +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA ++--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Ssl_cipher'; + + # --error CR_SERVER_LOST +diff -up mariadb-10.1.14/mysql-test/t/userstat.test.sslnew mariadb-10.1.14/mysql-test/t/userstat.test +--- mariadb-10.1.14/mysql-test/t/userstat.test.sslnew 2016-07-15 08:24:17.399378663 +0200 ++++ mariadb-10.1.14/mysql-test/t/userstat.test 2016-07-15 08:28:40.693312869 +0200 +@@ -35,7 +35,7 @@ drop table t1; + + # test SSL connections + --connect (ssl_con,localhost,root,,,,,SSL) +---replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA ++--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Ssl_cipher'; + --connection default + +diff -up mariadb-10.1.14/mysql-test/t/ssl_8k_key.test.newsslfix mariadb-10.1.14/mysql-test/t/ssl_8k_key.test +--- mariadb-10.1.14/mysql-test/t/ssl_8k_key.test.newsslfix 2016-07-15 10:45:15.158140490 +0200 ++++ mariadb-10.1.14/mysql-test/t/ssl_8k_key.test 2016-07-15 10:37:13.886657684 +0200 +@@ -5,6 +5,7 @@ + # + # Bug#29784 YaSSL assertion failure when reading 8k key. + # ++--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA + --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 + + ## This test file is for testing encrypted communication only, not other diff --git a/mariadb.spec b/mariadb.spec index 10079dd..ba39775 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -173,6 +173,7 @@ Patch12: %{pkgnamepatch}-admincrash.patch Patch30: %{pkgnamepatch}-errno.patch Patch31: %{pkgnamepatch}-string-overflow.patch Patch32: %{pkgnamepatch}-basedir.patch +Patch33: %{pkgnamepatch}-ssltests-replace.patch Patch34: %{pkgnamepatch}-covscan-stroverflow.patch Patch37: %{pkgnamepatch}-notestdb.patch @@ -562,6 +563,7 @@ MariaDB is a community developed branch of MySQL. %patch30 -p1 %patch31 -p1 %patch32 -p1 +%patch33 -p1 %patch34 -p1 %patch37 -p1 %patch40 -p1 @@ -938,6 +940,10 @@ export MTR_BUILD_THREAD=%{__isa_bits} || : %else --skip-test-list=rh-skipped-tests.list + + # from unknown reasons ssl tests fail when run as part of whole + # test-suite, but pass when running separately, so do it: + perl ./mysql-test-run.pl --ssl --do-test=ssl %endif # cmake build scripts will install the var cruft if left alone :-( rm -rf var From 9291dfdbbe469b8991d7eafe65d316c7655a0043 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 15 Jul 2016 10:50:40 +0200 Subject: [PATCH 294/789] Do not try to build OQGRAPH if not set in spec --- mariadb.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/mariadb.spec b/mariadb.spec index ba39775..e876fde 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -672,6 +672,7 @@ export LDFLAGS -DWITH_JEMALLOC=no \ %{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\ %{!?with_mroonga: -DWITHOUT_MROONGA=ON}\ +%{!?with_oqgraph: -DWITHOUT_OQGRAPH=ON}\ -DTMPDIR=/var/tmp \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug}\ %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} From 4cf445442f96f97c48ce530dd6e408cbac83f40d Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 15 Jul 2016 10:51:10 +0200 Subject: [PATCH 295/789] Include galera script and config only on systemd-enabled system --- mariadb.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index e876fde..0251210 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1109,9 +1109,11 @@ fi %files server-galera %doc Docs/README.wsrep %license LICENSE.clustercheck -%{_bindir}/galera_new_cluster %{_bindir}/clustercheck +%if %{with init_systemd} +%{_bindir}/galera_new_cluster %{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf +%endif %config(noreplace) %{_sysconfdir}/my.cnf.d/galera.cnf %attr(0640,root,root) %ghost %config(noreplace) %{_sysconfdir}/sysconfig/clustercheck %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp From d12b2c5e157ddf6e4e0968877155f9ab9ab63da1 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 15 Jul 2016 12:11:01 +0200 Subject: [PATCH 296/789] Move sleep before mysql_install_db, so files get removed on those weird systems --- mysql-prepare-db-dir.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index ca00b13..81a90e7 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -89,7 +89,12 @@ if should_initialize "$datadir" ; then # Now create the database echo "Initializing @NICE_PROJECT_NAME@ database" - CURRENT_TIME=`LANG=C date -u` + # Avoiding deletion of files not created by mysql_install_db is + # guarded by time check and sleep should help work-arounded + # potential issues on systems with 1 second resolution timestamps + # https://bugzilla.redhat.com/show_bug.cgi?id=1335849#c19 + INITDB_TIMESTAMP=`LANG=C date -u` + sleep 1 @bindir@/mysql_install_db --rpm --datadir="$datadir" --user="$myuser" ret=$? if [ $ret -ne 0 ] ; then @@ -99,12 +104,7 @@ if should_initialize "$datadir" ; then if [ ! -e "$datadir/mysql/user.frm" ] && [ -d "$datadir" ] ; then echo "Initialization of @NICE_PROJECT_NAME@ database was not finished successfully." >&2 echo "Files created so far will be removed." >&2 - # Avoiding deletion of files not created by mysql_install_db is - # guarded by time check and sleep should help work-arounded - # potential issues on systems with 1 second resolution timestamps - # https://bugzilla.redhat.com/show_bug.cgi?id=1335849#c19 - sleep 1 - find "$datadir" -mindepth 1 -maxdepth 1 -newermt "$CURRENT_TIME" \ + find "$datadir" -mindepth 1 -maxdepth 1 -newermt "$INITDB_TIMESTAMP" \ -not -name "lost+found" -exec rm -rf {} + if [ $? -ne 0 ] ; then echo "Removing of created files was not successfull." >&2 @@ -123,12 +123,12 @@ if should_initialize "$datadir" ; then else if [ -d "$datadir/mysql/" ] ; then # mysql dir exists, it seems data are initialized properly - echo "Database MariaDB is probably initialized in $datadir already, nothing is done." + echo "Database @NICE_PROJECT_NAME@ is probably initialized in $datadir already, nothing is done." echo "If this is not the case, make sure the $datadir is empty before running `basename $0`." else # if the directory is not empty but mysql/ directory is missing, then # print error and let user to initialize manually or empty the directory - echo "Database MariaDB is not initialized, but the directory $datadir is not empty, so initialization cannot be done." + echo "Database @NICE_PROJECT_NAME@ is not initialized, but the directory $datadir is not empty, so initialization cannot be done." echo "Make sure the $datadir is empty before running `basename $0`." exit 1 fi From 404d1f83ae355cad69d4c98f5bf8b414fea502e9 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sat, 16 Jul 2016 15:50:51 +0200 Subject: [PATCH 297/789] Test ssl_cert_verify fails from unknown reason. --- rh-skipped-tests-base.list | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index fb33990..b5c0223 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -4,9 +4,9 @@ main.userstat : rhbz#1096787 main.set_statement_notembedded_binlog : rhbz#1096787 main.ssl_7937 : rhbz#1096787 main.ssl_crl_clients : rhbz#1096787 -main.openssl_1 : rhbz#1096787 main.ssl : rhbz#1096787 main.ssl_8k_key : rhbz#1096787 +main.ssl_cert_verify : rhbz#1096787 main.ssl_compress : rhbz#1096787 main.ssl_timeout : rhbz#1096787 perfschema.nesting : rhbz#1096787 From 4e699cec527270c8d6be1c4c6c96b33c9768957a Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sat, 16 Jul 2016 21:45:06 +0200 Subject: [PATCH 298/789] Running ssl tests alone does not work --- mariadb.spec | 4 ---- 1 file changed, 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 0251210..8addfd9 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -941,10 +941,6 @@ export MTR_BUILD_THREAD=%{__isa_bits} || : %else --skip-test-list=rh-skipped-tests.list - - # from unknown reasons ssl tests fail when run as part of whole - # test-suite, but pass when running separately, so do it: - perl ./mysql-test-run.pl --ssl --do-test=ssl %endif # cmake build scripts will install the var cruft if left alone :-( rm -rf var From d8a18c3d89968b642a5ddbd5535c88377ce653eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Tue, 19 Jul 2016 17:13:37 +0200 Subject: [PATCH 299/789] Update to 10.1.16 --- mariadb-ssltests-replace.patch | 98 ---------------------------------- mariadb.spec | 14 +++-- rh-skipped-tests-arm.list | 12 ++--- rh-skipped-tests-base.list | 12 ++--- sources | 2 +- 5 files changed, 20 insertions(+), 118 deletions(-) delete mode 100644 mariadb-ssltests-replace.patch diff --git a/mariadb-ssltests-replace.patch b/mariadb-ssltests-replace.patch deleted file mode 100644 index 084c14b..0000000 --- a/mariadb-ssltests-replace.patch +++ /dev/null @@ -1,98 +0,0 @@ -diff -up mariadb-10.1.14/mysql-test/t/openssl_1.test.sslnew mariadb-10.1.14/mysql-test/t/openssl_1.test ---- mariadb-10.1.14/mysql-test/t/openssl_1.test.sslnew 2016-07-15 08:24:17.393378642 +0200 -+++ mariadb-10.1.14/mysql-test/t/openssl_1.test 2016-07-15 08:28:00.918177536 +0200 -@@ -134,7 +134,7 @@ drop table t1; - # verification of servers certificate by setting both ca certificate - # and ca path to NULL - # ----replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA -+--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA - --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 - --echo End of 5.0 tests - -@@ -259,7 +259,7 @@ select 'is still running; no cipher requ - GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; - FLUSH PRIVILEGES; - connect(con1,localhost,bug42158,,,,,SSL); ----replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA -+--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA - SHOW STATUS LIKE 'Ssl_cipher'; - disconnect con1; - connection default; -diff -up mariadb-10.1.14/mysql-test/t/ssl_compress.test.sslnew mariadb-10.1.14/mysql-test/t/ssl_compress.test ---- mariadb-10.1.14/mysql-test/t/ssl_compress.test.sslnew 2016-07-15 08:24:17.395378649 +0200 -+++ mariadb-10.1.14/mysql-test/t/ssl_compress.test 2016-07-15 08:29:53.924562035 +0200 -@@ -11,7 +11,7 @@ - connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS); - - # Check ssl turned on ----replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA -+--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA - SHOW STATUS LIKE 'Ssl_cipher'; - - # Check compression turned on -@@ -21,7 +21,7 @@ SHOW STATUS LIKE 'Compression'; - -- source include/common-tests.inc - - # Check ssl turned on ----replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA -+--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA - SHOW STATUS LIKE 'Ssl_cipher'; - - # Check compression turned on -diff -up mariadb-10.1.14/mysql-test/t/ssl.test.sslnew mariadb-10.1.14/mysql-test/t/ssl.test ---- mariadb-10.1.14/mysql-test/t/ssl.test.sslnew 2016-07-15 08:24:17.397378656 +0200 -+++ mariadb-10.1.14/mysql-test/t/ssl.test 2016-07-15 08:29:06.339400129 +0200 -@@ -11,7 +11,7 @@ - connect (ssl_con,localhost,root,,,,,SSL); - - # Check ssl turned on ----replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA -+--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA - SHOW STATUS LIKE 'Ssl_cipher'; - - # Check ssl expiration -@@ -22,7 +22,7 @@ SHOW STATUS LIKE 'Ssl_server_not_after'; - -- source include/common-tests.inc - - # Check ssl turned on ----replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA -+--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA - SHOW STATUS LIKE 'Ssl_cipher'; - - # -diff -up mariadb-10.1.14/mysql-test/t/ssl_timeout.test.sslnew mariadb-10.1.14/mysql-test/t/ssl_timeout.test ---- mariadb-10.1.14/mysql-test/t/ssl_timeout.test.sslnew 2016-07-15 08:24:17.398378660 +0200 -+++ mariadb-10.1.14/mysql-test/t/ssl_timeout.test 2016-07-15 08:28:51.920351068 +0200 -@@ -7,7 +7,7 @@ - connect (ssl_con,localhost,root,,,,,SSL read_timeout=5); - - --echo # Check ssl turned on ----replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA -+--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA - SHOW STATUS LIKE 'Ssl_cipher'; - - # --error CR_SERVER_LOST -diff -up mariadb-10.1.14/mysql-test/t/userstat.test.sslnew mariadb-10.1.14/mysql-test/t/userstat.test ---- mariadb-10.1.14/mysql-test/t/userstat.test.sslnew 2016-07-15 08:24:17.399378663 +0200 -+++ mariadb-10.1.14/mysql-test/t/userstat.test 2016-07-15 08:28:40.693312869 +0200 -@@ -35,7 +35,7 @@ drop table t1; - - # test SSL connections - --connect (ssl_con,localhost,root,,,,,SSL) ----replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA -+--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA - SHOW STATUS LIKE 'Ssl_cipher'; - --connection default - -diff -up mariadb-10.1.14/mysql-test/t/ssl_8k_key.test.newsslfix mariadb-10.1.14/mysql-test/t/ssl_8k_key.test ---- mariadb-10.1.14/mysql-test/t/ssl_8k_key.test.newsslfix 2016-07-15 10:45:15.158140490 +0200 -+++ mariadb-10.1.14/mysql-test/t/ssl_8k_key.test 2016-07-15 10:37:13.886657684 +0200 -@@ -5,6 +5,7 @@ - # - # Bug#29784 YaSSL assertion failure when reading 8k key. - # -+--replace_result DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-SHA AES256-GCM-SHA384 DHE-RSA-AES256-SHA - --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 - - ## This test file is for testing encrypted communication only, not other diff --git a/mariadb.spec b/mariadb.spec index 8addfd9..da64722 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -119,11 +119,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.1 -%global bugfixver 14 +%global bugfixver 16 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 5%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -173,7 +173,6 @@ Patch12: %{pkgnamepatch}-admincrash.patch Patch30: %{pkgnamepatch}-errno.patch Patch31: %{pkgnamepatch}-string-overflow.patch Patch32: %{pkgnamepatch}-basedir.patch -Patch33: %{pkgnamepatch}-ssltests-replace.patch Patch34: %{pkgnamepatch}-covscan-stroverflow.patch Patch37: %{pkgnamepatch}-notestdb.patch @@ -563,7 +562,6 @@ MariaDB is a community developed branch of MySQL. %patch30 -p1 %patch31 -p1 %patch32 -p1 -%patch33 -p1 %patch34 -p1 %patch37 -p1 %patch40 -p1 @@ -961,9 +959,11 @@ export MTR_BUILD_THREAD=%{__isa_bits} %post embedded -p /sbin/ldconfig %endif +%if %{with galera} %post server-galera semanage port -a -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || : semodule -i %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp >/dev/null 2>&1 || : +%endif %post server %if %{with init_systemd} @@ -1102,17 +1102,20 @@ fi %lang(uk) %{_datadir}/%{pkg_name}/ukrainian %endif +%if %{with galera} %files server-galera %doc Docs/README.wsrep %license LICENSE.clustercheck %{_bindir}/clustercheck %if %{with init_systemd} %{_bindir}/galera_new_cluster +%{_bindir}/galera_recovery %{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %endif %config(noreplace) %{_sysconfdir}/my.cnf.d/galera.cnf %attr(0640,root,root) %ghost %config(noreplace) %{_sysconfdir}/sysconfig/clustercheck %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp +%endif %files server %doc README.mysql-cnf @@ -1296,6 +1299,9 @@ fi %endif %changelog +* Tue Jul 19 2016 Jakub Dorňák - 3:10.1.16-1 +- Update to 10.1.16 + * Fri Jul 15 2016 Honza Horak - 3:10.1.14-5 - Fail build when test-suite fails - Use license macro for inclusion of licenses diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index 9b92367..b5f3368 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -1,12 +1,8 @@ - -connect.bin : rhbz#1096787 (pass on aarch64) -connect.endian : rhbz#1096787 - -main.partition_exchange : rhbz#1096787 -main.analyze_stmt_orderby : rhbz#1096787 -main.explain_json_innodb : rhbz#1096787 -main.explain_json_format_partitions : rhbz#1096787 main.analyze_format_json : rhbz#1096787 +main.analyze_stmt_orderby : rhbz#1096787 +main.explain_json_format_partitions : rhbz#1096787 +main.explain_json_innodb : rhbz#1096787 main.explain_json : rhbz#1096787 +main.partition_exchange : rhbz#1096787 main.subselect_cache : rhbz#1096787 main.type_year : rhbz#1096787 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index b5c0223..0e18fbc 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -1,14 +1,12 @@ # These tests fail with MariaDB 10: -main.userstat : rhbz#1096787 +main.multi_update : rhbz#1096787 main.set_statement_notembedded_binlog : rhbz#1096787 -main.ssl_7937 : rhbz#1096787 -main.ssl_crl_clients : rhbz#1096787 -main.ssl : rhbz#1096787 -main.ssl_8k_key : rhbz#1096787 main.ssl_cert_verify : rhbz#1096787 -main.ssl_compress : rhbz#1096787 -main.ssl_timeout : rhbz#1096787 +main.ssl_crl_clients : rhbz#1096787 +main.ssl_7937 : rhbz#1096787 +main.ssl_8k_key : rhbz#1096787 +main.userstat : rhbz#1096787 perfschema.nesting : rhbz#1096787 perfschema.socket_summary_by_event_name_func : rhbz#1096787 perfschema.socket_summary_by_instance_func : rhbz#1096787 diff --git a/sources b/sources index 7a029da..92149da 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -294925531e0fd2f0461e3894496a5adc mariadb-10.1.14.tar.gz +2a26b8d6560693cfc51031e76522cb78 mariadb-10.1.16.tar.gz From 3444dbd74666e82656a3b46c83eddf1f52f641d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Mon, 29 Aug 2016 17:01:25 +0200 Subject: [PATCH 300/789] Fixed galera repliaction Resolves: #1352946 --- mariadb-wsrep.patch | 23 +++++++++++++++++++++++ mariadb.spec | 8 +++++++- 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 mariadb-wsrep.patch diff --git a/mariadb-wsrep.patch b/mariadb-wsrep.patch new file mode 100644 index 0000000..240b1f2 --- /dev/null +++ b/mariadb-wsrep.patch @@ -0,0 +1,23 @@ +From ca26b981274e8f32e7fad85597a1534285c79f26 Mon Sep 17 00:00:00 2001 +From: Damien Ciabrini +Date: Fri, 12 Aug 2016 10:57:58 +0200 +Subject: [PATCH] refs codership/mysql-wsrep#267 Fix Galera crash at startup + when compiled with gcc 6 + +--- + sql/wsrep_mysqld.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sql/wsrep_mysqld.cc b/sql/wsrep_mysqld.cc +index 90567b6..b1024b6 100644 +--- a/sql/wsrep_mysqld.cc ++++ b/sql/wsrep_mysqld.cc +@@ -169,7 +169,7 @@ static PSI_file_info wsrep_files[]= + + my_bool wsrep_inited = 0; // initialized ? + +-static const wsrep_uuid_t cluster_uuid = WSREP_UUID_UNDEFINED; ++static wsrep_uuid_t cluster_uuid = WSREP_UUID_UNDEFINED; + static char cluster_uuid_str[40]= { 0, }; + static const char* cluster_status_str[WSREP_VIEW_MAX] = + { diff --git a/mariadb.spec b/mariadb.spec index da64722..a7fb50a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -123,7 +123,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -179,6 +179,7 @@ Patch37: %{pkgnamepatch}-notestdb.patch # Patches for galera Patch40: %{pkgnamepatch}-galera.cnf.patch Patch41: %{pkgnamepatch}-galera-new-cluster-help.patch +Patch42: %{pkgnamepatch}-wsrep.patch BuildRequires: cmake BuildRequires: libaio-devel @@ -566,6 +567,7 @@ MariaDB is a community developed branch of MySQL. %patch37 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 sed -i -e 's/2.8.7/2.6.4/g' cmake/cpack_rpm.cmake @@ -1299,6 +1301,10 @@ fi %endif %changelog +* Mon Aug 29 2016 Jakub Dorňák - 3:10.1.16-2 +- Fixed galera replication + Resolves: #1352946 + * Tue Jul 19 2016 Jakub Dorňák - 3:10.1.16-1 - Update to 10.1.16 From c2703ae4c1d066dda09ac4e27ffaeafe372d4306 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Wed, 7 Sep 2016 14:39:45 +0200 Subject: [PATCH 301/789] Update to 10.1.17 --- mariadb-wsrep.patch | 23 ----------------------- mariadb.spec | 11 ++++++----- rh-skipped-tests-base.list | 1 + sources | 2 +- 4 files changed, 8 insertions(+), 29 deletions(-) delete mode 100644 mariadb-wsrep.patch diff --git a/mariadb-wsrep.patch b/mariadb-wsrep.patch deleted file mode 100644 index 240b1f2..0000000 --- a/mariadb-wsrep.patch +++ /dev/null @@ -1,23 +0,0 @@ -From ca26b981274e8f32e7fad85597a1534285c79f26 Mon Sep 17 00:00:00 2001 -From: Damien Ciabrini -Date: Fri, 12 Aug 2016 10:57:58 +0200 -Subject: [PATCH] refs codership/mysql-wsrep#267 Fix Galera crash at startup - when compiled with gcc 6 - ---- - sql/wsrep_mysqld.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/sql/wsrep_mysqld.cc b/sql/wsrep_mysqld.cc -index 90567b6..b1024b6 100644 ---- a/sql/wsrep_mysqld.cc -+++ b/sql/wsrep_mysqld.cc -@@ -169,7 +169,7 @@ static PSI_file_info wsrep_files[]= - - my_bool wsrep_inited = 0; // initialized ? - --static const wsrep_uuid_t cluster_uuid = WSREP_UUID_UNDEFINED; -+static wsrep_uuid_t cluster_uuid = WSREP_UUID_UNDEFINED; - static char cluster_uuid_str[40]= { 0, }; - static const char* cluster_status_str[WSREP_VIEW_MAX] = - { diff --git a/mariadb.spec b/mariadb.spec index a7fb50a..d4420ce 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -119,11 +119,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.1 -%global bugfixver 16 +%global bugfixver 17 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -179,7 +179,6 @@ Patch37: %{pkgnamepatch}-notestdb.patch # Patches for galera Patch40: %{pkgnamepatch}-galera.cnf.patch Patch41: %{pkgnamepatch}-galera-new-cluster-help.patch -Patch42: %{pkgnamepatch}-wsrep.patch BuildRequires: cmake BuildRequires: libaio-devel @@ -567,7 +566,6 @@ MariaDB is a community developed branch of MySQL. %patch37 -p1 %patch40 -p1 %patch41 -p1 -%patch42 -p1 sed -i -e 's/2.8.7/2.6.4/g' cmake/cpack_rpm.cmake @@ -934,7 +932,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} set -e cd mysql-test perl ./mysql-test-run.pl --force --retry=0 --ssl \ - --suite-timeout=720 --testcase-timeout=30 \ + --suite-timeout=720 --testcase-timeout=30 --skip-rpl \ --mysqld=--binlog-format=mixed --force-restart \ --shutdown-timeout=60 --max-test-fail=0 \ %if %{check_testsuite} @@ -1301,6 +1299,9 @@ fi %endif %changelog +* Wed Aug 31 2016 Jakub Dorňák - 3:10.1.17-1 +- Update to 10.1.17 + * Mon Aug 29 2016 Jakub Dorňák - 3:10.1.16-2 - Fixed galera replication Resolves: #1352946 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 0e18fbc..207dbff 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -10,3 +10,4 @@ main.userstat : rhbz#1096787 perfschema.nesting : rhbz#1096787 perfschema.socket_summary_by_event_name_func : rhbz#1096787 perfschema.socket_summary_by_instance_func : rhbz#1096787 +sys_vars.wsrep_provider_options_basic : rhbz#1096787 diff --git a/sources b/sources index 92149da..235c6f7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2a26b8d6560693cfc51031e76522cb78 mariadb-10.1.16.tar.gz +036aca95257cb2948dd100605ec6d5a1 mariadb-10.1.17.tar.gz From f02f0df623418a0f692b771196794871665eb517 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Tue, 4 Oct 2016 19:10:24 +0200 Subject: [PATCH 302/789] Update to 10.1.18 --- mariadb-install-db-sharedir.patch | 27 ++++++++++++++------------- mariadb.spec | 5 ++++- sources | 2 +- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/mariadb-install-db-sharedir.patch b/mariadb-install-db-sharedir.patch index 4949b6d..77a90e7 100644 --- a/mariadb-install-db-sharedir.patch +++ b/mariadb-install-db-sharedir.patch @@ -1,21 +1,21 @@ Use configured value instead of hardcoded path -diff -up mariadb-10.0.13/scripts/mysql_install_db.pl.in.pbasedir mariadb-10.0.13/scripts/mysql_install_db.pl.in ---- mariadb-10.0.13/scripts/mysql_install_db.pl.in.pbasedir 2014-09-04 12:50:24.061979080 +0200 -+++ mariadb-10.0.13/scripts/mysql_install_db.pl.in 2014-09-04 12:51:22.929045559 +0200 -@@ -318,7 +318,7 @@ elsif ( $opt->{basedir} ) +diff -up mariadb-10.1.18/scripts/mysql_install_db.pl.in.pbasedir mariadb-10.1.18/scripts/mysql_install_db.pl.in +--- mariadb-10.1.18/scripts/mysql_install_db.pl.in.pbasedir 2016-10-04 19:03:15.562101826 +0200 ++++ mariadb-10.1.18/scripts/mysql_install_db.pl.in 2016-10-04 19:04:47.833130195 +0200 +@@ -320,7 +320,7 @@ elsif ( $opt->{basedir} ) find_in_basedir($opt,"file","mysqld-nt", "bin"); # ,"sql" - $pkgdatadir = find_in_basedir($opt,"dir","fill_help_tables.sql", + $srcpkgdatadir = find_in_basedir($opt,"dir","fill_help_tables.sql", - "share","share/mysql"); # ,"scripts" + "share","@INSTALL_MYSQLSHAREDIR@"); # ,"scripts" + $buildpkgdir = $srcpkgdatadir; $scriptdir = "$opt->{basedir}/scripts"; } - else -diff -up mariadb-10.0.13/scripts/mysql_install_db.sh.pbasedir mariadb-10.0.13/scripts/mysql_install_db.sh ---- mariadb-10.0.13/scripts/mysql_install_db.sh.pbasedir 2014-09-04 12:51:59.005086301 +0200 -+++ mariadb-10.0.13/scripts/mysql_install_db.sh 2014-09-04 12:54:02.794222597 +0200 -@@ -280,16 +280,16 @@ then +diff -up mariadb-10.1.18/scripts/mysql_install_db.sh.pbasedir mariadb-10.1.18/scripts/mysql_install_db.sh +--- mariadb-10.1.18/scripts/mysql_install_db.sh.pbasedir 2016-10-04 19:03:22.714104025 +0200 ++++ mariadb-10.1.18/scripts/mysql_install_db.sh 2016-10-04 19:08:11.457186833 +0200 +@@ -283,17 +283,17 @@ then cannot_find_file mysqld $basedir/libexec $basedir/sbin $basedir/bin exit 1 fi @@ -27,9 +27,10 @@ diff -up mariadb-10.0.13/scripts/mysql_install_db.sh.pbasedir mariadb-10.0.13/sc + cannot_find_file errmsg.sys $basedir/share/english $basedir/@INSTALL_MYSQLSHAREDIR@/english exit 1 fi -- pkgdatadir=`find_in_basedir --dir fill_help_tables.sql share share/mysql` -+ pkgdatadir=`find_in_basedir --dir fill_help_tables.sql share @INSTALL_MYSQLSHAREDIR@` - if test -z "$pkgdatadir" +- srcpkgdatadir=`find_in_basedir --dir fill_help_tables.sql share share/mysql` ++ srcpkgdatadir=`find_in_basedir --dir fill_help_tables.sql share @INSTALL_MYSQLSHAREDIR@` + buildpkgdatadir=$srcpkgdatadir + if test -z "$srcpkgdatadir" then - cannot_find_file fill_help_tables.sql $basedir/share $basedir/share/mysql + cannot_find_file fill_help_tables.sql $basedir/share $basedir/@INSTALL_MYSQLSHAREDIR@ diff --git a/mariadb.spec b/mariadb.spec index d4420ce..8f7b3eb 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -119,7 +119,7 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.1 -%global bugfixver 17 +%global bugfixver 18 Name: mariadb Version: %{compatver}.%{bugfixver} @@ -1299,6 +1299,9 @@ fi %endif %changelog +* Tue Oct 4 2016 Jakub Dorňák - 3:10.1.18-1 +- Update to 10.1.18 + * Wed Aug 31 2016 Jakub Dorňák - 3:10.1.17-1 - Update to 10.1.17 diff --git a/sources b/sources index 235c6f7..aaf924a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -036aca95257cb2948dd100605ec6d5a1 mariadb-10.1.17.tar.gz +173b88ab54bdd1fc51483b6b26bef849 mariadb-10.1.18.tar.gz From 431c116cac79ca9dc2579d0a03c021c7bd2825a5 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 15 Nov 2016 11:41:43 +0100 Subject: [PATCH 303/789] Update to 10.1.19 --- mariadb.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 8f7b3eb..a707f2c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -119,7 +119,7 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.1 -%global bugfixver 18 +%global bugfixver 19 Name: mariadb Version: %{compatver}.%{bugfixver} @@ -1299,6 +1299,9 @@ fi %endif %changelog +* Tue Nov 15 2016 Michal Schorm - 3:10.1.19-1 +- Update to 10.1.19 + * Tue Oct 4 2016 Jakub Dorňák - 3:10.1.18-1 - Update to 10.1.18 diff --git a/sources b/sources index aaf924a..6061a52 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -173b88ab54bdd1fc51483b6b26bef849 mariadb-10.1.18.tar.gz +e22e491eb3766bc3151cc0e96a7531c2 mariadb-10.1.19.tar.gz From 038270721dcc2e20fb7524bb5f27624b0f22c7ba Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 15 Nov 2016 11:56:13 +0100 Subject: [PATCH 304/789] Update to 10.1.19 --- mariadb.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 8f7b3eb..a707f2c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -119,7 +119,7 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.1 -%global bugfixver 18 +%global bugfixver 19 Name: mariadb Version: %{compatver}.%{bugfixver} @@ -1299,6 +1299,9 @@ fi %endif %changelog +* Tue Nov 15 2016 Michal Schorm - 3:10.1.19-1 +- Update to 10.1.19 + * Tue Oct 4 2016 Jakub Dorňák - 3:10.1.18-1 - Update to 10.1.18 diff --git a/sources b/sources index aaf924a..6061a52 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -173b88ab54bdd1fc51483b6b26bef849 mariadb-10.1.18.tar.gz +e22e491eb3766bc3151cc0e96a7531c2 mariadb-10.1.19.tar.gz From 5d73f5f2493327f9560b4bb90a86d2481675bb9f Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 15 Nov 2016 12:05:47 +0100 Subject: [PATCH 305/789] Update to 10.1.19 - added temporary support to build with OpenSSL 1.0 on Fedora >= 26 --- mariadb.spec | 17 ++++++++++++++--- sources | 2 +- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 8f7b3eb..fe496f8 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -119,7 +119,7 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.1 -%global bugfixver 18 +%global bugfixver 19 Name: mariadb Version: %{compatver}.%{bugfixver} @@ -212,8 +212,13 @@ BuildRequires: perl(Socket) BuildRequires: perl(Sys::Hostname) BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) -# for running some openssl tests rhbz#1189180 -BuildRequires: openssl + + +# Temporary workaound to build with OpenSSL 1.0 on Fedora >=26 (wich requires OpenSSL 1.1) +BuildRequires: compat-openssl10 + # for running some openssl tests rhbz#1189180 + #BuildRequires: openssl + BuildRequires: selinux-policy-devel %{?with_init_systemd:BuildRequires: systemd systemd-devel} @@ -229,6 +234,8 @@ Provides: mysql-compat-client = %{sameevr} Provides: mysql-compat-client%{?_isa} = %{sameevr} %endif + + # MySQL (with caps) is upstream's spelling of their own RPMs for mysql %{?obsoleted_mysql_case_evr:Obsoletes: MySQL < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql < %{obsoleted_mysql_evr}} @@ -1299,6 +1306,10 @@ fi %endif %changelog +* Tue Nov 15 2016 Michal Schorm - 3:10.1.19-1 +- Update to 10.1.19 +- added temporary support to build with OpenSSL 1.0 on Fedora >= 26 + * Tue Oct 4 2016 Jakub Dorňák - 3:10.1.18-1 - Update to 10.1.18 diff --git a/sources b/sources index aaf924a..6061a52 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -173b88ab54bdd1fc51483b6b26bef849 mariadb-10.1.18.tar.gz +e22e491eb3766bc3151cc0e96a7531c2 mariadb-10.1.19.tar.gz From e03800e0e3d19ea3d56df86c30fd21d860000cd1 Mon Sep 17 00:00:00 2001 From: Michal Date: Tue, 15 Nov 2016 12:42:17 +0100 Subject: [PATCH 306/789] Added compat-openssl10-devel package as well. --- mariadb.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index fe496f8..cf15745 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -215,10 +215,12 @@ BuildRequires: perl(Time::HiRes) # Temporary workaound to build with OpenSSL 1.0 on Fedora >=26 (wich requires OpenSSL 1.1) -BuildRequires: compat-openssl10 +BuildRequires: compat-openssl10-devel +Requires: compat-openssl10 # for running some openssl tests rhbz#1189180 #BuildRequires: openssl + BuildRequires: selinux-policy-devel %{?with_init_systemd:BuildRequires: systemd systemd-devel} From 0a9c40135b2be1d99136fbeead661843459bba79 Mon Sep 17 00:00:00 2001 From: Michal Date: Tue, 15 Nov 2016 12:44:41 +0100 Subject: [PATCH 307/789] Disabled openssl-devel package --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index cf15745..599fa48 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -183,7 +183,6 @@ Patch41: %{pkgnamepatch}-galera-new-cluster-help.patch BuildRequires: cmake BuildRequires: libaio-devel BuildRequires: libedit-devel -BuildRequires: openssl-devel BuildRequires: ncurses-devel BuildRequires: perl %if 0%{?fedora} >= 22 || 0%{?rhel} > 7 @@ -219,6 +218,7 @@ BuildRequires: compat-openssl10-devel Requires: compat-openssl10 # for running some openssl tests rhbz#1189180 #BuildRequires: openssl + #BuildRequires: openssl-devel BuildRequires: selinux-policy-devel From 13aaaccfd003beda28f686d058fbb10a8447daa3 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 15 Nov 2016 20:13:02 +0100 Subject: [PATCH 308/789] Update to 10.1.19 - added temporary support to build with OpenSSL 1.0 on Fedora >= 26 - added krb5-devel pkg as Buldrquires to preven gssapi failure. --- mariadb.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index 599fa48..cc96d92 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -219,6 +219,7 @@ Requires: compat-openssl10 # for running some openssl tests rhbz#1189180 #BuildRequires: openssl #BuildRequires: openssl-devel +BuildRequires: krb5-devel BuildRequires: selinux-policy-devel @@ -1311,6 +1312,7 @@ fi * Tue Nov 15 2016 Michal Schorm - 3:10.1.19-1 - Update to 10.1.19 - added temporary support to build with OpenSSL 1.0 on Fedora >= 26 +- added krb5-devel pkg as Buldrquires to preven gssapi failure. * Tue Oct 4 2016 Jakub Dorňák - 3:10.1.18-1 - Update to 10.1.18 From d1924a9dc6350f6579f4adea95fcdf5852301afb Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 15 Nov 2016 21:33:18 +0100 Subject: [PATCH 309/789] typo --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index cc96d92..8c2f515 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1312,7 +1312,7 @@ fi * Tue Nov 15 2016 Michal Schorm - 3:10.1.19-1 - Update to 10.1.19 - added temporary support to build with OpenSSL 1.0 on Fedora >= 26 -- added krb5-devel pkg as Buldrquires to preven gssapi failure. +- added krb5-devel pkg as Buldrquires to prevent gssapi failure * Tue Oct 4 2016 Jakub Dorňák - 3:10.1.18-1 - Update to 10.1.18 From 0d67e7b88349f6671967ce1db2a92e989d5f0e71 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 15 Nov 2016 21:36:47 +0100 Subject: [PATCH 310/789] Update to 10.1.19 - added krb5-devel pkg as Buildrequires, since it can cause CMake errors --- mariadb.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index a707f2c..c3687a4 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -217,6 +217,8 @@ BuildRequires: openssl BuildRequires: selinux-policy-devel %{?with_init_systemd:BuildRequires: systemd systemd-devel} +BuildRequires: krb5-devel + Requires: bash Requires: fileutils Requires: grep @@ -1301,6 +1303,7 @@ fi %changelog * Tue Nov 15 2016 Michal Schorm - 3:10.1.19-1 - Update to 10.1.19 +- added krb5-devel pkg as Buildrequires, since it can cause CMake errors * Tue Oct 4 2016 Jakub Dorňák - 3:10.1.18-1 - Update to 10.1.18 From 416d868bd645656b9af08d567ebd4559f8bfeb19 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 15 Nov 2016 21:42:14 +0100 Subject: [PATCH 311/789] Update to 10.1.19 - added krb5-devel pkg as Buildrequires, since it can cause CMake errors --- mariadb.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index a707f2c..c3687a4 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -217,6 +217,8 @@ BuildRequires: openssl BuildRequires: selinux-policy-devel %{?with_init_systemd:BuildRequires: systemd systemd-devel} +BuildRequires: krb5-devel + Requires: bash Requires: fileutils Requires: grep @@ -1301,6 +1303,7 @@ fi %changelog * Tue Nov 15 2016 Michal Schorm - 3:10.1.19-1 - Update to 10.1.19 +- added krb5-devel pkg as Buildrequires, since it can cause CMake errors * Tue Oct 4 2016 Jakub Dorňák - 3:10.1.18-1 - Update to 10.1.18 From 873305ba7398c5442e9fa5794c7a74836495d0d0 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 16 Nov 2016 07:09:57 +0100 Subject: [PATCH 312/789] Update to 10.1.19 - added temporary support to build with OpenSSL 1.0 on Fedora >= 26 - added krb5-devel pkg as Buldrquires to prevent gssapi failure --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 8c2f515..d82c73d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1309,7 +1309,7 @@ fi %endif %changelog -* Tue Nov 15 2016 Michal Schorm - 3:10.1.19-1 +* Wed Nov 16 2016 Michal Schorm - 3:10.1.19-1 - Update to 10.1.19 - added temporary support to build with OpenSSL 1.0 on Fedora >= 26 - added krb5-devel pkg as Buldrquires to prevent gssapi failure From 6409446a3466e81386fad24b928c58473b3ade05 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 16 Nov 2016 11:48:42 +0100 Subject: [PATCH 313/789] Update of mysql-prepare-db-dir.sh - Solves: https://bugzilla.redhat.com/show_bug.cgi?id=1382988 --- mysql-prepare-db-dir.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index 81a90e7..b47fa9b 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -20,7 +20,7 @@ ls_check_datadir () should_initialize () { case `ls_check_datadir "$1"` in - ""|lost+found) true ;; + ""|lost+found|*.err) true ;; *) false ;; esac } From 5958df69b3622a412f301bd1209f34a63fe024da Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 16 Nov 2016 14:35:20 +0100 Subject: [PATCH 314/789] fixed bug 1382988 - added comment to the test suite - test suite DISABLED for most builds in Koji, see comments --- mariadb.spec | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index d82c73d..fd9c9b7 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -5,7 +5,12 @@ # 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 1} +# UPDATE: checks should be run regularly, but mostly NOT at build time, since they +# extends build time by hundreds percents and steal resources from Koji +# 1) tests can be run alone, with "mariadb-test-..." package +# 2) tests can be run in COPR +# 3) tests still should be run in Koji too every major release +%{!?runselftest:%global runselftest 0} # Set this to 1 to see which tests fail %global check_testsuite 0 @@ -123,7 +128,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -221,7 +226,6 @@ Requires: compat-openssl10 #BuildRequires: openssl-devel BuildRequires: krb5-devel - BuildRequires: selinux-policy-devel %{?with_init_systemd:BuildRequires: systemd systemd-devel} @@ -1309,6 +1313,11 @@ fi %endif %changelog +* Wed Nov 16 2016 Michal Schorm - 3:10.1.19-2 +- fixed bug 1382988 +- added comment to the test suite +- test suite DISABLED for most builds in Koji, see comments + * Wed Nov 16 2016 Michal Schorm - 3:10.1.19-1 - Update to 10.1.19 - added temporary support to build with OpenSSL 1.0 on Fedora >= 26 From e27677ac0e051a1cce4d14e07275be1c52cf3b66 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 16 Nov 2016 14:57:34 +0100 Subject: [PATCH 315/789] test suite ENABLED, consensus was made it still should be run every build --- mariadb.spec | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index fd9c9b7..7ba2e45 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -5,12 +5,7 @@ # 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) -# UPDATE: checks should be run regularly, but mostly NOT at build time, since they -# extends build time by hundreds percents and steal resources from Koji -# 1) tests can be run alone, with "mariadb-test-..." package -# 2) tests can be run in COPR -# 3) tests still should be run in Koji too every major release -%{!?runselftest:%global runselftest 0} +%{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail %global check_testsuite 0 @@ -128,7 +123,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1313,6 +1308,9 @@ fi %endif %changelog +* Wed Nov 16 2016 Michal Schorm - 3:10.1.19-3 +- test suite ENABLED, consensus was made it still should be run every build + * Wed Nov 16 2016 Michal Schorm - 3:10.1.19-2 - fixed bug 1382988 - added comment to the test suite From 14c6fb26f08d5cd1469e1695f9855b12510147e5 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 24 Nov 2016 10:08:22 +0100 Subject: [PATCH 316/789] JdbcMariaDB.jar test removed - PCRE version check added - Resolves: #1382988 - Related: #1396945 --- mariadb.spec | 44 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 36 insertions(+), 8 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 7ba2e45..8fdbd53 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -82,6 +82,7 @@ # MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use # the bundled library, since the package cannot be build with older version +%global pcre_version 8.39 %if 0%{?fedora} >= 21 %bcond_without pcre %else @@ -123,7 +124,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -195,7 +196,7 @@ BuildRequires: multilib-rpm-config BuildRequires: pam-devel # use either new enough version of pcre or provide bundles(pcre) %{?with_pcre:BuildRequires: pcre-devel >= 8.35} -%{!?with_pcre:Provides: bundled(pcre) = 8.38} +%{!?with_pcre:Provides: bundled(pcre) = %{pcre_version}} # Tests requires time and ps and some perl modules BuildRequires: procps BuildRequires: time @@ -211,14 +212,18 @@ BuildRequires: perl(Socket) BuildRequires: perl(Sys::Hostname) BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) - +BuildRequires: perl(Symbol) # Temporary workaound to build with OpenSSL 1.0 on Fedora >=26 (wich requires OpenSSL 1.1) +%if 0%{?fedora} >= 26 BuildRequires: compat-openssl10-devel Requires: compat-openssl10 - # for running some openssl tests rhbz#1189180 - #BuildRequires: openssl - #BuildRequires: openssl-devel +%else +# for running some openssl tests rhbz#1189180 +BuildRequires: openssl +BuildRequires: openssl-devel +%endif + BuildRequires: krb5-devel BuildRequires: selinux-policy-devel @@ -526,7 +531,7 @@ MariaDB is a community developed branch of MySQL. %if %{with test} %package test -Summary: The test suite distributed with MariaD +Summary: The test suite distributed with MariaDB Group: Applications/Databases Requires: %{name}%{?_isa} = %{sameevr} Requires: %{name}-common%{?_isa} = %{sameevr} @@ -604,6 +609,20 @@ sed 's/mariadb-server-galera/%{name}-server-galera/' %{SOURCE72} > selinux/%{nam cat selinux/%{name}-server-galera.te %endif +# Check if PCRE version is actual +%{!?with_pcre: +pcre_maj=`grep '^m4_define(pcre_major' pcre/configure.ac | sed -r 's/^m4_define\(pcre_major, \[([0-9]+)\]\)/\1/'` +pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\(pcre_minor, \[([0-9]+)\]\)/\1/'` + +if [ %{pcre_version} != "$pcre_maj.$pcre_min" ] +then + echo "\n PCRE version is outdated. \n\tIncluded version:%{pcre_version} \n\tUpstream version: $pcre_maj.$pcre_min\n" + exit 1 +fi +} + + + %build # fail quickly and obviously if user tries to build as root @@ -853,6 +872,9 @@ rm -rf %{buildroot}%{_datadir}/%{pkg_name}/solaris/ # rename the wsrep README so it corresponds with the other README names mv Docs/README-wsrep Docs/README.wsrep +# remove *.jar file from mysql-test +rm -rf %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar + %if %{without clibrary} unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so @@ -1308,7 +1330,13 @@ fi %endif %changelog -* Wed Nov 16 2016 Michal Schorm - 3:10.1.19-3 +* Wed Nov 16 2016 Michal Schorm - 3:10.1.19-4 +- JdbcMariaDB.jar test removed +- PCRE version check added +- Resolves: #1382988 +- Related: #1396945 + +* Wed Nov 16 2016 Michal Schorm - 3:10.1.19-4 - test suite ENABLED, consensus was made it still should be run every build * Wed Nov 16 2016 Michal Schorm - 3:10.1.19-2 From 684ad9995ad45e071e5b6bb151cd140d1690bf37 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 28 Nov 2016 01:09:55 +0100 Subject: [PATCH 317/789] JdbcMariaDB.jar test removed - PCRE version check added - Resolves: #1382988 - Related: #1396945, #1096787 --- mariadb-ssl-cypher.patch | 21 +++++++++++++++++++++ mariadb.spec | 10 ++++++---- rh-skipped-tests-base.list | 9 ++++----- 3 files changed, 31 insertions(+), 9 deletions(-) create mode 100644 mariadb-ssl-cypher.patch diff --git a/mariadb-ssl-cypher.patch b/mariadb-ssl-cypher.patch new file mode 100644 index 0000000..a1a9dcf --- /dev/null +++ b/mariadb-ssl-cypher.patch @@ -0,0 +1,21 @@ +diff -up mariadb-10.1.19/mysql-test/r/ssl_8k_key.result.sslbak mariadb-10.1.19/mysql-test/r/ssl_8k_key.result +--- mariadb-10.1.19/mysql-test/r/ssl_8k_key.result.sslbak 2016-11-24 08:55:21.637000000 -0500 ++++ mariadb-10.1.19/mysql-test/r/ssl_8k_key.result 2016-11-24 08:55:55.853000000 -0500 +@@ -1,2 +1,2 @@ +-Variable_name Value +-Ssl_cipher DHE-RSA-AES256-SHA ++have_ssl ++1 +diff -up mariadb-10.1.19/mysql-test/t/ssl_8k_key.test.sslbak mariadb-10.1.19/mysql-test/t/ssl_8k_key.test +--- mariadb-10.1.19/mysql-test/t/ssl_8k_key.test.sslbak 2016-11-24 08:54:10.485000000 -0500 ++++ mariadb-10.1.19/mysql-test/t/ssl_8k_key.test 2016-11-24 08:54:35.724000000 -0500 +@@ -5,7 +5,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 -e "SELECT (VARIABLE_VALUE <> '') AS have_ssl FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME='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/mariadb.spec b/mariadb.spec index 8fdbd53..6c7416d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -7,8 +7,8 @@ # --nocheck is not possible (e.g. in koji build) %{!?runselftest:%global runselftest 1} -# Set this to 1 to see which tests fail -%global check_testsuite 0 +# Set this to 1 to see which tests fail, but 0 on production ready build +%global ignore_testsuite_result 0 # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} @@ -169,6 +169,7 @@ Patch7: %{pkgnamepatch}-scripts.patch Patch8: %{pkgnamepatch}-install-db-sharedir.patch Patch9: %{pkgnamepatch}-ownsetup.patch Patch12: %{pkgnamepatch}-admincrash.patch +Patch13: %{pkgnamepatch}-ssl-cypher.patch # Patches specific for this mysql package Patch30: %{pkgnamepatch}-errno.patch @@ -573,6 +574,7 @@ MariaDB is a community developed branch of MySQL. %patch8 -p1 %patch9 -p1 %patch12 -p1 +%patch13 -p1 %patch30 -p1 %patch31 -p1 %patch32 -p1 @@ -966,7 +968,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} --suite-timeout=720 --testcase-timeout=30 --skip-rpl \ --mysqld=--binlog-format=mixed --force-restart \ --shutdown-timeout=60 --max-test-fail=0 \ -%if %{check_testsuite} +%if %{ignore_testsuite_result} || : %else --skip-test-list=rh-skipped-tests.list @@ -1334,7 +1336,7 @@ fi - JdbcMariaDB.jar test removed - PCRE version check added - Resolves: #1382988 -- Related: #1396945 +- Related: #1396945, #1096787 * Wed Nov 16 2016 Michal Schorm - 3:10.1.19-4 - test suite ENABLED, consensus was made it still should be run every build diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 207dbff..1d161c2 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -1,13 +1,12 @@ # These tests fail with MariaDB 10: +main.userstat : rhbz#1096787 main.multi_update : rhbz#1096787 main.set_statement_notembedded_binlog : rhbz#1096787 -main.ssl_cert_verify : rhbz#1096787 -main.ssl_crl_clients : rhbz#1096787 main.ssl_7937 : rhbz#1096787 -main.ssl_8k_key : rhbz#1096787 -main.userstat : rhbz#1096787 +main.ssl_crl_clients : rhbz#1096787 +main.ssl_cert_verify : rhbz#1096787 perfschema.nesting : rhbz#1096787 perfschema.socket_summary_by_event_name_func : rhbz#1096787 perfschema.socket_summary_by_instance_func : rhbz#1096787 -sys_vars.wsrep_provider_options_basic : rhbz#1096787 + From 5dcaa2e48592864b3cb45d1ada14c9fc48d5667a Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 29 Nov 2016 23:16:04 +0100 Subject: [PATCH 318/789] Testsuite blacklists heavily updated. Current tracker: #1399847 --- mariadb.spec | 9 ++++++--- rh-skipped-tests-arm.list | 16 ++++++++-------- rh-skipped-tests-base.list | 21 +++++++++------------ rh-skipped-tests-ppc-s390.list | 22 ---------------------- 4 files changed, 23 insertions(+), 45 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 6c7416d..3cda6b1 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -124,7 +124,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1332,11 +1332,14 @@ fi %endif %changelog +* Wed Nov 30 2016 Michal Schorm - 3:10.1.19-5 +- Testsuite blacklists heavily updated. Current tracker: #1399847 + * Wed Nov 16 2016 Michal Schorm - 3:10.1.19-4 - JdbcMariaDB.jar test removed - PCRE version check added -- Resolves: #1382988 -- Related: #1396945, #1096787 + Resolves: #1382988 + Related: #1396945, #1096787 * Wed Nov 16 2016 Michal Schorm - 3:10.1.19-4 - test suite ENABLED, consensus was made it still should be run every build diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index b5f3368..d7e0b58 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -1,8 +1,8 @@ -main.analyze_format_json : rhbz#1096787 -main.analyze_stmt_orderby : rhbz#1096787 -main.explain_json_format_partitions : rhbz#1096787 -main.explain_json_innodb : rhbz#1096787 -main.explain_json : rhbz#1096787 -main.partition_exchange : rhbz#1096787 -main.subselect_cache : rhbz#1096787 -main.type_year : rhbz#1096787 +main.partition_exchange : #1399847 +main.analyze_stmt_orderby : #1399847 +main.explain_json_innodb : #1399847 +main.explain_json_format_partitions : #1399847 +main.analyze_format_json : #1399847 +main.explain_json : #1399847 +main.subselect_cache : #1399847 +main.type_year : #1399847 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 1d161c2..2992d7e 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -1,12 +1,9 @@ -# These tests fail with MariaDB 10: - -main.userstat : rhbz#1096787 -main.multi_update : rhbz#1096787 -main.set_statement_notembedded_binlog : rhbz#1096787 -main.ssl_7937 : rhbz#1096787 -main.ssl_crl_clients : rhbz#1096787 -main.ssl_cert_verify : rhbz#1096787 -perfschema.nesting : rhbz#1096787 -perfschema.socket_summary_by_event_name_func : rhbz#1096787 -perfschema.socket_summary_by_instance_func : rhbz#1096787 - +main.userstat : #1399847 +main.multi_update : #1399847 +main.set_statement_notembedded_binlog : #1399847 +main.ssl_7937 : #1399847 +main.ssl_crl_clients : #1399847 +main.ssl_cert_verify : #1399847 +perfschema.nesting : #1399847 +perfschema.socket_summary_by_event_name_func : #1399847 +perfschema.socket_summary_by_instance_func : #1399847 diff --git a/rh-skipped-tests-ppc-s390.list b/rh-skipped-tests-ppc-s390.list index 39366b5..e69de29 100644 --- a/rh-skipped-tests-ppc-s390.list +++ b/rh-skipped-tests-ppc-s390.list @@ -1,22 +0,0 @@ -connect.alter : rhbz#1096787 -connect.bin : rhbz#1096787 -connect.dbf : rhbz#1096787 -connect.index : rhbz#1096787 -connect.mrr : rhbz#1149647#c6 -connect.part_file : rhbz#1149647 -connect.part_table : rhbz#1149647 -connect.updelx : rhbz#1149647 -connect.updelx2 : rhbz#1149647#c6 -connect.json_udf : rhbz#1149647#c8 -sys_vars.sysvars_server_notembedded : rhbz#1149647 -main.partition_exchange : rhbz#1149647 -main.analyze_stmt_orderby : rhbz#1149647 -main.explain_json_innodb : rhbz#1149647 -encryption.encrypt_and_grep : rhbz#1149647 -main.explain_json_format_partitions : rhbz#1149647 -main.analyze_format_json : rhbz#1149647 -main.explain_json : rhbz#1149647 -main.mdev-504 : rhbz#1149647 -main.subselect_cache : rhbz#1149647 -main.type_year : rhbz#1149647 -sys_vars.sysvars_wsrep : rhbz#1149647 From cb9d852433331e2bc7a8c7e458c3d79d0f582b69 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 1 Dec 2016 02:00:37 +0100 Subject: [PATCH 319/789] - Log-error option added to all config files examples Resolves: #1382988 --- mariadb.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 29e2700..161e5fa 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -879,6 +879,9 @@ mv Docs/README-wsrep Docs/README.wsrep # remove *.jar file from mysql-test rm -rf %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar +# +echo -e "\n\nlog-error=/var/log/mariadb/mariadb.log\n" | tee -a %{buildroot}/usr/share/mariadb/*.cnf + %if %{without clibrary} unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so @@ -1336,12 +1339,13 @@ fi %changelog * Wed Nov 30 2016 Michal Schorm - 3:10.1.19-5 - Testsuite blacklists heavily updated. Current tracker: #1399847 +- Log-error option added to all config files examples + Resolves: #1382988 * Wed Nov 16 2016 Michal Schorm - 3:10.1.19-4 - JdbcMariaDB.jar test removed - PCRE version check added - Resolves: #1382988 - Related: #1396945, #1096787 + Related: #1382988, #1396945, #1096787 * Wed Nov 16 2016 Michal Schorm - 3:10.1.19-4 - test suite ENABLED, consensus was made it still should be run every build From f21a855eb238b434b2fa7dd0a7ef52351a331eb0 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 1 Dec 2016 12:09:15 +0100 Subject: [PATCH 320/789] devel: use pkgconfig(openssl) to allow any implementation (like compat-openssl10) --- mariadb.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 161e5fa..74a3e9b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -124,7 +124,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 5%{?with_debug:.debug}%{?dist} +Release: 6%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -451,7 +451,7 @@ or products (such as Excel), or data retrieved from the environment Summary: Files for development of MariaDB/MySQL applications Group: Applications/Databases %{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} -Requires: openssl-devel%{?_isa} +Requires: pkgconfig(openssl) # avoid issues with openssl1.0 / openssl1.1 / compat %if %{with mysql_names} Provides: mysql-devel = %{sameevr} Provides: mysql-devel%{?_isa} = %{sameevr} @@ -1337,6 +1337,9 @@ fi %endif %changelog +* Thu Dec 01 2016 Rex Dieter - 3:10.1.19-6 +- -devel: use pkgconfig(openssl) to allow any implementation (like compat-openssl10) + * Wed Nov 30 2016 Michal Schorm - 3:10.1.19-5 - Testsuite blacklists heavily updated. Current tracker: #1399847 - Log-error option added to all config files examples From 921725f94f4bd124ba579a660bc3622d566f811e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 1 Dec 2016 12:15:08 +0100 Subject: [PATCH 321/789] Move of comment to resolve parser error --- mariadb.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 74a3e9b..56ee54b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -451,7 +451,8 @@ or products (such as Excel), or data retrieved from the environment Summary: Files for development of MariaDB/MySQL applications Group: Applications/Databases %{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} -Requires: pkgconfig(openssl) # avoid issues with openssl1.0 / openssl1.1 / compat +# avoid issues with openssl1.0 / openssl1.1 / compat +Requires: pkgconfig(openssl) %if %{with mysql_names} Provides: mysql-devel = %{sameevr} Provides: mysql-devel%{?_isa} = %{sameevr} From 10402ba1d7d370d7f0d651ed63730b22698cf654 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 4 Dec 2016 03:04:56 +0100 Subject: [PATCH 322/789] Move patch from specfile to standalone patch file Related: #1382988 --- mariadb-example-config-files.patch | 56 ++++++++++++++++++++++++++++++ mariadb.spec | 9 +++-- 2 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 mariadb-example-config-files.patch diff --git a/mariadb-example-config-files.patch b/mariadb-example-config-files.patch new file mode 100644 index 0000000..d4bf5be --- /dev/null +++ b/mariadb-example-config-files.patch @@ -0,0 +1,56 @@ +diff -Naurp mariadb-10.1.19/support-files/my-huge.cnf.sh mariadb-10.1.19-patched/support-files/my-huge.cnf.sh +--- mariadb-10.1.19/support-files/my-huge.cnf.sh 2016-11-04 12:15:54.000000000 +0100 ++++ mariadb-10.1.19-patched/support-files/my-huge.cnf.sh 2016-12-02 10:29:41.111798361 +0100 +@@ -25,6 +25,7 @@ socket = @MYSQL_UNIX_ADDR@ + + # The MySQL server + [mysqld] ++log-error = @LOG_LOCATION@ + port = @MYSQL_TCP_PORT@ + socket = @MYSQL_UNIX_ADDR@ + skip-external-locking +diff -Naurp mariadb-10.1.19/support-files/my-innodb-heavy-4G.cnf.sh mariadb-10.1.19-patched/support-files/my-innodb-heavy-4G.cnf.sh +--- mariadb-10.1.19/support-files/my-innodb-heavy-4G.cnf.sh 2016-11-04 12:15:54.000000000 +0100 ++++ mariadb-10.1.19-patched/support-files/my-innodb-heavy-4G.cnf.sh 2016-12-02 10:30:07.647805999 +0100 +@@ -42,7 +42,7 @@ socket = @MYSQL_UNIX_ADDR@ + # The MariaDB server + # + [mysqld] +- ++log-error = @LOG_LOCATION@ + # generic configuration options + port = @MYSQL_TCP_PORT@ + socket = @MYSQL_UNIX_ADDR@ +diff -Naurp mariadb-10.1.19/support-files/my-large.cnf.sh mariadb-10.1.19-patched/support-files/my-large.cnf.sh +--- mariadb-10.1.19/support-files/my-large.cnf.sh 2016-11-04 12:15:54.000000000 +0100 ++++ mariadb-10.1.19-patched/support-files/my-large.cnf.sh 2016-12-02 10:30:14.744806845 +0100 +@@ -25,6 +25,7 @@ socket = @MYSQL_UNIX_ADDR@ + + # The MariaDB server + [mysqld] ++log-error = @LOG_LOCATION@ + port = @MYSQL_TCP_PORT@ + socket = @MYSQL_UNIX_ADDR@ + skip-external-locking +diff -Naurp mariadb-10.1.19/support-files/my-medium.cnf.sh mariadb-10.1.19-patched/support-files/my-medium.cnf.sh +--- mariadb-10.1.19/support-files/my-medium.cnf.sh 2016-11-04 12:15:54.000000000 +0100 ++++ mariadb-10.1.19-patched/support-files/my-medium.cnf.sh 2016-12-02 10:30:21.726807677 +0100 +@@ -26,6 +26,7 @@ socket = @MYSQL_UNIX_ADDR@ + + # The MariaDB server + [mysqld] ++log-error = @LOG_LOCATION@ + port = @MYSQL_TCP_PORT@ + socket = @MYSQL_UNIX_ADDR@ + skip-external-locking +diff -Naurp mariadb-10.1.19/support-files/my-small.cnf.sh mariadb-10.1.19-patched/support-files/my-small.cnf.sh +--- mariadb-10.1.19/support-files/my-small.cnf.sh 2016-11-04 12:15:54.000000000 +0100 ++++ mariadb-10.1.19-patched/support-files/my-small.cnf.sh 2016-12-02 10:30:27.988808423 +0100 +@@ -24,6 +24,7 @@ socket = @MYSQL_UNIX_ADDR@ + + # The MySQL server + [mysqld] ++log-error = @LOG_LOCATION@ + port = @MYSQL_TCP_PORT@ + socket = @MYSQL_UNIX_ADDR@ + skip-external-locking diff --git a/mariadb.spec b/mariadb.spec index 56ee54b..3843c07 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -170,6 +170,7 @@ Patch8: %{pkgnamepatch}-install-db-sharedir.patch Patch9: %{pkgnamepatch}-ownsetup.patch Patch12: %{pkgnamepatch}-admincrash.patch Patch13: %{pkgnamepatch}-ssl-cypher.patch +Patch14: %{pkgnamepatch}-example-config-files.patch # Patches specific for this mysql package Patch30: %{pkgnamepatch}-errno.patch @@ -578,6 +579,7 @@ MariaDB is a community developed branch of MySQL. %patch9 -p1 %patch12 -p1 %patch13 -p1 +%patch14 -p1 %patch30 -p1 %patch31 -p1 %patch32 -p1 @@ -880,9 +882,6 @@ mv Docs/README-wsrep Docs/README.wsrep # remove *.jar file from mysql-test rm -rf %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar -# -echo -e "\n\nlog-error=/var/log/mariadb/mariadb.log\n" | tee -a %{buildroot}/usr/share/mariadb/*.cnf - %if %{without clibrary} unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so @@ -1338,6 +1337,10 @@ fi %endif %changelog +* Fri Dec 02 2016 Michal Schorm - 3:10.1.19-6 +- Move patch from specfile to standalone patch file + Related: #1382988 + * Thu Dec 01 2016 Rex Dieter - 3:10.1.19-6 - -devel: use pkgconfig(openssl) to allow any implementation (like compat-openssl10) From 45e6a32f4d30d959fdd9797a87df3b667c845e1f Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 17 Dec 2016 00:05:18 +0100 Subject: [PATCH 323/789] Rebase to version 10.1.20 Related: #1405258 --- mariadb.spec | 8 ++++++-- sources | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 3843c07..957ac6d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -120,11 +120,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.1 -%global bugfixver 19 +%global bugfixver 20 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 6%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1337,6 +1337,10 @@ fi %endif %changelog +* Sat Dec 17 2016 Michal Schorm - 3:10.1.20-1 +- Rebase to version 10.1.20 + Related: #1405258 + * Fri Dec 02 2016 Michal Schorm - 3:10.1.19-6 - Move patch from specfile to standalone patch file Related: #1382988 diff --git a/sources b/sources index 6061a52..fc19133 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e22e491eb3766bc3151cc0e96a7531c2 mariadb-10.1.19.tar.gz +SHA512 (mariadb-10.1.20.tar.gz) = 926067a30e54354f6482e28152694e747f4deb8b4ba6d054e089955b45f98f628ea8cca4cfbc12f6220fa6b8b6f2ba9fef7c23c09cb82b23f370acdd32a9e892 From 220a57c9a37a0ccf9a321b4335a54dbcc8d2d5f3 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 20 Dec 2016 17:53:55 +0100 Subject: [PATCH 324/789] Use correct macro when removing doc files Resolves: #1400981 --- mariadb.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 957ac6d..6fb62fb 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -124,7 +124,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -759,7 +759,7 @@ mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig # but that's pretty wacko --- see also %%{name}-file-contents.patch) install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ -rm -rf %{buildroot}%{_pkgdocdir}/MariaDB-server-%{version}/ +rm -r %{buildroot}%{_datadir}/doc/%{_pkgdocdirname}/MariaDB-server-%{version}/ mkdir -p %{buildroot}%{logfiledir} chmod 0750 %{buildroot}%{logfiledir} @@ -1337,6 +1337,10 @@ fi %endif %changelog +* Tue Dec 20 2016 Honza Horak - 3:10.1.20-2 +- Use correct macro when removing doc files + Resolves: #1400981 + * Sat Dec 17 2016 Michal Schorm - 3:10.1.20-1 - Rebase to version 10.1.20 Related: #1405258 From 96f19d7d3d312e35b69a3fdeb6f993aaeef69fcf Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 3 Jan 2017 13:21:04 +0100 Subject: [PATCH 325/789] Add explicit EVR requirement in main package for -libs Related: #1406320 --- mariadb.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 6fb62fb..e8de582 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -124,7 +124,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -238,6 +238,10 @@ Requires: fileutils Requires: grep Requires: %{name}-common%{?_isa} = %{sameevr} +# Explicit EVR requirement for -libs is needed for +# https://bugzilla.redhat.com/show_bug.cgi?id=1406320 +Requires: %{name}-libs%{?_isa} = %{sameevr} + %if %{with mysql_names} Provides: mysql = %{sameevr} Provides: mysql%{?_isa} = %{sameevr} @@ -1337,6 +1341,10 @@ fi %endif %changelog +* Tue Jan 03 2017 Honza Horak - 3:10.1.20-3 +- Add explicit EVR requirement in main package for -libs + Related: #1406320 + * Tue Dec 20 2016 Honza Horak - 3:10.1.20-2 - Use correct macro when removing doc files Resolves: #1400981 From ae4f65b4613485556cbb2056e7f20544ca811958 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 24 Jan 2017 10:59:46 +0100 Subject: [PATCH 326/789] Rebase to version 10.1.21 Most of the non-essential utilites has been moved to the new sub-package mariadb-server-utils Patches "admincrash" and "errno" removed, they are no longer relevant "mysql-embedded-check.c" removed, no longer relevant Buildrequires krb5-devel duplicity removed Manpage for mysql_secure_installation extended Preparation for the CrackLib plugin to be added (waiting for correct SELinux rules to be relased) Related: #1260821, #1205082, #1414387 --- mariadb-admincrash.patch | 24 ----- mariadb-errno.patch | 18 ---- mariadb.spec | 175 +++++++++++++++++++++++-------------- mysql-embedded-check.c | 26 ------ rh-skipped-tests-base.list | 10 ++- 5 files changed, 115 insertions(+), 138 deletions(-) delete mode 100644 mariadb-admincrash.patch delete mode 100644 mariadb-errno.patch delete mode 100644 mysql-embedded-check.c diff --git a/mariadb-admincrash.patch b/mariadb-admincrash.patch deleted file mode 100644 index 31cbe39..0000000 --- a/mariadb-admincrash.patch +++ /dev/null @@ -1,24 +0,0 @@ -mysqladmin crash on execution of below command: - - #> mysqladmin -u root -p - ... - Segmentation fault (core dumped) - -This is probably caused by memory corruption based on working with temp_argv[-1]. - -RHBZ: #1207041 -Upstream report: https://mariadb.atlassian.net/browse/MDEV-7883 - -diff -up mariadb-5.5.41/client/mysqladmin.cc.bz1207041 mariadb-5.5.41/client/mysqladmin.cc ---- mariadb-5.5.41/client/mysqladmin.cc.bz1207041 2015-03-30 12:37:31.078880914 +0200 -+++ mariadb-5.5.41/client/mysqladmin.cc 2015-03-30 13:03:32.442152833 +0200 -@@ -1215,7 +1215,8 @@ static char **mask_password(int argc, ch - } - argc--; - } -- temp_argv[argc]= my_strdup((*argv)[argc], MYF(MY_FAE)); -+ if (argc >= 0) -+ temp_argv[argc]= my_strdup((*argv)[argc], MYF(MY_FAE)); - return(temp_argv); - } - diff --git a/mariadb-errno.patch b/mariadb-errno.patch deleted file mode 100644 index 9caec8b..0000000 --- a/mariadb-errno.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -rup mariadb-10.1.8.orig/include/my_sys.h mariadb-10.1.8/include/my_sys.h ---- mariadb-10.1.8.orig/include/my_sys.h 2015-10-15 17:43:37.000000000 +0200 -+++ mariadb-10.1.8/include/my_sys.h 2015-10-21 15:48:00.948590204 +0200 -@@ -218,13 +218,7 @@ extern void my_large_free(uchar *ptr); - #define my_safe_afree(ptr, size) my_afree(ptr) - #endif /* HAVE_ALLOCA */ - --#ifndef errno /* did we already get it? */ --#ifdef HAVE_ERRNO_AS_DEFINE --#include /* errno is a define */ --#else --extern int errno; /* declare errno */ --#endif --#endif /* #ifndef errno */ -+#include /* errno is a define */ - extern char *home_dir; /* Home directory for user */ - extern MYSQL_PLUGIN_IMPORT char *mysql_data_home; - extern const char *my_progname; /* program-name (printed in errors) */ diff --git a/mariadb.spec b/mariadb.spec index e8de582..27eff88 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -120,18 +120,17 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.1 -%global bugfixver 20 +%global bugfixver 21 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL Group: Applications/Databases URL: http://mariadb.org -# Exceptions allow client libraries to be linked with most open source SW, -# not only GPL code. See README.mysql-license +# Exceptions allow client libraries to be linked with most open source SW, not only GPL code. See README.mysql-license License: GPLv2 with exceptions and LGPLv2 and BSD Source0: http://mirrors.syringanetworks.net/mariadb/mariadb-%{version}/source/mariadb-%{version}.tar.gz @@ -140,7 +139,6 @@ Source3: my.cnf.in Source5: README.mysql-cnf Source6: README.mysql-docs Source7: README.mysql-license -Source9: mysql-embedded-check.c Source10: mysql.tmpfiles.d.in Source11: mysql.service.in Source12: mysql-prepare-db-dir.sh @@ -168,12 +166,10 @@ Patch5: %{pkgnamepatch}-file-contents.patch Patch7: %{pkgnamepatch}-scripts.patch Patch8: %{pkgnamepatch}-install-db-sharedir.patch Patch9: %{pkgnamepatch}-ownsetup.patch -Patch12: %{pkgnamepatch}-admincrash.patch Patch13: %{pkgnamepatch}-ssl-cypher.patch Patch14: %{pkgnamepatch}-example-config-files.patch # Patches specific for this mysql package -Patch30: %{pkgnamepatch}-errno.patch Patch31: %{pkgnamepatch}-string-overflow.patch Patch32: %{pkgnamepatch}-basedir.patch Patch34: %{pkgnamepatch}-covscan-stroverflow.patch @@ -187,18 +183,24 @@ BuildRequires: cmake BuildRequires: libaio-devel BuildRequires: libedit-devel BuildRequires: ncurses-devel -BuildRequires: perl -%if 0%{?fedora} >= 22 || 0%{?rhel} > 7 -BuildRequires: perl-generators -%endif BuildRequires: systemtap-sdt-devel BuildRequires: zlib-devel BuildRequires: multilib-rpm-config +BuildRequires: krb5-devel +BuildRequires: selinux-policy-devel +#CRACKLIB +#BuildRequires: cracklib-devel +%{?with_init_systemd:BuildRequires: systemd systemd-devel} # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel # use either new enough version of pcre or provide bundles(pcre) %{?with_pcre:BuildRequires: pcre-devel >= 8.35} %{!?with_pcre:Provides: bundled(pcre) = %{pcre_version}} +# Few utilities needs Perl +BuildRequires: perl +%if 0%{?fedora} >= 22 || 0%{?rhel} > 7 +BuildRequires: perl-generators +%endif # Tests requires time and ps and some perl modules BuildRequires: procps BuildRequires: time @@ -215,7 +217,6 @@ BuildRequires: perl(Sys::Hostname) BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) BuildRequires: perl(Symbol) - # Temporary workaound to build with OpenSSL 1.0 on Fedora >=26 (wich requires OpenSSL 1.1) %if 0%{?fedora} >= 26 BuildRequires: compat-openssl10-devel @@ -226,20 +227,13 @@ BuildRequires: openssl BuildRequires: openssl-devel %endif -BuildRequires: krb5-devel -BuildRequires: selinux-policy-devel -%{?with_init_systemd:BuildRequires: systemd systemd-devel} - -BuildRequires: krb5-devel Requires: bash Requires: fileutils Requires: grep Requires: %{name}-common%{?_isa} = %{sameevr} - -# Explicit EVR requirement for -libs is needed for -# https://bugzilla.redhat.com/show_bug.cgi?id=1406320 +# Explicit EVR requirement for -libs is needed for RHBZ#1406320 Requires: %{name}-libs%{?_isa} = %{sameevr} %if %{with mysql_names} @@ -249,7 +243,7 @@ Provides: mysql-compat-client = %{sameevr} Provides: mysql-compat-client%{?_isa} = %{sameevr} %endif - +Suggests: %{name}-server%{?_isa} = %{sameevr} # MySQL (with caps) is upstream's spelling of their own RPMs for mysql %{?obsoleted_mysql_case_evr:Obsoletes: MySQL < %{obsoleted_mysql_case_evr}} @@ -378,9 +372,10 @@ Requires: mysql%{?_isa} Requires: %{name}%{?_isa} %endif Requires: %{name}-common%{?_isa} = %{sameevr} +Requires: %{name}-errmsg%{?_isa} = %{sameevr} +Recommends: %{name}-server-utils%{?_isa} = %{sameevr} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d -Requires: %{name}-errmsg%{?_isa} = %{sameevr} Requires: sh-utils Requires(pre): /usr/sbin/useradd %if %{with init_systemd} @@ -391,9 +386,6 @@ Requires(pre): systemd Requires(posttrans): systemd %{?systemd_requires: %systemd_requires} %endif -# mysqlhotcopy needs DBI/DBD support -Requires: perl(DBI) -Requires: perl(DBD::mysql) # wsrep requirements Requires: lsof Requires: net-tools @@ -451,6 +443,28 @@ or products (such as Excel), or data retrieved from the environment %endif + +%package server-utils +Summary: Non-essential server utilities for MariaDB/MySQL applications +Group: Applications/Databases +Suggests: %{name}-server%{?_isa} = %{sameevr} +%if %{with mysql_names} +Provides: mysql-perl = %{sameevr} +%endif +# mysqlhotcopy needs DBI/DBD support +Requires: perl(DBI) +Requires: perl(DBD::mysql) +%{?obsoleted_mysql_case_evr:Obsoletes: MySQL-devel < %{obsoleted_mysql_case_evr}} +%{?obsoleted_mysql_evr:Obsoletes: mysql-devel < %{obsoleted_mysql_evr}} +%{?with_conflicts:Conflicts: community-mysql-devel} + +%description server-utils +This package contains all non-essential server utilities and scripts for managing +databases. It also contains all utilities requiring Perl and it is the only MariaDB +subpackage, except test subpackage, that depends on Perl. + + + %if %{with devel} %package devel Summary: Files for development of MariaDB/MySQL applications @@ -581,10 +595,8 @@ MariaDB is a community developed branch of MySQL. %patch7 -p1 %patch8 -p1 %patch9 -p1 -%patch12 -p1 %patch13 -p1 %patch14 -p1 -%patch30 -p1 %patch31 -p1 %patch32 -p1 %patch34 -p1 @@ -970,6 +982,10 @@ export MTR_BUILD_THREAD=%{__isa_bits} # 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 + +#CRACKLIB +# --do-test=cracklib \ + ( set -e cd mysql-test @@ -1055,34 +1071,14 @@ fi %if %{with client} %files -%{_bindir}/msql2mysql %{_bindir}/mysql -%{_bindir}/mysql_find_rows -%{_bindir}/mysql_plugin %{_bindir}/mysql_waitpid -%{_bindir}/mysqlaccess %{_bindir}/mysqladmin -%{_bindir}/mysqlbinlog -%{_bindir}/mysqlcheck -%{_bindir}/mysqldump -%{_bindir}/mysqlimport -%{_bindir}/mysqlshow -%{_bindir}/mysqlslap %{_bindir}/my_print_defaults -%{_mandir}/man1/msql2mysql.1* %{_mandir}/man1/mysql.1* -%{_mandir}/man1/mysql_find_rows.1* -%{_mandir}/man1/mysql_plugin.1* %{_mandir}/man1/mysql_waitpid.1* -%{_mandir}/man1/mysqlaccess.1* %{_mandir}/man1/mysqladmin.1* -%{_mandir}/man1/mysqlbinlog.1* -%{_mandir}/man1/mysqlcheck.1* -%{_mandir}/man1/mysqldump.1* -%{_mandir}/man1/mysqlimport.1* -%{_mandir}/man1/mysqlshow.1* -%{_mandir}/man1/mysqlslap.1* %{_mandir}/man1/my_print_defaults.1* %endif @@ -1172,22 +1168,12 @@ fi %{_bindir}/myisam_ftdump %{_bindir}/myisamlog %{_bindir}/myisampack -%{_bindir}/mysql_convert_table_format -%{_bindir}/mysql_fix_extensions %{_bindir}/mysql_install_db %{_bindir}/mysql_secure_installation -%{_bindir}/mysql_setpermission %{_bindir}/mysql_tzinfo_to_sql -%{_bindir}/mysql_upgrade -%{_bindir}/mysql_zap %{_bindir}/mysqlbug -%{_bindir}/mysqldumpslow -%{_bindir}/mysqld_multi %{_bindir}/mysqld_safe -%{_bindir}/mysqlhotcopy -%{_bindir}/mysqltest %{_bindir}/innochecksum -%{_bindir}/perror %{_bindir}/replace %{_bindir}/resolve_stack_dump %{_bindir}/resolveip @@ -1203,6 +1189,9 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf %{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf} +#CRACKLIB +#%{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf + %{_libexecdir}/mysqld %{_libdir}/mysql/INFO_SRC @@ -1225,23 +1214,13 @@ fi %{_mandir}/man1/myisamchk.1* %{_mandir}/man1/myisamlog.1* %{_mandir}/man1/myisampack.1* -%{_mandir}/man1/mysql_convert_table_format.1* %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/mysql.server.1* -%{_mandir}/man1/mysql_fix_extensions.1* %{_mandir}/man1/mysql_install_db.1* %{_mandir}/man1/mysql_secure_installation.1* -%{_mandir}/man1/mysql_upgrade.1* -%{_mandir}/man1/mysql_zap.1* %{_mandir}/man1/mysqlbug.1* -%{_mandir}/man1/mysqldumpslow.1* -%{_mandir}/man1/mysqld_multi.1* %{_mandir}/man1/mysqld_safe.1* -%{_mandir}/man1/mysqlhotcopy.1* -%{_mandir}/man1/mysql_setpermission.1* -%{_mandir}/man1/mysqltest.1* %{_mandir}/man1/innochecksum.1* -%{_mandir}/man1/perror.1* %{_mandir}/man1/replace.1* %{_mandir}/man1/resolve_stack_dump.1* %{_mandir}/man1/resolveip.1* @@ -1269,6 +1248,7 @@ fi %{_datadir}/%{pkg_name}/policy/apparmor/usr.sbin.mysqld* %{_datadir}/%{pkg_name}/policy/selinux/README %{_datadir}/%{pkg_name}/policy/selinux/mariadb-server.* +%{_datadir}/%{pkg_name}/policy/selinux/mariadb.* %{_datadir}/%{pkg_name}/systemd/mariadb.service # mariadb@ is installed only when we have cmake newer than 3.3 %if 0%{?fedora} > 22 || 0%{?rhel} > 7 @@ -1302,6 +1282,57 @@ fi %{_libdir}/mysql/plugin/ha_connect.so %endif +%files server-utils +%if %{with client} +%{_bindir}/mysql_find_rows +%{_bindir}/mysqlaccess +%{_mandir}/man1/mysqlaccess.1* +%{_mandir}/man1/mysql_find_rows.1* +%endif +#Perl utilities +%{_bindir}/mysql_convert_table_format +%{_bindir}/mysql_fix_extensions +%{_bindir}/mysql_setpermission +%{_bindir}/mysql_zap +%{_bindir}/mysqldumpslow +%{_bindir}/mysqld_multi +%{_bindir}/mysqlhotcopy +%{_mandir}/man1/mysql_convert_table_format.1* +%{_mandir}/man1/mysql_fix_extensions.1* +%{_mandir}/man1/mysql_zap.1* +%{_mandir}/man1/mysqldumpslow.1* +%{_mandir}/man1/mysqld_multi.1* +%{_mandir}/man1/mysqlhotcopy.1* +%{_mandir}/man1/mysql_setpermission.1* +#Utilities that can be used remotely +%{_bindir}/mysql_upgrade +%{_bindir}/mysqltest +%{_bindir}/perror +%{_mandir}/man1/mysql_upgrade.1* +%{_mandir}/man1/mysqltest.1* +%{_mandir}/man1/perror.1* +#Utilites that are not necessary, but should not be used remotely (because of huge data flow) +%{_bindir}/mysqlcheck +%{_bindir}/mysqldump +%{_bindir}/mysqlimport +%{_bindir}/mysqlslap +%{_mandir}/man1/mysqlcheck.1* +%{_mandir}/man1/mysqldump.1* +%{_mandir}/man1/mysqlimport.1* +%{_mandir}/man1/mysqlslap.1* +#Other utilities +%{_bindir}/mysqld_safe_helper +%{_bindir}/msql2mysql +%{_bindir}/mysql_plugin +%{_bindir}/mysqlbinlog +%{_bindir}/mysqlshow +%{_mandir}/man1/msql2mysql.1* +%{_mandir}/man1/mysql_plugin.1* +%{_mandir}/man1/mysqlbinlog.1* +%{_mandir}/man1/mysqlshow.1* + + + %if %{with devel} %files devel %{_bindir}/mysql_config* @@ -1341,6 +1372,16 @@ fi %endif %changelog +* Tue Jan 24 2017 Michal Schorm - 3:10.1.21-1 +- Rebase to version 10.1.21 +- Most of the non-essential utilites has been moved to the new sub-package mariadb-server-utils +- Patches "admincrash" and "errno" removed, they are no longer relevant + "mysql-embedded-check.c" removed, no longer relevant +- Buildrequires krb5-devel duplicity removed +- Manpage for mysql_secure_installation extended +- Preparation for the CrackLib plugin to be added (waiting for correct SELinux rules to be relased) + Related: #1260821, #1205082, #1414387 + * Tue Jan 03 2017 Honza Horak - 3:10.1.20-3 - Add explicit EVR requirement in main package for -libs Related: #1406320 diff --git a/mysql-embedded-check.c b/mysql-embedded-check.c deleted file mode 100644 index 8bf8ca5..0000000 --- a/mysql-embedded-check.c +++ /dev/null @@ -1,26 +0,0 @@ -/* simple test program to see if we can link the embedded server library */ - -#include -#include -#include - -#include "mysql.h" - -MYSQL *mysql; - -static char *server_options[] = \ - { "mysql_test", "--defaults-file=my.cnf", NULL }; -int num_elements = (sizeof(server_options) / sizeof(char *)) - 1; - -static char *server_groups[] = { "libmysqld_server", - "libmysqld_client", NULL }; - -int main(int argc, char **argv) -{ - mysql_library_init(num_elements, server_options, server_groups); - mysql = mysql_init(NULL); - mysql_close(mysql); - mysql_library_end(); - - return 0; -} diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 2992d7e..4b1a1ba 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -1,9 +1,13 @@ -main.userstat : #1399847 -main.multi_update : #1399847 -main.set_statement_notembedded_binlog : #1399847 +# The SSL test are failing correctly. Fro more explanation, see: +# https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-84275 main.ssl_7937 : #1399847 main.ssl_crl_clients : #1399847 main.ssl_cert_verify : #1399847 + +# +main.userstat : #1399847 +main.multi_update : #1399847 +main.set_statement_notembedded_binlog : #1399847 perfschema.nesting : #1399847 perfschema.socket_summary_by_event_name_func : #1399847 perfschema.socket_summary_by_instance_func : #1399847 From 2e8ca36dd82c5a29818c47bd170871f534cd3d7a Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 24 Jan 2017 23:12:37 +0100 Subject: [PATCH 327/789] Update 10.1.21: add new-sources --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index fc19133..0c97c82 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.1.20.tar.gz) = 926067a30e54354f6482e28152694e747f4deb8b4ba6d054e089955b45f98f628ea8cca4cfbc12f6220fa6b8b6f2ba9fef7c23c09cb82b23f370acdd32a9e892 +SHA512 (mariadb-10.1.21.tar.gz) = 241467ce7c04603261509e45b3c476632a11754f15dead67434bb8a0fbad6ebcf44c63ffeb7075574e54d14039b22702d48732c1fd8a498948d8b6fc54d54714 From 79362ec511dfe98ad3abc8ce035ee6c42a323d34 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 1 Feb 2017 12:42:38 +0100 Subject: [PATCH 328/789] Add comment about why we need config subpackage. --- mariadb.spec | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index 27eff88..b2eb4d2 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -295,6 +295,15 @@ to a MariaDB/MySQL server. MariaDB is a community developed branch of MySQL. %endif +# At least main config file /etc/my.cnf is shared for client and server part +# Since we want to support combination of different client and server +# implementations (e.g. mariadb library and community-mysql server), +# we need the config file(s) to be in a separate package, so no extra packages +# are pulled, because these would likely conflict. +# More specifically, the dependency on the main configuration file (/etc/my.cnf) +# is supposed to be defined as Requires: /etc/my.cnf rather than requiring +# a specific package, so installer app can choose whatever package fits to +# the transaction. %if %{with config} %package config Summary: The config files required by server and client From 49c2f70b31184856078bf88d70f074ed3b96bd32 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 10 Feb 2017 20:28:30 +0000 Subject: [PATCH 329/789] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index b2eb4d2..e3b5a6d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -124,7 +124,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1381,6 +1381,9 @@ fi %endif %changelog +* Fri Feb 10 2017 Fedora Release Engineering - 3:10.1.21-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Tue Jan 24 2017 Michal Schorm - 3:10.1.21-1 - Rebase to version 10.1.21 - Most of the non-essential utilites has been moved to the new sub-package mariadb-server-utils From 5732289a93631dc8b1fd1c04645d7008dccfdef7 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 15 Feb 2017 17:04:36 +0100 Subject: [PATCH 330/789] Fix for some RPMLint issues Fix: Only server utilities can be move to server-utils subpackage. The rest (from client) were moved back to where they came from (client the main subpackage) Added correct "Obsoletes" for the server-utils subpackage Fixed FTBFS in F26 on x86_64, because of -Werror option Related: #1421092, #1395127 --- mariadb.spec | 112 ++++++++++++++++++++----------------- rh-skipped-tests-base.list | 3 + 2 files changed, 64 insertions(+), 51 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index e3b5a6d..ffc8416 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -124,7 +124,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -223,15 +223,11 @@ BuildRequires: compat-openssl10-devel Requires: compat-openssl10 %else # for running some openssl tests rhbz#1189180 -BuildRequires: openssl -BuildRequires: openssl-devel +BuildRequires: openssl openssl-devel %endif +Requires: bash fileutils grep - -Requires: bash -Requires: fileutils -Requires: grep Requires: %{name}-common%{?_isa} = %{sameevr} # Explicit EVR requirement for -libs is needed for RHBZ#1406320 Requires: %{name}-libs%{?_isa} = %{sameevr} @@ -396,10 +392,7 @@ Requires(posttrans): systemd %{?systemd_requires: %systemd_requires} %endif # wsrep requirements -Requires: lsof -Requires: net-tools -Requires: sh-utils -Requires: rsync +Requires: lsof net-tools sh-utils rsync %if %{with mysql_names} Provides: mysql-server = %{sameevr} Provides: mysql-server%{?_isa} = %{sameevr} @@ -425,8 +418,7 @@ Summary: The Open Query GRAPH engine for MariaDB Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} # boost and Judy required for oograph -BuildRequires: boost-devel -BuildRequires: Judy-devel +BuildRequires: boost-devel Judy-devel %description oqgraph-engine The package provides Open Query GRAPH engine (OQGRAPH) as plugin for MariaDB @@ -452,20 +444,15 @@ or products (such as Excel), or data retrieved from the environment %endif - %package server-utils Summary: Non-essential server utilities for MariaDB/MySQL applications Group: Applications/Databases -Suggests: %{name}-server%{?_isa} = %{sameevr} +Requires: %{name}-server%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-perl = %{sameevr} %endif # mysqlhotcopy needs DBI/DBD support -Requires: perl(DBI) -Requires: perl(DBD::mysql) -%{?obsoleted_mysql_case_evr:Obsoletes: MySQL-devel < %{obsoleted_mysql_case_evr}} -%{?obsoleted_mysql_evr:Obsoletes: mysql-devel < %{obsoleted_mysql_evr}} -%{?with_conflicts:Conflicts: community-mysql-devel} +Requires: perl(DBI) perl(DBD::mysql) %description server-utils This package contains all non-essential server utilities and scripts for managing @@ -473,7 +460,6 @@ databases. It also contains all utilities requiring Perl and it is the only Mari subpackage, except test subpackage, that depends on Perl. - %if %{with devel} %package devel Summary: Files for development of MariaDB/MySQL applications @@ -594,6 +580,7 @@ the MariaDB sources. MariaDB is a community developed branch of MySQL. %endif + %prep %setup -q -n mariadb-%{version} @@ -653,7 +640,11 @@ then fi } - +# Fix for RHBZ #1395127 - part "The -Werror option in Percona directory prevents MariaDB to be compiled on x86_64 arch" from comment 4 +# Upstream: https://jira.mariadb.org/browse/MDEV-11965 +%ifarch x86_64 +sed -i s/-Werror//g storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake +%endif %build @@ -682,6 +673,11 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` %ifarch ppc64 CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` %endif +# -Werror break rawhide(F26) build on x86_64 +%ifarch x86_64 +CFLAGS=`echo $CFLAGS| sed -e "s|-Werror=format-security||g" ` +CFLAGS=`echo $CFLAGS| sed -e "s|-Wall||g" ` +%endif CXXFLAGS="$CFLAGS" export CFLAGS CXXFLAGS @@ -907,6 +903,10 @@ mv Docs/README-wsrep Docs/README.wsrep # remove *.jar file from mysql-test rm -rf %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar +# RPMLINT E: +# mariadb-bench.x86_64: E: script-without-shebang /usr/share/sql-bench/myisam.cnf +chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf + %if %{without clibrary} unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so @@ -995,6 +995,10 @@ export MTR_BUILD_THREAD=%{__isa_bits} #CRACKLIB # --do-test=cracklib \ +# Failing test debug 02/14/17 +# --do-test=mysql_client_test_nonblock \ + + ( set -e cd mysql-test @@ -1080,14 +1084,34 @@ fi %if %{with client} %files +%{_bindir}/msql2mysql %{_bindir}/mysql +%{_bindir}/mysql_find_rows +%{_bindir}/mysql_plugin %{_bindir}/mysql_waitpid +%{_bindir}/mysqlaccess %{_bindir}/mysqladmin +%{_bindir}/mysqlbinlog +%{_bindir}/mysqlcheck +%{_bindir}/mysqldump +%{_bindir}/mysqlimport +%{_bindir}/mysqlshow +%{_bindir}/mysqlslap %{_bindir}/my_print_defaults +%{_mandir}/man1/msql2mysql.1* %{_mandir}/man1/mysql.1* +%{_mandir}/man1/mysql_find_rows.1* +%{_mandir}/man1/mysql_plugin.1* %{_mandir}/man1/mysql_waitpid.1* +%{_mandir}/man1/mysqlaccess.1* %{_mandir}/man1/mysqladmin.1* +%{_mandir}/man1/mysqlbinlog.1* +%{_mandir}/man1/mysqlcheck.1* +%{_mandir}/man1/mysqldump.1* +%{_mandir}/man1/mysqlimport.1* +%{_mandir}/man1/mysqlshow.1* +%{_mandir}/man1/mysqlslap.1* %{_mandir}/man1/my_print_defaults.1* %endif @@ -1292,12 +1316,6 @@ fi %endif %files server-utils -%if %{with client} -%{_bindir}/mysql_find_rows -%{_bindir}/mysqlaccess -%{_mandir}/man1/mysqlaccess.1* -%{_mandir}/man1/mysql_find_rows.1* -%endif #Perl utilities %{_bindir}/mysql_convert_table_format %{_bindir}/mysql_fix_extensions @@ -1320,27 +1338,8 @@ fi %{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/mysqltest.1* %{_mandir}/man1/perror.1* -#Utilites that are not necessary, but should not be used remotely (because of huge data flow) -%{_bindir}/mysqlcheck -%{_bindir}/mysqldump -%{_bindir}/mysqlimport -%{_bindir}/mysqlslap -%{_mandir}/man1/mysqlcheck.1* -%{_mandir}/man1/mysqldump.1* -%{_mandir}/man1/mysqlimport.1* -%{_mandir}/man1/mysqlslap.1* #Other utilities %{_bindir}/mysqld_safe_helper -%{_bindir}/msql2mysql -%{_bindir}/mysql_plugin -%{_bindir}/mysqlbinlog -%{_bindir}/mysqlshow -%{_mandir}/man1/msql2mysql.1* -%{_mandir}/man1/mysql_plugin.1* -%{_mandir}/man1/mysqlbinlog.1* -%{_mandir}/man1/mysqlshow.1* - - %if %{with devel} %files devel @@ -1370,6 +1369,9 @@ fi %if %{with bench} %files bench %{_datadir}/sql-bench +# RPMLINT W: +# mariadb-bench.x86_64: W: no-documentation +%doc %{_datadir}/sql-bench/README %endif %if %{with test} @@ -1381,6 +1383,14 @@ fi %endif %changelog +* Wed Feb 15 2017 Michal Schorm - 3:10.1.21-3 +- Fix for some RPMLint issues +- Fix: Only server utilities can be move to server-utils subpackage. The rest (from client) + were moved back to where they came from (client - the main subpackage) +- Added correct "Obsoletes" for the server-utils subpackage +- Fixed FTBFS in F26 on x86_64, because of -Werror option + Related: #1421092, #1395127 + * Fri Feb 10 2017 Fedora Release Engineering - 3:10.1.21-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild @@ -1469,7 +1479,7 @@ fi - Update to 10.1.15 * Fri Jul 1 2016 Jakub Dorňák - 1:10.1.14-3 - Revert "Update to 10.2.0" +- Revert "Update to 10.2.0" It is possible that MariaDB 10.2.0 won't be stable till f25 GA. * Tue Jun 21 2016 Pavel Raiskup - 1:10.1.14-3 @@ -1493,8 +1503,8 @@ fi * Tue Apr 5 2016 Jakub Dorňák - 1:10.1.13-2 - Moved /etc/sysconfig/clustercheck - and /usr/share/mariadb/systemd/use_galera_new_cluster.conf - to mariadb-server-galera + and /usr/share/mariadb/systemd/use_galera_new_cluster.conf + to mariadb-server-galera * Tue Mar 29 2016 Jakub Dorňák - 1:10.1.13-1 - Update to 10.1.13 @@ -2010,7 +2020,7 @@ fi * Thu Feb 28 2013 Honza Horak 5.5.29-7 - Use configured prefix value instead of guessing basedir in mysql_config -Resolves: #916189 + Resolves: #916189 - Export dynamic columns and non-blocking API functions documented by upstream diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 4b1a1ba..26c64d0 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -11,3 +11,6 @@ main.set_statement_notembedded_binlog : #1399847 perfschema.nesting : #1399847 perfschema.socket_summary_by_event_name_func : #1399847 perfschema.socket_summary_by_instance_func : #1399847 + +# test that started to fail in 10.1.21 only on i686 only in Fedora Rawhide (F26). 14/02/17 +main.mysql_client_test_nonblock : #1399847 From 9442da192282aa74f43e86c96202109a173bbaba Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 7 Mar 2017 10:28:51 +0100 Subject: [PATCH 331/789] Cracklib plugin enabled --- mariadb.spec | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index ffc8416..8334710 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -124,7 +124,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -188,9 +188,10 @@ BuildRequires: zlib-devel BuildRequires: multilib-rpm-config BuildRequires: krb5-devel BuildRequires: selinux-policy-devel -#CRACKLIB -#BuildRequires: cracklib-devel %{?with_init_systemd:BuildRequires: systemd systemd-devel} +# Cracklib plugin +BuildRequires: cracklib-devel +BuildRequires: cracklib-dicts # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel # use either new enough version of pcre or provide bundles(pcre) @@ -992,13 +993,9 @@ export MTR_BUILD_THREAD=%{__isa_bits} # avoid redundant test runs with --binlog-format=mixed # increase timeouts to prevent unwanted failures during mass rebuilds -#CRACKLIB -# --do-test=cracklib \ - # Failing test debug 02/14/17 # --do-test=mysql_client_test_nonblock \ - ( set -e cd mysql-test @@ -1222,8 +1219,8 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf %{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf} -#CRACKLIB -#%{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf +# Cracklib plugin +%{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf %{_libexecdir}/mysqld @@ -1383,6 +1380,9 @@ fi %endif %changelog +* Wed Mar 07 2017 Michal Schorm - 3:10.1.21-4 +- Cracklib plugin enabled + * Wed Feb 15 2017 Michal Schorm - 3:10.1.21-3 - Fix for some RPMLint issues - Fix: Only server utilities can be move to server-utils subpackage. The rest (from client) From c2cd667555af55aab0108a3347440ade68679a85 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 7 Mar 2017 10:31:35 +0100 Subject: [PATCH 332/789] Fix of date in changelog --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 8334710..fb6b256 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1380,7 +1380,7 @@ fi %endif %changelog -* Wed Mar 07 2017 Michal Schorm - 3:10.1.21-4 +* Tue Mar 07 2017 Michal Schorm - 3:10.1.21-4 - Cracklib plugin enabled * Wed Feb 15 2017 Michal Schorm - 3:10.1.21-3 From 5bf2ab94ed8f8971ce939255ae67ad537ac78b25 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 7 Mar 2017 13:39:27 +0100 Subject: [PATCH 333/789] Added comment to mysql.service.in --- mysql.service.in | 1 + 1 file changed, 1 insertion(+) diff --git a/mysql.service.in b/mysql.service.in index c385b4a..3186a32 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -35,6 +35,7 @@ User=mysql Group=mysql ExecStartPre=@libexecdir@/mysql-check-socket +# '%n' expands to 'Full unit name'; man systemd.unit ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n # MYSQLD_OPTS here is for users to set in /etc/systemd/system/@DAEMON_NAME@@.service.d/MY_SPECIAL.conf # Note: we set --basedir to prevent probes that might trigger SELinux alarms, From 4a9448cf0c3a293501ce16ffc9de8840575bc69b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 8 Mar 2017 15:10:11 +0100 Subject: [PATCH 334/789] Removed strmov patch, it is no longer needed. The issue was fixed long ago in both MariaDB and MySQL Removed "After=syslog.target" from systemd unit files. This option is a default one --- mariadb-strmov.patch | 30 ------------------------------ mariadb.spec | 3 +-- mysql.service.in | 1 - mysql@.service.in | 1 - 4 files changed, 1 insertion(+), 34 deletions(-) delete mode 100644 mariadb-strmov.patch diff --git a/mariadb-strmov.patch b/mariadb-strmov.patch deleted file mode 100644 index c2350c4..0000000 --- a/mariadb-strmov.patch +++ /dev/null @@ -1,30 +0,0 @@ -Remove overly optimistic definition of strmov() as stpcpy(). - -mysql uses this macro with overlapping source and destination strings, -which is verboten per spec, and fails on some Red Hat platforms. -Deleting the definition is sufficient to make it fall back to a -byte-at-a-time copy loop, which should consistently give the -expected behavior. - -Note: the particular case that prompted this patch is reported and fixed -at http://bugs.mysql.com/bug.php?id=48864. However, my faith in upstream's -ability to detect this type of error is low, and I also see little evidence -of any real performance gain from optimizing these calls. So I'm keeping -this patch. - -diff -up mariadb-10.0.15/include/m_string.h.orig mariadb-10.0.15/include/m_string.h ---- mariadb-10.0.15/include/m_string.h.orig 2014-11-27 14:40:32.622032698 +0100 -+++ mariadb-10.0.15/include/m_string.h 2014-11-27 14:38:56.211864712 +0100 -@@ -73,12 +73,6 @@ extern void *(*my_str_malloc)(size_t); - extern void *(*my_str_realloc)(void *, size_t); - extern void (*my_str_free)(void *); - --#if defined(HAVE_STPCPY) && MY_GNUC_PREREQ(3, 4) && !defined(__INTEL_COMPILER) --#define strmov(A,B) __builtin_stpcpy((A),(B)) --#elif defined(HAVE_STPCPY) --#define strmov(A,B) stpcpy((A),(B)) --#endif -- - /* Declared in int2str() */ - extern const char _dig_vec_upper[]; - extern const char _dig_vec_lower[]; diff --git a/mariadb.spec b/mariadb.spec index fb6b256..2028424 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -159,7 +159,6 @@ Source72: mariadb-server-galera.te # Comments for these patches are in the patch files # Patches common for more mysql-like packages -Patch1: %{pkgnamepatch}-strmov.patch Patch2: %{pkgnamepatch}-install-test.patch Patch4: %{pkgnamepatch}-logrotate.patch Patch5: %{pkgnamepatch}-file-contents.patch @@ -585,7 +584,6 @@ MariaDB is a community developed branch of MySQL. %prep %setup -q -n mariadb-%{version} -%patch1 -p1 %patch2 -p1 %patch4 -p1 %patch5 -p1 @@ -1382,6 +1380,7 @@ fi %changelog * Tue Mar 07 2017 Michal Schorm - 3:10.1.21-4 - Cracklib plugin enabled +- Removed strmov patch, it is no longer needed. The issue was fixed long ago in both MariaDB and MySQL * Wed Feb 15 2017 Michal Schorm - 3:10.1.21-3 - Fix for some RPMLint issues diff --git a/mysql.service.in b/mysql.service.in index 3186a32..20bd97d 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -26,7 +26,6 @@ [Unit] Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server -After=syslog.target After=network.target [Service] diff --git a/mysql@.service.in b/mysql@.service.in index ab9a7cd..9338c22 100644 --- a/mysql@.service.in +++ b/mysql@.service.in @@ -33,7 +33,6 @@ [Unit] Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server -After=syslog.target After=network.target [Service] From 39794f986467615b3cb4582de1873e18d5776871 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 15 May 2017 10:32:14 +0200 Subject: [PATCH 335/789] One test diabled --- rh-skipped-tests-base.list | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 26c64d0..21f29ea 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -14,3 +14,7 @@ perfschema.socket_summary_by_instance_func : #1399847 # test that started to fail in 10.1.21 only on i686 only in Fedora Rawhide (F26). 14/02/17 main.mysql_client_test_nonblock : #1399847 + +# needs this tests disabled for mode build +plugins.feedback_plugin_load : # + From 2b74e7b23c52d4b96e28c0abb9b7b1933f114e2b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 15 May 2017 21:27:43 +0000 Subject: [PATCH 336/789] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 2028424..b39ffbe 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -124,7 +124,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1378,6 +1378,9 @@ fi %endif %changelog +* Mon May 15 2017 Fedora Release Engineering - 3:10.1.21-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild + * Tue Mar 07 2017 Michal Schorm - 3:10.1.21-4 - Cracklib plugin enabled - Removed strmov patch, it is no longer needed. The issue was fixed long ago in both MariaDB and MySQL From 0faea8d867548f70dac6d083f901880a8a06d8c1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 15 May 2017 21:27:48 +0000 Subject: [PATCH 337/789] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 2028424..b39ffbe 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -124,7 +124,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1378,6 +1378,9 @@ fi %endif %changelog +* Mon May 15 2017 Fedora Release Engineering - 3:10.1.21-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild + * Tue Mar 07 2017 Michal Schorm - 3:10.1.21-4 - Cracklib plugin enabled - Removed strmov patch, it is no longer needed. The issue was fixed long ago in both MariaDB and MySQL From 42046e34d70c0ef472a8b2e20d027ab46024e077 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 30 May 2017 14:33:52 +0200 Subject: [PATCH 338/789] Use coreutils rather than fileutils, since that is correct name of the package In modules, fileutils provide might be missing, so we would have unsatisfied dependency --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index b39ffbe..9e671ff 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -226,7 +226,7 @@ Requires: compat-openssl10 BuildRequires: openssl openssl-devel %endif -Requires: bash fileutils grep +Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} # Explicit EVR requirement for -libs is needed for RHBZ#1406320 From 7998c8ef3aa28a8dc3d3d900faf5807347deb1cf Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 23 May 2017 15:14:48 +0200 Subject: [PATCH 339/789] Plugin oqgraph enabled Plugin jemalloc enabled 'force' option for 'rm' removed Enabled '--big-test' option for the testsuite Disabled '--skip-rpl' option for the testsuite = replication tests enabled Multilib manpage added RH unstable tests added to upstream file instead of our own Server dependency changed from 'sh-utils' to 'coreutils' --- mariadb-install-test.patch | 6 +- mariadb-logrotate.patch | 8 ++ mariadb.spec | 185 ++++++++++++++++++++----------------- 3 files changed, 110 insertions(+), 89 deletions(-) diff --git a/mariadb-install-test.patch b/mariadb-install-test.patch index e085599..1797474 100644 --- a/mariadb-install-test.patch +++ b/mariadb-install-test.patch @@ -23,17 +23,17 @@ Improve the documentation that will be installed in the mysql-test RPM. +who is created with nologin shell however, so the best bet is something like + $ su - + # cd /usr/share/mysql-test -+ # su -s /bin/bash mysql -c "./mysql-test-run --skip-test-list=rh-skipped-tests.list" ++ # su -s /bin/bash mysql -c "./mysql-test-run --skip-test-list=unstable-tests" + +This will use the installed mysql executables, but will run a private copy +of the server process (using data files within /usr/share/mysql-test), +so you need not start the mysqld service beforehand. + -+The "--skip-test-list=rh-skipped-tests.list" option excludes tests that are ++The "--skip-test-list=unstable-tests" option excludes tests that are +known to fail on one or more Red-Hat-supported platforms. You can omit it +if you want to check whether such failures occur for you. Documentation +about the reasons for omitting such tests can be found in the file -+rh-skipped-tests.list. ++unstable-tests. + +To clean up afterwards, remove the created "var" subdirectory, eg + # su -s /bin/bash - mysql -c "rm -rf /usr/share/mysql-test/var" diff --git a/mariadb-logrotate.patch b/mariadb-logrotate.patch index 898f7f4..bc4da54 100644 --- a/mariadb-logrotate.patch +++ b/mariadb-logrotate.patch @@ -12,6 +12,14 @@ Adjust the mysql-log-rotate script in several ways: is low-volume and so rotation is not critical functionality. See discussions at RH bugs 799735, 547007 +* Note they are from Fedora 15 / 16 + +Update 3/2017 +* it would be big unexpected change for anyone upgrading, if we start shipping it now. + Maybe it is good candidate for shipping with MariaDB 10.2 ? +* the 'mysqladmin flush logs' doesn´t guarantee, no entries are lost + during flushing, the operation is not atomic. + We should not ship it in that state diff -up mariadb-10.0.10/support-files/mysql-log-rotate.sh.p5 mariadb-10.0.10/support-files/mysql-log-rotate.sh diff --git a/mariadb.spec b/mariadb.spec index 9e671ff..4002a3b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -5,6 +5,7 @@ # 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) +#TODO: enable %{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail, but 0 on production ready build @@ -23,7 +24,6 @@ # TokuDB engine is now part of MariaDB, but it is available only for x86_64; # variable tokudb allows to build with TokuDB storage engine -# Temporarily disabled in F21+ for https://mariadb.atlassian.net/browse/MDEV-6446 %ifarch x86_64 %bcond_without tokudb %else @@ -39,10 +39,8 @@ %endif # The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing -# hierarchies and more complex graph structures to be handled in a relational -# fashion; enabled by default -# Temporarily disabling oqgraph: https://mariadb.atlassian.net/browse/MDEV-9479 -%bcond_with oqgraph +# hierarchies and more complex graph structures to be handled in a relational fashion +%bcond_without oqgraph # For some use cases we do not need some parts of the package %bcond_without clibrary @@ -152,26 +150,38 @@ Source19: mysql.init.in Source50: rh-skipped-tests-base.list Source51: rh-skipped-tests-arm.list Source52: rh-skipped-tests-ppc-s390.list -# TODO: clustercheck contains some hard-coded paths, these should be expanded using template system +# Proposed upstream: https://jira.mariadb.org/browse/MDEV-12442 +# General upstream response was slightly positive Source70: clustercheck.sh Source71: LICENSE.clustercheck Source72: mariadb-server-galera.te -# Comments for these patches are in the patch files -# Patches common for more mysql-like packages +# Patch2: testsuite README update, introducing skipped-tests.list +# upstream questioned, if they are insterested: https://jira.mariadb.org/browse/MDEV-12263 Patch2: %{pkgnamepatch}-install-test.patch +# Patch4: Red Hat distributions specific logrotate fix +# it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2 Patch4: %{pkgnamepatch}-logrotate.patch Patch5: %{pkgnamepatch}-file-contents.patch +# Patch7: add to the CMake file all files where we want macros to be expanded Patch7: %{pkgnamepatch}-scripts.patch +# Patch8: resolve conflict, when we combine MariaDB and MySQL packages Patch8: %{pkgnamepatch}-install-db-sharedir.patch +# Patch9: pre-configure to comply with guidelines Patch9: %{pkgnamepatch}-ownsetup.patch +# Patch13: patch of test of ssl cypher unsupported in Fedora Patch13: %{pkgnamepatch}-ssl-cypher.patch Patch14: %{pkgnamepatch}-example-config-files.patch # Patches specific for this mysql package +# Patch31: +# TODO: I should run covscan again Patch31: %{pkgnamepatch}-string-overflow.patch Patch32: %{pkgnamepatch}-basedir.patch +# Patch34: +# TODO: I should run covscan again Patch34: %{pkgnamepatch}-covscan-stroverflow.patch +# Patch37: don't create a test DB: https://jira.mariadb.org/browse/MDEV-12645 Patch37: %{pkgnamepatch}-notestdb.patch # Patches for galera @@ -187,9 +197,10 @@ BuildRequires: zlib-devel BuildRequires: multilib-rpm-config BuildRequires: krb5-devel BuildRequires: selinux-policy-devel +BuildRequires: jemalloc-devel %{?with_init_systemd:BuildRequires: systemd systemd-devel} # Cracklib plugin -BuildRequires: cracklib-devel +BuildRequires: cracklib-dicts cracklib-devel BuildRequires: cracklib-dicts # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel @@ -224,9 +235,11 @@ Requires: compat-openssl10 %else # for running some openssl tests rhbz#1189180 BuildRequires: openssl openssl-devel +Requires: openssl %endif Requires: bash coreutils grep +Requires: jemalloc Requires: %{name}-common%{?_isa} = %{sameevr} # Explicit EVR requirement for -libs is needed for RHBZ#1406320 @@ -381,7 +394,7 @@ Requires: %{name}-errmsg%{?_isa} = %{sameevr} Recommends: %{name}-server-utils%{?_isa} = %{sameevr} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d -Requires: sh-utils +Requires: coreutils Requires(pre): /usr/sbin/useradd %if %{with init_systemd} # We require this to be present for %%{_tmpfilesdir} @@ -392,7 +405,7 @@ Requires(posttrans): systemd %{?systemd_requires: %systemd_requires} %endif # wsrep requirements -Requires: lsof net-tools sh-utils rsync +Requires: lsof net-tools rsync %if %{with mysql_names} Provides: mysql-server = %{sameevr} Provides: mysql-server%{?_isa} = %{sameevr} @@ -599,21 +612,19 @@ MariaDB is a community developed branch of MySQL. %patch40 -p1 %patch41 -p1 -sed -i -e 's/2.8.7/2.6.4/g' cmake/cpack_rpm.cmake - # workaround for upstream bug #56342 -rm -f mysql-test/t/ssl_8k_key-master.opt +rm mysql-test/t/ssl_8k_key-master.opt # generate a list of tests that fail, but are not disabled by upstream -cat %{SOURCE50} | tee mysql-test/rh-skipped-tests.list +cat %{SOURCE50} | tee -a mysql-test/unstable-tests # disable some tests failing on different architectures %ifarch %{arm} aarch64 -cat %{SOURCE51} | tee -a mysql-test/rh-skipped-tests.list +cat %{SOURCE51} | tee -a mysql-test/unstable-tests %endif %ifarch ppc ppc64 ppc64p7 s390 s390x -cat %{SOURCE52} | tee -a mysql-test/rh-skipped-tests.list +cat %{SOURCE51} | tee -a mysql-test/unstable-tests %endif cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ @@ -634,7 +645,7 @@ pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\ if [ %{pcre_version} != "$pcre_maj.$pcre_min" ] then - echo "\n PCRE version is outdated. \n\tIncluded version:%{pcre_version} \n\tUpstream version: $pcre_maj.$pcre_min\n" + echo "\n Error: PCRE version is outdated. \n\tIncluded version:%{pcre_version} \n\tUpstream version: $pcre_maj.$pcre_min\n" exit 1 fi } @@ -660,15 +671,12 @@ sed -i s/-Werror//g storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cma CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" # force PIC mode so that we can build libmysqld.so CFLAGS="$CFLAGS -fPIC" -# GCC 4.9 causes segfaults: https://mariadb.atlassian.net/browse/MDEV-6360 -CFLAGS="$CFLAGS -fno-delete-null-pointer-checks" -# gcc seems to have some bugs on sparc as of 4.4.1, back off optimization -# submitted as bz #529298 +# gcc seems to have some bugs on sparc as of 4.4.1, back off optimization; rhbz#529298 +# Note: sparc = s390 %ifarch sparc sparcv9 sparc64 CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` %endif -# significant performance gains can be achieved by compiling with -O3 optimization -# rhbz#1051069 +# significant performance gains can be achieved by compiling with -O3 optimization; rhbz#1051069 %ifarch ppc64 CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` %endif @@ -722,13 +730,13 @@ export LDFLAGS -DWITH_SSL=system \ -DWITH_ZLIB=system \ %{?with_pcre: -DWITH_PCRE=system}\ - -DWITH_JEMALLOC=no \ + -DWITH_JEMALLOC=ON \ %{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\ %{!?with_mroonga: -DWITHOUT_MROONGA=ON}\ %{!?with_oqgraph: -DWITHOUT_OQGRAPH=ON}\ -DTMPDIR=/var/tmp \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug}\ - %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} +%{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} make %{?_smp_mflags} VERBOSE=1 @@ -769,9 +777,12 @@ done if %multilib_capable; then mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} install -p -m 0755 scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config +# Copy manual page for multilib mysql_config; https://jira.mariadb.org/browse/MDEV-11961 +ln -s mysql_config.1 %{buildroot}%{_mandir}/man1/mysql_config-%{__isa_bits}.1 fi -# Upstream install this into arch-independent directory, TODO: report +# Upstream install this into arch-independent directory +# TODO: report to upstream mkdir -p %{buildroot}/%{_libdir}/pkgconfig mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig @@ -794,8 +805,8 @@ install -p -m 0755 -d %{buildroot}%{dbdatadir} %if %{with config} install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf %else -rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf -rm -f %{buildroot}%{_sysconfdir}/my.cnf +rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf +rm %{buildroot}%{_sysconfdir}/my.cnf %endif # use different config file name for each variant of server @@ -829,14 +840,11 @@ install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql- install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp %endif -# Remove libmysqld.a -rm -f %{buildroot}%{_libdir}/mysql/libmysqld.a - # 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 # just the devel libmysqlclient_r.so link, so that rebuilding without any # source change is enough to get rid of dependency on libmysqlclient_r. -rm -f %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so* +rm %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so* ln -s libmysqlclient.so %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so # mysql-test includes one executable that doesn't belong under /usr/share, @@ -845,16 +853,15 @@ mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{build ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process # should move this to /etc/ ? -rm -f %{buildroot}%{_bindir}/mysql_embedded -rm -f %{buildroot}%{_libdir}/mysql/*.a -rm -f %{buildroot}%{_datadir}/%{pkg_name}/binary-configure -rm -f %{buildroot}%{_datadir}/%{pkg_name}/magic -rm -f %{buildroot}%{_datadir}/%{pkg_name}/ndb-config-2-node.ini -rm -f %{buildroot}%{_datadir}/%{pkg_name}/mysql.server -rm -f %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server -rm -f %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* -rm -f %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* -rm -f %{buildroot}%{_bindir}/mytop +rm %{buildroot}%{_bindir}/mysql_embedded +rm %{buildroot}%{_libdir}/mysql/*.a +rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure +rm %{buildroot}%{_datadir}/%{pkg_name}/magic +rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server +rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server +rm %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* +rm %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* +rm %{buildroot}%{_bindir}/mytop # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} @@ -880,27 +887,18 @@ mkdir -p %{buildroot}%{_sysconfdir}/sysconfig touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck -# 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 - -# remove unneeded RHEL-4 SELinux stuff -rm -rf %{buildroot}%{_datadir}/%{pkg_name}/SELinux/ - # remove SysV init script and a symlink to that -rm -f %{buildroot}%{_sysconfdir}/init.d/mysql -rm -f %{buildroot}%{_libexecdir}/rcmysql +rm %{buildroot}%{_sysconfdir}/init.d/mysql +rm %{buildroot}%{_libexecdir}/rcmysql # remove duplicate logrotate script -rm -f %{buildroot}%{_sysconfdir}/logrotate.d/mysql - -# remove solaris files -rm -rf %{buildroot}%{_datadir}/%{pkg_name}/solaris/ +rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql # rename the wsrep README so it corresponds with the other README names mv Docs/README-wsrep Docs/README.wsrep # remove *.jar file from mysql-test -rm -rf %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar +rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar # RPMLINT E: # mariadb-bench.x86_64: E: script-without-shebang /usr/share/sql-bench/myisam.cnf @@ -909,67 +907,74 @@ chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf %if %{without clibrary} unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so -rm -rf %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* -rm -rf %{buildroot}%{_sysconfdir}/ld.so.conf.d -rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf +rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* +rm -r %{buildroot}%{_sysconfdir}/ld.so.conf.d +rm %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf %endif %if %{without embedded} -rm -f %{buildroot}%{_libdir}/mysql/libmysqld.so* -rm -f %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} -rm -f %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* +rm %{buildroot}%{_libdir}/mysql/libmysqld.so* +rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} +rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* %endif %if %{without devel} -rm -f %{buildroot}%{_bindir}/mysql_config* -rm -rf %{buildroot}%{_includedir}/mysql -rm -f %{buildroot}%{_datadir}/aclocal/mysql.m4 -rm -f %{buildroot}%{_libdir}/pkgconfig/mariadb.pc -rm -f %{buildroot}%{_libdir}/mysql/libmysqlclient*.so -rm -f %{buildroot}%{_mandir}/man1/mysql_config.1* +rm %{buildroot}%{_bindir}/mysql_config* +rm -r %{buildroot}%{_includedir}/mysql +rm %{buildroot}%{_datadir}/aclocal/mysql.m4 +rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc +rm %{buildroot}%{_libdir}/mysql/libmysqlclient*.so +rm %{buildroot}%{_mandir}/man1/mysql_config.1* %endif %if %{without client} -rm -f %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_find_rows,\ +rm %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_find_rows,\ mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} -rm -f %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_find_rows,\ +rm %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_find_rows,\ mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* %endif %if %{without connect} -rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/connect.cnf +rm %{buildroot}%{_sysconfdir}/my.cnf.d/connect.cnf %endif %if %{without oqgraph} -rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/oqgraph.cnf +rm %{buildroot}%{_sysconfdir}/my.cnf.d/oqgraph.cnf +%endif + +%if %{without tokudb} +%ifarch x86_64 +rm %{buildroot}%{_mandir}/man1/tokuftdump.1* +rm %{buildroot}%{_mandir}/man1/tokuft_logdump.1* +%endif %endif %if %{without config} -rm -f %{buildroot}%{_sysconfdir}/my.cnf -rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf +rm %{buildroot}%{_sysconfdir}/my.cnf +rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf %endif %if %{without common} -rm -rf %{buildroot}%{_datadir}/%{pkg_name}/charsets +rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets %endif %if %{without errmsg} -rm -f %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt -rm -rf %{buildroot}%{_datadir}/%{pkg_name}/{english,czech,danish,dutch,estonian,\ +rm %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt +rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,czech,danish,dutch,estonian,\ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} %endif %if %{without bench} -rm -rf %{buildroot}%{_datadir}/sql-bench +rm -r %{buildroot}%{_datadir}/sql-bench %endif %if %{without test} -rm -f %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process} -rm -rf %{buildroot}%{_datadir}/mysql-test -rm -f %{buildroot}%{_mandir}/man1/mysql_client_test.1* +rm %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process} +rm -r %{buildroot}%{_datadir}/mysql-test +rm %{buildroot}%{_mandir}/man1/mysql_client_test.1* %endif %check @@ -998,16 +1003,16 @@ export MTR_BUILD_THREAD=%{__isa_bits} set -e cd mysql-test perl ./mysql-test-run.pl --force --retry=0 --ssl \ - --suite-timeout=720 --testcase-timeout=30 --skip-rpl \ + --suite-timeout=720 --testcase-timeout=30 \ --mysqld=--binlog-format=mixed --force-restart \ - --shutdown-timeout=60 --max-test-fail=0 \ + --shutdown-timeout=60 --max-test-fail=0 --big-test \ %if %{ignore_testsuite_result} || : %else - --skip-test-list=rh-skipped-tests.list + --skip-test-list=unstable-tests %endif # cmake build scripts will install the var cruft if left alone :-( - rm -rf var + rm -r var ) %endif %endif @@ -1346,7 +1351,7 @@ fi %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so %endif -%{_mandir}/man1/mysql_config.1* +%{_mandir}/man1/mysql_config* %endif %if %{with embedded} @@ -1378,6 +1383,14 @@ fi %endif %changelog +* Tue May 23 2017 Michal Schorm - 3:10.1.21-6 +- Plugin oqgraph enabled +- Plugin jemalloc enabled +- 'force' option for 'rm' removed +- Enabled '--big-test' option for the testsuite +- Disabled '--skip-rpl' option for the testsuite = replication tests enabled +- Multilib manpage added + * Mon May 15 2017 Fedora Release Engineering - 3:10.1.21-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild From 789b0094ed4cfad3fde817854faaf2a1350394bc Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 24 May 2017 11:25:52 +0200 Subject: [PATCH 340/789] Rebase to 10.1.24 Build dependecies Bison and Libarchive added, others corrected Disabling Mroonga engine for i686 architecture, as it is not supported by MariaDB Removed patches: (fixed by upstream) Patch5: %{pkgnamepatch}-file-contents.patch Patch14: %{pkgnamepatch}-example-config-files.patch Patch31: %{pkgnamepatch}-string-overflow.patch Patch32: %{pkgnamepatch}-basedir.patch Patch41: %{pkgnamepatch}-galera-new-cluster-help.patch Skipped tests list updated Bigger READMEs update (made by upstream) Resolves: rhbz#1414387 CVE-2017-3313 Resolves partly: rhbz#1443408 CVE-2017-3308 CVE-2017-3309 CVE-2017-3453 CVE-2017-3456 CVE-2017-3464 --- mariadb-basedir.patch | 16 ---- mariadb-example-config-files.patch | 56 ----------- mariadb-file-contents.patch | 45 --------- mariadb-galera-new-cluster-help.patch | 25 ----- mariadb-logrotate.patch | 32 +++---- mariadb-scripts.patch | 3 +- mariadb-string-overflow.patch | 22 ----- mariadb.spec | 132 ++++++++++++++++---------- rh-skipped-tests-arm.list | 9 +- rh-skipped-tests-base.list | 51 ++++++++++ sources | 2 +- 11 files changed, 154 insertions(+), 239 deletions(-) delete mode 100644 mariadb-basedir.patch delete mode 100644 mariadb-example-config-files.patch delete mode 100644 mariadb-file-contents.patch delete mode 100644 mariadb-galera-new-cluster-help.patch delete mode 100644 mariadb-string-overflow.patch diff --git a/mariadb-basedir.patch b/mariadb-basedir.patch deleted file mode 100644 index d548ff5..0000000 --- a/mariadb-basedir.patch +++ /dev/null @@ -1,16 +0,0 @@ -Don't guess basedir in mysql_config; we place it under _libdir because -of multilib conflicts, so use rather configured @prefix@ path directly. - -diff -up mariadb-10.0.13/scripts/mysql_config.sh.patch32 mariadb-10.0.13/scripts/mysql_config.sh ---- mariadb-10.0.13/scripts/mysql_config.sh.patch32 2014-08-13 17:28:51.174776518 +0200 -+++ mariadb-10.0.13/scripts/mysql_config.sh 2014-08-13 17:32:18.205275028 +0200 -@@ -76,8 +76,7 @@ get_full_path () - - me=`get_full_path $0` - --# Script might have been renamed but assume mysql_config --basedir=`echo $me | sed -e 's;/bin/mysql_.*config.*;;'` -+basedir='@prefix@' - - ldata='@localstatedir@' - execdir='@libexecdir@' diff --git a/mariadb-example-config-files.patch b/mariadb-example-config-files.patch deleted file mode 100644 index d4bf5be..0000000 --- a/mariadb-example-config-files.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff -Naurp mariadb-10.1.19/support-files/my-huge.cnf.sh mariadb-10.1.19-patched/support-files/my-huge.cnf.sh ---- mariadb-10.1.19/support-files/my-huge.cnf.sh 2016-11-04 12:15:54.000000000 +0100 -+++ mariadb-10.1.19-patched/support-files/my-huge.cnf.sh 2016-12-02 10:29:41.111798361 +0100 -@@ -25,6 +25,7 @@ socket = @MYSQL_UNIX_ADDR@ - - # The MySQL server - [mysqld] -+log-error = @LOG_LOCATION@ - port = @MYSQL_TCP_PORT@ - socket = @MYSQL_UNIX_ADDR@ - skip-external-locking -diff -Naurp mariadb-10.1.19/support-files/my-innodb-heavy-4G.cnf.sh mariadb-10.1.19-patched/support-files/my-innodb-heavy-4G.cnf.sh ---- mariadb-10.1.19/support-files/my-innodb-heavy-4G.cnf.sh 2016-11-04 12:15:54.000000000 +0100 -+++ mariadb-10.1.19-patched/support-files/my-innodb-heavy-4G.cnf.sh 2016-12-02 10:30:07.647805999 +0100 -@@ -42,7 +42,7 @@ socket = @MYSQL_UNIX_ADDR@ - # The MariaDB server - # - [mysqld] -- -+log-error = @LOG_LOCATION@ - # generic configuration options - port = @MYSQL_TCP_PORT@ - socket = @MYSQL_UNIX_ADDR@ -diff -Naurp mariadb-10.1.19/support-files/my-large.cnf.sh mariadb-10.1.19-patched/support-files/my-large.cnf.sh ---- mariadb-10.1.19/support-files/my-large.cnf.sh 2016-11-04 12:15:54.000000000 +0100 -+++ mariadb-10.1.19-patched/support-files/my-large.cnf.sh 2016-12-02 10:30:14.744806845 +0100 -@@ -25,6 +25,7 @@ socket = @MYSQL_UNIX_ADDR@ - - # The MariaDB server - [mysqld] -+log-error = @LOG_LOCATION@ - port = @MYSQL_TCP_PORT@ - socket = @MYSQL_UNIX_ADDR@ - skip-external-locking -diff -Naurp mariadb-10.1.19/support-files/my-medium.cnf.sh mariadb-10.1.19-patched/support-files/my-medium.cnf.sh ---- mariadb-10.1.19/support-files/my-medium.cnf.sh 2016-11-04 12:15:54.000000000 +0100 -+++ mariadb-10.1.19-patched/support-files/my-medium.cnf.sh 2016-12-02 10:30:21.726807677 +0100 -@@ -26,6 +26,7 @@ socket = @MYSQL_UNIX_ADDR@ - - # The MariaDB server - [mysqld] -+log-error = @LOG_LOCATION@ - port = @MYSQL_TCP_PORT@ - socket = @MYSQL_UNIX_ADDR@ - skip-external-locking -diff -Naurp mariadb-10.1.19/support-files/my-small.cnf.sh mariadb-10.1.19-patched/support-files/my-small.cnf.sh ---- mariadb-10.1.19/support-files/my-small.cnf.sh 2016-11-04 12:15:54.000000000 +0100 -+++ mariadb-10.1.19-patched/support-files/my-small.cnf.sh 2016-12-02 10:30:27.988808423 +0100 -@@ -24,6 +24,7 @@ socket = @MYSQL_UNIX_ADDR@ - - # The MySQL server - [mysqld] -+log-error = @LOG_LOCATION@ - port = @MYSQL_TCP_PORT@ - socket = @MYSQL_UNIX_ADDR@ - skip-external-locking diff --git a/mariadb-file-contents.patch b/mariadb-file-contents.patch deleted file mode 100644 index 85c1163..0000000 --- a/mariadb-file-contents.patch +++ /dev/null @@ -1,45 +0,0 @@ -Upstream chooses to install INFO_SRC and INFO_BIN into the docs dir, which -breaks at least two packaging commandments, so we put them into $libdir -instead. That means we have to hack the file_contents regression test -to know about this. - -Recommendation they change is at http://bugs.mysql.com/bug.php?id=61425 - - -diff -rup mariadb-10.1.8.orig/mysql-test/t/file_contents.test mariadb-10.1.8/mysql-test/t/file_contents.test ---- mariadb-10.1.8.orig/mysql-test/t/file_contents.test 2015-10-15 17:43:44.000000000 +0200 -+++ mariadb-10.1.8/mysql-test/t/file_contents.test 2015-10-19 13:54:53.505550439 +0200 -@@ -11,7 +11,7 @@ - --perl - print "\nChecking 'INFO_SRC' and 'INFO_BIN'\n"; - $dir_bin = $ENV{'MYSQL_BINDIR'}; --if ($dir_bin eq '/usr/') { -+if ($dir_bin =~ '.*/usr/$') { - # RPM package - $dir_docs = $dir_bin; - $dir_docs =~ s|/lib|/share/doc|; -@@ -22,7 +22,7 @@ if ($dir_bin eq '/usr/') { - # RedHat: version number in directory name - $dir_docs = glob "$dir_docs/MariaDB-server*"; - } --} elsif ($dir_bin eq '/usr') { -+} elsif ($dir_bin =~ '.*/usr$') { - # RPM build during development - $dir_docs = "$dir_bin/share/doc"; - if(-d "$dir_docs/packages") { -@@ -32,6 +32,15 @@ if ($dir_bin eq '/usr/') { - # RedHat/Debian: version number in directory name - $dir_docs = glob "$dir_docs/mariadb-server-*"; - $dir_docs = glob "$dir_docs/MariaDB-server*" unless -d $dir_docs; -+ -+ # All the above is entirely wacko, because these files are not docs; -+ # they should be kept in libdir instead. mtr does not provide a nice -+ # way to find libdir though, so we have to kluge it like this: -+ if (-d "$dir_bin/lib64/mysql") { -+ $dir_docs = "$dir_bin/lib64/mysql"; -+ } else { -+ $dir_docs = "$dir_bin/lib/mysql"; -+ } - } - # Slackware - $dir_docs = glob "$dir_bin/doc/mariadb-[0-9]*" unless -d $dir_docs; diff --git a/mariadb-galera-new-cluster-help.patch b/mariadb-galera-new-cluster-help.patch deleted file mode 100644 index cf63719..0000000 --- a/mariadb-galera-new-cluster-help.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- mariadb-10.1.14/scripts/galera_new_cluster.sh.orig 2016-05-11 18:51:13.797926130 +0200 -+++ mariadb-10.1.14/scripts/galera_new_cluster.sh 2016-05-11 19:19:41.195591769 +0200 -@@ -5,6 +5,22 @@ - # the Free Software Foundation; either version 2.1 of the License, or - # (at your option) any later version. - -+if [ "${1}" == "-h" -o "${1}" == "--help" ]; then -+ cat </dev/null - then -- @bindir@/mysqladmin flush-logs +- @bindir@/mysqladmin --local flush-error-log \ +- flush-engine-log flush-general-log flush-slow-log - fi - endscript -} +# Then, un-comment the following lines to enable rotation of mysql's log file: -+ -+#@LOG_LOCATION@ { -+# create 640 mysql mysql ++#@LOG_LOCATION@/mysqld.log { ++# create 600 mysql mysql +# notifempty -+# daily ++# daily +# rotate 3 +# missingok +# compress +# postrotate -+# # just if mysqld is really running -+# if test -x @bindir@/mysqladmin && \ -+# @bindir@/mysqladmin ping &>/dev/null -+# then -+# @bindir@/mysqladmin flush-logs -+# fi ++# # just if mysqld is really running ++# if test -x @bindir@/mysqladmin && \ ++# @bindir@/mysqladmin ping &>/dev/null ++# then ++# @bindir@/mysqladmin --local flush-error-log \ ++# flush-engine-log flush-general-log flush-slow-log ++# fi +# endscript +#} ++ diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index 6ba5bae..2f935b3 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -35,4 +35,5 @@ + ENDFOREACH() ENDIF() - # Configure two scripts from one 'in' file. + # Install libgcc as mylibgcc.a + diff --git a/mariadb-string-overflow.patch b/mariadb-string-overflow.patch deleted file mode 100644 index a8231bd..0000000 --- a/mariadb-string-overflow.patch +++ /dev/null @@ -1,22 +0,0 @@ -These issues were found by Coverity static analysis tool, for more info -see messages by particular fixes (messages belong to 5.1.61). - -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 mariadb-10.0.10/sql/sql_prepare.cc.p8 mariadb-10.0.10/sql/sql_prepare.cc ---- mariadb-10.0.10/sql/sql_prepare.cc.p8 2014-03-30 19:56:42.000000000 +0200 -+++ mariadb-10.0.10/sql/sql_prepare.cc 2014-04-07 18:43:33.901074770 +0200 -@@ -3021,7 +3021,7 @@ void mysql_stmt_get_longdata(THD *thd, c - { - stmt->state= Query_arena::STMT_ERROR; - 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->set_stmt_da(save_stmt_da); - diff --git a/mariadb.spec b/mariadb.spec index 4002a3b..efc5761 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,9 +3,6 @@ %global pkgnamepatch mariadb # 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) -#TODO: enable %{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail, but 0 on production ready build @@ -22,17 +19,20 @@ # Turn that off to ensure such files don't get included in RPMs (cf bz#884755). %global _default_patch_flags --no-backup-if-mismatch -# TokuDB engine is now part of MariaDB, but it is available only for x86_64; -# variable tokudb allows to build with TokuDB storage engine +# TokuDB engine +# https://mariadb.com/kb/en/mariadb/tokudb/ +# TokuDB engine is available only for x86_64 %ifarch x86_64 %bcond_without tokudb %else %bcond_with tokudb %endif -# Mroonga engine is now part of MariaDB, but it only builds for x86_64; -# variable mroonga allows to build with Mroonga storage engine -%ifarch x86_64 i686 +# Mroonga engine +# https://mariadb.com/kb/en/mariadb/about-mroonga/ +# Actual version in MariaDB, 5.04, only supports the x86_64 +# Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html +%ifarch x86_64 %bcond_without mroonga %else %bcond_with mroonga @@ -80,7 +80,7 @@ # MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use # the bundled library, since the package cannot be build with older version -%global pcre_version 8.39 +%global pcre_version 8.40 %if 0%{?fedora} >= 21 %bcond_without pcre %else @@ -118,11 +118,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.1 -%global bugfixver 21 +%global bugfixver 24 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 5%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -154,6 +154,8 @@ Source52: rh-skipped-tests-ppc-s390.list # General upstream response was slightly positive Source70: clustercheck.sh Source71: LICENSE.clustercheck +# Upstream said: "Generally MariaDB has more allows to allow for xtradb sst mechanism". +# https://jira.mariadb.org/browse/MDEV-12646 Source72: mariadb-server-galera.te # Patch2: testsuite README update, introducing skipped-tests.list @@ -162,7 +164,6 @@ Patch2: %{pkgnamepatch}-install-test.patch # Patch4: Red Hat distributions specific logrotate fix # it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2 Patch4: %{pkgnamepatch}-logrotate.patch -Patch5: %{pkgnamepatch}-file-contents.patch # Patch7: add to the CMake file all files where we want macros to be expanded Patch7: %{pkgnamepatch}-scripts.patch # Patch8: resolve conflict, when we combine MariaDB and MySQL packages @@ -171,13 +172,8 @@ Patch8: %{pkgnamepatch}-install-db-sharedir.patch Patch9: %{pkgnamepatch}-ownsetup.patch # Patch13: patch of test of ssl cypher unsupported in Fedora Patch13: %{pkgnamepatch}-ssl-cypher.patch -Patch14: %{pkgnamepatch}-example-config-files.patch # Patches specific for this mysql package -# Patch31: -# TODO: I should run covscan again -Patch31: %{pkgnamepatch}-string-overflow.patch -Patch32: %{pkgnamepatch}-basedir.patch # Patch34: # TODO: I should run covscan again Patch34: %{pkgnamepatch}-covscan-stroverflow.patch @@ -186,9 +182,8 @@ Patch37: %{pkgnamepatch}-notestdb.patch # Patches for galera Patch40: %{pkgnamepatch}-galera.cnf.patch -Patch41: %{pkgnamepatch}-galera-new-cluster-help.patch -BuildRequires: cmake +BuildRequires: cmake gcc-c++ BuildRequires: libaio-devel BuildRequires: libedit-devel BuildRequires: ncurses-devel @@ -197,11 +192,17 @@ BuildRequires: zlib-devel BuildRequires: multilib-rpm-config BuildRequires: krb5-devel BuildRequires: selinux-policy-devel -BuildRequires: jemalloc-devel %{?with_init_systemd:BuildRequires: systemd systemd-devel} +# Sphinx storage engine +BuildRequires: sphinx libsphinxclient libsphinxclient-devel +# Bison SQL parser +BuildRequires: bison bison-devel +# Jemalloc +BuildRequires: jemalloc-devel # Cracklib plugin BuildRequires: cracklib-dicts cracklib-devel -BuildRequires: cracklib-dicts +# Mariabackup +BuildRequires: libarchive libarchive-devel # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel # use either new enough version of pcre or provide bundles(pcre) @@ -229,6 +230,7 @@ BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) BuildRequires: perl(Symbol) # Temporary workaound to build with OpenSSL 1.0 on Fedora >=26 (wich requires OpenSSL 1.1) +# https://jira.mariadb.org/browse/MDEV-10332 %if 0%{?fedora} >= 26 BuildRequires: compat-openssl10-devel Requires: compat-openssl10 @@ -239,7 +241,6 @@ Requires: openssl %endif Requires: bash coreutils grep -Requires: jemalloc Requires: %{name}-common%{?_isa} = %{sameevr} # Explicit EVR requirement for -libs is needed for RHBZ#1406320 @@ -396,6 +397,16 @@ Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d Requires: coreutils Requires(pre): /usr/sbin/useradd +# Sphinx storage engine +Recommends: sphinx libsphinxclient +# Bison SQL parser +Requires: bison +# Cracklib plugin: +Recommends: cracklib-dicts +# Mariabackup tool +Recommends: libarchive +# Jemalloc +Requires: jemalloc %if %{with init_systemd} # We require this to be present for %%{_tmpfilesdir} Requires: systemd @@ -599,18 +610,13 @@ MariaDB is a community developed branch of MySQL. %patch2 -p1 %patch4 -p1 -%patch5 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch13 -p1 -%patch14 -p1 -%patch31 -p1 -%patch32 -p1 %patch34 -p1 %patch37 -p1 %patch40 -p1 -%patch41 -p1 # workaround for upstream bug #56342 rm mysql-test/t/ssl_8k_key-master.opt @@ -650,11 +656,7 @@ then fi } -# Fix for RHBZ #1395127 - part "The -Werror option in Percona directory prevents MariaDB to be compiled on x86_64 arch" from comment 4 -# Upstream: https://jira.mariadb.org/browse/MDEV-11965 -%ifarch x86_64 -sed -i s/-Werror//g storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake -%endif + %build @@ -680,11 +682,6 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` %ifarch ppc64 CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` %endif -# -Werror break rawhide(F26) build on x86_64 -%ifarch x86_64 -CFLAGS=`echo $CFLAGS| sed -e "s|-Werror=format-security||g" ` -CFLAGS=`echo $CFLAGS| sed -e "s|-Wall||g" ` -%endif CXXFLAGS="$CFLAGS" export CFLAGS CXXFLAGS @@ -740,6 +737,8 @@ export LDFLAGS make %{?_smp_mflags} VERBOSE=1 + + # 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 @@ -790,7 +789,6 @@ mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig # but that's pretty wacko --- see also %%{name}-file-contents.patch) install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ -rm -r %{buildroot}%{_datadir}/doc/%{_pkgdocdirname}/MariaDB-server-%{version}/ mkdir -p %{buildroot}%{logfiledir} chmod 0750 %{buildroot}%{logfiledir} @@ -946,10 +944,13 @@ rm %{buildroot}%{_sysconfdir}/my.cnf.d/oqgraph.cnf %if %{without tokudb} %ifarch x86_64 +rm %{buildroot}%{_bindir}/tokuftdump +rm %{buildroot}%{_bindir}/tokuft_logprint +%endif +# because upstream ships manpages for tokudb even on architectures that tokudb doesn't support rm %{buildroot}%{_mandir}/man1/tokuftdump.1* rm %{buildroot}%{_mandir}/man1/tokuft_logdump.1* %endif -%endif %if %{without config} rm %{buildroot}%{_sysconfdir}/my.cnf @@ -998,6 +999,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} # Failing test debug 02/14/17 # --do-test=mysql_client_test_nonblock \ +# --skip-rpl ( set -e @@ -1012,6 +1014,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} --skip-test-list=unstable-tests %endif # cmake build scripts will install the var cruft if left alone :-( + # TODO: test again rm -r var ) %endif @@ -1134,9 +1137,9 @@ fi %if %{with common} %files common -%license COPYING COPYING.LESSER -%license storage/innobase/COPYING.Percona storage/innobase/COPYING.Google %doc README README.mysql-license README.mysql-docs +%doc %{_datadir}/doc/%{_pkgdocdirname} + %dir %{_libdir}/mysql %dir %{_libdir}/mysql/plugin %dir %{_datadir}/%{pkg_name} @@ -1196,7 +1199,9 @@ fi %{_bindir}/aria_ftdump %{_bindir}/aria_pack %{_bindir}/aria_read_log +%{_bindir}/mariabackup %{_bindir}/mariadb-service-convert +%{_bindir}/mbstream %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog @@ -1211,6 +1216,7 @@ fi %{_bindir}/resolve_stack_dump %{_bindir}/resolveip %{_bindir}/wsrep_sst_common +%{_bindir}/wsrep_sst_mariabackup %{_bindir}/wsrep_sst_mysqldump %{_bindir}/wsrep_sst_rsync %{_bindir}/wsrep_sst_xtrabackup @@ -1221,9 +1227,8 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf %{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf} - # Cracklib plugin -%{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf +%config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf %{_libexecdir}/mysqld @@ -1244,21 +1249,33 @@ fi %{_mandir}/man1/aria_ftdump.1* %{_mandir}/man1/aria_pack.1* %{_mandir}/man1/aria_read_log.1* +%{_mandir}/man1/galera_new_cluster.1* +%{_mandir}/man1/galera_recovery.1* +%{_mandir}/man1/mariadb-service-convert.1* %{_mandir}/man1/myisamchk.1* %{_mandir}/man1/myisamlog.1* %{_mandir}/man1/myisampack.1* %{_mandir}/man1/myisam_ftdump.1* +%{_mandir}/man1/mysqlbug.1* %{_mandir}/man1/mysql.server.1* %{_mandir}/man1/mysql_install_db.1* %{_mandir}/man1/mysql_secure_installation.1* -%{_mandir}/man1/mysqlbug.1* +%{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man1/mysqld_safe.1* +%{_mandir}/man1/mysqld_safe_helper.1* +%{_mandir}/man1/my_safe_process.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/replace.1* -%{_mandir}/man1/resolve_stack_dump.1* %{_mandir}/man1/resolveip.1* -%{_mandir}/man1/mysql_tzinfo_to_sql.1* +%{_mandir}/man1/resolve_stack_dump.1* %{_mandir}/man8/mysqld.8* +%{?with_tokudb:%{_mandir}/man1/tokuftdump.1*} +%{?with_tokudb:%{_mandir}/man1/tokuft_logdump.1*} +%{_mandir}/man1/wsrep_sst_common.1* +%{_mandir}/man1/wsrep_sst_mysqldump.1* +%{_mandir}/man1/wsrep_sst_rsync.1* +%{_mandir}/man1/wsrep_sst_xtrabackup.1* +%{_mandir}/man1/wsrep_sst_xtrabackup-v2.1* %{_datadir}/%{pkg_name}/fill_help_tables.sql %{_datadir}/%{pkg_name}/install_spider.sql @@ -1316,7 +1333,7 @@ fi %endif %files server-utils -#Perl utilities +# Perl utilities %{_bindir}/mysql_convert_table_format %{_bindir}/mysql_fix_extensions %{_bindir}/mysql_setpermission @@ -1331,14 +1348,14 @@ fi %{_mandir}/man1/mysqld_multi.1* %{_mandir}/man1/mysqlhotcopy.1* %{_mandir}/man1/mysql_setpermission.1* -#Utilities that can be used remotely +# Utilities that can be used remotely %{_bindir}/mysql_upgrade %{_bindir}/mysqltest %{_bindir}/perror %{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/mysqltest.1* %{_mandir}/man1/perror.1* -#Other utilities +# Other utilities %{_bindir}/mysqld_safe_helper %if %{with devel} @@ -1369,6 +1386,8 @@ fi %if %{with bench} %files bench %{_datadir}/sql-bench +#TODO: do a sanity check +%exclude %{_datadir}/sql-bench/README # RPMLINT W: # mariadb-bench.x86_64: W: no-documentation %doc %{_datadir}/sql-bench/README @@ -1383,6 +1402,21 @@ fi %endif %changelog +* Fri Jun 02 2017 Michal Schorm - 3:10.1.24-1 +- Rebase to 10.1.24 +- Build dependecies Bison and Libarchive added, others corrected +- Disabling Mroonga engine for i686 architecture, as it is not supported by MariaDB +- Removed patches: (fixed by upstream) + Patch5: mariadb-file-contents.patch + Patch14: mariadb-example-config-files.patch + Patch31: mariadb-string-overflow.patch + Patch32: mariadb-basedir.patch + Patch41: mariadb-galera-new-cluster-help.patch +- Resolves: rhbz#1414387 + CVE-2017-3313 +- Resolves partly: rhbz#1443408 + CVE-2017-3308 CVE-2017-3309 CVE-2017-3453 CVE-2017-3456 CVE-2017-3464 + * Tue May 23 2017 Michal Schorm - 3:10.1.21-6 - Plugin oqgraph enabled - Plugin jemalloc enabled diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index d7e0b58..8b13789 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -1,8 +1 @@ -main.partition_exchange : #1399847 -main.analyze_stmt_orderby : #1399847 -main.explain_json_innodb : #1399847 -main.explain_json_format_partitions : #1399847 -main.analyze_format_json : #1399847 -main.explain_json : #1399847 -main.subselect_cache : #1399847 -main.type_year : #1399847 + diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 21f29ea..48fb42b 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -18,3 +18,54 @@ main.mysql_client_test_nonblock : #1399847 # needs this tests disabled for mode build plugins.feedback_plugin_load : # +# ---- +# Failing from rebase to 10.1.24 +# issues trackers will be added + +encryption.create_or_replace : + +perfschema.nesting : +perfschema.socket_summary_by_event_name_func : +perfschema.socket_summary_by_instance_func : +perfschema.cnf_option : + +innodb.innodb_defrag_binlog : + +rpl.rpl_row_img_blobs : +rpl.rpl_row_img_eng_min : +rpl.rpl_row_img_eng_noblob : + +sys_vars.log_error_func : +sys_vars.log_error_func2 : +sys_vars.slave_parallel_threads_basic : + +spider/bg.spider3_fixes : +spider/bg.spider3_fixes_part : +spider/bg.spider_fixes : +spider/bg.spider_fixes_part : +spider/bg.basic_sql : +spider/bg.basic_sql_part : +spider/bg.direct_aggregate : +spider/bg.direct_aggregate_part : +spider/bg.direct_update : +spider/bg.direct_update_part : +spider/bg.function : +spider/bg.ha : +spider/bg.ha_part : +spider/bg.vp_fixes : +spider.spider3_fixes : +spider.spider3_fixes_part : +spider.spider_fixes : +spider.spider_fixes_part : +spider.basic_sql : +spider.basic_sql_part : +spider.direct_aggregate : +spider.direct_aggregate_part : +spider.direct_update : +spider.direct_update_part : +spider.function : +spider.ha : +spider.ha_part : +spider.vp_fixes : + + diff --git a/sources b/sources index 0c97c82..5594650 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.1.21.tar.gz) = 241467ce7c04603261509e45b3c476632a11754f15dead67434bb8a0fbad6ebcf44c63ffeb7075574e54d14039b22702d48732c1fd8a498948d8b6fc54d54714 +SHA512 (mariadb-10.1.24.tar.gz) = 0b8d81b53f6866a81f33559ce57ebf956fec3ba25da0bd58c8bee3b2ecc00a6c370340000209d18463f84501d3ba35994b51ef99224616c37cd38d2fc87b73e9 From 321612e19ec8ba2dc1f86f273ecaf3e89748a996 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 30 May 2017 14:33:52 +0200 Subject: [PATCH 341/789] Use coreutils rather than fileutils, since that is correct name of the package In modules, fileutils provide might be missing, so we would have unsatisfied dependency --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index b39ffbe..9e671ff 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -226,7 +226,7 @@ Requires: compat-openssl10 BuildRequires: openssl openssl-devel %endif -Requires: bash fileutils grep +Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} # Explicit EVR requirement for -libs is needed for RHBZ#1406320 From 40f649e4cdb8f09fd8f15b69f8ea07e212f30ccf Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 23 May 2017 15:14:48 +0200 Subject: [PATCH 342/789] Plugin oqgraph enabled Plugin jemalloc enabled 'force' option for 'rm' removed Enabled '--big-test' option for the testsuite Disabled '--skip-rpl' option for the testsuite = replication tests enabled Multilib manpage added RH unstable tests added to upstream file instead of our own Server dependency changed from 'sh-utils' to 'coreutils' --- mariadb-install-test.patch | 6 +- mariadb-logrotate.patch | 8 ++ mariadb.spec | 185 ++++++++++++++++++++----------------- 3 files changed, 110 insertions(+), 89 deletions(-) diff --git a/mariadb-install-test.patch b/mariadb-install-test.patch index e085599..1797474 100644 --- a/mariadb-install-test.patch +++ b/mariadb-install-test.patch @@ -23,17 +23,17 @@ Improve the documentation that will be installed in the mysql-test RPM. +who is created with nologin shell however, so the best bet is something like + $ su - + # cd /usr/share/mysql-test -+ # su -s /bin/bash mysql -c "./mysql-test-run --skip-test-list=rh-skipped-tests.list" ++ # su -s /bin/bash mysql -c "./mysql-test-run --skip-test-list=unstable-tests" + +This will use the installed mysql executables, but will run a private copy +of the server process (using data files within /usr/share/mysql-test), +so you need not start the mysqld service beforehand. + -+The "--skip-test-list=rh-skipped-tests.list" option excludes tests that are ++The "--skip-test-list=unstable-tests" option excludes tests that are +known to fail on one or more Red-Hat-supported platforms. You can omit it +if you want to check whether such failures occur for you. Documentation +about the reasons for omitting such tests can be found in the file -+rh-skipped-tests.list. ++unstable-tests. + +To clean up afterwards, remove the created "var" subdirectory, eg + # su -s /bin/bash - mysql -c "rm -rf /usr/share/mysql-test/var" diff --git a/mariadb-logrotate.patch b/mariadb-logrotate.patch index 898f7f4..bc4da54 100644 --- a/mariadb-logrotate.patch +++ b/mariadb-logrotate.patch @@ -12,6 +12,14 @@ Adjust the mysql-log-rotate script in several ways: is low-volume and so rotation is not critical functionality. See discussions at RH bugs 799735, 547007 +* Note they are from Fedora 15 / 16 + +Update 3/2017 +* it would be big unexpected change for anyone upgrading, if we start shipping it now. + Maybe it is good candidate for shipping with MariaDB 10.2 ? +* the 'mysqladmin flush logs' doesn´t guarantee, no entries are lost + during flushing, the operation is not atomic. + We should not ship it in that state diff -up mariadb-10.0.10/support-files/mysql-log-rotate.sh.p5 mariadb-10.0.10/support-files/mysql-log-rotate.sh diff --git a/mariadb.spec b/mariadb.spec index 9e671ff..4002a3b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -5,6 +5,7 @@ # 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) +#TODO: enable %{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail, but 0 on production ready build @@ -23,7 +24,6 @@ # TokuDB engine is now part of MariaDB, but it is available only for x86_64; # variable tokudb allows to build with TokuDB storage engine -# Temporarily disabled in F21+ for https://mariadb.atlassian.net/browse/MDEV-6446 %ifarch x86_64 %bcond_without tokudb %else @@ -39,10 +39,8 @@ %endif # The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing -# hierarchies and more complex graph structures to be handled in a relational -# fashion; enabled by default -# Temporarily disabling oqgraph: https://mariadb.atlassian.net/browse/MDEV-9479 -%bcond_with oqgraph +# hierarchies and more complex graph structures to be handled in a relational fashion +%bcond_without oqgraph # For some use cases we do not need some parts of the package %bcond_without clibrary @@ -152,26 +150,38 @@ Source19: mysql.init.in Source50: rh-skipped-tests-base.list Source51: rh-skipped-tests-arm.list Source52: rh-skipped-tests-ppc-s390.list -# TODO: clustercheck contains some hard-coded paths, these should be expanded using template system +# Proposed upstream: https://jira.mariadb.org/browse/MDEV-12442 +# General upstream response was slightly positive Source70: clustercheck.sh Source71: LICENSE.clustercheck Source72: mariadb-server-galera.te -# Comments for these patches are in the patch files -# Patches common for more mysql-like packages +# Patch2: testsuite README update, introducing skipped-tests.list +# upstream questioned, if they are insterested: https://jira.mariadb.org/browse/MDEV-12263 Patch2: %{pkgnamepatch}-install-test.patch +# Patch4: Red Hat distributions specific logrotate fix +# it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2 Patch4: %{pkgnamepatch}-logrotate.patch Patch5: %{pkgnamepatch}-file-contents.patch +# Patch7: add to the CMake file all files where we want macros to be expanded Patch7: %{pkgnamepatch}-scripts.patch +# Patch8: resolve conflict, when we combine MariaDB and MySQL packages Patch8: %{pkgnamepatch}-install-db-sharedir.patch +# Patch9: pre-configure to comply with guidelines Patch9: %{pkgnamepatch}-ownsetup.patch +# Patch13: patch of test of ssl cypher unsupported in Fedora Patch13: %{pkgnamepatch}-ssl-cypher.patch Patch14: %{pkgnamepatch}-example-config-files.patch # Patches specific for this mysql package +# Patch31: +# TODO: I should run covscan again Patch31: %{pkgnamepatch}-string-overflow.patch Patch32: %{pkgnamepatch}-basedir.patch +# Patch34: +# TODO: I should run covscan again Patch34: %{pkgnamepatch}-covscan-stroverflow.patch +# Patch37: don't create a test DB: https://jira.mariadb.org/browse/MDEV-12645 Patch37: %{pkgnamepatch}-notestdb.patch # Patches for galera @@ -187,9 +197,10 @@ BuildRequires: zlib-devel BuildRequires: multilib-rpm-config BuildRequires: krb5-devel BuildRequires: selinux-policy-devel +BuildRequires: jemalloc-devel %{?with_init_systemd:BuildRequires: systemd systemd-devel} # Cracklib plugin -BuildRequires: cracklib-devel +BuildRequires: cracklib-dicts cracklib-devel BuildRequires: cracklib-dicts # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel @@ -224,9 +235,11 @@ Requires: compat-openssl10 %else # for running some openssl tests rhbz#1189180 BuildRequires: openssl openssl-devel +Requires: openssl %endif Requires: bash coreutils grep +Requires: jemalloc Requires: %{name}-common%{?_isa} = %{sameevr} # Explicit EVR requirement for -libs is needed for RHBZ#1406320 @@ -381,7 +394,7 @@ Requires: %{name}-errmsg%{?_isa} = %{sameevr} Recommends: %{name}-server-utils%{?_isa} = %{sameevr} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d -Requires: sh-utils +Requires: coreutils Requires(pre): /usr/sbin/useradd %if %{with init_systemd} # We require this to be present for %%{_tmpfilesdir} @@ -392,7 +405,7 @@ Requires(posttrans): systemd %{?systemd_requires: %systemd_requires} %endif # wsrep requirements -Requires: lsof net-tools sh-utils rsync +Requires: lsof net-tools rsync %if %{with mysql_names} Provides: mysql-server = %{sameevr} Provides: mysql-server%{?_isa} = %{sameevr} @@ -599,21 +612,19 @@ MariaDB is a community developed branch of MySQL. %patch40 -p1 %patch41 -p1 -sed -i -e 's/2.8.7/2.6.4/g' cmake/cpack_rpm.cmake - # workaround for upstream bug #56342 -rm -f mysql-test/t/ssl_8k_key-master.opt +rm mysql-test/t/ssl_8k_key-master.opt # generate a list of tests that fail, but are not disabled by upstream -cat %{SOURCE50} | tee mysql-test/rh-skipped-tests.list +cat %{SOURCE50} | tee -a mysql-test/unstable-tests # disable some tests failing on different architectures %ifarch %{arm} aarch64 -cat %{SOURCE51} | tee -a mysql-test/rh-skipped-tests.list +cat %{SOURCE51} | tee -a mysql-test/unstable-tests %endif %ifarch ppc ppc64 ppc64p7 s390 s390x -cat %{SOURCE52} | tee -a mysql-test/rh-skipped-tests.list +cat %{SOURCE51} | tee -a mysql-test/unstable-tests %endif cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ @@ -634,7 +645,7 @@ pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\ if [ %{pcre_version} != "$pcre_maj.$pcre_min" ] then - echo "\n PCRE version is outdated. \n\tIncluded version:%{pcre_version} \n\tUpstream version: $pcre_maj.$pcre_min\n" + echo "\n Error: PCRE version is outdated. \n\tIncluded version:%{pcre_version} \n\tUpstream version: $pcre_maj.$pcre_min\n" exit 1 fi } @@ -660,15 +671,12 @@ sed -i s/-Werror//g storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cma CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" # force PIC mode so that we can build libmysqld.so CFLAGS="$CFLAGS -fPIC" -# GCC 4.9 causes segfaults: https://mariadb.atlassian.net/browse/MDEV-6360 -CFLAGS="$CFLAGS -fno-delete-null-pointer-checks" -# gcc seems to have some bugs on sparc as of 4.4.1, back off optimization -# submitted as bz #529298 +# gcc seems to have some bugs on sparc as of 4.4.1, back off optimization; rhbz#529298 +# Note: sparc = s390 %ifarch sparc sparcv9 sparc64 CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` %endif -# significant performance gains can be achieved by compiling with -O3 optimization -# rhbz#1051069 +# significant performance gains can be achieved by compiling with -O3 optimization; rhbz#1051069 %ifarch ppc64 CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` %endif @@ -722,13 +730,13 @@ export LDFLAGS -DWITH_SSL=system \ -DWITH_ZLIB=system \ %{?with_pcre: -DWITH_PCRE=system}\ - -DWITH_JEMALLOC=no \ + -DWITH_JEMALLOC=ON \ %{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\ %{!?with_mroonga: -DWITHOUT_MROONGA=ON}\ %{!?with_oqgraph: -DWITHOUT_OQGRAPH=ON}\ -DTMPDIR=/var/tmp \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug}\ - %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} +%{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} make %{?_smp_mflags} VERBOSE=1 @@ -769,9 +777,12 @@ done if %multilib_capable; then mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} install -p -m 0755 scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config +# Copy manual page for multilib mysql_config; https://jira.mariadb.org/browse/MDEV-11961 +ln -s mysql_config.1 %{buildroot}%{_mandir}/man1/mysql_config-%{__isa_bits}.1 fi -# Upstream install this into arch-independent directory, TODO: report +# Upstream install this into arch-independent directory +# TODO: report to upstream mkdir -p %{buildroot}/%{_libdir}/pkgconfig mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig @@ -794,8 +805,8 @@ install -p -m 0755 -d %{buildroot}%{dbdatadir} %if %{with config} install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf %else -rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf -rm -f %{buildroot}%{_sysconfdir}/my.cnf +rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf +rm %{buildroot}%{_sysconfdir}/my.cnf %endif # use different config file name for each variant of server @@ -829,14 +840,11 @@ install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql- install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp %endif -# Remove libmysqld.a -rm -f %{buildroot}%{_libdir}/mysql/libmysqld.a - # 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 # just the devel libmysqlclient_r.so link, so that rebuilding without any # source change is enough to get rid of dependency on libmysqlclient_r. -rm -f %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so* +rm %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so* ln -s libmysqlclient.so %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so # mysql-test includes one executable that doesn't belong under /usr/share, @@ -845,16 +853,15 @@ mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{build ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process # should move this to /etc/ ? -rm -f %{buildroot}%{_bindir}/mysql_embedded -rm -f %{buildroot}%{_libdir}/mysql/*.a -rm -f %{buildroot}%{_datadir}/%{pkg_name}/binary-configure -rm -f %{buildroot}%{_datadir}/%{pkg_name}/magic -rm -f %{buildroot}%{_datadir}/%{pkg_name}/ndb-config-2-node.ini -rm -f %{buildroot}%{_datadir}/%{pkg_name}/mysql.server -rm -f %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server -rm -f %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* -rm -f %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* -rm -f %{buildroot}%{_bindir}/mytop +rm %{buildroot}%{_bindir}/mysql_embedded +rm %{buildroot}%{_libdir}/mysql/*.a +rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure +rm %{buildroot}%{_datadir}/%{pkg_name}/magic +rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server +rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server +rm %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* +rm %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* +rm %{buildroot}%{_bindir}/mytop # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} @@ -880,27 +887,18 @@ mkdir -p %{buildroot}%{_sysconfdir}/sysconfig touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck -# 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 - -# remove unneeded RHEL-4 SELinux stuff -rm -rf %{buildroot}%{_datadir}/%{pkg_name}/SELinux/ - # remove SysV init script and a symlink to that -rm -f %{buildroot}%{_sysconfdir}/init.d/mysql -rm -f %{buildroot}%{_libexecdir}/rcmysql +rm %{buildroot}%{_sysconfdir}/init.d/mysql +rm %{buildroot}%{_libexecdir}/rcmysql # remove duplicate logrotate script -rm -f %{buildroot}%{_sysconfdir}/logrotate.d/mysql - -# remove solaris files -rm -rf %{buildroot}%{_datadir}/%{pkg_name}/solaris/ +rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql # rename the wsrep README so it corresponds with the other README names mv Docs/README-wsrep Docs/README.wsrep # remove *.jar file from mysql-test -rm -rf %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar +rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar # RPMLINT E: # mariadb-bench.x86_64: E: script-without-shebang /usr/share/sql-bench/myisam.cnf @@ -909,67 +907,74 @@ chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf %if %{without clibrary} unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so -rm -rf %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* -rm -rf %{buildroot}%{_sysconfdir}/ld.so.conf.d -rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf +rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* +rm -r %{buildroot}%{_sysconfdir}/ld.so.conf.d +rm %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf %endif %if %{without embedded} -rm -f %{buildroot}%{_libdir}/mysql/libmysqld.so* -rm -f %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} -rm -f %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* +rm %{buildroot}%{_libdir}/mysql/libmysqld.so* +rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} +rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* %endif %if %{without devel} -rm -f %{buildroot}%{_bindir}/mysql_config* -rm -rf %{buildroot}%{_includedir}/mysql -rm -f %{buildroot}%{_datadir}/aclocal/mysql.m4 -rm -f %{buildroot}%{_libdir}/pkgconfig/mariadb.pc -rm -f %{buildroot}%{_libdir}/mysql/libmysqlclient*.so -rm -f %{buildroot}%{_mandir}/man1/mysql_config.1* +rm %{buildroot}%{_bindir}/mysql_config* +rm -r %{buildroot}%{_includedir}/mysql +rm %{buildroot}%{_datadir}/aclocal/mysql.m4 +rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc +rm %{buildroot}%{_libdir}/mysql/libmysqlclient*.so +rm %{buildroot}%{_mandir}/man1/mysql_config.1* %endif %if %{without client} -rm -f %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_find_rows,\ +rm %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_find_rows,\ mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} -rm -f %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_find_rows,\ +rm %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_find_rows,\ mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* %endif %if %{without connect} -rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/connect.cnf +rm %{buildroot}%{_sysconfdir}/my.cnf.d/connect.cnf %endif %if %{without oqgraph} -rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/oqgraph.cnf +rm %{buildroot}%{_sysconfdir}/my.cnf.d/oqgraph.cnf +%endif + +%if %{without tokudb} +%ifarch x86_64 +rm %{buildroot}%{_mandir}/man1/tokuftdump.1* +rm %{buildroot}%{_mandir}/man1/tokuft_logdump.1* +%endif %endif %if %{without config} -rm -f %{buildroot}%{_sysconfdir}/my.cnf -rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf +rm %{buildroot}%{_sysconfdir}/my.cnf +rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf %endif %if %{without common} -rm -rf %{buildroot}%{_datadir}/%{pkg_name}/charsets +rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets %endif %if %{without errmsg} -rm -f %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt -rm -rf %{buildroot}%{_datadir}/%{pkg_name}/{english,czech,danish,dutch,estonian,\ +rm %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt +rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,czech,danish,dutch,estonian,\ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} %endif %if %{without bench} -rm -rf %{buildroot}%{_datadir}/sql-bench +rm -r %{buildroot}%{_datadir}/sql-bench %endif %if %{without test} -rm -f %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process} -rm -rf %{buildroot}%{_datadir}/mysql-test -rm -f %{buildroot}%{_mandir}/man1/mysql_client_test.1* +rm %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process} +rm -r %{buildroot}%{_datadir}/mysql-test +rm %{buildroot}%{_mandir}/man1/mysql_client_test.1* %endif %check @@ -998,16 +1003,16 @@ export MTR_BUILD_THREAD=%{__isa_bits} set -e cd mysql-test perl ./mysql-test-run.pl --force --retry=0 --ssl \ - --suite-timeout=720 --testcase-timeout=30 --skip-rpl \ + --suite-timeout=720 --testcase-timeout=30 \ --mysqld=--binlog-format=mixed --force-restart \ - --shutdown-timeout=60 --max-test-fail=0 \ + --shutdown-timeout=60 --max-test-fail=0 --big-test \ %if %{ignore_testsuite_result} || : %else - --skip-test-list=rh-skipped-tests.list + --skip-test-list=unstable-tests %endif # cmake build scripts will install the var cruft if left alone :-( - rm -rf var + rm -r var ) %endif %endif @@ -1346,7 +1351,7 @@ fi %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so %endif -%{_mandir}/man1/mysql_config.1* +%{_mandir}/man1/mysql_config* %endif %if %{with embedded} @@ -1378,6 +1383,14 @@ fi %endif %changelog +* Tue May 23 2017 Michal Schorm - 3:10.1.21-6 +- Plugin oqgraph enabled +- Plugin jemalloc enabled +- 'force' option for 'rm' removed +- Enabled '--big-test' option for the testsuite +- Disabled '--skip-rpl' option for the testsuite = replication tests enabled +- Multilib manpage added + * Mon May 15 2017 Fedora Release Engineering - 3:10.1.21-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild From e240eff40853c5ca1212b9b711a81c0c8f38827b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 24 May 2017 11:25:52 +0200 Subject: [PATCH 343/789] Rebase to 10.1.24 Build dependecies Bison and Libarchive added, others corrected Disabling Mroonga engine for i686 architecture, as it is not supported by MariaDB Removed patches: (fixed by upstream) Patch5: %{pkgnamepatch}-file-contents.patch Patch14: %{pkgnamepatch}-example-config-files.patch Patch31: %{pkgnamepatch}-string-overflow.patch Patch32: %{pkgnamepatch}-basedir.patch Patch41: %{pkgnamepatch}-galera-new-cluster-help.patch Skipped tests list updated Bigger READMEs update (made by upstream) Resolves: rhbz#1414387 CVE-2017-3313 Resolves partly: rhbz#1443408 CVE-2017-3308 CVE-2017-3309 CVE-2017-3453 CVE-2017-3456 CVE-2017-3464 --- mariadb-basedir.patch | 16 ---- mariadb-example-config-files.patch | 56 ----------- mariadb-file-contents.patch | 45 --------- mariadb-galera-new-cluster-help.patch | 25 ----- mariadb-logrotate.patch | 32 +++---- mariadb-scripts.patch | 3 +- mariadb-string-overflow.patch | 22 ----- mariadb.spec | 132 ++++++++++++++++---------- rh-skipped-tests-arm.list | 9 +- rh-skipped-tests-base.list | 55 +++++++++++ sources | 2 +- 11 files changed, 158 insertions(+), 239 deletions(-) delete mode 100644 mariadb-basedir.patch delete mode 100644 mariadb-example-config-files.patch delete mode 100644 mariadb-file-contents.patch delete mode 100644 mariadb-galera-new-cluster-help.patch delete mode 100644 mariadb-string-overflow.patch diff --git a/mariadb-basedir.patch b/mariadb-basedir.patch deleted file mode 100644 index d548ff5..0000000 --- a/mariadb-basedir.patch +++ /dev/null @@ -1,16 +0,0 @@ -Don't guess basedir in mysql_config; we place it under _libdir because -of multilib conflicts, so use rather configured @prefix@ path directly. - -diff -up mariadb-10.0.13/scripts/mysql_config.sh.patch32 mariadb-10.0.13/scripts/mysql_config.sh ---- mariadb-10.0.13/scripts/mysql_config.sh.patch32 2014-08-13 17:28:51.174776518 +0200 -+++ mariadb-10.0.13/scripts/mysql_config.sh 2014-08-13 17:32:18.205275028 +0200 -@@ -76,8 +76,7 @@ get_full_path () - - me=`get_full_path $0` - --# Script might have been renamed but assume mysql_config --basedir=`echo $me | sed -e 's;/bin/mysql_.*config.*;;'` -+basedir='@prefix@' - - ldata='@localstatedir@' - execdir='@libexecdir@' diff --git a/mariadb-example-config-files.patch b/mariadb-example-config-files.patch deleted file mode 100644 index d4bf5be..0000000 --- a/mariadb-example-config-files.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff -Naurp mariadb-10.1.19/support-files/my-huge.cnf.sh mariadb-10.1.19-patched/support-files/my-huge.cnf.sh ---- mariadb-10.1.19/support-files/my-huge.cnf.sh 2016-11-04 12:15:54.000000000 +0100 -+++ mariadb-10.1.19-patched/support-files/my-huge.cnf.sh 2016-12-02 10:29:41.111798361 +0100 -@@ -25,6 +25,7 @@ socket = @MYSQL_UNIX_ADDR@ - - # The MySQL server - [mysqld] -+log-error = @LOG_LOCATION@ - port = @MYSQL_TCP_PORT@ - socket = @MYSQL_UNIX_ADDR@ - skip-external-locking -diff -Naurp mariadb-10.1.19/support-files/my-innodb-heavy-4G.cnf.sh mariadb-10.1.19-patched/support-files/my-innodb-heavy-4G.cnf.sh ---- mariadb-10.1.19/support-files/my-innodb-heavy-4G.cnf.sh 2016-11-04 12:15:54.000000000 +0100 -+++ mariadb-10.1.19-patched/support-files/my-innodb-heavy-4G.cnf.sh 2016-12-02 10:30:07.647805999 +0100 -@@ -42,7 +42,7 @@ socket = @MYSQL_UNIX_ADDR@ - # The MariaDB server - # - [mysqld] -- -+log-error = @LOG_LOCATION@ - # generic configuration options - port = @MYSQL_TCP_PORT@ - socket = @MYSQL_UNIX_ADDR@ -diff -Naurp mariadb-10.1.19/support-files/my-large.cnf.sh mariadb-10.1.19-patched/support-files/my-large.cnf.sh ---- mariadb-10.1.19/support-files/my-large.cnf.sh 2016-11-04 12:15:54.000000000 +0100 -+++ mariadb-10.1.19-patched/support-files/my-large.cnf.sh 2016-12-02 10:30:14.744806845 +0100 -@@ -25,6 +25,7 @@ socket = @MYSQL_UNIX_ADDR@ - - # The MariaDB server - [mysqld] -+log-error = @LOG_LOCATION@ - port = @MYSQL_TCP_PORT@ - socket = @MYSQL_UNIX_ADDR@ - skip-external-locking -diff -Naurp mariadb-10.1.19/support-files/my-medium.cnf.sh mariadb-10.1.19-patched/support-files/my-medium.cnf.sh ---- mariadb-10.1.19/support-files/my-medium.cnf.sh 2016-11-04 12:15:54.000000000 +0100 -+++ mariadb-10.1.19-patched/support-files/my-medium.cnf.sh 2016-12-02 10:30:21.726807677 +0100 -@@ -26,6 +26,7 @@ socket = @MYSQL_UNIX_ADDR@ - - # The MariaDB server - [mysqld] -+log-error = @LOG_LOCATION@ - port = @MYSQL_TCP_PORT@ - socket = @MYSQL_UNIX_ADDR@ - skip-external-locking -diff -Naurp mariadb-10.1.19/support-files/my-small.cnf.sh mariadb-10.1.19-patched/support-files/my-small.cnf.sh ---- mariadb-10.1.19/support-files/my-small.cnf.sh 2016-11-04 12:15:54.000000000 +0100 -+++ mariadb-10.1.19-patched/support-files/my-small.cnf.sh 2016-12-02 10:30:27.988808423 +0100 -@@ -24,6 +24,7 @@ socket = @MYSQL_UNIX_ADDR@ - - # The MySQL server - [mysqld] -+log-error = @LOG_LOCATION@ - port = @MYSQL_TCP_PORT@ - socket = @MYSQL_UNIX_ADDR@ - skip-external-locking diff --git a/mariadb-file-contents.patch b/mariadb-file-contents.patch deleted file mode 100644 index 85c1163..0000000 --- a/mariadb-file-contents.patch +++ /dev/null @@ -1,45 +0,0 @@ -Upstream chooses to install INFO_SRC and INFO_BIN into the docs dir, which -breaks at least two packaging commandments, so we put them into $libdir -instead. That means we have to hack the file_contents regression test -to know about this. - -Recommendation they change is at http://bugs.mysql.com/bug.php?id=61425 - - -diff -rup mariadb-10.1.8.orig/mysql-test/t/file_contents.test mariadb-10.1.8/mysql-test/t/file_contents.test ---- mariadb-10.1.8.orig/mysql-test/t/file_contents.test 2015-10-15 17:43:44.000000000 +0200 -+++ mariadb-10.1.8/mysql-test/t/file_contents.test 2015-10-19 13:54:53.505550439 +0200 -@@ -11,7 +11,7 @@ - --perl - print "\nChecking 'INFO_SRC' and 'INFO_BIN'\n"; - $dir_bin = $ENV{'MYSQL_BINDIR'}; --if ($dir_bin eq '/usr/') { -+if ($dir_bin =~ '.*/usr/$') { - # RPM package - $dir_docs = $dir_bin; - $dir_docs =~ s|/lib|/share/doc|; -@@ -22,7 +22,7 @@ if ($dir_bin eq '/usr/') { - # RedHat: version number in directory name - $dir_docs = glob "$dir_docs/MariaDB-server*"; - } --} elsif ($dir_bin eq '/usr') { -+} elsif ($dir_bin =~ '.*/usr$') { - # RPM build during development - $dir_docs = "$dir_bin/share/doc"; - if(-d "$dir_docs/packages") { -@@ -32,6 +32,15 @@ if ($dir_bin eq '/usr/') { - # RedHat/Debian: version number in directory name - $dir_docs = glob "$dir_docs/mariadb-server-*"; - $dir_docs = glob "$dir_docs/MariaDB-server*" unless -d $dir_docs; -+ -+ # All the above is entirely wacko, because these files are not docs; -+ # they should be kept in libdir instead. mtr does not provide a nice -+ # way to find libdir though, so we have to kluge it like this: -+ if (-d "$dir_bin/lib64/mysql") { -+ $dir_docs = "$dir_bin/lib64/mysql"; -+ } else { -+ $dir_docs = "$dir_bin/lib/mysql"; -+ } - } - # Slackware - $dir_docs = glob "$dir_bin/doc/mariadb-[0-9]*" unless -d $dir_docs; diff --git a/mariadb-galera-new-cluster-help.patch b/mariadb-galera-new-cluster-help.patch deleted file mode 100644 index cf63719..0000000 --- a/mariadb-galera-new-cluster-help.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- mariadb-10.1.14/scripts/galera_new_cluster.sh.orig 2016-05-11 18:51:13.797926130 +0200 -+++ mariadb-10.1.14/scripts/galera_new_cluster.sh 2016-05-11 19:19:41.195591769 +0200 -@@ -5,6 +5,22 @@ - # the Free Software Foundation; either version 2.1 of the License, or - # (at your option) any later version. - -+if [ "${1}" == "-h" -o "${1}" == "--help" ]; then -+ cat </dev/null - then -- @bindir@/mysqladmin flush-logs +- @bindir@/mysqladmin --local flush-error-log \ +- flush-engine-log flush-general-log flush-slow-log - fi - endscript -} +# Then, un-comment the following lines to enable rotation of mysql's log file: -+ -+#@LOG_LOCATION@ { -+# create 640 mysql mysql ++#@LOG_LOCATION@/mysqld.log { ++# create 600 mysql mysql +# notifempty -+# daily ++# daily +# rotate 3 +# missingok +# compress +# postrotate -+# # just if mysqld is really running -+# if test -x @bindir@/mysqladmin && \ -+# @bindir@/mysqladmin ping &>/dev/null -+# then -+# @bindir@/mysqladmin flush-logs -+# fi ++# # just if mysqld is really running ++# if test -x @bindir@/mysqladmin && \ ++# @bindir@/mysqladmin ping &>/dev/null ++# then ++# @bindir@/mysqladmin --local flush-error-log \ ++# flush-engine-log flush-general-log flush-slow-log ++# fi +# endscript +#} ++ diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index 6ba5bae..2f935b3 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -35,4 +35,5 @@ + ENDFOREACH() ENDIF() - # Configure two scripts from one 'in' file. + # Install libgcc as mylibgcc.a + diff --git a/mariadb-string-overflow.patch b/mariadb-string-overflow.patch deleted file mode 100644 index a8231bd..0000000 --- a/mariadb-string-overflow.patch +++ /dev/null @@ -1,22 +0,0 @@ -These issues were found by Coverity static analysis tool, for more info -see messages by particular fixes (messages belong to 5.1.61). - -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 mariadb-10.0.10/sql/sql_prepare.cc.p8 mariadb-10.0.10/sql/sql_prepare.cc ---- mariadb-10.0.10/sql/sql_prepare.cc.p8 2014-03-30 19:56:42.000000000 +0200 -+++ mariadb-10.0.10/sql/sql_prepare.cc 2014-04-07 18:43:33.901074770 +0200 -@@ -3021,7 +3021,7 @@ void mysql_stmt_get_longdata(THD *thd, c - { - stmt->state= Query_arena::STMT_ERROR; - 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->set_stmt_da(save_stmt_da); - diff --git a/mariadb.spec b/mariadb.spec index 4002a3b..efc5761 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,9 +3,6 @@ %global pkgnamepatch mariadb # 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) -#TODO: enable %{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail, but 0 on production ready build @@ -22,17 +19,20 @@ # Turn that off to ensure such files don't get included in RPMs (cf bz#884755). %global _default_patch_flags --no-backup-if-mismatch -# TokuDB engine is now part of MariaDB, but it is available only for x86_64; -# variable tokudb allows to build with TokuDB storage engine +# TokuDB engine +# https://mariadb.com/kb/en/mariadb/tokudb/ +# TokuDB engine is available only for x86_64 %ifarch x86_64 %bcond_without tokudb %else %bcond_with tokudb %endif -# Mroonga engine is now part of MariaDB, but it only builds for x86_64; -# variable mroonga allows to build with Mroonga storage engine -%ifarch x86_64 i686 +# Mroonga engine +# https://mariadb.com/kb/en/mariadb/about-mroonga/ +# Actual version in MariaDB, 5.04, only supports the x86_64 +# Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html +%ifarch x86_64 %bcond_without mroonga %else %bcond_with mroonga @@ -80,7 +80,7 @@ # MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use # the bundled library, since the package cannot be build with older version -%global pcre_version 8.39 +%global pcre_version 8.40 %if 0%{?fedora} >= 21 %bcond_without pcre %else @@ -118,11 +118,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.1 -%global bugfixver 21 +%global bugfixver 24 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 5%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -154,6 +154,8 @@ Source52: rh-skipped-tests-ppc-s390.list # General upstream response was slightly positive Source70: clustercheck.sh Source71: LICENSE.clustercheck +# Upstream said: "Generally MariaDB has more allows to allow for xtradb sst mechanism". +# https://jira.mariadb.org/browse/MDEV-12646 Source72: mariadb-server-galera.te # Patch2: testsuite README update, introducing skipped-tests.list @@ -162,7 +164,6 @@ Patch2: %{pkgnamepatch}-install-test.patch # Patch4: Red Hat distributions specific logrotate fix # it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2 Patch4: %{pkgnamepatch}-logrotate.patch -Patch5: %{pkgnamepatch}-file-contents.patch # Patch7: add to the CMake file all files where we want macros to be expanded Patch7: %{pkgnamepatch}-scripts.patch # Patch8: resolve conflict, when we combine MariaDB and MySQL packages @@ -171,13 +172,8 @@ Patch8: %{pkgnamepatch}-install-db-sharedir.patch Patch9: %{pkgnamepatch}-ownsetup.patch # Patch13: patch of test of ssl cypher unsupported in Fedora Patch13: %{pkgnamepatch}-ssl-cypher.patch -Patch14: %{pkgnamepatch}-example-config-files.patch # Patches specific for this mysql package -# Patch31: -# TODO: I should run covscan again -Patch31: %{pkgnamepatch}-string-overflow.patch -Patch32: %{pkgnamepatch}-basedir.patch # Patch34: # TODO: I should run covscan again Patch34: %{pkgnamepatch}-covscan-stroverflow.patch @@ -186,9 +182,8 @@ Patch37: %{pkgnamepatch}-notestdb.patch # Patches for galera Patch40: %{pkgnamepatch}-galera.cnf.patch -Patch41: %{pkgnamepatch}-galera-new-cluster-help.patch -BuildRequires: cmake +BuildRequires: cmake gcc-c++ BuildRequires: libaio-devel BuildRequires: libedit-devel BuildRequires: ncurses-devel @@ -197,11 +192,17 @@ BuildRequires: zlib-devel BuildRequires: multilib-rpm-config BuildRequires: krb5-devel BuildRequires: selinux-policy-devel -BuildRequires: jemalloc-devel %{?with_init_systemd:BuildRequires: systemd systemd-devel} +# Sphinx storage engine +BuildRequires: sphinx libsphinxclient libsphinxclient-devel +# Bison SQL parser +BuildRequires: bison bison-devel +# Jemalloc +BuildRequires: jemalloc-devel # Cracklib plugin BuildRequires: cracklib-dicts cracklib-devel -BuildRequires: cracklib-dicts +# Mariabackup +BuildRequires: libarchive libarchive-devel # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel # use either new enough version of pcre or provide bundles(pcre) @@ -229,6 +230,7 @@ BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) BuildRequires: perl(Symbol) # Temporary workaound to build with OpenSSL 1.0 on Fedora >=26 (wich requires OpenSSL 1.1) +# https://jira.mariadb.org/browse/MDEV-10332 %if 0%{?fedora} >= 26 BuildRequires: compat-openssl10-devel Requires: compat-openssl10 @@ -239,7 +241,6 @@ Requires: openssl %endif Requires: bash coreutils grep -Requires: jemalloc Requires: %{name}-common%{?_isa} = %{sameevr} # Explicit EVR requirement for -libs is needed for RHBZ#1406320 @@ -396,6 +397,16 @@ Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d Requires: coreutils Requires(pre): /usr/sbin/useradd +# Sphinx storage engine +Recommends: sphinx libsphinxclient +# Bison SQL parser +Requires: bison +# Cracklib plugin: +Recommends: cracklib-dicts +# Mariabackup tool +Recommends: libarchive +# Jemalloc +Requires: jemalloc %if %{with init_systemd} # We require this to be present for %%{_tmpfilesdir} Requires: systemd @@ -599,18 +610,13 @@ MariaDB is a community developed branch of MySQL. %patch2 -p1 %patch4 -p1 -%patch5 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch13 -p1 -%patch14 -p1 -%patch31 -p1 -%patch32 -p1 %patch34 -p1 %patch37 -p1 %patch40 -p1 -%patch41 -p1 # workaround for upstream bug #56342 rm mysql-test/t/ssl_8k_key-master.opt @@ -650,11 +656,7 @@ then fi } -# Fix for RHBZ #1395127 - part "The -Werror option in Percona directory prevents MariaDB to be compiled on x86_64 arch" from comment 4 -# Upstream: https://jira.mariadb.org/browse/MDEV-11965 -%ifarch x86_64 -sed -i s/-Werror//g storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake -%endif + %build @@ -680,11 +682,6 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` %ifarch ppc64 CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` %endif -# -Werror break rawhide(F26) build on x86_64 -%ifarch x86_64 -CFLAGS=`echo $CFLAGS| sed -e "s|-Werror=format-security||g" ` -CFLAGS=`echo $CFLAGS| sed -e "s|-Wall||g" ` -%endif CXXFLAGS="$CFLAGS" export CFLAGS CXXFLAGS @@ -740,6 +737,8 @@ export LDFLAGS make %{?_smp_mflags} VERBOSE=1 + + # 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 @@ -790,7 +789,6 @@ mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig # but that's pretty wacko --- see also %%{name}-file-contents.patch) install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ -rm -r %{buildroot}%{_datadir}/doc/%{_pkgdocdirname}/MariaDB-server-%{version}/ mkdir -p %{buildroot}%{logfiledir} chmod 0750 %{buildroot}%{logfiledir} @@ -946,10 +944,13 @@ rm %{buildroot}%{_sysconfdir}/my.cnf.d/oqgraph.cnf %if %{without tokudb} %ifarch x86_64 +rm %{buildroot}%{_bindir}/tokuftdump +rm %{buildroot}%{_bindir}/tokuft_logprint +%endif +# because upstream ships manpages for tokudb even on architectures that tokudb doesn't support rm %{buildroot}%{_mandir}/man1/tokuftdump.1* rm %{buildroot}%{_mandir}/man1/tokuft_logdump.1* %endif -%endif %if %{without config} rm %{buildroot}%{_sysconfdir}/my.cnf @@ -998,6 +999,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} # Failing test debug 02/14/17 # --do-test=mysql_client_test_nonblock \ +# --skip-rpl ( set -e @@ -1012,6 +1014,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} --skip-test-list=unstable-tests %endif # cmake build scripts will install the var cruft if left alone :-( + # TODO: test again rm -r var ) %endif @@ -1134,9 +1137,9 @@ fi %if %{with common} %files common -%license COPYING COPYING.LESSER -%license storage/innobase/COPYING.Percona storage/innobase/COPYING.Google %doc README README.mysql-license README.mysql-docs +%doc %{_datadir}/doc/%{_pkgdocdirname} + %dir %{_libdir}/mysql %dir %{_libdir}/mysql/plugin %dir %{_datadir}/%{pkg_name} @@ -1196,7 +1199,9 @@ fi %{_bindir}/aria_ftdump %{_bindir}/aria_pack %{_bindir}/aria_read_log +%{_bindir}/mariabackup %{_bindir}/mariadb-service-convert +%{_bindir}/mbstream %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog @@ -1211,6 +1216,7 @@ fi %{_bindir}/resolve_stack_dump %{_bindir}/resolveip %{_bindir}/wsrep_sst_common +%{_bindir}/wsrep_sst_mariabackup %{_bindir}/wsrep_sst_mysqldump %{_bindir}/wsrep_sst_rsync %{_bindir}/wsrep_sst_xtrabackup @@ -1221,9 +1227,8 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf %{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf} - # Cracklib plugin -%{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf +%config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf %{_libexecdir}/mysqld @@ -1244,21 +1249,33 @@ fi %{_mandir}/man1/aria_ftdump.1* %{_mandir}/man1/aria_pack.1* %{_mandir}/man1/aria_read_log.1* +%{_mandir}/man1/galera_new_cluster.1* +%{_mandir}/man1/galera_recovery.1* +%{_mandir}/man1/mariadb-service-convert.1* %{_mandir}/man1/myisamchk.1* %{_mandir}/man1/myisamlog.1* %{_mandir}/man1/myisampack.1* %{_mandir}/man1/myisam_ftdump.1* +%{_mandir}/man1/mysqlbug.1* %{_mandir}/man1/mysql.server.1* %{_mandir}/man1/mysql_install_db.1* %{_mandir}/man1/mysql_secure_installation.1* -%{_mandir}/man1/mysqlbug.1* +%{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man1/mysqld_safe.1* +%{_mandir}/man1/mysqld_safe_helper.1* +%{_mandir}/man1/my_safe_process.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/replace.1* -%{_mandir}/man1/resolve_stack_dump.1* %{_mandir}/man1/resolveip.1* -%{_mandir}/man1/mysql_tzinfo_to_sql.1* +%{_mandir}/man1/resolve_stack_dump.1* %{_mandir}/man8/mysqld.8* +%{?with_tokudb:%{_mandir}/man1/tokuftdump.1*} +%{?with_tokudb:%{_mandir}/man1/tokuft_logdump.1*} +%{_mandir}/man1/wsrep_sst_common.1* +%{_mandir}/man1/wsrep_sst_mysqldump.1* +%{_mandir}/man1/wsrep_sst_rsync.1* +%{_mandir}/man1/wsrep_sst_xtrabackup.1* +%{_mandir}/man1/wsrep_sst_xtrabackup-v2.1* %{_datadir}/%{pkg_name}/fill_help_tables.sql %{_datadir}/%{pkg_name}/install_spider.sql @@ -1316,7 +1333,7 @@ fi %endif %files server-utils -#Perl utilities +# Perl utilities %{_bindir}/mysql_convert_table_format %{_bindir}/mysql_fix_extensions %{_bindir}/mysql_setpermission @@ -1331,14 +1348,14 @@ fi %{_mandir}/man1/mysqld_multi.1* %{_mandir}/man1/mysqlhotcopy.1* %{_mandir}/man1/mysql_setpermission.1* -#Utilities that can be used remotely +# Utilities that can be used remotely %{_bindir}/mysql_upgrade %{_bindir}/mysqltest %{_bindir}/perror %{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/mysqltest.1* %{_mandir}/man1/perror.1* -#Other utilities +# Other utilities %{_bindir}/mysqld_safe_helper %if %{with devel} @@ -1369,6 +1386,8 @@ fi %if %{with bench} %files bench %{_datadir}/sql-bench +#TODO: do a sanity check +%exclude %{_datadir}/sql-bench/README # RPMLINT W: # mariadb-bench.x86_64: W: no-documentation %doc %{_datadir}/sql-bench/README @@ -1383,6 +1402,21 @@ fi %endif %changelog +* Fri Jun 02 2017 Michal Schorm - 3:10.1.24-1 +- Rebase to 10.1.24 +- Build dependecies Bison and Libarchive added, others corrected +- Disabling Mroonga engine for i686 architecture, as it is not supported by MariaDB +- Removed patches: (fixed by upstream) + Patch5: mariadb-file-contents.patch + Patch14: mariadb-example-config-files.patch + Patch31: mariadb-string-overflow.patch + Patch32: mariadb-basedir.patch + Patch41: mariadb-galera-new-cluster-help.patch +- Resolves: rhbz#1414387 + CVE-2017-3313 +- Resolves partly: rhbz#1443408 + CVE-2017-3308 CVE-2017-3309 CVE-2017-3453 CVE-2017-3456 CVE-2017-3464 + * Tue May 23 2017 Michal Schorm - 3:10.1.21-6 - Plugin oqgraph enabled - Plugin jemalloc enabled diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index d7e0b58..8b13789 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -1,8 +1 @@ -main.partition_exchange : #1399847 -main.analyze_stmt_orderby : #1399847 -main.explain_json_innodb : #1399847 -main.explain_json_format_partitions : #1399847 -main.analyze_format_json : #1399847 -main.explain_json : #1399847 -main.subselect_cache : #1399847 -main.type_year : #1399847 + diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 26c64d0..48fb42b 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -14,3 +14,58 @@ perfschema.socket_summary_by_instance_func : #1399847 # test that started to fail in 10.1.21 only on i686 only in Fedora Rawhide (F26). 14/02/17 main.mysql_client_test_nonblock : #1399847 + +# needs this tests disabled for mode build +plugins.feedback_plugin_load : # + +# ---- +# Failing from rebase to 10.1.24 +# issues trackers will be added + +encryption.create_or_replace : + +perfschema.nesting : +perfschema.socket_summary_by_event_name_func : +perfschema.socket_summary_by_instance_func : +perfschema.cnf_option : + +innodb.innodb_defrag_binlog : + +rpl.rpl_row_img_blobs : +rpl.rpl_row_img_eng_min : +rpl.rpl_row_img_eng_noblob : + +sys_vars.log_error_func : +sys_vars.log_error_func2 : +sys_vars.slave_parallel_threads_basic : + +spider/bg.spider3_fixes : +spider/bg.spider3_fixes_part : +spider/bg.spider_fixes : +spider/bg.spider_fixes_part : +spider/bg.basic_sql : +spider/bg.basic_sql_part : +spider/bg.direct_aggregate : +spider/bg.direct_aggregate_part : +spider/bg.direct_update : +spider/bg.direct_update_part : +spider/bg.function : +spider/bg.ha : +spider/bg.ha_part : +spider/bg.vp_fixes : +spider.spider3_fixes : +spider.spider3_fixes_part : +spider.spider_fixes : +spider.spider_fixes_part : +spider.basic_sql : +spider.basic_sql_part : +spider.direct_aggregate : +spider.direct_aggregate_part : +spider.direct_update : +spider.direct_update_part : +spider.function : +spider.ha : +spider.ha_part : +spider.vp_fixes : + + diff --git a/sources b/sources index 0c97c82..5594650 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.1.21.tar.gz) = 241467ce7c04603261509e45b3c476632a11754f15dead67434bb8a0fbad6ebcf44c63ffeb7075574e54d14039b22702d48732c1fd8a498948d8b6fc54d54714 +SHA512 (mariadb-10.1.24.tar.gz) = 0b8d81b53f6866a81f33559ce57ebf956fec3ba25da0bd58c8bee3b2ecc00a6c370340000209d18463f84501d3ba35994b51ef99224616c37cd38d2fc87b73e9 From 61840ee570192f3e18e52e4a16dcfd51f181ea44 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 8 Jun 2017 09:23:53 +0200 Subject: [PATCH 344/789] Fixed incorrect Jemalloc initialization #1459671 --- mariadb.spec | 7 +++++-- rh-skipped-tests-base.list | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index efc5761..9139722 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -122,7 +122,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -727,7 +727,7 @@ export LDFLAGS -DWITH_SSL=system \ -DWITH_ZLIB=system \ %{?with_pcre: -DWITH_PCRE=system}\ - -DWITH_JEMALLOC=ON \ + -DWITH_JEMALLOC=system \ %{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\ %{!?with_mroonga: -DWITHOUT_MROONGA=ON}\ %{!?with_oqgraph: -DWITHOUT_OQGRAPH=ON}\ @@ -1402,6 +1402,9 @@ fi %endif %changelog +* Wed Jun 07 2017 Michal Schorm - 3:10.1.24-2 +- Fixed incorrect Jemalloc initialization; #1459671 + * Fri Jun 02 2017 Michal Schorm - 3:10.1.24-1 - Rebase to 10.1.24 - Build dependecies Bison and Libarchive added, others corrected diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 48fb42b..edb74a6 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -68,4 +68,5 @@ spider.ha : spider.ha_part : spider.vp_fixes : - +# Tests failing on PPC +parts.partition_alter4_innodb : From b23629497bb92aac2f2c374eb2ed5c18ca5f5440 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 6 Jun 2017 07:35:28 +0200 Subject: [PATCH 345/789] Downstream script mariadb-prepare-db-dir fixed for CVE-2017-3265 Related: #1458940 Changes based on MySQL changes: https://github.com/mysql/mysql-server/commit/76e9d7e5b30365e8b167e2070ee00f81cb115b8b https://github.com/mysql/mysql-server/commit/7a5145e445ee802241957eb5290a3e65ea4da70c --- mariadb.spec | 6 +++++- mysql-prepare-db-dir.sh | 29 +++++++++++++---------------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 9139722..8906e72 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -122,7 +122,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1402,6 +1402,10 @@ fi %endif %changelog +* Fri Jun 09 2017 Honza Horak - 3:10.1.24-3 + Downstream script mariadb-prepare-db-dir fixed for CVE-2017-3265 + Resolves: #1458940 + * Wed Jun 07 2017 Michal Schorm - 3:10.1.24-2 - Fixed incorrect Jemalloc initialization; #1459671 diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index b47fa9b..b690f64 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -56,24 +56,23 @@ else fi # Set up the errlogfile with appropriate permissions -touch "$errlogfile" -ret=$? -# Provide some advice if the log file cannot be touched -if [ $ret -ne 0 ] ; then - errlogdir=$(dirname $errlogfile) +if [ ! -e "$errlogfile" -a ! -h "$errlogfile" -a x$(dirname "$errlogfile") = "x/var/log" ]; then + case $(basename "$errlogfile") in + mysql*.log|mariadb*.log) install /dev/null -m0640 -o$myuser -g$mygroup "$errlogfile" ;; + *) ;; + esac +else + # Provide some advice if the log file cannot be created by this script + errlogdir=$(dirname "$errlogfile") if ! [ -d "$errlogdir" ] ; then echo "The directory $errlogdir does not exist." - elif [ -f "$errlogfile" ] ; then - echo "The log file $errlogfile cannot be touched, please, fix its permissions." - else - echo "The log file $errlogfile could not be created." + exit 1 + elif [ -e "$errlogfile" -a ! -w "$errlogfile" ] ; then + echo "The log file $errlogfile cannot be written, please, fix its permissions." + echo "The daemon will be run under $myuser:$mygroup" + exit 1 fi - echo "The daemon will be run under $myuser:$mygroup" - exit 1 fi -chown "$myuser:$mygroup" "$errlogfile" -chmod 0640 "$errlogfile" -[ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" # Make the data directory if doesn't exist or empty if should_initialize "$datadir" ; then @@ -118,8 +117,6 @@ if should_initialize "$datadir" ; then fi # upgrade does not need to be run on a fresh datadir echo "@VERSION@-MariaDB" >"$datadir/mysql_upgrade_info" - # In case we're running as root, make sure files are owned properly - chown -R "$myuser:$mygroup" "$datadir" else if [ -d "$datadir/mysql/" ] ; then # mysql dir exists, it seems data are initialized properly From 25e7bbfef506734f6ae3f71c383cec97063dc6a5 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 7 Jun 2017 16:01:09 +0200 Subject: [PATCH 346/789] Fix checking whether we can initialize the datadir Existance of .bash_history is ignored Every file is checked separately, so we don't get false negative check when *.err matches e.g. 'mysql test zzz.org.err' content Related: #1356897 --- mariadb.spec | 4 +++- mysql-prepare-db-dir.sh | 17 ++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 8906e72..7ecf938 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1403,8 +1403,10 @@ fi %changelog * Fri Jun 09 2017 Honza Horak - 3:10.1.24-3 - Downstream script mariadb-prepare-db-dir fixed for CVE-2017-3265 +- Downstream script mariadb-prepare-db-dir fixed for CVE-2017-3265 Resolves: #1458940 +- Check properly that datadir includes only expected files + Related: #1356897 * Wed Jun 07 2017 Michal Schorm - 3:10.1.24-2 - Fixed incorrect Jemalloc initialization; #1459671 diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index b690f64..785ddc2 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -5,24 +5,27 @@ source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" +export LC_ALL=C + # Returns content of the specified directory # If listing files fails, fake-file is returned so which means # we'll behave like there was some data initialized +# Some files or directories are fine to be there, so those are +# explicitly removed from the listing # @param datadir -ls_check_datadir () +list_datadir () { - ls -A "$1" 2>/dev/null - test $? -eq 0 || echo "fake-file" + ( ls -1A "$1" 2>/dev/null || echo "fake-file" ) | grep -v \ + -e '^lost+found$' \ + -e '\.err$' \ + -e '^.bash_history$' } # Checks whether datadir should be initialized # @param datadir should_initialize () { - case `ls_check_datadir "$1"` in - ""|lost+found|*.err) true ;; - *) false ;; - esac + test -z "$(list_datadir "$1")" } # If two args given first is user, second is group From 6572cb63080d184b006787bba28785b107792d70 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 14 Jun 2017 03:14:01 +0200 Subject: [PATCH 347/789] Update of source URL --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 7ecf938..0480872 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -131,7 +131,7 @@ URL: http://mariadb.org # Exceptions allow client libraries to be linked with most open source SW, not only GPL code. See README.mysql-license License: GPLv2 with exceptions and LGPLv2 and BSD -Source0: http://mirrors.syringanetworks.net/mariadb/mariadb-%{version}/source/mariadb-%{version}.tar.gz +Source0: https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz Source2: mysql_config_multilib.sh Source3: my.cnf.in Source5: README.mysql-cnf From 570e5a390abdd724a9c0e060c70c7198b519541c Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 19 Jun 2017 10:31:54 +0200 Subject: [PATCH 348/789] Use "/run" location instead of "/var/run" symlink Related: #1455811 AppArmor policy files removed Some cosmetic changelog changes --- mariadb.spec | 143 +++++++++++++++++++++++++++----------------------- mysql.init.in | 2 +- 2 files changed, 79 insertions(+), 66 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 0480872..b850e2b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -94,7 +94,11 @@ %global logfile %{logfiledir}/%{daemon_name}.log # Directory for storing pid file +%if 0%{?rhel} == 6 %global pidfiledir %{_localstatedir}/run/%{daemon_name} +%else #RHEL 6 +%global pidfiledir %{_rundir}/%{daemon_name} +%endif # Defining where database data live %global dbdatadir %{_localstatedir}/lib/mysql @@ -122,7 +126,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -816,7 +820,11 @@ install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?mysqld_pid_dir:1} +%if 0%{?rhel} == 6 echo "d %{_localstatedir}/run/%{mysqld_pid_dir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf +%else #RHEL 6 +echo "d %{_rundir}/%{mysqld_pid_dir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf +%endif %endif %endif @@ -902,6 +910,9 @@ rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMar # mariadb-bench.x86_64: E: script-without-shebang /usr/share/sql-bench/myisam.cnf chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf +# Remove AppArmor files +rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor + %if %{without clibrary} unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so @@ -1292,10 +1303,7 @@ fi %{_datadir}/%{pkg_name}/wsrep.cnf %{_datadir}/%{pkg_name}/wsrep_notify %dir %{_datadir}/%{pkg_name}/policy -%dir %{_datadir}/%{pkg_name}/policy/apparmor %dir %{_datadir}/%{pkg_name}/policy/selinux -%{_datadir}/%{pkg_name}/policy/apparmor/README -%{_datadir}/%{pkg_name}/policy/apparmor/usr.sbin.mysqld* %{_datadir}/%{pkg_name}/policy/selinux/README %{_datadir}/%{pkg_name}/policy/selinux/mariadb-server.* %{_datadir}/%{pkg_name}/policy/selinux/mariadb.* @@ -1402,11 +1410,16 @@ fi %endif %changelog +* Mon Jun 19 2017 Michal Schorm - 3:10.1.24-4 +- Use "/run" location instead of "/var/run" symlink +- Related: #1455811 +- Remove AppArmor files + * Fri Jun 09 2017 Honza Horak - 3:10.1.24-3 - Downstream script mariadb-prepare-db-dir fixed for CVE-2017-3265 - Resolves: #1458940 +- Resolves: #1458940 - Check properly that datadir includes only expected files - Related: #1356897 +- Related: #1356897 * Wed Jun 07 2017 Michal Schorm - 3:10.1.24-2 - Fixed incorrect Jemalloc initialization; #1459671 @@ -1447,7 +1460,7 @@ fi were moved back to where they came from (client - the main subpackage) - Added correct "Obsoletes" for the server-utils subpackage - Fixed FTBFS in F26 on x86_64, because of -Werror option - Related: #1421092, #1395127 +- Related: #1421092, #1395127 * Fri Feb 10 2017 Fedora Release Engineering - 3:10.1.21-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild @@ -1460,23 +1473,23 @@ fi - Buildrequires krb5-devel duplicity removed - Manpage for mysql_secure_installation extended - Preparation for the CrackLib plugin to be added (waiting for correct SELinux rules to be relased) - Related: #1260821, #1205082, #1414387 +- Related: #1260821, #1205082, #1414387 * Tue Jan 03 2017 Honza Horak - 3:10.1.20-3 - Add explicit EVR requirement in main package for -libs - Related: #1406320 +- Related: #1406320 * Tue Dec 20 2016 Honza Horak - 3:10.1.20-2 - Use correct macro when removing doc files - Resolves: #1400981 +- Resolves: #1400981 * Sat Dec 17 2016 Michal Schorm - 3:10.1.20-1 - Rebase to version 10.1.20 - Related: #1405258 +- Related: #1405258 * Fri Dec 02 2016 Michal Schorm - 3:10.1.19-6 - Move patch from specfile to standalone patch file - Related: #1382988 +- Related: #1382988 * Thu Dec 01 2016 Rex Dieter - 3:10.1.19-6 - -devel: use pkgconfig(openssl) to allow any implementation (like compat-openssl10) @@ -1484,12 +1497,12 @@ fi * Wed Nov 30 2016 Michal Schorm - 3:10.1.19-5 - Testsuite blacklists heavily updated. Current tracker: #1399847 - Log-error option added to all config files examples - Resolves: #1382988 +- Resolves: #1382988 * Wed Nov 16 2016 Michal Schorm - 3:10.1.19-4 - JdbcMariaDB.jar test removed - PCRE version check added - Related: #1382988, #1396945, #1096787 +- Related: #1382988, #1396945, #1096787 * Wed Nov 16 2016 Michal Schorm - 3:10.1.19-4 - test suite ENABLED, consensus was made it still should be run every build @@ -1512,7 +1525,7 @@ fi * Mon Aug 29 2016 Jakub Dorňák - 3:10.1.16-2 - Fixed galera replication - Resolves: #1352946 +- Resolves: #1352946 * Tue Jul 19 2016 Jakub Dorňák - 3:10.1.16-1 - Update to 10.1.16 @@ -1527,7 +1540,7 @@ fi * Thu Jul 14 2016 Honza Horak - 2:10.1.15-3 - Check datadir more carefully to avoid unwanted data corruption - Related: #1335849 +- Related: #1335849 * Thu Jul 7 2016 Jakub Dorňák - 2:10.1.15-2 - Bump epoch @@ -1546,7 +1559,7 @@ fi * Thu May 26 2016 Jakub Dorňák - 1:10.2.0-2 - Fix mysql-prepare-db-dir - Resolves: #1335849 +- Resolves: #1335849 * Thu May 12 2016 Jakub Dorňák - 1:10.2.0-1 - Update to 10.2.0 @@ -1572,7 +1585,7 @@ fi * Tue Mar 22 2016 Jakub Dorňák - 1:10.1.12-3 - Add subpackage mariadb-server-galera - Resolves: 1310622 +- Resolves: 1310622 * Tue Mar 01 2016 Honza Horak - 1:10.1.12-2 - Rebuild for BZ#1309199 (symbol versioning) @@ -1588,9 +1601,9 @@ fi * Fri Feb 12 2016 Honza Horak - 1:10.1.11-7 - Add Provides: bundled(pcre) in case we build with bundled pcre - Related: #1302296 +- Related: #1302296 - embedded-devel should require libaio-devel - Resolves: #1290517 +- Resolves: #1290517 * Fri Feb 12 2016 Honza Horak - 1:10.1.11-6 - Fix typo s/obsolate/obsolete/ @@ -1598,9 +1611,9 @@ fi * Thu Feb 11 2016 Honza Horak - 1:10.1.11-5 - Add missing requirements for proper wsrep functionality - Obsolate mariadb-galera & mariadb-galera-server (thanks Tomas Repik) - Resolves: #1279753 +- Resolves: #1279753 - Re-enable using libedit, which should be now fixed - Related: #1201988 +- Related: #1201988 - Remove mariadb-wait-ready call from systemd unit, we have now systemd notify support - Make mariadb@.service similar to mariadb.service @@ -1649,7 +1662,7 @@ fi * Wed Jun 03 2015 Dan Horák - 1:10.0.19-2 - Update lists of failing tests (jdornak) - Related: #1149647 +- Related: #1149647 * Mon May 11 2015 Honza Horak - 1:10.0.19-1 - Update to 10.0.19 @@ -1661,23 +1674,23 @@ fi - Include client plugins into -common package since they are used by both -libs and base packages. - Do not use libedit - Related: #1201988 +- Related: #1201988 - Let plugin dir to be owned by -common - Use correct comment in the init script - Related: #1184604 +- Related: #1184604 - Add openssl as BuildRequires to run some openssl tests during build - Related: #1189180 +- Related: #1189180 - Fail in case any command in check fails - Related: #1124791 +- Related: #1124791 - Fix mysqladmin crash if run with -u root -p - Resolves: #1207170 +- Resolves: #1207170 * Sat May 02 2015 Kalev Lember - 1:10.0.17-3 - Rebuilt for GCC 5 C++11 ABI change * Fri Mar 06 2015 Honza Horak - 1:10.0.17-2 - Wait for daemon ends - Resolves: #1072958 +- Resolves: #1072958 - Do not include symlink to libmysqlclient if not shipping the library - Do not use scl prefix more than once in paths Based on https://www.redhat.com/archives/sclorg/2015-February/msg00038.html @@ -1688,9 +1701,9 @@ fi * Tue Mar 03 2015 Honza Horak - 1:10.0.16-6 - Check permissions when starting service on RHEL-6 - Resolves: #1194699 +- Resolves: #1194699 - Do not create test database by default - Related: #1194611 +- Related: #1194611 * Fri Feb 13 2015 Matej Muzila - 1:10.0.16-4 - Enable tokudb @@ -1701,11 +1714,11 @@ fi * Wed Feb 4 2015 Jakub Dorňák - 1:10.0.16-2 - Include new certificate for tests - Update lists of failing tests - Related: #1186110 +- Related: #1186110 * Tue Feb 3 2015 Jakub Dorňák - 1:10.0.16-9 - Rebase to version 10.0.16 - Resolves: #1187895 +- Resolves: #1187895 * Tue Jan 27 2015 Petr Machata - 1:10.0.15-9 - Rebuild for boost 1.57.0 @@ -1739,15 +1752,15 @@ fi * Thu Nov 20 2014 Jan Stanek - 1:10.0.14-8 - Applied upstream fix for mysql_config --cflags output. - Resolves: #1160845 +- Resolves: #1160845 * Fri Oct 24 2014 Jan Stanek - 1:10.0.14-7 - Fixed compat service file. - Resolves: #1155700 +- Resolves: #1155700 * Mon Oct 13 2014 Honza Horak - 1:10.0.14-6 - Remove bundled cmd-line-utils - Related: #1079637 +- Related: #1079637 - Move mysqlimport man page to proper package - Disable main.key_cache test on s390 Releated: #1149647 @@ -1755,7 +1768,7 @@ fi * Wed Oct 08 2014 Honza Horak - 1:10.0.14-5 - Disable tests connect.part_file, connect.part_table and connect.updelx - Related: #1149647 +- Related: #1149647 * Wed Oct 01 2014 Honza Horak - 1:10.0.14-4 - Add bcond_without mysql_names @@ -1763,7 +1776,7 @@ fi * Wed Oct 01 2014 Honza Horak - 1:10.0.14-3 - Build with system libedit - Resolves: #1079637 +- Resolves: #1079637 * Mon Sep 29 2014 Honza Horak - 1:10.0.14-2 - Add with_debug option @@ -1782,17 +1795,17 @@ fi * Wed Sep 24 2014 Matej Muzila - 1:10.0.13-7 - Client related libraries moved from mariadb-server to mariadb-libs - Related: #1138843 +- Related: #1138843 * Mon Sep 08 2014 Honza Horak - 1:10.0.13-6 - Disable vcol_supported_sql_funcs_myisam test on all arches - Related: #1096787 +- Related: #1096787 - Install systemd service file on RHEL-7+ Server requires any mysql package, so it should be fine with older client * Thu Sep 04 2014 Honza Horak - 1:10.0.13-5 - Fix paths in mysql_install_db script - Resolves: #1134328 +- Resolves: #1134328 - Use %%cmake macro * Tue Aug 19 2014 Honza Horak - 1:10.0.13-4 @@ -1876,7 +1889,7 @@ fi * Wed Mar 12 2014 Honza Horak - 1:5.5.36-2 - Server crashes on SQL select containing more group by and left join statements using innodb tables - Resolves: #1065676 +- Resolves: #1065676 - Fix paths in helper scripts - Move language files into mariadb directory @@ -1889,11 +1902,11 @@ fi * Tue Feb 11 2014 Honza Horak 1:5.5.35-4 - Fix typo in mysqld.service - Resolves: #1063981 +- Resolves: #1063981 * Wed Feb 5 2014 Honza Horak 1:5.5.35-3 - Do not touch the log file in post script, so it does not get wrong owner - Resolves: #1061045 +- Resolves: #1061045 * Thu Jan 30 2014 Honza Horak 1:5.5.35-1 - Rebase to 5.5.35 @@ -1901,23 +1914,23 @@ fi Also fixes: CVE-2014-0001, CVE-2014-0412, CVE-2014-0437, CVE-2013-5908, CVE-2014-0420, CVE-2014-0393, CVE-2013-5891, CVE-2014-0386, CVE-2014-0401, CVE-2014-0402 - Resolves: #1054043 - Resolves: #1059546 +- Resolves: #1054043 +- Resolves: #1059546 * Tue Jan 14 2014 Honza Horak - 1:5.5.34-9 - Adopt compatible system versioning - Related: #1045013 +- Related: #1045013 - Use compatibility mysqld.service instead of link - Related: #1014311 +- Related: #1014311 * Mon Jan 13 2014 Rex Dieter 1:5.5.34-8 - move mysql_config alternatives scriptlets to -devel too * Fri Jan 10 2014 Honza Horak 1:5.5.34-7 - Build with -O3 on ppc64 - Related: #1051069 +- Related: #1051069 - Move mysql_config to -devel sub-package and remove Require: mariadb - Related: #1050920 +- Related: #1050920 * Fri Jan 10 2014 Marcin Juszkiewicz 1:5.5.34-6 - Disable main.gis-precise test also for AArch64 @@ -1933,14 +1946,14 @@ fi * Mon Jan 6 2014 Honza Horak 1:5.5.34-3 - Don't test EDH-RSA-DES-CBC-SHA cipher, it seems to be removed from openssl which now makes mariadb/mysql FTBFS because openssl_1 test fails - Related: #1044565 +- Related: #1044565 - Use upstream's layout for symbols version in client library - Related: #1045013 +- Related: #1045013 - Check if socket file is not being used by another process at a time of starting the service - Related: #1045435 +- Related: #1045435 - Use %%ghost directive for the log file - Related: 1043501 +- Related: 1043501 * Wed Nov 27 2013 Honza Horak 1:5.5.34-2 - Fix mariadb-wait-ready script @@ -1950,13 +1963,13 @@ fi * Mon Nov 4 2013 Honza Horak 1:5.5.33a-4 - Fix spec file to be ready for backport by Oden Eriksson - Resolves: #1026404 +- Resolves: #1026404 * Mon Nov 4 2013 Honza Horak 1:5.5.33a-3 - Add pam-devel to build-requires in order to build - Related: #1019945 +- Related: #1019945 - Check if correct process is running in mysql-wait-ready script - Related: #1026313 +- Related: #1026313 * Mon Oct 14 2013 Honza Horak 1:5.5.33a-2 - Turn on test suite @@ -1970,10 +1983,10 @@ fi * Mon Sep 2 2013 Honza Horak - 1:5.5.32-12 - Re-organize my.cnf to include only generic settings - Resolves: #1003115 +- Resolves: #1003115 - Move pid file location to /var/run/mariadb - Make mysqld a symlink to mariadb unit file rather than the opposite way - Related: #999589 +- Related: #999589 * Thu Aug 29 2013 Honza Horak - 1:5.5.32-11 - Move log file into /var/log/mariadb/mariadb.log @@ -1985,7 +1998,7 @@ fi * Tue Aug 13 2013 Honza Horak - 1:5.5.32-9 - Multilib issues solved by alternatives - Resolves: #986959 +- Resolves: #986959 * Sat Aug 03 2013 Petr Pisar - 1:5.5.32-8 - Perl 5.18 rebuild @@ -2027,14 +2040,14 @@ fi * Mon Jul 1 2013 Honza Horak 1:5.5.31-6 - Test suite params enhanced to decrease server condition influence - Fix misleading error message when uninstalling built-in plugins - Related: #966873 +- Related: #966873 * Thu Jun 27 2013 Honza Horak 1:5.5.31-5 - Apply fixes found by Coverity static analysis tool * Wed Jun 19 2013 Honza Horak 1:5.5.31-4 - Do not use pretrans scriptlet, which doesn't work in anaconda - Resolves: #975348 +- Resolves: #975348 * Fri Jun 14 2013 Honza Horak 1:5.5.31-3 - Explicitly enable mysqld if it was enabled in the beginning @@ -2049,7 +2062,7 @@ fi - Preserve time-stamps in case of installed files - Use /var/tmp instead of /tmp, since the later is using tmpfs, which can cause problems - Resolves: #962087 +- Resolves: #962087 - Fix test suite requirements * Sun May 5 2013 Honza Horak 1:5.5.30-2 @@ -2078,7 +2091,7 @@ fi * Thu Feb 28 2013 Honza Horak 5.5.29-7 - Use configured prefix value instead of guessing basedir in mysql_config - Resolves: #916189 +- Resolves: #916189 - Export dynamic columns and non-blocking API functions documented by upstream @@ -2107,7 +2120,7 @@ fi - Rebase to 5.5.29 https://kb.askmonty.org/en/mariadb-5529-changelog/ - Fix inaccurate default for socket location in mysqld-wait-ready - Resolves: #890535 +- Resolves: #890535 * Thu Jan 31 2013 Honza Horak 5.5.28a-8 - Enable obsoleting mysql diff --git a/mysql.init.in b/mysql.init.in index 0a022af..879b001 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -7,7 +7,7 @@ # description: MySQL database server. # processname: mysqld # config: @sysconfdir@/my.cnf -# pidfile: /var/run/@DAEMON_NAME@/@DAEMON_NAME@.pid +# pidfile: /run/@DAEMON_NAME@/@DAEMON_NAME@.pid ### BEGIN INIT INFO # Provides: mysqld # Required-Start: $local_fs $remote_fs $network $named $syslog $time From 93cc726551bca87f911edab1c4d5d844a6f00ccd Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Fri, 7 Jul 2017 12:22:23 +0200 Subject: [PATCH 349/789] Rebuild due to bug in RPM (RHBZ #1468476) Signed-off-by: Igor Gnatenko --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index b850e2b..df9bf57 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -126,7 +126,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1410,6 +1410,9 @@ fi %endif %changelog +* Fri Jul 07 2017 Igor Gnatenko - 3:10.1.24-5 +- Rebuild due to bug in RPM (RHBZ #1468476) + * Mon Jun 19 2017 Michal Schorm - 3:10.1.24-4 - Use "/run" location instead of "/var/run" symlink - Related: #1455811 From e2f0086f304597f24eff3fd81744022f5d5cf1e5 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 11 Jul 2017 14:11:08 +0200 Subject: [PATCH 350/789] Disable plugins 'cracklib' and 'gssapi' by default Related: #1468028, #1464070 Looks like the testsuite removes its 'var' content correctly, no need to do that explicitly. --- mariadb.spec | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index df9bf57..a819098 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -122,11 +122,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.1 -%global bugfixver 24 +%global bugfixver 25 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 5%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -913,6 +913,10 @@ chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf # Remove AppArmor files rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor +# Disable plugins +sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/auth_gssapi.cnf +sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf + %if %{without clibrary} unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so @@ -1024,10 +1028,8 @@ export MTR_BUILD_THREAD=%{__isa_bits} %else --skip-test-list=unstable-tests %endif - # cmake build scripts will install the var cruft if left alone :-( - # TODO: test again - rm -r var ) + %endif %endif @@ -1410,6 +1412,13 @@ fi %endif %changelog +* Mon Jul 10 2017 Michal Schorm - 3:10.1.25-1 +- Rebase to 10.1.25 +- Disable plugins 'cracklib' and 'gssapi' by default +- Related: #1468028, #1464070 +- Looks like the testsuite removes its 'var' content correctly, + no need to do that explicitly. + * Fri Jul 07 2017 Igor Gnatenko - 3:10.1.24-5 - Rebuild due to bug in RPM (RHBZ #1468476) From 14e38f309643d6e104d2548e4d10a7d03fee0bb7 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 11 Jul 2017 14:16:44 +0200 Subject: [PATCH 351/789] Update of 'sources' to 10.1.25 --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index 5594650..462107c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.1.24.tar.gz) = 0b8d81b53f6866a81f33559ce57ebf956fec3ba25da0bd58c8bee3b2ecc00a6c370340000209d18463f84501d3ba35994b51ef99224616c37cd38d2fc87b73e9 +SHA512 (mariadb-10.1.25.tar.gz) = ae88e02a74f4f8c3b41686a0d46d4232210571072168f6645481d83ed5255ce1fec189827507106898e677d2d9749639d22b139f183ef24dab367b5d81002310 From 69417aa78ba9b5aa625e267ce305844212cab857 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 11 Jul 2017 22:20:21 +0200 Subject: [PATCH 352/789] Rebase to 10.2.6 SSL patch removed 'libmariadb.so.3' replaced 'limysqlclient.so.18.0.0' "make test" removed, it needs running server and same test are included in the testsuite --- mariadb.spec | 137 ++++++++++++++++++++++++++++----------------------- sources | 2 +- 2 files changed, 76 insertions(+), 63 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index a819098..5816d6d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,7 +3,7 @@ %global pkgnamepatch mariadb # Regression tests may take a long time (many cores recommended), skip them by -%{!?runselftest:%global runselftest 1} +%{!?runselftest:%global runselftest 0} # Set this to 1 to see which tests fail, but 0 on production ready build %global ignore_testsuite_result 0 @@ -121,8 +121,8 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} -%global compatver 10.1 -%global bugfixver 25 +%global compatver 10.2 +%global bugfixver 6 Name: mariadb Version: %{compatver}.%{bugfixver} @@ -174,8 +174,6 @@ Patch7: %{pkgnamepatch}-scripts.patch Patch8: %{pkgnamepatch}-install-db-sharedir.patch # Patch9: pre-configure to comply with guidelines Patch9: %{pkgnamepatch}-ownsetup.patch -# Patch13: patch of test of ssl cypher unsupported in Fedora -Patch13: %{pkgnamepatch}-ssl-cypher.patch # Patches specific for this mysql package # Patch34: @@ -187,7 +185,7 @@ Patch37: %{pkgnamepatch}-notestdb.patch # Patches for galera Patch40: %{pkgnamepatch}-galera.cnf.patch -BuildRequires: cmake gcc-c++ +BuildRequires: cmake gcc-c++ tree BuildRequires: libaio-devel BuildRequires: libedit-devel BuildRequires: ncurses-devel @@ -201,12 +199,17 @@ BuildRequires: selinux-policy-devel BuildRequires: sphinx libsphinxclient libsphinxclient-devel # Bison SQL parser BuildRequires: bison bison-devel -# Jemalloc + +# Jemalloc, used by TokuDB BuildRequires: jemalloc-devel + # Cracklib plugin BuildRequires: cracklib-dicts cracklib-devel + +# TODO: MariaBackup not yeat ready to be shipped # Mariabackup -BuildRequires: libarchive libarchive-devel +#BuildRequires: libarchive-devel + # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel # use either new enough version of pcre or provide bundles(pcre) @@ -233,16 +236,9 @@ BuildRequires: perl(Sys::Hostname) BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) BuildRequires: perl(Symbol) -# Temporary workaound to build with OpenSSL 1.0 on Fedora >=26 (wich requires OpenSSL 1.1) -# https://jira.mariadb.org/browse/MDEV-10332 -%if 0%{?fedora} >= 26 -BuildRequires: compat-openssl10-devel -Requires: compat-openssl10 -%else # for running some openssl tests rhbz#1189180 BuildRequires: openssl openssl-devel -Requires: openssl -%endif +Recommends: openssl Requires: bash coreutils grep @@ -407,10 +403,7 @@ Recommends: sphinx libsphinxclient Requires: bison # Cracklib plugin: Recommends: cracklib-dicts -# Mariabackup tool -Recommends: libarchive -# Jemalloc -Requires: jemalloc + %if %{with init_systemd} # We require this to be present for %%{_tmpfilesdir} Requires: systemd @@ -617,7 +610,6 @@ MariaDB is a community developed branch of MySQL. %patch7 -p1 %patch8 -p1 %patch9 -p1 -%patch13 -p1 %patch34 -p1 %patch37 -p1 %patch40 -p1 @@ -633,6 +625,7 @@ cat %{SOURCE50} | tee -a mysql-test/unstable-tests cat %{SOURCE51} | tee -a mysql-test/unstable-tests %endif +# TODO: divide ppc and s390 %ifarch ppc ppc64 ppc64p7 s390 s390x cat %{SOURCE51} | tee -a mysql-test/unstable-tests %endif @@ -732,12 +725,14 @@ export LDFLAGS -DWITH_ZLIB=system \ %{?with_pcre: -DWITH_PCRE=system}\ -DWITH_JEMALLOC=system \ + -DWITH_LIBARCHIVE=OFF \ + -DWITH_MARIABACKUP=OFF \ %{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\ %{!?with_mroonga: -DWITHOUT_MROONGA=ON}\ %{!?with_oqgraph: -DWITHOUT_OQGRAPH=ON}\ -DTMPDIR=/var/tmp \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug}\ -%{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} +%{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} make %{?_smp_mflags} VERBOSE=1 @@ -761,28 +756,15 @@ make -f /usr/share/selinux/devel/Makefile %{name}-server-galera.pp %install make DESTDIR=%{buildroot} install -# 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/' \ - %{buildroot}%{_bindir}/mysql_config >mysql_config.tmp -cp -p -f mysql_config.tmp %{buildroot}%{_bindir}/mysql_config -chmod 755 %{buildroot}%{_bindir}/mysql_config - # multilib header support for header in mysql/my_config.h mysql/private/config.h; do %multilib_fix_c_header --file %{_includedir}/$header done -# multilib support for shell scripts -# we only apply this to known Red Hat multilib arches, per bug #181335 -if %multilib_capable; then -mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} -install -p -m 0755 scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config -# Copy manual page for multilib mysql_config; https://jira.mariadb.org/browse/MDEV-11961 -ln -s mysql_config.1 %{buildroot}%{_mandir}/man1/mysql_config-%{__isa_bits}.1 -fi +# Multilib: remove mysql_config and link to mariadb_config instead +rm %{buildroot}%{_bindir}/mysql_config +ln -s mariadb_config %{buildroot}%{_bindir}/mysql_config +ln -s mysql_config.1.gz %{buildroot}%{_mandir}/man1/mariadb_config.1.gz # Upstream install this into arch-independent directory # TODO: report to upstream @@ -793,6 +775,7 @@ mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig # but that's pretty wacko --- see also %%{name}-file-contents.patch) install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ +rm -r %{buildroot}%{_datadir}/doc/%{_pkgdocdirname}/MariaDB-server-%{version}/ mkdir -p %{buildroot}%{logfiledir} chmod 0750 %{buildroot}%{logfiledir} @@ -846,13 +829,6 @@ install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql- install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp %endif -# 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 -# just the devel libmysqlclient_r.so link, so that rebuilding without any -# source change is enough to get rid of dependency on libmysqlclient_r. -rm %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so* -ln -s libmysqlclient.so %{buildroot}%{_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 %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir} @@ -863,6 +839,7 @@ rm %{buildroot}%{_bindir}/mysql_embedded rm %{buildroot}%{_libdir}/mysql/*.a rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure rm %{buildroot}%{_datadir}/%{pkg_name}/magic +#rm %{buildroot}%{_datadir}/%{pkg_name}/my-*.cnf rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server rm %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* @@ -874,7 +851,9 @@ mkdir -p %{buildroot}%{logrotateddir} mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name} chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name} +# TODO: check, what's in CONC/C mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d +# Save a name of the directory that contains libraries to this file echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf # copy additional docs into build tree so %%doc will find them @@ -901,7 +880,7 @@ rm %{buildroot}%{_libexecdir}/rcmysql rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql # rename the wsrep README so it corresponds with the other README names -mv Docs/README-wsrep Docs/README.wsrep +cp Docs/README-wsrep Docs/README.wsrep # remove *.jar file from mysql-test rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar @@ -917,11 +896,18 @@ rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/auth_gssapi.cnf sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf +# install the list of skipped tests to be available for user runs +install -p -m 0644 mysql-test/unstable-tests %{buildroot}%{_datadir}/mysql-test +ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list + + +tree + + %if %{without clibrary} -unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so -unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so -rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* rm -r %{buildroot}%{_sysconfdir}/ld.so.conf.d +unlink %{buildroot}%{_libdir}/mysql/libmariadb.so +rm %{buildroot}%{_libdir}/mysql/libmariadb*.so.* rm %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf %endif @@ -932,12 +918,20 @@ rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1 %endif %if %{without devel} -rm %{buildroot}%{_bindir}/mysql_config* +unlink %{buildroot}%{_bindir}/mysql_config +rm %{buildroot}%{_bindir}/mariadb_config rm -r %{buildroot}%{_includedir}/mysql rm %{buildroot}%{_datadir}/aclocal/mysql.m4 rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc -rm %{buildroot}%{_libdir}/mysql/libmysqlclient*.so rm %{buildroot}%{_mandir}/man1/mysql_config.1* +unlink %{buildroot}%{_mandir}/man1/mariadb_config.1* +%else +# Create symlinks to the 'libmariadb' library, for compatibility reasons +pushd %{buildroot}%{_libdir}/mysql/ +ln -s libmariadb.so libmysqlclient.so +ln -s libmariadb.so libmysqlclient.so.18 +ln -s libmariadb.so libmysqlclient_r.so +popd %endif %if %{without client} @@ -996,7 +990,6 @@ rm %{buildroot}%{_mandir}/man1/mysql_client_test.1* %check %if %{with test} %if %runselftest -make test VERBOSE=1 # hack to let 32- and 64-bit tests run concurrently on same build machine export MTR_PARALLEL=1 # builds might happen at the same host, avoid collision @@ -1017,7 +1010,8 @@ export MTR_BUILD_THREAD=%{__isa_bits} # --skip-rpl ( - set -e + set -ex + cd mysql-test perl ./mysql-test-run.pl --force --retry=0 --ssl \ --suite-timeout=720 --testcase-timeout=30 \ @@ -1133,7 +1127,7 @@ fi %if %{with clibrary} %files libs -%{_libdir}/mysql/libmysqlclient.so.* +%{_libdir}/mysql/libmariadb.so.* %{_sysconfdir}/ld.so.conf.d/* %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf %endif @@ -1150,7 +1144,6 @@ fi %if %{with common} %files common -%doc README README.mysql-license README.mysql-docs %doc %{_datadir}/doc/%{_pkgdocdirname} %dir %{_libdir}/mysql @@ -1212,9 +1205,9 @@ fi %{_bindir}/aria_ftdump %{_bindir}/aria_pack %{_bindir}/aria_read_log -%{_bindir}/mariabackup +#%{_bindir}/mariabackup %{_bindir}/mariadb-service-convert -%{_bindir}/mbstream +#%{_bindir}/mbstream %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog @@ -1222,7 +1215,7 @@ fi %{_bindir}/mysql_install_db %{_bindir}/mysql_secure_installation %{_bindir}/mysql_tzinfo_to_sql -%{_bindir}/mysqlbug +#%{_bindir}/mysqlbug %{_bindir}/mysqld_safe %{_bindir}/innochecksum %{_bindir}/replace @@ -1237,11 +1230,21 @@ fi %{?with_tokudb:%{_bindir}/tokuftdump} %{?with_tokudb:%{_bindir}/tokuft_logprint} +%ifarch x86_64 ppc64le aarch64 armv7hl +%{_bindir}/mysql_ldb +%{_bindir}/sst_dump +%endif + %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf %{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf} # Cracklib plugin %config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf +# RocksDB engine +%ifarch x86_64 ppc64le aarch64 armv7hl +%config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf +%endif + %{_libexecdir}/mysqld @@ -1269,7 +1272,7 @@ fi %{_mandir}/man1/myisamlog.1* %{_mandir}/man1/myisampack.1* %{_mandir}/man1/myisam_ftdump.1* -%{_mandir}/man1/mysqlbug.1* +#%{_mandir}/man1/mysqlbug.1* %{_mandir}/man1/mysql.server.1* %{_mandir}/man1/mysql_install_db.1* %{_mandir}/man1/mysql_secure_installation.1* @@ -1347,13 +1350,13 @@ fi %{_bindir}/mysql_convert_table_format %{_bindir}/mysql_fix_extensions %{_bindir}/mysql_setpermission -%{_bindir}/mysql_zap +#%{_bindir}/mysql_zap %{_bindir}/mysqldumpslow %{_bindir}/mysqld_multi %{_bindir}/mysqlhotcopy %{_mandir}/man1/mysql_convert_table_format.1* %{_mandir}/man1/mysql_fix_extensions.1* -%{_mandir}/man1/mysql_zap.1* +#%{_mandir}/man1/mysql_zap.1* %{_mandir}/man1/mysqldumpslow.1* %{_mandir}/man1/mysqld_multi.1* %{_mandir}/man1/mysqlhotcopy.1* @@ -1371,14 +1374,18 @@ fi %if %{with devel} %files devel %{_bindir}/mysql_config* +%{_bindir}/mariadb_config* %{_includedir}/mysql %{_datadir}/aclocal/mysql.m4 %{_libdir}/pkgconfig/mariadb.pc %if %{with clibrary} +%{_libdir}/mysql/libmariadb.so %{_libdir}/mysql/libmysqlclient.so +%{_libdir}/mysql/libmysqlclient.so.18 %{_libdir}/mysql/libmysqlclient_r.so %endif %{_mandir}/man1/mysql_config* +%{_mandir}/man1/mariadb_config* %endif %if %{with embedded} @@ -1412,6 +1419,12 @@ fi %endif %changelog +* Tue Jul 11 2017 Michal Schorm - 3:10.2.6-1 +- Rebase to 10.2.6 +- SSL patch removed +- 'libmariadb.so.3' replaced 'limysqlclient.so.18.0.0', symlinks provided +- "make test" removed, it needs running server and same test are included in the testsuite + * Mon Jul 10 2017 Michal Schorm - 3:10.1.25-1 - Rebase to 10.1.25 - Disable plugins 'cracklib' and 'gssapi' by default diff --git a/sources b/sources index 462107c..1f0d526 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.1.25.tar.gz) = ae88e02a74f4f8c3b41686a0d46d4232210571072168f6645481d83ed5255ce1fec189827507106898e677d2d9749639d22b139f183ef24dab367b5d81002310 +SHA512 (mariadb-10.2.6.tar.gz) = 142628085f42ef15ceef6aca5e47ba56cc38cbfc0ac4f35f6b37512c14a60430ef4805e54fd51c47e101b7692781e174426bdb49cae6807c4c18cc3d876f8732 From 38ba8acc0a86ee02dbc7c55ea58d03ee8b23f9e6 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 11 Jul 2017 22:59:11 +0200 Subject: [PATCH 353/789] Remove unneeded requires. --- mariadb.spec | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 5816d6d..bb5bd03 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -185,7 +185,7 @@ Patch37: %{pkgnamepatch}-notestdb.patch # Patches for galera Patch40: %{pkgnamepatch}-galera.cnf.patch -BuildRequires: cmake gcc-c++ tree +BuildRequires: cmake gcc-c++ BuildRequires: libaio-devel BuildRequires: libedit-devel BuildRequires: ncurses-devel @@ -900,10 +900,6 @@ sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf. install -p -m 0644 mysql-test/unstable-tests %{buildroot}%{_datadir}/mysql-test ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list - -tree - - %if %{without clibrary} rm -r %{buildroot}%{_sysconfdir}/ld.so.conf.d unlink %{buildroot}%{_libdir}/mysql/libmariadb.so From 3775a7afa5a300c660db169162ef14bbb7fab311 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 12 Jul 2017 01:01:39 +0200 Subject: [PATCH 354/789] Disable Dtrace --- mariadb.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index bb5bd03..8212a50 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,7 +3,7 @@ %global pkgnamepatch mariadb # Regression tests may take a long time (many cores recommended), skip them by -%{!?runselftest:%global runselftest 0} +%{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail, but 0 on production ready build %global ignore_testsuite_result 0 @@ -126,7 +126,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -719,7 +719,7 @@ export LDFLAGS -DMYSQL_DATADIR="%{dbdatadir}" \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ -DENABLED_LOCAL_INFILE=ON \ - -DENABLE_DTRACE=ON \ + -DENABLE_DTRACE=OFF \ -DWITH_EMBEDDED_SERVER=ON \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ @@ -1415,6 +1415,9 @@ fi %endif %changelog +* Tue Jul 11 2017 Michal Schorm - 3:10.2.6-2 +- Disable Dtrace + * Tue Jul 11 2017 Michal Schorm - 3:10.2.6-1 - Rebase to 10.2.6 - SSL patch removed From 65d1b5a31902182b41197513b246cbda188627c9 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 12 Jul 2017 09:10:46 +0200 Subject: [PATCH 355/789] Disable Sphinx - circural dependency --- mariadb.spec | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 8212a50..7e1fc36 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,7 +3,7 @@ %global pkgnamepatch mariadb # Regression tests may take a long time (many cores recommended), skip them by -%{!?runselftest:%global runselftest 1} +%{!?runselftest:%global runselftest 0} # Set this to 1 to see which tests fail, but 0 on production ready build %global ignore_testsuite_result 0 @@ -196,7 +196,7 @@ BuildRequires: krb5-devel BuildRequires: selinux-policy-devel %{?with_init_systemd:BuildRequires: systemd systemd-devel} # Sphinx storage engine -BuildRequires: sphinx libsphinxclient libsphinxclient-devel +#BuildRequires: sphinx libsphinxclient libsphinxclient-devel # Bison SQL parser BuildRequires: bison bison-devel @@ -398,7 +398,7 @@ Requires: %{_sysconfdir}/my.cnf.d Requires: coreutils Requires(pre): /usr/sbin/useradd # Sphinx storage engine -Recommends: sphinx libsphinxclient +#Recommends: sphinx libsphinxclient # Bison SQL parser Requires: bison # Cracklib plugin: @@ -1417,6 +1417,7 @@ fi %changelog * Tue Jul 11 2017 Michal Schorm - 3:10.2.6-2 - Disable Dtrace +- Disable Sphinx, circural dependency * Tue Jul 11 2017 Michal Schorm - 3:10.2.6-1 - Rebase to 10.2.6 From 8e5086329f12772473065e043a39aa67bc625df9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Wed, 12 Jul 2017 14:53:52 +0200 Subject: [PATCH 356/789] perl dependency renamed to perl-interpreter --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 7e1fc36..29d003f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -216,7 +216,7 @@ BuildRequires: pam-devel %{?with_pcre:BuildRequires: pcre-devel >= 8.35} %{!?with_pcre:Provides: bundled(pcre) = %{pcre_version}} # Few utilities needs Perl -BuildRequires: perl +BuildRequires: perl-interpreter %if 0%{?fedora} >= 22 || 0%{?rhel} > 7 BuildRequires: perl-generators %endif From 80328f92e19d90aaedb438e2dbc8bfa3082cd70b Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 12 Jul 2017 15:17:26 +0200 Subject: [PATCH 357/789] Use the new provide perl-interpreter only in Fedora --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 29d003f..bdd9483 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -216,8 +216,8 @@ BuildRequires: pam-devel %{?with_pcre:BuildRequires: pcre-devel >= 8.35} %{!?with_pcre:Provides: bundled(pcre) = %{pcre_version}} # Few utilities needs Perl -BuildRequires: perl-interpreter %if 0%{?fedora} >= 22 || 0%{?rhel} > 7 +BuildRequires: perl-interpreter BuildRequires: perl-generators %endif # Tests requires time and ps and some perl modules From 0242237c5a9f370aaf2d49002d0c4f070fb71e87 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 12 Jul 2017 16:14:27 +0200 Subject: [PATCH 358/789] Update of unstable tests list for 10.2.6 version --- rh-skipped-tests-base.list | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index edb74a6..a962adf 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -6,37 +6,23 @@ main.ssl_cert_verify : #1399847 # main.userstat : #1399847 -main.multi_update : #1399847 -main.set_statement_notembedded_binlog : #1399847 perfschema.nesting : #1399847 perfschema.socket_summary_by_event_name_func : #1399847 perfschema.socket_summary_by_instance_func : #1399847 -# test that started to fail in 10.1.21 only on i686 only in Fedora Rawhide (F26). 14/02/17 -main.mysql_client_test_nonblock : #1399847 - # needs this tests disabled for mode build plugins.feedback_plugin_load : # -# ---- +# ------------------------------ # Failing from rebase to 10.1.24 # issues trackers will be added -encryption.create_or_replace : - -perfschema.nesting : -perfschema.socket_summary_by_event_name_func : -perfschema.socket_summary_by_instance_func : perfschema.cnf_option : -innodb.innodb_defrag_binlog : - rpl.rpl_row_img_blobs : rpl.rpl_row_img_eng_min : rpl.rpl_row_img_eng_noblob : -sys_vars.log_error_func : -sys_vars.log_error_func2 : sys_vars.slave_parallel_threads_basic : spider/bg.spider3_fixes : @@ -57,7 +43,6 @@ spider.spider3_fixes : spider.spider3_fixes_part : spider.spider_fixes : spider.spider_fixes_part : -spider.basic_sql : spider.basic_sql_part : spider.direct_aggregate : spider.direct_aggregate_part : @@ -68,5 +53,3 @@ spider.ha : spider.ha_part : spider.vp_fixes : -# Tests failing on PPC -parts.partition_alter4_innodb : From c9111f4735f5efa9444e300aedb3dbdee6910858 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Wed, 12 Jul 2017 12:10:28 -0700 Subject: [PATCH 359/789] Move libmysqlclient.so.18 compat link to -libs subpackage Reviewed by mschorm. --- mariadb.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index bdd9483..8b7142d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -126,7 +126,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1124,6 +1124,7 @@ fi %if %{with clibrary} %files libs %{_libdir}/mysql/libmariadb.so.* +%{_libdir}/mysql/libmysqlclient.so.18 %{_sysconfdir}/ld.so.conf.d/* %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf %endif @@ -1377,7 +1378,6 @@ fi %if %{with clibrary} %{_libdir}/mysql/libmariadb.so %{_libdir}/mysql/libmysqlclient.so -%{_libdir}/mysql/libmysqlclient.so.18 %{_libdir}/mysql/libmysqlclient_r.so %endif %{_mandir}/man1/mysql_config* @@ -1415,6 +1415,9 @@ fi %endif %changelog +* Wed Jul 12 2017 Adam Williamson - 3:10.2.6-3 +- Move libmysqlclient.so.18 compat link to -libs subpackage + * Tue Jul 11 2017 Michal Schorm - 3:10.2.6-2 - Disable Dtrace - Disable Sphinx, circural dependency From dcfdba190cd5b266629fea9df8539e64ece63d1c Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Wed, 12 Jul 2017 15:40:34 -0700 Subject: [PATCH 360/789] Add manual Provides: for the libmysqlcient compat symlink --- mariadb.spec | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 8b7142d..74b70ff 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -126,7 +126,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -293,7 +293,19 @@ Requires: %{name}-common%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-libs = %{sameevr} Provides: mysql-libs%{?_isa} = %{sameevr} -%endif +# these are the provides for the libmysqlclient.so.18 compatibility +# symlink; the library auto-provides system does not handle this kind +# of symlink. They should be removed when the symlink is removed +%if 0%{__isa_bits} == 64 +Provides: libmysqlclient.so.18()(64bit) +Provides: libmysqlclient.so.18(libmysqlclient_16)(64bit) +Provides: libmysqlclient.so.18(libmysqlclient_18)(64bit) +%else +Provides: libmysqlclient.so.18 +Provides: libmysqlclient.so.18(libmysqlclient_16) +Provides: libmysqlclient.so.18(libmysqlclient_18) +%endif # isa_bits +%endif # mysql_names %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-libs < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-libs < %{obsoleted_mysql_evr}} @@ -923,6 +935,8 @@ rm %{buildroot}%{_mandir}/man1/mysql_config.1* unlink %{buildroot}%{_mandir}/man1/mariadb_config.1* %else # Create symlinks to the 'libmariadb' library, for compatibility reasons +# Note: the -libs subpackage has Provides: for this compat symlink; when +# it is removed, they should also be removed pushd %{buildroot}%{_libdir}/mysql/ ln -s libmariadb.so libmysqlclient.so ln -s libmariadb.so libmysqlclient.so.18 @@ -1415,6 +1429,9 @@ fi %endif %changelog +* Wed Jul 12 2017 Adam Williamson - 3:10.2.6-4 +- Add manual Provides: for the libmysqlcient compat symlink + * Wed Jul 12 2017 Adam Williamson - 3:10.2.6-3 - Move libmysqlclient.so.18 compat link to -libs subpackage From 61b7a7d35422d63c2fe1c4ebde8b4f4c45ac5947 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Wed, 12 Jul 2017 15:46:35 -0700 Subject: [PATCH 361/789] Fix SRPM build...I guess? --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 74b70ff..0667142 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -296,7 +296,7 @@ Provides: mysql-libs%{?_isa} = %{sameevr} # these are the provides for the libmysqlclient.so.18 compatibility # symlink; the library auto-provides system does not handle this kind # of symlink. They should be removed when the symlink is removed -%if 0%{__isa_bits} == 64 +%if 0%{?__isa_bits} == 64 Provides: libmysqlclient.so.18()(64bit) Provides: libmysqlclient.so.18(libmysqlclient_16)(64bit) Provides: libmysqlclient.so.18(libmysqlclient_18)(64bit) From 70e252bc2bcde8ee5608a4338588840194de4ab7 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 13 Jul 2017 14:12:13 +0200 Subject: [PATCH 362/789] Rebase to 10.2.7 Get back mysql_config, its "--libmysqld-libs" is still needed Symlink libmariadb.so.18 should point to versioned libmariadb library, since it was moved to -libs subpackage MariaBackup Beta included --- mariadb.spec | 44 ++++++++++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 0667142..f37407f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -122,11 +122,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.2 -%global bugfixver 6 +%global bugfixver 7 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 4%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -181,6 +181,8 @@ Patch9: %{pkgnamepatch}-ownsetup.patch Patch34: %{pkgnamepatch}-covscan-stroverflow.patch # Patch37: don't create a test DB: https://jira.mariadb.org/browse/MDEV-12645 Patch37: %{pkgnamepatch}-notestdb.patch +# Patch only for 10.1.27, resolving FTBFS +Patch38: %{pkgnamepatch}-10.2.7.patch # Patches for galera Patch40: %{pkgnamepatch}-galera.cnf.patch @@ -206,9 +208,8 @@ BuildRequires: jemalloc-devel # Cracklib plugin BuildRequires: cracklib-dicts cracklib-devel -# TODO: MariaBackup not yeat ready to be shipped # Mariabackup -#BuildRequires: libarchive-devel +BuildRequires: libarchive-devel # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel @@ -624,6 +625,7 @@ MariaDB is a community developed branch of MySQL. %patch9 -p1 %patch34 -p1 %patch37 -p1 +%patch38 -p1 %patch40 -p1 # workaround for upstream bug #56342 @@ -737,8 +739,8 @@ export LDFLAGS -DWITH_ZLIB=system \ %{?with_pcre: -DWITH_PCRE=system}\ -DWITH_JEMALLOC=system \ - -DWITH_LIBARCHIVE=OFF \ - -DWITH_MARIABACKUP=OFF \ + -DWITH_LIBARCHIVE=ON \ + -DWITH_MARIABACKUP=ON \ %{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\ %{!?with_mroonga: -DWITHOUT_MROONGA=ON}\ %{!?with_oqgraph: -DWITHOUT_OQGRAPH=ON}\ @@ -773,11 +775,17 @@ for header in mysql/my_config.h mysql/private/config.h; do %multilib_fix_c_header --file %{_includedir}/$header done -# Multilib: remove mysql_config and link to mariadb_config instead -rm %{buildroot}%{_bindir}/mysql_config -ln -s mariadb_config %{buildroot}%{_bindir}/mysql_config ln -s mysql_config.1.gz %{buildroot}%{_mandir}/man1/mariadb_config.1.gz +# multilib support for shell scripts +# we only apply this to known Red Hat multilib arches, per bug #181335 +if %multilib_capable; then +mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} +install -p -m 0755 scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config +# Copy manual page for multilib mysql_config; https://jira.mariadb.org/browse/MDEV-11961 +ln -s mysql_config.1 %{buildroot}%{_mandir}/man1/mysql_config-%{__isa_bits}.1 +fi + # Upstream install this into arch-independent directory # TODO: report to upstream mkdir -p %{buildroot}/%{_libdir}/pkgconfig @@ -938,9 +946,9 @@ unlink %{buildroot}%{_mandir}/man1/mariadb_config.1* # Note: the -libs subpackage has Provides: for this compat symlink; when # it is removed, they should also be removed pushd %{buildroot}%{_libdir}/mysql/ -ln -s libmariadb.so libmysqlclient.so -ln -s libmariadb.so libmysqlclient.so.18 -ln -s libmariadb.so libmysqlclient_r.so +#ln -s libmariadb.so libmysqlclient.so +ln -s libmariadb.so.3 libmysqlclient.so.18 +#ln -s libmariadb.so libmysqlclient_r.so popd %endif @@ -1216,9 +1224,9 @@ fi %{_bindir}/aria_ftdump %{_bindir}/aria_pack %{_bindir}/aria_read_log -#%{_bindir}/mariabackup +%{_bindir}/mariabackup %{_bindir}/mariadb-service-convert -#%{_bindir}/mbstream +%{_bindir}/mbstream %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog @@ -1226,7 +1234,6 @@ fi %{_bindir}/mysql_install_db %{_bindir}/mysql_secure_installation %{_bindir}/mysql_tzinfo_to_sql -#%{_bindir}/mysqlbug %{_bindir}/mysqld_safe %{_bindir}/innochecksum %{_bindir}/replace @@ -1283,7 +1290,6 @@ fi %{_mandir}/man1/myisamlog.1* %{_mandir}/man1/myisampack.1* %{_mandir}/man1/myisam_ftdump.1* -#%{_mandir}/man1/mysqlbug.1* %{_mandir}/man1/mysql.server.1* %{_mandir}/man1/mysql_install_db.1* %{_mandir}/man1/mysql_secure_installation.1* @@ -1361,13 +1367,11 @@ fi %{_bindir}/mysql_convert_table_format %{_bindir}/mysql_fix_extensions %{_bindir}/mysql_setpermission -#%{_bindir}/mysql_zap %{_bindir}/mysqldumpslow %{_bindir}/mysqld_multi %{_bindir}/mysqlhotcopy %{_mandir}/man1/mysql_convert_table_format.1* %{_mandir}/man1/mysql_fix_extensions.1* -#%{_mandir}/man1/mysql_zap.1* %{_mandir}/man1/mysqldumpslow.1* %{_mandir}/man1/mysqld_multi.1* %{_mandir}/man1/mysqlhotcopy.1* @@ -1429,6 +1433,10 @@ fi %endif %changelog +* Thu Jul 13 2017 Michal Schorm - 3:10.2.7-1 +- Rebase to 10.2.7 +- Get back mysql_config, its "--libmysqld-libs" is still needed + * Wed Jul 12 2017 Adam Williamson - 3:10.2.6-4 - Add manual Provides: for the libmysqlcient compat symlink From 4b238a58a01ca297f52ddfb592ba43ab3c20e8fe Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 13 Jul 2017 14:19:51 +0200 Subject: [PATCH 363/789] Upload sources for 10.2.7 Patch for 10.2.7 added --- mariadb-10.2.7.patch | 12 ++++++++++++ sources | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 mariadb-10.2.7.patch diff --git a/mariadb-10.2.7.patch b/mariadb-10.2.7.patch new file mode 100644 index 0000000..ea251b0 --- /dev/null +++ b/mariadb-10.2.7.patch @@ -0,0 +1,12 @@ +--- mariadb-10.2.7/mysys_ssl/openssl.c 2017-07-10 12:53:28.000000000 +0200 ++++ mariadb-10.2.7/mysys_ssl/openssl.c_patched 2017-07-13 11:22:30.449704470 +0200 +@@ -34,7 +34,8 @@ int check_openssl_compatibility() + + static uint testing, alloc_size, alloc_count; + +-static void *coc_malloc(size_t size, const char *, int) ++static void *coc_malloc(size_t size, const char *f __attribute__((unused)), ++ int l __attribute__((unused))) + { + if (unlikely(testing)) + { diff --git a/sources b/sources index 1f0d526..0b3446c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.2.6.tar.gz) = 142628085f42ef15ceef6aca5e47ba56cc38cbfc0ac4f35f6b37512c14a60430ef4805e54fd51c47e101b7692781e174426bdb49cae6807c4c18cc3d876f8732 +SHA512 (mariadb-10.2.7.tar.gz) = fa595acc0f5c9c62077db000f1721af79628994c08e82b2eb95d265e3c556e80942c487fc1b91299c382becd71f21a0a117ca93d7428752f436ed83683a4f4cd From 04a85451ac915af3a595c93e3b941a08dce6c9c2 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 12 Jul 2017 15:46:05 +0200 Subject: [PATCH 364/789] Remove mysql-wait-* scripts. They aren't needed when using systemd "Type=notify" --- mariadb-scripts.patch | 2 -- mariadb.spec | 15 ++++++--------- mysql.init.in | 18 ++++-------------- mysql.service.in | 1 - mysql@.service.in | 1 - 5 files changed, 10 insertions(+), 27 deletions(-) diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index 2f935b3..27ac2d3 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -11,8 +11,6 @@ + mysql.service + mysql@.service + mysql-prepare-db-dir -+ mysql-wait-ready -+ mysql-wait-stop + mysql-check-socket + mysql-check-upgrade + mysql-scripts-common diff --git a/mariadb.spec b/mariadb.spec index f37407f..21f5b16 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -126,7 +126,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -144,11 +144,9 @@ Source7: README.mysql-license Source10: mysql.tmpfiles.d.in Source11: mysql.service.in Source12: mysql-prepare-db-dir.sh -Source13: mysql-wait-ready.sh Source14: mysql-check-socket.sh Source15: mysql-scripts-common.sh Source16: mysql-check-upgrade.sh -Source17: mysql-wait-stop.sh Source18: mysql@.service.in Source19: mysql.init.in Source50: rh-skipped-tests-base.list @@ -644,8 +642,8 @@ cat %{SOURCE51} | tee -a mysql-test/unstable-tests cat %{SOURCE51} | tee -a mysql-test/unstable-tests %endif -cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ - %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} %{SOURCE19} \ +cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ + %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE18} %{SOURCE19} \ %{SOURCE70} scripts %if %{with galera} @@ -838,8 +836,6 @@ install -D -p -m 755 scripts/mysql.init %{buildroot}%{daemondir}/%{daemon_name} # helper scripts for service starting install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir -install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready -install -p -m 755 scripts/mysql-wait-stop %{buildroot}%{_libexecdir}/mysql-wait-stop install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common @@ -1337,8 +1333,6 @@ fi %{daemondir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir -%{_libexecdir}/mysql-wait-ready -%{_libexecdir}/mysql-wait-stop %{_libexecdir}/mysql-check-socket %{_libexecdir}/mysql-check-upgrade %{_libexecdir}/mysql-scripts-common @@ -1433,6 +1427,9 @@ fi %endif %changelog +* Thu Jul 13 2017 Michal Schorm - 3:10.2.7-2 +- Remove mysql-wait-* scripts. They aren't needed when using systemd "Type=notify" + * Thu Jul 13 2017 Michal Schorm - 3:10.2.7-1 - Rebase to 10.2.7 - Get back mysql_config, its "--libmysqld-libs" is still needed diff --git a/mysql.init.in b/mysql.init.in index 879b001..146fcfa 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -64,12 +64,10 @@ start(){ if [ $MYSQLDRUNNING = 1 ] && [ $? = 0 ]; then # already running, do nothing action $"Starting $prog: " /bin/true - ret=0 elif [ $MYSQLDRUNNING = 1 ] && echo "$RESPONSE" | grep -q "Access denied for user" then # already running, do nothing action $"Starting $prog: " /bin/true - ret=0 else @libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP || return 4 @libexecdir@/mysql-check-socket || return 1 @@ -86,19 +84,11 @@ start(){ --basedir=@prefix@ --user=$MYUSER >/dev/null 2>&1 & safe_pid=$! - # Wait until the daemon is up - @libexecdir@/mysql-wait-ready "$safe_pid" - ret=$? - - if [ $ret -eq 0 ]; then - action $"Starting $prog: " /bin/true - chmod o+r $pidfile >/dev/null 2>&1 - touch $lockfile - else - action $"Starting $prog: " /bin/false - fi + action $"Starting $prog: " /bin/true + chmod o+r $pidfile >/dev/null 2>&1 + touch $lockfile fi - return $ret + return 0 } stop(){ diff --git a/mysql.service.in b/mysql.service.in index 20bd97d..8292553 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -41,7 +41,6 @@ ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n # per bug #547485 ExecStart=@libexecdir@/mysqld --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER ExecStartPost=@libexecdir@/mysql-check-upgrade -ExecStopPost=@libexecdir@/mysql-wait-stop # Setting this to true can break replication and the Type=notify settings # See also bind-address mysqld option. diff --git a/mysql@.service.in b/mysql@.service.in index 9338c22..a6182aa 100644 --- a/mysql@.service.in +++ b/mysql@.service.in @@ -47,7 +47,6 @@ ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n # per bug #547485 ExecStart=@libexecdir@/mysqld --defaults-group-suffix=.%I --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER ExecStartPost=@libexecdir@/mysql-check-upgrade -ExecStopPost=@libexecdir@/mysql-wait-stop # Setting this to true can break replication and the Type=notify settings # See also bind-address mysqld option. From e094bad5262df47eec4f8d6349d1a20c84a92a87 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 13 Jul 2017 16:38:43 +0200 Subject: [PATCH 365/789] physical remove for previsou commit --- mysql-wait-ready.sh | 45 --------------------------------------------- mysql-wait-stop.sh | 36 ------------------------------------ 2 files changed, 81 deletions(-) delete mode 100644 mysql-wait-ready.sh delete mode 100644 mysql-wait-stop.sh diff --git a/mysql-wait-ready.sh b/mysql-wait-ready.sh deleted file mode 100644 index 2ed5fe1..0000000 --- a/mysql-wait-ready.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh - -source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" - -# This script waits for mysqld to be ready to accept connections -# (which can be many seconds or even minutes after launch, if there's -# a lot of crash-recovery work to do). -# Running this as ExecStartPost is useful so that services declared as -# "After mysqld" won't be started until the database is really ready. - -if [ $# -ne 1 ] ; then - echo "You need to pass daemon pid as an argument for this script." - exit 20 -fi - -# Service file passes us the daemon's PID (actually, mysqld_safe's PID) -daemon_pid="$1" - -# Wait for the server to come up or for the mysqld process to disappear -ret=0 -while /bin/true; do - # Check process still exists - if ! [ -d "/proc/${daemon_pid}" ] ; then - ret=1 - break - fi - RESPONSE=`@bindir@/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` - mret=$? - if [ $mret -eq 0 ] ; then - break - fi - # exit codes 1, 11 (EXIT_CANNOT_CONNECT_TO_SERVICE) are expected, - # anything else suggests a configuration error - if [ $mret -ne 1 -a $mret -ne 11 ]; then - echo "Cannot check for @NICE_PROJECT_NAME@ Daemon startup because of mysqladmin failure." >&2 - ret=$mret - break - fi - # "Access denied" also means the server is alive - echo "$RESPONSE" | grep -q "Access denied for user" && break - - sleep 1 -done - -exit $ret diff --git a/mysql-wait-stop.sh b/mysql-wait-stop.sh deleted file mode 100644 index 62bde30..0000000 --- a/mysql-wait-stop.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh - -source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" - -# This script waits for mysqld to be properly stopped -# (which can be many seconds in some large load). -# Running this as ExecStopPost is useful so that starting which is done -# as part of restart doesn't see the former process still running. - -# Wait for the server to properly end the main server -ret=0 -TIMEOUT=60 -SECONDS=0 - -if ! [ -f "$pidfile" ]; then - exit 0 -fi - -MYSQLPID=`cat "$pidfile" 2>/dev/null` -if [ -z "$MYSQLPID" ] ; then - exit 2 -fi - -while /bin/true; do - # Check process still exists - if ! [ -d "/proc/${MYSQLPID}" ] ; then - break - fi - if [ $SECONDS -gt $TIMEOUT ] ; then - ret=3 - break - fi - sleep 1 -done - -exit $ret From 236df84a14bcb87df6c28738da080fde3fb9a17e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 13 Jul 2017 16:48:22 +0200 Subject: [PATCH 366/789] fix of a patch --- mariadb-scripts.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index 27ac2d3..c962e34 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -1,6 +1,6 @@ --- mariadb-10.1.11.orig/scripts/CMakeLists.txt 2016-01-28 13:12:51.000000000 +0100 +++ mariadb-10.1.11/scripts/CMakeLists.txt 2016-02-03 12:46:26.306109293 +0100 -@@ -320,6 +320,35 @@ ELSE() +@@ -320,6 +320,33 @@ ELSE() COMPONENT ${${file}_COMPONENT} ) ENDFOREACH() From 87012c48605b3dc80e167d82ae47c96810b62205 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Tue, 18 Jul 2017 11:02:43 +0100 Subject: [PATCH 367/789] Rebuilt for Boost 1.64 --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 21f5b16..cda478b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -126,7 +126,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1427,6 +1427,9 @@ fi %endif %changelog +* Tue Jul 18 2017 Jonathan Wakely - 3:10.2.7-3 +- Rebuilt for Boost 1.64 + * Thu Jul 13 2017 Michal Schorm - 3:10.2.7-2 - Remove mysql-wait-* scripts. They aren't needed when using systemd "Type=notify" From bb731eb481dde4ee42b3c0b1762d893534da0eae Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Wed, 19 Jul 2017 16:50:44 +0100 Subject: [PATCH 368/789] Rebuilt for s390x binutils bug --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index cda478b..3732699 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -126,7 +126,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1427,6 +1427,9 @@ fi %endif %changelog +* Wed Jul 19 2017 Jonathan Wakely - 3:10.2.7-4 +- Rebuilt for s390x binutils bug + * Tue Jul 18 2017 Jonathan Wakely - 3:10.2.7-3 - Rebuilt for Boost 1.64 From b97399acb93dd3560d72509fe3538a47d1a6b47b Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Fri, 21 Jul 2017 14:56:38 -0700 Subject: [PATCH 369/789] Install correct headers (server, not client) - MDEV-13370 --- mariadb.spec | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 3732699..0068f1d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -126,7 +126,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -766,7 +766,13 @@ make -f /usr/share/selinux/devel/Makefile %{name}-server-galera.pp %endif %install -make DESTDIR=%{buildroot} install +# CMAKE_INSTALL_ALWAYS is a bit of a hacky workaround for +# https://jira.mariadb.org/browse/MDEV-13370 ; it assumes that +# include/ gets installed *after* libmariadb/include/ , if that +# ever gets reversed, it will do exactly the wrong thing. Make sure +# the mysql.h that ultimately gets installed is the one from include/ +# not the one from libmariadb/include/ . +make DESTDIR=%{buildroot} CMAKE_INSTALL_ALWAYS=1 install # multilib header support for header in mysql/my_config.h mysql/private/config.h; do @@ -1427,6 +1433,9 @@ fi %endif %changelog +* Fri Jul 21 2017 Adam Williamson - 3:10.2.7-5 +- Install correct headers (server, not client) - MDEV-13370 + * Wed Jul 19 2017 Jonathan Wakely - 3:10.2.7-4 - Rebuilt for s390x binutils bug From 6bbbe1d09892b6a6fc05f67218d74eac1a90151f Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Tue, 25 Jul 2017 09:10:46 -0700 Subject: [PATCH 370/789] Revert previous change, back to libmariadb headers (RHBZ #1474764) --- mariadb.spec | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 0068f1d..e10e8e0 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -126,7 +126,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 5%{?with_debug:.debug}%{?dist} +Release: 6%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -766,13 +766,7 @@ make -f /usr/share/selinux/devel/Makefile %{name}-server-galera.pp %endif %install -# CMAKE_INSTALL_ALWAYS is a bit of a hacky workaround for -# https://jira.mariadb.org/browse/MDEV-13370 ; it assumes that -# include/ gets installed *after* libmariadb/include/ , if that -# ever gets reversed, it will do exactly the wrong thing. Make sure -# the mysql.h that ultimately gets installed is the one from include/ -# not the one from libmariadb/include/ . -make DESTDIR=%{buildroot} CMAKE_INSTALL_ALWAYS=1 install +make DESTDIR=%{buildroot} install # multilib header support for header in mysql/my_config.h mysql/private/config.h; do @@ -1433,6 +1427,9 @@ fi %endif %changelog +* Tue Jul 25 2017 Adam Williamson - 3:10.2.7-6 +- Revert previous change, go back to libmariadb headers (RHBZ #1474764) + * Fri Jul 21 2017 Adam Williamson - 3:10.2.7-5 - Install correct headers (server, not client) - MDEV-13370 From 1af8bed533ae048dcdbfe944a077ff529441205d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 26 Jul 2017 20:52:11 +0000 Subject: [PATCH 371/789] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index e10e8e0..2084a79 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -126,7 +126,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 6%{?with_debug:.debug}%{?dist} +Release: 7%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1427,6 +1427,9 @@ fi %endif %changelog +* Wed Jul 26 2017 Fedora Release Engineering - 3:10.2.7-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Tue Jul 25 2017 Adam Williamson - 3:10.2.7-6 - Revert previous change, go back to libmariadb headers (RHBZ #1474764) From 97c8a754f2b590942c5a300a92067a46d88fee24 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 3 Aug 2017 03:04:46 +0000 Subject: [PATCH 372/789] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 2084a79..55ba8d9 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -126,7 +126,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 7%{?with_debug:.debug}%{?dist} +Release: 8%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1427,6 +1427,9 @@ fi %endif %changelog +* Thu Aug 03 2017 Fedora Release Engineering - 3:10.2.7-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Wed Jul 26 2017 Fedora Release Engineering - 3:10.2.7-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From 4444d371427594da84449e302c6323d3dba0d71d Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 6 Aug 2017 23:53:41 +0200 Subject: [PATCH 373/789] Fix removal of files, if build without client library Testsuite enabled --- mariadb.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 55ba8d9..bdde469 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -6,7 +6,7 @@ %{!?runselftest:%global runselftest 0} # Set this to 1 to see which tests fail, but 0 on production ready build -%global ignore_testsuite_result 0 +%global ignore_testsuite_result 1 # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} @@ -938,6 +938,7 @@ rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc rm %{buildroot}%{_mandir}/man1/mysql_config.1* unlink %{buildroot}%{_mandir}/man1/mariadb_config.1* %else +%if %{with clibrary} # Create symlinks to the 'libmariadb' library, for compatibility reasons # Note: the -libs subpackage has Provides: for this compat symlink; when # it is removed, they should also be removed @@ -946,6 +947,9 @@ pushd %{buildroot}%{_libdir}/mysql/ ln -s libmariadb.so.3 libmysqlclient.so.18 #ln -s libmariadb.so libmysqlclient_r.so popd +%else +rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so* +%endif %endif %if %{without client} From e550f7b3c4def73e36f1a3a00a7427282c895f40 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 6 Aug 2017 23:57:36 +0200 Subject: [PATCH 374/789] Testsuite enabled --- mariadb.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index bdde469..07dce92 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,10 +3,10 @@ %global pkgnamepatch mariadb # Regression tests may take a long time (many cores recommended), skip them by -%{!?runselftest:%global runselftest 0} +%{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail, but 0 on production ready build -%global ignore_testsuite_result 1 +%global ignore_testsuite_result 0 # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} From ad3f24323d08f5ef456e7c3f05453ce7730eb534 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 4 Aug 2017 13:05:36 +0200 Subject: [PATCH 375/789] Remove unnecessary condition, the branch with_systemd cannot be on RHEL-6 --- mariadb.spec | 4 ---- 1 file changed, 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 07dce92..831a414 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -821,13 +821,9 @@ install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?mysqld_pid_dir:1} -%if 0%{?rhel} == 6 -echo "d %{_localstatedir}/run/%{mysqld_pid_dir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf -%else #RHEL 6 echo "d %{_rundir}/%{mysqld_pid_dir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf %endif %endif -%endif # install SysV init script %if %{with init_sysv} From 655de675c8d97fa41de526b2b8f6b0cf7186f768 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 7 Aug 2017 18:03:29 +0200 Subject: [PATCH 376/789] Dividing test blacklists for s390 and ppc --- mariadb.spec | 12 ++++++++---- ...-tests-ppc-s390.list => rh-skipped-tests-ppc.list | 0 rh-skipped-tests-s390.list | 0 3 files changed, 8 insertions(+), 4 deletions(-) rename rh-skipped-tests-ppc-s390.list => rh-skipped-tests-ppc.list (100%) create mode 100644 rh-skipped-tests-s390.list diff --git a/mariadb.spec b/mariadb.spec index 831a414..5d62866 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -151,7 +151,8 @@ Source18: mysql@.service.in Source19: mysql.init.in Source50: rh-skipped-tests-base.list Source51: rh-skipped-tests-arm.list -Source52: rh-skipped-tests-ppc-s390.list +Source52: rh-skipped-tests-s390.list +Source53: rh-skipped-tests-ppc.list # Proposed upstream: https://jira.mariadb.org/browse/MDEV-12442 # General upstream response was slightly positive Source70: clustercheck.sh @@ -637,9 +638,12 @@ cat %{SOURCE50} | tee -a mysql-test/unstable-tests cat %{SOURCE51} | tee -a mysql-test/unstable-tests %endif -# TODO: divide ppc and s390 -%ifarch ppc ppc64 ppc64p7 s390 s390x -cat %{SOURCE51} | tee -a mysql-test/unstable-tests +%ifarch s390 s390x +cat %{SOURCE52} | tee -a mysql-test/unstable-tests +%endif + +%ifarch ppc ppc64 ppc64p7 ppc64le +cat %{SOURCE53} | tee -a mysql-test/unstable-tests %endif cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ diff --git a/rh-skipped-tests-ppc-s390.list b/rh-skipped-tests-ppc.list similarity index 100% rename from rh-skipped-tests-ppc-s390.list rename to rh-skipped-tests-ppc.list diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list new file mode 100644 index 0000000..e69de29 From 91f4ad0e191642e36a4e67f4fa3dc0c125041c27 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 7 Aug 2017 18:06:22 +0200 Subject: [PATCH 377/789] Add dependency for psmisc because of fuser call in mysql-check-socket --- mariadb.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index 5d62866..21ccf28 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -407,6 +407,8 @@ Requires: %{name}-errmsg%{?_isa} = %{sameevr} Recommends: %{name}-server-utils%{?_isa} = %{sameevr} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d +# for fuser in mysql-check-socket +Requires: psmisc Requires: coreutils Requires(pre): /usr/sbin/useradd # Sphinx storage engine From a06955c958bc8497a58a65fcf718f8091a9bb440 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 7 Aug 2017 18:08:21 +0200 Subject: [PATCH 378/789] Include each dependency on one line for better patches in the future --- mariadb.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 21ccf28..4f0781b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -427,7 +427,9 @@ Requires(posttrans): systemd %{?systemd_requires: %systemd_requires} %endif # wsrep requirements -Requires: lsof net-tools rsync +Requires: lsof +Requires: net-tools +Requires: rsync %if %{with mysql_names} Provides: mysql-server = %{sameevr} Provides: mysql-server%{?_isa} = %{sameevr} From ab242dbfda1c30af101df8fdea58a399496a469a Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 7 Aug 2017 18:09:47 +0200 Subject: [PATCH 379/789] Fix galera related selinux on RHEL-6 --- mariadb.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index 4f0781b..a0c7404 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -658,6 +658,9 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ # prepare selinux policy mkdir selinux sed 's/mariadb-server-galera/%{name}-server-galera/' %{SOURCE72} > selinux/%{name}-server-galera.te +%if 0%{?rhel} == 6 +sed -i 's/kerberos_port_t/kerberos_master_port_t/' selinux/%{name}-server-galera.te +%endif cat selinux/%{name}-server-galera.te %endif From 47aa81f0f878df2b2348a54d6ec0c52fb241c1a6 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 7 Aug 2017 18:18:08 +0200 Subject: [PATCH 380/789] Use correct rocksdb conditions and remove bundled rocksdb if not compiled --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index a0c7404..89e4274 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -676,6 +676,9 @@ then fi } +%if %{without rocksdb} +rm -r storage/rocksdb/ +%endif %build @@ -1266,7 +1269,7 @@ fi # Cracklib plugin %config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf # RocksDB engine -%ifarch x86_64 ppc64le aarch64 armv7hl +%if %{with rocksdb} %config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf %endif From fe1ebbe8f14a0d40365cda19707a8acee6af1426 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 7 Aug 2017 18:19:50 +0200 Subject: [PATCH 381/789] Use with init_systemd condition to build fine on RHEL-6 --- mariadb.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 89e4274..9a32eeb 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1216,8 +1216,8 @@ fi %doc Docs/README.wsrep %license LICENSE.clustercheck %{_bindir}/clustercheck -%if %{with init_systemd} %{_bindir}/galera_new_cluster +%if %{with init_systemd} %{_bindir}/galera_recovery %{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %endif @@ -1339,11 +1339,13 @@ fi %{_datadir}/%{pkg_name}/policy/selinux/README %{_datadir}/%{pkg_name}/policy/selinux/mariadb-server.* %{_datadir}/%{pkg_name}/policy/selinux/mariadb.* +%if %{with init_systemd} %{_datadir}/%{pkg_name}/systemd/mariadb.service # mariadb@ is installed only when we have cmake newer than 3.3 %if 0%{?fedora} > 22 || 0%{?rhel} > 7 %{_datadir}/%{pkg_name}/systemd/mariadb@.service %endif +%endif %{daemondir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir From 47a4d5b48fffeafa4349fcb3ac544cc3a644ba61 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 7 Aug 2017 18:31:37 +0200 Subject: [PATCH 382/789] Add mysqld_port_t definition also for udp as it is documented in the README --- mariadb.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index 9a32eeb..4f572b4 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1070,7 +1070,9 @@ export MTR_BUILD_THREAD=%{__isa_bits} %if %{with galera} %post server-galera +# README at support-files/policy/selinux/README recommends: semanage port -a -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || : +semanage port -a -t mysqld_port_t -p udp 4567 >/dev/null 2>&1 || : semodule -i %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp >/dev/null 2>&1 || : %endif From 51d56ebb65e49839c88faaf1fb34514125ef5c80 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 8 Aug 2017 07:47:59 +0200 Subject: [PATCH 383/789] Binaries mysql_ldb and sst_dump are only installed when rocksdb is built --- mariadb.spec | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 4f572b4..cecb3b2 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1260,11 +1260,6 @@ fi %{?with_tokudb:%{_bindir}/tokuftdump} %{?with_tokudb:%{_bindir}/tokuft_logprint} -%ifarch x86_64 ppc64le aarch64 armv7hl -%{_bindir}/mysql_ldb -%{_bindir}/sst_dump -%endif - %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf %{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf} @@ -1273,6 +1268,8 @@ fi # RocksDB engine %if %{with rocksdb} %config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf +%{_bindir}/mysql_ldb +%{_bindir}/sst_dump %endif From ba432eb69bb13160ff84efd657aa633853a173ab Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 8 Aug 2017 12:23:51 +0200 Subject: [PATCH 384/789] Unlink the non-versioned library symlinks when the library itself is not delivered --- mariadb.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index cecb3b2..630a72f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -931,6 +931,8 @@ rm -r %{buildroot}%{_sysconfdir}/ld.so.conf.d unlink %{buildroot}%{_libdir}/mysql/libmariadb.so rm %{buildroot}%{_libdir}/mysql/libmariadb*.so.* rm %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf +unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so +unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so %endif %if %{without embedded} From e89fd4e189d072632bc28dbbad0a1d9b76b74b13 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 21 Aug 2017 00:34:47 +0200 Subject: [PATCH 385/789] Rebase to 10.1.25 --- mariadb-10.2.7.patch | 12 ------- mariadb-covscan-stroverflow.patch | 57 ------------------------------- mariadb-scripts.patch | 12 +++---- mariadb.spec | 21 +++++------- sources | 2 +- 5 files changed, 16 insertions(+), 88 deletions(-) delete mode 100644 mariadb-10.2.7.patch delete mode 100644 mariadb-covscan-stroverflow.patch diff --git a/mariadb-10.2.7.patch b/mariadb-10.2.7.patch deleted file mode 100644 index ea251b0..0000000 --- a/mariadb-10.2.7.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- mariadb-10.2.7/mysys_ssl/openssl.c 2017-07-10 12:53:28.000000000 +0200 -+++ mariadb-10.2.7/mysys_ssl/openssl.c_patched 2017-07-13 11:22:30.449704470 +0200 -@@ -34,7 +34,8 @@ int check_openssl_compatibility() - - static uint testing, alloc_size, alloc_count; - --static void *coc_malloc(size_t size, const char *, int) -+static void *coc_malloc(size_t size, const char *f __attribute__((unused)), -+ int l __attribute__((unused))) - { - if (unlikely(testing)) - { diff --git a/mariadb-covscan-stroverflow.patch b/mariadb-covscan-stroverflow.patch deleted file mode 100644 index 078c7c5..0000000 --- a/mariadb-covscan-stroverflow.patch +++ /dev/null @@ -1,57 +0,0 @@ -The following problems have been found by Coverity - static analysis tool. - -mysql-5.5.31/plugin/semisync/semisync_master.cc:672:parameter_as_source – Note: This defect has an elevated risk because the source argument is a parameter of the current function. - -mysql-5.5.31/plugin/semisync/semisync_master.cc:661:parameter_as_source – Note: This defect has an elevated risk because the source argument is a parameter of the current function. - -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 mariadb-10.0.21/plugin/semisync/semisync_master.cc.orig mariadb-10.0.21/plugin/semisync/semisync_master.cc ---- mariadb-10.0.21/plugin/semisync/semisync_master.cc.orig 2015-08-05 20:11:31.000000000 +0200 -+++ mariadb-10.0.21/plugin/semisync/semisync_master.cc 2015-08-10 17:22:31.700604043 +0200 -@@ -553,7 +553,8 @@ int ReplSemiSyncMaster::reportReplyBinlo - - if (need_copy_send_pos) - { -- strcpy(reply_file_name_, log_file_name); -+ strncpy(reply_file_name_, log_file_name, sizeof(reply_file_name_)-1); -+ reply_file_name_[sizeof(reply_file_name_)-1] = '\0'; - reply_file_pos_ = log_file_pos; - reply_file_name_inited_ = true; - -@@ -661,7 +662,8 @@ int ReplSemiSyncMaster::commitTrx(const - if (cmp <= 0) - { - /* This thd has a lower position, let's update the minimum info. */ -- strcpy(wait_file_name_, trx_wait_binlog_name); -+ strncpy(wait_file_name_, trx_wait_binlog_name, sizeof(wait_file_name_)-1); -+ wait_file_name_[sizeof(wait_file_name_)-1] = '\0'; - wait_file_pos_ = trx_wait_binlog_pos; - - rpl_semi_sync_master_wait_pos_backtraverse++; -@@ -672,7 +674,8 @@ int ReplSemiSyncMaster::commitTrx(const - } - else - { -- strcpy(wait_file_name_, trx_wait_binlog_name); -+ strncpy(wait_file_name_, trx_wait_binlog_name, sizeof(wait_file_name_)-1); -+ wait_file_name_[sizeof(wait_file_name_)-1] = '\0'; - 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 - -diff -up mariadb-10.0.21/sql/rpl_handler.cc.orig mariadb-10.0.21/sql/rpl_handler.cc ---- mariadb-10.0.21/sql/rpl_handler.cc.orig 2015-08-05 20:11:31.000000000 +0200 -+++ mariadb-10.0.21/sql/rpl_handler.cc 2015-08-10 17:28:57.093803582 +0200 -@@ -261,7 +261,8 @@ int Binlog_storage_delegate::after_flush - thd->semisync_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; - - FOREACH_OBSERVER(ret, after_flush, false, diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index c962e34..cec5508 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -1,10 +1,10 @@ ---- mariadb-10.1.11.orig/scripts/CMakeLists.txt 2016-01-28 13:12:51.000000000 +0100 -+++ mariadb-10.1.11/scripts/CMakeLists.txt 2016-02-03 12:46:26.306109293 +0100 -@@ -320,6 +320,33 @@ ELSE() - COMPONENT ${${file}_COMPONENT} +diff -up mariadb-10.2.8/scripts/CMakeLists.txt.p7 mariadb-10.2.8/scripts/CMakeLists.txt +--- mariadb-10.2.8/scripts/CMakeLists.txt.p7 2017-08-20 13:26:10.640779557 +0200 ++++ mariadb-10.2.8/scripts/CMakeLists.txt 2017-08-20 13:27:05.774925486 +0200 +@@ -338,6 +338,33 @@ ELSE() ) ENDFOREACH() -+ + + # files for systemd + SET(SYSTEMD_SCRIPTS + mysql.tmpfiles.d @@ -31,7 +31,7 @@ + "${CMAKE_CURRENT_SOURCE_DIR}" ) + ENDIF() + ENDFOREACH() ++ ENDIF() # Install libgcc as mylibgcc.a - diff --git a/mariadb.spec b/mariadb.spec index 630a72f..7a535e5 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -122,11 +122,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.2 -%global bugfixver 7 +%global bugfixver 8 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 8%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -175,13 +175,8 @@ Patch8: %{pkgnamepatch}-install-db-sharedir.patch Patch9: %{pkgnamepatch}-ownsetup.patch # Patches specific for this mysql package -# Patch34: -# TODO: I should run covscan again -Patch34: %{pkgnamepatch}-covscan-stroverflow.patch # Patch37: don't create a test DB: https://jira.mariadb.org/browse/MDEV-12645 Patch37: %{pkgnamepatch}-notestdb.patch -# Patch only for 10.1.27, resolving FTBFS -Patch38: %{pkgnamepatch}-10.2.7.patch # Patches for galera Patch40: %{pkgnamepatch}-galera.cnf.patch @@ -626,9 +621,7 @@ MariaDB is a community developed branch of MySQL. %patch7 -p1 %patch8 -p1 %patch9 -p1 -%patch34 -p1 %patch37 -p1 -%patch38 -p1 %patch40 -p1 # workaround for upstream bug #56342 @@ -783,9 +776,9 @@ make -f /usr/share/selinux/devel/Makefile %{name}-server-galera.pp make DESTDIR=%{buildroot} install # multilib header support -for header in mysql/my_config.h mysql/private/config.h; do -%multilib_fix_c_header --file %{_includedir}/$header -done +#for header in mysql/my_config.h mysql/private/config.h; do +#%multilib_fix_c_header --file %{_includedir}/$header +#done ln -s mysql_config.1.gz %{buildroot}%{_mandir}/man1/mariadb_config.1.gz @@ -1198,6 +1191,7 @@ fi %lang(fr) %{_datadir}/%{pkg_name}/french %lang(de) %{_datadir}/%{pkg_name}/german %lang(el) %{_datadir}/%{pkg_name}/greek +%lang(el) %{_datadir}/%{pkg_name}/hindi %lang(hu) %{_datadir}/%{pkg_name}/hungarian %lang(it) %{_datadir}/%{pkg_name}/italian %lang(ja) %{_datadir}/%{pkg_name}/japanese @@ -1444,6 +1438,9 @@ fi %endif %changelog +* Sun Aug 20 2017 Honza Horak - 3:10.2.8-1 +- Rebase to 10.1.25 + * Thu Aug 03 2017 Fedora Release Engineering - 3:10.2.7-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild diff --git a/sources b/sources index 0b3446c..a5b7f21 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.2.7.tar.gz) = fa595acc0f5c9c62077db000f1721af79628994c08e82b2eb95d265e3c556e80942c487fc1b91299c382becd71f21a0a117ca93d7428752f436ed83683a4f4cd +SHA512 (mariadb-10.2.8.tar.gz) = c0527481a99249caef829a3ad2f610f6ebb30ed9af49c56b783695ce4fe83db93021ef0f60efad92750038c8894b957cbb1f2c4ee56fe8d5c15c878c83ba46d1 From 45f744d0be9e99dd1e4a2aced591949c5e531a47 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 21 Aug 2017 07:34:52 +0200 Subject: [PATCH 386/789] Disable failing tests in 10.2.8 --- rh-skipped-tests-base.list | 3 +++ rh-skipped-tests-ppc.list | 1 + rh-skipped-tests-s390.list | 1 + 3 files changed, 5 insertions(+) diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index a962adf..40180e8 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -6,9 +6,12 @@ main.ssl_cert_verify : #1399847 # main.userstat : #1399847 +main.non_blocking_api : #1399847 perfschema.nesting : #1399847 perfschema.socket_summary_by_event_name_func : #1399847 perfschema.socket_summary_by_instance_func : #1399847 +perfschema.bad_option_1 : #1399847 +perfschema.bad_option_5 : #1399847 # needs this tests disabled for mode build plugins.feedback_plugin_load : # diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index e69de29..99e8c91 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -0,0 +1 @@ +parts.partition_alter4_innodb : #1399847 diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list index e69de29..e7783a9 100644 --- a/rh-skipped-tests-s390.list +++ b/rh-skipped-tests-s390.list @@ -0,0 +1 @@ +encryption.innodb-read-only : #1399847 From 8281caaccfe10f8c053478502ab9179040e5d0a2 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 22 Aug 2017 17:17:15 +0200 Subject: [PATCH 387/789] Add tests that made the test-suite fail because of warnings in logs --- rh-skipped-tests-base.list | 2 ++ rh-skipped-tests-ppc.list | 1 + rh-skipped-tests-s390.list | 1 + 3 files changed, 4 insertions(+) diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 40180e8..4335e9b 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -16,6 +16,8 @@ perfschema.bad_option_5 : #1399847 # needs this tests disabled for mode build plugins.feedback_plugin_load : # +plugins.show_all_plugins : warnings in log + # ------------------------------ # Failing from rebase to 10.1.24 # issues trackers will be added diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index 99e8c91..d89ffd6 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -1 +1,2 @@ parts.partition_alter4_innodb : #1399847 +connect.tbl_thread : warnings in log diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list index e7783a9..3eff7af 100644 --- a/rh-skipped-tests-s390.list +++ b/rh-skipped-tests-s390.list @@ -1 +1,2 @@ encryption.innodb-read-only : #1399847 +multi_source.gtid : warnings in log From e7878968529fa2c4013e908f130f1f18c87af6aa Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 28 Aug 2017 15:07:39 +0200 Subject: [PATCH 388/789] Add more tests that made the test-suite fail because of warnings in logs --- rh-skipped-tests-ppc.list | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index d89ffd6..f396da3 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -1,2 +1,4 @@ parts.partition_alter4_innodb : #1399847 connect.tbl_thread : warnings in log +partition_alter1_2_innodb : warnings in log +partition_alter2_1_1_innodb : warnings in log From 802a77cc1b4092991fb770a4005c18366ad45454 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 28 Aug 2017 20:29:45 +0200 Subject: [PATCH 389/789] Fix version in the changelog --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 7a535e5..980da11 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1439,7 +1439,7 @@ fi %changelog * Sun Aug 20 2017 Honza Horak - 3:10.2.8-1 -- Rebase to 10.1.25 +- Rebase to 10.2.8 * Thu Aug 03 2017 Fedora Release Engineering - 3:10.2.7-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From ebda147116d6be65402077e6d93c6aea9deec991 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 18 Jul 2017 18:53:41 +0200 Subject: [PATCH 390/789] Fix paths in galera_recovery and galera_new_cluster Resolves: #1403416 --- mariadb-recovery.patch | 16 ++++++++++++++++ mariadb-scripts.patch | 6 +++++- mariadb.spec | 13 ++++++++++++- 3 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 mariadb-recovery.patch diff --git a/mariadb-recovery.patch b/mariadb-recovery.patch new file mode 100644 index 0000000..fd61b48 --- /dev/null +++ b/mariadb-recovery.patch @@ -0,0 +1,16 @@ +Wrong path used for mysqld + +rhbz: #1403416 + +diff -up mariadb-10.1.24/scripts/galera_recovery.sh.mysqldpath mariadb-10.1.24/scripts/galera_recovery.sh +--- mariadb-10.1.24/scripts/galera_recovery.sh.mysqldpath 2017-07-18 18:47:33.993396821 +0200 ++++ mariadb-10.1.24/scripts/galera_recovery.sh 2017-07-18 18:48:17.323509332 +0200 +@@ -68,7 +68,7 @@ parse_arguments() { + + wsrep_recover_position() { + # Redirect server's error log to the log file. +- eval /usr/sbin/mysqld $cmdline_args --user=$user --wsrep_recover \ ++ eval @libexecdir@/mysqld $cmdline_args --user=$user --wsrep_recover \ + --log-error="$log_file" + ret=$? + if [ $ret -ne 0 ]; then diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index cec5508..7c6ac4a 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -1,7 +1,10 @@ +We have some downstream patches and other scripts that include variables to +be expanded by cmake. Cmake needs to know about them, so adding them manually. + diff -up mariadb-10.2.8/scripts/CMakeLists.txt.p7 mariadb-10.2.8/scripts/CMakeLists.txt --- mariadb-10.2.8/scripts/CMakeLists.txt.p7 2017-08-20 13:26:10.640779557 +0200 +++ mariadb-10.2.8/scripts/CMakeLists.txt 2017-08-20 13:27:05.774925486 +0200 -@@ -338,6 +338,33 @@ ELSE() +@@ -338,6 +338,34 @@ ELSE() ) ENDFOREACH() @@ -16,6 +19,7 @@ diff -up mariadb-10.2.8/scripts/CMakeLists.txt.p7 mariadb-10.2.8/scripts/CMakeLi + mysql-scripts-common + mysql_config_multilib + clustercheck ++ galera_new_cluster + mysql.init + my.cnf + ) diff --git a/mariadb.spec b/mariadb.spec index 980da11..a7ec592 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -126,7 +126,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -180,6 +180,7 @@ Patch37: %{pkgnamepatch}-notestdb.patch # Patches for galera Patch40: %{pkgnamepatch}-galera.cnf.patch +Patch43: %{pkgnamepatch}-recovery.patch BuildRequires: cmake gcc-c++ BuildRequires: libaio-devel @@ -623,6 +624,7 @@ MariaDB is a community developed branch of MySQL. %patch9 -p1 %patch37 -p1 %patch40 -p1 +%patch43 -p1 # workaround for upstream bug #56342 rm mysql-test/t/ssl_8k_key-master.opt @@ -891,6 +893,11 @@ mkdir -p %{buildroot}%{_sysconfdir}/sysconfig touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck +# install the galera_new_cluster script anyway +%if %{without init_systemd} +install -p -m 0755 scripts/galera_new_cluster %{buildroot}%{_bindir}/galera_new_cluster +%endif + # remove SysV init script and a symlink to that rm %{buildroot}%{_sysconfdir}/init.d/mysql rm %{buildroot}%{_libexecdir}/rcmysql @@ -1438,6 +1445,10 @@ fi %endif %changelog +* Mon Aug 28 2017 Honza Horak - 3:10.2.8-2 +- Fix paths in galera_recovery and galera_new_cluster + Resolves: #1403416 + * Sun Aug 20 2017 Honza Horak - 3:10.2.8-1 - Rebase to 10.2.8 From 036ca48a16abd1c9685f0fae0721591661045653 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 28 Aug 2017 16:35:08 +0200 Subject: [PATCH 391/789] Support --defaults-group-suffix option in all starting scripts Resolves: #1485777 --- mariadb.spec | 2 ++ mysql-scripts-common.sh | 12 +++++++++++- mysql@.service.in | 6 +++--- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index a7ec592..1665441 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1448,6 +1448,8 @@ fi * Mon Aug 28 2017 Honza Horak - 3:10.2.8-2 - Fix paths in galera_recovery and galera_new_cluster Resolves: #1403416 +- Support --defaults-group-suffix properly in systemd unit file + Resolves: #1485777 * Sun Aug 20 2017 Honza Horak - 3:10.2.8-1 - Rebase to 10.2.8 diff --git a/mysql-scripts-common.sh b/mysql-scripts-common.sh index bf2888f..e270433 100644 --- a/mysql-scripts-common.sh +++ b/mysql-scripts-common.sh @@ -18,13 +18,23 @@ get_mysql_option(){ sections="$1" option_name="$2" default_value="$3" - result=`@bindir@/my_print_defaults $sections | sed -n "s/^--${option_name}=//p" | tail -n 1` + result=`@bindir@/my_print_defaults $my_print_defaults_extra_args $sections | sed -n "s/^--${option_name}=//p" | tail -n 1` if [ -z "$result" ]; then # not found, use default result="${default_value}" fi } +# For the case of running more instances via systemd, scrits that source +# this file can get --default-group-suffix or similar option as the first +# argument. The utility my_print_defaults needs to use it as well, so the +# scripts sourcing this file work with the same options as the daemon. +my_print_defaults_extra_args='' +while echo "$1" | grep -q '^--defaults' ; do + my_print_defaults_extra_args="${my_print_defaults_extra_args} $1" + shift +done + # Defaults here had better match what mysqld_safe will default to # The option values are generally defined on three important places # on the default installation: diff --git a/mysql@.service.in b/mysql@.service.in index a6182aa..3bf386d 100644 --- a/mysql@.service.in +++ b/mysql@.service.in @@ -40,13 +40,13 @@ Type=notify User=mysql Group=mysql -ExecStartPre=@libexecdir@/mysql-check-socket -ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n +ExecStartPre=@libexecdir@/mysql-check-socket --defaults-group-suffix=.%I +ExecStartPre=@libexecdir@/mysql-prepare-db-dir --defaults-group-suffix=.%I %n # MYSQLD_OPTS here is for users to set in /etc/systemd/system/@DAEMON_NAME@@.service.d/MY_SPECIAL.conf # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 ExecStart=@libexecdir@/mysqld --defaults-group-suffix=.%I --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER -ExecStartPost=@libexecdir@/mysql-check-upgrade +ExecStartPost=@libexecdir@/mysql-check-upgrade --defaults-group-suffix=.%I # Setting this to true can break replication and the Type=notify settings # See also bind-address mysqld option. From 263dd48ce125edc9772b47ade3d109f1a78eecc8 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 28 Aug 2017 20:58:21 +0200 Subject: [PATCH 392/789] Use macros around pidfile consistently --- mariadb.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 1665441..3025eb9 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -97,7 +97,7 @@ %if 0%{?rhel} == 6 %global pidfiledir %{_localstatedir}/run/%{daemon_name} %else #RHEL 6 -%global pidfiledir %{_rundir}/%{daemon_name} +%global pidfiledir %{_rundir}/%{mysqld_pid_dir} %endif # Defining where database data live @@ -830,7 +830,7 @@ install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?mysqld_pid_dir:1} -echo "d %{_rundir}/%{mysqld_pid_dir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf +echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf %endif %endif From f130bf689986f2781fbb0b867109274e2bd04250 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 9 Aug 2017 08:18:28 +0200 Subject: [PATCH 393/789] Install mysql-wait-ready on RHEL-6 for the SysV init --- mariadb-scripts.patch | 3 ++- mariadb.spec | 10 +++++++++- mysql-wait-ready.sh | 45 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 mysql-wait-ready.sh diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index 7c6ac4a..d12c402 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -4,7 +4,7 @@ be expanded by cmake. Cmake needs to know about them, so adding them manually. diff -up mariadb-10.2.8/scripts/CMakeLists.txt.p7 mariadb-10.2.8/scripts/CMakeLists.txt --- mariadb-10.2.8/scripts/CMakeLists.txt.p7 2017-08-20 13:26:10.640779557 +0200 +++ mariadb-10.2.8/scripts/CMakeLists.txt 2017-08-20 13:27:05.774925486 +0200 -@@ -338,6 +338,34 @@ ELSE() +@@ -338,6 +338,35 @@ ELSE() ) ENDFOREACH() @@ -14,6 +14,7 @@ diff -up mariadb-10.2.8/scripts/CMakeLists.txt.p7 mariadb-10.2.8/scripts/CMakeLi + mysql.service + mysql@.service + mysql-prepare-db-dir ++ mysql-wait-ready + mysql-check-socket + mysql-check-upgrade + mysql-scripts-common diff --git a/mariadb.spec b/mariadb.spec index 3025eb9..d0589b5 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -144,6 +144,7 @@ Source7: README.mysql-license Source10: mysql.tmpfiles.d.in Source11: mysql.service.in Source12: mysql-prepare-db-dir.sh +Source13: mysql-wait-ready.sh Source14: mysql-check-socket.sh Source15: mysql-scripts-common.sh Source16: mysql-check-upgrade.sh @@ -645,7 +646,7 @@ cat %{SOURCE52} | tee -a mysql-test/unstable-tests cat %{SOURCE53} | tee -a mysql-test/unstable-tests %endif -cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ +cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE18} %{SOURCE19} \ %{SOURCE70} scripts @@ -844,6 +845,9 @@ install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql- install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common +%if %{with init_sysv} +install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready +%endif # install selinux policy %if %{with galera} @@ -1354,6 +1358,9 @@ fi %{_libexecdir}/mysql-check-socket %{_libexecdir}/mysql-check-upgrade %{_libexecdir}/mysql-scripts-common +%if %{with init_sysv} +%{_libexecdir}/mysql-wait-ready +%endif %{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} %attr(0755,mysql,mysql) %dir %{pidfiledir} @@ -1450,6 +1457,7 @@ fi Resolves: #1403416 - Support --defaults-group-suffix properly in systemd unit file Resolves: #1485777 +- Install mysql-wait-ready on RHEL-6 for the SysV init * Sun Aug 20 2017 Honza Horak - 3:10.2.8-1 - Rebase to 10.2.8 diff --git a/mysql-wait-ready.sh b/mysql-wait-ready.sh new file mode 100644 index 0000000..2ed5fe1 --- /dev/null +++ b/mysql-wait-ready.sh @@ -0,0 +1,45 @@ +#!/bin/sh + +source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" + +# This script waits for mysqld to be ready to accept connections +# (which can be many seconds or even minutes after launch, if there's +# a lot of crash-recovery work to do). +# Running this as ExecStartPost is useful so that services declared as +# "After mysqld" won't be started until the database is really ready. + +if [ $# -ne 1 ] ; then + echo "You need to pass daemon pid as an argument for this script." + exit 20 +fi + +# Service file passes us the daemon's PID (actually, mysqld_safe's PID) +daemon_pid="$1" + +# Wait for the server to come up or for the mysqld process to disappear +ret=0 +while /bin/true; do + # Check process still exists + if ! [ -d "/proc/${daemon_pid}" ] ; then + ret=1 + break + fi + RESPONSE=`@bindir@/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` + mret=$? + if [ $mret -eq 0 ] ; then + break + fi + # exit codes 1, 11 (EXIT_CANNOT_CONNECT_TO_SERVICE) are expected, + # anything else suggests a configuration error + if [ $mret -ne 1 -a $mret -ne 11 ]; then + echo "Cannot check for @NICE_PROJECT_NAME@ Daemon startup because of mysqladmin failure." >&2 + ret=$mret + break + fi + # "Access denied" also means the server is alive + echo "$RESPONSE" | grep -q "Access denied for user" && break + + sleep 1 +done + +exit $ret From 2039ee96078f1d149cec8e31a28eec864785d4da Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 9 Aug 2017 13:41:46 +0200 Subject: [PATCH 394/789] Allow 4567 port for tcp as well --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index d0589b5..42a0c66 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1076,8 +1076,10 @@ export MTR_BUILD_THREAD=%{__isa_bits} %if %{with galera} %post server-galera -# README at support-files/policy/selinux/README recommends: +# Do what README at support-files/policy/selinux/README and upstream page +# http://galeracluster.com/documentation-webpages/firewallsettings.html recommend: semanage port -a -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || : +semanage port -a -t mysqld_port_t -p tcp 4567 >/dev/null 2>&1 || : semanage port -a -t mysqld_port_t -p udp 4567 >/dev/null 2>&1 || : semodule -i %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp >/dev/null 2>&1 || : %endif @@ -1457,6 +1459,7 @@ fi Resolves: #1403416 - Support --defaults-group-suffix properly in systemd unit file Resolves: #1485777 +- Allow 4567 port for tcp as well - Install mysql-wait-ready on RHEL-6 for the SysV init * Sun Aug 20 2017 Honza Horak - 3:10.2.8-1 From 89555591899c1cc26f9187ccbb0488e5a4327028 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 28 Aug 2017 21:20:37 +0200 Subject: [PATCH 395/789] Do not expect mariadb-service-convert on non-systemd system and do not create ld.so.conf.d entry if no client library is shipped --- mariadb.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 42a0c66..f83590e 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -876,10 +876,11 @@ mkdir -p %{buildroot}%{logrotateddir} mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name} chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name} -# TODO: check, what's in CONC/C +%if %{with clibrary} mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d # Save a name of the directory that contains libraries to this file echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf +%endif # copy additional docs into build tree so %%doc will find them install -p -m 0644 %{SOURCE5} %{basename:%{SOURCE5}} @@ -931,7 +932,6 @@ install -p -m 0644 mysql-test/unstable-tests %{buildroot}%{_datadir}/mysql-test ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list %if %{without clibrary} -rm -r %{buildroot}%{_sysconfdir}/ld.so.conf.d unlink %{buildroot}%{_libdir}/mysql/libmariadb.so rm %{buildroot}%{_libdir}/mysql/libmariadb*.so.* rm %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf @@ -1246,7 +1246,9 @@ fi %{_bindir}/aria_pack %{_bindir}/aria_read_log %{_bindir}/mariabackup +%if %{with init_systemd} %{_bindir}/mariadb-service-convert +%endif %{_bindir}/mbstream %{_bindir}/myisamchk %{_bindir}/myisam_ftdump From a45e9dbc0b82ed24ea6d50b9969e04b9a5c533a1 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 28 Aug 2017 22:40:39 +0200 Subject: [PATCH 396/789] Use correct abbrev. for hindi --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index f83590e..26d34e7 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1204,7 +1204,7 @@ fi %lang(fr) %{_datadir}/%{pkg_name}/french %lang(de) %{_datadir}/%{pkg_name}/german %lang(el) %{_datadir}/%{pkg_name}/greek -%lang(el) %{_datadir}/%{pkg_name}/hindi +%lang(hi) %{_datadir}/%{pkg_name}/hindi %lang(hu) %{_datadir}/%{pkg_name}/hungarian %lang(it) %{_datadir}/%{pkg_name}/italian %lang(ja) %{_datadir}/%{pkg_name}/japanese From a0ba2c4a947055c104c4a9b2086ae10573ed2c72 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 28 Aug 2017 22:44:49 +0200 Subject: [PATCH 397/789] Add some more unstable tests into blacklist --- rh-skipped-tests-s390.list | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list index 3eff7af..52e7587 100644 --- a/rh-skipped-tests-s390.list +++ b/rh-skipped-tests-s390.list @@ -1,2 +1,4 @@ encryption.innodb-read-only : #1399847 multi_source.gtid : warnings in log +sys_vars.innodb_autoextend_increment_basic : warnings in log +vcol.vcol_keys_innodb : warnings in log From fef8a6b54d4b4174378a429e1e8f4e390ca1d2f4 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 28 Aug 2017 22:59:20 +0200 Subject: [PATCH 398/789] Run mysql-prepare-db-dir as non-root --- mariadb.spec | 1 + mysql.init.in | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 26d34e7..5a8c118 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1463,6 +1463,7 @@ fi Resolves: #1485777 - Allow 4567 port for tcp as well - Install mysql-wait-ready on RHEL-6 for the SysV init +- Run mysql-prepare-db-dir as non-root * Sun Aug 20 2017 Honza Horak - 3:10.2.8-1 - Rebase to 10.2.8 diff --git a/mysql.init.in b/mysql.init.in index 146fcfa..01c5d5b 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -69,8 +69,8 @@ start(){ # already running, do nothing action $"Starting $prog: " /bin/true else - @libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP || return 4 @libexecdir@/mysql-check-socket || return 1 + su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP" || return 4 # Pass all the options determined above, to ensure consistent behavior. # In many cases mysqld_safe would arrive at the same conclusions anyway From d352dbd5adecb302e67e07af5476dbf7412e0a09 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 28 Aug 2017 23:10:27 +0200 Subject: [PATCH 399/789] Sync mysql.init with community-mysql --- mariadb.spec | 1 + mysql.init.in | 28 +++++++++++++++++++--------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 5a8c118..efb28f2 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1464,6 +1464,7 @@ fi - Allow 4567 port for tcp as well - Install mysql-wait-ready on RHEL-6 for the SysV init - Run mysql-prepare-db-dir as non-root +- Sync mysql.init with community-mysql * Sun Aug 20 2017 Honza Horak - 3:10.2.8-1 - Rebase to 10.2.8 diff --git a/mysql.init.in b/mysql.init.in index 01c5d5b..6ae046c 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -7,7 +7,7 @@ # description: MySQL database server. # processname: mysqld # config: @sysconfdir@/my.cnf -# pidfile: /run/@DAEMON_NAME@/@DAEMON_NAME@.pid +# pidfile: /var/run/@DAEMON_NAME@/@DAEMON_NO_PREFIX@.pid ### BEGIN INIT INFO # Provides: mysqld # Required-Start: $local_fs $remote_fs $network $named $syslog $time @@ -60,14 +60,16 @@ start(){ MYSQLDRUNNING=1 fi fi - RESPONSE=`@bindir@/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` + RESPONSE=`@bindir@/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` if [ $MYSQLDRUNNING = 1 ] && [ $? = 0 ]; then # already running, do nothing action $"Starting $prog: " /bin/true + ret=0 elif [ $MYSQLDRUNNING = 1 ] && echo "$RESPONSE" | grep -q "Access denied for user" then # already running, do nothing action $"Starting $prog: " /bin/true + ret=0 else @libexecdir@/mysql-check-socket || return 1 su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP" || return 4 @@ -79,16 +81,24 @@ start(){ # and some users might prefer to configure logging to syslog.) # Note: set --basedir to prevent probes that might trigger SELinux # alarms, per bug #547485 - $exec --datadir="$datadir" --socket="$socketfile" \ - --pid-file="$pidfile" \ - --basedir=@prefix@ --user=$MYUSER >/dev/null 2>&1 & + su - $MYUSER -s /bin/bash -c "$exec --datadir='$datadir' --socket='$socketfile' \ + --pid-file='$pidfile' \ + --basedir=@prefix@ --user=$MYUSER" >/dev/null 2>&1 & safe_pid=$! - action $"Starting $prog: " /bin/true - chmod o+r $pidfile >/dev/null 2>&1 - touch $lockfile + # Wait until the daemon is up + su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-wait-ready '$safe_pid'" + ret=$? + + if [ $ret -eq 0 ]; then + action $"Starting $prog: " /bin/true + chmod o+r $pidfile >/dev/null 2>&1 + touch $lockfile + else + action $"Starting $prog: " /bin/false + fi fi - return 0 + return $ret } stop(){ From 23d588b0ffa92114bdd39078407188d08e39e239 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 20 Sep 2017 14:25:36 +0200 Subject: [PATCH 400/789] Fix building without client library part --- mariadb.spec | 44 ++++++++++++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index efb28f2..b01b49f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -42,7 +42,7 @@ # hierarchies and more complex graph structures to be handled in a relational fashion %bcond_without oqgraph -# For some use cases we do not need some parts of the package +# For some use cases we do not need some parts of the package. Set to "...with" to exclude %bcond_without clibrary %bcond_without embedded %bcond_without devel @@ -240,8 +240,14 @@ Recommends: openssl Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} + +%if %{with clibrary} # Explicit EVR requirement for -libs is needed for RHBZ#1406320 Requires: %{name}-libs%{?_isa} = %{sameevr} +%else +# If not built with client library in this package, use connector-c +Requires: mariadb-connector-c >= 3.0 +%endif %if %{with mysql_names} Provides: mysql = %{sameevr} @@ -311,7 +317,7 @@ The mariadb-libs package provides the essential shared libraries for any MariaDB/MySQL client program or interface. You will need to install this package to use any other MariaDB package or any clients that need to connect to a MariaDB/MySQL server. MariaDB is a community developed branch of MySQL. -%endif +%endif #clibrary # At least main config file /etc/my.cnf is shared for client and server part @@ -504,6 +510,8 @@ Requires: pkgconfig(openssl) %if %{with mysql_names} Provides: mysql-devel = %{sameevr} Provides: mysql-devel%{?_isa} = %{sameevr} +# Usually when somebody needs mariadb-devel, they also need: +Recommends: mariadb-connector-c-devel >= 3.0 %endif %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-devel < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-devel < %{obsoleted_mysql_evr}} @@ -932,11 +940,14 @@ install -p -m 0644 mysql-test/unstable-tests %{buildroot}%{_datadir}/mysql-test ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list %if %{without clibrary} -unlink %{buildroot}%{_libdir}/mysql/libmariadb.so -rm %{buildroot}%{_libdir}/mysql/libmariadb*.so.* rm %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf +# Client library and links +rm %{buildroot}%{_libdir}/mysql/libmariadb*.so.* unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so +unlink %{buildroot}%{_libdir}/mysql/libmariadb.so +# Client plugins +rm %{buildroot}%{_libdir}/mysql/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so,auth_gssapi_client.so} %endif %if %{without embedded} @@ -964,7 +975,12 @@ ln -s libmariadb.so.3 libmysqlclient.so.18 #ln -s libmariadb.so libmysqlclient_r.so popd %else -rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so* +rm %{buildroot}%{_bindir}/*_config* +rm %{buildroot}%{_mandir}/man1/*_config* +#rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so* +rm %{buildroot}%{_includedir}/mysql/{errmsg.h,ma_list.h,ma_pvio.h,mariadb_com.h,\ +mariadb_ctype.h,mariadb_dyncol.h,mariadb_stmt.h,mariadb_version.h,ma_tls.h,mysqld_error.h,mysql.h} +rm -r %{buildroot}%{_includedir}/mysql/{mariadb,mysql} %endif %endif @@ -1184,13 +1200,14 @@ fi %if %{with common} %files common %doc %{_datadir}/doc/%{_pkgdocdirname} - +%dir %{_datadir}/%{pkg_name} +%{_datadir}/%{pkg_name}/charsets +%if %{with clibrary} %dir %{_libdir}/mysql %dir %{_libdir}/mysql/plugin -%dir %{_datadir}/%{pkg_name} %{_libdir}/mysql/plugin/dialog.so %{_libdir}/mysql/plugin/mysql_clear_password.so -%{_datadir}/%{pkg_name}/charsets +%endif %endif %if %{with errmsg} @@ -1411,19 +1428,19 @@ fi %if %{with devel} %files devel -%{_bindir}/mysql_config* -%{_bindir}/mariadb_config* -%{_includedir}/mysql +%{_includedir}/* %{_datadir}/aclocal/mysql.m4 %{_libdir}/pkgconfig/mariadb.pc %if %{with clibrary} +%{_bindir}/mysql_config* +%{_bindir}/mariadb_config* %{_libdir}/mysql/libmariadb.so %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so -%endif %{_mandir}/man1/mysql_config* %{_mandir}/man1/mariadb_config* %endif +%endif %if %{with embedded} %files embedded @@ -1456,6 +1473,9 @@ fi %endif %changelog +* Wed Sep 20 2017 Michal Schorm - 3:10.2.8-2 +- Fix building without client library part + * Mon Aug 28 2017 Honza Horak - 3:10.2.8-2 - Fix paths in galera_recovery and galera_new_cluster Resolves: #1403416 From 9722cede7fde21e6e38cf4fcb15ae62832c7a7e5 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 20 Sep 2017 14:47:03 +0200 Subject: [PATCH 401/789] Start building mariadb without client library part Use mariadb-connector-c package instead --- mariadb.spec | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index b01b49f..e28d24e 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -43,7 +43,7 @@ %bcond_without oqgraph # For some use cases we do not need some parts of the package. Set to "...with" to exclude -%bcond_without clibrary +%bcond_with clibrary %bcond_without embedded %bcond_without devel %bcond_without client @@ -126,7 +126,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1473,8 +1473,10 @@ fi %endif %changelog -* Wed Sep 20 2017 Michal Schorm - 3:10.2.8-2 +* Wed Sep 20 2017 Michal Schorm - 3:10.2.8-3 - Fix building without client library part +- Start building mariadb without client library part, + use mariadb-connector-c package >= 3.0 instead * Mon Aug 28 2017 Honza Horak - 3:10.2.8-2 - Fix paths in galera_recovery and galera_new_cluster From b33c986ca5d07cddd62733465d710352a8dadcb0 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 21 Sep 2017 11:57:06 +0200 Subject: [PATCH 402/789] Set mariadb-connector-c-devel as Requires for mariadb-devel, instead of Recommends --- mariadb.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index e28d24e..a9d04d9 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -507,11 +507,10 @@ Group: Applications/Databases %{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} # avoid issues with openssl1.0 / openssl1.1 / compat Requires: pkgconfig(openssl) +Requires: mariadb-connector-c-devel >= 3.0 %if %{with mysql_names} Provides: mysql-devel = %{sameevr} Provides: mysql-devel%{?_isa} = %{sameevr} -# Usually when somebody needs mariadb-devel, they also need: -Recommends: mariadb-connector-c-devel >= 3.0 %endif %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-devel < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-devel < %{obsoleted_mysql_evr}} From 3ae3c01b3fd6671a5336b0ee9546af3037749f6b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 21 Sep 2017 12:00:14 +0200 Subject: [PATCH 403/789] Bump version --- mariadb.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index a9d04d9..b7cd246 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -126,7 +126,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1472,7 +1472,7 @@ fi %endif %changelog -* Wed Sep 20 2017 Michal Schorm - 3:10.2.8-3 +* Wed Sep 20 2017 Michal Schorm - 3:10.2.8-4 - Fix building without client library part - Start building mariadb without client library part, use mariadb-connector-c package >= 3.0 instead From fe537064baa9a8f5c4be0542894066eb3f0d0ecf Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 26 Sep 2017 13:21:24 +0200 Subject: [PATCH 404/789] Use obosletes of "-libs" in "-common", if built without client library part --- mariadb.spec | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index b7cd246..098531f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -126,7 +126,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -352,6 +352,11 @@ Requires: %{_sysconfdir}/my.cnf Provides: mariadb-galera-common = %{sameevr} Obsoletes: mariadb-galera-common < %{obsoleted_mariadb_galera_common_evr} +%if %{without clibrary} +Obsoletes: %{name}-libs%{?_isa} <= %{sameevr} +%endif + + %description common The package provides the essential shared files for any MariaDB program. You will need to install this package to use any other MariaDB package. @@ -1472,10 +1477,11 @@ fi %endif %changelog -* Wed Sep 20 2017 Michal Schorm - 3:10.2.8-4 +* Wed Sep 20 2017 Michal Schorm - 3:10.2.8-5 - Fix building without client library part - Start building mariadb without client library part, use mariadb-connector-c package >= 3.0 instead +- Use obosletes of "-libs" in "-common", if built without client library part * Mon Aug 28 2017 Honza Horak - 3:10.2.8-2 - Fix paths in galera_recovery and galera_new_cluster From 501c9293f955e1fd965f6f611ed7ce821bca028d Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 2 Oct 2017 14:47:32 +0200 Subject: [PATCH 405/789] Rebase to 10.2.9 Testsuite temorarly disabled in order to fast deploy critical fix Related: #1497234 --- mariadb-recovery.patch | 8 ++++---- mariadb.spec | 13 ++++++++++--- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/mariadb-recovery.patch b/mariadb-recovery.patch index fd61b48..2443a45 100644 --- a/mariadb-recovery.patch +++ b/mariadb-recovery.patch @@ -2,15 +2,15 @@ Wrong path used for mysqld rhbz: #1403416 -diff -up mariadb-10.1.24/scripts/galera_recovery.sh.mysqldpath mariadb-10.1.24/scripts/galera_recovery.sh ---- mariadb-10.1.24/scripts/galera_recovery.sh.mysqldpath 2017-07-18 18:47:33.993396821 +0200 -+++ mariadb-10.1.24/scripts/galera_recovery.sh 2017-07-18 18:48:17.323509332 +0200 +diff -Naurp mariadb-10.2.9/scripts/galera_recovery.sh mariadb-10.2.9/scripts/galera_recovery.sh_patched +--- mariadb-10.2.9/scripts/galera_recovery.sh 2017-09-25 08:33:25.000000000 +0200 ++++ mariadb-10.2.9/scripts/galera_recovery.sh_patched 2017-09-28 09:58:54.242618594 +0200 @@ -68,7 +68,7 @@ parse_arguments() { wsrep_recover_position() { # Redirect server's error log to the log file. - eval /usr/sbin/mysqld $cmdline_args --user=$user --wsrep_recover \ + eval @libexecdir@/mysqld $cmdline_args --user=$user --wsrep_recover \ - --log-error="$log_file" + --disable-log-error 2> "$log_file" ret=$? if [ $ret -ne 0 ]; then diff --git a/mariadb.spec b/mariadb.spec index 098531f..f95f5d2 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,7 +3,7 @@ %global pkgnamepatch mariadb # Regression tests may take a long time (many cores recommended), skip them by -%{!?runselftest:%global runselftest 1} +%{!?runselftest:%global runselftest 0} # Set this to 1 to see which tests fail, but 0 on production ready build %global ignore_testsuite_result 0 @@ -122,11 +122,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.2 -%global bugfixver 8 +%global bugfixver 9 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 5%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -969,6 +969,8 @@ rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc rm %{buildroot}%{_mandir}/man1/mysql_config.1* unlink %{buildroot}%{_mandir}/man1/mariadb_config.1* %else +# This file is already included in mariadb-connector-c +rm %{buildroot}%{_includedir}/mysql/mysql_version.h %if %{with clibrary} # Create symlinks to the 'libmariadb' library, for compatibility reasons # Note: the -libs subpackage has Provides: for this compat symlink; when @@ -1477,6 +1479,11 @@ fi %endif %changelog +* Thu Sep 28 2017 Michal Schorm - 3:10.2.9-1 +- Rebase to 10.2.9 +- Testsuite temorarly disabled in order to fast deploy critical fix +- Related: #1497234 + * Wed Sep 20 2017 Michal Schorm - 3:10.2.8-5 - Fix building without client library part - Start building mariadb without client library part, From e4555ecce4e6ed008716a53af956c090608901d2 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 2 Oct 2017 14:56:44 +0200 Subject: [PATCH 406/789] New sources for 10.2.9 --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index a5b7f21..11e9767 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.2.8.tar.gz) = c0527481a99249caef829a3ad2f610f6ebb30ed9af49c56b783695ce4fe83db93021ef0f60efad92750038c8894b957cbb1f2c4ee56fe8d5c15c878c83ba46d1 +SHA512 (mariadb-10.2.9.tar.gz) = 11ba0913144d7298ffa4c0a0128a3d1525a39b8205ffc580311751cf25a4e86159e46a32d3c8330c4ea028cdd50643eb5381651df654751ca3e4fb3d4698a373 From 7d1892123661ec18d53911863e403efdb7898b60 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 4 Oct 2017 21:30:08 +0200 Subject: [PATCH 407/789] Fix of "with" and "without" macros, so they works Use 'iproute' dependency instead of 'net-tools' Related: #1496131 Set server package to own /usr/lib64/mysql directory Use correct obsolete, so upgrade from maridb 10.1 to 10.2 is possible with dnf "--allowerasing" option Related: #1497234 Created upstream issue tracker for the failing Spider testsuite --- mariadb.spec | 49 ++++++++++++++++++++++++++++---------- rh-skipped-tests-base.list | 1 + 2 files changed, 38 insertions(+), 12 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index f95f5d2..5abd1ff 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -60,6 +60,7 @@ %bcond_without config # For deep debugging we need to build binaries with extra debug info +# Does not work at this time: https://jira.mariadb.org/browse/MDEV-13986 %bcond_with debug # Include files for SysV init or systemd @@ -126,7 +127,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -354,6 +355,7 @@ Obsoletes: mariadb-galera-common < %{obsoleted_mariadb_galera_common_evr} %if %{without clibrary} Obsoletes: %{name}-libs%{?_isa} <= %{sameevr} +Obsoletes: %{name}-common%{?_isa} < %{sameevr} %endif @@ -436,8 +438,9 @@ Requires(posttrans): systemd %endif # wsrep requirements Requires: lsof -Requires: net-tools Requires: rsync +# RHBZ#1496131; use 'iproute' instead of 'net-tools' +Requires: iproute %if %{with mysql_names} Provides: mysql-server = %{sameevr} Provides: mysql-server%{?_isa} = %{sameevr} @@ -830,8 +833,7 @@ install -p -m 0755 -d %{buildroot}%{dbdatadir} %if %{with config} install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf %else -rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf -rm %{buildroot}%{_sysconfdir}/my.cnf +rm scripts/my.cnf %endif # use different config file name for each variant of server @@ -962,11 +964,12 @@ rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1 %if %{without devel} unlink %{buildroot}%{_bindir}/mysql_config +rm %{buildroot}%{_bindir}/mysql_config* rm %{buildroot}%{_bindir}/mariadb_config rm -r %{buildroot}%{_includedir}/mysql rm %{buildroot}%{_datadir}/aclocal/mysql.m4 rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc -rm %{buildroot}%{_mandir}/man1/mysql_config.1* +rm %{buildroot}%{_mandir}/man1/mysql_config*.1* unlink %{buildroot}%{_mandir}/man1/mariadb_config.1* %else # This file is already included in mariadb-connector-c @@ -1020,6 +1023,7 @@ rm %{buildroot}%{_mandir}/man1/tokuft_logdump.1* %if %{without config} rm %{buildroot}%{_sysconfdir}/my.cnf rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf +rm %{buildroot}%{_sysconfdir}/my.cnf.d/enable_encryption.preset %endif %if %{without common} @@ -1030,7 +1034,7 @@ rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets rm %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,czech,danish,dutch,estonian,\ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ -polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} +polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian,hindi} %endif %if %{without bench} @@ -1043,6 +1047,18 @@ rm -r %{buildroot}%{_datadir}/mysql-test rm %{buildroot}%{_mandir}/man1/mysql_client_test.1* %endif +%if %{without galera} +rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf +rm %{buildroot}%{_sysconfdir}/sysconfig/clustercheck +rm %{buildroot}%{_bindir}/{clustercheck,galera_new_cluster} +%if %{with init_systemd} +rm %{buildroot}%{_bindir}/galera_recovery +rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf +%endif +%endif + + + %check %if %{with test} %if %runselftest @@ -1208,13 +1224,11 @@ fi %doc %{_datadir}/doc/%{_pkgdocdirname} %dir %{_datadir}/%{pkg_name} %{_datadir}/%{pkg_name}/charsets -%if %{with clibrary} -%dir %{_libdir}/mysql -%dir %{_libdir}/mysql/plugin +%if %{with devel} && %{with errmsg} && %{with galera} && %{with config} && %{with clibrary} %{_libdir}/mysql/plugin/dialog.so %{_libdir}/mysql/plugin/mysql_clear_password.so -%endif -%endif +%endif # devel && errmsg && galera && config +%endif # common %if %{with errmsg} %files errmsg @@ -1315,6 +1329,8 @@ fi %dir %{_datadir}/%{pkg_name} %endif +%dir %{_libdir}/mysql +%dir %{_libdir}/mysql/plugin %{_libdir}/mysql/plugin/* %{?with_oqgraph:%exclude %{_libdir}/mysql/plugin/ha_oqgraph.so} %{?with_connect:%exclude %{_libdir}/mysql/plugin/ha_connect.so} @@ -1479,10 +1495,19 @@ fi %endif %changelog +* Wed Oct 04 2017 Michal Schorm - 3:10.2.9-2 +- Fix of "with" and "without" macros, so they works +- Use 'iproute' dependency instead of 'net-tools' + Related: #1496131 +- Set server package to own /usr/lib64/mysql directory +- Use correct obsolete, so upgrade from maridb 10.1 to 10.2 is possible + with dnf "--allowerasing" option + Related: #1497234 + * Thu Sep 28 2017 Michal Schorm - 3:10.2.9-1 - Rebase to 10.2.9 - Testsuite temorarly disabled in order to fast deploy critical fix -- Related: #1497234 + Related: #1497234 * Wed Sep 20 2017 Michal Schorm - 3:10.2.8-5 - Fix building without client library part diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 4335e9b..bf4f3f0 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -30,6 +30,7 @@ rpl.rpl_row_img_eng_noblob : sys_vars.slave_parallel_threads_basic : +# https://jira.mariadb.org/browse/MDEV-14003 spider/bg.spider3_fixes : spider/bg.spider3_fixes_part : spider/bg.spider_fixes : From 19214b69d8162b3a11c507cece9fd0fcb85367c5 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 5 Oct 2017 14:33:14 +0200 Subject: [PATCH 408/789] Fix building with client library --- mariadb.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 5abd1ff..19d1845 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -515,7 +515,9 @@ Group: Applications/Databases %{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} # avoid issues with openssl1.0 / openssl1.1 / compat Requires: pkgconfig(openssl) +%if %{without clibrary} Requires: mariadb-connector-c-devel >= 3.0 +%endif %if %{with mysql_names} Provides: mysql-devel = %{sameevr} Provides: mysql-devel%{?_isa} = %{sameevr} @@ -972,8 +974,6 @@ rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc rm %{buildroot}%{_mandir}/man1/mysql_config*.1* unlink %{buildroot}%{_mandir}/man1/mariadb_config.1* %else -# This file is already included in mariadb-connector-c -rm %{buildroot}%{_includedir}/mysql/mysql_version.h %if %{with clibrary} # Create symlinks to the 'libmariadb' library, for compatibility reasons # Note: the -libs subpackage has Provides: for this compat symlink; when @@ -984,6 +984,9 @@ ln -s libmariadb.so.3 libmysqlclient.so.18 #ln -s libmariadb.so libmysqlclient_r.so popd %else +# This file is already included in mariadb-connector-c +rm %{buildroot}%{_includedir}/mysql/mysql_version.h + rm %{buildroot}%{_bindir}/*_config* rm %{buildroot}%{_mandir}/man1/*_config* #rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so* @@ -1503,6 +1506,7 @@ fi - Use correct obsolete, so upgrade from maridb 10.1 to 10.2 is possible with dnf "--allowerasing" option Related: #1497234 +- Fix building with client library * Thu Sep 28 2017 Michal Schorm - 3:10.2.9-1 - Rebase to 10.2.9 From 604c1bd8ebe7dbde82cf2efc6e0863414bb9fc6f Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 5 Oct 2017 14:37:00 +0200 Subject: [PATCH 409/789] Start building with client library and testsuite, since this is a F27 branch --- mariadb.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 19d1845..4c31040 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,7 +3,7 @@ %global pkgnamepatch mariadb # Regression tests may take a long time (many cores recommended), skip them by -%{!?runselftest:%global runselftest 0} +%{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail, but 0 on production ready build %global ignore_testsuite_result 0 @@ -43,7 +43,7 @@ %bcond_without oqgraph # For some use cases we do not need some parts of the package. Set to "...with" to exclude -%bcond_with clibrary +%bcond_without clibrary %bcond_without embedded %bcond_without devel %bcond_without client @@ -1507,6 +1507,7 @@ fi with dnf "--allowerasing" option Related: #1497234 - Fix building with client library +- Build with client library and testsuite, since this is F27 branch * Thu Sep 28 2017 Michal Schorm - 3:10.2.9-1 - Rebase to 10.2.9 From 5d1fdf84048a719f3bb63f66f5fc596788b61945 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 5 Oct 2017 18:13:25 +0200 Subject: [PATCH 410/789] Fix client library obsolete --- mariadb.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 19d1845..07c3580 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -354,8 +354,7 @@ Provides: mariadb-galera-common = %{sameevr} Obsoletes: mariadb-galera-common < %{obsoleted_mariadb_galera_common_evr} %if %{without clibrary} -Obsoletes: %{name}-libs%{?_isa} <= %{sameevr} -Obsoletes: %{name}-common%{?_isa} < %{sameevr} +Obsoletes: %{name}-libs <= %{sameevr} %endif @@ -1507,6 +1506,8 @@ fi with dnf "--allowerasing" option Related: #1497234 - Fix building with client library +- Fix client library obsolete + Related: #1498956 * Thu Sep 28 2017 Michal Schorm - 3:10.2.9-1 - Rebase to 10.2.9 From 81336ab97e91b46dc459b15c24fa124cc56370bc Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 5 Oct 2017 19:05:24 +0200 Subject: [PATCH 411/789] Enable testsuite again Bump version for rebuild --- mariadb.spec | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 07c3580..fe9cff8 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,7 +3,7 @@ %global pkgnamepatch mariadb # Regression tests may take a long time (many cores recommended), skip them by -%{!?runselftest:%global runselftest 0} +%{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail, but 0 on production ready build %global ignore_testsuite_result 0 @@ -127,7 +127,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1497,6 +1497,11 @@ fi %endif %changelog +* Thu Oct 05 2017 Michal Schorm - 3:10.2.9-3 +- Fix client library obsolete + Related: #1498956 +- Enable testsuite again + * Wed Oct 04 2017 Michal Schorm - 3:10.2.9-2 - Fix of "with" and "without" macros, so they works - Use 'iproute' dependency instead of 'net-tools' @@ -1506,8 +1511,6 @@ fi with dnf "--allowerasing" option Related: #1497234 - Fix building with client library -- Fix client library obsolete - Related: #1498956 * Thu Sep 28 2017 Michal Schorm - 3:10.2.9-1 - Rebase to 10.2.9 From f43c1299ba97cf0b6471899e038b80ad198d38b4 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 5 Oct 2017 18:13:25 +0200 Subject: [PATCH 412/789] Fix client library obsolete --- mariadb.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 4c31040..e7dddd5 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -354,8 +354,7 @@ Provides: mariadb-galera-common = %{sameevr} Obsoletes: mariadb-galera-common < %{obsoleted_mariadb_galera_common_evr} %if %{without clibrary} -Obsoletes: %{name}-libs%{?_isa} <= %{sameevr} -Obsoletes: %{name}-common%{?_isa} < %{sameevr} +Obsoletes: %{name}-libs <= %{sameevr} %endif @@ -1508,6 +1507,8 @@ fi Related: #1497234 - Fix building with client library - Build with client library and testsuite, since this is F27 branch +- Fix client library obsolete + Related: #1498956 * Thu Sep 28 2017 Michal Schorm - 3:10.2.9-1 - Rebase to 10.2.9 From 082df141a1e83be5c01373d772fefd1f740cbe31 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 5 Oct 2017 19:05:24 +0200 Subject: [PATCH 413/789] Bump version for rebuild --- mariadb.spec | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index e7dddd5..08b5450 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -127,7 +127,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1497,6 +1497,10 @@ fi %endif %changelog +* Thu Oct 05 2017 Michal Schorm - 3:10.2.9-3 +- Fix client library obsolete + Related: #1498956 + * Wed Oct 04 2017 Michal Schorm - 3:10.2.9-2 - Fix of "with" and "without" macros, so they works - Use 'iproute' dependency instead of 'net-tools' @@ -1507,8 +1511,6 @@ fi Related: #1497234 - Fix building with client library - Build with client library and testsuite, since this is F27 branch -- Fix client library obsolete - Related: #1498956 * Thu Sep 28 2017 Michal Schorm - 3:10.2.9-1 - Rebase to 10.2.9 From ac59198e8be813cdf11eaa1ff1109c62cba120b0 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 8 Oct 2017 00:18:33 +0200 Subject: [PATCH 414/789] RPMLint error fix: use python version in python scripts shebangs --- mariadb.spec | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index fe9cff8..8809e5d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -218,6 +218,8 @@ BuildRequires: pam-devel BuildRequires: perl-interpreter BuildRequires: perl-generators %endif +# Some tests requires python +BuildRequires: python3 # Tests requires time and ps and some perl modules BuildRequires: procps BuildRequires: time @@ -692,6 +694,9 @@ fi rm -r storage/rocksdb/ %endif +# set interpreter from python -> python3 +# https://pagure.io/packaging-committee/issue/698 +sed -i 's:#!/usr/bin/env python:#!/usr/bin/env python3:g' storage/tokudb/mysql-test/tokudb/t/* %build @@ -1501,6 +1506,7 @@ fi - Fix client library obsolete Related: #1498956 - Enable testsuite again +- RPMLint error fix: use python version in python scripts shebangs * Wed Oct 04 2017 Michal Schorm - 3:10.2.9-2 - Fix of "with" and "without" macros, so they works From 3b1fe420f030d934c0a03cdfb1f0d3c974732dc1 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 8 Oct 2017 00:35:13 +0200 Subject: [PATCH 415/789] RPMLint error fix: description line too long --- mariadb.spec | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 8809e5d..3c111bb 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -504,9 +504,9 @@ Provides: mysql-perl = %{sameevr} Requires: perl(DBI) perl(DBD::mysql) %description server-utils -This package contains all non-essential server utilities and scripts for managing -databases. It also contains all utilities requiring Perl and it is the only MariaDB -subpackage, except test subpackage, that depends on Perl. +This package contains all non-essential server utilities and scripts for +managing databases. It also contains all utilities requiring Perl and it is +the only MariaDB subpackage, except test subpackage, that depends on Perl. %if %{with devel} @@ -884,7 +884,6 @@ rm %{buildroot}%{_bindir}/mysql_embedded rm %{buildroot}%{_libdir}/mysql/*.a rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure rm %{buildroot}%{_datadir}/%{pkg_name}/magic -#rm %{buildroot}%{_datadir}/%{pkg_name}/my-*.cnf rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server rm %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* @@ -935,6 +934,8 @@ cp Docs/README-wsrep Docs/README.wsrep # remove *.jar file from mysql-test rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar +rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar +rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar # RPMLINT E: # mariadb-bench.x86_64: E: script-without-shebang /usr/share/sql-bench/myisam.cnf @@ -1507,6 +1508,7 @@ fi Related: #1498956 - Enable testsuite again - RPMLint error fix: use python version in python scripts shebangs +- RPMLint error fix: description line too long * Wed Oct 04 2017 Michal Schorm - 3:10.2.9-2 - Fix of "with" and "without" macros, so they works From 1b7bd2e9d5b5ab88a0c75876c9f7eeb8d6854fc7 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 16 Oct 2017 14:28:44 +0200 Subject: [PATCH 416/789] RPMLint error fix: Remove unused python scripts which remained from TokuDB upstream --- mariadb.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 3c111bb..bf97a3c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -694,9 +694,8 @@ fi rm -r storage/rocksdb/ %endif -# set interpreter from python -> python3 -# https://pagure.io/packaging-committee/issue/698 -sed -i 's:#!/usr/bin/env python:#!/usr/bin/env python3:g' storage/tokudb/mysql-test/tokudb/t/* +# Remove python scripts remains from tokudb upstream (those files are not used anyway) +rm -r storage/tokudb/mysql-test/tokudb/t/*.py %build @@ -1507,7 +1506,8 @@ fi - Fix client library obsolete Related: #1498956 - Enable testsuite again -- RPMLint error fix: use python version in python scripts shebangs +- RPMLint error fix: + Remove unused python scripts which remained from TokuDB upstream - RPMLint error fix: description line too long * Wed Oct 04 2017 Michal Schorm - 3:10.2.9-2 From 25eb8c91e6fd51b35450fceb1dc79af5d1280cea Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 16 Oct 2017 14:42:14 +0200 Subject: [PATCH 417/789] Update PCRE version and fix its failsafe --- mariadb.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index bf97a3c..133ad57 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -81,7 +81,7 @@ # MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use # the bundled library, since the package cannot be build with older version -%global pcre_version 8.40 +%global pcre_version 8.41 %if 0%{?fedora} >= 21 %bcond_without pcre %else @@ -679,7 +679,7 @@ cat selinux/%{name}-server-galera.te %endif # Check if PCRE version is actual -%{!?with_pcre: +%if %{with pcre} pcre_maj=`grep '^m4_define(pcre_major' pcre/configure.ac | sed -r 's/^m4_define\(pcre_major, \[([0-9]+)\]\)/\1/'` pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\(pcre_minor, \[([0-9]+)\]\)/\1/'` @@ -688,7 +688,7 @@ then echo "\n Error: PCRE version is outdated. \n\tIncluded version:%{pcre_version} \n\tUpstream version: $pcre_maj.$pcre_min\n" exit 1 fi -} +%endif %if %{without rocksdb} rm -r storage/rocksdb/ From b8b4d032f6e9b763e86e4522c02066a7fe6caf3c Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 3 Nov 2017 03:41:33 +0100 Subject: [PATCH 418/789] Rebase to 10.2.10 version Patch 2: mariadb-install-test.patch has been incorporated by upstream Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros Update PCRE check Start using location libdir/mariadb for plugins Move libraries to libdir Update unstable tests list --- mariadb-install-db-sharedir.patch | 39 -------- mariadb-install-test.patch | 55 ------------ mariadb.spec | 143 ++++++++++++++++-------------- rh-skipped-tests-base.list | 3 - sources | 2 +- 5 files changed, 75 insertions(+), 167 deletions(-) delete mode 100644 mariadb-install-db-sharedir.patch delete mode 100644 mariadb-install-test.patch diff --git a/mariadb-install-db-sharedir.patch b/mariadb-install-db-sharedir.patch deleted file mode 100644 index 77a90e7..0000000 --- a/mariadb-install-db-sharedir.patch +++ /dev/null @@ -1,39 +0,0 @@ -Use configured value instead of hardcoded path - -diff -up mariadb-10.1.18/scripts/mysql_install_db.pl.in.pbasedir mariadb-10.1.18/scripts/mysql_install_db.pl.in ---- mariadb-10.1.18/scripts/mysql_install_db.pl.in.pbasedir 2016-10-04 19:03:15.562101826 +0200 -+++ mariadb-10.1.18/scripts/mysql_install_db.pl.in 2016-10-04 19:04:47.833130195 +0200 -@@ -320,7 +320,7 @@ elsif ( $opt->{basedir} ) - find_in_basedir($opt,"file","mysqld-nt", - "bin"); # ,"sql" - $srcpkgdatadir = find_in_basedir($opt,"dir","fill_help_tables.sql", -- "share","share/mysql"); # ,"scripts" -+ "share","@INSTALL_MYSQLSHAREDIR@"); # ,"scripts" - $buildpkgdir = $srcpkgdatadir; - $scriptdir = "$opt->{basedir}/scripts"; - } -diff -up mariadb-10.1.18/scripts/mysql_install_db.sh.pbasedir mariadb-10.1.18/scripts/mysql_install_db.sh ---- mariadb-10.1.18/scripts/mysql_install_db.sh.pbasedir 2016-10-04 19:03:22.714104025 +0200 -+++ mariadb-10.1.18/scripts/mysql_install_db.sh 2016-10-04 19:08:11.457186833 +0200 -@@ -283,17 +283,17 @@ then - cannot_find_file mysqld $basedir/libexec $basedir/sbin $basedir/bin - exit 1 - fi -- langdir=`find_in_basedir --dir errmsg.sys share/english share/mysql/english` -+ langdir=`find_in_basedir --dir errmsg.sys share/english @INSTALL_MYSQLSHAREDIR@/english` - if test -z "$langdir" - then -- cannot_find_file errmsg.sys $basedir/share/english $basedir/share/mysql/english -+ cannot_find_file errmsg.sys $basedir/share/english $basedir/@INSTALL_MYSQLSHAREDIR@/english - exit 1 - fi -- srcpkgdatadir=`find_in_basedir --dir fill_help_tables.sql share share/mysql` -+ srcpkgdatadir=`find_in_basedir --dir fill_help_tables.sql share @INSTALL_MYSQLSHAREDIR@` - buildpkgdatadir=$srcpkgdatadir - if test -z "$srcpkgdatadir" - then -- cannot_find_file fill_help_tables.sql $basedir/share $basedir/share/mysql -+ cannot_find_file fill_help_tables.sql $basedir/share $basedir/@INSTALL_MYSQLSHAREDIR@ - exit 1 - fi - scriptdir="$basedir/scripts" diff --git a/mariadb-install-test.patch b/mariadb-install-test.patch deleted file mode 100644 index 1797474..0000000 --- a/mariadb-install-test.patch +++ /dev/null @@ -1,55 +0,0 @@ -Improve the documentation that will be installed in the mysql-test RPM. - ---- mariadb-10.1.13/mysql-test/README.orig 2016-03-24 10:12:10.000000000 +0100 -+++ mariadb-10.1.13/mysql-test/README 2016-03-29 10:23:30.074326900 +0200 -@@ -1,15 +1,28 @@ --This directory contains a test suite for the MySQL daemon. To run --the currently existing test cases, simply execute ./mysql-test-run in --this directory. It will fire up the newly built mysqld and test it. -- --Note that you do not have to have to do "make install", and you could --actually have a co-existing MySQL installation. The tests will not --conflict with it. To run the test suite in a source directory, you --must do make first. -- --All tests must pass. If one or more of them fail on your system, please --read the following manual section for instructions on how to report the --problem: -+This directory contains a test suite for the MariaDB daemon. To run -+the currently existing test cases, execute ./mysql-test-run in -+this directory. -+ -+For use in Red Hat distributions, you should run the script as user mysql, -+who is created with nologin shell however, so the best bet is something like -+ $ su - -+ # cd /usr/share/mysql-test -+ # su -s /bin/bash mysql -c "./mysql-test-run --skip-test-list=unstable-tests" -+ -+This will use the installed mysql executables, but will run a private copy -+of the server process (using data files within /usr/share/mysql-test), -+so you need not start the mysqld service beforehand. -+ -+The "--skip-test-list=unstable-tests" option excludes tests that are -+known to fail on one or more Red-Hat-supported platforms. You can omit it -+if you want to check whether such failures occur for you. Documentation -+about the reasons for omitting such tests can be found in the file -+unstable-tests. -+ -+To clean up afterwards, remove the created "var" subdirectory, eg -+ # su -s /bin/bash - mysql -c "rm -rf /usr/share/mysql-test/var" -+ -+If one or more tests fail on your system, please read the following manual -+section for instructions on how to report the problem: - - https://mariadb.com/kb/en/reporting-bugs - -@@ -26,7 +39,8 @@ other relevant options. - - With no test cases named on the command line, mysql-test-run falls back - to the normal "non-extern" behavior. The reason for this is that some --tests cannot run with an external server. -+tests cannot run with an external server (because they need to control the -+options with which the server is started). - - You can create your own test cases. To create a test case, create a new - file in the t subdirectory using a text editor. The file should have a .test diff --git a/mariadb.spec b/mariadb.spec index 133ad57..c689187 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -60,8 +60,7 @@ %bcond_without config # For deep debugging we need to build binaries with extra debug info -# Does not work at this time: https://jira.mariadb.org/browse/MDEV-13986 -%bcond_with debug +%bcond_with debug # Include files for SysV init or systemd %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 @@ -81,11 +80,11 @@ # MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use # the bundled library, since the package cannot be build with older version -%global pcre_version 8.41 %if 0%{?fedora} >= 21 -%bcond_without pcre +%bcond_without bundled_pcre %else -%bcond_with pcre +%bcond_with bundled_pcre +%global pcre_bundled_version 8.41 %endif # We define some system's well known locations here so we can use them easily @@ -123,11 +122,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.2 -%global bugfixver 9 +%global bugfixver 10 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -163,16 +162,11 @@ Source71: LICENSE.clustercheck # https://jira.mariadb.org/browse/MDEV-12646 Source72: mariadb-server-galera.te -# Patch2: testsuite README update, introducing skipped-tests.list -# upstream questioned, if they are insterested: https://jira.mariadb.org/browse/MDEV-12263 -Patch2: %{pkgnamepatch}-install-test.patch # Patch4: Red Hat distributions specific logrotate fix # it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2 Patch4: %{pkgnamepatch}-logrotate.patch # Patch7: add to the CMake file all files where we want macros to be expanded Patch7: %{pkgnamepatch}-scripts.patch -# Patch8: resolve conflict, when we combine MariaDB and MySQL packages -Patch8: %{pkgnamepatch}-install-db-sharedir.patch # Patch9: pre-configure to comply with guidelines Patch9: %{pkgnamepatch}-ownsetup.patch @@ -211,8 +205,8 @@ BuildRequires: libarchive-devel # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel # use either new enough version of pcre or provide bundles(pcre) -%{?with_pcre:BuildRequires: pcre-devel >= 8.35} -%{!?with_pcre:Provides: bundled(pcre) = %{pcre_version}} +%{?with_bundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf} +%{?without_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}} # Few utilities needs Perl %if 0%{?fedora} >= 22 || 0%{?rhel} > 7 BuildRequires: perl-interpreter @@ -273,10 +267,10 @@ Obsoletes: mariadb-galera < %{obsoleted_mariadb_galera_evr} # Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering %if 0%{?fedora} > 14 || 0%{?rhel} > 6 %global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) -%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ +%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\\.so)$ %else %filter_from_requires /perl(\(hostnames\|lib::mtr\|lib::v1\|mtr_\|My::\)/d -%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\.so) +%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\.so) %filter_setup %endif @@ -506,7 +500,7 @@ Requires: perl(DBI) perl(DBD::mysql) %description server-utils This package contains all non-essential server utilities and scripts for managing databases. It also contains all utilities requiring Perl and it is -the only MariaDB subpackage, except test subpackage, that depends on Perl. +the only MariaDB sub-package, except test subpackage, that depends on Perl. %if %{with devel} @@ -636,10 +630,8 @@ MariaDB is a community developed branch of MySQL. %prep %setup -q -n mariadb-%{version} -%patch2 -p1 %patch4 -p1 %patch7 -p1 -%patch8 -p1 %patch9 -p1 %patch37 -p1 %patch40 -p1 @@ -678,17 +670,27 @@ sed -i 's/kerberos_port_t/kerberos_master_port_t/' selinux/%{name}-server-galera cat selinux/%{name}-server-galera.te %endif -# Check if PCRE version is actual -%if %{with pcre} + +# Get version of PCRE, that upstream use pcre_maj=`grep '^m4_define(pcre_major' pcre/configure.ac | sed -r 's/^m4_define\(pcre_major, \[([0-9]+)\]\)/\1/'` pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\(pcre_minor, \[([0-9]+)\]\)/\1/'` -if [ %{pcre_version} != "$pcre_maj.$pcre_min" ] +%if %{without bundled_pcre} +# Check if the PCRE version in macro 'pcre_bundled_version', used in Provides: bundled(...), is the same version as upstream actually bundles +if [ %{pcre_bundled_version} != "$pcre_maj.$pcre_min" ] then - echo "\n Error: PCRE version is outdated. \n\tIncluded version:%{pcre_version} \n\tUpstream version: $pcre_maj.$pcre_min\n" + echo "\n Error: Bundled PCRE version is not correct. \n\tBundled version number:%{pcre_bundled_version} \n\tUpstream version number: $pcre_maj.$pcre_min\n" exit 1 fi -%endif +%else +# Check if the PCRE version that upstream use, is the same as the one present in system +pcre_system_version=`pkgconf %{_libdir}/pkgconfig/libpcre.pc --modversion 2>/dev/null ` +if [ "$pcre_system_version" != "$pcre_maj.$pcre_min" ] +then + echo "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_maj.$pcre_min\n" +fi +%endif # PCRE + %if %{without rocksdb} rm -r storage/rocksdb/ @@ -697,6 +699,8 @@ rm -r storage/rocksdb/ # Remove python scripts remains from tokudb upstream (those files are not used anyway) rm -r storage/tokudb/mysql-test/tokudb/t/*.py + + %build # fail quickly and obviously if user tries to build as root @@ -749,11 +753,11 @@ export LDFLAGS -DINSTALL_DOCREADMEDIR="share/doc/%{_pkgdocdirname}" \ -DINSTALL_INCLUDEDIR=include/mysql \ -DINSTALL_INFODIR=share/info \ - -DINSTALL_LIBDIR="%{_lib}/mysql" \ + -DINSTALL_LIBDIR="%{_lib}" \ -DINSTALL_MANDIR=share/man \ -DINSTALL_MYSQLSHAREDIR=share/%{pkg_name} \ -DINSTALL_MYSQLTESTDIR=share/mysql-test \ - -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ + -DINSTALL_PLUGINDIR="%{_lib}/%{pkg_name}/plugin" \ -DINSTALL_SBINDIR=libexec \ -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_SQLBENCHDIR=share \ @@ -765,7 +769,7 @@ export LDFLAGS -DWITH_EMBEDDED_SERVER=ON \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -%{?with_pcre: -DWITH_PCRE=system}\ + -DWITH_PCRE=%{?with_bundled_pcre:system}%{!?with_bundled_pcre:bundled} \ -DWITH_JEMALLOC=system \ -DWITH_LIBARCHIVE=ON \ -DWITH_MARIABACKUP=ON \ @@ -783,11 +787,11 @@ make %{?_smp_mflags} VERBOSE=1 # 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 e in innobase xtradb ; do - for f in pars0grm.y pars0lex.l ; do - cp -p "storage/$e/pars/$f" "storage/$e/$f" - done -done +#for e in innobase xtradb ; do +# for f in pars0grm.y pars0lex.l ; do +# cp -p "storage/$e/pars/$f" "storage/$e/$f" +# done +#done # build selinux policy %if %{with galera} @@ -821,8 +825,8 @@ mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also %%{name}-file-contents.patch) -install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ -install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ +install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/%{pkg_name}/ +install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/%{pkg_name}/ rm -r %{buildroot}%{_datadir}/doc/%{_pkgdocdirname}/MariaDB-server-%{version}/ mkdir -p %{buildroot}%{logfiledir} @@ -880,7 +884,7 @@ ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/ # should move this to /etc/ ? rm %{buildroot}%{_bindir}/mysql_embedded -rm %{buildroot}%{_libdir}/mysql/*.a +rm %{buildroot}%{_libdir}/*.a rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure rm %{buildroot}%{_datadir}/%{pkg_name}/magic rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server @@ -894,12 +898,6 @@ mkdir -p %{buildroot}%{logrotateddir} mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name} chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name} -%if %{with clibrary} -mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d -# Save a name of the directory that contains libraries to this file -echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf -%endif - # copy additional docs into build tree so %%doc will find them install -p -m 0644 %{SOURCE5} %{basename:%{SOURCE5}} install -p -m 0644 %{SOURCE6} %{basename:%{SOURCE6}} @@ -954,16 +952,16 @@ ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list %if %{without clibrary} rm %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf # Client library and links -rm %{buildroot}%{_libdir}/mysql/libmariadb*.so.* -unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so -unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so -unlink %{buildroot}%{_libdir}/mysql/libmariadb.so +rm %{buildroot}%{_libdir}/libmariadb*.so.* +unlink %{buildroot}%{_libdir}/libmysqlclient.so +unlink %{buildroot}%{_libdir}/libmysqlclient_r.so +unlink %{buildroot}%{_libdir}/libmariadb.so # Client plugins -rm %{buildroot}%{_libdir}/mysql/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so,auth_gssapi_client.so} +rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so,auth_gssapi_client.so} %endif %if %{without embedded} -rm %{buildroot}%{_libdir}/mysql/libmysqld.so* +rm %{buildroot}%{_libdir}/%{pkg_name}/libmysqld.so* rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* %endif @@ -982,7 +980,7 @@ unlink %{buildroot}%{_mandir}/man1/mariadb_config.1* # Create symlinks to the 'libmariadb' library, for compatibility reasons # Note: the -libs subpackage has Provides: for this compat symlink; when # it is removed, they should also be removed -pushd %{buildroot}%{_libdir}/mysql/ +pushd %{buildroot}%{_libdir} #ln -s libmariadb.so libmysqlclient.so ln -s libmariadb.so.3 libmysqlclient.so.18 #ln -s libmariadb.so libmysqlclient_r.so @@ -1210,9 +1208,8 @@ fi %if %{with clibrary} %files libs -%{_libdir}/mysql/libmariadb.so.* -%{_libdir}/mysql/libmysqlclient.so.18 -%{_sysconfdir}/ld.so.conf.d/* +%{_libdir}/libmariadb.so.* +%{_libdir}/libmysqlclient.so.18 %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf %endif @@ -1232,8 +1229,8 @@ fi %dir %{_datadir}/%{pkg_name} %{_datadir}/%{pkg_name}/charsets %if %{with devel} && %{with errmsg} && %{with galera} && %{with config} && %{with clibrary} -%{_libdir}/mysql/plugin/dialog.so -%{_libdir}/mysql/plugin/mysql_clear_password.so +%{_libdir}/%{pkg_name}/plugin/dialog.so +%{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so %endif # devel && errmsg && galera && config %endif # common @@ -1330,19 +1327,19 @@ fi %{_libexecdir}/mysqld -%{_libdir}/mysql/INFO_SRC -%{_libdir}/mysql/INFO_BIN +%{_libdir}/%{pkg_name}/INFO_SRC +%{_libdir}/%{pkg_name}/INFO_BIN %if %{without common} %dir %{_datadir}/%{pkg_name} %endif -%dir %{_libdir}/mysql -%dir %{_libdir}/mysql/plugin -%{_libdir}/mysql/plugin/* -%{?with_oqgraph:%exclude %{_libdir}/mysql/plugin/ha_oqgraph.so} -%{?with_connect:%exclude %{_libdir}/mysql/plugin/ha_connect.so} -%exclude %{_libdir}/mysql/plugin/dialog.so -%exclude %{_libdir}/mysql/plugin/mysql_clear_password.so +%dir %{_libdir}/%{pkg_name} +%dir %{_libdir}/%{pkg_name}/plugin +%{_libdir}/%{pkg_name}/plugin/* +%{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so} +%{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so} +%exclude %{_libdir}/%{pkg_name}/plugin/dialog.so +%exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so %{_mandir}/man1/aria_chk.1* %{_mandir}/man1/aria_dump_log.1* @@ -1422,13 +1419,13 @@ fi %if %{with oqgraph} %files oqgraph-engine %config(noreplace) %{_sysconfdir}/my.cnf.d/oqgraph.cnf -%{_libdir}/mysql/plugin/ha_oqgraph.so +%{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so %endif %if %{with connect} %files connect-engine %config(noreplace) %{_sysconfdir}/my.cnf.d/connect.cnf -%{_libdir}/mysql/plugin/ha_connect.so +%{_libdir}/%{pkg_name}/plugin/ha_connect.so %endif %files server-utils @@ -1463,9 +1460,9 @@ fi %if %{with clibrary} %{_bindir}/mysql_config* %{_bindir}/mariadb_config* -%{_libdir}/mysql/libmariadb.so -%{_libdir}/mysql/libmysqlclient.so -%{_libdir}/mysql/libmysqlclient_r.so +%{_libdir}/libmariadb.so +%{_libdir}/libmysqlclient.so +%{_libdir}/libmysqlclient_r.so %{_mandir}/man1/mysql_config* %{_mandir}/man1/mariadb_config* %endif @@ -1473,10 +1470,10 @@ fi %if %{with embedded} %files embedded -%{_libdir}/mysql/libmysqld.so.* +%{_libdir}/libmysqld.so.* %files embedded-devel -%{_libdir}/mysql/libmysqld.so +%{_libdir}/libmysqld.so %{_bindir}/mysql_client_test_embedded %{_bindir}/mysqltest_embedded %{_mandir}/man1/mysql_client_test_embedded.1* @@ -1502,6 +1499,14 @@ fi %endif %changelog +* Wed Nov 01 2017 Michal Schorm - 3:10.2.10-1 +- Rebase to 10.2.10 version +- Patch 2: mariadb-install-test.patch has been incorporated by upstream +- Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros +- Update PCRE check +- Start using location libdir/mariadb for plugins +- Move libraries to libdir + * Thu Oct 05 2017 Michal Schorm - 3:10.2.9-3 - Fix client library obsolete Related: #1498956 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index bf4f3f0..022dda6 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -10,12 +10,9 @@ main.non_blocking_api : #1399847 perfschema.nesting : #1399847 perfschema.socket_summary_by_event_name_func : #1399847 perfschema.socket_summary_by_instance_func : #1399847 -perfschema.bad_option_1 : #1399847 -perfschema.bad_option_5 : #1399847 # needs this tests disabled for mode build plugins.feedback_plugin_load : # - plugins.show_all_plugins : warnings in log # ------------------------------ diff --git a/sources b/sources index 11e9767..2161b03 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.2.9.tar.gz) = 11ba0913144d7298ffa4c0a0128a3d1525a39b8205ffc580311751cf25a4e86159e46a32d3c8330c4ea028cdd50643eb5381651df654751ca3e4fb3d4698a373 +SHA512 (mariadb-10.2.10.tar.gz) = 39c198009f8b19f4a08226ef9842b50e24636580b67c1c92d59c61cce3aa1edbd466e253c281dfcdfc58ab573ae9a59aaacb0ce3e8b82222043ddd849fc3e239 From a97652db21d8b106abd34f953aa183da2741ba7c Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 6 Nov 2017 13:31:33 +0100 Subject: [PATCH 419/789] Compatibility fix --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index c689187..6a5029c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -80,7 +80,7 @@ # MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use # the bundled library, since the package cannot be build with older version -%if 0%{?fedora} >= 21 +%if 0%{?fedora} >= 21 || 0%{?rhel} > 7 %bcond_without bundled_pcre %else %bcond_with bundled_pcre From 5722a3f4a80e5d9cb064f66d622bf9d9c8f994f2 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 6 Nov 2017 16:06:33 +0100 Subject: [PATCH 420/789] Added JIRA issue trackers --- mariadb.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 6a5029c..d9a912d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -934,8 +934,7 @@ rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMar rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar -# RPMLINT E: -# mariadb-bench.x86_64: E: script-without-shebang /usr/share/sql-bench/myisam.cnf +# script without shebang: https://jira.mariadb.org/browse/MDEV-14266 chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf # Remove AppArmor files @@ -1303,6 +1302,7 @@ fi %{_bindir}/replace %{_bindir}/resolve_stack_dump %{_bindir}/resolveip +# wsrep_sst_common should be moved to /usr/share/mariadb: https://jira.mariadb.org/browse/MDEV-14296 %{_bindir}/wsrep_sst_common %{_bindir}/wsrep_sst_mariabackup %{_bindir}/wsrep_sst_mysqldump From e164541be47159d92229fe249653bd1053839782 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 13 Nov 2017 09:18:22 +0100 Subject: [PATCH 421/789] Divided to more sub-packages to match upstream's RPM list: #1490401; #1400463 Update of Cmake arguments to supported format: https://lists.launchpad.net/maria-discuss/msg04852.htm --- mariadb.spec | 529 +++++++++++++++++++++++++++++++++------------------ 1 file changed, 347 insertions(+), 182 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index d9a912d..3349de2 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -20,28 +20,35 @@ %global _default_patch_flags --no-backup-if-mismatch # TokuDB engine -# https://mariadb.com/kb/en/mariadb/tokudb/ -# TokuDB engine is available only for x86_64 +# https://mariadb.com/kb/en/mariadb/tokudb/ +# TokuDB engine is available only for x86_64 +# Mroonga engine +# https://mariadb.com/kb/en/mariadb/about-mroonga/ +# Actual version in MariaDB, 5.04, only supports the x86_64 +# Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html +# RocksDB engine +# https://mariadb.com/kb/en/library/myrocks-supported-platforms/ +# RocksB engine is available only for x86_64 %ifarch x86_64 %bcond_without tokudb +%bcond_without mroonga +%bcond_without rocksdb %else %bcond_with tokudb -%endif - -# Mroonga engine -# https://mariadb.com/kb/en/mariadb/about-mroonga/ -# Actual version in MariaDB, 5.04, only supports the x86_64 -# Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html -%ifarch x86_64 -%bcond_without mroonga -%else %bcond_with mroonga +%bcond_with rocksdb %endif # The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing # hierarchies and more complex graph structures to be handled in a relational fashion %bcond_without oqgraph +# Other plugins +%bcond_without cracklib +%bcond_without gssapi +%bcond_without connect +%bcond_without sphinx + # For some use cases we do not need some parts of the package. Set to "...with" to exclude %bcond_with clibrary %bcond_without embedded @@ -51,8 +58,8 @@ %bcond_without errmsg %bcond_without bench %bcond_without test -%bcond_without connect %bcond_without galera +%bcond_without backup # When there is already another package that ships /etc/my.cnf, # rather include it than ship the file again, since conflicts between @@ -62,6 +69,8 @@ # For deep debugging we need to build binaries with extra debug info %bcond_with debug + + # Include files for SysV init or systemd %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 %bcond_without init_systemd @@ -179,28 +188,24 @@ Patch40: %{pkgnamepatch}-galera.cnf.patch Patch43: %{pkgnamepatch}-recovery.patch BuildRequires: cmake gcc-c++ -BuildRequires: libaio-devel -BuildRequires: libedit-devel -BuildRequires: ncurses-devel -BuildRequires: systemtap-sdt-devel BuildRequires: zlib-devel BuildRequires: multilib-rpm-config -BuildRequires: krb5-devel BuildRequires: selinux-policy-devel -%{?with_init_systemd:BuildRequires: systemd systemd-devel} -# Sphinx storage engine -#BuildRequires: sphinx libsphinxclient libsphinxclient-devel -# Bison SQL parser -BuildRequires: bison bison-devel -# Jemalloc, used by TokuDB +# TokuDB and some core stuff BuildRequires: jemalloc-devel -# Cracklib plugin -BuildRequires: cracklib-dicts cracklib-devel - -# Mariabackup -BuildRequires: libarchive-devel +# asynchornous operations stuff +BuildRequires: libaio-devel +# commands history features +BuildRequires: libedit-devel +# CLI graphic +BuildRequires: ncurses-devel +# debugging stuff +BuildRequires: systemtap-sdt-devel +%{?with_init_systemd:BuildRequires: systemd systemd-devel} +# Bison SQL parser +BuildRequires: bison bison-devel # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel @@ -232,7 +237,7 @@ BuildRequires: perl(Time::HiRes) BuildRequires: perl(Symbol) # for running some openssl tests rhbz#1189180 BuildRequires: openssl openssl-devel -Recommends: openssl +Requires: openssl Requires: bash coreutils grep @@ -313,7 +318,7 @@ Provides: libmysqlclient.so.18(libmysqlclient_18) The mariadb-libs package provides the essential shared libraries for any MariaDB/MySQL client program or interface. You will need to install this package to use any other MariaDB package or any clients that need to connect -to a MariaDB/MySQL server. MariaDB is a community developed branch of MySQL. +to a MariaDB/MySQL server. %endif #clibrary @@ -353,7 +358,6 @@ Obsoletes: mariadb-galera-common < %{obsoleted_mariadb_galera_common_evr} Obsoletes: %{name}-libs <= %{sameevr} %endif - %description common The package provides the essential shared files for any MariaDB program. You will need to install this package to use any other MariaDB package. @@ -382,6 +386,9 @@ Requires: %{name}-server%{?_isa} = %{sameevr} Requires: galera >= 25.3.3 Requires(post): libselinux-utils Requires(post): policycoreutils-python +# wsrep requirements +Requires: lsof +Requires: rsync # obsoletion of mariadb-galera-server Provides: mariadb-galera-server = %{sameevr} @@ -410,18 +417,23 @@ Requires: %{name}%{?_isa} Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-errmsg%{?_isa} = %{sameevr} Recommends: %{name}-server-utils%{?_isa} = %{sameevr} +Recommends: %{name}-backup%{?_isa} = %{sameevr} +Recommends: %{name}-craclkib-password-check%{?_isa} = %{sameevr} +Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr} +Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr} +Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr} + Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d + # for fuser in mysql-check-socket Requires: psmisc + Requires: coreutils Requires(pre): /usr/sbin/useradd -# Sphinx storage engine -#Recommends: sphinx libsphinxclient # Bison SQL parser +# WHY?? (testsuite??) Requires: bison -# Cracklib plugin: -Recommends: cracklib-dicts %if %{with init_systemd} # We require this to be present for %%{_tmpfilesdir} @@ -431,9 +443,6 @@ Requires(pre): systemd Requires(posttrans): systemd %{?systemd_requires: %systemd_requires} %endif -# wsrep requirements -Requires: lsof -Requires: rsync # RHBZ#1496131; use 'iproute' instead of 'net-tools' Requires: iproute %if %{with mysql_names} @@ -487,6 +496,85 @@ or products (such as Excel), or data retrieved from the environment %endif +%if %{with backup} +%package backup +Summary: The mariabackup tool for physical online backups +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{sameevr} +BuildRequires: libarchive-devel + +%description backup +MariaDB Backup is an open source tool provided by MariaDB for performing +physical online backups of InnoDB, Aria and MyISAM tables. +For InnoDB, "hot online" backups are possible. +%endif + + +%if %{with rocksdb} +%package rocksdb-engine +Summary: The RocksDB storage engine for MariaDB +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{sameevr} + +%description rocksdb-engine +The RocksDB storage engine is used for high performance servers on SSD drives. +%endif + + +%if %{with tokudb} +%package tokudb-engine +Summary: The TokuDB storage engine for MariaDB +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{sameevr} + +%description tokudb-engine +The TokuDB storage engine from Percona. +%endif + + +%if %{with cracklib} +%package cracklib-password-check +Summary: The password strength checking plugin +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{sameevr} +BuildRequires: cracklib-dicts cracklib-devel +Requires: cracklib-dicts + +%description cracklib-password-check +CrackLib is a password strength checking library. It is installed by default +in many Linux distributions and is invoked automatically (by pam_cracklib.so) +whenever the user login password is modified. +Now, with the cracklib_password_check password validation plugin, one can +also use it to check MariaDB account passwords. +%endif + + +%if %{with gssapi} +%package gssapi-server +Summary: GSSAPI authentication plugin for server +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{sameevr} +BuildRequires: krb5-devel + +%description gssapi-server +GSSAPI authentication server-side plugin for MariaDB for passwordless login. +This plugin includes support for Kerberos on Unix. +%endif + + +%if %{with sphinx} +%package sphinx-engine +Summary: The Sphinx storage engine for MariaDB +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{sameevr} +BuildRequires: sphinx libsphinxclient libsphinxclient-devel +Requires: sphinx libsphinxclient + +%description sphinx-engine +The Sphinx storage engine for MariaDB. +%endif + + %package server-utils Summary: Non-essential server utilities for MariaDB/MySQL applications Group: Applications/Databases @@ -522,10 +610,16 @@ Provides: mysql-devel%{?_isa} = %{sameevr} %{?with_conflicts:Conflicts: community-mysql-devel} %description devel -MariaDB is a multi-user, multi-threaded SQL database server. This -package contains the libraries and header files that are needed for -developing MariaDB/MySQL client applications. +MariaDB is a multi-user, multi-threaded SQL database server. MariaDB is a community developed branch of MySQL. +%if %{with clibrary} +This package contains everything needed for developing MariaDB/MySQL client +and server applications. +%else +This package contains everything needed for developing MariaDB/MySQL server +applications. For developing client applications, use mariadb-connector-c +package. +%endif %endif @@ -565,10 +659,10 @@ Provides: mysql-embedded-devel%{?_isa} = %{sameevr} %{?obsoleted_mysql_evr:Obsoletes: mysql-embedded-devel < %{obsoleted_mysql_evr}} %description embedded-devel -MariaDB is a multi-user, multi-threaded SQL database server. This -package contains files needed for developing and testing with -the embedded version of the MariaDB server. +MariaDB is a multi-user, multi-threaded SQL database server. MariaDB is a community developed branch of MySQL. +This package contains files needed for developing and testing with +the embedded version of the MariaDB server. %endif @@ -586,10 +680,10 @@ Provides: mysql-bench%{?_isa} = %{sameevr} %{?obsoleted_mysql_evr:Obsoletes: mysql-bench < %{obsoleted_mysql_evr}} %description bench -MariaDB is a multi-user, multi-threaded SQL database server. This -package contains benchmark scripts and data for use when benchmarking -MariaDB. +MariaDB is a multi-user, multi-threaded SQL database server. MariaDB is a community developed branch of MySQL. +This package contains benchmark scripts and data for use when benchmarking +MariaDB. %endif @@ -620,10 +714,10 @@ Provides: mysql-test%{?_isa} = %{sameevr} %{?obsoleted_mysql_evr:Obsoletes: mysql-test < %{obsoleted_mysql_evr}} %description test -MariaDB is a multi-user, multi-threaded SQL database server. This -package contains the regression test suite distributed with -the MariaDB sources. +MariaDB is a multi-user, multi-threaded SQL database server. MariaDB is a community developed branch of MySQL. +This package contains the regression test suite distributed with the MariaDB +sources. %endif @@ -764,35 +858,76 @@ export LDFLAGS -DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \ -DMYSQL_DATADIR="%{dbdatadir}" \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ + -DTMPDIR=/var/tmp \ -DENABLED_LOCAL_INFILE=ON \ - -DENABLE_DTRACE=OFF \ - -DWITH_EMBEDDED_SERVER=ON \ + -DENABLE_DTRACE=ON \ + -DWITH_EMBEDDED_SERVER=%{?with_embedded:ON}%{!?with_embedded:OFF} \ + -DWITH_MARIABACKUP=%{?with_backup:ON}%{!?with_backup:NO} \ + -DWITH_UNIT_TESTS=%{?with_test:ON}%{!?with_test:NO} \ + -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DWITH_PCRE=%{?with_bundled_pcre:system}%{!?with_bundled_pcre:bundled} \ -DWITH_JEMALLOC=system \ - -DWITH_LIBARCHIVE=ON \ - -DWITH_MARIABACKUP=ON \ -%{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\ -%{!?with_mroonga: -DWITHOUT_MROONGA=ON}\ -%{!?with_oqgraph: -DWITHOUT_OQGRAPH=ON}\ - -DTMPDIR=/var/tmp \ -%{?with_debug: -DCMAKE_BUILD_TYPE=Debug}\ + -DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \ + -DPLUGIN_OQGRAPH=%{?with_oqgraph:DYNAMIC}%{!?with_oqgraph:NO} \ + -DPLUGIN_CRACKLIB_PASSWORD_CHECK=%{?with_cracklib:DYNAMIC}%{!?with_cracklib:NO} \ + -DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \ + -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ + -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ + -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ + -DPLUGIN_ARCHIVE=DYNAMIC \ + -DPLUGIN_AUDIT_NULL=DYNAMIC \ + -DPLUGIN_AUTH_ED25519=DYNAMIC \ + -DPLUGIN_AUTH_PAM=DYNAMIC \ + -DPLUGIN_AUTH_SOCKET=DYNAMIC \ + -DPLUGIN_AUTH_TEST_PLUGIN=DYNAMIC \ + -DPLUGIN_AUTH_0X0100=DYNAMIC \ + -DPLUGIN_BLACKHOLE=DYNAMIC \ + -DPLUGIN_CLIENT_ED25519=DYNAMIC \ + -DPLUGIN_DAEMON_EXAMPLE=DYNAMIC \ + -DPLUGIN_DEBUG_KEY_MANAGEMENT=DYNAMIC \ + -DPLUGIN_DIALOG_EXAMPLES=DYNAMIC \ + -DPLUGIN_EXAMPLE=DYNAMIC \ + -DPLUGIN_EXAMPLE_KEY_MANAGEMENT=DYNAMIC \ + -DPLUGIN_FEDERATED=DYNAMIC \ + -DPLUGIN_FEDERATEDX=DYNAMIC \ + -DPLUGIN_FEEDBACK=DYNAMIC \ + -DPLUGIN_FILE_KEY_MANAGEMENT=DYNAMIC \ + -DPLUGIN_FTEXAMPLE=DYNAMIC \ + -DPLUGIN_HANDLERSOCKET=DYNAMIC \ + -DPLUGIN_LOCALES=DYNAMIC \ + -DPLUGIN_METADATA_LOCK_INFO=DYNAMIC \ + -DPLUGIN_QA_AUTH_CLIENT=DYNAMIC \ + -DPLUGIN_QA_AUTH_INTERFACE=DYNAMIC \ + -DPLUGIN_QA_AUTH_SERVER=DYNAMIC \ + -DPLUGIN_QUERY_CACHE_INFO=DYNAMIC \ + -DPLUGIN_QUERY_RESPONSE_TIME=DYNAMIC \ + -DPLUGIN_SEMISYNC_MASTER=DYNAMIC \ + -DPLUGIN_SEMISYNC_SLAVE=DYNAMIC \ + -DPLUGIN_SEQUENCE=DYNAMIC \ + -DPLUGIN_SERVER_AUDIT=DYNAMIC \ + -DPLUGIN_SIMPLE_PASSWORD_CHECK=DYNAMIC \ + -DPLUGIN_SPIDER=DYNAMIC \ + -DPLUGIN_SQL_ERRLOG=DYNAMIC \ + -DPLUGIN_TEST_SQL_DISCOVERY=DYNAMIC \ + -DPLUGIN_USER_VARIABLES=DYNAMIC \ + -DPLUGIN_WSREP_INFO=DYNAMIC \ +%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \ %{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} +# Following argumets leads to compile errors. Tracked as https://jira.mariadb.org/browse/MDEV-14373 +# -DPLUGIN_INNOBASE=DYNAMIC \ +# -DPLUGIN_PARTITION=DYNAMIC \ +# -DPLUGIN_ARIA=DYNAMIC \ +# -DPLUGIN_PERFSCHEMA=DYNAMIC \ + +# Print all Cmake options values +cmake -L + make %{?_smp_mflags} VERBOSE=1 -# 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 e in innobase xtradb ; do -# for f in pars0grm.y pars0lex.l ; do -# cp -p "storage/$e/pars/$f" "storage/$e/$f" -# done -#done - # build selinux policy %if %{with galera} pushd selinux @@ -819,7 +954,8 @@ ln -s mysql_config.1 %{buildroot}%{_mandir}/man1/mysql_config-%{__isa_bits}.1 fi # Upstream install this into arch-independent directory -# TODO: report to upstream +# Reported to upstream as: https://jira.mariadb.org/browse/MDEV-14340 +# TODO: check, if it changes location inside that file depending on values passed to Cmake mkdir -p %{buildroot}/%{_libdir}/pkgconfig mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig @@ -829,6 +965,7 @@ install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/%{pkg_name}/ install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/%{pkg_name}/ rm -r %{buildroot}%{_datadir}/doc/%{_pkgdocdirname}/MariaDB-server-%{version}/ +# Logfile creation mkdir -p %{buildroot}%{logfiledir} chmod 0750 %{buildroot}%{logfiledir} touch %{buildroot}%{logfile} @@ -845,9 +982,12 @@ install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf rm scripts/my.cnf %endif -# use different config file name for each variant of server +# use different config file name for each variant of server (mariadb / mysql) mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf +# remove SysV init script and a symlink to that, we pack our very own +rm %{buildroot}%{_sysconfdir}/init.d/mysql +rm %{buildroot}%{_libexecdir}/rcmysql # install systemd unit files and scripts for handling server startup %if %{with init_systemd} install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service @@ -855,9 +995,8 @@ install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_nam install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?mysqld_pid_dir:1} echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf -%endif -%endif - +%endif #pid +%endif #systemd # install SysV init script %if %{with init_sysv} install -D -p -m 755 scripts/mysql.init %{buildroot}%{daemondir}/%{daemon_name} @@ -872,26 +1011,35 @@ install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql- install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready %endif -# install selinux policy +# install aditional galera selinux policy %if %{with galera} install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp %endif -# mysql-test includes one executable that doesn't belong under /usr/share, -# so move it and provide a symlink +# mysql-test includes one executable that doesn't belong under /usr/share, so move it and provide a symlink 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 +# Provide symlink expected by RH QA tests +ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list + # should move this to /etc/ ? -rm %{buildroot}%{_bindir}/mysql_embedded +# WHY?? +%{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded} #upstream ships in client + rm %{buildroot}%{_libdir}/*.a -rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure -rm %{buildroot}%{_datadir}/%{pkg_name}/magic -rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server -rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server -rm %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* -rm %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* -rm %{buildroot}%{_bindir}/mytop +rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure #This script creates the MySQL system tables and starts the server. + +# WHY?? +rm %{buildroot}%{_datadir}/%{pkg_name}/magic #FS files first-bytes recoginiton? + +rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server #Usage: mysql.server {start|stop|restart|reload|force-reload|status|configtest|bootstrap} [ MySQL server options ] +rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server #Can't execute /usr/local/mysql/bin/mysqld_multi from dir /usr/local/mysql + +# WHY?? +rm %{buildroot}%{_bindir}/mytop #not shipped by upstream + + # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} @@ -908,45 +1056,39 @@ install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}} # install galera config file sed -i -r 's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|' support-files/wsrep.cnf install -p -m 0644 support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf - # install the clustercheck script mkdir -p %{buildroot}%{_sysconfdir}/sysconfig touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck - # install the galera_new_cluster script anyway %if %{without init_systemd} install -p -m 0755 scripts/galera_new_cluster %{buildroot}%{_bindir}/galera_new_cluster %endif -# remove SysV init script and a symlink to that -rm %{buildroot}%{_sysconfdir}/init.d/mysql -rm %{buildroot}%{_libexecdir}/rcmysql - # remove duplicate logrotate script rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql - -# rename the wsrep README so it corresponds with the other README names -cp Docs/README-wsrep Docs/README.wsrep - # remove *.jar file from mysql-test rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar +# Remove AppArmor files +rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor # script without shebang: https://jira.mariadb.org/browse/MDEV-14266 chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf -# Remove AppArmor files -rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor - # Disable plugins +%if %{with ggsapi} sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/auth_gssapi.cnf +%endif +%if %{with cracklib} sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf +%endif + +%if %{without embedded} +rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* +%endif -# install the list of skipped tests to be available for user runs -install -p -m 0644 mysql-test/unstable-tests %{buildroot}%{_datadir}/mysql-test -ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list %if %{without clibrary} rm %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf @@ -959,66 +1101,43 @@ unlink %{buildroot}%{_libdir}/libmariadb.so rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so,auth_gssapi_client.so} %endif -%if %{without embedded} -rm %{buildroot}%{_libdir}/%{pkg_name}/libmysqld.so* -rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} -rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* -%endif - -%if %{without devel} +%if %{without clibrary} || %{without devel} unlink %{buildroot}%{_bindir}/mysql_config rm %{buildroot}%{_bindir}/mysql_config* rm %{buildroot}%{_bindir}/mariadb_config -rm -r %{buildroot}%{_includedir}/mysql -rm %{buildroot}%{_datadir}/aclocal/mysql.m4 -rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc rm %{buildroot}%{_mandir}/man1/mysql_config*.1* unlink %{buildroot}%{_mandir}/man1/mariadb_config.1* -%else -%if %{with clibrary} -# Create symlinks to the 'libmariadb' library, for compatibility reasons -# Note: the -libs subpackage has Provides: for this compat symlink; when -# it is removed, they should also be removed -pushd %{buildroot}%{_libdir} -#ln -s libmariadb.so libmysqlclient.so -ln -s libmariadb.so.3 libmysqlclient.so.18 -#ln -s libmariadb.so libmysqlclient_r.so -popd -%else -# This file is already included in mariadb-connector-c -rm %{buildroot}%{_includedir}/mysql/mysql_version.h +%endif -rm %{buildroot}%{_bindir}/*_config* -rm %{buildroot}%{_mandir}/man1/*_config* -#rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so* +%if %{without clibrary} && %{with devel} +# This files are already included in mariadb-connector-c +rm %{buildroot}%{_includedir}/mysql/mysql_version.h rm %{buildroot}%{_includedir}/mysql/{errmsg.h,ma_list.h,ma_pvio.h,mariadb_com.h,\ mariadb_ctype.h,mariadb_dyncol.h,mariadb_stmt.h,mariadb_version.h,ma_tls.h,mysqld_error.h,mysql.h} rm -r %{buildroot}%{_includedir}/mysql/{mariadb,mysql} %endif -%endif + +%if %{without devel} +rm -r %{buildroot}%{_includedir}/mysql +rm %{buildroot}%{_datadir}/aclocal/mysql.m4 +rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc +%if %{with clibrary} +rm %{buildroot}%{_libdir}/libmariadb*.so +unlink %{buildroot}%{_libdir}/libmysqlclient.so +unlink %{buildroot}%{_libdir}/libmysqlclient_r.so +%endif # clibrary +%endif # devel %if %{without client} rm %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_find_rows,\ mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ -mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} +mysqldump,mysqlimport,mysqlshow,mysqlslap} rm %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_find_rows,\ mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ -mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* -%endif - -%if %{without connect} -rm %{buildroot}%{_sysconfdir}/my.cnf.d/connect.cnf -%endif - -%if %{without oqgraph} -rm %{buildroot}%{_sysconfdir}/my.cnf.d/oqgraph.cnf +mysqldump,mysqlimport,mysqlshow,mysqlslap}.1* %endif %if %{without tokudb} -%ifarch x86_64 -rm %{buildroot}%{_bindir}/tokuftdump -rm %{buildroot}%{_bindir}/tokuft_logprint -%endif # because upstream ships manpages for tokudb even on architectures that tokudb doesn't support rm %{buildroot}%{_mandir}/man1/tokuftdump.1* rm %{buildroot}%{_mandir}/man1/tokuft_logdump.1* @@ -1034,6 +1153,10 @@ rm %{buildroot}%{_sysconfdir}/my.cnf.d/enable_encryption.preset rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets %endif +%if %{without gssapi} +rm -r %{buildroot}/etc/my.cnf.d/auth_gssapi.cnf +%endif + %if %{without errmsg} rm %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,czech,danish,dutch,estonian,\ @@ -1046,10 +1169,15 @@ rm -r %{buildroot}%{_datadir}/sql-bench %endif %if %{without test} -rm %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process} +%if %{with embedded} +rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded} +rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1* +%endif # embedded +rm %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process,mysqltest} +rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1* +rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1* rm -r %{buildroot}%{_datadir}/mysql-test -rm %{buildroot}%{_mandir}/man1/mysql_client_test.1* -%endif +%endif # test %if %{without galera} rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf @@ -1100,8 +1228,10 @@ export MTR_BUILD_THREAD=%{__isa_bits} %endif ) -%endif -%endif +%endif # if dry run +%endif # with test + + %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : @@ -1172,6 +1302,8 @@ if [ $1 -ge 1 ]; then fi %endif + + %if %{with client} %files %{_bindir}/msql2mysql @@ -1187,7 +1319,6 @@ fi %{_bindir}/mysqlimport %{_bindir}/mysqlshow %{_bindir}/mysqlslap -%{_bindir}/my_print_defaults %{_mandir}/man1/msql2mysql.1* %{_mandir}/man1/mysql.1* @@ -1202,13 +1333,12 @@ fi %{_mandir}/man1/mysqlimport.1* %{_mandir}/man1/mysqlshow.1* %{_mandir}/man1/mysqlslap.1* -%{_mandir}/man1/my_print_defaults.1* %endif %if %{with clibrary} %files libs %{_libdir}/libmariadb.so.* -%{_libdir}/libmysqlclient.so.18 +%{?with_devel:%{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so}} %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf %endif @@ -1227,10 +1357,10 @@ fi %doc %{_datadir}/doc/%{_pkgdocdirname} %dir %{_datadir}/%{pkg_name} %{_datadir}/%{pkg_name}/charsets -%if %{with devel} && %{with errmsg} && %{with galera} && %{with config} && %{with clibrary} +%if %{with clibrary} %{_libdir}/%{pkg_name}/plugin/dialog.so %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so -%endif # devel && errmsg && galera && config +%endif # clibrary %endif # common %if %{with errmsg} @@ -1264,7 +1394,7 @@ fi %if %{with galera} %files server-galera -%doc Docs/README.wsrep +%doc Docs/README-wsrep %license LICENSE.clustercheck %{_bindir}/clustercheck %{_bindir}/galera_new_cluster @@ -1285,15 +1415,14 @@ fi %{_bindir}/aria_ftdump %{_bindir}/aria_pack %{_bindir}/aria_read_log -%{_bindir}/mariabackup %if %{with init_systemd} %{_bindir}/mariadb-service-convert %endif -%{_bindir}/mbstream %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog %{_bindir}/myisampack +%{_bindir}/my_print_defaults %{_bindir}/mysql_install_db %{_bindir}/mysql_secure_installation %{_bindir}/mysql_tzinfo_to_sql @@ -1309,21 +1438,8 @@ fi %{_bindir}/wsrep_sst_rsync %{_bindir}/wsrep_sst_xtrabackup %{_bindir}/wsrep_sst_xtrabackup-v2 -%{?with_tokudb:%{_bindir}/tokuftdump} -%{?with_tokudb:%{_bindir}/tokuft_logprint} %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf -%config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf -%{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf} -# Cracklib plugin -%config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf -# RocksDB engine -%if %{with rocksdb} -%config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf -%{_bindir}/mysql_ldb -%{_bindir}/sst_dump -%endif - %{_libexecdir}/mysqld @@ -1338,8 +1454,15 @@ fi %{_libdir}/%{pkg_name}/plugin/* %{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so} %{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so} +%{?with_cracklib:%exclude %{_libdir}/%{pkg_name}/plugin/cracklib_password_check.so} +%{?with_rocksdb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so} +%{?with_tokudb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so} +%{?with_ggsapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so} +%{?with_sphinx:%exclude %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so} +%if %{with clibrary} %exclude %{_libdir}/%{pkg_name}/plugin/dialog.so %exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so +%endif %{_mandir}/man1/aria_chk.1* %{_mandir}/man1/aria_dump_log.1* @@ -1353,20 +1476,18 @@ fi %{_mandir}/man1/myisamlog.1* %{_mandir}/man1/myisampack.1* %{_mandir}/man1/myisam_ftdump.1* +%{_mandir}/man1/my_print_defaults.1* %{_mandir}/man1/mysql.server.1* %{_mandir}/man1/mysql_install_db.1* %{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man1/mysqld_safe.1* %{_mandir}/man1/mysqld_safe_helper.1* -%{_mandir}/man1/my_safe_process.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/replace.1* %{_mandir}/man1/resolveip.1* %{_mandir}/man1/resolve_stack_dump.1* %{_mandir}/man8/mysqld.8* -%{?with_tokudb:%{_mandir}/man1/tokuftdump.1*} -%{?with_tokudb:%{_mandir}/man1/tokuft_logdump.1*} %{_mandir}/man1/wsrep_sst_common.1* %{_mandir}/man1/wsrep_sst_mysqldump.1* %{_mandir}/man1/wsrep_sst_rsync.1* @@ -1416,6 +1537,47 @@ fi %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} +%if %{with cracklib} +%files cracklib-password-check +%config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf +%{_libdir}/%{pkg_name}/plugin/cracklib_password_check.so +%endif + +%if %{with backup} +%files backup +%{_bindir}/mariabackup +%{_bindir}/mbstream +%endif + +%if %{with rocksdb} +%files rocksdb-engine +%config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf +%{_bindir}/mysql_ldb +%{_bindir}/sst_dump +%{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so +%endif + +%if %{with tokudb} +%files tokudb-engine +%{_bindir}/tokuftdump +%{_bindir}/tokuft_logprint +%{_mandir}/man1/tokuftdump.1* +%{_mandir}/man1/tokuft_logdump.1* +%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf +%{_libdir}/%{pkg_name}/plugin/ha_tokudb.so +%endif + +%if %{with gssapi} +%files gssapi-server +%{_libdir}/%{pkg_name}/plugin/auth_gssapi.so +%config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf +%endif + +%if %{with sphinx} +%files sphinx-engine +%{_libdir}/%{pkg_name}/plugin/ha_sphinx.so +%endif + %if %{with oqgraph} %files oqgraph-engine %config(noreplace) %{_sysconfdir}/my.cnf.d/oqgraph.cnf @@ -1444,10 +1606,8 @@ fi %{_mandir}/man1/mysql_setpermission.1* # Utilities that can be used remotely %{_bindir}/mysql_upgrade -%{_bindir}/mysqltest %{_bindir}/perror %{_mandir}/man1/mysql_upgrade.1* -%{_mandir}/man1/mysqltest.1* %{_mandir}/man1/perror.1* # Other utilities %{_bindir}/mysqld_safe_helper @@ -1474,19 +1634,11 @@ fi %files embedded-devel %{_libdir}/libmysqld.so -%{_bindir}/mysql_client_test_embedded -%{_bindir}/mysqltest_embedded -%{_mandir}/man1/mysql_client_test_embedded.1* -%{_mandir}/man1/mysqltest_embedded.1* %endif %if %{with bench} %files bench %{_datadir}/sql-bench -#TODO: do a sanity check -%exclude %{_datadir}/sql-bench/README -# RPMLINT W: -# mariadb-bench.x86_64: W: no-documentation %doc %{_datadir}/sql-bench/README %endif @@ -1494,18 +1646,31 @@ fi %files test %{_bindir}/mysql_client_test %{_bindir}/my_safe_process +%{_bindir}/mysql_client_test_embedded +%{_bindir}/mysqltest +%{_bindir}/mysqltest_embedded %attr(-,mysql,mysql) %{_datadir}/mysql-test %{_mandir}/man1/mysql_client_test.1* +%{_mandir}/man1/my_safe_process.1* +%{_mandir}/man1/mysql_client_test_embedded.1* +%{_mandir}/man1/mysqltest.1* +%{_mandir}/man1/mysqltest_embedded.1* +%{_mandir}/man1/mysql-stress-test.pl.1* +%{_mandir}/man1/mysql-test-run.pl.1* %endif %changelog -* Wed Nov 01 2017 Michal Schorm - 3:10.2.10-1 +* Mon Nov 13 2017 Michal Schorm - 3:10.2.10-1 - Rebase to 10.2.10 version - Patch 2: mariadb-install-test.patch has been incorporated by upstream - Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros - Update PCRE check - Start using location libdir/mariadb for plugins - Move libraries to libdir +- Divided to more sub-packages to match upstream's RPM list + Resolves: #1490401; #1400463 +- Update of Cmake arguments to supported format + Related: https://lists.launchpad.net/maria-discuss/msg04852.html * Thu Oct 05 2017 Michal Schorm - 3:10.2.9-3 - Fix client library obsolete From b36c28563ac44e124f81f67ba1691e066049cf37 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 15 Nov 2017 12:02:56 +0100 Subject: [PATCH 422/789] Fix file removal on multilib systems --- mariadb.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 3349de2..34cb0ea 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1102,7 +1102,6 @@ rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so, %endif %if %{without clibrary} || %{without devel} -unlink %{buildroot}%{_bindir}/mysql_config rm %{buildroot}%{_bindir}/mysql_config* rm %{buildroot}%{_bindir}/mariadb_config rm %{buildroot}%{_mandir}/man1/mysql_config*.1* From 8420e0ff5a43dcc49ef9345d42dc7db52e409bf1 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 20 Nov 2017 14:38:51 +0100 Subject: [PATCH 423/789] Remove false Provides List only relevant Cmake arguments --- mariadb.spec | 58 ++-------------------------------------------------- 1 file changed, 2 insertions(+), 56 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 34cb0ea..f1e4d6b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -298,18 +298,6 @@ Requires: %{name}-common%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-libs = %{sameevr} Provides: mysql-libs%{?_isa} = %{sameevr} -# these are the provides for the libmysqlclient.so.18 compatibility -# symlink; the library auto-provides system does not handle this kind -# of symlink. They should be removed when the symlink is removed -%if 0%{?__isa_bits} == 64 -Provides: libmysqlclient.so.18()(64bit) -Provides: libmysqlclient.so.18(libmysqlclient_16)(64bit) -Provides: libmysqlclient.so.18(libmysqlclient_18)(64bit) -%else -Provides: libmysqlclient.so.18 -Provides: libmysqlclient.so.18(libmysqlclient_16) -Provides: libmysqlclient.so.18(libmysqlclient_18) -%endif # isa_bits %endif # mysql_names %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-libs < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-libs < %{obsoleted_mysql_evr}} @@ -875,52 +863,9 @@ export LDFLAGS -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ - -DPLUGIN_ARCHIVE=DYNAMIC \ - -DPLUGIN_AUDIT_NULL=DYNAMIC \ - -DPLUGIN_AUTH_ED25519=DYNAMIC \ - -DPLUGIN_AUTH_PAM=DYNAMIC \ - -DPLUGIN_AUTH_SOCKET=DYNAMIC \ - -DPLUGIN_AUTH_TEST_PLUGIN=DYNAMIC \ - -DPLUGIN_AUTH_0X0100=DYNAMIC \ - -DPLUGIN_BLACKHOLE=DYNAMIC \ - -DPLUGIN_CLIENT_ED25519=DYNAMIC \ - -DPLUGIN_DAEMON_EXAMPLE=DYNAMIC \ - -DPLUGIN_DEBUG_KEY_MANAGEMENT=DYNAMIC \ - -DPLUGIN_DIALOG_EXAMPLES=DYNAMIC \ - -DPLUGIN_EXAMPLE=DYNAMIC \ - -DPLUGIN_EXAMPLE_KEY_MANAGEMENT=DYNAMIC \ - -DPLUGIN_FEDERATED=DYNAMIC \ - -DPLUGIN_FEDERATEDX=DYNAMIC \ - -DPLUGIN_FEEDBACK=DYNAMIC \ - -DPLUGIN_FILE_KEY_MANAGEMENT=DYNAMIC \ - -DPLUGIN_FTEXAMPLE=DYNAMIC \ - -DPLUGIN_HANDLERSOCKET=DYNAMIC \ - -DPLUGIN_LOCALES=DYNAMIC \ - -DPLUGIN_METADATA_LOCK_INFO=DYNAMIC \ - -DPLUGIN_QA_AUTH_CLIENT=DYNAMIC \ - -DPLUGIN_QA_AUTH_INTERFACE=DYNAMIC \ - -DPLUGIN_QA_AUTH_SERVER=DYNAMIC \ - -DPLUGIN_QUERY_CACHE_INFO=DYNAMIC \ - -DPLUGIN_QUERY_RESPONSE_TIME=DYNAMIC \ - -DPLUGIN_SEMISYNC_MASTER=DYNAMIC \ - -DPLUGIN_SEMISYNC_SLAVE=DYNAMIC \ - -DPLUGIN_SEQUENCE=DYNAMIC \ - -DPLUGIN_SERVER_AUDIT=DYNAMIC \ - -DPLUGIN_SIMPLE_PASSWORD_CHECK=DYNAMIC \ - -DPLUGIN_SPIDER=DYNAMIC \ - -DPLUGIN_SQL_ERRLOG=DYNAMIC \ - -DPLUGIN_TEST_SQL_DISCOVERY=DYNAMIC \ - -DPLUGIN_USER_VARIABLES=DYNAMIC \ - -DPLUGIN_WSREP_INFO=DYNAMIC \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \ %{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} -# Following argumets leads to compile errors. Tracked as https://jira.mariadb.org/browse/MDEV-14373 -# -DPLUGIN_INNOBASE=DYNAMIC \ -# -DPLUGIN_PARTITION=DYNAMIC \ -# -DPLUGIN_ARIA=DYNAMIC \ -# -DPLUGIN_PERFSCHEMA=DYNAMIC \ - # Print all Cmake options values cmake -L @@ -1659,7 +1604,7 @@ fi %endif %changelog -* Mon Nov 13 2017 Michal Schorm - 3:10.2.10-1 +* Mon Nov 20 2017 Michal Schorm - 3:10.2.10-1 - Rebase to 10.2.10 version - Patch 2: mariadb-install-test.patch has been incorporated by upstream - Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros @@ -1670,6 +1615,7 @@ fi Resolves: #1490401; #1400463 - Update of Cmake arguments to supported format Related: https://lists.launchpad.net/maria-discuss/msg04852.html +- Remove false Provides * Thu Oct 05 2017 Michal Schorm - 3:10.2.9-3 - Fix client library obsolete From df3c3b6c6801374829aa768e541378e4c7cec05c Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 23 Nov 2017 15:06:29 +0100 Subject: [PATCH 424/789] Fix PID file location Related: #1483331, #1515779 --- mariadb.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index f1e4d6b..b2f02d0 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -78,7 +78,7 @@ %global daemon_name %{name} %global daemondir %{_unitdir} %global daemon_no_prefix %{pkg_name} -%global mysqld_pid_dir mysqld +%global mysqld_pid_dir mariadb %else %bcond_with init_systemd %bcond_without init_sysv @@ -135,7 +135,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1604,6 +1604,10 @@ fi %endif %changelog +* Thu Nov 23 2017 Michal Schorm - 3:10.2.10-2 +- Fix PID file location + Related: #1483331, #1515779 + * Mon Nov 20 2017 Michal Schorm - 3:10.2.10-1 - Rebase to 10.2.10 version - Patch 2: mariadb-install-test.patch has been incorporated by upstream From 4f0e1812ee6d9d36eea7376b809211a917d6519a Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 8 Oct 2017 00:35:13 +0200 Subject: [PATCH 425/789] RPMLint error fix: description line too long --- mariadb.spec | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 08b5450..9b6a54c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -502,9 +502,9 @@ Provides: mysql-perl = %{sameevr} Requires: perl(DBI) perl(DBD::mysql) %description server-utils -This package contains all non-essential server utilities and scripts for managing -databases. It also contains all utilities requiring Perl and it is the only MariaDB -subpackage, except test subpackage, that depends on Perl. +This package contains all non-essential server utilities and scripts for +managing databases. It also contains all utilities requiring Perl and it is +the only MariaDB subpackage, except test subpackage, that depends on Perl. %if %{with devel} @@ -879,7 +879,6 @@ rm %{buildroot}%{_bindir}/mysql_embedded rm %{buildroot}%{_libdir}/mysql/*.a rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure rm %{buildroot}%{_datadir}/%{pkg_name}/magic -#rm %{buildroot}%{_datadir}/%{pkg_name}/my-*.cnf rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server rm %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* @@ -930,6 +929,8 @@ cp Docs/README-wsrep Docs/README.wsrep # remove *.jar file from mysql-test rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar +rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar +rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar # RPMLINT E: # mariadb-bench.x86_64: E: script-without-shebang /usr/share/sql-bench/myisam.cnf @@ -1500,6 +1501,7 @@ fi * Thu Oct 05 2017 Michal Schorm - 3:10.2.9-3 - Fix client library obsolete Related: #1498956 +- RPMLint error fix: description line too long * Wed Oct 04 2017 Michal Schorm - 3:10.2.9-2 - Fix of "with" and "without" macros, so they works From d34bedc1a2ef0b2281daa87ffc507a023a29d4b0 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 16 Oct 2017 14:28:44 +0200 Subject: [PATCH 426/789] RPMLint error fix: Remove unused python scripts which remained from TokuDB upstream --- mariadb.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index 9b6a54c..5033d37 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -692,6 +692,8 @@ fi rm -r storage/rocksdb/ %endif +# Remove python scripts remains from tokudb upstream (those files are not used anyway) +rm -r storage/tokudb/mysql-test/tokudb/t/*.py %build @@ -1502,6 +1504,8 @@ fi - Fix client library obsolete Related: #1498956 - RPMLint error fix: description line too long +- RPMLint error fix: + Remove unused python scripts which remained from TokuDB upstream * Wed Oct 04 2017 Michal Schorm - 3:10.2.9-2 - Fix of "with" and "without" macros, so they works From 7b7a7f80e23807496aa7e4e495a27e5ca555d150 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 16 Oct 2017 14:42:14 +0200 Subject: [PATCH 427/789] Update PCRE version and fix its failsafe --- mariadb.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 5033d37..8701125 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -81,7 +81,7 @@ # MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use # the bundled library, since the package cannot be build with older version -%global pcre_version 8.40 +%global pcre_version 8.41 %if 0%{?fedora} >= 21 %bcond_without pcre %else @@ -677,7 +677,7 @@ cat selinux/%{name}-server-galera.te %endif # Check if PCRE version is actual -%{!?with_pcre: +%if %{with pcre} pcre_maj=`grep '^m4_define(pcre_major' pcre/configure.ac | sed -r 's/^m4_define\(pcre_major, \[([0-9]+)\]\)/\1/'` pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\(pcre_minor, \[([0-9]+)\]\)/\1/'` @@ -686,7 +686,7 @@ then echo "\n Error: PCRE version is outdated. \n\tIncluded version:%{pcre_version} \n\tUpstream version: $pcre_maj.$pcre_min\n" exit 1 fi -} +%endif %if %{without rocksdb} rm -r storage/rocksdb/ From c9e70d5f1447e0bd023c860adb5649559ed2488e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 3 Nov 2017 03:41:33 +0100 Subject: [PATCH 428/789] Rebase to 10.2.10 version Patch 2: mariadb-install-test.patch has been incorporated by upstream Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros Update PCRE check Start using location libdir/mariadb for plugins Move libraries to libdir Update unstable tests list --- mariadb-install-db-sharedir.patch | 39 -------- mariadb-install-test.patch | 55 ------------ mariadb.spec | 143 ++++++++++++++++-------------- rh-skipped-tests-base.list | 3 - sources | 2 +- 5 files changed, 75 insertions(+), 167 deletions(-) delete mode 100644 mariadb-install-db-sharedir.patch delete mode 100644 mariadb-install-test.patch diff --git a/mariadb-install-db-sharedir.patch b/mariadb-install-db-sharedir.patch deleted file mode 100644 index 77a90e7..0000000 --- a/mariadb-install-db-sharedir.patch +++ /dev/null @@ -1,39 +0,0 @@ -Use configured value instead of hardcoded path - -diff -up mariadb-10.1.18/scripts/mysql_install_db.pl.in.pbasedir mariadb-10.1.18/scripts/mysql_install_db.pl.in ---- mariadb-10.1.18/scripts/mysql_install_db.pl.in.pbasedir 2016-10-04 19:03:15.562101826 +0200 -+++ mariadb-10.1.18/scripts/mysql_install_db.pl.in 2016-10-04 19:04:47.833130195 +0200 -@@ -320,7 +320,7 @@ elsif ( $opt->{basedir} ) - find_in_basedir($opt,"file","mysqld-nt", - "bin"); # ,"sql" - $srcpkgdatadir = find_in_basedir($opt,"dir","fill_help_tables.sql", -- "share","share/mysql"); # ,"scripts" -+ "share","@INSTALL_MYSQLSHAREDIR@"); # ,"scripts" - $buildpkgdir = $srcpkgdatadir; - $scriptdir = "$opt->{basedir}/scripts"; - } -diff -up mariadb-10.1.18/scripts/mysql_install_db.sh.pbasedir mariadb-10.1.18/scripts/mysql_install_db.sh ---- mariadb-10.1.18/scripts/mysql_install_db.sh.pbasedir 2016-10-04 19:03:22.714104025 +0200 -+++ mariadb-10.1.18/scripts/mysql_install_db.sh 2016-10-04 19:08:11.457186833 +0200 -@@ -283,17 +283,17 @@ then - cannot_find_file mysqld $basedir/libexec $basedir/sbin $basedir/bin - exit 1 - fi -- langdir=`find_in_basedir --dir errmsg.sys share/english share/mysql/english` -+ langdir=`find_in_basedir --dir errmsg.sys share/english @INSTALL_MYSQLSHAREDIR@/english` - if test -z "$langdir" - then -- cannot_find_file errmsg.sys $basedir/share/english $basedir/share/mysql/english -+ cannot_find_file errmsg.sys $basedir/share/english $basedir/@INSTALL_MYSQLSHAREDIR@/english - exit 1 - fi -- srcpkgdatadir=`find_in_basedir --dir fill_help_tables.sql share share/mysql` -+ srcpkgdatadir=`find_in_basedir --dir fill_help_tables.sql share @INSTALL_MYSQLSHAREDIR@` - buildpkgdatadir=$srcpkgdatadir - if test -z "$srcpkgdatadir" - then -- cannot_find_file fill_help_tables.sql $basedir/share $basedir/share/mysql -+ cannot_find_file fill_help_tables.sql $basedir/share $basedir/@INSTALL_MYSQLSHAREDIR@ - exit 1 - fi - scriptdir="$basedir/scripts" diff --git a/mariadb-install-test.patch b/mariadb-install-test.patch deleted file mode 100644 index 1797474..0000000 --- a/mariadb-install-test.patch +++ /dev/null @@ -1,55 +0,0 @@ -Improve the documentation that will be installed in the mysql-test RPM. - ---- mariadb-10.1.13/mysql-test/README.orig 2016-03-24 10:12:10.000000000 +0100 -+++ mariadb-10.1.13/mysql-test/README 2016-03-29 10:23:30.074326900 +0200 -@@ -1,15 +1,28 @@ --This directory contains a test suite for the MySQL daemon. To run --the currently existing test cases, simply execute ./mysql-test-run in --this directory. It will fire up the newly built mysqld and test it. -- --Note that you do not have to have to do "make install", and you could --actually have a co-existing MySQL installation. The tests will not --conflict with it. To run the test suite in a source directory, you --must do make first. -- --All tests must pass. If one or more of them fail on your system, please --read the following manual section for instructions on how to report the --problem: -+This directory contains a test suite for the MariaDB daemon. To run -+the currently existing test cases, execute ./mysql-test-run in -+this directory. -+ -+For use in Red Hat distributions, you should run the script as user mysql, -+who is created with nologin shell however, so the best bet is something like -+ $ su - -+ # cd /usr/share/mysql-test -+ # su -s /bin/bash mysql -c "./mysql-test-run --skip-test-list=unstable-tests" -+ -+This will use the installed mysql executables, but will run a private copy -+of the server process (using data files within /usr/share/mysql-test), -+so you need not start the mysqld service beforehand. -+ -+The "--skip-test-list=unstable-tests" option excludes tests that are -+known to fail on one or more Red-Hat-supported platforms. You can omit it -+if you want to check whether such failures occur for you. Documentation -+about the reasons for omitting such tests can be found in the file -+unstable-tests. -+ -+To clean up afterwards, remove the created "var" subdirectory, eg -+ # su -s /bin/bash - mysql -c "rm -rf /usr/share/mysql-test/var" -+ -+If one or more tests fail on your system, please read the following manual -+section for instructions on how to report the problem: - - https://mariadb.com/kb/en/reporting-bugs - -@@ -26,7 +39,8 @@ other relevant options. - - With no test cases named on the command line, mysql-test-run falls back - to the normal "non-extern" behavior. The reason for this is that some --tests cannot run with an external server. -+tests cannot run with an external server (because they need to control the -+options with which the server is started). - - You can create your own test cases. To create a test case, create a new - file in the t subdirectory using a text editor. The file should have a .test diff --git a/mariadb.spec b/mariadb.spec index 8701125..71b65c3 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -60,8 +60,7 @@ %bcond_without config # For deep debugging we need to build binaries with extra debug info -# Does not work at this time: https://jira.mariadb.org/browse/MDEV-13986 -%bcond_with debug +%bcond_with debug # Include files for SysV init or systemd %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 @@ -81,11 +80,11 @@ # MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use # the bundled library, since the package cannot be build with older version -%global pcre_version 8.41 %if 0%{?fedora} >= 21 -%bcond_without pcre +%bcond_without bundled_pcre %else -%bcond_with pcre +%bcond_with bundled_pcre +%global pcre_bundled_version 8.41 %endif # We define some system's well known locations here so we can use them easily @@ -123,11 +122,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.2 -%global bugfixver 9 +%global bugfixver 10 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -163,16 +162,11 @@ Source71: LICENSE.clustercheck # https://jira.mariadb.org/browse/MDEV-12646 Source72: mariadb-server-galera.te -# Patch2: testsuite README update, introducing skipped-tests.list -# upstream questioned, if they are insterested: https://jira.mariadb.org/browse/MDEV-12263 -Patch2: %{pkgnamepatch}-install-test.patch # Patch4: Red Hat distributions specific logrotate fix # it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2 Patch4: %{pkgnamepatch}-logrotate.patch # Patch7: add to the CMake file all files where we want macros to be expanded Patch7: %{pkgnamepatch}-scripts.patch -# Patch8: resolve conflict, when we combine MariaDB and MySQL packages -Patch8: %{pkgnamepatch}-install-db-sharedir.patch # Patch9: pre-configure to comply with guidelines Patch9: %{pkgnamepatch}-ownsetup.patch @@ -211,8 +205,8 @@ BuildRequires: libarchive-devel # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel # use either new enough version of pcre or provide bundles(pcre) -%{?with_pcre:BuildRequires: pcre-devel >= 8.35} -%{!?with_pcre:Provides: bundled(pcre) = %{pcre_version}} +%{?with_bundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf} +%{?without_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}} # Few utilities needs Perl %if 0%{?fedora} >= 22 || 0%{?rhel} > 7 BuildRequires: perl-interpreter @@ -271,10 +265,10 @@ Obsoletes: mariadb-galera < %{obsoleted_mariadb_galera_evr} # Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering %if 0%{?fedora} > 14 || 0%{?rhel} > 6 %global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) -%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ +%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\\.so)$ %else %filter_from_requires /perl(\(hostnames\|lib::mtr\|lib::v1\|mtr_\|My::\)/d -%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\.so) +%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\.so) %filter_setup %endif @@ -504,7 +498,7 @@ Requires: perl(DBI) perl(DBD::mysql) %description server-utils This package contains all non-essential server utilities and scripts for managing databases. It also contains all utilities requiring Perl and it is -the only MariaDB subpackage, except test subpackage, that depends on Perl. +the only MariaDB sub-package, except test subpackage, that depends on Perl. %if %{with devel} @@ -634,10 +628,8 @@ MariaDB is a community developed branch of MySQL. %prep %setup -q -n mariadb-%{version} -%patch2 -p1 %patch4 -p1 %patch7 -p1 -%patch8 -p1 %patch9 -p1 %patch37 -p1 %patch40 -p1 @@ -676,17 +668,27 @@ sed -i 's/kerberos_port_t/kerberos_master_port_t/' selinux/%{name}-server-galera cat selinux/%{name}-server-galera.te %endif -# Check if PCRE version is actual -%if %{with pcre} + +# Get version of PCRE, that upstream use pcre_maj=`grep '^m4_define(pcre_major' pcre/configure.ac | sed -r 's/^m4_define\(pcre_major, \[([0-9]+)\]\)/\1/'` pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\(pcre_minor, \[([0-9]+)\]\)/\1/'` -if [ %{pcre_version} != "$pcre_maj.$pcre_min" ] +%if %{without bundled_pcre} +# Check if the PCRE version in macro 'pcre_bundled_version', used in Provides: bundled(...), is the same version as upstream actually bundles +if [ %{pcre_bundled_version} != "$pcre_maj.$pcre_min" ] then - echo "\n Error: PCRE version is outdated. \n\tIncluded version:%{pcre_version} \n\tUpstream version: $pcre_maj.$pcre_min\n" + echo "\n Error: Bundled PCRE version is not correct. \n\tBundled version number:%{pcre_bundled_version} \n\tUpstream version number: $pcre_maj.$pcre_min\n" exit 1 fi -%endif +%else +# Check if the PCRE version that upstream use, is the same as the one present in system +pcre_system_version=`pkgconf %{_libdir}/pkgconfig/libpcre.pc --modversion 2>/dev/null ` +if [ "$pcre_system_version" != "$pcre_maj.$pcre_min" ] +then + echo "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_maj.$pcre_min\n" +fi +%endif # PCRE + %if %{without rocksdb} rm -r storage/rocksdb/ @@ -695,6 +697,8 @@ rm -r storage/rocksdb/ # Remove python scripts remains from tokudb upstream (those files are not used anyway) rm -r storage/tokudb/mysql-test/tokudb/t/*.py + + %build # fail quickly and obviously if user tries to build as root @@ -747,11 +751,11 @@ export LDFLAGS -DINSTALL_DOCREADMEDIR="share/doc/%{_pkgdocdirname}" \ -DINSTALL_INCLUDEDIR=include/mysql \ -DINSTALL_INFODIR=share/info \ - -DINSTALL_LIBDIR="%{_lib}/mysql" \ + -DINSTALL_LIBDIR="%{_lib}" \ -DINSTALL_MANDIR=share/man \ -DINSTALL_MYSQLSHAREDIR=share/%{pkg_name} \ -DINSTALL_MYSQLTESTDIR=share/mysql-test \ - -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ + -DINSTALL_PLUGINDIR="%{_lib}/%{pkg_name}/plugin" \ -DINSTALL_SBINDIR=libexec \ -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_SQLBENCHDIR=share \ @@ -763,7 +767,7 @@ export LDFLAGS -DWITH_EMBEDDED_SERVER=ON \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -%{?with_pcre: -DWITH_PCRE=system}\ + -DWITH_PCRE=%{?with_bundled_pcre:system}%{!?with_bundled_pcre:bundled} \ -DWITH_JEMALLOC=system \ -DWITH_LIBARCHIVE=ON \ -DWITH_MARIABACKUP=ON \ @@ -781,11 +785,11 @@ make %{?_smp_mflags} VERBOSE=1 # 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 e in innobase xtradb ; do - for f in pars0grm.y pars0lex.l ; do - cp -p "storage/$e/pars/$f" "storage/$e/$f" - done -done +#for e in innobase xtradb ; do +# for f in pars0grm.y pars0lex.l ; do +# cp -p "storage/$e/pars/$f" "storage/$e/$f" +# done +#done # build selinux policy %if %{with galera} @@ -819,8 +823,8 @@ mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also %%{name}-file-contents.patch) -install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ -install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ +install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/%{pkg_name}/ +install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/%{pkg_name}/ rm -r %{buildroot}%{_datadir}/doc/%{_pkgdocdirname}/MariaDB-server-%{version}/ mkdir -p %{buildroot}%{logfiledir} @@ -878,7 +882,7 @@ ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/ # should move this to /etc/ ? rm %{buildroot}%{_bindir}/mysql_embedded -rm %{buildroot}%{_libdir}/mysql/*.a +rm %{buildroot}%{_libdir}/*.a rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure rm %{buildroot}%{_datadir}/%{pkg_name}/magic rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server @@ -892,12 +896,6 @@ mkdir -p %{buildroot}%{logrotateddir} mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name} chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name} -%if %{with clibrary} -mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d -# Save a name of the directory that contains libraries to this file -echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf -%endif - # copy additional docs into build tree so %%doc will find them install -p -m 0644 %{SOURCE5} %{basename:%{SOURCE5}} install -p -m 0644 %{SOURCE6} %{basename:%{SOURCE6}} @@ -952,16 +950,16 @@ ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list %if %{without clibrary} rm %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf # Client library and links -rm %{buildroot}%{_libdir}/mysql/libmariadb*.so.* -unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so -unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so -unlink %{buildroot}%{_libdir}/mysql/libmariadb.so +rm %{buildroot}%{_libdir}/libmariadb*.so.* +unlink %{buildroot}%{_libdir}/libmysqlclient.so +unlink %{buildroot}%{_libdir}/libmysqlclient_r.so +unlink %{buildroot}%{_libdir}/libmariadb.so # Client plugins -rm %{buildroot}%{_libdir}/mysql/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so,auth_gssapi_client.so} +rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so,auth_gssapi_client.so} %endif %if %{without embedded} -rm %{buildroot}%{_libdir}/mysql/libmysqld.so* +rm %{buildroot}%{_libdir}/%{pkg_name}/libmysqld.so* rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* %endif @@ -980,7 +978,7 @@ unlink %{buildroot}%{_mandir}/man1/mariadb_config.1* # Create symlinks to the 'libmariadb' library, for compatibility reasons # Note: the -libs subpackage has Provides: for this compat symlink; when # it is removed, they should also be removed -pushd %{buildroot}%{_libdir}/mysql/ +pushd %{buildroot}%{_libdir} #ln -s libmariadb.so libmysqlclient.so ln -s libmariadb.so.3 libmysqlclient.so.18 #ln -s libmariadb.so libmysqlclient_r.so @@ -1208,9 +1206,8 @@ fi %if %{with clibrary} %files libs -%{_libdir}/mysql/libmariadb.so.* -%{_libdir}/mysql/libmysqlclient.so.18 -%{_sysconfdir}/ld.so.conf.d/* +%{_libdir}/libmariadb.so.* +%{_libdir}/libmysqlclient.so.18 %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf %endif @@ -1230,8 +1227,8 @@ fi %dir %{_datadir}/%{pkg_name} %{_datadir}/%{pkg_name}/charsets %if %{with devel} && %{with errmsg} && %{with galera} && %{with config} && %{with clibrary} -%{_libdir}/mysql/plugin/dialog.so -%{_libdir}/mysql/plugin/mysql_clear_password.so +%{_libdir}/%{pkg_name}/plugin/dialog.so +%{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so %endif # devel && errmsg && galera && config %endif # common @@ -1328,19 +1325,19 @@ fi %{_libexecdir}/mysqld -%{_libdir}/mysql/INFO_SRC -%{_libdir}/mysql/INFO_BIN +%{_libdir}/%{pkg_name}/INFO_SRC +%{_libdir}/%{pkg_name}/INFO_BIN %if %{without common} %dir %{_datadir}/%{pkg_name} %endif -%dir %{_libdir}/mysql -%dir %{_libdir}/mysql/plugin -%{_libdir}/mysql/plugin/* -%{?with_oqgraph:%exclude %{_libdir}/mysql/plugin/ha_oqgraph.so} -%{?with_connect:%exclude %{_libdir}/mysql/plugin/ha_connect.so} -%exclude %{_libdir}/mysql/plugin/dialog.so -%exclude %{_libdir}/mysql/plugin/mysql_clear_password.so +%dir %{_libdir}/%{pkg_name} +%dir %{_libdir}/%{pkg_name}/plugin +%{_libdir}/%{pkg_name}/plugin/* +%{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so} +%{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so} +%exclude %{_libdir}/%{pkg_name}/plugin/dialog.so +%exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so %{_mandir}/man1/aria_chk.1* %{_mandir}/man1/aria_dump_log.1* @@ -1420,13 +1417,13 @@ fi %if %{with oqgraph} %files oqgraph-engine %config(noreplace) %{_sysconfdir}/my.cnf.d/oqgraph.cnf -%{_libdir}/mysql/plugin/ha_oqgraph.so +%{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so %endif %if %{with connect} %files connect-engine %config(noreplace) %{_sysconfdir}/my.cnf.d/connect.cnf -%{_libdir}/mysql/plugin/ha_connect.so +%{_libdir}/%{pkg_name}/plugin/ha_connect.so %endif %files server-utils @@ -1461,9 +1458,9 @@ fi %if %{with clibrary} %{_bindir}/mysql_config* %{_bindir}/mariadb_config* -%{_libdir}/mysql/libmariadb.so -%{_libdir}/mysql/libmysqlclient.so -%{_libdir}/mysql/libmysqlclient_r.so +%{_libdir}/libmariadb.so +%{_libdir}/libmysqlclient.so +%{_libdir}/libmysqlclient_r.so %{_mandir}/man1/mysql_config* %{_mandir}/man1/mariadb_config* %endif @@ -1471,10 +1468,10 @@ fi %if %{with embedded} %files embedded -%{_libdir}/mysql/libmysqld.so.* +%{_libdir}/libmysqld.so.* %files embedded-devel -%{_libdir}/mysql/libmysqld.so +%{_libdir}/libmysqld.so %{_bindir}/mysql_client_test_embedded %{_bindir}/mysqltest_embedded %{_mandir}/man1/mysql_client_test_embedded.1* @@ -1500,6 +1497,14 @@ fi %endif %changelog +* Wed Nov 01 2017 Michal Schorm - 3:10.2.10-1 +- Rebase to 10.2.10 version +- Patch 2: mariadb-install-test.patch has been incorporated by upstream +- Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros +- Update PCRE check +- Start using location libdir/mariadb for plugins +- Move libraries to libdir + * Thu Oct 05 2017 Michal Schorm - 3:10.2.9-3 - Fix client library obsolete Related: #1498956 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index bf4f3f0..022dda6 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -10,12 +10,9 @@ main.non_blocking_api : #1399847 perfschema.nesting : #1399847 perfschema.socket_summary_by_event_name_func : #1399847 perfschema.socket_summary_by_instance_func : #1399847 -perfschema.bad_option_1 : #1399847 -perfschema.bad_option_5 : #1399847 # needs this tests disabled for mode build plugins.feedback_plugin_load : # - plugins.show_all_plugins : warnings in log # ------------------------------ diff --git a/sources b/sources index 11e9767..2161b03 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.2.9.tar.gz) = 11ba0913144d7298ffa4c0a0128a3d1525a39b8205ffc580311751cf25a4e86159e46a32d3c8330c4ea028cdd50643eb5381651df654751ca3e4fb3d4698a373 +SHA512 (mariadb-10.2.10.tar.gz) = 39c198009f8b19f4a08226ef9842b50e24636580b67c1c92d59c61cce3aa1edbd466e253c281dfcdfc58ab573ae9a59aaacb0ce3e8b82222043ddd849fc3e239 From cc70eb14e361b9bc0ef2f77df64ddd038cf6e72c Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 6 Nov 2017 13:31:33 +0100 Subject: [PATCH 429/789] Compatibility fix --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 71b65c3..e75403b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -80,7 +80,7 @@ # MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use # the bundled library, since the package cannot be build with older version -%if 0%{?fedora} >= 21 +%if 0%{?fedora} >= 21 || 0%{?rhel} > 7 %bcond_without bundled_pcre %else %bcond_with bundled_pcre From be7f9270916d54b29bb92ffab7054d68f28168ff Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 6 Nov 2017 16:06:33 +0100 Subject: [PATCH 430/789] Added JIRA issue trackers --- mariadb.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index e75403b..a2cafa7 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -932,8 +932,7 @@ rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMar rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar -# RPMLINT E: -# mariadb-bench.x86_64: E: script-without-shebang /usr/share/sql-bench/myisam.cnf +# script without shebang: https://jira.mariadb.org/browse/MDEV-14266 chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf # Remove AppArmor files @@ -1301,6 +1300,7 @@ fi %{_bindir}/replace %{_bindir}/resolve_stack_dump %{_bindir}/resolveip +# wsrep_sst_common should be moved to /usr/share/mariadb: https://jira.mariadb.org/browse/MDEV-14296 %{_bindir}/wsrep_sst_common %{_bindir}/wsrep_sst_mariabackup %{_bindir}/wsrep_sst_mysqldump From d82e5cb98533c58398a50f16efb111173230a1c1 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 13 Nov 2017 09:18:22 +0100 Subject: [PATCH 431/789] Divided to more sub-packages to match upstream's RPM list: #1490401; #1400463 Update of Cmake arguments to supported format: https://lists.launchpad.net/maria-discuss/msg04852.htm --- mariadb.spec | 529 +++++++++++++++++++++++++++++++++------------------ 1 file changed, 347 insertions(+), 182 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index a2cafa7..0a259bc 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -20,28 +20,35 @@ %global _default_patch_flags --no-backup-if-mismatch # TokuDB engine -# https://mariadb.com/kb/en/mariadb/tokudb/ -# TokuDB engine is available only for x86_64 +# https://mariadb.com/kb/en/mariadb/tokudb/ +# TokuDB engine is available only for x86_64 +# Mroonga engine +# https://mariadb.com/kb/en/mariadb/about-mroonga/ +# Actual version in MariaDB, 5.04, only supports the x86_64 +# Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html +# RocksDB engine +# https://mariadb.com/kb/en/library/myrocks-supported-platforms/ +# RocksB engine is available only for x86_64 %ifarch x86_64 %bcond_without tokudb +%bcond_without mroonga +%bcond_without rocksdb %else %bcond_with tokudb -%endif - -# Mroonga engine -# https://mariadb.com/kb/en/mariadb/about-mroonga/ -# Actual version in MariaDB, 5.04, only supports the x86_64 -# Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html -%ifarch x86_64 -%bcond_without mroonga -%else %bcond_with mroonga +%bcond_with rocksdb %endif # The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing # hierarchies and more complex graph structures to be handled in a relational fashion %bcond_without oqgraph +# Other plugins +%bcond_without cracklib +%bcond_without gssapi +%bcond_without connect +%bcond_without sphinx + # For some use cases we do not need some parts of the package. Set to "...with" to exclude %bcond_without clibrary %bcond_without embedded @@ -51,8 +58,8 @@ %bcond_without errmsg %bcond_without bench %bcond_without test -%bcond_without connect %bcond_without galera +%bcond_without backup # When there is already another package that ships /etc/my.cnf, # rather include it than ship the file again, since conflicts between @@ -62,6 +69,8 @@ # For deep debugging we need to build binaries with extra debug info %bcond_with debug + + # Include files for SysV init or systemd %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 %bcond_without init_systemd @@ -179,28 +188,24 @@ Patch40: %{pkgnamepatch}-galera.cnf.patch Patch43: %{pkgnamepatch}-recovery.patch BuildRequires: cmake gcc-c++ -BuildRequires: libaio-devel -BuildRequires: libedit-devel -BuildRequires: ncurses-devel -BuildRequires: systemtap-sdt-devel BuildRequires: zlib-devel BuildRequires: multilib-rpm-config -BuildRequires: krb5-devel BuildRequires: selinux-policy-devel -%{?with_init_systemd:BuildRequires: systemd systemd-devel} -# Sphinx storage engine -#BuildRequires: sphinx libsphinxclient libsphinxclient-devel -# Bison SQL parser -BuildRequires: bison bison-devel -# Jemalloc, used by TokuDB +# TokuDB and some core stuff BuildRequires: jemalloc-devel -# Cracklib plugin -BuildRequires: cracklib-dicts cracklib-devel - -# Mariabackup -BuildRequires: libarchive-devel +# asynchornous operations stuff +BuildRequires: libaio-devel +# commands history features +BuildRequires: libedit-devel +# CLI graphic +BuildRequires: ncurses-devel +# debugging stuff +BuildRequires: systemtap-sdt-devel +%{?with_init_systemd:BuildRequires: systemd systemd-devel} +# Bison SQL parser +BuildRequires: bison bison-devel # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel @@ -230,7 +235,7 @@ BuildRequires: perl(Time::HiRes) BuildRequires: perl(Symbol) # for running some openssl tests rhbz#1189180 BuildRequires: openssl openssl-devel -Recommends: openssl +Requires: openssl Requires: bash coreutils grep @@ -311,7 +316,7 @@ Provides: libmysqlclient.so.18(libmysqlclient_18) The mariadb-libs package provides the essential shared libraries for any MariaDB/MySQL client program or interface. You will need to install this package to use any other MariaDB package or any clients that need to connect -to a MariaDB/MySQL server. MariaDB is a community developed branch of MySQL. +to a MariaDB/MySQL server. %endif #clibrary @@ -351,7 +356,6 @@ Obsoletes: mariadb-galera-common < %{obsoleted_mariadb_galera_common_evr} Obsoletes: %{name}-libs <= %{sameevr} %endif - %description common The package provides the essential shared files for any MariaDB program. You will need to install this package to use any other MariaDB package. @@ -380,6 +384,9 @@ Requires: %{name}-server%{?_isa} = %{sameevr} Requires: galera >= 25.3.3 Requires(post): libselinux-utils Requires(post): policycoreutils-python +# wsrep requirements +Requires: lsof +Requires: rsync # obsoletion of mariadb-galera-server Provides: mariadb-galera-server = %{sameevr} @@ -408,18 +415,23 @@ Requires: %{name}%{?_isa} Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-errmsg%{?_isa} = %{sameevr} Recommends: %{name}-server-utils%{?_isa} = %{sameevr} +Recommends: %{name}-backup%{?_isa} = %{sameevr} +Recommends: %{name}-craclkib-password-check%{?_isa} = %{sameevr} +Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr} +Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr} +Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr} + Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d + # for fuser in mysql-check-socket Requires: psmisc + Requires: coreutils Requires(pre): /usr/sbin/useradd -# Sphinx storage engine -#Recommends: sphinx libsphinxclient # Bison SQL parser +# WHY?? (testsuite??) Requires: bison -# Cracklib plugin: -Recommends: cracklib-dicts %if %{with init_systemd} # We require this to be present for %%{_tmpfilesdir} @@ -429,9 +441,6 @@ Requires(pre): systemd Requires(posttrans): systemd %{?systemd_requires: %systemd_requires} %endif -# wsrep requirements -Requires: lsof -Requires: rsync # RHBZ#1496131; use 'iproute' instead of 'net-tools' Requires: iproute %if %{with mysql_names} @@ -485,6 +494,85 @@ or products (such as Excel), or data retrieved from the environment %endif +%if %{with backup} +%package backup +Summary: The mariabackup tool for physical online backups +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{sameevr} +BuildRequires: libarchive-devel + +%description backup +MariaDB Backup is an open source tool provided by MariaDB for performing +physical online backups of InnoDB, Aria and MyISAM tables. +For InnoDB, "hot online" backups are possible. +%endif + + +%if %{with rocksdb} +%package rocksdb-engine +Summary: The RocksDB storage engine for MariaDB +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{sameevr} + +%description rocksdb-engine +The RocksDB storage engine is used for high performance servers on SSD drives. +%endif + + +%if %{with tokudb} +%package tokudb-engine +Summary: The TokuDB storage engine for MariaDB +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{sameevr} + +%description tokudb-engine +The TokuDB storage engine from Percona. +%endif + + +%if %{with cracklib} +%package cracklib-password-check +Summary: The password strength checking plugin +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{sameevr} +BuildRequires: cracklib-dicts cracklib-devel +Requires: cracklib-dicts + +%description cracklib-password-check +CrackLib is a password strength checking library. It is installed by default +in many Linux distributions and is invoked automatically (by pam_cracklib.so) +whenever the user login password is modified. +Now, with the cracklib_password_check password validation plugin, one can +also use it to check MariaDB account passwords. +%endif + + +%if %{with gssapi} +%package gssapi-server +Summary: GSSAPI authentication plugin for server +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{sameevr} +BuildRequires: krb5-devel + +%description gssapi-server +GSSAPI authentication server-side plugin for MariaDB for passwordless login. +This plugin includes support for Kerberos on Unix. +%endif + + +%if %{with sphinx} +%package sphinx-engine +Summary: The Sphinx storage engine for MariaDB +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{sameevr} +BuildRequires: sphinx libsphinxclient libsphinxclient-devel +Requires: sphinx libsphinxclient + +%description sphinx-engine +The Sphinx storage engine for MariaDB. +%endif + + %package server-utils Summary: Non-essential server utilities for MariaDB/MySQL applications Group: Applications/Databases @@ -520,10 +608,16 @@ Provides: mysql-devel%{?_isa} = %{sameevr} %{?with_conflicts:Conflicts: community-mysql-devel} %description devel -MariaDB is a multi-user, multi-threaded SQL database server. This -package contains the libraries and header files that are needed for -developing MariaDB/MySQL client applications. +MariaDB is a multi-user, multi-threaded SQL database server. MariaDB is a community developed branch of MySQL. +%if %{with clibrary} +This package contains everything needed for developing MariaDB/MySQL client +and server applications. +%else +This package contains everything needed for developing MariaDB/MySQL server +applications. For developing client applications, use mariadb-connector-c +package. +%endif %endif @@ -563,10 +657,10 @@ Provides: mysql-embedded-devel%{?_isa} = %{sameevr} %{?obsoleted_mysql_evr:Obsoletes: mysql-embedded-devel < %{obsoleted_mysql_evr}} %description embedded-devel -MariaDB is a multi-user, multi-threaded SQL database server. This -package contains files needed for developing and testing with -the embedded version of the MariaDB server. +MariaDB is a multi-user, multi-threaded SQL database server. MariaDB is a community developed branch of MySQL. +This package contains files needed for developing and testing with +the embedded version of the MariaDB server. %endif @@ -584,10 +678,10 @@ Provides: mysql-bench%{?_isa} = %{sameevr} %{?obsoleted_mysql_evr:Obsoletes: mysql-bench < %{obsoleted_mysql_evr}} %description bench -MariaDB is a multi-user, multi-threaded SQL database server. This -package contains benchmark scripts and data for use when benchmarking -MariaDB. +MariaDB is a multi-user, multi-threaded SQL database server. MariaDB is a community developed branch of MySQL. +This package contains benchmark scripts and data for use when benchmarking +MariaDB. %endif @@ -618,10 +712,10 @@ Provides: mysql-test%{?_isa} = %{sameevr} %{?obsoleted_mysql_evr:Obsoletes: mysql-test < %{obsoleted_mysql_evr}} %description test -MariaDB is a multi-user, multi-threaded SQL database server. This -package contains the regression test suite distributed with -the MariaDB sources. +MariaDB is a multi-user, multi-threaded SQL database server. MariaDB is a community developed branch of MySQL. +This package contains the regression test suite distributed with the MariaDB +sources. %endif @@ -762,35 +856,76 @@ export LDFLAGS -DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \ -DMYSQL_DATADIR="%{dbdatadir}" \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ + -DTMPDIR=/var/tmp \ -DENABLED_LOCAL_INFILE=ON \ - -DENABLE_DTRACE=OFF \ - -DWITH_EMBEDDED_SERVER=ON \ + -DENABLE_DTRACE=ON \ + -DWITH_EMBEDDED_SERVER=%{?with_embedded:ON}%{!?with_embedded:OFF} \ + -DWITH_MARIABACKUP=%{?with_backup:ON}%{!?with_backup:NO} \ + -DWITH_UNIT_TESTS=%{?with_test:ON}%{!?with_test:NO} \ + -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DWITH_PCRE=%{?with_bundled_pcre:system}%{!?with_bundled_pcre:bundled} \ -DWITH_JEMALLOC=system \ - -DWITH_LIBARCHIVE=ON \ - -DWITH_MARIABACKUP=ON \ -%{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\ -%{!?with_mroonga: -DWITHOUT_MROONGA=ON}\ -%{!?with_oqgraph: -DWITHOUT_OQGRAPH=ON}\ - -DTMPDIR=/var/tmp \ -%{?with_debug: -DCMAKE_BUILD_TYPE=Debug}\ + -DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \ + -DPLUGIN_OQGRAPH=%{?with_oqgraph:DYNAMIC}%{!?with_oqgraph:NO} \ + -DPLUGIN_CRACKLIB_PASSWORD_CHECK=%{?with_cracklib:DYNAMIC}%{!?with_cracklib:NO} \ + -DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \ + -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ + -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ + -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ + -DPLUGIN_ARCHIVE=DYNAMIC \ + -DPLUGIN_AUDIT_NULL=DYNAMIC \ + -DPLUGIN_AUTH_ED25519=DYNAMIC \ + -DPLUGIN_AUTH_PAM=DYNAMIC \ + -DPLUGIN_AUTH_SOCKET=DYNAMIC \ + -DPLUGIN_AUTH_TEST_PLUGIN=DYNAMIC \ + -DPLUGIN_AUTH_0X0100=DYNAMIC \ + -DPLUGIN_BLACKHOLE=DYNAMIC \ + -DPLUGIN_CLIENT_ED25519=DYNAMIC \ + -DPLUGIN_DAEMON_EXAMPLE=DYNAMIC \ + -DPLUGIN_DEBUG_KEY_MANAGEMENT=DYNAMIC \ + -DPLUGIN_DIALOG_EXAMPLES=DYNAMIC \ + -DPLUGIN_EXAMPLE=DYNAMIC \ + -DPLUGIN_EXAMPLE_KEY_MANAGEMENT=DYNAMIC \ + -DPLUGIN_FEDERATED=DYNAMIC \ + -DPLUGIN_FEDERATEDX=DYNAMIC \ + -DPLUGIN_FEEDBACK=DYNAMIC \ + -DPLUGIN_FILE_KEY_MANAGEMENT=DYNAMIC \ + -DPLUGIN_FTEXAMPLE=DYNAMIC \ + -DPLUGIN_HANDLERSOCKET=DYNAMIC \ + -DPLUGIN_LOCALES=DYNAMIC \ + -DPLUGIN_METADATA_LOCK_INFO=DYNAMIC \ + -DPLUGIN_QA_AUTH_CLIENT=DYNAMIC \ + -DPLUGIN_QA_AUTH_INTERFACE=DYNAMIC \ + -DPLUGIN_QA_AUTH_SERVER=DYNAMIC \ + -DPLUGIN_QUERY_CACHE_INFO=DYNAMIC \ + -DPLUGIN_QUERY_RESPONSE_TIME=DYNAMIC \ + -DPLUGIN_SEMISYNC_MASTER=DYNAMIC \ + -DPLUGIN_SEMISYNC_SLAVE=DYNAMIC \ + -DPLUGIN_SEQUENCE=DYNAMIC \ + -DPLUGIN_SERVER_AUDIT=DYNAMIC \ + -DPLUGIN_SIMPLE_PASSWORD_CHECK=DYNAMIC \ + -DPLUGIN_SPIDER=DYNAMIC \ + -DPLUGIN_SQL_ERRLOG=DYNAMIC \ + -DPLUGIN_TEST_SQL_DISCOVERY=DYNAMIC \ + -DPLUGIN_USER_VARIABLES=DYNAMIC \ + -DPLUGIN_WSREP_INFO=DYNAMIC \ +%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \ %{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} +# Following argumets leads to compile errors. Tracked as https://jira.mariadb.org/browse/MDEV-14373 +# -DPLUGIN_INNOBASE=DYNAMIC \ +# -DPLUGIN_PARTITION=DYNAMIC \ +# -DPLUGIN_ARIA=DYNAMIC \ +# -DPLUGIN_PERFSCHEMA=DYNAMIC \ + +# Print all Cmake options values +cmake -L + make %{?_smp_mflags} VERBOSE=1 -# 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 e in innobase xtradb ; do -# for f in pars0grm.y pars0lex.l ; do -# cp -p "storage/$e/pars/$f" "storage/$e/$f" -# done -#done - # build selinux policy %if %{with galera} pushd selinux @@ -817,7 +952,8 @@ ln -s mysql_config.1 %{buildroot}%{_mandir}/man1/mysql_config-%{__isa_bits}.1 fi # Upstream install this into arch-independent directory -# TODO: report to upstream +# Reported to upstream as: https://jira.mariadb.org/browse/MDEV-14340 +# TODO: check, if it changes location inside that file depending on values passed to Cmake mkdir -p %{buildroot}/%{_libdir}/pkgconfig mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig @@ -827,6 +963,7 @@ install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/%{pkg_name}/ install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/%{pkg_name}/ rm -r %{buildroot}%{_datadir}/doc/%{_pkgdocdirname}/MariaDB-server-%{version}/ +# Logfile creation mkdir -p %{buildroot}%{logfiledir} chmod 0750 %{buildroot}%{logfiledir} touch %{buildroot}%{logfile} @@ -843,9 +980,12 @@ install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf rm scripts/my.cnf %endif -# use different config file name for each variant of server +# use different config file name for each variant of server (mariadb / mysql) mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf +# remove SysV init script and a symlink to that, we pack our very own +rm %{buildroot}%{_sysconfdir}/init.d/mysql +rm %{buildroot}%{_libexecdir}/rcmysql # install systemd unit files and scripts for handling server startup %if %{with init_systemd} install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service @@ -853,9 +993,8 @@ install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_nam install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?mysqld_pid_dir:1} echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf -%endif -%endif - +%endif #pid +%endif #systemd # install SysV init script %if %{with init_sysv} install -D -p -m 755 scripts/mysql.init %{buildroot}%{daemondir}/%{daemon_name} @@ -870,26 +1009,35 @@ install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql- install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready %endif -# install selinux policy +# install aditional galera selinux policy %if %{with galera} install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp %endif -# mysql-test includes one executable that doesn't belong under /usr/share, -# so move it and provide a symlink +# mysql-test includes one executable that doesn't belong under /usr/share, so move it and provide a symlink 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 +# Provide symlink expected by RH QA tests +ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list + # should move this to /etc/ ? -rm %{buildroot}%{_bindir}/mysql_embedded +# WHY?? +%{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded} #upstream ships in client + rm %{buildroot}%{_libdir}/*.a -rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure -rm %{buildroot}%{_datadir}/%{pkg_name}/magic -rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server -rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server -rm %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* -rm %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* -rm %{buildroot}%{_bindir}/mytop +rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure #This script creates the MySQL system tables and starts the server. + +# WHY?? +rm %{buildroot}%{_datadir}/%{pkg_name}/magic #FS files first-bytes recoginiton? + +rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server #Usage: mysql.server {start|stop|restart|reload|force-reload|status|configtest|bootstrap} [ MySQL server options ] +rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server #Can't execute /usr/local/mysql/bin/mysqld_multi from dir /usr/local/mysql + +# WHY?? +rm %{buildroot}%{_bindir}/mytop #not shipped by upstream + + # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} @@ -906,45 +1054,39 @@ install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}} # install galera config file sed -i -r 's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|' support-files/wsrep.cnf install -p -m 0644 support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf - # install the clustercheck script mkdir -p %{buildroot}%{_sysconfdir}/sysconfig touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck - # install the galera_new_cluster script anyway %if %{without init_systemd} install -p -m 0755 scripts/galera_new_cluster %{buildroot}%{_bindir}/galera_new_cluster %endif -# remove SysV init script and a symlink to that -rm %{buildroot}%{_sysconfdir}/init.d/mysql -rm %{buildroot}%{_libexecdir}/rcmysql - # remove duplicate logrotate script rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql - -# rename the wsrep README so it corresponds with the other README names -cp Docs/README-wsrep Docs/README.wsrep - # remove *.jar file from mysql-test rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar +# Remove AppArmor files +rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor # script without shebang: https://jira.mariadb.org/browse/MDEV-14266 chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf -# Remove AppArmor files -rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor - # Disable plugins +%if %{with ggsapi} sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/auth_gssapi.cnf +%endif +%if %{with cracklib} sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf +%endif + +%if %{without embedded} +rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* +%endif -# install the list of skipped tests to be available for user runs -install -p -m 0644 mysql-test/unstable-tests %{buildroot}%{_datadir}/mysql-test -ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list %if %{without clibrary} rm %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf @@ -957,66 +1099,43 @@ unlink %{buildroot}%{_libdir}/libmariadb.so rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so,auth_gssapi_client.so} %endif -%if %{without embedded} -rm %{buildroot}%{_libdir}/%{pkg_name}/libmysqld.so* -rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} -rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* -%endif - -%if %{without devel} +%if %{without clibrary} || %{without devel} unlink %{buildroot}%{_bindir}/mysql_config rm %{buildroot}%{_bindir}/mysql_config* rm %{buildroot}%{_bindir}/mariadb_config -rm -r %{buildroot}%{_includedir}/mysql -rm %{buildroot}%{_datadir}/aclocal/mysql.m4 -rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc rm %{buildroot}%{_mandir}/man1/mysql_config*.1* unlink %{buildroot}%{_mandir}/man1/mariadb_config.1* -%else -%if %{with clibrary} -# Create symlinks to the 'libmariadb' library, for compatibility reasons -# Note: the -libs subpackage has Provides: for this compat symlink; when -# it is removed, they should also be removed -pushd %{buildroot}%{_libdir} -#ln -s libmariadb.so libmysqlclient.so -ln -s libmariadb.so.3 libmysqlclient.so.18 -#ln -s libmariadb.so libmysqlclient_r.so -popd -%else -# This file is already included in mariadb-connector-c -rm %{buildroot}%{_includedir}/mysql/mysql_version.h +%endif -rm %{buildroot}%{_bindir}/*_config* -rm %{buildroot}%{_mandir}/man1/*_config* -#rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so* +%if %{without clibrary} && %{with devel} +# This files are already included in mariadb-connector-c +rm %{buildroot}%{_includedir}/mysql/mysql_version.h rm %{buildroot}%{_includedir}/mysql/{errmsg.h,ma_list.h,ma_pvio.h,mariadb_com.h,\ mariadb_ctype.h,mariadb_dyncol.h,mariadb_stmt.h,mariadb_version.h,ma_tls.h,mysqld_error.h,mysql.h} rm -r %{buildroot}%{_includedir}/mysql/{mariadb,mysql} %endif -%endif + +%if %{without devel} +rm -r %{buildroot}%{_includedir}/mysql +rm %{buildroot}%{_datadir}/aclocal/mysql.m4 +rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc +%if %{with clibrary} +rm %{buildroot}%{_libdir}/libmariadb*.so +unlink %{buildroot}%{_libdir}/libmysqlclient.so +unlink %{buildroot}%{_libdir}/libmysqlclient_r.so +%endif # clibrary +%endif # devel %if %{without client} rm %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_find_rows,\ mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ -mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} +mysqldump,mysqlimport,mysqlshow,mysqlslap} rm %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_find_rows,\ mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ -mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* -%endif - -%if %{without connect} -rm %{buildroot}%{_sysconfdir}/my.cnf.d/connect.cnf -%endif - -%if %{without oqgraph} -rm %{buildroot}%{_sysconfdir}/my.cnf.d/oqgraph.cnf +mysqldump,mysqlimport,mysqlshow,mysqlslap}.1* %endif %if %{without tokudb} -%ifarch x86_64 -rm %{buildroot}%{_bindir}/tokuftdump -rm %{buildroot}%{_bindir}/tokuft_logprint -%endif # because upstream ships manpages for tokudb even on architectures that tokudb doesn't support rm %{buildroot}%{_mandir}/man1/tokuftdump.1* rm %{buildroot}%{_mandir}/man1/tokuft_logdump.1* @@ -1032,6 +1151,10 @@ rm %{buildroot}%{_sysconfdir}/my.cnf.d/enable_encryption.preset rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets %endif +%if %{without gssapi} +rm -r %{buildroot}/etc/my.cnf.d/auth_gssapi.cnf +%endif + %if %{without errmsg} rm %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,czech,danish,dutch,estonian,\ @@ -1044,10 +1167,15 @@ rm -r %{buildroot}%{_datadir}/sql-bench %endif %if %{without test} -rm %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process} +%if %{with embedded} +rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded} +rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1* +%endif # embedded +rm %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process,mysqltest} +rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1* +rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1* rm -r %{buildroot}%{_datadir}/mysql-test -rm %{buildroot}%{_mandir}/man1/mysql_client_test.1* -%endif +%endif # test %if %{without galera} rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf @@ -1098,8 +1226,10 @@ export MTR_BUILD_THREAD=%{__isa_bits} %endif ) -%endif -%endif +%endif # if dry run +%endif # with test + + %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : @@ -1170,6 +1300,8 @@ if [ $1 -ge 1 ]; then fi %endif + + %if %{with client} %files %{_bindir}/msql2mysql @@ -1185,7 +1317,6 @@ fi %{_bindir}/mysqlimport %{_bindir}/mysqlshow %{_bindir}/mysqlslap -%{_bindir}/my_print_defaults %{_mandir}/man1/msql2mysql.1* %{_mandir}/man1/mysql.1* @@ -1200,13 +1331,12 @@ fi %{_mandir}/man1/mysqlimport.1* %{_mandir}/man1/mysqlshow.1* %{_mandir}/man1/mysqlslap.1* -%{_mandir}/man1/my_print_defaults.1* %endif %if %{with clibrary} %files libs %{_libdir}/libmariadb.so.* -%{_libdir}/libmysqlclient.so.18 +%{?with_devel:%{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so}} %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf %endif @@ -1225,10 +1355,10 @@ fi %doc %{_datadir}/doc/%{_pkgdocdirname} %dir %{_datadir}/%{pkg_name} %{_datadir}/%{pkg_name}/charsets -%if %{with devel} && %{with errmsg} && %{with galera} && %{with config} && %{with clibrary} +%if %{with clibrary} %{_libdir}/%{pkg_name}/plugin/dialog.so %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so -%endif # devel && errmsg && galera && config +%endif # clibrary %endif # common %if %{with errmsg} @@ -1262,7 +1392,7 @@ fi %if %{with galera} %files server-galera -%doc Docs/README.wsrep +%doc Docs/README-wsrep %license LICENSE.clustercheck %{_bindir}/clustercheck %{_bindir}/galera_new_cluster @@ -1283,15 +1413,14 @@ fi %{_bindir}/aria_ftdump %{_bindir}/aria_pack %{_bindir}/aria_read_log -%{_bindir}/mariabackup %if %{with init_systemd} %{_bindir}/mariadb-service-convert %endif -%{_bindir}/mbstream %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog %{_bindir}/myisampack +%{_bindir}/my_print_defaults %{_bindir}/mysql_install_db %{_bindir}/mysql_secure_installation %{_bindir}/mysql_tzinfo_to_sql @@ -1307,21 +1436,8 @@ fi %{_bindir}/wsrep_sst_rsync %{_bindir}/wsrep_sst_xtrabackup %{_bindir}/wsrep_sst_xtrabackup-v2 -%{?with_tokudb:%{_bindir}/tokuftdump} -%{?with_tokudb:%{_bindir}/tokuft_logprint} %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf -%config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf -%{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf} -# Cracklib plugin -%config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf -# RocksDB engine -%if %{with rocksdb} -%config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf -%{_bindir}/mysql_ldb -%{_bindir}/sst_dump -%endif - %{_libexecdir}/mysqld @@ -1336,8 +1452,15 @@ fi %{_libdir}/%{pkg_name}/plugin/* %{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so} %{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so} +%{?with_cracklib:%exclude %{_libdir}/%{pkg_name}/plugin/cracklib_password_check.so} +%{?with_rocksdb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so} +%{?with_tokudb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so} +%{?with_ggsapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so} +%{?with_sphinx:%exclude %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so} +%if %{with clibrary} %exclude %{_libdir}/%{pkg_name}/plugin/dialog.so %exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so +%endif %{_mandir}/man1/aria_chk.1* %{_mandir}/man1/aria_dump_log.1* @@ -1351,20 +1474,18 @@ fi %{_mandir}/man1/myisamlog.1* %{_mandir}/man1/myisampack.1* %{_mandir}/man1/myisam_ftdump.1* +%{_mandir}/man1/my_print_defaults.1* %{_mandir}/man1/mysql.server.1* %{_mandir}/man1/mysql_install_db.1* %{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man1/mysqld_safe.1* %{_mandir}/man1/mysqld_safe_helper.1* -%{_mandir}/man1/my_safe_process.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/replace.1* %{_mandir}/man1/resolveip.1* %{_mandir}/man1/resolve_stack_dump.1* %{_mandir}/man8/mysqld.8* -%{?with_tokudb:%{_mandir}/man1/tokuftdump.1*} -%{?with_tokudb:%{_mandir}/man1/tokuft_logdump.1*} %{_mandir}/man1/wsrep_sst_common.1* %{_mandir}/man1/wsrep_sst_mysqldump.1* %{_mandir}/man1/wsrep_sst_rsync.1* @@ -1414,6 +1535,47 @@ fi %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} +%if %{with cracklib} +%files cracklib-password-check +%config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf +%{_libdir}/%{pkg_name}/plugin/cracklib_password_check.so +%endif + +%if %{with backup} +%files backup +%{_bindir}/mariabackup +%{_bindir}/mbstream +%endif + +%if %{with rocksdb} +%files rocksdb-engine +%config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf +%{_bindir}/mysql_ldb +%{_bindir}/sst_dump +%{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so +%endif + +%if %{with tokudb} +%files tokudb-engine +%{_bindir}/tokuftdump +%{_bindir}/tokuft_logprint +%{_mandir}/man1/tokuftdump.1* +%{_mandir}/man1/tokuft_logdump.1* +%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf +%{_libdir}/%{pkg_name}/plugin/ha_tokudb.so +%endif + +%if %{with gssapi} +%files gssapi-server +%{_libdir}/%{pkg_name}/plugin/auth_gssapi.so +%config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf +%endif + +%if %{with sphinx} +%files sphinx-engine +%{_libdir}/%{pkg_name}/plugin/ha_sphinx.so +%endif + %if %{with oqgraph} %files oqgraph-engine %config(noreplace) %{_sysconfdir}/my.cnf.d/oqgraph.cnf @@ -1442,10 +1604,8 @@ fi %{_mandir}/man1/mysql_setpermission.1* # Utilities that can be used remotely %{_bindir}/mysql_upgrade -%{_bindir}/mysqltest %{_bindir}/perror %{_mandir}/man1/mysql_upgrade.1* -%{_mandir}/man1/mysqltest.1* %{_mandir}/man1/perror.1* # Other utilities %{_bindir}/mysqld_safe_helper @@ -1472,19 +1632,11 @@ fi %files embedded-devel %{_libdir}/libmysqld.so -%{_bindir}/mysql_client_test_embedded -%{_bindir}/mysqltest_embedded -%{_mandir}/man1/mysql_client_test_embedded.1* -%{_mandir}/man1/mysqltest_embedded.1* %endif %if %{with bench} %files bench %{_datadir}/sql-bench -#TODO: do a sanity check -%exclude %{_datadir}/sql-bench/README -# RPMLINT W: -# mariadb-bench.x86_64: W: no-documentation %doc %{_datadir}/sql-bench/README %endif @@ -1492,18 +1644,31 @@ fi %files test %{_bindir}/mysql_client_test %{_bindir}/my_safe_process +%{_bindir}/mysql_client_test_embedded +%{_bindir}/mysqltest +%{_bindir}/mysqltest_embedded %attr(-,mysql,mysql) %{_datadir}/mysql-test %{_mandir}/man1/mysql_client_test.1* +%{_mandir}/man1/my_safe_process.1* +%{_mandir}/man1/mysql_client_test_embedded.1* +%{_mandir}/man1/mysqltest.1* +%{_mandir}/man1/mysqltest_embedded.1* +%{_mandir}/man1/mysql-stress-test.pl.1* +%{_mandir}/man1/mysql-test-run.pl.1* %endif %changelog -* Wed Nov 01 2017 Michal Schorm - 3:10.2.10-1 +* Mon Nov 13 2017 Michal Schorm - 3:10.2.10-1 - Rebase to 10.2.10 version - Patch 2: mariadb-install-test.patch has been incorporated by upstream - Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros - Update PCRE check - Start using location libdir/mariadb for plugins - Move libraries to libdir +- Divided to more sub-packages to match upstream's RPM list + Resolves: #1490401; #1400463 +- Update of Cmake arguments to supported format + Related: https://lists.launchpad.net/maria-discuss/msg04852.html * Thu Oct 05 2017 Michal Schorm - 3:10.2.9-3 - Fix client library obsolete From 0c047c18a7607fb225c35088b8814c2ca30fa4f6 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 15 Nov 2017 12:02:56 +0100 Subject: [PATCH 432/789] Fix file removal on multilib systems --- mariadb.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 0a259bc..0f806ce 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1100,7 +1100,6 @@ rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so, %endif %if %{without clibrary} || %{without devel} -unlink %{buildroot}%{_bindir}/mysql_config rm %{buildroot}%{_bindir}/mysql_config* rm %{buildroot}%{_bindir}/mariadb_config rm %{buildroot}%{_mandir}/man1/mysql_config*.1* From 9454f6d0ae91525e189b970ca26e049ed4656342 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 20 Nov 2017 14:38:51 +0100 Subject: [PATCH 433/789] Remove false Provides List only relevant Cmake arguments --- mariadb.spec | 58 ++-------------------------------------------------- 1 file changed, 2 insertions(+), 56 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 0f806ce..625ad8c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -296,18 +296,6 @@ Requires: %{name}-common%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-libs = %{sameevr} Provides: mysql-libs%{?_isa} = %{sameevr} -# these are the provides for the libmysqlclient.so.18 compatibility -# symlink; the library auto-provides system does not handle this kind -# of symlink. They should be removed when the symlink is removed -%if 0%{?__isa_bits} == 64 -Provides: libmysqlclient.so.18()(64bit) -Provides: libmysqlclient.so.18(libmysqlclient_16)(64bit) -Provides: libmysqlclient.so.18(libmysqlclient_18)(64bit) -%else -Provides: libmysqlclient.so.18 -Provides: libmysqlclient.so.18(libmysqlclient_16) -Provides: libmysqlclient.so.18(libmysqlclient_18) -%endif # isa_bits %endif # mysql_names %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-libs < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-libs < %{obsoleted_mysql_evr}} @@ -873,52 +861,9 @@ export LDFLAGS -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ - -DPLUGIN_ARCHIVE=DYNAMIC \ - -DPLUGIN_AUDIT_NULL=DYNAMIC \ - -DPLUGIN_AUTH_ED25519=DYNAMIC \ - -DPLUGIN_AUTH_PAM=DYNAMIC \ - -DPLUGIN_AUTH_SOCKET=DYNAMIC \ - -DPLUGIN_AUTH_TEST_PLUGIN=DYNAMIC \ - -DPLUGIN_AUTH_0X0100=DYNAMIC \ - -DPLUGIN_BLACKHOLE=DYNAMIC \ - -DPLUGIN_CLIENT_ED25519=DYNAMIC \ - -DPLUGIN_DAEMON_EXAMPLE=DYNAMIC \ - -DPLUGIN_DEBUG_KEY_MANAGEMENT=DYNAMIC \ - -DPLUGIN_DIALOG_EXAMPLES=DYNAMIC \ - -DPLUGIN_EXAMPLE=DYNAMIC \ - -DPLUGIN_EXAMPLE_KEY_MANAGEMENT=DYNAMIC \ - -DPLUGIN_FEDERATED=DYNAMIC \ - -DPLUGIN_FEDERATEDX=DYNAMIC \ - -DPLUGIN_FEEDBACK=DYNAMIC \ - -DPLUGIN_FILE_KEY_MANAGEMENT=DYNAMIC \ - -DPLUGIN_FTEXAMPLE=DYNAMIC \ - -DPLUGIN_HANDLERSOCKET=DYNAMIC \ - -DPLUGIN_LOCALES=DYNAMIC \ - -DPLUGIN_METADATA_LOCK_INFO=DYNAMIC \ - -DPLUGIN_QA_AUTH_CLIENT=DYNAMIC \ - -DPLUGIN_QA_AUTH_INTERFACE=DYNAMIC \ - -DPLUGIN_QA_AUTH_SERVER=DYNAMIC \ - -DPLUGIN_QUERY_CACHE_INFO=DYNAMIC \ - -DPLUGIN_QUERY_RESPONSE_TIME=DYNAMIC \ - -DPLUGIN_SEMISYNC_MASTER=DYNAMIC \ - -DPLUGIN_SEMISYNC_SLAVE=DYNAMIC \ - -DPLUGIN_SEQUENCE=DYNAMIC \ - -DPLUGIN_SERVER_AUDIT=DYNAMIC \ - -DPLUGIN_SIMPLE_PASSWORD_CHECK=DYNAMIC \ - -DPLUGIN_SPIDER=DYNAMIC \ - -DPLUGIN_SQL_ERRLOG=DYNAMIC \ - -DPLUGIN_TEST_SQL_DISCOVERY=DYNAMIC \ - -DPLUGIN_USER_VARIABLES=DYNAMIC \ - -DPLUGIN_WSREP_INFO=DYNAMIC \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \ %{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} -# Following argumets leads to compile errors. Tracked as https://jira.mariadb.org/browse/MDEV-14373 -# -DPLUGIN_INNOBASE=DYNAMIC \ -# -DPLUGIN_PARTITION=DYNAMIC \ -# -DPLUGIN_ARIA=DYNAMIC \ -# -DPLUGIN_PERFSCHEMA=DYNAMIC \ - # Print all Cmake options values cmake -L @@ -1657,7 +1602,7 @@ fi %endif %changelog -* Mon Nov 13 2017 Michal Schorm - 3:10.2.10-1 +* Mon Nov 20 2017 Michal Schorm - 3:10.2.10-1 - Rebase to 10.2.10 version - Patch 2: mariadb-install-test.patch has been incorporated by upstream - Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros @@ -1668,6 +1613,7 @@ fi Resolves: #1490401; #1400463 - Update of Cmake arguments to supported format Related: https://lists.launchpad.net/maria-discuss/msg04852.html +- Remove false Provides * Thu Oct 05 2017 Michal Schorm - 3:10.2.9-3 - Fix client library obsolete From 869d50aa46e27ecf170c32467236689435c6fb19 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 23 Nov 2017 15:06:29 +0100 Subject: [PATCH 434/789] Fix PID file location Related: #1483331, #1515779 --- mariadb.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 625ad8c..07a44f5 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -78,7 +78,7 @@ %global daemon_name %{name} %global daemondir %{_unitdir} %global daemon_no_prefix %{pkg_name} -%global mysqld_pid_dir mysqld +%global mysqld_pid_dir mariadb %else %bcond_with init_systemd %bcond_without init_sysv @@ -135,7 +135,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1602,6 +1602,10 @@ fi %endif %changelog +* Thu Nov 23 2017 Michal Schorm - 3:10.2.10-2 +- Fix PID file location + Related: #1483331, #1515779 + * Mon Nov 20 2017 Michal Schorm - 3:10.2.10-1 - Rebase to 10.2.10 version - Patch 2: mariadb-install-test.patch has been incorporated by upstream From d7b4f7837a10a59f3579413c8a08998db13f5250 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 1 Dec 2017 16:10:14 +0100 Subject: [PATCH 435/789] Use conditions definition for optional plugins as described at https://github.com/rpm-software-management/rpm/blob/34c2ba3c/macros.in#L100-L141 --- mariadb.spec | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index b2f02d0..b882f59 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -44,10 +44,12 @@ %bcond_without oqgraph # Other plugins -%bcond_without cracklib -%bcond_without gssapi -%bcond_without connect -%bcond_without sphinx +# Allow to override the values outside of spec +# https://github.com/rpm-software-management/rpm/blob/34c2ba3c/macros.in#L100-L141 +%{!?_with_cracklib: %{!?_without_cracklib: %bcond_without cracklib}} +%{!?_with_gssapi: %{!?_without_gssapi: %bcond_without gssapi}} +%{!?_with_connect: %{!?_without_sphinx: %bcond_without connect}} +%{!?_with_sphinx: %{!?_without_sphinx: %bcond_without sphinx}} # For some use cases we do not need some parts of the package. Set to "...with" to exclude %bcond_with clibrary @@ -211,7 +213,7 @@ BuildRequires: bison bison-devel BuildRequires: pam-devel # use either new enough version of pcre or provide bundles(pcre) %{?with_bundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf} -%{?without_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}} +%{!?with_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}} # Few utilities needs Perl %if 0%{?fedora} >= 22 || 0%{?rhel} > 7 BuildRequires: perl-interpreter From 23b69efe580b1f0c44c1c5828dcad3160945f7f5 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 1 Dec 2017 16:10:14 +0100 Subject: [PATCH 436/789] Use conditions definition for optional plugins as described at https://github.com/rpm-software-management/rpm/blob/34c2ba3c/macros.in#L100-L141 --- mariadb.spec | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 07a44f5..2c0d51b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -44,10 +44,12 @@ %bcond_without oqgraph # Other plugins -%bcond_without cracklib -%bcond_without gssapi -%bcond_without connect -%bcond_without sphinx +# Allow to override the values outside of spec +# https://github.com/rpm-software-management/rpm/blob/34c2ba3c/macros.in#L100-L141 +%{!?_with_cracklib: %{!?_without_cracklib: %bcond_without cracklib}} +%{!?_with_gssapi: %{!?_without_gssapi: %bcond_without gssapi}} +%{!?_with_connect: %{!?_without_sphinx: %bcond_without connect}} +%{!?_with_sphinx: %{!?_without_sphinx: %bcond_without sphinx}} # For some use cases we do not need some parts of the package. Set to "...with" to exclude %bcond_without clibrary @@ -211,7 +213,7 @@ BuildRequires: bison bison-devel BuildRequires: pam-devel # use either new enough version of pcre or provide bundles(pcre) %{?with_bundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf} -%{?without_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}} +%{!?with_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}} # Few utilities needs Perl %if 0%{?fedora} >= 22 || 0%{?rhel} > 7 BuildRequires: perl-interpreter From add7d9cf1ac64708c2111c2b8fe068c656f9b56b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 6 Dec 2017 09:51:51 +0100 Subject: [PATCH 437/789] Remove 'Group' tags as they should not be used any more https://fedoraproject.org/wiki/RPMGroups --- mariadb.spec | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index b882f59..f272e34 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -141,7 +141,6 @@ Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL -Group: Applications/Databases URL: http://mariadb.org # Exceptions allow client libraries to be linked with most open source SW, not only GPL code. See README.mysql-license License: GPLv2 with exceptions and LGPLv2 and BSD @@ -295,7 +294,6 @@ contains the standard MariaDB/MySQL client programs and generic MySQL files. %if %{with clibrary} %package libs Summary: The shared libraries required for MariaDB/MySQL clients -Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-libs = %{sameevr} @@ -324,7 +322,6 @@ to a MariaDB/MySQL server. %if %{with config} %package config Summary: The config files required by server and client -Group: Applications/Databases %description config The package provides the config file my.cnf and my.cnf.d directory used by any @@ -337,7 +334,6 @@ package itself. %if %{with common} %package common Summary: The shared files required by server and client -Group: Applications/Databases Requires: %{_sysconfdir}/my.cnf # obsoletion of mariadb-galera-common @@ -357,7 +353,6 @@ You will need to install this package to use any other MariaDB package. %if %{with errmsg} %package errmsg Summary: The error messages files required by server and embedded -Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} %description errmsg @@ -370,7 +365,6 @@ MariaDB packages. %if %{with galera} %package server-galera Summary: The configuration files and scripts for galera replication -Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} Requires: galera >= 25.3.3 @@ -395,7 +389,6 @@ MariaDB is a community developed branch of MySQL. %package server Summary: The MariaDB server and related files -Group: Applications/Databases # note: no version here = %%{version}-%%{release} %if %{with mysql_names} @@ -457,7 +450,6 @@ MariaDB is a community developed branch of MySQL. %if %{with oqgraph} %package oqgraph-engine Summary: The Open Query GRAPH engine for MariaDB -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} # boost and Judy required for oograph BuildRequires: boost-devel Judy-devel @@ -474,7 +466,6 @@ standard SQL syntax, and results joined onto other tables. %if %{with connect} %package connect-engine Summary: The CONNECT storage engine for MariaDB -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} %description connect-engine @@ -489,7 +480,6 @@ or products (such as Excel), or data retrieved from the environment %if %{with backup} %package backup Summary: The mariabackup tool for physical online backups -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} BuildRequires: libarchive-devel @@ -503,7 +493,6 @@ For InnoDB, "hot online" backups are possible. %if %{with rocksdb} %package rocksdb-engine Summary: The RocksDB storage engine for MariaDB -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} %description rocksdb-engine @@ -514,7 +503,6 @@ The RocksDB storage engine is used for high performance servers on SSD drives. %if %{with tokudb} %package tokudb-engine Summary: The TokuDB storage engine for MariaDB -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} %description tokudb-engine @@ -525,7 +513,6 @@ The TokuDB storage engine from Percona. %if %{with cracklib} %package cracklib-password-check Summary: The password strength checking plugin -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} BuildRequires: cracklib-dicts cracklib-devel Requires: cracklib-dicts @@ -542,7 +529,6 @@ also use it to check MariaDB account passwords. %if %{with gssapi} %package gssapi-server Summary: GSSAPI authentication plugin for server -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} BuildRequires: krb5-devel @@ -555,7 +541,6 @@ This plugin includes support for Kerberos on Unix. %if %{with sphinx} %package sphinx-engine Summary: The Sphinx storage engine for MariaDB -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} BuildRequires: sphinx libsphinxclient libsphinxclient-devel Requires: sphinx libsphinxclient @@ -567,7 +552,6 @@ The Sphinx storage engine for MariaDB. %package server-utils Summary: Non-essential server utilities for MariaDB/MySQL applications -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-perl = %{sameevr} @@ -584,7 +568,6 @@ the only MariaDB sub-package, except test subpackage, that depends on Perl. %if %{with devel} %package devel Summary: Files for development of MariaDB/MySQL applications -Group: Applications/Databases %{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} # avoid issues with openssl1.0 / openssl1.1 / compat Requires: pkgconfig(openssl) @@ -616,7 +599,6 @@ package. %if %{with embedded} %package embedded Summary: MariaDB as an embeddable library -Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-errmsg%{?_isa} = %{sameevr} %if %{with mysql_names} @@ -635,7 +617,6 @@ MariaDB is a community developed branch of MySQL. %package embedded-devel Summary: Development files for MariaDB as an embeddable library -Group: Applications/Databases Requires: %{name}-embedded%{?_isa} = %{sameevr} Requires: %{name}-devel%{?_isa} = %{sameevr} # embedded-devel should require libaio-devel (rhbz#1290517) @@ -659,7 +640,6 @@ the embedded version of the MariaDB server. %if %{with bench} %package bench Summary: MariaDB benchmark scripts and data -Group: Applications/Databases Requires: %{name}%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-bench = %{sameevr} @@ -680,7 +660,6 @@ MariaDB. %if %{with test} %package test Summary: The test suite distributed with MariaDB -Group: Applications/Databases Requires: %{name}%{?_isa} = %{sameevr} Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} @@ -1606,9 +1585,11 @@ fi %endif %changelog -* Thu Nov 23 2017 Michal Schorm - 3:10.2.10-2 +* Wed Dec 06 2017 Michal Schorm - 3:10.2.10-2 - Fix PID file location Related: #1483331, #1515779 +- Remove 'Group' tags as they should not be used any more + Related: https://fedoraproject.org/wiki/RPMGroups * Mon Nov 20 2017 Michal Schorm - 3:10.2.10-1 - Rebase to 10.2.10 version From 4983671d078d466b646907b0fb6fe52b4a3bed20 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 6 Dec 2017 09:51:51 +0100 Subject: [PATCH 438/789] Remove 'Group' tags as they should not be used any more https://fedoraproject.org/wiki/RPMGroups --- mariadb.spec | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 2c0d51b..895a9bb 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -141,7 +141,6 @@ Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL -Group: Applications/Databases URL: http://mariadb.org # Exceptions allow client libraries to be linked with most open source SW, not only GPL code. See README.mysql-license License: GPLv2 with exceptions and LGPLv2 and BSD @@ -293,7 +292,6 @@ contains the standard MariaDB/MySQL client programs and generic MySQL files. %if %{with clibrary} %package libs Summary: The shared libraries required for MariaDB/MySQL clients -Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-libs = %{sameevr} @@ -322,7 +320,6 @@ to a MariaDB/MySQL server. %if %{with config} %package config Summary: The config files required by server and client -Group: Applications/Databases %description config The package provides the config file my.cnf and my.cnf.d directory used by any @@ -335,7 +332,6 @@ package itself. %if %{with common} %package common Summary: The shared files required by server and client -Group: Applications/Databases Requires: %{_sysconfdir}/my.cnf # obsoletion of mariadb-galera-common @@ -355,7 +351,6 @@ You will need to install this package to use any other MariaDB package. %if %{with errmsg} %package errmsg Summary: The error messages files required by server and embedded -Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} %description errmsg @@ -368,7 +363,6 @@ MariaDB packages. %if %{with galera} %package server-galera Summary: The configuration files and scripts for galera replication -Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} Requires: galera >= 25.3.3 @@ -393,7 +387,6 @@ MariaDB is a community developed branch of MySQL. %package server Summary: The MariaDB server and related files -Group: Applications/Databases # note: no version here = %%{version}-%%{release} %if %{with mysql_names} @@ -455,7 +448,6 @@ MariaDB is a community developed branch of MySQL. %if %{with oqgraph} %package oqgraph-engine Summary: The Open Query GRAPH engine for MariaDB -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} # boost and Judy required for oograph BuildRequires: boost-devel Judy-devel @@ -472,7 +464,6 @@ standard SQL syntax, and results joined onto other tables. %if %{with connect} %package connect-engine Summary: The CONNECT storage engine for MariaDB -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} %description connect-engine @@ -487,7 +478,6 @@ or products (such as Excel), or data retrieved from the environment %if %{with backup} %package backup Summary: The mariabackup tool for physical online backups -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} BuildRequires: libarchive-devel @@ -501,7 +491,6 @@ For InnoDB, "hot online" backups are possible. %if %{with rocksdb} %package rocksdb-engine Summary: The RocksDB storage engine for MariaDB -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} %description rocksdb-engine @@ -512,7 +501,6 @@ The RocksDB storage engine is used for high performance servers on SSD drives. %if %{with tokudb} %package tokudb-engine Summary: The TokuDB storage engine for MariaDB -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} %description tokudb-engine @@ -523,7 +511,6 @@ The TokuDB storage engine from Percona. %if %{with cracklib} %package cracklib-password-check Summary: The password strength checking plugin -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} BuildRequires: cracklib-dicts cracklib-devel Requires: cracklib-dicts @@ -540,7 +527,6 @@ also use it to check MariaDB account passwords. %if %{with gssapi} %package gssapi-server Summary: GSSAPI authentication plugin for server -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} BuildRequires: krb5-devel @@ -553,7 +539,6 @@ This plugin includes support for Kerberos on Unix. %if %{with sphinx} %package sphinx-engine Summary: The Sphinx storage engine for MariaDB -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} BuildRequires: sphinx libsphinxclient libsphinxclient-devel Requires: sphinx libsphinxclient @@ -565,7 +550,6 @@ The Sphinx storage engine for MariaDB. %package server-utils Summary: Non-essential server utilities for MariaDB/MySQL applications -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-perl = %{sameevr} @@ -582,7 +566,6 @@ the only MariaDB sub-package, except test subpackage, that depends on Perl. %if %{with devel} %package devel Summary: Files for development of MariaDB/MySQL applications -Group: Applications/Databases %{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} # avoid issues with openssl1.0 / openssl1.1 / compat Requires: pkgconfig(openssl) @@ -614,7 +597,6 @@ package. %if %{with embedded} %package embedded Summary: MariaDB as an embeddable library -Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-errmsg%{?_isa} = %{sameevr} %if %{with mysql_names} @@ -633,7 +615,6 @@ MariaDB is a community developed branch of MySQL. %package embedded-devel Summary: Development files for MariaDB as an embeddable library -Group: Applications/Databases Requires: %{name}-embedded%{?_isa} = %{sameevr} Requires: %{name}-devel%{?_isa} = %{sameevr} # embedded-devel should require libaio-devel (rhbz#1290517) @@ -657,7 +638,6 @@ the embedded version of the MariaDB server. %if %{with bench} %package bench Summary: MariaDB benchmark scripts and data -Group: Applications/Databases Requires: %{name}%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-bench = %{sameevr} @@ -678,7 +658,6 @@ MariaDB. %if %{with test} %package test Summary: The test suite distributed with MariaDB -Group: Applications/Databases Requires: %{name}%{?_isa} = %{sameevr} Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} @@ -1604,9 +1583,11 @@ fi %endif %changelog -* Thu Nov 23 2017 Michal Schorm - 3:10.2.10-2 +* Wed Dec 06 2017 Michal Schorm - 3:10.2.10-2 - Fix PID file location Related: #1483331, #1515779 +- Remove 'Group' tags as they should not be used any more + Related: https://fedoraproject.org/wiki/RPMGroups * Mon Nov 20 2017 Michal Schorm - 3:10.2.10-1 - Rebase to 10.2.10 version From e44669641a2ed459ea5a3dd2af7597874c0c3f9e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 9 Dec 2017 02:34:41 +0100 Subject: [PATCH 439/789] Rebase to 10.2.11 Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 introduced Temporary fix for #1523875 intoruced --- mariadb.spec | 29 +++++++++++++++++++++++++---- sources | 2 +- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index f272e34..7f08e63 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -133,11 +133,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.2 -%global bugfixver 10 +%global bugfixver 11 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -788,6 +788,10 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` %ifarch ppc64 CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` %endif + +# Temporary fix for rhbz#1523875 +CFLAGS=`echo $CFLAGS| sed -e "s|-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1||g" ` + CXXFLAGS="$CFLAGS" export CFLAGS CXXFLAGS @@ -843,10 +847,14 @@ export LDFLAGS -DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \ -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ + -DTOKUDB_OK=1 \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \ %{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} +# -DTOKUDB_OK=1 +# ^ is a temporary fix for https://jira.mariadb.org/browse/MDEV-14537 + # Print all Cmake options values cmake -L @@ -1428,8 +1436,16 @@ fi %{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql %{_datadir}/%{pkg_name}/mysql_to_mariadb.sql %{_datadir}/%{pkg_name}/mysql_performance_tables.sql -%{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/install.sql} -%{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/uninstall.sql} +%if %{with mroonga} +%{_datadir}/%{pkg_name}/mroonga/install.sql +%{_datadir}/%{pkg_name}/mroonga/uninstall.sql +%license %{_datadir}/%{pkg_name}/mroonga/COPYING +%license %{_datadir}/%{pkg_name}/mroonga/AUTHORS +%license %{_datadir}/groonga-normalizer-mysql/lgpl-2.0.txt +%license %{_datadir}/groonga/COPYING +%doc %{_datadir}/groonga-normalizer-mysql/README.md +%doc %{_datadir}/groonga/README.md +%endif %{_datadir}/%{pkg_name}/my-*.cnf %{_datadir}/%{pkg_name}/wsrep.cnf %{_datadir}/%{pkg_name}/wsrep_notify @@ -1585,6 +1601,11 @@ fi %endif %changelog +* Sat Dec 09 2017 Michal Schorm - 3:10.2.11-1 +- Rebase to 10.2.11 +- Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 introduced +- Temporary fix for #1523875 intoruced + * Wed Dec 06 2017 Michal Schorm - 3:10.2.10-2 - Fix PID file location Related: #1483331, #1515779 diff --git a/sources b/sources index 2161b03..d8648b0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.2.10.tar.gz) = 39c198009f8b19f4a08226ef9842b50e24636580b67c1c92d59c61cce3aa1edbd466e253c281dfcdfc58ab573ae9a59aaacb0ce3e8b82222043ddd849fc3e239 +SHA512 (mariadb-10.2.11.tar.gz) = 4041ee1f1e266e8b30f85b19c5c95bcb626f965df9e0e20eb801598cc7fc5f5f37906e8a75cc86d373aa642adcccf3b75a0e67994e18908fb733cc6520d04a44 From 1edbdde313557017d18051409ba525a632bcdd55 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 9 Dec 2017 02:46:07 +0100 Subject: [PATCH 440/789] Include aliases for mariadb service; #1520905 --- mysql.service.in | 2 ++ mysql@.service.in | 2 ++ 2 files changed, 4 insertions(+) diff --git a/mysql.service.in b/mysql.service.in index 8292553..bb5b8c2 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -67,3 +67,5 @@ PrivateTmp=true [Install] WantedBy=multi-user.target +Alias=mysql.service +Alias=mysqld.service diff --git a/mysql@.service.in b/mysql@.service.in index 3bf386d..34e645f 100644 --- a/mysql@.service.in +++ b/mysql@.service.in @@ -73,3 +73,5 @@ PrivateTmp=true [Install] WantedBy=multi-user.target +Alias=mysql.service +Alias=mysqld.service From 53adb7991c20819c959d44eade073a9c43e30ffe Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 9 Dec 2017 18:57:49 +0100 Subject: [PATCH 441/789] Added reasons in comments to removed files section. Based on a question asked on the usptream mailing list: https://lists.launchpad.net/maria-developers/msg11028.html --- mariadb.spec | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 7f08e63..b733618 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -406,6 +406,8 @@ Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr} Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr} Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr} +Suggests: mytop + Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d @@ -957,21 +959,29 @@ ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/ ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list -# should move this to /etc/ ? -# WHY?? -%{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded} #upstream ships in client +# Client that uses libmysqld embedded server. +# Pretty much like normal mysql command line client, but it doesn't require a running mariadb server. +%{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded} +# Static libraries rm %{buildroot}%{_libdir}/*.a -rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure #This script creates the MySQL system tables and starts the server. +# This script creates the MySQL system tables and starts the server. +# Upstream says: +# It looks like it's just "mysql_install_db && mysqld_safe" +# I've never heard of anyone using it, I'd say, no need to pack it. +rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure +# FS files first-bytes recoginiton +# Not updated by upstream since nobody realy use that +rm %{buildroot}%{_datadir}/%{pkg_name}/magic -# WHY?? -rm %{buildroot}%{_datadir}/%{pkg_name}/magic #FS files first-bytes recoginiton? +# Upstream ships them because of, https://jira.mariadb.org/browse/MDEV-10797 +# In Fedora we use our own systemd unit files and scripts +rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server +rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server -rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server #Usage: mysql.server {start|stop|restart|reload|force-reload|status|configtest|bootstrap} [ MySQL server options ] -rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server #Can't execute /usr/local/mysql/bin/mysqld_multi from dir /usr/local/mysql - -# WHY?? -rm %{buildroot}%{_bindir}/mytop #not shipped by upstream +# Binary for monitoring MySQL performance +# Shipped as a standalona package in Fedora +rm %{buildroot}%{_bindir}/mytop From 09ab3ccf28641b3f8753b3b86c2f9f4816b59cce Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 9 Dec 2017 21:50:34 +0100 Subject: [PATCH 442/789] Add failing test for 10.2.11 release --- rh-skipped-tests-s390.list | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list index 52e7587..5f46945 100644 --- a/rh-skipped-tests-s390.list +++ b/rh-skipped-tests-s390.list @@ -2,3 +2,5 @@ encryption.innodb-read-only : #1399847 multi_source.gtid : warnings in log sys_vars.innodb_autoextend_increment_basic : warnings in log vcol.vcol_keys_innodb : warnings in log + +encryption.innodb-compressed-blob : started failing with 10.2.11 release From d413e4241d87749f79bbb7c6d49c75996b183f5f Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 9 Dec 2017 02:34:41 +0100 Subject: [PATCH 443/789] Rebase to 10.2.11 Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 introduced Temporary fix for #1523875 intoruced --- mariadb.spec | 29 +++++++++++++++++++++++++---- sources | 2 +- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 895a9bb..29ad620 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -133,11 +133,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.2 -%global bugfixver 10 +%global bugfixver 11 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -786,6 +786,10 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` %ifarch ppc64 CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` %endif + +# Temporary fix for rhbz#1523875 +CFLAGS=`echo $CFLAGS| sed -e "s|-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1||g" ` + CXXFLAGS="$CFLAGS" export CFLAGS CXXFLAGS @@ -841,10 +845,14 @@ export LDFLAGS -DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \ -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ + -DTOKUDB_OK=1 \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \ %{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} +# -DTOKUDB_OK=1 +# ^ is a temporary fix for https://jira.mariadb.org/browse/MDEV-14537 + # Print all Cmake options values cmake -L @@ -1426,8 +1434,16 @@ fi %{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql %{_datadir}/%{pkg_name}/mysql_to_mariadb.sql %{_datadir}/%{pkg_name}/mysql_performance_tables.sql -%{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/install.sql} -%{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/uninstall.sql} +%if %{with mroonga} +%{_datadir}/%{pkg_name}/mroonga/install.sql +%{_datadir}/%{pkg_name}/mroonga/uninstall.sql +%license %{_datadir}/%{pkg_name}/mroonga/COPYING +%license %{_datadir}/%{pkg_name}/mroonga/AUTHORS +%license %{_datadir}/groonga-normalizer-mysql/lgpl-2.0.txt +%license %{_datadir}/groonga/COPYING +%doc %{_datadir}/groonga-normalizer-mysql/README.md +%doc %{_datadir}/groonga/README.md +%endif %{_datadir}/%{pkg_name}/my-*.cnf %{_datadir}/%{pkg_name}/wsrep.cnf %{_datadir}/%{pkg_name}/wsrep_notify @@ -1583,6 +1599,11 @@ fi %endif %changelog +* Sat Dec 09 2017 Michal Schorm - 3:10.2.11-1 +- Rebase to 10.2.11 +- Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 introduced +- Temporary fix for #1523875 intoruced + * Wed Dec 06 2017 Michal Schorm - 3:10.2.10-2 - Fix PID file location Related: #1483331, #1515779 diff --git a/sources b/sources index 2161b03..d8648b0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.2.10.tar.gz) = 39c198009f8b19f4a08226ef9842b50e24636580b67c1c92d59c61cce3aa1edbd466e253c281dfcdfc58ab573ae9a59aaacb0ce3e8b82222043ddd849fc3e239 +SHA512 (mariadb-10.2.11.tar.gz) = 4041ee1f1e266e8b30f85b19c5c95bcb626f965df9e0e20eb801598cc7fc5f5f37906e8a75cc86d373aa642adcccf3b75a0e67994e18908fb733cc6520d04a44 From c9863fb5fed22bae1ae931a6fbf4519ddce56bc9 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 9 Dec 2017 02:46:07 +0100 Subject: [PATCH 444/789] Include aliases for mariadb service; #1520905 --- mysql.service.in | 2 ++ mysql@.service.in | 2 ++ 2 files changed, 4 insertions(+) diff --git a/mysql.service.in b/mysql.service.in index 8292553..bb5b8c2 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -67,3 +67,5 @@ PrivateTmp=true [Install] WantedBy=multi-user.target +Alias=mysql.service +Alias=mysqld.service diff --git a/mysql@.service.in b/mysql@.service.in index 3bf386d..34e645f 100644 --- a/mysql@.service.in +++ b/mysql@.service.in @@ -73,3 +73,5 @@ PrivateTmp=true [Install] WantedBy=multi-user.target +Alias=mysql.service +Alias=mysqld.service From 6823344debd69918f0584d9fdb7eef3e5eb60c48 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 9 Dec 2017 18:57:49 +0100 Subject: [PATCH 445/789] Added reasons in comments to removed files section. Based on a question asked on the usptream mailing list: https://lists.launchpad.net/maria-developers/msg11028.html --- mariadb.spec | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 29ad620..3c58c95 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -404,6 +404,8 @@ Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr} Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr} Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr} +Suggests: mytop + Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d @@ -955,21 +957,29 @@ ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/ ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list -# should move this to /etc/ ? -# WHY?? -%{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded} #upstream ships in client +# Client that uses libmysqld embedded server. +# Pretty much like normal mysql command line client, but it doesn't require a running mariadb server. +%{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded} +# Static libraries rm %{buildroot}%{_libdir}/*.a -rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure #This script creates the MySQL system tables and starts the server. +# This script creates the MySQL system tables and starts the server. +# Upstream says: +# It looks like it's just "mysql_install_db && mysqld_safe" +# I've never heard of anyone using it, I'd say, no need to pack it. +rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure +# FS files first-bytes recoginiton +# Not updated by upstream since nobody realy use that +rm %{buildroot}%{_datadir}/%{pkg_name}/magic -# WHY?? -rm %{buildroot}%{_datadir}/%{pkg_name}/magic #FS files first-bytes recoginiton? +# Upstream ships them because of, https://jira.mariadb.org/browse/MDEV-10797 +# In Fedora we use our own systemd unit files and scripts +rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server +rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server -rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server #Usage: mysql.server {start|stop|restart|reload|force-reload|status|configtest|bootstrap} [ MySQL server options ] -rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server #Can't execute /usr/local/mysql/bin/mysqld_multi from dir /usr/local/mysql - -# WHY?? -rm %{buildroot}%{_bindir}/mytop #not shipped by upstream +# Binary for monitoring MySQL performance +# Shipped as a standalona package in Fedora +rm %{buildroot}%{_bindir}/mytop From 6cfe77260f023045af345c712549d98fb2f789d2 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 9 Dec 2017 21:50:34 +0100 Subject: [PATCH 446/789] Add failing test for 10.2.11 release --- rh-skipped-tests-s390.list | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list index 52e7587..5f46945 100644 --- a/rh-skipped-tests-s390.list +++ b/rh-skipped-tests-s390.list @@ -2,3 +2,5 @@ encryption.innodb-read-only : #1399847 multi_source.gtid : warnings in log sys_vars.innodb_autoextend_increment_basic : warnings in log vcol.vcol_keys_innodb : warnings in log + +encryption.innodb-compressed-blob : started failing with 10.2.11 release From 1b8fb85b0fa3aed4703b0012f798cd52cfdc693b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 11 Dec 2017 12:55:15 +0100 Subject: [PATCH 447/789] Temporary fix for #1523875 removed, bug in Annobin fixed --- mariadb.spec | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index b733618..7834d98 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -137,7 +137,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -791,9 +791,6 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` %endif -# Temporary fix for rhbz#1523875 -CFLAGS=`echo $CFLAGS| sed -e "s|-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1||g" ` - CXXFLAGS="$CFLAGS" export CFLAGS CXXFLAGS @@ -1611,10 +1608,15 @@ fi %endif %changelog +* Mon Dec 11 2017 Michal Schorm - 3:10.2.11-2 +- Temporary fix for #1523875 removed, bug in Annobin fixed + Resolves: #1523875 + * Sat Dec 09 2017 Michal Schorm - 3:10.2.11-1 - Rebase to 10.2.11 - Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 introduced - Temporary fix for #1523875 intoruced + Related: #1523875 * Wed Dec 06 2017 Michal Schorm - 3:10.2.10-2 - Fix PID file location From bbf3a20d30c8913206abc68c26dccb0637c88860 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 11 Dec 2017 12:55:15 +0100 Subject: [PATCH 448/789] Rebase to 10.2.12 Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 removed TokuDB disabled Failing tests lists updated --- mariadb.spec | 34 ++++++++++++++++++++++++++-------- rh-skipped-tests-base.list | 12 ++++++------ rh-skipped-tests-ppc.list | 6 ++---- rh-skipped-tests-s390.list | 6 ------ sources | 2 +- 5 files changed, 35 insertions(+), 25 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 7834d98..f5e18e9 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -13,6 +13,7 @@ %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}} # Use Full RELRO for all binaries (RHBZ#1092548) +# Deafult since F23 https://fedoraproject.org/wiki/Changes/Harden_All_Packages %global _hardened_build 1 # By default, patch(1) creates backup files when chunks apply with offsets. @@ -30,7 +31,10 @@ # https://mariadb.com/kb/en/library/myrocks-supported-platforms/ # RocksB engine is available only for x86_64 %ifarch x86_64 -%bcond_without tokudb +# Disable TokuDB since 10.1.12 on F>=28 +# It will either "freeze" the testsuite (probabbly stuck in some loop) or ~500 TokuDB tests will fail +# This issue is probabbly caused by updates in Fedora Rwahide (F28) KOJI - like a new GCC and many build tools updates +%bcond_with tokudb %bcond_without mroonga %bcond_without rocksdb %else @@ -133,7 +137,7 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.2 -%global bugfixver 11 +%global bugfixver 12 Name: mariadb Version: %{compatver}.%{bugfixver} @@ -798,6 +802,8 @@ export CFLAGS CXXFLAGS # building with PIE LDFLAGS="$LDFLAGS -pie -Wl,-z,relro,-z,now" export LDFLAGS +# Simmilar flags provides MariaDB itself: -DSECURITY_HARDENED=ON +# will elanble -pie and -Wl,-z,relro,-z,now, but also -fstack-protector and -D_FORTIFY_SOURCE=2 %endif # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX @@ -833,6 +839,7 @@ export LDFLAGS -DTMPDIR=/var/tmp \ -DENABLED_LOCAL_INFILE=ON \ -DENABLE_DTRACE=ON \ + -DSECURITY_HARDENED=%{?hardened_build:ON}%{!?hardened_build:OFF} \ -DWITH_EMBEDDED_SERVER=%{?with_embedded:ON}%{!?with_embedded:OFF} \ -DWITH_MARIABACKUP=%{?with_backup:ON}%{!?with_backup:NO} \ -DWITH_UNIT_TESTS=%{?with_test:ON}%{!?with_test:NO} \ @@ -846,14 +853,10 @@ export LDFLAGS -DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \ -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ - -DTOKUDB_OK=1 \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \ %{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} -# -DTOKUDB_OK=1 -# ^ is a temporary fix for https://jira.mariadb.org/browse/MDEV-14537 - # Print all Cmake options values cmake -L @@ -980,7 +983,9 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server # Shipped as a standalona package in Fedora rm %{buildroot}%{_bindir}/mytop - +# Rename sysusers and tmpfiles config files, they should be named after the software they belong to +mv %{buildroot}/usr/lib/sysusers.d/sysusers.conf %{buildroot}/usr/lib/sysusers.d/mariadb.conf +mv %{buildroot}/usr/lib/tmpfiles.d/tmpfiles.conf %{buildroot}/usr/lib/tmpfiles.d/mariadb.conf # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} @@ -1149,9 +1154,10 @@ export MTR_BUILD_THREAD=%{__isa_bits} # avoid redundant test runs with --binlog-format=mixed # increase timeouts to prevent unwanted failures during mass rebuilds -# Failing test debug 02/14/17 +# Usefull arguments: # --do-test=mysql_client_test_nonblock \ # --skip-rpl +# --suite=roles ( set -ex @@ -1485,6 +1491,13 @@ fi %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} +# New systemd feature - used to reconstruct damaged /etc +# https://github.com/MariaDB/server/commit/7bbc6c14d1 +%dir /usr/lib/sysusers.d +/usr/lib/sysusers.d/mariadb.conf +%dir /usr/lib/tmpfiles.d +/usr/lib/tmpfiles.d/mariadb.conf + %if %{with cracklib} %files cracklib-password-check %config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf @@ -1608,6 +1621,11 @@ fi %endif %changelog +* Wed Jan 10 2018 Michal Schorm - 3:10.2.12-1 +- Rebase to 10.2.12 +- Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 removed +- TokuDB disabled + * Mon Dec 11 2017 Michal Schorm - 3:10.2.11-2 - Temporary fix for #1523875 removed, bug in Annobin fixed Resolves: #1523875 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 022dda6..11d5a9b 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -2,13 +2,10 @@ # https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-84275 main.ssl_7937 : #1399847 main.ssl_crl_clients : #1399847 -main.ssl_cert_verify : #1399847 # -main.userstat : #1399847 main.non_blocking_api : #1399847 perfschema.nesting : #1399847 -perfschema.socket_summary_by_event_name_func : #1399847 perfschema.socket_summary_by_instance_func : #1399847 # needs this tests disabled for mode build @@ -27,14 +24,18 @@ rpl.rpl_row_img_eng_noblob : sys_vars.slave_parallel_threads_basic : +# Fails since 10.1.12 +innodb.innodb_defrag_binlog : + +# Fails on PPC, PPC64 and AArch +parts.partition_alter4_innodb : #1399847 + # https://jira.mariadb.org/browse/MDEV-14003 -spider/bg.spider3_fixes : spider/bg.spider3_fixes_part : spider/bg.spider_fixes : spider/bg.spider_fixes_part : spider/bg.basic_sql : spider/bg.basic_sql_part : -spider/bg.direct_aggregate : spider/bg.direct_aggregate_part : spider/bg.direct_update : spider/bg.direct_update_part : @@ -55,4 +56,3 @@ spider.function : spider.ha : spider.ha_part : spider.vp_fixes : - diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index f396da3..5fd4928 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -1,4 +1,2 @@ -parts.partition_alter4_innodb : #1399847 -connect.tbl_thread : warnings in log -partition_alter1_2_innodb : warnings in log -partition_alter2_1_1_innodb : warnings in log +# Fails since 10.1.12 only on PPC64 +innodb_fts.fulltext : diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list index 5f46945..e69de29 100644 --- a/rh-skipped-tests-s390.list +++ b/rh-skipped-tests-s390.list @@ -1,6 +0,0 @@ -encryption.innodb-read-only : #1399847 -multi_source.gtid : warnings in log -sys_vars.innodb_autoextend_increment_basic : warnings in log -vcol.vcol_keys_innodb : warnings in log - -encryption.innodb-compressed-blob : started failing with 10.2.11 release diff --git a/sources b/sources index d8648b0..dc9be41 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.2.11.tar.gz) = 4041ee1f1e266e8b30f85b19c5c95bcb626f965df9e0e20eb801598cc7fc5f5f37906e8a75cc86d373aa642adcccf3b75a0e67994e18908fb733cc6520d04a44 +SHA512 (mariadb-10.2.12.tar.gz) = 8d3d3c84d4a01d6047e4f2b6802eb802e1f6a7b0e10e981c7ef9fdd27a5a25baab0af47a21b8637f4cbb9d21ef3bcc85097c5fdb8745c2a79040ab87fecb5a7b From 9c1b69700c1ede718aa30ddf8b62d46c5b528584 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 11 Dec 2017 12:55:15 +0100 Subject: [PATCH 449/789] Temporary fix for #1523875 removed, bug in Annobin fixed --- mariadb.spec | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 3c58c95..980cca3 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -137,7 +137,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -789,9 +789,6 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` %endif -# Temporary fix for rhbz#1523875 -CFLAGS=`echo $CFLAGS| sed -e "s|-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1||g" ` - CXXFLAGS="$CFLAGS" export CFLAGS CXXFLAGS @@ -1609,10 +1606,15 @@ fi %endif %changelog +* Mon Dec 11 2017 Michal Schorm - 3:10.2.11-2 +- Temporary fix for #1523875 removed, bug in Annobin fixed + Resolves: #1523875 + * Sat Dec 09 2017 Michal Schorm - 3:10.2.11-1 - Rebase to 10.2.11 - Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 introduced - Temporary fix for #1523875 intoruced + Related: #1523875 * Wed Dec 06 2017 Michal Schorm - 3:10.2.10-2 - Fix PID file location From fe524160efa2844bb9a1a51a91557f6c20243e24 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 11 Dec 2017 12:55:15 +0100 Subject: [PATCH 450/789] Rebase to 10.2.12 Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 removed TokuDB disabled Failing tests lists updated --- mariadb.spec | 34 ++++++++++++++++++++++++++-------- rh-skipped-tests-base.list | 12 ++++++------ rh-skipped-tests-ppc.list | 6 ++---- rh-skipped-tests-s390.list | 6 ------ sources | 2 +- 5 files changed, 35 insertions(+), 25 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 980cca3..8557a3c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -13,6 +13,7 @@ %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}} # Use Full RELRO for all binaries (RHBZ#1092548) +# Deafult since F23 https://fedoraproject.org/wiki/Changes/Harden_All_Packages %global _hardened_build 1 # By default, patch(1) creates backup files when chunks apply with offsets. @@ -30,7 +31,10 @@ # https://mariadb.com/kb/en/library/myrocks-supported-platforms/ # RocksB engine is available only for x86_64 %ifarch x86_64 -%bcond_without tokudb +# Disable TokuDB since 10.1.12 on F>=28 +# It will either "freeze" the testsuite (probabbly stuck in some loop) or ~500 TokuDB tests will fail +# This issue is probabbly caused by updates in Fedora Rwahide (F28) KOJI - like a new GCC and many build tools updates +%bcond_with tokudb %bcond_without mroonga %bcond_without rocksdb %else @@ -133,7 +137,7 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.2 -%global bugfixver 11 +%global bugfixver 12 Name: mariadb Version: %{compatver}.%{bugfixver} @@ -796,6 +800,8 @@ export CFLAGS CXXFLAGS # building with PIE LDFLAGS="$LDFLAGS -pie -Wl,-z,relro,-z,now" export LDFLAGS +# Simmilar flags provides MariaDB itself: -DSECURITY_HARDENED=ON +# will elanble -pie and -Wl,-z,relro,-z,now, but also -fstack-protector and -D_FORTIFY_SOURCE=2 %endif # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX @@ -831,6 +837,7 @@ export LDFLAGS -DTMPDIR=/var/tmp \ -DENABLED_LOCAL_INFILE=ON \ -DENABLE_DTRACE=ON \ + -DSECURITY_HARDENED=%{?hardened_build:ON}%{!?hardened_build:OFF} \ -DWITH_EMBEDDED_SERVER=%{?with_embedded:ON}%{!?with_embedded:OFF} \ -DWITH_MARIABACKUP=%{?with_backup:ON}%{!?with_backup:NO} \ -DWITH_UNIT_TESTS=%{?with_test:ON}%{!?with_test:NO} \ @@ -844,14 +851,10 @@ export LDFLAGS -DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \ -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ - -DTOKUDB_OK=1 \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \ %{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} -# -DTOKUDB_OK=1 -# ^ is a temporary fix for https://jira.mariadb.org/browse/MDEV-14537 - # Print all Cmake options values cmake -L @@ -978,7 +981,9 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server # Shipped as a standalona package in Fedora rm %{buildroot}%{_bindir}/mytop - +# Rename sysusers and tmpfiles config files, they should be named after the software they belong to +mv %{buildroot}/usr/lib/sysusers.d/sysusers.conf %{buildroot}/usr/lib/sysusers.d/mariadb.conf +mv %{buildroot}/usr/lib/tmpfiles.d/tmpfiles.conf %{buildroot}/usr/lib/tmpfiles.d/mariadb.conf # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} @@ -1147,9 +1152,10 @@ export MTR_BUILD_THREAD=%{__isa_bits} # avoid redundant test runs with --binlog-format=mixed # increase timeouts to prevent unwanted failures during mass rebuilds -# Failing test debug 02/14/17 +# Usefull arguments: # --do-test=mysql_client_test_nonblock \ # --skip-rpl +# --suite=roles ( set -ex @@ -1483,6 +1489,13 @@ fi %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} +# New systemd feature - used to reconstruct damaged /etc +# https://github.com/MariaDB/server/commit/7bbc6c14d1 +%dir /usr/lib/sysusers.d +/usr/lib/sysusers.d/mariadb.conf +%dir /usr/lib/tmpfiles.d +/usr/lib/tmpfiles.d/mariadb.conf + %if %{with cracklib} %files cracklib-password-check %config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf @@ -1606,6 +1619,11 @@ fi %endif %changelog +* Wed Jan 10 2018 Michal Schorm - 3:10.2.12-1 +- Rebase to 10.2.12 +- Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 removed +- TokuDB disabled + * Mon Dec 11 2017 Michal Schorm - 3:10.2.11-2 - Temporary fix for #1523875 removed, bug in Annobin fixed Resolves: #1523875 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 022dda6..11d5a9b 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -2,13 +2,10 @@ # https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-84275 main.ssl_7937 : #1399847 main.ssl_crl_clients : #1399847 -main.ssl_cert_verify : #1399847 # -main.userstat : #1399847 main.non_blocking_api : #1399847 perfschema.nesting : #1399847 -perfschema.socket_summary_by_event_name_func : #1399847 perfschema.socket_summary_by_instance_func : #1399847 # needs this tests disabled for mode build @@ -27,14 +24,18 @@ rpl.rpl_row_img_eng_noblob : sys_vars.slave_parallel_threads_basic : +# Fails since 10.1.12 +innodb.innodb_defrag_binlog : + +# Fails on PPC, PPC64 and AArch +parts.partition_alter4_innodb : #1399847 + # https://jira.mariadb.org/browse/MDEV-14003 -spider/bg.spider3_fixes : spider/bg.spider3_fixes_part : spider/bg.spider_fixes : spider/bg.spider_fixes_part : spider/bg.basic_sql : spider/bg.basic_sql_part : -spider/bg.direct_aggregate : spider/bg.direct_aggregate_part : spider/bg.direct_update : spider/bg.direct_update_part : @@ -55,4 +56,3 @@ spider.function : spider.ha : spider.ha_part : spider.vp_fixes : - diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index f396da3..5fd4928 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -1,4 +1,2 @@ -parts.partition_alter4_innodb : #1399847 -connect.tbl_thread : warnings in log -partition_alter1_2_innodb : warnings in log -partition_alter2_1_1_innodb : warnings in log +# Fails since 10.1.12 only on PPC64 +innodb_fts.fulltext : diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list index 5f46945..e69de29 100644 --- a/rh-skipped-tests-s390.list +++ b/rh-skipped-tests-s390.list @@ -1,6 +0,0 @@ -encryption.innodb-read-only : #1399847 -multi_source.gtid : warnings in log -sys_vars.innodb_autoextend_increment_basic : warnings in log -vcol.vcol_keys_innodb : warnings in log - -encryption.innodb-compressed-blob : started failing with 10.2.11 release diff --git a/sources b/sources index d8648b0..dc9be41 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.2.11.tar.gz) = 4041ee1f1e266e8b30f85b19c5c95bcb626f965df9e0e20eb801598cc7fc5f5f37906e8a75cc86d373aa642adcccf3b75a0e67994e18908fb733cc6520d04a44 +SHA512 (mariadb-10.2.12.tar.gz) = 8d3d3c84d4a01d6047e4f2b6802eb802e1f6a7b0e10e981c7ef9fdd27a5a25baab0af47a21b8637f4cbb9d21ef3bcc85097c5fdb8745c2a79040ab87fecb5a7b From 16cf4d2abf26cb2e604f5ab308b2be1abc110087 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 23 Nov 2017 22:15:32 +0100 Subject: [PATCH 451/789] Remove jar files used for testing from the source Related: #1463417 --- mariadb.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index f5e18e9..597b544 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -699,6 +699,9 @@ sources. %prep %setup -q -n mariadb-%{version} +# Removt JAR files that upstream puts into tarball +find . -name "*.jar" -type f -exec rm --verbose -f {} \; + %patch4 -p1 %patch7 -p1 %patch9 -p1 @@ -854,6 +857,8 @@ export LDFLAGS -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ + -DCONNECT_WITH_MONGO=OFF \ + -DCONNECT_WITH_JDBC=OFF \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \ %{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} @@ -1013,10 +1018,6 @@ install -p -m 0755 scripts/galera_new_cluster %{buildroot}%{_bindir}/galera_new_ # remove duplicate logrotate script rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql -# remove *.jar file from mysql-test -rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar -rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar -rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar # Remove AppArmor files rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor @@ -1621,6 +1622,9 @@ fi %endif %changelog +* Thu Jan 11 2018 Honza Horak - 3:10.2.12-1 +- Do not build connect plugin with mongo and jdbc connectors + * Wed Jan 10 2018 Michal Schorm - 3:10.2.12-1 - Rebase to 10.2.12 - Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 removed From a77a3d64a18ba85a7c8f0a27dd8b0a4d64661b28 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sun, 24 Sep 2017 12:55:50 +0200 Subject: [PATCH 452/789] Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script, same as it is done in case of systemd unit file Related: #1455850 --- mariadb.spec | 3 +++ mysql.init.in | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 597b544..288c534 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1624,6 +1624,9 @@ fi %changelog * Thu Jan 11 2018 Honza Horak - 3:10.2.12-1 - Do not build connect plugin with mongo and jdbc connectors +- Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script, + same as it is done in case of systemd unit file + Related: #1455850 * Wed Jan 10 2018 Michal Schorm - 3:10.2.12-1 - Rebase to 10.2.12 diff --git a/mysql.init.in b/mysql.init.in index 6ae046c..aa3b809 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -82,7 +82,7 @@ start(){ # Note: set --basedir to prevent probes that might trigger SELinux # alarms, per bug #547485 su - $MYUSER -s /bin/bash -c "$exec --datadir='$datadir' --socket='$socketfile' \ - --pid-file='$pidfile' \ + --pid-file='$pidfile' $MYSQLD_OPTS $_WSREP_NEW_CLUSTER \ --basedir=@prefix@ --user=$MYUSER" >/dev/null 2>&1 & safe_pid=$! From a6ee91f1b4e52dc96f42f0de13682e15aa60a384 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 7 Nov 2017 12:24:46 +0100 Subject: [PATCH 453/789] Print the same messages as before when starting the service in SysV init, to not scare users Related: #1463411 --- mariadb.spec | 3 +++ mysql-prepare-db-dir.sh | 14 +++++++------- mysql.init.in | 4 ++-- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 288c534..177ad1f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1627,6 +1627,9 @@ fi - Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script, same as it is done in case of systemd unit file Related: #1455850 +- Print the same messages as before when starting the service in SysV init, + to not scare users + Related: #1463411 * Wed Jan 10 2018 Michal Schorm - 3:10.2.12-1 - Rebase to 10.2.12 diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index 785ddc2..22d0566 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -68,11 +68,11 @@ else # Provide some advice if the log file cannot be created by this script errlogdir=$(dirname "$errlogfile") if ! [ -d "$errlogdir" ] ; then - echo "The directory $errlogdir does not exist." + echo "The directory $errlogdir does not exist." >&2 exit 1 elif [ -e "$errlogfile" -a ! -w "$errlogfile" ] ; then - echo "The log file $errlogfile cannot be written, please, fix its permissions." - echo "The daemon will be run under $myuser:$mygroup" + echo "The log file $errlogfile cannot be written, please, fix its permissions." >&2 + echo "The daemon will be run under $myuser:$mygroup" >&2 exit 1 fi fi @@ -90,14 +90,14 @@ if should_initialize "$datadir" ; then [ -x /sbin/restorecon ] && /sbin/restorecon "$datadir" # Now create the database - echo "Initializing @NICE_PROJECT_NAME@ database" + echo "Initializing @NICE_PROJECT_NAME@ database" >&2 # Avoiding deletion of files not created by mysql_install_db is # guarded by time check and sleep should help work-arounded # potential issues on systems with 1 second resolution timestamps # https://bugzilla.redhat.com/show_bug.cgi?id=1335849#c19 INITDB_TIMESTAMP=`LANG=C date -u` sleep 1 - @bindir@/mysql_install_db --rpm --datadir="$datadir" --user="$myuser" + @bindir@/mysql_install_db --rpm --datadir="$datadir" --user="$myuser" >&2 ret=$? if [ $ret -ne 0 ] ; then echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2 @@ -128,8 +128,8 @@ else else # if the directory is not empty but mysql/ directory is missing, then # print error and let user to initialize manually or empty the directory - echo "Database @NICE_PROJECT_NAME@ is not initialized, but the directory $datadir is not empty, so initialization cannot be done." - echo "Make sure the $datadir is empty before running `basename $0`." + echo "Database @NICE_PROJECT_NAME@ is not initialized, but the directory $datadir is not empty, so initialization cannot be done." >&2 + echo "Make sure the $datadir is empty before running `basename $0`." >&2 exit 1 fi fi diff --git a/mysql.init.in b/mysql.init.in index aa3b809..0282399 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -71,8 +71,8 @@ start(){ action $"Starting $prog: " /bin/true ret=0 else - @libexecdir@/mysql-check-socket || return 1 - su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP" || return 4 + @libexecdir@/mysql-check-socket >/dev/null || return 1 + su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP" >/dev/null || return 4 # Pass all the options determined above, to ensure consistent behavior. # In many cases mysqld_safe would arrive at the same conclusions anyway From 95af530dbb505654ae860f009fb89c9376205858 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Sat, 20 Jan 2018 23:07:11 +0100 Subject: [PATCH 454/789] Rebuilt for switch to libxcrypt --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 177ad1f..5f10e7e 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -141,7 +141,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1622,6 +1622,9 @@ fi %endif %changelog +* Sat Jan 20 2018 Björn Esser - 3:10.2.12-3 +- Rebuilt for switch to libxcrypt + * Thu Jan 11 2018 Honza Horak - 3:10.2.12-1 - Do not build connect plugin with mongo and jdbc connectors - Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script, From d582a409d752f02363191ef7a85842cfb0c6c1bf Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 25 Jan 2018 11:59:14 +0100 Subject: [PATCH 455/789] Fix upgrade path - do build TokuDB, but build a configuration unsupported by upstream (Build without Jemalloc) --- mariadb.spec | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 5f10e7e..eb9dda8 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -34,7 +34,7 @@ # Disable TokuDB since 10.1.12 on F>=28 # It will either "freeze" the testsuite (probabbly stuck in some loop) or ~500 TokuDB tests will fail # This issue is probabbly caused by updates in Fedora Rwahide (F28) KOJI - like a new GCC and many build tools updates -%bcond_with tokudb +%bcond_without tokudb %bcond_without mroonga %bcond_without rocksdb %else @@ -141,7 +141,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -849,7 +849,7 @@ export LDFLAGS -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DWITH_JEMALLOC=system \ + -DWITH_JEMALLOC=no \ -DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \ -DPLUGIN_OQGRAPH=%{?with_oqgraph:DYNAMIC}%{!?with_oqgraph:NO} \ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=%{?with_cracklib:DYNAMIC}%{!?with_cracklib:NO} \ @@ -1622,6 +1622,11 @@ fi %endif %changelog +* Thu Jan 25 2018 Michal Schorm - 3:10.2.12-4 +- Fix the upgrade path. Build TokuDB subpackage again, but build a unsupported + configuration by upstream (without Jemalloc). + Jemmalloc has been updated to version 5, which isn't backwards compatible. + * Sat Jan 20 2018 Björn Esser - 3:10.2.12-3 - Rebuilt for switch to libxcrypt From 0f8f4c807c8038be33a65ea3464b73a67228a4a2 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 25 Jan 2018 12:09:50 +0100 Subject: [PATCH 456/789] Use downstream tmpfiles instead of the upstream one; #1538066 --- mariadb.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index eb9dda8..2c10373 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -926,6 +926,9 @@ rm scripts/my.cnf # use different config file name for each variant of server (mariadb / mysql) mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf +# Rename sysusers and tmpfiles config files, they should be named after the software they belong to +mv %{buildroot}/usr/lib/sysusers.d/sysusers.conf %{buildroot}/usr/lib/sysusers.d/mariadb.conf + # remove SysV init script and a symlink to that, we pack our very own rm %{buildroot}%{_sysconfdir}/init.d/mysql rm %{buildroot}%{_libexecdir}/rcmysql @@ -933,6 +936,9 @@ rm %{buildroot}%{_libexecdir}/rcmysql %if %{with init_systemd} install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service +# Remove the upstream version +rm %{buildroot}/usr/lib/tmpfiles.d/tmpfiles.conf +# Install downstream version install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?mysqld_pid_dir:1} echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf @@ -988,10 +994,6 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server # Shipped as a standalona package in Fedora rm %{buildroot}%{_bindir}/mytop -# Rename sysusers and tmpfiles config files, they should be named after the software they belong to -mv %{buildroot}/usr/lib/sysusers.d/sysusers.conf %{buildroot}/usr/lib/sysusers.d/mariadb.conf -mv %{buildroot}/usr/lib/tmpfiles.d/tmpfiles.conf %{buildroot}/usr/lib/tmpfiles.d/mariadb.conf - # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name} @@ -1626,6 +1628,8 @@ fi - Fix the upgrade path. Build TokuDB subpackage again, but build a unsupported configuration by upstream (without Jemalloc). Jemmalloc has been updated to version 5, which isn't backwards compatible. +- Use downstream tmpfiles instead of the upstream one + Related: #1538066 * Sat Jan 20 2018 Björn Esser - 3:10.2.12-3 - Rebuilt for switch to libxcrypt From 0d9da7bf48c4dbed3b077dbedeaffb6e47f99799 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 23 Nov 2017 22:15:32 +0100 Subject: [PATCH 457/789] Remove jar files used for testing from the source Related: #1463417 --- mariadb.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 8557a3c..337f43e 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -697,6 +697,9 @@ sources. %prep %setup -q -n mariadb-%{version} +# Removt JAR files that upstream puts into tarball +find . -name "*.jar" -type f -exec rm --verbose -f {} \; + %patch4 -p1 %patch7 -p1 %patch9 -p1 @@ -852,6 +855,8 @@ export LDFLAGS -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ + -DCONNECT_WITH_MONGO=OFF \ + -DCONNECT_WITH_JDBC=OFF \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \ %{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} @@ -1011,10 +1016,6 @@ install -p -m 0755 scripts/galera_new_cluster %{buildroot}%{_bindir}/galera_new_ # remove duplicate logrotate script rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql -# remove *.jar file from mysql-test -rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar -rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar -rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar # Remove AppArmor files rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor @@ -1619,6 +1620,9 @@ fi %endif %changelog +* Thu Jan 11 2018 Honza Horak - 3:10.2.12-1 +- Do not build connect plugin with mongo and jdbc connectors + * Wed Jan 10 2018 Michal Schorm - 3:10.2.12-1 - Rebase to 10.2.12 - Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 removed From a218b6af2838a994df8c51cecca07825cbd82e96 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sun, 24 Sep 2017 12:55:50 +0200 Subject: [PATCH 458/789] Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script, same as it is done in case of systemd unit file Related: #1455850 --- mariadb.spec | 3 +++ mysql.init.in | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 337f43e..9693765 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1622,6 +1622,9 @@ fi %changelog * Thu Jan 11 2018 Honza Horak - 3:10.2.12-1 - Do not build connect plugin with mongo and jdbc connectors +- Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script, + same as it is done in case of systemd unit file + Related: #1455850 * Wed Jan 10 2018 Michal Schorm - 3:10.2.12-1 - Rebase to 10.2.12 diff --git a/mysql.init.in b/mysql.init.in index 6ae046c..aa3b809 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -82,7 +82,7 @@ start(){ # Note: set --basedir to prevent probes that might trigger SELinux # alarms, per bug #547485 su - $MYUSER -s /bin/bash -c "$exec --datadir='$datadir' --socket='$socketfile' \ - --pid-file='$pidfile' \ + --pid-file='$pidfile' $MYSQLD_OPTS $_WSREP_NEW_CLUSTER \ --basedir=@prefix@ --user=$MYUSER" >/dev/null 2>&1 & safe_pid=$! From 9be454122e9b43716cb1673f8da065894cf54619 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 7 Nov 2017 12:24:46 +0100 Subject: [PATCH 459/789] Print the same messages as before when starting the service in SysV init, to not scare users Related: #1463411 --- mariadb.spec | 3 +++ mysql-prepare-db-dir.sh | 14 +++++++------- mysql.init.in | 4 ++-- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 9693765..29c8932 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1625,6 +1625,9 @@ fi - Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script, same as it is done in case of systemd unit file Related: #1455850 +- Print the same messages as before when starting the service in SysV init, + to not scare users + Related: #1463411 * Wed Jan 10 2018 Michal Schorm - 3:10.2.12-1 - Rebase to 10.2.12 diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index 785ddc2..22d0566 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -68,11 +68,11 @@ else # Provide some advice if the log file cannot be created by this script errlogdir=$(dirname "$errlogfile") if ! [ -d "$errlogdir" ] ; then - echo "The directory $errlogdir does not exist." + echo "The directory $errlogdir does not exist." >&2 exit 1 elif [ -e "$errlogfile" -a ! -w "$errlogfile" ] ; then - echo "The log file $errlogfile cannot be written, please, fix its permissions." - echo "The daemon will be run under $myuser:$mygroup" + echo "The log file $errlogfile cannot be written, please, fix its permissions." >&2 + echo "The daemon will be run under $myuser:$mygroup" >&2 exit 1 fi fi @@ -90,14 +90,14 @@ if should_initialize "$datadir" ; then [ -x /sbin/restorecon ] && /sbin/restorecon "$datadir" # Now create the database - echo "Initializing @NICE_PROJECT_NAME@ database" + echo "Initializing @NICE_PROJECT_NAME@ database" >&2 # Avoiding deletion of files not created by mysql_install_db is # guarded by time check and sleep should help work-arounded # potential issues on systems with 1 second resolution timestamps # https://bugzilla.redhat.com/show_bug.cgi?id=1335849#c19 INITDB_TIMESTAMP=`LANG=C date -u` sleep 1 - @bindir@/mysql_install_db --rpm --datadir="$datadir" --user="$myuser" + @bindir@/mysql_install_db --rpm --datadir="$datadir" --user="$myuser" >&2 ret=$? if [ $ret -ne 0 ] ; then echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2 @@ -128,8 +128,8 @@ else else # if the directory is not empty but mysql/ directory is missing, then # print error and let user to initialize manually or empty the directory - echo "Database @NICE_PROJECT_NAME@ is not initialized, but the directory $datadir is not empty, so initialization cannot be done." - echo "Make sure the $datadir is empty before running `basename $0`." + echo "Database @NICE_PROJECT_NAME@ is not initialized, but the directory $datadir is not empty, so initialization cannot be done." >&2 + echo "Make sure the $datadir is empty before running `basename $0`." >&2 exit 1 fi fi diff --git a/mysql.init.in b/mysql.init.in index aa3b809..0282399 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -71,8 +71,8 @@ start(){ action $"Starting $prog: " /bin/true ret=0 else - @libexecdir@/mysql-check-socket || return 1 - su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP" || return 4 + @libexecdir@/mysql-check-socket >/dev/null || return 1 + su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP" >/dev/null || return 4 # Pass all the options determined above, to ensure consistent behavior. # In many cases mysqld_safe would arrive at the same conclusions anyway From c07b0bf23ab3eae3f1b485b4a674eee13cf7a8a5 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 25 Jan 2018 11:59:14 +0100 Subject: [PATCH 460/789] Fix upgrade path - do build TokuDB, but build a configuration unsupported by upstream (Build without Jemalloc) --- mariadb.spec | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 29c8932..aa7c469 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -34,7 +34,7 @@ # Disable TokuDB since 10.1.12 on F>=28 # It will either "freeze" the testsuite (probabbly stuck in some loop) or ~500 TokuDB tests will fail # This issue is probabbly caused by updates in Fedora Rwahide (F28) KOJI - like a new GCC and many build tools updates -%bcond_with tokudb +%bcond_without tokudb %bcond_without mroonga %bcond_without rocksdb %else @@ -141,7 +141,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -847,7 +847,7 @@ export LDFLAGS -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DWITH_JEMALLOC=system \ + -DWITH_JEMALLOC=no \ -DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \ -DPLUGIN_OQGRAPH=%{?with_oqgraph:DYNAMIC}%{!?with_oqgraph:NO} \ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=%{?with_cracklib:DYNAMIC}%{!?with_cracklib:NO} \ @@ -1620,6 +1620,11 @@ fi %endif %changelog +* Thu Jan 25 2018 Michal Schorm - 3:10.2.12-4 +- Fix the upgrade path. Build TokuDB subpackage again, but build a unsupported + configuration by upstream (without Jemalloc). + Jemmalloc has been updated to version 5, which isn't backwards compatible. + * Thu Jan 11 2018 Honza Horak - 3:10.2.12-1 - Do not build connect plugin with mongo and jdbc connectors - Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script, From af8f71d7a59a5f746578e710844dfff675b9a549 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 25 Jan 2018 12:09:50 +0100 Subject: [PATCH 461/789] Use downstream tmpfiles instead of the upstream one; #1538066 --- mariadb.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index aa7c469..a0eeb1b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -924,6 +924,9 @@ rm scripts/my.cnf # use different config file name for each variant of server (mariadb / mysql) mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf +# Rename sysusers and tmpfiles config files, they should be named after the software they belong to +mv %{buildroot}/usr/lib/sysusers.d/sysusers.conf %{buildroot}/usr/lib/sysusers.d/mariadb.conf + # remove SysV init script and a symlink to that, we pack our very own rm %{buildroot}%{_sysconfdir}/init.d/mysql rm %{buildroot}%{_libexecdir}/rcmysql @@ -931,6 +934,9 @@ rm %{buildroot}%{_libexecdir}/rcmysql %if %{with init_systemd} install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service +# Remove the upstream version +rm %{buildroot}/usr/lib/tmpfiles.d/tmpfiles.conf +# Install downstream version install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?mysqld_pid_dir:1} echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf @@ -986,10 +992,6 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server # Shipped as a standalona package in Fedora rm %{buildroot}%{_bindir}/mytop -# Rename sysusers and tmpfiles config files, they should be named after the software they belong to -mv %{buildroot}/usr/lib/sysusers.d/sysusers.conf %{buildroot}/usr/lib/sysusers.d/mariadb.conf -mv %{buildroot}/usr/lib/tmpfiles.d/tmpfiles.conf %{buildroot}/usr/lib/tmpfiles.d/mariadb.conf - # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name} @@ -1624,6 +1626,8 @@ fi - Fix the upgrade path. Build TokuDB subpackage again, but build a unsupported configuration by upstream (without Jemalloc). Jemmalloc has been updated to version 5, which isn't backwards compatible. +- Use downstream tmpfiles instead of the upstream one + Related: #1538066 * Thu Jan 11 2018 Honza Horak - 3:10.2.12-1 - Do not build connect plugin with mongo and jdbc connectors From daa1ad6dc4ee819f70ef66f6f2016e623d096274 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 26 Jan 2018 18:26:43 +0100 Subject: [PATCH 462/789] Use '-ldl' compiler flag when associated library used Resolves: #1538990 --- mariadb.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 2c10373..852095c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -141,7 +141,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -788,6 +788,8 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" # force PIC mode so that we can build libmysqld.so CFLAGS="$CFLAGS -fPIC" +# Use -ldl for some plugins #1538990 +CFLAGS="$CFLAGS -ldl" # gcc seems to have some bugs on sparc as of 4.4.1, back off optimization; rhbz#529298 # Note: sparc = s390 %ifarch sparc sparcv9 sparc64 @@ -1624,6 +1626,10 @@ fi %endif %changelog +* Fri Jan 26 2018 Michal Schorm - 3:10.2.12-5 +- Use '-ldl' compiler flag when associated library used + Resolves: #1538990 + * Thu Jan 25 2018 Michal Schorm - 3:10.2.12-4 - Fix the upgrade path. Build TokuDB subpackage again, but build a unsupported configuration by upstream (without Jemalloc). From ad0bf94ae52ced82bc9f755a343d286bde55831a Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 26 Jan 2018 18:26:43 +0100 Subject: [PATCH 463/789] Use '-ldl' compiler flag when associated library used Resolves: #1538990 --- mariadb.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index a0eeb1b..85431a6 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -141,7 +141,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -786,6 +786,8 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" # force PIC mode so that we can build libmysqld.so CFLAGS="$CFLAGS -fPIC" +# Use -ldl for some plugins #1538990 +CFLAGS="$CFLAGS -ldl" # gcc seems to have some bugs on sparc as of 4.4.1, back off optimization; rhbz#529298 # Note: sparc = s390 %ifarch sparc sparcv9 sparc64 @@ -1622,6 +1624,10 @@ fi %endif %changelog +* Fri Jan 26 2018 Michal Schorm - 3:10.2.12-5 +- Use '-ldl' compiler flag when associated library used + Resolves: #1538990 + * Thu Jan 25 2018 Michal Schorm - 3:10.2.12-4 - Fix the upgrade path. Build TokuDB subpackage again, but build a unsupported configuration by upstream (without Jemalloc). From e096affc6f6b2d2e6f04332c6429abd817bb2d22 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 27 Jan 2018 02:34:32 +0100 Subject: [PATCH 464/789] Extend failing tests list for PPC --- rh-skipped-tests-ppc.list | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index 5fd4928..5fc204e 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -1,2 +1,6 @@ # Fails since 10.1.12 only on PPC64 innodb_fts.fulltext : +# Fails since 10.1.12 only on PPC64 and PPC64le; timeout after 1800 seconds +innodb.innodb_defrag_concurrent : +parts.partition_alter1_2_innodb : + From ed1cfbce0e107e983e8b8e95354c902e0c5add2e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 27 Jan 2018 02:34:32 +0100 Subject: [PATCH 465/789] Extend failing tests list for PPC --- rh-skipped-tests-ppc.list | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index 5fd4928..5fc204e 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -1,2 +1,6 @@ # Fails since 10.1.12 only on PPC64 innodb_fts.fulltext : +# Fails since 10.1.12 only on PPC64 and PPC64le; timeout after 1800 seconds +innodb.innodb_defrag_concurrent : +parts.partition_alter1_2_innodb : + From 39512bdd8b5b992937bd15f8b847d8b60a38ecc3 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 30 Jan 2018 11:55:36 +0100 Subject: [PATCH 466/789] Update ldconfig scriptlets --- mariadb.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 852095c..33a1b44 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1190,11 +1190,13 @@ export MTR_BUILD_THREAD=%{__isa_bits} -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : %if %{with clibrary} -%post libs -p /sbin/ldconfig +# Can be dropped on F27 EOL +%ldconfig_post libs %endif %if %{with embedded} -%post embedded -p /sbin/ldconfig +# Can be dropped on F27 EOL +%ldconfig_post embedded %endif %if %{with galera} @@ -1229,11 +1231,13 @@ fi %endif %if %{with clibrary} -%postun libs -p /sbin/ldconfig +# Can be dropped on F27 EOL +%ldconfig_postun libs %endif %if %{with embedded} -%postun embedded -p /sbin/ldconfig +# Can be dropped on F27 EOL +%ldconfig_postun embedded %endif %if %{with galera} From 00b1b90490dbe697ea55e1535f54e9d979b2b6c8 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 30 Jan 2018 11:55:36 +0100 Subject: [PATCH 467/789] Update ldconfig scriptlets --- mariadb.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 85431a6..32ad6d6 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1188,11 +1188,13 @@ export MTR_BUILD_THREAD=%{__isa_bits} -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : %if %{with clibrary} -%post libs -p /sbin/ldconfig +# Can be dropped on F27 EOL +%ldconfig_post libs %endif %if %{with embedded} -%post embedded -p /sbin/ldconfig +# Can be dropped on F27 EOL +%ldconfig_post embedded %endif %if %{with galera} @@ -1227,11 +1229,13 @@ fi %endif %if %{with clibrary} -%postun libs -p /sbin/ldconfig +# Can be dropped on F27 EOL +%ldconfig_postun libs %endif %if %{with embedded} -%postun embedded -p /sbin/ldconfig +# Can be dropped on F27 EOL +%ldconfig_postun embedded %endif %if %{with galera} From b75aea1dab06d02f16d47fdadd01ca1ce78af99f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 8 Feb 2018 00:57:05 +0000 Subject: [PATCH 468/789] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 33a1b44..d08d52b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -141,7 +141,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 5%{?with_debug:.debug}%{?dist} +Release: 6%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1630,6 +1630,9 @@ fi %endif %changelog +* Thu Feb 08 2018 Fedora Release Engineering - 3:10.2.12-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Fri Jan 26 2018 Michal Schorm - 3:10.2.12-5 - Use '-ldl' compiler flag when associated library used Resolves: #1538990 From 538105c8fd7d90615d3be94cd3c048ca37fca014 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 9 Feb 2018 14:39:47 +0100 Subject: [PATCH 469/789] Add comment --- mariadb.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index d08d52b..7271dc7 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -158,6 +158,8 @@ Source7: README.mysql-license Source10: mysql.tmpfiles.d.in Source11: mysql.service.in Source12: mysql-prepare-db-dir.sh +# This script is needed in case of start with SysV init. +# On Systemd environments service "type=notify" should be used instead Source13: mysql-wait-ready.sh Source14: mysql-check-socket.sh Source15: mysql-scripts-common.sh From 5fe00622cb6671986d8baadb4bdf9799364fb463 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 18 Feb 2018 20:12:10 +0100 Subject: [PATCH 470/789] Use -DINSTALL_MYSQLTESTDIR Cmake argument correctly; https://jira.mariadb.org/browse/MDEV-14972 --- mariadb.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 7271dc7..3f9cde9 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -835,7 +835,7 @@ export LDFLAGS -DINSTALL_LIBDIR="%{_lib}" \ -DINSTALL_MANDIR=share/man \ -DINSTALL_MYSQLSHAREDIR=share/%{pkg_name} \ - -DINSTALL_MYSQLTESTDIR=share/mysql-test \ + -DINSTALL_MYSQLTESTDIR=%{?with_test:share/mysql-test}%{!?with_test:} \ -DINSTALL_PLUGINDIR="%{_lib}/%{pkg_name}/plugin" \ -DINSTALL_SBINDIR=libexec \ -DINSTALL_SCRIPTDIR=bin \ @@ -967,12 +967,13 @@ install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp %endif +%if %{with test} # mysql-test includes one executable that doesn't belong under /usr/share, so move it and provide a symlink 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 # Provide symlink expected by RH QA tests ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list - +%endif # Client that uses libmysqld embedded server. @@ -1125,10 +1126,9 @@ rm -r %{buildroot}%{_datadir}/sql-bench rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded} rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1* %endif # embedded -rm %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process,mysqltest} +rm %{buildroot}%{_bindir}/{mysql_client_test,mysqltest} rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1* rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1* -rm -r %{buildroot}%{_datadir}/mysql-test %endif # test %if %{without galera} From abdf8da01ae714fc2d5639013461bb950475293b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 18 Feb 2018 20:12:10 +0100 Subject: [PATCH 471/789] Use -DINSTALL_MYSQLTESTDIR Cmake argument correctly; https://jira.mariadb.org/browse/MDEV-14972 --- mariadb.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 32ad6d6..1fc9213 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -831,7 +831,7 @@ export LDFLAGS -DINSTALL_LIBDIR="%{_lib}" \ -DINSTALL_MANDIR=share/man \ -DINSTALL_MYSQLSHAREDIR=share/%{pkg_name} \ - -DINSTALL_MYSQLTESTDIR=share/mysql-test \ + -DINSTALL_MYSQLTESTDIR=%{?with_test:share/mysql-test}%{!?with_test:} \ -DINSTALL_PLUGINDIR="%{_lib}/%{pkg_name}/plugin" \ -DINSTALL_SBINDIR=libexec \ -DINSTALL_SCRIPTDIR=bin \ @@ -963,12 +963,13 @@ install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp %endif +%if %{with test} # mysql-test includes one executable that doesn't belong under /usr/share, so move it and provide a symlink 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 # Provide symlink expected by RH QA tests ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list - +%endif # Client that uses libmysqld embedded server. @@ -1121,10 +1122,9 @@ rm -r %{buildroot}%{_datadir}/sql-bench rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded} rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1* %endif # embedded -rm %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process,mysqltest} +rm %{buildroot}%{_bindir}/{mysql_client_test,mysqltest} rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1* rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1* -rm -r %{buildroot}%{_datadir}/mysql-test %endif # test %if %{without galera} From c34f1617838742cf534e6946f077fef5291e9aa6 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 25 Feb 2018 02:36:23 +0100 Subject: [PATCH 472/789] Prefer MariaDB over MySQL in DNF package resolution --- mariadb.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/mariadb.spec b/mariadb.spec index 3f9cde9..7b159de 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -400,6 +400,7 @@ Summary: The MariaDB server and related files %if %{with mysql_names} Requires: mysql-compat-client%{?_isa} Requires: mysql%{?_isa} +Recommends: %{name}%{?_isa} %else Requires: %{name}%{?_isa} %endif From 76677bb0ec1ad0c447c4b1d307ff2fb74b3bf088 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 25 Feb 2018 02:39:07 +0100 Subject: [PATCH 473/789] Remove hardening if-clauses. Do the hardening always. Use upstream -DSECURITY_HARDENED=ON which will eanable -pie and -Wl,-z,relro,-z,now, but also -fstack-protector and -D_FORTIFY_SOURCE=2 --- mariadb.spec | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 7b159de..0b2035a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -12,10 +12,6 @@ %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}} -# Use Full RELRO for all binaries (RHBZ#1092548) -# Deafult since F23 https://fedoraproject.org/wiki/Changes/Harden_All_Packages -%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 @@ -31,9 +27,6 @@ # https://mariadb.com/kb/en/library/myrocks-supported-platforms/ # RocksB engine is available only for x86_64 %ifarch x86_64 -# Disable TokuDB since 10.1.12 on F>=28 -# It will either "freeze" the testsuite (probabbly stuck in some loop) or ~500 TokuDB tests will fail -# This issue is probabbly caused by updates in Fedora Rwahide (F28) KOJI - like a new GCC and many build tools updates %bcond_without tokudb %bcond_without mroonga %bcond_without rocksdb @@ -806,13 +799,6 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` CXXFLAGS="$CFLAGS" export CFLAGS CXXFLAGS -%if 0%{?_hardened_build} -# building with PIE -LDFLAGS="$LDFLAGS -pie -Wl,-z,relro,-z,now" -export LDFLAGS -# Simmilar flags provides MariaDB itself: -DSECURITY_HARDENED=ON -# will elanble -pie and -Wl,-z,relro,-z,now, but also -fstack-protector and -D_FORTIFY_SOURCE=2 -%endif # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. @@ -847,7 +833,7 @@ export LDFLAGS -DTMPDIR=/var/tmp \ -DENABLED_LOCAL_INFILE=ON \ -DENABLE_DTRACE=ON \ - -DSECURITY_HARDENED=%{?hardened_build:ON}%{!?hardened_build:OFF} \ + -DSECURITY_HARDENED=ON \ -DWITH_EMBEDDED_SERVER=%{?with_embedded:ON}%{!?with_embedded:OFF} \ -DWITH_MARIABACKUP=%{?with_backup:ON}%{!?with_backup:NO} \ -DWITH_UNIT_TESTS=%{?with_test:ON}%{!?with_test:NO} \ @@ -864,8 +850,7 @@ export LDFLAGS -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ -DCONNECT_WITH_MONGO=OFF \ -DCONNECT_WITH_JDBC=OFF \ -%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \ -%{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} +%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} # Print all Cmake options values cmake -L From 094243a05a8bd278f12d946f2de39a2364b4b842 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 25 Feb 2018 11:47:21 +0100 Subject: [PATCH 474/789] Release bump for rebuild --- mariadb.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 0b2035a..e55d6af 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -134,7 +134,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 6%{?with_debug:.debug}%{?dist} +Release: 7%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1618,6 +1618,10 @@ fi %endif %changelog +* Sun Feb 25 2018 Michal Schorm - 3:10.2.12-7 +- Rebuilt for ldconfig_post and ldconfig_postun bug + Related: #1548331 + * Thu Feb 08 2018 Fedora Release Engineering - 3:10.2.12-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild From fd1545682aef32e78af7790ed1c087920df4bb6a Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 26 Feb 2018 16:12:02 +0100 Subject: [PATCH 475/789] SPECfile refresh, RHEL6, SySV init and old fedora stuff removed --- mariadb-scripts.patch | 4 +- mariadb.spec | 117 +++++--------------------- mysql-wait-ready.sh | 45 ---------- mysql.init.in | 186 ------------------------------------------ 4 files changed, 20 insertions(+), 332 deletions(-) delete mode 100644 mysql-wait-ready.sh delete mode 100644 mysql.init.in diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index d12c402..fce33f6 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -4,7 +4,7 @@ be expanded by cmake. Cmake needs to know about them, so adding them manually. diff -up mariadb-10.2.8/scripts/CMakeLists.txt.p7 mariadb-10.2.8/scripts/CMakeLists.txt --- mariadb-10.2.8/scripts/CMakeLists.txt.p7 2017-08-20 13:26:10.640779557 +0200 +++ mariadb-10.2.8/scripts/CMakeLists.txt 2017-08-20 13:27:05.774925486 +0200 -@@ -338,6 +338,35 @@ ELSE() +@@ -338,6 +338,33 @@ ELSE() ) ENDFOREACH() @@ -14,14 +14,12 @@ diff -up mariadb-10.2.8/scripts/CMakeLists.txt.p7 mariadb-10.2.8/scripts/CMakeLi + mysql.service + mysql@.service + mysql-prepare-db-dir -+ mysql-wait-ready + mysql-check-socket + mysql-check-upgrade + mysql-scripts-common + mysql_config_multilib + clustercheck + galera_new_cluster -+ mysql.init + my.cnf + ) + FOREACH(file ${SYSTEMD_SCRIPTS}) diff --git a/mariadb.spec b/mariadb.spec index e55d6af..6005829 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -70,50 +70,34 @@ -# Include files for SysV init or systemd -%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 -%bcond_without init_systemd -%bcond_with init_sysv -%global daemon_name %{name} -%global daemondir %{_unitdir} -%global daemon_no_prefix %{pkg_name} -%global mysqld_pid_dir mariadb -%else -%bcond_with init_systemd -%bcond_without init_sysv -%global daemon_name mysqld -%global daemondir %{_sysconfdir}/rc.d/init.d -%global daemon_no_prefix mysqld -%endif - # MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use # the bundled library, since the package cannot be build with older version -%if 0%{?fedora} >= 21 || 0%{?rhel} > 7 +%if 0%{?fedora} || 0%{?rhel} > 7 %bcond_without bundled_pcre %else %bcond_with bundled_pcre %global pcre_bundled_version 8.41 %endif +# Include systemd files +%global daemon_name %{name} +%global daemondir %{_unitdir} +%global daemon_no_prefix %{pkg_name} +%global mysqld_pid_dir mariadb + # We define some system's well known locations here so we can use them easily # later when building to another location (like SCL) %global logrotateddir %{_sysconfdir}/logrotate.d %global logfiledir %{_localstatedir}/log/%{daemon_name} %global logfile %{logfiledir}/%{daemon_name}.log - # Directory for storing pid file -%if 0%{?rhel} == 6 -%global pidfiledir %{_localstatedir}/run/%{daemon_name} -%else #RHEL 6 %global pidfiledir %{_rundir}/%{mysqld_pid_dir} -%endif - # Defining where database data live %global dbdatadir %{_localstatedir}/lib/mysql - # Home directory of mysql user should be same for all packages that create it %global mysqluserhome /var/lib/mysql + # The evr of mysql we want to obsolete %global obsoleted_mysql_evr 5.6-0 %global obsoleted_mysql_case_evr 5.5.30-5 @@ -134,7 +118,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 7%{?with_debug:.debug}%{?dist} +Release: 8%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -151,14 +135,10 @@ Source7: README.mysql-license Source10: mysql.tmpfiles.d.in Source11: mysql.service.in Source12: mysql-prepare-db-dir.sh -# This script is needed in case of start with SysV init. -# On Systemd environments service "type=notify" should be used instead -Source13: mysql-wait-ready.sh Source14: mysql-check-socket.sh Source15: mysql-scripts-common.sh Source16: mysql-check-upgrade.sh Source18: mysql@.service.in -Source19: mysql.init.in Source50: rh-skipped-tests-base.list Source51: rh-skipped-tests-arm.list Source52: rh-skipped-tests-s390.list @@ -191,6 +171,7 @@ BuildRequires: cmake gcc-c++ BuildRequires: zlib-devel BuildRequires: multilib-rpm-config BuildRequires: selinux-policy-devel +BuildRequires: systemd systemd-devel # TokuDB and some core stuff BuildRequires: jemalloc-devel @@ -203,7 +184,6 @@ BuildRequires: libedit-devel BuildRequires: ncurses-devel # debugging stuff BuildRequires: systemtap-sdt-devel -%{?with_init_systemd:BuildRequires: systemd systemd-devel} # Bison SQL parser BuildRequires: bison bison-devel @@ -213,7 +193,7 @@ BuildRequires: pam-devel %{?with_bundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf} %{!?with_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}} # Few utilities needs Perl -%if 0%{?fedora} >= 22 || 0%{?rhel} > 7 +%if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: perl-interpreter BuildRequires: perl-generators %endif @@ -270,14 +250,8 @@ Provides: mariadb-galera = %{sameevr} Obsoletes: mariadb-galera < %{obsoleted_mariadb_galera_evr} # Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering -%if 0%{?fedora} > 14 || 0%{?rhel} > 6 %global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) %global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\\.so)$ -%else -%filter_from_requires /perl(\(hostnames\|lib::mtr\|lib::v1\|mtr_\|My::\)/d -%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\.so) -%filter_setup -%endif # Define license macro if not present %{!?_licensedir:%global license %doc} @@ -419,15 +393,10 @@ Requires(pre): /usr/sbin/useradd # Bison SQL parser # WHY?? (testsuite??) Requires: bison - -%if %{with init_systemd} # We require this to be present for %%{_tmpfilesdir} Requires: systemd # Make sure it's there when scriptlets run, too -Requires(pre): systemd -Requires(posttrans): systemd -%{?systemd_requires: %systemd_requires} -%endif +%{?systemd_requires} # RHBZ#1496131; use 'iproute' instead of 'net-tools' Requires: iproute %if %{with mysql_names} @@ -724,18 +693,13 @@ cat %{SOURCE52} | tee -a mysql-test/unstable-tests cat %{SOURCE53} | tee -a mysql-test/unstable-tests %endif -cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ - %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE18} %{SOURCE19} \ - %{SOURCE70} scripts +cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ + %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE18} %{SOURCE70} scripts %if %{with galera} # prepare selinux policy mkdir selinux sed 's/mariadb-server-galera/%{name}-server-galera/' %{SOURCE72} > selinux/%{name}-server-galera.te -%if 0%{?rhel} == 6 -sed -i 's/kerberos_port_t/kerberos_master_port_t/' selinux/%{name}-server-galera.te -%endif -cat selinux/%{name}-server-galera.te %endif @@ -923,7 +887,6 @@ mv %{buildroot}/usr/lib/sysusers.d/sysusers.conf %{buildroot}/usr/lib/sysusers.d rm %{buildroot}%{_sysconfdir}/init.d/mysql rm %{buildroot}%{_libexecdir}/rcmysql # install systemd unit files and scripts for handling server startup -%if %{with init_systemd} install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service # Remove the upstream version @@ -933,20 +896,12 @@ install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{nam %if 0%{?mysqld_pid_dir:1} echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf %endif #pid -%endif #systemd -# install SysV init script -%if %{with init_sysv} -install -D -p -m 755 scripts/mysql.init %{buildroot}%{daemondir}/%{daemon_name} -%endif # helper scripts for service starting install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common -%if %{with init_sysv} -install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready -%endif # install aditional galera selinux policy %if %{with galera} @@ -1004,10 +959,6 @@ install -p -m 0644 support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/g mkdir -p %{buildroot}%{_sysconfdir}/sysconfig touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck -# install the galera_new_cluster script anyway -%if %{without init_systemd} -install -p -m 0755 scripts/galera_new_cluster %{buildroot}%{_bindir}/galera_new_cluster -%endif # remove duplicate logrotate script rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql @@ -1121,11 +1072,9 @@ rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1* rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf rm %{buildroot}%{_sysconfdir}/sysconfig/clustercheck rm %{buildroot}%{_bindir}/{clustercheck,galera_new_cluster} -%if %{with init_systemd} rm %{buildroot}%{_bindir}/galera_recovery rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %endif -%endif @@ -1198,25 +1147,10 @@ semodule -i %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp >/dev/ %endif %post server -%if %{with init_systemd} %systemd_post %{daemon_name}.service -%endif -%if %{with init_sysv} -if [ $1 = 1 ]; then - /sbin/chkconfig --add %{daemon_name} -fi -%endif %preun server -%if %{with init_systemd} %systemd_preun %{daemon_name}.service -%endif -%if %{with init_sysv} -if [ $1 = 0 ]; then - /sbin/service %{daemon_name} stop >/dev/null 2>&1 - /sbin/chkconfig --del %{daemon_name} -fi -%endif %if %{with clibrary} # Can be dropped on F27 EOL @@ -1236,14 +1170,7 @@ fi %endif %postun server -%if %{with init_systemd} %systemd_postun_with_restart %{daemon_name}.service -%endif -%if %{with init_sysv} -if [ $1 -ge 1 ]; then - /sbin/service %{daemon_name} condrestart >/dev/null 2>&1 || : -fi -%endif @@ -1341,10 +1268,8 @@ fi %license LICENSE.clustercheck %{_bindir}/clustercheck %{_bindir}/galera_new_cluster -%if %{with init_systemd} %{_bindir}/galera_recovery %{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf -%endif %config(noreplace) %{_sysconfdir}/my.cnf.d/galera.cnf %attr(0640,root,root) %ghost %config(noreplace) %{_sysconfdir}/sysconfig/clustercheck %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp @@ -1358,9 +1283,7 @@ fi %{_bindir}/aria_ftdump %{_bindir}/aria_pack %{_bindir}/aria_read_log -%if %{with init_systemd} %{_bindir}/mariadb-service-convert -%endif %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog @@ -1464,24 +1387,19 @@ fi %{_datadir}/%{pkg_name}/policy/selinux/README %{_datadir}/%{pkg_name}/policy/selinux/mariadb-server.* %{_datadir}/%{pkg_name}/policy/selinux/mariadb.* -%if %{with init_systemd} %{_datadir}/%{pkg_name}/systemd/mariadb.service # mariadb@ is installed only when we have cmake newer than 3.3 -%if 0%{?fedora} > 22 || 0%{?rhel} > 7 +%if 0%{?fedora} || 0%{?rhel} > 7 %{_datadir}/%{pkg_name}/systemd/mariadb@.service %endif -%endif %{daemondir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir %{_libexecdir}/mysql-check-socket %{_libexecdir}/mysql-check-upgrade %{_libexecdir}/mysql-scripts-common -%if %{with init_sysv} -%{_libexecdir}/mysql-wait-ready -%endif -%{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} +%{_tmpfilesdir}/%{name}.conf %attr(0755,mysql,mysql) %dir %{pidfiledir} %attr(0755,mysql,mysql) %dir %{dbdatadir} %attr(0750,mysql,mysql) %dir %{logfiledir} @@ -1618,6 +1536,9 @@ fi %endif %changelog +* Mon Feb 26 2018 Michal Schorm - 3:10.2.12-8 +- SPECfile refresh, RHEL6, SySV init and old fedora stuff removed + * Sun Feb 25 2018 Michal Schorm - 3:10.2.12-7 - Rebuilt for ldconfig_post and ldconfig_postun bug Related: #1548331 diff --git a/mysql-wait-ready.sh b/mysql-wait-ready.sh deleted file mode 100644 index 2ed5fe1..0000000 --- a/mysql-wait-ready.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh - -source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" - -# This script waits for mysqld to be ready to accept connections -# (which can be many seconds or even minutes after launch, if there's -# a lot of crash-recovery work to do). -# Running this as ExecStartPost is useful so that services declared as -# "After mysqld" won't be started until the database is really ready. - -if [ $# -ne 1 ] ; then - echo "You need to pass daemon pid as an argument for this script." - exit 20 -fi - -# Service file passes us the daemon's PID (actually, mysqld_safe's PID) -daemon_pid="$1" - -# Wait for the server to come up or for the mysqld process to disappear -ret=0 -while /bin/true; do - # Check process still exists - if ! [ -d "/proc/${daemon_pid}" ] ; then - ret=1 - break - fi - RESPONSE=`@bindir@/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` - mret=$? - if [ $mret -eq 0 ] ; then - break - fi - # exit codes 1, 11 (EXIT_CANNOT_CONNECT_TO_SERVICE) are expected, - # anything else suggests a configuration error - if [ $mret -ne 1 -a $mret -ne 11 ]; then - echo "Cannot check for @NICE_PROJECT_NAME@ Daemon startup because of mysqladmin failure." >&2 - ret=$mret - break - fi - # "Access denied" also means the server is alive - echo "$RESPONSE" | grep -q "Access denied for user" && break - - sleep 1 -done - -exit $ret diff --git a/mysql.init.in b/mysql.init.in deleted file mode 100644 index 0282399..0000000 --- a/mysql.init.in +++ /dev/null @@ -1,186 +0,0 @@ -#!/bin/sh -# -# @DAEMON_NAME@ This shell script takes care of starting and stopping -# the MySQL subsystem (mysqld). -# -# chkconfig: - 64 36 -# description: MySQL database server. -# processname: mysqld -# config: @sysconfdir@/my.cnf -# pidfile: /var/run/@DAEMON_NAME@/@DAEMON_NO_PREFIX@.pid -### BEGIN INIT INFO -# Provides: mysqld -# Required-Start: $local_fs $remote_fs $network $named $syslog $time -# Required-Stop: $local_fs $remote_fs $network $named $syslog $time -# Short-Description: start and stop MySQL server -# Description: MySQL database server -### END INIT INFO - -# Source function library. -. /etc/rc.d/init.d/functions - -# Source networking configuration. -. /etc/sysconfig/network - - -exec="@bindir@/mysqld_safe" -prog="@DAEMON_NAME@" - -# Set timeouts here so they can be overridden from @sysconfdir@/sysconfig/@DAEMON_NO_PREFIX@ -STARTTIMEOUT=300 -STOPTIMEOUT=60 - -# User and group the daemon will run under -MYUSER=mysql -MYGROUP=mysql - -# Edit the following file in order to re-write some of the environment -# variables defined above, like $STARTTIMEOUT, $STOPTIMEOUT, $exec -[ -e @sysconfdir@/sysconfig/@DAEMON_NO_PREFIX@ ] && . @sysconfdir@/sysconfig/@DAEMON_NO_PREFIX@ - -lockfile=/var/lock/subsys/$prog - -# get options from my.cnf -source "@libexecdir@/mysql-scripts-common" - -start(){ - [ -x $exec ] || exit 5 - - # check permissions - if ! touch $(dirname $socketfile) &>/dev/null ; then - action $"Starting $prog: " /bin/false - return 4 - fi - - # check to see if it's already running - MYSQLDRUNNING=0 - if [ -f "$pidfile" ]; then - MYSQLPID=`cat "$pidfile" 2>/dev/null` - if [ -n "$MYSQLPID" ] && [ -d "/proc/$MYSQLPID" ] ; then - MYSQLDRUNNING=1 - fi - fi - RESPONSE=`@bindir@/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` - if [ $MYSQLDRUNNING = 1 ] && [ $? = 0 ]; then - # already running, do nothing - action $"Starting $prog: " /bin/true - ret=0 - elif [ $MYSQLDRUNNING = 1 ] && echo "$RESPONSE" | grep -q "Access denied for user" - then - # already running, do nothing - action $"Starting $prog: " /bin/true - ret=0 - else - @libexecdir@/mysql-check-socket >/dev/null || return 1 - su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP" >/dev/null || return 4 - - # Pass all the options determined above, to ensure consistent behavior. - # In many cases mysqld_safe would arrive at the same conclusions anyway - # but we need to be sure. (An exception is that we don't force the - # log-error setting, since this script doesn't really depend on that, - # and some users might prefer to configure logging to syslog.) - # Note: set --basedir to prevent probes that might trigger SELinux - # alarms, per bug #547485 - su - $MYUSER -s /bin/bash -c "$exec --datadir='$datadir' --socket='$socketfile' \ - --pid-file='$pidfile' $MYSQLD_OPTS $_WSREP_NEW_CLUSTER \ - --basedir=@prefix@ --user=$MYUSER" >/dev/null 2>&1 & - safe_pid=$! - - # Wait until the daemon is up - su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-wait-ready '$safe_pid'" - ret=$? - - if [ $ret -eq 0 ]; then - action $"Starting $prog: " /bin/true - chmod o+r $pidfile >/dev/null 2>&1 - touch $lockfile - else - action $"Starting $prog: " /bin/false - fi - fi - return $ret -} - -stop(){ - if [ ! -f "$pidfile" ]; then - # not running; per LSB standards this is "ok" - action $"Stopping $prog: " /bin/true - return 0 - fi - MYSQLPID=`cat "$pidfile" 2>/dev/null` - if [ -n "$MYSQLPID" ]; then - if ! [ -d "/proc/$MYSQLPID" ] ; then - # process doesn't run anymore - action $"Stopping $prog: " /bin/true - return 0 - fi - /bin/kill "$MYSQLPID" >/dev/null 2>&1 - ret=$? - if [ $ret -eq 0 ]; then - TIMEOUT="$STOPTIMEOUT" - while [ $TIMEOUT -gt 0 ]; do - /bin/kill -0 "$MYSQLPID" >/dev/null 2>&1 || break - sleep 1 - let TIMEOUT=${TIMEOUT}-1 - done - if [ $TIMEOUT -eq 0 ]; then - echo "Timeout error occurred trying to stop MySQL Daemon." - ret=1 - action $"Stopping $prog: " /bin/false - else - rm -f $lockfile - rm -f "$socketfile" - action $"Stopping $prog: " /bin/true - fi - else - # kill command failed, probably insufficient permissions - action $"Stopping $prog: " /bin/false - ret=4 - fi - else - # failed to read pidfile, probably insufficient permissions - action $"Stopping $prog: " /bin/false - ret=4 - fi - return $ret -} - -restart(){ - stop - start -} - -condrestart(){ - [ -e $lockfile ] && restart || : -} - - -# See how we were called. -case "$1" in - start) - start - ;; - stop) - stop - ;; - status) - status -p "$pidfile" $prog - ;; - restart) - restart - ;; - condrestart|try-restart) - condrestart - ;; - reload) - exit 3 - ;; - force-reload) - restart - ;; - *) - echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" - exit 2 -esac - -exit $? From 994a33ffe044248563a565479613a52709450c61 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 28 Feb 2018 10:29:46 +0100 Subject: [PATCH 476/789] Add condition for the client library component --- mariadb.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index 6005829..991cbb1 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -49,7 +49,11 @@ %{!?_with_sphinx: %{!?_without_sphinx: %bcond_without sphinx}} # For some use cases we do not need some parts of the package. Set to "...with" to exclude +%if 0%{?fedora} >= 28 || 0%{?rhel} > 7 %bcond_with clibrary +%else +%bcond_without clibrary +%endif %bcond_without embedded %bcond_without devel %bcond_without client From f805d55b336c05aaff31a7f4c56183a76a0e7cc2 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 1 Mar 2018 15:41:44 +0100 Subject: [PATCH 477/789] Add the first test for the Fedora CI --- tests/basic_service/Makefile | 62 +++++++++++++++++++++++++++++ tests/basic_service/PURPOSE | 3 ++ tests/basic_service/runtest.sh | 72 ++++++++++++++++++++++++++++++++++ tests/tests.yml | 30 ++++++++++++++ 4 files changed, 167 insertions(+) create mode 100644 tests/basic_service/Makefile create mode 100644 tests/basic_service/PURPOSE create mode 100755 tests/basic_service/runtest.sh create mode 100644 tests/tests.yml diff --git a/tests/basic_service/Makefile b/tests/basic_service/Makefile new file mode 100644 index 0000000..838ac65 --- /dev/null +++ b/tests/basic_service/Makefile @@ -0,0 +1,62 @@ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Makefile of /CoreOS/tests/Sanity/basic_service +# Description: The very basic service testing +# Author: Michal Schorm +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2018 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +export TEST=basic_service +export TESTVERSION=1.0 + +BUILT_FILES= + +FILES=$(METADATA) runtest.sh Makefile PURPOSE + +.PHONY: all install download clean + +run: $(FILES) build + ./runtest.sh + +build: $(BUILT_FILES) + test -x runtest.sh || chmod a+x runtest.sh + +clean: + rm -f *~ $(BUILT_FILES) + + +include /usr/share/rhts/lib/rhts-make.include + +$(METADATA): Makefile + @echo "Owner: Michal Schorm " > $(METADATA) + @echo "Name: $(TEST)" >> $(METADATA) + @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) + @echo "Path: $(TEST_DIR)" >> $(METADATA) + @echo "Description: The very basic service testing" >> $(METADATA) + @echo "Type: Sanity" >> $(METADATA) + @echo "TestTime: 5m" >> $(METADATA) + @echo "RunFor: mariadb" >> $(METADATA) + @echo "Requires: mariadb" >> $(METADATA) + @echo "Priority: Normal" >> $(METADATA) + @echo "License: GPLv2+" >> $(METADATA) + @echo "Confidential: no" >> $(METADATA) + @echo "Destructive: no" >> $(METADATA) + + rhts-lint $(METADATA) diff --git a/tests/basic_service/PURPOSE b/tests/basic_service/PURPOSE new file mode 100644 index 0000000..2f49e4c --- /dev/null +++ b/tests/basic_service/PURPOSE @@ -0,0 +1,3 @@ +PURPOSE of basic_service +Description: The very basic service testing +Author: Michal Schorm diff --git a/tests/basic_service/runtest.sh b/tests/basic_service/runtest.sh new file mode 100755 index 0000000..c4b0a17 --- /dev/null +++ b/tests/basic_service/runtest.sh @@ -0,0 +1,72 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of basic_service +# Description: The very basic service testing +# Author: Michal Schorm +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2018 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/bin/rhts-environment.sh || exit 1 +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="mariadb" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "systemctl stop mariadb" + rlRun "pushd $TmpDir" + rlPhaseEnd + + + + rlPhaseStartTest + rlRun "systemctl -q status mariadb" 3 "Test status of dead service" + rlRun "systemctl -q start mariadb" 0 "Start mariadb service" + rlRun "systemctl -q status mariadb" 0 "Test status of running mariadb service" + rlPhaseEnd + + rlPhaseStartTest + rlRun "systemctl -q restart mariadb" 0 "Restart running mariadb service" + rlRun "systemctl -q status mariadb" 0 "Test status of running mariadb service" + rlPhaseEnd + + rlPhaseStartTest + rlRun "systemctl -q stop mariadb" 0 "Stop mariadb service" + rlRun "systemctl -q status mariadb" 3 "Test status of dead mariadb service" + rlPhaseEnd + + rlPhaseStartTest + rlRun "systemctl -q start mariadb" 0 "Start mariadb service" + rlRun "systemctl -q status mariadb" 0 "Test status of running mariadb service" + rlPhaseEnd + + + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..c2139ea --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,30 @@ +--- + +# -------------------------------------------------- +# This is an experiment with Fedora CI +# +# Refer to: +# https://fedoraproject.org/wiki/CI/Tests +# +# TL;DR you have to, as root: +# 1) # dnf install ansible python2-dnf libselinux-python standard-test-roles +# 2) install the packages to be tested +# 3) # ansible-playbook tests.yml +# +# Warning !! +# DO NOT run it on a machine that SHOULD NOT be destroyed. +# +# -------------------------------------------------- + +# Tests that run in classic context +- hosts: localhost + roles: + - role: standard-test-beakerlib + tags: + - classic + tests: + - basic_service + required_packages: + - mariadb + + From 7195667067e96a3b8244b107b098a1e3f9e92e7f Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 1 Mar 2018 22:24:40 +0100 Subject: [PATCH 478/789] Rebase to 10.2.13 version Update lists of failing tests --- mariadb-recovery.patch | 16 ----------- mariadb.spec | 10 ++++--- rh-skipped-tests-base.list | 11 ++++++++ rh-skipped-tests-ppc.list | 55 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 72 insertions(+), 20 deletions(-) delete mode 100644 mariadb-recovery.patch diff --git a/mariadb-recovery.patch b/mariadb-recovery.patch deleted file mode 100644 index 2443a45..0000000 --- a/mariadb-recovery.patch +++ /dev/null @@ -1,16 +0,0 @@ -Wrong path used for mysqld - -rhbz: #1403416 - -diff -Naurp mariadb-10.2.9/scripts/galera_recovery.sh mariadb-10.2.9/scripts/galera_recovery.sh_patched ---- mariadb-10.2.9/scripts/galera_recovery.sh 2017-09-25 08:33:25.000000000 +0200 -+++ mariadb-10.2.9/scripts/galera_recovery.sh_patched 2017-09-28 09:58:54.242618594 +0200 -@@ -68,7 +68,7 @@ parse_arguments() { - - wsrep_recover_position() { - # Redirect server's error log to the log file. -- eval /usr/sbin/mysqld $cmdline_args --user=$user --wsrep_recover \ -+ eval @libexecdir@/mysqld $cmdline_args --user=$user --wsrep_recover \ - --disable-log-error 2> "$log_file" - ret=$? - if [ $ret -ne 0 ]; then diff --git a/mariadb.spec b/mariadb.spec index 991cbb1..bfa70e7 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -118,11 +118,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.2 -%global bugfixver 12 +%global bugfixver 13 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 8%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -169,7 +169,6 @@ Patch37: %{pkgnamepatch}-notestdb.patch # Patches for galera Patch40: %{pkgnamepatch}-galera.cnf.patch -Patch43: %{pkgnamepatch}-recovery.patch BuildRequires: cmake gcc-c++ BuildRequires: zlib-devel @@ -676,7 +675,6 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \; %patch9 -p1 %patch37 -p1 %patch40 -p1 -%patch43 -p1 # workaround for upstream bug #56342 rm mysql-test/t/ssl_8k_key-master.opt @@ -1432,6 +1430,7 @@ fi %if %{with rocksdb} %files rocksdb-engine %config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf +%{_bindir}/myrocks_hotbackup %{_bindir}/mysql_ldb %{_bindir}/sst_dump %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so @@ -1540,6 +1539,9 @@ fi %endif %changelog +* Thu Mar 1 2018 Michal Schorm - 3:10.2.13-1 +- Rebase to 10.2.13 + * Mon Feb 26 2018 Michal Schorm - 3:10.2.12-8 - SPECfile refresh, RHEL6, SySV init and old fedora stuff removed diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 11d5a9b..5859a1d 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -56,3 +56,14 @@ spider.function : spider.ha : spider.ha_part : spider.vp_fixes : + +# 10.2.12 and 10.2.13 after some unidentified change in Rawhide buildroot +mroonga/storage.index_multiple_column_range_all_used_less_than : +mroonga/storage.index_multiple_column_range_all_used_less_than_or_equal : +mroonga/storage.index_multiple_column_range_partially_used_have_prefix_less_than : +mroonga/storage.index_multiple_column_range_partially_used_have_prefix_less_than_or_equal : +mroonga/storage.index_multiple_column_range_partially_used_no_prefix_less_than : +mroonga/storage.index_multiple_column_range_partially_used_no_prefix_less_than_or_equal : +mroonga/storage.optimization_order_limit_optimized_datetime_less_than : +mroonga/storage.optimization_order_limit_optimized_datetime_less_than_or_equal : + diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index 5fc204e..a62648c 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -4,3 +4,58 @@ innodb_fts.fulltext : innodb.innodb_defrag_concurrent : parts.partition_alter1_2_innodb : +# 10.2.12 & 10.2.13 after some uninedtified Rawhide (and the forked f28) buildroot change +# failed: 1045: Access denied for user '.....'@'localhost' (using password: YES) +binlog_encryption.encrypted_slave : +rpl.rpl_create_drop_user : +rpl.rpl_do_grant : +rpl.rpl_temporary : +main.connect : +main.events_bugs : +main.mysql_client_test : +main.mysql_upgrade-6984 : +innodb.innodb_defragment : +innodb.innodb_defrag_stats : +main.mysql_upgrade : +innodb.temporary_table_optimization : +main.plugin_auth : +funcs_1.innodb_trig_03 : +funcs_1.innodb_trig_03e : +funcs_1.innodb_trig_0407 : +funcs_1.innodb_trig_08 : +innodb.innodb_bug34053 : +main.select_pkeycache : +main.mysql_client_test_comp : +main.plugin_auth_qa_1 : +sys_vars.secure_auth_func : +funcs_1.memory_trig_03 : +funcs_1.memory_trig_03e : +funcs_1.memory_trig_0407 : +funcs_1.memory_trig_08 : +funcs_1.myisam_trig_03 : +funcs_1.myisam_trig_03e : +funcs_1.myisam_trig_0407 : +funcs_1.myisam_trig_08 : +funcs_1.processlist_priv_no_prot : +funcs_1.processlist_val_no_prot : +main.change_user : +main.grant : +main.grant2 : +main.lowercase_fs_off : +main.ps_grant : +main.select : +main.select_jcl6 : +main.set_password_plugin-9835 : +main.show_grants_with_plugin-7985 : +main.sp-security : +main.sp_notembedded : +main.type_float : +main.type_newdecimal : +main.type_ranges : +main.userstat-badlogin-4824 : +main.view_grant : +plugins.auth_ed25519 : +roles.grant_role_auto_create_user : +sys_vars.old_passwords_func : +unit.conc_connection : +unit.ed25519 : From baf63a182e643702be1d32cfee4e9c4f5add6667 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 1 Mar 2018 23:22:13 +0100 Subject: [PATCH 479/789] New sources for 10.2.13 --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index dc9be41..0de4b83 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.2.12.tar.gz) = 8d3d3c84d4a01d6047e4f2b6802eb802e1f6a7b0e10e981c7ef9fdd27a5a25baab0af47a21b8637f4cbb9d21ef3bcc85097c5fdb8745c2a79040ab87fecb5a7b +SHA512 (mariadb-10.2.13.tar.gz) = 4c6038f134a32f50daa3172b367588240ef20a6f6cfe36d830e427cf52d315284481f5300d3db32d9e81ddd352dbea01fd4230f4e4d79e175d97c0c49331a4ca From 259d0513b2048af1159d2fdc603f314481618155 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 6 Mar 2018 16:11:37 +0100 Subject: [PATCH 480/789] Further fix of ldconfig scriptlets for F27 Fix hardcoded paths, move unversioned libraries and symlinks to the devel subpackage --- mariadb.spec | 37 ++++++++++++++----------------------- 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index bfa70e7..1b3f6b6 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -122,7 +122,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -883,7 +883,7 @@ rm scripts/my.cnf mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf # Rename sysusers and tmpfiles config files, they should be named after the software they belong to -mv %{buildroot}/usr/lib/sysusers.d/sysusers.conf %{buildroot}/usr/lib/sysusers.d/mariadb.conf +mv %{buildroot}%{_sysusersdir}/sysusers.conf %{buildroot}%{_sysusersdir}/%{name}.conf # remove SysV init script and a symlink to that, we pack our very own rm %{buildroot}%{_sysconfdir}/init.d/mysql @@ -892,7 +892,7 @@ rm %{buildroot}%{_libexecdir}/rcmysql install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service # Remove the upstream version -rm %{buildroot}/usr/lib/tmpfiles.d/tmpfiles.conf +rm %{buildroot}%{_tmpfilesdir}/tmpfiles.conf # Install downstream version install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?mysqld_pid_dir:1} @@ -1130,12 +1130,12 @@ export MTR_BUILD_THREAD=%{__isa_bits} %if %{with clibrary} # Can be dropped on F27 EOL -%ldconfig_post libs +%ldconfig_scriptlets libs %endif %if %{with embedded} # Can be dropped on F27 EOL -%ldconfig_post embedded +%ldconfig_scriptlets embedded %endif %if %{with galera} @@ -1154,16 +1154,6 @@ semodule -i %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp >/dev/ %preun server %systemd_preun %{daemon_name}.service -%if %{with clibrary} -# Can be dropped on F27 EOL -%ldconfig_postun libs -%endif - -%if %{with embedded} -# Can be dropped on F27 EOL -%ldconfig_postun embedded -%endif - %if %{with galera} %postun server-galera if [ $1 -eq 0 ]; then @@ -1210,7 +1200,6 @@ fi %if %{with clibrary} %files libs %{_libdir}/libmariadb.so.* -%{?with_devel:%{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so}} %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf %endif @@ -1401,19 +1390,16 @@ fi %{_libexecdir}/mysql-check-upgrade %{_libexecdir}/mysql-scripts-common -%{_tmpfilesdir}/%{name}.conf %attr(0755,mysql,mysql) %dir %{pidfiledir} %attr(0755,mysql,mysql) %dir %{dbdatadir} %attr(0750,mysql,mysql) %dir %{logfiledir} +# This does what it should. +# RPMLint error "conffile-without-noreplace-flag /var/log/mariadb/mariadb.log" is false positive. %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} -# New systemd feature - used to reconstruct damaged /etc -# https://github.com/MariaDB/server/commit/7bbc6c14d1 -%dir /usr/lib/sysusers.d -/usr/lib/sysusers.d/mariadb.conf -%dir /usr/lib/tmpfiles.d -/usr/lib/tmpfiles.d/mariadb.conf +%{_tmpfilesdir}/%{name}.conf +%{_sysusersdir}/%{name}.conf %if %{with cracklib} %files cracklib-password-check @@ -1497,6 +1483,7 @@ fi %{_datadir}/aclocal/mysql.m4 %{_libdir}/pkgconfig/mariadb.pc %if %{with clibrary} +%{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so} %{_bindir}/mysql_config* %{_bindir}/mariadb_config* %{_libdir}/libmariadb.so @@ -1539,6 +1526,10 @@ fi %endif %changelog +* Tue Mar 6 2018 Michal Schorm - 3:10.2.13-2 +- Further fix of ldconfig scriptlets for F27 +- Fix hardcoded paths, move unversioned libraries and symlinks to the devel subpackage + * Thu Mar 1 2018 Michal Schorm - 3:10.2.13-1 - Rebase to 10.2.13 From f900752655e82e6b01f36e8eeae04d2e257d5b41 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 11 Mar 2018 02:44:01 +0100 Subject: [PATCH 481/789] COPR: update for building in COPR --- mariadb.spec | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 1b3f6b6..96be6f5 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,7 +3,7 @@ %global pkgnamepatch mariadb # Regression tests may take a long time (many cores recommended), skip them by -%{!?runselftest:%global runselftest 1} +%{!?runselftest:%global runselftest 0} # Set this to 1 to see which tests fail, but 0 on production ready build %global ignore_testsuite_result 0 @@ -117,12 +117,12 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} -%global compatver 10.2 -%global bugfixver 13 +%global compatver 10.3 +%global bugfixver 5 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 1.COPR%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -986,7 +986,7 @@ rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1 %if %{without clibrary} rm %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf # Client library and links -rm %{buildroot}%{_libdir}/libmariadb*.so.* +rm %{buildroot}%{_libdir}/libmariadb.so.* unlink %{buildroot}%{_libdir}/libmysqlclient.so unlink %{buildroot}%{_libdir}/libmysqlclient_r.so unlink %{buildroot}%{_libdir}/libmariadb.so @@ -1370,7 +1370,6 @@ fi %doc %{_datadir}/groonga-normalizer-mysql/README.md %doc %{_datadir}/groonga/README.md %endif -%{_datadir}/%{pkg_name}/my-*.cnf %{_datadir}/%{pkg_name}/wsrep.cnf %{_datadir}/%{pkg_name}/wsrep_notify %dir %{_datadir}/%{pkg_name}/policy @@ -1496,10 +1495,11 @@ fi %if %{with embedded} %files embedded -%{_libdir}/libmysqld.so.* +%{_libdir}/libmariadbd.so.* %files embedded-devel %{_libdir}/libmysqld.so +%{_libdir}/libmariadbd.so %endif %if %{with bench} From 2f146cfc0018867f8a2992ee6e2bbf4a919e5e43 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 11 Mar 2018 03:06:18 +0100 Subject: [PATCH 482/789] COPR: update source url to fix source download --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 96be6f5..81e6482 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -130,7 +130,7 @@ URL: http://mariadb.org # Exceptions allow client libraries to be linked with most open source SW, not only GPL code. See README.mysql-license License: GPLv2 with exceptions and LGPLv2 and BSD -Source0: https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz +Source0: https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz?serve Source2: mysql_config_multilib.sh Source3: my.cnf.in Source5: README.mysql-cnf From 785540702590b511a45765274f59a1a6d488b296 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 11 Mar 2018 03:30:09 +0100 Subject: [PATCH 483/789] Revert "COPR: update source url to fix source download" This reverts commit 2f146cfc0018867f8a2992ee6e2bbf4a919e5e43. --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 81e6482..96be6f5 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -130,7 +130,7 @@ URL: http://mariadb.org # Exceptions allow client libraries to be linked with most open source SW, not only GPL code. See README.mysql-license License: GPLv2 with exceptions and LGPLv2 and BSD -Source0: https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz?serve +Source0: https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz Source2: mysql_config_multilib.sh Source3: my.cnf.in Source5: README.mysql-cnf From b8e80adff160dab5cb265d790dbab07be2fd7452 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 11 Mar 2018 03:33:21 +0100 Subject: [PATCH 484/789] COPR: New sources for 10.3.5 --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index 0de4b83..a73bbea 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.2.13.tar.gz) = 4c6038f134a32f50daa3172b367588240ef20a6f6cfe36d830e427cf52d315284481f5300d3db32d9e81ddd352dbea01fd4230f4e4d79e175d97c0c49331a4ca +SHA512 (mariadb-10.3.5.tar.gz) = e7f2ffd38da4e4dbd214bc97e30216682b6f8ca368bcbd5717fb408a6110f26da4472cd7ac0d288c817eb9c6426a063cff8d582e03fe8a1219c0d70508e5a004 From 259503a47edd34f02ed0ca9f6c0c189895c5d793 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 20 Mar 2018 17:17:37 +0100 Subject: [PATCH 485/789] Update logrotate config to use correct logfile location. --- mariadb-logrotate.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb-logrotate.patch b/mariadb-logrotate.patch index 9be0c99..a495c07 100644 --- a/mariadb-logrotate.patch +++ b/mariadb-logrotate.patch @@ -59,7 +59,7 @@ Update 3/2017 - endscript -} +# Then, un-comment the following lines to enable rotation of mysql's log file: -+#@LOG_LOCATION@/mysqld.log { ++#@LOG_LOCATION@ { +# create 600 mysql mysql +# notifempty +# daily From 8f35ef3af23793453fddf79b2b3e34ed5b3895b6 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 29 Mar 2018 03:26:57 +0200 Subject: [PATCH 486/789] Rebase to 10.2.14 Update testsuite run for SSL self signed certificates --- mariadb.spec | 19 +++++++++++++++++-- rh-skipped-tests-base.list | 19 ++++++++----------- sources | 2 +- 3 files changed, 26 insertions(+), 14 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 1b3f6b6..eb37e9d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -118,11 +118,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.2 -%global bugfixver 13 +%global bugfixver 14 Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1111,11 +1111,22 @@ export MTR_BUILD_THREAD=%{__isa_bits} --suite-timeout=720 --testcase-timeout=30 \ --mysqld=--binlog-format=mixed --force-restart \ --shutdown-timeout=60 --max-test-fail=0 --big-test \ + --skip-test=spider \ %if %{ignore_testsuite_result} || : %else --skip-test-list=unstable-tests %endif + +# Second run for the SPIDER suites that fail with SCA (ssl self signed certificate) + perl ./mysql-test-run.pl --force --retry=0 \ + --suite-timeout=720 --testcase-timeout=30 \ + --mysqld=--binlog-format=mixed --force-restart \ + --shutdown-timeout=60 --max-test-fail=0 --big-test \ + --skip-ssl --suite=spider,spider/bg \ +%if %{ignore_testsuite_result} + || : +%endif ) %endif # if dry run @@ -1526,6 +1537,10 @@ fi %endif %changelog +* Thu Mar 29 2018 Michal Schorm - 3:10.2.14-1 +- Rebase to 10.2.14 +- Update testsuite run for SSL self signed certificates + * Tue Mar 6 2018 Michal Schorm - 3:10.2.13-2 - Further fix of ldconfig scriptlets for F27 - Fix hardcoded paths, move unversioned libraries and symlinks to the devel subpackage diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 5859a1d..c8c6912 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -13,9 +13,7 @@ plugins.feedback_plugin_load : # plugins.show_all_plugins : warnings in log # ------------------------------ -# Failing from rebase to 10.1.24 -# issues trackers will be added - +# Tests that fails because of 'Self Signed Certificate in the Certificate Chain' perfschema.cnf_option : rpl.rpl_row_img_blobs : @@ -24,13 +22,6 @@ rpl.rpl_row_img_eng_noblob : sys_vars.slave_parallel_threads_basic : -# Fails since 10.1.12 -innodb.innodb_defrag_binlog : - -# Fails on PPC, PPC64 and AArch -parts.partition_alter4_innodb : #1399847 - -# https://jira.mariadb.org/browse/MDEV-14003 spider/bg.spider3_fixes_part : spider/bg.spider_fixes : spider/bg.spider_fixes_part : @@ -57,6 +48,13 @@ spider.ha : spider.ha_part : spider.vp_fixes : +# ------------------------------ +# Fails since 10.1.12 +innodb.innodb_defrag_binlog : + +# Fails on PPC, PPC64 and AArch +parts.partition_alter4_innodb : #1399847 + # 10.2.12 and 10.2.13 after some unidentified change in Rawhide buildroot mroonga/storage.index_multiple_column_range_all_used_less_than : mroonga/storage.index_multiple_column_range_all_used_less_than_or_equal : @@ -66,4 +64,3 @@ mroonga/storage.index_multiple_column_range_partially_used_no_prefix_less_than mroonga/storage.index_multiple_column_range_partially_used_no_prefix_less_than_or_equal : mroonga/storage.optimization_order_limit_optimized_datetime_less_than : mroonga/storage.optimization_order_limit_optimized_datetime_less_than_or_equal : - diff --git a/sources b/sources index 0de4b83..16ec467 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.2.13.tar.gz) = 4c6038f134a32f50daa3172b367588240ef20a6f6cfe36d830e427cf52d315284481f5300d3db32d9e81ddd352dbea01fd4230f4e4d79e175d97c0c49331a4ca +SHA512 (mariadb-10.2.14.tar.gz) = 12195cc8c7a97619024d6b8b37558a43f4f543efff257a7a3dbb10e8a6e064ec2f0740554cf50cc83576b74ba355cf00f3c99855bc2bcf68b90c1fa90c850026 From fb1dfc156ecd42587c5c3dd926a71b1a833c4445 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 19 Apr 2018 14:54:56 +0200 Subject: [PATCH 487/789] Update to 10.3.6 --- mariadb.spec | 4 ++-- sources | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 96be6f5..1829335 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -118,7 +118,7 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.3 -%global bugfixver 5 +%global bugfixver 6 Name: mariadb Version: %{compatver}.%{bugfixver} @@ -677,7 +677,7 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \; %patch40 -p1 # workaround for upstream bug #56342 -rm mysql-test/t/ssl_8k_key-master.opt +#rm mysql-test/t/ssl_8k_key-master.opt # generate a list of tests that fail, but are not disabled by upstream cat %{SOURCE50} | tee -a mysql-test/unstable-tests diff --git a/sources b/sources index a73bbea..5ed519a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.3.5.tar.gz) = e7f2ffd38da4e4dbd214bc97e30216682b6f8ca368bcbd5717fb408a6110f26da4472cd7ac0d288c817eb9c6426a063cff8d582e03fe8a1219c0d70508e5a004 +SHA512 (mariadb-10.3.6.tar.gz) = cf146752be5857e702a3c88f42c7b6be3117bd92ac304eb217f902c1ffe478dc3043d3cf6a9a9305b51babb3bafc2612a8e4f5dfa7731cfa53634014d86438d1 From d0b7a043a5f66f12a3a9a192bc9dc391538ab75d Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 19 Apr 2018 20:47:02 +0200 Subject: [PATCH 488/789] Build with lz4; Related: #1563282 --- mariadb.spec | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index eb37e9d..16eaa31 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -72,6 +72,11 @@ # For deep debugging we need to build binaries with extra debug info %bcond_with debug +# Page compression algorithms for InnoDB & XtraDB +# lz4 currently cannot be turned off by CMake, only by not having lz4-devel package in the buildroot +# https://jira.mariadb.org/browse/MDEV-15932 +%bcond_without lz4 + # MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use @@ -171,11 +176,14 @@ Patch37: %{pkgnamepatch}-notestdb.patch Patch40: %{pkgnamepatch}-galera.cnf.patch BuildRequires: cmake gcc-c++ -BuildRequires: zlib-devel BuildRequires: multilib-rpm-config BuildRequires: selinux-policy-devel BuildRequires: systemd systemd-devel +# Page compression algorithms for InnoDB & XtraDB +BuildRequires: zlib-devel +%{?with_lz4:BuildRequires: lz4-devel} + # TokuDB and some core stuff BuildRequires: jemalloc-devel @@ -807,6 +815,8 @@ export CFLAGS CXXFLAGS -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DWITH_JEMALLOC=no \ + -DLZ4_LIBS=%{_libdir}/liblz4.so \ + -DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ -DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \ -DPLUGIN_OQGRAPH=%{?with_oqgraph:DYNAMIC}%{!?with_oqgraph:NO} \ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=%{?with_cracklib:DYNAMIC}%{!?with_cracklib:NO} \ @@ -819,6 +829,7 @@ export CFLAGS CXXFLAGS %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} # Print all Cmake options values +# cmake -LAH for List Advanced Help cmake -L make %{?_smp_mflags} VERBOSE=1 From cae458ac36a69e15ea69ef242d6c6d4ec323b18c Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 1 May 2018 22:45:29 +0200 Subject: [PATCH 489/789] Update some if clauses --- mariadb.spec | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 16eaa31..f0d2c4a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -26,7 +26,7 @@ # RocksDB engine # https://mariadb.com/kb/en/library/myrocks-supported-platforms/ # RocksB engine is available only for x86_64 -%ifarch x86_64 +%if %_arch == x86_64 && 0%{?fedora} %bcond_without tokudb %bcond_without mroonga %bcond_without rocksdb @@ -43,10 +43,12 @@ # Other plugins # Allow to override the values outside of spec # https://github.com/rpm-software-management/rpm/blob/34c2ba3c/macros.in#L100-L141 +%if 0%{?fedora} %{!?_with_cracklib: %{!?_without_cracklib: %bcond_without cracklib}} -%{!?_with_gssapi: %{!?_without_gssapi: %bcond_without gssapi}} %{!?_with_connect: %{!?_without_sphinx: %bcond_without connect}} %{!?_with_sphinx: %{!?_without_sphinx: %bcond_without sphinx}} +%endif +%{!?_with_gssapi: %{!?_without_gssapi: %bcond_without gssapi}} # For some use cases we do not need some parts of the package. Set to "...with" to exclude %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 @@ -117,8 +119,13 @@ %global obsoleted_mariadb_galera_server_evr 1:10.0.17-6 # Provide mysql names for compatibility +%if 0%{?fedora} %bcond_without mysql_names %bcond_without conflicts +%else +%bcond_with mysql_names +%bcond_with conflicts +%endif # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} @@ -386,10 +393,10 @@ Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-errmsg%{?_isa} = %{sameevr} Recommends: %{name}-server-utils%{?_isa} = %{sameevr} Recommends: %{name}-backup%{?_isa} = %{sameevr} -Recommends: %{name}-craclkib-password-check%{?_isa} = %{sameevr} -Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr} -Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr} -Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr} +%{?with_cracklib: Recommends: %{name}-craclkib-password-check%{?_isa} = %{sameevr}} +%{?with_gssapi: Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}} +%{?with_rocksdb: Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr}} +%{?with_tokudb: Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}} Suggests: mytop @@ -835,7 +842,6 @@ cmake -L make %{?_smp_mflags} VERBOSE=1 - # build selinux policy %if %{with galera} pushd selinux From 7fecec7c621441bc1b22ef16ce7caf971fbf8401 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 2 May 2018 14:33:53 +0200 Subject: [PATCH 490/789] Fix typo --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index f0d2c4a..d59649d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -393,7 +393,7 @@ Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-errmsg%{?_isa} = %{sameevr} Recommends: %{name}-server-utils%{?_isa} = %{sameevr} Recommends: %{name}-backup%{?_isa} = %{sameevr} -%{?with_cracklib: Recommends: %{name}-craclkib-password-check%{?_isa} = %{sameevr}} +%{?with_cracklib: Recommends: %{name}-cracklib-password-check%{?_isa} = %{sameevr}} %{?with_gssapi: Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}} %{?with_rocksdb: Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr}} %{?with_tokudb: Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}} From f6397a1a9bd231e1ed27e2675617d29de8433939 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 28 May 2018 01:52:06 +0200 Subject: [PATCH 491/789] Rebase to 10.2.15 Don't use conditionals macros verided by the values outside the SPEC. They don't work thay way. Fix the server Recommends. They won't be parsed correctly, if they have whitespaces in front of them in contidional macros. Move the upstream systemd config file for tokudb to the correct location. Tweak the systemd unit files, to be closer to their upstream variants. Heavy update of the skipped tests list. PPC64le seems problematic lately. Spider tests are disabled in the first testsuite run as a whole testsuite, so no need to explicitly list them. Extend the testsuite timeout to 15 hours; 12 hours just wasn't enough for PPC64le; allow to retry failed test one time. Build with Jemalloc again. Require Jemalloc by TokuDB. Set precise version of Jemalloc library to systemd config for TokuDB. --- mariadb.spec | 55 +++++++++++++++++++--------- mysql.service.in | 12 ++++--- mysql@.service.in | 12 ++++--- rh-skipped-tests-arm.list | 3 +- rh-skipped-tests-base.list | 54 ++++++++++++---------------- rh-skipped-tests-ppc.list | 73 ++++++++++++++++---------------------- rh-skipped-tests-s390.list | 2 ++ sources | 2 +- 8 files changed, 112 insertions(+), 101 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index d59649d..fc0c511 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -16,12 +16,17 @@ # Turn that off to ensure such files don't get included in RPMs (cf bz#884755). %global _default_patch_flags --no-backup-if-mismatch + + # TokuDB engine # https://mariadb.com/kb/en/mariadb/tokudb/ # TokuDB engine is available only for x86_64 +# There's a problem currently with jemalloc, which tokudb use. +# TokuDB does not yet support new Jemalloc 5, but on F>=28, there's only Jemalloc 5. Not a supported configuration. +# Also build of TokuDB without Jemalloc is not supported. # Mroonga engine # https://mariadb.com/kb/en/mariadb/about-mroonga/ -# Actual version in MariaDB, 5.04, only supports the x86_64 +# Current version in MariaDB, 7.07, only supports the x86_64 # Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html # RocksDB engine # https://mariadb.com/kb/en/library/myrocks-supported-platforms/ @@ -41,14 +46,16 @@ %bcond_without oqgraph # Other plugins -# Allow to override the values outside of spec -# https://github.com/rpm-software-management/rpm/blob/34c2ba3c/macros.in#L100-L141 %if 0%{?fedora} -%{!?_with_cracklib: %{!?_without_cracklib: %bcond_without cracklib}} -%{!?_with_connect: %{!?_without_sphinx: %bcond_without connect}} -%{!?_with_sphinx: %{!?_without_sphinx: %bcond_without sphinx}} +%bcond_without cracklib +%bcond_without connect +%bcond_without sphinx +%else +%bcond_with cracklib +%bcond_with connect +%bcond_with sphinx %endif -%{!?_with_gssapi: %{!?_without_gssapi: %bcond_without gssapi}} +%bcond_without gssapi # For some use cases we do not need some parts of the package. Set to "...with" to exclude %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 @@ -130,7 +137,7 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.2 -%global bugfixver 14 +%global bugfixver 15 Name: mariadb Version: %{compatver}.%{bugfixver} @@ -393,10 +400,10 @@ Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-errmsg%{?_isa} = %{sameevr} Recommends: %{name}-server-utils%{?_isa} = %{sameevr} Recommends: %{name}-backup%{?_isa} = %{sameevr} -%{?with_cracklib: Recommends: %{name}-cracklib-password-check%{?_isa} = %{sameevr}} -%{?with_gssapi: Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}} -%{?with_rocksdb: Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr}} -%{?with_tokudb: Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}} +%{?with_cracklib:Recommends: %{name}-cracklib-password-check%{?_isa} = %{sameevr}} +%{?with_gssapi:Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}} +%{?with_rocksdb:Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr}} +%{?with_tokudb:Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}} Suggests: mytop @@ -493,6 +500,7 @@ The RocksDB storage engine is used for high performance servers on SSD drives. %package tokudb-engine Summary: The TokuDB storage engine for MariaDB Requires: %{name}-server%{?_isa} = %{sameevr} +Requires: jemalloc %description tokudb-engine The TokuDB storage engine from Percona. @@ -821,7 +829,7 @@ export CFLAGS CXXFLAGS -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DWITH_JEMALLOC=no \ + -DWITH_JEMALLOC=yes \ -DLZ4_LIBS=%{_libdir}/liblz4.so \ -DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ -DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \ @@ -860,7 +868,8 @@ ln -s mysql_config.1.gz %{buildroot}%{_mandir}/man1/mariadb_config.1.gz # multilib support for shell scripts # we only apply this to known Red Hat multilib arches, per bug #181335 -if %multilib_capable; then +if [ %multilib_capable ] +then mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} install -p -m 0755 scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config # Copy manual page for multilib mysql_config; https://jira.mariadb.org/browse/MDEV-11961 @@ -1050,6 +1059,12 @@ mysqldump,mysqlimport,mysqlshow,mysqlslap}.1* # because upstream ships manpages for tokudb even on architectures that tokudb doesn't support rm %{buildroot}%{_mandir}/man1/tokuftdump.1* rm %{buildroot}%{_mandir}/man1/tokuft_logdump.1* +%else +%if 0%{?fedora} >= 28 || 0%{?rhel} > 7 +echo 'Environment="LD_PRELOAD=%{_libdir}/libjemalloc.so.2"' >> %{buildroot}%{_sysconfdir}/systemd/system/mariadb.service.d/tokudb.conf +%endif +# Move to better location, systemd config files has to be in /lib/ +mv %{buildroot}%{_sysconfdir}/systemd/system/mariadb.service.d %{buildroot}/usr/lib/systemd/system/ %endif %if %{without config} @@ -1124,8 +1139,8 @@ export MTR_BUILD_THREAD=%{__isa_bits} set -ex cd mysql-test - perl ./mysql-test-run.pl --force --retry=0 --ssl \ - --suite-timeout=720 --testcase-timeout=30 \ + perl ./mysql-test-run.pl --force --retry=1 --ssl \ + --suite-timeout=900 --testcase-timeout=30 \ --mysqld=--binlog-format=mixed --force-restart \ --shutdown-timeout=60 --max-test-fail=0 --big-test \ --skip-test=spider \ @@ -1458,6 +1473,7 @@ fi %{_mandir}/man1/tokuft_logdump.1* %config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so +/usr/lib/systemd/system/mariadb.service.d/tokudb.conf %endif %if %{with gssapi} @@ -1554,6 +1570,13 @@ fi %endif %changelog +* Wed May 23 2018 Michal Schorm - 3:10.2.15-1 +- Rebase to 10.2.15 +- CVEs fixed: #1568962 + CVE-2018-2755 CVE-2018-2761 CVE-2018-2766 CVE-2018-2771 CVE-2018-2781 + CVE-2018-2782 CVE-2018-2784 CVE-2018-2787 CVE-2018-2813 CVE-2018-2817 + CVE-2018-2819 CVE-2018-2786 CVE-2018-2759 CVE-2018-2777 CVE-2018-2810 + * Thu Mar 29 2018 Michal Schorm - 3:10.2.14-1 - Rebase to 10.2.14 - Update testsuite run for SSL self signed certificates diff --git a/mysql.service.in b/mysql.service.in index bb5b8c2..6f84dd3 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -26,8 +26,15 @@ [Unit] Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server +Documentation=man:mysqld(8) +Documentation=https://mariadb.com/kb/en/library/systemd/ After=network.target +[Install] +WantedBy=multi-user.target +Alias=mysql.service +Alias=mysqld.service + [Service] Type=notify User=mysql @@ -64,8 +71,3 @@ TimeoutSec=300 # Place temp files in a secure directory, not /tmp PrivateTmp=true - -[Install] -WantedBy=multi-user.target -Alias=mysql.service -Alias=mysqld.service diff --git a/mysql@.service.in b/mysql@.service.in index 34e645f..b36ce6d 100644 --- a/mysql@.service.in +++ b/mysql@.service.in @@ -33,8 +33,15 @@ [Unit] Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server +Documentation=man:mysqld(8) +Documentation=https://mariadb.com/kb/en/library/systemd/ After=network.target +[Install] +WantedBy=multi-user.target +Alias=mysql.service +Alias=mysqld.service + [Service] Type=notify User=mysql @@ -70,8 +77,3 @@ TimeoutSec=300 # Place temp files in a secure directory, not /tmp PrivateTmp=true - -[Install] -WantedBy=multi-user.target -Alias=mysql.service -Alias=mysqld.service diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index 8b13789..6ec9031 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -1 +1,2 @@ - +# Fails since 10.2.15 +encryption.innodb-encryption-alter : diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index c8c6912..3afa05d 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -2,11 +2,13 @@ # https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-84275 main.ssl_7937 : #1399847 main.ssl_crl_clients : #1399847 +main.ssl_cert_verify : # main.non_blocking_api : #1399847 perfschema.nesting : #1399847 perfschema.socket_summary_by_instance_func : #1399847 +perfschema.socket_summary_by_event_name_func : # needs this tests disabled for mode build plugins.feedback_plugin_load : # @@ -22,40 +24,11 @@ rpl.rpl_row_img_eng_noblob : sys_vars.slave_parallel_threads_basic : -spider/bg.spider3_fixes_part : -spider/bg.spider_fixes : -spider/bg.spider_fixes_part : -spider/bg.basic_sql : -spider/bg.basic_sql_part : -spider/bg.direct_aggregate_part : -spider/bg.direct_update : -spider/bg.direct_update_part : -spider/bg.function : -spider/bg.ha : -spider/bg.ha_part : -spider/bg.vp_fixes : -spider.spider3_fixes : -spider.spider3_fixes_part : -spider.spider_fixes : -spider.spider_fixes_part : -spider.basic_sql_part : -spider.direct_aggregate : -spider.direct_aggregate_part : -spider.direct_update : -spider.direct_update_part : -spider.function : -spider.ha : -spider.ha_part : -spider.vp_fixes : - # ------------------------------ -# Fails since 10.1.12 +# Fails since 10.1.12; only x86_64 innodb.innodb_defrag_binlog : -# Fails on PPC, PPC64 and AArch -parts.partition_alter4_innodb : #1399847 - -# 10.2.12 and 10.2.13 after some unidentified change in Rawhide buildroot +# on x86_64 after 10.2.12 and 10.2.13 after some unidentified change in Rawhide buildroot mroonga/storage.index_multiple_column_range_all_used_less_than : mroonga/storage.index_multiple_column_range_all_used_less_than_or_equal : mroonga/storage.index_multiple_column_range_partially_used_have_prefix_less_than : @@ -64,3 +37,22 @@ mroonga/storage.index_multiple_column_range_partially_used_no_prefix_less_than mroonga/storage.index_multiple_column_range_partially_used_no_prefix_less_than_or_equal : mroonga/storage.optimization_order_limit_optimized_datetime_less_than : mroonga/storage.optimization_order_limit_optimized_datetime_less_than_or_equal : + +# Fails everywhere since 10.2.15 +main.non_blocking_api : +main.userstat : + +# Fails on x86_64 since 10.2.15 +rocksdb.2pc_group_commit : +rocksdb.read_only_tx : +rocksdb.shutdown : +rocksdb.index_merge_rocksdb2 : +rocksdb.index_merge_rocksdb : + +# Fails on ppc and arm since 10.2.15 +binlog.binlog_flush_binlogs_delete_domain : +innodb.innodb_buffer_pool_resize_with_chunks : +innodb.innodb_buffer_pool_resize : +innodb_gis.rtree_compress : +innodb_gis.rtree_compress2 : +parts.partition_alter4_innodb : diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index a62648c..74839cc 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -1,33 +1,12 @@ -# Fails since 10.1.12 only on PPC64 -innodb_fts.fulltext : -# Fails since 10.1.12 only on PPC64 and PPC64le; timeout after 1800 seconds -innodb.innodb_defrag_concurrent : -parts.partition_alter1_2_innodb : - # 10.2.12 & 10.2.13 after some uninedtified Rawhide (and the forked f28) buildroot change # failed: 1045: Access denied for user '.....'@'localhost' (using password: YES) +binlog_encryption.encrypted_master : binlog_encryption.encrypted_slave : -rpl.rpl_create_drop_user : -rpl.rpl_do_grant : -rpl.rpl_temporary : -main.connect : -main.events_bugs : -main.mysql_client_test : -main.mysql_upgrade-6984 : -innodb.innodb_defragment : -innodb.innodb_defrag_stats : -main.mysql_upgrade : -innodb.temporary_table_optimization : -main.plugin_auth : + funcs_1.innodb_trig_03 : funcs_1.innodb_trig_03e : funcs_1.innodb_trig_0407 : funcs_1.innodb_trig_08 : -innodb.innodb_bug34053 : -main.select_pkeycache : -main.mysql_client_test_comp : -main.plugin_auth_qa_1 : -sys_vars.secure_auth_func : funcs_1.memory_trig_03 : funcs_1.memory_trig_03e : funcs_1.memory_trig_0407 : @@ -38,24 +17,34 @@ funcs_1.myisam_trig_0407 : funcs_1.myisam_trig_08 : funcs_1.processlist_priv_no_prot : funcs_1.processlist_val_no_prot : -main.change_user : -main.grant : + +innodb.innodb_bug34053 : +innodb.temporary_table_optimization : +innodb_zip.cmp_per_index : + +main.connect : +main.derived_cond_pushdown : +main.events_bugs : +main.grant : main.grant2 : +main.change_user : main.lowercase_fs_off : -main.ps_grant : -main.select : -main.select_jcl6 : -main.set_password_plugin-9835 : -main.show_grants_with_plugin-7985 : -main.sp-security : -main.sp_notembedded : -main.type_float : -main.type_newdecimal : -main.type_ranges : -main.userstat-badlogin-4824 : -main.view_grant : -plugins.auth_ed25519 : -roles.grant_role_auto_create_user : -sys_vars.old_passwords_func : -unit.conc_connection : -unit.ed25519 : +main.mysql_client_test : +main.mysql_client_test_comp : +main.mysql_client_test_nonblock : +main.mysql_upgrade : +main.mysql_upgrade-6984 : +main.plugin_auth : +main.plugin_auth_qa_1 : +main.ps : +main.select_pkeycache : + +parts.partition_alter1_1_innodb : +parts.partition_alter1_2_innodb : +parts.part_supported_sql_func_innodb : + +rpl.rpl_create_drop_user : +rpl.rpl_do_grant : +rpl.rpl_temporary : + +sys_vars.secure_auth_func : diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list index e69de29..e0a897b 100644 --- a/rh-skipped-tests-s390.list +++ b/rh-skipped-tests-s390.list @@ -0,0 +1,2 @@ +# Fails since 10.2.15 +disks.disks : diff --git a/sources b/sources index 16ec467..36c4e12 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.2.14.tar.gz) = 12195cc8c7a97619024d6b8b37558a43f4f543efff257a7a3dbb10e8a6e064ec2f0740554cf50cc83576b74ba355cf00f3c99855bc2bcf68b90c1fa90c850026 +SHA512 (mariadb-10.2.15.tar.gz) = 7702af8787973b15784dc8a89f9d56765725a420e2e68f1924b67c88c134c7d83d3249dddd16707fa9e5f05ed747f813f16feefbb477e999a6698b1dcfb5a88f From 146358d41432bcf4b5f4eb8cd25128bfec943528 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 29 May 2018 13:29:49 +0200 Subject: [PATCH 492/789] Disable TokuDB build with Jemalloc 5. Add more failing tests for the PPC64le. --- mariadb.spec | 7 ++++++- rh-skipped-tests-ppc.list | 16 ++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index fc0c511..ba449a4 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -21,8 +21,9 @@ # TokuDB engine # https://mariadb.com/kb/en/mariadb/tokudb/ # TokuDB engine is available only for x86_64 -# There's a problem currently with jemalloc, which tokudb use. +# * There's a problem currently with jemalloc, which tokudb use. # TokuDB does not yet support new Jemalloc 5, but on F>=28, there's only Jemalloc 5. Not a supported configuration. +# * Disabling build of TokuDB with Jemalloc 5 since it doesn't work. https://jira.percona.com/browse/PS-4393 # Also build of TokuDB without Jemalloc is not supported. # Mroonga engine # https://mariadb.com/kb/en/mariadb/about-mroonga/ @@ -32,7 +33,11 @@ # https://mariadb.com/kb/en/library/myrocks-supported-platforms/ # RocksB engine is available only for x86_64 %if %_arch == x86_64 && 0%{?fedora} +%if 0%{?fedora} >= 28 || 0%{?rhel} > 7 +%bcond_with tokudb +%else %bcond_without tokudb +%endif %bcond_without mroonga %bcond_without rocksdb %else diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index 74839cc..77fa6a6 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -37,14 +37,30 @@ main.mysql_upgrade-6984 : main.plugin_auth : main.plugin_auth_qa_1 : main.ps : +main.ps_grant : main.select_pkeycache : +main.set_password_plugin-9835 : +main.show_grants_with_plugin-7985 : +main.sp_notembedded : +main.sp-security : +main.type_newdecimal : +main.type_ranges : +main.userstat-badlogin-4824 : +main.view_grant : parts.partition_alter1_1_innodb : parts.partition_alter1_2_innodb : parts.part_supported_sql_func_innodb : +plugins.auth_ed25519 : + +roles.grant_role_auto_create_user : + rpl.rpl_create_drop_user : rpl.rpl_do_grant : rpl.rpl_temporary : +sys_vars.old_passwords_func : sys_vars.secure_auth_func : + +unit.conc_connection unit.ed25519 : From 8b706f53ca3da450ac24c5b73c9fdca905928df7 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 29 May 2018 15:06:35 +0200 Subject: [PATCH 493/789] Fix typo in PPC skipped tests list --- rh-skipped-tests-ppc.list | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index 77fa6a6..38a0948 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -25,7 +25,7 @@ innodb_zip.cmp_per_index : main.connect : main.derived_cond_pushdown : main.events_bugs : -main.grant : +main.grant : main.grant2 : main.change_user : main.lowercase_fs_off : @@ -63,4 +63,5 @@ rpl.rpl_temporary : sys_vars.old_passwords_func : sys_vars.secure_auth_func : -unit.conc_connection unit.ed25519 : +unit.conc_connection : +unit.ed25519 : From 5a8f2108c9a9d31e372b95c821cbcca5b66c8950 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 4 Jun 2018 15:46:46 +0200 Subject: [PATCH 494/789] Fix PCRE macros to be more easily understood Bump bundled PCRE version reuired by MariaDB --- mariadb.spec | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index ba449a4..9628466 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -96,10 +96,10 @@ # MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use # the bundled library, since the package cannot be build with older version %if 0%{?fedora} || 0%{?rhel} > 7 -%bcond_without bundled_pcre +%bcond_without unbundled_pcre %else -%bcond_with bundled_pcre -%global pcre_bundled_version 8.41 +%bcond_with unbundled_pcre +%global pcre_bundled_version 8.42 %endif # Include systemd files @@ -220,8 +220,8 @@ BuildRequires: bison bison-devel # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel # use either new enough version of pcre or provide bundles(pcre) -%{?with_bundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf} -%{!?with_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}} +%{?with_unbundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf} +%{!?with_unbundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}} # Few utilities needs Perl %if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: perl-interpreter @@ -737,7 +737,7 @@ sed 's/mariadb-server-galera/%{name}-server-galera/' %{SOURCE72} > selinux/%{nam pcre_maj=`grep '^m4_define(pcre_major' pcre/configure.ac | sed -r 's/^m4_define\(pcre_major, \[([0-9]+)\]\)/\1/'` pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\(pcre_minor, \[([0-9]+)\]\)/\1/'` -%if %{without bundled_pcre} +%if %{without unbundled_pcre} # Check if the PCRE version in macro 'pcre_bundled_version', used in Provides: bundled(...), is the same version as upstream actually bundles if [ %{pcre_bundled_version} != "$pcre_maj.$pcre_min" ] then From 34627d99ee8007332f778efe1b90a547f9d4f604 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 4 Jun 2018 16:28:21 +0200 Subject: [PATCH 495/789] Create RPMLint whitelist --- mariadb.rpmlintrc | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 mariadb.rpmlintrc diff --git a/mariadb.rpmlintrc b/mariadb.rpmlintrc new file mode 100644 index 0000000..74911d2 --- /dev/null +++ b/mariadb.rpmlintrc @@ -0,0 +1,31 @@ +# THIS FILE SERVES FOR WHITELISTING RPMLINT ERRORS AND WARNINGS IN TASKOTRON +# https://fedoraproject.org/wiki/Taskotron/Tasks/dist.rpmlint#Whitelisting_errors + +# (same file in python3 package served as a great example) + + + +# Spelling errors +addFilter(r'spelling-error .* en_US (cnf|mysqld|benchmarking|pam|passwordless|subpackage) ') + +# Debugsource +addFilter(r'^mariadb.*debugsource\.[^:]+: (E|W): no-documentation') + +# Debuginfo +addFilter(r'^mariadb.*debuginfo\.[^:]+: (E|W): useless-provides debuginfo\(build-id\)') + +# Testsuite +# Some expected tests results are zero-length files +addFilter(r'(zero-length|pem-certificate) /usr/share/mysql-test/*') + +# Chroot function +# False positive; checked by upstream +addFilter(r'missing-call-to-chdir-with-chroot') + +# Missing documentation +# I don't think that's on the upstream priority list +addFilter(r'no-documentation') + +# Obsoleted not provided +# Obsoleting upstream packages, not providing them is expected to not mix them up +addFilter(r'obsolete-not-provided MySQL') From 4024962c36324a653bb500225b668c6146f26354 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 5 Jun 2018 10:54:13 +0200 Subject: [PATCH 496/789] Use mysqladmin for checking the socket This should avoid the long delay and service start failure in case the socket exists, some process is hanging on it, but no replies are sent, like when simulating the server using nc --- mariadb.spec | 5 ++++- mysql-check-socket.sh | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 9628466..a5a4fe2 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -146,7 +146,7 @@ Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -1575,6 +1575,9 @@ fi %endif %changelog +* Tue Jun 05 2018 Honza Horak - 3:10.2.15-2 +- Use mysqladmin for checking the socket + * Wed May 23 2018 Michal Schorm - 3:10.2.15-1 - Rebase to 10.2.15 - CVEs fixed: #1568962 diff --git a/mysql-check-socket.sh b/mysql-check-socket.sh index b15cd32..5e13108 100644 --- a/mysql-check-socket.sh +++ b/mysql-check-socket.sh @@ -25,10 +25,10 @@ if test -e "$socketfile" ; then fi # some process uses the socket file - if fuser "$socketfile" &>/dev/null ; then - socketpid=$(fuser "$socketfile" 2>/dev/null) + response=`@bindir@/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER --connect-timeout="${CHECKSOCKETTIMEOUT:-10}" ping 2>&1` + if [ $? -qe 0 ] || echo "$response" | grep -q "Access denied for user" ; then echo "Is another MySQL daemon already running with the same unix socket?" >&2 - echo "Please, stop the process $socketpid or remove $socketfile manually to start the service." >&2 + echo "Please, stop the process using the socket $socketfile or remove the file manually to start the service." >&2 exit 1 fi From 9e4f70c827434d8a2b8eee88ff03ab5e0c545e15 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 12 Jun 2018 01:22:50 +0200 Subject: [PATCH 497/789] Jemalloc dependency moved to the TokuDB subpackage CMake jemalloc option removed, not used anymore The server doesn't need jemalloc since 10.2: https://jira.mariadb.org/browse/MDEV-11059 Build MariaDB with TokuDB without Jemalloc; users didn't find it problematic --- mariadb.spec | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index a5a4fe2..631b817 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -22,9 +22,9 @@ # https://mariadb.com/kb/en/mariadb/tokudb/ # TokuDB engine is available only for x86_64 # * There's a problem currently with jemalloc, which tokudb use. -# TokuDB does not yet support new Jemalloc 5, but on F>=28, there's only Jemalloc 5. Not a supported configuration. -# * Disabling build of TokuDB with Jemalloc 5 since it doesn't work. https://jira.percona.com/browse/PS-4393 +# TokuDB does not yet support new Jemalloc 5, but on F>=28, there's only Jemalloc 5. Not a supported configuration. https://jira.percona.com/browse/PS-4393 # Also build of TokuDB without Jemalloc is not supported. +# * It is better to build TokuDB without jemalloc than not at all. So far, this configuration works for users and they want the TokuDB. # Mroonga engine # https://mariadb.com/kb/en/mariadb/about-mroonga/ # Current version in MariaDB, 7.07, only supports the x86_64 @@ -32,12 +32,9 @@ # RocksDB engine # https://mariadb.com/kb/en/library/myrocks-supported-platforms/ # RocksB engine is available only for x86_64 +# RocksDB may be built with jemalloc, if specified in CMake %if %_arch == x86_64 && 0%{?fedora} -%if 0%{?fedora} >= 28 || 0%{?rhel} > 7 -%bcond_with tokudb -%else %bcond_without tokudb -%endif %bcond_without mroonga %bcond_without rocksdb %else @@ -203,9 +200,6 @@ BuildRequires: systemd systemd-devel BuildRequires: zlib-devel %{?with_lz4:BuildRequires: lz4-devel} -# TokuDB and some core stuff -BuildRequires: jemalloc-devel - # asynchornous operations stuff BuildRequires: libaio-devel # commands history features @@ -505,6 +499,7 @@ The RocksDB storage engine is used for high performance servers on SSD drives. %package tokudb-engine Summary: The TokuDB storage engine for MariaDB Requires: %{name}-server%{?_isa} = %{sameevr} +BuildRequires: jemalloc-devel Requires: jemalloc %description tokudb-engine @@ -834,7 +829,6 @@ export CFLAGS CXXFLAGS -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DWITH_JEMALLOC=yes \ -DLZ4_LIBS=%{_libdir}/liblz4.so \ -DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ -DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \ @@ -1577,6 +1571,10 @@ fi %changelog * Tue Jun 05 2018 Honza Horak - 3:10.2.15-2 - Use mysqladmin for checking the socket +- Jemalloc dependency moved to the TokuDB subpackage. + CMake jemalloc option removed, not used anymore. + The server doesn't need jemalloc since 10.2: https://jira.mariadb.org/browse/MDEV-11059 +- Build MariaDB with TokuDB without Jemalloc. * Wed May 23 2018 Michal Schorm - 3:10.2.15-1 - Rebase to 10.2.15 From 68d53d0cd56e013ddb1542d737dafda6ce80172a Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 12 Jun 2018 21:14:57 +0200 Subject: [PATCH 498/789] Prepare for building experimental Cassandra storage engine; leave it disabled for now Remove openssl and bison unused requires Disable building with jemalloc by CMake option; it was previously removed by accident --- mariadb.spec | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 631b817..33b359f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -33,14 +33,20 @@ # https://mariadb.com/kb/en/library/myrocks-supported-platforms/ # RocksB engine is available only for x86_64 # RocksDB may be built with jemalloc, if specified in CMake +# Cassandra engine +# Experimental version of the Cassandra storage engine +# The tests needs running cassandra server +# Do not build it for now %if %_arch == x86_64 && 0%{?fedora} %bcond_without tokudb %bcond_without mroonga %bcond_without rocksdb +%bcond_with cassandra %else %bcond_with tokudb %bcond_with mroonga %bcond_with rocksdb +%bcond_with cassandra %endif # The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing @@ -241,7 +247,6 @@ BuildRequires: perl(Time::HiRes) BuildRequires: perl(Symbol) # for running some openssl tests rhbz#1189180 BuildRequires: openssl openssl-devel -Requires: openssl Requires: bash coreutils grep @@ -414,9 +419,6 @@ Requires: psmisc Requires: coreutils Requires(pre): /usr/sbin/useradd -# Bison SQL parser -# WHY?? (testsuite??) -Requires: bison # We require this to be present for %%{_tmpfilesdir} Requires: systemd # Make sure it's there when scriptlets run, too @@ -546,6 +548,16 @@ Requires: sphinx libsphinxclient The Sphinx storage engine for MariaDB. %endif +%if %{with cassandra} +%package cassandra-engine +Summary: The Cassandra storage engine for MariaDB - EXPERIMENTAL VERSION +Requires: %{name}-server%{?_isa} = %{sameevr} +BuildRequires: cassandra thrift-devel + +%description cassandra-engine +The Cassandra storage engine for MariaDB. EXPERIMENTAL VERSION! +%endif + %package server-utils Summary: Non-essential server utilities for MariaDB/MySQL applications @@ -829,6 +841,7 @@ export CFLAGS CXXFLAGS -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ + -DWITH_JEMALLOC=no \ -DLZ4_LIBS=%{_libdir}/liblz4.so \ -DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ -DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \ @@ -838,6 +851,7 @@ export CFLAGS CXXFLAGS -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ + -DWITH_CASSANDRA=%{?with_cassandra:TRUE}%{!?with_cassandra:FALSE} \ -DCONNECT_WITH_MONGO=OFF \ -DCONNECT_WITH_JDBC=OFF \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} @@ -1358,6 +1372,7 @@ fi %{?with_tokudb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so} %{?with_ggsapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so} %{?with_sphinx:%exclude %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so} +%{?with_cassandra:%exclude %{_libdir}/%{pkg_name}/plugin/ha_cassandra.so} %if %{with clibrary} %exclude %{_libdir}/%{pkg_name}/plugin/dialog.so %exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so @@ -1498,6 +1513,12 @@ fi %{_libdir}/%{pkg_name}/plugin/ha_connect.so %endif +%if %{with cassandra} +%files cassandra-engine +%config(noreplace) %{_sysconfdir}/my.cnf.d/cassandra.cnf +%{_libdir}/%{pkg_name}/plugin/ha_cassandra.so +%endif + %files server-utils # Perl utilities %{_bindir}/mysql_convert_table_format From e7e8c32ace7195c39b92a2c968094ae04c77ba4a Mon Sep 17 00:00:00 2001 From: Jakub Janco Date: Thu, 14 Jun 2018 13:02:55 +0200 Subject: [PATCH 499/789] Merge changes from 'master' into 'private-10.3-COPR' --- mariadb-logrotate.patch | 2 +- mariadb.rpmlintrc | 31 +++++++++++ mariadb.spec | 104 +++++++++++++++++++++++++++++-------- mysql.service.in | 12 +++-- mysql@.service.in | 12 +++-- rh-skipped-tests-arm.list | 3 +- rh-skipped-tests-base.list | 59 +++++++++------------ rh-skipped-tests-ppc.list | 62 ++++++++++++---------- rh-skipped-tests-s390.list | 2 + 9 files changed, 190 insertions(+), 97 deletions(-) create mode 100644 mariadb.rpmlintrc diff --git a/mariadb-logrotate.patch b/mariadb-logrotate.patch index 9be0c99..a495c07 100644 --- a/mariadb-logrotate.patch +++ b/mariadb-logrotate.patch @@ -59,7 +59,7 @@ Update 3/2017 - endscript -} +# Then, un-comment the following lines to enable rotation of mysql's log file: -+#@LOG_LOCATION@/mysqld.log { ++#@LOG_LOCATION@ { +# create 600 mysql mysql +# notifempty +# daily diff --git a/mariadb.rpmlintrc b/mariadb.rpmlintrc new file mode 100644 index 0000000..74911d2 --- /dev/null +++ b/mariadb.rpmlintrc @@ -0,0 +1,31 @@ +# THIS FILE SERVES FOR WHITELISTING RPMLINT ERRORS AND WARNINGS IN TASKOTRON +# https://fedoraproject.org/wiki/Taskotron/Tasks/dist.rpmlint#Whitelisting_errors + +# (same file in python3 package served as a great example) + + + +# Spelling errors +addFilter(r'spelling-error .* en_US (cnf|mysqld|benchmarking|pam|passwordless|subpackage) ') + +# Debugsource +addFilter(r'^mariadb.*debugsource\.[^:]+: (E|W): no-documentation') + +# Debuginfo +addFilter(r'^mariadb.*debuginfo\.[^:]+: (E|W): useless-provides debuginfo\(build-id\)') + +# Testsuite +# Some expected tests results are zero-length files +addFilter(r'(zero-length|pem-certificate) /usr/share/mysql-test/*') + +# Chroot function +# False positive; checked by upstream +addFilter(r'missing-call-to-chdir-with-chroot') + +# Missing documentation +# I don't think that's on the upstream priority list +addFilter(r'no-documentation') + +# Obsoleted not provided +# Obsoleting upstream packages, not providing them is expected to not mix them up +addFilter(r'obsolete-not-provided MySQL') diff --git a/mariadb.spec b/mariadb.spec index 1829335..582d485 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -16,9 +16,15 @@ # Turn that off to ensure such files don't get included in RPMs (cf bz#884755). %global _default_patch_flags --no-backup-if-mismatch + + # TokuDB engine # https://mariadb.com/kb/en/mariadb/tokudb/ # TokuDB engine is available only for x86_64 +# * There's a problem currently with jemalloc, which tokudb use. +# TokuDB does not yet support new Jemalloc 5, but on F>=28, there's only Jemalloc 5. Not a supported configuration. +# * Disabling build of TokuDB with Jemalloc 5 since it doesn't work. https://jira.percona.com/browse/PS-4393 +# Also build of TokuDB without Jemalloc is not supported. # Mroonga engine # https://mariadb.com/kb/en/mariadb/about-mroonga/ # Actual version in MariaDB, 5.04, only supports the x86_64 @@ -26,8 +32,12 @@ # RocksDB engine # https://mariadb.com/kb/en/library/myrocks-supported-platforms/ # RocksB engine is available only for x86_64 -%ifarch x86_64 +%if %_arch == x86_64 && 0%{?fedora} +%if 0%{?fedora} >= 28 || 0%{?rhel} > 7 +%bcond_with tokudb +%else %bcond_without tokudb +%endif %bcond_without mroonga %bcond_without rocksdb %else @@ -41,12 +51,16 @@ %bcond_without oqgraph # Other plugins -# Allow to override the values outside of spec -# https://github.com/rpm-software-management/rpm/blob/34c2ba3c/macros.in#L100-L141 -%{!?_with_cracklib: %{!?_without_cracklib: %bcond_without cracklib}} -%{!?_with_gssapi: %{!?_without_gssapi: %bcond_without gssapi}} -%{!?_with_connect: %{!?_without_sphinx: %bcond_without connect}} -%{!?_with_sphinx: %{!?_without_sphinx: %bcond_without sphinx}} +%if 0%{?fedora} +%bcond_without cracklib +%bcond_without connect +%bcond_without sphinx +%else +%bcond_with cracklib +%bcond_with connect +%bcond_with sphinx +%endif +%bcond_without gssapi # For some use cases we do not need some parts of the package. Set to "...with" to exclude %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 @@ -72,14 +86,19 @@ # For deep debugging we need to build binaries with extra debug info %bcond_with debug +# Page compression algorithms for InnoDB & XtraDB +# lz4 currently cannot be turned off by CMake, only by not having lz4-devel package in the buildroot +# https://jira.mariadb.org/browse/MDEV-15932 +%bcond_without lz4 + # MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use # the bundled library, since the package cannot be build with older version %if 0%{?fedora} || 0%{?rhel} > 7 -%bcond_without bundled_pcre +%bcond_without unbundled_pcre %else -%bcond_with bundled_pcre +%bcond_with unbundled_pcre %global pcre_bundled_version 8.41 %endif @@ -112,8 +131,13 @@ %global obsoleted_mariadb_galera_server_evr 1:10.0.17-6 # Provide mysql names for compatibility +%if 0%{?fedora} %bcond_without mysql_names %bcond_without conflicts +%else +%bcond_with mysql_names +%bcond_with conflicts +%endif # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} @@ -171,11 +195,14 @@ Patch37: %{pkgnamepatch}-notestdb.patch Patch40: %{pkgnamepatch}-galera.cnf.patch BuildRequires: cmake gcc-c++ -BuildRequires: zlib-devel BuildRequires: multilib-rpm-config BuildRequires: selinux-policy-devel BuildRequires: systemd systemd-devel +# Page compression algorithms for InnoDB & XtraDB +BuildRequires: zlib-devel +%{?with_lz4:BuildRequires: lz4-devel} + # TokuDB and some core stuff BuildRequires: jemalloc-devel @@ -193,8 +220,8 @@ BuildRequires: bison bison-devel # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel # use either new enough version of pcre or provide bundles(pcre) -%{?with_bundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf} -%{!?with_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}} +%{?with_unbundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf} +%{!?with_unbundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}} # Few utilities needs Perl %if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: perl-interpreter @@ -378,10 +405,10 @@ Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-errmsg%{?_isa} = %{sameevr} Recommends: %{name}-server-utils%{?_isa} = %{sameevr} Recommends: %{name}-backup%{?_isa} = %{sameevr} -Recommends: %{name}-craclkib-password-check%{?_isa} = %{sameevr} -Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr} -Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr} -Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr} +%{?with_cracklib:Recommends: %{name}-cracklib-password-check%{?_isa} = %{sameevr}} +%{?with_gssapi:Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}} +%{?with_rocksdb:Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr}} +%{?with_tokudb:Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}} Suggests: mytop @@ -478,6 +505,7 @@ The RocksDB storage engine is used for high performance servers on SSD drives. %package tokudb-engine Summary: The TokuDB storage engine for MariaDB Requires: %{name}-server%{?_isa} = %{sameevr} +Requires: jemalloc %description tokudb-engine The TokuDB storage engine from Percona. @@ -709,7 +737,7 @@ sed 's/mariadb-server-galera/%{name}-server-galera/' %{SOURCE72} > selinux/%{nam pcre_maj=`grep '^m4_define(pcre_major' pcre/configure.ac | sed -r 's/^m4_define\(pcre_major, \[([0-9]+)\]\)/\1/'` pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\(pcre_minor, \[([0-9]+)\]\)/\1/'` -%if %{without bundled_pcre} +%if %{without unbundled_pcre} # Check if the PCRE version in macro 'pcre_bundled_version', used in Provides: bundled(...), is the same version as upstream actually bundles if [ %{pcre_bundled_version} != "$pcre_maj.$pcre_min" ] then @@ -806,7 +834,9 @@ export CFLAGS CXXFLAGS -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DWITH_JEMALLOC=no \ + -DWITH_JEMALLOC=yes \ + -DLZ4_LIBS=%{_libdir}/liblz4.so \ + -DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ -DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \ -DPLUGIN_OQGRAPH=%{?with_oqgraph:DYNAMIC}%{!?with_oqgraph:NO} \ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=%{?with_cracklib:DYNAMIC}%{!?with_cracklib:NO} \ @@ -819,12 +849,12 @@ export CFLAGS CXXFLAGS %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} # Print all Cmake options values +# cmake -LAH for List Advanced Help cmake -L make %{?_smp_mflags} VERBOSE=1 - # build selinux policy %if %{with galera} pushd selinux @@ -843,7 +873,8 @@ ln -s mysql_config.1.gz %{buildroot}%{_mandir}/man1/mariadb_config.1.gz # multilib support for shell scripts # we only apply this to known Red Hat multilib arches, per bug #181335 -if %multilib_capable; then +if [ %multilib_capable ] +then mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} install -p -m 0755 scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config # Copy manual page for multilib mysql_config; https://jira.mariadb.org/browse/MDEV-11961 @@ -1033,6 +1064,12 @@ mysqldump,mysqlimport,mysqlshow,mysqlslap}.1* # because upstream ships manpages for tokudb even on architectures that tokudb doesn't support rm %{buildroot}%{_mandir}/man1/tokuftdump.1* rm %{buildroot}%{_mandir}/man1/tokuft_logdump.1* +%else +%if 0%{?fedora} >= 28 || 0%{?rhel} > 7 +echo 'Environment="LD_PRELOAD=%{_libdir}/libjemalloc.so.2"' >> %{buildroot}%{_sysconfdir}/systemd/system/mariadb.service.d/tokudb.conf +%endif +# Move to better location, systemd config files has to be in /lib/ +mv %{buildroot}%{_sysconfdir}/systemd/system/mariadb.service.d %{buildroot}/usr/lib/systemd/system/ %endif %if %{without config} @@ -1107,15 +1144,26 @@ export MTR_BUILD_THREAD=%{__isa_bits} set -ex cd mysql-test - perl ./mysql-test-run.pl --force --retry=0 --ssl \ - --suite-timeout=720 --testcase-timeout=30 \ + perl ./mysql-test-run.pl --force --retry=1 --ssl \ + --suite-timeout=900 --testcase-timeout=30 \ --mysqld=--binlog-format=mixed --force-restart \ --shutdown-timeout=60 --max-test-fail=0 --big-test \ + --skip-test=spider \ %if %{ignore_testsuite_result} || : %else --skip-test-list=unstable-tests %endif + +# Second run for the SPIDER suites that fail with SCA (ssl self signed certificate) + perl ./mysql-test-run.pl --force --retry=1 \ + --suite-timeout=900 --testcase-timeout=30 \ + --mysqld=--binlog-format=mixed --force-restart \ + --shutdown-timeout=60 --max-test-fail=0 --big-test \ + --skip-ssl --suite=spider,spider/bg \ +%if %{ignore_testsuite_result} + || : +%endif ) %endif # if dry run @@ -1429,6 +1477,7 @@ fi %{_mandir}/man1/tokuft_logdump.1* %config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so +/usr/lib/systemd/system/mariadb.service.d/tokudb.conf %endif %if %{with gssapi} @@ -1526,6 +1575,17 @@ fi %endif %changelog +* Wed May 23 2018 Michal Schorm - 3:10.2.15-1 +- Rebase to 10.2.15 +- CVEs fixed: #1568962 + CVE-2018-2755 CVE-2018-2761 CVE-2018-2766 CVE-2018-2771 CVE-2018-2781 + CVE-2018-2782 CVE-2018-2784 CVE-2018-2787 CVE-2018-2813 CVE-2018-2817 + CVE-2018-2819 CVE-2018-2786 CVE-2018-2759 CVE-2018-2777 CVE-2018-2810 + +* Thu Mar 29 2018 Michal Schorm - 3:10.2.14-1 +- Rebase to 10.2.14 +- Update testsuite run for SSL self signed certificates + * Tue Mar 6 2018 Michal Schorm - 3:10.2.13-2 - Further fix of ldconfig scriptlets for F27 - Fix hardcoded paths, move unversioned libraries and symlinks to the devel subpackage diff --git a/mysql.service.in b/mysql.service.in index bb5b8c2..6f84dd3 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -26,8 +26,15 @@ [Unit] Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server +Documentation=man:mysqld(8) +Documentation=https://mariadb.com/kb/en/library/systemd/ After=network.target +[Install] +WantedBy=multi-user.target +Alias=mysql.service +Alias=mysqld.service + [Service] Type=notify User=mysql @@ -64,8 +71,3 @@ TimeoutSec=300 # Place temp files in a secure directory, not /tmp PrivateTmp=true - -[Install] -WantedBy=multi-user.target -Alias=mysql.service -Alias=mysqld.service diff --git a/mysql@.service.in b/mysql@.service.in index 34e645f..b36ce6d 100644 --- a/mysql@.service.in +++ b/mysql@.service.in @@ -33,8 +33,15 @@ [Unit] Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server +Documentation=man:mysqld(8) +Documentation=https://mariadb.com/kb/en/library/systemd/ After=network.target +[Install] +WantedBy=multi-user.target +Alias=mysql.service +Alias=mysqld.service + [Service] Type=notify User=mysql @@ -70,8 +77,3 @@ TimeoutSec=300 # Place temp files in a secure directory, not /tmp PrivateTmp=true - -[Install] -WantedBy=multi-user.target -Alias=mysql.service -Alias=mysqld.service diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index 8b13789..6ec9031 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -1 +1,2 @@ - +# Fails since 10.2.15 +encryption.innodb-encryption-alter : diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 5859a1d..3afa05d 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -2,20 +2,20 @@ # https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-84275 main.ssl_7937 : #1399847 main.ssl_crl_clients : #1399847 +main.ssl_cert_verify : # main.non_blocking_api : #1399847 perfschema.nesting : #1399847 perfschema.socket_summary_by_instance_func : #1399847 +perfschema.socket_summary_by_event_name_func : # needs this tests disabled for mode build plugins.feedback_plugin_load : # plugins.show_all_plugins : warnings in log # ------------------------------ -# Failing from rebase to 10.1.24 -# issues trackers will be added - +# Tests that fails because of 'Self Signed Certificate in the Certificate Chain' perfschema.cnf_option : rpl.rpl_row_img_blobs : @@ -24,40 +24,11 @@ rpl.rpl_row_img_eng_noblob : sys_vars.slave_parallel_threads_basic : -# Fails since 10.1.12 +# ------------------------------ +# Fails since 10.1.12; only x86_64 innodb.innodb_defrag_binlog : -# Fails on PPC, PPC64 and AArch -parts.partition_alter4_innodb : #1399847 - -# https://jira.mariadb.org/browse/MDEV-14003 -spider/bg.spider3_fixes_part : -spider/bg.spider_fixes : -spider/bg.spider_fixes_part : -spider/bg.basic_sql : -spider/bg.basic_sql_part : -spider/bg.direct_aggregate_part : -spider/bg.direct_update : -spider/bg.direct_update_part : -spider/bg.function : -spider/bg.ha : -spider/bg.ha_part : -spider/bg.vp_fixes : -spider.spider3_fixes : -spider.spider3_fixes_part : -spider.spider_fixes : -spider.spider_fixes_part : -spider.basic_sql_part : -spider.direct_aggregate : -spider.direct_aggregate_part : -spider.direct_update : -spider.direct_update_part : -spider.function : -spider.ha : -spider.ha_part : -spider.vp_fixes : - -# 10.2.12 and 10.2.13 after some unidentified change in Rawhide buildroot +# on x86_64 after 10.2.12 and 10.2.13 after some unidentified change in Rawhide buildroot mroonga/storage.index_multiple_column_range_all_used_less_than : mroonga/storage.index_multiple_column_range_all_used_less_than_or_equal : mroonga/storage.index_multiple_column_range_partially_used_have_prefix_less_than : @@ -67,3 +38,21 @@ mroonga/storage.index_multiple_column_range_partially_used_no_prefix_less_than_o mroonga/storage.optimization_order_limit_optimized_datetime_less_than : mroonga/storage.optimization_order_limit_optimized_datetime_less_than_or_equal : +# Fails everywhere since 10.2.15 +main.non_blocking_api : +main.userstat : + +# Fails on x86_64 since 10.2.15 +rocksdb.2pc_group_commit : +rocksdb.read_only_tx : +rocksdb.shutdown : +rocksdb.index_merge_rocksdb2 : +rocksdb.index_merge_rocksdb : + +# Fails on ppc and arm since 10.2.15 +binlog.binlog_flush_binlogs_delete_domain : +innodb.innodb_buffer_pool_resize_with_chunks : +innodb.innodb_buffer_pool_resize : +innodb_gis.rtree_compress : +innodb_gis.rtree_compress2 : +parts.partition_alter4_innodb : diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index a62648c..38a0948 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -1,33 +1,12 @@ -# Fails since 10.1.12 only on PPC64 -innodb_fts.fulltext : -# Fails since 10.1.12 only on PPC64 and PPC64le; timeout after 1800 seconds -innodb.innodb_defrag_concurrent : -parts.partition_alter1_2_innodb : - # 10.2.12 & 10.2.13 after some uninedtified Rawhide (and the forked f28) buildroot change # failed: 1045: Access denied for user '.....'@'localhost' (using password: YES) +binlog_encryption.encrypted_master : binlog_encryption.encrypted_slave : -rpl.rpl_create_drop_user : -rpl.rpl_do_grant : -rpl.rpl_temporary : -main.connect : -main.events_bugs : -main.mysql_client_test : -main.mysql_upgrade-6984 : -innodb.innodb_defragment : -innodb.innodb_defrag_stats : -main.mysql_upgrade : -innodb.temporary_table_optimization : -main.plugin_auth : + funcs_1.innodb_trig_03 : funcs_1.innodb_trig_03e : funcs_1.innodb_trig_0407 : funcs_1.innodb_trig_08 : -innodb.innodb_bug34053 : -main.select_pkeycache : -main.mysql_client_test_comp : -main.plugin_auth_qa_1 : -sys_vars.secure_auth_func : funcs_1.memory_trig_03 : funcs_1.memory_trig_03e : funcs_1.memory_trig_0407 : @@ -38,24 +17,51 @@ funcs_1.myisam_trig_0407 : funcs_1.myisam_trig_08 : funcs_1.processlist_priv_no_prot : funcs_1.processlist_val_no_prot : -main.change_user : + +innodb.innodb_bug34053 : +innodb.temporary_table_optimization : +innodb_zip.cmp_per_index : + +main.connect : +main.derived_cond_pushdown : +main.events_bugs : main.grant : main.grant2 : +main.change_user : main.lowercase_fs_off : +main.mysql_client_test : +main.mysql_client_test_comp : +main.mysql_client_test_nonblock : +main.mysql_upgrade : +main.mysql_upgrade-6984 : +main.plugin_auth : +main.plugin_auth_qa_1 : +main.ps : main.ps_grant : -main.select : -main.select_jcl6 : +main.select_pkeycache : main.set_password_plugin-9835 : main.show_grants_with_plugin-7985 : -main.sp-security : main.sp_notembedded : -main.type_float : +main.sp-security : main.type_newdecimal : main.type_ranges : main.userstat-badlogin-4824 : main.view_grant : + +parts.partition_alter1_1_innodb : +parts.partition_alter1_2_innodb : +parts.part_supported_sql_func_innodb : + plugins.auth_ed25519 : + roles.grant_role_auto_create_user : + +rpl.rpl_create_drop_user : +rpl.rpl_do_grant : +rpl.rpl_temporary : + sys_vars.old_passwords_func : +sys_vars.secure_auth_func : + unit.conc_connection : unit.ed25519 : diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list index e69de29..e0a897b 100644 --- a/rh-skipped-tests-s390.list +++ b/rh-skipped-tests-s390.list @@ -0,0 +1,2 @@ +# Fails since 10.2.15 +disks.disks : From 84de4c5d8c3701d280b5ad23cb99b8ebe7cb0e0d Mon Sep 17 00:00:00 2001 From: Jakub Janco Date: Wed, 13 Jun 2018 16:36:22 +0200 Subject: [PATCH 500/789] new version 10.3.7 --- mariadb-notestdb.patch | 16 ---------------- mariadb.spec | 8 ++------ mysql-prepare-db-dir.sh | 2 +- sources | 2 +- 4 files changed, 4 insertions(+), 24 deletions(-) delete mode 100644 mariadb-notestdb.patch diff --git a/mariadb-notestdb.patch b/mariadb-notestdb.patch deleted file mode 100644 index 90a0d88..0000000 --- a/mariadb-notestdb.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up mariadb-10.0.16/scripts/mysql_install_db.pl.in.createtestdb mariadb-10.0.16/scripts/mysql_install_db.pl.in ---- mariadb-10.0.16/scripts/mysql_install_db.pl.in.createtestdb 2015-03-03 23:02:33.287620715 +0100 -+++ mariadb-10.0.16/scripts/mysql_install_db.pl.in 2015-03-03 23:02:56.664641960 +0100 -@@ -398,10 +398,10 @@ if ( $opt->{'skip-name-resolve'} and $re - } - - # ---------------------------------------------------------------------- --# Create database directories mysql & test -+# Create database directories mysql - # ---------------------------------------------------------------------- - --foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql", "$opt->{ldata}/test" ) -+foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql" ) - { - # FIXME not really the same as original "mkdir -p", but ok? - mkdir($dir, 0700) unless -d $dir; diff --git a/mariadb.spec b/mariadb.spec index 582d485..9812066 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -142,7 +142,7 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.3 -%global bugfixver 6 +%global bugfixver 7 Name: mariadb Version: %{compatver}.%{bugfixver} @@ -187,10 +187,6 @@ Patch7: %{pkgnamepatch}-scripts.patch # Patch9: pre-configure to comply with guidelines Patch9: %{pkgnamepatch}-ownsetup.patch -# Patches specific for this mysql package -# Patch37: don't create a test DB: https://jira.mariadb.org/browse/MDEV-12645 -Patch37: %{pkgnamepatch}-notestdb.patch - # Patches for galera Patch40: %{pkgnamepatch}-galera.cnf.patch @@ -701,7 +697,6 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \; %patch4 -p1 %patch7 -p1 %patch9 -p1 -%patch37 -p1 %patch40 -p1 # workaround for upstream bug #56342 @@ -1408,6 +1403,7 @@ fi %{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql %{_datadir}/%{pkg_name}/mysql_to_mariadb.sql %{_datadir}/%{pkg_name}/mysql_performance_tables.sql +%{_datadir}/%{pkg_name}/mysql_test_db.sql %if %{with mroonga} %{_datadir}/%{pkg_name}/mroonga/install.sql %{_datadir}/%{pkg_name}/mroonga/uninstall.sql diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index 22d0566..a82479f 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -97,7 +97,7 @@ if should_initialize "$datadir" ; then # https://bugzilla.redhat.com/show_bug.cgi?id=1335849#c19 INITDB_TIMESTAMP=`LANG=C date -u` sleep 1 - @bindir@/mysql_install_db --rpm --datadir="$datadir" --user="$myuser" >&2 + @bindir@/mysql_install_db --rpm --datadir="$datadir" --user="$myuser" --skip-test-db >&2 ret=$? if [ $ret -ne 0 ] ; then echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2 diff --git a/sources b/sources index 5ed519a..b541430 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.3.6.tar.gz) = cf146752be5857e702a3c88f42c7b6be3117bd92ac304eb217f902c1ffe478dc3043d3cf6a9a9305b51babb3bafc2612a8e4f5dfa7731cfa53634014d86438d1 +SHA512 (mariadb-10.3.7.tar.gz) = b1b3ad9ddc45bdfd3d03888ba160f9991b23187341deac402d5dc4b735511e29767a5dc64ca557bea9bf3d3b413b941ef2e1f5fa30be056dfaec4542a43895f1 From 7e5c97df1b1301e8cb937ebad67c30b405ec5e48 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 14 Jun 2018 15:39:00 +0200 Subject: [PATCH 501/789] Explicitly say that RocksDB is bundled Attempt to unbundle it was unsuccessful --- mariadb.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/mariadb.spec b/mariadb.spec index 33b359f..d98aba4 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -491,6 +491,7 @@ For InnoDB, "hot online" backups are possible. %package rocksdb-engine Summary: The RocksDB storage engine for MariaDB Requires: %{name}-server%{?_isa} = %{sameevr} +Provides: bundled(rocksdb) %description rocksdb-engine The RocksDB storage engine is used for high performance servers on SSD drives. From 501d76fa75ac25a12fb3950f62b226942aded831 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 15 Jun 2018 03:26:43 +0200 Subject: [PATCH 502/789] Add tets to PPC skipped tests list --- rh-skipped-tests-ppc.list | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index 38a0948..bc9faf9 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -65,3 +65,7 @@ sys_vars.secure_auth_func : unit.conc_connection : unit.ed25519 : + +# From 10.2.15 +# "mysqltest: Could not open connection 'default' after 500 attempts: 2002 Can't connect to local MySQL server through socket" +innodb.innodb_defrag_concurrent : From 5017c8531a0f12dcf54c5c7af4d5b6b72923e842 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 15 Jun 2018 11:38:50 +0200 Subject: [PATCH 503/789] Add test to PPC skipped tests list --- rh-skipped-tests-ppc.list | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index bc9faf9..cd73957 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -69,3 +69,6 @@ unit.ed25519 : # From 10.2.15 # "mysqltest: Could not open connection 'default' after 500 attempts: 2002 Can't connect to local MySQL server through socket" innodb.innodb_defrag_concurrent : + +# Different cause +innodb.innodb_defragment : From 0ad70031b66203bdc6fb6fef4ee68fc7e241663b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 16 Jun 2018 21:24:00 +0200 Subject: [PATCH 504/789] Disable AWS_KEY_MANAGEMENT plugin build It needs git and it clones repository from the GitHub during the build process --- mariadb.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/mariadb.spec b/mariadb.spec index d98aba4..fafcf30 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -853,6 +853,7 @@ export CFLAGS CXXFLAGS -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ -DWITH_CASSANDRA=%{?with_cassandra:TRUE}%{!?with_cassandra:FALSE} \ + -DPLUGIN_AWS_KEY_MANAGEMENT=NO \ -DCONNECT_WITH_MONGO=OFF \ -DCONNECT_WITH_JDBC=OFF \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} From c4a60779cc94212b8b08e9129387f3ef99755512 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 22 Jun 2018 00:06:22 +0200 Subject: [PATCH 505/789] The test is no longer present --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index d9c0ed6..856a560 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -708,7 +708,7 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \; %patch40 -p1 # workaround for upstream bug #56342 -rm mysql-test/t/ssl_8k_key-master.opt +#rm mysql-test/t/ssl_8k_key-master.opt # generate a list of tests that fail, but are not disabled by upstream cat %{SOURCE50} | tee -a mysql-test/unstable-tests From 77a5efc982373082e12ef2ed23f7b82a9341d145 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 22 Jun 2018 11:24:19 +0200 Subject: [PATCH 506/789] Blacklist the main.ssl_8k_key test --- rh-skipped-tests-base.list | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 3afa05d..22a59d9 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -4,6 +4,8 @@ main.ssl_7937 : #1399847 main.ssl_crl_clients : #1399847 main.ssl_cert_verify : +main.ssl_8k_key : + # main.non_blocking_api : #1399847 perfschema.nesting : #1399847 From 93aa991e59ddfa1c7fcc0f8b9cc71badb6dc3bb9 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 25 Jun 2018 05:19:33 +0200 Subject: [PATCH 507/789] Add failing test --- rh-skipped-tests-ppc.list | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index cd73957..ddfa0e7 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -72,3 +72,6 @@ innodb.innodb_defrag_concurrent : # Different cause innodb.innodb_defragment : + +# From 10.3.7 +rpl.rpl_connection : From d474461a5d661265a5152d3b3f4a728f4894d8d6 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 26 Jun 2018 08:36:50 +0200 Subject: [PATCH 508/789] Add failing test --- rh-skipped-tests-ppc.list | 1 + 1 file changed, 1 insertion(+) diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index ddfa0e7..38a033d 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -75,3 +75,4 @@ innodb.innodb_defragment : # From 10.3.7 rpl.rpl_connection : +sql_sequence.alter_notembedded : From 5007ecd667483f01fc67577548d6f9de0acbbafb Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 27 Jun 2018 16:01:22 +0200 Subject: [PATCH 509/789] Fix log rotation Add forgotten 10.3.7 changelog entry Remove galera and mysql obsoletion Tweak the testsuite runs Fix files section when build with test subpackage but without embedded subpackage --- mariadb-logrotate.patch | 75 ++++++++++++++++++++--------------------- mariadb.spec | 63 ++++++++++------------------------ 2 files changed, 54 insertions(+), 84 deletions(-) diff --git a/mariadb-logrotate.patch b/mariadb-logrotate.patch index a495c07..c11198f 100644 --- a/mariadb-logrotate.patch +++ b/mariadb-logrotate.patch @@ -21,59 +21,56 @@ Update 3/2017 during flushing, the operation is not atomic. We should not ship it in that state ---- mariadb-10.1.23/support-files/mysql-log-rotate.sh 2017-05-18 08:33:01.000000000 +0200 -+++ mariadb-10.1.23/support-files/mysql-log-rotate.sh.patched 2017-05-24 11:54:33.686860390 +0200 -@@ -1,9 +1,9 @@ +Update 6/2018 +* the SIGHUP causes server to flush all logs. No password admin needed, the only constraint is + beeing able to send the SIGHUP to the process and read the mysqld pid file, which root can. + +--- mariadb-10.3.7/support-files/mysql-log-rotate.sh 2018-05-23 22:38:46.000000000 +0200 ++++ mariadb-10.3.7/support-files/mysql-log-rotate.sh_patched 2018-06-27 12:11:23.705719826 +0200 +@@ -1,25 +1,12 @@ # This logname can be set in /etc/my.cnf --# by setting the variable "err-log" + # by setting the variable "err-log" -# in the [safe_mysqld] section as follows: -+# by setting the variable "log-error" +# in the [mysqld_safe] section as follows: # -# [safe_mysqld] -# err-log=@localstatedir@/mysqld.log +-# +-# If the root user has a password you have to create a +-# /root/.my.cnf configuration file with the following +-# content: +-# +-# [mysqladmin] +-# password = +-# user= root +-# +-# where "" is the password. +-# +-# ATTENTION: This /root/.my.cnf should be readable ONLY +-# for root ! +# [mysqld_safe] +# log-error=@LOG_LOCATION@ - # - # If the root user has a password you have to create a - # /root/.my.cnf configuration file with the following -@@ -18,20 +18,22 @@ - # ATTENTION: This /root/.my.cnf should be readable ONLY - # for root ! -@localstatedir@/mysqld.log { - # create 600 mysql mysql -- notifempty -- daily -- rotate 3 -- missingok -- compress -- postrotate -- # just if mysqld is really running ++@LOG_LOCATION@ { ++ create 600 mysql mysql + notifempty + daily + rotate 3 +@@ -27,11 +14,9 @@ + compress + postrotate + # just if mysqld is really running - if test -x @bindir@/mysqladmin && \ - @bindir@/mysqladmin ping &>/dev/null - then - @bindir@/mysqladmin --local flush-error-log \ - flush-engine-log flush-general-log flush-slow-log - fi -- endscript --} -+# Then, un-comment the following lines to enable rotation of mysql's log file: -+#@LOG_LOCATION@ { -+# create 600 mysql mysql -+# notifempty -+# daily -+# rotate 3 -+# missingok -+# compress -+# postrotate -+# # just if mysqld is really running -+# if test -x @bindir@/mysqladmin && \ -+# @bindir@/mysqladmin ping &>/dev/null -+# then -+# @bindir@/mysqladmin --local flush-error-log \ -+# flush-engine-log flush-general-log flush-slow-log -+# fi -+# endscript -+#} -+ ++ if [ -e @PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid ] ++ then ++ kill -1 $(<@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid) ++ fi + endscript + } diff --git a/mariadb.spec b/mariadb.spec index 856a560..89a5915 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -25,6 +25,7 @@ # TokuDB does not yet support new Jemalloc 5, but on F>=28, there's only Jemalloc 5. Not a supported configuration. https://jira.percona.com/browse/PS-4393 # Also build of TokuDB without Jemalloc is not supported. # * It is better to build TokuDB without jemalloc than not at all. So far, this configuration works for users and they want the TokuDB. +# * Based on the latest uinformation from the upstream, the problems with Jemalloc should be resolved in the 10.3.8 release # Mroonga engine # https://mariadb.com/kb/en/mariadb/about-mroonga/ # Current version in MariaDB, 7.07, only supports the x86_64 @@ -124,14 +125,6 @@ %global mysqluserhome /var/lib/mysql -# The evr of mysql we want to obsolete -%global obsoleted_mysql_evr 5.6-0 -%global obsoleted_mysql_case_evr 5.5.30-5 - -# The evr of mariadb-galera we want to obsolete -%global obsoleted_mariadb_galera_evr 1:10.0.17-6 -%global obsoleted_mariadb_galera_common_evr 5.5.36-10 -%global obsoleted_mariadb_galera_server_evr 1:10.0.17-6 # Provide mysql names for compatibility %if 0%{?fedora} @@ -144,12 +137,10 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} -%global compatver 10.3 -%global bugfixver 7 Name: mariadb -Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Version: 10.3.7 +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A community developed branch of MySQL @@ -266,13 +257,10 @@ Provides: mysql-compat-client%{?_isa} = %{sameevr} Suggests: %{name}-server%{?_isa} = %{sameevr} # MySQL (with caps) is upstream's spelling of their own RPMs for mysql -%{?obsoleted_mysql_case_evr:Obsoletes: MySQL < %{obsoleted_mysql_case_evr}} -%{?obsoleted_mysql_evr:Obsoletes: mysql < %{obsoleted_mysql_evr}} %{?with_conflicts:Conflicts: community-mysql} # obsoletion of mariadb-galera Provides: mariadb-galera = %{sameevr} -Obsoletes: mariadb-galera < %{obsoleted_mariadb_galera_evr} # Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering %global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) @@ -297,8 +285,6 @@ Requires: %{name}-common%{?_isa} = %{sameevr} Provides: mysql-libs = %{sameevr} Provides: mysql-libs%{?_isa} = %{sameevr} %endif # mysql_names -%{?obsoleted_mysql_case_evr:Obsoletes: MySQL-libs < %{obsoleted_mysql_case_evr}} -%{?obsoleted_mysql_evr:Obsoletes: mysql-libs < %{obsoleted_mysql_evr}} %description libs The mariadb-libs package provides the essential shared libraries for any @@ -336,7 +322,6 @@ Requires: %{_sysconfdir}/my.cnf # obsoletion of mariadb-galera-common Provides: mariadb-galera-common = %{sameevr} -Obsoletes: mariadb-galera-common < %{obsoleted_mariadb_galera_common_evr} %if %{without clibrary} Obsoletes: %{name}-libs <= %{sameevr} @@ -374,7 +359,6 @@ Requires: rsync # obsoletion of mariadb-galera-server Provides: mariadb-galera-server = %{sameevr} -Obsoletes: mariadb-galera-server <= %{obsoleted_mariadb_galera_server_evr} %description server-galera MariaDB is a multi-user, multi-threaded SQL database server. It is a @@ -406,6 +390,7 @@ Recommends: %{name}-backup%{?_isa} = %{sameevr} %{?with_tokudb:Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}} Suggests: mytop +Suggests: logrotate Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d @@ -427,10 +412,7 @@ Provides: mysql-server%{?_isa} = %{sameevr} Provides: mysql-compat-server = %{sameevr} Provides: mysql-compat-server%{?_isa} = %{sameevr} %endif -%{?obsoleted_mysql_case_evr:Obsoletes: MySQL-server < %{obsoleted_mysql_case_evr}} %{?with_conflicts:Conflicts: community-mysql-server} -%{?with_conflicts:Conflicts: mariadb-galera-server <= %{obsoleted_mariadb_galera_server_evr}} -%{?obsoleted_mysql_evr:Obsoletes: mysql-server < %{obsoleted_mysql_evr}} %description server MariaDB is a multi-user, multi-threaded SQL database server. It is a @@ -584,8 +566,6 @@ Requires: mariadb-connector-c-devel >= 3.0 Provides: mysql-devel = %{sameevr} Provides: mysql-devel%{?_isa} = %{sameevr} %endif -%{?obsoleted_mysql_case_evr:Obsoletes: MySQL-devel < %{obsoleted_mysql_case_evr}} -%{?obsoleted_mysql_evr:Obsoletes: mysql-devel < %{obsoleted_mysql_evr}} %{?with_conflicts:Conflicts: community-mysql-devel} %description devel @@ -611,8 +591,6 @@ Requires: %{name}-errmsg%{?_isa} = %{sameevr} Provides: mysql-embedded = %{sameevr} Provides: mysql-embedded%{?_isa} = %{sameevr} %endif -%{?obsoleted_mysql_case_evr:Obsoletes: MySQL-embedded < %{obsoleted_mysql_case_evr}} -%{?obsoleted_mysql_evr:Obsoletes: mysql-embedded < %{obsoleted_mysql_evr}} %description embedded MariaDB is a multi-user, multi-threaded SQL database server. This @@ -632,8 +610,6 @@ Provides: mysql-embedded-devel = %{sameevr} Provides: mysql-embedded-devel%{?_isa} = %{sameevr} %endif %{?with_conflicts:Conflicts: community-mysql-embedded-devel} -%{?obsoleted_mysql_case_evr:Obsoletes: MySQL-embedded-devel < %{obsoleted_mysql_case_evr}} -%{?obsoleted_mysql_evr:Obsoletes: mysql-embedded-devel < %{obsoleted_mysql_evr}} %description embedded-devel MariaDB is a multi-user, multi-threaded SQL database server. @@ -652,8 +628,6 @@ Provides: mysql-bench = %{sameevr} Provides: mysql-bench%{?_isa} = %{sameevr} %endif %{?with_conflicts:Conflicts: community-mysql-bench} -%{?obsoleted_mysql_case_evr:Obsoletes: MySQL-bench < %{obsoleted_mysql_case_evr}} -%{?obsoleted_mysql_evr:Obsoletes: mysql-bench < %{obsoleted_mysql_evr}} %description bench MariaDB is a multi-user, multi-threaded SQL database server. @@ -685,8 +659,6 @@ Requires: perl(Time::HiRes) Provides: mysql-test = %{sameevr} Provides: mysql-test%{?_isa} = %{sameevr} %endif -%{?obsoleted_mysql_case_evr:Obsoletes: MySQL-test < %{obsoleted_mysql_case_evr}} -%{?obsoleted_mysql_evr:Obsoletes: mysql-test < %{obsoleted_mysql_evr}} %description test MariaDB is a multi-user, multi-threaded SQL database server. @@ -781,17 +753,12 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" # force PIC mode so that we can build libmysqld.so CFLAGS="$CFLAGS -fPIC" -# Use -ldl for some plugins #1538990 -CFLAGS="$CFLAGS -ldl" -# gcc seems to have some bugs on sparc as of 4.4.1, back off optimization; rhbz#529298 -# Note: sparc = s390 -%ifarch sparc sparcv9 sparc64 -CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` -%endif # significant performance gains can be achieved by compiling with -O3 optimization; rhbz#1051069 %ifarch ppc64 CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` %endif +# Override all optimization flags when making a debug build +%{?with_debug: CFLAGS="$CFLAGS -0g"} CXXFLAGS="$CFLAGS" export CFLAGS CXXFLAGS @@ -1149,7 +1116,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} set -ex cd mysql-test - perl ./mysql-test-run.pl --force --retry=1 --ssl \ + perl ./mysql-test-run.pl --parallel=auto --mem --force --retry=1 --ssl \ --suite-timeout=900 --testcase-timeout=30 \ --mysqld=--binlog-format=mixed --force-restart \ --shutdown-timeout=60 --max-test-fail=0 --big-test \ @@ -1161,7 +1128,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} %endif # Second run for the SPIDER suites that fail with SCA (ssl self signed certificate) - perl ./mysql-test-run.pl --force --retry=1 \ + perl ./mysql-test-run.pl --parallel=auto --mem --force --retry=1 \ --suite-timeout=60 --testcase-timeout=10 \ --mysqld=--binlog-format=mixed --force-restart \ --shutdown-timeout=60 --max-test-fail=0 --big-test \ @@ -1572,22 +1539,28 @@ fi %if %{with test} %files test +%if %{with embedded} +%{_bindir}/mysql_client_test_embedded +%{_bindir}/mysqltest_embedded +%{_mandir}/man1/mysql_client_test_embedded.1* +%{_mandir}/man1/mysqltest_embedded.1* +%endif %{_bindir}/mysql_client_test %{_bindir}/my_safe_process -%{_bindir}/mysql_client_test_embedded %{_bindir}/mysqltest -%{_bindir}/mysqltest_embedded %attr(-,mysql,mysql) %{_datadir}/mysql-test %{_mandir}/man1/mysql_client_test.1* %{_mandir}/man1/my_safe_process.1* -%{_mandir}/man1/mysql_client_test_embedded.1* %{_mandir}/man1/mysqltest.1* -%{_mandir}/man1/mysqltest_embedded.1* %{_mandir}/man1/mysql-stress-test.pl.1* %{_mandir}/man1/mysql-test-run.pl.1* %endif %changelog +* Wed Jun 27 2018 Michal Schorm - 3:10.3.7-2 +- Rebase to 10.3.7 +- Remove the galera obsoletes + * Tue Jun 05 2018 Honza Horak - 3:10.2.15-2 - Use mysqladmin for checking the socket - Jemalloc dependency moved to the TokuDB subpackage. From de46359584821412c4571067c19dccaf30f0df62 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 28 Jun 2018 00:52:27 +0200 Subject: [PATCH 510/789] Remove the --mem option for the testsuite. KOJI does not have enough RAM for it (Errcode: 28 "No space left on device") --- mariadb.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 89a5915..ad8ed2a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1111,12 +1111,13 @@ export MTR_BUILD_THREAD=%{__isa_bits} # --do-test=mysql_client_test_nonblock \ # --skip-rpl # --suite=roles +# --mem for running in the RAM; Not enough space in KOJI for this ( set -ex cd mysql-test - perl ./mysql-test-run.pl --parallel=auto --mem --force --retry=1 --ssl \ + perl ./mysql-test-run.pl --parallel=auto --force --retry=1 --ssl \ --suite-timeout=900 --testcase-timeout=30 \ --mysqld=--binlog-format=mixed --force-restart \ --shutdown-timeout=60 --max-test-fail=0 --big-test \ @@ -1128,7 +1129,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} %endif # Second run for the SPIDER suites that fail with SCA (ssl self signed certificate) - perl ./mysql-test-run.pl --parallel=auto --mem --force --retry=1 \ + perl ./mysql-test-run.pl --parallel=auto --force --retry=1 \ --suite-timeout=60 --testcase-timeout=10 \ --mysqld=--binlog-format=mixed --force-restart \ --shutdown-timeout=60 --max-test-fail=0 --big-test \ From ed2eba3105ec5e3dbac1be511c995934964e64de Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 28 Jun 2018 11:19:53 +0200 Subject: [PATCH 511/789] Update Summary to match the upstream's --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index ad8ed2a..6db7f7f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -143,7 +143,7 @@ Version: 10.3.7 Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 -Summary: A community developed branch of MySQL +Summary: MariaDB: a very fast and robust SQL database server URL: http://mariadb.org # Exceptions allow client libraries to be linked with most open source SW, not only GPL code. See README.mysql-license License: GPLv2 with exceptions and LGPLv2 and BSD From fb947d868c9f46fa95d004f39554fbba7b935f79 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 29 Jun 2018 02:21:45 +0200 Subject: [PATCH 512/789] Fix logrotate comments Add PR URL --- mariadb-logrotate.patch | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mariadb-logrotate.patch b/mariadb-logrotate.patch index c11198f..fd58c42 100644 --- a/mariadb-logrotate.patch +++ b/mariadb-logrotate.patch @@ -24,6 +24,7 @@ Update 3/2017 Update 6/2018 * the SIGHUP causes server to flush all logs. No password admin needed, the only constraint is beeing able to send the SIGHUP to the process and read the mysqld pid file, which root can. +* Submited as PR: https://github.com/MariaDB/server/pull/807 --- mariadb-10.3.7/support-files/mysql-log-rotate.sh 2018-05-23 22:38:46.000000000 +0200 +++ mariadb-10.3.7/support-files/mysql-log-rotate.sh_patched 2018-06-27 12:11:23.705719826 +0200 @@ -31,7 +32,7 @@ Update 6/2018 # This logname can be set in /etc/my.cnf # by setting the variable "err-log" -# in the [safe_mysqld] section as follows: -+# in the [mysqld_safe] section as follows: ++# in the [mysqld] section as follows: # -# [safe_mysqld] -# err-log=@localstatedir@/mysqld.log @@ -48,8 +49,8 @@ Update 6/2018 -# -# ATTENTION: This /root/.my.cnf should be readable ONLY -# for root ! -+# [mysqld_safe] -+# log-error=@LOG_LOCATION@ ++# [mysqld] ++# log_error=@LOG_LOCATION@ -@localstatedir@/mysqld.log { - # create 600 mysql mysql From ecb40d449c382ea7e4052c75d5d798734c9f7b68 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 10 Jul 2018 19:33:27 +0200 Subject: [PATCH 513/789] Rebase to 10.3.8 Removal of the galera patch, it has been upstreamed Build TokuDB with jemalloc; jemalloc 5 support introduced by upstream; #1583853 Allow very few tests to fail the testsuite; this won't block builds on unstable tests --- mariadb-scripts.patch | 10 +++++----- mariadb.spec | 35 +++++++++++------------------------ rh-skipped-tests-arm.list | 11 +++++++++++ rh-skipped-tests-ppc.list | 13 +++++++++++++ sources | 2 +- 5 files changed, 41 insertions(+), 30 deletions(-) diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index fce33f6..b684482 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -1,13 +1,13 @@ We have some downstream patches and other scripts that include variables to be expanded by cmake. Cmake needs to know about them, so adding them manually. -diff -up mariadb-10.2.8/scripts/CMakeLists.txt.p7 mariadb-10.2.8/scripts/CMakeLists.txt ---- mariadb-10.2.8/scripts/CMakeLists.txt.p7 2017-08-20 13:26:10.640779557 +0200 -+++ mariadb-10.2.8/scripts/CMakeLists.txt 2017-08-20 13:27:05.774925486 +0200 -@@ -338,6 +338,33 @@ ELSE() +--- mariadb-10.3.8/scripts/CMakeLists.txt 2018-07-02 09:34:11.000000000 +0200 ++++ mariadb-10.3.8/scripts/CMakeLists.txt_patched 2018-07-03 10:58:15.954670153 +0200 +@@ -361,6 +361,34 @@ ELSE() + COMPONENT ${${file}_COMPONENT} ) ENDFOREACH() - ++ + # files for systemd + SET(SYSTEMD_SCRIPTS + mysql.tmpfiles.d diff --git a/mariadb.spec b/mariadb.spec index 6db7f7f..0c18140 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -21,11 +21,6 @@ # TokuDB engine # https://mariadb.com/kb/en/mariadb/tokudb/ # TokuDB engine is available only for x86_64 -# * There's a problem currently with jemalloc, which tokudb use. -# TokuDB does not yet support new Jemalloc 5, but on F>=28, there's only Jemalloc 5. Not a supported configuration. https://jira.percona.com/browse/PS-4393 -# Also build of TokuDB without Jemalloc is not supported. -# * It is better to build TokuDB without jemalloc than not at all. So far, this configuration works for users and they want the TokuDB. -# * Based on the latest uinformation from the upstream, the problems with Jemalloc should be resolved in the 10.3.8 release # Mroonga engine # https://mariadb.com/kb/en/mariadb/about-mroonga/ # Current version in MariaDB, 7.07, only supports the x86_64 @@ -139,8 +134,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.3.7 -Release: 2%{?with_debug:.debug}%{?dist} +Version: 10.3.8 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: MariaDB: a very fast and robust SQL database server @@ -181,9 +176,6 @@ Patch7: %{pkgnamepatch}-scripts.patch # Patch9: pre-configure to comply with guidelines Patch9: %{pkgnamepatch}-ownsetup.patch -# Patches for galera -Patch40: %{pkgnamepatch}-galera.cnf.patch - BuildRequires: cmake gcc-c++ BuildRequires: multilib-rpm-config BuildRequires: selinux-policy-devel @@ -677,7 +669,6 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \; %patch4 -p1 %patch7 -p1 %patch9 -p1 -%patch40 -p1 # workaround for upstream bug #56342 #rm mysql-test/t/ssl_8k_key-master.opt @@ -804,7 +795,7 @@ export CFLAGS CXXFLAGS -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DWITH_JEMALLOC=no \ + -DWITH_JEMALLOC=yes \ -DLZ4_LIBS=%{_libdir}/liblz4.so \ -DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ -DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \ @@ -1120,7 +1111,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} perl ./mysql-test-run.pl --parallel=auto --force --retry=1 --ssl \ --suite-timeout=900 --testcase-timeout=30 \ --mysqld=--binlog-format=mixed --force-restart \ - --shutdown-timeout=60 --max-test-fail=0 --big-test \ + --shutdown-timeout=60 --max-test-fail=5 --big-test \ --skip-test=spider \ %if %{ignore_testsuite_result} || : @@ -1310,12 +1301,7 @@ fi %{_bindir}/resolve_stack_dump %{_bindir}/resolveip # wsrep_sst_common should be moved to /usr/share/mariadb: https://jira.mariadb.org/browse/MDEV-14296 -%{_bindir}/wsrep_sst_common -%{_bindir}/wsrep_sst_mariabackup -%{_bindir}/wsrep_sst_mysqldump -%{_bindir}/wsrep_sst_rsync -%{_bindir}/wsrep_sst_xtrabackup -%{_bindir}/wsrep_sst_xtrabackup-v2 +%{_bindir}/wsrep_* %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf @@ -1367,11 +1353,7 @@ fi %{_mandir}/man1/resolveip.1* %{_mandir}/man1/resolve_stack_dump.1* %{_mandir}/man8/mysqld.8* -%{_mandir}/man1/wsrep_sst_common.1* -%{_mandir}/man1/wsrep_sst_mysqldump.1* -%{_mandir}/man1/wsrep_sst_rsync.1* -%{_mandir}/man1/wsrep_sst_xtrabackup.1* -%{_mandir}/man1/wsrep_sst_xtrabackup-v2.1* +%{_mandir}/man1/wsrep_*.1* %{_datadir}/%{pkg_name}/fill_help_tables.sql %{_datadir}/%{pkg_name}/install_spider.sql @@ -1541,6 +1523,7 @@ fi %if %{with test} %files test %if %{with embedded} +%{_bindir}/test-connect-t %{_bindir}/mysql_client_test_embedded %{_bindir}/mysqltest_embedded %{_mandir}/man1/mysql_client_test_embedded.1* @@ -1558,6 +1541,10 @@ fi %endif %changelog +* Tue Jul 03 2018 Michal Schorm - 3:10.3.8-1 +- Rebase to 10.3.8 +- Build TokuDB with jemalloc + * Wed Jun 27 2018 Michal Schorm - 3:10.3.7-2 - Rebase to 10.3.7 - Remove the galera obsoletes diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index 6ec9031..b464903 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -1,2 +1,13 @@ # Fails since 10.2.15 encryption.innodb-encryption-alter : + +# Fails since 10.3.8 +versioning.auto_increment : +versioning.delete : +versioning.foreign : +versioning.insert : +versioning.select2 : +versioning.update : +versioning.commit_id : +versioning.insert2 : +mariabackup.system_versioning : diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index 38a033d..4f0ac99 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -76,3 +76,16 @@ innodb.innodb_defragment : # From 10.3.7 rpl.rpl_connection : sql_sequence.alter_notembedded : + + +# From 10.3.8 +gcol.innodb_virtual_basic : +innodb_gis.kill_server : +parts.partition_alter1_1_2_innodb : +parts.partition_alter2_1_2_innodb : +parts.partition_alter2_2_1_innodb : +parts.partition_alter2_2_2_innodb : +parts.partition_alter2_1_1_innodb : +parts.partition_basic_innodb : +innodb_gis.rtree_search : + diff --git a/sources b/sources index b541430..c5a62da 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.3.7.tar.gz) = b1b3ad9ddc45bdfd3d03888ba160f9991b23187341deac402d5dc4b735511e29767a5dc64ca557bea9bf3d3b413b941ef2e1f5fa30be056dfaec4542a43895f1 +SHA512 (mariadb-10.3.8.tar.gz) = e1b61900a06fa57992a2f8516771f5fb98799ed5a4bbe74f858c0fe87b907cc6b600942d6fe97b6064cb39b610a7213cb3bc9634a336f9ebffe11dfe67746422 From 5ea47737e0cbcf975b9e1046e62792831ff923ac Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 13 Jul 2018 09:47:31 +0000 Subject: [PATCH 514/789] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 0c18140..a3356fc 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -135,7 +135,7 @@ Name: mariadb Version: 10.3.8 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: MariaDB: a very fast and robust SQL database server @@ -1541,6 +1541,9 @@ fi %endif %changelog +* Fri Jul 13 2018 Fedora Release Engineering - 3:10.3.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Tue Jul 03 2018 Michal Schorm - 3:10.3.8-1 - Rebase to 10.3.8 - Build TokuDB with jemalloc From b9c8da27f2e6f2b3f895d34083de029e91fbb452 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 18 Jul 2018 00:39:30 +0200 Subject: [PATCH 515/789] Move config files mysql-clients.cnf and enable_encryption.preset to correct sub-packages, similar to what upstream does --- mariadb.spec | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index a3356fc..8422255 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -135,7 +135,7 @@ Name: mariadb Version: 10.3.8 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: MariaDB: a very fast and robust SQL database server @@ -1021,6 +1021,7 @@ mysqldump,mysqlimport,mysqlshow,mysqlslap} rm %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_find_rows,\ mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ mysqldump,mysqlimport,mysqlshow,mysqlslap}.1* +rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf %endif %if %{without tokudb} @@ -1037,8 +1038,6 @@ mv %{buildroot}%{_sysconfdir}/systemd/system/mariadb.service.d %{buildroot}/usr/ %if %{without config} rm %{buildroot}%{_sysconfdir}/my.cnf -rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf -rm %{buildroot}%{_sysconfdir}/my.cnf.d/enable_encryption.preset %endif %if %{without common} @@ -1207,6 +1206,7 @@ fi %{_mandir}/man1/mysqlimport.1* %{_mandir}/man1/mysqlshow.1* %{_mandir}/man1/mysqlslap.1* +%config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf %endif %if %{with clibrary} @@ -1221,8 +1221,6 @@ fi # common package because it can be used for client settings too. %dir %{_sysconfdir}/my.cnf.d %config(noreplace) %{_sysconfdir}/my.cnf -%config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf -%config(noreplace) %{_sysconfdir}/my.cnf.d/enable_encryption.preset %endif %if %{with common} @@ -1304,6 +1302,7 @@ fi %{_bindir}/wsrep_* %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf +%config(noreplace) %{_sysconfdir}/my.cnf.d/enable_encryption.preset %{_libexecdir}/mysqld @@ -1541,6 +1540,10 @@ fi %endif %changelog +* Tue Jul 17 2018 Honza Horak - 3:10.3.8-3 +- Move config files mysql-clients.cnf and enable_encryption.preset to correct + sub-packages, similar to what upstream does + * Fri Jul 13 2018 Fedora Release Engineering - 3:10.3.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From a77eaad072fedfd8aa44c35fbac6aa8ff1e78994 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 25 Jul 2018 08:53:34 +0200 Subject: [PATCH 516/789] Do not build config on systems where mariadb-connector-c-config exists instead --- mariadb.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 8422255..de915ef 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -80,7 +80,11 @@ # When there is already another package that ships /etc/my.cnf, # rather include it than ship the file again, since conflicts between # those files may create issues +%if 0%{?fedora} >= 29 || 0%{?rhel} > 7 +%bcond_with config +%else %bcond_without config +%endif # For deep debugging we need to build binaries with extra debug info %bcond_with debug @@ -135,7 +139,7 @@ Name: mariadb Version: 10.3.8 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: MariaDB: a very fast and robust SQL database server @@ -1540,6 +1544,9 @@ fi %endif %changelog +* Wed Jul 25 2018 Honza Horak - 3:10.3.8-4 +- Do not build config on systems where mariadb-connector-c-config exists instead + * Tue Jul 17 2018 Honza Horak - 3:10.3.8-3 - Move config files mysql-clients.cnf and enable_encryption.preset to correct sub-packages, similar to what upstream does From 5e6fd0f190a1e255bd996dd07a5a82d34379137c Mon Sep 17 00:00:00 2001 From: Petr Lautrbach Date: Fri, 10 Aug 2018 09:36:12 +0200 Subject: [PATCH 517/789] Update mariadb-server-galera sub-package to require the correct package with /usr/sbin/semanage /usr/sbin/semanage was moved to policycoreutils-python-utils in Fedora --- mariadb.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index de915ef..5b4d363 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -139,7 +139,7 @@ Name: mariadb Version: 10.3.8 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: MariaDB: a very fast and robust SQL database server @@ -348,7 +348,7 @@ Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} Requires: galera >= 25.3.3 Requires(post): libselinux-utils -Requires(post): policycoreutils-python +Requires(post): policycoreutils-python-utils # wsrep requirements Requires: lsof Requires: rsync @@ -1544,6 +1544,9 @@ fi %endif %changelog +* Fri Aug 10 2018 Petr Lautrbach - 3:10.3.8-5 +- Update mariadb-server-galera sub-package to require the correct package with /usr/sbin/semanage + * Wed Jul 25 2018 Honza Horak - 3:10.3.8-4 - Do not build config on systems where mariadb-connector-c-config exists instead From e7b1a35ce0bd30796473090371525b7e1fbd6b2e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 22 Aug 2018 10:35:55 +0200 Subject: [PATCH 518/789] Rebase to 10.3.9 --- mariadb.spec | 11 +++-- rh-skipped-tests-arm.list | 36 +++++++++++++--- rh-skipped-tests-base.list | 31 +++++++------- rh-skipped-tests-ppc.list | 88 +++----------------------------------- rh-skipped-tests-s390.list | 7 +++ sources | 2 +- 6 files changed, 68 insertions(+), 107 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 5b4d363..37301d2 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -138,8 +138,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.3.8 -Release: 5%{?with_debug:.debug}%{?dist} +Version: 10.3.9 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: MariaDB: a very fast and robust SQL database server @@ -1117,7 +1117,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} --shutdown-timeout=60 --max-test-fail=5 --big-test \ --skip-test=spider \ %if %{ignore_testsuite_result} - || : + --max-test-fail=9999 || : %else --skip-test-list=unstable-tests %endif @@ -1129,7 +1129,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} --shutdown-timeout=60 --max-test-fail=0 --big-test \ --skip-ssl --suite=spider,spider/bg \ %if %{ignore_testsuite_result} - || : + --max-test-fail=999 || : %endif ) @@ -1544,6 +1544,9 @@ fi %endif %changelog +* Mon Aug 20 2018 Michal Schorm - 3:10.3.9-1 +- Rebase to 10.3.9 + * Fri Aug 10 2018 Petr Lautrbach - 3:10.3.8-5 - Update mariadb-server-galera sub-package to require the correct package with /usr/sbin/semanage diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index b464903..b05d1a8 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -1,13 +1,37 @@ -# Fails since 10.2.15 -encryption.innodb-encryption-alter : - -# Fails since 10.3.8 +# Fails since 10.3.8, only on armv7hl versioning.auto_increment : +versioning.commit_id : versioning.delete : versioning.foreign : versioning.insert : +versioning.insert2 : versioning.select2 : versioning.update : -versioning.commit_id : -versioning.insert2 : + +# Fails since 10.3.8, on both armv7hl and aarch64 mariabackup.system_versioning : + +# Fails since 10.3.9, on both armv7hl and aarch64 +disks.disks : +encryption.create_or_replace : +federated.federatedx_versioning : + +# Fails since 10.3.9, only on armv7hl +versioning.alter : +versioning.replace : +versioning.select : +versioning.truncate : +versioning.trx_id : + +# Fails since 10.3.9, only on aarch64 +innodb_gis.kill_server : +innodb_gis.rtree_search : +innodb.innodb_defrag_concurrent : +parts.partition_alter1_1_2_innodb : +parts.partition_alter1_2_innodb : +parts.partition_alter2_1_1_innodb : +parts.partition_alter2_1_2_innodb : +parts.partition_alter2_2_1_innodb : +parts.partition_alter2_2_2_innodb : +parts.partition_basic_innodb : +parts.part_supported_sql_func_innodb : diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 22a59d9..62a1726 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -6,16 +6,17 @@ main.ssl_cert_verify : main.ssl_8k_key : +# From 10.3.9 +main.openssl_1 : +main.openssl_6975 : +main.ssl : +main.ssl_cipher : + # -main.non_blocking_api : #1399847 perfschema.nesting : #1399847 perfschema.socket_summary_by_instance_func : #1399847 perfschema.socket_summary_by_event_name_func : -# needs this tests disabled for mode build -plugins.feedback_plugin_load : # -plugins.show_all_plugins : warnings in log - # ------------------------------ # Tests that fails because of 'Self Signed Certificate in the Certificate Chain' perfschema.cnf_option : @@ -27,7 +28,7 @@ rpl.rpl_row_img_eng_noblob : sys_vars.slave_parallel_threads_basic : # ------------------------------ -# Fails since 10.1.12; only x86_64 +# Fails since 10.1.12 innodb.innodb_defrag_binlog : # on x86_64 after 10.2.12 and 10.2.13 after some unidentified change in Rawhide buildroot @@ -41,20 +42,20 @@ mroonga/storage.optimization_order_limit_optimized_datetime_less_than mroonga/storage.optimization_order_limit_optimized_datetime_less_than_or_equal : # Fails everywhere since 10.2.15 -main.non_blocking_api : main.userstat : # Fails on x86_64 since 10.2.15 -rocksdb.2pc_group_commit : -rocksdb.read_only_tx : -rocksdb.shutdown : -rocksdb.index_merge_rocksdb2 : +rocksdb.bulk_load_errors : rocksdb.index_merge_rocksdb : +rocksdb.index_merge_rocksdb2 : +rocksdb.read_only_tx : +rocksdb_rpl.mdev12179 : +rocksdb.shutdown : +rocksdb.2pc_group_commit : # Fails on ppc and arm since 10.2.15 -binlog.binlog_flush_binlogs_delete_domain : -innodb.innodb_buffer_pool_resize_with_chunks : -innodb.innodb_buffer_pool_resize : -innodb_gis.rtree_compress : innodb_gis.rtree_compress2 : parts.partition_alter4_innodb : + +# Fails from 10.3.9 +encryption.innodb-redo-badkey : diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index 4f0ac99..04bf372 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -1,91 +1,17 @@ # 10.2.12 & 10.2.13 after some uninedtified Rawhide (and the forked f28) buildroot change # failed: 1045: Access denied for user '.....'@'localhost' (using password: YES) -binlog_encryption.encrypted_master : -binlog_encryption.encrypted_slave : - -funcs_1.innodb_trig_03 : -funcs_1.innodb_trig_03e : -funcs_1.innodb_trig_0407 : -funcs_1.innodb_trig_08 : -funcs_1.memory_trig_03 : -funcs_1.memory_trig_03e : -funcs_1.memory_trig_0407 : -funcs_1.memory_trig_08 : -funcs_1.myisam_trig_03 : -funcs_1.myisam_trig_03e : -funcs_1.myisam_trig_0407 : -funcs_1.myisam_trig_08 : -funcs_1.processlist_priv_no_prot : -funcs_1.processlist_val_no_prot : - -innodb.innodb_bug34053 : innodb.temporary_table_optimization : -innodb_zip.cmp_per_index : -main.connect : main.derived_cond_pushdown : -main.events_bugs : -main.grant : -main.grant2 : -main.change_user : -main.lowercase_fs_off : -main.mysql_client_test : -main.mysql_client_test_comp : -main.mysql_client_test_nonblock : -main.mysql_upgrade : -main.mysql_upgrade-6984 : -main.plugin_auth : -main.plugin_auth_qa_1 : main.ps : -main.ps_grant : + +# From 10.3.9 on ppc64le +encryption.create_or_replace : +main.select : +main.select_jcl6 : main.select_pkeycache : -main.set_password_plugin-9835 : -main.show_grants_with_plugin-7985 : -main.sp_notembedded : -main.sp-security : +main.sp : +main.type_float : main.type_newdecimal : main.type_ranges : -main.userstat-badlogin-4824 : -main.view_grant : -parts.partition_alter1_1_innodb : -parts.partition_alter1_2_innodb : -parts.part_supported_sql_func_innodb : - -plugins.auth_ed25519 : - -roles.grant_role_auto_create_user : - -rpl.rpl_create_drop_user : -rpl.rpl_do_grant : -rpl.rpl_temporary : - -sys_vars.old_passwords_func : -sys_vars.secure_auth_func : - -unit.conc_connection : -unit.ed25519 : - -# From 10.2.15 -# "mysqltest: Could not open connection 'default' after 500 attempts: 2002 Can't connect to local MySQL server through socket" -innodb.innodb_defrag_concurrent : - -# Different cause -innodb.innodb_defragment : - -# From 10.3.7 -rpl.rpl_connection : -sql_sequence.alter_notembedded : - - -# From 10.3.8 -gcol.innodb_virtual_basic : -innodb_gis.kill_server : -parts.partition_alter1_1_2_innodb : -parts.partition_alter2_1_2_innodb : -parts.partition_alter2_2_1_innodb : -parts.partition_alter2_2_2_innodb : -parts.partition_alter2_1_1_innodb : -parts.partition_basic_innodb : -innodb_gis.rtree_search : - diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list index e0a897b..00a20ae 100644 --- a/rh-skipped-tests-s390.list +++ b/rh-skipped-tests-s390.list @@ -1,2 +1,9 @@ # Fails since 10.2.15 disks.disks : + +# Fails since 10.3.9 +binlog.binlog_flush_binlogs_delete_domain : +handler.heap : +handler.interface : +innodb_fts.innodb_fts_misc : +rpl.rpl_gtid_delete_domain : diff --git a/sources b/sources index c5a62da..96374eb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.3.8.tar.gz) = e1b61900a06fa57992a2f8516771f5fb98799ed5a4bbe74f858c0fe87b907cc6b600942d6fe97b6064cb39b610a7213cb3bc9634a336f9ebffe11dfe67746422 +SHA512 (mariadb-10.3.9.tar.gz) = 7c7a678fb0c85da64b6df3df17b8cf7f2ccf862e27dcf8535f7403f8693c76b3b1a912f4b6ca876a591ada60a99577a947bfe7a63c602f754332e1e4f689e6e7 From 293580d0b26a750754f73ef53bf4e9bfa86cedce Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 22 Aug 2018 17:05:39 +0200 Subject: [PATCH 519/789] Use explicit "openssl-devel" again --- mariadb.spec | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 37301d2..150de07 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -72,10 +72,14 @@ %bcond_without client %bcond_without common %bcond_without errmsg -%bcond_without bench %bcond_without test %bcond_without galera %bcond_without backup +%if 0%{?fedora} +%bcond_without bench +%else +%bcond_with bench +%endif # When there is already another package that ships /etc/my.cnf, # rather include it than ship the file again, since conflicts between @@ -553,8 +557,7 @@ the only MariaDB sub-package, except test subpackage, that depends on Perl. %package devel Summary: Files for development of MariaDB/MySQL applications %{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} -# avoid issues with openssl1.0 / openssl1.1 / compat -Requires: pkgconfig(openssl) +Requires: openssl-devel %if %{without clibrary} Requires: mariadb-connector-c-devel >= 3.0 %endif @@ -799,7 +802,7 @@ export CFLAGS CXXFLAGS -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DWITH_JEMALLOC=yes \ + -DWITH_JEMALLOC=%{?with_tokudb:YES}%{!?with_tokudb:NO} \ -DLZ4_LIBS=%{_libdir}/liblz4.so \ -DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ -DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \ From 2ce9d21e23b16063428ed2ef09ef8e4b9b37872d Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 4 Sep 2018 17:18:09 +0200 Subject: [PATCH 520/789] Fix parallel installability of x86_64 and i686 devel packages --- mariadb.spec | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 150de07..03f5b19 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -143,7 +143,7 @@ Name: mariadb Version: 10.3.9 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: MariaDB: a very fast and robust SQL database server @@ -834,10 +834,10 @@ make -f /usr/share/selinux/devel/Makefile %{name}-server-galera.pp %install make DESTDIR=%{buildroot} install -# multilib header support -#for header in mysql/my_config.h mysql/private/config.h; do -#%multilib_fix_c_header --file %{_includedir}/$header -#done +# multilib header support #1625157 +for header in mysql/server/my_config.h mysql/server/private/config.h; do +%multilib_fix_c_header --file %{_includedir}/$header +done ln -s mysql_config.1.gz %{buildroot}%{_mandir}/man1/mariadb_config.1.gz @@ -1547,6 +1547,9 @@ fi %endif %changelog +* Tue Sep 04 2018 Michal Schorm - 3:10.3.9-2 +- Fix parallel installability of x86_64 and i686 devel packages + * Mon Aug 20 2018 Michal Schorm - 3:10.3.9-1 - Rebase to 10.3.9 From fb9e3c56f09843d433f099a193f753c539a98a91 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 5 Sep 2018 05:52:52 +0200 Subject: [PATCH 521/789] Update RPMLint whitelist --- mariadb.rpmlintrc | 27 ++++++++++++++++++++++++++- mariadb.spec | 10 +++++----- 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/mariadb.rpmlintrc b/mariadb.rpmlintrc index 74911d2..b0c9601 100644 --- a/mariadb.rpmlintrc +++ b/mariadb.rpmlintrc @@ -6,7 +6,7 @@ # Spelling errors -addFilter(r'spelling-error .* en_US (cnf|mysqld|benchmarking|pam|passwordless|subpackage) ') +addFilter(r'spelling-error .* en_US (cnf|mysqld|benchmarking|pam|passwordless|subpackage|libmariadb) ') # Debugsource addFilter(r'^mariadb.*debugsource\.[^:]+: (E|W): no-documentation') @@ -25,7 +25,32 @@ addFilter(r'missing-call-to-chdir-with-chroot') # Missing documentation # I don't think that's on the upstream priority list addFilter(r'no-documentation') +addFilter(r'no-manual-page-for-binary') # Obsoleted not provided # Obsoleting upstream packages, not providing them is expected to not mix them up addFilter(r'obsolete-not-provided MySQL') +# Provided by mariadb-connector-c +addFilter(r'obsolete-not-provided mariadb-libs') + +# Config file without noreplace flag +# Don't replace logs that may contain old entries +addFilter(r'conffile-without-noreplace-flag /var/log/mariadb/mariadb.log') + +# Log rotation +# MariaDB log rotation script is commented out, because it is still not ready for big industry usage. +# Let the user decide, if they want to enable it (uncomment it) +addFilter(r'incoherent-logrotate-file /etc/logrotate.d/mariadb') + +# Permissions +# wsrep_sst_common +# It contains a parser of arguments for other sst scripts. +# It is meant to be sourced, not to be executed alone. +# So it correctly does not have shebang nor executable bit. +addFilter(r'non-executable-in-bin /usr/bin/wsrep_sst_common 644') +addFilter(r'script-without-shebang /usr/bin/wsrep_sst_common') +addFilter(r'non-executable-script /usr/bin/wsrep_sst_common 644 None') +# mysql-scripts-common has a simmilar issue +addFilter(r'non-executable-script /usr/libexec/mysql-scripts-common 644 /bin/sh') +# Seems pretty standard to me ... +addFilter(r'non-standard-dir-perm /var/log/mariadb 750') diff --git a/mariadb.spec b/mariadb.spec index 03f5b19..fbc876f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -270,11 +270,11 @@ Provides: mariadb-galera = %{sameevr} %{!?_licensedir:%global license %doc} %description -MariaDB is a community developed branch of MySQL. -MariaDB is a multi-user, multi-threaded SQL database server. -It is a client/server implementation consisting of a server daemon (mysqld) -and many different client programs and libraries. The base package -contains the standard MariaDB/MySQL client programs and generic MySQL files. +MariaDB is a community developed branch of MySQL - a multi-user, multi-threaded +SQL database server. It is a client/server implementation consisting of +a server daemon (mysqld) and many different client programs and libraries. +The base package contains the standard MariaDB/MySQL client programs and +generic MySQL files. %if %{with clibrary} From 391a4648987e4040e495351a2e16a53deafd025b Mon Sep 17 00:00:00 2001 From: Jens Rey Date: Wed, 19 Sep 2018 14:22:19 +0000 Subject: [PATCH 522/789] Fix typo --- mysql-check-socket.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-check-socket.sh b/mysql-check-socket.sh index 5e13108..407523f 100644 --- a/mysql-check-socket.sh +++ b/mysql-check-socket.sh @@ -26,7 +26,7 @@ if test -e "$socketfile" ; then # some process uses the socket file response=`@bindir@/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER --connect-timeout="${CHECKSOCKETTIMEOUT:-10}" ping 2>&1` - if [ $? -qe 0 ] || echo "$response" | grep -q "Access denied for user" ; then + if [ $? -eq 0 ] || echo "$response" | grep -q "Access denied for user" ; then echo "Is another MySQL daemon already running with the same unix socket?" >&2 echo "Please, stop the process using the socket $socketfile or remove the file manually to start the service." >&2 exit 1 From 7e676213ef7ca2e2ab635f77129da3a90447a73e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 5 Oct 2018 19:44:01 +0200 Subject: [PATCH 523/789] Rebase to 10.3.10 --- mariadb-shebang.patch | 15 +++++++++++++++ mariadb.spec | 22 +++++++++++++++++----- rh-skipped-tests-ppc.list | 3 +++ sources | 2 +- 4 files changed, 36 insertions(+), 6 deletions(-) create mode 100644 mariadb-shebang.patch diff --git a/mariadb-shebang.patch b/mariadb-shebang.patch new file mode 100644 index 0000000..9a3d3f3 --- /dev/null +++ b/mariadb-shebang.patch @@ -0,0 +1,15 @@ +*** WARNING: mangling shebang in /usr/bin/myrocks_hotbackup from #!/usr/bin/env python to #!/usr/bin/python2. This will become an ERROR, fix it manually! + +Maintainer's note: +This script is not python3 compatible: +ModuleNotFoundError: No module named 'commands' + +diff -Naurp mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup_patched +--- mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup 2018-10-02 11:45:43.000000000 +0200 ++++ mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup_patched 2018-10-05 14:27:02.960060700 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/python2 + + from __future__ import division + from optparse import OptionParser diff --git a/mariadb.spec b/mariadb.spec index fbc876f..22bd4fa 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -142,8 +142,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.3.9 -Release: 2%{?with_debug:.debug}%{?dist} +Version: 10.3.10 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: MariaDB: a very fast and robust SQL database server @@ -176,6 +176,8 @@ Source71: LICENSE.clustercheck # https://jira.mariadb.org/browse/MDEV-12646 Source72: mariadb-server-galera.te +# Patch1: Fix python shebang to specificaly say the python version +Patch1: %{pkgnamepatch}-shebang.patch # Patch4: Red Hat distributions specific logrotate fix # it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2 Patch4: %{pkgnamepatch}-logrotate.patch @@ -673,6 +675,7 @@ sources. # Remove JAR files that upstream puts into tarball find . -name "*.jar" -type f -exec rm --verbose -f {} \; +%patch1 -p1 %patch4 -p1 %patch7 -p1 %patch9 -p1 @@ -923,6 +926,7 @@ ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list # Client that uses libmysqld embedded server. # Pretty much like normal mysql command line client, but it doesn't require a running mariadb server. %{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded} +rm %{buildroot}%{_mandir}/man1/mysql_embedded.1* # Static libraries rm %{buildroot}%{_libdir}/*.a # This script creates the MySQL system tables and starts the server. @@ -1034,7 +1038,7 @@ rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf %if %{without tokudb} # because upstream ships manpages for tokudb even on architectures that tokudb doesn't support rm %{buildroot}%{_mandir}/man1/tokuftdump.1* -rm %{buildroot}%{_mandir}/man1/tokuft_logdump.1* +rm %{buildroot}%{_mandir}/man1/tokuft_logprint.1* %else %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 echo 'Environment="LD_PRELOAD=%{_libdir}/libjemalloc.so.2"' >> %{buildroot}%{_sysconfdir}/systemd/system/mariadb.service.d/tokudb.conf @@ -1084,7 +1088,9 @@ rm %{buildroot}%{_bindir}/galera_recovery rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %endif - +%if %{without rocksdb} +rm %{buildroot}%{_mandir}/man1/mysql_ldb.1* +%endif %check %if %{with test} @@ -1421,6 +1427,8 @@ fi %files backup %{_bindir}/mariabackup %{_bindir}/mbstream +%{_mandir}/man1/mariabackup.1* +%{_mandir}/man1/mbstream.1* %endif %if %{with rocksdb} @@ -1430,6 +1438,7 @@ fi %{_bindir}/mysql_ldb %{_bindir}/sst_dump %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so +%{_mandir}/man1/mysql_ldb.1* %endif %if %{with tokudb} @@ -1437,7 +1446,7 @@ fi %{_bindir}/tokuftdump %{_bindir}/tokuft_logprint %{_mandir}/man1/tokuftdump.1* -%{_mandir}/man1/tokuft_logdump.1* +%{_mandir}/man1/tokuft_logprint.1* %config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so /usr/lib/systemd/system/mariadb.service.d/tokudb.conf @@ -1547,6 +1556,9 @@ fi %endif %changelog +* Fri Oct 05 2018 Michal Schorm - 3:10.3.10-1 +- Rebase to 10.3.10 + * Tue Sep 04 2018 Michal Schorm - 3:10.3.9-2 - Fix parallel installability of x86_64 and i686 devel packages diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index 04bf372..cf45139 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -15,3 +15,6 @@ main.type_float : main.type_newdecimal : main.type_ranges : +# 10.3.10 +parts.partition_alter1_2_innodb : +parts.partition_alter1_1_2_innodb : diff --git a/sources b/sources index 96374eb..3cf2c1c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.3.9.tar.gz) = 7c7a678fb0c85da64b6df3df17b8cf7f2ccf862e27dcf8535f7403f8693c76b3b1a912f4b6ca876a591ada60a99577a947bfe7a63c602f754332e1e4f689e6e7 +SHA512 (mariadb-10.3.10.tar.gz) = dee7789dff359a6352ceacb2db6bcb4730940e9458adda4e23894f9bfa0a7ff8c238060bffca58a60b662275e52a31ea1784d51fae114312b003c024e9412b31 From b32d20144cf34ef6319c1be6108eab41f137cc03 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 6 Oct 2018 00:47:45 +0200 Subject: [PATCH 524/789] Add failing test to skipped tests list for ppc64le --- rh-skipped-tests-ppc.list | 1 + 1 file changed, 1 insertion(+) diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index cf45139..dd5050c 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -18,3 +18,4 @@ main.type_ranges : # 10.3.10 parts.partition_alter1_2_innodb : parts.partition_alter1_1_2_innodb : +innodb.innodb_defrag_concurrent : From 5fd21bc1a6278c0f9d7b4061d570459cadc1aa60 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 8 Oct 2018 13:08:59 +0200 Subject: [PATCH 525/789] Set Galera build options advised by the MariaDB documentation --- mariadb.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 22bd4fa..7ae37d8 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -195,15 +195,15 @@ BuildRequires: systemd systemd-devel BuildRequires: zlib-devel %{?with_lz4:BuildRequires: lz4-devel} -# asynchornous operations stuff +# asynchornous operations stuff; needed also for wsrep API BuildRequires: libaio-devel # commands history features BuildRequires: libedit-devel -# CLI graphic +# CLI graphic; needed also for wsrep API BuildRequires: ncurses-devel # debugging stuff BuildRequires: systemtap-sdt-devel -# Bison SQL parser +# Bison SQL parser; needed also for wsrep API BuildRequires: bison bison-devel # auth_pam.so plugin will be build if pam-devel is installed @@ -357,6 +357,7 @@ Requires(post): libselinux-utils Requires(post): policycoreutils-python-utils # wsrep requirements Requires: lsof +# Default wsrep_sst_method Requires: rsync # obsoletion of mariadb-galera-server @@ -799,6 +800,8 @@ export CFLAGS CXXFLAGS -DENABLED_LOCAL_INFILE=ON \ -DENABLE_DTRACE=ON \ -DSECURITY_HARDENED=ON \ + -DWITH_WSREP=%{?with_galera:ON}%{!?with_galera:OFF} \ + -DWITH_INNODB_DISALLOW_WRITES=%{?with_galera:ON}%{!?with_galera:OFF} \ -DWITH_EMBEDDED_SERVER=%{?with_embedded:ON}%{!?with_embedded:OFF} \ -DWITH_MARIABACKUP=%{?with_backup:ON}%{!?with_backup:NO} \ -DWITH_UNIT_TESTS=%{?with_test:ON}%{!?with_test:NO} \ From 388f0ad7a837da3e56e26fc062b4cf61024baff8 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 11 Oct 2018 03:26:03 +0200 Subject: [PATCH 526/789] Fix the debug build --- mariadb.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 7ae37d8..88dbd6b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -760,7 +760,7 @@ CFLAGS="$CFLAGS -fPIC" CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` %endif # Override all optimization flags when making a debug build -%{?with_debug: CFLAGS="$CFLAGS -0g"} +%{?with_debug: CFLAGS="$CFLAGS -O0 -g"} CXXFLAGS="$CFLAGS" export CFLAGS CXXFLAGS @@ -1078,6 +1078,7 @@ rm -r %{buildroot}%{_datadir}/sql-bench rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded} rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1* %endif # embedded +rm %{buildroot}%{_bindir}/test-connect-t rm %{buildroot}%{_bindir}/{mysql_client_test,mysqltest} rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1* rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1* From 412ec9817950121d5f46220ceb1e15e95740b091 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 22 Oct 2018 15:37:32 +0200 Subject: [PATCH 527/789] Update RPMLint blacklist --- mariadb.rpmlintrc | 11 ++++++++++- mariadb.spec | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/mariadb.rpmlintrc b/mariadb.rpmlintrc index b0c9601..b0c9077 100644 --- a/mariadb.rpmlintrc +++ b/mariadb.rpmlintrc @@ -10,9 +10,10 @@ addFilter(r'spelling-error .* en_US (cnf|mysqld|benchmarking|pam|passwordless|su # Debugsource addFilter(r'^mariadb.*debugsource\.[^:]+: (E|W): no-documentation') - # Debuginfo addFilter(r'^mariadb.*debuginfo\.[^:]+: (E|W): useless-provides debuginfo\(build-id\)') +# Debug symlinks +addFilter(r'dangling-relative-symlink /usr/lib/.build-id') # Testsuite # Some expected tests results are zero-length files @@ -54,3 +55,11 @@ addFilter(r'non-executable-script /usr/bin/wsrep_sst_common 644 None') addFilter(r'non-executable-script /usr/libexec/mysql-scripts-common 644 /bin/sh') # Seems pretty standard to me ... addFilter(r'non-standard-dir-perm /var/log/mariadb 750') + +# Unversioned bundles +# RocksDB has so rapid developement, it it not compatible through versions. +# That means we need to stick to the exact verison upstream use. +addFilter(r'unversioned-explicit-provides bundled(rocksdb)') + +# Testsuite errors +addFilter(r'non-executable-script /usr/share/mysql-test') diff --git a/mariadb.spec b/mariadb.spec index 88dbd6b..18254fb 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -146,7 +146,7 @@ Version: 10.3.10 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 -Summary: MariaDB: a very fast and robust SQL database server +Summary: A very fast and robust SQL database server URL: http://mariadb.org # Exceptions allow client libraries to be linked with most open source SW, not only GPL code. See README.mysql-license License: GPLv2 with exceptions and LGPLv2 and BSD From 2413f21e35297865f57c0ca8c7a9a86bb40e1068 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 16 Nov 2018 23:03:41 +0100 Subject: [PATCH 528/789] Rebase to 10.4.0 This is ALPHA release, use with caution! --- mariadb.spec | 10 +++++++--- rh-skipped-tests-base.list | 3 +++ sources | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 18254fb..c82c55a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -6,7 +6,7 @@ %{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail, but 0 on production ready build -%global ignore_testsuite_result 0 +%global ignore_testsuite_result 1 # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} @@ -142,8 +142,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.3.10 -Release: 1%{?with_debug:.debug}%{?dist} +Version: 10.4.0 +Release: 1.alpha%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1560,6 +1560,10 @@ fi %endif %changelog +* Fri Nov 16 2018 Michal Schorm - 3:10.4.0-1 +- Rebase to 10.4.0 +- This is ALPHA release! use at your own risk. + * Fri Oct 05 2018 Michal Schorm - 3:10.3.10-1 - Rebase to 10.3.10 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 62a1726..1123444 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -59,3 +59,6 @@ parts.partition_alter4_innodb : # Fails from 10.3.9 encryption.innodb-redo-badkey : + +# 10.4.0 +sys_vars.tcp_nodelay : diff --git a/sources b/sources index 3cf2c1c..23ef7c7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.3.10.tar.gz) = dee7789dff359a6352ceacb2db6bcb4730940e9458adda4e23894f9bfa0a7ff8c238060bffca58a60b662275e52a31ea1784d51fae114312b003c024e9412b31 +SHA512 (mariadb-10.4.0.tar.gz) = c81f56e35dd7aac4776dd2b7d18e40adccaff9f4d492e94395b1aeb5c491c712ce4599d0b1374fa585a4d0bba86dd60c91aea7701b6ded0d38409d1caace2671 From 16e19df2b4df49dc30578d9f825f731d64a671ff Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 10 Dec 2018 13:21:07 +0100 Subject: [PATCH 529/789] Rebase to 10.3.11 --- mariadb.spec | 12 ++++++++++-- sources | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 18254fb..6798061 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -142,7 +142,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.3.10 +Version: 10.3.11 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -861,7 +861,8 @@ fi # Reported to upstream as: https://jira.mariadb.org/browse/MDEV-14340 # TODO: check, if it changes location inside that file depending on values passed to Cmake mkdir -p %{buildroot}/%{_libdir}/pkgconfig -mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig +mv %{buildroot}/%{_datadir}/pkgconfig/mariadb.pc %{buildroot}/%{_libdir}/pkgconfig +rm %{buildroot}/usr/lib/pkgconfig/libmariadb.pc # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also %%{name}-file-contents.patch) @@ -1560,6 +1561,13 @@ fi %endif %changelog +* Mon Dec 10 2018 Michal Schorm - 3:10.3.11-1 +- Rebase to 10.3.11 +- CVEs fixed: + CVE-2018-3282, CVE-2016-9843, CVE-2018-3174, CVE-2018-3143, CVE-2018-3156 + CVE-2018-3251, CVE-2018-3185, CVE-2018-3277, CVE-2018-3162, CVE-2018-3173 + CVE-2018-3200, CVE-2018-3284 + * Fri Oct 05 2018 Michal Schorm - 3:10.3.10-1 - Rebase to 10.3.10 diff --git a/sources b/sources index 3cf2c1c..d49a3e9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.3.10.tar.gz) = dee7789dff359a6352ceacb2db6bcb4730940e9458adda4e23894f9bfa0a7ff8c238060bffca58a60b662275e52a31ea1784d51fae114312b003c024e9412b31 +SHA512 (mariadb-10.3.11.tar.gz) = 1adc1f9bbabf848726c669a7a0ab01257ba31882758b53fbf3b1316f2295670dba1c3d1f3292d7c1a749c701504588694a55d020839e690595897b0e20435298 From 9a804d72e6e0859ec63619243d87541b66145150 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 15 Dec 2018 08:02:31 +0100 Subject: [PATCH 530/789] Remove ppc64 optimization which is no longer necessary --- mariadb.spec | 4 ---- 1 file changed, 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 6798061..239335f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -755,10 +755,6 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" # force PIC mode so that we can build libmysqld.so CFLAGS="$CFLAGS -fPIC" -# significant performance gains can be achieved by compiling with -O3 optimization; rhbz#1051069 -%ifarch ppc64 -CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` -%endif # Override all optimization flags when making a debug build %{?with_debug: CFLAGS="$CFLAGS -O0 -g"} From af148a5cec664127f6f6b6484464c36199c559ac Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 6 Jan 2019 03:16:37 +0100 Subject: [PATCH 531/789] Add a weak dependence on a 'mysql-selinux' package --- mariadb.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index 239335f..6329943 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -398,6 +398,9 @@ Suggests: logrotate Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d +# Aditional SELinux rules shipped in a separate package +Recommends: mysql-selinux + # for fuser in mysql-check-socket Requires: psmisc From 14c5e16b6f6d28a3e63ae8b266e9f2e4821ea59b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 6 Jan 2019 16:18:32 +0100 Subject: [PATCH 532/789] Rebase to 10.4.1 This is BETA release, use with caution! --- mariadb.spec | 11 +++++++++-- sources | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index c82c55a..5f2a6e0 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -142,8 +142,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.4.0 -Release: 1.alpha%{?with_debug:.debug}%{?dist} +Version: 10.4.1 +Release: 1.beta%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -794,6 +794,7 @@ export CFLAGS CXXFLAGS -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_SQLBENCHDIR=share \ -DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \ + -DINSTALL_PCDIR=%{_lib}/pkgconfig \ -DMYSQL_DATADIR="%{dbdatadir}" \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ -DTMPDIR=/var/tmp \ @@ -820,6 +821,7 @@ export CFLAGS CXXFLAGS -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ -DWITH_CASSANDRA=%{?with_cassandra:TRUE}%{!?with_cassandra:FALSE} \ -DPLUGIN_AWS_KEY_MANAGEMENT=NO \ + -DPLUGIN_CACHING_SHA2_PASSWORD=%{?with_clibrary:DYNAMIC}%{!?with_clibrary:OFF} \ -DCONNECT_WITH_MONGO=OFF \ -DCONNECT_WITH_JDBC=OFF \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} @@ -862,6 +864,7 @@ fi # TODO: check, if it changes location inside that file depending on values passed to Cmake mkdir -p %{buildroot}/%{_libdir}/pkgconfig mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig +rm %{buildroot}/usr/lib/pkgconfig/libmariadb.pc # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also %%{name}-file-contents.patch) @@ -1560,6 +1563,10 @@ fi %endif %changelog +* Sun Jan 06 2019 Michal Schorm - 3:10.4.1-1 +- Rebase to 10.4.1 +- This is BETA release! use at your own risk. + * Fri Nov 16 2018 Michal Schorm - 3:10.4.0-1 - Rebase to 10.4.0 - This is ALPHA release! use at your own risk. diff --git a/sources b/sources index 23ef7c7..2d3457c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.4.0.tar.gz) = c81f56e35dd7aac4776dd2b7d18e40adccaff9f4d492e94395b1aeb5c491c712ce4599d0b1374fa585a4d0bba86dd60c91aea7701b6ded0d38409d1caace2671 +SHA512 (mariadb-10.4.1.tar.gz) = 0422bbc4b3a38ff70bfc1cb61f8cb6582c7410a834a15bc593070aa206ca0103c0e4da04a36d02fcb6c21e3646d7920f6de7095b51a27136a7684d9ed54b5f8d From e9dc01434bf247af82c3803d8af129b3dd748495 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 9 Jan 2019 09:56:03 +0100 Subject: [PATCH 533/789] Rebase to 10.3.12 --- mariadb-shebang.patch | 8 ++++---- mariadb.spec | 16 +++++++++++++--- sources | 2 +- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/mariadb-shebang.patch b/mariadb-shebang.patch index 9a3d3f3..4f0a267 100644 --- a/mariadb-shebang.patch +++ b/mariadb-shebang.patch @@ -4,11 +4,11 @@ Maintainer's note: This script is not python3 compatible: ModuleNotFoundError: No module named 'commands' -diff -Naurp mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup_patched ---- mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup 2018-10-02 11:45:43.000000000 +0200 -+++ mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup_patched 2018-10-05 14:27:02.960060700 +0200 +diff -Naurp mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py_patched +--- mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py 2019-01-04 16:28:50.000000000 +0100 ++++ mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py_patched 2019-01-08 12:00:54.468750863 +0100 @@ -1,4 +1,4 @@ --#!/usr/bin/env python +-#!@PYTHON_SHEBANG@ +#!/usr/bin/python2 from __future__ import division diff --git a/mariadb.spec b/mariadb.spec index 6329943..f09a251 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -142,7 +142,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.3.11 +Version: 10.3.12 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -793,6 +793,7 @@ export CFLAGS CXXFLAGS -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_SQLBENCHDIR=share \ -DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \ + -DINSTALL_PCDIR=%{_lib}/pkgconfig \ -DMYSQL_DATADIR="%{dbdatadir}" \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ -DTMPDIR=/var/tmp \ @@ -818,6 +819,7 @@ export CFLAGS CXXFLAGS -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ -DWITH_CASSANDRA=%{?with_cassandra:TRUE}%{!?with_cassandra:FALSE} \ + -DPLUGIN_CACHING_SHA2_PASSWORD=%{?with_clibrary:DYNAMIC}%{!?with_clibrary:OFF} \ -DPLUGIN_AWS_KEY_MANAGEMENT=NO \ -DCONNECT_WITH_MONGO=OFF \ -DCONNECT_WITH_JDBC=OFF \ @@ -860,8 +862,9 @@ fi # Reported to upstream as: https://jira.mariadb.org/browse/MDEV-14340 # TODO: check, if it changes location inside that file depending on values passed to Cmake mkdir -p %{buildroot}/%{_libdir}/pkgconfig -mv %{buildroot}/%{_datadir}/pkgconfig/mariadb.pc %{buildroot}/%{_libdir}/pkgconfig -rm %{buildroot}/usr/lib/pkgconfig/libmariadb.pc +mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig +# Client part should be included in package 'mariadb-connector-c' +rm %{buildroot}%{_libdir}/pkgconfig/libmariadb.pc # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also %%{name}-file-contents.patch) @@ -1044,6 +1047,7 @@ rm %{buildroot}%{_mandir}/man1/tokuftdump.1* rm %{buildroot}%{_mandir}/man1/tokuft_logprint.1* %else %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 +mkdir -p %{buildroot}%{_sysconfdir}/systemd/system/mariadb.service.d echo 'Environment="LD_PRELOAD=%{_libdir}/libjemalloc.so.2"' >> %{buildroot}%{_sysconfdir}/systemd/system/mariadb.service.d/tokudb.conf %endif # Move to better location, systemd config files has to be in /lib/ @@ -1560,6 +1564,12 @@ fi %endif %changelog +* Tue Jan 08 2019 Michal Schorm - 3:10.3.12-1 +- Rebase to 10.3.12 +- Disable building of the caching_sha2_password plugin, it is shipped + by 'mariadb-connector-c' +- Remove libmariadb.pc, is it shipped by 'mariadb-connector-c' + * Mon Dec 10 2018 Michal Schorm - 3:10.3.11-1 - Rebase to 10.3.11 - CVEs fixed: diff --git a/sources b/sources index d49a3e9..95b6891 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.3.11.tar.gz) = 1adc1f9bbabf848726c669a7a0ab01257ba31882758b53fbf3b1316f2295670dba1c3d1f3292d7c1a749c701504588694a55d020839e690595897b0e20435298 +SHA512 (mariadb-10.3.12.tar.gz) = 9dd2939684c4591db306be6afb34663626dfaae133f88dd31125c759dce16b9e9d767a9254e30d9ee5fa2ea027e223dd4799effba8a8b0e4638d5de9e2512003 From 4f1f8bb5b67cc499d5a7c508ad0f8ea2337c0696 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 9 Jan 2019 21:25:26 +0100 Subject: [PATCH 534/789] Use specific python shebang --- mariadb-myrocks-hotbackup.patch | 32 ++++++++++++++++++++++++++++++++ mariadb-pythonver.patch | 30 ++++++++++++++++++++++++++++++ mariadb.spec | 20 +++++++++++++++++--- 3 files changed, 79 insertions(+), 3 deletions(-) create mode 100644 mariadb-myrocks-hotbackup.patch create mode 100644 mariadb-pythonver.patch diff --git a/mariadb-myrocks-hotbackup.patch b/mariadb-myrocks-hotbackup.patch new file mode 100644 index 0000000..ff2a1b1 --- /dev/null +++ b/mariadb-myrocks-hotbackup.patch @@ -0,0 +1,32 @@ +Do not import commands library as it is not used + +It also makes the script not work on python3, but since the script already uses +subprocess in practice, removing commands import is effectively no change and +fixes the python3 compatibility. + +Upstream PR: https://github.com/MariaDB/server/pull/1080 + +From 9c89fd49a757a87ba5899b3548b0fb1d172c0ec3 Mon Sep 17 00:00:00 2001 +From: Honza Horak +Date: Wed, 9 Jan 2019 15:05:02 +0100 +Subject: [PATCH] Do not import commands library as it is not used + +--- + storage/rocksdb/myrocks_hotbackup.py | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/storage/rocksdb/myrocks_hotbackup.py b/storage/rocksdb/myrocks_hotbackup.py +index 69c75b7cbfd..906ba814776 100755 +--- a/storage/rocksdb/myrocks_hotbackup.py ++++ b/storage/rocksdb/myrocks_hotbackup.py +@@ -8,7 +8,6 @@ import os + import stat + import sys + import re +-import commands + import subprocess + import logging + import logging.handlers +-- +2.17.2 + diff --git a/mariadb-pythonver.patch b/mariadb-pythonver.patch new file mode 100644 index 0000000..e667a76 --- /dev/null +++ b/mariadb-pythonver.patch @@ -0,0 +1,30 @@ +Upstream PR: https://github.com/MariaDB/server/pull/1081 + +From d2cbf56d36e422802aa7e53ec0f4e6be8fd53cf5 Mon Sep 17 00:00:00 2001 +From: Honza Horak +Date: Wed, 9 Jan 2019 20:17:29 +0100 +Subject: [PATCH] Make the PYTHON_SHEBANG value configurable + +In Fedora 30 it is required to specify either /usr/bin/python2 or /usr/bin/python3 in the shebang, so we need a way to say explicit shebang, ideally in the cmake call. +--- + CMakeLists.txt | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a139c9e5fa4..ccccb08bef1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -342,7 +342,9 @@ MYSQL_CHECK_SSL() + MYSQL_CHECK_READLINE() + + SET(MALLOC_LIBRARY "system") +-SET(PYTHON_SHEBANG "/usr/bin/env python") ++IF(NOT DEFINED PYTHON_SHEBANG) ++ SET(PYTHON_SHEBANG "/usr/bin/env python") ++ENDIF() + + CHECK_PCRE() + +-- +2.17.2 + diff --git a/mariadb.spec b/mariadb.spec index f09a251..f25235f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -109,6 +109,13 @@ %global pcre_bundled_version 8.42 %endif +# Use main python interpretter version +%if 0%{?fedora} || 0%{?rhel} > 7 +%global python_path /usr/bin/python3 +%else +%global python_path /usr/bin/python2 +%endif + # Include systemd files %global daemon_name %{name} %global daemondir %{_unitdir} @@ -143,7 +150,7 @@ Name: mariadb Version: 10.3.12 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -176,8 +183,10 @@ Source71: LICENSE.clustercheck # https://jira.mariadb.org/browse/MDEV-12646 Source72: mariadb-server-galera.te -# Patch1: Fix python shebang to specificaly say the python version -Patch1: %{pkgnamepatch}-shebang.patch +# Patch1: Make the myrocks_hotbackup script python3 compatible +Patch1: %{pkgnamepatch}-myrocks-hotbackup.patch +# Patch2: Make the python interpretter be configurable +Patch2: %{pkgnamepatch}-pythonver.patch # Patch4: Red Hat distributions specific logrotate fix # it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2 Patch4: %{pkgnamepatch}-logrotate.patch @@ -680,6 +689,7 @@ sources. find . -name "*.jar" -type f -exec rm --verbose -f {} \; %patch1 -p1 +%patch2 -p1 %patch4 -p1 %patch7 -p1 %patch9 -p1 @@ -819,6 +829,7 @@ export CFLAGS CXXFLAGS -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ -DWITH_CASSANDRA=%{?with_cassandra:TRUE}%{!?with_cassandra:FALSE} \ + -DPYTHON_SHEBANG=%{python_path} \ -DPLUGIN_CACHING_SHA2_PASSWORD=%{?with_clibrary:DYNAMIC}%{!?with_clibrary:OFF} \ -DPLUGIN_AWS_KEY_MANAGEMENT=NO \ -DCONNECT_WITH_MONGO=OFF \ @@ -1564,6 +1575,9 @@ fi %endif %changelog +* Wed Jan 09 2019 Honza Horak - 3:10.3.12-2 +- Use specific python shebang + * Tue Jan 08 2019 Michal Schorm - 3:10.3.12-1 - Rebase to 10.3.12 - Disable building of the caching_sha2_password plugin, it is shipped From e5d3c9353618c63adb156f061a4e9153ab3827a4 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 11 Jan 2019 17:17:14 -0800 Subject: [PATCH 535/789] Drop mysql-selinux recommends for now due to bug #1665643 --- mariadb.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index f25235f..90f485c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -150,7 +150,7 @@ Name: mariadb Version: 10.3.12 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -408,7 +408,8 @@ Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d # Aditional SELinux rules shipped in a separate package -Recommends: mysql-selinux +# Disabled until https://bugzilla.redhat.com/show_bug.cgi?id=1665643 is fixed. +#Recommends: mysql-selinux # for fuser in mysql-check-socket Requires: psmisc @@ -1575,6 +1576,9 @@ fi %endif %changelog +* Fri Jan 11 2019 Kevin Fenzi - 3:10.3.12-3 +- Drop mysql-selinux recommends for now due to bug #1665643 + * Wed Jan 09 2019 Honza Horak - 3:10.3.12-2 - Use specific python shebang From e00d26b60c5f5dce2d853d5909b1c8c238906e96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Mon, 14 Jan 2019 19:08:29 +0100 Subject: [PATCH 536/789] Rebuilt for libcrypt.so.2 (#1666033) --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 90f485c..3164c2a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -150,7 +150,7 @@ Name: mariadb Version: 10.3.12 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1576,6 +1576,9 @@ fi %endif %changelog +* Mon Jan 14 2019 Björn Esser - 3:10.3.12-4 +- Rebuilt for libcrypt.so.2 (#1666033) + * Fri Jan 11 2019 Kevin Fenzi - 3:10.3.12-3 - Drop mysql-selinux recommends for now due to bug #1665643 From 49fab2f9eedc85c570741ccff709fb17078d1af1 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 16 Jan 2019 12:48:02 +0100 Subject: [PATCH 537/789] Tweak handling of the mysql-selinux requirement --- mariadb.spec | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 3164c2a..70c7f40 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -8,6 +8,10 @@ # Set this to 1 to see which tests fail, but 0 on production ready build %global ignore_testsuite_result 0 +# Aditional SELinux rules +# Disabled until https://bugzilla.redhat.com/show_bug.cgi?id=1665643 is fixed +%global require_mysql_selinux 0 + # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}} @@ -150,7 +154,7 @@ Name: mariadb Version: 10.3.12 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -407,9 +411,11 @@ Suggests: logrotate Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d -# Aditional SELinux rules shipped in a separate package -# Disabled until https://bugzilla.redhat.com/show_bug.cgi?id=1665643 is fixed. -#Recommends: mysql-selinux +# Aditional SELinux rules (common for MariaDB & MySQL) shipped in a separate package +# For cases, where we want to fix a SELinux issues in MariaDB sooner than patched selinux-policy-targeted package is released +%if %require_mysql_selinux +Requires: (mysql-selinux if selinux-policy-targeted) +%endif # for fuser in mysql-check-socket Requires: psmisc @@ -1576,6 +1582,9 @@ fi %endif %changelog +* Wed Jan 16 2019 Michal Schorm - 3:10.3.12-5 +- Tweak handling of the mysql-selinux requirement, leave disabled due to #1665643 + * Mon Jan 14 2019 Björn Esser - 3:10.3.12-4 - Rebuilt for libcrypt.so.2 (#1666033) From 4c38589fa0a2c2a4149ed4d05e455b18952ffa16 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 17 Jan 2019 10:48:44 +0100 Subject: [PATCH 538/789] Update commands for newer CMake --- mariadb.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 70c7f40..74e1c62 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -844,8 +844,8 @@ export CFLAGS CXXFLAGS %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} # Print all Cmake options values -# cmake -LAH for List Advanced Help -cmake -L +# cmake ./ -LAH for List Advanced Help +cmake ./ -L make %{?_smp_mflags} VERBOSE=1 From 4cd2a4be5473783c5af7523b81e3a62459604e4d Mon Sep 17 00:00:00 2001 From: Carl George Date: Thu, 17 Jan 2019 10:48:21 -0600 Subject: [PATCH 539/789] Fix ggsapi typo --- mariadb.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 74e1c62..69cf6e8 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1000,7 +1000,7 @@ rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf # Disable plugins -%if %{with ggsapi} +%if %{with gssapi} sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/auth_gssapi.cnf %endif %if %{with cracklib} @@ -1359,7 +1359,7 @@ fi %{?with_cracklib:%exclude %{_libdir}/%{pkg_name}/plugin/cracklib_password_check.so} %{?with_rocksdb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so} %{?with_tokudb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so} -%{?with_ggsapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so} +%{?with_gssapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so} %{?with_sphinx:%exclude %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so} %{?with_cassandra:%exclude %{_libdir}/%{pkg_name}/plugin/ha_cassandra.so} %if %{with clibrary} From a444b291f8223d243da003726ebc6dcbc39ad1be Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 19 Jan 2019 00:57:35 +0100 Subject: [PATCH 540/789] Tweak the testsuite execution, speed up the testsuite on rebuilds Enable mysql-selinux requirement --- mariadb.spec | 63 +++++++++++++++++++++++++++++++++------------------- 1 file changed, 40 insertions(+), 23 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 69cf6e8..9093a91 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -8,9 +8,15 @@ # Set this to 1 to see which tests fail, but 0 on production ready build %global ignore_testsuite_result 0 +# The last version on which the full testsuite has been run +# In case of further rebuilds of that version, don't require full testsuite to be run +# run only "main" suite +%global last_tested_version 10.3.12 +# Set to 1 to force run the testsuite even if it was already tested in current version +%global force_run_testsuite 0 + # Aditional SELinux rules -# Disabled until https://bugzilla.redhat.com/show_bug.cgi?id=1665643 is fixed -%global require_mysql_selinux 0 +%global require_mysql_selinux 1 # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} @@ -154,7 +160,7 @@ Name: mariadb Version: 10.3.12 -Release: 5%{?with_debug:.debug}%{?dist} +Release: 6%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1144,28 +1150,35 @@ export MTR_BUILD_THREAD=%{__isa_bits} ( set -ex - cd mysql-test - perl ./mysql-test-run.pl --parallel=auto --force --retry=1 --ssl \ - --suite-timeout=900 --testcase-timeout=30 \ - --mysqld=--binlog-format=mixed --force-restart \ - --shutdown-timeout=60 --max-test-fail=5 --big-test \ - --skip-test=spider \ -%if %{ignore_testsuite_result} - --max-test-fail=9999 || : -%else - --skip-test-list=unstable-tests -%endif -# Second run for the SPIDER suites that fail with SCA (ssl self signed certificate) - perl ./mysql-test-run.pl --parallel=auto --force --retry=1 \ - --suite-timeout=60 --testcase-timeout=10 \ - --mysqld=--binlog-format=mixed --force-restart \ - --shutdown-timeout=60 --max-test-fail=0 --big-test \ - --skip-ssl --suite=spider,spider/bg \ -%if %{ignore_testsuite_result} - --max-test-fail=999 || : -%endif + export common_testsuite_arguments=" --parallel=auto --force --retry=1 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --force-restart --shutdown-timeout=60 --max-test-fail=5 " + + # If full testsuite has already been run on this version and we don't explicitly want the full testsuite to be run + if [[ "%{last_tested_version}" == "%{version}" ]] && [[ %{force_run_testsuite} -eq 0 ]] + then + # in further rebuilds only run the basic "main" suite (~800 tests) + echo "running only base testsuite" + perl ./mysql-test-run.pl $common_testsuite_arguments --ssl --suite=main --mem --skip-test-list=unstable-tests + fi + + # If either this version wasn't marked as tested yet or I explicitly want to run the testsuite, run everything we have (~4000 test) + if [[ "%{last_tested_version}" != "%{version}" ]] || [[ %{force_run_testsuite} -ne 0 ]] + then + echo "running advanced testsuite" + perl ./mysql-test-run.pl $common_testsuite_arguments --ssl --big-test --skip-test=spider \ + %if %{ignore_testsuite_result} + --max-test-fail=9999 || : + %else + --skip-test-list=unstable-tests + %endif + # Second run for the SPIDER suites that fail with SCA (ssl self signed certificate) + perl ./mysql-test-run.pl $common_testsuite_arguments --skip-ssl --big-test --mem --suite=spider,spider/bg \ + %if %{ignore_testsuite_result} + --max-test-fail=999 || : + %endif + # blank line + fi ) %endif # if dry run @@ -1582,6 +1595,10 @@ fi %endif %changelog +* Sat Jan 19 2019 Michal Schorm - 3:10.3.12-6 +- Enable mysql-selinux requirement +- Tweak the testsuite execution, speed up the testsuite on rebuilds + * Wed Jan 16 2019 Michal Schorm - 3:10.3.12-5 - Tweak handling of the mysql-selinux requirement, leave disabled due to #1665643 From 4ea2bb47f22cb826f378190bb83e7de96ac8e117 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 21 Jan 2019 13:56:44 +0100 Subject: [PATCH 541/789] Change weak dependency of RocksDB and TokuDB storage engines from Recommends to Suggests Add "Suggests" weak dependencies to more storage engines --- mariadb.spec | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 9093a91..72af6d4 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -406,10 +406,14 @@ Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-errmsg%{?_isa} = %{sameevr} Recommends: %{name}-server-utils%{?_isa} = %{sameevr} Recommends: %{name}-backup%{?_isa} = %{sameevr} -%{?with_cracklib:Recommends: %{name}-cracklib-password-check%{?_isa} = %{sameevr}} -%{?with_gssapi:Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}} -%{?with_rocksdb:Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr}} -%{?with_tokudb:Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}} +%{?with_cracklib:Recommends: %{name}-cracklib-password-check%{?_isa} = %{sameevr}} +%{?with_gssapi:Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}} +%{?with_rocksdb:Suggests: %{name}-rocksdb-engine%{?_isa} = %{sameevr}} +%{?with_tokudb:Suggests: %{name}-tokudb-engine%{?_isa} = %{sameevr}} +%{?with_sphinx:Suggests: %{name}-sphinx-engine%{?_isa} = %{sameevr}} +%{?with_oqgraph:Suggests: %{name}-oqgraph-engine%{?_isa} = %{sameevr}} +%{?with_connect:Suggests: %{name}-connect-engine%{?_isa} = %{sameevr}} +%{?with_cassandra:Suggests: %{name}-cassandra-engine%{?_isa} = %{sameevr}} Suggests: mytop Suggests: logrotate @@ -1598,6 +1602,9 @@ fi * Sat Jan 19 2019 Michal Schorm - 3:10.3.12-6 - Enable mysql-selinux requirement - Tweak the testsuite execution, speed up the testsuite on rebuilds +- Change weak dependency of RocksDB and TokuDB storage engines + from Recommends to Suggests +- Add "Suggests" weak dependencies to more storage engines * Wed Jan 16 2019 Michal Schorm - 3:10.3.12-5 - Tweak handling of the mysql-selinux requirement, leave disabled due to #1665643 From fba85c10dd3ffc0f2ababc568440fa7eb345d1b0 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 23 Jan 2019 19:46:37 +0100 Subject: [PATCH 542/789] Fix TokuDB Jemalloc ld_preload; #1668375 Tweak macros usage --- mariadb.spec | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 72af6d4..035a31d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -128,7 +128,6 @@ # Include systemd files %global daemon_name %{name} -%global daemondir %{_unitdir} %global daemon_no_prefix %{pkg_name} %global mysqld_pid_dir mariadb @@ -160,7 +159,7 @@ Name: mariadb Version: 10.3.12 -Release: 6%{?with_debug:.debug}%{?dist} +Release: 7%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1075,11 +1074,9 @@ rm %{buildroot}%{_mandir}/man1/tokuftdump.1* rm %{buildroot}%{_mandir}/man1/tokuft_logprint.1* %else %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 -mkdir -p %{buildroot}%{_sysconfdir}/systemd/system/mariadb.service.d -echo 'Environment="LD_PRELOAD=%{_libdir}/libjemalloc.so.2"' >> %{buildroot}%{_sysconfdir}/systemd/system/mariadb.service.d/tokudb.conf +mkdir -p %{buildroot}%{_unitdir}/mariadb.service.d +echo -e '[Service]\nEnvironment="LD_PRELOAD=%{_libdir}/libjemalloc.so.2"' >> %{buildroot}%{_unitdir}/mariadb.service.d/tokudb.conf %endif -# Move to better location, systemd config files has to be in /lib/ -mv %{buildroot}%{_sysconfdir}/systemd/system/mariadb.service.d %{buildroot}/usr/lib/systemd/system/ %endif %if %{without config} @@ -1443,7 +1440,9 @@ fi %{_datadir}/%{pkg_name}/systemd/mariadb@.service %endif -%{daemondir}/%{daemon_name}* +%{_unitdir}/%{daemon_name}* +%{?with_tokudb:%exclude %{_unitdir}/mariadb.service.d/tokudb.conf} + %{_libexecdir}/mysql-prepare-db-dir %{_libexecdir}/mysql-check-socket %{_libexecdir}/mysql-check-upgrade @@ -1492,7 +1491,7 @@ fi %{_mandir}/man1/tokuft_logprint.1* %config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so -/usr/lib/systemd/system/mariadb.service.d/tokudb.conf +%{_unitdir}/mariadb.service.d/tokudb.conf %endif %if %{with gssapi} @@ -1599,6 +1598,11 @@ fi %endif %changelog +* Wed Jan 23 2019 Michal Schorm - 3:10.3.12-7 +- Fix TokuDB Jemalloc ld_preload + Resolves: #1668375 +- Tweak macros usage + * Sat Jan 19 2019 Michal Schorm - 3:10.3.12-6 - Enable mysql-selinux requirement - Tweak the testsuite execution, speed up the testsuite on rebuilds From 73b0cf5ba22c962a64a9bcb227421d44fbbc1730 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 30 Jan 2019 07:25:50 +0100 Subject: [PATCH 543/789] Fix several SSL tests that failed because of different SSL cipher expectation --- mariadb-ssl-cipher-tests.patch | 52 ++++++++++++++++++++++++++++++++++ mariadb.spec | 8 +++++- rh-skipped-tests-base.list | 8 ------ 3 files changed, 59 insertions(+), 9 deletions(-) create mode 100644 mariadb-ssl-cipher-tests.patch diff --git a/mariadb-ssl-cipher-tests.patch b/mariadb-ssl-cipher-tests.patch new file mode 100644 index 0000000..3d04c4c --- /dev/null +++ b/mariadb-ssl-cipher-tests.patch @@ -0,0 +1,52 @@ +diff -up mariadb-10.3.9/mysql-test/main/ssl_cipher.test.fixtest mariadb-10.3.9/mysql-test/main/ssl_cipher.test +--- mariadb-10.3.9/mysql-test/main/ssl_cipher.test.fixtest 2019-01-27 19:39:19.610027153 +0100 ++++ mariadb-10.3.9/mysql-test/main/ssl_cipher.test 2019-01-27 19:42:10.045430776 +0100 +@@ -13,7 +13,9 @@ + connect (ssl_con,localhost,root,,,,,SSL); + + # Check Cipher Name and Cipher List ++--replace_regex /TLS_AES_.*/AES128-SHA/ + SHOW STATUS LIKE 'Ssl_cipher'; ++--replace_regex /TLS_AES_.*/AES128-SHA/ + SHOW STATUS LIKE 'Ssl_cipher_list'; + + connection default; +diff -up mariadb-10.3.9/mysql-test/main/ssl.result.fixtestssl mariadb-10.3.9/mysql-test/main/ssl.result +--- mariadb-10.3.9/mysql-test/main/ssl.result.fixtestssl 2019-01-27 20:41:52.605213547 +0100 ++++ mariadb-10.3.9/mysql-test/main/ssl.result 2019-01-27 20:42:03.977320005 +0100 +@@ -2176,7 +2176,7 @@ still connected? + connection default; + disconnect ssl_con; + create user mysqltest_1@localhost; +-grant usage on mysqltest.* to mysqltest_1@localhost require cipher "AES256-SHA"; ++grant usage on mysqltest.* to mysqltest_1@localhost require cipher "TLS_AES_256_GCM_SHA384"; + Variable_name Value +-Ssl_cipher AES256-SHA ++Ssl_cipher TLS_AES_256_GCM_SHA384 + drop user mysqltest_1@localhost; +diff -up mariadb-10.3.9/mysql-test/main/ssl.test.fixtestssl mariadb-10.3.9/mysql-test/main/ssl.test +--- mariadb-10.3.9/mysql-test/main/ssl.test.fixtestssl 2019-01-27 20:40:39.756531579 +0100 ++++ mariadb-10.3.9/mysql-test/main/ssl.test 2019-01-27 20:41:02.631745724 +0100 +@@ -33,8 +33,8 @@ connection default; + disconnect ssl_con; + + create user mysqltest_1@localhost; +-grant usage on mysqltest.* to mysqltest_1@localhost require cipher "AES256-SHA"; +---exec $MYSQL -umysqltest_1 --ssl-cipher=AES256-SHA -e "show status like 'ssl_cipher'" 2>&1 ++grant usage on mysqltest.* to mysqltest_1@localhost require cipher "TLS_AES_256_GCM_SHA384"; ++--exec $MYSQL -umysqltest_1 --ssl-cipher=TLS_AES_256_GCM_SHA384 -e "show status like 'ssl_cipher'" 2>&1 + drop user mysqltest_1@localhost; + + # Wait till all disconnects are completed +diff -up mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test.fixcerttest mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test +--- mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test.fixcerttest 2019-01-27 21:11:12.280726041 +0100 ++++ mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test 2019-01-27 21:10:01.034041434 +0100 +@@ -30,7 +30,7 @@ let $ssl_verify_pass_path = --ssl --ssl- + --enable_reconnect + --source include/wait_until_connected_again.inc + +---replace_result TLSv1.2 TLS_VERSION TLSv1.1 TLS_VERSION TLSv1 TLS_VERSION ++--replace_result TLSv1.3 TLS_VERSION TLSv1.2 TLS_VERSION TLSv1.1 TLS_VERSION TLSv1 TLS_VERSION + --exec $MYSQL --protocol=tcp --ssl-ca=$MYSQL_TEST_DIR/std_data/ca-cert-verify.pem --ssl-verify-server-cert -e "SHOW STATUS like 'Ssl_version'" + + --echo # restart server using restart diff --git a/mariadb.spec b/mariadb.spec index 035a31d..92dc0ac 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -159,7 +159,7 @@ Name: mariadb Version: 10.3.12 -Release: 7%{?with_debug:.debug}%{?dist} +Release: 8%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -203,6 +203,8 @@ Patch4: %{pkgnamepatch}-logrotate.patch Patch7: %{pkgnamepatch}-scripts.patch # Patch9: pre-configure to comply with guidelines Patch9: %{pkgnamepatch}-ownsetup.patch +# Patch10: Fix cipher name in the SSL Cipher name test +Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch BuildRequires: cmake gcc-c++ BuildRequires: multilib-rpm-config @@ -709,6 +711,7 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \; %patch4 -p1 %patch7 -p1 %patch9 -p1 +%patch10 -p1 # workaround for upstream bug #56342 #rm mysql-test/t/ssl_8k_key-master.opt @@ -1598,6 +1601,9 @@ fi %endif %changelog +* Wed Jan 30 2019 Honza Horak - 3:10.3.12-8 +- Fix several SSL tests that failed because of different SSL cipher expectation + * Wed Jan 23 2019 Michal Schorm - 3:10.3.12-7 - Fix TokuDB Jemalloc ld_preload Resolves: #1668375 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 62a1726..e41440b 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -2,16 +2,8 @@ # https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-84275 main.ssl_7937 : #1399847 main.ssl_crl_clients : #1399847 -main.ssl_cert_verify : - main.ssl_8k_key : -# From 10.3.9 -main.openssl_1 : -main.openssl_6975 : -main.ssl : -main.ssl_cipher : - # perfschema.nesting : #1399847 perfschema.socket_summary_by_instance_func : #1399847 From 6ec65c33b713c83a38997d73d3167ba32fda3d37 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 1 Feb 2019 09:39:27 +0000 Subject: [PATCH 544/789] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 92dc0ac..3869625 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -159,7 +159,7 @@ Name: mariadb Version: 10.3.12 -Release: 8%{?with_debug:.debug}%{?dist} +Release: 9%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1601,6 +1601,9 @@ fi %endif %changelog +* Fri Feb 01 2019 Fedora Release Engineering - 3:10.3.12-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Wed Jan 30 2019 Honza Horak - 3:10.3.12-8 - Fix several SSL tests that failed because of different SSL cipher expectation From 44e21fbd64582eddba0b867e6144fe835af5350a Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 11 Feb 2019 10:57:03 +0100 Subject: [PATCH 545/789] Disable again the 'mysql-selinux' requirement. Bug remained, #1665643 --- mariadb.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 3869625..ceaf8da 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -16,7 +16,7 @@ %global force_run_testsuite 0 # Aditional SELinux rules -%global require_mysql_selinux 1 +%global require_mysql_selinux 0 # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} @@ -159,7 +159,7 @@ Name: mariadb Version: 10.3.12 -Release: 9%{?with_debug:.debug}%{?dist} +Release: 10%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1601,6 +1601,9 @@ fi %endif %changelog +* Mon Feb 11 2019 Michal Schorm - 3:10.3.12-10 +- Disable the requirement of mysql-selinux, until its bug is solved for good; #1665643 + * Fri Feb 01 2019 Fedora Release Engineering - 3:10.3.12-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild From ff6cb12c8c560d09cf69b02b89008d3de3a39edf Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 18 Feb 2019 11:05:10 +0100 Subject: [PATCH 546/789] Rebase to 10.4.2 Sync-up with 10.3 in Rawhide --- mariadb-myrocks-hotbackup.patch | 32 ++++++ mariadb-pythonver.patch | 27 +++++ mariadb-shebang.patch | 8 +- mariadb-ssl-cipher-tests.patch | 52 ++++++++++ mariadb.spec | 173 ++++++++++++++++++++++++-------- rh-skipped-tests-base.list | 12 +-- sources | 2 +- 7 files changed, 248 insertions(+), 58 deletions(-) create mode 100644 mariadb-myrocks-hotbackup.patch create mode 100644 mariadb-pythonver.patch create mode 100644 mariadb-ssl-cipher-tests.patch diff --git a/mariadb-myrocks-hotbackup.patch b/mariadb-myrocks-hotbackup.patch new file mode 100644 index 0000000..ff2a1b1 --- /dev/null +++ b/mariadb-myrocks-hotbackup.patch @@ -0,0 +1,32 @@ +Do not import commands library as it is not used + +It also makes the script not work on python3, but since the script already uses +subprocess in practice, removing commands import is effectively no change and +fixes the python3 compatibility. + +Upstream PR: https://github.com/MariaDB/server/pull/1080 + +From 9c89fd49a757a87ba5899b3548b0fb1d172c0ec3 Mon Sep 17 00:00:00 2001 +From: Honza Horak +Date: Wed, 9 Jan 2019 15:05:02 +0100 +Subject: [PATCH] Do not import commands library as it is not used + +--- + storage/rocksdb/myrocks_hotbackup.py | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/storage/rocksdb/myrocks_hotbackup.py b/storage/rocksdb/myrocks_hotbackup.py +index 69c75b7cbfd..906ba814776 100755 +--- a/storage/rocksdb/myrocks_hotbackup.py ++++ b/storage/rocksdb/myrocks_hotbackup.py +@@ -8,7 +8,6 @@ import os + import stat + import sys + import re +-import commands + import subprocess + import logging + import logging.handlers +-- +2.17.2 + diff --git a/mariadb-pythonver.patch b/mariadb-pythonver.patch new file mode 100644 index 0000000..eb8a1e7 --- /dev/null +++ b/mariadb-pythonver.patch @@ -0,0 +1,27 @@ +Upstream PR: https://github.com/MariaDB/server/pull/1081 + +From d2cbf56d36e422802aa7e53ec0f4e6be8fd53cf5 Mon Sep 17 00:00:00 2001 +From: Honza Horak +Date: Wed, 9 Jan 2019 20:17:29 +0100 +Subject: [PATCH] Make the PYTHON_SHEBANG value configurable + +In Fedora 30 it is required to specify either /usr/bin/python2 or /usr/bin/python3 in the shebang, so we need a way to say explicit shebang, ideally in the cmake call. +--- + CMakeLists.txt | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a139c9e5fa4..ccccb08bef1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -342,7 +342,9 @@ MYSQL_CHECK_SSL() + MYSQL_CHECK_READLINE() + + SET(MALLOC_LIBRARY "system") +-SET(PYTHON_SHEBANG "/usr/bin/env python" CACHE STRING "python shebang") ++IF(NOT DEFINED PYTHON_SHEBANG) ++ SET(PYTHON_SHEBANG "/usr/bin/env python") ++ENDIF() + MARK_AS_ADVANCED(PYTHON_SHEBANG) + + CHECK_PCRE() diff --git a/mariadb-shebang.patch b/mariadb-shebang.patch index 9a3d3f3..4f0a267 100644 --- a/mariadb-shebang.patch +++ b/mariadb-shebang.patch @@ -4,11 +4,11 @@ Maintainer's note: This script is not python3 compatible: ModuleNotFoundError: No module named 'commands' -diff -Naurp mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup_patched ---- mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup 2018-10-02 11:45:43.000000000 +0200 -+++ mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup_patched 2018-10-05 14:27:02.960060700 +0200 +diff -Naurp mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py_patched +--- mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py 2019-01-04 16:28:50.000000000 +0100 ++++ mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py_patched 2019-01-08 12:00:54.468750863 +0100 @@ -1,4 +1,4 @@ --#!/usr/bin/env python +-#!@PYTHON_SHEBANG@ +#!/usr/bin/python2 from __future__ import division diff --git a/mariadb-ssl-cipher-tests.patch b/mariadb-ssl-cipher-tests.patch new file mode 100644 index 0000000..3d04c4c --- /dev/null +++ b/mariadb-ssl-cipher-tests.patch @@ -0,0 +1,52 @@ +diff -up mariadb-10.3.9/mysql-test/main/ssl_cipher.test.fixtest mariadb-10.3.9/mysql-test/main/ssl_cipher.test +--- mariadb-10.3.9/mysql-test/main/ssl_cipher.test.fixtest 2019-01-27 19:39:19.610027153 +0100 ++++ mariadb-10.3.9/mysql-test/main/ssl_cipher.test 2019-01-27 19:42:10.045430776 +0100 +@@ -13,7 +13,9 @@ + connect (ssl_con,localhost,root,,,,,SSL); + + # Check Cipher Name and Cipher List ++--replace_regex /TLS_AES_.*/AES128-SHA/ + SHOW STATUS LIKE 'Ssl_cipher'; ++--replace_regex /TLS_AES_.*/AES128-SHA/ + SHOW STATUS LIKE 'Ssl_cipher_list'; + + connection default; +diff -up mariadb-10.3.9/mysql-test/main/ssl.result.fixtestssl mariadb-10.3.9/mysql-test/main/ssl.result +--- mariadb-10.3.9/mysql-test/main/ssl.result.fixtestssl 2019-01-27 20:41:52.605213547 +0100 ++++ mariadb-10.3.9/mysql-test/main/ssl.result 2019-01-27 20:42:03.977320005 +0100 +@@ -2176,7 +2176,7 @@ still connected? + connection default; + disconnect ssl_con; + create user mysqltest_1@localhost; +-grant usage on mysqltest.* to mysqltest_1@localhost require cipher "AES256-SHA"; ++grant usage on mysqltest.* to mysqltest_1@localhost require cipher "TLS_AES_256_GCM_SHA384"; + Variable_name Value +-Ssl_cipher AES256-SHA ++Ssl_cipher TLS_AES_256_GCM_SHA384 + drop user mysqltest_1@localhost; +diff -up mariadb-10.3.9/mysql-test/main/ssl.test.fixtestssl mariadb-10.3.9/mysql-test/main/ssl.test +--- mariadb-10.3.9/mysql-test/main/ssl.test.fixtestssl 2019-01-27 20:40:39.756531579 +0100 ++++ mariadb-10.3.9/mysql-test/main/ssl.test 2019-01-27 20:41:02.631745724 +0100 +@@ -33,8 +33,8 @@ connection default; + disconnect ssl_con; + + create user mysqltest_1@localhost; +-grant usage on mysqltest.* to mysqltest_1@localhost require cipher "AES256-SHA"; +---exec $MYSQL -umysqltest_1 --ssl-cipher=AES256-SHA -e "show status like 'ssl_cipher'" 2>&1 ++grant usage on mysqltest.* to mysqltest_1@localhost require cipher "TLS_AES_256_GCM_SHA384"; ++--exec $MYSQL -umysqltest_1 --ssl-cipher=TLS_AES_256_GCM_SHA384 -e "show status like 'ssl_cipher'" 2>&1 + drop user mysqltest_1@localhost; + + # Wait till all disconnects are completed +diff -up mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test.fixcerttest mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test +--- mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test.fixcerttest 2019-01-27 21:11:12.280726041 +0100 ++++ mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test 2019-01-27 21:10:01.034041434 +0100 +@@ -30,7 +30,7 @@ let $ssl_verify_pass_path = --ssl --ssl- + --enable_reconnect + --source include/wait_until_connected_again.inc + +---replace_result TLSv1.2 TLS_VERSION TLSv1.1 TLS_VERSION TLSv1 TLS_VERSION ++--replace_result TLSv1.3 TLS_VERSION TLSv1.2 TLS_VERSION TLSv1.1 TLS_VERSION TLSv1 TLS_VERSION + --exec $MYSQL --protocol=tcp --ssl-ca=$MYSQL_TEST_DIR/std_data/ca-cert-verify.pem --ssl-verify-server-cert -e "SHOW STATUS like 'Ssl_version'" + + --echo # restart server using restart diff --git a/mariadb.spec b/mariadb.spec index 5f2a6e0..70d36e0 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -8,6 +8,16 @@ # Set this to 1 to see which tests fail, but 0 on production ready build %global ignore_testsuite_result 1 +# The last version on which the full testsuite has been run +# In case of further rebuilds of that version, don't require full testsuite to be run +# run only "main" suite +%global last_tested_version 10.4.2 +# Set to 1 to force run the testsuite even if it was already tested in current version +%global force_run_testsuite 0 + +# Aditional SELinux rules +%global require_mysql_selinux 0 + # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}} @@ -109,9 +119,15 @@ %global pcre_bundled_version 8.42 %endif +# Use main python interpretter version +%if 0%{?fedora} || 0%{?rhel} > 7 +%global python_path /usr/bin/python3 +%else +%global python_path /usr/bin/python2 +%endif + # Include systemd files %global daemon_name %{name} -%global daemondir %{_unitdir} %global daemon_no_prefix %{pkg_name} %global mysqld_pid_dir mariadb @@ -142,7 +158,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.4.1 +Version: 10.4.2 Release: 1.beta%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -176,8 +192,8 @@ Source71: LICENSE.clustercheck # https://jira.mariadb.org/browse/MDEV-12646 Source72: mariadb-server-galera.te -# Patch1: Fix python shebang to specificaly say the python version -Patch1: %{pkgnamepatch}-shebang.patch +# Patch2: Make the python interpretter be configurable +Patch2: %{pkgnamepatch}-pythonver.patch # Patch4: Red Hat distributions specific logrotate fix # it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2 Patch4: %{pkgnamepatch}-logrotate.patch @@ -185,6 +201,8 @@ Patch4: %{pkgnamepatch}-logrotate.patch Patch7: %{pkgnamepatch}-scripts.patch # Patch9: pre-configure to comply with guidelines Patch9: %{pkgnamepatch}-ownsetup.patch +# Patch10: Fix cipher name in the SSL Cipher name test +Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch BuildRequires: cmake gcc-c++ BuildRequires: multilib-rpm-config @@ -387,10 +405,14 @@ Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-errmsg%{?_isa} = %{sameevr} Recommends: %{name}-server-utils%{?_isa} = %{sameevr} Recommends: %{name}-backup%{?_isa} = %{sameevr} -%{?with_cracklib:Recommends: %{name}-cracklib-password-check%{?_isa} = %{sameevr}} -%{?with_gssapi:Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}} -%{?with_rocksdb:Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr}} -%{?with_tokudb:Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}} +%{?with_cracklib:Recommends: %{name}-cracklib-password-check%{?_isa} = %{sameevr}} +%{?with_gssapi:Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}} +%{?with_rocksdb:Suggests: %{name}-rocksdb-engine%{?_isa} = %{sameevr}} +%{?with_tokudb:Suggests: %{name}-tokudb-engine%{?_isa} = %{sameevr}} +%{?with_sphinx:Suggests: %{name}-sphinx-engine%{?_isa} = %{sameevr}} +%{?with_oqgraph:Suggests: %{name}-oqgraph-engine%{?_isa} = %{sameevr}} +%{?with_connect:Suggests: %{name}-connect-engine%{?_isa} = %{sameevr}} +%{?with_cassandra:Suggests: %{name}-cassandra-engine%{?_isa} = %{sameevr}} Suggests: mytop Suggests: logrotate @@ -398,6 +420,12 @@ Suggests: logrotate Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d +# Aditional SELinux rules (common for MariaDB & MySQL) shipped in a separate package +# For cases, where we want to fix a SELinux issues in MariaDB sooner than patched selinux-policy-targeted package is released +%if %require_mysql_selinux +Requires: (mysql-selinux if selinux-policy-targeted) +%endif + # for fuser in mysql-check-socket Requires: psmisc @@ -676,10 +704,11 @@ sources. # Remove JAR files that upstream puts into tarball find . -name "*.jar" -type f -exec rm --verbose -f {} \; -%patch1 -p1 +%patch2 -p1 %patch4 -p1 %patch7 -p1 %patch9 -p1 +#%patch10 -p1 # workaround for upstream bug #56342 #rm mysql-test/t/ssl_8k_key-master.opt @@ -755,10 +784,6 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" # force PIC mode so that we can build libmysqld.so CFLAGS="$CFLAGS -fPIC" -# significant performance gains can be achieved by compiling with -O3 optimization; rhbz#1051069 -%ifarch ppc64 -CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` -%endif # Override all optimization flags when making a debug build %{?with_debug: CFLAGS="$CFLAGS -O0 -g"} @@ -820,15 +845,16 @@ export CFLAGS CXXFLAGS -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ -DWITH_CASSANDRA=%{?with_cassandra:TRUE}%{!?with_cassandra:FALSE} \ - -DPLUGIN_AWS_KEY_MANAGEMENT=NO \ + -DPYTHON_SHEBANG=%{python_path} \ -DPLUGIN_CACHING_SHA2_PASSWORD=%{?with_clibrary:DYNAMIC}%{!?with_clibrary:OFF} \ + -DPLUGIN_AWS_KEY_MANAGEMENT=NO \ -DCONNECT_WITH_MONGO=OFF \ -DCONNECT_WITH_JDBC=OFF \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} # Print all Cmake options values -# cmake -LAH for List Advanced Help -cmake -L +# cmake ./ -LAH for List Advanced Help +cmake ./ -L make %{?_smp_mflags} VERBOSE=1 @@ -864,7 +890,8 @@ fi # TODO: check, if it changes location inside that file depending on values passed to Cmake mkdir -p %{buildroot}/%{_libdir}/pkgconfig mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig -rm %{buildroot}/usr/lib/pkgconfig/libmariadb.pc +# Client part should be included in package 'mariadb-connector-c' +rm %{buildroot}%{_libdir}/pkgconfig/libmariadb.pc # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also %%{name}-file-contents.patch) @@ -982,7 +1009,7 @@ rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf # Disable plugins -%if %{with ggsapi} +%if %{with gssapi} sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/auth_gssapi.cnf %endif %if %{with cracklib} @@ -1047,10 +1074,9 @@ rm %{buildroot}%{_mandir}/man1/tokuftdump.1* rm %{buildroot}%{_mandir}/man1/tokuft_logprint.1* %else %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 -echo 'Environment="LD_PRELOAD=%{_libdir}/libjemalloc.so.2"' >> %{buildroot}%{_sysconfdir}/systemd/system/mariadb.service.d/tokudb.conf +mkdir -p %{buildroot}%{_unitdir}/mariadb.service.d +echo -e '[Service]\nEnvironment="LD_PRELOAD=%{_libdir}/libjemalloc.so.2"' >> %{buildroot}%{_unitdir}/mariadb.service.d/tokudb.conf %endif -# Move to better location, systemd config files has to be in /lib/ -mv %{buildroot}%{_sysconfdir}/systemd/system/mariadb.service.d %{buildroot}/usr/lib/systemd/system/ %endif %if %{without config} @@ -1125,28 +1151,35 @@ export MTR_BUILD_THREAD=%{__isa_bits} ( set -ex - cd mysql-test - perl ./mysql-test-run.pl --parallel=auto --force --retry=1 --ssl \ - --suite-timeout=900 --testcase-timeout=30 \ - --mysqld=--binlog-format=mixed --force-restart \ - --shutdown-timeout=60 --max-test-fail=5 --big-test \ - --skip-test=spider \ -%if %{ignore_testsuite_result} - --max-test-fail=9999 || : -%else - --skip-test-list=unstable-tests -%endif -# Second run for the SPIDER suites that fail with SCA (ssl self signed certificate) - perl ./mysql-test-run.pl --parallel=auto --force --retry=1 \ - --suite-timeout=60 --testcase-timeout=10 \ - --mysqld=--binlog-format=mixed --force-restart \ - --shutdown-timeout=60 --max-test-fail=0 --big-test \ - --skip-ssl --suite=spider,spider/bg \ -%if %{ignore_testsuite_result} - --max-test-fail=999 || : -%endif + export common_testsuite_arguments=" --parallel=auto --force --retry=1 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --force-restart --shutdown-timeout=60 --max-test-fail=5 " + + # If full testsuite has already been run on this version and we don't explicitly want the full testsuite to be run + if [[ "%{last_tested_version}" == "%{version}" ]] && [[ %{force_run_testsuite} -eq 0 ]] + then + # in further rebuilds only run the basic "main" suite (~800 tests) + echo "running only base testsuite" + perl ./mysql-test-run.pl $common_testsuite_arguments --ssl --suite=main --mem --skip-test-list=unstable-tests + fi + + # If either this version wasn't marked as tested yet or I explicitly want to run the testsuite, run everything we have (~4000 test) + if [[ "%{last_tested_version}" != "%{version}" ]] || [[ %{force_run_testsuite} -ne 0 ]] + then + echo "running advanced testsuite" + perl ./mysql-test-run.pl $common_testsuite_arguments --ssl --big-test --skip-test=spider \ + %if %{ignore_testsuite_result} + --max-test-fail=9999 || : + %else + --skip-test-list=unstable-tests + %endif + # Second run for the SPIDER suites that fail with SCA (ssl self signed certificate) + perl ./mysql-test-run.pl $common_testsuite_arguments --skip-ssl --big-test --mem --suite=spider,spider/bg \ + %if %{ignore_testsuite_result} + --max-test-fail=999 || : + %endif + # blank line + fi ) %endif # if dry run @@ -1340,7 +1373,7 @@ fi %{?with_cracklib:%exclude %{_libdir}/%{pkg_name}/plugin/cracklib_password_check.so} %{?with_rocksdb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so} %{?with_tokudb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so} -%{?with_ggsapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so} +%{?with_gssapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so} %{?with_sphinx:%exclude %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so} %{?with_cassandra:%exclude %{_libdir}/%{pkg_name}/plugin/ha_cassandra.so} %if %{with clibrary} @@ -1407,7 +1440,9 @@ fi %{_datadir}/%{pkg_name}/systemd/mariadb@.service %endif -%{daemondir}/%{daemon_name}* +%{_unitdir}/%{daemon_name}* +%{?with_tokudb:%exclude %{_unitdir}/mariadb.service.d/tokudb.conf} + %{_libexecdir}/mysql-prepare-db-dir %{_libexecdir}/mysql-check-socket %{_libexecdir}/mysql-check-upgrade @@ -1456,7 +1491,7 @@ fi %{_mandir}/man1/tokuft_logprint.1* %config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so -/usr/lib/systemd/system/mariadb.service.d/tokudb.conf +%{_unitdir}/mariadb.service.d/tokudb.conf %endif %if %{with gssapi} @@ -1563,10 +1598,60 @@ fi %endif %changelog +* Mon Feb 18 2019 Michal Schorm - 3:10.4.2-1 +- Rebase to 10.4.2 +- This is BETA release! use at your own risk. + +* Mon Feb 11 2019 Michal Schorm - 3:10.3.12-10 +- Disable the requirement of mysql-selinux, until its bug is solved for good; #1665643 + +* Fri Feb 01 2019 Fedora Release Engineering - 3:10.3.12-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Jan 30 2019 Honza Horak - 3:10.3.12-8 +- Fix several SSL tests that failed because of different SSL cipher expectation + +* Wed Jan 23 2019 Michal Schorm - 3:10.3.12-7 +- Fix TokuDB Jemalloc ld_preload + Resolves: #1668375 +- Tweak macros usage + +* Sat Jan 19 2019 Michal Schorm - 3:10.3.12-6 +- Enable mysql-selinux requirement +- Tweak the testsuite execution, speed up the testsuite on rebuilds +- Change weak dependency of RocksDB and TokuDB storage engines + from Recommends to Suggests +- Add "Suggests" weak dependencies to more storage engines + +* Wed Jan 16 2019 Michal Schorm - 3:10.3.12-5 +- Tweak handling of the mysql-selinux requirement, leave disabled due to #1665643 + +* Mon Jan 14 2019 Björn Esser - 3:10.3.12-4 +- Rebuilt for libcrypt.so.2 (#1666033) + +* Fri Jan 11 2019 Kevin Fenzi - 3:10.3.12-3 +- Drop mysql-selinux recommends for now due to bug #1665643 + +* Wed Jan 09 2019 Honza Horak - 3:10.3.12-2 +- Use specific python shebang + +* Tue Jan 08 2019 Michal Schorm - 3:10.3.12-1 +- Rebase to 10.3.12 +- Disable building of the caching_sha2_password plugin, it is shipped + by 'mariadb-connector-c' +- Remove libmariadb.pc, is it shipped by 'mariadb-connector-c' + * Sun Jan 06 2019 Michal Schorm - 3:10.4.1-1 - Rebase to 10.4.1 - This is BETA release! use at your own risk. +* Mon Dec 10 2018 Michal Schorm - 3:10.3.11-1 +- Rebase to 10.3.11 +- CVEs fixed: + CVE-2018-3282, CVE-2016-9843, CVE-2018-3174, CVE-2018-3143, CVE-2018-3156 + CVE-2018-3251, CVE-2018-3185, CVE-2018-3277, CVE-2018-3162, CVE-2018-3173 + CVE-2018-3200, CVE-2018-3284 + * Fri Nov 16 2018 Michal Schorm - 3:10.4.0-1 - Rebase to 10.4.0 - This is ALPHA release! use at your own risk. diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 1123444..a35653e 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -1,17 +1,10 @@ # The SSL test are failing correctly. Fro more explanation, see: # https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-84275 main.ssl_7937 : #1399847 +main.ssl_crl : main.ssl_crl_clients : #1399847 -main.ssl_cert_verify : - main.ssl_8k_key : -# From 10.3.9 -main.openssl_1 : -main.openssl_6975 : -main.ssl : -main.ssl_cipher : - # perfschema.nesting : #1399847 perfschema.socket_summary_by_instance_func : #1399847 @@ -60,5 +53,6 @@ parts.partition_alter4_innodb : # Fails from 10.3.9 encryption.innodb-redo-badkey : -# 10.4.0 +# Fails on 10.4.2 sys_vars.tcp_nodelay : +main.func_math : diff --git a/sources b/sources index 2d3457c..2d14188 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.4.1.tar.gz) = 0422bbc4b3a38ff70bfc1cb61f8cb6582c7410a834a15bc593070aa206ca0103c0e4da04a36d02fcb6c21e3646d7920f6de7095b51a27136a7684d9ed54b5f8d +SHA512 (mariadb-10.4.2.tar.gz) = 31fffbc3223e0e52dcce08511904bef6a9d03b734773f46e864d5e8de8ceef352b2d8821614c6cc0ed12cdd0a3c60805c6815dbe7d07b8efec708df68eb05bd3 From cbeee534b248fe368f30814f886e00a2c03650d1 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Sat, 23 Feb 2019 10:57:40 +0100 Subject: [PATCH 547/789] conditionally depend on selinux-policy-targeted again Related: rhbz#1665643 Version: 10.3.12-11 --- mariadb.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index ceaf8da..adb6222 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -16,7 +16,7 @@ %global force_run_testsuite 0 # Aditional SELinux rules -%global require_mysql_selinux 0 +%global require_mysql_selinux 1 # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} @@ -159,7 +159,7 @@ Name: mariadb Version: 10.3.12 -Release: 10%{?with_debug:.debug}%{?dist} +Release: 11%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1601,6 +1601,9 @@ fi %endif %changelog +* Sat Feb 23 2019 Pavel Raiskup - 10.3.12-11 +- conditionally depend on selinux-policy-targeted again (rhbz#1665643) + * Mon Feb 11 2019 Michal Schorm - 3:10.3.12-10 - Disable the requirement of mysql-selinux, until its bug is solved for good; #1665643 From 943502fb6d2f17f263f94b72c5a7e48fb627b5b9 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 20 Mar 2019 18:07:41 +0100 Subject: [PATCH 548/789] Add patch for server pkgconfig file location --- mariadb-pcdir.patch | 20 ++++++++++++++++++++ mariadb.spec | 20 ++++++++++++-------- 2 files changed, 32 insertions(+), 8 deletions(-) create mode 100644 mariadb-pcdir.patch diff --git a/mariadb-pcdir.patch b/mariadb-pcdir.patch new file mode 100644 index 0000000..d9a8a78 --- /dev/null +++ b/mariadb-pcdir.patch @@ -0,0 +1,20 @@ +Use PCDIR CMake option, if configured + +Upstream install the server pkgconfig file into arch-independent directory +Reported to upstream as: https://jira.mariadb.org/browse/MDEV-14340 + +--- mariadb-10.3.12/support-files/CMakeLists.txt 2019-03-20 15:25:53.423283135 +0100 ++++ mariadb-10.3.12/support-files/CMakeLists.txt_patched 2019-03-20 15:38:56.372819958 +0100 +@@ -82,7 +82,12 @@ IF(UNIX) + + CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY) + CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY) ++IF(INSTALL_PCDIR) ++ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_PCDIR} COMPONENT Development) ++ELSE() + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development) ++ENDIF() ++ + + INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) + diff --git a/mariadb.spec b/mariadb.spec index adb6222..7e7dab4 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -85,6 +85,7 @@ %bcond_without test %bcond_without galera %bcond_without backup +# Upstream no longer maintain and pack the bench subpackage %if 0%{?fedora} %bcond_without bench %else @@ -159,7 +160,7 @@ Name: mariadb Version: 10.3.12 -Release: 11%{?with_debug:.debug}%{?dist} +Release: 12%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -192,9 +193,9 @@ Source71: LICENSE.clustercheck # https://jira.mariadb.org/browse/MDEV-12646 Source72: mariadb-server-galera.te -# Patch1: Make the myrocks_hotbackup script python3 compatible +# Patch1: Make the myrocks_hotbackup script python3 compatible Patch1: %{pkgnamepatch}-myrocks-hotbackup.patch -# Patch2: Make the python interpretter be configurable +# Patch2: Make the python interpretter be configurable Patch2: %{pkgnamepatch}-pythonver.patch # Patch4: Red Hat distributions specific logrotate fix # it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2 @@ -205,6 +206,8 @@ Patch7: %{pkgnamepatch}-scripts.patch Patch9: %{pkgnamepatch}-ownsetup.patch # Patch10: Fix cipher name in the SSL Cipher name test Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch +# Patch11: Use PCDIR CMake option, if configured +Patch11: %{pkgnamepatch}-pcdir.patch BuildRequires: cmake gcc-c++ BuildRequires: multilib-rpm-config @@ -712,6 +715,7 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \; %patch7 -p1 %patch9 -p1 %patch10 -p1 +%patch11 -p1 # workaround for upstream bug #56342 #rm mysql-test/t/ssl_8k_key-master.opt @@ -888,13 +892,10 @@ install -p -m 0755 scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_co ln -s mysql_config.1 %{buildroot}%{_mandir}/man1/mysql_config-%{__isa_bits}.1 fi -# Upstream install this into arch-independent directory -# Reported to upstream as: https://jira.mariadb.org/browse/MDEV-14340 -# TODO: check, if it changes location inside that file depending on values passed to Cmake -mkdir -p %{buildroot}/%{_libdir}/pkgconfig -mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig +%if %{without clibrary} # Client part should be included in package 'mariadb-connector-c' rm %{buildroot}%{_libdir}/pkgconfig/libmariadb.pc +%endif # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also %%{name}-file-contents.patch) @@ -1601,6 +1602,9 @@ fi %endif %changelog +* Wed Mar 20 2019 Michal Schorm - 10.3.12-12 +- Add patch for server pkgconfig file location + * Sat Feb 23 2019 Pavel Raiskup - 10.3.12-11 - conditionally depend on selinux-policy-targeted again (rhbz#1665643) From fe4891c5b8e6e5f0ce35328e3fa7b9e6efbb2644 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 21 Mar 2019 11:38:58 +0100 Subject: [PATCH 549/789] Add patch for mysqld_safe --dry-run --- mariadb-mysqld_safe.patch | 17 +++++++++++++++++ mariadb.spec | 8 +++++++- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 mariadb-mysqld_safe.patch diff --git a/mariadb-mysqld_safe.patch b/mariadb-mysqld_safe.patch new file mode 100644 index 0000000..cda0d3e --- /dev/null +++ b/mariadb-mysqld_safe.patch @@ -0,0 +1,17 @@ +Fix for: +/usr/bin/mysqld_safe: line 933: return: can only `return' from a function or sourced script + +Upstream PR: +https://github.com/MariaDB/server/pull/1238 + +--- mariadb-10.3.12/scripts/mysqld_safe.sh 2019-01-04 16:28:49.000000000 +0100 ++++ mariadb-10.3.12/scripts/mysqld_safe.sh_patched 2019-03-21 11:34:59.499309336 +0100 +@@ -929,7 +929,7 @@ do + cmd="$cmd "`shell_quote_string "$i"` + done + cmd="$cmd $args" +-[ $dry_run -eq 1 ] && return ++[ $dry_run -eq 1 ] && exit + + # Avoid 'nohup: ignoring input' warning + test -n "$NOHUP_NICENESS" && cmd="$cmd < /dev/null" diff --git a/mariadb.spec b/mariadb.spec index 7e7dab4..4742258 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -160,7 +160,7 @@ Name: mariadb Version: 10.3.12 -Release: 12%{?with_debug:.debug}%{?dist} +Release: 13%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -208,6 +208,8 @@ Patch9: %{pkgnamepatch}-ownsetup.patch Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch # Patch11: Use PCDIR CMake option, if configured Patch11: %{pkgnamepatch}-pcdir.patch +# Patch12: Fix mysqld_safe --dry-run +Patch12: %{pkgnamepatch}-mysqld_safe.patch BuildRequires: cmake gcc-c++ BuildRequires: multilib-rpm-config @@ -716,6 +718,7 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \; %patch9 -p1 %patch10 -p1 %patch11 -p1 +%patch12 -p1 # workaround for upstream bug #56342 #rm mysql-test/t/ssl_8k_key-master.opt @@ -1602,6 +1605,9 @@ fi %endif %changelog +* Thu Mar 21 2019 Michal Schorm - 10.3.12-13 +- Add patch for mysqld_safe --dry-run + * Wed Mar 20 2019 Michal Schorm - 10.3.12-12 - Add patch for server pkgconfig file location From 43e63f83dbd563e721416cdb44d799687d813aa7 Mon Sep 17 00:00:00 2001 From: Carl George Date: Fri, 3 May 2019 22:32:37 -0500 Subject: [PATCH 550/789] Use logrotateddir macro in one more spot --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 4742258..f8cc08d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1008,7 +1008,7 @@ touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck # remove duplicate logrotate script -rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql +rm %{buildroot}%{logrotateddir}/mysql # Remove AppArmor files rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor From df9d3ff3d85676b16d0d8e7baef8c99f0ef3e635 Mon Sep 17 00:00:00 2001 From: Carl George Date: Sat, 4 May 2019 04:46:30 +0000 Subject: [PATCH 551/789] Move mysqld_safe_helper back to server subpackage mysqld_safe is a script that calls the mysqld_safe_helper binary, so being able to install one without the other doesn't make sense. --- mariadb.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index f8cc08d..d0bc077 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1354,6 +1354,7 @@ fi %{_bindir}/mysql_secure_installation %{_bindir}/mysql_tzinfo_to_sql %{_bindir}/mysqld_safe +%{_bindir}/mysqld_safe_helper %{_bindir}/innochecksum %{_bindir}/replace %{_bindir}/resolve_stack_dump @@ -1549,8 +1550,6 @@ fi %{_bindir}/perror %{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/perror.1* -# Other utilities -%{_bindir}/mysqld_safe_helper %if %{with devel} %files devel From 40688c336571105a214bd4f9a3274dc5154b5d0e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 10 May 2019 03:48:29 +0200 Subject: [PATCH 552/789] Fix building of TokuDB with Jemalloc 5 --- mariadb.spec | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index d0bc077..83d3303 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -72,7 +72,7 @@ %bcond_without gssapi # For some use cases we do not need some parts of the package. Set to "...with" to exclude -%if 0%{?fedora} >= 28 || 0%{?rhel} > 7 +%if 0%{?fedora} || 0%{?rhel} > 7 %bcond_with clibrary %else %bcond_without clibrary @@ -160,7 +160,7 @@ Name: mariadb Version: 10.3.12 -Release: 13%{?with_debug:.debug}%{?dist} +Release: 14%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -844,7 +844,7 @@ export CFLAGS CXXFLAGS -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DWITH_JEMALLOC=%{?with_tokudb:YES}%{!?with_tokudb:NO} \ + -DWITH_JEMALLOC=%{?with_tokudb:yes}%{!?with_tokudb:no} \ -DLZ4_LIBS=%{_libdir}/liblz4.so \ -DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ -DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \ @@ -1080,9 +1080,9 @@ rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf rm %{buildroot}%{_mandir}/man1/tokuftdump.1* rm %{buildroot}%{_mandir}/man1/tokuft_logprint.1* %else -%if 0%{?fedora} >= 28 || 0%{?rhel} > 7 -mkdir -p %{buildroot}%{_unitdir}/mariadb.service.d -echo -e '[Service]\nEnvironment="LD_PRELOAD=%{_libdir}/libjemalloc.so.2"' >> %{buildroot}%{_unitdir}/mariadb.service.d/tokudb.conf +%if 0%{?fedora} || 0%{?rhel} > 7 +# Move the upstream file to the correct location +mv %{buildroot}/etc/systemd/system/mariadb.service.d/tokudb.conf %{buildroot}%{_unitdir}/mariadb.service.d/tokudb.conf %endif %endif @@ -1604,6 +1604,9 @@ fi %endif %changelog +* Thu Mar 21 2019 Michal Schorm - 10.3.12-14 +- Fix building of TokuDB with Jemalloc 5 + * Thu Mar 21 2019 Michal Schorm - 10.3.12-13 - Add patch for mysqld_safe --dry-run From f5eb0b7c4d187559a068c98d188c2357e1383486 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 10 May 2019 04:51:02 +0200 Subject: [PATCH 553/789] Fix building with / without lz4 --- mariadb.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 83d3303..e95dda6 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -105,8 +105,6 @@ %bcond_with debug # Page compression algorithms for InnoDB & XtraDB -# lz4 currently cannot be turned off by CMake, only by not having lz4-devel package in the buildroot -# https://jira.mariadb.org/browse/MDEV-15932 %bcond_without lz4 @@ -846,7 +844,9 @@ export CFLAGS CXXFLAGS -DWITH_ZLIB=system \ -DWITH_JEMALLOC=%{?with_tokudb:yes}%{!?with_tokudb:no} \ -DLZ4_LIBS=%{_libdir}/liblz4.so \ + -DLZ4_LIBS=%{?with_lz4:%{_libdir}/liblz4.so}%{!?with_lz4:} \ -DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ + -DWITH_ROCKSDB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ -DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \ -DPLUGIN_OQGRAPH=%{?with_oqgraph:DYNAMIC}%{!?with_oqgraph:NO} \ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=%{?with_cracklib:DYNAMIC}%{!?with_cracklib:NO} \ @@ -1606,6 +1606,7 @@ fi %changelog * Thu Mar 21 2019 Michal Schorm - 10.3.12-14 - Fix building of TokuDB with Jemalloc 5 +- Fix building with / without lz4 * Thu Mar 21 2019 Michal Schorm - 10.3.12-13 - Add patch for mysqld_safe --dry-run From 164d5419b12fbe6386f13d3fd284c85fcd0efba0 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 11 Jun 2019 17:00:53 +0200 Subject: [PATCH 554/789] Rebase to 10.4.5 --- mariadb.spec | 120 ++++++++++++++++++++++--------------- rh-skipped-tests-base.list | 5 -- sources | 2 +- 3 files changed, 74 insertions(+), 53 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 70d36e0..40058c3 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,20 +3,20 @@ %global pkgnamepatch mariadb # Regression tests may take a long time (many cores recommended), skip them by -%{!?runselftest:%global runselftest 1} +%{!?runselftest:%global runselftest 0} # Set this to 1 to see which tests fail, but 0 on production ready build -%global ignore_testsuite_result 1 +%global ignore_testsuite_result 0 # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.4.2 +%global last_tested_version 10.4.5 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 # Aditional SELinux rules -%global require_mysql_selinux 0 +%global require_mysql_selinux 1 # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} @@ -72,7 +72,7 @@ %bcond_without gssapi # For some use cases we do not need some parts of the package. Set to "...with" to exclude -%if 0%{?fedora} >= 28 || 0%{?rhel} > 7 +%if 0%{?fedora} || 0%{?rhel} > 7 %bcond_with clibrary %else %bcond_without clibrary @@ -85,6 +85,7 @@ %bcond_without test %bcond_without galera %bcond_without backup +# Upstream no longer maintain and pack the bench subpackage %if 0%{?fedora} %bcond_without bench %else @@ -104,8 +105,6 @@ %bcond_with debug # Page compression algorithms for InnoDB & XtraDB -# lz4 currently cannot be turned off by CMake, only by not having lz4-devel package in the buildroot -# https://jira.mariadb.org/browse/MDEV-15932 %bcond_without lz4 @@ -158,8 +157,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.4.2 -Release: 1.beta%{?with_debug:.debug}%{?dist} +Version: 10.4.5 +Release: 1.rc%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -192,7 +191,7 @@ Source71: LICENSE.clustercheck # https://jira.mariadb.org/browse/MDEV-12646 Source72: mariadb-server-galera.te -# Patch2: Make the python interpretter be configurable +# Patch2: Make the python interpretter be configurable Patch2: %{pkgnamepatch}-pythonver.patch # Patch4: Red Hat distributions specific logrotate fix # it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2 @@ -259,7 +258,7 @@ Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} -%if %{with clibrary} +%if %{with clibrary} || %{with galera} # Explicit EVR requirement for -libs is needed for RHBZ#1406320 Requires: %{name}-libs%{?_isa} = %{sameevr} %else @@ -297,7 +296,7 @@ The base package contains the standard MariaDB/MySQL client programs and generic MySQL files. -%if %{with clibrary} +%if %{with clibrary} || %{with galera} %package libs Summary: The shared libraries required for MariaDB/MySQL clients Requires: %{name}-common%{?_isa} = %{sameevr} @@ -343,7 +342,7 @@ Requires: %{_sysconfdir}/my.cnf # obsoletion of mariadb-galera-common Provides: mariadb-galera-common = %{sameevr} -%if %{without clibrary} +%if %{without clibrary} && %{without galera} Obsoletes: %{name}-libs <= %{sameevr} %endif @@ -587,9 +586,10 @@ the only MariaDB sub-package, except test subpackage, that depends on Perl. %if %{with devel} %package devel Summary: Files for development of MariaDB/MySQL applications -%{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} Requires: openssl-devel -%if %{without clibrary} +%if %{with clibrary} || %{with galera} +Requires: %{name}-libs%{?_isa} = %{sameevr} +%else Requires: mariadb-connector-c-devel >= 3.0 %endif %if %{with mysql_names} @@ -834,9 +834,11 @@ export CFLAGS CXXFLAGS -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DWITH_JEMALLOC=%{?with_tokudb:YES}%{!?with_tokudb:NO} \ + -DWITH_JEMALLOC=%{?with_tokudb:yes}%{!?with_tokudb:no} \ -DLZ4_LIBS=%{_libdir}/liblz4.so \ + -DLZ4_LIBS=%{?with_lz4:%{_libdir}/liblz4.so}%{!?with_lz4:} \ -DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ + -DWITH_ROCKSDB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ -DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \ -DPLUGIN_OQGRAPH=%{?with_oqgraph:DYNAMIC}%{!?with_oqgraph:NO} \ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=%{?with_cracklib:DYNAMIC}%{!?with_cracklib:NO} \ @@ -868,6 +870,12 @@ make -f /usr/share/selinux/devel/Makefile %{name}-server-galera.pp %install make DESTDIR=%{buildroot} install +%if %{with galera} +# Install the wsrep library +install -D -p -m 0755 wsrep-lib/wsrep-API/libwsrep_api_v*.so %{buildroot}%{_libdir} +install -D -p -m 0755 wsrep-lib/src/libwsrep-lib.so %{buildroot}%{_libdir} +%endif + # multilib header support #1625157 for header in mysql/server/my_config.h mysql/server/private/config.h; do %multilib_fix_c_header --file %{_includedir}/$header @@ -890,8 +898,10 @@ fi # TODO: check, if it changes location inside that file depending on values passed to Cmake mkdir -p %{buildroot}/%{_libdir}/pkgconfig mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig +%if %{without clibrary} # Client part should be included in package 'mariadb-connector-c' rm %{buildroot}%{_libdir}/pkgconfig/libmariadb.pc +%endif # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also %%{name}-file-contents.patch) @@ -923,7 +933,6 @@ mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my. mv %{buildroot}%{_sysusersdir}/sysusers.conf %{buildroot}%{_sysusersdir}/%{name}.conf # remove SysV init script and a symlink to that, we pack our very own -rm %{buildroot}%{_sysconfdir}/init.d/mysql rm %{buildroot}%{_libexecdir}/rcmysql # install systemd unit files and scripts for handling server startup install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service @@ -993,15 +1002,17 @@ install -p -m 0644 %{SOURCE16} %{basename:%{SOURCE16}} install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}} # install galera config file +%if %{with galera} sed -i -r 's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|' support-files/wsrep.cnf install -p -m 0644 support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf +%endif # install the clustercheck script mkdir -p %{buildroot}%{_sysconfdir}/sysconfig touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck # remove duplicate logrotate script -rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql +rm %{buildroot}%{logrotateddir}/mysql # Remove AppArmor files rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor @@ -1029,7 +1040,10 @@ unlink %{buildroot}%{_libdir}/libmysqlclient.so unlink %{buildroot}%{_libdir}/libmysqlclient_r.so unlink %{buildroot}%{_libdir}/libmariadb.so # Client plugins -rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so,auth_gssapi_client.so} +rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so} +%if %{with gssapi} +rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/auth_gssapi_client.so +%endif %endif %if %{without clibrary} || %{without devel} @@ -1073,7 +1087,8 @@ rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf rm %{buildroot}%{_mandir}/man1/tokuftdump.1* rm %{buildroot}%{_mandir}/man1/tokuft_logprint.1* %else -%if 0%{?fedora} >= 28 || 0%{?rhel} > 7 +%if 0%{?fedora} || 0%{?rhel} > 7 +rm -f %{buildroot}/etc/systemd/system/mariadb.service.d/tokudb.conf mkdir -p %{buildroot}%{_unitdir}/mariadb.service.d echo -e '[Service]\nEnvironment="LD_PRELOAD=%{_libdir}/libjemalloc.so.2"' >> %{buildroot}%{_unitdir}/mariadb.service.d/tokudb.conf %endif @@ -1088,7 +1103,7 @@ rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets %endif %if %{without gssapi} -rm -r %{buildroot}/etc/my.cnf.d/auth_gssapi.cnf +#rm -r %{buildroot}/etc/my.cnf.d/auth_gssapi.cnf %endif %if %{without errmsg} @@ -1114,7 +1129,7 @@ rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1* %endif # test %if %{without galera} -rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf +#rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf rm %{buildroot}%{_sysconfdir}/sysconfig/clustercheck rm %{buildroot}%{_bindir}/{clustercheck,galera_new_cluster} rm %{buildroot}%{_bindir}/galera_recovery @@ -1192,16 +1207,6 @@ export MTR_BUILD_THREAD=%{__isa_bits} /usr/sbin/useradd -M -N -g mysql -o -r -d %{mysqluserhome} -s /sbin/nologin \ -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : -%if %{with clibrary} -# Can be dropped on F27 EOL -%ldconfig_scriptlets libs -%endif - -%if %{with embedded} -# Can be dropped on F27 EOL -%ldconfig_scriptlets embedded -%endif - %if %{with galera} %post server-galera # Do what README at support-files/policy/selinux/README and upstream page @@ -1260,13 +1265,20 @@ fi %{_mandir}/man1/mysqlshow.1* %{_mandir}/man1/mysqlslap.1* %config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf + %endif -%if %{with clibrary} +%if %{with clibrary} || %{with galera} %files libs -%{_libdir}/libmariadb.so.* +%if %{with galera} +%{_libdir}/libwsrep*.so* +%endif +%if %{with clibrary} +%exclude %{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so} +%{_libdir}/libmariadb.so* %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf %endif +%endif %if %{with config} %files config @@ -1399,7 +1411,6 @@ fi %{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man1/mysqld_safe.1* -%{_mandir}/man1/mysqld_safe_helper.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/replace.1* %{_mandir}/man1/resolveip.1* @@ -1427,7 +1438,9 @@ fi %doc %{_datadir}/groonga-normalizer-mysql/README.md %doc %{_datadir}/groonga/README.md %endif +%if %{with galera} %{_datadir}/%{pkg_name}/wsrep.cnf +%endif %{_datadir}/%{pkg_name}/wsrep_notify %dir %{_datadir}/%{pkg_name}/policy %dir %{_datadir}/%{pkg_name}/policy/selinux @@ -1544,12 +1557,13 @@ fi %{_mandir}/man1/perror.1* # Other utilities %{_bindir}/mysqld_safe_helper +%{_mandir}/man1/mysqld_safe_helper.1* %if %{with devel} %files devel %{_includedir}/* %{_datadir}/aclocal/mysql.m4 -%{_libdir}/pkgconfig/mariadb.pc +%{_libdir}/pkgconfig/*mariadb.pc %if %{with clibrary} %{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so} %{_bindir}/mysql_config* @@ -1598,9 +1612,29 @@ fi %endif %changelog -* Mon Feb 18 2019 Michal Schorm - 3:10.4.2-1 -- Rebase to 10.4.2 -- This is BETA release! use at your own risk. +* Fri Jun 07 2019 Michal Schorm - 3:10.4.5-1 +- Rebase to 10.4.5 +- This is a RC release! use with caution + +* Tue Jun 04 2019 Michal Schorm - 3:10.3.15-1 +- Rebase to 10.3.15 +- CVEs fixed: + CVE-2019-2510 CVE-2019-2537 +- CVEs fixed: + CVE-2019-2614 CVE-2019-2627 CVE-2019-2628 + +* Thu Mar 21 2019 Michal Schorm - 10.3.12-14 +- Fix building of TokuDB with Jemalloc 5 +- Fix building with / without lz4 + +* Thu Mar 21 2019 Michal Schorm - 10.3.12-13 +- Add patch for mysqld_safe --dry-run + +* Wed Mar 20 2019 Michal Schorm - 10.3.12-12 +- Add patch for server pkgconfig file location + +* Sat Feb 23 2019 Pavel Raiskup - 10.3.12-11 +- conditionally depend on selinux-policy-targeted again (rhbz#1665643) * Mon Feb 11 2019 Michal Schorm - 3:10.3.12-10 - Disable the requirement of mysql-selinux, until its bug is solved for good; #1665643 @@ -1641,10 +1675,6 @@ fi by 'mariadb-connector-c' - Remove libmariadb.pc, is it shipped by 'mariadb-connector-c' -* Sun Jan 06 2019 Michal Schorm - 3:10.4.1-1 -- Rebase to 10.4.1 -- This is BETA release! use at your own risk. - * Mon Dec 10 2018 Michal Schorm - 3:10.3.11-1 - Rebase to 10.3.11 - CVEs fixed: @@ -1652,10 +1682,6 @@ fi CVE-2018-3251, CVE-2018-3185, CVE-2018-3277, CVE-2018-3162, CVE-2018-3173 CVE-2018-3200, CVE-2018-3284 -* Fri Nov 16 2018 Michal Schorm - 3:10.4.0-1 -- Rebase to 10.4.0 -- This is ALPHA release! use at your own risk. - * Fri Oct 05 2018 Michal Schorm - 3:10.3.10-1 - Rebase to 10.3.10 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index a35653e..e41440b 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -1,7 +1,6 @@ # The SSL test are failing correctly. Fro more explanation, see: # https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-84275 main.ssl_7937 : #1399847 -main.ssl_crl : main.ssl_crl_clients : #1399847 main.ssl_8k_key : @@ -52,7 +51,3 @@ parts.partition_alter4_innodb : # Fails from 10.3.9 encryption.innodb-redo-badkey : - -# Fails on 10.4.2 -sys_vars.tcp_nodelay : -main.func_math : diff --git a/sources b/sources index 2d14188..3e1ab3b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.4.2.tar.gz) = 31fffbc3223e0e52dcce08511904bef6a9d03b734773f46e864d5e8de8ceef352b2d8821614c6cc0ed12cdd0a3c60805c6815dbe7d07b8efec708df68eb05bd3 +SHA512 (mariadb-10.4.5.tar.gz) = 080df03aff04375f6f424d94f988156cb09cb891e14d67dcea453c3f831737898ac1913b48735628034c6a7f215a06ad22b4d350a8762351ac572a60d492a07b From 1f5de3828b23a8e4c74f065e19387aec0821a084 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 11 Jun 2019 16:37:44 +0200 Subject: [PATCH 555/789] Update after F28 EOL Remove Cassandra SE; it is no longer developed: https://mariadb.com/kb/en/library/cassandra-storage-engine-overview Fix typos Remove unnecessary -fPIC; it is already applied by cmake SECURITY_HARDENED option Update dead hypertext links Stop providing "mariadb-galera" Remove comments after %endif to comply with RPM syntax --- mariadb.spec | 95 +++++++++++++++++----------------------------------- 1 file changed, 31 insertions(+), 64 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index e95dda6..5271c6c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -36,23 +36,17 @@ # Current version in MariaDB, 7.07, only supports the x86_64 # Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html # RocksDB engine -# https://mariadb.com/kb/en/library/myrocks-supported-platforms/ -# RocksB engine is available only for x86_64 +# https://mariadb.com/kb/en/library/about-myrocks-for-mariadb/ +# RocksDB engine is available only for x86_64 # RocksDB may be built with jemalloc, if specified in CMake -# Cassandra engine -# Experimental version of the Cassandra storage engine -# The tests needs running cassandra server -# Do not build it for now %if %_arch == x86_64 && 0%{?fedora} %bcond_without tokudb %bcond_without mroonga %bcond_without rocksdb -%bcond_with cassandra %else %bcond_with tokudb %bcond_with mroonga %bcond_with rocksdb -%bcond_with cassandra %endif # The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing @@ -69,6 +63,7 @@ %bcond_with connect %bcond_with sphinx %endif + %bcond_without gssapi # For some use cases we do not need some parts of the package. Set to "...with" to exclude @@ -95,7 +90,7 @@ # When there is already another package that ships /etc/my.cnf, # rather include it than ship the file again, since conflicts between # those files may create issues -%if 0%{?fedora} >= 29 || 0%{?rhel} > 7 +%if 0%{?fedora} || 0%{?rhel} > 7 %bcond_with config %else %bcond_without config @@ -158,7 +153,7 @@ Name: mariadb Version: 10.3.12 -Release: 14%{?with_debug:.debug}%{?dist} +Release: 15%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -229,6 +224,8 @@ BuildRequires: systemtap-sdt-devel # Bison SQL parser; needed also for wsrep API BuildRequires: bison bison-devel +%{?with_debug:BuildRequires: valgrind-devel} + # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel # use either new enough version of pcre or provide bundles(pcre) @@ -284,10 +281,7 @@ Suggests: %{name}-server%{?_isa} = %{sameevr} # MySQL (with caps) is upstream's spelling of their own RPMs for mysql %{?with_conflicts:Conflicts: community-mysql} -# obsoletion of mariadb-galera -Provides: mariadb-galera = %{sameevr} - -# Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering +# Filtering: https://docs.fedoraproject.org/en-US/packaging-guidelines/AutoProvidesAndRequiresFiltering/ %global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) %global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\\.so)$ @@ -309,14 +303,14 @@ Requires: %{name}-common%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-libs = %{sameevr} Provides: mysql-libs%{?_isa} = %{sameevr} -%endif # mysql_names +%endif %description libs The mariadb-libs package provides the essential shared libraries for any MariaDB/MySQL client program or interface. You will need to install this package to use any other MariaDB package or any clients that need to connect to a MariaDB/MySQL server. -%endif #clibrary +%endif # At least main config file /etc/my.cnf is shared for client and server part @@ -417,7 +411,6 @@ Recommends: %{name}-backup%{?_isa} = %{sameevr} %{?with_sphinx:Suggests: %{name}-sphinx-engine%{?_isa} = %{sameevr}} %{?with_oqgraph:Suggests: %{name}-oqgraph-engine%{?_isa} = %{sameevr}} %{?with_connect:Suggests: %{name}-connect-engine%{?_isa} = %{sameevr}} -%{?with_cassandra:Suggests: %{name}-cassandra-engine%{?_isa} = %{sameevr}} Suggests: mytop Suggests: logrotate @@ -563,16 +556,6 @@ Requires: sphinx libsphinxclient The Sphinx storage engine for MariaDB. %endif -%if %{with cassandra} -%package cassandra-engine -Summary: The Cassandra storage engine for MariaDB - EXPERIMENTAL VERSION -Requires: %{name}-server%{?_isa} = %{sameevr} -BuildRequires: cassandra thrift-devel - -%description cassandra-engine -The Cassandra storage engine for MariaDB. EXPERIMENTAL VERSION! -%endif - %package server-utils Summary: Non-essential server utilities for MariaDB/MySQL applications @@ -765,7 +748,7 @@ if [ "$pcre_system_version" != "$pcre_maj.$pcre_min" ] then echo "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_maj.$pcre_min\n" fi -%endif # PCRE +%endif %if %{without rocksdb} @@ -790,8 +773,6 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py %endif CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" -# force PIC mode so that we can build libmysqld.so -CFLAGS="$CFLAGS -fPIC" # Override all optimization flags when making a debug build %{?with_debug: CFLAGS="$CFLAGS -O0 -g"} @@ -854,7 +835,6 @@ export CFLAGS CXXFLAGS -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ - -DWITH_CASSANDRA=%{?with_cassandra:TRUE}%{!?with_cassandra:FALSE} \ -DPYTHON_SHEBANG=%{python_path} \ -DPLUGIN_CACHING_SHA2_PASSWORD=%{?with_clibrary:DYNAMIC}%{!?with_clibrary:OFF} \ -DPLUGIN_AWS_KEY_MANAGEMENT=NO \ @@ -929,7 +909,7 @@ mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my. # Rename sysusers and tmpfiles config files, they should be named after the software they belong to mv %{buildroot}%{_sysusersdir}/sysusers.conf %{buildroot}%{_sysusersdir}/%{name}.conf -# remove SysV init script and a symlink to that, we pack our very own +# remove SysV init script and a symlink to that, we use systemd rm %{buildroot}%{_sysconfdir}/init.d/mysql rm %{buildroot}%{_libexecdir}/rcmysql # install systemd unit files and scripts for handling server startup @@ -941,7 +921,7 @@ rm %{buildroot}%{_tmpfilesdir}/tmpfiles.conf install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?mysqld_pid_dir:1} echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf -%endif #pid +%endif # helper scripts for service starting install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir @@ -984,7 +964,7 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server # Binary for monitoring MySQL performance -# Shipped as a standalona package in Fedora +# Shipped as a standalone package in Fedora rm %{buildroot}%{_bindir}/mytop # put logrotate script where it needs to be @@ -1012,9 +992,6 @@ rm %{buildroot}%{logrotateddir}/mysql # Remove AppArmor files rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor -# script without shebang: https://jira.mariadb.org/browse/MDEV-14266 -chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf - # Disable plugins %if %{with gssapi} sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/auth_gssapi.cnf @@ -1062,8 +1039,8 @@ rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc rm %{buildroot}%{_libdir}/libmariadb*.so unlink %{buildroot}%{_libdir}/libmysqlclient.so unlink %{buildroot}%{_libdir}/libmysqlclient_r.so -%endif # clibrary -%endif # devel +%endif +%endif %if %{without client} rm %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_find_rows,\ @@ -1082,6 +1059,7 @@ rm %{buildroot}%{_mandir}/man1/tokuft_logprint.1* %else %if 0%{?fedora} || 0%{?rhel} > 7 # Move the upstream file to the correct location +mkdir -p %{buildroot}%{_unitdir}/mariadb.service.d mv %{buildroot}/etc/systemd/system/mariadb.service.d/tokudb.conf %{buildroot}%{_unitdir}/mariadb.service.d/tokudb.conf %endif %endif @@ -1105,20 +1083,16 @@ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian,hindi} %endif -%if %{without bench} -rm -r %{buildroot}%{_datadir}/sql-bench -%endif - %if %{without test} %if %{with embedded} rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded} rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1* -%endif # embedded +%endif rm %{buildroot}%{_bindir}/test-connect-t rm %{buildroot}%{_bindir}/{mysql_client_test,mysqltest} rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1* rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1* -%endif # test +%endif %if %{without galera} rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf @@ -1128,6 +1102,13 @@ rm %{buildroot}%{_bindir}/galera_recovery rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %endif +%if %{without bench} +rm -r %{buildroot}%{_datadir}/sql-bench +%else +# script without shebang: https://jira.mariadb.org/browse/MDEV-14266 +chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf +%endif + %if %{without rocksdb} rm %{buildroot}%{_mandir}/man1/mysql_ldb.1* %endif @@ -1199,16 +1180,6 @@ export MTR_BUILD_THREAD=%{__isa_bits} /usr/sbin/useradd -M -N -g mysql -o -r -d %{mysqluserhome} -s /sbin/nologin \ -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : -%if %{with clibrary} -# Can be dropped on F27 EOL -%ldconfig_scriptlets libs -%endif - -%if %{with embedded} -# Can be dropped on F27 EOL -%ldconfig_scriptlets embedded -%endif - %if %{with galera} %post server-galera # Do what README at support-files/policy/selinux/README and upstream page @@ -1291,8 +1262,8 @@ fi %if %{with clibrary} %{_libdir}/%{pkg_name}/plugin/dialog.so %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so -%endif # clibrary -%endif # common +%endif +%endif %if %{with errmsg} %files errmsg @@ -1383,7 +1354,6 @@ fi %{?with_tokudb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so} %{?with_gssapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so} %{?with_sphinx:%exclude %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so} -%{?with_cassandra:%exclude %{_libdir}/%{pkg_name}/plugin/ha_cassandra.so} %if %{with clibrary} %exclude %{_libdir}/%{pkg_name}/plugin/dialog.so %exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so @@ -1525,12 +1495,6 @@ fi %{_libdir}/%{pkg_name}/plugin/ha_connect.so %endif -%if %{with cassandra} -%files cassandra-engine -%config(noreplace) %{_sysconfdir}/my.cnf.d/cassandra.cnf -%{_libdir}/%{pkg_name}/plugin/ha_cassandra.so -%endif - %files server-utils # Perl utilities %{_bindir}/mysql_convert_table_format @@ -1604,6 +1568,9 @@ fi %endif %changelog +* Tue Jun 11 2019 Michal Schorm - 10.3.12-15 +- Remove Cassandra subpackage; it is no longer developed + * Thu Mar 21 2019 Michal Schorm - 10.3.12-14 - Fix building of TokuDB with Jemalloc 5 - Fix building with / without lz4 From 3a7d1f945ddae63ce0091a72839f0837020063ac Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 11 Jun 2019 22:53:26 +0200 Subject: [PATCH 556/789] Rebase to 10.3.15 --- mariadb-myrocks-hotbackup.patch | 32 --------------------- mariadb-pythonver.patch | 7 ++--- mariadb-ssl-cipher-tests.patch | 51 ++++----------------------------- mariadb.spec | 27 ++++++++++++----- sources | 2 +- 5 files changed, 29 insertions(+), 90 deletions(-) delete mode 100644 mariadb-myrocks-hotbackup.patch diff --git a/mariadb-myrocks-hotbackup.patch b/mariadb-myrocks-hotbackup.patch deleted file mode 100644 index ff2a1b1..0000000 --- a/mariadb-myrocks-hotbackup.patch +++ /dev/null @@ -1,32 +0,0 @@ -Do not import commands library as it is not used - -It also makes the script not work on python3, but since the script already uses -subprocess in practice, removing commands import is effectively no change and -fixes the python3 compatibility. - -Upstream PR: https://github.com/MariaDB/server/pull/1080 - -From 9c89fd49a757a87ba5899b3548b0fb1d172c0ec3 Mon Sep 17 00:00:00 2001 -From: Honza Horak -Date: Wed, 9 Jan 2019 15:05:02 +0100 -Subject: [PATCH] Do not import commands library as it is not used - ---- - storage/rocksdb/myrocks_hotbackup.py | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/storage/rocksdb/myrocks_hotbackup.py b/storage/rocksdb/myrocks_hotbackup.py -index 69c75b7cbfd..906ba814776 100755 ---- a/storage/rocksdb/myrocks_hotbackup.py -+++ b/storage/rocksdb/myrocks_hotbackup.py -@@ -8,7 +8,6 @@ import os - import stat - import sys - import re --import commands - import subprocess - import logging - import logging.handlers --- -2.17.2 - diff --git a/mariadb-pythonver.patch b/mariadb-pythonver.patch index e667a76..eb8a1e7 100644 --- a/mariadb-pythonver.patch +++ b/mariadb-pythonver.patch @@ -18,13 +18,10 @@ index a139c9e5fa4..ccccb08bef1 100644 MYSQL_CHECK_READLINE() SET(MALLOC_LIBRARY "system") --SET(PYTHON_SHEBANG "/usr/bin/env python") +-SET(PYTHON_SHEBANG "/usr/bin/env python" CACHE STRING "python shebang") +IF(NOT DEFINED PYTHON_SHEBANG) + SET(PYTHON_SHEBANG "/usr/bin/env python") +ENDIF() + MARK_AS_ADVANCED(PYTHON_SHEBANG) CHECK_PCRE() - --- -2.17.2 - diff --git a/mariadb-ssl-cipher-tests.patch b/mariadb-ssl-cipher-tests.patch index 3d04c4c..567e433 100644 --- a/mariadb-ssl-cipher-tests.patch +++ b/mariadb-ssl-cipher-tests.patch @@ -1,52 +1,13 @@ diff -up mariadb-10.3.9/mysql-test/main/ssl_cipher.test.fixtest mariadb-10.3.9/mysql-test/main/ssl_cipher.test ---- mariadb-10.3.9/mysql-test/main/ssl_cipher.test.fixtest 2019-01-27 19:39:19.610027153 +0100 -+++ mariadb-10.3.9/mysql-test/main/ssl_cipher.test 2019-01-27 19:42:10.045430776 +0100 -@@ -13,7 +13,9 @@ +--- mariadb-10.3.13/mysql-test/main/ssl_cipher.test 2019-02-20 08:59:09.000000000 +0100 ++++ mariadb-10.3.13/mysql-test/main/ssl_cipher.test_patched 2019-02-22 11:22:01.250256060 +0100 +@@ -97,7 +97,9 @@ drop user mysqltest_1@localhost; + let $restart_parameters=--ssl-cipher=AES128-SHA; + source include/restart_mysqld.inc; connect (ssl_con,localhost,root,,,,,SSL); - - # Check Cipher Name and Cipher List +--replace_regex /TLS_AES_.*/AES128-SHA/ SHOW STATUS LIKE 'Ssl_cipher'; +--replace_regex /TLS_AES_.*/AES128-SHA/ SHOW STATUS LIKE 'Ssl_cipher_list'; - - connection default; -diff -up mariadb-10.3.9/mysql-test/main/ssl.result.fixtestssl mariadb-10.3.9/mysql-test/main/ssl.result ---- mariadb-10.3.9/mysql-test/main/ssl.result.fixtestssl 2019-01-27 20:41:52.605213547 +0100 -+++ mariadb-10.3.9/mysql-test/main/ssl.result 2019-01-27 20:42:03.977320005 +0100 -@@ -2176,7 +2176,7 @@ still connected? - connection default; disconnect ssl_con; - create user mysqltest_1@localhost; --grant usage on mysqltest.* to mysqltest_1@localhost require cipher "AES256-SHA"; -+grant usage on mysqltest.* to mysqltest_1@localhost require cipher "TLS_AES_256_GCM_SHA384"; - Variable_name Value --Ssl_cipher AES256-SHA -+Ssl_cipher TLS_AES_256_GCM_SHA384 - drop user mysqltest_1@localhost; -diff -up mariadb-10.3.9/mysql-test/main/ssl.test.fixtestssl mariadb-10.3.9/mysql-test/main/ssl.test ---- mariadb-10.3.9/mysql-test/main/ssl.test.fixtestssl 2019-01-27 20:40:39.756531579 +0100 -+++ mariadb-10.3.9/mysql-test/main/ssl.test 2019-01-27 20:41:02.631745724 +0100 -@@ -33,8 +33,8 @@ connection default; - disconnect ssl_con; - - create user mysqltest_1@localhost; --grant usage on mysqltest.* to mysqltest_1@localhost require cipher "AES256-SHA"; ----exec $MYSQL -umysqltest_1 --ssl-cipher=AES256-SHA -e "show status like 'ssl_cipher'" 2>&1 -+grant usage on mysqltest.* to mysqltest_1@localhost require cipher "TLS_AES_256_GCM_SHA384"; -+--exec $MYSQL -umysqltest_1 --ssl-cipher=TLS_AES_256_GCM_SHA384 -e "show status like 'ssl_cipher'" 2>&1 - drop user mysqltest_1@localhost; - - # Wait till all disconnects are completed -diff -up mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test.fixcerttest mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test ---- mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test.fixcerttest 2019-01-27 21:11:12.280726041 +0100 -+++ mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test 2019-01-27 21:10:01.034041434 +0100 -@@ -30,7 +30,7 @@ let $ssl_verify_pass_path = --ssl --ssl- - --enable_reconnect - --source include/wait_until_connected_again.inc - ----replace_result TLSv1.2 TLS_VERSION TLSv1.1 TLS_VERSION TLSv1 TLS_VERSION -+--replace_result TLSv1.3 TLS_VERSION TLSv1.2 TLS_VERSION TLSv1.1 TLS_VERSION TLSv1 TLS_VERSION - --exec $MYSQL --protocol=tcp --ssl-ca=$MYSQL_TEST_DIR/std_data/ca-cert-verify.pem --ssl-verify-server-cert -e "SHOW STATUS like 'Ssl_version'" - - --echo # restart server using restart + connection default; diff --git a/mariadb.spec b/mariadb.spec index 5271c6c..8a080a0 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -6,12 +6,12 @@ %{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail, but 0 on production ready build -%global ignore_testsuite_result 0 +%global ignore_testsuite_result 1 # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.3.12 +%global last_tested_version 10.3.15 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -152,8 +152,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.3.12 -Release: 15%{?with_debug:.debug}%{?dist} +Version: 10.3.15 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -186,8 +186,6 @@ Source71: LICENSE.clustercheck # https://jira.mariadb.org/browse/MDEV-12646 Source72: mariadb-server-galera.te -# Patch1: Make the myrocks_hotbackup script python3 compatible -Patch1: %{pkgnamepatch}-myrocks-hotbackup.patch # Patch2: Make the python interpretter be configurable Patch2: %{pkgnamepatch}-pythonver.patch # Patch4: Red Hat distributions specific logrotate fix @@ -692,7 +690,6 @@ sources. # Remove JAR files that upstream puts into tarball find . -name "*.jar" -type f -exec rm --verbose -f {} \; -%patch1 -p1 %patch2 -p1 %patch4 -p1 %patch7 -p1 @@ -773,6 +770,15 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py %endif CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" + +# 10.3.15 debug builds need to ignore some warnings; reported upstream as https://jira.mariadb.org/browse/MDEV-19740 +%if %{with debug} +# x86_64 +CFLAGS="$CFLAGS -Wno-error=deprecated-copy -Wno-error=pessimizing-move -Wno-error=maybe-uninitialized -Wno-error=format-overflow" +# armv7hl +CFLAGS="$CFLAGS -Wno-error=shift-count-overflow -Wno-error=format" +%endif + # Override all optimization flags when making a debug build %{?with_debug: CFLAGS="$CFLAGS -O0 -g"} @@ -1568,6 +1574,13 @@ fi %endif %changelog +* Tue Jun 11 2019 Michal Schorm - 10.3.15-1 +- Rebase to 10.3.15 +- CVEs fixed: + CVE-2019-2510 CVE-2019-2537 +- CVEs fixed: + CVE-2019-2614 CVE-2019-2627 CVE-2019-2628 + * Tue Jun 11 2019 Michal Schorm - 10.3.12-15 - Remove Cassandra subpackage; it is no longer developed diff --git a/sources b/sources index 95b6891..0f6db9c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.3.12.tar.gz) = 9dd2939684c4591db306be6afb34663626dfaae133f88dd31125c759dce16b9e9d767a9254e30d9ee5fa2ea027e223dd4799effba8a8b0e4638d5de9e2512003 +SHA512 (mariadb-10.3.15.tar.gz) = 35332ac32cba27fef1b4ddd2209236853f4309756fd121fbdbd2b6be0651e817cedc80e276b89ccfa4bc76760811434fab45a4d380d0ebd500c7d9bd7377fe93 From 8bf3a7d8276c4a1d4d4ccdca8feb6e3791d0e5cf Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 18 Jun 2019 22:32:37 +0200 Subject: [PATCH 557/789] Rebase to 10.3.16 Added patch for armv7hl builds of spider SE --- mariadb-spider_on_armv7hl.patch | 1087 +++++++++++++++++++++++++++++++ mariadb.spec | 12 +- rh-skipped-tests-base.list | 3 + sources | 2 +- 4 files changed, 1101 insertions(+), 3 deletions(-) create mode 100644 mariadb-spider_on_armv7hl.patch diff --git a/mariadb-spider_on_armv7hl.patch b/mariadb-spider_on_armv7hl.patch new file mode 100644 index 0000000..2278481 --- /dev/null +++ b/mariadb-spider_on_armv7hl.patch @@ -0,0 +1,1087 @@ +Fix for: +https://jira.mariadb.org/browse/MDEV-18737 +Taken from: +https://github.com/MariaDB/server/commit/80f9bd3d9c4f1b6367487a88e4ca816fcb8ce186 + + + + + +From 80f9bd3d9c4f1b6367487a88e4ca816fcb8ce186 Mon Sep 17 00:00:00 2001 +From: Kentoku +Date: Tue, 18 Jun 2019 01:43:07 +0900 +Subject: [PATCH] MDEV-18737 Spider "Out of memory" on armv7hl + +This is an issue of memory alignment of variable argument when calling my_multi_malloc(). +The fix is strictly casting allocating size to "uint". +--- + storage/spider/ha_spider.cc | 36 +++-- + storage/spider/spd_conn.cc | 69 +++++----- + storage/spider/spd_copy_tables.cc | 25 ++-- + storage/spider/spd_db_conn.cc | 13 +- + storage/spider/spd_db_handlersocket.cc | 4 +- + storage/spider/spd_db_mysql.cc | 12 +- + storage/spider/spd_db_oracle.cc | 24 ++-- + storage/spider/spd_direct_sql.cc | 78 +++++------ + storage/spider/spd_group_by_handler.cc | 7 +- + storage/spider/spd_ping_table.cc | 36 +++-- + storage/spider/spd_table.cc | 134 ++++++++++--------- + storage/spider/spd_trx.cc | 173 +++++++++++++------------ + 12 files changed, 328 insertions(+), 283 deletions(-) + +diff --git a/storage/spider/ha_spider.cc b/storage/spider/ha_spider.cc +index 33e81201fff..d3bc24dc0e0 100644 +--- a/storage/spider/ha_spider.cc ++++ b/storage/spider/ha_spider.cc +@@ -395,15 +395,24 @@ int ha_spider::open( + { + if (!(searched_bitmap = (uchar *) + spider_bulk_malloc(spider_current_trx, 15, MYF(MY_WME), +- &searched_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), +- &ft_discard_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), +- &position_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), +- &partition_handler_share, sizeof(SPIDER_PARTITION_HANDLER_SHARE), +- &idx_read_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), +- &idx_write_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), +- &rnd_read_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), +- &rnd_write_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), +- &pt_handler_share_handlers, sizeof(ha_spider *) * part_num, ++ &searched_bitmap, ++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), ++ &ft_discard_bitmap, ++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), ++ &position_bitmap, ++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), ++ &partition_handler_share, ++ (uint) sizeof(SPIDER_PARTITION_HANDLER_SHARE), ++ &idx_read_bitmap, ++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), ++ &idx_write_bitmap, ++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), ++ &rnd_read_bitmap, ++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), ++ &rnd_write_bitmap, ++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), ++ &pt_handler_share_handlers, ++ (uint) sizeof(ha_spider *) * part_num, + NullS)) + ) { + error_num = HA_ERR_OUT_OF_MEM; +@@ -11389,7 +11398,7 @@ int ha_spider::create( + if (!(tmp_share.static_key_cardinality = (longlong *) + spider_bulk_malloc(spider_current_trx, 246, MYF(MY_WME), + &tmp_share.static_key_cardinality, +- sizeof(*tmp_share.static_key_cardinality) * form->s->keys, ++ (uint) (sizeof(*tmp_share.static_key_cardinality) * form->s->keys), + NullS)) + ) { + error_num = HA_ERR_OUT_OF_MEM; +@@ -12198,7 +12207,8 @@ int ha_spider::info_push( + spider_free(spider_current_trx, hs_pushed_ret_fields, MYF(0)); + if (!(hs_pushed_ret_fields = (uint32 *) + spider_bulk_malloc(spider_current_trx, 17, MYF(MY_WME), +- &hs_pushed_ret_fields, sizeof(uint32) * hs_pushed_ret_fields_num, ++ &hs_pushed_ret_fields, ++ (uint) (sizeof(uint32) * hs_pushed_ret_fields_num), + NullS)) + ) { + DBUG_RETURN(HA_ERR_OUT_OF_MEM); +@@ -13762,8 +13772,8 @@ SPIDER_BULK_ACCESS_LINK *ha_spider::create_bulk_access_link() + */ + if (!(bulk_access_link = (SPIDER_BULK_ACCESS_LINK *) + spider_bulk_malloc(spider_current_trx, 168, MYF(MY_WME), +- &bulk_access_link, sizeof(SPIDER_BULK_ACCESS_LINK), +- &ref, ALIGN_SIZE(ref_length) * 2, ++ &bulk_access_link, (uint) (sizeof(SPIDER_BULK_ACCESS_LINK)), ++ &ref, (uint) (ALIGN_SIZE(ref_length) * 2), + NullS)) + ) { + goto error_bulk_malloc; +diff --git a/storage/spider/spd_conn.cc b/storage/spider/spd_conn.cc +index b1f49f4f250..2f372d8f692 100644 +--- a/storage/spider/spd_conn.cc ++++ b/storage/spider/spd_conn.cc +@@ -472,30 +472,30 @@ SPIDER_CONN *spider_create_conn( + #endif + if (!(conn = (SPIDER_CONN *) + spider_bulk_malloc(spider_current_trx, 18, MYF(MY_WME | MY_ZEROFILL), +- &conn, sizeof(*conn), +- &tmp_name, share->conn_keys_lengths[link_idx] + 1, +- &tmp_host, share->tgt_hosts_lengths[link_idx] + 1, ++ &conn, (uint) (sizeof(*conn)), ++ &tmp_name, (uint) (share->conn_keys_lengths[link_idx] + 1), ++ &tmp_host, (uint) (share->tgt_hosts_lengths[link_idx] + 1), + &tmp_username, +- share->tgt_usernames_lengths[link_idx] + 1, ++ (uint) (share->tgt_usernames_lengths[link_idx] + 1), + &tmp_password, +- share->tgt_passwords_lengths[link_idx] + 1, +- &tmp_socket, share->tgt_sockets_lengths[link_idx] + 1, ++ (uint) (share->tgt_passwords_lengths[link_idx] + 1), ++ &tmp_socket, (uint) (share->tgt_sockets_lengths[link_idx] + 1), + &tmp_wrapper, +- share->tgt_wrappers_lengths[link_idx] + 1, +- &tmp_ssl_ca, share->tgt_ssl_cas_lengths[link_idx] + 1, ++ (uint) (share->tgt_wrappers_lengths[link_idx] + 1), ++ &tmp_ssl_ca, (uint) (share->tgt_ssl_cas_lengths[link_idx] + 1), + &tmp_ssl_capath, +- share->tgt_ssl_capaths_lengths[link_idx] + 1, ++ (uint) (share->tgt_ssl_capaths_lengths[link_idx] + 1), + &tmp_ssl_cert, +- share->tgt_ssl_certs_lengths[link_idx] + 1, ++ (uint) (share->tgt_ssl_certs_lengths[link_idx] + 1), + &tmp_ssl_cipher, +- share->tgt_ssl_ciphers_lengths[link_idx] + 1, ++ (uint) (share->tgt_ssl_ciphers_lengths[link_idx] + 1), + &tmp_ssl_key, +- share->tgt_ssl_keys_lengths[link_idx] + 1, ++ (uint) (share->tgt_ssl_keys_lengths[link_idx] + 1), + &tmp_default_file, +- share->tgt_default_files_lengths[link_idx] + 1, ++ (uint) (share->tgt_default_files_lengths[link_idx] + 1), + &tmp_default_group, +- share->tgt_default_groups_lengths[link_idx] + 1, +- &need_mon, sizeof(int), ++ (uint) (share->tgt_default_groups_lengths[link_idx] + 1), ++ &need_mon, (uint) (sizeof(int)), + NullS)) + ) { + *error_num = HA_ERR_OUT_OF_MEM; +@@ -594,13 +594,13 @@ SPIDER_CONN *spider_create_conn( + } else if (conn_kind == SPIDER_CONN_KIND_HS_READ) { + if (!(conn = (SPIDER_CONN *) + spider_bulk_malloc(spider_current_trx, 19, MYF(MY_WME | MY_ZEROFILL), +- &conn, sizeof(*conn), +- &tmp_name, share->hs_read_conn_keys_lengths[link_idx] + 1, +- &tmp_host, share->tgt_hosts_lengths[link_idx] + 1, +- &tmp_socket, share->hs_read_socks_lengths[link_idx] + 1, ++ &conn, (uint) (sizeof(*conn)), ++ &tmp_name, (uint) (share->hs_read_conn_keys_lengths[link_idx] + 1), ++ &tmp_host, (uint) (share->tgt_hosts_lengths[link_idx] + 1), ++ &tmp_socket, (uint) (share->hs_read_socks_lengths[link_idx] + 1), + &tmp_wrapper, +- share->tgt_wrappers_lengths[link_idx] + 1, +- &need_mon, sizeof(int), ++ (uint) (share->tgt_wrappers_lengths[link_idx] + 1), ++ &need_mon, (uint) (sizeof(int)), + NullS)) + ) { + *error_num = HA_ERR_OUT_OF_MEM; +@@ -636,13 +636,13 @@ SPIDER_CONN *spider_create_conn( + } else { + if (!(conn = (SPIDER_CONN *) + spider_bulk_malloc(spider_current_trx, 20, MYF(MY_WME | MY_ZEROFILL), +- &conn, sizeof(*conn), +- &tmp_name, share->hs_write_conn_keys_lengths[link_idx] + 1, +- &tmp_host, share->tgt_hosts_lengths[link_idx] + 1, +- &tmp_socket, share->hs_write_socks_lengths[link_idx] + 1, ++ &conn, (uint) (sizeof(*conn)), ++ &tmp_name, (uint) (share->hs_write_conn_keys_lengths[link_idx] + 1), ++ &tmp_host, (uint) (share->tgt_hosts_lengths[link_idx] + 1), ++ &tmp_socket, (uint) (share->hs_write_socks_lengths[link_idx] + 1), + &tmp_wrapper, +- share->tgt_wrappers_lengths[link_idx] + 1, +- &need_mon, sizeof(int), ++ (uint) (share->tgt_wrappers_lengths[link_idx] + 1), ++ &need_mon, (uint) (sizeof(int)), + NullS)) + ) { + *error_num = HA_ERR_OUT_OF_MEM; +@@ -3648,13 +3648,16 @@ int spider_create_mon_threads( + } + if (!(share->bg_mon_thds = (THD **) + spider_bulk_malloc(spider_current_trx, 23, MYF(MY_WME | MY_ZEROFILL), +- &share->bg_mon_thds, sizeof(THD *) * share->all_link_count, +- &share->bg_mon_threads, sizeof(pthread_t) * share->all_link_count, +- &share->bg_mon_mutexes, sizeof(pthread_mutex_t) * +- share->all_link_count, +- &share->bg_mon_conds, sizeof(pthread_cond_t) * share->all_link_count, ++ &share->bg_mon_thds, ++ (uint) (sizeof(THD *) * share->all_link_count), ++ &share->bg_mon_threads, ++ (uint) (sizeof(pthread_t) * share->all_link_count), ++ &share->bg_mon_mutexes, ++ (uint) (sizeof(pthread_mutex_t) * share->all_link_count), ++ &share->bg_mon_conds, ++ (uint) (sizeof(pthread_cond_t) * share->all_link_count), + &share->bg_mon_sleep_conds, +- sizeof(pthread_cond_t) * share->all_link_count, ++ (uint) (sizeof(pthread_cond_t) * share->all_link_count), + NullS)) + ) { + error_num = HA_ERR_OUT_OF_MEM; +diff --git a/storage/spider/spd_copy_tables.cc b/storage/spider/spd_copy_tables.cc +index 13c53220b16..1a472e2c12b 100644 +--- a/storage/spider/spd_copy_tables.cc ++++ b/storage/spider/spd_copy_tables.cc +@@ -390,12 +390,15 @@ int spider_udf_get_copy_tgt_tables( + do { + if (!(table_conn = (SPIDER_COPY_TABLE_CONN *) + spider_bulk_malloc(spider_current_trx, 25, MYF(MY_WME | MY_ZEROFILL), +- &table_conn, sizeof(SPIDER_COPY_TABLE_CONN), +- &tmp_share, sizeof(SPIDER_SHARE), +- &tmp_connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT, +- &tmp_connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT, +- &tmp_long, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT, +- &tmp_longlong, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT, ++ &table_conn, (uint) (sizeof(SPIDER_COPY_TABLE_CONN)), ++ &tmp_share, (uint) (sizeof(SPIDER_SHARE)), ++ &tmp_connect_info, ++ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT), ++ &tmp_connect_info_length, ++ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT), ++ &tmp_long, (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT), ++ &tmp_longlong, ++ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT), + NullS)) + ) { + spider_sys_index_end(table_tables); +@@ -706,12 +709,12 @@ int spider_udf_copy_tables_create_table_list( + if (!(copy_tables->link_idxs[0] = (int *) + spider_bulk_malloc(spider_current_trx, 26, MYF(MY_WME | MY_ZEROFILL), + ©_tables->link_idxs[0], +- sizeof(int) * copy_tables->link_idx_count[0], ++ (uint) (sizeof(int) * copy_tables->link_idx_count[0]), + ©_tables->link_idxs[1], +- sizeof(int) * copy_tables->link_idx_count[1], +- &tmp_name_ptr, sizeof(char) * ( ++ (uint) (sizeof(int) * copy_tables->link_idx_count[1]), ++ &tmp_name_ptr, (uint) (sizeof(char) * ( + spider_table_name_length * 2 + copy_tables->database_length + 3 +- ), ++ )), + NullS)) + ) { + my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); +@@ -906,7 +909,7 @@ long long spider_copy_tables_body( + + if (!(copy_tables = (SPIDER_COPY_TABLES *) + spider_bulk_malloc(spider_current_trx, 27, MYF(MY_WME | MY_ZEROFILL), +- ©_tables, sizeof(SPIDER_COPY_TABLES), ++ ©_tables, (uint) (sizeof(SPIDER_COPY_TABLES)), + NullS)) + ) { + my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); +diff --git a/storage/spider/spd_db_conn.cc b/storage/spider/spd_db_conn.cc +index f3d607cd6dc..6d3a88a55db 100644 +--- a/storage/spider/spd_db_conn.cc ++++ b/storage/spider/spd_db_conn.cc +@@ -2683,7 +2683,8 @@ int spider_db_fetch_for_item_sum_func( + if (!spider->direct_aggregate_item_first) + { + if (!spider_bulk_malloc(spider_current_trx, 240, MYF(MY_WME), +- &spider->direct_aggregate_item_first, sizeof(SPIDER_ITEM_HLD), ++ &spider->direct_aggregate_item_first, ++ (uint) (sizeof(SPIDER_ITEM_HLD)), + NullS) + ) { + DBUG_RETURN(HA_ERR_OUT_OF_MEM); +@@ -2702,7 +2703,7 @@ int spider_db_fetch_for_item_sum_func( + { + if (!spider_bulk_malloc(spider_current_trx, 241, MYF(MY_WME), + &spider->direct_aggregate_item_current->next, +- sizeof(SPIDER_ITEM_HLD), NullS) ++ (uint) (sizeof(SPIDER_ITEM_HLD)), NullS) + ) { + DBUG_RETURN(HA_ERR_OUT_OF_MEM); + } +@@ -4074,8 +4075,8 @@ int spider_db_store_result( + current->field_count = field_count; + if (!(position = (SPIDER_POSITION *) + spider_bulk_malloc(spider_current_trx, 7, MYF(MY_WME | MY_ZEROFILL), +- &position, sizeof(SPIDER_POSITION) * page_size, +- &tmp_row, sizeof(char*) * field_count, ++ &position, (uint) (sizeof(SPIDER_POSITION) * page_size), ++ &tmp_row, (uint) (sizeof(SPIDER_DB_ROW) * field_count), + NullS)) + ) + DBUG_RETURN(HA_ERR_OUT_OF_MEM); +@@ -10948,8 +10949,8 @@ int spider_db_udf_copy_tables( + DBUG_ENTER("spider_db_udf_copy_tables"); + if (!(last_row_pos = (ulong *) + spider_bulk_malloc(spider_current_trx, 30, MYF(MY_WME), +- &last_row_pos, sizeof(ulong) * table->s->fields, +- &last_lengths, sizeof(ulong) * table->s->fields, ++ &last_row_pos, (uint) (sizeof(ulong) * table->s->fields), ++ &last_lengths, (uint) (sizeof(ulong) * table->s->fields), + NullS)) + ) { + my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); +diff --git a/storage/spider/spd_db_handlersocket.cc b/storage/spider/spd_db_handlersocket.cc +index ac81525092b..27257ee08e6 100644 +--- a/storage/spider/spd_db_handlersocket.cc ++++ b/storage/spider/spd_db_handlersocket.cc +@@ -505,8 +505,8 @@ SPIDER_DB_ROW *spider_db_handlersocket_row::clone() + DBUG_RETURN(NULL); + } + if (!spider_bulk_malloc(spider_current_trx, 169, MYF(MY_WME), +- &clone_row->hs_row, sizeof(SPIDER_HS_STRING_REF) * field_count, +- &tmp_char, row_size, ++ &clone_row->hs_row, (uint) (sizeof(SPIDER_HS_STRING_REF) * field_count), ++ &tmp_char, (uint) (row_size), + NullS) + ) { + delete clone_row; +diff --git a/storage/spider/spd_db_mysql.cc b/storage/spider/spd_db_mysql.cc +index 58351195a61..da2052ad79e 100644 +--- a/storage/spider/spd_db_mysql.cc ++++ b/storage/spider/spd_db_mysql.cc +@@ -537,9 +537,9 @@ SPIDER_DB_ROW *spider_db_mbase_row::clone() + row_size = record_size + field_count; + } + if (!spider_bulk_malloc(spider_current_trx, 29, MYF(MY_WME), +- &clone_row->row, sizeof(char*) * field_count, +- &tmp_char, row_size, +- &clone_row->lengths, sizeof(ulong) * field_count, ++ &clone_row->row, (uint) (sizeof(char*) * field_count), ++ &tmp_char, (uint) (row_size), ++ &clone_row->lengths, (uint) (sizeof(ulong) * field_count), + NullS) + ) { + delete clone_row; +@@ -5473,7 +5473,7 @@ int spider_db_mbase_util::append_tables_top_down( + int error_num; + uint outer_join_backup; + TABLE_LIST *cur_table_list, *prev_table_list = NULL, *cond_table_list = NULL; +- bool first; ++ bool first = TRUE; + DBUG_ENTER("spider_db_mbase_util::append_tables_top_down"); + DBUG_PRINT("info",("spider this=%p", this)); + if ( +@@ -13786,7 +13786,7 @@ int spider_mbase_handler::init_union_table_name_pos() + if (!union_table_name_pos_first) + { + if (!spider_bulk_malloc(spider_current_trx, 236, MYF(MY_WME), +- &union_table_name_pos_first, sizeof(SPIDER_INT_HLD), ++ &union_table_name_pos_first, (uint) (sizeof(SPIDER_INT_HLD)), + NullS) + ) { + DBUG_RETURN(HA_ERR_OUT_OF_MEM); +@@ -13807,7 +13807,7 @@ int spider_mbase_handler::set_union_table_name_pos() + if (!union_table_name_pos_current->next) + { + if (!spider_bulk_malloc(spider_current_trx, 237, MYF(MY_WME), +- &union_table_name_pos_current->next, sizeof(SPIDER_INT_HLD), ++ &union_table_name_pos_current->next, (uint) (sizeof(SPIDER_INT_HLD)), + NullS) + ) { + DBUG_RETURN(HA_ERR_OUT_OF_MEM); +diff --git a/storage/spider/spd_db_oracle.cc b/storage/spider/spd_db_oracle.cc +index 773c6b90ed9..0c74415f6b2 100644 +--- a/storage/spider/spd_db_oracle.cc ++++ b/storage/spider/spd_db_oracle.cc +@@ -588,16 +588,16 @@ int spider_db_oracle_row::init() + if ( + !(ind = (sb2 *) + spider_bulk_malloc(spider_current_trx, 161, MYF(MY_WME | MY_ZEROFILL), +- &ind, sizeof(sb2) * field_count, +- &rlen, sizeof(ub2) * field_count, +- &coltp, sizeof(ub2) * field_count, +- &colsz, sizeof(ub2) * field_count, +- &row_size, sizeof(ulong) * field_count, +- &val, sizeof(char *) * field_count, +- &tmp_val, MAX_FIELD_WIDTH * field_count, +- &defnp, sizeof(OCIDefine *) * field_count, +- &lobhp, sizeof(OCILobLocator *) * field_count, +- &colhp, sizeof(OCIParam *) * field_count, ++ &ind, (uint) (sizeof(sb2) * field_count), ++ &rlen, (uint) (sizeof(ub2) * field_count), ++ &coltp, (uint) (sizeof(ub2) * field_count), ++ &colsz, (uint) (sizeof(ub2) * field_count), ++ &row_size, (uint) (sizeof(ulong) * field_count), ++ &val, (uint) (sizeof(char *) * field_count), ++ &tmp_val, (uint) (MAX_FIELD_WIDTH * field_count), ++ &defnp, (uint) (sizeof(OCIDefine *) * field_count), ++ &lobhp, (uint) (sizeof(OCILobLocator *) * field_count), ++ &colhp, (uint) (sizeof(OCIParam *) * field_count), + NullS) + ) || + !(val_str = new spider_string[field_count]) +@@ -12519,7 +12519,7 @@ int spider_oracle_handler::init_union_table_name_pos() + if (!union_table_name_pos_first) + { + if (!spider_bulk_malloc(spider_current_trx, 238, MYF(MY_WME), +- &union_table_name_pos_first, sizeof(SPIDER_INT_HLD), ++ &union_table_name_pos_first, (uint) (sizeof(SPIDER_INT_HLD)), + NullS) + ) { + DBUG_RETURN(HA_ERR_OUT_OF_MEM); +@@ -12540,7 +12540,7 @@ int spider_oracle_handler::set_union_table_name_pos() + if (!union_table_name_pos_current->next) + { + if (!spider_bulk_malloc(spider_current_trx, 239, MYF(MY_WME), +- &union_table_name_pos_current->next, sizeof(SPIDER_INT_HLD), ++ &union_table_name_pos_current->next, (uint) (sizeof(SPIDER_INT_HLD)), + NullS) + ) { + DBUG_RETURN(HA_ERR_OUT_OF_MEM); +diff --git a/storage/spider/spd_direct_sql.cc b/storage/spider/spd_direct_sql.cc +index 7237d0877a7..7bf0b91a4a7 100644 +--- a/storage/spider/spd_direct_sql.cc ++++ b/storage/spider/spd_direct_sql.cc +@@ -1,4 +1,5 @@ +-/* Copyright (C) 2009-2018 Kentoku Shiba ++/* Copyright (C) 2009-2019 Kentoku Shiba ++ Copyright (C) 2019 MariaDB corp + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +@@ -117,31 +118,32 @@ int spider_udf_direct_sql_create_table_list( + #if MYSQL_VERSION_ID < 50500 + if (!(direct_sql->db_names = (char**) + spider_bulk_malloc(spider_current_trx, 31, MYF(MY_WME | MY_ZEROFILL), +- &direct_sql->db_names, sizeof(char*) * table_count, +- &direct_sql->table_names, sizeof(char*) * table_count, +- &direct_sql->tables, sizeof(TABLE*) * table_count, +- &tmp_name_ptr, sizeof(char) * ( ++ &direct_sql->db_names, (uint) (sizeof(char*) * table_count), ++ &direct_sql->table_names, (uint) (sizeof(char*) * table_count), ++ &direct_sql->tables, (uint) (sizeof(TABLE*) * table_count), ++ &tmp_name_ptr, (uint) (sizeof(char) * ( + table_name_list_length + + thd->db_length * table_count + + 2 * table_count +- ), +- &direct_sql->iop, sizeof(int) * table_count, ++ )), ++ &direct_sql->iop, (uint) (sizeof(int) * table_count), + NullS)) + ) + #else + if (!(direct_sql->db_names = (char**) + spider_bulk_malloc(spider_current_trx, 31, MYF(MY_WME | MY_ZEROFILL), +- &direct_sql->db_names, sizeof(char*) * table_count, +- &direct_sql->table_names, sizeof(char*) * table_count, +- &direct_sql->tables, sizeof(TABLE*) * table_count, +- &tmp_name_ptr, sizeof(char) * ( ++ &direct_sql->db_names, (uint) (sizeof(char*) * table_count), ++ &direct_sql->table_names, (uint) (sizeof(char*) * table_count), ++ &direct_sql->tables, (uint) (sizeof(TABLE*) * table_count), ++ &tmp_name_ptr, (uint) (sizeof(char) * ( + table_name_list_length + + SPIDER_THD_db_length(thd) * table_count + + 2 * table_count +- ), +- &direct_sql->iop, sizeof(int) * table_count, +- &direct_sql->table_list, sizeof(TABLE_LIST) * table_count, +- &direct_sql->real_table_bitmap, sizeof(uchar) * ((table_count + 7) / 8), ++ )), ++ &direct_sql->iop, (uint) (sizeof(int) * table_count), ++ &direct_sql->table_list, (uint) (sizeof(TABLE_LIST) * table_count), ++ &direct_sql->real_table_bitmap, ++ (uint) (sizeof(uchar) * ((table_count + 7) / 8)), + NullS)) + ) + #endif +@@ -412,23 +414,23 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn( + #endif + if (!(conn = (SPIDER_CONN *) + spider_bulk_malloc(spider_current_trx, 32, MYF(MY_WME | MY_ZEROFILL), +- &conn, sizeof(*conn), +- &tmp_name, direct_sql->conn_key_length + 1, +- &tmp_host, direct_sql->tgt_host_length + 1, +- &tmp_username, direct_sql->tgt_username_length + 1, +- &tmp_password, direct_sql->tgt_password_length + 1, +- &tmp_socket, direct_sql->tgt_socket_length + 1, +- &tmp_wrapper, direct_sql->tgt_wrapper_length + 1, +- &tmp_ssl_ca, direct_sql->tgt_ssl_ca_length + 1, +- &tmp_ssl_capath, direct_sql->tgt_ssl_capath_length + 1, +- &tmp_ssl_cert, direct_sql->tgt_ssl_cert_length + 1, +- &tmp_ssl_cipher, direct_sql->tgt_ssl_cipher_length + 1, +- &tmp_ssl_key, direct_sql->tgt_ssl_key_length + 1, ++ &conn, (uint) (sizeof(*conn)), ++ &tmp_name, (uint) (direct_sql->conn_key_length + 1), ++ &tmp_host, (uint) (direct_sql->tgt_host_length + 1), ++ &tmp_username, (uint) (direct_sql->tgt_username_length + 1), ++ &tmp_password, (uint) (direct_sql->tgt_password_length + 1), ++ &tmp_socket, (uint) (direct_sql->tgt_socket_length + 1), ++ &tmp_wrapper, (uint) (direct_sql->tgt_wrapper_length + 1), ++ &tmp_ssl_ca, (uint) (direct_sql->tgt_ssl_ca_length + 1), ++ &tmp_ssl_capath, (uint) (direct_sql->tgt_ssl_capath_length + 1), ++ &tmp_ssl_cert, (uint) (direct_sql->tgt_ssl_cert_length + 1), ++ &tmp_ssl_cipher, (uint) (direct_sql->tgt_ssl_cipher_length + 1), ++ &tmp_ssl_key, (uint) (direct_sql->tgt_ssl_key_length + 1), + &tmp_default_file, +- direct_sql->tgt_default_file_length + 1, ++ (uint) (direct_sql->tgt_default_file_length + 1), + &tmp_default_group, +- direct_sql->tgt_default_group_length + 1, +- &need_mon, sizeof(int), ++ (uint) (direct_sql->tgt_default_group_length + 1), ++ &need_mon, (uint) (sizeof(int)), + NullS)) + ) { + *error_num = HA_ERR_OUT_OF_MEM; +@@ -439,12 +441,12 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn( + } else { + if (!(conn = (SPIDER_CONN *) + spider_bulk_malloc(spider_current_trx, 33, MYF(MY_WME | MY_ZEROFILL), +- &conn, sizeof(*conn), +- &tmp_name, direct_sql->conn_key_length + 1, +- &tmp_host, direct_sql->tgt_host_length + 1, +- &tmp_socket, direct_sql->tgt_socket_length + 1, +- &tmp_wrapper, direct_sql->tgt_wrapper_length + 1, +- &need_mon, sizeof(int), ++ &conn, (uint) (sizeof(*conn)), ++ &tmp_name, (uint) (direct_sql->conn_key_length + 1), ++ &tmp_host, (uint) (direct_sql->tgt_host_length + 1), ++ &tmp_socket, (uint) (direct_sql->tgt_socket_length + 1), ++ &tmp_wrapper, (uint) (direct_sql->tgt_wrapper_length + 1), ++ &need_mon, (uint) (sizeof(int)), + NullS)) + ) { + *error_num = HA_ERR_OUT_OF_MEM; +@@ -1602,8 +1604,8 @@ long long spider_direct_sql_body( + SPIDER_BACKUP_DASTATUS; + if (!(direct_sql = (SPIDER_DIRECT_SQL *) + spider_bulk_malloc(spider_current_trx, 34, MYF(MY_WME | MY_ZEROFILL), +- &direct_sql, sizeof(SPIDER_DIRECT_SQL), +- &sql, sizeof(char) * args->lengths[0], ++ &direct_sql, (uint) (sizeof(SPIDER_DIRECT_SQL)), ++ &sql, (uint) (sizeof(char) * args->lengths[0]), + NullS)) + ) { + error_num = HA_ERR_OUT_OF_MEM; +diff --git a/storage/spider/spd_group_by_handler.cc b/storage/spider/spd_group_by_handler.cc +index 3b57092c4ce..51cfca23106 100644 +--- a/storage/spider/spd_group_by_handler.cc ++++ b/storage/spider/spd_group_by_handler.cc +@@ -1,4 +1,5 @@ +-/* Copyright (C) 2008-2018 Kentoku Shiba ++/* Copyright (C) 2008-2019 Kentoku Shiba ++ Copyright (C) 2019 MariaDB corp + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +@@ -637,9 +638,9 @@ SPIDER_CONN_HOLDER *spider_fields::create_conn_holder( + DBUG_PRINT("info",("spider this=%p", this)); + return_conn_holder = (SPIDER_CONN_HOLDER *) + spider_bulk_malloc(spider_current_trx, 252, MYF(MY_WME | MY_ZEROFILL), +- &return_conn_holder, sizeof(SPIDER_CONN_HOLDER), ++ &return_conn_holder, (uint) (sizeof(SPIDER_CONN_HOLDER)), + &table_link_idx_holder, +- table_count * sizeof(SPIDER_TABLE_LINK_IDX_HOLDER), ++ (uint) (table_count * sizeof(SPIDER_TABLE_LINK_IDX_HOLDER)), + NullS + ); + if (!return_conn_holder) +diff --git a/storage/spider/spd_ping_table.cc b/storage/spider/spd_ping_table.cc +index 431d46063c3..60e36fc24fb 100644 +--- a/storage/spider/spd_ping_table.cc ++++ b/storage/spider/spd_ping_table.cc +@@ -1,4 +1,5 @@ +-/* Copyright (C) 2009-2018 Kentoku Shiba ++/* Copyright (C) 2009-2019 Kentoku Shiba ++ Copyright (C) 2019 MariaDB corp + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +@@ -367,12 +368,15 @@ int spider_get_ping_table_mon( + do { + if (!(table_mon = (SPIDER_TABLE_MON *) + spider_bulk_malloc(spider_current_trx, 35, MYF(MY_WME | MY_ZEROFILL), +- &table_mon, sizeof(SPIDER_TABLE_MON), +- &tmp_share, sizeof(SPIDER_SHARE), +- &tmp_connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT, +- &tmp_connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT, +- &tmp_long, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT, +- &tmp_longlong, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT, ++ &table_mon, (uint) (sizeof(SPIDER_TABLE_MON)), ++ &tmp_share, (uint) (sizeof(SPIDER_SHARE)), ++ &tmp_connect_info, ++ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT), ++ &tmp_connect_info_length, ++ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT), ++ &tmp_long, (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT), ++ &tmp_longlong, ++ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT), + NullS)) + ) { + spider_sys_index_end(table_link_mon); +@@ -491,13 +495,17 @@ SPIDER_TABLE_MON_LIST *spider_get_ping_table_tgt( + SPD_INIT_ALLOC_ROOT(&mem_root, 4096, 0, MYF(MY_WME)); + if (!(table_mon_list = (SPIDER_TABLE_MON_LIST *) + spider_bulk_malloc(spider_current_trx, 36, MYF(MY_WME | MY_ZEROFILL), +- &table_mon_list, sizeof(SPIDER_TABLE_MON_LIST), +- &tmp_share, sizeof(SPIDER_SHARE), +- &tmp_connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT, +- &tmp_connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT, +- &tmp_long, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT, +- &tmp_longlong, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT, +- &key_str, str->length() + 1, ++ &table_mon_list, (uint) (sizeof(SPIDER_TABLE_MON_LIST)), ++ &tmp_share, (uint) (sizeof(SPIDER_SHARE)), ++ &tmp_connect_info, ++ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT), ++ &tmp_connect_info_length, ++ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT), ++ &tmp_long, ++ (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT), ++ &tmp_longlong, ++ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT), ++ &key_str, (uint) (str->length() + 1), + NullS)) + ) { + my_error(HA_ERR_OUT_OF_MEM, MYF(0)); +diff --git a/storage/spider/spd_table.cc b/storage/spider/spd_table.cc +index 723beb0775e..fe628f55d16 100644 +--- a/storage/spider/spd_table.cc ++++ b/storage/spider/spd_table.cc +@@ -1211,8 +1211,8 @@ int spider_create_string_list( + + if (!(*string_list = (char**) + spider_bulk_malloc(spider_current_trx, 37, MYF(MY_WME | MY_ZEROFILL), +- string_list, sizeof(char*) * (*list_length), +- string_length_list, sizeof(int) * (*list_length), ++ string_list, (uint) (sizeof(char*) * (*list_length)), ++ string_length_list, (uint) (sizeof(int) * (*list_length)), + NullS)) + ) { + my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); +@@ -1330,7 +1330,7 @@ int spider_create_long_list( + + if (!(*long_list = (long*) + spider_bulk_malloc(spider_current_trx, 38, MYF(MY_WME | MY_ZEROFILL), +- long_list, sizeof(long) * (*list_length), ++ long_list, (uint) (sizeof(long) * (*list_length)), + NullS)) + ) { + my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); +@@ -1414,7 +1414,7 @@ int spider_create_longlong_list( + + if (!(*longlong_list = (longlong *) + spider_bulk_malloc(spider_current_trx, 39, MYF(MY_WME | MY_ZEROFILL), +- longlong_list, sizeof(longlong) * (*list_length), ++ longlong_list, (uint) (sizeof(longlong) * (*list_length)), + NullS)) + ) { + my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); +@@ -1485,8 +1485,8 @@ int spider_increase_string_list( + + if (!(tmp_str_list = (char**) + spider_bulk_malloc(spider_current_trx, 40, MYF(MY_WME | MY_ZEROFILL), +- &tmp_str_list, sizeof(char*) * link_count, +- &tmp_length_list, sizeof(uint) * link_count, ++ &tmp_str_list, (uint) (sizeof(char*) * link_count), ++ &tmp_length_list, (uint) (sizeof(uint) * link_count), + NullS)) + ) { + my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); +@@ -1548,8 +1548,8 @@ int spider_increase_null_string_list( + + if (!(tmp_str_list = (char**) + spider_bulk_malloc(spider_current_trx, 247, MYF(MY_WME | MY_ZEROFILL), +- &tmp_str_list, sizeof(char*) * link_count, +- &tmp_length_list, sizeof(uint) * link_count, ++ &tmp_str_list, (uint) (sizeof(char*) * link_count), ++ &tmp_length_list, (uint) (sizeof(uint) * link_count), + NullS)) + ) { + my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); +@@ -1606,7 +1606,7 @@ int spider_increase_long_list( + + if (!(tmp_long_list = (long*) + spider_bulk_malloc(spider_current_trx, 41, MYF(MY_WME | MY_ZEROFILL), +- &tmp_long_list, sizeof(long) * link_count, ++ &tmp_long_list, (uint) (sizeof(long) * link_count), + NullS)) + ) { + my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); +@@ -1651,7 +1651,7 @@ int spider_increase_longlong_list( + + if (!(tmp_longlong_list = (longlong*) + spider_bulk_malloc(spider_current_trx, 42, MYF(MY_WME | MY_ZEROFILL), +- &tmp_longlong_list, sizeof(longlong) * link_count, ++ &tmp_longlong_list, (uint) (sizeof(longlong) * link_count), + NullS)) + ) { + my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); +@@ -2974,17 +2974,17 @@ int spider_parse_connect_info( + if (!(share_alter->tmp_server_names = (char **) + spider_bulk_malloc(spider_current_trx, 43, MYF(MY_WME | MY_ZEROFILL), + &share_alter->tmp_server_names, +- sizeof(char *) * 16 * share->all_link_count, ++ (uint) (sizeof(char *) * 16 * share->all_link_count), + &share_alter->tmp_server_names_lengths, +- sizeof(uint *) * 16 * share->all_link_count, ++ (uint) (sizeof(uint *) * 16 * share->all_link_count), + &share_alter->tmp_tgt_ports, +- sizeof(long) * share->all_link_count, ++ (uint) (sizeof(long) * share->all_link_count), + &share_alter->tmp_tgt_ssl_vscs, +- sizeof(long) * share->all_link_count, ++ (uint) (sizeof(long) * share->all_link_count), + &share_alter->tmp_monitoring_binlog_pos_at_failing, +- sizeof(long) * share->all_link_count, ++ (uint) (sizeof(long) * share->all_link_count), + &share_alter->tmp_link_statuses, +- sizeof(long) * share->all_link_count, ++ (uint) (sizeof(long) * share->all_link_count), + NullS)) + ) { + error_num = HA_ERR_OUT_OF_MEM; +@@ -4388,13 +4388,17 @@ SPIDER_SHARE *spider_create_share( + bitmap_size = spider_bitmap_size(table_share->fields); + if (!(share = (SPIDER_SHARE *) + spider_bulk_malloc(spider_current_trx, 46, MYF(MY_WME | MY_ZEROFILL), +- &share, sizeof(*share), +- &tmp_name, length + 1, +- &tmp_static_key_cardinality, sizeof(*tmp_static_key_cardinality) * table_share->keys, +- &tmp_cardinality, sizeof(*tmp_cardinality) * table_share->fields, +- &tmp_cardinality_upd, sizeof(*tmp_cardinality_upd) * bitmap_size, +- &tmp_table_mon_mutex_bitmap, sizeof(*tmp_table_mon_mutex_bitmap) * +- ((spider_param_udf_table_mon_mutex_count() + 7) / 8), ++ &share, (uint) (sizeof(*share)), ++ &tmp_name, (uint) (length + 1), ++ &tmp_static_key_cardinality, ++ (uint) (sizeof(*tmp_static_key_cardinality) * table_share->keys), ++ &tmp_cardinality, ++ (uint) (sizeof(*tmp_cardinality) * table_share->fields), ++ &tmp_cardinality_upd, ++ (uint) (sizeof(*tmp_cardinality_upd) * bitmap_size), ++ &tmp_table_mon_mutex_bitmap, ++ (uint) (sizeof(*tmp_table_mon_mutex_bitmap) * ++ ((spider_param_udf_table_mon_mutex_count() + 7) / 8)), + NullS)) + ) { + *error_num = HA_ERR_OUT_OF_MEM; +@@ -5921,8 +5925,8 @@ SPIDER_LGTM_TBLHND_SHARE *spider_get_lgtm_tblhnd_share( + DBUG_PRINT("info",("spider create new lgtm tblhnd share")); + if (!(lgtm_tblhnd_share = (SPIDER_LGTM_TBLHND_SHARE *) + spider_bulk_malloc(spider_current_trx, 244, MYF(MY_WME | MY_ZEROFILL), +- &lgtm_tblhnd_share, sizeof(*lgtm_tblhnd_share), +- &tmp_name, table_name_length + 1, ++ &lgtm_tblhnd_share, (uint) (sizeof(*lgtm_tblhnd_share)), ++ &tmp_name, (uint) (table_name_length + 1), + NullS)) + ) { + *error_num = HA_ERR_OUT_OF_MEM; +@@ -6031,9 +6035,10 @@ SPIDER_PARTITION_SHARE *spider_get_pt_share( + DBUG_PRINT("info",("spider create new pt share")); + if (!(partition_share = (SPIDER_PARTITION_SHARE *) + spider_bulk_malloc(spider_current_trx, 51, MYF(MY_WME | MY_ZEROFILL), +- &partition_share, sizeof(*partition_share), +- &tmp_name, table_share->path.length + 1, +- &tmp_cardinality, sizeof(*tmp_cardinality) * table_share->fields, ++ &partition_share, (uint) (sizeof(*partition_share)), ++ &tmp_name, (uint) (table_share->path.length + 1), ++ &tmp_cardinality, ++ (uint) (sizeof(*tmp_cardinality) * table_share->fields), + NullS)) + ) { + *error_num = HA_ERR_OUT_OF_MEM; +@@ -6379,15 +6384,18 @@ int spider_open_all_tables( + + if (!(share = (SPIDER_SHARE *) + spider_bulk_malloc(spider_current_trx, 52, MYF(MY_WME | MY_ZEROFILL), +- &share, sizeof(*share), +- &connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT, +- &connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT, +- &long_info, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT, +- &longlong_info, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT, +- &conns, sizeof(SPIDER_CONN *), +- &need_mon, sizeof(int), +- &spider->conn_link_idx, sizeof(uint), +- &spider->conn_can_fo, sizeof(uchar), ++ &share, (uint) (sizeof(*share)), ++ &connect_info, ++ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT), ++ &connect_info_length, ++ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT), ++ &long_info, (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT), ++ &longlong_info, ++ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT), ++ &conns, (uint) (sizeof(SPIDER_CONN *)), ++ &need_mon, (uint) (sizeof(int)), ++ &spider->conn_link_idx, (uint) (sizeof(uint)), ++ &spider->conn_can_fo, (uint) (sizeof(uchar)), + NullS)) + ) { + delete spider; +@@ -7194,12 +7202,12 @@ int spider_db_init( + + if (!(spider_udf_table_mon_mutexes = (pthread_mutex_t *) + spider_bulk_malloc(NULL, 53, MYF(MY_WME | MY_ZEROFILL), +- &spider_udf_table_mon_mutexes, sizeof(pthread_mutex_t) * +- spider_param_udf_table_mon_mutex_count(), +- &spider_udf_table_mon_conds, sizeof(pthread_cond_t) * +- spider_param_udf_table_mon_mutex_count(), +- &spider_udf_table_mon_list_hash, sizeof(HASH) * +- spider_param_udf_table_mon_mutex_count(), ++ &spider_udf_table_mon_mutexes, (uint) (sizeof(pthread_mutex_t) * ++ spider_param_udf_table_mon_mutex_count()), ++ &spider_udf_table_mon_conds, (uint) (sizeof(pthread_cond_t) * ++ spider_param_udf_table_mon_mutex_count()), ++ &spider_udf_table_mon_list_hash, (uint) (sizeof(HASH) * ++ spider_param_udf_table_mon_mutex_count()), + NullS)) + ) + goto error_alloc_mon_mutxes; +@@ -7248,10 +7256,10 @@ int spider_db_init( + #ifndef WITHOUT_SPIDER_BG_SEARCH + if (!(spider_table_sts_threads = (SPIDER_THREAD *) + spider_bulk_malloc(NULL, 256, MYF(MY_WME | MY_ZEROFILL), +- &spider_table_sts_threads, sizeof(SPIDER_THREAD) * +- spider_param_table_sts_thread_count(), +- &spider_table_crd_threads, sizeof(SPIDER_THREAD) * +- spider_param_table_crd_thread_count(), ++ &spider_table_sts_threads, (uint) (sizeof(SPIDER_THREAD) * ++ spider_param_table_sts_thread_count()), ++ &spider_table_crd_threads, (uint) (sizeof(SPIDER_THREAD) * ++ spider_param_table_crd_thread_count()), + NullS)) + ) + goto error_alloc_mon_mutxes; +@@ -7947,8 +7955,8 @@ SPIDER_INIT_ERROR_TABLE *spider_get_init_error_table( + } + if (!(spider_init_error_table = (SPIDER_INIT_ERROR_TABLE *) + spider_bulk_malloc(spider_current_trx, 54, MYF(MY_WME | MY_ZEROFILL), +- &spider_init_error_table, sizeof(*spider_init_error_table), +- &tmp_name, share->table_name_length + 1, ++ &spider_init_error_table, (uint) (sizeof(*spider_init_error_table)), ++ &tmp_name, (uint) (share->table_name_length + 1), + NullS)) + ) { + pthread_mutex_unlock(&spider_init_error_tbl_mutex); +@@ -9624,25 +9632,25 @@ int spider_create_spider_object_for_share( + #if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET) + if (!(need_mons = (int *) + spider_bulk_malloc(spider_current_trx, 255, MYF(MY_WME | MY_ZEROFILL), +- &need_mons, (sizeof(int) * share->link_count), +- &conns, (sizeof(SPIDER_CONN *) * share->link_count), +- &conn_link_idx, (sizeof(uint) * share->link_count), +- &conn_can_fo, (sizeof(uchar) * share->link_bitmap_size), +- &conn_keys, (sizeof(char *) * share->link_count), +- &hs_r_conn_keys, (sizeof(char *) * share->link_count), +- &hs_w_conn_keys, (sizeof(char *) * share->link_count), +- &dbton_hdl, (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE), ++ &need_mons, (uint) (sizeof(int) * share->link_count), ++ &conns, (uint) (sizeof(SPIDER_CONN *) * share->link_count), ++ &conn_link_idx, (uint) (sizeof(uint) * share->link_count), ++ &conn_can_fo, (uint) (sizeof(uchar) * share->link_bitmap_size), ++ &conn_keys, (uint) (sizeof(char *) * share->link_count), ++ &hs_r_conn_keys, (uint) (sizeof(char *) * share->link_count), ++ &hs_w_conn_keys, (uint) (sizeof(char *) * share->link_count), ++ &dbton_hdl, (uint) (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE), + NullS)) + ) + #else + if (!(need_mons = (int *) + spider_bulk_malloc(spider_current_trx, 255, MYF(MY_WME | MY_ZEROFILL), +- &need_mons, (sizeof(int) * share->link_count), +- &conns, (sizeof(SPIDER_CONN *) * share->link_count), +- &conn_link_idx, (sizeof(uint) * share->link_count), +- &conn_can_fo, (sizeof(uchar) * share->link_bitmap_size), +- &conn_keys, (sizeof(char *) * share->link_count), +- &dbton_hdl, (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE), ++ &need_mons, (uint) (sizeof(int) * share->link_count), ++ &conns, (uint) (sizeof(SPIDER_CONN *) * share->link_count), ++ &conn_link_idx, (uint) (sizeof(uint) * share->link_count), ++ &conn_can_fo, (uint) (sizeof(uchar) * share->link_bitmap_size), ++ &conn_keys, (uint) (sizeof(char *) * share->link_count), ++ &dbton_hdl, (uint) (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE), + NullS)) + ) + #endif +diff --git a/storage/spider/spd_trx.cc b/storage/spider/spd_trx.cc +index 485c61fc60b..b1b31a6db2e 100644 +--- a/storage/spider/spd_trx.cc ++++ b/storage/spider/spd_trx.cc +@@ -549,81 +549,90 @@ int spider_create_trx_alter_table( + + if (!(alter_table = (SPIDER_ALTER_TABLE *) + spider_bulk_malloc(spider_current_trx, 55, MYF(MY_WME | MY_ZEROFILL), +- &alter_table, sizeof(*alter_table), +- &tmp_name, sizeof(char) * (share->table_name_length + 1), +- +- &tmp_server_names, sizeof(char *) * share->all_link_count, +- &tmp_tgt_table_names, sizeof(char *) * share->all_link_count, +- &tmp_tgt_dbs, sizeof(char *) * share->all_link_count, +- &tmp_tgt_hosts, sizeof(char *) * share->all_link_count, +- &tmp_tgt_usernames, sizeof(char *) * share->all_link_count, +- &tmp_tgt_passwords, sizeof(char *) * share->all_link_count, +- &tmp_tgt_sockets, sizeof(char *) * share->all_link_count, +- &tmp_tgt_wrappers, sizeof(char *) * share->all_link_count, +- &tmp_tgt_ssl_cas, sizeof(char *) * share->all_link_count, +- &tmp_tgt_ssl_capaths, sizeof(char *) * share->all_link_count, +- &tmp_tgt_ssl_certs, sizeof(char *) * share->all_link_count, +- &tmp_tgt_ssl_ciphers, sizeof(char *) * share->all_link_count, +- &tmp_tgt_ssl_keys, sizeof(char *) * share->all_link_count, +- &tmp_tgt_default_files, sizeof(char *) * share->all_link_count, +- &tmp_tgt_default_groups, sizeof(char *) * share->all_link_count, +- &tmp_static_link_ids, sizeof(char *) * share->all_link_count, +- +- &tmp_server_names_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_table_names_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_dbs_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_hosts_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_usernames_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_passwords_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_sockets_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_wrappers_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_ssl_cas_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_ssl_capaths_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_ssl_certs_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_ssl_ciphers_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_ssl_keys_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_default_files_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_default_groups_lengths, sizeof(uint) * share->all_link_count, +- &tmp_static_link_ids_lengths, sizeof(uint) * share->all_link_count, +- +- &tmp_tgt_ports, sizeof(long) * share->all_link_count, +- &tmp_tgt_ssl_vscs, sizeof(long) * share->all_link_count, ++ &alter_table, (uint) (sizeof(*alter_table)), ++ &tmp_name, (uint) (sizeof(char) * (share->table_name_length + 1)), ++ ++ &tmp_server_names, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_table_names, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_dbs, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_hosts, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_usernames, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_passwords, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_sockets, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_wrappers, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_ssl_cas, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_ssl_capaths, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_ssl_certs, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_ssl_ciphers, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_ssl_keys, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_default_files, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_default_groups, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_static_link_ids, (uint) (sizeof(char *) * share->all_link_count), ++ ++ &tmp_server_names_lengths, (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_table_names_lengths, ++ (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_dbs_lengths, (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_hosts_lengths, (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_usernames_lengths, ++ (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_passwords_lengths, ++ (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_sockets_lengths, (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_wrappers_lengths, (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_ssl_cas_lengths, (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_ssl_capaths_lengths, ++ (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_ssl_certs_lengths, ++ (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_ssl_ciphers_lengths, ++ (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_ssl_keys_lengths, (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_default_files_lengths, ++ (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_default_groups_lengths, ++ (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_static_link_ids_lengths, ++ (uint) (sizeof(uint) * share->all_link_count), ++ ++ &tmp_tgt_ports, (uint) (sizeof(long) * share->all_link_count), ++ &tmp_tgt_ssl_vscs, (uint) (sizeof(long) * share->all_link_count), + &tmp_monitoring_binlog_pos_at_failing, +- sizeof(long) * share->all_link_count, +- &tmp_link_statuses, sizeof(long) * share->all_link_count, +- +- &tmp_server_names_char, sizeof(char) * +- (share_alter->tmp_server_names_charlen + 1), +- &tmp_tgt_table_names_char, sizeof(char) * +- (share_alter->tmp_tgt_table_names_charlen + 1), +- &tmp_tgt_dbs_char, sizeof(char) * +- (share_alter->tmp_tgt_dbs_charlen + 1), +- &tmp_tgt_hosts_char, sizeof(char) * +- (share_alter->tmp_tgt_hosts_charlen + 1), +- &tmp_tgt_usernames_char, sizeof(char) * +- (share_alter->tmp_tgt_usernames_charlen + 1), +- &tmp_tgt_passwords_char, sizeof(char) * +- (share_alter->tmp_tgt_passwords_charlen + 1), +- &tmp_tgt_sockets_char, sizeof(char) * +- (share_alter->tmp_tgt_sockets_charlen + 1), +- &tmp_tgt_wrappers_char, sizeof(char) * +- (share_alter->tmp_tgt_wrappers_charlen + 1), +- &tmp_tgt_ssl_cas_char, sizeof(char) * +- (share_alter->tmp_tgt_ssl_cas_charlen + 1), +- &tmp_tgt_ssl_capaths_char, sizeof(char) * +- (share_alter->tmp_tgt_ssl_capaths_charlen + 1), +- &tmp_tgt_ssl_certs_char, sizeof(char) * +- (share_alter->tmp_tgt_ssl_certs_charlen + 1), +- &tmp_tgt_ssl_ciphers_char, sizeof(char) * +- (share_alter->tmp_tgt_ssl_ciphers_charlen + 1), +- &tmp_tgt_ssl_keys_char, sizeof(char) * +- (share_alter->tmp_tgt_ssl_keys_charlen + 1), +- &tmp_tgt_default_files_char, sizeof(char) * +- (share_alter->tmp_tgt_default_files_charlen + 1), +- &tmp_tgt_default_groups_char, sizeof(char) * +- (share_alter->tmp_tgt_default_groups_charlen + 1), +- &tmp_static_link_ids_char, sizeof(char) * +- (share_alter->tmp_static_link_ids_charlen + 1), ++ (uint) (sizeof(long) * share->all_link_count), ++ &tmp_link_statuses, (uint) (sizeof(long) * share->all_link_count), ++ ++ &tmp_server_names_char, (uint) (sizeof(char) * ++ (share_alter->tmp_server_names_charlen + 1)), ++ &tmp_tgt_table_names_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_table_names_charlen + 1)), ++ &tmp_tgt_dbs_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_dbs_charlen + 1)), ++ &tmp_tgt_hosts_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_hosts_charlen + 1)), ++ &tmp_tgt_usernames_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_usernames_charlen + 1)), ++ &tmp_tgt_passwords_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_passwords_charlen + 1)), ++ &tmp_tgt_sockets_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_sockets_charlen + 1)), ++ &tmp_tgt_wrappers_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_wrappers_charlen + 1)), ++ &tmp_tgt_ssl_cas_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_ssl_cas_charlen + 1)), ++ &tmp_tgt_ssl_capaths_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_ssl_capaths_charlen + 1)), ++ &tmp_tgt_ssl_certs_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_ssl_certs_charlen + 1)), ++ &tmp_tgt_ssl_ciphers_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_ssl_ciphers_charlen + 1)), ++ &tmp_tgt_ssl_keys_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_ssl_keys_charlen + 1)), ++ &tmp_tgt_default_files_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_default_files_charlen + 1)), ++ &tmp_tgt_default_groups_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_default_groups_charlen + 1)), ++ &tmp_static_link_ids_char, (uint) (sizeof(char) * ++ (share_alter->tmp_static_link_ids_charlen + 1)), + NullS)) + ) { + error_num = HA_ERR_OUT_OF_MEM; +@@ -1201,10 +1210,10 @@ SPIDER_TRX *spider_get_trx( + DBUG_PRINT("info",("spider create new trx")); + if (!(trx = (SPIDER_TRX *) + spider_bulk_malloc(NULL, 56, MYF(MY_WME | MY_ZEROFILL), +- &trx, sizeof(*trx), +- &tmp_share, sizeof(SPIDER_SHARE), +- &udf_table_mutexes, sizeof(pthread_mutex_t) * +- spider_param_udf_table_lock_mutex_count(), ++ &trx, (uint) (sizeof(*trx)), ++ &tmp_share, (uint) (sizeof(SPIDER_SHARE)), ++ &udf_table_mutexes, (uint) (sizeof(pthread_mutex_t) * ++ spider_param_udf_table_lock_mutex_count()), + NullS)) + ) + goto error_alloc_trx; +@@ -4203,10 +4212,10 @@ int spider_create_trx_ha( + { + if (!(trx_ha = (SPIDER_TRX_HA *) + spider_bulk_malloc(spider_current_trx, 58, MYF(MY_WME), +- &trx_ha, sizeof(SPIDER_TRX_HA), +- &tmp_name, sizeof(char *) * (share->table_name_length + 1), +- &conn_link_idx, sizeof(uint) * share->link_count, +- &conn_can_fo, sizeof(uchar) * share->link_bitmap_size, ++ &trx_ha, (uint) (sizeof(SPIDER_TRX_HA)), ++ &tmp_name, (uint) (sizeof(char *) * (share->table_name_length + 1)), ++ &conn_link_idx, (uint) (sizeof(uint) * share->link_count), ++ &conn_can_fo, (uint) (sizeof(uchar) * share->link_bitmap_size), + NullS)) + ) { + DBUG_RETURN(HA_ERR_OUT_OF_MEM); +-- +2.17.2 + diff --git a/mariadb.spec b/mariadb.spec index 8a080a0..bbed684 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -11,7 +11,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.3.15 +%global last_tested_version 10.3.16 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -152,7 +152,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.3.15 +Version: 10.3.16 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -201,6 +201,9 @@ Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch Patch11: %{pkgnamepatch}-pcdir.patch # Patch12: Fix mysqld_safe --dry-run Patch12: %{pkgnamepatch}-mysqld_safe.patch +# Patch13: Fix Spider code on armv7hl; https://jira.mariadb.org/browse/MDEV-18737 +Patch13: %{pkgnamepatch}-spider_on_armv7hl.patch + BuildRequires: cmake gcc-c++ BuildRequires: multilib-rpm-config @@ -697,6 +700,7 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \; %patch10 -p1 %patch11 -p1 %patch12 -p1 +%patch13 -p1 # workaround for upstream bug #56342 #rm mysql-test/t/ssl_8k_key-master.opt @@ -1574,6 +1578,10 @@ fi %endif %changelog +* Tue Jun 18 2019 Michal Schorm - 10.3.16-1 +- Rebase to 10.3.16 +- Added patch for armv7hl builds of spider SE + * Tue Jun 11 2019 Michal Schorm - 10.3.15-1 - Rebase to 10.3.15 - CVEs fixed: diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index e41440b..cc1d628 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -51,3 +51,6 @@ parts.partition_alter4_innodb : # Fails from 10.3.9 encryption.innodb-redo-badkey : + +# Fails from 10.3.16 +main.mysql : diff --git a/sources b/sources index 0f6db9c..0b9ac17 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.3.15.tar.gz) = 35332ac32cba27fef1b4ddd2209236853f4309756fd121fbdbd2b6be0651e817cedc80e276b89ccfa4bc76760811434fab45a4d380d0ebd500c7d9bd7377fe93 +SHA512 (mariadb-10.3.16.tar.gz) = b22a8c8fa0265f88962432ade71c3f0ec554f7d38042def832cfcb50f3aa1dd77a715c76706ffeae679b95438529b06e98b73b7e219f9c645980802027ec022f From dbc826fd1b0765d1451bd36dc569016441132c4e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 20 Jun 2019 18:09:56 +0200 Subject: [PATCH 558/789] Rebase to 10.4.6 GA --- mariadb-auth_pam_tool_dir.patch | 30 ++++++ mariadb.spec | 158 +++++++++++++++----------------- sources | 2 +- 3 files changed, 103 insertions(+), 87 deletions(-) create mode 100644 mariadb-auth_pam_tool_dir.patch diff --git a/mariadb-auth_pam_tool_dir.patch b/mariadb-auth_pam_tool_dir.patch new file mode 100644 index 0000000..9c5692f --- /dev/null +++ b/mariadb-auth_pam_tool_dir.patch @@ -0,0 +1,30 @@ +This scirpt is ran by the systemd service. +In Fedora the service has priviledges dropped to the mysql user. +Thus "chown 0" will always fail + +Never parse 'ls' output! +http://mywiki.wooledge.org/BashFAQ/087 + +--- mariadb-10.4.6/scripts/mysql_install_db.sh 2019-06-18 00:00:32.000000000 +0200 ++++ mariadb-10.4.6/scripts/mysql_install_db.sh_patched 2019-06-20 01:41:43.250208187 +0200 +@@ -476,12 +476,15 @@ then + fi + if test -z "$srcdir" + then +- chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" +- if test $? -ne 0 ++ if [ `stat "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" -c %u` -ne 0 ] + then +- echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'." +- echo " It must be root, the PAM authentication plugin doesn't work otherwise.." +- echo ++ chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" ++ if test $? -ne 0 ++ then ++ echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'." ++ echo " It must be root, the PAM authentication plugin doesn't work otherwise.." ++ echo ++ fi + fi + fi + args="$args --user=$user" diff --git a/mariadb.spec b/mariadb.spec index 40058c3..916ddbc 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -11,7 +11,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.4.5 +%global last_tested_version 10.4.6 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -157,8 +157,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.4.5 -Release: 1.rc%{?with_debug:.debug}%{?dist} +Version: 10.4.6 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -202,6 +202,8 @@ Patch7: %{pkgnamepatch}-scripts.patch Patch9: %{pkgnamepatch}-ownsetup.patch # Patch10: Fix cipher name in the SSL Cipher name test Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch +# Patch11: Workaround for "chown 0" with priviledges dropped to "mysql" user +Patch11: %{pkgnamepatch}-auth_pam_tool_dir.patch BuildRequires: cmake gcc-c++ BuildRequires: multilib-rpm-config @@ -709,6 +711,7 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \; %patch7 -p1 %patch9 -p1 #%patch10 -p1 +%patch11 -p1 # workaround for upstream bug #56342 #rm mysql-test/t/ssl_8k_key-master.opt @@ -968,7 +971,8 @@ ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list # Client that uses libmysqld embedded server. # Pretty much like normal mysql command line client, but it doesn't require a running mariadb server. %{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded} -rm %{buildroot}%{_mandir}/man1/mysql_embedded.1* +%{?with_embedded:rm %{buildroot}%{_bindir}/mariadb-embedded} +rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}embedded.1* # Static libraries rm %{buildroot}%{_libdir}/*.a # This script creates the MySQL system tables and starts the server. @@ -1029,6 +1033,7 @@ sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf. %if %{without embedded} rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* +rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1* %endif @@ -1073,12 +1078,16 @@ unlink %{buildroot}%{_libdir}/libmysqlclient_r.so %endif # devel %if %{without client} -rm %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_find_rows,\ -mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ -mysqldump,mysqlimport,mysqlshow,mysqlslap} -rm %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_find_rows,\ -mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ -mysqldump,mysqlimport,mysqlshow,mysqlslap}.1* +rm %{buildroot}%{_bindir}/msql2mysql +rm %{buildroot}%{_bindir}/{mysql,mariadb} +rm %{buildroot}%{_bindir}/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid} +rm %{buildroot}%{_bindir}/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid} + +rm %{buildroot}%{_mandir}/man1/msql2mysql.1* +rm %{buildroot}%{_mandir}/man1/{mysql,mariadb}.1* +rm %{buildroot}%{_mandir}/man1/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid}.1* +rm %{buildroot}%{_mandir}/man1/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}.1* + rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf %endif @@ -1119,12 +1128,16 @@ rm -r %{buildroot}%{_datadir}/sql-bench %if %{without test} %if %{with embedded} -rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded} -rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1* +rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} +rm %{buildroot}%{_bindir}/{mariadb-client-test-embedded,mariadb-test-embedded} +rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* +rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1* %endif # embedded rm %{buildroot}%{_bindir}/test-connect-t rm %{buildroot}%{_bindir}/{mysql_client_test,mysqltest} -rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1* +rm %{buildroot}%{_bindir}/{mariadb-client-test,mariadb-test} +rm %{buildroot}%{_mandir}/man1/{mysql_client_test,mysqltest,my_safe_process}.1* +rm %{buildroot}%{_mandir}/man1/{mariadb-client-test,mariadb-test}.1* rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1* %endif # test @@ -1137,7 +1150,7 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %endif %if %{without rocksdb} -rm %{buildroot}%{_mandir}/man1/mysql_ldb.1* +rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}ldb.1* %endif %check @@ -1238,32 +1251,15 @@ fi %if %{with client} %files %{_bindir}/msql2mysql -%{_bindir}/mysql -%{_bindir}/mysql_find_rows -%{_bindir}/mysql_plugin -%{_bindir}/mysql_waitpid -%{_bindir}/mysqlaccess -%{_bindir}/mysqladmin -%{_bindir}/mysqlbinlog -%{_bindir}/mysqlcheck -%{_bindir}/mysqldump -%{_bindir}/mysqlimport -%{_bindir}/mysqlshow -%{_bindir}/mysqlslap +%{_bindir}/{mysql,mariadb} +%{_bindir}/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid} +%{_bindir}/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid} %{_mandir}/man1/msql2mysql.1* -%{_mandir}/man1/mysql.1* -%{_mandir}/man1/mysql_find_rows.1* -%{_mandir}/man1/mysql_plugin.1* -%{_mandir}/man1/mysql_waitpid.1* -%{_mandir}/man1/mysqlaccess.1* -%{_mandir}/man1/mysqladmin.1* -%{_mandir}/man1/mysqlbinlog.1* -%{_mandir}/man1/mysqlcheck.1* -%{_mandir}/man1/mysqldump.1* -%{_mandir}/man1/mysqlimport.1* -%{_mandir}/man1/mysqlshow.1* -%{_mandir}/man1/mysqlslap.1* +%{_mandir}/man1/{mysql,mariadb}.1* +%{_mandir}/man1/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid}.1* +%{_mandir}/man1/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}.1* + %config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf %endif @@ -1344,21 +1340,18 @@ fi %files server %doc README.mysql-cnf -%{_bindir}/aria_chk -%{_bindir}/aria_dump_log -%{_bindir}/aria_ftdump -%{_bindir}/aria_pack -%{_bindir}/aria_read_log +%{_bindir}/aria_{chk,dump_log,ftdump,pack,read_log} %{_bindir}/mariadb-service-convert %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog %{_bindir}/myisampack %{_bindir}/my_print_defaults -%{_bindir}/mysql_install_db -%{_bindir}/mysql_secure_installation -%{_bindir}/mysql_tzinfo_to_sql -%{_bindir}/mysqld_safe + +%{_bindir}/mysql_{install_db,secure_installation,tzinfo_to_sql} +%{_bindir}/mariadb-{install-db,secure-installation,tzinfo-to-sql} +%{_bindir}/{mysqld_,mariadbd-}safe + %{_bindir}/innochecksum %{_bindir}/replace %{_bindir}/resolve_stack_dump @@ -1369,7 +1362,7 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/enable_encryption.preset -%{_libexecdir}/mysqld +%{_libexecdir}/{mysqld,mariadbd} %{_libdir}/%{pkg_name}/INFO_SRC %{_libdir}/%{pkg_name}/INFO_BIN @@ -1379,6 +1372,8 @@ fi %dir %{_libdir}/%{pkg_name} %dir %{_libdir}/%{pkg_name}/plugin +# Change from root:root to mysql:mysql, so it can be accessed by the server +%attr(0755,mysql,mysql) %dir %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir %{_libdir}/%{pkg_name}/plugin/* %{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so} %{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so} @@ -1393,11 +1388,7 @@ fi %exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so %endif -%{_mandir}/man1/aria_chk.1* -%{_mandir}/man1/aria_dump_log.1* -%{_mandir}/man1/aria_ftdump.1* -%{_mandir}/man1/aria_pack.1* -%{_mandir}/man1/aria_read_log.1* +%{_mandir}/man1/aria_{chk,dump_log,ftdump,pack,read_log}.1* %{_mandir}/man1/galera_new_cluster.1* %{_mandir}/man1/galera_recovery.1* %{_mandir}/man1/mariadb-service-convert.1* @@ -1407,15 +1398,14 @@ fi %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/my_print_defaults.1* %{_mandir}/man1/mysql.server.1* -%{_mandir}/man1/mysql_install_db.1* -%{_mandir}/man1/mysql_secure_installation.1* -%{_mandir}/man1/mysql_tzinfo_to_sql.1* -%{_mandir}/man1/mysqld_safe.1* +%{_mandir}/man1/mysql_{install_db,secure_installation,tzinfo_to_sql}.1* +%{_mandir}/man1/mariadb-{install-db,secure-installation,tzinfo-to-sql}.1* +%{_mandir}/man1/{mysqld_,mariadbd-}safe.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/replace.1* %{_mandir}/man1/resolveip.1* %{_mandir}/man1/resolve_stack_dump.1* -%{_mandir}/man8/mysqld.8* +%{_mandir}/man8/{mysqld,mariadbd}.8* %{_mandir}/man1/wsrep_*.1* %{_datadir}/%{pkg_name}/fill_help_tables.sql @@ -1480,9 +1470,9 @@ fi %if %{with backup} %files backup -%{_bindir}/mariabackup +%{_bindir}/maria{,db-}backup %{_bindir}/mbstream -%{_mandir}/man1/mariabackup.1* +%{_mandir}/man1/maria{,db-}backup.1* %{_mandir}/man1/mbstream.1* %endif @@ -1490,10 +1480,10 @@ fi %files rocksdb-engine %config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf %{_bindir}/myrocks_hotbackup -%{_bindir}/mysql_ldb +%{_bindir}/{mysql_,mariadb-}ldb %{_bindir}/sst_dump %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so -%{_mandir}/man1/mysql_ldb.1* +%{_mandir}/man1/{mysql_,mariadb-}ldb.1* %endif %if %{with tokudb} @@ -1538,26 +1528,21 @@ fi %files server-utils # Perl utilities -%{_bindir}/mysql_convert_table_format -%{_bindir}/mysql_fix_extensions -%{_bindir}/mysql_setpermission -%{_bindir}/mysqldumpslow -%{_bindir}/mysqld_multi -%{_bindir}/mysqlhotcopy -%{_mandir}/man1/mysql_convert_table_format.1* -%{_mandir}/man1/mysql_fix_extensions.1* -%{_mandir}/man1/mysqldumpslow.1* -%{_mandir}/man1/mysqld_multi.1* -%{_mandir}/man1/mysqlhotcopy.1* -%{_mandir}/man1/mysql_setpermission.1* +%{_bindir}/mysql{_convert_table_format,dumpslow,_fix_extensions,hotcopy,_setpermission} +%{_bindir}/mariadb-{convert-table-format,dumpslow,fix-extensions,hotcopy,setpermission} +%{_bindir}/{mysqld_,mariadbd-}multi + +%{_mandir}/man1/mysql{_convert_table_format,dumpslow,_fix_extensions,hotcopy,_setpermission}.1* +%{_mandir}/man1/mariadb-{convert-table-format,dumpslow,fix-extensions,hotcopy,setpermission}.1* +%{_mandir}/man1/{mysqld_,mariadbd-}multi.1* # Utilities that can be used remotely -%{_bindir}/mysql_upgrade +%{_bindir}/{mysql_,mariadb-}upgrade %{_bindir}/perror -%{_mandir}/man1/mysql_upgrade.1* +%{_mandir}/man1/{mysql_,mariadb-}upgrade.1* %{_mandir}/man1/perror.1* # Other utilities -%{_bindir}/mysqld_safe_helper -%{_mandir}/man1/mysqld_safe_helper.1* +%{_bindir}/{mysqld_safe_helper,mariadbd-safe-helper} +%{_mandir}/man1/{mysqld_safe_helper,mariadbd-safe-helper}.1* %if %{with devel} %files devel @@ -1595,23 +1580,24 @@ fi %files test %if %{with embedded} %{_bindir}/test-connect-t -%{_bindir}/mysql_client_test_embedded -%{_bindir}/mysqltest_embedded -%{_mandir}/man1/mysql_client_test_embedded.1* -%{_mandir}/man1/mysqltest_embedded.1* +%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} +%{_bindir}/{mariadb-client-test-embedded,mariadb-test-embedded} +%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* +%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1* %endif -%{_bindir}/mysql_client_test +%{_bindir}/{mysql_client_test,mysqltest,mariadb-client-test,mariadb-test} %{_bindir}/my_safe_process -%{_bindir}/mysqltest %attr(-,mysql,mysql) %{_datadir}/mysql-test -%{_mandir}/man1/mysql_client_test.1* +%{_mandir}/man1/{mysql_client_test,mysqltest,mariadb-client-test,mariadb-test}.1* %{_mandir}/man1/my_safe_process.1* -%{_mandir}/man1/mysqltest.1* %{_mandir}/man1/mysql-stress-test.pl.1* %{_mandir}/man1/mysql-test-run.pl.1* %endif %changelog +* Thu Jun 20 2019 Michal Schorm - 3:10.4.6-1 +- Rebase to 10.4.6 + * Fri Jun 07 2019 Michal Schorm - 3:10.4.5-1 - Rebase to 10.4.5 - This is a RC release! use with caution diff --git a/sources b/sources index 3e1ab3b..952d959 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.4.5.tar.gz) = 080df03aff04375f6f424d94f988156cb09cb891e14d67dcea453c3f831737898ac1913b48735628034c6a7f215a06ad22b4d350a8762351ac572a60d492a07b +SHA512 (mariadb-10.4.6.tar.gz) = b04c47f72de2473d7b5edd04b4785a1d7179bb1f429f30ba53ae6cfbbb413200d9803eff1072949b2e81fd7d2164ea34c68620d621d4181b913daa2293ae140c From 1ed43fdb08331b8d207b73ad543d839673dca50b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 21 Jun 2019 14:44:07 +0200 Subject: [PATCH 559/789] Apply critical patch for Spider SE on Armv7hl architecture --- mariadb-spider_on_armv7hl.patch | 1087 +++++++++++++++++++++++++++++++ mariadb.spec | 12 +- 2 files changed, 1096 insertions(+), 3 deletions(-) create mode 100644 mariadb-spider_on_armv7hl.patch diff --git a/mariadb-spider_on_armv7hl.patch b/mariadb-spider_on_armv7hl.patch new file mode 100644 index 0000000..2278481 --- /dev/null +++ b/mariadb-spider_on_armv7hl.patch @@ -0,0 +1,1087 @@ +Fix for: +https://jira.mariadb.org/browse/MDEV-18737 +Taken from: +https://github.com/MariaDB/server/commit/80f9bd3d9c4f1b6367487a88e4ca816fcb8ce186 + + + + + +From 80f9bd3d9c4f1b6367487a88e4ca816fcb8ce186 Mon Sep 17 00:00:00 2001 +From: Kentoku +Date: Tue, 18 Jun 2019 01:43:07 +0900 +Subject: [PATCH] MDEV-18737 Spider "Out of memory" on armv7hl + +This is an issue of memory alignment of variable argument when calling my_multi_malloc(). +The fix is strictly casting allocating size to "uint". +--- + storage/spider/ha_spider.cc | 36 +++-- + storage/spider/spd_conn.cc | 69 +++++----- + storage/spider/spd_copy_tables.cc | 25 ++-- + storage/spider/spd_db_conn.cc | 13 +- + storage/spider/spd_db_handlersocket.cc | 4 +- + storage/spider/spd_db_mysql.cc | 12 +- + storage/spider/spd_db_oracle.cc | 24 ++-- + storage/spider/spd_direct_sql.cc | 78 +++++------ + storage/spider/spd_group_by_handler.cc | 7 +- + storage/spider/spd_ping_table.cc | 36 +++-- + storage/spider/spd_table.cc | 134 ++++++++++--------- + storage/spider/spd_trx.cc | 173 +++++++++++++------------ + 12 files changed, 328 insertions(+), 283 deletions(-) + +diff --git a/storage/spider/ha_spider.cc b/storage/spider/ha_spider.cc +index 33e81201fff..d3bc24dc0e0 100644 +--- a/storage/spider/ha_spider.cc ++++ b/storage/spider/ha_spider.cc +@@ -395,15 +395,24 @@ int ha_spider::open( + { + if (!(searched_bitmap = (uchar *) + spider_bulk_malloc(spider_current_trx, 15, MYF(MY_WME), +- &searched_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), +- &ft_discard_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), +- &position_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), +- &partition_handler_share, sizeof(SPIDER_PARTITION_HANDLER_SHARE), +- &idx_read_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), +- &idx_write_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), +- &rnd_read_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), +- &rnd_write_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), +- &pt_handler_share_handlers, sizeof(ha_spider *) * part_num, ++ &searched_bitmap, ++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), ++ &ft_discard_bitmap, ++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), ++ &position_bitmap, ++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), ++ &partition_handler_share, ++ (uint) sizeof(SPIDER_PARTITION_HANDLER_SHARE), ++ &idx_read_bitmap, ++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), ++ &idx_write_bitmap, ++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), ++ &rnd_read_bitmap, ++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), ++ &rnd_write_bitmap, ++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), ++ &pt_handler_share_handlers, ++ (uint) sizeof(ha_spider *) * part_num, + NullS)) + ) { + error_num = HA_ERR_OUT_OF_MEM; +@@ -11389,7 +11398,7 @@ int ha_spider::create( + if (!(tmp_share.static_key_cardinality = (longlong *) + spider_bulk_malloc(spider_current_trx, 246, MYF(MY_WME), + &tmp_share.static_key_cardinality, +- sizeof(*tmp_share.static_key_cardinality) * form->s->keys, ++ (uint) (sizeof(*tmp_share.static_key_cardinality) * form->s->keys), + NullS)) + ) { + error_num = HA_ERR_OUT_OF_MEM; +@@ -12198,7 +12207,8 @@ int ha_spider::info_push( + spider_free(spider_current_trx, hs_pushed_ret_fields, MYF(0)); + if (!(hs_pushed_ret_fields = (uint32 *) + spider_bulk_malloc(spider_current_trx, 17, MYF(MY_WME), +- &hs_pushed_ret_fields, sizeof(uint32) * hs_pushed_ret_fields_num, ++ &hs_pushed_ret_fields, ++ (uint) (sizeof(uint32) * hs_pushed_ret_fields_num), + NullS)) + ) { + DBUG_RETURN(HA_ERR_OUT_OF_MEM); +@@ -13762,8 +13772,8 @@ SPIDER_BULK_ACCESS_LINK *ha_spider::create_bulk_access_link() + */ + if (!(bulk_access_link = (SPIDER_BULK_ACCESS_LINK *) + spider_bulk_malloc(spider_current_trx, 168, MYF(MY_WME), +- &bulk_access_link, sizeof(SPIDER_BULK_ACCESS_LINK), +- &ref, ALIGN_SIZE(ref_length) * 2, ++ &bulk_access_link, (uint) (sizeof(SPIDER_BULK_ACCESS_LINK)), ++ &ref, (uint) (ALIGN_SIZE(ref_length) * 2), + NullS)) + ) { + goto error_bulk_malloc; +diff --git a/storage/spider/spd_conn.cc b/storage/spider/spd_conn.cc +index b1f49f4f250..2f372d8f692 100644 +--- a/storage/spider/spd_conn.cc ++++ b/storage/spider/spd_conn.cc +@@ -472,30 +472,30 @@ SPIDER_CONN *spider_create_conn( + #endif + if (!(conn = (SPIDER_CONN *) + spider_bulk_malloc(spider_current_trx, 18, MYF(MY_WME | MY_ZEROFILL), +- &conn, sizeof(*conn), +- &tmp_name, share->conn_keys_lengths[link_idx] + 1, +- &tmp_host, share->tgt_hosts_lengths[link_idx] + 1, ++ &conn, (uint) (sizeof(*conn)), ++ &tmp_name, (uint) (share->conn_keys_lengths[link_idx] + 1), ++ &tmp_host, (uint) (share->tgt_hosts_lengths[link_idx] + 1), + &tmp_username, +- share->tgt_usernames_lengths[link_idx] + 1, ++ (uint) (share->tgt_usernames_lengths[link_idx] + 1), + &tmp_password, +- share->tgt_passwords_lengths[link_idx] + 1, +- &tmp_socket, share->tgt_sockets_lengths[link_idx] + 1, ++ (uint) (share->tgt_passwords_lengths[link_idx] + 1), ++ &tmp_socket, (uint) (share->tgt_sockets_lengths[link_idx] + 1), + &tmp_wrapper, +- share->tgt_wrappers_lengths[link_idx] + 1, +- &tmp_ssl_ca, share->tgt_ssl_cas_lengths[link_idx] + 1, ++ (uint) (share->tgt_wrappers_lengths[link_idx] + 1), ++ &tmp_ssl_ca, (uint) (share->tgt_ssl_cas_lengths[link_idx] + 1), + &tmp_ssl_capath, +- share->tgt_ssl_capaths_lengths[link_idx] + 1, ++ (uint) (share->tgt_ssl_capaths_lengths[link_idx] + 1), + &tmp_ssl_cert, +- share->tgt_ssl_certs_lengths[link_idx] + 1, ++ (uint) (share->tgt_ssl_certs_lengths[link_idx] + 1), + &tmp_ssl_cipher, +- share->tgt_ssl_ciphers_lengths[link_idx] + 1, ++ (uint) (share->tgt_ssl_ciphers_lengths[link_idx] + 1), + &tmp_ssl_key, +- share->tgt_ssl_keys_lengths[link_idx] + 1, ++ (uint) (share->tgt_ssl_keys_lengths[link_idx] + 1), + &tmp_default_file, +- share->tgt_default_files_lengths[link_idx] + 1, ++ (uint) (share->tgt_default_files_lengths[link_idx] + 1), + &tmp_default_group, +- share->tgt_default_groups_lengths[link_idx] + 1, +- &need_mon, sizeof(int), ++ (uint) (share->tgt_default_groups_lengths[link_idx] + 1), ++ &need_mon, (uint) (sizeof(int)), + NullS)) + ) { + *error_num = HA_ERR_OUT_OF_MEM; +@@ -594,13 +594,13 @@ SPIDER_CONN *spider_create_conn( + } else if (conn_kind == SPIDER_CONN_KIND_HS_READ) { + if (!(conn = (SPIDER_CONN *) + spider_bulk_malloc(spider_current_trx, 19, MYF(MY_WME | MY_ZEROFILL), +- &conn, sizeof(*conn), +- &tmp_name, share->hs_read_conn_keys_lengths[link_idx] + 1, +- &tmp_host, share->tgt_hosts_lengths[link_idx] + 1, +- &tmp_socket, share->hs_read_socks_lengths[link_idx] + 1, ++ &conn, (uint) (sizeof(*conn)), ++ &tmp_name, (uint) (share->hs_read_conn_keys_lengths[link_idx] + 1), ++ &tmp_host, (uint) (share->tgt_hosts_lengths[link_idx] + 1), ++ &tmp_socket, (uint) (share->hs_read_socks_lengths[link_idx] + 1), + &tmp_wrapper, +- share->tgt_wrappers_lengths[link_idx] + 1, +- &need_mon, sizeof(int), ++ (uint) (share->tgt_wrappers_lengths[link_idx] + 1), ++ &need_mon, (uint) (sizeof(int)), + NullS)) + ) { + *error_num = HA_ERR_OUT_OF_MEM; +@@ -636,13 +636,13 @@ SPIDER_CONN *spider_create_conn( + } else { + if (!(conn = (SPIDER_CONN *) + spider_bulk_malloc(spider_current_trx, 20, MYF(MY_WME | MY_ZEROFILL), +- &conn, sizeof(*conn), +- &tmp_name, share->hs_write_conn_keys_lengths[link_idx] + 1, +- &tmp_host, share->tgt_hosts_lengths[link_idx] + 1, +- &tmp_socket, share->hs_write_socks_lengths[link_idx] + 1, ++ &conn, (uint) (sizeof(*conn)), ++ &tmp_name, (uint) (share->hs_write_conn_keys_lengths[link_idx] + 1), ++ &tmp_host, (uint) (share->tgt_hosts_lengths[link_idx] + 1), ++ &tmp_socket, (uint) (share->hs_write_socks_lengths[link_idx] + 1), + &tmp_wrapper, +- share->tgt_wrappers_lengths[link_idx] + 1, +- &need_mon, sizeof(int), ++ (uint) (share->tgt_wrappers_lengths[link_idx] + 1), ++ &need_mon, (uint) (sizeof(int)), + NullS)) + ) { + *error_num = HA_ERR_OUT_OF_MEM; +@@ -3648,13 +3648,16 @@ int spider_create_mon_threads( + } + if (!(share->bg_mon_thds = (THD **) + spider_bulk_malloc(spider_current_trx, 23, MYF(MY_WME | MY_ZEROFILL), +- &share->bg_mon_thds, sizeof(THD *) * share->all_link_count, +- &share->bg_mon_threads, sizeof(pthread_t) * share->all_link_count, +- &share->bg_mon_mutexes, sizeof(pthread_mutex_t) * +- share->all_link_count, +- &share->bg_mon_conds, sizeof(pthread_cond_t) * share->all_link_count, ++ &share->bg_mon_thds, ++ (uint) (sizeof(THD *) * share->all_link_count), ++ &share->bg_mon_threads, ++ (uint) (sizeof(pthread_t) * share->all_link_count), ++ &share->bg_mon_mutexes, ++ (uint) (sizeof(pthread_mutex_t) * share->all_link_count), ++ &share->bg_mon_conds, ++ (uint) (sizeof(pthread_cond_t) * share->all_link_count), + &share->bg_mon_sleep_conds, +- sizeof(pthread_cond_t) * share->all_link_count, ++ (uint) (sizeof(pthread_cond_t) * share->all_link_count), + NullS)) + ) { + error_num = HA_ERR_OUT_OF_MEM; +diff --git a/storage/spider/spd_copy_tables.cc b/storage/spider/spd_copy_tables.cc +index 13c53220b16..1a472e2c12b 100644 +--- a/storage/spider/spd_copy_tables.cc ++++ b/storage/spider/spd_copy_tables.cc +@@ -390,12 +390,15 @@ int spider_udf_get_copy_tgt_tables( + do { + if (!(table_conn = (SPIDER_COPY_TABLE_CONN *) + spider_bulk_malloc(spider_current_trx, 25, MYF(MY_WME | MY_ZEROFILL), +- &table_conn, sizeof(SPIDER_COPY_TABLE_CONN), +- &tmp_share, sizeof(SPIDER_SHARE), +- &tmp_connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT, +- &tmp_connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT, +- &tmp_long, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT, +- &tmp_longlong, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT, ++ &table_conn, (uint) (sizeof(SPIDER_COPY_TABLE_CONN)), ++ &tmp_share, (uint) (sizeof(SPIDER_SHARE)), ++ &tmp_connect_info, ++ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT), ++ &tmp_connect_info_length, ++ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT), ++ &tmp_long, (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT), ++ &tmp_longlong, ++ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT), + NullS)) + ) { + spider_sys_index_end(table_tables); +@@ -706,12 +709,12 @@ int spider_udf_copy_tables_create_table_list( + if (!(copy_tables->link_idxs[0] = (int *) + spider_bulk_malloc(spider_current_trx, 26, MYF(MY_WME | MY_ZEROFILL), + ©_tables->link_idxs[0], +- sizeof(int) * copy_tables->link_idx_count[0], ++ (uint) (sizeof(int) * copy_tables->link_idx_count[0]), + ©_tables->link_idxs[1], +- sizeof(int) * copy_tables->link_idx_count[1], +- &tmp_name_ptr, sizeof(char) * ( ++ (uint) (sizeof(int) * copy_tables->link_idx_count[1]), ++ &tmp_name_ptr, (uint) (sizeof(char) * ( + spider_table_name_length * 2 + copy_tables->database_length + 3 +- ), ++ )), + NullS)) + ) { + my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); +@@ -906,7 +909,7 @@ long long spider_copy_tables_body( + + if (!(copy_tables = (SPIDER_COPY_TABLES *) + spider_bulk_malloc(spider_current_trx, 27, MYF(MY_WME | MY_ZEROFILL), +- ©_tables, sizeof(SPIDER_COPY_TABLES), ++ ©_tables, (uint) (sizeof(SPIDER_COPY_TABLES)), + NullS)) + ) { + my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); +diff --git a/storage/spider/spd_db_conn.cc b/storage/spider/spd_db_conn.cc +index f3d607cd6dc..6d3a88a55db 100644 +--- a/storage/spider/spd_db_conn.cc ++++ b/storage/spider/spd_db_conn.cc +@@ -2683,7 +2683,8 @@ int spider_db_fetch_for_item_sum_func( + if (!spider->direct_aggregate_item_first) + { + if (!spider_bulk_malloc(spider_current_trx, 240, MYF(MY_WME), +- &spider->direct_aggregate_item_first, sizeof(SPIDER_ITEM_HLD), ++ &spider->direct_aggregate_item_first, ++ (uint) (sizeof(SPIDER_ITEM_HLD)), + NullS) + ) { + DBUG_RETURN(HA_ERR_OUT_OF_MEM); +@@ -2702,7 +2703,7 @@ int spider_db_fetch_for_item_sum_func( + { + if (!spider_bulk_malloc(spider_current_trx, 241, MYF(MY_WME), + &spider->direct_aggregate_item_current->next, +- sizeof(SPIDER_ITEM_HLD), NullS) ++ (uint) (sizeof(SPIDER_ITEM_HLD)), NullS) + ) { + DBUG_RETURN(HA_ERR_OUT_OF_MEM); + } +@@ -4074,8 +4075,8 @@ int spider_db_store_result( + current->field_count = field_count; + if (!(position = (SPIDER_POSITION *) + spider_bulk_malloc(spider_current_trx, 7, MYF(MY_WME | MY_ZEROFILL), +- &position, sizeof(SPIDER_POSITION) * page_size, +- &tmp_row, sizeof(char*) * field_count, ++ &position, (uint) (sizeof(SPIDER_POSITION) * page_size), ++ &tmp_row, (uint) (sizeof(SPIDER_DB_ROW) * field_count), + NullS)) + ) + DBUG_RETURN(HA_ERR_OUT_OF_MEM); +@@ -10948,8 +10949,8 @@ int spider_db_udf_copy_tables( + DBUG_ENTER("spider_db_udf_copy_tables"); + if (!(last_row_pos = (ulong *) + spider_bulk_malloc(spider_current_trx, 30, MYF(MY_WME), +- &last_row_pos, sizeof(ulong) * table->s->fields, +- &last_lengths, sizeof(ulong) * table->s->fields, ++ &last_row_pos, (uint) (sizeof(ulong) * table->s->fields), ++ &last_lengths, (uint) (sizeof(ulong) * table->s->fields), + NullS)) + ) { + my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); +diff --git a/storage/spider/spd_db_handlersocket.cc b/storage/spider/spd_db_handlersocket.cc +index ac81525092b..27257ee08e6 100644 +--- a/storage/spider/spd_db_handlersocket.cc ++++ b/storage/spider/spd_db_handlersocket.cc +@@ -505,8 +505,8 @@ SPIDER_DB_ROW *spider_db_handlersocket_row::clone() + DBUG_RETURN(NULL); + } + if (!spider_bulk_malloc(spider_current_trx, 169, MYF(MY_WME), +- &clone_row->hs_row, sizeof(SPIDER_HS_STRING_REF) * field_count, +- &tmp_char, row_size, ++ &clone_row->hs_row, (uint) (sizeof(SPIDER_HS_STRING_REF) * field_count), ++ &tmp_char, (uint) (row_size), + NullS) + ) { + delete clone_row; +diff --git a/storage/spider/spd_db_mysql.cc b/storage/spider/spd_db_mysql.cc +index 58351195a61..da2052ad79e 100644 +--- a/storage/spider/spd_db_mysql.cc ++++ b/storage/spider/spd_db_mysql.cc +@@ -537,9 +537,9 @@ SPIDER_DB_ROW *spider_db_mbase_row::clone() + row_size = record_size + field_count; + } + if (!spider_bulk_malloc(spider_current_trx, 29, MYF(MY_WME), +- &clone_row->row, sizeof(char*) * field_count, +- &tmp_char, row_size, +- &clone_row->lengths, sizeof(ulong) * field_count, ++ &clone_row->row, (uint) (sizeof(char*) * field_count), ++ &tmp_char, (uint) (row_size), ++ &clone_row->lengths, (uint) (sizeof(ulong) * field_count), + NullS) + ) { + delete clone_row; +@@ -5473,7 +5473,7 @@ int spider_db_mbase_util::append_tables_top_down( + int error_num; + uint outer_join_backup; + TABLE_LIST *cur_table_list, *prev_table_list = NULL, *cond_table_list = NULL; +- bool first; ++ bool first = TRUE; + DBUG_ENTER("spider_db_mbase_util::append_tables_top_down"); + DBUG_PRINT("info",("spider this=%p", this)); + if ( +@@ -13786,7 +13786,7 @@ int spider_mbase_handler::init_union_table_name_pos() + if (!union_table_name_pos_first) + { + if (!spider_bulk_malloc(spider_current_trx, 236, MYF(MY_WME), +- &union_table_name_pos_first, sizeof(SPIDER_INT_HLD), ++ &union_table_name_pos_first, (uint) (sizeof(SPIDER_INT_HLD)), + NullS) + ) { + DBUG_RETURN(HA_ERR_OUT_OF_MEM); +@@ -13807,7 +13807,7 @@ int spider_mbase_handler::set_union_table_name_pos() + if (!union_table_name_pos_current->next) + { + if (!spider_bulk_malloc(spider_current_trx, 237, MYF(MY_WME), +- &union_table_name_pos_current->next, sizeof(SPIDER_INT_HLD), ++ &union_table_name_pos_current->next, (uint) (sizeof(SPIDER_INT_HLD)), + NullS) + ) { + DBUG_RETURN(HA_ERR_OUT_OF_MEM); +diff --git a/storage/spider/spd_db_oracle.cc b/storage/spider/spd_db_oracle.cc +index 773c6b90ed9..0c74415f6b2 100644 +--- a/storage/spider/spd_db_oracle.cc ++++ b/storage/spider/spd_db_oracle.cc +@@ -588,16 +588,16 @@ int spider_db_oracle_row::init() + if ( + !(ind = (sb2 *) + spider_bulk_malloc(spider_current_trx, 161, MYF(MY_WME | MY_ZEROFILL), +- &ind, sizeof(sb2) * field_count, +- &rlen, sizeof(ub2) * field_count, +- &coltp, sizeof(ub2) * field_count, +- &colsz, sizeof(ub2) * field_count, +- &row_size, sizeof(ulong) * field_count, +- &val, sizeof(char *) * field_count, +- &tmp_val, MAX_FIELD_WIDTH * field_count, +- &defnp, sizeof(OCIDefine *) * field_count, +- &lobhp, sizeof(OCILobLocator *) * field_count, +- &colhp, sizeof(OCIParam *) * field_count, ++ &ind, (uint) (sizeof(sb2) * field_count), ++ &rlen, (uint) (sizeof(ub2) * field_count), ++ &coltp, (uint) (sizeof(ub2) * field_count), ++ &colsz, (uint) (sizeof(ub2) * field_count), ++ &row_size, (uint) (sizeof(ulong) * field_count), ++ &val, (uint) (sizeof(char *) * field_count), ++ &tmp_val, (uint) (MAX_FIELD_WIDTH * field_count), ++ &defnp, (uint) (sizeof(OCIDefine *) * field_count), ++ &lobhp, (uint) (sizeof(OCILobLocator *) * field_count), ++ &colhp, (uint) (sizeof(OCIParam *) * field_count), + NullS) + ) || + !(val_str = new spider_string[field_count]) +@@ -12519,7 +12519,7 @@ int spider_oracle_handler::init_union_table_name_pos() + if (!union_table_name_pos_first) + { + if (!spider_bulk_malloc(spider_current_trx, 238, MYF(MY_WME), +- &union_table_name_pos_first, sizeof(SPIDER_INT_HLD), ++ &union_table_name_pos_first, (uint) (sizeof(SPIDER_INT_HLD)), + NullS) + ) { + DBUG_RETURN(HA_ERR_OUT_OF_MEM); +@@ -12540,7 +12540,7 @@ int spider_oracle_handler::set_union_table_name_pos() + if (!union_table_name_pos_current->next) + { + if (!spider_bulk_malloc(spider_current_trx, 239, MYF(MY_WME), +- &union_table_name_pos_current->next, sizeof(SPIDER_INT_HLD), ++ &union_table_name_pos_current->next, (uint) (sizeof(SPIDER_INT_HLD)), + NullS) + ) { + DBUG_RETURN(HA_ERR_OUT_OF_MEM); +diff --git a/storage/spider/spd_direct_sql.cc b/storage/spider/spd_direct_sql.cc +index 7237d0877a7..7bf0b91a4a7 100644 +--- a/storage/spider/spd_direct_sql.cc ++++ b/storage/spider/spd_direct_sql.cc +@@ -1,4 +1,5 @@ +-/* Copyright (C) 2009-2018 Kentoku Shiba ++/* Copyright (C) 2009-2019 Kentoku Shiba ++ Copyright (C) 2019 MariaDB corp + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +@@ -117,31 +118,32 @@ int spider_udf_direct_sql_create_table_list( + #if MYSQL_VERSION_ID < 50500 + if (!(direct_sql->db_names = (char**) + spider_bulk_malloc(spider_current_trx, 31, MYF(MY_WME | MY_ZEROFILL), +- &direct_sql->db_names, sizeof(char*) * table_count, +- &direct_sql->table_names, sizeof(char*) * table_count, +- &direct_sql->tables, sizeof(TABLE*) * table_count, +- &tmp_name_ptr, sizeof(char) * ( ++ &direct_sql->db_names, (uint) (sizeof(char*) * table_count), ++ &direct_sql->table_names, (uint) (sizeof(char*) * table_count), ++ &direct_sql->tables, (uint) (sizeof(TABLE*) * table_count), ++ &tmp_name_ptr, (uint) (sizeof(char) * ( + table_name_list_length + + thd->db_length * table_count + + 2 * table_count +- ), +- &direct_sql->iop, sizeof(int) * table_count, ++ )), ++ &direct_sql->iop, (uint) (sizeof(int) * table_count), + NullS)) + ) + #else + if (!(direct_sql->db_names = (char**) + spider_bulk_malloc(spider_current_trx, 31, MYF(MY_WME | MY_ZEROFILL), +- &direct_sql->db_names, sizeof(char*) * table_count, +- &direct_sql->table_names, sizeof(char*) * table_count, +- &direct_sql->tables, sizeof(TABLE*) * table_count, +- &tmp_name_ptr, sizeof(char) * ( ++ &direct_sql->db_names, (uint) (sizeof(char*) * table_count), ++ &direct_sql->table_names, (uint) (sizeof(char*) * table_count), ++ &direct_sql->tables, (uint) (sizeof(TABLE*) * table_count), ++ &tmp_name_ptr, (uint) (sizeof(char) * ( + table_name_list_length + + SPIDER_THD_db_length(thd) * table_count + + 2 * table_count +- ), +- &direct_sql->iop, sizeof(int) * table_count, +- &direct_sql->table_list, sizeof(TABLE_LIST) * table_count, +- &direct_sql->real_table_bitmap, sizeof(uchar) * ((table_count + 7) / 8), ++ )), ++ &direct_sql->iop, (uint) (sizeof(int) * table_count), ++ &direct_sql->table_list, (uint) (sizeof(TABLE_LIST) * table_count), ++ &direct_sql->real_table_bitmap, ++ (uint) (sizeof(uchar) * ((table_count + 7) / 8)), + NullS)) + ) + #endif +@@ -412,23 +414,23 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn( + #endif + if (!(conn = (SPIDER_CONN *) + spider_bulk_malloc(spider_current_trx, 32, MYF(MY_WME | MY_ZEROFILL), +- &conn, sizeof(*conn), +- &tmp_name, direct_sql->conn_key_length + 1, +- &tmp_host, direct_sql->tgt_host_length + 1, +- &tmp_username, direct_sql->tgt_username_length + 1, +- &tmp_password, direct_sql->tgt_password_length + 1, +- &tmp_socket, direct_sql->tgt_socket_length + 1, +- &tmp_wrapper, direct_sql->tgt_wrapper_length + 1, +- &tmp_ssl_ca, direct_sql->tgt_ssl_ca_length + 1, +- &tmp_ssl_capath, direct_sql->tgt_ssl_capath_length + 1, +- &tmp_ssl_cert, direct_sql->tgt_ssl_cert_length + 1, +- &tmp_ssl_cipher, direct_sql->tgt_ssl_cipher_length + 1, +- &tmp_ssl_key, direct_sql->tgt_ssl_key_length + 1, ++ &conn, (uint) (sizeof(*conn)), ++ &tmp_name, (uint) (direct_sql->conn_key_length + 1), ++ &tmp_host, (uint) (direct_sql->tgt_host_length + 1), ++ &tmp_username, (uint) (direct_sql->tgt_username_length + 1), ++ &tmp_password, (uint) (direct_sql->tgt_password_length + 1), ++ &tmp_socket, (uint) (direct_sql->tgt_socket_length + 1), ++ &tmp_wrapper, (uint) (direct_sql->tgt_wrapper_length + 1), ++ &tmp_ssl_ca, (uint) (direct_sql->tgt_ssl_ca_length + 1), ++ &tmp_ssl_capath, (uint) (direct_sql->tgt_ssl_capath_length + 1), ++ &tmp_ssl_cert, (uint) (direct_sql->tgt_ssl_cert_length + 1), ++ &tmp_ssl_cipher, (uint) (direct_sql->tgt_ssl_cipher_length + 1), ++ &tmp_ssl_key, (uint) (direct_sql->tgt_ssl_key_length + 1), + &tmp_default_file, +- direct_sql->tgt_default_file_length + 1, ++ (uint) (direct_sql->tgt_default_file_length + 1), + &tmp_default_group, +- direct_sql->tgt_default_group_length + 1, +- &need_mon, sizeof(int), ++ (uint) (direct_sql->tgt_default_group_length + 1), ++ &need_mon, (uint) (sizeof(int)), + NullS)) + ) { + *error_num = HA_ERR_OUT_OF_MEM; +@@ -439,12 +441,12 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn( + } else { + if (!(conn = (SPIDER_CONN *) + spider_bulk_malloc(spider_current_trx, 33, MYF(MY_WME | MY_ZEROFILL), +- &conn, sizeof(*conn), +- &tmp_name, direct_sql->conn_key_length + 1, +- &tmp_host, direct_sql->tgt_host_length + 1, +- &tmp_socket, direct_sql->tgt_socket_length + 1, +- &tmp_wrapper, direct_sql->tgt_wrapper_length + 1, +- &need_mon, sizeof(int), ++ &conn, (uint) (sizeof(*conn)), ++ &tmp_name, (uint) (direct_sql->conn_key_length + 1), ++ &tmp_host, (uint) (direct_sql->tgt_host_length + 1), ++ &tmp_socket, (uint) (direct_sql->tgt_socket_length + 1), ++ &tmp_wrapper, (uint) (direct_sql->tgt_wrapper_length + 1), ++ &need_mon, (uint) (sizeof(int)), + NullS)) + ) { + *error_num = HA_ERR_OUT_OF_MEM; +@@ -1602,8 +1604,8 @@ long long spider_direct_sql_body( + SPIDER_BACKUP_DASTATUS; + if (!(direct_sql = (SPIDER_DIRECT_SQL *) + spider_bulk_malloc(spider_current_trx, 34, MYF(MY_WME | MY_ZEROFILL), +- &direct_sql, sizeof(SPIDER_DIRECT_SQL), +- &sql, sizeof(char) * args->lengths[0], ++ &direct_sql, (uint) (sizeof(SPIDER_DIRECT_SQL)), ++ &sql, (uint) (sizeof(char) * args->lengths[0]), + NullS)) + ) { + error_num = HA_ERR_OUT_OF_MEM; +diff --git a/storage/spider/spd_group_by_handler.cc b/storage/spider/spd_group_by_handler.cc +index 3b57092c4ce..51cfca23106 100644 +--- a/storage/spider/spd_group_by_handler.cc ++++ b/storage/spider/spd_group_by_handler.cc +@@ -1,4 +1,5 @@ +-/* Copyright (C) 2008-2018 Kentoku Shiba ++/* Copyright (C) 2008-2019 Kentoku Shiba ++ Copyright (C) 2019 MariaDB corp + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +@@ -637,9 +638,9 @@ SPIDER_CONN_HOLDER *spider_fields::create_conn_holder( + DBUG_PRINT("info",("spider this=%p", this)); + return_conn_holder = (SPIDER_CONN_HOLDER *) + spider_bulk_malloc(spider_current_trx, 252, MYF(MY_WME | MY_ZEROFILL), +- &return_conn_holder, sizeof(SPIDER_CONN_HOLDER), ++ &return_conn_holder, (uint) (sizeof(SPIDER_CONN_HOLDER)), + &table_link_idx_holder, +- table_count * sizeof(SPIDER_TABLE_LINK_IDX_HOLDER), ++ (uint) (table_count * sizeof(SPIDER_TABLE_LINK_IDX_HOLDER)), + NullS + ); + if (!return_conn_holder) +diff --git a/storage/spider/spd_ping_table.cc b/storage/spider/spd_ping_table.cc +index 431d46063c3..60e36fc24fb 100644 +--- a/storage/spider/spd_ping_table.cc ++++ b/storage/spider/spd_ping_table.cc +@@ -1,4 +1,5 @@ +-/* Copyright (C) 2009-2018 Kentoku Shiba ++/* Copyright (C) 2009-2019 Kentoku Shiba ++ Copyright (C) 2019 MariaDB corp + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +@@ -367,12 +368,15 @@ int spider_get_ping_table_mon( + do { + if (!(table_mon = (SPIDER_TABLE_MON *) + spider_bulk_malloc(spider_current_trx, 35, MYF(MY_WME | MY_ZEROFILL), +- &table_mon, sizeof(SPIDER_TABLE_MON), +- &tmp_share, sizeof(SPIDER_SHARE), +- &tmp_connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT, +- &tmp_connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT, +- &tmp_long, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT, +- &tmp_longlong, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT, ++ &table_mon, (uint) (sizeof(SPIDER_TABLE_MON)), ++ &tmp_share, (uint) (sizeof(SPIDER_SHARE)), ++ &tmp_connect_info, ++ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT), ++ &tmp_connect_info_length, ++ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT), ++ &tmp_long, (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT), ++ &tmp_longlong, ++ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT), + NullS)) + ) { + spider_sys_index_end(table_link_mon); +@@ -491,13 +495,17 @@ SPIDER_TABLE_MON_LIST *spider_get_ping_table_tgt( + SPD_INIT_ALLOC_ROOT(&mem_root, 4096, 0, MYF(MY_WME)); + if (!(table_mon_list = (SPIDER_TABLE_MON_LIST *) + spider_bulk_malloc(spider_current_trx, 36, MYF(MY_WME | MY_ZEROFILL), +- &table_mon_list, sizeof(SPIDER_TABLE_MON_LIST), +- &tmp_share, sizeof(SPIDER_SHARE), +- &tmp_connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT, +- &tmp_connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT, +- &tmp_long, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT, +- &tmp_longlong, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT, +- &key_str, str->length() + 1, ++ &table_mon_list, (uint) (sizeof(SPIDER_TABLE_MON_LIST)), ++ &tmp_share, (uint) (sizeof(SPIDER_SHARE)), ++ &tmp_connect_info, ++ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT), ++ &tmp_connect_info_length, ++ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT), ++ &tmp_long, ++ (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT), ++ &tmp_longlong, ++ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT), ++ &key_str, (uint) (str->length() + 1), + NullS)) + ) { + my_error(HA_ERR_OUT_OF_MEM, MYF(0)); +diff --git a/storage/spider/spd_table.cc b/storage/spider/spd_table.cc +index 723beb0775e..fe628f55d16 100644 +--- a/storage/spider/spd_table.cc ++++ b/storage/spider/spd_table.cc +@@ -1211,8 +1211,8 @@ int spider_create_string_list( + + if (!(*string_list = (char**) + spider_bulk_malloc(spider_current_trx, 37, MYF(MY_WME | MY_ZEROFILL), +- string_list, sizeof(char*) * (*list_length), +- string_length_list, sizeof(int) * (*list_length), ++ string_list, (uint) (sizeof(char*) * (*list_length)), ++ string_length_list, (uint) (sizeof(int) * (*list_length)), + NullS)) + ) { + my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); +@@ -1330,7 +1330,7 @@ int spider_create_long_list( + + if (!(*long_list = (long*) + spider_bulk_malloc(spider_current_trx, 38, MYF(MY_WME | MY_ZEROFILL), +- long_list, sizeof(long) * (*list_length), ++ long_list, (uint) (sizeof(long) * (*list_length)), + NullS)) + ) { + my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); +@@ -1414,7 +1414,7 @@ int spider_create_longlong_list( + + if (!(*longlong_list = (longlong *) + spider_bulk_malloc(spider_current_trx, 39, MYF(MY_WME | MY_ZEROFILL), +- longlong_list, sizeof(longlong) * (*list_length), ++ longlong_list, (uint) (sizeof(longlong) * (*list_length)), + NullS)) + ) { + my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); +@@ -1485,8 +1485,8 @@ int spider_increase_string_list( + + if (!(tmp_str_list = (char**) + spider_bulk_malloc(spider_current_trx, 40, MYF(MY_WME | MY_ZEROFILL), +- &tmp_str_list, sizeof(char*) * link_count, +- &tmp_length_list, sizeof(uint) * link_count, ++ &tmp_str_list, (uint) (sizeof(char*) * link_count), ++ &tmp_length_list, (uint) (sizeof(uint) * link_count), + NullS)) + ) { + my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); +@@ -1548,8 +1548,8 @@ int spider_increase_null_string_list( + + if (!(tmp_str_list = (char**) + spider_bulk_malloc(spider_current_trx, 247, MYF(MY_WME | MY_ZEROFILL), +- &tmp_str_list, sizeof(char*) * link_count, +- &tmp_length_list, sizeof(uint) * link_count, ++ &tmp_str_list, (uint) (sizeof(char*) * link_count), ++ &tmp_length_list, (uint) (sizeof(uint) * link_count), + NullS)) + ) { + my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); +@@ -1606,7 +1606,7 @@ int spider_increase_long_list( + + if (!(tmp_long_list = (long*) + spider_bulk_malloc(spider_current_trx, 41, MYF(MY_WME | MY_ZEROFILL), +- &tmp_long_list, sizeof(long) * link_count, ++ &tmp_long_list, (uint) (sizeof(long) * link_count), + NullS)) + ) { + my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); +@@ -1651,7 +1651,7 @@ int spider_increase_longlong_list( + + if (!(tmp_longlong_list = (longlong*) + spider_bulk_malloc(spider_current_trx, 42, MYF(MY_WME | MY_ZEROFILL), +- &tmp_longlong_list, sizeof(longlong) * link_count, ++ &tmp_longlong_list, (uint) (sizeof(longlong) * link_count), + NullS)) + ) { + my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); +@@ -2974,17 +2974,17 @@ int spider_parse_connect_info( + if (!(share_alter->tmp_server_names = (char **) + spider_bulk_malloc(spider_current_trx, 43, MYF(MY_WME | MY_ZEROFILL), + &share_alter->tmp_server_names, +- sizeof(char *) * 16 * share->all_link_count, ++ (uint) (sizeof(char *) * 16 * share->all_link_count), + &share_alter->tmp_server_names_lengths, +- sizeof(uint *) * 16 * share->all_link_count, ++ (uint) (sizeof(uint *) * 16 * share->all_link_count), + &share_alter->tmp_tgt_ports, +- sizeof(long) * share->all_link_count, ++ (uint) (sizeof(long) * share->all_link_count), + &share_alter->tmp_tgt_ssl_vscs, +- sizeof(long) * share->all_link_count, ++ (uint) (sizeof(long) * share->all_link_count), + &share_alter->tmp_monitoring_binlog_pos_at_failing, +- sizeof(long) * share->all_link_count, ++ (uint) (sizeof(long) * share->all_link_count), + &share_alter->tmp_link_statuses, +- sizeof(long) * share->all_link_count, ++ (uint) (sizeof(long) * share->all_link_count), + NullS)) + ) { + error_num = HA_ERR_OUT_OF_MEM; +@@ -4388,13 +4388,17 @@ SPIDER_SHARE *spider_create_share( + bitmap_size = spider_bitmap_size(table_share->fields); + if (!(share = (SPIDER_SHARE *) + spider_bulk_malloc(spider_current_trx, 46, MYF(MY_WME | MY_ZEROFILL), +- &share, sizeof(*share), +- &tmp_name, length + 1, +- &tmp_static_key_cardinality, sizeof(*tmp_static_key_cardinality) * table_share->keys, +- &tmp_cardinality, sizeof(*tmp_cardinality) * table_share->fields, +- &tmp_cardinality_upd, sizeof(*tmp_cardinality_upd) * bitmap_size, +- &tmp_table_mon_mutex_bitmap, sizeof(*tmp_table_mon_mutex_bitmap) * +- ((spider_param_udf_table_mon_mutex_count() + 7) / 8), ++ &share, (uint) (sizeof(*share)), ++ &tmp_name, (uint) (length + 1), ++ &tmp_static_key_cardinality, ++ (uint) (sizeof(*tmp_static_key_cardinality) * table_share->keys), ++ &tmp_cardinality, ++ (uint) (sizeof(*tmp_cardinality) * table_share->fields), ++ &tmp_cardinality_upd, ++ (uint) (sizeof(*tmp_cardinality_upd) * bitmap_size), ++ &tmp_table_mon_mutex_bitmap, ++ (uint) (sizeof(*tmp_table_mon_mutex_bitmap) * ++ ((spider_param_udf_table_mon_mutex_count() + 7) / 8)), + NullS)) + ) { + *error_num = HA_ERR_OUT_OF_MEM; +@@ -5921,8 +5925,8 @@ SPIDER_LGTM_TBLHND_SHARE *spider_get_lgtm_tblhnd_share( + DBUG_PRINT("info",("spider create new lgtm tblhnd share")); + if (!(lgtm_tblhnd_share = (SPIDER_LGTM_TBLHND_SHARE *) + spider_bulk_malloc(spider_current_trx, 244, MYF(MY_WME | MY_ZEROFILL), +- &lgtm_tblhnd_share, sizeof(*lgtm_tblhnd_share), +- &tmp_name, table_name_length + 1, ++ &lgtm_tblhnd_share, (uint) (sizeof(*lgtm_tblhnd_share)), ++ &tmp_name, (uint) (table_name_length + 1), + NullS)) + ) { + *error_num = HA_ERR_OUT_OF_MEM; +@@ -6031,9 +6035,10 @@ SPIDER_PARTITION_SHARE *spider_get_pt_share( + DBUG_PRINT("info",("spider create new pt share")); + if (!(partition_share = (SPIDER_PARTITION_SHARE *) + spider_bulk_malloc(spider_current_trx, 51, MYF(MY_WME | MY_ZEROFILL), +- &partition_share, sizeof(*partition_share), +- &tmp_name, table_share->path.length + 1, +- &tmp_cardinality, sizeof(*tmp_cardinality) * table_share->fields, ++ &partition_share, (uint) (sizeof(*partition_share)), ++ &tmp_name, (uint) (table_share->path.length + 1), ++ &tmp_cardinality, ++ (uint) (sizeof(*tmp_cardinality) * table_share->fields), + NullS)) + ) { + *error_num = HA_ERR_OUT_OF_MEM; +@@ -6379,15 +6384,18 @@ int spider_open_all_tables( + + if (!(share = (SPIDER_SHARE *) + spider_bulk_malloc(spider_current_trx, 52, MYF(MY_WME | MY_ZEROFILL), +- &share, sizeof(*share), +- &connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT, +- &connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT, +- &long_info, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT, +- &longlong_info, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT, +- &conns, sizeof(SPIDER_CONN *), +- &need_mon, sizeof(int), +- &spider->conn_link_idx, sizeof(uint), +- &spider->conn_can_fo, sizeof(uchar), ++ &share, (uint) (sizeof(*share)), ++ &connect_info, ++ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT), ++ &connect_info_length, ++ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT), ++ &long_info, (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT), ++ &longlong_info, ++ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT), ++ &conns, (uint) (sizeof(SPIDER_CONN *)), ++ &need_mon, (uint) (sizeof(int)), ++ &spider->conn_link_idx, (uint) (sizeof(uint)), ++ &spider->conn_can_fo, (uint) (sizeof(uchar)), + NullS)) + ) { + delete spider; +@@ -7194,12 +7202,12 @@ int spider_db_init( + + if (!(spider_udf_table_mon_mutexes = (pthread_mutex_t *) + spider_bulk_malloc(NULL, 53, MYF(MY_WME | MY_ZEROFILL), +- &spider_udf_table_mon_mutexes, sizeof(pthread_mutex_t) * +- spider_param_udf_table_mon_mutex_count(), +- &spider_udf_table_mon_conds, sizeof(pthread_cond_t) * +- spider_param_udf_table_mon_mutex_count(), +- &spider_udf_table_mon_list_hash, sizeof(HASH) * +- spider_param_udf_table_mon_mutex_count(), ++ &spider_udf_table_mon_mutexes, (uint) (sizeof(pthread_mutex_t) * ++ spider_param_udf_table_mon_mutex_count()), ++ &spider_udf_table_mon_conds, (uint) (sizeof(pthread_cond_t) * ++ spider_param_udf_table_mon_mutex_count()), ++ &spider_udf_table_mon_list_hash, (uint) (sizeof(HASH) * ++ spider_param_udf_table_mon_mutex_count()), + NullS)) + ) + goto error_alloc_mon_mutxes; +@@ -7248,10 +7256,10 @@ int spider_db_init( + #ifndef WITHOUT_SPIDER_BG_SEARCH + if (!(spider_table_sts_threads = (SPIDER_THREAD *) + spider_bulk_malloc(NULL, 256, MYF(MY_WME | MY_ZEROFILL), +- &spider_table_sts_threads, sizeof(SPIDER_THREAD) * +- spider_param_table_sts_thread_count(), +- &spider_table_crd_threads, sizeof(SPIDER_THREAD) * +- spider_param_table_crd_thread_count(), ++ &spider_table_sts_threads, (uint) (sizeof(SPIDER_THREAD) * ++ spider_param_table_sts_thread_count()), ++ &spider_table_crd_threads, (uint) (sizeof(SPIDER_THREAD) * ++ spider_param_table_crd_thread_count()), + NullS)) + ) + goto error_alloc_mon_mutxes; +@@ -7947,8 +7955,8 @@ SPIDER_INIT_ERROR_TABLE *spider_get_init_error_table( + } + if (!(spider_init_error_table = (SPIDER_INIT_ERROR_TABLE *) + spider_bulk_malloc(spider_current_trx, 54, MYF(MY_WME | MY_ZEROFILL), +- &spider_init_error_table, sizeof(*spider_init_error_table), +- &tmp_name, share->table_name_length + 1, ++ &spider_init_error_table, (uint) (sizeof(*spider_init_error_table)), ++ &tmp_name, (uint) (share->table_name_length + 1), + NullS)) + ) { + pthread_mutex_unlock(&spider_init_error_tbl_mutex); +@@ -9624,25 +9632,25 @@ int spider_create_spider_object_for_share( + #if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET) + if (!(need_mons = (int *) + spider_bulk_malloc(spider_current_trx, 255, MYF(MY_WME | MY_ZEROFILL), +- &need_mons, (sizeof(int) * share->link_count), +- &conns, (sizeof(SPIDER_CONN *) * share->link_count), +- &conn_link_idx, (sizeof(uint) * share->link_count), +- &conn_can_fo, (sizeof(uchar) * share->link_bitmap_size), +- &conn_keys, (sizeof(char *) * share->link_count), +- &hs_r_conn_keys, (sizeof(char *) * share->link_count), +- &hs_w_conn_keys, (sizeof(char *) * share->link_count), +- &dbton_hdl, (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE), ++ &need_mons, (uint) (sizeof(int) * share->link_count), ++ &conns, (uint) (sizeof(SPIDER_CONN *) * share->link_count), ++ &conn_link_idx, (uint) (sizeof(uint) * share->link_count), ++ &conn_can_fo, (uint) (sizeof(uchar) * share->link_bitmap_size), ++ &conn_keys, (uint) (sizeof(char *) * share->link_count), ++ &hs_r_conn_keys, (uint) (sizeof(char *) * share->link_count), ++ &hs_w_conn_keys, (uint) (sizeof(char *) * share->link_count), ++ &dbton_hdl, (uint) (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE), + NullS)) + ) + #else + if (!(need_mons = (int *) + spider_bulk_malloc(spider_current_trx, 255, MYF(MY_WME | MY_ZEROFILL), +- &need_mons, (sizeof(int) * share->link_count), +- &conns, (sizeof(SPIDER_CONN *) * share->link_count), +- &conn_link_idx, (sizeof(uint) * share->link_count), +- &conn_can_fo, (sizeof(uchar) * share->link_bitmap_size), +- &conn_keys, (sizeof(char *) * share->link_count), +- &dbton_hdl, (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE), ++ &need_mons, (uint) (sizeof(int) * share->link_count), ++ &conns, (uint) (sizeof(SPIDER_CONN *) * share->link_count), ++ &conn_link_idx, (uint) (sizeof(uint) * share->link_count), ++ &conn_can_fo, (uint) (sizeof(uchar) * share->link_bitmap_size), ++ &conn_keys, (uint) (sizeof(char *) * share->link_count), ++ &dbton_hdl, (uint) (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE), + NullS)) + ) + #endif +diff --git a/storage/spider/spd_trx.cc b/storage/spider/spd_trx.cc +index 485c61fc60b..b1b31a6db2e 100644 +--- a/storage/spider/spd_trx.cc ++++ b/storage/spider/spd_trx.cc +@@ -549,81 +549,90 @@ int spider_create_trx_alter_table( + + if (!(alter_table = (SPIDER_ALTER_TABLE *) + spider_bulk_malloc(spider_current_trx, 55, MYF(MY_WME | MY_ZEROFILL), +- &alter_table, sizeof(*alter_table), +- &tmp_name, sizeof(char) * (share->table_name_length + 1), +- +- &tmp_server_names, sizeof(char *) * share->all_link_count, +- &tmp_tgt_table_names, sizeof(char *) * share->all_link_count, +- &tmp_tgt_dbs, sizeof(char *) * share->all_link_count, +- &tmp_tgt_hosts, sizeof(char *) * share->all_link_count, +- &tmp_tgt_usernames, sizeof(char *) * share->all_link_count, +- &tmp_tgt_passwords, sizeof(char *) * share->all_link_count, +- &tmp_tgt_sockets, sizeof(char *) * share->all_link_count, +- &tmp_tgt_wrappers, sizeof(char *) * share->all_link_count, +- &tmp_tgt_ssl_cas, sizeof(char *) * share->all_link_count, +- &tmp_tgt_ssl_capaths, sizeof(char *) * share->all_link_count, +- &tmp_tgt_ssl_certs, sizeof(char *) * share->all_link_count, +- &tmp_tgt_ssl_ciphers, sizeof(char *) * share->all_link_count, +- &tmp_tgt_ssl_keys, sizeof(char *) * share->all_link_count, +- &tmp_tgt_default_files, sizeof(char *) * share->all_link_count, +- &tmp_tgt_default_groups, sizeof(char *) * share->all_link_count, +- &tmp_static_link_ids, sizeof(char *) * share->all_link_count, +- +- &tmp_server_names_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_table_names_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_dbs_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_hosts_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_usernames_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_passwords_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_sockets_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_wrappers_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_ssl_cas_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_ssl_capaths_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_ssl_certs_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_ssl_ciphers_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_ssl_keys_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_default_files_lengths, sizeof(uint) * share->all_link_count, +- &tmp_tgt_default_groups_lengths, sizeof(uint) * share->all_link_count, +- &tmp_static_link_ids_lengths, sizeof(uint) * share->all_link_count, +- +- &tmp_tgt_ports, sizeof(long) * share->all_link_count, +- &tmp_tgt_ssl_vscs, sizeof(long) * share->all_link_count, ++ &alter_table, (uint) (sizeof(*alter_table)), ++ &tmp_name, (uint) (sizeof(char) * (share->table_name_length + 1)), ++ ++ &tmp_server_names, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_table_names, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_dbs, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_hosts, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_usernames, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_passwords, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_sockets, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_wrappers, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_ssl_cas, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_ssl_capaths, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_ssl_certs, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_ssl_ciphers, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_ssl_keys, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_default_files, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_tgt_default_groups, (uint) (sizeof(char *) * share->all_link_count), ++ &tmp_static_link_ids, (uint) (sizeof(char *) * share->all_link_count), ++ ++ &tmp_server_names_lengths, (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_table_names_lengths, ++ (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_dbs_lengths, (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_hosts_lengths, (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_usernames_lengths, ++ (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_passwords_lengths, ++ (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_sockets_lengths, (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_wrappers_lengths, (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_ssl_cas_lengths, (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_ssl_capaths_lengths, ++ (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_ssl_certs_lengths, ++ (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_ssl_ciphers_lengths, ++ (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_ssl_keys_lengths, (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_default_files_lengths, ++ (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_tgt_default_groups_lengths, ++ (uint) (sizeof(uint) * share->all_link_count), ++ &tmp_static_link_ids_lengths, ++ (uint) (sizeof(uint) * share->all_link_count), ++ ++ &tmp_tgt_ports, (uint) (sizeof(long) * share->all_link_count), ++ &tmp_tgt_ssl_vscs, (uint) (sizeof(long) * share->all_link_count), + &tmp_monitoring_binlog_pos_at_failing, +- sizeof(long) * share->all_link_count, +- &tmp_link_statuses, sizeof(long) * share->all_link_count, +- +- &tmp_server_names_char, sizeof(char) * +- (share_alter->tmp_server_names_charlen + 1), +- &tmp_tgt_table_names_char, sizeof(char) * +- (share_alter->tmp_tgt_table_names_charlen + 1), +- &tmp_tgt_dbs_char, sizeof(char) * +- (share_alter->tmp_tgt_dbs_charlen + 1), +- &tmp_tgt_hosts_char, sizeof(char) * +- (share_alter->tmp_tgt_hosts_charlen + 1), +- &tmp_tgt_usernames_char, sizeof(char) * +- (share_alter->tmp_tgt_usernames_charlen + 1), +- &tmp_tgt_passwords_char, sizeof(char) * +- (share_alter->tmp_tgt_passwords_charlen + 1), +- &tmp_tgt_sockets_char, sizeof(char) * +- (share_alter->tmp_tgt_sockets_charlen + 1), +- &tmp_tgt_wrappers_char, sizeof(char) * +- (share_alter->tmp_tgt_wrappers_charlen + 1), +- &tmp_tgt_ssl_cas_char, sizeof(char) * +- (share_alter->tmp_tgt_ssl_cas_charlen + 1), +- &tmp_tgt_ssl_capaths_char, sizeof(char) * +- (share_alter->tmp_tgt_ssl_capaths_charlen + 1), +- &tmp_tgt_ssl_certs_char, sizeof(char) * +- (share_alter->tmp_tgt_ssl_certs_charlen + 1), +- &tmp_tgt_ssl_ciphers_char, sizeof(char) * +- (share_alter->tmp_tgt_ssl_ciphers_charlen + 1), +- &tmp_tgt_ssl_keys_char, sizeof(char) * +- (share_alter->tmp_tgt_ssl_keys_charlen + 1), +- &tmp_tgt_default_files_char, sizeof(char) * +- (share_alter->tmp_tgt_default_files_charlen + 1), +- &tmp_tgt_default_groups_char, sizeof(char) * +- (share_alter->tmp_tgt_default_groups_charlen + 1), +- &tmp_static_link_ids_char, sizeof(char) * +- (share_alter->tmp_static_link_ids_charlen + 1), ++ (uint) (sizeof(long) * share->all_link_count), ++ &tmp_link_statuses, (uint) (sizeof(long) * share->all_link_count), ++ ++ &tmp_server_names_char, (uint) (sizeof(char) * ++ (share_alter->tmp_server_names_charlen + 1)), ++ &tmp_tgt_table_names_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_table_names_charlen + 1)), ++ &tmp_tgt_dbs_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_dbs_charlen + 1)), ++ &tmp_tgt_hosts_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_hosts_charlen + 1)), ++ &tmp_tgt_usernames_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_usernames_charlen + 1)), ++ &tmp_tgt_passwords_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_passwords_charlen + 1)), ++ &tmp_tgt_sockets_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_sockets_charlen + 1)), ++ &tmp_tgt_wrappers_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_wrappers_charlen + 1)), ++ &tmp_tgt_ssl_cas_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_ssl_cas_charlen + 1)), ++ &tmp_tgt_ssl_capaths_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_ssl_capaths_charlen + 1)), ++ &tmp_tgt_ssl_certs_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_ssl_certs_charlen + 1)), ++ &tmp_tgt_ssl_ciphers_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_ssl_ciphers_charlen + 1)), ++ &tmp_tgt_ssl_keys_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_ssl_keys_charlen + 1)), ++ &tmp_tgt_default_files_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_default_files_charlen + 1)), ++ &tmp_tgt_default_groups_char, (uint) (sizeof(char) * ++ (share_alter->tmp_tgt_default_groups_charlen + 1)), ++ &tmp_static_link_ids_char, (uint) (sizeof(char) * ++ (share_alter->tmp_static_link_ids_charlen + 1)), + NullS)) + ) { + error_num = HA_ERR_OUT_OF_MEM; +@@ -1201,10 +1210,10 @@ SPIDER_TRX *spider_get_trx( + DBUG_PRINT("info",("spider create new trx")); + if (!(trx = (SPIDER_TRX *) + spider_bulk_malloc(NULL, 56, MYF(MY_WME | MY_ZEROFILL), +- &trx, sizeof(*trx), +- &tmp_share, sizeof(SPIDER_SHARE), +- &udf_table_mutexes, sizeof(pthread_mutex_t) * +- spider_param_udf_table_lock_mutex_count(), ++ &trx, (uint) (sizeof(*trx)), ++ &tmp_share, (uint) (sizeof(SPIDER_SHARE)), ++ &udf_table_mutexes, (uint) (sizeof(pthread_mutex_t) * ++ spider_param_udf_table_lock_mutex_count()), + NullS)) + ) + goto error_alloc_trx; +@@ -4203,10 +4212,10 @@ int spider_create_trx_ha( + { + if (!(trx_ha = (SPIDER_TRX_HA *) + spider_bulk_malloc(spider_current_trx, 58, MYF(MY_WME), +- &trx_ha, sizeof(SPIDER_TRX_HA), +- &tmp_name, sizeof(char *) * (share->table_name_length + 1), +- &conn_link_idx, sizeof(uint) * share->link_count, +- &conn_can_fo, sizeof(uchar) * share->link_bitmap_size, ++ &trx_ha, (uint) (sizeof(SPIDER_TRX_HA)), ++ &tmp_name, (uint) (sizeof(char *) * (share->table_name_length + 1)), ++ &conn_link_idx, (uint) (sizeof(uint) * share->link_count), ++ &conn_can_fo, (uint) (sizeof(uchar) * share->link_bitmap_size), + NullS)) + ) { + DBUG_RETURN(HA_ERR_OUT_OF_MEM); +-- +2.17.2 + diff --git a/mariadb.spec b/mariadb.spec index 916ddbc..4276aeb 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,10 +3,10 @@ %global pkgnamepatch mariadb # Regression tests may take a long time (many cores recommended), skip them by -%{!?runselftest:%global runselftest 0} +%{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail, but 0 on production ready build -%global ignore_testsuite_result 0 +%global ignore_testsuite_result 1 # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run @@ -158,7 +158,7 @@ Name: mariadb Version: 10.4.6 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -204,6 +204,8 @@ Patch9: %{pkgnamepatch}-ownsetup.patch Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch # Patch11: Workaround for "chown 0" with priviledges dropped to "mysql" user Patch11: %{pkgnamepatch}-auth_pam_tool_dir.patch +# Patch13: Fix Spider code on armv7hl; https://jira.mariadb.org/browse/MDEV-18737 +Patch13: %{pkgnamepatch}-spider_on_armv7hl.patch BuildRequires: cmake gcc-c++ BuildRequires: multilib-rpm-config @@ -712,6 +714,7 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \; %patch9 -p1 #%patch10 -p1 %patch11 -p1 +%patch13 -p1 # workaround for upstream bug #56342 #rm mysql-test/t/ssl_8k_key-master.opt @@ -1595,6 +1598,9 @@ fi %endif %changelog +* Fri Jun 21 2019 Michal Schorm - 3:10.4.6-2 +- Apply critical patch for Spider SE on Armv7hl architecture + * Thu Jun 20 2019 Michal Schorm - 3:10.4.6-1 - Rebase to 10.4.6 From b0584894e408e62a543931d799ed2321feb91b30 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 20 Jul 2019 01:03:08 +0200 Subject: [PATCH 560/789] Update build macros --- mariadb.spec | 14 ++++++++------ rh-skipped-tests-base.list | 1 + 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index bbed684..ec815f3 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -762,6 +762,7 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py %build +%{set_build_flags} # fail quickly and obviously if user tries to build as root %if %runselftest @@ -773,7 +774,7 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py fi %endif -CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" +CFLAGS="$CFLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" # 10.3.15 debug builds need to ignore some warnings; reported upstream as https://jira.mariadb.org/browse/MDEV-19740 %if %{with debug} @@ -787,7 +788,8 @@ CFLAGS="$CFLAGS -Wno-error=shift-count-overflow -Wno-error=format" %{?with_debug: CFLAGS="$CFLAGS -O0 -g"} CXXFLAGS="$CFLAGS" -export CFLAGS CXXFLAGS +CPPFLAGS="$CFLAGS" +export CFLAGS CXXFLAGS CPPFLAGS # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX @@ -856,7 +858,7 @@ export CFLAGS CXXFLAGS # cmake ./ -LAH for List Advanced Help cmake ./ -L -make %{?_smp_mflags} VERBOSE=1 +%make_build VERBOSE=1 # build selinux policy @@ -866,7 +868,7 @@ make -f /usr/share/selinux/devel/Makefile %{name}-server-galera.pp %endif %install -make DESTDIR=%{buildroot} install +%make_install # multilib header support #1625157 for header in mysql/server/my_config.h mysql/server/private/config.h; do @@ -1180,8 +1182,8 @@ export MTR_BUILD_THREAD=%{__isa_bits} fi ) -%endif # if dry run -%endif # with test +%endif +%endif diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index cc1d628..23b776e 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -54,3 +54,4 @@ encryption.innodb-redo-badkey : # Fails from 10.3.16 main.mysql : +main.func_math : From 4035a62c624d6359f314109bf80640f4996dd2c8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 25 Jul 2019 15:53:07 +0000 Subject: [PATCH 561/789] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index ec815f3..caac1d0 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -153,7 +153,7 @@ Name: mariadb Version: 10.3.16 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1580,6 +1580,9 @@ fi %endif %changelog +* Thu Jul 25 2019 Fedora Release Engineering - 3:10.3.16-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Tue Jun 18 2019 Michal Schorm - 10.3.16-1 - Rebase to 10.3.16 - Added patch for armv7hl builds of spider SE From 0f8030126101a3d1e52edac5dabcbf1c0301df45 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 1 Aug 2019 20:42:47 +0200 Subject: [PATCH 562/789] Rebase to 10.3.17 --- mariadb.spec | 13 ++++++---- rh-skipped-tests-arm.list | 51 +++++++++++++++----------------------- rh-skipped-tests-base.list | 37 +++++++-------------------- rh-skipped-tests-ppc.list | 23 ++--------------- rh-skipped-tests-s390.list | 13 ++++------ sources | 2 +- 6 files changed, 45 insertions(+), 94 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index caac1d0..ca76b20 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -6,12 +6,12 @@ %{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail, but 0 on production ready build -%global ignore_testsuite_result 1 +%global ignore_testsuite_result 0 # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.3.16 +%global last_tested_version 10.3.17 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -110,7 +110,7 @@ %bcond_without unbundled_pcre %else %bcond_with unbundled_pcre -%global pcre_bundled_version 8.42 +%global pcre_bundled_version 8.43 %endif # Use main python interpretter version @@ -152,8 +152,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.3.16 -Release: 2%{?with_debug:.debug}%{?dist} +Version: 10.3.17 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1580,6 +1580,9 @@ fi %endif %changelog +* Thu Aug 01 2019 Michal Schorm - 10.3.17-1 +- Rebase to 10.3.17 + * Thu Jul 25 2019 Fedora Release Engineering - 3:10.3.16-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index b05d1a8..e235e76 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -1,37 +1,26 @@ # Fails since 10.3.8, only on armv7hl versioning.auto_increment : -versioning.commit_id : -versioning.delete : -versioning.foreign : -versioning.insert : -versioning.insert2 : -versioning.select2 : -versioning.update : +versioning.commit_id : +versioning.delete : +versioning.foreign : +versioning.insert : +versioning.insert2 : +versioning.select2 : +versioning.update : +# Fails since 10.3.9, only on armv7hl +versioning.alter : +versioning.replace : +versioning.select : +versioning.truncate : +versioning.trx_id : +# Fails since 10.3.17, only on armv7hl +versioning.online : +versioning.partition : +versioning.replace : -# Fails since 10.3.8, on both armv7hl and aarch64 -mariabackup.system_versioning : - -# Fails since 10.3.9, on both armv7hl and aarch64 -disks.disks : -encryption.create_or_replace : -federated.federatedx_versioning : # Fails since 10.3.9, only on armv7hl -versioning.alter : -versioning.replace : -versioning.select : -versioning.truncate : -versioning.trx_id : +federated.federatedx_versioning : -# Fails since 10.3.9, only on aarch64 -innodb_gis.kill_server : -innodb_gis.rtree_search : -innodb.innodb_defrag_concurrent : -parts.partition_alter1_1_2_innodb : -parts.partition_alter1_2_innodb : -parts.partition_alter2_1_1_innodb : -parts.partition_alter2_1_2_innodb : -parts.partition_alter2_2_1_innodb : -parts.partition_alter2_2_2_innodb : -parts.partition_basic_innodb : -parts.part_supported_sql_func_innodb : +# Fails from 10.3.17 only on armv7hl +mariabackup.system_versioning : \ No newline at end of file diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 23b776e..8f26151 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -1,10 +1,9 @@ # The SSL test are failing correctly. Fro more explanation, see: # https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-84275 main.ssl_7937 : #1399847 -main.ssl_crl_clients : #1399847 main.ssl_8k_key : +main.ssl_crl : #1399847 -# perfschema.nesting : #1399847 perfschema.socket_summary_by_instance_func : #1399847 perfschema.socket_summary_by_event_name_func : @@ -23,35 +22,17 @@ sys_vars.slave_parallel_threads_basic : # Fails since 10.1.12 innodb.innodb_defrag_binlog : -# on x86_64 after 10.2.12 and 10.2.13 after some unidentified change in Rawhide buildroot -mroonga/storage.index_multiple_column_range_all_used_less_than : -mroonga/storage.index_multiple_column_range_all_used_less_than_or_equal : -mroonga/storage.index_multiple_column_range_partially_used_have_prefix_less_than : -mroonga/storage.index_multiple_column_range_partially_used_have_prefix_less_than_or_equal : -mroonga/storage.index_multiple_column_range_partially_used_no_prefix_less_than : -mroonga/storage.index_multiple_column_range_partially_used_no_prefix_less_than_or_equal : -mroonga/storage.optimization_order_limit_optimized_datetime_less_than : -mroonga/storage.optimization_order_limit_optimized_datetime_less_than_or_equal : - # Fails everywhere since 10.2.15 main.userstat : # Fails on x86_64 since 10.2.15 -rocksdb.bulk_load_errors : -rocksdb.index_merge_rocksdb : -rocksdb.index_merge_rocksdb2 : -rocksdb.read_only_tx : -rocksdb_rpl.mdev12179 : -rocksdb.shutdown : -rocksdb.2pc_group_commit : +rocksdb.bulk_load : +rocksdb.bulk_load_rev_cf : +rocksdb.bulk_load_rev_cf_and_data : +rocksdb.bulk_load_rev_data : -# Fails on ppc and arm since 10.2.15 -innodb_gis.rtree_compress2 : -parts.partition_alter4_innodb : +# Fails everywhere from 10.3.16 +main.mysql : -# Fails from 10.3.9 -encryption.innodb-redo-badkey : - -# Fails from 10.3.16 -main.mysql : -main.func_math : +# Fails everywhere from 10.3.17 +versioning.update-big : diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index dd5050c..53e80b8 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -1,21 +1,2 @@ -# 10.2.12 & 10.2.13 after some uninedtified Rawhide (and the forked f28) buildroot change -# failed: 1045: Access denied for user '.....'@'localhost' (using password: YES) -innodb.temporary_table_optimization : - -main.derived_cond_pushdown : -main.ps : - -# From 10.3.9 on ppc64le -encryption.create_or_replace : -main.select : -main.select_jcl6 : -main.select_pkeycache : -main.sp : -main.type_float : -main.type_newdecimal : -main.type_ranges : - -# 10.3.10 -parts.partition_alter1_2_innodb : -parts.partition_alter1_1_2_innodb : -innodb.innodb_defrag_concurrent : +# Fails from 10.3.17 +innodb.innodb_buffer_pool_resize : diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list index 00a20ae..2d82f8a 100644 --- a/rh-skipped-tests-s390.list +++ b/rh-skipped-tests-s390.list @@ -1,9 +1,6 @@ # Fails since 10.2.15 -disks.disks : - -# Fails since 10.3.9 -binlog.binlog_flush_binlogs_delete_domain : -handler.heap : -handler.interface : -innodb_fts.innodb_fts_misc : -rpl.rpl_gtid_delete_domain : +disks.disks : +# Fails since 10.3.17 +disks.disks_notemysql-test-run : +innodb.innodb_defrag_binlog : +innodb.trx_id_future : \ No newline at end of file diff --git a/sources b/sources index 0b9ac17..3829214 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.3.16.tar.gz) = b22a8c8fa0265f88962432ade71c3f0ec554f7d38042def832cfcb50f3aa1dd77a715c76706ffeae679b95438529b06e98b73b7e219f9c645980802027ec022f +SHA512 (mariadb-10.3.17.tar.gz) = 6fba995d8c284a12f19ee5635f5d69d8fa89fc314f512cd1764b2c4593933baf71a472ddce630463debd3bfbafa1cf5afee3f40d3c4062242f58cea16259561e From 38920fe23b78bf2f6944db72bb07f894a5ae7cdc Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 22 Aug 2019 16:31:37 +0200 Subject: [PATCH 563/789] Rebase to 10.4.7 --- mariadb-auth_pam_tool_dir.patch | 21 ++++++++++----------- mariadb.spec | 9 ++++++--- sources | 2 +- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/mariadb-auth_pam_tool_dir.patch b/mariadb-auth_pam_tool_dir.patch index 9c5692f..2122190 100644 --- a/mariadb-auth_pam_tool_dir.patch +++ b/mariadb-auth_pam_tool_dir.patch @@ -5,25 +5,24 @@ Thus "chown 0" will always fail Never parse 'ls' output! http://mywiki.wooledge.org/BashFAQ/087 ---- mariadb-10.4.6/scripts/mysql_install_db.sh 2019-06-18 00:00:32.000000000 +0200 -+++ mariadb-10.4.6/scripts/mysql_install_db.sh_patched 2019-06-20 01:41:43.250208187 +0200 -@@ -476,12 +476,15 @@ then +--- mariadb-10.4.7/scripts/mysql_install_db.sh 2019-07-30 13:32:16.000000000 +0200 ++++ mariadb-10.4.7/scripts/mysql_install_db.sh_patched 2019-08-22 16:29:28.341484925 +0200 +@@ -490,13 +490,16 @@ then fi if test -z "$srcdir" then -- chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" +- chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \ +- chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" - if test $? -ne 0 + if [ `stat "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" -c %u` -ne 0 ] then -- echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'." -- echo " It must be root, the PAM authentication plugin doesn't work otherwise.." -- echo -+ chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" ++ chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \ ++ chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" + if test $? -ne 0 + then -+ echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'." -+ echo " It must be root, the PAM authentication plugin doesn't work otherwise.." -+ echo + echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'." + echo " It must be root, the PAM authentication plugin doesn't work otherwise.." + echo + fi fi fi diff --git a/mariadb.spec b/mariadb.spec index 4276aeb..2093723 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -115,7 +115,7 @@ %bcond_without unbundled_pcre %else %bcond_with unbundled_pcre -%global pcre_bundled_version 8.42 +%global pcre_bundled_version 8.43 %endif # Use main python interpretter version @@ -157,8 +157,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.4.6 -Release: 2%{?with_debug:.debug}%{?dist} +Version: 10.4.7 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1598,6 +1598,9 @@ fi %endif %changelog +* Thu Aug 22 2019 Michal Schorm - 3:10.4.7-1 +- Rebase to 10.4.7 + * Fri Jun 21 2019 Michal Schorm - 3:10.4.6-2 - Apply critical patch for Spider SE on Armv7hl architecture diff --git a/sources b/sources index 952d959..f3d0b74 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.4.6.tar.gz) = b04c47f72de2473d7b5edd04b4785a1d7179bb1f429f30ba53ae6cfbbb413200d9803eff1072949b2e81fd7d2164ea34c68620d621d4181b913daa2293ae140c +SHA512 (mariadb-10.4.7.tar.gz) = cb8b5adaef1970b9c8f04db08c18660f8b3df87f699aa93c1bee9497b887ddf50fcf3a2aebbe21a5fc9dfcbd118d0192d7421512522d98eaf30a014822c2f7ce From 83045a588331b95a1e8febf33139767a26e10958 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 6 Sep 2019 04:31:21 +0200 Subject: [PATCH 564/789] Fix the debug build --- mariadb-debug_build.patch | 28 ++++++++++++++++++++++++++++ mariadb.spec | 16 +++++++--------- 2 files changed, 35 insertions(+), 9 deletions(-) create mode 100644 mariadb-debug_build.patch diff --git a/mariadb-debug_build.patch b/mariadb-debug_build.patch new file mode 100644 index 0000000..e3cfc69 --- /dev/null +++ b/mariadb-debug_build.patch @@ -0,0 +1,28 @@ +Remove the '-Werror' GCC compilation flag, so the debug build compilation won't crash on random warnings. + +'-Werror' is not your friend: +https://embeddedartistry.com/blog/2017/5/3/-werror-is-not-your-friend + +--- mariadb-10.3.17/cmake/maintainer.cmake 2019-07-28 02:18:30.000000000 +0200 ++++ mariadb-10.3.17/cmake/maintainer.cmake_patched 2019-09-03 13:41:49.082088685 +0200 +@@ -33,7 +33,6 @@ SET(MY_WARNING_FLAGS + -Wnon-virtual-dtor + -Wvla + -Wwrite-strings +- -Werror + ) + + IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_C_COMPILER_VERSION VERSION_LESS "6.0.0") +--- mariadb-10.3.17/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake 2019-07-28 02:18:32.000000000 +0200 ++++ mariadb-10.3.17/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake_patched 2019-09-03 13:53:51.813324055 +0200 +@@ -163,8 +163,8 @@ if (NOT CMAKE_CXX_COMPILER_ID STREQUAL C + endif () + + ## always want these in debug builds +-set(CMAKE_C_FLAGS_DEBUG "-Wall -Werror ${CMAKE_C_FLAGS_DEBUG}") +-set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Werror ${CMAKE_CXX_FLAGS_DEBUG}") ++set(CMAKE_C_FLAGS_DEBUG "-Wall ${CMAKE_C_FLAGS_DEBUG}") ++set(CMAKE_CXX_FLAGS_DEBUG "-Wall ${CMAKE_CXX_FLAGS_DEBUG}") + + # pick language dialect + set(CMAKE_C_FLAGS "-std=c99 ${CMAKE_C_FLAGS}") diff --git a/mariadb.spec b/mariadb.spec index ca76b20..08bef16 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -153,7 +153,7 @@ Name: mariadb Version: 10.3.17 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -203,6 +203,8 @@ Patch11: %{pkgnamepatch}-pcdir.patch Patch12: %{pkgnamepatch}-mysqld_safe.patch # Patch13: Fix Spider code on armv7hl; https://jira.mariadb.org/browse/MDEV-18737 Patch13: %{pkgnamepatch}-spider_on_armv7hl.patch +# Patch14: Remove the '-Werror' flag so the debug build won't crash on random warnings +Patch14: %{pkgnamepatch}-debug_build.patch BuildRequires: cmake gcc-c++ @@ -701,6 +703,7 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \; %patch11 -p1 %patch12 -p1 %patch13 -p1 +%patch14 -p1 # workaround for upstream bug #56342 #rm mysql-test/t/ssl_8k_key-master.opt @@ -776,14 +779,6 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py CFLAGS="$CFLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" -# 10.3.15 debug builds need to ignore some warnings; reported upstream as https://jira.mariadb.org/browse/MDEV-19740 -%if %{with debug} -# x86_64 -CFLAGS="$CFLAGS -Wno-error=deprecated-copy -Wno-error=pessimizing-move -Wno-error=maybe-uninitialized -Wno-error=format-overflow" -# armv7hl -CFLAGS="$CFLAGS -Wno-error=shift-count-overflow -Wno-error=format" -%endif - # Override all optimization flags when making a debug build %{?with_debug: CFLAGS="$CFLAGS -O0 -g"} @@ -1580,6 +1575,9 @@ fi %endif %changelog +* Fri Sep 06 2019 Michal Schorm - 10.3.17-2 +- Fix the debug build + * Thu Aug 01 2019 Michal Schorm - 10.3.17-1 - Rebase to 10.3.17 From 59f05ba2ef0bea9be8f235e6f09e69d6a4dc6d2d Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 11 Sep 2019 13:00:52 +0200 Subject: [PATCH 565/789] Disable building of the ed25519 client plugin. From now on it will be shipped by 'mariadb-connector-c' package --- mariadb.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 08bef16..c784e1f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -153,7 +153,7 @@ Name: mariadb Version: 10.3.17 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -842,6 +842,7 @@ export CFLAGS CXXFLAGS CPPFLAGS -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ + -DPLUGIN_CLIENT_ED25519=OFF \ -DPYTHON_SHEBANG=%{python_path} \ -DPLUGIN_CACHING_SHA2_PASSWORD=%{?with_clibrary:DYNAMIC}%{!?with_clibrary:OFF} \ -DPLUGIN_AWS_KEY_MANAGEMENT=NO \ @@ -1575,6 +1576,10 @@ fi %endif %changelog +* Wed Sep 11 2019 Michal Schorm - 10.3.17-3 +- Disable building of the ed25519 client plugin. + From now on it will be shipped by 'mariadb-connector-c' package + * Fri Sep 06 2019 Michal Schorm - 10.3.17-2 - Fix the debug build From c870dc4d2c77596ee3b72b5ce9a5047109518684 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 17 Sep 2019 14:00:40 +0200 Subject: [PATCH 566/789] Extend the testsuite execution plan --- mariadb.spec | 7 +++++-- rh-skipped-tests-base.list | 3 +++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index c784e1f..192ca5f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1149,7 +1149,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} set -ex cd mysql-test - export common_testsuite_arguments=" --parallel=auto --force --retry=1 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --force-restart --shutdown-timeout=60 --max-test-fail=5 " + export common_testsuite_arguments=" --parallel=auto --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --force-restart --shutdown-timeout=60 --max-test-fail=5 " # If full testsuite has already been run on this version and we don't explicitly want the full testsuite to be run if [[ "%{last_tested_version}" == "%{version}" ]] && [[ %{force_run_testsuite} -eq 0 ]] @@ -1170,7 +1170,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} --skip-test-list=unstable-tests %endif # Second run for the SPIDER suites that fail with SCA (ssl self signed certificate) - perl ./mysql-test-run.pl $common_testsuite_arguments --skip-ssl --big-test --mem --suite=spider,spider/bg \ + perl ./mysql-test-run.pl $common_testsuite_arguments --skip-ssl --big-test --mem --suite=spider,spider/bg,spider/bugfix,spider/handler \ %if %{ignore_testsuite_result} --max-test-fail=999 || : %endif @@ -1178,6 +1178,9 @@ export MTR_BUILD_THREAD=%{__isa_bits} fi ) +# NOTE: the Spider SE has 2 more hidden testsuites "oracle" and "oracle2". +# however, all of the tests fail with: "failed: 12521: Can't use wrapper 'oracle' for SQL connection" + %endif %endif diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 8f26151..eb84580 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -36,3 +36,6 @@ main.mysql : # Fails everywhere from 10.3.17 versioning.update-big : + +# Expected to fail, the plugin is not build with server, but 'mariadb-connector-c' instead +plugins.auth_ed25519 : \ No newline at end of file From 72888c223ea885e3717eeef00e3cb6f8b2283790 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 11 Sep 2019 13:00:52 +0200 Subject: [PATCH 567/789] Disable building of the ed25519 client plugin. From now on it will be shipped by 'mariadb-connector-c' package --- mariadb.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 2093723..5417c70 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -158,7 +158,7 @@ Name: mariadb Version: 10.4.7 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -853,6 +853,7 @@ export CFLAGS CXXFLAGS -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ -DWITH_CASSANDRA=%{?with_cassandra:TRUE}%{!?with_cassandra:FALSE} \ + -DPLUGIN_CLIENT_ED25519=OFF \ -DPYTHON_SHEBANG=%{python_path} \ -DPLUGIN_CACHING_SHA2_PASSWORD=%{?with_clibrary:DYNAMIC}%{!?with_clibrary:OFF} \ -DPLUGIN_AWS_KEY_MANAGEMENT=NO \ @@ -1598,6 +1599,10 @@ fi %endif %changelog +* Wed Sep 25 2019 Michal Schorm - 3:10.4.7-2 +- Disable building of the ed25519 client plugin. + From now on it will be shipped by 'mariadb-connector-c' package + * Thu Aug 22 2019 Michal Schorm - 3:10.4.7-1 - Rebase to 10.4.7 From a0e96d6af736aaac8127707e8af4fc4ea6a31bc2 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 25 Sep 2019 14:40:09 +0200 Subject: [PATCH 568/789] Disable building of bench subpackage. Upstream no longer maintain it --- mariadb.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 5417c70..ef7fe21 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -87,7 +87,7 @@ %bcond_without backup # Upstream no longer maintain and pack the bench subpackage %if 0%{?fedora} -%bcond_without bench +%bcond_with bench %else %bcond_with bench %endif @@ -1602,6 +1602,7 @@ fi * Wed Sep 25 2019 Michal Schorm - 3:10.4.7-2 - Disable building of the ed25519 client plugin. From now on it will be shipped by 'mariadb-connector-c' package +- Disable building of bench subpackage. Upstream no longer maintain it * Thu Aug 22 2019 Michal Schorm - 3:10.4.7-1 - Rebase to 10.4.7 From f7802f9b05122ed91777a8c74c85603bea4c37ac Mon Sep 17 00:00:00 2001 From: Carl George Date: Thu, 31 Oct 2019 15:47:00 -0500 Subject: [PATCH 569/789] Rebase to 10.3.18 --- mariadb-spider_on_armv7hl.patch | 113 +++++++++++++++----------------- mariadb.spec | 7 +- sources | 2 +- 3 files changed, 58 insertions(+), 64 deletions(-) diff --git a/mariadb-spider_on_armv7hl.patch b/mariadb-spider_on_armv7hl.patch index 2278481..e4e6694 100644 --- a/mariadb-spider_on_armv7hl.patch +++ b/mariadb-spider_on_armv7hl.patch @@ -1,16 +1,16 @@ Fix for: https://jira.mariadb.org/browse/MDEV-18737 Taken from: -https://github.com/MariaDB/server/commit/80f9bd3d9c4f1b6367487a88e4ca816fcb8ce186 +https://github.com/MariaDB/server/commit/ddce85907611e0533d6226de7f53e751cf173f6a -From 80f9bd3d9c4f1b6367487a88e4ca816fcb8ce186 Mon Sep 17 00:00:00 2001 -From: Kentoku -Date: Tue, 18 Jun 2019 01:43:07 +0900 -Subject: [PATCH] MDEV-18737 Spider "Out of memory" on armv7hl +From 3faf5d4c1c3274a20a92cb3eb7eb2de6140894d6 Mon Sep 17 00:00:00 2001 +From: Kentoku SHIBA +Date: Thu, 25 Jul 2019 22:52:45 +0900 +Subject: [PATCH] MDEV-18737 Spider "Out of memory" on armv7hl (#1363) This is an issue of memory alignment of variable argument when calling my_multi_malloc(). The fix is strictly casting allocating size to "uint". @@ -20,20 +20,20 @@ The fix is strictly casting allocating size to "uint". storage/spider/spd_copy_tables.cc | 25 ++-- storage/spider/spd_db_conn.cc | 13 +- storage/spider/spd_db_handlersocket.cc | 4 +- - storage/spider/spd_db_mysql.cc | 12 +- + storage/spider/spd_db_mysql.cc | 10 +- storage/spider/spd_db_oracle.cc | 24 ++-- storage/spider/spd_direct_sql.cc | 78 +++++------ storage/spider/spd_group_by_handler.cc | 7 +- storage/spider/spd_ping_table.cc | 36 +++-- storage/spider/spd_table.cc | 134 ++++++++++--------- storage/spider/spd_trx.cc | 173 +++++++++++++------------ - 12 files changed, 328 insertions(+), 283 deletions(-) + 12 files changed, 327 insertions(+), 282 deletions(-) diff --git a/storage/spider/ha_spider.cc b/storage/spider/ha_spider.cc -index 33e81201fff..d3bc24dc0e0 100644 +index 967d2c6e5de..e04f0c8ef55 100644 --- a/storage/spider/ha_spider.cc +++ b/storage/spider/ha_spider.cc -@@ -395,15 +395,24 @@ int ha_spider::open( +@@ -394,15 +394,24 @@ int ha_spider::open( { if (!(searched_bitmap = (uchar *) spider_bulk_malloc(spider_current_trx, 15, MYF(MY_WME), @@ -67,7 +67,7 @@ index 33e81201fff..d3bc24dc0e0 100644 NullS)) ) { error_num = HA_ERR_OUT_OF_MEM; -@@ -11389,7 +11398,7 @@ int ha_spider::create( +@@ -11317,7 +11326,7 @@ int ha_spider::create( if (!(tmp_share.static_key_cardinality = (longlong *) spider_bulk_malloc(spider_current_trx, 246, MYF(MY_WME), &tmp_share.static_key_cardinality, @@ -76,7 +76,7 @@ index 33e81201fff..d3bc24dc0e0 100644 NullS)) ) { error_num = HA_ERR_OUT_OF_MEM; -@@ -12198,7 +12207,8 @@ int ha_spider::info_push( +@@ -12126,7 +12135,8 @@ int ha_spider::info_push( spider_free(spider_current_trx, hs_pushed_ret_fields, MYF(0)); if (!(hs_pushed_ret_fields = (uint32 *) spider_bulk_malloc(spider_current_trx, 17, MYF(MY_WME), @@ -86,7 +86,7 @@ index 33e81201fff..d3bc24dc0e0 100644 NullS)) ) { DBUG_RETURN(HA_ERR_OUT_OF_MEM); -@@ -13762,8 +13772,8 @@ SPIDER_BULK_ACCESS_LINK *ha_spider::create_bulk_access_link() +@@ -13690,8 +13700,8 @@ SPIDER_BULK_ACCESS_LINK *ha_spider::create_bulk_access_link() */ if (!(bulk_access_link = (SPIDER_BULK_ACCESS_LINK *) spider_bulk_malloc(spider_current_trx, 168, MYF(MY_WME), @@ -98,10 +98,10 @@ index 33e81201fff..d3bc24dc0e0 100644 ) { goto error_bulk_malloc; diff --git a/storage/spider/spd_conn.cc b/storage/spider/spd_conn.cc -index b1f49f4f250..2f372d8f692 100644 +index 911c9bc95ac..f8ca9108061 100644 --- a/storage/spider/spd_conn.cc +++ b/storage/spider/spd_conn.cc -@@ -472,30 +472,30 @@ SPIDER_CONN *spider_create_conn( +@@ -470,30 +470,30 @@ SPIDER_CONN *spider_create_conn( #endif if (!(conn = (SPIDER_CONN *) spider_bulk_malloc(spider_current_trx, 18, MYF(MY_WME | MY_ZEROFILL), @@ -147,7 +147,7 @@ index b1f49f4f250..2f372d8f692 100644 NullS)) ) { *error_num = HA_ERR_OUT_OF_MEM; -@@ -594,13 +594,13 @@ SPIDER_CONN *spider_create_conn( +@@ -592,13 +592,13 @@ SPIDER_CONN *spider_create_conn( } else if (conn_kind == SPIDER_CONN_KIND_HS_READ) { if (!(conn = (SPIDER_CONN *) spider_bulk_malloc(spider_current_trx, 19, MYF(MY_WME | MY_ZEROFILL), @@ -167,7 +167,7 @@ index b1f49f4f250..2f372d8f692 100644 NullS)) ) { *error_num = HA_ERR_OUT_OF_MEM; -@@ -636,13 +636,13 @@ SPIDER_CONN *spider_create_conn( +@@ -634,13 +634,13 @@ SPIDER_CONN *spider_create_conn( } else { if (!(conn = (SPIDER_CONN *) spider_bulk_malloc(spider_current_trx, 20, MYF(MY_WME | MY_ZEROFILL), @@ -187,7 +187,7 @@ index b1f49f4f250..2f372d8f692 100644 NullS)) ) { *error_num = HA_ERR_OUT_OF_MEM; -@@ -3648,13 +3648,16 @@ int spider_create_mon_threads( +@@ -3634,13 +3634,16 @@ int spider_create_mon_threads( } if (!(share->bg_mon_thds = (THD **) spider_bulk_malloc(spider_current_trx, 23, MYF(MY_WME | MY_ZEROFILL), @@ -263,10 +263,10 @@ index 13c53220b16..1a472e2c12b 100644 ) { my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); diff --git a/storage/spider/spd_db_conn.cc b/storage/spider/spd_db_conn.cc -index f3d607cd6dc..6d3a88a55db 100644 +index cc4599ce0b3..f7178293b05 100644 --- a/storage/spider/spd_db_conn.cc +++ b/storage/spider/spd_db_conn.cc -@@ -2683,7 +2683,8 @@ int spider_db_fetch_for_item_sum_func( +@@ -2643,7 +2643,8 @@ int spider_db_fetch_for_item_sum_func( if (!spider->direct_aggregate_item_first) { if (!spider_bulk_malloc(spider_current_trx, 240, MYF(MY_WME), @@ -276,7 +276,7 @@ index f3d607cd6dc..6d3a88a55db 100644 NullS) ) { DBUG_RETURN(HA_ERR_OUT_OF_MEM); -@@ -2702,7 +2703,7 @@ int spider_db_fetch_for_item_sum_func( +@@ -2662,7 +2663,7 @@ int spider_db_fetch_for_item_sum_func( { if (!spider_bulk_malloc(spider_current_trx, 241, MYF(MY_WME), &spider->direct_aggregate_item_current->next, @@ -285,7 +285,7 @@ index f3d607cd6dc..6d3a88a55db 100644 ) { DBUG_RETURN(HA_ERR_OUT_OF_MEM); } -@@ -4074,8 +4075,8 @@ int spider_db_store_result( +@@ -4034,8 +4035,8 @@ int spider_db_store_result( current->field_count = field_count; if (!(position = (SPIDER_POSITION *) spider_bulk_malloc(spider_current_trx, 7, MYF(MY_WME | MY_ZEROFILL), @@ -296,7 +296,7 @@ index f3d607cd6dc..6d3a88a55db 100644 NullS)) ) DBUG_RETURN(HA_ERR_OUT_OF_MEM); -@@ -10948,8 +10949,8 @@ int spider_db_udf_copy_tables( +@@ -10814,8 +10815,8 @@ int spider_db_udf_copy_tables( DBUG_ENTER("spider_db_udf_copy_tables"); if (!(last_row_pos = (ulong *) spider_bulk_malloc(spider_current_trx, 30, MYF(MY_WME), @@ -308,7 +308,7 @@ index f3d607cd6dc..6d3a88a55db 100644 ) { my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); diff --git a/storage/spider/spd_db_handlersocket.cc b/storage/spider/spd_db_handlersocket.cc -index ac81525092b..27257ee08e6 100644 +index 1e42838f40a..1e88ad4a59a 100644 --- a/storage/spider/spd_db_handlersocket.cc +++ b/storage/spider/spd_db_handlersocket.cc @@ -505,8 +505,8 @@ SPIDER_DB_ROW *spider_db_handlersocket_row::clone() @@ -323,10 +323,10 @@ index ac81525092b..27257ee08e6 100644 ) { delete clone_row; diff --git a/storage/spider/spd_db_mysql.cc b/storage/spider/spd_db_mysql.cc -index 58351195a61..da2052ad79e 100644 +index 1b62b4a9bd5..947a614f11e 100644 --- a/storage/spider/spd_db_mysql.cc +++ b/storage/spider/spd_db_mysql.cc -@@ -537,9 +537,9 @@ SPIDER_DB_ROW *spider_db_mbase_row::clone() +@@ -523,9 +523,9 @@ SPIDER_DB_ROW *spider_db_mbase_row::clone() row_size = record_size + field_count; } if (!spider_bulk_malloc(spider_current_trx, 29, MYF(MY_WME), @@ -339,16 +339,7 @@ index 58351195a61..da2052ad79e 100644 NullS) ) { delete clone_row; -@@ -5473,7 +5473,7 @@ int spider_db_mbase_util::append_tables_top_down( - int error_num; - uint outer_join_backup; - TABLE_LIST *cur_table_list, *prev_table_list = NULL, *cond_table_list = NULL; -- bool first; -+ bool first = TRUE; - DBUG_ENTER("spider_db_mbase_util::append_tables_top_down"); - DBUG_PRINT("info",("spider this=%p", this)); - if ( -@@ -13786,7 +13786,7 @@ int spider_mbase_handler::init_union_table_name_pos() +@@ -13519,7 +13519,7 @@ int spider_mbase_handler::init_union_table_name_pos() if (!union_table_name_pos_first) { if (!spider_bulk_malloc(spider_current_trx, 236, MYF(MY_WME), @@ -357,7 +348,7 @@ index 58351195a61..da2052ad79e 100644 NullS) ) { DBUG_RETURN(HA_ERR_OUT_OF_MEM); -@@ -13807,7 +13807,7 @@ int spider_mbase_handler::set_union_table_name_pos() +@@ -13540,7 +13540,7 @@ int spider_mbase_handler::set_union_table_name_pos() if (!union_table_name_pos_current->next) { if (!spider_bulk_malloc(spider_current_trx, 237, MYF(MY_WME), @@ -367,7 +358,7 @@ index 58351195a61..da2052ad79e 100644 ) { DBUG_RETURN(HA_ERR_OUT_OF_MEM); diff --git a/storage/spider/spd_db_oracle.cc b/storage/spider/spd_db_oracle.cc -index 773c6b90ed9..0c74415f6b2 100644 +index 08d7d3e083d..d869afc61f4 100644 --- a/storage/spider/spd_db_oracle.cc +++ b/storage/spider/spd_db_oracle.cc @@ -588,16 +588,16 @@ int spider_db_oracle_row::init() @@ -397,7 +388,7 @@ index 773c6b90ed9..0c74415f6b2 100644 NullS) ) || !(val_str = new spider_string[field_count]) -@@ -12519,7 +12519,7 @@ int spider_oracle_handler::init_union_table_name_pos() +@@ -12487,7 +12487,7 @@ int spider_oracle_handler::init_union_table_name_pos() if (!union_table_name_pos_first) { if (!spider_bulk_malloc(spider_current_trx, 238, MYF(MY_WME), @@ -406,7 +397,7 @@ index 773c6b90ed9..0c74415f6b2 100644 NullS) ) { DBUG_RETURN(HA_ERR_OUT_OF_MEM); -@@ -12540,7 +12540,7 @@ int spider_oracle_handler::set_union_table_name_pos() +@@ -12508,7 +12508,7 @@ int spider_oracle_handler::set_union_table_name_pos() if (!union_table_name_pos_current->next) { if (!spider_bulk_malloc(spider_current_trx, 239, MYF(MY_WME), @@ -624,10 +615,10 @@ index 431d46063c3..60e36fc24fb 100644 ) { my_error(HA_ERR_OUT_OF_MEM, MYF(0)); diff --git a/storage/spider/spd_table.cc b/storage/spider/spd_table.cc -index 723beb0775e..fe628f55d16 100644 +index 83c5a37555f..5bae895570d 100644 --- a/storage/spider/spd_table.cc +++ b/storage/spider/spd_table.cc -@@ -1211,8 +1211,8 @@ int spider_create_string_list( +@@ -1209,8 +1209,8 @@ int spider_create_string_list( if (!(*string_list = (char**) spider_bulk_malloc(spider_current_trx, 37, MYF(MY_WME | MY_ZEROFILL), @@ -638,7 +629,7 @@ index 723beb0775e..fe628f55d16 100644 NullS)) ) { my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -1330,7 +1330,7 @@ int spider_create_long_list( +@@ -1328,7 +1328,7 @@ int spider_create_long_list( if (!(*long_list = (long*) spider_bulk_malloc(spider_current_trx, 38, MYF(MY_WME | MY_ZEROFILL), @@ -647,7 +638,7 @@ index 723beb0775e..fe628f55d16 100644 NullS)) ) { my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -1414,7 +1414,7 @@ int spider_create_longlong_list( +@@ -1412,7 +1412,7 @@ int spider_create_longlong_list( if (!(*longlong_list = (longlong *) spider_bulk_malloc(spider_current_trx, 39, MYF(MY_WME | MY_ZEROFILL), @@ -656,7 +647,7 @@ index 723beb0775e..fe628f55d16 100644 NullS)) ) { my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -1485,8 +1485,8 @@ int spider_increase_string_list( +@@ -1483,8 +1483,8 @@ int spider_increase_string_list( if (!(tmp_str_list = (char**) spider_bulk_malloc(spider_current_trx, 40, MYF(MY_WME | MY_ZEROFILL), @@ -667,7 +658,7 @@ index 723beb0775e..fe628f55d16 100644 NullS)) ) { my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -1548,8 +1548,8 @@ int spider_increase_null_string_list( +@@ -1546,8 +1546,8 @@ int spider_increase_null_string_list( if (!(tmp_str_list = (char**) spider_bulk_malloc(spider_current_trx, 247, MYF(MY_WME | MY_ZEROFILL), @@ -678,7 +669,7 @@ index 723beb0775e..fe628f55d16 100644 NullS)) ) { my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -1606,7 +1606,7 @@ int spider_increase_long_list( +@@ -1604,7 +1604,7 @@ int spider_increase_long_list( if (!(tmp_long_list = (long*) spider_bulk_malloc(spider_current_trx, 41, MYF(MY_WME | MY_ZEROFILL), @@ -687,7 +678,7 @@ index 723beb0775e..fe628f55d16 100644 NullS)) ) { my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -1651,7 +1651,7 @@ int spider_increase_longlong_list( +@@ -1649,7 +1649,7 @@ int spider_increase_longlong_list( if (!(tmp_longlong_list = (longlong*) spider_bulk_malloc(spider_current_trx, 42, MYF(MY_WME | MY_ZEROFILL), @@ -696,7 +687,7 @@ index 723beb0775e..fe628f55d16 100644 NullS)) ) { my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -2974,17 +2974,17 @@ int spider_parse_connect_info( +@@ -2972,17 +2972,17 @@ int spider_parse_connect_info( if (!(share_alter->tmp_server_names = (char **) spider_bulk_malloc(spider_current_trx, 43, MYF(MY_WME | MY_ZEROFILL), &share_alter->tmp_server_names, @@ -720,7 +711,7 @@ index 723beb0775e..fe628f55d16 100644 NullS)) ) { error_num = HA_ERR_OUT_OF_MEM; -@@ -4388,13 +4388,17 @@ SPIDER_SHARE *spider_create_share( +@@ -4383,13 +4383,17 @@ SPIDER_SHARE *spider_create_share( bitmap_size = spider_bitmap_size(table_share->fields); if (!(share = (SPIDER_SHARE *) spider_bulk_malloc(spider_current_trx, 46, MYF(MY_WME | MY_ZEROFILL), @@ -745,7 +736,7 @@ index 723beb0775e..fe628f55d16 100644 NullS)) ) { *error_num = HA_ERR_OUT_OF_MEM; -@@ -5921,8 +5925,8 @@ SPIDER_LGTM_TBLHND_SHARE *spider_get_lgtm_tblhnd_share( +@@ -5907,8 +5911,8 @@ SPIDER_LGTM_TBLHND_SHARE *spider_get_lgtm_tblhnd_share( DBUG_PRINT("info",("spider create new lgtm tblhnd share")); if (!(lgtm_tblhnd_share = (SPIDER_LGTM_TBLHND_SHARE *) spider_bulk_malloc(spider_current_trx, 244, MYF(MY_WME | MY_ZEROFILL), @@ -756,7 +747,7 @@ index 723beb0775e..fe628f55d16 100644 NullS)) ) { *error_num = HA_ERR_OUT_OF_MEM; -@@ -6031,9 +6035,10 @@ SPIDER_PARTITION_SHARE *spider_get_pt_share( +@@ -6017,9 +6021,10 @@ SPIDER_PARTITION_SHARE *spider_get_pt_share( DBUG_PRINT("info",("spider create new pt share")); if (!(partition_share = (SPIDER_PARTITION_SHARE *) spider_bulk_malloc(spider_current_trx, 51, MYF(MY_WME | MY_ZEROFILL), @@ -770,7 +761,7 @@ index 723beb0775e..fe628f55d16 100644 NullS)) ) { *error_num = HA_ERR_OUT_OF_MEM; -@@ -6379,15 +6384,18 @@ int spider_open_all_tables( +@@ -6395,15 +6400,18 @@ int spider_open_all_tables( if (!(share = (SPIDER_SHARE *) spider_bulk_malloc(spider_current_trx, 52, MYF(MY_WME | MY_ZEROFILL), @@ -798,7 +789,7 @@ index 723beb0775e..fe628f55d16 100644 NullS)) ) { delete spider; -@@ -7194,12 +7202,12 @@ int spider_db_init( +@@ -7204,12 +7212,12 @@ int spider_db_init( if (!(spider_udf_table_mon_mutexes = (pthread_mutex_t *) spider_bulk_malloc(NULL, 53, MYF(MY_WME | MY_ZEROFILL), @@ -817,7 +808,7 @@ index 723beb0775e..fe628f55d16 100644 NullS)) ) goto error_alloc_mon_mutxes; -@@ -7248,10 +7256,10 @@ int spider_db_init( +@@ -7258,10 +7266,10 @@ int spider_db_init( #ifndef WITHOUT_SPIDER_BG_SEARCH if (!(spider_table_sts_threads = (SPIDER_THREAD *) spider_bulk_malloc(NULL, 256, MYF(MY_WME | MY_ZEROFILL), @@ -832,7 +823,7 @@ index 723beb0775e..fe628f55d16 100644 NullS)) ) goto error_alloc_mon_mutxes; -@@ -7947,8 +7955,8 @@ SPIDER_INIT_ERROR_TABLE *spider_get_init_error_table( +@@ -7968,8 +7976,8 @@ SPIDER_INIT_ERROR_TABLE *spider_get_init_error_table( } if (!(spider_init_error_table = (SPIDER_INIT_ERROR_TABLE *) spider_bulk_malloc(spider_current_trx, 54, MYF(MY_WME | MY_ZEROFILL), @@ -843,7 +834,7 @@ index 723beb0775e..fe628f55d16 100644 NullS)) ) { pthread_mutex_unlock(&spider_init_error_tbl_mutex); -@@ -9624,25 +9632,25 @@ int spider_create_spider_object_for_share( +@@ -9551,25 +9559,25 @@ int spider_create_spider_object_for_share( #if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET) if (!(need_mons = (int *) spider_bulk_malloc(spider_current_trx, 255, MYF(MY_WME | MY_ZEROFILL), @@ -884,10 +875,10 @@ index 723beb0775e..fe628f55d16 100644 ) #endif diff --git a/storage/spider/spd_trx.cc b/storage/spider/spd_trx.cc -index 485c61fc60b..b1b31a6db2e 100644 +index bb9f11793cb..1638533eca1 100644 --- a/storage/spider/spd_trx.cc +++ b/storage/spider/spd_trx.cc -@@ -549,81 +549,90 @@ int spider_create_trx_alter_table( +@@ -548,81 +548,90 @@ int spider_create_trx_alter_table( if (!(alter_table = (SPIDER_ALTER_TABLE *) spider_bulk_malloc(spider_current_trx, 55, MYF(MY_WME | MY_ZEROFILL), @@ -1052,7 +1043,7 @@ index 485c61fc60b..b1b31a6db2e 100644 NullS)) ) { error_num = HA_ERR_OUT_OF_MEM; -@@ -1201,10 +1210,10 @@ SPIDER_TRX *spider_get_trx( +@@ -1200,10 +1209,10 @@ SPIDER_TRX *spider_get_trx( DBUG_PRINT("info",("spider create new trx")); if (!(trx = (SPIDER_TRX *) spider_bulk_malloc(NULL, 56, MYF(MY_WME | MY_ZEROFILL), @@ -1067,7 +1058,7 @@ index 485c61fc60b..b1b31a6db2e 100644 NullS)) ) goto error_alloc_trx; -@@ -4203,10 +4212,10 @@ int spider_create_trx_ha( +@@ -4191,10 +4200,10 @@ int spider_create_trx_ha( { if (!(trx_ha = (SPIDER_TRX_HA *) spider_bulk_malloc(spider_current_trx, 58, MYF(MY_WME), @@ -1083,5 +1074,5 @@ index 485c61fc60b..b1b31a6db2e 100644 ) { DBUG_RETURN(HA_ERR_OUT_OF_MEM); -- -2.17.2 +2.23.0 diff --git a/mariadb.spec b/mariadb.spec index 192ca5f..b5edf2e 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -152,8 +152,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.3.17 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 10.3.18 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1579,6 +1579,9 @@ fi %endif %changelog +* Thu Oct 31 2019 Carl George - 3:10.3.18-1 +- Rebase to 10.3.18 + * Wed Sep 11 2019 Michal Schorm - 10.3.17-3 - Disable building of the ed25519 client plugin. From now on it will be shipped by 'mariadb-connector-c' package diff --git a/sources b/sources index 3829214..0f51d89 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.3.17.tar.gz) = 6fba995d8c284a12f19ee5635f5d69d8fa89fc314f512cd1764b2c4593933baf71a472ddce630463debd3bfbafa1cf5afee3f40d3c4062242f58cea16259561e +SHA512 (mariadb-10.3.18.tar.gz) = 817253d18f20c74f9ec8030678fd50a28b1726fd59153023a3a5e9b3f79e1f44d79feb24ae9ed72d8c1c04017110c932aba7be0610fb06245590c7f5610db242 From c11af443b215852235beb8c3154b89c84bb7a8a7 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 6 Nov 2019 15:15:33 +0100 Subject: [PATCH 570/789] Rebase to 10.3.19 Drop patch for mysqld_safe, fixed by upstream. --- mariadb-logrotate.patch | 20 ++++++++------------ mariadb-mysqld_safe.patch | 17 ----------------- mariadb.spec | 8 ++++---- sources | 2 +- 4 files changed, 13 insertions(+), 34 deletions(-) delete mode 100644 mariadb-mysqld_safe.patch diff --git a/mariadb-logrotate.patch b/mariadb-logrotate.patch index fd58c42..6af9466 100644 --- a/mariadb-logrotate.patch +++ b/mariadb-logrotate.patch @@ -26,16 +26,13 @@ Update 6/2018 beeing able to send the SIGHUP to the process and read the mysqld pid file, which root can. * Submited as PR: https://github.com/MariaDB/server/pull/807 ---- mariadb-10.3.7/support-files/mysql-log-rotate.sh 2018-05-23 22:38:46.000000000 +0200 -+++ mariadb-10.3.7/support-files/mysql-log-rotate.sh_patched 2018-06-27 12:11:23.705719826 +0200 -@@ -1,25 +1,12 @@ - # This logname can be set in /etc/my.cnf - # by setting the variable "err-log" --# in the [safe_mysqld] section as follows: -+# in the [mysqld] section as follows: +--- mariadb-10.3.19/support-files/mysql-log-rotate.sh 2019-11-03 17:03:27.000000000 +0100 ++++ mariadb-10.3.19/support-files/mysql-log-rotate.sh_patched 2019-11-06 15:07:54.205379672 +0100 +@@ -3,23 +3,10 @@ + # in the [mysqld] section as follows: # --# [safe_mysqld] --# err-log=@localstatedir@/mysqld.log + # [mysqld] +-# log-error=@localstatedir@/mysqld.log -# -# If the root user has a password you have to create a -# /root/.my.cnf configuration file with the following @@ -49,15 +46,14 @@ Update 6/2018 -# -# ATTENTION: This /root/.my.cnf should be readable ONLY -# for root ! -+# [mysqld] -+# log_error=@LOG_LOCATION@ ++# log-error=@LOG_LOCATION@ -@localstatedir@/mysqld.log { - # create 600 mysql mysql +@LOG_LOCATION@ { + create 600 mysql mysql notifempty - daily + daily rotate 3 @@ -27,11 +14,9 @@ compress diff --git a/mariadb-mysqld_safe.patch b/mariadb-mysqld_safe.patch deleted file mode 100644 index cda0d3e..0000000 --- a/mariadb-mysqld_safe.patch +++ /dev/null @@ -1,17 +0,0 @@ -Fix for: -/usr/bin/mysqld_safe: line 933: return: can only `return' from a function or sourced script - -Upstream PR: -https://github.com/MariaDB/server/pull/1238 - ---- mariadb-10.3.12/scripts/mysqld_safe.sh 2019-01-04 16:28:49.000000000 +0100 -+++ mariadb-10.3.12/scripts/mysqld_safe.sh_patched 2019-03-21 11:34:59.499309336 +0100 -@@ -929,7 +929,7 @@ do - cmd="$cmd "`shell_quote_string "$i"` - done - cmd="$cmd $args" --[ $dry_run -eq 1 ] && return -+[ $dry_run -eq 1 ] && exit - - # Avoid 'nohup: ignoring input' warning - test -n "$NOHUP_NICENESS" && cmd="$cmd < /dev/null" diff --git a/mariadb.spec b/mariadb.spec index b5edf2e..b801050 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -152,7 +152,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.3.18 +Version: 10.3.19 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -199,8 +199,6 @@ Patch9: %{pkgnamepatch}-ownsetup.patch Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch # Patch11: Use PCDIR CMake option, if configured Patch11: %{pkgnamepatch}-pcdir.patch -# Patch12: Fix mysqld_safe --dry-run -Patch12: %{pkgnamepatch}-mysqld_safe.patch # Patch13: Fix Spider code on armv7hl; https://jira.mariadb.org/browse/MDEV-18737 Patch13: %{pkgnamepatch}-spider_on_armv7hl.patch # Patch14: Remove the '-Werror' flag so the debug build won't crash on random warnings @@ -701,7 +699,6 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \; %patch9 -p1 %patch10 -p1 %patch11 -p1 -%patch12 -p1 %patch13 -p1 %patch14 -p1 @@ -1579,6 +1576,9 @@ fi %endif %changelog +* Wed Nov 06 2019 Michal Schorm - 10.3.19-1 +- Rebase to 10.3.19 + * Thu Oct 31 2019 Carl George - 3:10.3.18-1 - Rebase to 10.3.18 diff --git a/sources b/sources index 0f51d89..4c53ef3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.3.18.tar.gz) = 817253d18f20c74f9ec8030678fd50a28b1726fd59153023a3a5e9b3f79e1f44d79feb24ae9ed72d8c1c04017110c932aba7be0610fb06245590c7f5610db242 +SHA512 (mariadb-10.3.19.tar.gz) = ab6e57c4b1d0f00c4ba24818e4461473eee9d281c44d46ec202ee21b7d1af0ea51904c0908d72fa2a0a2acd1cb8b4989e657841820c8d7ceb97e192cdc49e2ee From 663c4792c08cb5d8baaac27fed6ccce81dbd1618 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 11 Nov 2019 11:52:05 +0100 Subject: [PATCH 571/789] Rebase to 10.3.20 --- mariadb.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index b801050..f3edeb5 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -11,7 +11,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.3.17 +%global last_tested_version 10.3.19 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -152,7 +152,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.3.19 +Version: 10.3.20 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -1576,6 +1576,9 @@ fi %endif %changelog +* Mon Nov 11 2019 Michal Schorm - 10.3.20-1 +- Rebase to 10.3.20 + * Wed Nov 06 2019 Michal Schorm - 10.3.19-1 - Rebase to 10.3.19 diff --git a/sources b/sources index 4c53ef3..2947dcd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.3.19.tar.gz) = ab6e57c4b1d0f00c4ba24818e4461473eee9d281c44d46ec202ee21b7d1af0ea51904c0908d72fa2a0a2acd1cb8b4989e657841820c8d7ceb97e192cdc49e2ee +SHA512 (mariadb-10.3.20.tar.gz) = 8080cb6db85c587f39f128e98b00c3e6428bf3e828271a227bb2c61c97683c965802baa6e5f825317f7e2963683c0f81699642853deeca6977faa2b6932044a3 From 19d30aa668b95d5ebd8efd13bf48de2acc136709 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 12 Nov 2019 15:53:47 +0100 Subject: [PATCH 572/789] Rebuild on top fo new mariadb-connector-c --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index f3edeb5..4df7bf5 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -153,7 +153,7 @@ Name: mariadb Version: 10.3.20 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1576,6 +1576,9 @@ fi %endif %changelog +* Tue Nov 12 2019 Michal Schorm - 10.3.20-2 +- Rebuild on top fo new mariadb-connector-c + * Mon Nov 11 2019 Michal Schorm - 10.3.20-1 - Rebase to 10.3.20 From 81e52111e81bbae58a369af000db4a17ba9a0cd8 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Mon, 18 Nov 2019 14:22:53 +0100 Subject: [PATCH 573/789] Fix conflicting files with groonga package bz#1763287 Change path to groonga's packaged files --- mariadb-groonga.patch | 30 ++++++++++++++++++++++++++++++ mariadb.spec | 20 ++++++++++++++------ 2 files changed, 44 insertions(+), 6 deletions(-) create mode 100644 mariadb-groonga.patch diff --git a/mariadb-groonga.patch b/mariadb-groonga.patch new file mode 100644 index 0000000..3a0e74c --- /dev/null +++ b/mariadb-groonga.patch @@ -0,0 +1,30 @@ +# Fixing conflict with groonga package +# https://bugzilla.redhat.com/show_bug.cgi?id=1763287 + +--- mariadb-10.3.18/storage/mroonga/vendor/groonga/CMakeLists.txt.withoutoption 2019-11-11 14:01:07.762595716 +0100 ++++ mariadb-10.3.18/storage/mroonga/vendor/groonga/CMakeLists.txt 2019-11-11 14:33:05.224012458 +0100 +@@ -86,7 +86,9 @@ + set(INCLUDE_DIR "include") + set(GRN_INCLUDE_DIR "include/groonga") + set(DATA_DIR "share") +-set(GRN_DATA_DIR "${DATA_DIR}/${GRN_PROJECT_NAME}") ++if(NOT DEFINED GRN_DATA_DIR) ++ set(GRN_DATA_DIR "${DATA_DIR}/${GRN_PROJECT_NAME}") ++endif() + set(CONFIG_DIR "etc") + set(GRN_CONFIG_DIR "${CONFIG_DIR}/${GRN_PROJECT_NAME}") + set(GRN_CONFIG_PATH "${CMAKE_INSTALL_PREFIX}/${GRN_CONFIG_DIR}/groonga.conf") + +--- mariadb-10.3.18/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/CMakeLists.txt.withoutoption 2019-11-11 14:34:22.661005715 +0100 ++++ mariadb-10.3.18/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/CMakeLists.txt 2019-11-11 14:35:59.962244120 +0100 +@@ -16,7 +16,9 @@ + # MA 02110-1335 USA + + cmake_minimum_required(VERSION 2.6) +-set(GROONGA_NORMALIZER_MYSQL_PROJECT_NAME "groonga-normalizer-mysql") ++if (NOT DEFINED GROONGA_NORMALIZER_MYSQL_PROJECT_NAME) ++ set(GROONGA_NORMALIZER_MYSQL_PROJECT_NAME "groonga-normalizer-mysql") ++endif() + project("${GROONGA_NORMALIZER_MYSQL_PROJECT_NAME}") + + if(DEFINED GROONGA_NORMALIZER_MYSQL_EMBED) diff --git a/mariadb.spec b/mariadb.spec index 4df7bf5..7a07987 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -153,7 +153,7 @@ Name: mariadb Version: 10.3.20 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -203,7 +203,8 @@ Patch11: %{pkgnamepatch}-pcdir.patch Patch13: %{pkgnamepatch}-spider_on_armv7hl.patch # Patch14: Remove the '-Werror' flag so the debug build won't crash on random warnings Patch14: %{pkgnamepatch}-debug_build.patch - +# Patch15: Add option to edit groonga's and groonga-normalizer-mysql install path +Patch15: %{pkgnamepatch}-groonga.patch BuildRequires: cmake gcc-c++ BuildRequires: multilib-rpm-config @@ -701,6 +702,7 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \; %patch11 -p1 %patch13 -p1 %patch14 -p1 +%patch15 -p1 # workaround for upstream bug #56342 #rm mysql-test/t/ssl_8k_key-master.opt @@ -816,6 +818,8 @@ export CFLAGS CXXFLAGS CPPFLAGS -DMYSQL_DATADIR="%{dbdatadir}" \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ -DTMPDIR=/var/tmp \ + -DGRN_DATA_DIR=share/%{name}-server/groonga \ + -DGROONGA_NORMALIZER_MYSQL_PROJECT_NAME=%{name}-server/groonga-normalizer-mysql \ -DENABLED_LOCAL_INFILE=ON \ -DENABLE_DTRACE=ON \ -DSECURITY_HARDENED=ON \ @@ -1408,10 +1412,10 @@ fi %{_datadir}/%{pkg_name}/mroonga/uninstall.sql %license %{_datadir}/%{pkg_name}/mroonga/COPYING %license %{_datadir}/%{pkg_name}/mroonga/AUTHORS -%license %{_datadir}/groonga-normalizer-mysql/lgpl-2.0.txt -%license %{_datadir}/groonga/COPYING -%doc %{_datadir}/groonga-normalizer-mysql/README.md -%doc %{_datadir}/groonga/README.md +%license %{_datadir}/%{name}-server/groonga-normalizer-mysql/lgpl-2.0.txt +%license %{_datadir}/%{name}-server/groonga/COPYING +%doc %{_datadir}/%{name}-server/groonga-normalizer-mysql/README.md +%doc %{_datadir}/%{name}-server/groonga/README.md %endif %{_datadir}/%{pkg_name}/wsrep.cnf %{_datadir}/%{pkg_name}/wsrep_notify @@ -1576,6 +1580,10 @@ fi %endif %changelog +* Mon Nov 18 2019 Lukas Javorsky - 10.3.20-3 +- Change path of groonga's packaged files +- Fix bz#1763287 + * Tue Nov 12 2019 Michal Schorm - 10.3.20-2 - Rebuild on top fo new mariadb-connector-c From 8bb54775eac1c13501f866aabf4f149e41f2413f Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 26 Nov 2019 13:56:16 +0100 Subject: [PATCH 574/789] Bump last tested major version number --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 7a07987..c540990 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -11,7 +11,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.3.19 +%global last_tested_version 10.3.20 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 From 8d089185e5698a5216a4e50aca3a52f60b8d2e78 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 6 Dec 2019 14:55:29 +0100 Subject: [PATCH 575/789] Rebase to 10.4.10 Upstream started to build the Galera libraries statically Spider SE patch updated, tiny part of it was upstreamed Commit also contains several tweaks for debug build --- mariadb-logrotate.patch | 20 +++++++---------- mariadb-spider_on_armv7hl.patch | 9 -------- mariadb.spec | 40 ++++++++++++++++++++------------- 3 files changed, 32 insertions(+), 37 deletions(-) diff --git a/mariadb-logrotate.patch b/mariadb-logrotate.patch index fd58c42..6af9466 100644 --- a/mariadb-logrotate.patch +++ b/mariadb-logrotate.patch @@ -26,16 +26,13 @@ Update 6/2018 beeing able to send the SIGHUP to the process and read the mysqld pid file, which root can. * Submited as PR: https://github.com/MariaDB/server/pull/807 ---- mariadb-10.3.7/support-files/mysql-log-rotate.sh 2018-05-23 22:38:46.000000000 +0200 -+++ mariadb-10.3.7/support-files/mysql-log-rotate.sh_patched 2018-06-27 12:11:23.705719826 +0200 -@@ -1,25 +1,12 @@ - # This logname can be set in /etc/my.cnf - # by setting the variable "err-log" --# in the [safe_mysqld] section as follows: -+# in the [mysqld] section as follows: +--- mariadb-10.3.19/support-files/mysql-log-rotate.sh 2019-11-03 17:03:27.000000000 +0100 ++++ mariadb-10.3.19/support-files/mysql-log-rotate.sh_patched 2019-11-06 15:07:54.205379672 +0100 +@@ -3,23 +3,10 @@ + # in the [mysqld] section as follows: # --# [safe_mysqld] --# err-log=@localstatedir@/mysqld.log + # [mysqld] +-# log-error=@localstatedir@/mysqld.log -# -# If the root user has a password you have to create a -# /root/.my.cnf configuration file with the following @@ -49,15 +46,14 @@ Update 6/2018 -# -# ATTENTION: This /root/.my.cnf should be readable ONLY -# for root ! -+# [mysqld] -+# log_error=@LOG_LOCATION@ ++# log-error=@LOG_LOCATION@ -@localstatedir@/mysqld.log { - # create 600 mysql mysql +@LOG_LOCATION@ { + create 600 mysql mysql notifempty - daily + daily rotate 3 @@ -27,11 +14,9 @@ compress diff --git a/mariadb-spider_on_armv7hl.patch b/mariadb-spider_on_armv7hl.patch index 2278481..6be8528 100644 --- a/mariadb-spider_on_armv7hl.patch +++ b/mariadb-spider_on_armv7hl.patch @@ -339,15 +339,6 @@ index 58351195a61..da2052ad79e 100644 NullS) ) { delete clone_row; -@@ -5473,7 +5473,7 @@ int spider_db_mbase_util::append_tables_top_down( - int error_num; - uint outer_join_backup; - TABLE_LIST *cur_table_list, *prev_table_list = NULL, *cond_table_list = NULL; -- bool first; -+ bool first = TRUE; - DBUG_ENTER("spider_db_mbase_util::append_tables_top_down"); - DBUG_PRINT("info",("spider this=%p", this)); - if ( @@ -13786,7 +13786,7 @@ int spider_mbase_handler::init_union_table_name_pos() if (!union_table_name_pos_first) { diff --git a/mariadb.spec b/mariadb.spec index ef7fe21..3bd9fcf 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -157,8 +157,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.4.7 -Release: 2%{?with_debug:.debug}%{?dist} +Version: 10.4.10 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -258,6 +258,10 @@ BuildRequires: perl(Symbol) # for running some openssl tests rhbz#1189180 BuildRequires: openssl openssl-devel +%if %{with debug} +BuildRequires: valgrind-devel +%endif + Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} @@ -787,14 +791,23 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py fi %endif -CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" +CFLAGS="$CFLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" # force PIC mode so that we can build libmysqld.so CFLAGS="$CFLAGS -fPIC" -# Override all optimization flags when making a debug build -%{?with_debug: CFLAGS="$CFLAGS -O0 -g"} +# Override all optimization flags when making a debug build +%if %{with debug} +CFLAGS="$CFLAGS -O0 -g +CPPFLAGS="$CPPFLAGS -O0 -g -D_FORTIFY_SOURCE=0 +# Fix GCC flags broken by MariaDB upstream +CFLAGS="$CFLAGS -Wno-error=deprecated-copy -Wno-error=pessimizing-move -Wno-error=unused-result -Wno-error=maybe-uninitialized -Wno-error=stringop-overflow -Wno-error=sign-compare CXXFLAGS="$CFLAGS" -export CFLAGS CXXFLAGS +CPPFLAGS="$CPPFLAGS -Wno-error=deprecated-copy -Wno-error=pessimizing-move -Wno-error=unused-result -Wno-error=maybe-uninitialized -Wno-error=stringop-overflow -Wno-error=sign-compare +%endif + + + +export CFLAGS CXXFLAGS CPPFLAGS # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX @@ -877,12 +890,6 @@ make -f /usr/share/selinux/devel/Makefile %{name}-server-galera.pp %install make DESTDIR=%{buildroot} install -%if %{with galera} -# Install the wsrep library -install -D -p -m 0755 wsrep-lib/wsrep-API/libwsrep_api_v*.so %{buildroot}%{_libdir} -install -D -p -m 0755 wsrep-lib/src/libwsrep-lib.so %{buildroot}%{_libdir} -%endif - # multilib header support #1625157 for header in mysql/server/my_config.h mysql/server/private/config.h; do %multilib_fix_c_header --file %{_includedir}/$header @@ -1268,11 +1275,8 @@ fi %endif -%if %{with clibrary} || %{with galera} +%if %{with clibrary} %files libs -%if %{with galera} -%{_libdir}/libwsrep*.so* -%endif %if %{with clibrary} %exclude %{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so} %{_libdir}/libmariadb.so* @@ -1599,6 +1603,10 @@ fi %endif %changelog +* Tue Dec 03 2019 Michal Schorm - 3:10.4.10-1 +- Rebase to 10.4.10 + Upstream started linking the Galera libraries statically + * Wed Sep 25 2019 Michal Schorm - 3:10.4.7-2 - Disable building of the ed25519 client plugin. From now on it will be shipped by 'mariadb-connector-c' package From c487d09e4d72a76af5ec2383ed8e9698424c1752 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 6 Dec 2019 15:06:31 +0100 Subject: [PATCH 576/789] Use updated sources from upstream GitHub, instead of the released version 10.4.10 for fix for https://jira.mariadb.org/browse/MDEV-21229 Upstream commit that fixes the issue: https://github.com/MariaDB/server/commit/9a6212008999da44b136605c1abf2cc9c7cc4b2c --- mariadb.spec | 13 ++++++------- rh-skipped-tests-base.list | 8 +++++++- sources | 2 +- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 3bd9fcf..17e5a95 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -158,7 +158,7 @@ Name: mariadb Version: 10.4.10 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 1.20191205git9a621200%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -266,7 +266,7 @@ Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} -%if %{with clibrary} || %{with galera} +%if %{with clibrary} # Explicit EVR requirement for -libs is needed for RHBZ#1406320 Requires: %{name}-libs%{?_isa} = %{sameevr} %else @@ -304,7 +304,7 @@ The base package contains the standard MariaDB/MySQL client programs and generic MySQL files. -%if %{with clibrary} || %{with galera} +%if %{with clibrary} %package libs Summary: The shared libraries required for MariaDB/MySQL clients Requires: %{name}-common%{?_isa} = %{sameevr} @@ -350,7 +350,7 @@ Requires: %{_sysconfdir}/my.cnf # obsoletion of mariadb-galera-common Provides: mariadb-galera-common = %{sameevr} -%if %{without clibrary} && %{without galera} +%if %{without clibrary} Obsoletes: %{name}-libs <= %{sameevr} %endif @@ -377,7 +377,7 @@ MariaDB packages. Summary: The configuration files and scripts for galera replication Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} -Requires: galera >= 25.3.3 +Requires: galera >= 26.4.3 Requires(post): libselinux-utils Requires(post): policycoreutils-python-utils # wsrep requirements @@ -595,7 +595,7 @@ the only MariaDB sub-package, except test subpackage, that depends on Perl. %package devel Summary: Files for development of MariaDB/MySQL applications Requires: openssl-devel -%if %{with clibrary} || %{with galera} +%if %{with clibrary} Requires: %{name}-libs%{?_isa} = %{sameevr} %else Requires: mariadb-connector-c-devel >= 3.0 @@ -921,7 +921,6 @@ rm %{buildroot}%{_libdir}/pkgconfig/libmariadb.pc # but that's pretty wacko --- see also %%{name}-file-contents.patch) install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/%{pkg_name}/ install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/%{pkg_name}/ -rm -r %{buildroot}%{_datadir}/doc/%{_pkgdocdirname}/MariaDB-server-%{version}/ # Logfile creation mkdir -p %{buildroot}%{logfiledir} diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index e41440b..eccb8c0 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -50,4 +50,10 @@ innodb_gis.rtree_compress2 : parts.partition_alter4_innodb : # Fails from 10.3.9 -encryption.innodb-redo-badkey : +encryption.innodb-redo-badkey : + +# Expected: Plugin building disabled in server +plugins.auth_ed25519 : + +# Fails from 10.4.10 +sys_vars.tcp_nodelay : diff --git a/sources b/sources index f3d0b74..c5ef0e3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.4.7.tar.gz) = cb8b5adaef1970b9c8f04db08c18660f8b3df87f699aa93c1bee9497b887ddf50fcf3a2aebbe21a5fc9dfcbd118d0192d7421512522d98eaf30a014822c2f7ce +SHA512 (mariadb-10.4.10.tar.gz) = a8b93be9dba6f9d2fd5a8da53f37c1f1c0469c64c919c2978e5f31871a6eb4052da96d162269c2d060d258c14ca92c357caa7a63da4f6f87443e5625412ab18f From d83bf98182cfe4a91836472f52038dbc5723ae71 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 7 Dec 2019 03:49:46 +0100 Subject: [PATCH 577/789] Allow port 4444 in SELinux for Galera SST replication --- mariadb.spec | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 17e5a95..e66f410 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1232,11 +1232,16 @@ export MTR_BUILD_THREAD=%{__isa_bits} %if %{with galera} %post server-galera -# Do what README at support-files/policy/selinux/README and upstream page -# http://galeracluster.com/documentation-webpages/firewallsettings.html recommend: -semanage port -a -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || : +# Allow ports needed for the replication: +# https://mariadb.com/kb/en/library/configuring-mariadb-galera-cluster/#network-ports +# Galera Replication Port semanage port -a -t mysqld_port_t -p tcp 4567 >/dev/null 2>&1 || : semanage port -a -t mysqld_port_t -p udp 4567 >/dev/null 2>&1 || : +# IST Port +semanage port -a -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || : +# SST Port +semanage port -a -t mysqld_port_t -p tcp 4444 >/dev/null 2>&1 || : + semodule -i %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp >/dev/null 2>&1 || : %endif From b86d806db4c445a85ed8001be53516328a4a05cf Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 7 Dec 2019 03:53:09 +0100 Subject: [PATCH 578/789] Remove ancient Galera obsoletes --- mariadb.spec | 9 --------- 1 file changed, 9 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index e66f410..870d81f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -286,9 +286,6 @@ Suggests: %{name}-server%{?_isa} = %{sameevr} # MySQL (with caps) is upstream's spelling of their own RPMs for mysql %{?with_conflicts:Conflicts: community-mysql} -# obsoletion of mariadb-galera -Provides: mariadb-galera = %{sameevr} - # Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering %global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) %global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\\.so)$ @@ -347,9 +344,6 @@ package itself. Summary: The shared files required by server and client Requires: %{_sysconfdir}/my.cnf -# obsoletion of mariadb-galera-common -Provides: mariadb-galera-common = %{sameevr} - %if %{without clibrary} Obsoletes: %{name}-libs <= %{sameevr} %endif @@ -385,9 +379,6 @@ Requires: lsof # Default wsrep_sst_method Requires: rsync -# obsoletion of mariadb-galera-server -Provides: mariadb-galera-server = %{sameevr} - %description server-galera MariaDB is a multi-user, multi-threaded SQL database server. It is a client/server implementation consisting of a server daemon (mysqld) From 1fd9cbbc18d1b074f8b490485f0a796c01ecf60d Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 9 Dec 2019 12:53:44 +0100 Subject: [PATCH 579/789] Update failing tests lists --- mariadb.spec | 2 +- rh-skipped-tests-base.list | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 870d81f..99e30f0 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -6,7 +6,7 @@ %{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail, but 0 on production ready build -%global ignore_testsuite_result 1 +%global ignore_testsuite_result 0 # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index eccb8c0..b982197 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -57,3 +57,7 @@ plugins.auth_ed25519 : # Fails from 10.4.10 sys_vars.tcp_nodelay : +# only on i686 +main.key_cache : +parts.optimizer : +main.opt_trace_index_merge : From e777213c88b9041eecbf652a8f16d6c07845dedb Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 10 Jan 2020 01:53:54 +0100 Subject: [PATCH 580/789] Fix building without gssapi plugin --- mariadb.spec | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index c540990..b90c188 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1022,7 +1022,10 @@ unlink %{buildroot}%{_libdir}/libmysqlclient.so unlink %{buildroot}%{_libdir}/libmysqlclient_r.so unlink %{buildroot}%{_libdir}/libmariadb.so # Client plugins -rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so,auth_gssapi_client.so} +rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so} +%if %{with gssapi} +rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/auth_gssapi_client.so +%endif %endif %if %{without clibrary} || %{without devel} @@ -1081,10 +1084,6 @@ rm %{buildroot}%{_sysconfdir}/my.cnf rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets %endif -%if %{without gssapi} -rm -r %{buildroot}/etc/my.cnf.d/auth_gssapi.cnf -%endif - %if %{without errmsg} rm %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,czech,danish,dutch,estonian,\ From 42251457ba8e232fa353b3292a67214153f99581 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 10 Jan 2020 04:24:50 +0100 Subject: [PATCH 581/789] Rebase to 10.3.21 --- mariadb.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index b90c188..52af2c4 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -152,7 +152,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.3.20 +Version: 10.3.21 Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -474,6 +474,9 @@ standard SQL syntax, and results joined onto other tables. Summary: The CONNECT storage engine for MariaDB Requires: %{name}-server%{?_isa} = %{sameevr} +# As per https://jira.mariadb.org/browse/MDEV-21450 +BuildRequires: libxml2-devel + %description connect-engine The CONNECT storage engine enables MariaDB to access external local or remote data (MED). This is done by defining tables based on different data @@ -1579,6 +1582,9 @@ fi %endif %changelog +* Fri Jan 10 2020 Michal Schorm - 10.3.21-1 +- Rebase to 10.3.21 + * Mon Nov 18 2019 Lukas Javorsky - 10.3.20-3 - Change path of groonga's packaged files - Fix bz#1763287 From 5846cae70af70b639c8555c65a8e9839b22c84c2 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 10 Jan 2020 04:33:46 +0100 Subject: [PATCH 582/789] Update sources for the 10.3.21 rebase --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index 2947dcd..168b8df 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.3.20.tar.gz) = 8080cb6db85c587f39f128e98b00c3e6428bf3e828271a227bb2c61c97683c965802baa6e5f825317f7e2963683c0f81699642853deeca6977faa2b6932044a3 +SHA512 (mariadb-10.3.21.tar.gz) = cf9c33405fca64fa5571d26609388d4f3102447c68bd63e54dea9c35da0ad4350fb922fb75baa41e2a71cf75ccb9b2b9e5f2ac6714c44f8f38065dcae3d5afa6 From 1f6465e1ff8e71ae3253e802dd3e7f49253c8c1f Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 10 Jan 2020 12:20:00 +0100 Subject: [PATCH 583/789] Rebase to 10.4.11 --- mariadb.spec | 11 +++++++++-- sources | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 99e30f0..30d3975 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -157,8 +157,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.4.10 -Release: 1.20191205git9a621200%{?with_debug:.debug}%{?dist} +Version: 10.4.11 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -472,6 +472,9 @@ standard SQL syntax, and results joined onto other tables. Summary: The CONNECT storage engine for MariaDB Requires: %{name}-server%{?_isa} = %{sameevr} +# As per https://jira.mariadb.org/browse/MDEV-21450 +BuildRequires: libxml2-devel + %description connect-engine The CONNECT storage engine enables MariaDB to access external local or remote data (MED). This is done by defining tables based on different data @@ -1598,6 +1601,10 @@ fi %endif %changelog +* Fri Jan 10 2020 Michal Schorm - 10.4.11-1 +- Rebase to 10.4.11 + + * Tue Dec 03 2019 Michal Schorm - 3:10.4.10-1 - Rebase to 10.4.10 Upstream started linking the Galera libraries statically diff --git a/sources b/sources index c5ef0e3..dfbf8f0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.4.10.tar.gz) = a8b93be9dba6f9d2fd5a8da53f37c1f1c0469c64c919c2978e5f31871a6eb4052da96d162269c2d060d258c14ca92c357caa7a63da4f6f87443e5625412ab18f +SHA512 (mariadb-10.4.11.tar.gz) = 2a1a8d90e326530b41a8a7d6889325cefcba5914451a48c6a20d5d5cd68004835e76e6ecac628554167a014f9c0b1487c15f37151afd771ea0166a4c40afd7d2 From 5aff5f09e666b1a9d32f006cf6e7e4790404682d Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 17 Jan 2020 10:09:06 +0100 Subject: [PATCH 584/789] Rebase to 10.4.11 [INCOMPLETE] --- mariadb.spec | 12 ++++++++---- sources | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 52af2c4..1e38f7b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -11,7 +11,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.3.20 +%global last_tested_version 10.4.11 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -152,8 +152,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.3.21 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 10.4.11 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -371,7 +371,7 @@ MariaDB packages. Summary: The configuration files and scripts for galera replication Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} -Requires: galera >= 25.3.3 +Requires: galera >= 26.4.3 Requires(post): libselinux-utils Requires(post): policycoreutils-python-utils # wsrep requirements @@ -1582,6 +1582,10 @@ fi %endif %changelog +* Fri Jan 17 2020 Michal Schorm - 10.4.11-1 +- Rebase to 10.4.11 + Related: #1756468 + * Fri Jan 10 2020 Michal Schorm - 10.3.21-1 - Rebase to 10.3.21 diff --git a/sources b/sources index 168b8df..dfbf8f0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.3.21.tar.gz) = cf9c33405fca64fa5571d26609388d4f3102447c68bd63e54dea9c35da0ad4350fb922fb75baa41e2a71cf75ccb9b2b9e5f2ac6714c44f8f38065dcae3d5afa6 +SHA512 (mariadb-10.4.11.tar.gz) = 2a1a8d90e326530b41a8a7d6889325cefcba5914451a48c6a20d5d5cd68004835e76e6ecac628554167a014f9c0b1487c15f37151afd771ea0166a4c40afd7d2 From 6139b95eb5ab5df5f5d5abcfb4e1aefe27df62bd Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 17 Jan 2020 10:47:52 +0100 Subject: [PATCH 585/789] Rebase 10.4.11 - pack 'mariadb' names symlinks --- mariadb.spec | 158 ++++++++++++++++++++++----------------------------- 1 file changed, 69 insertions(+), 89 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 1e38f7b..1ab0a7a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -922,7 +922,6 @@ mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my. mv %{buildroot}%{_sysusersdir}/sysusers.conf %{buildroot}%{_sysusersdir}/%{name}.conf # remove SysV init script and a symlink to that, we use systemd -rm %{buildroot}%{_sysconfdir}/init.d/mysql rm %{buildroot}%{_libexecdir}/rcmysql # install systemd unit files and scripts for handling server startup install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service @@ -957,8 +956,8 @@ ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list # Client that uses libmysqld embedded server. # Pretty much like normal mysql command line client, but it doesn't require a running mariadb server. -%{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded} -rm %{buildroot}%{_mandir}/man1/mysql_embedded.1* +%{?with_embedded:rm %{buildroot}%{_bindir}/{mariadb-,mysql_}embedded} +rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}embedded.1* # Static libraries rm %{buildroot}%{_libdir}/*.a # This script creates the MySQL system tables and starts the server. @@ -1014,6 +1013,7 @@ sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf. %if %{without embedded} rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* +rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1* %endif @@ -1058,13 +1058,15 @@ unlink %{buildroot}%{_libdir}/libmysqlclient_r.so %endif %if %{without client} -rm %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_find_rows,\ -mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ -mysqldump,mysqlimport,mysqlshow,mysqlslap} -rm %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_find_rows,\ -mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ -mysqldump,mysqlimport,mysqlshow,mysqlslap}.1* -rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf +rm %{buildroot}%{_bindir}/msql2mysql +rm %{buildroot}%{_bindir}/{mysql,mariadb} +rm %{buildroot}%{_bindir}/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid} +rm %{buildroot}%{_bindir}/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid} + +rm %{buildroot}%{_mandir}/man1/msql2mysql.1* +rm %{buildroot}%{_mandir}/man1/{mysql,mariadb}.1* +rm %{buildroot}%{_mandir}/man1/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid}.1* +rm %{buildroot}%{_mandir}/man1/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}.1* %endif %if %{without tokudb} @@ -1096,12 +1098,16 @@ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian,hind %if %{without test} %if %{with embedded} -rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded} -rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1* -%endif +rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} +rm %{buildroot}%{_bindir}/{mariadb-client-test-embedded,mariadb-test-embedded} +rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* +rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1* +%endif # embedded rm %{buildroot}%{_bindir}/test-connect-t rm %{buildroot}%{_bindir}/{mysql_client_test,mysqltest} -rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1* +rm %{buildroot}%{_bindir}/{mariadb-client-test,mariadb-test} +rm %{buildroot}%{_mandir}/man1/{mysql_client_test,mysqltest,my_safe_process}.1* +rm %{buildroot}%{_mandir}/man1/{mariadb-client-test,mariadb-test}.1* rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1* %endif @@ -1121,7 +1127,7 @@ chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf %endif %if %{without rocksdb} -rm %{buildroot}%{_mandir}/man1/mysql_ldb.1* +rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}ldb.1* %endif %check @@ -1225,38 +1231,22 @@ fi %if %{with client} %files %{_bindir}/msql2mysql -%{_bindir}/mysql -%{_bindir}/mysql_find_rows -%{_bindir}/mysql_plugin -%{_bindir}/mysql_waitpid -%{_bindir}/mysqlaccess -%{_bindir}/mysqladmin -%{_bindir}/mysqlbinlog -%{_bindir}/mysqlcheck -%{_bindir}/mysqldump -%{_bindir}/mysqlimport -%{_bindir}/mysqlshow -%{_bindir}/mysqlslap +%{_bindir}/{mysql,mariadb} +%{_bindir}/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid} +%{_bindir}/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid} %{_mandir}/man1/msql2mysql.1* -%{_mandir}/man1/mysql.1* -%{_mandir}/man1/mysql_find_rows.1* -%{_mandir}/man1/mysql_plugin.1* -%{_mandir}/man1/mysql_waitpid.1* -%{_mandir}/man1/mysqlaccess.1* -%{_mandir}/man1/mysqladmin.1* -%{_mandir}/man1/mysqlbinlog.1* -%{_mandir}/man1/mysqlcheck.1* -%{_mandir}/man1/mysqldump.1* -%{_mandir}/man1/mysqlimport.1* -%{_mandir}/man1/mysqlshow.1* -%{_mandir}/man1/mysqlslap.1* +%{_mandir}/man1/{mysql,mariadb}.1* +%{_mandir}/man1/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid}.1* +%{_mandir}/man1/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}.1* + %config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf %endif %if %{with clibrary} %files libs -%{_libdir}/libmariadb.so.* +%exclude %{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so} +%{_libdir}/libmariadb.so* %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf %endif @@ -1324,22 +1314,18 @@ fi %files server %doc README.mysql-cnf -%{_bindir}/aria_chk -%{_bindir}/aria_dump_log -%{_bindir}/aria_ftdump -%{_bindir}/aria_pack -%{_bindir}/aria_read_log +%{_bindir}/aria_{chk,dump_log,ftdump,pack,read_log} %{_bindir}/mariadb-service-convert %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog %{_bindir}/myisampack %{_bindir}/my_print_defaults -%{_bindir}/mysql_install_db -%{_bindir}/mysql_secure_installation -%{_bindir}/mysql_tzinfo_to_sql -%{_bindir}/mysqld_safe -%{_bindir}/mysqld_safe_helper + +%{_bindir}/mysql_{install_db,secure_installation,tzinfo_to_sql} +%{_bindir}/mariadb-{install-db,secure-installation,tzinfo-to-sql} +%{_bindir}/{mysqld_,mariadbd-}safe + %{_bindir}/innochecksum %{_bindir}/replace %{_bindir}/resolve_stack_dump @@ -1350,7 +1336,7 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/enable_encryption.preset -%{_libexecdir}/mysqld +%{_libexecdir}/{mysqld,mariadbd} %{_libdir}/%{pkg_name}/INFO_SRC %{_libdir}/%{pkg_name}/INFO_BIN @@ -1373,11 +1359,7 @@ fi %exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so %endif -%{_mandir}/man1/aria_chk.1* -%{_mandir}/man1/aria_dump_log.1* -%{_mandir}/man1/aria_ftdump.1* -%{_mandir}/man1/aria_pack.1* -%{_mandir}/man1/aria_read_log.1* +%{_mandir}/man1/aria_{chk,dump_log,ftdump,pack,read_log}.1* %{_mandir}/man1/galera_new_cluster.1* %{_mandir}/man1/galera_recovery.1* %{_mandir}/man1/mariadb-service-convert.1* @@ -1386,19 +1368,20 @@ fi %{_mandir}/man1/myisampack.1* %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/my_print_defaults.1* -%{_mandir}/man1/mysql.server.1* -%{_mandir}/man1/mysql_install_db.1* -%{_mandir}/man1/mysql_secure_installation.1* -%{_mandir}/man1/mysql_tzinfo_to_sql.1* -%{_mandir}/man1/mysqld_safe.1* -%{_mandir}/man1/mysqld_safe_helper.1* + +%{_mandir}/man1/mysql_{install_db,secure_installation,tzinfo_to_sql}.1* +%{_mandir}/man1/mariadb-{install-db,secure-installation,tzinfo-to-sql}.1* +%{_mandir}/man1/{mysqld_,mariadbd-}safe.1* + %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/replace.1* %{_mandir}/man1/resolveip.1* %{_mandir}/man1/resolve_stack_dump.1* -%{_mandir}/man8/mysqld.8* +%{_mandir}/man8/{mysqld,mariadbd}.8* %{_mandir}/man1/wsrep_*.1* +%{_mandir}/man1/mysql.server.1* + %{_datadir}/%{pkg_name}/fill_help_tables.sql %{_datadir}/%{pkg_name}/install_spider.sql %{_datadir}/%{pkg_name}/maria_add_gis_sp.sql @@ -1459,9 +1442,9 @@ fi %if %{with backup} %files backup -%{_bindir}/mariabackup +%{_bindir}/maria{,db-}backup %{_bindir}/mbstream -%{_mandir}/man1/mariabackup.1* +%{_mandir}/man1/maria{,db-}backup.1* %{_mandir}/man1/mbstream.1* %endif @@ -1469,10 +1452,10 @@ fi %files rocksdb-engine %config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf %{_bindir}/myrocks_hotbackup -%{_bindir}/mysql_ldb +%{_bindir}/{mysql_,mariadb-}ldb %{_bindir}/sst_dump %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so -%{_mandir}/man1/mysql_ldb.1* +%{_mandir}/man1/{mysql_,mariadb-}ldb.1* %endif %if %{with tokudb} @@ -1511,29 +1494,27 @@ fi %files server-utils # Perl utilities -%{_bindir}/mysql_convert_table_format -%{_bindir}/mysql_fix_extensions -%{_bindir}/mysql_setpermission -%{_bindir}/mysqldumpslow -%{_bindir}/mysqld_multi -%{_bindir}/mysqlhotcopy -%{_mandir}/man1/mysql_convert_table_format.1* -%{_mandir}/man1/mysql_fix_extensions.1* -%{_mandir}/man1/mysqldumpslow.1* -%{_mandir}/man1/mysqld_multi.1* -%{_mandir}/man1/mysqlhotcopy.1* -%{_mandir}/man1/mysql_setpermission.1* +%{_bindir}/mysql{_convert_table_format,dumpslow,_fix_extensions,hotcopy,_setpermission} +%{_bindir}/mariadb-{convert-table-format,dumpslow,fix-extensions,hotcopy,setpermission} +%{_bindir}/{mysqld_,mariadbd-}multi + +%{_mandir}/man1/mysql{_convert_table_format,dumpslow,_fix_extensions,hotcopy,_setpermission}.1* +%{_mandir}/man1/mariadb-{convert-table-format,dumpslow,fix-extensions,hotcopy,setpermission}.1* +%{_mandir}/man1/{mysqld_,mariadbd-}multi.1* # Utilities that can be used remotely -%{_bindir}/mysql_upgrade +%{_bindir}/{mysql_,mariadb-}upgrade %{_bindir}/perror -%{_mandir}/man1/mysql_upgrade.1* +%{_mandir}/man1/{mysql_,mariadb-}upgrade.1* %{_mandir}/man1/perror.1* +# Other utilities +%{_bindir}/{mysqld_safe_helper,mariadbd-safe-helper} +%{_mandir}/man1/{mysqld_safe_helper,mariadbd-safe-helper}.1* %if %{with devel} %files devel %{_includedir}/* %{_datadir}/aclocal/mysql.m4 -%{_libdir}/pkgconfig/mariadb.pc +%{_libdir}/pkgconfig/*mariadb.pc %if %{with clibrary} %{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so} %{_bindir}/mysql_config* @@ -1565,18 +1546,17 @@ fi %files test %if %{with embedded} %{_bindir}/test-connect-t -%{_bindir}/mysql_client_test_embedded -%{_bindir}/mysqltest_embedded -%{_mandir}/man1/mysql_client_test_embedded.1* -%{_mandir}/man1/mysqltest_embedded.1* +%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} +%{_bindir}/{mariadb-client-test-embedded,mariadb-test-embedded} +%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* +%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1* %endif -%{_bindir}/mysql_client_test +%{_bindir}/{mysql_client_test,mysqltest,mariadb-client-test,mariadb-test} %{_bindir}/my_safe_process -%{_bindir}/mysqltest %attr(-,mysql,mysql) %{_datadir}/mysql-test %{_mandir}/man1/mysql_client_test.1* +%{_mandir}/man1/{mysql_client_test,mysqltest,mariadb-client-test,mariadb-test}.1* %{_mandir}/man1/my_safe_process.1* -%{_mandir}/man1/mysqltest.1* %{_mandir}/man1/mysql-stress-test.pl.1* %{_mandir}/man1/mysql-test-run.pl.1* %endif From ba578ea6c3fb7ae8bb4dcaa06329cf116aa286a2 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 17 Jan 2020 10:11:46 +0100 Subject: [PATCH 586/789] Rebase to 10.4.11 - remove the 'bench' subpackage --- mariadb.spec | 42 ++++-------------------------------------- 1 file changed, 4 insertions(+), 38 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 1ab0a7a..e94cccf 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -80,12 +80,6 @@ %bcond_without test %bcond_without galera %bcond_without backup -# Upstream no longer maintain and pack the bench subpackage -%if 0%{?fedora} -%bcond_without bench -%else -%bcond_with bench -%endif # When there is already another package that ships /etc/my.cnf, # rather include it than ship the file again, since conflicts between @@ -445,6 +439,9 @@ Provides: mysql-compat-server%{?_isa} = %{sameevr} %endif %{?with_conflicts:Conflicts: community-mysql-server} +# Bench subpackage has been deprecated in F32 +Obsoletes: %{name}-bench <= %{sameevr} + %description server MariaDB is a multi-user, multi-threaded SQL database server. It is a client/server implementation consisting of a server daemon (mysqld) @@ -642,24 +639,6 @@ the embedded version of the MariaDB server. %endif -%if %{with bench} -%package bench -Summary: MariaDB benchmark scripts and data -Requires: %{name}%{?_isa} = %{sameevr} -%if %{with mysql_names} -Provides: mysql-bench = %{sameevr} -Provides: mysql-bench%{?_isa} = %{sameevr} -%endif -%{?with_conflicts:Conflicts: community-mysql-bench} - -%description bench -MariaDB is a multi-user, multi-threaded SQL database server. -MariaDB is a community developed branch of MySQL. -This package contains benchmark scripts and data for use when benchmarking -MariaDB. -%endif - - %if %{with test} %package test Summary: The test suite distributed with MariaDB @@ -815,7 +794,6 @@ export CFLAGS CXXFLAGS CPPFLAGS -DINSTALL_PLUGINDIR="%{_lib}/%{pkg_name}/plugin" \ -DINSTALL_SBINDIR=libexec \ -DINSTALL_SCRIPTDIR=bin \ - -DINSTALL_SQLBENCHDIR=share \ -DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \ -DINSTALL_PCDIR=%{_lib}/pkgconfig \ -DMYSQL_DATADIR="%{dbdatadir}" \ @@ -1119,13 +1097,6 @@ rm %{buildroot}%{_bindir}/galera_recovery rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %endif -%if %{without bench} -rm -r %{buildroot}%{_datadir}/sql-bench -%else -# script without shebang: https://jira.mariadb.org/browse/MDEV-14266 -chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf -%endif - %if %{without rocksdb} rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}ldb.1* %endif @@ -1536,12 +1507,6 @@ fi %{_libdir}/libmariadbd.so %endif -%if %{with bench} -%files bench -%{_datadir}/sql-bench -%doc %{_datadir}/sql-bench/README -%endif - %if %{with test} %files test %if %{with embedded} @@ -1565,6 +1530,7 @@ fi * Fri Jan 17 2020 Michal Schorm - 10.4.11-1 - Rebase to 10.4.11 Related: #1756468 +- Remove 'bench' subpackage. Upstream no longer maintains it. * Fri Jan 10 2020 Michal Schorm - 10.3.21-1 - Rebase to 10.3.21 From b1bc71c1ac1bde3b48c760775af7c1cd08829c73 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 17 Jan 2020 10:29:09 +0100 Subject: [PATCH 587/789] Rebase to 10.4.11 - minor tweaks * Use Valgrind for debug builds * Remove ancient obsoletions * Tweak build flags * Add patch for auth_pam_tool directory --- mariadb-auth_pam_tool_dir.patch | 29 +++++++++++++++++++++ mariadb.spec | 45 +++++++++++++++++++++++++-------- 2 files changed, 64 insertions(+), 10 deletions(-) create mode 100644 mariadb-auth_pam_tool_dir.patch diff --git a/mariadb-auth_pam_tool_dir.patch b/mariadb-auth_pam_tool_dir.patch new file mode 100644 index 0000000..2122190 --- /dev/null +++ b/mariadb-auth_pam_tool_dir.patch @@ -0,0 +1,29 @@ +This scirpt is ran by the systemd service. +In Fedora the service has priviledges dropped to the mysql user. +Thus "chown 0" will always fail + +Never parse 'ls' output! +http://mywiki.wooledge.org/BashFAQ/087 + +--- mariadb-10.4.7/scripts/mysql_install_db.sh 2019-07-30 13:32:16.000000000 +0200 ++++ mariadb-10.4.7/scripts/mysql_install_db.sh_patched 2019-08-22 16:29:28.341484925 +0200 +@@ -490,13 +490,16 @@ then + fi + if test -z "$srcdir" + then +- chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \ +- chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" +- if test $? -ne 0 ++ if [ `stat "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" -c %u` -ne 0 ] + then ++ chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \ ++ chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" ++ if test $? -ne 0 ++ then + echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'." + echo " It must be root, the PAM authentication plugin doesn't work otherwise.." + echo ++ fi + fi + fi + args="$args --user=$user" diff --git a/mariadb.spec b/mariadb.spec index e94cccf..4d48d98 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -197,8 +197,10 @@ Patch11: %{pkgnamepatch}-pcdir.patch Patch13: %{pkgnamepatch}-spider_on_armv7hl.patch # Patch14: Remove the '-Werror' flag so the debug build won't crash on random warnings Patch14: %{pkgnamepatch}-debug_build.patch -# Patch15: Add option to edit groonga's and groonga-normalizer-mysql install path +# Patch15: Add option to edit groonga's and groonga-normalizer-mysql install path Patch15: %{pkgnamepatch}-groonga.patch +# Patch16: Workaround for "chown 0" with priviledges dropped to "mysql" user +Patch16: %{pkgnamepatch}-auth_pam_tool_dir.patch BuildRequires: cmake gcc-c++ BuildRequires: multilib-rpm-config @@ -253,6 +255,10 @@ BuildRequires: perl(Symbol) # for running some openssl tests rhbz#1189180 BuildRequires: openssl openssl-devel +%if %{with debug} +BuildRequires: valgrind-devel +%endif + Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} @@ -335,8 +341,6 @@ package itself. Summary: The shared files required by server and client Requires: %{_sysconfdir}/my.cnf -# obsoletion of mariadb-galera-common -Provides: mariadb-galera-common = %{sameevr} %if %{without clibrary} Obsoletes: %{name}-libs <= %{sameevr} @@ -373,9 +377,6 @@ Requires: lsof # Default wsrep_sst_method Requires: rsync -# obsoletion of mariadb-galera-server -Provides: mariadb-galera-server = %{sameevr} - %description server-galera MariaDB is a multi-user, multi-threaded SQL database server. It is a client/server implementation consisting of a server daemon (mysqld) @@ -685,6 +686,7 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \; %patch13 -p1 %patch14 -p1 %patch15 -p1 +%patch16 -p1 # workaround for upstream bug #56342 #rm mysql-test/t/ssl_8k_key-master.opt @@ -759,9 +761,17 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py %endif CFLAGS="$CFLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" +# force PIC mode so that we can build libmysqld.so +CFLAGS="$CFLAGS -fPIC" +%if %{with debug} # Override all optimization flags when making a debug build -%{?with_debug: CFLAGS="$CFLAGS -O0 -g"} +CFLAGS="$CFLAGS -O0 -g" +CPPFLAGS="$CPPFLAGS -O0 -g -D_FORTIFY_SOURCE=0" +# Fix GCC flags broken by MariaDB upstream +CFLAGS="$CFLAGS -Wno-error=deprecated-copy -Wno-error=pessimizing-move -Wno-error=unused-result -Wno-error=maybe-uninitialized -Wno-error=stringop-overflow -Wno-error=sign-compare" +CPPFLAGS="$CPPFLAGS -Wno-error=deprecated-copy -Wno-error=pessimizing-move -Wno-error=unused-result -Wno-error=maybe-uninitialized -Wno-error=stringop-overflow -Wno-error=sign-compare" +%endif CXXFLAGS="$CFLAGS" CPPFLAGS="$CFLAGS" @@ -969,8 +979,10 @@ install -p -m 0644 %{SOURCE16} %{basename:%{SOURCE16}} install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}} # install galera config file +%if %{with galera} sed -i -r 's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|' support-files/wsrep.cnf install -p -m 0644 support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf +%endif # install the clustercheck script mkdir -p %{buildroot}%{_sysconfdir}/sysconfig touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck @@ -1173,11 +1185,16 @@ export MTR_BUILD_THREAD=%{__isa_bits} %if %{with galera} %post server-galera -# Do what README at support-files/policy/selinux/README and upstream page -# http://galeracluster.com/documentation-webpages/firewallsettings.html recommend: -semanage port -a -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || : +# Allow ports needed for the replication: +# https://mariadb.com/kb/en/library/configuring-mariadb-galera-cluster/#network-ports +# Galera Replication Port semanage port -a -t mysqld_port_t -p tcp 4567 >/dev/null 2>&1 || : semanage port -a -t mysqld_port_t -p udp 4567 >/dev/null 2>&1 || : +# IST Port +semanage port -a -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || : +# SST Port +semanage port -a -t mysqld_port_t -p tcp 4444 >/dev/null 2>&1 || : + semodule -i %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp >/dev/null 2>&1 || : %endif @@ -1317,6 +1334,8 @@ fi %dir %{_libdir}/%{pkg_name} %dir %{_libdir}/%{pkg_name}/plugin +# Change from root:root to mysql:mysql, so it can be accessed by the server +%attr(0755,mysql,mysql) %dir %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir %{_libdir}/%{pkg_name}/plugin/* %{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so} %{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so} @@ -1373,7 +1392,9 @@ fi %doc %{_datadir}/%{name}-server/groonga-normalizer-mysql/README.md %doc %{_datadir}/%{name}-server/groonga/README.md %endif +%if %{with galera} %{_datadir}/%{pkg_name}/wsrep.cnf +%endif %{_datadir}/%{pkg_name}/wsrep_notify %dir %{_datadir}/%{pkg_name}/policy %dir %{_datadir}/%{pkg_name}/policy/selinux @@ -1531,6 +1552,10 @@ fi - Rebase to 10.4.11 Related: #1756468 - Remove 'bench' subpackage. Upstream no longer maintains it. +- Use Valgrind for debug builds +- Remove ancient obsoletions +- Tweak build flags +- Add patch for auth_pam_tool directory * Fri Jan 10 2020 Michal Schorm - 10.3.21-1 - Rebase to 10.3.21 From eb74a37ccc9b7b2c0d1cf60fc367240419fda1ac Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 17 Jan 2020 18:54:53 +0100 Subject: [PATCH 588/789] Rebase to 10.4.11 - Fix Galera Replication config file The replication requires cluster address upon startup (which is end-user specific) Disable it entirely, rather than have it failing out-of-the-box --- mariadb.spec | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index 4d48d98..d7a3608 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1001,6 +1001,13 @@ sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf. sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf %endif +# Fix Galera Replication config file +# The replication requires cluster address upon startup (which is end-user specific). +# Disable it entirely, rather than have it failing out-of-the-box. +%if %{with galera} +sed -i 's/^wsrep_on=1/wsrep_on=0/' %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf +%endif + %if %{without embedded} rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1* From 43a1c998f2397e94b91731478a235d0e6ebf6f90 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 18 Jan 2020 15:11:13 +0100 Subject: [PATCH 589/789] Rebase to 10.4.11 - Update lists of failing tests --- rh-skipped-tests-arm.list | 24 ------------------------ rh-skipped-tests-base.list | 32 +++++++++++++++----------------- rh-skipped-tests-ppc.list | 2 -- rh-skipped-tests-s390.list | 6 ++---- 4 files changed, 17 insertions(+), 47 deletions(-) diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index e235e76..ec37d1b 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -1,26 +1,2 @@ -# Fails since 10.3.8, only on armv7hl -versioning.auto_increment : -versioning.commit_id : -versioning.delete : -versioning.foreign : -versioning.insert : -versioning.insert2 : -versioning.select2 : -versioning.update : -# Fails since 10.3.9, only on armv7hl -versioning.alter : -versioning.replace : -versioning.select : -versioning.truncate : -versioning.trx_id : # Fails since 10.3.17, only on armv7hl -versioning.online : versioning.partition : -versioning.replace : - - -# Fails since 10.3.9, only on armv7hl -federated.federatedx_versioning : - -# Fails from 10.3.17 only on armv7hl -mariabackup.system_versioning : \ No newline at end of file diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index eb84580..2b101f5 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -4,10 +4,6 @@ main.ssl_7937 : #1399847 main.ssl_8k_key : main.ssl_crl : #1399847 -perfschema.nesting : #1399847 -perfschema.socket_summary_by_instance_func : #1399847 -perfschema.socket_summary_by_event_name_func : - # ------------------------------ # Tests that fails because of 'Self Signed Certificate in the Certificate Chain' perfschema.cnf_option : @@ -18,6 +14,16 @@ rpl.rpl_row_img_eng_noblob : sys_vars.slave_parallel_threads_basic : +# ------------------------------ +# Expected to fail, the plugin is not build with server, but 'mariadb-connector-c' instead +plugins.auth_ed25519 : +plugins.multiauth : + +# ------------------------------ +perfschema.nesting : #1399847 +perfschema.socket_summary_by_instance_func : #1399847 +perfschema.socket_summary_by_event_name_func : + # ------------------------------ # Fails since 10.1.12 innodb.innodb_defrag_binlog : @@ -25,17 +31,9 @@ innodb.innodb_defrag_binlog : # Fails everywhere since 10.2.15 main.userstat : -# Fails on x86_64 since 10.2.15 -rocksdb.bulk_load : -rocksdb.bulk_load_rev_cf : -rocksdb.bulk_load_rev_cf_and_data : -rocksdb.bulk_load_rev_data : +# Fails everywhere since 10.4.11 +main.events_bugs : +sys_vars.tcp_nodelay : -# Fails everywhere from 10.3.16 -main.mysql : - -# Fails everywhere from 10.3.17 -versioning.update-big : - -# Expected to fail, the plugin is not build with server, but 'mariadb-connector-c' instead -plugins.auth_ed25519 : \ No newline at end of file +# Fails on i686 +encryption.innodb-redo-badkey : diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index 53e80b8..e69de29 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -1,2 +0,0 @@ -# Fails from 10.3.17 -innodb.innodb_buffer_pool_resize : diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list index 2d82f8a..a7573da 100644 --- a/rh-skipped-tests-s390.list +++ b/rh-skipped-tests-s390.list @@ -1,6 +1,4 @@ # Fails since 10.2.15 disks.disks : -# Fails since 10.3.17 -disks.disks_notemysql-test-run : -innodb.innodb_defrag_binlog : -innodb.trx_id_future : \ No newline at end of file +# Fails since 10.4.11 +disks.disks_notembedded : From ced66e28de5e6a3af2d332ad3fe899dee40e5704 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 29 Jan 2020 12:03:48 +0000 Subject: [PATCH 590/789] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index d7a3608..1d40258 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -147,7 +147,7 @@ Name: mariadb Version: 10.4.11 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1555,6 +1555,9 @@ fi %endif %changelog +* Wed Jan 29 2020 Fedora Release Engineering - 3:10.4.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Fri Jan 17 2020 Michal Schorm - 10.4.11-1 - Rebase to 10.4.11 Related: #1756468 From 55406c8293f2a1d7e0e9a59ce754e8870a5f7bcd Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 7 Feb 2020 14:34:26 +0100 Subject: [PATCH 591/789] Rebase to 10.4.12 --- mariadb-auth_pam_tool_dir.patch | 16 ++++++++-------- mariadb.spec | 11 +++++++++-- rh-skipped-tests-ppc.list | 2 ++ sources | 2 +- 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/mariadb-auth_pam_tool_dir.patch b/mariadb-auth_pam_tool_dir.patch index 2122190..6334812 100644 --- a/mariadb-auth_pam_tool_dir.patch +++ b/mariadb-auth_pam_tool_dir.patch @@ -5,11 +5,11 @@ Thus "chown 0" will always fail Never parse 'ls' output! http://mywiki.wooledge.org/BashFAQ/087 ---- mariadb-10.4.7/scripts/mysql_install_db.sh 2019-07-30 13:32:16.000000000 +0200 -+++ mariadb-10.4.7/scripts/mysql_install_db.sh_patched 2019-08-22 16:29:28.341484925 +0200 -@@ -490,13 +490,16 @@ then - fi - if test -z "$srcdir" +--- mariadb-10.4.12/scripts/mysql_install_db.sh 2020-01-26 21:43:53.000000000 +0100 ++++ mariadb-10.4.12/scripts/mysql_install_db.sh_patched 2020-01-29 11:11:09.448812331 +0100 +@@ -482,13 +482,16 @@ if test -n "$user" + then + if test -z "$srcdir" -a "$in_rpm" -eq 0 then - chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \ - chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" @@ -21,9 +21,9 @@ http://mywiki.wooledge.org/BashFAQ/087 + if test $? -ne 0 + then echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'." - echo " It must be root, the PAM authentication plugin doesn't work otherwise.." + echo "It must be root, the PAM authentication plugin doesn't work otherwise.." echo + fi fi - fi - args="$args --user=$user" + chown $user "$pamtooldir/auth_pam_tool_dir" && \ + chmod 0700 "$pamtooldir/auth_pam_tool_dir" diff --git a/mariadb.spec b/mariadb.spec index 1d40258..ca6c53f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -146,8 +146,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.4.11 -Release: 2%{?with_debug:.debug}%{?dist} +Version: 10.4.12 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -993,6 +993,8 @@ rm %{buildroot}%{logrotateddir}/mysql # Remove AppArmor files rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor +mv %{buildroot}/lib/security %{buildroot}%{_libdir} + # Disable plugins %if %{with gssapi} sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/auth_gssapi.cnf @@ -1343,6 +1345,8 @@ fi %dir %{_libdir}/%{pkg_name}/plugin # Change from root:root to mysql:mysql, so it can be accessed by the server %attr(0755,mysql,mysql) %dir %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir +%{_libdir}/security/pam_user_map.so +%{_sysconfdir}/security/user_map.conf %{_libdir}/%{pkg_name}/plugin/* %{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so} %{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so} @@ -1555,6 +1559,9 @@ fi %endif %changelog +* Thu Feb 06 2020 Michal Schorm - 10.4.12-1 +- Rebase to 10.4.12 + * Wed Jan 29 2020 Fedora Release Engineering - 3:10.4.11-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index e69de29..ceff217 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -0,0 +1,2 @@ +# Fails on ppc64le since 10.4.12 +oqgraph.social : diff --git a/sources b/sources index dfbf8f0..e1aa5e9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.4.11.tar.gz) = 2a1a8d90e326530b41a8a7d6889325cefcba5914451a48c6a20d5d5cd68004835e76e6ecac628554167a014f9c0b1487c15f37151afd771ea0166a4c40afd7d2 +SHA512 (mariadb-10.4.12.tar.gz) = 518dae18c04a1f7fcc6fd4d2dfbfbfbdf5e83e72ca41e66e1074328df8d92ab41b458e6a9973771419ac09a7348f264f158916cd198c335085d6e823e707bbc6 From 0e21d7319c0e8d7aaa3f49c279ccf802e5393f36 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 10 Mar 2020 09:29:49 +0100 Subject: [PATCH 592/789] Update the fix for building in the debug mode Upstream tracker: https://jira.mariadb.org/browse/MDEV-19740 --- mariadb-debug_build.patch | 28 ---------------------------- mariadb.spec | 34 ++++++++++++++++++++++++---------- 2 files changed, 24 insertions(+), 38 deletions(-) delete mode 100644 mariadb-debug_build.patch diff --git a/mariadb-debug_build.patch b/mariadb-debug_build.patch deleted file mode 100644 index e3cfc69..0000000 --- a/mariadb-debug_build.patch +++ /dev/null @@ -1,28 +0,0 @@ -Remove the '-Werror' GCC compilation flag, so the debug build compilation won't crash on random warnings. - -'-Werror' is not your friend: -https://embeddedartistry.com/blog/2017/5/3/-werror-is-not-your-friend - ---- mariadb-10.3.17/cmake/maintainer.cmake 2019-07-28 02:18:30.000000000 +0200 -+++ mariadb-10.3.17/cmake/maintainer.cmake_patched 2019-09-03 13:41:49.082088685 +0200 -@@ -33,7 +33,6 @@ SET(MY_WARNING_FLAGS - -Wnon-virtual-dtor - -Wvla - -Wwrite-strings -- -Werror - ) - - IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_C_COMPILER_VERSION VERSION_LESS "6.0.0") ---- mariadb-10.3.17/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake 2019-07-28 02:18:32.000000000 +0200 -+++ mariadb-10.3.17/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake_patched 2019-09-03 13:53:51.813324055 +0200 -@@ -163,8 +163,8 @@ if (NOT CMAKE_CXX_COMPILER_ID STREQUAL C - endif () - - ## always want these in debug builds --set(CMAKE_C_FLAGS_DEBUG "-Wall -Werror ${CMAKE_C_FLAGS_DEBUG}") --set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Werror ${CMAKE_CXX_FLAGS_DEBUG}") -+set(CMAKE_C_FLAGS_DEBUG "-Wall ${CMAKE_C_FLAGS_DEBUG}") -+set(CMAKE_CXX_FLAGS_DEBUG "-Wall ${CMAKE_CXX_FLAGS_DEBUG}") - - # pick language dialect - set(CMAKE_C_FLAGS "-std=c99 ${CMAKE_C_FLAGS}") diff --git a/mariadb.spec b/mariadb.spec index ca6c53f..14ac2d1 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -147,7 +147,7 @@ Name: mariadb Version: 10.4.12 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -195,8 +195,6 @@ Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch Patch11: %{pkgnamepatch}-pcdir.patch # Patch13: Fix Spider code on armv7hl; https://jira.mariadb.org/browse/MDEV-18737 Patch13: %{pkgnamepatch}-spider_on_armv7hl.patch -# Patch14: Remove the '-Werror' flag so the debug build won't crash on random warnings -Patch14: %{pkgnamepatch}-debug_build.patch # Patch15: Add option to edit groonga's and groonga-normalizer-mysql install path Patch15: %{pkgnamepatch}-groonga.patch # Patch16: Workaround for "chown 0" with priviledges dropped to "mysql" user @@ -684,7 +682,6 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \; %patch10 -p1 %patch11 -p1 %patch13 -p1 -%patch14 -p1 %patch15 -p1 %patch16 -p1 @@ -766,15 +763,29 @@ CFLAGS="$CFLAGS -fPIC" %if %{with debug} # Override all optimization flags when making a debug build -CFLAGS="$CFLAGS -O0 -g" -CPPFLAGS="$CPPFLAGS -O0 -g -D_FORTIFY_SOURCE=0" -# Fix GCC flags broken by MariaDB upstream -CFLAGS="$CFLAGS -Wno-error=deprecated-copy -Wno-error=pessimizing-move -Wno-error=unused-result -Wno-error=maybe-uninitialized -Wno-error=stringop-overflow -Wno-error=sign-compare" -CPPFLAGS="$CPPFLAGS -Wno-error=deprecated-copy -Wno-error=pessimizing-move -Wno-error=unused-result -Wno-error=maybe-uninitialized -Wno-error=stringop-overflow -Wno-error=sign-compare" -%endif +# -D_FORTIFY_SOURCE requires optimizations enabled. Disable the fortify. +CFLAGS=`echo "$CFLAGS" | sed -r 's/-D_FORTIFY_SOURCE=[012]/-D_FORTIFY_SOURCE=0/'` +CFLAGS=`echo "$CFLAGS" | sed -r 's/-O[0123]//'` + +CFLAGS="$CFLAGS -O0 -g -D_FORTIFY_SOURCE=0" + +# Fixes for Fedora 32 & Rawhide (GCC 10.0): +%if 0%{?fedora} >= 32 +CFLAGS="$CFLAGS -Wno-error=class-memaccess" +%endif # f32 + +%endif # debug CXXFLAGS="$CFLAGS" CPPFLAGS="$CFLAGS" + +# CFLAGS specific "-Wno-error" +%if %{with debug} +%if 0%{?fedora} >= 32 +CFLAGS="$CFLAGS -Wno-error=enum-conversion" +%endif # f32 +%endif # debug + export CFLAGS CXXFLAGS CPPFLAGS @@ -1559,6 +1570,9 @@ fi %endif %changelog +* Tue Mar 10 2020 Michal Schorm - 10.4.12-2 +- Update the fix for building in the debug mode + * Thu Feb 06 2020 Michal Schorm - 10.4.12-1 - Rebase to 10.4.12 From 5ef66fdfa5f8e513ff015afa5c58d1d393fedaf7 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 16 Mar 2020 04:58:29 +0100 Subject: [PATCH 593/789] Rebase mariadb-connector-c git submodule to commit fbf1db6 For fix: https://jira.mariadb.org/browse/CONC-441 --- mariadb.spec | 10 ++++++++-- sources | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 14ac2d1..2af4469 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -11,7 +11,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.4.11 +%global last_tested_version 10.4.12 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -147,7 +147,7 @@ Name: mariadb Version: 10.4.12 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -675,6 +675,8 @@ sources. # Remove JAR files that upstream puts into tarball find . -name "*.jar" -type f -exec rm --verbose -f {} \; +rm -rf libmariadb/unittest + %patch2 -p1 %patch4 -p1 %patch7 -p1 @@ -1570,6 +1572,10 @@ fi %endif %changelog +* Mon Mar 16 2020 Michal Schorm - 10.4.12-3 +- Rebase mariadb-connector-c git submodule to commit fbf1db6 + For fix: https://jira.mariadb.org/browse/CONC-441 + * Tue Mar 10 2020 Michal Schorm - 10.4.12-2 - Update the fix for building in the debug mode diff --git a/sources b/sources index e1aa5e9..5a2560f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.4.12.tar.gz) = 518dae18c04a1f7fcc6fd4d2dfbfbfbdf5e83e72ca41e66e1074328df8d92ab41b458e6a9973771419ac09a7348f264f158916cd198c335085d6e823e707bbc6 +SHA512 (mariadb-10.4.12.tar.gz) = f26c45bbab765c979bbdb748da10ee314c1494e2ad7df7523bf4020b5f5036c06242739c1877fa0a21defcdd27f498cfff730289486ce9ced09d5740f3594657 From 3731874e5eafb1e30971ce6c3e77da710f2b67c3 Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Fri, 27 Mar 2020 08:37:56 +0100 Subject: [PATCH 594/789] Add perl dependencies needed for tests --- mariadb.spec | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 2af4469..079ebd5 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -147,7 +147,7 @@ Name: mariadb Version: 10.4.12 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -237,19 +237,39 @@ BuildRequires: python3 # Tests requires time and ps and some perl modules BuildRequires: procps BuildRequires: time +BuildRequires: perl(base) +BuildRequires: perl(Cwd) +BuildRequires: perl(Data::Dumper) +BuildRequires: perl(English) BuildRequires: perl(Env) +BuildRequires: perl(Errno) BuildRequires: perl(Exporter) BuildRequires: perl(Fcntl) +BuildRequires: perl(File::Basename) +BuildRequires: perl(File::Copy) +BuildRequires: perl(File::Find) +BuildRequires: perl(File::Spec) +BuildRequires: perl(File::Spec::Functions) BuildRequires: perl(File::Temp) -BuildRequires: perl(Data::Dumper) BuildRequires: perl(Getopt::Long) +BuildRequires: perl(IO::File) +BuildRequires: perl(IO::Handle) +BuildRequires: perl(IO::Select) +BuildRequires: perl(IO::Socket) +BuildRequires: perl(IO::Socket::INET) BuildRequires: perl(IPC::Open3) +BuildRequires: perl(lib) BuildRequires: perl(Memoize) +BuildRequires: perl(POSIX) BuildRequires: perl(Socket) +BuildRequires: perl(strict) +BuildRequires: perl(Symbol) BuildRequires: perl(Sys::Hostname) +BuildRequires: perl(Term::ANSIColor) BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) -BuildRequires: perl(Symbol) +BuildRequires: perl(Time::localtime) +BuildRequires: perl(warnings) # for running some openssl tests rhbz#1189180 BuildRequires: openssl openssl-devel @@ -1572,6 +1592,9 @@ fi %endif %changelog +* Thu Mar 26 2020 Jitka Plesnikova - 10.4.12-4 +- Add perl dependencies needed for tests + * Mon Mar 16 2020 Michal Schorm - 10.4.12-3 - Rebase mariadb-connector-c git submodule to commit fbf1db6 For fix: https://jira.mariadb.org/browse/CONC-441 From 333a690a999f61dc03f7affd326b579f5066d4cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Thu, 2 Apr 2020 13:05:45 +0200 Subject: [PATCH 595/789] Fix string quoting for rpm >= 4.16 --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 079ebd5..eaea90a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -39,7 +39,7 @@ # https://mariadb.com/kb/en/library/about-myrocks-for-mariadb/ # RocksDB engine is available only for x86_64 # RocksDB may be built with jemalloc, if specified in CMake -%if %_arch == x86_64 && 0%{?fedora} +%if "%_arch" == "x86_64" && 0%{?fedora} %bcond_without tokudb %bcond_without mroonga %bcond_without rocksdb From 6fa3c4c473a1fa621852a88f16a8d1420bc05f58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Thu, 2 Apr 2020 13:32:14 +0200 Subject: [PATCH 596/789] Bump release --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index eaea90a..b0dfbdf 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -147,7 +147,7 @@ Name: mariadb Version: 10.4.12 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1592,6 +1592,9 @@ fi %endif %changelog +* Thu Apr 02 2020 Björn Esser - 3:10.4.12-5 +- Fix string quoting for rpm >= 4.16 + * Thu Mar 26 2020 Jitka Plesnikova - 10.4.12-4 - Add perl dependencies needed for tests From a68c79f1514e25c844d0f2e0996745e1a94c79db Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 22 Jan 2020 13:13:33 +0100 Subject: [PATCH 597/789] Rebase to 10.5.0 - Alpha --- mariadb-10.5.0-libsql_builtins.patch | 14 ++++++++++++++ mariadb.spec | 12 +++++++++--- sources | 2 +- 3 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 mariadb-10.5.0-libsql_builtins.patch diff --git a/mariadb-10.5.0-libsql_builtins.patch b/mariadb-10.5.0-libsql_builtins.patch new file mode 100644 index 0000000..b29ddba --- /dev/null +++ b/mariadb-10.5.0-libsql_builtins.patch @@ -0,0 +1,14 @@ +Based on this upstream commit: +https://github.com/MariaDB/server/commit/92d6c13206b199f24384ed2504ed479b0f59c314 + +--- mariadb-10.5.0/sql/CMakeLists.txt 2019-11-28 16:19:01.000000000 +0100 ++++ mariadb-10.5.0/sql/CMakeLists.txt_patched 2020-01-22 00:52:28.858844312 +0100 +@@ -277,7 +277,7 @@ IF(MSVC AND NOT WITHOUT_DYNAMIC_PLUGINS) + SET_TARGET_PROPERTIES(mysqld_import_lib PROPERTIES IMPORTED_LOCATION ${MYSQLD_LIB}) + ENDIF() + +-ADD_LIBRARY( sql_builtins ${CMAKE_CURRENT_BINARY_DIR}/sql_builtin.cc) ++ADD_LIBRARY(sql_builtins STATIC ${CMAKE_CURRENT_BINARY_DIR}/sql_builtin.cc) + TARGET_LINK_LIBRARIES(sql_builtins ${MYSQLD_STATIC_PLUGIN_LIBS}) + + MYSQL_ADD_EXECUTABLE(mysqld ${MYSQLD_SOURCE} DESTINATION ${INSTALL_SBINDIR} COMPONENT Server) diff --git a/mariadb.spec b/mariadb.spec index b0dfbdf..496adde 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -146,8 +146,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.4.12 -Release: 5%{?with_debug:.debug}%{?dist} +Version: 10.5.0 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -199,6 +199,8 @@ Patch13: %{pkgnamepatch}-spider_on_armv7hl.patch Patch15: %{pkgnamepatch}-groonga.patch # Patch16: Workaround for "chown 0" with priviledges dropped to "mysql" user Patch16: %{pkgnamepatch}-auth_pam_tool_dir.patch +# Patch17: Fix of an upstream bug. Fixed in the next (10.5.1) version. +Patch17: %{pkgnamepatch}-10.5.0-libsql_builtins.patch BuildRequires: cmake gcc-c++ BuildRequires: multilib-rpm-config @@ -703,9 +705,10 @@ rm -rf libmariadb/unittest %patch9 -p1 %patch10 -p1 %patch11 -p1 -%patch13 -p1 +#%patch13 -p1 %patch15 -p1 %patch16 -p1 +%patch17 -p1 # workaround for upstream bug #56342 #rm mysql-test/t/ssl_8k_key-master.opt @@ -1592,6 +1595,9 @@ fi %endif %changelog +* Thu Apr 09 2020 Michal Schorm - 10.5.0-1 +- Test rebase to 10.5.0 - Alpha + * Thu Apr 02 2020 Björn Esser - 3:10.4.12-5 - Fix string quoting for rpm >= 4.16 diff --git a/sources b/sources index 5a2560f..96ad160 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.4.12.tar.gz) = f26c45bbab765c979bbdb748da10ee314c1494e2ad7df7523bf4020b5f5036c06242739c1877fa0a21defcdd27f498cfff730289486ce9ced09d5740f3594657 +SHA512 (mariadb-10.5.0.tar.gz) = ed7226a0e0b8d0aa435691a43f457bf338b484fc2dd893b8490c65bf99915a089e6c91a86687ef2eaa3728d83a91f5c0dfd7b8ddbefec79f9ad4cd7074bda4c5 From 109843b4fdc811c2b480a46da932cdf780c0171e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 25 Feb 2020 12:13:50 +0100 Subject: [PATCH 598/789] Rebase to 10.5.1 - Beta Update to build against PCRE2 --- mariadb.spec | 59 ++++++++++++++++++++++++---------------------------- sources | 2 +- 2 files changed, 28 insertions(+), 33 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 496adde..02445ec 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -11,7 +11,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.4.12 +%global last_tested_version 10.5.1 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -98,13 +98,13 @@ -# MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use +# MariaDB 10.0 and later requires pcre >= 10.34, otherwise we need to use # the bundled library, since the package cannot be build with older version %if 0%{?fedora} || 0%{?rhel} > 7 %bcond_without unbundled_pcre %else %bcond_with unbundled_pcre -%global pcre_bundled_version 8.43 +%global pcre_bundled_version 10.34 %endif # Use main python interpretter version @@ -146,7 +146,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.0 +Version: 10.5.1 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -199,8 +199,6 @@ Patch13: %{pkgnamepatch}-spider_on_armv7hl.patch Patch15: %{pkgnamepatch}-groonga.patch # Patch16: Workaround for "chown 0" with priviledges dropped to "mysql" user Patch16: %{pkgnamepatch}-auth_pam_tool_dir.patch -# Patch17: Fix of an upstream bug. Fixed in the next (10.5.1) version. -Patch17: %{pkgnamepatch}-10.5.0-libsql_builtins.patch BuildRequires: cmake gcc-c++ BuildRequires: multilib-rpm-config @@ -226,9 +224,9 @@ BuildRequires: bison bison-devel # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel -# use either new enough version of pcre or provide bundles(pcre) -%{?with_unbundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf} -%{!?with_unbundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}} +# use either new enough version of pcre2 or provide bundles(pcre2) +%{?with_unbundled_pcre:BuildRequires: pcre2-devel >= 10.34 pkgconf} +%{!?with_unbundled_pcre:Provides: bundled(pcre2) = %{pcre_bundled_version}} # Few utilities needs Perl %if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: perl-interpreter @@ -708,7 +706,6 @@ rm -rf libmariadb/unittest #%patch13 -p1 %patch15 -p1 %patch16 -p1 -%patch17 -p1 # workaround for upstream bug #56342 #rm mysql-test/t/ssl_8k_key-master.opt @@ -740,26 +737,23 @@ sed 's/mariadb-server-galera/%{name}-server-galera/' %{SOURCE72} > selinux/%{nam # Get version of PCRE, that upstream use -pcre_maj=`grep '^m4_define(pcre_major' pcre/configure.ac | sed -r 's/^m4_define\(pcre_major, \[([0-9]+)\]\)/\1/'` -pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\(pcre_minor, \[([0-9]+)\]\)/\1/'` +pcre_version=`grep -e "ftp.pcre.org/pub/pcre/pcre2" cmake/pcre.cmake | sed -r "s;[^0123456789]*2-([[:digit:]]+\.[[:digit:]]+)\.[^0123456789]*;\1;"` -%if %{without unbundled_pcre} # Check if the PCRE version in macro 'pcre_bundled_version', used in Provides: bundled(...), is the same version as upstream actually bundles -if [ %{pcre_bundled_version} != "$pcre_maj.$pcre_min" ] -then - echo "\n Error: Bundled PCRE version is not correct. \n\tBundled version number:%{pcre_bundled_version} \n\tUpstream version number: $pcre_maj.$pcre_min\n" +%if %{without unbundled_pcre} +if [ %{pcre_bundled_version} != "$pcre_version" ] ; then + echo "\n Error: Bundled PCRE version is not correct. \n\tBundled version number:%{pcre_bundled_version} \n\tUpstream version number: $pcre_version\n" exit 1 fi %else # Check if the PCRE version that upstream use, is the same as the one present in system -pcre_system_version=`pkgconf %{_libdir}/pkgconfig/libpcre.pc --modversion 2>/dev/null ` -if [ "$pcre_system_version" != "$pcre_maj.$pcre_min" ] -then - echo "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_maj.$pcre_min\n" +pcre_system_version=`pkgconf %{_libdir}/pkgconfig/libpcre2-*.pc --modversion 2>/dev/null | head -n 1` + +if [ "$pcre_system_version" != "$pcre_version" ] ; then + echo "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_version\n" fi %endif - %if %{without rocksdb} rm -r storage/rocksdb/ %endif @@ -942,17 +936,12 @@ rm scripts/my.cnf # use different config file name for each variant of server (mariadb / mysql) mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf -# Rename sysusers and tmpfiles config files, they should be named after the software they belong to -mv %{buildroot}%{_sysusersdir}/sysusers.conf %{buildroot}%{_sysusersdir}/%{name}.conf - # remove SysV init script and a symlink to that, we use systemd rm %{buildroot}%{_libexecdir}/rcmysql # install systemd unit files and scripts for handling server startup install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service -# Remove the upstream version -rm %{buildroot}%{_tmpfilesdir}/tmpfiles.conf -# Install downstream version +# Install downstream version of tmpfiles install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?mysqld_pid_dir:1} echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf @@ -1029,7 +1018,12 @@ rm %{buildroot}%{logrotateddir}/mysql # Remove AppArmor files rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor +# Buildroot does not have symlink /lib64 --> /usr/lib64 +%if %{__isa_bits} == 64 && 0%{?fedora} +mv %{buildroot}/lib64/security %{buildroot}%{_libdir} +%else mv %{buildroot}/lib/security %{buildroot}%{_libdir} +%endif # Disable plugins %if %{with gssapi} @@ -1104,11 +1098,7 @@ rm %{buildroot}%{_mandir}/man1/mysql{access,admin,binlog,check,dump,_find_rows,i rm %{buildroot}%{_mandir}/man1/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}.1* %endif -%if %{without tokudb} -# because upstream ships manpages for tokudb even on architectures that tokudb doesn't support -rm %{buildroot}%{_mandir}/man1/tokuftdump.1* -rm %{buildroot}%{_mandir}/man1/tokuft_logprint.1* -%else +%if %{with tokudb} %if 0%{?fedora} || 0%{?rhel} > 7 # Move the upstream file to the correct location mkdir -p %{buildroot}%{_unitdir}/mariadb.service.d @@ -1355,6 +1345,8 @@ fi %{_bindir}/myisampack %{_bindir}/my_print_defaults +%{_bindir}/mariadb-conv + %{_bindir}/mysql_{install_db,secure_installation,tzinfo_to_sql} %{_bindir}/mariadb-{install-db,secure-installation,tzinfo-to-sql} %{_bindir}/{mysqld_,mariadbd-}safe @@ -1595,6 +1587,9 @@ fi %endif %changelog +* Thu Apr 09 2020 Michal Schorm - 10.5.1-1 +- Test rebase to 10.5.1 - Beta + * Thu Apr 09 2020 Michal Schorm - 10.5.0-1 - Test rebase to 10.5.0 - Alpha diff --git a/sources b/sources index 96ad160..59c9f1f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.0.tar.gz) = ed7226a0e0b8d0aa435691a43f457bf338b484fc2dd893b8490c65bf99915a089e6c91a86687ef2eaa3728d83a91f5c0dfd7b8ddbefec79f9ad4cd7074bda4c5 +SHA512 (mariadb-10.5.1.tar.gz) = eef4986fa0ff70b77d9d083ccbe6738d7bfda4236e3098bf37cd41034732cc8a8150a25be19ffb67849d9b29c5f1126c5b38e10e6a1afd9eb8d6d266b3638fb2 From 21fb29f9a18edab72de3ea9a04f902ba0231720b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 9 Apr 2020 03:42:54 +0200 Subject: [PATCH 599/789] Rebase to 10.5.2 - Beta TokuDB SE has been deprecated https://jira.mariadb.org/browse/MDEV-19780 --- mariadb-ownsetup.patch | 10 +++++----- mariadb-pcdir.patch | 9 ++++----- mariadb-scripts.patch | 9 +++++---- mariadb.spec | 19 ++++++++++++++++--- rh-skipped-tests-base.list | 3 +++ sources | 2 +- 6 files changed, 34 insertions(+), 18 deletions(-) diff --git a/mariadb-ownsetup.patch b/mariadb-ownsetup.patch index 23dcba8..7b6f609 100644 --- a/mariadb-ownsetup.patch +++ b/mariadb-ownsetup.patch @@ -1,12 +1,12 @@ -diff -up mariadb-10.1.8/support-files/CMakeLists.txt.p9 mariadb-10.1.8/support-files/CMakeLists.txt ---- mariadb-10.1.8/support-files/CMakeLists.txt.p9 2015-11-03 11:38:46.029139464 +0100 -+++ mariadb-10.1.8/support-files/CMakeLists.txt 2015-11-03 11:41:07.107605055 +0100 -@@ -62,6 +62,7 @@ IF(UNIX) +diff -Naup mariadb-10.1.8/support-files/CMakeLists.txt mariadb-10.1.8/support-files/CMakeLists.txt_patched +--- mariadb-10.5.2/support-files/CMakeLists.txt 2020-03-25 11:13:19.000000000 +0100 ++++ mariadb-10.5.2/support-files/CMakeLists.txt_patched 2020-04-01 01:29:52.140847301 +0200 +@@ -91,6 +91,7 @@ IF(UNIX) ENDIF() CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY) + CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_LIBDIR}/pkgconfig COMPONENT Development) INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) diff -up mariadb-10.1.8/support-files/rpm/server.cnf.p9 mariadb-10.1.8/support-files/rpm/server.cnf diff --git a/mariadb-pcdir.patch b/mariadb-pcdir.patch index d9a8a78..87b70b2 100644 --- a/mariadb-pcdir.patch +++ b/mariadb-pcdir.patch @@ -3,18 +3,17 @@ Use PCDIR CMake option, if configured Upstream install the server pkgconfig file into arch-independent directory Reported to upstream as: https://jira.mariadb.org/browse/MDEV-14340 ---- mariadb-10.3.12/support-files/CMakeLists.txt 2019-03-20 15:25:53.423283135 +0100 -+++ mariadb-10.3.12/support-files/CMakeLists.txt_patched 2019-03-20 15:38:56.372819958 +0100 -@@ -82,7 +82,12 @@ IF(UNIX) +--- mariadb-10.5.2/support-files/CMakeLists.txt 2020-04-01 01:31:21.426832942 +0200 ++++ mariadb-10.5.2/support-files/CMakeLists.txt_patched 2020-04-01 01:35:05.808309914 +0200 +@@ -92,7 +92,11 @@ IF(UNIX) CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY) CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY) +IF(INSTALL_PCDIR) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_PCDIR} COMPONENT Development) +ELSE() - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_LIBDIR}/pkgconfig COMPONENT Development) +ENDIF() -+ INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index b684482..19f576e 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -1,11 +1,12 @@ We have some downstream patches and other scripts that include variables to be expanded by cmake. Cmake needs to know about them, so adding them manually. ---- mariadb-10.3.8/scripts/CMakeLists.txt 2018-07-02 09:34:11.000000000 +0200 -+++ mariadb-10.3.8/scripts/CMakeLists.txt_patched 2018-07-03 10:58:15.954670153 +0200 -@@ -361,6 +361,34 @@ ELSE() + # Install libgcc as mylibgcc.a +--- mariadb-10.5.2/scripts/CMakeLists.txt 2020-03-25 11:13:17.000000000 +0100 ++++ mariadb-10.5.2/scripts/CMakeLists.txt_patched 2020-04-01 01:26:59.398940396 +0200 +@@ -377,6 +377,34 @@ ELSE() COMPONENT ${${file}_COMPONENT} - ) + ) ENDFOREACH() + + # files for systemd diff --git a/mariadb.spec b/mariadb.spec index 02445ec..8b5c8d5 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -28,9 +28,10 @@ -# TokuDB engine +# TokuDB engine - DEPRECATED ! # https://mariadb.com/kb/en/mariadb/tokudb/ # TokuDB engine is available only for x86_64 +# The Percona upstream deprecated the SE. It is not part of MariaDB 10.5 # Mroonga engine # https://mariadb.com/kb/en/mariadb/about-mroonga/ # Current version in MariaDB, 7.07, only supports the x86_64 @@ -40,7 +41,8 @@ # RocksDB engine is available only for x86_64 # RocksDB may be built with jemalloc, if specified in CMake %if "%_arch" == "x86_64" && 0%{?fedora} -%bcond_without tokudb +# TokuDB is deprecated in MariaDB 10.5 and later +%bcond_with tokudb %bcond_without mroonga %bcond_without rocksdb %else @@ -146,7 +148,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.1 +Version: 10.5.2 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -990,6 +992,10 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server # Binary for monitoring MySQL performance # Shipped as a standalone package in Fedora rm %{buildroot}%{_bindir}/mytop +rm %{buildroot}%{_mandir}/man1/mytop.1* + +# Should be shipped with mariadb-connector-c +rm %{buildroot}%{_mandir}/man1/mariadb-config.1* # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} @@ -1398,6 +1404,8 @@ fi %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/my_print_defaults.1* +%{_mandir}/man1/mariadb-conv.1* + %{_mandir}/man1/mysql_{install_db,secure_installation,tzinfo_to_sql}.1* %{_mandir}/man1/mariadb-{install-db,secure-installation,tzinfo-to-sql}.1* %{_mandir}/man1/{mysqld_,mariadbd-}safe.1* @@ -1487,6 +1495,7 @@ fi %{_bindir}/sst_dump %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so %{_mandir}/man1/{mysql_,mariadb-}ldb.1* +%{_mandir}/man1/myrocks_hotbackup.1* %endif %if %{with tokudb} @@ -1587,6 +1596,10 @@ fi %endif %changelog +* Thu Apr 09 2020 Michal Schorm - 10.5.2-1 +- Test rebase to 10.5.2 - Beta +- TokuDB SE has been deprecated + * Thu Apr 09 2020 Michal Schorm - 10.5.1-1 - Test rebase to 10.5.1 - Beta diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 2b101f5..ed154af 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -37,3 +37,6 @@ sys_vars.tcp_nodelay : # Fails on i686 encryption.innodb-redo-badkey : + +# Fails since 10.5.2 +main.mysqld--help2 : diff --git a/sources b/sources index 59c9f1f..ce5a492 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.1.tar.gz) = eef4986fa0ff70b77d9d083ccbe6738d7bfda4236e3098bf37cd41034732cc8a8150a25be19ffb67849d9b29c5f1126c5b38e10e6a1afd9eb8d6d266b3638fb2 +SHA512 (mariadb-10.5.2.tar.gz) = 7abfc4a5543c35ab49ca164a998ed4b31326cb63f57b15449a5de3b62523d99535f378c8a39835f1e8563cf0cea7fd96b13e4f089cbd1546b5e25256c5f9832f From 8e28ecd51138c15bb2f74877978e93fc7f450696 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 9 Apr 2020 19:08:44 +0200 Subject: [PATCH 600/789] Aditional fix of string quoting for rpm >= 4.16 --- mariadb.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 8b5c8d5..10c1bfb 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1025,7 +1025,7 @@ rm %{buildroot}%{logrotateddir}/mysql rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor # Buildroot does not have symlink /lib64 --> /usr/lib64 -%if %{__isa_bits} == 64 && 0%{?fedora} +%if "%{__isa_bits}" == 64 && 0%{?fedora} mv %{buildroot}/lib64/security %{buildroot}%{_libdir} %else mv %{buildroot}/lib/security %{buildroot}%{_libdir} @@ -1160,7 +1160,7 @@ rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}ldb.1* # hack to let 32- and 64-bit tests run concurrently on same build machine export MTR_PARALLEL=1 # builds might happen at the same host, avoid collision -export MTR_BUILD_THREAD=%{__isa_bits} +export MTR_BUILD_THREAD="%{__isa_bits}" # 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 From b44b18ea82af5df3595f0e6ef60519ee781254d6 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 14 Apr 2020 15:15:32 +0200 Subject: [PATCH 601/789] Revert "Aditional fix of string quoting for rpm >= 4.16" This reverts commit 8e28ecd51138c15bb2f74877978e93fc7f450696. Reasoning: The partentheses must be around both (the macro and "64") or none, so it will be the same type comparsion (number-number || string-string) --- mariadb.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 10c1bfb..8b5c8d5 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1025,7 +1025,7 @@ rm %{buildroot}%{logrotateddir}/mysql rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor # Buildroot does not have symlink /lib64 --> /usr/lib64 -%if "%{__isa_bits}" == 64 && 0%{?fedora} +%if %{__isa_bits} == 64 && 0%{?fedora} mv %{buildroot}/lib64/security %{buildroot}%{_libdir} %else mv %{buildroot}/lib/security %{buildroot}%{_libdir} @@ -1160,7 +1160,7 @@ rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}ldb.1* # hack to let 32- and 64-bit tests run concurrently on same build machine export MTR_PARALLEL=1 # builds might happen at the same host, avoid collision -export MTR_BUILD_THREAD="%{__isa_bits}" +export MTR_BUILD_THREAD=%{__isa_bits} # 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 From 6fa4237c6e0aed009f097a4a7794cff1f3ad96ec Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 14 Apr 2020 16:03:19 +0200 Subject: [PATCH 602/789] Remove the RocksDB manpage when RocksDB is not built ( = on architectures without RocksDB ) --- mariadb.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/mariadb.spec b/mariadb.spec index 8b5c8d5..8f60760 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1152,6 +1152,7 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %if %{without rocksdb} rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}ldb.1* +rm %{buildroot}%{_mandir}/man1/myrocks_hotbackup.1* %endif %check From e0f70055394e9541b0100c85f8abed6d3c24623c Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Sun, 24 May 2020 10:48:58 +0200 Subject: [PATCH 603/789] Add mariadb_rpl.h to deleted libraries from devel package --- mariadb.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index b0dfbdf..17112d0 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -147,7 +147,7 @@ Name: mariadb Version: 10.4.12 -Release: 5%{?with_debug:.debug}%{?dist} +Release: 6%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1074,7 +1074,7 @@ unlink %{buildroot}%{_mandir}/man1/mariadb_config.1* # This files are already included in mariadb-connector-c rm %{buildroot}%{_includedir}/mysql/mysql_version.h rm %{buildroot}%{_includedir}/mysql/{errmsg.h,ma_list.h,ma_pvio.h,mariadb_com.h,\ -mariadb_ctype.h,mariadb_dyncol.h,mariadb_stmt.h,mariadb_version.h,ma_tls.h,mysqld_error.h,mysql.h} +mariadb_ctype.h,mariadb_dyncol.h,mariadb_stmt.h,mariadb_version.h,ma_tls.h,mysqld_error.h,mysql.h,mariadb_rpl.h} rm -r %{buildroot}%{_includedir}/mysql/{mariadb,mysql} %endif @@ -1592,6 +1592,9 @@ fi %endif %changelog +* Sun May 24 2020 Lukas Javorsky - 3:10.4.12-6 +- Remove mariadb_rpl.h from includedir to prevent conflict with connector-c's libraries + * Thu Apr 02 2020 Björn Esser - 3:10.4.12-5 - Fix string quoting for rpm >= 4.16 From 383e14b547b8ae15a7ad2b67ee1a832ee258661e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 8 Jun 2020 09:06:06 +0200 Subject: [PATCH 604/789] Rebase to 10.4.13 Patch mariadb-pythonver upstreamed (upstream now use only python 3) --- mariadb-ownsetup.patch | 16 +++++++++------- mariadb-pythonver.patch | 27 --------------------------- mariadb.spec | 23 ++++++++--------------- sources | 2 +- 4 files changed, 18 insertions(+), 50 deletions(-) delete mode 100644 mariadb-pythonver.patch diff --git a/mariadb-ownsetup.patch b/mariadb-ownsetup.patch index 23dcba8..3534c43 100644 --- a/mariadb-ownsetup.patch +++ b/mariadb-ownsetup.patch @@ -1,17 +1,19 @@ diff -up mariadb-10.1.8/support-files/CMakeLists.txt.p9 mariadb-10.1.8/support-files/CMakeLists.txt ---- mariadb-10.1.8/support-files/CMakeLists.txt.p9 2015-11-03 11:38:46.029139464 +0100 -+++ mariadb-10.1.8/support-files/CMakeLists.txt 2015-11-03 11:41:07.107605055 +0100 -@@ -62,6 +62,7 @@ IF(UNIX) +--- mariadb-10.2.32/support-files/CMakeLists.txt 2020-05-08 13:45:27.000000000 +0200 ++++ mariadb-10.2.32/support-files/CMakeLists.txt_pacthed 2020-05-13 10:11:30.884190396 +0200 +@@ -100,7 +100,8 @@ IF(UNIX) ENDIF() CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY) +- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_LIBDIR}/pkgconfig COMPONENT Development) + CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development) ++ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development) INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) -diff -up mariadb-10.1.8/support-files/rpm/server.cnf.p9 mariadb-10.1.8/support-files/rpm/server.cnf ---- mariadb-10.1.8/support-files/rpm/server.cnf.p9 2015-10-15 17:44:19.000000000 +0200 -+++ mariadb-10.1.8/support-files/rpm/server.cnf 2015-11-03 11:38:25.228070808 +0100 + +diff -up mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup mariadb-10.0.15/support-files/rpm/server.cnf +--- mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup 2015-01-24 23:55:55.110063592 +0100 ++++ mariadb-10.0.15/support-files/rpm/server.cnf 2015-01-24 23:57:42.308114387 +0100 @@ -9,7 +9,16 @@ [server] diff --git a/mariadb-pythonver.patch b/mariadb-pythonver.patch deleted file mode 100644 index eb8a1e7..0000000 --- a/mariadb-pythonver.patch +++ /dev/null @@ -1,27 +0,0 @@ -Upstream PR: https://github.com/MariaDB/server/pull/1081 - -From d2cbf56d36e422802aa7e53ec0f4e6be8fd53cf5 Mon Sep 17 00:00:00 2001 -From: Honza Horak -Date: Wed, 9 Jan 2019 20:17:29 +0100 -Subject: [PATCH] Make the PYTHON_SHEBANG value configurable - -In Fedora 30 it is required to specify either /usr/bin/python2 or /usr/bin/python3 in the shebang, so we need a way to say explicit shebang, ideally in the cmake call. ---- - CMakeLists.txt | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a139c9e5fa4..ccccb08bef1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -342,7 +342,9 @@ MYSQL_CHECK_SSL() - MYSQL_CHECK_READLINE() - - SET(MALLOC_LIBRARY "system") --SET(PYTHON_SHEBANG "/usr/bin/env python" CACHE STRING "python shebang") -+IF(NOT DEFINED PYTHON_SHEBANG) -+ SET(PYTHON_SHEBANG "/usr/bin/env python") -+ENDIF() - MARK_AS_ADVANCED(PYTHON_SHEBANG) - - CHECK_PCRE() diff --git a/mariadb.spec b/mariadb.spec index 17112d0..89468be 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -146,8 +146,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.4.12 -Release: 6%{?with_debug:.debug}%{?dist} +Version: 10.4.13 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -180,8 +180,6 @@ Source71: LICENSE.clustercheck # https://jira.mariadb.org/browse/MDEV-12646 Source72: mariadb-server-galera.te -# Patch2: Make the python interpretter be configurable -Patch2: %{pkgnamepatch}-pythonver.patch # Patch4: Red Hat distributions specific logrotate fix # it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2 Patch4: %{pkgnamepatch}-logrotate.patch @@ -697,7 +695,6 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \; rm -rf libmariadb/unittest -%patch2 -p1 %patch4 -p1 %patch7 -p1 %patch9 -p1 @@ -939,16 +936,13 @@ rm scripts/my.cnf # use different config file name for each variant of server (mariadb / mysql) mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf -# Rename sysusers and tmpfiles config files, they should be named after the software they belong to -mv %{buildroot}%{_sysusersdir}/sysusers.conf %{buildroot}%{_sysusersdir}/%{name}.conf - # remove SysV init script and a symlink to that, we use systemd rm %{buildroot}%{_libexecdir}/rcmysql # install systemd unit files and scripts for handling server startup install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service # Remove the upstream version -rm %{buildroot}%{_tmpfilesdir}/tmpfiles.conf +rm %{buildroot}%{_tmpfilesdir}/mariadb.conf # Install downstream version install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?mysqld_pid_dir:1} @@ -1026,7 +1020,7 @@ rm %{buildroot}%{logrotateddir}/mysql # Remove AppArmor files rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor -mv %{buildroot}/lib/security %{buildroot}%{_libdir} +mv %{buildroot}/%{_lib}/security %{buildroot}%{_libdir} # Disable plugins %if %{with gssapi} @@ -1101,11 +1095,7 @@ rm %{buildroot}%{_mandir}/man1/mysql{access,admin,binlog,check,dump,_find_rows,i rm %{buildroot}%{_mandir}/man1/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}.1* %endif -%if %{without tokudb} -# because upstream ships manpages for tokudb even on architectures that tokudb doesn't support -rm %{buildroot}%{_mandir}/man1/tokuftdump.1* -rm %{buildroot}%{_mandir}/man1/tokuft_logprint.1* -%else +%if %{with tokudb} %if 0%{?fedora} || 0%{?rhel} > 7 # Move the upstream file to the correct location mkdir -p %{buildroot}%{_unitdir}/mariadb.service.d @@ -1592,6 +1582,9 @@ fi %endif %changelog +* Fri Jun 05 2020 Michal Schorm - 10.4.13-1 +- Rebase to 10.4.13 + * Sun May 24 2020 Lukas Javorsky - 3:10.4.12-6 - Remove mariadb_rpl.h from includedir to prevent conflict with connector-c's libraries diff --git a/sources b/sources index 5a2560f..9743ec2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.4.12.tar.gz) = f26c45bbab765c979bbdb748da10ee314c1494e2ad7df7523bf4020b5f5036c06242739c1877fa0a21defcdd27f498cfff730289486ce9ced09d5740f3594657 +SHA512 (mariadb-10.4.13.tar.gz) = 68919ceffb3d4afdd0d94daa77439a954c82ce4e08fbe06044fc397940eeb88a39ec75932cbd08ff26ef3cf7636fdb779947cda5b2764aa1fd888be19c44b566 From 22a05804da5a37ed6da272d0ef2d31c1eac50258 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 8 Jun 2020 09:48:39 +0200 Subject: [PATCH 605/789] Remove ancient patch that wasn't used for ages The default MariaDB Galera replication is now DISABLED by default, because it needs to be configured prior enabling --- mariadb-galera.cnf.patch | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 mariadb-galera.cnf.patch diff --git a/mariadb-galera.cnf.patch b/mariadb-galera.cnf.patch deleted file mode 100644 index 095cdf4..0000000 --- a/mariadb-galera.cnf.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- mariadb-10.1.13/support-files/wsrep.cnf.sh.orig 2016-03-24 10:12:15.000000000 +0100 -+++ mariadb-10.1.13/support-files/wsrep.cnf.sh 2016-04-07 10:18:34.281155365 +0200 -@@ -30,6 +30,9 @@ bind-address=0.0.0.0 - ## WSREP options - ## - -+# Enable wsrep -+wsrep_on=1 -+ - # Full path to wsrep provider library or 'none' - wsrep_provider=none - From 82422dc7ae581dd6906d9029652ebc36af4ea613 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 8 Jun 2020 09:52:33 +0200 Subject: [PATCH 606/789] Remove ancient patch that is no longer used All Python scripts are now written in Python 3 and their shebang is set by -DPYTHON_SHEBANG CMake option --- mariadb-shebang.patch | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 mariadb-shebang.patch diff --git a/mariadb-shebang.patch b/mariadb-shebang.patch deleted file mode 100644 index 4f0a267..0000000 --- a/mariadb-shebang.patch +++ /dev/null @@ -1,15 +0,0 @@ -*** WARNING: mangling shebang in /usr/bin/myrocks_hotbackup from #!/usr/bin/env python to #!/usr/bin/python2. This will become an ERROR, fix it manually! - -Maintainer's note: -This script is not python3 compatible: -ModuleNotFoundError: No module named 'commands' - -diff -Naurp mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py_patched ---- mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py 2019-01-04 16:28:50.000000000 +0100 -+++ mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py_patched 2019-01-08 12:00:54.468750863 +0100 -@@ -1,4 +1,4 @@ --#!@PYTHON_SHEBANG@ -+#!/usr/bin/python2 - - from __future__ import division - from optparse import OptionParser From 5df7c2e7c7920ca6372b787f712abc034e1d468a Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 8 Jun 2020 09:58:21 +0200 Subject: [PATCH 607/789] The testsuite for 10.4.13 has been tested. There was one randomly failing test: "spider/bugfix.wait_timeout" --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 89468be..e3dd9ca 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -11,7 +11,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.4.12 +%global last_tested_version 10.4.13 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 From 99964e0b7fc6418e84229f76f0528103e5c593f9 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 8 Jun 2020 10:08:19 +0200 Subject: [PATCH 608/789] Minor tweaks - use %ifarch consistently through the SPECfile - update minimal PCRE version needed - reword %prep section (move all removals to one place) --- mariadb.spec | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index e3dd9ca..dfb2794 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -39,7 +39,7 @@ # https://mariadb.com/kb/en/library/about-myrocks-for-mariadb/ # RocksDB engine is available only for x86_64 # RocksDB may be built with jemalloc, if specified in CMake -%if "%_arch" == "x86_64" && 0%{?fedora} +%ifarch x86_64 && 0%{?fedora} %bcond_without tokudb %bcond_without mroonga %bcond_without rocksdb @@ -98,8 +98,9 @@ -# MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use +# MariaDB 10.1.39 and later requires pcre >= 8.43, otherwise we need to use # the bundled library, since the package cannot be build with older version +# https://mariadb.com/kb/en/pcre/ %if 0%{?fedora} || 0%{?rhel} > 7 %bcond_without unbundled_pcre %else @@ -223,7 +224,7 @@ BuildRequires: bison bison-devel # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel # use either new enough version of pcre or provide bundles(pcre) -%{?with_unbundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf} +%{?with_unbundled_pcre:BuildRequires: pcre-devel >= 8.43 pkgconf} %{!?with_unbundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}} # Few utilities needs Perl %if 0%{?fedora} || 0%{?rhel} > 7 @@ -692,8 +693,15 @@ sources. # Remove JAR files that upstream puts into tarball find . -name "*.jar" -type f -exec rm --verbose -f {} \; - +# Remove testsuite for the mariadb-connector-c rm -rf libmariadb/unittest +# Remove python scripts remains from tokudb upstream (those files are not used anyway) +rm -r storage/tokudb/mysql-test/tokudb/t/*.py +%if %{without rocksdb} +rm -r storage/rocksdb/ +%endif + + %patch4 -p1 %patch7 -p1 @@ -754,14 +762,6 @@ fi %endif -%if %{without rocksdb} -rm -r storage/rocksdb/ -%endif - -# Remove python scripts remains from tokudb upstream (those files are not used anyway) -rm -r storage/tokudb/mysql-test/tokudb/t/*.py - - %build %{set_build_flags} From 43456681eac653a0aaf32c375db2a54c080bb6e9 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 9 Jun 2020 13:07:18 +0200 Subject: [PATCH 609/789] Remove PCDIR patch, upstreamed (in a way) The upstream now defaults to the location we need, although the server pkgconfig file location is still NOT configurable. The CMake INSTALL_PCDIR option affects only the client library pkgconfig file location. --- mariadb-ownsetup.patch | 11 ++++------- mariadb-pcdir.patch | 20 -------------------- mariadb.spec | 3 --- 3 files changed, 4 insertions(+), 30 deletions(-) delete mode 100644 mariadb-pcdir.patch diff --git a/mariadb-ownsetup.patch b/mariadb-ownsetup.patch index 3534c43..c660901 100644 --- a/mariadb-ownsetup.patch +++ b/mariadb-ownsetup.patch @@ -1,16 +1,13 @@ -diff -up mariadb-10.1.8/support-files/CMakeLists.txt.p9 mariadb-10.1.8/support-files/CMakeLists.txt ---- mariadb-10.2.32/support-files/CMakeLists.txt 2020-05-08 13:45:27.000000000 +0200 -+++ mariadb-10.2.32/support-files/CMakeLists.txt_pacthed 2020-05-13 10:11:30.884190396 +0200 -@@ -100,7 +100,8 @@ IF(UNIX) +--- mariadb-10.3.23/support-files/CMakeLists.txt 2020-06-07 22:02:16.564626222 +0200 ++++ mariadb-10.3.23/support-files/CMakeLists.txt_patched 2020-06-07 22:01:17.180909018 +0200 +@@ -91,6 +91,7 @@ IF(UNIX) ENDIF() CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY) -- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_LIBDIR}/pkgconfig COMPONENT Development) + CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY) -+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_LIBDIR}/pkgconfig COMPONENT Development) INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) - diff -up mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup mariadb-10.0.15/support-files/rpm/server.cnf --- mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup 2015-01-24 23:55:55.110063592 +0100 +++ mariadb-10.0.15/support-files/rpm/server.cnf 2015-01-24 23:57:42.308114387 +0100 diff --git a/mariadb-pcdir.patch b/mariadb-pcdir.patch deleted file mode 100644 index d9a8a78..0000000 --- a/mariadb-pcdir.patch +++ /dev/null @@ -1,20 +0,0 @@ -Use PCDIR CMake option, if configured - -Upstream install the server pkgconfig file into arch-independent directory -Reported to upstream as: https://jira.mariadb.org/browse/MDEV-14340 - ---- mariadb-10.3.12/support-files/CMakeLists.txt 2019-03-20 15:25:53.423283135 +0100 -+++ mariadb-10.3.12/support-files/CMakeLists.txt_patched 2019-03-20 15:38:56.372819958 +0100 -@@ -82,7 +82,12 @@ IF(UNIX) - - CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY) - CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY) -+IF(INSTALL_PCDIR) -+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_PCDIR} COMPONENT Development) -+ELSE() - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development) -+ENDIF() -+ - - INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) - diff --git a/mariadb.spec b/mariadb.spec index dfb2794..19eebc8 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -190,8 +190,6 @@ Patch7: %{pkgnamepatch}-scripts.patch Patch9: %{pkgnamepatch}-ownsetup.patch # Patch10: Fix cipher name in the SSL Cipher name test Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch -# Patch11: Use PCDIR CMake option, if configured -Patch11: %{pkgnamepatch}-pcdir.patch # Patch13: Fix Spider code on armv7hl; https://jira.mariadb.org/browse/MDEV-18737 Patch13: %{pkgnamepatch}-spider_on_armv7hl.patch # Patch15: Add option to edit groonga's and groonga-normalizer-mysql install path @@ -707,7 +705,6 @@ rm -r storage/rocksdb/ %patch7 -p1 %patch9 -p1 %patch10 -p1 -%patch11 -p1 %patch13 -p1 %patch15 -p1 %patch16 -p1 From d8b968613a8cc66f05f8f410240a1c9e35c7ad4f Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 18 Jun 2020 12:55:01 +0200 Subject: [PATCH 610/789] Extend Perl "Requires" filtering to wsrep Resolves: #1845376 --- mariadb.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 19eebc8..ced913b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -148,7 +148,7 @@ Name: mariadb Version: 10.4.13 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -299,7 +299,7 @@ Suggests: %{name}-server%{?_isa} = %{sameevr} %{?with_conflicts:Conflicts: community-mysql} # Filtering: https://docs.fedoraproject.org/en-US/packaging-guidelines/AutoProvidesAndRequiresFiltering/ -%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) +%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::|wsrep) %global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\\.so)$ # Define license macro if not present @@ -1579,6 +1579,10 @@ fi %endif %changelog +* Fri Jun 05 2020 Michal Schorm - 10.4.13-2 +- Extend Perl "Requires" filtering to wsrep + Resolves: #1845376 + * Fri Jun 05 2020 Michal Schorm - 10.4.13-1 - Rebase to 10.4.13 From 53d9ba46f03a427a83cf33ebf40b1288a56d790d Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 14 Jul 2020 15:04:03 +0200 Subject: [PATCH 611/789] Make conflicts between corresponding mariadb and mysql packages explicit Get rid of the Conflicts macro, it was intended to mark conflicts with *upstream* packages --- mariadb.spec | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index ced913b..f34dffb 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -137,10 +137,8 @@ # Provide mysql names for compatibility %if 0%{?fedora} %bcond_without mysql_names -%bcond_without conflicts %else %bcond_with mysql_names -%bcond_with conflicts %endif # Make long macros shorter @@ -148,7 +146,7 @@ Name: mariadb Version: 10.4.13 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -295,8 +293,7 @@ Provides: mysql-compat-client%{?_isa} = %{sameevr} Suggests: %{name}-server%{?_isa} = %{sameevr} -# MySQL (with caps) is upstream's spelling of their own RPMs for mysql -%{?with_conflicts:Conflicts: community-mysql} +Conflicts: community-mysql # Filtering: https://docs.fedoraproject.org/en-US/packaging-guidelines/AutoProvidesAndRequiresFiltering/ %global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::|wsrep) @@ -453,7 +450,7 @@ Provides: mysql-server%{?_isa} = %{sameevr} Provides: mysql-compat-server = %{sameevr} Provides: mysql-compat-server%{?_isa} = %{sameevr} %endif -%{?with_conflicts:Conflicts: community-mysql-server} +Conflicts: community-mysql-server # Bench subpackage has been deprecated in F32 Obsoletes: %{name}-bench <= %{sameevr} @@ -581,6 +578,7 @@ Requires: %{name}-server%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-perl = %{sameevr} %endif +Conflicts: community-mysql-server # mysqlhotcopy needs DBI/DBD support Requires: perl(DBI) perl(DBD::mysql) @@ -602,7 +600,7 @@ Requires: mariadb-connector-c-devel >= 3.0 Provides: mysql-devel = %{sameevr} Provides: mysql-devel%{?_isa} = %{sameevr} %endif -%{?with_conflicts:Conflicts: community-mysql-devel} +Conflicts: community-mysql-devel %description devel MariaDB is a multi-user, multi-threaded SQL database server. @@ -645,7 +643,7 @@ Requires: libaio-devel Provides: mysql-embedded-devel = %{sameevr} Provides: mysql-embedded-devel%{?_isa} = %{sameevr} %endif -%{?with_conflicts:Conflicts: community-mysql-embedded-devel} +Conflicts: community-mysql-embedded-devel %description embedded-devel MariaDB is a multi-user, multi-threaded SQL database server. @@ -672,7 +670,7 @@ Requires: perl(Socket) Requires: perl(Sys::Hostname) Requires: perl(Test::More) Requires: perl(Time::HiRes) -%{?with_conflicts:Conflicts: community-mysql-test} +Conflicts: community-mysql-test %if %{with mysql_names} Provides: mysql-test = %{sameevr} Provides: mysql-test%{?_isa} = %{sameevr} @@ -1579,6 +1577,11 @@ fi %endif %changelog +* Tue Jul 14 2020 Michal Schorm - 10.4.13-3 +- Make conflicts between corresponding mariadb and mysql packages explicit +- Get rid of the Conflicts macro, it was intended to mark conflicts with + *upstream* packages + * Fri Jun 05 2020 Michal Schorm - 10.4.13-2 - Extend Perl "Requires" filtering to wsrep Resolves: #1845376 From 1fa717acc1599d89aeda38f9778957bbf194f3f0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jul 2020 06:52:51 +0000 Subject: [PATCH 612/789] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index f34dffb..ffc6dad 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -146,7 +146,7 @@ Name: mariadb Version: 10.4.13 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1577,6 +1577,9 @@ fi %endif %changelog +* Tue Jul 28 2020 Fedora Release Engineering - 3:10.4.13-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Tue Jul 14 2020 Michal Schorm - 10.4.13-3 - Make conflicts between corresponding mariadb and mysql packages explicit - Get rid of the Conflicts macro, it was intended to mark conflicts with From 70dd4cf2bc6164505bea2ffd87689d72cb72e383 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 1 Aug 2020 04:24:00 +0000 Subject: [PATCH 613/789] - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- mariadb.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index ffc6dad..3e6d01f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -146,7 +146,7 @@ Name: mariadb Version: 10.4.13 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1577,6 +1577,10 @@ fi %endif %changelog +* Sat Aug 01 2020 Fedora Release Engineering - 3:10.4.13-5 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Tue Jul 28 2020 Fedora Release Engineering - 3:10.4.13-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From cdfc0ff97706d24ab636f0962a205bfba93d6771 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Wed, 5 Aug 2020 14:26:56 -0600 Subject: [PATCH 614/789] Disable LTO --- mariadb.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 3e6d01f..ee3c20a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -146,7 +146,7 @@ Name: mariadb Version: 10.4.13 -Release: 5%{?with_debug:.debug}%{?dist} +Release: 6%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -759,6 +759,10 @@ fi %build +# This package has static probe points which do not currently +# work with LTO and result in undefined symbols at link time. +# This is being worked on in upstream GCC +%define _lto_cflags %{nil} %{set_build_flags} # fail quickly and obviously if user tries to build as root @@ -1577,6 +1581,9 @@ fi %endif %changelog +* Wed Aug 05 2020 Jeff Law - 3:10.4.13-6 +- Disable LTO + * Sat Aug 01 2020 Fedora Release Engineering - 3:10.4.13-5 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 8dd95cd3f6fcd606e16e59f3b5fe16ab57643508 Mon Sep 17 00:00:00 2001 From: Carl George Date: Sun, 2 Aug 2020 22:24:49 -0500 Subject: [PATCH 615/789] Fix %ifarch usage When rebuilding mariadb on EL7, I noticed that tokudb, mroonga, and rocksdb were enabled, despite what this conditional appears to do. After some experimentation, I can see that %ifarch does not support appending another conditional with &&. To achieve the desired logic, the statement must be separate conditionals. --- mariadb.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index ee3c20a..bfaa2a5 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -39,7 +39,8 @@ # https://mariadb.com/kb/en/library/about-myrocks-for-mariadb/ # RocksDB engine is available only for x86_64 # RocksDB may be built with jemalloc, if specified in CMake -%ifarch x86_64 && 0%{?fedora} +%ifarch x86_64 +%if 0%{?fedora} %bcond_without tokudb %bcond_without mroonga %bcond_without rocksdb @@ -48,6 +49,7 @@ %bcond_with mroonga %bcond_with rocksdb %endif +%endif # The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing # hierarchies and more complex graph structures to be handled in a relational fashion From aace92178f504104460656f581be661af3434780 Mon Sep 17 00:00:00 2001 From: Carl George Date: Sun, 2 Aug 2020 22:42:45 -0500 Subject: [PATCH 616/789] Move mysqld_safe_helper back to server subpackage mysqld_safe is a script that calls the mysqld_safe_helper binary, so being able to install one without the other doesn't make sense. --- mariadb.spec | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index bfaa2a5..cc213a5 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1346,6 +1346,7 @@ fi %{_bindir}/mysql_{install_db,secure_installation,tzinfo_to_sql} %{_bindir}/mariadb-{install-db,secure-installation,tzinfo-to-sql} %{_bindir}/{mysqld_,mariadbd-}safe +%{_bindir}/{mysqld_safe_helper,mariadbd-safe-helper} %{_bindir}/innochecksum %{_bindir}/replace @@ -1397,6 +1398,7 @@ fi %{_mandir}/man1/mysql_{install_db,secure_installation,tzinfo_to_sql}.1* %{_mandir}/man1/mariadb-{install-db,secure-installation,tzinfo-to-sql}.1* %{_mandir}/man1/{mysqld_,mariadbd-}safe.1* +%{_mandir}/man1/{mysqld_safe_helper,mariadbd-safe-helper}.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/replace.1* @@ -1533,9 +1535,6 @@ fi %{_bindir}/perror %{_mandir}/man1/{mysql_,mariadb-}upgrade.1* %{_mandir}/man1/perror.1* -# Other utilities -%{_bindir}/{mysqld_safe_helper,mariadbd-safe-helper} -%{_mandir}/man1/{mysqld_safe_helper,mariadbd-safe-helper}.1* %if %{with devel} %files devel From 0691fec148d7de28f62f92f17c5d8f96096de398 Mon Sep 17 00:00:00 2001 From: Carl George Date: Sun, 2 Aug 2020 22:47:03 -0500 Subject: [PATCH 617/789] Update expected bundled PCRE version https://github.com/MariaDB/server/commit/c1291d7a6b59bfa84dbeb499aca64ea877239d9b --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index cc213a5..345405e 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -107,7 +107,7 @@ %bcond_without unbundled_pcre %else %bcond_with unbundled_pcre -%global pcre_bundled_version 8.43 +%global pcre_bundled_version 8.44 %endif # Use main python interpretter version From c031558f68a8eca99c1c05e91dfb650ec299c01d Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 18 Aug 2020 14:59:54 +0200 Subject: [PATCH 618/789] Do CMake out-of-source builds Force the CMake change regarding the in-source builds also to F31 and F32 Use CMake macros instead of cmake & make direct commands %%cmake macro covers the %%{set_build_flags}, so they are not needed Other changes to compile flags must be specified *after* the %%cmake macro --- mariadb.spec | 113 ++++++++++++++++++++++++++------------------------- 1 file changed, 58 insertions(+), 55 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 345405e..b8910f0 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,3 +1,7 @@ +# This is a fix for the https://fedoraproject.org/wiki/Changes/CMake_to_do_out-of-source_builds +# So the beaviour will be the same also in F31 nad F32 +%undefine __cmake_in_source_build + # Prefix that is used for patches %global pkg_name %{name} %global pkgnamepatch mariadb @@ -148,7 +152,7 @@ Name: mariadb Version: 10.4.13 -Release: 6%{?with_debug:.debug}%{?dist} +Release: 7%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -765,7 +769,6 @@ fi # work with LTO and result in undefined symbols at link time. # This is being worked on in upstream GCC %define _lto_cflags %{nil} -%{set_build_flags} # fail quickly and obviously if user tries to build as root %if %runselftest @@ -777,38 +780,6 @@ fi fi %endif -CFLAGS="$CFLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" -# force PIC mode so that we can build libmysqld.so -CFLAGS="$CFLAGS -fPIC" - -%if %{with debug} -# Override all optimization flags when making a debug build -# -D_FORTIFY_SOURCE requires optimizations enabled. Disable the fortify. -CFLAGS=`echo "$CFLAGS" | sed -r 's/-D_FORTIFY_SOURCE=[012]/-D_FORTIFY_SOURCE=0/'` -CFLAGS=`echo "$CFLAGS" | sed -r 's/-O[0123]//'` - -CFLAGS="$CFLAGS -O0 -g -D_FORTIFY_SOURCE=0" - -# Fixes for Fedora 32 & Rawhide (GCC 10.0): -%if 0%{?fedora} >= 32 -CFLAGS="$CFLAGS -Wno-error=class-memaccess" -%endif # f32 - -%endif # debug - -CXXFLAGS="$CFLAGS" -CPPFLAGS="$CFLAGS" - -# CFLAGS specific "-Wno-error" -%if %{with debug} -%if 0%{?fedora} >= 32 -CFLAGS="$CFLAGS -Wno-error=enum-conversion" -%endif # f32 -%endif # debug - -export CFLAGS CXXFLAGS CPPFLAGS - - # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. %cmake . \ @@ -873,12 +844,35 @@ export CFLAGS CXXFLAGS CPPFLAGS -DCONNECT_WITH_JDBC=OFF \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} -# Print all Cmake options values -# cmake ./ -LAH for List Advanced Help -cmake ./ -L -%make_build VERBOSE=1 +CFLAGS="$CFLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" +# force PIC mode so that we can build libmysqld.so +CFLAGS="$CFLAGS -fPIC" +%if %{with debug} +# Override all optimization flags when making a debug build +# -D_FORTIFY_SOURCE requires optimizations enabled. Disable the fortify. +CFLAGS=`echo "$CFLAGS" | sed -r 's/-D_FORTIFY_SOURCE=[012]/-D_FORTIFY_SOURCE=0/'` +CFLAGS=`echo "$CFLAGS" | sed -r 's/-O[0123]//'` + +CFLAGS="$CFLAGS -O0 -g -D_FORTIFY_SOURCE=0" + +# Fixes for Fedora 32 & Rawhide (GCC 10.0): +%if 0%{?fedora} >= 32 +CFLAGS="$CFLAGS -Wno-error=class-memaccess" +CFLAGS="$CFLAGS -Wno-error=enum-conversion" +%endif # f32 +%endif # debug + +CXXFLAGS="$CFLAGS" +CPPFLAGS="$CFLAGS" +export CFLAGS CXXFLAGS CPPFLAGS + + +# Print all Cmake options values; "-LAH" means "List Advanced Help" +cmake -B %{_vpath_builddir} -LAH + +%cmake_build # build selinux policy %if %{with galera} @@ -886,8 +880,10 @@ pushd selinux make -f /usr/share/selinux/devel/Makefile %{name}-server-galera.pp %endif + + %install -%make_install +%cmake_install # multilib header support #1625157 for header in mysql/server/my_config.h mysql/server/private/config.h; do @@ -901,7 +897,7 @@ ln -s mysql_config.1.gz %{buildroot}%{_mandir}/man1/mariadb_config.1.gz if [ %multilib_capable ] then mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} -install -p -m 0755 scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config +install -p -m 0755 %{_vpath_builddir}/scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config # Copy manual page for multilib mysql_config; https://jira.mariadb.org/browse/MDEV-11961 ln -s mysql_config.1 %{buildroot}%{_mandir}/man1/mysql_config-%{__isa_bits}.1 fi @@ -913,8 +909,8 @@ rm %{buildroot}%{_libdir}/pkgconfig/libmariadb.pc # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also %%{name}-file-contents.patch) -install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/%{pkg_name}/ -install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/%{pkg_name}/ +install -p -m 644 %{_vpath_builddir}/Docs/INFO_SRC %{buildroot}%{_libdir}/%{pkg_name}/ +install -p -m 644 %{_vpath_builddir}/Docs/INFO_BIN %{buildroot}%{_libdir}/%{pkg_name}/ rm -r %{buildroot}%{_datadir}/doc/%{_pkgdocdirname}/MariaDB-server-%{version}/ # Logfile creation @@ -929,9 +925,9 @@ mkdir -p %{buildroot}%{pidfiledir} install -p -m 0755 -d %{buildroot}%{dbdatadir} %if %{with config} -install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf +install -D -p -m 0644 %{_vpath_builddir}/scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf %else -rm scripts/my.cnf +rm %{_vpath_builddir}/scripts/my.cnf %endif # use different config file name for each variant of server (mariadb / mysql) @@ -940,21 +936,21 @@ mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my. # remove SysV init script and a symlink to that, we use systemd rm %{buildroot}%{_libexecdir}/rcmysql # install systemd unit files and scripts for handling server startup -install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service -install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service +install -D -p -m 644 %{_vpath_builddir}/scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service +install -D -p -m 644 %{_vpath_builddir}/scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service # Remove the upstream version rm %{buildroot}%{_tmpfilesdir}/mariadb.conf # Install downstream version -install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf +install -D -p -m 0644 %{_vpath_builddir}/scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?mysqld_pid_dir:1} echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf %endif # helper scripts for service starting -install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir -install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket -install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade -install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common +install -p -m 755 %{_vpath_builddir}/scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir +install -p -m 755 %{_vpath_builddir}/scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket +install -p -m 755 %{_vpath_builddir}/scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade +install -p -m 644 %{_vpath_builddir}/scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common # install aditional galera selinux policy %if %{with galera} @@ -1008,13 +1004,13 @@ install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}} # install galera config file %if %{with galera} -sed -i -r 's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|' support-files/wsrep.cnf -install -p -m 0644 support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf +sed -i -r 's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|' %{_vpath_builddir}/support-files/wsrep.cnf +install -p -m 0644 %{_vpath_builddir}/support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf %endif # install the clustercheck script mkdir -p %{buildroot}%{_sysconfdir}/sysconfig touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck -install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck +install -p -m 0755 %{_vpath_builddir}/scripts/clustercheck %{buildroot}%{_bindir}/clustercheck # remove duplicate logrotate script rm %{buildroot}%{logrotateddir}/mysql @@ -1172,7 +1168,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} ( set -ex - cd mysql-test + cd %{buildroot}%{_datadir}/mysql-test export common_testsuite_arguments=" --parallel=auto --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --force-restart --shutdown-timeout=60 --max-test-fail=5 " @@ -1582,6 +1578,13 @@ fi %endif %changelog +* Tue Aug 18 2020 Michal Schorm - 10.4.13-7 +- Do CMake out-of-source builds +- Force the CMake change regarding the in-source builds also to F31 and F32 +- Use CMake macros instead of cmake & make direct commands +- %%cmake macro covers the %%{set_build_flags}, so they are not needed + Other changes to compile flags must be specified *after* the %%cmake macro + * Wed Aug 05 2020 Jeff Law - 3:10.4.13-6 - Disable LTO From 24c0e12fb340fc8f8fc311c6d790139999d6a263 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 20 Aug 2020 14:12:14 +0200 Subject: [PATCH 619/789] Rebase to 10.4.14 --- mariadb.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index b8910f0..d24b56d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -151,8 +151,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.4.13 -Release: 7%{?with_debug:.debug}%{?dist} +Version: 10.4.14 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1578,6 +1578,9 @@ fi %endif %changelog +* Thu Aug 20 2020 Michal Schorm - 10.4.14-1 +- Rebase to 10.4.14 + * Tue Aug 18 2020 Michal Schorm - 10.4.13-7 - Do CMake out-of-source builds - Force the CMake change regarding the in-source builds also to F31 and F32 diff --git a/sources b/sources index 9743ec2..adb63eb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.4.13.tar.gz) = 68919ceffb3d4afdd0d94daa77439a954c82ce4e08fbe06044fc397940eeb88a39ec75932cbd08ff26ef3cf7636fdb779947cda5b2764aa1fd888be19c44b566 +SHA512 (mariadb-10.4.14.tar.gz) = c09817c1dd7962132bcf2886c97ad17ce43c00ee687724028e5f39f6a6a93877ae8695c2c795abba6a4f3bc40674f93a53d6d43f46788a4a8a42c4a65a22c91c From 35b4fa67d93434883a8bf4981bcc72d64b6533c5 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 21 Aug 2020 09:42:35 +0200 Subject: [PATCH 620/789] Add failing tests for 10.4.14 --- rh-skipped-tests-base.list | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 2b101f5..44b5c9d 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -37,3 +37,7 @@ sys_vars.tcp_nodelay : # Fails on i686 encryption.innodb-redo-badkey : + +# Fails on all architectures since 10.4.14 +main.ssl_system_ca : +disks.disks : From 76e6c4c77352a26d9d8fff1aba703f6b870e2054 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 3 Sep 2020 13:39:29 +0200 Subject: [PATCH 621/789] Fix of mariadb-ownsetup patch. Since we do CMake out-of-source builds, and the SOURCE and BUILD directiories differ, the bug that was present in the patch started to cause a issues. In the CMake "CONFIGURE_FILE( )" command, the path is treated relative to SOURCE dir, however the patch is relative to BUILD dir. Since the file has been copied to a wrong location, instead in-place updated as originally intended, the file that was later installed was the original unchanged file. Resolves: #1873999, #1874446 --- mariadb-ownsetup.patch | 21 +++++++++++---------- mariadb.spec | 5 ++++- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/mariadb-ownsetup.patch b/mariadb-ownsetup.patch index c660901..7728cf1 100644 --- a/mariadb-ownsetup.patch +++ b/mariadb-ownsetup.patch @@ -1,13 +1,14 @@ ---- mariadb-10.3.23/support-files/CMakeLists.txt 2020-06-07 22:02:16.564626222 +0200 -+++ mariadb-10.3.23/support-files/CMakeLists.txt_patched 2020-06-07 22:01:17.180909018 +0200 -@@ -91,6 +91,7 @@ IF(UNIX) - ENDIF() - - CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY) -+ CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_LIBDIR}/pkgconfig COMPONENT Development) - - INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) +--- mariadb-10.4.14/support-files/CMakeLists.txt 2020-08-06 17:28:28.000000000 +0200 ++++ mariadb-10.4.14/support-files/CMakeLists.txt_patched 2020-09-03 13:21:07.826658279 +0200 +@@ -187,6 +187,7 @@ IF(UNIX) + COMPONENT SharedLibraries) + INSTALL(FILES rpm/mysql-clients.cnf DESTINATION ${INSTALL_SYSCONF2DIR} + COMPONENT Client) ++ CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_SOURCE_DIR}/rpm/server.cnf @ONLY) + INSTALL(FILES rpm/server.cnf DESTINATION ${INSTALL_SYSCONF2DIR} + COMPONENT IniFiles) + INSTALL(FILES rpm/enable_encryption.preset DESTINATION ${INSTALL_SYSCONF2DIR} + diff -up mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup mariadb-10.0.15/support-files/rpm/server.cnf --- mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup 2015-01-24 23:55:55.110063592 +0100 +++ mariadb-10.0.15/support-files/rpm/server.cnf 2015-01-24 23:57:42.308114387 +0100 diff --git a/mariadb.spec b/mariadb.spec index d24b56d..03796d7 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -152,7 +152,7 @@ Name: mariadb Version: 10.4.14 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1578,6 +1578,9 @@ fi %endif %changelog +* Thu Sep 03 2020 Michal Schorm - 10.4.14-2 +- Resolves: #1873999, #1874446 + * Thu Aug 20 2020 Michal Schorm - 10.4.14-1 - Rebase to 10.4.14 From 81a4f8d04ede1c46a5deb92b1d748a20c70daf31 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 6 Sep 2020 23:17:06 +0200 Subject: [PATCH 622/789] Fix building when built with "%bcond_with test" (which means: without the testsuite) --- mariadb.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 03796d7..86ab9ba 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -152,7 +152,7 @@ Name: mariadb Version: 10.4.14 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1128,6 +1128,8 @@ rm %{buildroot}%{_bindir}/{mariadb-client-test,mariadb-test} rm %{buildroot}%{_mandir}/man1/{mysql_client_test,mysqltest,my_safe_process}.1* rm %{buildroot}%{_mandir}/man1/{mariadb-client-test,mariadb-test}.1* rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1* +rm %{buildroot}/suite/plugins/pam/mariadb_mtr +rm %{buildroot}/suite/plugins/pam/pam_mariadb_mtr.so %endif %if %{without galera} @@ -1578,6 +1580,9 @@ fi %endif %changelog +* Sun Sep 06 2020 Michal Schorm - 10.4.14-3 +- Resolves: #1851605 + * Thu Sep 03 2020 Michal Schorm - 10.4.14-2 - Resolves: #1873999, #1874446 From 4e960545a8a5fc83de7c79818a01beeb08c51d6b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 6 Sep 2020 23:19:31 +0200 Subject: [PATCH 623/789] The testsuite passed several times on all architectures Switch to the basic set until new upstream release --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 86ab9ba..8edf116 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -15,7 +15,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.4.13 +%global last_tested_version 10.4.14 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 From 5fc69920625556a5b3a7989455e9e275964d4559 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 22 Oct 2020 13:54:39 +0200 Subject: [PATCH 624/789] HOUSEKEEPING COMMIT - get to the same content as 'master' 4e9605 --- mariadb-10.5.0-libsql_builtins.patch | 14 -- mariadb-galera.cnf.patch | 12 -- mariadb-ownsetup.patch | 28 +-- mariadb-pcdir.patch | 19 -- mariadb-pythonver.patch | 27 --- mariadb-scripts.patch | 9 +- mariadb-shebang.patch | 15 -- mariadb.spec | 268 ++++++++++++++------------- rh-skipped-tests-base.list | 5 +- sources | 2 +- 10 files changed, 163 insertions(+), 236 deletions(-) delete mode 100644 mariadb-10.5.0-libsql_builtins.patch delete mode 100644 mariadb-galera.cnf.patch delete mode 100644 mariadb-pcdir.patch delete mode 100644 mariadb-pythonver.patch delete mode 100644 mariadb-shebang.patch diff --git a/mariadb-10.5.0-libsql_builtins.patch b/mariadb-10.5.0-libsql_builtins.patch deleted file mode 100644 index b29ddba..0000000 --- a/mariadb-10.5.0-libsql_builtins.patch +++ /dev/null @@ -1,14 +0,0 @@ -Based on this upstream commit: -https://github.com/MariaDB/server/commit/92d6c13206b199f24384ed2504ed479b0f59c314 - ---- mariadb-10.5.0/sql/CMakeLists.txt 2019-11-28 16:19:01.000000000 +0100 -+++ mariadb-10.5.0/sql/CMakeLists.txt_patched 2020-01-22 00:52:28.858844312 +0100 -@@ -277,7 +277,7 @@ IF(MSVC AND NOT WITHOUT_DYNAMIC_PLUGINS) - SET_TARGET_PROPERTIES(mysqld_import_lib PROPERTIES IMPORTED_LOCATION ${MYSQLD_LIB}) - ENDIF() - --ADD_LIBRARY( sql_builtins ${CMAKE_CURRENT_BINARY_DIR}/sql_builtin.cc) -+ADD_LIBRARY(sql_builtins STATIC ${CMAKE_CURRENT_BINARY_DIR}/sql_builtin.cc) - TARGET_LINK_LIBRARIES(sql_builtins ${MYSQLD_STATIC_PLUGIN_LIBS}) - - MYSQL_ADD_EXECUTABLE(mysqld ${MYSQLD_SOURCE} DESTINATION ${INSTALL_SBINDIR} COMPONENT Server) diff --git a/mariadb-galera.cnf.patch b/mariadb-galera.cnf.patch deleted file mode 100644 index 095cdf4..0000000 --- a/mariadb-galera.cnf.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- mariadb-10.1.13/support-files/wsrep.cnf.sh.orig 2016-03-24 10:12:15.000000000 +0100 -+++ mariadb-10.1.13/support-files/wsrep.cnf.sh 2016-04-07 10:18:34.281155365 +0200 -@@ -30,6 +30,9 @@ bind-address=0.0.0.0 - ## WSREP options - ## - -+# Enable wsrep -+wsrep_on=1 -+ - # Full path to wsrep provider library or 'none' - wsrep_provider=none - diff --git a/mariadb-ownsetup.patch b/mariadb-ownsetup.patch index 7b6f609..7728cf1 100644 --- a/mariadb-ownsetup.patch +++ b/mariadb-ownsetup.patch @@ -1,17 +1,17 @@ -diff -Naup mariadb-10.1.8/support-files/CMakeLists.txt mariadb-10.1.8/support-files/CMakeLists.txt_patched ---- mariadb-10.5.2/support-files/CMakeLists.txt 2020-03-25 11:13:19.000000000 +0100 -+++ mariadb-10.5.2/support-files/CMakeLists.txt_patched 2020-04-01 01:29:52.140847301 +0200 -@@ -91,6 +91,7 @@ IF(UNIX) - ENDIF() - - CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY) -+ CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_LIBDIR}/pkgconfig COMPONENT Development) - - INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) -diff -up mariadb-10.1.8/support-files/rpm/server.cnf.p9 mariadb-10.1.8/support-files/rpm/server.cnf ---- mariadb-10.1.8/support-files/rpm/server.cnf.p9 2015-10-15 17:44:19.000000000 +0200 -+++ mariadb-10.1.8/support-files/rpm/server.cnf 2015-11-03 11:38:25.228070808 +0100 +--- mariadb-10.4.14/support-files/CMakeLists.txt 2020-08-06 17:28:28.000000000 +0200 ++++ mariadb-10.4.14/support-files/CMakeLists.txt_patched 2020-09-03 13:21:07.826658279 +0200 +@@ -187,6 +187,7 @@ IF(UNIX) + COMPONENT SharedLibraries) + INSTALL(FILES rpm/mysql-clients.cnf DESTINATION ${INSTALL_SYSCONF2DIR} + COMPONENT Client) ++ CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_SOURCE_DIR}/rpm/server.cnf @ONLY) + INSTALL(FILES rpm/server.cnf DESTINATION ${INSTALL_SYSCONF2DIR} + COMPONENT IniFiles) + INSTALL(FILES rpm/enable_encryption.preset DESTINATION ${INSTALL_SYSCONF2DIR} + +diff -up mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup mariadb-10.0.15/support-files/rpm/server.cnf +--- mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup 2015-01-24 23:55:55.110063592 +0100 ++++ mariadb-10.0.15/support-files/rpm/server.cnf 2015-01-24 23:57:42.308114387 +0100 @@ -9,7 +9,16 @@ [server] diff --git a/mariadb-pcdir.patch b/mariadb-pcdir.patch deleted file mode 100644 index 87b70b2..0000000 --- a/mariadb-pcdir.patch +++ /dev/null @@ -1,19 +0,0 @@ -Use PCDIR CMake option, if configured - -Upstream install the server pkgconfig file into arch-independent directory -Reported to upstream as: https://jira.mariadb.org/browse/MDEV-14340 - ---- mariadb-10.5.2/support-files/CMakeLists.txt 2020-04-01 01:31:21.426832942 +0200 -+++ mariadb-10.5.2/support-files/CMakeLists.txt_patched 2020-04-01 01:35:05.808309914 +0200 -@@ -92,7 +92,11 @@ IF(UNIX) - - CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY) - CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY) -+IF(INSTALL_PCDIR) -+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_PCDIR} COMPONENT Development) -+ELSE() - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_LIBDIR}/pkgconfig COMPONENT Development) -+ENDIF() - - INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) - diff --git a/mariadb-pythonver.patch b/mariadb-pythonver.patch deleted file mode 100644 index eb8a1e7..0000000 --- a/mariadb-pythonver.patch +++ /dev/null @@ -1,27 +0,0 @@ -Upstream PR: https://github.com/MariaDB/server/pull/1081 - -From d2cbf56d36e422802aa7e53ec0f4e6be8fd53cf5 Mon Sep 17 00:00:00 2001 -From: Honza Horak -Date: Wed, 9 Jan 2019 20:17:29 +0100 -Subject: [PATCH] Make the PYTHON_SHEBANG value configurable - -In Fedora 30 it is required to specify either /usr/bin/python2 or /usr/bin/python3 in the shebang, so we need a way to say explicit shebang, ideally in the cmake call. ---- - CMakeLists.txt | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a139c9e5fa4..ccccb08bef1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -342,7 +342,9 @@ MYSQL_CHECK_SSL() - MYSQL_CHECK_READLINE() - - SET(MALLOC_LIBRARY "system") --SET(PYTHON_SHEBANG "/usr/bin/env python" CACHE STRING "python shebang") -+IF(NOT DEFINED PYTHON_SHEBANG) -+ SET(PYTHON_SHEBANG "/usr/bin/env python") -+ENDIF() - MARK_AS_ADVANCED(PYTHON_SHEBANG) - - CHECK_PCRE() diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index 19f576e..b684482 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -1,12 +1,11 @@ We have some downstream patches and other scripts that include variables to be expanded by cmake. Cmake needs to know about them, so adding them manually. - # Install libgcc as mylibgcc.a ---- mariadb-10.5.2/scripts/CMakeLists.txt 2020-03-25 11:13:17.000000000 +0100 -+++ mariadb-10.5.2/scripts/CMakeLists.txt_patched 2020-04-01 01:26:59.398940396 +0200 -@@ -377,6 +377,34 @@ ELSE() +--- mariadb-10.3.8/scripts/CMakeLists.txt 2018-07-02 09:34:11.000000000 +0200 ++++ mariadb-10.3.8/scripts/CMakeLists.txt_patched 2018-07-03 10:58:15.954670153 +0200 +@@ -361,6 +361,34 @@ ELSE() COMPONENT ${${file}_COMPONENT} - ) + ) ENDFOREACH() + + # files for systemd diff --git a/mariadb-shebang.patch b/mariadb-shebang.patch deleted file mode 100644 index 4f0a267..0000000 --- a/mariadb-shebang.patch +++ /dev/null @@ -1,15 +0,0 @@ -*** WARNING: mangling shebang in /usr/bin/myrocks_hotbackup from #!/usr/bin/env python to #!/usr/bin/python2. This will become an ERROR, fix it manually! - -Maintainer's note: -This script is not python3 compatible: -ModuleNotFoundError: No module named 'commands' - -diff -Naurp mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py_patched ---- mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py 2019-01-04 16:28:50.000000000 +0100 -+++ mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py_patched 2019-01-08 12:00:54.468750863 +0100 -@@ -1,4 +1,4 @@ --#!@PYTHON_SHEBANG@ -+#!/usr/bin/python2 - - from __future__ import division - from optparse import OptionParser diff --git a/mariadb.spec b/mariadb.spec index 8f60760..8edf116 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,3 +1,7 @@ +# This is a fix for the https://fedoraproject.org/wiki/Changes/CMake_to_do_out-of-source_builds +# So the beaviour will be the same also in F31 nad F32 +%undefine __cmake_in_source_build + # Prefix that is used for patches %global pkg_name %{name} %global pkgnamepatch mariadb @@ -11,7 +15,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.5.1 +%global last_tested_version 10.4.14 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -28,10 +32,9 @@ -# TokuDB engine - DEPRECATED ! +# TokuDB engine # https://mariadb.com/kb/en/mariadb/tokudb/ # TokuDB engine is available only for x86_64 -# The Percona upstream deprecated the SE. It is not part of MariaDB 10.5 # Mroonga engine # https://mariadb.com/kb/en/mariadb/about-mroonga/ # Current version in MariaDB, 7.07, only supports the x86_64 @@ -40,9 +43,9 @@ # https://mariadb.com/kb/en/library/about-myrocks-for-mariadb/ # RocksDB engine is available only for x86_64 # RocksDB may be built with jemalloc, if specified in CMake -%if "%_arch" == "x86_64" && 0%{?fedora} -# TokuDB is deprecated in MariaDB 10.5 and later -%bcond_with tokudb +%ifarch x86_64 +%if 0%{?fedora} +%bcond_without tokudb %bcond_without mroonga %bcond_without rocksdb %else @@ -50,6 +53,7 @@ %bcond_with mroonga %bcond_with rocksdb %endif +%endif # The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing # hierarchies and more complex graph structures to be handled in a relational fashion @@ -100,13 +104,14 @@ -# MariaDB 10.0 and later requires pcre >= 10.34, otherwise we need to use +# MariaDB 10.1.39 and later requires pcre >= 8.43, otherwise we need to use # the bundled library, since the package cannot be build with older version +# https://mariadb.com/kb/en/pcre/ %if 0%{?fedora} || 0%{?rhel} > 7 %bcond_without unbundled_pcre %else %bcond_with unbundled_pcre -%global pcre_bundled_version 10.34 +%global pcre_bundled_version 8.44 %endif # Use main python interpretter version @@ -138,18 +143,16 @@ # Provide mysql names for compatibility %if 0%{?fedora} %bcond_without mysql_names -%bcond_without conflicts %else %bcond_with mysql_names -%bcond_with conflicts %endif # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.2 -Release: 1%{?with_debug:.debug}%{?dist} +Version: 10.4.14 +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -182,8 +185,6 @@ Source71: LICENSE.clustercheck # https://jira.mariadb.org/browse/MDEV-12646 Source72: mariadb-server-galera.te -# Patch2: Make the python interpretter be configurable -Patch2: %{pkgnamepatch}-pythonver.patch # Patch4: Red Hat distributions specific logrotate fix # it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2 Patch4: %{pkgnamepatch}-logrotate.patch @@ -193,8 +194,6 @@ Patch7: %{pkgnamepatch}-scripts.patch Patch9: %{pkgnamepatch}-ownsetup.patch # Patch10: Fix cipher name in the SSL Cipher name test Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch -# Patch11: Use PCDIR CMake option, if configured -Patch11: %{pkgnamepatch}-pcdir.patch # Patch13: Fix Spider code on armv7hl; https://jira.mariadb.org/browse/MDEV-18737 Patch13: %{pkgnamepatch}-spider_on_armv7hl.patch # Patch15: Add option to edit groonga's and groonga-normalizer-mysql install path @@ -226,9 +225,9 @@ BuildRequires: bison bison-devel # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel -# use either new enough version of pcre2 or provide bundles(pcre2) -%{?with_unbundled_pcre:BuildRequires: pcre2-devel >= 10.34 pkgconf} -%{!?with_unbundled_pcre:Provides: bundled(pcre2) = %{pcre_bundled_version}} +# use either new enough version of pcre or provide bundles(pcre) +%{?with_unbundled_pcre:BuildRequires: pcre-devel >= 8.43 pkgconf} +%{!?with_unbundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}} # Few utilities needs Perl %if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: perl-interpreter @@ -300,11 +299,10 @@ Provides: mysql-compat-client%{?_isa} = %{sameevr} Suggests: %{name}-server%{?_isa} = %{sameevr} -# MySQL (with caps) is upstream's spelling of their own RPMs for mysql -%{?with_conflicts:Conflicts: community-mysql} +Conflicts: community-mysql # Filtering: https://docs.fedoraproject.org/en-US/packaging-guidelines/AutoProvidesAndRequiresFiltering/ -%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) +%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::|wsrep) %global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\\.so)$ # Define license macro if not present @@ -458,7 +456,7 @@ Provides: mysql-server%{?_isa} = %{sameevr} Provides: mysql-compat-server = %{sameevr} Provides: mysql-compat-server%{?_isa} = %{sameevr} %endif -%{?with_conflicts:Conflicts: community-mysql-server} +Conflicts: community-mysql-server # Bench subpackage has been deprecated in F32 Obsoletes: %{name}-bench <= %{sameevr} @@ -586,6 +584,7 @@ Requires: %{name}-server%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-perl = %{sameevr} %endif +Conflicts: community-mysql-server # mysqlhotcopy needs DBI/DBD support Requires: perl(DBI) perl(DBD::mysql) @@ -607,7 +606,7 @@ Requires: mariadb-connector-c-devel >= 3.0 Provides: mysql-devel = %{sameevr} Provides: mysql-devel%{?_isa} = %{sameevr} %endif -%{?with_conflicts:Conflicts: community-mysql-devel} +Conflicts: community-mysql-devel %description devel MariaDB is a multi-user, multi-threaded SQL database server. @@ -650,7 +649,7 @@ Requires: libaio-devel Provides: mysql-embedded-devel = %{sameevr} Provides: mysql-embedded-devel%{?_isa} = %{sameevr} %endif -%{?with_conflicts:Conflicts: community-mysql-embedded-devel} +Conflicts: community-mysql-embedded-devel %description embedded-devel MariaDB is a multi-user, multi-threaded SQL database server. @@ -677,7 +676,7 @@ Requires: perl(Socket) Requires: perl(Sys::Hostname) Requires: perl(Test::More) Requires: perl(Time::HiRes) -%{?with_conflicts:Conflicts: community-mysql-test} +Conflicts: community-mysql-test %if %{with mysql_names} Provides: mysql-test = %{sameevr} Provides: mysql-test%{?_isa} = %{sameevr} @@ -696,16 +695,21 @@ sources. # Remove JAR files that upstream puts into tarball find . -name "*.jar" -type f -exec rm --verbose -f {} \; - +# Remove testsuite for the mariadb-connector-c rm -rf libmariadb/unittest +# Remove python scripts remains from tokudb upstream (those files are not used anyway) +rm -r storage/tokudb/mysql-test/tokudb/t/*.py +%if %{without rocksdb} +rm -r storage/rocksdb/ +%endif + + -%patch2 -p1 %patch4 -p1 %patch7 -p1 %patch9 -p1 %patch10 -p1 -%patch11 -p1 -#%patch13 -p1 +%patch13 -p1 %patch15 -p1 %patch16 -p1 @@ -739,34 +743,32 @@ sed 's/mariadb-server-galera/%{name}-server-galera/' %{SOURCE72} > selinux/%{nam # Get version of PCRE, that upstream use -pcre_version=`grep -e "ftp.pcre.org/pub/pcre/pcre2" cmake/pcre.cmake | sed -r "s;[^0123456789]*2-([[:digit:]]+\.[[:digit:]]+)\.[^0123456789]*;\1;"` +pcre_maj=`grep '^m4_define(pcre_major' pcre/configure.ac | sed -r 's/^m4_define\(pcre_major, \[([0-9]+)\]\)/\1/'` +pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\(pcre_minor, \[([0-9]+)\]\)/\1/'` -# Check if the PCRE version in macro 'pcre_bundled_version', used in Provides: bundled(...), is the same version as upstream actually bundles %if %{without unbundled_pcre} -if [ %{pcre_bundled_version} != "$pcre_version" ] ; then - echo "\n Error: Bundled PCRE version is not correct. \n\tBundled version number:%{pcre_bundled_version} \n\tUpstream version number: $pcre_version\n" +# Check if the PCRE version in macro 'pcre_bundled_version', used in Provides: bundled(...), is the same version as upstream actually bundles +if [ %{pcre_bundled_version} != "$pcre_maj.$pcre_min" ] +then + echo "\n Error: Bundled PCRE version is not correct. \n\tBundled version number:%{pcre_bundled_version} \n\tUpstream version number: $pcre_maj.$pcre_min\n" exit 1 fi %else # Check if the PCRE version that upstream use, is the same as the one present in system -pcre_system_version=`pkgconf %{_libdir}/pkgconfig/libpcre2-*.pc --modversion 2>/dev/null | head -n 1` - -if [ "$pcre_system_version" != "$pcre_version" ] ; then - echo "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_version\n" +pcre_system_version=`pkgconf %{_libdir}/pkgconfig/libpcre.pc --modversion 2>/dev/null ` +if [ "$pcre_system_version" != "$pcre_maj.$pcre_min" ] +then + echo "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_maj.$pcre_min\n" fi %endif -%if %{without rocksdb} -rm -r storage/rocksdb/ -%endif - -# Remove python scripts remains from tokudb upstream (those files are not used anyway) -rm -r storage/tokudb/mysql-test/tokudb/t/*.py - %build -%{set_build_flags} +# This package has static probe points which do not currently +# work with LTO and result in undefined symbols at link time. +# This is being worked on in upstream GCC +%define _lto_cflags %{nil} # fail quickly and obviously if user tries to build as root %if %runselftest @@ -778,38 +780,6 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py fi %endif -CFLAGS="$CFLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" -# force PIC mode so that we can build libmysqld.so -CFLAGS="$CFLAGS -fPIC" - -%if %{with debug} -# Override all optimization flags when making a debug build -# -D_FORTIFY_SOURCE requires optimizations enabled. Disable the fortify. -CFLAGS=`echo "$CFLAGS" | sed -r 's/-D_FORTIFY_SOURCE=[012]/-D_FORTIFY_SOURCE=0/'` -CFLAGS=`echo "$CFLAGS" | sed -r 's/-O[0123]//'` - -CFLAGS="$CFLAGS -O0 -g -D_FORTIFY_SOURCE=0" - -# Fixes for Fedora 32 & Rawhide (GCC 10.0): -%if 0%{?fedora} >= 32 -CFLAGS="$CFLAGS -Wno-error=class-memaccess" -%endif # f32 - -%endif # debug - -CXXFLAGS="$CFLAGS" -CPPFLAGS="$CFLAGS" - -# CFLAGS specific "-Wno-error" -%if %{with debug} -%if 0%{?fedora} >= 32 -CFLAGS="$CFLAGS -Wno-error=enum-conversion" -%endif # f32 -%endif # debug - -export CFLAGS CXXFLAGS CPPFLAGS - - # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. %cmake . \ @@ -874,12 +844,35 @@ export CFLAGS CXXFLAGS CPPFLAGS -DCONNECT_WITH_JDBC=OFF \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} -# Print all Cmake options values -# cmake ./ -LAH for List Advanced Help -cmake ./ -L -%make_build VERBOSE=1 +CFLAGS="$CFLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" +# force PIC mode so that we can build libmysqld.so +CFLAGS="$CFLAGS -fPIC" +%if %{with debug} +# Override all optimization flags when making a debug build +# -D_FORTIFY_SOURCE requires optimizations enabled. Disable the fortify. +CFLAGS=`echo "$CFLAGS" | sed -r 's/-D_FORTIFY_SOURCE=[012]/-D_FORTIFY_SOURCE=0/'` +CFLAGS=`echo "$CFLAGS" | sed -r 's/-O[0123]//'` + +CFLAGS="$CFLAGS -O0 -g -D_FORTIFY_SOURCE=0" + +# Fixes for Fedora 32 & Rawhide (GCC 10.0): +%if 0%{?fedora} >= 32 +CFLAGS="$CFLAGS -Wno-error=class-memaccess" +CFLAGS="$CFLAGS -Wno-error=enum-conversion" +%endif # f32 +%endif # debug + +CXXFLAGS="$CFLAGS" +CPPFLAGS="$CFLAGS" +export CFLAGS CXXFLAGS CPPFLAGS + + +# Print all Cmake options values; "-LAH" means "List Advanced Help" +cmake -B %{_vpath_builddir} -LAH + +%cmake_build # build selinux policy %if %{with galera} @@ -887,8 +880,10 @@ pushd selinux make -f /usr/share/selinux/devel/Makefile %{name}-server-galera.pp %endif + + %install -%make_install +%cmake_install # multilib header support #1625157 for header in mysql/server/my_config.h mysql/server/private/config.h; do @@ -902,7 +897,7 @@ ln -s mysql_config.1.gz %{buildroot}%{_mandir}/man1/mariadb_config.1.gz if [ %multilib_capable ] then mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} -install -p -m 0755 scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config +install -p -m 0755 %{_vpath_builddir}/scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config # Copy manual page for multilib mysql_config; https://jira.mariadb.org/browse/MDEV-11961 ln -s mysql_config.1 %{buildroot}%{_mandir}/man1/mysql_config-%{__isa_bits}.1 fi @@ -914,8 +909,8 @@ rm %{buildroot}%{_libdir}/pkgconfig/libmariadb.pc # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also %%{name}-file-contents.patch) -install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/%{pkg_name}/ -install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/%{pkg_name}/ +install -p -m 644 %{_vpath_builddir}/Docs/INFO_SRC %{buildroot}%{_libdir}/%{pkg_name}/ +install -p -m 644 %{_vpath_builddir}/Docs/INFO_BIN %{buildroot}%{_libdir}/%{pkg_name}/ rm -r %{buildroot}%{_datadir}/doc/%{_pkgdocdirname}/MariaDB-server-%{version}/ # Logfile creation @@ -930,9 +925,9 @@ mkdir -p %{buildroot}%{pidfiledir} install -p -m 0755 -d %{buildroot}%{dbdatadir} %if %{with config} -install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf +install -D -p -m 0644 %{_vpath_builddir}/scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf %else -rm scripts/my.cnf +rm %{_vpath_builddir}/scripts/my.cnf %endif # use different config file name for each variant of server (mariadb / mysql) @@ -941,19 +936,21 @@ mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my. # remove SysV init script and a symlink to that, we use systemd rm %{buildroot}%{_libexecdir}/rcmysql # install systemd unit files and scripts for handling server startup -install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service -install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service -# Install downstream version of tmpfiles -install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf +install -D -p -m 644 %{_vpath_builddir}/scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service +install -D -p -m 644 %{_vpath_builddir}/scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service +# Remove the upstream version +rm %{buildroot}%{_tmpfilesdir}/mariadb.conf +# Install downstream version +install -D -p -m 0644 %{_vpath_builddir}/scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?mysqld_pid_dir:1} echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf %endif # helper scripts for service starting -install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir -install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket -install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade -install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common +install -p -m 755 %{_vpath_builddir}/scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir +install -p -m 755 %{_vpath_builddir}/scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket +install -p -m 755 %{_vpath_builddir}/scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade +install -p -m 644 %{_vpath_builddir}/scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common # install aditional galera selinux policy %if %{with galera} @@ -992,10 +989,6 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server # Binary for monitoring MySQL performance # Shipped as a standalone package in Fedora rm %{buildroot}%{_bindir}/mytop -rm %{buildroot}%{_mandir}/man1/mytop.1* - -# Should be shipped with mariadb-connector-c -rm %{buildroot}%{_mandir}/man1/mariadb-config.1* # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} @@ -1011,25 +1004,20 @@ install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}} # install galera config file %if %{with galera} -sed -i -r 's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|' support-files/wsrep.cnf -install -p -m 0644 support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf +sed -i -r 's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|' %{_vpath_builddir}/support-files/wsrep.cnf +install -p -m 0644 %{_vpath_builddir}/support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf %endif # install the clustercheck script mkdir -p %{buildroot}%{_sysconfdir}/sysconfig touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck -install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck +install -p -m 0755 %{_vpath_builddir}/scripts/clustercheck %{buildroot}%{_bindir}/clustercheck # remove duplicate logrotate script rm %{buildroot}%{logrotateddir}/mysql # Remove AppArmor files rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor -# Buildroot does not have symlink /lib64 --> /usr/lib64 -%if %{__isa_bits} == 64 && 0%{?fedora} -mv %{buildroot}/lib64/security %{buildroot}%{_libdir} -%else -mv %{buildroot}/lib/security %{buildroot}%{_libdir} -%endif +mv %{buildroot}/%{_lib}/security %{buildroot}%{_libdir} # Disable plugins %if %{with gssapi} @@ -1077,7 +1065,7 @@ unlink %{buildroot}%{_mandir}/man1/mariadb_config.1* # This files are already included in mariadb-connector-c rm %{buildroot}%{_includedir}/mysql/mysql_version.h rm %{buildroot}%{_includedir}/mysql/{errmsg.h,ma_list.h,ma_pvio.h,mariadb_com.h,\ -mariadb_ctype.h,mariadb_dyncol.h,mariadb_stmt.h,mariadb_version.h,ma_tls.h,mysqld_error.h,mysql.h} +mariadb_ctype.h,mariadb_dyncol.h,mariadb_stmt.h,mariadb_version.h,ma_tls.h,mysqld_error.h,mysql.h,mariadb_rpl.h} rm -r %{buildroot}%{_includedir}/mysql/{mariadb,mysql} %endif @@ -1140,6 +1128,8 @@ rm %{buildroot}%{_bindir}/{mariadb-client-test,mariadb-test} rm %{buildroot}%{_mandir}/man1/{mysql_client_test,mysqltest,my_safe_process}.1* rm %{buildroot}%{_mandir}/man1/{mariadb-client-test,mariadb-test}.1* rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1* +rm %{buildroot}/suite/plugins/pam/mariadb_mtr +rm %{buildroot}/suite/plugins/pam/pam_mariadb_mtr.so %endif %if %{without galera} @@ -1152,7 +1142,6 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %if %{without rocksdb} rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}ldb.1* -rm %{buildroot}%{_mandir}/man1/myrocks_hotbackup.1* %endif %check @@ -1181,7 +1170,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} ( set -ex - cd mysql-test + cd %{buildroot}%{_datadir}/mysql-test export common_testsuite_arguments=" --parallel=auto --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --force-restart --shutdown-timeout=60 --max-test-fail=5 " @@ -1352,11 +1341,10 @@ fi %{_bindir}/myisampack %{_bindir}/my_print_defaults -%{_bindir}/mariadb-conv - %{_bindir}/mysql_{install_db,secure_installation,tzinfo_to_sql} %{_bindir}/mariadb-{install-db,secure-installation,tzinfo-to-sql} %{_bindir}/{mysqld_,mariadbd-}safe +%{_bindir}/{mysqld_safe_helper,mariadbd-safe-helper} %{_bindir}/innochecksum %{_bindir}/replace @@ -1405,11 +1393,10 @@ fi %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/my_print_defaults.1* -%{_mandir}/man1/mariadb-conv.1* - %{_mandir}/man1/mysql_{install_db,secure_installation,tzinfo_to_sql}.1* %{_mandir}/man1/mariadb-{install-db,secure-installation,tzinfo-to-sql}.1* %{_mandir}/man1/{mysqld_,mariadbd-}safe.1* +%{_mandir}/man1/{mysqld_safe_helper,mariadbd-safe-helper}.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/replace.1* @@ -1496,7 +1483,6 @@ fi %{_bindir}/sst_dump %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so %{_mandir}/man1/{mysql_,mariadb-}ldb.1* -%{_mandir}/man1/myrocks_hotbackup.1* %endif %if %{with tokudb} @@ -1547,9 +1533,6 @@ fi %{_bindir}/perror %{_mandir}/man1/{mysql_,mariadb-}upgrade.1* %{_mandir}/man1/perror.1* -# Other utilities -%{_bindir}/{mysqld_safe_helper,mariadbd-safe-helper} -%{_mandir}/man1/{mysqld_safe_helper,mariadbd-safe-helper}.1* %if %{with devel} %files devel @@ -1597,15 +1580,46 @@ fi %endif %changelog -* Thu Apr 09 2020 Michal Schorm - 10.5.2-1 -- Test rebase to 10.5.2 - Beta -- TokuDB SE has been deprecated +* Sun Sep 06 2020 Michal Schorm - 10.4.14-3 +- Resolves: #1851605 -* Thu Apr 09 2020 Michal Schorm - 10.5.1-1 -- Test rebase to 10.5.1 - Beta +* Thu Sep 03 2020 Michal Schorm - 10.4.14-2 +- Resolves: #1873999, #1874446 -* Thu Apr 09 2020 Michal Schorm - 10.5.0-1 -- Test rebase to 10.5.0 - Alpha +* Thu Aug 20 2020 Michal Schorm - 10.4.14-1 +- Rebase to 10.4.14 + +* Tue Aug 18 2020 Michal Schorm - 10.4.13-7 +- Do CMake out-of-source builds +- Force the CMake change regarding the in-source builds also to F31 and F32 +- Use CMake macros instead of cmake & make direct commands +- %%cmake macro covers the %%{set_build_flags}, so they are not needed + Other changes to compile flags must be specified *after* the %%cmake macro + +* Wed Aug 05 2020 Jeff Law - 3:10.4.13-6 +- Disable LTO + +* Sat Aug 01 2020 Fedora Release Engineering - 3:10.4.13-5 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 3:10.4.13-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 14 2020 Michal Schorm - 10.4.13-3 +- Make conflicts between corresponding mariadb and mysql packages explicit +- Get rid of the Conflicts macro, it was intended to mark conflicts with + *upstream* packages + +* Fri Jun 05 2020 Michal Schorm - 10.4.13-2 +- Extend Perl "Requires" filtering to wsrep + Resolves: #1845376 + +* Fri Jun 05 2020 Michal Schorm - 10.4.13-1 +- Rebase to 10.4.13 + +* Sun May 24 2020 Lukas Javorsky - 3:10.4.12-6 +- Remove mariadb_rpl.h from includedir to prevent conflict with connector-c's libraries * Thu Apr 02 2020 Björn Esser - 3:10.4.12-5 - Fix string quoting for rpm >= 4.16 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index ed154af..44b5c9d 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -38,5 +38,6 @@ sys_vars.tcp_nodelay : # Fails on i686 encryption.innodb-redo-badkey : -# Fails since 10.5.2 -main.mysqld--help2 : +# Fails on all architectures since 10.4.14 +main.ssl_system_ca : +disks.disks : diff --git a/sources b/sources index ce5a492..adb63eb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.2.tar.gz) = 7abfc4a5543c35ab49ca164a998ed4b31326cb63f57b15449a5de3b62523d99535f378c8a39835f1e8563cf0cea7fd96b13e4f089cbd1546b5e25256c5f9832f +SHA512 (mariadb-10.4.14.tar.gz) = c09817c1dd7962132bcf2886c97ad17ce43c00ee687724028e5f39f6a6a93877ae8695c2c795abba6a4f3bc40674f93a53d6d43f46788a4a8a42c4a65a22c91c From 1dd39c3767ad0f1beac21065d2a71209d36628c6 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 11 Sep 2020 09:33:59 +0200 Subject: [PATCH 625/789] Rebase to 10.5.0 - Alpha --- mariadb-10.5.0-libsql_builtins.patch | 14 +++++++++++ mariadb-auth_pam_tool_dir.patch | 35 ++++++++++++++++------------ mariadb.spec | 14 +++++++---- sources | 2 +- 4 files changed, 45 insertions(+), 20 deletions(-) create mode 100644 mariadb-10.5.0-libsql_builtins.patch diff --git a/mariadb-10.5.0-libsql_builtins.patch b/mariadb-10.5.0-libsql_builtins.patch new file mode 100644 index 0000000..b29ddba --- /dev/null +++ b/mariadb-10.5.0-libsql_builtins.patch @@ -0,0 +1,14 @@ +Based on this upstream commit: +https://github.com/MariaDB/server/commit/92d6c13206b199f24384ed2504ed479b0f59c314 + +--- mariadb-10.5.0/sql/CMakeLists.txt 2019-11-28 16:19:01.000000000 +0100 ++++ mariadb-10.5.0/sql/CMakeLists.txt_patched 2020-01-22 00:52:28.858844312 +0100 +@@ -277,7 +277,7 @@ IF(MSVC AND NOT WITHOUT_DYNAMIC_PLUGINS) + SET_TARGET_PROPERTIES(mysqld_import_lib PROPERTIES IMPORTED_LOCATION ${MYSQLD_LIB}) + ENDIF() + +-ADD_LIBRARY( sql_builtins ${CMAKE_CURRENT_BINARY_DIR}/sql_builtin.cc) ++ADD_LIBRARY(sql_builtins STATIC ${CMAKE_CURRENT_BINARY_DIR}/sql_builtin.cc) + TARGET_LINK_LIBRARIES(sql_builtins ${MYSQLD_STATIC_PLUGIN_LIBS}) + + MYSQL_ADD_EXECUTABLE(mysqld ${MYSQLD_SOURCE} DESTINATION ${INSTALL_SBINDIR} COMPONENT Server) diff --git a/mariadb-auth_pam_tool_dir.patch b/mariadb-auth_pam_tool_dir.patch index 6334812..9ac9407 100644 --- a/mariadb-auth_pam_tool_dir.patch +++ b/mariadb-auth_pam_tool_dir.patch @@ -5,25 +5,30 @@ Thus "chown 0" will always fail Never parse 'ls' output! http://mywiki.wooledge.org/BashFAQ/087 ---- mariadb-10.4.12/scripts/mysql_install_db.sh 2020-01-26 21:43:53.000000000 +0100 -+++ mariadb-10.4.12/scripts/mysql_install_db.sh_patched 2020-01-29 11:11:09.448812331 +0100 -@@ -482,13 +482,16 @@ if test -n "$user" - then - if test -z "$srcdir" -a "$in_rpm" -eq 0 +diff -Nau mariadb-10.5.0/scripts/mysql_install_db.sh.old mariadb-10.5.0/scripts/mysql_install_db.sh +--- mariadb-10.5.0/scripts/mysql_install_db.sh.old 2020-09-08 15:20:02.075081944 +0200 ++++ mariadb-10.5.0/scripts/mysql_install_db.sh 2020-09-08 15:21:36.251043330 +0200 +@@ -490,13 +490,16 @@ + fi + if test -z "$srcdir" then - chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \ - chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" - if test $? -ne 0 + if [ `stat "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" -c %u` -ne 0 ] then -+ chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \ -+ chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" -+ if test $? -ne 0 -+ then - echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'." - echo "It must be root, the PAM authentication plugin doesn't work otherwise.." - echo -+ fi +- echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'." +- echo " It must be root, the PAM authentication plugin doesn't work otherwise.." +- echo ++ chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \ ++ chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" ++ if test $? -ne 0 ++ then ++ echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'." ++ echo " It must be root, the PAM authentication plugin doesn't work otherwise.." ++ echo ++ fi fi - chown $user "$pamtooldir/auth_pam_tool_dir" && \ - chmod 0700 "$pamtooldir/auth_pam_tool_dir" + fi + args="$args --user=$user" + diff --git a/mariadb.spec b/mariadb.spec index 8edf116..aabc7f9 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -111,7 +111,7 @@ %bcond_without unbundled_pcre %else %bcond_with unbundled_pcre -%global pcre_bundled_version 8.44 +%global pcre_bundled_version 8.43 %endif # Use main python interpretter version @@ -151,8 +151,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.4.14 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 10.5.0 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -200,6 +200,8 @@ Patch13: %{pkgnamepatch}-spider_on_armv7hl.patch Patch15: %{pkgnamepatch}-groonga.patch # Patch16: Workaround for "chown 0" with priviledges dropped to "mysql" user Patch16: %{pkgnamepatch}-auth_pam_tool_dir.patch +# Patch17: Fix of an upstream bug. Fixed in the next (10.5.1) version. +Patch17: %{pkgnamepatch}-10.5.0-libsql_builtins.patch BuildRequires: cmake gcc-c++ BuildRequires: multilib-rpm-config @@ -709,9 +711,10 @@ rm -r storage/rocksdb/ %patch7 -p1 %patch9 -p1 %patch10 -p1 -%patch13 -p1 +#%patch13 -p1 %patch15 -p1 %patch16 -p1 +%patch17 -p1 # workaround for upstream bug #56342 #rm mysql-test/t/ssl_8k_key-master.opt @@ -1580,6 +1583,9 @@ fi %endif %changelog +* Tue Sep 08 2020 Michal Schorm - 10.5.0-1 +- Test rebase to 10.5.0 - Alpha + * Sun Sep 06 2020 Michal Schorm - 10.4.14-3 - Resolves: #1851605 diff --git a/sources b/sources index adb63eb..96ad160 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.4.14.tar.gz) = c09817c1dd7962132bcf2886c97ad17ce43c00ee687724028e5f39f6a6a93877ae8695c2c795abba6a4f3bc40674f93a53d6d43f46788a4a8a42c4a65a22c91c +SHA512 (mariadb-10.5.0.tar.gz) = ed7226a0e0b8d0aa435691a43f457bf338b484fc2dd893b8490c65bf99915a089e6c91a86687ef2eaa3728d83a91f5c0dfd7b8ddbefec79f9ad4cd7074bda4c5 From a35e17b2cb95e0494c6a9e06192288174c561852 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 11 Sep 2020 09:35:04 +0200 Subject: [PATCH 626/789] Rebase to 10.5.1 - Beta Update to build against PCRE2 --- mariadb-10.5.0-libsql_builtins.patch | 14 ------- mariadb-auth_pam_tool_dir.patch | 35 ++++++++--------- mariadb-ownsetup.patch | 28 +++++++------- mariadb-pcdir.patch | 20 ++++++++++ mariadb.spec | 57 ++++++++++++++++------------ sources | 2 +- 6 files changed, 82 insertions(+), 74 deletions(-) delete mode 100644 mariadb-10.5.0-libsql_builtins.patch create mode 100644 mariadb-pcdir.patch diff --git a/mariadb-10.5.0-libsql_builtins.patch b/mariadb-10.5.0-libsql_builtins.patch deleted file mode 100644 index b29ddba..0000000 --- a/mariadb-10.5.0-libsql_builtins.patch +++ /dev/null @@ -1,14 +0,0 @@ -Based on this upstream commit: -https://github.com/MariaDB/server/commit/92d6c13206b199f24384ed2504ed479b0f59c314 - ---- mariadb-10.5.0/sql/CMakeLists.txt 2019-11-28 16:19:01.000000000 +0100 -+++ mariadb-10.5.0/sql/CMakeLists.txt_patched 2020-01-22 00:52:28.858844312 +0100 -@@ -277,7 +277,7 @@ IF(MSVC AND NOT WITHOUT_DYNAMIC_PLUGINS) - SET_TARGET_PROPERTIES(mysqld_import_lib PROPERTIES IMPORTED_LOCATION ${MYSQLD_LIB}) - ENDIF() - --ADD_LIBRARY( sql_builtins ${CMAKE_CURRENT_BINARY_DIR}/sql_builtin.cc) -+ADD_LIBRARY(sql_builtins STATIC ${CMAKE_CURRENT_BINARY_DIR}/sql_builtin.cc) - TARGET_LINK_LIBRARIES(sql_builtins ${MYSQLD_STATIC_PLUGIN_LIBS}) - - MYSQL_ADD_EXECUTABLE(mysqld ${MYSQLD_SOURCE} DESTINATION ${INSTALL_SBINDIR} COMPONENT Server) diff --git a/mariadb-auth_pam_tool_dir.patch b/mariadb-auth_pam_tool_dir.patch index 9ac9407..6334812 100644 --- a/mariadb-auth_pam_tool_dir.patch +++ b/mariadb-auth_pam_tool_dir.patch @@ -5,30 +5,25 @@ Thus "chown 0" will always fail Never parse 'ls' output! http://mywiki.wooledge.org/BashFAQ/087 -diff -Nau mariadb-10.5.0/scripts/mysql_install_db.sh.old mariadb-10.5.0/scripts/mysql_install_db.sh ---- mariadb-10.5.0/scripts/mysql_install_db.sh.old 2020-09-08 15:20:02.075081944 +0200 -+++ mariadb-10.5.0/scripts/mysql_install_db.sh 2020-09-08 15:21:36.251043330 +0200 -@@ -490,13 +490,16 @@ - fi - if test -z "$srcdir" +--- mariadb-10.4.12/scripts/mysql_install_db.sh 2020-01-26 21:43:53.000000000 +0100 ++++ mariadb-10.4.12/scripts/mysql_install_db.sh_patched 2020-01-29 11:11:09.448812331 +0100 +@@ -482,13 +482,16 @@ if test -n "$user" + then + if test -z "$srcdir" -a "$in_rpm" -eq 0 then - chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \ - chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" - if test $? -ne 0 + if [ `stat "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" -c %u` -ne 0 ] then -- echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'." -- echo " It must be root, the PAM authentication plugin doesn't work otherwise.." -- echo -+ chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \ -+ chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" -+ if test $? -ne 0 -+ then -+ echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'." -+ echo " It must be root, the PAM authentication plugin doesn't work otherwise.." -+ echo -+ fi ++ chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \ ++ chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" ++ if test $? -ne 0 ++ then + echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'." + echo "It must be root, the PAM authentication plugin doesn't work otherwise.." + echo ++ fi fi - fi - args="$args --user=$user" - + chown $user "$pamtooldir/auth_pam_tool_dir" && \ + chmod 0700 "$pamtooldir/auth_pam_tool_dir" diff --git a/mariadb-ownsetup.patch b/mariadb-ownsetup.patch index 7728cf1..23dcba8 100644 --- a/mariadb-ownsetup.patch +++ b/mariadb-ownsetup.patch @@ -1,17 +1,17 @@ ---- mariadb-10.4.14/support-files/CMakeLists.txt 2020-08-06 17:28:28.000000000 +0200 -+++ mariadb-10.4.14/support-files/CMakeLists.txt_patched 2020-09-03 13:21:07.826658279 +0200 -@@ -187,6 +187,7 @@ IF(UNIX) - COMPONENT SharedLibraries) - INSTALL(FILES rpm/mysql-clients.cnf DESTINATION ${INSTALL_SYSCONF2DIR} - COMPONENT Client) -+ CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_SOURCE_DIR}/rpm/server.cnf @ONLY) - INSTALL(FILES rpm/server.cnf DESTINATION ${INSTALL_SYSCONF2DIR} - COMPONENT IniFiles) - INSTALL(FILES rpm/enable_encryption.preset DESTINATION ${INSTALL_SYSCONF2DIR} - -diff -up mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup mariadb-10.0.15/support-files/rpm/server.cnf ---- mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup 2015-01-24 23:55:55.110063592 +0100 -+++ mariadb-10.0.15/support-files/rpm/server.cnf 2015-01-24 23:57:42.308114387 +0100 +diff -up mariadb-10.1.8/support-files/CMakeLists.txt.p9 mariadb-10.1.8/support-files/CMakeLists.txt +--- mariadb-10.1.8/support-files/CMakeLists.txt.p9 2015-11-03 11:38:46.029139464 +0100 ++++ mariadb-10.1.8/support-files/CMakeLists.txt 2015-11-03 11:41:07.107605055 +0100 +@@ -62,6 +62,7 @@ IF(UNIX) + ENDIF() + + CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY) ++ CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development) + + INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) +diff -up mariadb-10.1.8/support-files/rpm/server.cnf.p9 mariadb-10.1.8/support-files/rpm/server.cnf +--- mariadb-10.1.8/support-files/rpm/server.cnf.p9 2015-10-15 17:44:19.000000000 +0200 ++++ mariadb-10.1.8/support-files/rpm/server.cnf 2015-11-03 11:38:25.228070808 +0100 @@ -9,7 +9,16 @@ [server] diff --git a/mariadb-pcdir.patch b/mariadb-pcdir.patch new file mode 100644 index 0000000..d9a8a78 --- /dev/null +++ b/mariadb-pcdir.patch @@ -0,0 +1,20 @@ +Use PCDIR CMake option, if configured + +Upstream install the server pkgconfig file into arch-independent directory +Reported to upstream as: https://jira.mariadb.org/browse/MDEV-14340 + +--- mariadb-10.3.12/support-files/CMakeLists.txt 2019-03-20 15:25:53.423283135 +0100 ++++ mariadb-10.3.12/support-files/CMakeLists.txt_patched 2019-03-20 15:38:56.372819958 +0100 +@@ -82,7 +82,12 @@ IF(UNIX) + + CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY) + CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY) ++IF(INSTALL_PCDIR) ++ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_PCDIR} COMPONENT Development) ++ELSE() + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development) ++ENDIF() ++ + + INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) + diff --git a/mariadb.spec b/mariadb.spec index aabc7f9..252d57b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -15,7 +15,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.4.14 +%global last_tested_version 10.5.1 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -104,14 +104,14 @@ -# MariaDB 10.1.39 and later requires pcre >= 8.43, otherwise we need to use +# MariaDB 10.0 and later requires pcre >= 10.34, otherwise we need to use # the bundled library, since the package cannot be build with older version # https://mariadb.com/kb/en/pcre/ %if 0%{?fedora} || 0%{?rhel} > 7 %bcond_without unbundled_pcre %else %bcond_with unbundled_pcre -%global pcre_bundled_version 8.43 +%global pcre_bundled_version 10.34 %endif # Use main python interpretter version @@ -151,7 +151,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.0 +Version: 10.5.1 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -194,14 +194,14 @@ Patch7: %{pkgnamepatch}-scripts.patch Patch9: %{pkgnamepatch}-ownsetup.patch # Patch10: Fix cipher name in the SSL Cipher name test Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch +# Patch11: Use PCDIR CMake option, if configured +Patch11: %{pkgnamepatch}-pcdir.patch # Patch13: Fix Spider code on armv7hl; https://jira.mariadb.org/browse/MDEV-18737 Patch13: %{pkgnamepatch}-spider_on_armv7hl.patch # Patch15: Add option to edit groonga's and groonga-normalizer-mysql install path Patch15: %{pkgnamepatch}-groonga.patch # Patch16: Workaround for "chown 0" with priviledges dropped to "mysql" user Patch16: %{pkgnamepatch}-auth_pam_tool_dir.patch -# Patch17: Fix of an upstream bug. Fixed in the next (10.5.1) version. -Patch17: %{pkgnamepatch}-10.5.0-libsql_builtins.patch BuildRequires: cmake gcc-c++ BuildRequires: multilib-rpm-config @@ -227,9 +227,9 @@ BuildRequires: bison bison-devel # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel -# use either new enough version of pcre or provide bundles(pcre) -%{?with_unbundled_pcre:BuildRequires: pcre-devel >= 8.43 pkgconf} -%{!?with_unbundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}} +# use either new enough version of pcre2 or provide bundles(pcre2) +%{?with_unbundled_pcre:BuildRequires: pcre2-devel >= 10.34 pkgconf} +%{!?with_unbundled_pcre:Provides: bundled(pcre2) = %{pcre_bundled_version}} # Few utilities needs Perl %if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: perl-interpreter @@ -711,10 +711,10 @@ rm -r storage/rocksdb/ %patch7 -p1 %patch9 -p1 %patch10 -p1 +%patch11 -p1 #%patch13 -p1 %patch15 -p1 %patch16 -p1 -%patch17 -p1 # workaround for upstream bug #56342 #rm mysql-test/t/ssl_8k_key-master.opt @@ -746,22 +746,20 @@ sed 's/mariadb-server-galera/%{name}-server-galera/' %{SOURCE72} > selinux/%{nam # Get version of PCRE, that upstream use -pcre_maj=`grep '^m4_define(pcre_major' pcre/configure.ac | sed -r 's/^m4_define\(pcre_major, \[([0-9]+)\]\)/\1/'` -pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\(pcre_minor, \[([0-9]+)\]\)/\1/'` +pcre_version=`grep -e "ftp.pcre.org/pub/pcre/pcre2" cmake/pcre.cmake | sed -r "s;[^0123456789]*2-([[:digit:]]+\.[[:digit:]]+)\.[^0123456789]*;\1;"` -%if %{without unbundled_pcre} # Check if the PCRE version in macro 'pcre_bundled_version', used in Provides: bundled(...), is the same version as upstream actually bundles -if [ %{pcre_bundled_version} != "$pcre_maj.$pcre_min" ] -then - echo "\n Error: Bundled PCRE version is not correct. \n\tBundled version number:%{pcre_bundled_version} \n\tUpstream version number: $pcre_maj.$pcre_min\n" +%if %{without unbundled_pcre} +if [ %{pcre_bundled_version} != "$pcre_version" ] ; then + echo "\n Error: Bundled PCRE version is not correct. \n\tBundled version number:%{pcre_bundled_version} \n\tUpstream version number: $pcre_version\n" exit 1 fi %else # Check if the PCRE version that upstream use, is the same as the one present in system -pcre_system_version=`pkgconf %{_libdir}/pkgconfig/libpcre.pc --modversion 2>/dev/null ` -if [ "$pcre_system_version" != "$pcre_maj.$pcre_min" ] -then - echo "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_maj.$pcre_min\n" +pcre_system_version=`pkgconf %{_libdir}/pkgconfig/libpcre2-*.pc --modversion 2>/dev/null | head -n 1` + +if [ "$pcre_system_version" != "$pcre_version" ] ; then + echo "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_version\n" fi %endif @@ -941,9 +939,8 @@ rm %{buildroot}%{_libexecdir}/rcmysql # install systemd unit files and scripts for handling server startup install -D -p -m 644 %{_vpath_builddir}/scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service install -D -p -m 644 %{_vpath_builddir}/scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service -# Remove the upstream version -rm %{buildroot}%{_tmpfilesdir}/mariadb.conf -# Install downstream version + +# Install downstream version of tmpfiles install -D -p -m 0644 %{_vpath_builddir}/scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?mysqld_pid_dir:1} echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf @@ -1020,7 +1017,12 @@ rm %{buildroot}%{logrotateddir}/mysql # Remove AppArmor files rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor -mv %{buildroot}/%{_lib}/security %{buildroot}%{_libdir} +# Buildroot does not have symlink /lib64 --> /usr/lib64 +%if %{__isa_bits} == 64 && 0%{?fedora} +mv %{buildroot}/lib64/security %{buildroot}%{_libdir} +%else +mv %{buildroot}/lib/security %{buildroot}%{_libdir} +%endif # Disable plugins %if %{with gssapi} @@ -1344,6 +1346,8 @@ fi %{_bindir}/myisampack %{_bindir}/my_print_defaults +%{_bindir}/mariadb-conv + %{_bindir}/mysql_{install_db,secure_installation,tzinfo_to_sql} %{_bindir}/mariadb-{install-db,secure-installation,tzinfo-to-sql} %{_bindir}/{mysqld_,mariadbd-}safe @@ -1583,7 +1587,10 @@ fi %endif %changelog -* Tue Sep 08 2020 Michal Schorm - 10.5.0-1 +* Thu Apr 09 2020 Michal Schorm - 10.5.1-1 +- Test rebase to 10.5.1 - Beta + +* Thu Apr 09 2020 Michal Schorm - 10.5.0-1 - Test rebase to 10.5.0 - Alpha * Sun Sep 06 2020 Michal Schorm - 10.4.14-3 diff --git a/sources b/sources index 96ad160..59c9f1f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.0.tar.gz) = ed7226a0e0b8d0aa435691a43f457bf338b484fc2dd893b8490c65bf99915a089e6c91a86687ef2eaa3728d83a91f5c0dfd7b8ddbefec79f9ad4cd7074bda4c5 +SHA512 (mariadb-10.5.1.tar.gz) = eef4986fa0ff70b77d9d083ccbe6738d7bfda4236e3098bf37cd41034732cc8a8150a25be19ffb67849d9b29c5f1126c5b38e10e6a1afd9eb8d6d266b3638fb2 From 8d4561c7a13e01175ab88324fccbf6b04dae4512 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 9 Apr 2020 03:42:54 +0200 Subject: [PATCH 627/789] Rebase to 10.5.2 - Beta TokuDB SE has been deprecated https://jira.mariadb.org/browse/MDEV-19780 Remove the RocksDB manpage when RocksDB is not built Add failing tests --- mariadb-ownsetup.patch | 10 +++++----- mariadb-pcdir.patch | 9 ++++----- mariadb-scripts.patch | 9 +++++---- mariadb.spec | 24 +++++++++++++++++++----- rh-skipped-tests-base.list | 5 +++-- rh-skipped-tests-ppc.list | 3 +++ rh-skipped-tests-s390.list | 6 ++---- sources | 2 +- 8 files changed, 42 insertions(+), 26 deletions(-) diff --git a/mariadb-ownsetup.patch b/mariadb-ownsetup.patch index 23dcba8..7b6f609 100644 --- a/mariadb-ownsetup.patch +++ b/mariadb-ownsetup.patch @@ -1,12 +1,12 @@ -diff -up mariadb-10.1.8/support-files/CMakeLists.txt.p9 mariadb-10.1.8/support-files/CMakeLists.txt ---- mariadb-10.1.8/support-files/CMakeLists.txt.p9 2015-11-03 11:38:46.029139464 +0100 -+++ mariadb-10.1.8/support-files/CMakeLists.txt 2015-11-03 11:41:07.107605055 +0100 -@@ -62,6 +62,7 @@ IF(UNIX) +diff -Naup mariadb-10.1.8/support-files/CMakeLists.txt mariadb-10.1.8/support-files/CMakeLists.txt_patched +--- mariadb-10.5.2/support-files/CMakeLists.txt 2020-03-25 11:13:19.000000000 +0100 ++++ mariadb-10.5.2/support-files/CMakeLists.txt_patched 2020-04-01 01:29:52.140847301 +0200 +@@ -91,6 +91,7 @@ IF(UNIX) ENDIF() CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY) + CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_LIBDIR}/pkgconfig COMPONENT Development) INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) diff -up mariadb-10.1.8/support-files/rpm/server.cnf.p9 mariadb-10.1.8/support-files/rpm/server.cnf diff --git a/mariadb-pcdir.patch b/mariadb-pcdir.patch index d9a8a78..87b70b2 100644 --- a/mariadb-pcdir.patch +++ b/mariadb-pcdir.patch @@ -3,18 +3,17 @@ Use PCDIR CMake option, if configured Upstream install the server pkgconfig file into arch-independent directory Reported to upstream as: https://jira.mariadb.org/browse/MDEV-14340 ---- mariadb-10.3.12/support-files/CMakeLists.txt 2019-03-20 15:25:53.423283135 +0100 -+++ mariadb-10.3.12/support-files/CMakeLists.txt_patched 2019-03-20 15:38:56.372819958 +0100 -@@ -82,7 +82,12 @@ IF(UNIX) +--- mariadb-10.5.2/support-files/CMakeLists.txt 2020-04-01 01:31:21.426832942 +0200 ++++ mariadb-10.5.2/support-files/CMakeLists.txt_patched 2020-04-01 01:35:05.808309914 +0200 +@@ -92,7 +92,11 @@ IF(UNIX) CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY) CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY) +IF(INSTALL_PCDIR) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_PCDIR} COMPONENT Development) +ELSE() - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_LIBDIR}/pkgconfig COMPONENT Development) +ENDIF() -+ INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index b684482..19f576e 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -1,11 +1,12 @@ We have some downstream patches and other scripts that include variables to be expanded by cmake. Cmake needs to know about them, so adding them manually. ---- mariadb-10.3.8/scripts/CMakeLists.txt 2018-07-02 09:34:11.000000000 +0200 -+++ mariadb-10.3.8/scripts/CMakeLists.txt_patched 2018-07-03 10:58:15.954670153 +0200 -@@ -361,6 +361,34 @@ ELSE() + # Install libgcc as mylibgcc.a +--- mariadb-10.5.2/scripts/CMakeLists.txt 2020-03-25 11:13:17.000000000 +0100 ++++ mariadb-10.5.2/scripts/CMakeLists.txt_patched 2020-04-01 01:26:59.398940396 +0200 +@@ -377,6 +377,34 @@ ELSE() COMPONENT ${${file}_COMPONENT} - ) + ) ENDFOREACH() + + # files for systemd diff --git a/mariadb.spec b/mariadb.spec index 252d57b..70bd44a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -32,9 +32,10 @@ -# TokuDB engine +# TokuDB engine - DEPRECATED ! # https://mariadb.com/kb/en/mariadb/tokudb/ # TokuDB engine is available only for x86_64 +# The Percona upstream deprecated the SE. It is not part of MariaDB 10.5 # Mroonga engine # https://mariadb.com/kb/en/mariadb/about-mroonga/ # Current version in MariaDB, 7.07, only supports the x86_64 @@ -45,7 +46,8 @@ # RocksDB may be built with jemalloc, if specified in CMake %ifarch x86_64 %if 0%{?fedora} -%bcond_without tokudb +# TokuDB is deprecated in MariaDB 10.5 and later +%bcond_with tokudb %bcond_without mroonga %bcond_without rocksdb %else @@ -151,7 +153,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.1 +Version: 10.5.2 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -989,6 +991,10 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server # Binary for monitoring MySQL performance # Shipped as a standalone package in Fedora rm %{buildroot}%{_bindir}/mytop +rm %{buildroot}%{_mandir}/man1/mytop.1* + +# Should be shipped with mariadb-connector-c +rm %{buildroot}%{_mandir}/man1/mariadb-config.1* # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} @@ -1147,6 +1153,7 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %if %{without rocksdb} rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}ldb.1* +rm %{buildroot}%{_mandir}/man1/myrocks_hotbackup.1* %endif %check @@ -1400,6 +1407,8 @@ fi %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/my_print_defaults.1* +%{_mandir}/man1/mariadb-conv.1* + %{_mandir}/man1/mysql_{install_db,secure_installation,tzinfo_to_sql}.1* %{_mandir}/man1/mariadb-{install-db,secure-installation,tzinfo-to-sql}.1* %{_mandir}/man1/{mysqld_,mariadbd-}safe.1* @@ -1490,6 +1499,7 @@ fi %{_bindir}/sst_dump %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so %{_mandir}/man1/{mysql_,mariadb-}ldb.1* +%{_mandir}/man1/myrocks_hotbackup.1* %endif %if %{with tokudb} @@ -1587,10 +1597,14 @@ fi %endif %changelog -* Thu Apr 09 2020 Michal Schorm - 10.5.1-1 +* Fri Sep 11 2020 Michal Schorm - 10.5.2-1 +- Test rebase to 10.5.2 - Beta +- TokuDB SE has been deprecated + +* Thu Sep 10 2020 Michal Schorm - 10.5.1-1 - Test rebase to 10.5.1 - Beta -* Thu Apr 09 2020 Michal Schorm - 10.5.0-1 +* Thu Sep 10 2020 Michal Schorm - 10.5.0-1 - Test rebase to 10.5.0 - Alpha * Sun Sep 06 2020 Michal Schorm - 10.4.14-3 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 44b5c9d..38ebec4 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -38,6 +38,7 @@ sys_vars.tcp_nodelay : # Fails on i686 encryption.innodb-redo-badkey : -# Fails on all architectures since 10.4.14 -main.ssl_system_ca : +# Fails since 10.5.2 +main.mysqld--help2 : disks.disks : +disks.disks_notembedded : diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index ceff217..403da66 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -1,2 +1,5 @@ # Fails on ppc64le since 10.4.12 oqgraph.social : + +# Fails since 10.5.2 +rh-skipped-tests-ppc.list : diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list index a7573da..23e4f4a 100644 --- a/rh-skipped-tests-s390.list +++ b/rh-skipped-tests-s390.list @@ -1,4 +1,2 @@ -# Fails since 10.2.15 -disks.disks : -# Fails since 10.4.11 -disks.disks_notembedded : +# Fails since 10.5.2 +perfschema.memory_aggregate_32bit : diff --git a/sources b/sources index 59c9f1f..ce5a492 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.1.tar.gz) = eef4986fa0ff70b77d9d083ccbe6738d7bfda4236e3098bf37cd41034732cc8a8150a25be19ffb67849d9b29c5f1126c5b38e10e6a1afd9eb8d6d266b3638fb2 +SHA512 (mariadb-10.5.2.tar.gz) = 7abfc4a5543c35ab49ca164a998ed4b31326cb63f57b15449a5de3b62523d99535f378c8a39835f1e8563cf0cea7fd96b13e4f089cbd1546b5e25256c5f9832f From be6da51b154b0379890fa60c225b3d9200547bfb Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Mon, 14 Sep 2020 09:55:21 +0200 Subject: [PATCH 628/789] Rebase to 10.5.3 Add failing tests --- mariadb.spec | 15 +++++++++++---- rh-skipped-tests-base.list | 3 +++ rh-skipped-tests-s390.list | 1 + sources | 2 +- 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 70bd44a..a0235fc 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -153,7 +153,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.2 +Version: 10.5.3 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -994,7 +994,7 @@ rm %{buildroot}%{_bindir}/mytop rm %{buildroot}%{_mandir}/man1/mytop.1* # Should be shipped with mariadb-connector-c -rm %{buildroot}%{_mandir}/man1/mariadb-config.1* +rm %{buildroot}%{_mandir}/man1/mariadb_config.1* # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} @@ -1008,6 +1008,12 @@ install -p -m 0644 %{SOURCE7} %{basename:%{SOURCE7}} install -p -m 0644 %{SOURCE16} %{basename:%{SOURCE16}} install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}} +# Delete upstreams service files +# We don't use this location of service files +rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/{mysql,mysqld}.service +# These may come handy in a future, but right now we use our own services +rm %{buildroot}/usr/lib/systemd/system/{mysql,mysqld}.service + # install galera config file %if %{with galera} sed -i -r 's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|' %{_vpath_builddir}/support-files/wsrep.cnf @@ -1069,7 +1075,6 @@ rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/auth_gssapi_client.so rm %{buildroot}%{_bindir}/mysql_config* rm %{buildroot}%{_bindir}/mariadb_config rm %{buildroot}%{_mandir}/man1/mysql_config*.1* -unlink %{buildroot}%{_mandir}/man1/mariadb_config.1* %endif %if %{without clibrary} && %{with devel} @@ -1589,7 +1594,6 @@ fi %{_bindir}/{mysql_client_test,mysqltest,mariadb-client-test,mariadb-test} %{_bindir}/my_safe_process %attr(-,mysql,mysql) %{_datadir}/mysql-test -%{_mandir}/man1/mysql_client_test.1* %{_mandir}/man1/{mysql_client_test,mysqltest,mariadb-client-test,mariadb-test}.1* %{_mandir}/man1/my_safe_process.1* %{_mandir}/man1/mysql-stress-test.pl.1* @@ -1597,6 +1601,9 @@ fi %endif %changelog +* Mon Sep 14 2020 Lukas Javorsky - 10.5.3-1 +- Rebase to 10.5.3 + * Fri Sep 11 2020 Michal Schorm - 10.5.2-1 - Test rebase to 10.5.2 - Beta - TokuDB SE has been deprecated diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 38ebec4..1c180cd 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -42,3 +42,6 @@ encryption.innodb-redo-badkey : main.mysqld--help2 : disks.disks : disks.disks_notembedded : + +# Fails since 10.5.3 +main.mysqld--help-aria : diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list index 23e4f4a..3ca7588 100644 --- a/rh-skipped-tests-s390.list +++ b/rh-skipped-tests-s390.list @@ -1,2 +1,3 @@ # Fails since 10.5.2 perfschema.memory_aggregate_32bit : +period.overlaps : diff --git a/sources b/sources index ce5a492..91ed341 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.2.tar.gz) = 7abfc4a5543c35ab49ca164a998ed4b31326cb63f57b15449a5de3b62523d99535f378c8a39835f1e8563cf0cea7fd96b13e4f089cbd1546b5e25256c5f9832f +SHA512 (mariadb-10.5.3.tar.gz) = 753b3c6a79193cd290d655114f841355e5ff39c709b07e8dae3c76b35acee31d4c9585d27b515df5dde6a8effe20b955f3eb5ddb89ce01c39ffe6907ede6ffab From 2b8b70476201bd0619c981d12ecc0fc8d2824086 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Fri, 18 Sep 2020 13:34:42 +0200 Subject: [PATCH 629/789] Rebase to 10.5.4 --- mariadb-logrotate.patch | 6 +++--- mariadb.spec | 8 ++++++-- rh-skipped-tests-base.list | 3 +++ sources | 2 +- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/mariadb-logrotate.patch b/mariadb-logrotate.patch index 6af9466..d4ed2b7 100644 --- a/mariadb-logrotate.patch +++ b/mariadb-logrotate.patch @@ -26,8 +26,8 @@ Update 6/2018 beeing able to send the SIGHUP to the process and read the mysqld pid file, which root can. * Submited as PR: https://github.com/MariaDB/server/pull/807 ---- mariadb-10.3.19/support-files/mysql-log-rotate.sh 2019-11-03 17:03:27.000000000 +0100 -+++ mariadb-10.3.19/support-files/mysql-log-rotate.sh_patched 2019-11-06 15:07:54.205379672 +0100 +--- mariadb-10.5.4/support-files/mysql-log-rotate.sh.old 2020-09-16 13:36:57.247955135 +0200 ++++ mariadb-10.5.4/support-files/mysql-log-rotate.sh 2020-09-16 13:40:59.744220908 +0200 @@ -3,23 +3,10 @@ # in the [mysqld] section as follows: # @@ -58,7 +58,7 @@ Update 6/2018 @@ -27,11 +14,9 @@ compress postrotate - # just if mysqld is really running + # just if mariadbd is really running - if test -x @bindir@/mysqladmin && \ - @bindir@/mysqladmin ping &>/dev/null - then diff --git a/mariadb.spec b/mariadb.spec index a0235fc..fb22472 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -153,7 +153,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.3 +Version: 10.5.4 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -1374,6 +1374,7 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/enable_encryption.preset +%config(noreplace) %{_sysconfdir}/my.cnf.d/spider.cnf %{_libexecdir}/{mysqld,mariadbd} @@ -1429,7 +1430,6 @@ fi %{_mandir}/man1/mysql.server.1* %{_datadir}/%{pkg_name}/fill_help_tables.sql -%{_datadir}/%{pkg_name}/install_spider.sql %{_datadir}/%{pkg_name}/maria_add_gis_sp.sql %{_datadir}/%{pkg_name}/maria_add_gis_sp_bootstrap.sql %{_datadir}/%{pkg_name}/mysql_system_tables.sql @@ -1601,6 +1601,10 @@ fi %endif %changelog +* Wed Sep 16 2020 Lukas Javorsky - 10.5.4-1 +- Rebase to 10.5.4 +- Add spider.cnf to the server config files + * Mon Sep 14 2020 Lukas Javorsky - 10.5.3-1 - Rebase to 10.5.3 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 1c180cd..aef2dc4 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -45,3 +45,6 @@ disks.disks_notembedded : # Fails since 10.5.3 main.mysqld--help-aria : + +# Fails since 10.5.4 +main.ssl_system_ca : diff --git a/sources b/sources index 91ed341..dcc822d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.3.tar.gz) = 753b3c6a79193cd290d655114f841355e5ff39c709b07e8dae3c76b35acee31d4c9585d27b515df5dde6a8effe20b955f3eb5ddb89ce01c39ffe6907ede6ffab +SHA512 (mariadb-10.5.4.tar.gz) = f949cee6e227e4633f95ab826db7976ed76340eb6dfcbee1eb698e6779b669a8593b2dc733b6a442a60ed95840a627e0551f07a37f2b7738fb03cf1e367f4e1d From 21e76c8255c3358074ed1e62d5feb57363061ef3 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Mon, 21 Sep 2020 11:31:59 +0200 Subject: [PATCH 630/789] Rebase to 10.5.5 Add manual for aria_s3_copy --- mariadb-scripts.patch | 10 +++++----- mariadb.spec | 7 +++++-- sources | 2 +- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index 19f576e..74914b1 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -2,11 +2,11 @@ We have some downstream patches and other scripts that include variables to be expanded by cmake. Cmake needs to know about them, so adding them manually. # Install libgcc as mylibgcc.a ---- mariadb-10.5.2/scripts/CMakeLists.txt 2020-03-25 11:13:17.000000000 +0100 -+++ mariadb-10.5.2/scripts/CMakeLists.txt_patched 2020-04-01 01:26:59.398940396 +0200 -@@ -377,6 +377,34 @@ ELSE() - COMPONENT ${${file}_COMPONENT} - ) +--- mariadb-10.5.5/scripts/CMakeLists.txt.old 2020-09-24 10:13:35.272589689 +0200 ++++ mariadb-10.5.5/scripts/CMakeLists.txt 2020-09-24 10:17:31.428985798 +0200 +@@ -377,6 +377,34 @@ + INSTALL_LINK(${file} ${binname} ${INSTALL_BINDIR} ${${file}_COMPONENT}) + ENDIF() ENDFOREACH() + + # files for systemd diff --git a/mariadb.spec b/mariadb.spec index fb22472..333286e 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -153,7 +153,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.4 +Version: 10.5.5 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -1403,7 +1403,7 @@ fi %exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so %endif -%{_mandir}/man1/aria_{chk,dump_log,ftdump,pack,read_log}.1* +%{_mandir}/man1/aria_{chk,dump_log,ftdump,pack,read_log,s3_copy}.1* %{_mandir}/man1/galera_new_cluster.1* %{_mandir}/man1/galera_recovery.1* %{_mandir}/man1/mariadb-service-convert.1* @@ -1601,6 +1601,9 @@ fi %endif %changelog +* Mon Sep 21 2020 Lukas Javorsky - 10.5.5-1 +- Rebase to 10.5.5 + * Wed Sep 16 2020 Lukas Javorsky - 10.5.4-1 - Rebase to 10.5.4 - Add spider.cnf to the server config files diff --git a/sources b/sources index dcc822d..c13bc61 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.4.tar.gz) = f949cee6e227e4633f95ab826db7976ed76340eb6dfcbee1eb698e6779b669a8593b2dc733b6a442a60ed95840a627e0551f07a37f2b7738fb03cf1e367f4e1d +SHA512 (mariadb-10.5.5.tar.gz) = 09bed291b39142f8e2f40eabbb443f6f384368b331406a09fd92d3d27ecc75644219066850d89495ed65c6f0d3ac32d51e29e65375331dcc2de4801313178d45 From 04c626f762ac022ad8db57ce9631e5f5fc9e89db Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 3 Sep 2020 13:39:29 +0200 Subject: [PATCH 631/789] Fix of mariadb-ownsetup patch. Since we do CMake out-of-source builds, and the SOURCE and BUILD directiories differ, the bug that was present in the patch started to cause a issues. In the CMake "CONFIGURE_FILE( )" command, the path is treated relative to SOURCE dir, however the patch is relative to BUILD dir. Since the file has been copied to a wrong location, instead in-place updated as originally intended, the file that was later installed was the original unchanged file. Resolves: #1873999, #1874446 Fix mariadb-pcdir.patch hunk --- mariadb-ownsetup.patch | 28 ++++++++++++++-------------- mariadb-pcdir.patch | 8 ++++---- mariadb.spec | 2 ++ 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/mariadb-ownsetup.patch b/mariadb-ownsetup.patch index 7b6f609..7728cf1 100644 --- a/mariadb-ownsetup.patch +++ b/mariadb-ownsetup.patch @@ -1,17 +1,17 @@ -diff -Naup mariadb-10.1.8/support-files/CMakeLists.txt mariadb-10.1.8/support-files/CMakeLists.txt_patched ---- mariadb-10.5.2/support-files/CMakeLists.txt 2020-03-25 11:13:19.000000000 +0100 -+++ mariadb-10.5.2/support-files/CMakeLists.txt_patched 2020-04-01 01:29:52.140847301 +0200 -@@ -91,6 +91,7 @@ IF(UNIX) - ENDIF() - - CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY) -+ CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_LIBDIR}/pkgconfig COMPONENT Development) - - INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) -diff -up mariadb-10.1.8/support-files/rpm/server.cnf.p9 mariadb-10.1.8/support-files/rpm/server.cnf ---- mariadb-10.1.8/support-files/rpm/server.cnf.p9 2015-10-15 17:44:19.000000000 +0200 -+++ mariadb-10.1.8/support-files/rpm/server.cnf 2015-11-03 11:38:25.228070808 +0100 +--- mariadb-10.4.14/support-files/CMakeLists.txt 2020-08-06 17:28:28.000000000 +0200 ++++ mariadb-10.4.14/support-files/CMakeLists.txt_patched 2020-09-03 13:21:07.826658279 +0200 +@@ -187,6 +187,7 @@ IF(UNIX) + COMPONENT SharedLibraries) + INSTALL(FILES rpm/mysql-clients.cnf DESTINATION ${INSTALL_SYSCONF2DIR} + COMPONENT Client) ++ CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_SOURCE_DIR}/rpm/server.cnf @ONLY) + INSTALL(FILES rpm/server.cnf DESTINATION ${INSTALL_SYSCONF2DIR} + COMPONENT IniFiles) + INSTALL(FILES rpm/enable_encryption.preset DESTINATION ${INSTALL_SYSCONF2DIR} + +diff -up mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup mariadb-10.0.15/support-files/rpm/server.cnf +--- mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup 2015-01-24 23:55:55.110063592 +0100 ++++ mariadb-10.0.15/support-files/rpm/server.cnf 2015-01-24 23:57:42.308114387 +0100 @@ -9,7 +9,16 @@ [server] diff --git a/mariadb-pcdir.patch b/mariadb-pcdir.patch index 87b70b2..117273a 100644 --- a/mariadb-pcdir.patch +++ b/mariadb-pcdir.patch @@ -3,12 +3,12 @@ Use PCDIR CMake option, if configured Upstream install the server pkgconfig file into arch-independent directory Reported to upstream as: https://jira.mariadb.org/browse/MDEV-14340 ---- mariadb-10.5.2/support-files/CMakeLists.txt 2020-04-01 01:31:21.426832942 +0200 -+++ mariadb-10.5.2/support-files/CMakeLists.txt_patched 2020-04-01 01:35:05.808309914 +0200 -@@ -92,7 +92,11 @@ IF(UNIX) +--- mariadb-10.5.5/support-files/CMakeLists.txt.old 2020-09-30 10:36:08.582490318 +0200 ++++ mariadb-10.5.5/support-files/CMakeLists.txt 2020-09-30 10:38:58.079710848 +0200 +@@ -91,7 +91,11 @@ + ENDIF() CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY) - CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY) +IF(INSTALL_PCDIR) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_PCDIR} COMPONENT Development) +ELSE() diff --git a/mariadb.spec b/mariadb.spec index 333286e..f9d93ec 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1603,6 +1603,8 @@ fi %changelog * Mon Sep 21 2020 Lukas Javorsky - 10.5.5-1 - Rebase to 10.5.5 +- Fix mariadb-ownsetup +- Add manual for aria_s3_copy * Wed Sep 16 2020 Lukas Javorsky - 10.5.4-1 - Rebase to 10.5.4 From 405df6a0a57bb44658e976ccf4b272b5a6030465 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 22 Oct 2020 15:13:57 +0200 Subject: [PATCH 632/789] Add workaround for https://pagure.io/fm-orchestrator/issue/1614 --- mariadb.spec | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index f9d93ec..722b855 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1030,11 +1030,7 @@ rm %{buildroot}%{logrotateddir}/mysql rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor # Buildroot does not have symlink /lib64 --> /usr/lib64 -%if %{__isa_bits} == 64 && 0%{?fedora} -mv %{buildroot}/lib64/security %{buildroot}%{_libdir} -%else -mv %{buildroot}/lib/security %{buildroot}%{_libdir} -%endif +mv %{buildroot}/%{_lib}/security %{buildroot}%{_libdir} # Disable plugins %if %{with gssapi} From d79c9e348daeb629d88a2f369990515f5476beeb Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 29 Oct 2020 18:45:30 +0100 Subject: [PATCH 633/789] Add description of the 'clustercheck.sh' script --- mariadb.spec | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 8edf116..191c683 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -177,10 +177,25 @@ Source50: rh-skipped-tests-base.list Source51: rh-skipped-tests-arm.list Source52: rh-skipped-tests-s390.list Source53: rh-skipped-tests-ppc.list -# Proposed upstream: https://jira.mariadb.org/browse/MDEV-12442 -# General upstream response was slightly positive +# Red Hat OpenStack scripts: +# Clustercheck: +# Maintainer: +# Damien Ciabrini +# Source / Upstream: +# Damien; based on https://github.com/olafz/percona-clustercheck +# not updated in 5 years; low-effort maintenance +# Purpose: +# In Openstack, galera is accessed like an A/P database, we have a +# load balancer (haproxy) that drives traffic to a single node and +# performs failover when the galera node monitor fails. +# clustercheck.sh is the monitoring script that is being called remotely +# by haproxy. It is a glue between haproxy and the local galera node that +# can run SQL commands to check whether the local galera is connected to the galera cluster. +# Proposed to MariaDB upstream: https://jira.mariadb.org/browse/MDEV-12442 +# General upstream response was slightly positive Source70: clustercheck.sh Source71: LICENSE.clustercheck + # Upstream said: "Generally MariaDB has more allows to allow for xtradb sst mechanism". # https://jira.mariadb.org/browse/MDEV-12646 Source72: mariadb-server-galera.te From 37f1f439cfc3ef62f6f876be7149be7643ade1e0 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 4 Nov 2020 21:26:16 +0100 Subject: [PATCH 634/789] Rebase to 10.4.16 --- mariadb.spec | 7 +++++-- rh-skipped-tests-arm.list | 3 +++ rh-skipped-tests-base.list | 3 +++ sources | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 191c683..653ccf4 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -151,8 +151,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.4.14 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 10.4.16 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1595,6 +1595,9 @@ fi %endif %changelog +* Wed Nov 04 2020 Michal Schorm - 10.4.16-1 +- Rebase to 10.4.16 + * Sun Sep 06 2020 Michal Schorm - 10.4.14-3 - Resolves: #1851605 diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index ec37d1b..ec2e920 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -1,2 +1,5 @@ # Fails since 10.3.17, only on armv7hl versioning.partition : + +# Fail since 10.4.16 only on armv7hl +versioning.partition_rotation : diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 44b5c9d..9767f9e 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -41,3 +41,6 @@ encryption.innodb-redo-badkey : # Fails on all architectures since 10.4.14 main.ssl_system_ca : disks.disks : + +# Since 10.3.26 produces a warning to the test logfile which causes the test to fail +plugins.feedback_plugin_load : diff --git a/sources b/sources index adb63eb..6176707 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.4.14.tar.gz) = c09817c1dd7962132bcf2886c97ad17ce43c00ee687724028e5f39f6a6a93877ae8695c2c795abba6a4f3bc40674f93a53d6d43f46788a4a8a42c4a65a22c91c +SHA512 (mariadb-10.4.16.tar.gz) = 4442e082f8ca61972336907cc4ca4d0a6ce48db2f78d038a51970789618a7ef0f456f158ec41b1ede2f7e32df1c411c7ebcfaa16aa9ee5dc77df6f453b1d2095 From 51b8f2af1b0eb83a6ececf1cf31a5d4f8f32eeab Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 6 Nov 2020 02:34:10 +0100 Subject: [PATCH 635/789] Rebase to 10.5.7 --- mariadb.spec | 8 ++++++-- rh-skipped-tests-base.list | 4 ++++ sources | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 722b855..1c21755 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -153,7 +153,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.5 +Version: 10.5.7 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -1070,6 +1070,7 @@ rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/auth_gssapi_client.so %if %{without clibrary} || %{without devel} rm %{buildroot}%{_bindir}/mysql_config* rm %{buildroot}%{_bindir}/mariadb_config +rm %{buildroot}%{_bindir}/mariadb-config rm %{buildroot}%{_mandir}/man1/mysql_config*.1* %endif @@ -1561,11 +1562,11 @@ fi %{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so} %{_bindir}/mysql_config* %{_bindir}/mariadb_config* +%{_bindir}/mariadb-config %{_libdir}/libmariadb.so %{_libdir}/libmysqlclient.so %{_libdir}/libmysqlclient_r.so %{_mandir}/man1/mysql_config* -%{_mandir}/man1/mariadb_config* %endif %endif @@ -1597,6 +1598,9 @@ fi %endif %changelog +* Fri Nov 06 2020 Michal Schorm - 10.5.7-1 +- Rebase to 10.5.7 + * Mon Sep 21 2020 Lukas Javorsky - 10.5.5-1 - Rebase to 10.5.5 - Fix mariadb-ownsetup diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index aef2dc4..a0bb6a8 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -48,3 +48,7 @@ main.mysqld--help-aria : # Fails since 10.5.4 main.ssl_system_ca : + +# Fails since 10.5.7 +innodb.innodb_wl6326_big : +plugins.feedback_plugin_load : diff --git a/sources b/sources index c13bc61..0ff6148 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.5.tar.gz) = 09bed291b39142f8e2f40eabbb443f6f384368b331406a09fd92d3d27ecc75644219066850d89495ed65c6f0d3ac32d51e29e65375331dcc2de4801313178d45 +SHA512 (mariadb-10.5.7.tar.gz) = d964c61d6ba7cf21fea97b8e0b6a0bf1ee50fc7a7995753dafd710f4656001bd6e03c243896efb5802cce16dd6470849ed036d09b17415a538e008f64e974a9f From bda74cd11c4decba71950686cf28f57d977bbedc Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 11 Nov 2020 22:48:52 +0100 Subject: [PATCH 636/789] Rebase to 10.4.17 --- mariadb.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 653ccf4..9482a72 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -15,7 +15,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.4.14 +%global last_tested_version 10.4.17 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -151,7 +151,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.4.16 +Version: 10.4.17 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -1595,6 +1595,9 @@ fi %endif %changelog +* Wed Nov 11 2020 Michal Schorm - 10.4.17-1 +- Rebase to 10.4.17 + * Wed Nov 04 2020 Michal Schorm - 10.4.16-1 - Rebase to 10.4.16 diff --git a/sources b/sources index 6176707..ac7a742 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.4.16.tar.gz) = 4442e082f8ca61972336907cc4ca4d0a6ce48db2f78d038a51970789618a7ef0f456f158ec41b1ede2f7e32df1c411c7ebcfaa16aa9ee5dc77df6f453b1d2095 +SHA512 (mariadb-10.4.17.tar.gz) = 51bbdbae9ba48e3e7b0b614a5e19a0549979b727797e2742a130c6bed23d06eea6d18da63759a3f5f3ba751bcaaef4cdbf6a3456f4d23ff9149b3b0ea07e7079 From 8c1b8ae6950012cd1df036b81349081a457d94f0 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 12 Nov 2020 01:51:15 +0100 Subject: [PATCH 637/789] Rebase to 10.5.8 --- mariadb.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 1c21755..02c1232 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -15,7 +15,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.5.1 +%global last_tested_version 10.5.8 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -153,7 +153,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.7 +Version: 10.5.8 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -1598,6 +1598,9 @@ fi %endif %changelog +* Wen Nov 11 2020 Michal Schorm - 10.5.8-1 +- Rebase to 10.5.8 + * Fri Nov 06 2020 Michal Schorm - 10.5.7-1 - Rebase to 10.5.7 diff --git a/sources b/sources index 0ff6148..9584397 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.7.tar.gz) = d964c61d6ba7cf21fea97b8e0b6a0bf1ee50fc7a7995753dafd710f4656001bd6e03c243896efb5802cce16dd6470849ed036d09b17415a538e008f64e974a9f +SHA512 (mariadb-10.5.8.tar.gz) = 9801a68440a3502b49655e34dcbfd09734f4a4f1ba8621ed9b895e194cea461a8c69fb0ff66488d5defd3065b43f73e5083a60142e11cc7e4a442f86769b06e5 From 066989316d5d5936248172789b78ffe224ba29f5 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 12 Nov 2020 03:40:55 +0100 Subject: [PATCH 638/789] Specfile cleanup - fix conditions for building minimal server - fix expected logfile permissions, so `rpm -V` would be satisfied --- mariadb.spec | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 9482a72..0ef75a3 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -728,9 +728,6 @@ rm -r storage/rocksdb/ %patch15 -p1 %patch16 -p1 -# workaround for upstream bug #56342 -#rm mysql-test/t/ssl_8k_key-master.opt - # generate a list of tests that fail, but are not disabled by upstream cat %{SOURCE50} | tee -a mysql-test/unstable-tests @@ -1137,7 +1134,6 @@ rm %{buildroot}%{_bindir}/{mariadb-client-test-embedded,mariadb-test-embedded} rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1* %endif # embedded -rm %{buildroot}%{_bindir}/test-connect-t rm %{buildroot}%{_bindir}/{mysql_client_test,mysqltest} rm %{buildroot}%{_bindir}/{mariadb-client-test,mariadb-test} rm %{buildroot}%{_mandir}/man1/{mysql_client_test,mysqltest,my_safe_process}.1* @@ -1148,7 +1144,6 @@ rm %{buildroot}/suite/plugins/pam/pam_mariadb_mtr.so %endif %if %{without galera} -rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf rm %{buildroot}%{_sysconfdir}/sysconfig/clustercheck rm %{buildroot}%{_bindir}/{clustercheck,galera_new_cluster} rm %{buildroot}%{_bindir}/galera_recovery @@ -1159,6 +1154,11 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}ldb.1* %endif +%if %{without backup} +rm %{buildroot}%{_mandir}/man1/maria{,db-}backup.1* +rm %{buildroot}%{_mandir}/man1/mbstream.1* +%endif + %check %if %{with test} %if %runselftest @@ -1365,8 +1365,10 @@ fi %{_bindir}/replace %{_bindir}/resolve_stack_dump %{_bindir}/resolveip +%if %{with galera} # wsrep_sst_common should be moved to /usr/share/mariadb: https://jira.mariadb.org/browse/MDEV-14296 %{_bindir}/wsrep_* +%endif %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/enable_encryption.preset @@ -1470,7 +1472,7 @@ fi %attr(0750,mysql,mysql) %dir %{logfiledir} # This does what it should. # RPMLint error "conffile-without-noreplace-flag /var/log/mariadb/mariadb.log" is false positive. -%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} +%attr(0660,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} %{_tmpfilesdir}/%{name}.conf From 6cec766bc6defdfa0a012e5c1d544f1cef0c7b1e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 29 Oct 2020 18:45:30 +0100 Subject: [PATCH 639/789] Add description of the 'clustercheck.sh' script --- mariadb.spec | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 02c1232..cce491f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -179,10 +179,25 @@ Source50: rh-skipped-tests-base.list Source51: rh-skipped-tests-arm.list Source52: rh-skipped-tests-s390.list Source53: rh-skipped-tests-ppc.list -# Proposed upstream: https://jira.mariadb.org/browse/MDEV-12442 -# General upstream response was slightly positive +# Red Hat OpenStack scripts: +# Clustercheck: +# Maintainer: +# Damien Ciabrini +# Source / Upstream: +# Damien; based on https://github.com/olafz/percona-clustercheck +# not updated in 5 years; low-effort maintenance +# Purpose: +# In Openstack, galera is accessed like an A/P database, we have a +# load balancer (haproxy) that drives traffic to a single node and +# performs failover when the galera node monitor fails. +# clustercheck.sh is the monitoring script that is being called remotely +# by haproxy. It is a glue between haproxy and the local galera node that +# can run SQL commands to check whether the local galera is connected to the galera cluster. +# Proposed to MariaDB upstream: https://jira.mariadb.org/browse/MDEV-12442 +# General upstream response was slightly positive Source70: clustercheck.sh Source71: LICENSE.clustercheck + # Upstream said: "Generally MariaDB has more allows to allow for xtradb sst mechanism". # https://jira.mariadb.org/browse/MDEV-12646 Source72: mariadb-server-galera.te From e88cf6fb715ccaaea9462ab6096038803560baee Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 12 Nov 2020 03:40:55 +0100 Subject: [PATCH 640/789] Specfile cleanup - fix conditions for building minimal server - fix expected logfile permissions, so `rpm -V` would be satisfied --- mariadb.spec | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index cce491f..595fe54 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -733,9 +733,6 @@ rm -r storage/rocksdb/ %patch15 -p1 %patch16 -p1 -# workaround for upstream bug #56342 -#rm mysql-test/t/ssl_8k_key-master.opt - # generate a list of tests that fail, but are not disabled by upstream cat %{SOURCE50} | tee -a mysql-test/unstable-tests @@ -1150,7 +1147,6 @@ rm %{buildroot}%{_bindir}/{mariadb-client-test-embedded,mariadb-test-embedded} rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1* %endif # embedded -rm %{buildroot}%{_bindir}/test-connect-t rm %{buildroot}%{_bindir}/{mysql_client_test,mysqltest} rm %{buildroot}%{_bindir}/{mariadb-client-test,mariadb-test} rm %{buildroot}%{_mandir}/man1/{mysql_client_test,mysqltest,my_safe_process}.1* @@ -1161,7 +1157,6 @@ rm %{buildroot}/suite/plugins/pam/pam_mariadb_mtr.so %endif %if %{without galera} -rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf rm %{buildroot}%{_sysconfdir}/sysconfig/clustercheck rm %{buildroot}%{_bindir}/{clustercheck,galera_new_cluster} rm %{buildroot}%{_bindir}/galera_recovery @@ -1173,6 +1168,11 @@ rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}ldb.1* rm %{buildroot}%{_mandir}/man1/myrocks_hotbackup.1* %endif +%if %{without backup} +rm %{buildroot}%{_mandir}/man1/maria{,db-}backup.1* +rm %{buildroot}%{_mandir}/man1/mbstream.1* +%endif + %check %if %{with test} %if %runselftest @@ -1381,8 +1381,10 @@ fi %{_bindir}/replace %{_bindir}/resolve_stack_dump %{_bindir}/resolveip +%if %{with galera} # wsrep_sst_common should be moved to /usr/share/mariadb: https://jira.mariadb.org/browse/MDEV-14296 %{_bindir}/wsrep_* +%endif %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/enable_encryption.preset @@ -1488,7 +1490,7 @@ fi %attr(0750,mysql,mysql) %dir %{logfiledir} # This does what it should. # RPMLint error "conffile-without-noreplace-flag /var/log/mariadb/mariadb.log" is false positive. -%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} +%attr(0660,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} %{_tmpfilesdir}/%{name}.conf From 69cb3d49af7162026144a7eba2fa407de83c3803 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Wed, 6 Jan 2021 21:27:25 +0000 Subject: [PATCH 641/789] Add BuildRequires: make https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot --- mariadb.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/mariadb.spec b/mariadb.spec index 595fe54..b76fc14 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -220,6 +220,7 @@ Patch15: %{pkgnamepatch}-groonga.patch # Patch16: Workaround for "chown 0" with priviledges dropped to "mysql" user Patch16: %{pkgnamepatch}-auth_pam_tool_dir.patch +BuildRequires: make BuildRequires: cmake gcc-c++ BuildRequires: multilib-rpm-config BuildRequires: selinux-policy-devel From 67fe36f42d6eb54a5f5b3d361fbda8aabf0c0b4c Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Tue, 12 Jan 2021 13:32:18 +0100 Subject: [PATCH 642/789] Resolve tokudb-engine deprecated problem BZ#1906559 --- mariadb.spec | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index b76fc14..694a1ee 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -154,7 +154,7 @@ Name: mariadb Version: 10.5.8 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -557,6 +557,9 @@ Requires: jemalloc The TokuDB storage engine from Percona. %endif +%if %{without tokudb} +Obsoletes: %{name}-tokudb-engine <= %{sameevr} +%endif %if %{with cracklib} %package cracklib-password-check @@ -1616,7 +1619,11 @@ fi %endif %changelog -* Wen Nov 11 2020 Michal Schorm - 10.5.8-1 +* Fri Dec 11 2020 Lukas Javorsky - 10.5.8-2 +- Add tokudb-engine to obsoletes +- Resolves: #1906559 + +* Wed Nov 11 2020 Michal Schorm - 10.5.8-1 - Rebase to 10.5.8 * Fri Nov 06 2020 Michal Schorm - 10.5.7-1 From 862568e0f8380d03e95dae1533317212bb1ce251 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 26 Jan 2021 19:15:47 +0000 Subject: [PATCH 643/789] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 694a1ee..f492863 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -154,7 +154,7 @@ Name: mariadb Version: 10.5.8 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1619,6 +1619,9 @@ fi %endif %changelog +* Tue Jan 26 2021 Fedora Release Engineering - 3:10.5.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Fri Dec 11 2020 Lukas Javorsky - 10.5.8-2 - Add tokudb-engine to obsoletes - Resolves: #1906559 From 3b1a6d2020b6cfd43e86aa07d0427f6544086b1b Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 28 Jan 2021 16:49:58 +0100 Subject: [PATCH 644/789] Remove a dangling symlink after tests end Related: #1903659 RPMDiff issue says: File opt/rh/rh-mariadb105/root/usr/share/mysql-test/var is a dangling symlink (to /dev/shm/var_64_BuRk) on x86_64 --- mariadb.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index f492863..8d00285 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1232,6 +1232,9 @@ export MTR_BUILD_THREAD=%{__isa_bits} %endif # blank line fi + + # There might be a dangling symlink left from the testing, remove it to not be installed + rm -rf ./var ) # NOTE: the Spider SE has 2 more hidden testsuites "oracle" and "oracle2". From e586e888039d4c4152f4a45f0ebc507efd3c85fa Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 6 Aug 2018 18:08:19 +0200 Subject: [PATCH 645/789] For compatibility with upstream RPMs, create mysqld symlink in sbin --- mariadb.spec | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 8d00285..9ac2158 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -154,7 +154,7 @@ Name: mariadb Version: 10.5.8 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1017,6 +1017,11 @@ mkdir -p %{buildroot}%{logrotateddir} mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name} chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name} +# for compatibility with upstream RPMs, create mysqld symlink in sbin +mkdir -p %{buildroot}%{_sbindir} +ln -s %{_libexecdir}/mysqld %{buildroot}%{_sbindir}/mysqld +ln -s %{_libexecdir}/mariadbd %{buildroot}%{_sbindir}/mariadbd + # copy additional docs into build tree so %%doc will find them install -p -m 0644 %{SOURCE5} %{basename:%{SOURCE5}} install -p -m 0644 %{SOURCE6} %{basename:%{SOURCE6}} @@ -1397,6 +1402,8 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/enable_encryption.preset %config(noreplace) %{_sysconfdir}/my.cnf.d/spider.cnf +%{_sbindir}/mysqld +%{_sbindir}/mariadbd %{_libexecdir}/{mysqld,mariadbd} %{_libdir}/%{pkg_name}/INFO_SRC @@ -1622,6 +1629,9 @@ fi %endif %changelog +* Thu Jan 28 2021 Honza Horak - 3:10.5.8-4 +- For compatibility with upstream RPMs, create mysqld symlink in sbin + * Tue Jan 26 2021 Fedora Release Engineering - 3:10.5.8-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From 7c5259855284cd8e6f4f18e9939c4e65b4869ae8 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 31 Jan 2021 18:21:21 +0100 Subject: [PATCH 646/789] For compatibility with upstream RPMs, create symlinks to "mysql*" named systemd services --- mariadb.spec | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 9ac2158..567a95b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -154,7 +154,7 @@ Name: mariadb Version: 10.5.8 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1033,7 +1033,11 @@ install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}} # We don't use this location of service files rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/{mysql,mysqld}.service # These may come handy in a future, but right now we use our own services -rm %{buildroot}/usr/lib/systemd/system/{mysql,mysqld}.service +rm %{buildroot}%{_unitdir}/{mysql,mysqld}.service + +# For compatibility with upstream RPMs, create symlinks to "mysql*" named systemd services +ln -s %{_unitdir}/mariadb.service %{buildroot}%{_unitdir}/mysql.service +ln -s %{_unitdir}/mariadb.service %{buildroot}%{_unitdir}/mysqld.service # install galera config file %if %{with galera} @@ -1492,6 +1496,8 @@ fi %endif %{_unitdir}/%{daemon_name}* +%{_unitdir}/mysql.service +%{_unitdir}/mysqld.service %{?with_tokudb:%exclude %{_unitdir}/mariadb.service.d/tokudb.conf} %{_libexecdir}/mysql-prepare-db-dir @@ -1629,6 +1635,9 @@ fi %endif %changelog +* Sun Jan 31 2021 Michal Schorm - 3:10.5.8-5 +- For compatibility with upstream RPMs, create symlinks to "mysql*" named systemd services + * Thu Jan 28 2021 Honza Horak - 3:10.5.8-4 - For compatibility with upstream RPMs, create mysqld symlink in sbin From d282b9922b37b15a291ec911a03b3033917444f3 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 31 Jan 2021 21:14:54 +0100 Subject: [PATCH 647/789] Allow to run the test-suite in parallel when more versions are built --- mariadb.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 567a95b..815d41a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1191,8 +1191,10 @@ rm %{buildroot}%{_mandir}/man1/mbstream.1* %if %runselftest # hack to let 32- and 64-bit tests run concurrently on same build machine export MTR_PARALLEL=1 -# builds might happen at the same host, avoid collision -export MTR_BUILD_THREAD=%{__isa_bits} +# Builds might happen at the same host, avoid collision +# The port used is calculated as 10 * MTR_BUILD_THREAD + 10000 +# The resulting port must be between 5000 and 32767 +export MTR_BUILD_THREAD=$(( $(date +%s) % 2200 )) # 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 From f45638f43a9dcfc7829fca4e32e2b0fd7e84319b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 1 Feb 2021 01:33:17 +0100 Subject: [PATCH 648/789] Remove README.mysql-cnf The example configuration files, located in "/usr/share/mariadb/", named "*.cnf" were dropped in MariaDB 10.3 and we haven't shipped them since --- README.mysql-cnf | 13 ------------- mariadb.spec | 3 --- 2 files changed, 16 deletions(-) delete mode 100644 README.mysql-cnf diff --git a/README.mysql-cnf b/README.mysql-cnf deleted file mode 100644 index 3700c7f..0000000 --- a/README.mysql-cnf +++ /dev/null @@ -1,13 +0,0 @@ -This directory contains prepared configuration files with .cnf extension, -which provide a configuration for some common MariaDB deployment scenarios. -These configuration files do not include the default configuration of datadir, -log-file and pid-file locations, as specified in the default my.cnf file, -provided in this distribution. - -Thus, it is recommended to use these configuration files as an addition to the -default my.cnf configuration file. - -Since default my.cnf contains `!includedir @INSTALL_SYSCONF2DIR@` directive, it is -recommended to copy required configuration under @INSTALL_SYSCONF2DIR@ directory, -so the default my.cnf specifications will be extended. - diff --git a/mariadb.spec b/mariadb.spec index 815d41a..5c108f1 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -165,7 +165,6 @@ License: GPLv2 with exceptions and LGPLv2 and BSD Source0: https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz Source2: mysql_config_multilib.sh Source3: my.cnf.in -Source5: README.mysql-cnf Source6: README.mysql-docs Source7: README.mysql-license Source10: mysql.tmpfiles.d.in @@ -1023,7 +1022,6 @@ ln -s %{_libexecdir}/mysqld %{buildroot}%{_sbindir}/mysqld ln -s %{_libexecdir}/mariadbd %{buildroot}%{_sbindir}/mariadbd # copy additional docs into build tree so %%doc will find them -install -p -m 0644 %{SOURCE5} %{basename:%{SOURCE5}} install -p -m 0644 %{SOURCE6} %{basename:%{SOURCE6}} install -p -m 0644 %{SOURCE7} %{basename:%{SOURCE7}} install -p -m 0644 %{SOURCE16} %{basename:%{SOURCE16}} @@ -1378,7 +1376,6 @@ fi %endif %files server -%doc README.mysql-cnf %{_bindir}/aria_{chk,dump_log,ftdump,pack,read_log} %{_bindir}/mariadb-service-convert From a475c7ef2fb8e0f311bddbc48e5cfeff60ecb557 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 2 Feb 2021 15:34:16 +0100 Subject: [PATCH 649/789] Fix port range calculation formula for the testsuite It was discovered, that the each number results to 20 ports range selected, instead of 10 ports range, so the maximum number must be divided by 2. --- mariadb.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 5c108f1..59e2acf 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1190,9 +1190,10 @@ rm %{buildroot}%{_mandir}/man1/mbstream.1* # hack to let 32- and 64-bit tests run concurrently on same build machine export MTR_PARALLEL=1 # Builds might happen at the same host, avoid collision -# The port used is calculated as 10 * MTR_BUILD_THREAD + 10000 +# The port used is calculated as 20 * MTR_BUILD_THREAD + 10000 # The resulting port must be between 5000 and 32767 -export MTR_BUILD_THREAD=$(( $(date +%s) % 2200 )) +# This is the same as using option "--build-thread" for the "mysql-test-run.pl" +export MTR_BUILD_THREAD=$(( $(date +%s) % 1100 )) # 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 From 153eaac4b2c8652c05473a075d585dc8e8e50f62 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 2 Feb 2021 16:07:12 +0100 Subject: [PATCH 650/789] Revert "For compatibility with upstream RPMs, create symlinks to "mysql*" named systemd services" This reverts commit 7c5259855284cd8e6f4f18e9939c4e65b4869ae8. Wee need to discuss this further. --- mariadb.spec | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 59e2acf..b81a697 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -154,7 +154,7 @@ Name: mariadb Version: 10.5.8 -Release: 5%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1031,11 +1031,7 @@ install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}} # We don't use this location of service files rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/{mysql,mysqld}.service # These may come handy in a future, but right now we use our own services -rm %{buildroot}%{_unitdir}/{mysql,mysqld}.service - -# For compatibility with upstream RPMs, create symlinks to "mysql*" named systemd services -ln -s %{_unitdir}/mariadb.service %{buildroot}%{_unitdir}/mysql.service -ln -s %{_unitdir}/mariadb.service %{buildroot}%{_unitdir}/mysqld.service +rm %{buildroot}/usr/lib/systemd/system/{mysql,mysqld}.service # install galera config file %if %{with galera} @@ -1496,8 +1492,6 @@ fi %endif %{_unitdir}/%{daemon_name}* -%{_unitdir}/mysql.service -%{_unitdir}/mysqld.service %{?with_tokudb:%exclude %{_unitdir}/mariadb.service.d/tokudb.conf} %{_libexecdir}/mysql-prepare-db-dir @@ -1635,9 +1629,6 @@ fi %endif %changelog -* Sun Jan 31 2021 Michal Schorm - 3:10.5.8-5 -- For compatibility with upstream RPMs, create symlinks to "mysql*" named systemd services - * Thu Jan 28 2021 Honza Horak - 3:10.5.8-4 - For compatibility with upstream RPMs, create mysqld symlink in sbin From 5087a8f282155d2a27352be992024fab692e6946 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 10 Feb 2021 07:42:31 +0100 Subject: [PATCH 651/789] Add support for S3 storage engine --- mariadb.spec | 41 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index b81a697..68a9a51 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -62,14 +62,18 @@ %bcond_without oqgraph # Other plugins +# S3 storage engine +# https://mariadb.com/kb/en/s3-storage-engine/ %if 0%{?fedora} %bcond_without cracklib %bcond_without connect %bcond_without sphinx +%bcond_without s3 %else %bcond_with cracklib %bcond_with connect %bcond_with sphinx +%bcond_with s3 %endif %bcond_without gssapi @@ -154,7 +158,7 @@ Name: mariadb Version: 10.5.8 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -219,7 +223,7 @@ Patch15: %{pkgnamepatch}-groonga.patch # Patch16: Workaround for "chown 0" with priviledges dropped to "mysql" user Patch16: %{pkgnamepatch}-auth_pam_tool_dir.patch -BuildRequires: make +BuildRequires: make BuildRequires: cmake gcc-c++ BuildRequires: multilib-rpm-config BuildRequires: selinux-policy-devel @@ -600,6 +604,20 @@ The Sphinx storage engine for MariaDB. %endif +%if %{with s3} +%package s3-engine +Summary: The S3 storage engine for MariaDB +Requires: %{name}-server%{?_isa} = %{sameevr} + +BuildRequires: curl-devel + +%description s3-engine +The S3 read only storage engine allows archiving MariaDB tables in Amazon S3, +or any third-party public or private cloud that implements S3 API, +but still have them accessible for reading in MariaDB. +%endif + + %package server-utils Summary: Non-essential server utilities for MariaDB/MySQL applications Requires: %{name}-server%{?_isa} = %{sameevr} @@ -854,6 +872,7 @@ fi -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ + -DPLUGIN_S3=%{?with_s3:DYNAMIC}%{!?with_s3:NO} \ -DPLUGIN_CLIENT_ED25519=OFF \ -DPYTHON_SHEBANG=%{python_path} \ -DPLUGIN_CACHING_SHA2_PASSWORD=%{?with_clibrary:DYNAMIC}%{!?with_clibrary:OFF} \ @@ -1180,6 +1199,10 @@ rm %{buildroot}%{_mandir}/man1/maria{,db-}backup.1* rm %{buildroot}%{_mandir}/man1/mbstream.1* %endif +%if %{without s3} +rm %{buildroot}%{_mandir}/man1/aria_s3_copy.1* +%endif + %check %if %{with test} %if %runselftest @@ -1426,12 +1449,13 @@ fi %{?with_tokudb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so} %{?with_gssapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so} %{?with_sphinx:%exclude %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so} +%{?with_s3:%exclude %{_libdir}/%{pkg_name}/plugin/ha_s3.so} %if %{with clibrary} %exclude %{_libdir}/%{pkg_name}/plugin/dialog.so %exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so %endif -%{_mandir}/man1/aria_{chk,dump_log,ftdump,pack,read_log,s3_copy}.1* +%{_mandir}/man1/aria_{chk,dump_log,ftdump,pack,read_log}.1* %{_mandir}/man1/galera_new_cluster.1* %{_mandir}/man1/galera_recovery.1* %{_mandir}/man1/mariadb-service-convert.1* @@ -1569,6 +1593,14 @@ fi %{_libdir}/%{pkg_name}/plugin/ha_connect.so %endif +%if %{with s3} +%files s3-engine +%{_bindir}/aria_s3_copy +%{_mandir}/man1/aria_s3_copy.1* +%config(noreplace) %{_sysconfdir}/my.cnf.d/s3.cnf +%{_libdir}/%{pkg_name}/plugin/ha_s3.so +%endif + %files server-utils # Perl utilities %{_bindir}/mysql{_convert_table_format,dumpslow,_fix_extensions,hotcopy,_setpermission} @@ -1629,6 +1661,9 @@ fi %endif %changelog +* Wed Feb 10 2021 Michal Schorm - 3:10.5.8-5 +- Add support for S3 storage engine + * Thu Jan 28 2021 Honza Horak - 3:10.5.8-4 - For compatibility with upstream RPMs, create mysqld symlink in sbin From 6279ba9cd780156041eb8ccbadab4795eb30e8d3 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 11 Feb 2021 05:54:59 +0100 Subject: [PATCH 652/789] Add missing dependency for the mariadb-test subpackage --- mariadb.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/mariadb.spec b/mariadb.spec index 68a9a51..aa5ba6c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -705,6 +705,7 @@ Summary: The test suite distributed with MariaDB Requires: %{name}%{?_isa} = %{sameevr} Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} +Requires: patch Requires: perl(Env) Requires: perl(Exporter) Requires: perl(Fcntl) From e5b5fcdcf7e578b28caf6d3590c4fa5f5246f906 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 12 Feb 2021 06:47:53 +0100 Subject: [PATCH 653/789] MariaDB switched to using "DBD::MariaDB" Perl database driver instead of the "DBD::mysql" in MariaDB 10.5.0 version Upstream issue: https://jira.mariadb.org/browse/MDEV-19755 Upstream commit: https://github.com/MariaDB/server/commit/5cc2096f93b7f130b36f8bc0fc43440db9a848e4#diff-8576e5effae0770fc984e35e6749c43a8946489a1b478ce54facb3b9086622bf Scripts that rely on a specific driver won't work with differently named driver Following scripts are affected: mysql_convert_table_format.sh mysql_setpermission.sh mysqlhotcopy.sh mytop.sh as well as several tests for various components So changing the required package to match the needs of the scripts Testing: Following command: mysql_setpermission --user=root --host=127.0.0.1 --port=3306 Would fail with: install_driver(MariaDB) failed: Can't locate DBD/MariaDB.pm in @INC (you may need to install the DBD::MariaDB module) --- mariadb.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index aa5ba6c..8b293d1 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -158,7 +158,7 @@ Name: mariadb Version: 10.5.8 -Release: 5%{?with_debug:.debug}%{?dist} +Release: 6%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -626,7 +626,7 @@ Provides: mysql-perl = %{sameevr} %endif Conflicts: community-mysql-server # mysqlhotcopy needs DBI/DBD support -Requires: perl(DBI) perl(DBD::mysql) +Requires: perl(DBI) perl(DBD::MariaDB) %description server-utils This package contains all non-essential server utilities and scripts for @@ -1662,6 +1662,9 @@ fi %endif %changelog +* Fri Feb 12 2021 Michal Schorm - 3:10.5.8-6 +- Fix Perl database driver dependency + * Wed Feb 10 2021 Michal Schorm - 3:10.5.8-5 - Add support for S3 storage engine From f20aec3d3dbd2e0410749bec263ad74a32c9e31e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 12 Feb 2021 08:45:05 +0100 Subject: [PATCH 654/789] Enhance the logrotate script as proposed in: https://mariadb.com/kb/en/rotating-logs-on-unix-and-linux/ Resolves: #1683981 --- mariadb-logrotate.patch | 18 +++++++++++++----- mariadb.spec | 6 +++++- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/mariadb-logrotate.patch b/mariadb-logrotate.patch index d4ed2b7..aa46e59 100644 --- a/mariadb-logrotate.patch +++ b/mariadb-logrotate.patch @@ -26,9 +26,15 @@ Update 6/2018 beeing able to send the SIGHUP to the process and read the mysqld pid file, which root can. * Submited as PR: https://github.com/MariaDB/server/pull/807 ---- mariadb-10.5.4/support-files/mysql-log-rotate.sh.old 2020-09-16 13:36:57.247955135 +0200 -+++ mariadb-10.5.4/support-files/mysql-log-rotate.sh 2020-09-16 13:40:59.744220908 +0200 -@@ -3,23 +3,10 @@ +Update 02/2021 +* Enhance the script as proposed in: + https://mariadb.com/kb/en/rotating-logs-on-unix-and-linux/ +* Discussion continues in: + https://jira.mariadb.org/browse/MDEV-16621 + +--- mariadb-10.5.8/support-files/mysql-log-rotate.sh 2021-02-12 08:37:47.857289694 +0100 ++++ mariadb-10.5.8/support-files/mysql-log-rotate.sh_pacthed 2021-02-12 08:40:26.420372325 +0100 +@@ -3,35 +3,22 @@ # in the [mysqld] section as follows: # # [mysqld] @@ -55,10 +61,12 @@ Update 6/2018 notifempty daily rotate 3 -@@ -27,11 +14,9 @@ + missingok compress ++ delaycompress ++ sharedscripts postrotate - # just if mariadbd is really running + # just if mariadbd is really running - if test -x @bindir@/mysqladmin && \ - @bindir@/mysqladmin ping &>/dev/null - then diff --git a/mariadb.spec b/mariadb.spec index 8b293d1..e947632 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -158,7 +158,7 @@ Name: mariadb Version: 10.5.8 -Release: 6%{?with_debug:.debug}%{?dist} +Release: 7%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1662,6 +1662,10 @@ fi %endif %changelog +* Fri Feb 12 2021 Michal Schorm - 3:10.5.8-7 +- Enhance the logrotate script +- Resolves: #1683981 + * Fri Feb 12 2021 Michal Schorm - 3:10.5.8-6 - Fix Perl database driver dependency From 7d46a8244f4691d51199a8530eb989e5cc0a9a5c Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Tue, 16 Feb 2021 16:56:17 +0100 Subject: [PATCH 655/789] Replace the tokudb Obsoletes to the right place Resolves: #1928757 --- mariadb.spec | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index e947632..b2f0013 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -158,7 +158,7 @@ Name: mariadb Version: 10.5.8 -Release: 7%{?with_debug:.debug}%{?dist} +Release: 8%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -484,6 +484,10 @@ Conflicts: community-mysql-server # Bench subpackage has been deprecated in F32 Obsoletes: %{name}-bench <= %{sameevr} +%if %{without tokudb} +Obsoletes: %{name}-tokudb-engine <= %{sameevr} +%endif + %description server MariaDB is a multi-user, multi-threaded SQL database server. It is a client/server implementation consisting of a server daemon (mysqld) @@ -560,9 +564,6 @@ Requires: jemalloc The TokuDB storage engine from Percona. %endif -%if %{without tokudb} -Obsoletes: %{name}-tokudb-engine <= %{sameevr} -%endif %if %{with cracklib} %package cracklib-password-check @@ -1662,6 +1663,10 @@ fi %endif %changelog +* Tue Feb 16 2021 Lukas Javorsky - 3:10.5.8-8 +- Replace the tokudb Obsoletes to the right place +- Resolves: #1928757 + * Fri Feb 12 2021 Michal Schorm - 3:10.5.8-7 - Enhance the logrotate script - Resolves: #1683981 From 33b0b7903b0341dfdc21d2ae1dd3d30d749796c1 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 24 Feb 2021 14:43:24 +0100 Subject: [PATCH 656/789] Rebase to 10.5.9 --- mariadb.spec | 9 ++++++--- sources | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index b2f0013..a6c7123 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -15,7 +15,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.5.8 +%global last_tested_version 10.5.9 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -157,8 +157,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.8 -Release: 8%{?with_debug:.debug}%{?dist} +Version: 10.5.9 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1663,6 +1663,9 @@ fi %endif %changelog +* Wed Feb 24 2021 Michal Schorm - 10.5.9-1 +- Rebase to 10.5.9 + * Tue Feb 16 2021 Lukas Javorsky - 3:10.5.8-8 - Replace the tokudb Obsoletes to the right place - Resolves: #1928757 diff --git a/sources b/sources index 9584397..06e3259 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.8.tar.gz) = 9801a68440a3502b49655e34dcbfd09734f4a4f1ba8621ed9b895e194cea461a8c69fb0ff66488d5defd3065b43f73e5083a60142e11cc7e4a442f86769b06e5 +SHA512 (mariadb-10.5.9.tar.gz) = d23d5bf8510b3c36a6521fb3244cf323ef0f5d100ba379ed7b5bbc2acae1765a5b46c17bd929f0b27b28923eb1b5975314abdf7ffb96905cf7a93a5c8837294e From 15e98d0c18e38f1f9f1a0c5e71442b51bcd7413b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 27 Feb 2021 01:22:05 +0100 Subject: [PATCH 657/789] Remove old unapplied patch for Spider SE on armv7hl The patch was originally a copy of an upstream commit fixing this issue Now the commit is a part of the server codebase https://jira.mariadb.org/browse/MDEV-18737 https://github.com/MariaDB/server/commit/ddce85907611e0533d6226de7f53e751cf173f6a I stopped applying the patch with 10.5.0 release --- mariadb-spider_on_armv7hl.patch | 1078 ------------------------------- mariadb.spec | 3 - 2 files changed, 1081 deletions(-) delete mode 100644 mariadb-spider_on_armv7hl.patch diff --git a/mariadb-spider_on_armv7hl.patch b/mariadb-spider_on_armv7hl.patch deleted file mode 100644 index e4e6694..0000000 --- a/mariadb-spider_on_armv7hl.patch +++ /dev/null @@ -1,1078 +0,0 @@ -Fix for: -https://jira.mariadb.org/browse/MDEV-18737 -Taken from: -https://github.com/MariaDB/server/commit/ddce85907611e0533d6226de7f53e751cf173f6a - - - - - -From 3faf5d4c1c3274a20a92cb3eb7eb2de6140894d6 Mon Sep 17 00:00:00 2001 -From: Kentoku SHIBA -Date: Thu, 25 Jul 2019 22:52:45 +0900 -Subject: [PATCH] MDEV-18737 Spider "Out of memory" on armv7hl (#1363) - -This is an issue of memory alignment of variable argument when calling my_multi_malloc(). -The fix is strictly casting allocating size to "uint". ---- - storage/spider/ha_spider.cc | 36 +++-- - storage/spider/spd_conn.cc | 69 +++++----- - storage/spider/spd_copy_tables.cc | 25 ++-- - storage/spider/spd_db_conn.cc | 13 +- - storage/spider/spd_db_handlersocket.cc | 4 +- - storage/spider/spd_db_mysql.cc | 10 +- - storage/spider/spd_db_oracle.cc | 24 ++-- - storage/spider/spd_direct_sql.cc | 78 +++++------ - storage/spider/spd_group_by_handler.cc | 7 +- - storage/spider/spd_ping_table.cc | 36 +++-- - storage/spider/spd_table.cc | 134 ++++++++++--------- - storage/spider/spd_trx.cc | 173 +++++++++++++------------ - 12 files changed, 327 insertions(+), 282 deletions(-) - -diff --git a/storage/spider/ha_spider.cc b/storage/spider/ha_spider.cc -index 967d2c6e5de..e04f0c8ef55 100644 ---- a/storage/spider/ha_spider.cc -+++ b/storage/spider/ha_spider.cc -@@ -394,15 +394,24 @@ int ha_spider::open( - { - if (!(searched_bitmap = (uchar *) - spider_bulk_malloc(spider_current_trx, 15, MYF(MY_WME), -- &searched_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), -- &ft_discard_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), -- &position_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), -- &partition_handler_share, sizeof(SPIDER_PARTITION_HANDLER_SHARE), -- &idx_read_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), -- &idx_write_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), -- &rnd_read_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), -- &rnd_write_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), -- &pt_handler_share_handlers, sizeof(ha_spider *) * part_num, -+ &searched_bitmap, -+ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), -+ &ft_discard_bitmap, -+ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), -+ &position_bitmap, -+ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), -+ &partition_handler_share, -+ (uint) sizeof(SPIDER_PARTITION_HANDLER_SHARE), -+ &idx_read_bitmap, -+ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), -+ &idx_write_bitmap, -+ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), -+ &rnd_read_bitmap, -+ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), -+ &rnd_write_bitmap, -+ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), -+ &pt_handler_share_handlers, -+ (uint) sizeof(ha_spider *) * part_num, - NullS)) - ) { - error_num = HA_ERR_OUT_OF_MEM; -@@ -11317,7 +11326,7 @@ int ha_spider::create( - if (!(tmp_share.static_key_cardinality = (longlong *) - spider_bulk_malloc(spider_current_trx, 246, MYF(MY_WME), - &tmp_share.static_key_cardinality, -- sizeof(*tmp_share.static_key_cardinality) * form->s->keys, -+ (uint) (sizeof(*tmp_share.static_key_cardinality) * form->s->keys), - NullS)) - ) { - error_num = HA_ERR_OUT_OF_MEM; -@@ -12126,7 +12135,8 @@ int ha_spider::info_push( - spider_free(spider_current_trx, hs_pushed_ret_fields, MYF(0)); - if (!(hs_pushed_ret_fields = (uint32 *) - spider_bulk_malloc(spider_current_trx, 17, MYF(MY_WME), -- &hs_pushed_ret_fields, sizeof(uint32) * hs_pushed_ret_fields_num, -+ &hs_pushed_ret_fields, -+ (uint) (sizeof(uint32) * hs_pushed_ret_fields_num), - NullS)) - ) { - DBUG_RETURN(HA_ERR_OUT_OF_MEM); -@@ -13690,8 +13700,8 @@ SPIDER_BULK_ACCESS_LINK *ha_spider::create_bulk_access_link() - */ - if (!(bulk_access_link = (SPIDER_BULK_ACCESS_LINK *) - spider_bulk_malloc(spider_current_trx, 168, MYF(MY_WME), -- &bulk_access_link, sizeof(SPIDER_BULK_ACCESS_LINK), -- &ref, ALIGN_SIZE(ref_length) * 2, -+ &bulk_access_link, (uint) (sizeof(SPIDER_BULK_ACCESS_LINK)), -+ &ref, (uint) (ALIGN_SIZE(ref_length) * 2), - NullS)) - ) { - goto error_bulk_malloc; -diff --git a/storage/spider/spd_conn.cc b/storage/spider/spd_conn.cc -index 911c9bc95ac..f8ca9108061 100644 ---- a/storage/spider/spd_conn.cc -+++ b/storage/spider/spd_conn.cc -@@ -470,30 +470,30 @@ SPIDER_CONN *spider_create_conn( - #endif - if (!(conn = (SPIDER_CONN *) - spider_bulk_malloc(spider_current_trx, 18, MYF(MY_WME | MY_ZEROFILL), -- &conn, sizeof(*conn), -- &tmp_name, share->conn_keys_lengths[link_idx] + 1, -- &tmp_host, share->tgt_hosts_lengths[link_idx] + 1, -+ &conn, (uint) (sizeof(*conn)), -+ &tmp_name, (uint) (share->conn_keys_lengths[link_idx] + 1), -+ &tmp_host, (uint) (share->tgt_hosts_lengths[link_idx] + 1), - &tmp_username, -- share->tgt_usernames_lengths[link_idx] + 1, -+ (uint) (share->tgt_usernames_lengths[link_idx] + 1), - &tmp_password, -- share->tgt_passwords_lengths[link_idx] + 1, -- &tmp_socket, share->tgt_sockets_lengths[link_idx] + 1, -+ (uint) (share->tgt_passwords_lengths[link_idx] + 1), -+ &tmp_socket, (uint) (share->tgt_sockets_lengths[link_idx] + 1), - &tmp_wrapper, -- share->tgt_wrappers_lengths[link_idx] + 1, -- &tmp_ssl_ca, share->tgt_ssl_cas_lengths[link_idx] + 1, -+ (uint) (share->tgt_wrappers_lengths[link_idx] + 1), -+ &tmp_ssl_ca, (uint) (share->tgt_ssl_cas_lengths[link_idx] + 1), - &tmp_ssl_capath, -- share->tgt_ssl_capaths_lengths[link_idx] + 1, -+ (uint) (share->tgt_ssl_capaths_lengths[link_idx] + 1), - &tmp_ssl_cert, -- share->tgt_ssl_certs_lengths[link_idx] + 1, -+ (uint) (share->tgt_ssl_certs_lengths[link_idx] + 1), - &tmp_ssl_cipher, -- share->tgt_ssl_ciphers_lengths[link_idx] + 1, -+ (uint) (share->tgt_ssl_ciphers_lengths[link_idx] + 1), - &tmp_ssl_key, -- share->tgt_ssl_keys_lengths[link_idx] + 1, -+ (uint) (share->tgt_ssl_keys_lengths[link_idx] + 1), - &tmp_default_file, -- share->tgt_default_files_lengths[link_idx] + 1, -+ (uint) (share->tgt_default_files_lengths[link_idx] + 1), - &tmp_default_group, -- share->tgt_default_groups_lengths[link_idx] + 1, -- &need_mon, sizeof(int), -+ (uint) (share->tgt_default_groups_lengths[link_idx] + 1), -+ &need_mon, (uint) (sizeof(int)), - NullS)) - ) { - *error_num = HA_ERR_OUT_OF_MEM; -@@ -592,13 +592,13 @@ SPIDER_CONN *spider_create_conn( - } else if (conn_kind == SPIDER_CONN_KIND_HS_READ) { - if (!(conn = (SPIDER_CONN *) - spider_bulk_malloc(spider_current_trx, 19, MYF(MY_WME | MY_ZEROFILL), -- &conn, sizeof(*conn), -- &tmp_name, share->hs_read_conn_keys_lengths[link_idx] + 1, -- &tmp_host, share->tgt_hosts_lengths[link_idx] + 1, -- &tmp_socket, share->hs_read_socks_lengths[link_idx] + 1, -+ &conn, (uint) (sizeof(*conn)), -+ &tmp_name, (uint) (share->hs_read_conn_keys_lengths[link_idx] + 1), -+ &tmp_host, (uint) (share->tgt_hosts_lengths[link_idx] + 1), -+ &tmp_socket, (uint) (share->hs_read_socks_lengths[link_idx] + 1), - &tmp_wrapper, -- share->tgt_wrappers_lengths[link_idx] + 1, -- &need_mon, sizeof(int), -+ (uint) (share->tgt_wrappers_lengths[link_idx] + 1), -+ &need_mon, (uint) (sizeof(int)), - NullS)) - ) { - *error_num = HA_ERR_OUT_OF_MEM; -@@ -634,13 +634,13 @@ SPIDER_CONN *spider_create_conn( - } else { - if (!(conn = (SPIDER_CONN *) - spider_bulk_malloc(spider_current_trx, 20, MYF(MY_WME | MY_ZEROFILL), -- &conn, sizeof(*conn), -- &tmp_name, share->hs_write_conn_keys_lengths[link_idx] + 1, -- &tmp_host, share->tgt_hosts_lengths[link_idx] + 1, -- &tmp_socket, share->hs_write_socks_lengths[link_idx] + 1, -+ &conn, (uint) (sizeof(*conn)), -+ &tmp_name, (uint) (share->hs_write_conn_keys_lengths[link_idx] + 1), -+ &tmp_host, (uint) (share->tgt_hosts_lengths[link_idx] + 1), -+ &tmp_socket, (uint) (share->hs_write_socks_lengths[link_idx] + 1), - &tmp_wrapper, -- share->tgt_wrappers_lengths[link_idx] + 1, -- &need_mon, sizeof(int), -+ (uint) (share->tgt_wrappers_lengths[link_idx] + 1), -+ &need_mon, (uint) (sizeof(int)), - NullS)) - ) { - *error_num = HA_ERR_OUT_OF_MEM; -@@ -3634,13 +3634,16 @@ int spider_create_mon_threads( - } - if (!(share->bg_mon_thds = (THD **) - spider_bulk_malloc(spider_current_trx, 23, MYF(MY_WME | MY_ZEROFILL), -- &share->bg_mon_thds, sizeof(THD *) * share->all_link_count, -- &share->bg_mon_threads, sizeof(pthread_t) * share->all_link_count, -- &share->bg_mon_mutexes, sizeof(pthread_mutex_t) * -- share->all_link_count, -- &share->bg_mon_conds, sizeof(pthread_cond_t) * share->all_link_count, -+ &share->bg_mon_thds, -+ (uint) (sizeof(THD *) * share->all_link_count), -+ &share->bg_mon_threads, -+ (uint) (sizeof(pthread_t) * share->all_link_count), -+ &share->bg_mon_mutexes, -+ (uint) (sizeof(pthread_mutex_t) * share->all_link_count), -+ &share->bg_mon_conds, -+ (uint) (sizeof(pthread_cond_t) * share->all_link_count), - &share->bg_mon_sleep_conds, -- sizeof(pthread_cond_t) * share->all_link_count, -+ (uint) (sizeof(pthread_cond_t) * share->all_link_count), - NullS)) - ) { - error_num = HA_ERR_OUT_OF_MEM; -diff --git a/storage/spider/spd_copy_tables.cc b/storage/spider/spd_copy_tables.cc -index 13c53220b16..1a472e2c12b 100644 ---- a/storage/spider/spd_copy_tables.cc -+++ b/storage/spider/spd_copy_tables.cc -@@ -390,12 +390,15 @@ int spider_udf_get_copy_tgt_tables( - do { - if (!(table_conn = (SPIDER_COPY_TABLE_CONN *) - spider_bulk_malloc(spider_current_trx, 25, MYF(MY_WME | MY_ZEROFILL), -- &table_conn, sizeof(SPIDER_COPY_TABLE_CONN), -- &tmp_share, sizeof(SPIDER_SHARE), -- &tmp_connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT, -- &tmp_connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT, -- &tmp_long, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT, -- &tmp_longlong, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT, -+ &table_conn, (uint) (sizeof(SPIDER_COPY_TABLE_CONN)), -+ &tmp_share, (uint) (sizeof(SPIDER_SHARE)), -+ &tmp_connect_info, -+ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT), -+ &tmp_connect_info_length, -+ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT), -+ &tmp_long, (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT), -+ &tmp_longlong, -+ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT), - NullS)) - ) { - spider_sys_index_end(table_tables); -@@ -706,12 +709,12 @@ int spider_udf_copy_tables_create_table_list( - if (!(copy_tables->link_idxs[0] = (int *) - spider_bulk_malloc(spider_current_trx, 26, MYF(MY_WME | MY_ZEROFILL), - ©_tables->link_idxs[0], -- sizeof(int) * copy_tables->link_idx_count[0], -+ (uint) (sizeof(int) * copy_tables->link_idx_count[0]), - ©_tables->link_idxs[1], -- sizeof(int) * copy_tables->link_idx_count[1], -- &tmp_name_ptr, sizeof(char) * ( -+ (uint) (sizeof(int) * copy_tables->link_idx_count[1]), -+ &tmp_name_ptr, (uint) (sizeof(char) * ( - spider_table_name_length * 2 + copy_tables->database_length + 3 -- ), -+ )), - NullS)) - ) { - my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -906,7 +909,7 @@ long long spider_copy_tables_body( - - if (!(copy_tables = (SPIDER_COPY_TABLES *) - spider_bulk_malloc(spider_current_trx, 27, MYF(MY_WME | MY_ZEROFILL), -- ©_tables, sizeof(SPIDER_COPY_TABLES), -+ ©_tables, (uint) (sizeof(SPIDER_COPY_TABLES)), - NullS)) - ) { - my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -diff --git a/storage/spider/spd_db_conn.cc b/storage/spider/spd_db_conn.cc -index cc4599ce0b3..f7178293b05 100644 ---- a/storage/spider/spd_db_conn.cc -+++ b/storage/spider/spd_db_conn.cc -@@ -2643,7 +2643,8 @@ int spider_db_fetch_for_item_sum_func( - if (!spider->direct_aggregate_item_first) - { - if (!spider_bulk_malloc(spider_current_trx, 240, MYF(MY_WME), -- &spider->direct_aggregate_item_first, sizeof(SPIDER_ITEM_HLD), -+ &spider->direct_aggregate_item_first, -+ (uint) (sizeof(SPIDER_ITEM_HLD)), - NullS) - ) { - DBUG_RETURN(HA_ERR_OUT_OF_MEM); -@@ -2662,7 +2663,7 @@ int spider_db_fetch_for_item_sum_func( - { - if (!spider_bulk_malloc(spider_current_trx, 241, MYF(MY_WME), - &spider->direct_aggregate_item_current->next, -- sizeof(SPIDER_ITEM_HLD), NullS) -+ (uint) (sizeof(SPIDER_ITEM_HLD)), NullS) - ) { - DBUG_RETURN(HA_ERR_OUT_OF_MEM); - } -@@ -4034,8 +4035,8 @@ int spider_db_store_result( - current->field_count = field_count; - if (!(position = (SPIDER_POSITION *) - spider_bulk_malloc(spider_current_trx, 7, MYF(MY_WME | MY_ZEROFILL), -- &position, sizeof(SPIDER_POSITION) * page_size, -- &tmp_row, sizeof(char*) * field_count, -+ &position, (uint) (sizeof(SPIDER_POSITION) * page_size), -+ &tmp_row, (uint) (sizeof(SPIDER_DB_ROW) * field_count), - NullS)) - ) - DBUG_RETURN(HA_ERR_OUT_OF_MEM); -@@ -10814,8 +10815,8 @@ int spider_db_udf_copy_tables( - DBUG_ENTER("spider_db_udf_copy_tables"); - if (!(last_row_pos = (ulong *) - spider_bulk_malloc(spider_current_trx, 30, MYF(MY_WME), -- &last_row_pos, sizeof(ulong) * table->s->fields, -- &last_lengths, sizeof(ulong) * table->s->fields, -+ &last_row_pos, (uint) (sizeof(ulong) * table->s->fields), -+ &last_lengths, (uint) (sizeof(ulong) * table->s->fields), - NullS)) - ) { - my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -diff --git a/storage/spider/spd_db_handlersocket.cc b/storage/spider/spd_db_handlersocket.cc -index 1e42838f40a..1e88ad4a59a 100644 ---- a/storage/spider/spd_db_handlersocket.cc -+++ b/storage/spider/spd_db_handlersocket.cc -@@ -505,8 +505,8 @@ SPIDER_DB_ROW *spider_db_handlersocket_row::clone() - DBUG_RETURN(NULL); - } - if (!spider_bulk_malloc(spider_current_trx, 169, MYF(MY_WME), -- &clone_row->hs_row, sizeof(SPIDER_HS_STRING_REF) * field_count, -- &tmp_char, row_size, -+ &clone_row->hs_row, (uint) (sizeof(SPIDER_HS_STRING_REF) * field_count), -+ &tmp_char, (uint) (row_size), - NullS) - ) { - delete clone_row; -diff --git a/storage/spider/spd_db_mysql.cc b/storage/spider/spd_db_mysql.cc -index 1b62b4a9bd5..947a614f11e 100644 ---- a/storage/spider/spd_db_mysql.cc -+++ b/storage/spider/spd_db_mysql.cc -@@ -523,9 +523,9 @@ SPIDER_DB_ROW *spider_db_mbase_row::clone() - row_size = record_size + field_count; - } - if (!spider_bulk_malloc(spider_current_trx, 29, MYF(MY_WME), -- &clone_row->row, sizeof(char*) * field_count, -- &tmp_char, row_size, -- &clone_row->lengths, sizeof(ulong) * field_count, -+ &clone_row->row, (uint) (sizeof(char*) * field_count), -+ &tmp_char, (uint) (row_size), -+ &clone_row->lengths, (uint) (sizeof(ulong) * field_count), - NullS) - ) { - delete clone_row; -@@ -13519,7 +13519,7 @@ int spider_mbase_handler::init_union_table_name_pos() - if (!union_table_name_pos_first) - { - if (!spider_bulk_malloc(spider_current_trx, 236, MYF(MY_WME), -- &union_table_name_pos_first, sizeof(SPIDER_INT_HLD), -+ &union_table_name_pos_first, (uint) (sizeof(SPIDER_INT_HLD)), - NullS) - ) { - DBUG_RETURN(HA_ERR_OUT_OF_MEM); -@@ -13540,7 +13540,7 @@ int spider_mbase_handler::set_union_table_name_pos() - if (!union_table_name_pos_current->next) - { - if (!spider_bulk_malloc(spider_current_trx, 237, MYF(MY_WME), -- &union_table_name_pos_current->next, sizeof(SPIDER_INT_HLD), -+ &union_table_name_pos_current->next, (uint) (sizeof(SPIDER_INT_HLD)), - NullS) - ) { - DBUG_RETURN(HA_ERR_OUT_OF_MEM); -diff --git a/storage/spider/spd_db_oracle.cc b/storage/spider/spd_db_oracle.cc -index 08d7d3e083d..d869afc61f4 100644 ---- a/storage/spider/spd_db_oracle.cc -+++ b/storage/spider/spd_db_oracle.cc -@@ -588,16 +588,16 @@ int spider_db_oracle_row::init() - if ( - !(ind = (sb2 *) - spider_bulk_malloc(spider_current_trx, 161, MYF(MY_WME | MY_ZEROFILL), -- &ind, sizeof(sb2) * field_count, -- &rlen, sizeof(ub2) * field_count, -- &coltp, sizeof(ub2) * field_count, -- &colsz, sizeof(ub2) * field_count, -- &row_size, sizeof(ulong) * field_count, -- &val, sizeof(char *) * field_count, -- &tmp_val, MAX_FIELD_WIDTH * field_count, -- &defnp, sizeof(OCIDefine *) * field_count, -- &lobhp, sizeof(OCILobLocator *) * field_count, -- &colhp, sizeof(OCIParam *) * field_count, -+ &ind, (uint) (sizeof(sb2) * field_count), -+ &rlen, (uint) (sizeof(ub2) * field_count), -+ &coltp, (uint) (sizeof(ub2) * field_count), -+ &colsz, (uint) (sizeof(ub2) * field_count), -+ &row_size, (uint) (sizeof(ulong) * field_count), -+ &val, (uint) (sizeof(char *) * field_count), -+ &tmp_val, (uint) (MAX_FIELD_WIDTH * field_count), -+ &defnp, (uint) (sizeof(OCIDefine *) * field_count), -+ &lobhp, (uint) (sizeof(OCILobLocator *) * field_count), -+ &colhp, (uint) (sizeof(OCIParam *) * field_count), - NullS) - ) || - !(val_str = new spider_string[field_count]) -@@ -12487,7 +12487,7 @@ int spider_oracle_handler::init_union_table_name_pos() - if (!union_table_name_pos_first) - { - if (!spider_bulk_malloc(spider_current_trx, 238, MYF(MY_WME), -- &union_table_name_pos_first, sizeof(SPIDER_INT_HLD), -+ &union_table_name_pos_first, (uint) (sizeof(SPIDER_INT_HLD)), - NullS) - ) { - DBUG_RETURN(HA_ERR_OUT_OF_MEM); -@@ -12508,7 +12508,7 @@ int spider_oracle_handler::set_union_table_name_pos() - if (!union_table_name_pos_current->next) - { - if (!spider_bulk_malloc(spider_current_trx, 239, MYF(MY_WME), -- &union_table_name_pos_current->next, sizeof(SPIDER_INT_HLD), -+ &union_table_name_pos_current->next, (uint) (sizeof(SPIDER_INT_HLD)), - NullS) - ) { - DBUG_RETURN(HA_ERR_OUT_OF_MEM); -diff --git a/storage/spider/spd_direct_sql.cc b/storage/spider/spd_direct_sql.cc -index 7237d0877a7..7bf0b91a4a7 100644 ---- a/storage/spider/spd_direct_sql.cc -+++ b/storage/spider/spd_direct_sql.cc -@@ -1,4 +1,5 @@ --/* Copyright (C) 2009-2018 Kentoku Shiba -+/* Copyright (C) 2009-2019 Kentoku Shiba -+ Copyright (C) 2019 MariaDB corp - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by -@@ -117,31 +118,32 @@ int spider_udf_direct_sql_create_table_list( - #if MYSQL_VERSION_ID < 50500 - if (!(direct_sql->db_names = (char**) - spider_bulk_malloc(spider_current_trx, 31, MYF(MY_WME | MY_ZEROFILL), -- &direct_sql->db_names, sizeof(char*) * table_count, -- &direct_sql->table_names, sizeof(char*) * table_count, -- &direct_sql->tables, sizeof(TABLE*) * table_count, -- &tmp_name_ptr, sizeof(char) * ( -+ &direct_sql->db_names, (uint) (sizeof(char*) * table_count), -+ &direct_sql->table_names, (uint) (sizeof(char*) * table_count), -+ &direct_sql->tables, (uint) (sizeof(TABLE*) * table_count), -+ &tmp_name_ptr, (uint) (sizeof(char) * ( - table_name_list_length + - thd->db_length * table_count + - 2 * table_count -- ), -- &direct_sql->iop, sizeof(int) * table_count, -+ )), -+ &direct_sql->iop, (uint) (sizeof(int) * table_count), - NullS)) - ) - #else - if (!(direct_sql->db_names = (char**) - spider_bulk_malloc(spider_current_trx, 31, MYF(MY_WME | MY_ZEROFILL), -- &direct_sql->db_names, sizeof(char*) * table_count, -- &direct_sql->table_names, sizeof(char*) * table_count, -- &direct_sql->tables, sizeof(TABLE*) * table_count, -- &tmp_name_ptr, sizeof(char) * ( -+ &direct_sql->db_names, (uint) (sizeof(char*) * table_count), -+ &direct_sql->table_names, (uint) (sizeof(char*) * table_count), -+ &direct_sql->tables, (uint) (sizeof(TABLE*) * table_count), -+ &tmp_name_ptr, (uint) (sizeof(char) * ( - table_name_list_length + - SPIDER_THD_db_length(thd) * table_count + - 2 * table_count -- ), -- &direct_sql->iop, sizeof(int) * table_count, -- &direct_sql->table_list, sizeof(TABLE_LIST) * table_count, -- &direct_sql->real_table_bitmap, sizeof(uchar) * ((table_count + 7) / 8), -+ )), -+ &direct_sql->iop, (uint) (sizeof(int) * table_count), -+ &direct_sql->table_list, (uint) (sizeof(TABLE_LIST) * table_count), -+ &direct_sql->real_table_bitmap, -+ (uint) (sizeof(uchar) * ((table_count + 7) / 8)), - NullS)) - ) - #endif -@@ -412,23 +414,23 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn( - #endif - if (!(conn = (SPIDER_CONN *) - spider_bulk_malloc(spider_current_trx, 32, MYF(MY_WME | MY_ZEROFILL), -- &conn, sizeof(*conn), -- &tmp_name, direct_sql->conn_key_length + 1, -- &tmp_host, direct_sql->tgt_host_length + 1, -- &tmp_username, direct_sql->tgt_username_length + 1, -- &tmp_password, direct_sql->tgt_password_length + 1, -- &tmp_socket, direct_sql->tgt_socket_length + 1, -- &tmp_wrapper, direct_sql->tgt_wrapper_length + 1, -- &tmp_ssl_ca, direct_sql->tgt_ssl_ca_length + 1, -- &tmp_ssl_capath, direct_sql->tgt_ssl_capath_length + 1, -- &tmp_ssl_cert, direct_sql->tgt_ssl_cert_length + 1, -- &tmp_ssl_cipher, direct_sql->tgt_ssl_cipher_length + 1, -- &tmp_ssl_key, direct_sql->tgt_ssl_key_length + 1, -+ &conn, (uint) (sizeof(*conn)), -+ &tmp_name, (uint) (direct_sql->conn_key_length + 1), -+ &tmp_host, (uint) (direct_sql->tgt_host_length + 1), -+ &tmp_username, (uint) (direct_sql->tgt_username_length + 1), -+ &tmp_password, (uint) (direct_sql->tgt_password_length + 1), -+ &tmp_socket, (uint) (direct_sql->tgt_socket_length + 1), -+ &tmp_wrapper, (uint) (direct_sql->tgt_wrapper_length + 1), -+ &tmp_ssl_ca, (uint) (direct_sql->tgt_ssl_ca_length + 1), -+ &tmp_ssl_capath, (uint) (direct_sql->tgt_ssl_capath_length + 1), -+ &tmp_ssl_cert, (uint) (direct_sql->tgt_ssl_cert_length + 1), -+ &tmp_ssl_cipher, (uint) (direct_sql->tgt_ssl_cipher_length + 1), -+ &tmp_ssl_key, (uint) (direct_sql->tgt_ssl_key_length + 1), - &tmp_default_file, -- direct_sql->tgt_default_file_length + 1, -+ (uint) (direct_sql->tgt_default_file_length + 1), - &tmp_default_group, -- direct_sql->tgt_default_group_length + 1, -- &need_mon, sizeof(int), -+ (uint) (direct_sql->tgt_default_group_length + 1), -+ &need_mon, (uint) (sizeof(int)), - NullS)) - ) { - *error_num = HA_ERR_OUT_OF_MEM; -@@ -439,12 +441,12 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn( - } else { - if (!(conn = (SPIDER_CONN *) - spider_bulk_malloc(spider_current_trx, 33, MYF(MY_WME | MY_ZEROFILL), -- &conn, sizeof(*conn), -- &tmp_name, direct_sql->conn_key_length + 1, -- &tmp_host, direct_sql->tgt_host_length + 1, -- &tmp_socket, direct_sql->tgt_socket_length + 1, -- &tmp_wrapper, direct_sql->tgt_wrapper_length + 1, -- &need_mon, sizeof(int), -+ &conn, (uint) (sizeof(*conn)), -+ &tmp_name, (uint) (direct_sql->conn_key_length + 1), -+ &tmp_host, (uint) (direct_sql->tgt_host_length + 1), -+ &tmp_socket, (uint) (direct_sql->tgt_socket_length + 1), -+ &tmp_wrapper, (uint) (direct_sql->tgt_wrapper_length + 1), -+ &need_mon, (uint) (sizeof(int)), - NullS)) - ) { - *error_num = HA_ERR_OUT_OF_MEM; -@@ -1602,8 +1604,8 @@ long long spider_direct_sql_body( - SPIDER_BACKUP_DASTATUS; - if (!(direct_sql = (SPIDER_DIRECT_SQL *) - spider_bulk_malloc(spider_current_trx, 34, MYF(MY_WME | MY_ZEROFILL), -- &direct_sql, sizeof(SPIDER_DIRECT_SQL), -- &sql, sizeof(char) * args->lengths[0], -+ &direct_sql, (uint) (sizeof(SPIDER_DIRECT_SQL)), -+ &sql, (uint) (sizeof(char) * args->lengths[0]), - NullS)) - ) { - error_num = HA_ERR_OUT_OF_MEM; -diff --git a/storage/spider/spd_group_by_handler.cc b/storage/spider/spd_group_by_handler.cc -index 3b57092c4ce..51cfca23106 100644 ---- a/storage/spider/spd_group_by_handler.cc -+++ b/storage/spider/spd_group_by_handler.cc -@@ -1,4 +1,5 @@ --/* Copyright (C) 2008-2018 Kentoku Shiba -+/* Copyright (C) 2008-2019 Kentoku Shiba -+ Copyright (C) 2019 MariaDB corp - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by -@@ -637,9 +638,9 @@ SPIDER_CONN_HOLDER *spider_fields::create_conn_holder( - DBUG_PRINT("info",("spider this=%p", this)); - return_conn_holder = (SPIDER_CONN_HOLDER *) - spider_bulk_malloc(spider_current_trx, 252, MYF(MY_WME | MY_ZEROFILL), -- &return_conn_holder, sizeof(SPIDER_CONN_HOLDER), -+ &return_conn_holder, (uint) (sizeof(SPIDER_CONN_HOLDER)), - &table_link_idx_holder, -- table_count * sizeof(SPIDER_TABLE_LINK_IDX_HOLDER), -+ (uint) (table_count * sizeof(SPIDER_TABLE_LINK_IDX_HOLDER)), - NullS - ); - if (!return_conn_holder) -diff --git a/storage/spider/spd_ping_table.cc b/storage/spider/spd_ping_table.cc -index 431d46063c3..60e36fc24fb 100644 ---- a/storage/spider/spd_ping_table.cc -+++ b/storage/spider/spd_ping_table.cc -@@ -1,4 +1,5 @@ --/* Copyright (C) 2009-2018 Kentoku Shiba -+/* Copyright (C) 2009-2019 Kentoku Shiba -+ Copyright (C) 2019 MariaDB corp - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by -@@ -367,12 +368,15 @@ int spider_get_ping_table_mon( - do { - if (!(table_mon = (SPIDER_TABLE_MON *) - spider_bulk_malloc(spider_current_trx, 35, MYF(MY_WME | MY_ZEROFILL), -- &table_mon, sizeof(SPIDER_TABLE_MON), -- &tmp_share, sizeof(SPIDER_SHARE), -- &tmp_connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT, -- &tmp_connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT, -- &tmp_long, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT, -- &tmp_longlong, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT, -+ &table_mon, (uint) (sizeof(SPIDER_TABLE_MON)), -+ &tmp_share, (uint) (sizeof(SPIDER_SHARE)), -+ &tmp_connect_info, -+ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT), -+ &tmp_connect_info_length, -+ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT), -+ &tmp_long, (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT), -+ &tmp_longlong, -+ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT), - NullS)) - ) { - spider_sys_index_end(table_link_mon); -@@ -491,13 +495,17 @@ SPIDER_TABLE_MON_LIST *spider_get_ping_table_tgt( - SPD_INIT_ALLOC_ROOT(&mem_root, 4096, 0, MYF(MY_WME)); - if (!(table_mon_list = (SPIDER_TABLE_MON_LIST *) - spider_bulk_malloc(spider_current_trx, 36, MYF(MY_WME | MY_ZEROFILL), -- &table_mon_list, sizeof(SPIDER_TABLE_MON_LIST), -- &tmp_share, sizeof(SPIDER_SHARE), -- &tmp_connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT, -- &tmp_connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT, -- &tmp_long, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT, -- &tmp_longlong, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT, -- &key_str, str->length() + 1, -+ &table_mon_list, (uint) (sizeof(SPIDER_TABLE_MON_LIST)), -+ &tmp_share, (uint) (sizeof(SPIDER_SHARE)), -+ &tmp_connect_info, -+ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT), -+ &tmp_connect_info_length, -+ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT), -+ &tmp_long, -+ (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT), -+ &tmp_longlong, -+ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT), -+ &key_str, (uint) (str->length() + 1), - NullS)) - ) { - my_error(HA_ERR_OUT_OF_MEM, MYF(0)); -diff --git a/storage/spider/spd_table.cc b/storage/spider/spd_table.cc -index 83c5a37555f..5bae895570d 100644 ---- a/storage/spider/spd_table.cc -+++ b/storage/spider/spd_table.cc -@@ -1209,8 +1209,8 @@ int spider_create_string_list( - - if (!(*string_list = (char**) - spider_bulk_malloc(spider_current_trx, 37, MYF(MY_WME | MY_ZEROFILL), -- string_list, sizeof(char*) * (*list_length), -- string_length_list, sizeof(int) * (*list_length), -+ string_list, (uint) (sizeof(char*) * (*list_length)), -+ string_length_list, (uint) (sizeof(int) * (*list_length)), - NullS)) - ) { - my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -1328,7 +1328,7 @@ int spider_create_long_list( - - if (!(*long_list = (long*) - spider_bulk_malloc(spider_current_trx, 38, MYF(MY_WME | MY_ZEROFILL), -- long_list, sizeof(long) * (*list_length), -+ long_list, (uint) (sizeof(long) * (*list_length)), - NullS)) - ) { - my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -1412,7 +1412,7 @@ int spider_create_longlong_list( - - if (!(*longlong_list = (longlong *) - spider_bulk_malloc(spider_current_trx, 39, MYF(MY_WME | MY_ZEROFILL), -- longlong_list, sizeof(longlong) * (*list_length), -+ longlong_list, (uint) (sizeof(longlong) * (*list_length)), - NullS)) - ) { - my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -1483,8 +1483,8 @@ int spider_increase_string_list( - - if (!(tmp_str_list = (char**) - spider_bulk_malloc(spider_current_trx, 40, MYF(MY_WME | MY_ZEROFILL), -- &tmp_str_list, sizeof(char*) * link_count, -- &tmp_length_list, sizeof(uint) * link_count, -+ &tmp_str_list, (uint) (sizeof(char*) * link_count), -+ &tmp_length_list, (uint) (sizeof(uint) * link_count), - NullS)) - ) { - my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -1546,8 +1546,8 @@ int spider_increase_null_string_list( - - if (!(tmp_str_list = (char**) - spider_bulk_malloc(spider_current_trx, 247, MYF(MY_WME | MY_ZEROFILL), -- &tmp_str_list, sizeof(char*) * link_count, -- &tmp_length_list, sizeof(uint) * link_count, -+ &tmp_str_list, (uint) (sizeof(char*) * link_count), -+ &tmp_length_list, (uint) (sizeof(uint) * link_count), - NullS)) - ) { - my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -1604,7 +1604,7 @@ int spider_increase_long_list( - - if (!(tmp_long_list = (long*) - spider_bulk_malloc(spider_current_trx, 41, MYF(MY_WME | MY_ZEROFILL), -- &tmp_long_list, sizeof(long) * link_count, -+ &tmp_long_list, (uint) (sizeof(long) * link_count), - NullS)) - ) { - my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -1649,7 +1649,7 @@ int spider_increase_longlong_list( - - if (!(tmp_longlong_list = (longlong*) - spider_bulk_malloc(spider_current_trx, 42, MYF(MY_WME | MY_ZEROFILL), -- &tmp_longlong_list, sizeof(longlong) * link_count, -+ &tmp_longlong_list, (uint) (sizeof(longlong) * link_count), - NullS)) - ) { - my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -2972,17 +2972,17 @@ int spider_parse_connect_info( - if (!(share_alter->tmp_server_names = (char **) - spider_bulk_malloc(spider_current_trx, 43, MYF(MY_WME | MY_ZEROFILL), - &share_alter->tmp_server_names, -- sizeof(char *) * 16 * share->all_link_count, -+ (uint) (sizeof(char *) * 16 * share->all_link_count), - &share_alter->tmp_server_names_lengths, -- sizeof(uint *) * 16 * share->all_link_count, -+ (uint) (sizeof(uint *) * 16 * share->all_link_count), - &share_alter->tmp_tgt_ports, -- sizeof(long) * share->all_link_count, -+ (uint) (sizeof(long) * share->all_link_count), - &share_alter->tmp_tgt_ssl_vscs, -- sizeof(long) * share->all_link_count, -+ (uint) (sizeof(long) * share->all_link_count), - &share_alter->tmp_monitoring_binlog_pos_at_failing, -- sizeof(long) * share->all_link_count, -+ (uint) (sizeof(long) * share->all_link_count), - &share_alter->tmp_link_statuses, -- sizeof(long) * share->all_link_count, -+ (uint) (sizeof(long) * share->all_link_count), - NullS)) - ) { - error_num = HA_ERR_OUT_OF_MEM; -@@ -4383,13 +4383,17 @@ SPIDER_SHARE *spider_create_share( - bitmap_size = spider_bitmap_size(table_share->fields); - if (!(share = (SPIDER_SHARE *) - spider_bulk_malloc(spider_current_trx, 46, MYF(MY_WME | MY_ZEROFILL), -- &share, sizeof(*share), -- &tmp_name, length + 1, -- &tmp_static_key_cardinality, sizeof(*tmp_static_key_cardinality) * table_share->keys, -- &tmp_cardinality, sizeof(*tmp_cardinality) * table_share->fields, -- &tmp_cardinality_upd, sizeof(*tmp_cardinality_upd) * bitmap_size, -- &tmp_table_mon_mutex_bitmap, sizeof(*tmp_table_mon_mutex_bitmap) * -- ((spider_param_udf_table_mon_mutex_count() + 7) / 8), -+ &share, (uint) (sizeof(*share)), -+ &tmp_name, (uint) (length + 1), -+ &tmp_static_key_cardinality, -+ (uint) (sizeof(*tmp_static_key_cardinality) * table_share->keys), -+ &tmp_cardinality, -+ (uint) (sizeof(*tmp_cardinality) * table_share->fields), -+ &tmp_cardinality_upd, -+ (uint) (sizeof(*tmp_cardinality_upd) * bitmap_size), -+ &tmp_table_mon_mutex_bitmap, -+ (uint) (sizeof(*tmp_table_mon_mutex_bitmap) * -+ ((spider_param_udf_table_mon_mutex_count() + 7) / 8)), - NullS)) - ) { - *error_num = HA_ERR_OUT_OF_MEM; -@@ -5907,8 +5911,8 @@ SPIDER_LGTM_TBLHND_SHARE *spider_get_lgtm_tblhnd_share( - DBUG_PRINT("info",("spider create new lgtm tblhnd share")); - if (!(lgtm_tblhnd_share = (SPIDER_LGTM_TBLHND_SHARE *) - spider_bulk_malloc(spider_current_trx, 244, MYF(MY_WME | MY_ZEROFILL), -- &lgtm_tblhnd_share, sizeof(*lgtm_tblhnd_share), -- &tmp_name, table_name_length + 1, -+ &lgtm_tblhnd_share, (uint) (sizeof(*lgtm_tblhnd_share)), -+ &tmp_name, (uint) (table_name_length + 1), - NullS)) - ) { - *error_num = HA_ERR_OUT_OF_MEM; -@@ -6017,9 +6021,10 @@ SPIDER_PARTITION_SHARE *spider_get_pt_share( - DBUG_PRINT("info",("spider create new pt share")); - if (!(partition_share = (SPIDER_PARTITION_SHARE *) - spider_bulk_malloc(spider_current_trx, 51, MYF(MY_WME | MY_ZEROFILL), -- &partition_share, sizeof(*partition_share), -- &tmp_name, table_share->path.length + 1, -- &tmp_cardinality, sizeof(*tmp_cardinality) * table_share->fields, -+ &partition_share, (uint) (sizeof(*partition_share)), -+ &tmp_name, (uint) (table_share->path.length + 1), -+ &tmp_cardinality, -+ (uint) (sizeof(*tmp_cardinality) * table_share->fields), - NullS)) - ) { - *error_num = HA_ERR_OUT_OF_MEM; -@@ -6395,15 +6400,18 @@ int spider_open_all_tables( - - if (!(share = (SPIDER_SHARE *) - spider_bulk_malloc(spider_current_trx, 52, MYF(MY_WME | MY_ZEROFILL), -- &share, sizeof(*share), -- &connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT, -- &connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT, -- &long_info, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT, -- &longlong_info, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT, -- &conns, sizeof(SPIDER_CONN *), -- &need_mon, sizeof(int), -- &spider->conn_link_idx, sizeof(uint), -- &spider->conn_can_fo, sizeof(uchar), -+ &share, (uint) (sizeof(*share)), -+ &connect_info, -+ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT), -+ &connect_info_length, -+ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT), -+ &long_info, (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT), -+ &longlong_info, -+ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT), -+ &conns, (uint) (sizeof(SPIDER_CONN *)), -+ &need_mon, (uint) (sizeof(int)), -+ &spider->conn_link_idx, (uint) (sizeof(uint)), -+ &spider->conn_can_fo, (uint) (sizeof(uchar)), - NullS)) - ) { - delete spider; -@@ -7204,12 +7212,12 @@ int spider_db_init( - - if (!(spider_udf_table_mon_mutexes = (pthread_mutex_t *) - spider_bulk_malloc(NULL, 53, MYF(MY_WME | MY_ZEROFILL), -- &spider_udf_table_mon_mutexes, sizeof(pthread_mutex_t) * -- spider_param_udf_table_mon_mutex_count(), -- &spider_udf_table_mon_conds, sizeof(pthread_cond_t) * -- spider_param_udf_table_mon_mutex_count(), -- &spider_udf_table_mon_list_hash, sizeof(HASH) * -- spider_param_udf_table_mon_mutex_count(), -+ &spider_udf_table_mon_mutexes, (uint) (sizeof(pthread_mutex_t) * -+ spider_param_udf_table_mon_mutex_count()), -+ &spider_udf_table_mon_conds, (uint) (sizeof(pthread_cond_t) * -+ spider_param_udf_table_mon_mutex_count()), -+ &spider_udf_table_mon_list_hash, (uint) (sizeof(HASH) * -+ spider_param_udf_table_mon_mutex_count()), - NullS)) - ) - goto error_alloc_mon_mutxes; -@@ -7258,10 +7266,10 @@ int spider_db_init( - #ifndef WITHOUT_SPIDER_BG_SEARCH - if (!(spider_table_sts_threads = (SPIDER_THREAD *) - spider_bulk_malloc(NULL, 256, MYF(MY_WME | MY_ZEROFILL), -- &spider_table_sts_threads, sizeof(SPIDER_THREAD) * -- spider_param_table_sts_thread_count(), -- &spider_table_crd_threads, sizeof(SPIDER_THREAD) * -- spider_param_table_crd_thread_count(), -+ &spider_table_sts_threads, (uint) (sizeof(SPIDER_THREAD) * -+ spider_param_table_sts_thread_count()), -+ &spider_table_crd_threads, (uint) (sizeof(SPIDER_THREAD) * -+ spider_param_table_crd_thread_count()), - NullS)) - ) - goto error_alloc_mon_mutxes; -@@ -7968,8 +7976,8 @@ SPIDER_INIT_ERROR_TABLE *spider_get_init_error_table( - } - if (!(spider_init_error_table = (SPIDER_INIT_ERROR_TABLE *) - spider_bulk_malloc(spider_current_trx, 54, MYF(MY_WME | MY_ZEROFILL), -- &spider_init_error_table, sizeof(*spider_init_error_table), -- &tmp_name, share->table_name_length + 1, -+ &spider_init_error_table, (uint) (sizeof(*spider_init_error_table)), -+ &tmp_name, (uint) (share->table_name_length + 1), - NullS)) - ) { - pthread_mutex_unlock(&spider_init_error_tbl_mutex); -@@ -9551,25 +9559,25 @@ int spider_create_spider_object_for_share( - #if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET) - if (!(need_mons = (int *) - spider_bulk_malloc(spider_current_trx, 255, MYF(MY_WME | MY_ZEROFILL), -- &need_mons, (sizeof(int) * share->link_count), -- &conns, (sizeof(SPIDER_CONN *) * share->link_count), -- &conn_link_idx, (sizeof(uint) * share->link_count), -- &conn_can_fo, (sizeof(uchar) * share->link_bitmap_size), -- &conn_keys, (sizeof(char *) * share->link_count), -- &hs_r_conn_keys, (sizeof(char *) * share->link_count), -- &hs_w_conn_keys, (sizeof(char *) * share->link_count), -- &dbton_hdl, (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE), -+ &need_mons, (uint) (sizeof(int) * share->link_count), -+ &conns, (uint) (sizeof(SPIDER_CONN *) * share->link_count), -+ &conn_link_idx, (uint) (sizeof(uint) * share->link_count), -+ &conn_can_fo, (uint) (sizeof(uchar) * share->link_bitmap_size), -+ &conn_keys, (uint) (sizeof(char *) * share->link_count), -+ &hs_r_conn_keys, (uint) (sizeof(char *) * share->link_count), -+ &hs_w_conn_keys, (uint) (sizeof(char *) * share->link_count), -+ &dbton_hdl, (uint) (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE), - NullS)) - ) - #else - if (!(need_mons = (int *) - spider_bulk_malloc(spider_current_trx, 255, MYF(MY_WME | MY_ZEROFILL), -- &need_mons, (sizeof(int) * share->link_count), -- &conns, (sizeof(SPIDER_CONN *) * share->link_count), -- &conn_link_idx, (sizeof(uint) * share->link_count), -- &conn_can_fo, (sizeof(uchar) * share->link_bitmap_size), -- &conn_keys, (sizeof(char *) * share->link_count), -- &dbton_hdl, (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE), -+ &need_mons, (uint) (sizeof(int) * share->link_count), -+ &conns, (uint) (sizeof(SPIDER_CONN *) * share->link_count), -+ &conn_link_idx, (uint) (sizeof(uint) * share->link_count), -+ &conn_can_fo, (uint) (sizeof(uchar) * share->link_bitmap_size), -+ &conn_keys, (uint) (sizeof(char *) * share->link_count), -+ &dbton_hdl, (uint) (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE), - NullS)) - ) - #endif -diff --git a/storage/spider/spd_trx.cc b/storage/spider/spd_trx.cc -index bb9f11793cb..1638533eca1 100644 ---- a/storage/spider/spd_trx.cc -+++ b/storage/spider/spd_trx.cc -@@ -548,81 +548,90 @@ int spider_create_trx_alter_table( - - if (!(alter_table = (SPIDER_ALTER_TABLE *) - spider_bulk_malloc(spider_current_trx, 55, MYF(MY_WME | MY_ZEROFILL), -- &alter_table, sizeof(*alter_table), -- &tmp_name, sizeof(char) * (share->table_name_length + 1), -- -- &tmp_server_names, sizeof(char *) * share->all_link_count, -- &tmp_tgt_table_names, sizeof(char *) * share->all_link_count, -- &tmp_tgt_dbs, sizeof(char *) * share->all_link_count, -- &tmp_tgt_hosts, sizeof(char *) * share->all_link_count, -- &tmp_tgt_usernames, sizeof(char *) * share->all_link_count, -- &tmp_tgt_passwords, sizeof(char *) * share->all_link_count, -- &tmp_tgt_sockets, sizeof(char *) * share->all_link_count, -- &tmp_tgt_wrappers, sizeof(char *) * share->all_link_count, -- &tmp_tgt_ssl_cas, sizeof(char *) * share->all_link_count, -- &tmp_tgt_ssl_capaths, sizeof(char *) * share->all_link_count, -- &tmp_tgt_ssl_certs, sizeof(char *) * share->all_link_count, -- &tmp_tgt_ssl_ciphers, sizeof(char *) * share->all_link_count, -- &tmp_tgt_ssl_keys, sizeof(char *) * share->all_link_count, -- &tmp_tgt_default_files, sizeof(char *) * share->all_link_count, -- &tmp_tgt_default_groups, sizeof(char *) * share->all_link_count, -- &tmp_static_link_ids, sizeof(char *) * share->all_link_count, -- -- &tmp_server_names_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_table_names_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_dbs_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_hosts_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_usernames_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_passwords_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_sockets_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_wrappers_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_ssl_cas_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_ssl_capaths_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_ssl_certs_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_ssl_ciphers_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_ssl_keys_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_default_files_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_default_groups_lengths, sizeof(uint) * share->all_link_count, -- &tmp_static_link_ids_lengths, sizeof(uint) * share->all_link_count, -- -- &tmp_tgt_ports, sizeof(long) * share->all_link_count, -- &tmp_tgt_ssl_vscs, sizeof(long) * share->all_link_count, -+ &alter_table, (uint) (sizeof(*alter_table)), -+ &tmp_name, (uint) (sizeof(char) * (share->table_name_length + 1)), -+ -+ &tmp_server_names, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_table_names, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_dbs, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_hosts, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_usernames, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_passwords, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_sockets, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_wrappers, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_ssl_cas, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_ssl_capaths, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_ssl_certs, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_ssl_ciphers, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_ssl_keys, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_default_files, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_default_groups, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_static_link_ids, (uint) (sizeof(char *) * share->all_link_count), -+ -+ &tmp_server_names_lengths, (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_table_names_lengths, -+ (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_dbs_lengths, (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_hosts_lengths, (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_usernames_lengths, -+ (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_passwords_lengths, -+ (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_sockets_lengths, (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_wrappers_lengths, (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_ssl_cas_lengths, (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_ssl_capaths_lengths, -+ (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_ssl_certs_lengths, -+ (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_ssl_ciphers_lengths, -+ (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_ssl_keys_lengths, (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_default_files_lengths, -+ (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_default_groups_lengths, -+ (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_static_link_ids_lengths, -+ (uint) (sizeof(uint) * share->all_link_count), -+ -+ &tmp_tgt_ports, (uint) (sizeof(long) * share->all_link_count), -+ &tmp_tgt_ssl_vscs, (uint) (sizeof(long) * share->all_link_count), - &tmp_monitoring_binlog_pos_at_failing, -- sizeof(long) * share->all_link_count, -- &tmp_link_statuses, sizeof(long) * share->all_link_count, -- -- &tmp_server_names_char, sizeof(char) * -- (share_alter->tmp_server_names_charlen + 1), -- &tmp_tgt_table_names_char, sizeof(char) * -- (share_alter->tmp_tgt_table_names_charlen + 1), -- &tmp_tgt_dbs_char, sizeof(char) * -- (share_alter->tmp_tgt_dbs_charlen + 1), -- &tmp_tgt_hosts_char, sizeof(char) * -- (share_alter->tmp_tgt_hosts_charlen + 1), -- &tmp_tgt_usernames_char, sizeof(char) * -- (share_alter->tmp_tgt_usernames_charlen + 1), -- &tmp_tgt_passwords_char, sizeof(char) * -- (share_alter->tmp_tgt_passwords_charlen + 1), -- &tmp_tgt_sockets_char, sizeof(char) * -- (share_alter->tmp_tgt_sockets_charlen + 1), -- &tmp_tgt_wrappers_char, sizeof(char) * -- (share_alter->tmp_tgt_wrappers_charlen + 1), -- &tmp_tgt_ssl_cas_char, sizeof(char) * -- (share_alter->tmp_tgt_ssl_cas_charlen + 1), -- &tmp_tgt_ssl_capaths_char, sizeof(char) * -- (share_alter->tmp_tgt_ssl_capaths_charlen + 1), -- &tmp_tgt_ssl_certs_char, sizeof(char) * -- (share_alter->tmp_tgt_ssl_certs_charlen + 1), -- &tmp_tgt_ssl_ciphers_char, sizeof(char) * -- (share_alter->tmp_tgt_ssl_ciphers_charlen + 1), -- &tmp_tgt_ssl_keys_char, sizeof(char) * -- (share_alter->tmp_tgt_ssl_keys_charlen + 1), -- &tmp_tgt_default_files_char, sizeof(char) * -- (share_alter->tmp_tgt_default_files_charlen + 1), -- &tmp_tgt_default_groups_char, sizeof(char) * -- (share_alter->tmp_tgt_default_groups_charlen + 1), -- &tmp_static_link_ids_char, sizeof(char) * -- (share_alter->tmp_static_link_ids_charlen + 1), -+ (uint) (sizeof(long) * share->all_link_count), -+ &tmp_link_statuses, (uint) (sizeof(long) * share->all_link_count), -+ -+ &tmp_server_names_char, (uint) (sizeof(char) * -+ (share_alter->tmp_server_names_charlen + 1)), -+ &tmp_tgt_table_names_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_table_names_charlen + 1)), -+ &tmp_tgt_dbs_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_dbs_charlen + 1)), -+ &tmp_tgt_hosts_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_hosts_charlen + 1)), -+ &tmp_tgt_usernames_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_usernames_charlen + 1)), -+ &tmp_tgt_passwords_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_passwords_charlen + 1)), -+ &tmp_tgt_sockets_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_sockets_charlen + 1)), -+ &tmp_tgt_wrappers_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_wrappers_charlen + 1)), -+ &tmp_tgt_ssl_cas_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_ssl_cas_charlen + 1)), -+ &tmp_tgt_ssl_capaths_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_ssl_capaths_charlen + 1)), -+ &tmp_tgt_ssl_certs_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_ssl_certs_charlen + 1)), -+ &tmp_tgt_ssl_ciphers_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_ssl_ciphers_charlen + 1)), -+ &tmp_tgt_ssl_keys_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_ssl_keys_charlen + 1)), -+ &tmp_tgt_default_files_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_default_files_charlen + 1)), -+ &tmp_tgt_default_groups_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_default_groups_charlen + 1)), -+ &tmp_static_link_ids_char, (uint) (sizeof(char) * -+ (share_alter->tmp_static_link_ids_charlen + 1)), - NullS)) - ) { - error_num = HA_ERR_OUT_OF_MEM; -@@ -1200,10 +1209,10 @@ SPIDER_TRX *spider_get_trx( - DBUG_PRINT("info",("spider create new trx")); - if (!(trx = (SPIDER_TRX *) - spider_bulk_malloc(NULL, 56, MYF(MY_WME | MY_ZEROFILL), -- &trx, sizeof(*trx), -- &tmp_share, sizeof(SPIDER_SHARE), -- &udf_table_mutexes, sizeof(pthread_mutex_t) * -- spider_param_udf_table_lock_mutex_count(), -+ &trx, (uint) (sizeof(*trx)), -+ &tmp_share, (uint) (sizeof(SPIDER_SHARE)), -+ &udf_table_mutexes, (uint) (sizeof(pthread_mutex_t) * -+ spider_param_udf_table_lock_mutex_count()), - NullS)) - ) - goto error_alloc_trx; -@@ -4191,10 +4200,10 @@ int spider_create_trx_ha( - { - if (!(trx_ha = (SPIDER_TRX_HA *) - spider_bulk_malloc(spider_current_trx, 58, MYF(MY_WME), -- &trx_ha, sizeof(SPIDER_TRX_HA), -- &tmp_name, sizeof(char *) * (share->table_name_length + 1), -- &conn_link_idx, sizeof(uint) * share->link_count, -- &conn_can_fo, sizeof(uchar) * share->link_bitmap_size, -+ &trx_ha, (uint) (sizeof(SPIDER_TRX_HA)), -+ &tmp_name, (uint) (sizeof(char *) * (share->table_name_length + 1)), -+ &conn_link_idx, (uint) (sizeof(uint) * share->link_count), -+ &conn_can_fo, (uint) (sizeof(uchar) * share->link_bitmap_size), - NullS)) - ) { - DBUG_RETURN(HA_ERR_OUT_OF_MEM); --- -2.23.0 - diff --git a/mariadb.spec b/mariadb.spec index a6c7123..b9a06cf 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -216,8 +216,6 @@ Patch9: %{pkgnamepatch}-ownsetup.patch Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch # Patch11: Use PCDIR CMake option, if configured Patch11: %{pkgnamepatch}-pcdir.patch -# Patch13: Fix Spider code on armv7hl; https://jira.mariadb.org/browse/MDEV-18737 -Patch13: %{pkgnamepatch}-spider_on_armv7hl.patch # Patch15: Add option to edit groonga's and groonga-normalizer-mysql install path Patch15: %{pkgnamepatch}-groonga.patch # Patch16: Workaround for "chown 0" with priviledges dropped to "mysql" user @@ -752,7 +750,6 @@ rm -r storage/rocksdb/ %patch9 -p1 %patch10 -p1 %patch11 -p1 -#%patch13 -p1 %patch15 -p1 %patch16 -p1 From 14c9375f3f1608a328e4be00f8b7cbce4c530ec1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 2 Mar 2021 16:13:31 +0100 Subject: [PATCH 658/789] Rebuilt for updated systemd-rpm-macros See https://pagure.io/fesco/issue/2583. --- mariadb.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index b9a06cf..eeae6f7 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -158,7 +158,7 @@ Name: mariadb Version: 10.5.9 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1660,6 +1660,10 @@ fi %endif %changelog +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 3:10.5.9-2 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + * Wed Feb 24 2021 Michal Schorm - 10.5.9-1 - Rebase to 10.5.9 From d61a5d2f31b9965c2561608db9f79ed635d4e3ee Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 18 Mar 2021 03:10:06 +0100 Subject: [PATCH 659/789] Move bits around, have all service files stuff together Shouldn't bring any changes to functionality --- mariadb.spec | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index eeae6f7..85767b3 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -969,24 +969,31 @@ rm %{_vpath_builddir}/scripts/my.cnf # use different config file name for each variant of server (mariadb / mysql) mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf -# remove SysV init script and a symlink to that, we use systemd +# Remove upstream SysV init script and a symlink to that, we use systemd rm %{buildroot}%{_libexecdir}/rcmysql +# Remove upstream Systemd service files +# We don't use this location of service files +# Note: currently there still are "mariadb" named systemd service files on this location +rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/{mysql,mysqld}.service +# These may come handy in a future, but right now we use our own services +rm %{buildroot}/usr/lib/systemd/system/{mysql,mysqld}.service + # install systemd unit files and scripts for handling server startup install -D -p -m 644 %{_vpath_builddir}/scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service install -D -p -m 644 %{_vpath_builddir}/scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service -# Install downstream version of tmpfiles -install -D -p -m 0644 %{_vpath_builddir}/scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf -%if 0%{?mysqld_pid_dir:1} -echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf -%endif - # helper scripts for service starting install -p -m 755 %{_vpath_builddir}/scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir install -p -m 755 %{_vpath_builddir}/scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket install -p -m 755 %{_vpath_builddir}/scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade install -p -m 644 %{_vpath_builddir}/scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common +# Install downstream version of tmpfiles +install -D -p -m 0644 %{_vpath_builddir}/scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf +%if 0%{?mysqld_pid_dir:1} +echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf +%endif + # install aditional galera selinux policy %if %{with galera} install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp @@ -1045,12 +1052,6 @@ install -p -m 0644 %{SOURCE7} %{basename:%{SOURCE7}} install -p -m 0644 %{SOURCE16} %{basename:%{SOURCE16}} install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}} -# Delete upstreams service files -# We don't use this location of service files -rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/{mysql,mysqld}.service -# These may come handy in a future, but right now we use our own services -rm %{buildroot}/usr/lib/systemd/system/{mysql,mysqld}.service - # install galera config file %if %{with galera} sed -i -r 's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|' %{_vpath_builddir}/support-files/wsrep.cnf From 910309466e4dab68cdb008dfadfdf65757ff0f59 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 18 Mar 2021 03:18:43 +0100 Subject: [PATCH 660/789] Fix comment, use macro This obsoletes: https://src.fedoraproject.org/rpms/mariadb/pull-request/23 --- mariadb.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 85767b3..1fead95 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -975,8 +975,9 @@ rm %{buildroot}%{_libexecdir}/rcmysql # We don't use this location of service files # Note: currently there still are "mariadb" named systemd service files on this location rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/{mysql,mysqld}.service -# These may come handy in a future, but right now we use our own services -rm %{buildroot}/usr/lib/systemd/system/{mysql,mysqld}.service +# Our downstream Systemd service file have set aliases to the "mysql" names in the [Install] section. +# They can be enabled / disabled by "systemctl enable / diable " +rm %{buildroot}%{_unitdir}/{mysql,mysqld}.service # install systemd unit files and scripts for handling server startup install -D -p -m 644 %{_vpath_builddir}/scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service From c90aa83afe6b4af7e07fdacb9197bd77cbf643c5 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 18 Mar 2021 04:00:06 +0100 Subject: [PATCH 661/789] Remove the patch for the mysql_install_db script The patched piece of code was actually never executed, because of the following condition: "$in_rpm" -eq 0 However we call the script with the "--rpm" option from the Systemd service file: https://src.fedoraproject.org/rpms/mariadb/blob/rawhide/f/mysql-prepare-db-dir.sh#_100 --- mariadb-auth_pam_tool_dir.patch | 29 ----------------------------- mariadb.spec | 3 --- 2 files changed, 32 deletions(-) delete mode 100644 mariadb-auth_pam_tool_dir.patch diff --git a/mariadb-auth_pam_tool_dir.patch b/mariadb-auth_pam_tool_dir.patch deleted file mode 100644 index 6334812..0000000 --- a/mariadb-auth_pam_tool_dir.patch +++ /dev/null @@ -1,29 +0,0 @@ -This scirpt is ran by the systemd service. -In Fedora the service has priviledges dropped to the mysql user. -Thus "chown 0" will always fail - -Never parse 'ls' output! -http://mywiki.wooledge.org/BashFAQ/087 - ---- mariadb-10.4.12/scripts/mysql_install_db.sh 2020-01-26 21:43:53.000000000 +0100 -+++ mariadb-10.4.12/scripts/mysql_install_db.sh_patched 2020-01-29 11:11:09.448812331 +0100 -@@ -482,13 +482,16 @@ if test -n "$user" - then - if test -z "$srcdir" -a "$in_rpm" -eq 0 - then -- chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \ -- chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" -- if test $? -ne 0 -+ if [ `stat "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" -c %u` -ne 0 ] - then -+ chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \ -+ chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" -+ if test $? -ne 0 -+ then - echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'." - echo "It must be root, the PAM authentication plugin doesn't work otherwise.." - echo -+ fi - fi - chown $user "$pamtooldir/auth_pam_tool_dir" && \ - chmod 0700 "$pamtooldir/auth_pam_tool_dir" diff --git a/mariadb.spec b/mariadb.spec index 1fead95..2bbc648 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -218,8 +218,6 @@ Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch Patch11: %{pkgnamepatch}-pcdir.patch # Patch15: Add option to edit groonga's and groonga-normalizer-mysql install path Patch15: %{pkgnamepatch}-groonga.patch -# Patch16: Workaround for "chown 0" with priviledges dropped to "mysql" user -Patch16: %{pkgnamepatch}-auth_pam_tool_dir.patch BuildRequires: make BuildRequires: cmake gcc-c++ @@ -751,7 +749,6 @@ rm -r storage/rocksdb/ %patch10 -p1 %patch11 -p1 %patch15 -p1 -%patch16 -p1 # generate a list of tests that fail, but are not disabled by upstream cat %{SOURCE50} | tee -a mysql-test/unstable-tests From 51dee9887b9398bd3a9ca4806b4a923f518f00a8 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 17 Mar 2021 04:50:22 +0100 Subject: [PATCH 662/789] Fix file permissions for the PAMv2 authentication plugin Access to this SUID-to-root binary MUST be restricted. https://jira.mariadb.org/browse/MDEV-25126 --- mariadb.spec | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 2bbc648..e3887d6 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1435,10 +1435,7 @@ fi %dir %{_libdir}/%{pkg_name} %dir %{_libdir}/%{pkg_name}/plugin -# Change from root:root to mysql:mysql, so it can be accessed by the server -%attr(0755,mysql,mysql) %dir %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir -%{_libdir}/security/pam_user_map.so -%{_sysconfdir}/security/user_map.conf + %{_libdir}/%{pkg_name}/plugin/* %{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so} %{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so} @@ -1453,6 +1450,12 @@ fi %exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so %endif +%attr(0755,root,root) %dir %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir +# SUID-to-root binary. Access MUST be restricted (https://jira.mariadb.org/browse/MDEV-25126) +%attr(4750,root,mysql) %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir/auth_pam_tool +%{_libdir}/security/pam_user_map.so +%{_sysconfdir}/security/user_map.conf + %{_mandir}/man1/aria_{chk,dump_log,ftdump,pack,read_log}.1* %{_mandir}/man1/galera_new_cluster.1* %{_mandir}/man1/galera_recovery.1* From c356ff4717a895904b46479e4b0c1db1e9b78ab8 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 18 Mar 2021 04:20:34 +0100 Subject: [PATCH 663/789] Bump release for rebuild --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index e3887d6..ab5b012 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -158,7 +158,7 @@ Name: mariadb Version: 10.5.9 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1662,6 +1662,9 @@ fi %endif %changelog +* Thu Mar 18 2021 Michal Schorm - 10.5.9-3 +- Fixed permissions on files from PAMv2 plugin + * Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 3:10.5.9-2 - Rebuilt for updated systemd-rpm-macros See https://pagure.io/fesco/issue/2583. From 51cd6d3ae2be8c6fc5b495238569107cd3eb2b67 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 17 Mar 2021 05:16:47 +0100 Subject: [PATCH 664/789] Move PAM authentication plugin to a standalone sub-package, suggested by the server sub-package to minimize potential security risks to only to the users which will install this plugin. https://jira.mariadb.org/browse/MDEV-25126 --- mariadb.spec | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index ab5b012..b15a01f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -61,6 +61,9 @@ # hierarchies and more complex graph structures to be handled in a relational fashion %bcond_without oqgraph +# PAM authentication plugin +%bcond_without pam + # Other plugins # S3 storage engine # https://mariadb.com/kb/en/s3-storage-engine/ @@ -242,8 +245,6 @@ BuildRequires: bison bison-devel %{?with_debug:BuildRequires: valgrind-devel} -# auth_pam.so plugin will be build if pam-devel is installed -BuildRequires: pam-devel # use either new enough version of pcre2 or provide bundles(pcre2) %{?with_unbundled_pcre:BuildRequires: pcre2-devel >= 10.34 pkgconf} %{!?with_unbundled_pcre:Provides: bundled(pcre2) = %{pcre_bundled_version}} @@ -445,6 +446,7 @@ Recommends: %{name}-backup%{?_isa} = %{sameevr} %{?with_sphinx:Suggests: %{name}-sphinx-engine%{?_isa} = %{sameevr}} %{?with_oqgraph:Suggests: %{name}-oqgraph-engine%{?_isa} = %{sameevr}} %{?with_connect:Suggests: %{name}-connect-engine%{?_isa} = %{sameevr}} +%{?with_pam:Suggests: %{name}-pam%{?_isa} = %{sameevr}} Suggests: mytop Suggests: logrotate @@ -589,6 +591,21 @@ This plugin includes support for Kerberos on Unix. %endif +%if %{with pam} +%package pam +Summary: PAM authentication plugin for the MariaDB server + +Requires: %{name}-server%{?_isa} = %{sameevr} +# This subpackage NEED the 'mysql' user/group (created during mariadb-server %pre) to be available prior installation +Requires(pre): %{name}-server%{?_isa} = %{sameevr} + +BuildRequires: pam-devel + +%description pam +PAM authentication server-side plugin for MariaDB. +%endif + + %if %{with sphinx} %package sphinx-engine Summary: The Sphinx storage engine for MariaDB @@ -1450,11 +1467,10 @@ fi %exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so %endif -%attr(0755,root,root) %dir %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir -# SUID-to-root binary. Access MUST be restricted (https://jira.mariadb.org/browse/MDEV-25126) -%attr(4750,root,mysql) %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir/auth_pam_tool -%{_libdir}/security/pam_user_map.so -%{_sysconfdir}/security/user_map.conf +# PAM plugin; moved to a standalone sub-package +%exclude %{_libdir}/%{pkg_name}/plugin/{auth_pam_v1.so,auth_pam.so} +%exclude %dir %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir +%exclude %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir/auth_pam_tool %{_mandir}/man1/aria_{chk,dump_log,ftdump,pack,read_log}.1* %{_mandir}/man1/galera_new_cluster.1* @@ -1577,6 +1593,16 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf %endif +%if %{with pam} +%files pam +%{_libdir}/%{pkg_name}/plugin/{auth_pam_v1.so,auth_pam.so} +%attr(0755,root,root) %dir %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir +# SUID-to-root binary. Access MUST be restricted (https://jira.mariadb.org/browse/MDEV-25126) +%attr(4750,root,mysql) %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir/auth_pam_tool +%{_libdir}/security/pam_user_map.so +%{_sysconfdir}/security/user_map.conf +%endif + %if %{with sphinx} %files sphinx-engine %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so From e9fc8adf5d622c8c7895015a0dcb002d8aebce87 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 18 Mar 2021 05:51:13 +0100 Subject: [PATCH 665/789] Bump release for rebuild --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index b15a01f..68d2f34 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -161,7 +161,7 @@ Name: mariadb Version: 10.5.9 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1688,6 +1688,9 @@ fi %endif %changelog +* Thu Mar 18 2021 Michal Schorm - 10.5.9-4 +- Move PAM plugin to standalone subpackage + * Thu Mar 18 2021 Michal Schorm - 10.5.9-3 - Fixed permissions on files from PAMv2 plugin From 098e7899574db6e7e886ddd5057a817449d2e6f9 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 18 Mar 2021 03:44:27 +0100 Subject: [PATCH 666/789] Remove all upstream Systemd service files from the datadir --- Until now, we remove "mysql*" named upstream service files from the datadir, but leave the others. IMO we should either ship them all or remove them all. I see no benefit in keeping upstream service files, since they use different logic, capabilities, and starts scripts as root; unlike our downstream Systemd service files. --- mariadb.spec | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 68d2f34..3af4ce9 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -986,9 +986,7 @@ mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my. # Remove upstream SysV init script and a symlink to that, we use systemd rm %{buildroot}%{_libexecdir}/rcmysql # Remove upstream Systemd service files -# We don't use this location of service files -# Note: currently there still are "mariadb" named systemd service files on this location -rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/{mysql,mysqld}.service +rm -r %{buildroot}%{_datadir}/%{pkg_name}/systemd # Our downstream Systemd service file have set aliases to the "mysql" names in the [Install] section. # They can be enabled / disabled by "systemctl enable / diable " rm %{buildroot}%{_unitdir}/{mysql,mysqld}.service @@ -1404,7 +1402,6 @@ fi %{_bindir}/clustercheck %{_bindir}/galera_new_cluster %{_bindir}/galera_recovery -%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %config(noreplace) %{_sysconfdir}/my.cnf.d/galera.cnf %attr(0640,root,root) %ghost %config(noreplace) %{_sysconfdir}/sysconfig/clustercheck %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp @@ -1526,11 +1523,6 @@ fi %{_datadir}/%{pkg_name}/policy/selinux/README %{_datadir}/%{pkg_name}/policy/selinux/mariadb-server.* %{_datadir}/%{pkg_name}/policy/selinux/mariadb.* -%{_datadir}/%{pkg_name}/systemd/mariadb.service -# mariadb@ is installed only when we have cmake newer than 3.3 -%if 0%{?fedora} || 0%{?rhel} > 7 -%{_datadir}/%{pkg_name}/systemd/mariadb@.service -%endif %{_unitdir}/%{daemon_name}* %{?with_tokudb:%exclude %{_unitdir}/mariadb.service.d/tokudb.conf} From a5d57f35209c105ef3990f18005bae9582f342fa Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Tue, 30 Mar 2021 19:37:59 +0100 Subject: [PATCH 667/789] Rebuilt for removed libstdc++ symbol (#1937698) --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 3af4ce9..a5c106c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -161,7 +161,7 @@ Name: mariadb Version: 10.5.9 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1680,6 +1680,9 @@ fi %endif %changelog +* Tue Mar 30 2021 Jonathan Wakely - 3:10.5.9-5 +- Rebuilt for removed libstdc++ symbol (#1937698) + * Thu Mar 18 2021 Michal Schorm - 10.5.9-4 - Move PAM plugin to standalone subpackage From 939918b1e0d99f5d7ef4aebe8ce7321d740c6b58 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 2 May 2021 15:17:53 +0200 Subject: [PATCH 668/789] Fix package Conflicts on other OS than Fedora The "community-mysql" packgae is named just "mysql" on RHEL & CentOS --- mariadb.spec | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index a5c106c..5b81782 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -319,7 +319,7 @@ Provides: mysql-compat-client%{?_isa} = %{sameevr} Suggests: %{name}-server%{?_isa} = %{sameevr} -Conflicts: community-mysql +Conflicts: %{?fedora:community-}mysql # Filtering: https://docs.fedoraproject.org/en-US/packaging-guidelines/AutoProvidesAndRequiresFiltering/ %global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::|wsrep) @@ -477,7 +477,7 @@ Provides: mysql-server%{?_isa} = %{sameevr} Provides: mysql-compat-server = %{sameevr} Provides: mysql-compat-server%{?_isa} = %{sameevr} %endif -Conflicts: community-mysql-server +Conflicts: %{?fedora:community-}mysql-server # Bench subpackage has been deprecated in F32 Obsoletes: %{name}-bench <= %{sameevr} @@ -638,7 +638,7 @@ Requires: %{name}-server%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-perl = %{sameevr} %endif -Conflicts: community-mysql-server +Conflicts: %{?fedora:community-}mysql-server # mysqlhotcopy needs DBI/DBD support Requires: perl(DBI) perl(DBD::MariaDB) @@ -660,7 +660,7 @@ Requires: mariadb-connector-c-devel >= 3.0 Provides: mysql-devel = %{sameevr} Provides: mysql-devel%{?_isa} = %{sameevr} %endif -Conflicts: community-mysql-devel +Conflicts: %{?fedora:community-}mysql-devel %description devel MariaDB is a multi-user, multi-threaded SQL database server. @@ -703,7 +703,7 @@ Requires: libaio-devel Provides: mysql-embedded-devel = %{sameevr} Provides: mysql-embedded-devel%{?_isa} = %{sameevr} %endif -Conflicts: community-mysql-embedded-devel +Conflicts: %{?fedora:community-}mysql-embedded-devel %description embedded-devel MariaDB is a multi-user, multi-threaded SQL database server. @@ -731,7 +731,7 @@ Requires: perl(Socket) Requires: perl(Sys::Hostname) Requires: perl(Test::More) Requires: perl(Time::HiRes) -Conflicts: community-mysql-test +Conflicts: %{?fedora:community-}mysql-test %if %{with mysql_names} Provides: mysql-test = %{sameevr} Provides: mysql-test%{?_isa} = %{sameevr} From b84b8cfc8cce2ebcc86ad998a9d3fb04ab5e2c30 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 11 May 2021 05:09:46 +0200 Subject: [PATCH 669/789] Rebase to 10.5.10 --- mariadb.spec | 10 ++++++---- sources | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 5b81782..a8c0c09 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -15,7 +15,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.5.9 +%global last_tested_version 10.5.10 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -160,8 +160,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.9 -Release: 5%{?with_debug:.debug}%{?dist} +Version: 10.5.10 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1501,7 +1501,6 @@ fi %{_datadir}/%{pkg_name}/mysql_system_tables.sql %{_datadir}/%{pkg_name}/mysql_system_tables_data.sql %{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql -%{_datadir}/%{pkg_name}/mysql_to_mariadb.sql %{_datadir}/%{pkg_name}/mysql_performance_tables.sql %{_datadir}/%{pkg_name}/mysql_test_db.sql %if %{with mroonga} @@ -1680,6 +1679,9 @@ fi %endif %changelog +* Tue May 11 2021 Michal Schorm - 10.5.10-1 +- Rebase to 10.5.10 + * Tue Mar 30 2021 Jonathan Wakely - 3:10.5.9-5 - Rebuilt for removed libstdc++ symbol (#1937698) diff --git a/sources b/sources index 06e3259..e575cd4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.9.tar.gz) = d23d5bf8510b3c36a6521fb3244cf323ef0f5d100ba379ed7b5bbc2acae1765a5b46c17bd929f0b27b28923eb1b5975314abdf7ffb96905cf7a93a5c8837294e +SHA512 (mariadb-10.5.10.tar.gz) = 93dd1405f8b31989e130dee5b7d4a0b447aa0e017fb9ee02c792c52142d84d1103e8fd591101d72deda1ac65b10c48053582f6e61bd1757e6aa92e42d98c56cd From 8a01c71407a531e99229a6219b31e959c179efd7 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Wed, 21 Apr 2021 17:50:07 +1000 Subject: [PATCH 670/789] README.mariadb-docs to refer to MariaDB documentation MariaDB has its own documentation and refering to MySQL documentation may mislead users. --- README.mariadb-docs | 9 +++++++++ README.mysql-docs | 4 ---- 2 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 README.mariadb-docs delete mode 100644 README.mysql-docs diff --git a/README.mariadb-docs b/README.mariadb-docs new file mode 100644 index 0000000..bff53eb --- /dev/null +++ b/README.mariadb-docs @@ -0,0 +1,9 @@ +MariaDB haven't yet made a document package available for offline. + +You can create your own copy with the instructions here: + +https://mariadb.com/kb/en/meta/mirroring-the-mariadb-knowledge-base/ + +You can find view the on-line documentation at: + +https://mariadb.com/kb/en/documentation/ diff --git a/README.mysql-docs b/README.mysql-docs deleted file mode 100644 index dd894a7..0000000 --- a/README.mysql-docs +++ /dev/null @@ -1,4 +0,0 @@ -The official MySQL documentation is not freely redistributable, so we cannot -include it in RHEL or Fedora. You can find it on-line at - -http://dev.mysql.com/doc/ From 00056934fb9ae670a02a9931bc9ab52554d30653 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Wed, 21 Apr 2021 18:02:06 +1000 Subject: [PATCH 671/789] Drop README.mysql-license, there are no exceptions MariaDB has LGPL-2.1 for the licensing of Connector/C This is the submodule in libmariadb on the server repository from which the client libraries are built. ref: https://github.com/mariadb-corporation/mariadb-connector-c From upstream: https://github.com/MariaDB/server/commit/e4da179b0352eb6a74c8c2ccf6173b171f7761a1 --- README.mysql-license | 9 --------- mariadb.spec | 5 +---- 2 files changed, 1 insertion(+), 13 deletions(-) delete mode 100644 README.mysql-license diff --git a/README.mysql-license b/README.mysql-license deleted file mode 100644 index ceabbcf..0000000 --- a/README.mysql-license +++ /dev/null @@ -1,9 +0,0 @@ -MySQL is distributed under GPL v2, but there are some licensing exceptions -that allow the client libraries to be linked with a non-GPL application, -so long as the application is under a license approved by Oracle. -For details see - -http://www.mysql.com/about/legal/licensing/foss-exception/ - -Some innobase code from Percona and Google is under BSD license. -Some code related to test-suite is under LGPLv2. diff --git a/mariadb.spec b/mariadb.spec index a8c0c09..fbecf88 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -166,14 +166,12 @@ Epoch: 3 Summary: A very fast and robust SQL database server URL: http://mariadb.org -# Exceptions allow client libraries to be linked with most open source SW, not only GPL code. See README.mysql-license -License: GPLv2 with exceptions and LGPLv2 and BSD +License: GPLv2 and LGPLv2 Source0: https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz Source2: mysql_config_multilib.sh Source3: my.cnf.in Source6: README.mysql-docs -Source7: README.mysql-license Source10: mysql.tmpfiles.d.in Source11: mysql.service.in Source12: mysql-prepare-db-dir.sh @@ -1061,7 +1059,6 @@ ln -s %{_libexecdir}/mariadbd %{buildroot}%{_sbindir}/mariadbd # copy additional docs into build tree so %%doc will find them install -p -m 0644 %{SOURCE6} %{basename:%{SOURCE6}} -install -p -m 0644 %{SOURCE7} %{basename:%{SOURCE7}} install -p -m 0644 %{SOURCE16} %{basename:%{SOURCE16}} install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}} From df76620f9e8a9b3f14da8a615050feeac2c62e26 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Wed, 21 Apr 2021 18:30:46 +1000 Subject: [PATCH 672/789] rename mysql scripts to mariadb Use mariadb names in the scripts too. --- ...check-socket.sh => mariadb-check-socket.sh | 6 ++-- ...eck-upgrade.sh => mariadb-check-upgrade.sh | 14 ++++---- ...are-db-dir.sh => mariadb-prepare-db-dir.sh | 6 ++-- ...pts-common.sh => mariadb-scripts-common.sh | 14 ++++---- mariadb-scripts.patch | 10 +++--- mariadb.rpmlintrc | 4 +-- mariadb.spec | 32 +++++++++---------- mysql.tmpfiles.d.in => mariadb.tmpfiles.d.in | 0 mysql.service.in | 12 +++---- mysql@.service.in | 12 +++---- 10 files changed, 55 insertions(+), 55 deletions(-) rename mysql-check-socket.sh => mariadb-check-socket.sh (80%) rename mysql-check-upgrade.sh => mariadb-check-upgrade.sh (68%) rename mysql-prepare-db-dir.sh => mariadb-prepare-db-dir.sh (95%) rename mysql-scripts-common.sh => mariadb-scripts-common.sh (84%) rename mysql.tmpfiles.d.in => mariadb.tmpfiles.d.in (100%) diff --git a/mysql-check-socket.sh b/mariadb-check-socket.sh similarity index 80% rename from mysql-check-socket.sh rename to mariadb-check-socket.sh index 407523f..51a7e43 100644 --- a/mysql-check-socket.sh +++ b/mariadb-check-socket.sh @@ -5,7 +5,7 @@ # positive result when starting and mysqld_safe could remove # a socket file, which is actually being used by a different daemon. -source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" +source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" if test -e "$socketfile" ; then echo "Socket file $socketfile exists." >&2 @@ -25,9 +25,9 @@ if test -e "$socketfile" ; then fi # some process uses the socket file - response=`@bindir@/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER --connect-timeout="${CHECKSOCKETTIMEOUT:-10}" ping 2>&1` + response=`@bindir@/mariadb-admin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER --connect-timeout="${CHECKSOCKETTIMEOUT:-10}" ping 2>&1` if [ $? -eq 0 ] || echo "$response" | grep -q "Access denied for user" ; then - echo "Is another MySQL daemon already running with the same unix socket?" >&2 + echo "Is another MariaDB daemon already running with the same unix socket?" >&2 echo "Please, stop the process using the socket $socketfile or remove the file manually to start the service." >&2 exit 1 fi diff --git a/mysql-check-upgrade.sh b/mariadb-check-upgrade.sh similarity index 68% rename from mysql-check-upgrade.sh rename to mariadb-check-upgrade.sh index 1bfd3bc..fe95544 100644 --- a/mysql-check-upgrade.sh +++ b/mariadb-check-upgrade.sh @@ -1,6 +1,6 @@ #!/bin/sh -source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" +source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" upgrade_info_file="$datadir/mysql_upgrade_info" version=0 @@ -25,14 +25,14 @@ if [ $version -ne $thisversion ] ; then fi cat <&2 -The datadir located at $datadir needs to be upgraded using 'mysql_upgrade' tool. This can be done using the following steps: +The datadir located at $datadir needs to be upgraded using 'mariadb-upgrade' tool. This can be done using the following steps: - 1. Back-up your data before with 'mysql_upgrade' - 2. Start the database daemon using 'service @DAEMON_NAME@ start' - 3. Run 'mysql_upgrade' with a database user that has sufficient privileges + 1. Back-up your data before with 'mariadb-upgrade' + 2. Start the database daemon using 'systemctl start @DAEMON_NAME@.service' + 3. Run 'mariadb-upgrade' with a database user that has sufficient privileges -Read more about 'mysql_upgrade' usage at: -https://mariadb.com/kb/en/mariadb/documentation/sql-commands/table-commands/mysql_upgrade/ +Read more about 'mariadb-upgrade' usage at: +https://mariadb.com/kb/en/mysql_upgrade/ EOF fi diff --git a/mysql-prepare-db-dir.sh b/mariadb-prepare-db-dir.sh similarity index 95% rename from mysql-prepare-db-dir.sh rename to mariadb-prepare-db-dir.sh index a82479f..cccfe96 100644 --- a/mysql-prepare-db-dir.sh +++ b/mariadb-prepare-db-dir.sh @@ -1,9 +1,9 @@ #!/bin/sh -# This script creates the mysql data directory during first service start. +# This script creates the MariaDB data directory during first service start. # In subsequent starts, it does nothing much. -source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" +source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" export LC_ALL=C @@ -97,7 +97,7 @@ if should_initialize "$datadir" ; then # https://bugzilla.redhat.com/show_bug.cgi?id=1335849#c19 INITDB_TIMESTAMP=`LANG=C date -u` sleep 1 - @bindir@/mysql_install_db --rpm --datadir="$datadir" --user="$myuser" --skip-test-db >&2 + @bindir@/mariadb-install-db --rpm --datadir="$datadir" --user="$myuser" --skip-test-db >&2 ret=$? if [ $ret -ne 0 ] ; then echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2 diff --git a/mysql-scripts-common.sh b/mariadb-scripts-common.sh similarity index 84% rename from mysql-scripts-common.sh rename to mariadb-scripts-common.sh index e270433..8af7c58 100644 --- a/mysql-scripts-common.sh +++ b/mariadb-scripts-common.sh @@ -1,11 +1,11 @@ #!/bin/sh -# Some useful functions used in other MySQL helper scripts +# Some useful functions used in other MariaDB helper scripts # This scripts defines variables datadir, errlogfile, socketfile export LC_ALL=C -# extract value of a MySQL option from config files +# extract value of a MariaDB option from config files # Usage: get_mysql_option VARNAME DEFAULT SECTION [ SECTION, ... ] # result is returned in $result # We use my_print_defaults which prints all options from multiple files, @@ -25,7 +25,7 @@ get_mysql_option(){ fi } -# For the case of running more instances via systemd, scrits that source +# For the case of running more instances via systemd, scripts that source # this file can get --default-group-suffix or similar option as the first # argument. The utility my_print_defaults needs to use it as well, so the # scripts sourcing this file work with the same options as the daemon. @@ -35,17 +35,17 @@ while echo "$1" | grep -q '^--defaults' ; do shift done -# Defaults here had better match what mysqld_safe will default to +# Defaults here had better match what mariadbd-safe will default to # The option values are generally defined on three important places # on the default installation: -# 1) default values are hardcoded in the code of mysqld daemon or -# mysqld_safe script +# 1) default values are hardcoded in the code of mariadbd daemon or +# mariadbd-safe script # 2) configurable values are defined in @sysconfdir@/my.cnf # 3) default values for helper scripts are specified bellow # So, in case values are defined in my.cnf, we need to get that value. # In case they are not defined in my.cnf, we need to get the same value # in the daemon, as in the helper scripts. Thus, default values here -# must correspond with values defined in mysqld_safe script and source +# must correspond with values defined in mariadbd-safe script and source # code itself. server_sections="mysqld_safe mysqld server mysqld-@MAJOR_VERSION@.@MINOR_VERSION@ mariadb mariadb-@MAJOR_VERSION@.@MINOR_VERSION@ client-server" diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index 74914b1..3b6dc16 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -11,13 +11,13 @@ be expanded by cmake. Cmake needs to know about them, so adding them manually. + + # files for systemd + SET(SYSTEMD_SCRIPTS -+ mysql.tmpfiles.d ++ mariadb.tmpfiles.d + mysql.service + mysql@.service -+ mysql-prepare-db-dir -+ mysql-check-socket -+ mysql-check-upgrade -+ mysql-scripts-common ++ mariadb-prepare-db-dir ++ mariadb-check-socket ++ mariadb-check-upgrade ++ mariadb-scripts-common + mysql_config_multilib + clustercheck + galera_new_cluster diff --git a/mariadb.rpmlintrc b/mariadb.rpmlintrc index b0c9077..09130ab 100644 --- a/mariadb.rpmlintrc +++ b/mariadb.rpmlintrc @@ -51,8 +51,8 @@ addFilter(r'incoherent-logrotate-file /etc/logrotate.d/mariadb') addFilter(r'non-executable-in-bin /usr/bin/wsrep_sst_common 644') addFilter(r'script-without-shebang /usr/bin/wsrep_sst_common') addFilter(r'non-executable-script /usr/bin/wsrep_sst_common 644 None') -# mysql-scripts-common has a simmilar issue -addFilter(r'non-executable-script /usr/libexec/mysql-scripts-common 644 /bin/sh') +# mariadb-scripts-common has a similar issue +addFilter(r'non-executable-script /usr/libexec/mariadb-scripts-common 644 /bin/sh') # Seems pretty standard to me ... addFilter(r'non-standard-dir-perm /var/log/mariadb 750') diff --git a/mariadb.spec b/mariadb.spec index fbecf88..db552e0 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -171,13 +171,13 @@ License: GPLv2 and LGPLv2 Source0: https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz Source2: mysql_config_multilib.sh Source3: my.cnf.in -Source6: README.mysql-docs -Source10: mysql.tmpfiles.d.in +Source6: README.mariadb-docs +Source10: mariadb.tmpfiles.d.in Source11: mysql.service.in -Source12: mysql-prepare-db-dir.sh -Source14: mysql-check-socket.sh -Source15: mysql-scripts-common.sh -Source16: mysql-check-upgrade.sh +Source12: mariadb-prepare-db-dir.sh +Source14: mariadb-check-socket.sh +Source15: mariadb-scripts-common.sh +Source16: mariadb-check-upgrade.sh Source18: mysql@.service.in Source50: rh-skipped-tests-base.list Source51: rh-skipped-tests-arm.list @@ -994,18 +994,18 @@ install -D -p -m 644 %{_vpath_builddir}/scripts/mysql.service %{buildroot}%{_uni install -D -p -m 644 %{_vpath_builddir}/scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service # helper scripts for service starting -install -p -m 755 %{_vpath_builddir}/scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir -install -p -m 755 %{_vpath_builddir}/scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket -install -p -m 755 %{_vpath_builddir}/scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade -install -p -m 644 %{_vpath_builddir}/scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common +install -p -m 755 %{_vpath_builddir}/scripts/mariadb-prepare-db-dir %{buildroot}%{_libexecdir}/mariadb-prepare-db-dir +install -p -m 755 %{_vpath_builddir}/scripts/mariadb-check-socket %{buildroot}%{_libexecdir}/mariadb-check-socket +install -p -m 755 %{_vpath_builddir}/scripts/mariadb-check-upgrade %{buildroot}%{_libexecdir}/mariadb-check-upgrade +install -p -m 644 %{_vpath_builddir}/scripts/mariadb-scripts-common %{buildroot}%{_libexecdir}/mariadb-scripts-common # Install downstream version of tmpfiles -install -D -p -m 0644 %{_vpath_builddir}/scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf +install -D -p -m 0644 %{_vpath_builddir}/scripts/mariadb.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?mysqld_pid_dir:1} echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf %endif -# install aditional galera selinux policy +# install additional galera selinux policy %if %{with galera} install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp %endif @@ -1523,10 +1523,10 @@ fi %{_unitdir}/%{daemon_name}* %{?with_tokudb:%exclude %{_unitdir}/mariadb.service.d/tokudb.conf} -%{_libexecdir}/mysql-prepare-db-dir -%{_libexecdir}/mysql-check-socket -%{_libexecdir}/mysql-check-upgrade -%{_libexecdir}/mysql-scripts-common +%{_libexecdir}/mariadb-prepare-db-dir +%{_libexecdir}/mariadb-check-socket +%{_libexecdir}/mariadb-check-upgrade +%{_libexecdir}/mariadb-scripts-common %attr(0755,mysql,mysql) %dir %{pidfiledir} %attr(0755,mysql,mysql) %dir %{dbdatadir} diff --git a/mysql.tmpfiles.d.in b/mariadb.tmpfiles.d.in similarity index 100% rename from mysql.tmpfiles.d.in rename to mariadb.tmpfiles.d.in diff --git a/mysql.service.in b/mysql.service.in index 6f84dd3..24e61cc 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -26,7 +26,7 @@ [Unit] Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server -Documentation=man:mysqld(8) +Documentation=man:mariadbd(8) Documentation=https://mariadb.com/kb/en/library/systemd/ After=network.target @@ -40,17 +40,17 @@ Type=notify User=mysql Group=mysql -ExecStartPre=@libexecdir@/mysql-check-socket +ExecStartPre=@libexecdir@/mariadb-check-socket # '%n' expands to 'Full unit name'; man systemd.unit -ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n +ExecStartPre=@libexecdir@/mariadb-prepare-db-dir %n # MYSQLD_OPTS here is for users to set in /etc/systemd/system/@DAEMON_NAME@@.service.d/MY_SPECIAL.conf # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 -ExecStart=@libexecdir@/mysqld --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER -ExecStartPost=@libexecdir@/mysql-check-upgrade +ExecStart=@libexecdir@/mariadbd --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER +ExecStartPost=@libexecdir@/mariadb-check-upgrade # Setting this to true can break replication and the Type=notify settings -# See also bind-address mysqld option. +# See also bind-address MariaDB option. PrivateNetwork=false KillMode=process diff --git a/mysql@.service.in b/mysql@.service.in index b36ce6d..f9b72fa 100644 --- a/mysql@.service.in +++ b/mysql@.service.in @@ -33,7 +33,7 @@ [Unit] Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server -Documentation=man:mysqld(8) +Documentation=man:mariadbd(8) Documentation=https://mariadb.com/kb/en/library/systemd/ After=network.target @@ -47,16 +47,16 @@ Type=notify User=mysql Group=mysql -ExecStartPre=@libexecdir@/mysql-check-socket --defaults-group-suffix=.%I -ExecStartPre=@libexecdir@/mysql-prepare-db-dir --defaults-group-suffix=.%I %n +ExecStartPre=@libexecdir@/mariadb-check-socket --defaults-group-suffix=.%I +ExecStartPre=@libexecdir@/mariadb-prepare-db-dir --defaults-group-suffix=.%I %n # MYSQLD_OPTS here is for users to set in /etc/systemd/system/@DAEMON_NAME@@.service.d/MY_SPECIAL.conf # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 -ExecStart=@libexecdir@/mysqld --defaults-group-suffix=.%I --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER -ExecStartPost=@libexecdir@/mysql-check-upgrade --defaults-group-suffix=.%I +ExecStart=@libexecdir@/mariadbd --defaults-group-suffix=.%I --basedir=@prefix@ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER +ExecStartPost=@libexecdir@/mariadb-check-upgrade --defaults-group-suffix=.%I # Setting this to true can break replication and the Type=notify settings -# See also bind-address mysqld option. +# See also bind-address MariaDB option. PrivateNetwork=false KillMode=process From c205fe1604d009a4bcd25addeb5579d8696a2f20 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Wed, 21 Apr 2021 18:33:02 +1000 Subject: [PATCH 673/789] mariadb-scripts-common: update sections from mariadbd --help --verbose --- mariadb-scripts-common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb-scripts-common.sh b/mariadb-scripts-common.sh index 8af7c58..e603a9e 100644 --- a/mariadb-scripts-common.sh +++ b/mariadb-scripts-common.sh @@ -48,7 +48,7 @@ done # must correspond with values defined in mariadbd-safe script and source # code itself. -server_sections="mysqld_safe mysqld server mysqld-@MAJOR_VERSION@.@MINOR_VERSION@ mariadb mariadb-@MAJOR_VERSION@.@MINOR_VERSION@ client-server" +server_sections="mysqld_safe mysqld server mysqld-@MAJOR_VERSION@.@MINOR_VERSION@ mariadb mariadb-@MAJOR_VERSION@.@MINOR_VERSION@ mariadbd mariadbd-@MAJOR_VERSION@.@MINOR_VERSION@ client-server galera" get_mysql_option "$server_sections" datadir "@MYSQL_DATADIR@" datadir="$result" From fcdfad8ad87dc695c7fc8acd3236ee83729e348f Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Fri, 23 Apr 2021 09:13:10 +1000 Subject: [PATCH 674/789] update package descriptions Use mariadbd rather than mysqld in package descriptions. Changed community branch of MySQL to "fork from", since branch implies far too many updates from or back to the original which isn't true. Updated server-galera package description as it didn't reference Galera at all. --- mariadb.spec | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index db552e0..3626331 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -327,11 +327,11 @@ Conflicts: %{?fedora:community-}mysql %{!?_licensedir:%global license %doc} %description -MariaDB is a community developed branch of MySQL - a multi-user, multi-threaded +MariaDB is a community developed fork from MySQL - a multi-user, multi-threaded SQL database server. It is a client/server implementation consisting of -a server daemon (mysqld) and many different client programs and libraries. +a server daemon (mariadbd) and many different client programs and libraries. The base package contains the standard MariaDB/MySQL client programs and -generic MySQL files. +utilities. %if %{with clibrary} @@ -415,10 +415,10 @@ Requires: rsync %description server-galera MariaDB is a multi-user, multi-threaded SQL database server. It is a -client/server implementation consisting of a server daemon (mysqld) +client/server implementation consisting of a server daemon (mariadbd) and many different client programs and libraries. This package contains -the MariaDB server and some accompanying files and directories. -MariaDB is a community developed branch of MySQL. +added files to allow MariaDB server to operate as a Galera cluster +member. MariaDB is a community developed fork originally from MySQL. %endif @@ -452,7 +452,7 @@ Suggests: logrotate Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d -# Aditional SELinux rules (common for MariaDB & MySQL) shipped in a separate package +# Additional SELinux rules (common for MariaDB & MySQL) shipped in a separate package # For cases, where we want to fix a SELinux issues in MariaDB sooner than patched selinux-policy-targeted package is released %if %require_mysql_selinux Requires: (mysql-selinux if selinux-policy-targeted) @@ -486,10 +486,10 @@ Obsoletes: %{name}-tokudb-engine <= %{sameevr} %description server MariaDB is a multi-user, multi-threaded SQL database server. It is a -client/server implementation consisting of a server daemon (mysqld) +client/server implementation consisting of a server daemon (mariadbd) and many different client programs and libraries. This package contains the MariaDB server and some accompanying files and directories. -MariaDB is a community developed branch of MySQL. +MariaDB is a community developed fork from MySQL. %if %{with oqgraph} @@ -665,11 +665,11 @@ MariaDB is a multi-user, multi-threaded SQL database server. MariaDB is a community developed branch of MySQL. %if %{with clibrary} This package contains everything needed for developing MariaDB/MySQL client -and server applications. +and server plugins and applications. %else This package contains everything needed for developing MariaDB/MySQL server -applications. For developing client applications, use mariadb-connector-c -package. +plugins and applications. For developing client applications, use +mariadb-connector-c package. %endif %endif @@ -688,7 +688,7 @@ Provides: mysql-embedded%{?_isa} = %{sameevr} MariaDB is a multi-user, multi-threaded SQL database server. This package contains a version of the MariaDB server that can be embedded into a client application instead of running as a separate process. -MariaDB is a community developed branch of MySQL. +MariaDB is a community developed fork from MySQL. %package embedded-devel @@ -705,7 +705,7 @@ Conflicts: %{?fedora:community-}mysql-embedded-devel %description embedded-devel MariaDB is a multi-user, multi-threaded SQL database server. -MariaDB is a community developed branch of MySQL. +MariaDB is a community developed fork from MySQL. This package contains files needed for developing and testing with the embedded version of the MariaDB server. %endif @@ -737,7 +737,7 @@ Provides: mysql-test%{?_isa} = %{sameevr} %description test MariaDB is a multi-user, multi-threaded SQL database server. -MariaDB is a community developed branch of MySQL. +MariaDB is a community developed fork from MySQL. This package contains the regression test suite distributed with the MariaDB sources. %endif From 95f558b8334ba7198d55b9f2445bea4375ded5f9 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Thu, 22 Apr 2021 11:42:51 +1000 Subject: [PATCH 675/789] drop KillMode=process MariaDB-10.4 onwards included a pam_helper subprocess to help with the pam authentication module. If the user is running with Galera there are SST modules that could be executing. By dropping KillMode=process this reverts back to control-group to cover all of these subprocesses. This is what upstream does. https://jira.mariadb.org/browse/MDEV-25233 suggests moving to KillMode=mixed, which is probably ok too, but has been tested less. --- mysql.service.in | 1 - mysql@.service.in | 1 - 2 files changed, 2 deletions(-) diff --git a/mysql.service.in b/mysql.service.in index 24e61cc..028e6d5 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -53,7 +53,6 @@ ExecStartPost=@libexecdir@/mariadb-check-upgrade # See also bind-address MariaDB option. PrivateNetwork=false -KillMode=process KillSignal=SIGTERM # Don't want to see an automated SIGKILL ever diff --git a/mysql@.service.in b/mysql@.service.in index f9b72fa..6e4039d 100644 --- a/mysql@.service.in +++ b/mysql@.service.in @@ -59,7 +59,6 @@ ExecStartPost=@libexecdir@/mariadb-check-upgrade --defaults-group-suffix=.%I # See also bind-address MariaDB option. PrivateNetwork=false -KillMode=process KillSignal=SIGTERM # Don't want to see an automated SIGKILL ever From a87e9e5d9adb24ca55cd6ba98a9b45f18d5d5f2e Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Thu, 22 Apr 2021 12:08:08 +1000 Subject: [PATCH 676/789] Document systemd service changes Prefer the systemctl edit mysql.service syntax and leave the more complex alternatives to the existing documents referenced. Also show how to use the multiinstance a bit more. --- mysql.service.in | 28 ++++++++++---------------- mysql@.service.in | 51 +++++++++++++++++++++++++++-------------------- 2 files changed, 39 insertions(+), 40 deletions(-) diff --git a/mysql.service.in b/mysql.service.in index 028e6d5..91dfeca 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -1,28 +1,20 @@ # It's not recommended to modify this file in-place, because it will be # overwritten during package upgrades. If you want to customize, the -# best way is to create a file "/etc/systemd/system/@DAEMON_NAME@.service", -# containing -# .include /usr/lib/systemd/system/@DAEMON_NAME@.service -# ...make your changes here... -# or create a file "/etc/systemd/system/@DAEMON_NAME@.service.d/foo.conf", -# which doesn't need to include ".include" call and which will be parsed -# after the file @DAEMON_NAME@.service itself is parsed. +# best way is to: +# +# root> systemctl edit @DAEMON_NAME@.service +# +# Then add additonal directives under a section (probably [Service]). # # For more info about custom unit files, see systemd.unit(5) or # http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F - -# For example, if you want to increase mysql's open-files-limit to 10000, -# you need to increase systemd's LimitNOFILE setting, so create a file named -# "/etc/systemd/system/@DAEMON_NAME@.service.d/limits.conf" containing: +# +# For example, if you want to increase MariaDB's open-files-limit to 10000, +# you need to increase systemd's LimitNOFILE setting, use the contents below: +# # [Service] # LimitNOFILE=10000 - -# Note: /usr/lib/... is recommended in the .include line though /lib/... -# still works. -# Don't forget to reload systemd daemon after you change unit configuration: -# root> systemctl --system daemon-reload - -# Use [mysqld.INSTANCENAME] as sections in my.cnf to configure this instance. +# [Unit] Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server diff --git a/mysql@.service.in b/mysql@.service.in index 6e4039d..acb2c57 100644 --- a/mysql@.service.in +++ b/mysql@.service.in @@ -1,36 +1,43 @@ -# Multi instance version of mariadb. For if you run mutiple verions at once. +# Multi instance version of MariaDB. For if you run mutiple verions at once. # Also used for @DAEMON_NAME@@bootstrap to bootstrap Galera. # -# To use multi instance variant, use [mysqld.INSTANCENAME] as sections in my.cnf +# To use multi instance variant, use [mariadbd.INSTANCENAME] as sections in +# @sysconfdir@/@my.cnf to change per instance settings. A minimumal necessary +# configuration items to change to avoid conflicts between instances is: +# +# [mariadbd.instancename] +# # TCP port to make available for clients +# port=3306 +# # Socket to make available for clients +# socket=/tmp/mariadb-instancename.sock +# # Where MariaDB should store all its data +# datadir=/usr/local/mariadb-instancename/data +# # and start the service via: -# systemctl start @DAEMON_NAME@@{instancename}.server +# +# root> systemctl start @DAEMON_NAME@@{instancename}.server # # It's not recommended to modify this file in-place, because it will be -# overwritten during package upgrades. If you want to customize, the -# best way is to create a file "/etc/systemd/system/@DAEMON_NAME@.service", -# containing -# .include /usr/lib/systemd/system/@DAEMON_NAME@.service -# ...make your changes here... -# or create a file "/etc/systemd/system/@DAEMON_NAME@.service.d/foo.conf", -# which doesn't need to include ".include" call and which will be parsed -# after the file @DAEMON_NAME@.service itself is parsed. +# overwritten during package upgrades. If you want to customize, for +# all instances, the best way is: +# +# root> systemctl edit @DAEMON_NAME@@.service +# +# Then add additonal directives under a section (probably [Service]). +# +# If you only want to change a specific instance: +# +# root> systemctl edit @DAEMON_NAME@@{instancename}.server # # For more info about custom unit files, see systemd.unit(5) or # http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F - -# For example, if you want to increase mysql's open-files-limit to 10000, -# you need to increase systemd's LimitNOFILE setting, so create a file named -# "/etc/systemd/system/@DAEMON_NAME@.service.d/limits.conf" containing: +# +# For example, if you want to increase MariaDB's open-files-limit to 10000, +# you need to increase systemd's LimitNOFILE setting, use the contents below: +# # [Service] # LimitNOFILE=10000 -# Note: /usr/lib/... is recommended in the .include line though /lib/... -# still works. -# Don't forget to reload systemd daemon after you change unit configuration: -# root> systemctl --system daemon-reload - -# Use [mysqld.INSTANCENAME] as sections in my.cnf to configure this instance. - [Unit] Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server Documentation=man:mariadbd(8) From 2e03a737bb8c76caaf9783b29fc2a537568a8a6b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 11 May 2021 21:17:01 +0200 Subject: [PATCH 677/789] Update RPMLint whitelist; fix RPMLint findings --- mariadb.rpmlintrc | 18 ++++++++++++++++-- mariadb.spec | 2 +- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/mariadb.rpmlintrc b/mariadb.rpmlintrc index 09130ab..ff69b0e 100644 --- a/mariadb.rpmlintrc +++ b/mariadb.rpmlintrc @@ -6,7 +6,7 @@ # Spelling errors -addFilter(r'spelling-error .* en_US (cnf|mysqld|benchmarking|pam|passwordless|subpackage|libmariadb) ') +addFilter(r'spelling-error .* en_US (cnf|mysqld|benchmarking|pam|passwordless|subpackage|libmariadb|mariadbd) ') # Debugsource addFilter(r'^mariadb.*debugsource\.[^:]+: (E|W): no-documentation') @@ -33,6 +33,9 @@ addFilter(r'no-manual-page-for-binary') addFilter(r'obsolete-not-provided MySQL') # Provided by mariadb-connector-c addFilter(r'obsolete-not-provided mariadb-libs') +# Upstream dropped support +addFilter(r'obsolete-not-provided mariadb-bench') +addFilter(r'obsolete-not-provided mariadb-tokudb-engine') # Config file without noreplace flag # Don't replace logs that may contain old entries @@ -55,11 +58,22 @@ addFilter(r'non-executable-script /usr/bin/wsrep_sst_common 644 None') addFilter(r'non-executable-script /usr/libexec/mariadb-scripts-common 644 /bin/sh') # Seems pretty standard to me ... addFilter(r'non-standard-dir-perm /var/log/mariadb 750') +# 640 is IMO also prety OK +addFilter(r'non-readable /etc/sysconfig/clustercheck 640') # Unversioned bundles # RocksDB has so rapid developement, it it not compatible through versions. # That means we need to stick to the exact verison upstream use. -addFilter(r'unversioned-explicit-provides bundled(rocksdb)') +addFilter(r'unversioned-explicit-provides bundled\(rocksdb\)') # Testsuite errors addFilter(r'non-executable-script /usr/share/mysql-test') +addFilter(r'arch-dependent-file-in-usr-share /usr/share/mysql-test') + +# Comments at the end of RPM %endif tags +addFilter(r'extra tokens at the end of %endif directive') + +# PAM plugin specialities - all expected +addFilter(r'non-conffile-in-etc /etc/security/user_map.conf') +addFilter(r'setuid-binary /usr/lib64/mariadb/plugin/auth_pam_tool_dir/auth_pam_tool') +addFilter(r'non-standard-executable-perm /usr/lib64/mariadb/plugin/auth_pam_tool_dir/auth_pam_tool') diff --git a/mariadb.spec b/mariadb.spec index 3626331..004521e 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -594,7 +594,7 @@ This plugin includes support for Kerberos on Unix. Summary: PAM authentication plugin for the MariaDB server Requires: %{name}-server%{?_isa} = %{sameevr} -# This subpackage NEED the 'mysql' user/group (created during mariadb-server %pre) to be available prior installation +# This subpackage NEED the 'mysql' user/group (created during mariadb-server %%pre) to be available prior installation Requires(pre): %{name}-server%{?_isa} = %{sameevr} BuildRequires: pam-devel From b14945398c5bfd8edf1640e2c15b4c05671dd70b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 11 May 2021 21:40:39 +0200 Subject: [PATCH 678/789] Fix RPMLint warning: incoherent-version-in-changelog 10.5.10-1 ['3:10.5.10-1.fc35', '3:10.5.10-1'] --- mariadb.spec | 80 ++++++++++++++++++++++++++-------------------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 004521e..1f7d824 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1676,23 +1676,23 @@ fi %endif %changelog -* Tue May 11 2021 Michal Schorm - 10.5.10-1 +* Tue May 11 2021 Michal Schorm - 3:10.5.10-1 - Rebase to 10.5.10 * Tue Mar 30 2021 Jonathan Wakely - 3:10.5.9-5 - Rebuilt for removed libstdc++ symbol (#1937698) -* Thu Mar 18 2021 Michal Schorm - 10.5.9-4 +* Thu Mar 18 2021 Michal Schorm - 3:10.5.9-4 - Move PAM plugin to standalone subpackage -* Thu Mar 18 2021 Michal Schorm - 10.5.9-3 +* Thu Mar 18 2021 Michal Schorm - 3:10.5.9-3 - Fixed permissions on files from PAMv2 plugin * Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 3:10.5.9-2 - Rebuilt for updated systemd-rpm-macros See https://pagure.io/fesco/issue/2583. -* Wed Feb 24 2021 Michal Schorm - 10.5.9-1 +* Wed Feb 24 2021 Michal Schorm - 3:10.5.9-1 - Rebase to 10.5.9 * Tue Feb 16 2021 Lukas Javorsky - 3:10.5.8-8 @@ -1715,48 +1715,48 @@ fi * Tue Jan 26 2021 Fedora Release Engineering - 3:10.5.8-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild -* Fri Dec 11 2020 Lukas Javorsky - 10.5.8-2 +* Fri Dec 11 2020 Lukas Javorsky - 3:10.5.8-2 - Add tokudb-engine to obsoletes - Resolves: #1906559 -* Wed Nov 11 2020 Michal Schorm - 10.5.8-1 +* Wed Nov 11 2020 Michal Schorm - 3:10.5.8-1 - Rebase to 10.5.8 -* Fri Nov 06 2020 Michal Schorm - 10.5.7-1 +* Fri Nov 06 2020 Michal Schorm - 3:10.5.7-1 - Rebase to 10.5.7 -* Mon Sep 21 2020 Lukas Javorsky - 10.5.5-1 +* Mon Sep 21 2020 Lukas Javorsky - 3:10.5.5-1 - Rebase to 10.5.5 - Fix mariadb-ownsetup - Add manual for aria_s3_copy -* Wed Sep 16 2020 Lukas Javorsky - 10.5.4-1 +* Wed Sep 16 2020 Lukas Javorsky - 3:10.5.4-1 - Rebase to 10.5.4 - Add spider.cnf to the server config files -* Mon Sep 14 2020 Lukas Javorsky - 10.5.3-1 +* Mon Sep 14 2020 Lukas Javorsky - 3:10.5.3-1 - Rebase to 10.5.3 -* Fri Sep 11 2020 Michal Schorm - 10.5.2-1 +* Fri Sep 11 2020 Michal Schorm - 3:10.5.2-1 - Test rebase to 10.5.2 - Beta - TokuDB SE has been deprecated -* Thu Sep 10 2020 Michal Schorm - 10.5.1-1 +* Thu Sep 10 2020 Michal Schorm - 3:10.5.1-1 - Test rebase to 10.5.1 - Beta -* Thu Sep 10 2020 Michal Schorm - 10.5.0-1 +* Thu Sep 10 2020 Michal Schorm - 3:10.5.0-1 - Test rebase to 10.5.0 - Alpha -* Sun Sep 06 2020 Michal Schorm - 10.4.14-3 +* Sun Sep 06 2020 Michal Schorm - 3:10.4.14-3 - Resolves: #1851605 -* Thu Sep 03 2020 Michal Schorm - 10.4.14-2 +* Thu Sep 03 2020 Michal Schorm - 3:10.4.14-2 - Resolves: #1873999, #1874446 -* Thu Aug 20 2020 Michal Schorm - 10.4.14-1 +* Thu Aug 20 2020 Michal Schorm - 3:10.4.14-1 - Rebase to 10.4.14 -* Tue Aug 18 2020 Michal Schorm - 10.4.13-7 +* Tue Aug 18 2020 Michal Schorm - 3:10.4.13-7 - Do CMake out-of-source builds - Force the CMake change regarding the in-source builds also to F31 and F32 - Use CMake macros instead of cmake & make direct commands @@ -1773,16 +1773,16 @@ fi * Tue Jul 28 2020 Fedora Release Engineering - 3:10.4.13-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild -* Tue Jul 14 2020 Michal Schorm - 10.4.13-3 +* Tue Jul 14 2020 Michal Schorm - 3:10.4.13-3 - Make conflicts between corresponding mariadb and mysql packages explicit - Get rid of the Conflicts macro, it was intended to mark conflicts with *upstream* packages -* Fri Jun 05 2020 Michal Schorm - 10.4.13-2 +* Fri Jun 05 2020 Michal Schorm - 3:10.4.13-2 - Extend Perl "Requires" filtering to wsrep Resolves: #1845376 -* Fri Jun 05 2020 Michal Schorm - 10.4.13-1 +* Fri Jun 05 2020 Michal Schorm - 3:10.4.13-1 - Rebase to 10.4.13 * Sun May 24 2020 Lukas Javorsky - 3:10.4.12-6 @@ -1791,23 +1791,23 @@ fi * Thu Apr 02 2020 Björn Esser - 3:10.4.12-5 - Fix string quoting for rpm >= 4.16 -* Thu Mar 26 2020 Jitka Plesnikova - 10.4.12-4 +* Thu Mar 26 2020 Jitka Plesnikova - 3:10.4.12-4 - Add perl dependencies needed for tests -* Mon Mar 16 2020 Michal Schorm - 10.4.12-3 +* Mon Mar 16 2020 Michal Schorm - 3:10.4.12-3 - Rebase mariadb-connector-c git submodule to commit fbf1db6 For fix: https://jira.mariadb.org/browse/CONC-441 -* Tue Mar 10 2020 Michal Schorm - 10.4.12-2 +* Tue Mar 10 2020 Michal Schorm - 3:10.4.12-2 - Update the fix for building in the debug mode -* Thu Feb 06 2020 Michal Schorm - 10.4.12-1 +* Thu Feb 06 2020 Michal Schorm - 3:10.4.12-1 - Rebase to 10.4.12 * Wed Jan 29 2020 Fedora Release Engineering - 3:10.4.11-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild -* Fri Jan 17 2020 Michal Schorm - 10.4.11-1 +* Fri Jan 17 2020 Michal Schorm - 3:10.4.11-1 - Rebase to 10.4.11 Related: #1756468 - Remove 'bench' subpackage. Upstream no longer maintains it. @@ -1816,63 +1816,63 @@ fi - Tweak build flags - Add patch for auth_pam_tool directory -* Fri Jan 10 2020 Michal Schorm - 10.3.21-1 +* Fri Jan 10 2020 Michal Schorm - 3:10.3.21-1 - Rebase to 10.3.21 -* Mon Nov 18 2019 Lukas Javorsky - 10.3.20-3 +* Mon Nov 18 2019 Lukas Javorsky - 3:10.3.20-3 - Change path of groonga's packaged files - Fix bz#1763287 -* Tue Nov 12 2019 Michal Schorm - 10.3.20-2 +* Tue Nov 12 2019 Michal Schorm - 3:10.3.20-2 - Rebuild on top fo new mariadb-connector-c -* Mon Nov 11 2019 Michal Schorm - 10.3.20-1 +* Mon Nov 11 2019 Michal Schorm - 3:10.3.20-1 - Rebase to 10.3.20 -* Wed Nov 06 2019 Michal Schorm - 10.3.19-1 +* Wed Nov 06 2019 Michal Schorm - 3:10.3.19-1 - Rebase to 10.3.19 * Thu Oct 31 2019 Carl George - 3:10.3.18-1 - Rebase to 10.3.18 -* Wed Sep 11 2019 Michal Schorm - 10.3.17-3 +* Wed Sep 11 2019 Michal Schorm - 3:10.3.17-3 - Disable building of the ed25519 client plugin. From now on it will be shipped by 'mariadb-connector-c' package -* Fri Sep 06 2019 Michal Schorm - 10.3.17-2 +* Fri Sep 06 2019 Michal Schorm - 3:10.3.17-2 - Fix the debug build -* Thu Aug 01 2019 Michal Schorm - 10.3.17-1 +* Thu Aug 01 2019 Michal Schorm - 3:10.3.17-1 - Rebase to 10.3.17 * Thu Jul 25 2019 Fedora Release Engineering - 3:10.3.16-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild -* Tue Jun 18 2019 Michal Schorm - 10.3.16-1 +* Tue Jun 18 2019 Michal Schorm - 3:10.3.16-1 - Rebase to 10.3.16 - Added patch for armv7hl builds of spider SE -* Tue Jun 11 2019 Michal Schorm - 10.3.15-1 +* Tue Jun 11 2019 Michal Schorm - 3:10.3.15-1 - Rebase to 10.3.15 - CVEs fixed: CVE-2019-2510 CVE-2019-2537 - CVEs fixed: CVE-2019-2614 CVE-2019-2627 CVE-2019-2628 -* Tue Jun 11 2019 Michal Schorm - 10.3.12-15 +* Tue Jun 11 2019 Michal Schorm - 3:10.3.12-15 - Remove Cassandra subpackage; it is no longer developed -* Thu Mar 21 2019 Michal Schorm - 10.3.12-14 +* Thu Mar 21 2019 Michal Schorm - 3:10.3.12-14 - Fix building of TokuDB with Jemalloc 5 - Fix building with / without lz4 -* Thu Mar 21 2019 Michal Schorm - 10.3.12-13 +* Thu Mar 21 2019 Michal Schorm - 3:10.3.12-13 - Add patch for mysqld_safe --dry-run -* Wed Mar 20 2019 Michal Schorm - 10.3.12-12 +* Wed Mar 20 2019 Michal Schorm - 3:10.3.12-12 - Add patch for server pkgconfig file location -* Sat Feb 23 2019 Pavel Raiskup - 10.3.12-11 +* Sat Feb 23 2019 Pavel Raiskup - 3:10.3.12-11 - conditionally depend on selinux-policy-targeted again (rhbz#1665643) * Mon Feb 11 2019 Michal Schorm - 3:10.3.12-10 From 7f8a0e15a648404fdbe62d75cee00e59d0a2cc57 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 22 Apr 2021 10:32:55 +0200 Subject: [PATCH 679/789] Introduce the script for generating sources tarball without a code under a license which was not yet approved for Fedora or RHEL Change the name of the sources archive, so the maintainer will encounter an error when uploading new sources which haven't undergo modification by this script --- generate-modified-sources.sh | 46 ++++++++++++++++++++++++++++++++++++ mariadb.spec | 9 +++++-- 2 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 generate-modified-sources.sh diff --git a/generate-modified-sources.sh b/generate-modified-sources.sh new file mode 100644 index 0000000..b12059f --- /dev/null +++ b/generate-modified-sources.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +# This script downloads sources and modifies them + +set -ex + +NAME="mariadb" +VERSION=$( rpmspec -q --srpm --qf '%{VERSION}' "${NAME}.spec" ) +# SOURCES_URL=$( spectool -s 0 "$NAME.spec" | cut -d ' ' -f 2 ) +SOURCES_URL="https://downloads.mariadb.org/interstitial/mariadb-${VERSION}/source/mariadb-${VERSION}.tar.gz" + +OLD_ARCHIVE_NAME="${NAME}-${VERSION}" +NEW_ARCHIVE_NAME="${NAME}-${VERSION}-downstream_modified" + +# Retrieve the archive: + +rm -rf "./${OLD_ARCHIVE_NAME}.tar.gz" "./${OLD_ARCHIVE_NAME}/" "./${NEW_ARCHIVE_NAME}.tar.gz" "./${NEW_ARCHIVE_NAME}/" +wget "${SOURCES_URL}" + +# Modify the archive: + +# 1/ Change both the name of the archive and the name of the base directory inside of the archive +# It will be necessary to change the name in the SPECfile in the %prep phase +# This will prevent maintainer to rebase to a non-modified sources archive without changing the SPECfile + +tar -xof "${OLD_ARCHIVE_NAME}.tar.gz" +mv "${OLD_ARCHIVE_NAME}" "${NEW_ARCHIVE_NAME}" + +# 2/ Remove the code licensed under the PerconaFT license +# which was not yet reviewed as suitable for Fedora or RHEL. +# +# License file: +# storage/tokudb/PerconaFT/PATENTS +# +# The whole storage engine, which requires code under this license +# has to be removed before uploading sources to Fedora. + +rm -r "${NEW_ARCHIVE_NAME}/storage/tokudb" + +# Pack the extracted files back to the archive + +tar -czf "${NEW_ARCHIVE_NAME}.tar.gz" "${NEW_ARCHIVE_NAME}" + +# Remove the decompressed original used to create the archive + +rm -r "./${NEW_ARCHIVE_NAME}/" diff --git a/mariadb.spec b/mariadb.spec index 1f7d824..6446135 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -168,7 +168,12 @@ Summary: A very fast and robust SQL database server URL: http://mariadb.org License: GPLv2 and LGPLv2 -Source0: https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz +# Original upstream sources archive URL +# Source0: https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz +# Non-existent URL containing correct archive name +# The archive was created by executing the "generate-modified-sources.sh" script +Source0: https://fedoraproject.org/mariadb-%{version}-downstream_modified.tar.gz + Source2: mysql_config_multilib.sh Source3: my.cnf.in Source6: README.mariadb-docs @@ -744,7 +749,7 @@ sources. %prep -%setup -q -n mariadb-%{version} +%setup -q -n mariadb-%{version}-downstream_modified # Remove JAR files that upstream puts into tarball find . -name "*.jar" -type f -exec rm --verbose -f {} \; From b3ff1d5772ef405f4e54c130e0fe75f012fbfb43 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 12 May 2021 04:43:36 +0200 Subject: [PATCH 680/789] Ignore missing files during "rm -r" --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 6446135..362cdf8 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -756,7 +756,7 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \; # Remove testsuite for the mariadb-connector-c rm -rf libmariadb/unittest # Remove python scripts remains from tokudb upstream (those files are not used anyway) -rm -r storage/tokudb/mysql-test/tokudb/t/*.py +rm -rf storage/tokudb/mysql-test/tokudb/t/*.py %if %{without rocksdb} rm -r storage/rocksdb/ %endif From 47762ab9fc0592ad76b6c62d92ae548219dee883 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 12 May 2021 04:36:25 +0200 Subject: [PATCH 681/789] Use the modified sources; bump release --- mariadb.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 362cdf8..7b881f0 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -161,7 +161,7 @@ Name: mariadb Version: 10.5.10 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1681,6 +1681,9 @@ fi %endif %changelog +* Wed May 12 2021 Michal Schorm - 3:10.5.10-2 +- Use modified sources instead of the upstream original ones + * Tue May 11 2021 Michal Schorm - 3:10.5.10-1 - Rebase to 10.5.10 diff --git a/sources b/sources index e575cd4..96df010 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.10.tar.gz) = 93dd1405f8b31989e130dee5b7d4a0b447aa0e017fb9ee02c792c52142d84d1103e8fd591101d72deda1ac65b10c48053582f6e61bd1757e6aa92e42d98c56cd +SHA512 (mariadb-10.5.10-downstream_modified.tar.gz) = ae21406df42a59c92be5e3aef5d4a25aedb54c0df363bd737987979adff5dfeaa6ce3f37c0892ddff032620f134b3a1ca14ecda229c60c777d68f7dbb02cd4f4 From f192442cc314f52f7f207ef1aaf05f61b8cd8003 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 11 May 2021 21:49:50 +0200 Subject: [PATCH 682/789] Remove TokuDB Storage Engine subpackage The TokuDB SE from Percona upstream has been deprecated in MariaDB 10.5 and completely removed in MariaDB 10.6 In Fedora, we don't build it since MariaDB 10.5 --- mariadb.spec | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 7b881f0..8ac05ae 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -32,10 +32,6 @@ -# TokuDB engine - DEPRECATED ! -# https://mariadb.com/kb/en/mariadb/tokudb/ -# TokuDB engine is available only for x86_64 -# The Percona upstream deprecated the SE. It is not part of MariaDB 10.5 # Mroonga engine # https://mariadb.com/kb/en/mariadb/about-mroonga/ # Current version in MariaDB, 7.07, only supports the x86_64 @@ -46,12 +42,9 @@ # RocksDB may be built with jemalloc, if specified in CMake %ifarch x86_64 %if 0%{?fedora} -# TokuDB is deprecated in MariaDB 10.5 and later -%bcond_with tokudb %bcond_without mroonga %bcond_without rocksdb %else -%bcond_with tokudb %bcond_with mroonga %bcond_with rocksdb %endif @@ -445,7 +438,6 @@ Recommends: %{name}-backup%{?_isa} = %{sameevr} %{?with_cracklib:Recommends: %{name}-cracklib-password-check%{?_isa} = %{sameevr}} %{?with_gssapi:Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}} %{?with_rocksdb:Suggests: %{name}-rocksdb-engine%{?_isa} = %{sameevr}} -%{?with_tokudb:Suggests: %{name}-tokudb-engine%{?_isa} = %{sameevr}} %{?with_sphinx:Suggests: %{name}-sphinx-engine%{?_isa} = %{sameevr}} %{?with_oqgraph:Suggests: %{name}-oqgraph-engine%{?_isa} = %{sameevr}} %{?with_connect:Suggests: %{name}-connect-engine%{?_isa} = %{sameevr}} @@ -485,9 +477,7 @@ Conflicts: %{?fedora:community-}mysql-server # Bench subpackage has been deprecated in F32 Obsoletes: %{name}-bench <= %{sameevr} -%if %{without tokudb} Obsoletes: %{name}-tokudb-engine <= %{sameevr} -%endif %description server MariaDB is a multi-user, multi-threaded SQL database server. It is a @@ -554,18 +544,6 @@ The RocksDB storage engine is used for high performance servers on SSD drives. %endif -%if %{with tokudb} -%package tokudb-engine -Summary: The TokuDB storage engine for MariaDB -Requires: %{name}-server%{?_isa} = %{sameevr} -BuildRequires: jemalloc-devel -Requires: jemalloc - -%description tokudb-engine -The TokuDB storage engine from Percona. -%endif - - %if %{with cracklib} %package cracklib-password-check Summary: The password strength checking plugin @@ -755,8 +733,6 @@ sources. find . -name "*.jar" -type f -exec rm --verbose -f {} \; # Remove testsuite for the mariadb-connector-c rm -rf libmariadb/unittest -# Remove python scripts remains from tokudb upstream (those files are not used anyway) -rm -rf storage/tokudb/mysql-test/tokudb/t/*.py %if %{without rocksdb} rm -r storage/rocksdb/ %endif @@ -876,7 +852,6 @@ fi -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DWITH_JEMALLOC=%{?with_tokudb:yes}%{!?with_tokudb:no} \ -DLZ4_LIBS=%{_libdir}/liblz4.so \ -DLZ4_LIBS=%{?with_lz4:%{_libdir}/liblz4.so}%{!?with_lz4:} \ -DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ @@ -886,7 +861,6 @@ fi -DPLUGIN_CRACKLIB_PASSWORD_CHECK=%{?with_cracklib:DYNAMIC}%{!?with_cracklib:NO} \ -DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \ -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ - -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ -DPLUGIN_S3=%{?with_s3:DYNAMIC}%{!?with_s3:NO} \ -DPLUGIN_CLIENT_ED25519=OFF \ @@ -1158,14 +1132,6 @@ rm %{buildroot}%{_mandir}/man1/mysql{access,admin,binlog,check,dump,_find_rows,i rm %{buildroot}%{_mandir}/man1/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}.1* %endif -%if %{with tokudb} -%if 0%{?fedora} || 0%{?rhel} > 7 -# Move the upstream file to the correct location -mkdir -p %{buildroot}%{_unitdir}/mariadb.service.d -mv %{buildroot}/etc/systemd/system/mariadb.service.d/tokudb.conf %{buildroot}%{_unitdir}/mariadb.service.d/tokudb.conf -%endif -%endif - %if %{without config} rm %{buildroot}%{_sysconfdir}/my.cnf %endif @@ -1457,7 +1423,6 @@ fi %{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so} %{?with_cracklib:%exclude %{_libdir}/%{pkg_name}/plugin/cracklib_password_check.so} %{?with_rocksdb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so} -%{?with_tokudb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so} %{?with_gssapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so} %{?with_sphinx:%exclude %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so} %{?with_s3:%exclude %{_libdir}/%{pkg_name}/plugin/ha_s3.so} @@ -1526,7 +1491,6 @@ fi %{_datadir}/%{pkg_name}/policy/selinux/mariadb.* %{_unitdir}/%{daemon_name}* -%{?with_tokudb:%exclude %{_unitdir}/mariadb.service.d/tokudb.conf} %{_libexecdir}/mariadb-prepare-db-dir %{_libexecdir}/mariadb-check-socket @@ -1569,17 +1533,6 @@ fi %{_mandir}/man1/myrocks_hotbackup.1* %endif -%if %{with tokudb} -%files tokudb-engine -%{_bindir}/tokuftdump -%{_bindir}/tokuft_logprint -%{_mandir}/man1/tokuftdump.1* -%{_mandir}/man1/tokuft_logprint.1* -%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf -%{_libdir}/%{pkg_name}/plugin/ha_tokudb.so -%{_unitdir}/mariadb.service.d/tokudb.conf -%endif - %if %{with gssapi} %files gssapi-server %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so From e96ef648ddf4bc11675896036815e4ff451484eb Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 14 May 2021 16:17:49 +0200 Subject: [PATCH 683/789] Explicitly disable building of the Columnstore SE until it is packed properly Undefined behaviour leads to the SE being built by default on systems that have the necessary devel package installed Resolves: #1960161 --- mariadb.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/mariadb.spec b/mariadb.spec index 8ac05ae..3494a41 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -863,6 +863,7 @@ fi -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ -DPLUGIN_S3=%{?with_s3:DYNAMIC}%{!?with_s3:NO} \ + -DPLUGIN_COLUMNSTORE=NO \ -DPLUGIN_CLIENT_ED25519=OFF \ -DPYTHON_SHEBANG=%{python_path} \ -DPLUGIN_CACHING_SHA2_PASSWORD=%{?with_clibrary:DYNAMIC}%{!?with_clibrary:OFF} \ From ad41c370571e1bad998bfd1463c0ccad6f1bc6e9 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 1 Jul 2021 09:23:24 +0200 Subject: [PATCH 684/789] Rebase to 10.5.11 --- mariadb.spec | 9 ++++++--- sources | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 3494a41..e8e4720 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -15,7 +15,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.5.10 +%global last_tested_version 10.5.11 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -153,8 +153,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.10 -Release: 2%{?with_debug:.debug}%{?dist} +Version: 10.5.11 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1635,6 +1635,9 @@ fi %endif %changelog +* Thu Jul 01 2021 Michal Schorm - 3:10.5.11-1 +- Rebase to 10.5.11 + * Wed May 12 2021 Michal Schorm - 3:10.5.10-2 - Use modified sources instead of the upstream original ones diff --git a/sources b/sources index 96df010..f821e92 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.10-downstream_modified.tar.gz) = ae21406df42a59c92be5e3aef5d4a25aedb54c0df363bd737987979adff5dfeaa6ce3f37c0892ddff032620f134b3a1ca14ecda229c60c777d68f7dbb02cd4f4 +SHA512 (mariadb-10.5.11-downstream_modified.tar.gz) = 64b43a284c728f1a0db5476df97d36df265b93fad9a593ba6ea3f3240dfa9251206a6c972534ac1dfeb58207e7d09b81ef796703c9d1fdb3b530fd81d6827c7e From f45390c986a605c989937ea55ad4781322465dbf Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Wed, 14 Jul 2021 11:10:13 +0200 Subject: [PATCH 685/789] Rebuild against pcre2-10.37 (bug #1965025) --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index e8e4720..12a1778 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -154,7 +154,7 @@ Name: mariadb Version: 10.5.11 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1635,6 +1635,9 @@ fi %endif %changelog +* Wed Jul 14 2021 Lukas Javorsky - 3:10.5.11-2 +- Rebuild against pcre2-10.37 (bug #1965025) + * Thu Jul 01 2021 Michal Schorm - 3:10.5.11-1 - Rebase to 10.5.11 From ff0b1ccf09d7a6cb16a4d8ff39dab06cbca983a6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 22 Jul 2021 13:45:05 +0000 Subject: [PATCH 686/789] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 12a1778..d090995 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -154,7 +154,7 @@ Name: mariadb Version: 10.5.11 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1635,6 +1635,9 @@ fi %endif %changelog +* Thu Jul 22 2021 Fedora Release Engineering - 3:10.5.11-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Wed Jul 14 2021 Lukas Javorsky - 3:10.5.11-2 - Rebuild against pcre2-10.37 (bug #1965025) From 565975983145835119d99ec4d87199226530cb4f Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Tue, 3 Aug 2021 15:18:59 +0200 Subject: [PATCH 687/789] Set user_map.conf file to be noreplace config file Related: BZ#1989534 --- mariadb.spec | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index d090995..06d92fc 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -154,7 +154,7 @@ Name: mariadb Version: 10.5.11 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -162,7 +162,7 @@ URL: http://mariadb.org License: GPLv2 and LGPLv2 # Original upstream sources archive URL -# Source0: https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz +# Source0: https://downloads.mariadb.org/interstitial/mariadb-%%{version}/source/mariadb-%%{version}.tar.gz # Non-existent URL containing correct archive name # The archive was created by executing the "generate-modified-sources.sh" script Source0: https://fedoraproject.org/mariadb-%{version}-downstream_modified.tar.gz @@ -1547,7 +1547,7 @@ fi # SUID-to-root binary. Access MUST be restricted (https://jira.mariadb.org/browse/MDEV-25126) %attr(4750,root,mysql) %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir/auth_pam_tool %{_libdir}/security/pam_user_map.so -%{_sysconfdir}/security/user_map.conf +%config(noreplace) %{_sysconfdir}/security/user_map.conf %endif %if %{with sphinx} @@ -1635,6 +1635,10 @@ fi %endif %changelog +* Tue Aug 03 2021 Lukas Javorsky - 3:10.5.11-4 +- Set user_map.conf file to be noreplace config file +- Related: BZ#1989534 + * Thu Jul 22 2021 Fedora Release Engineering - 3:10.5.11-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From eab3fb692c3ef783a17d9d55f6e675f879299429 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 6 Aug 2021 19:27:32 +0200 Subject: [PATCH 688/789] Revert a single change from the previous commit so that the commit #7f8a0e15a can be cleanly reverted, when the time comes. The commented "Source0" line in the #7f8a0e15a commit raises RPMLint warnings. While it is good to have the code without such warnings, the value of the clean revert of the whole #7f8a0e15a commit is higher. The RPMLint warning for "macro in a comment" is meant for cases, when the macro in the comment would be expanded to multiple lines. The additional lines won't be commented out as the original line with the unexpanded macros. That leads to an unwated code execution. The macro "%{version}" is a single line macro, so no real issue should arise here. --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 06d92fc..459a853 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -162,7 +162,7 @@ URL: http://mariadb.org License: GPLv2 and LGPLv2 # Original upstream sources archive URL -# Source0: https://downloads.mariadb.org/interstitial/mariadb-%%{version}/source/mariadb-%%{version}.tar.gz +# Source0: https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz # Non-existent URL containing correct archive name # The archive was created by executing the "generate-modified-sources.sh" script Source0: https://fedoraproject.org/mariadb-%{version}-downstream_modified.tar.gz From 778adde283253e75d74a18ba150e37929e07ef56 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 6 Aug 2021 19:45:53 +0200 Subject: [PATCH 689/789] Enhance the usage of the "echo" program to get better formated output --- mariadb.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 459a853..41c7445 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -778,7 +778,7 @@ pcre_version=`grep -e "ftp.pcre.org/pub/pcre/pcre2" cmake/pcre.cmake | sed -r "s # Check if the PCRE version in macro 'pcre_bundled_version', used in Provides: bundled(...), is the same version as upstream actually bundles %if %{without unbundled_pcre} if [ %{pcre_bundled_version} != "$pcre_version" ] ; then - echo "\n Error: Bundled PCRE version is not correct. \n\tBundled version number:%{pcre_bundled_version} \n\tUpstream version number: $pcre_version\n" + echo -e "\n Error: Bundled PCRE version is not correct. \n\tBundled version number:%{pcre_bundled_version} \n\tUpstream version number: $pcre_version\n" exit 1 fi %else @@ -786,7 +786,7 @@ fi pcre_system_version=`pkgconf %{_libdir}/pkgconfig/libpcre2-*.pc --modversion 2>/dev/null | head -n 1` if [ "$pcre_system_version" != "$pcre_version" ] ; then - echo "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_version\n" + echo -e "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_version\n" fi %endif @@ -1222,14 +1222,14 @@ export MTR_BUILD_THREAD=$(( $(date +%s) % 1100 )) if [[ "%{last_tested_version}" == "%{version}" ]] && [[ %{force_run_testsuite} -eq 0 ]] then # in further rebuilds only run the basic "main" suite (~800 tests) - echo "running only base testsuite" + echo -e "\n\nRunning just the base testsuite\n\n" perl ./mysql-test-run.pl $common_testsuite_arguments --ssl --suite=main --mem --skip-test-list=unstable-tests fi # If either this version wasn't marked as tested yet or I explicitly want to run the testsuite, run everything we have (~4000 test) if [[ "%{last_tested_version}" != "%{version}" ]] || [[ %{force_run_testsuite} -ne 0 ]] then - echo "running advanced testsuite" + echo -e "\n\nRunning the advanced testsuite\n\n" perl ./mysql-test-run.pl $common_testsuite_arguments --ssl --big-test --skip-test=spider \ %if %{ignore_testsuite_result} --max-test-fail=9999 || : From 8461c0e7913e6bbe8cf5c8952d231a2169ca3bbe Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 6 Aug 2021 19:26:52 +0200 Subject: [PATCH 690/789] Rebase to 10.5.12 --- mariadb.spec | 9 ++++++--- sources | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 41c7445..a5746a4 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -15,7 +15,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.5.11 +%global last_tested_version 10.5.12 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -153,8 +153,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.11 -Release: 4%{?with_debug:.debug}%{?dist} +Version: 10.5.12 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1635,6 +1635,9 @@ fi %endif %changelog +* Sat Aug 07 2021 Michal Schorm - 3:10.5.12-1 +- Rebase to 10.5.12 + * Tue Aug 03 2021 Lukas Javorsky - 3:10.5.11-4 - Set user_map.conf file to be noreplace config file - Related: BZ#1989534 diff --git a/sources b/sources index f821e92..e318830 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.11-downstream_modified.tar.gz) = 64b43a284c728f1a0db5476df97d36df265b93fad9a593ba6ea3f3240dfa9251206a6c972534ac1dfeb58207e7d09b81ef796703c9d1fdb3b530fd81d6827c7e +SHA512 (mariadb-10.5.12-downstream_modified.tar.gz) = a57a6f838966cb7b149837c2f4d59c53dd0678ffa6fec4ff49cbbf15f008f0bd951c317cd0303358ebf94ea432af4d26e7ba8a849da5650aa706083bd96d0250 From 3b8ee8379a6ad7e51e2fcaa768afb311b216986b Mon Sep 17 00:00:00 2001 From: Marek Kulik Date: Thu, 26 Aug 2021 12:57:36 +0200 Subject: [PATCH 691/789] Fix mysql_setpermission bug (#1976224) This patch fixes bug in mysql_setpermission perl script by adding conditionally port information to connections parameters. More information about this bug: https://bugzilla.redhat.com/show_bug.cgi?id=1976224 This bug has been fixed in upstream. Patch can be removed when new version with fix is released. https://github.com/MariaDB/server/pull/1896 --- mariadb-scripts-setpermission.patch | 30 +++++++++++++++++++++++++++++ mariadb.spec | 8 +++++++- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 mariadb-scripts-setpermission.patch diff --git a/mariadb-scripts-setpermission.patch b/mariadb-scripts-setpermission.patch new file mode 100644 index 0000000..58e07bd --- /dev/null +++ b/mariadb-scripts-setpermission.patch @@ -0,0 +1,30 @@ +This patch fixes bug in mysql_setpermission perl script +by adding conditionally port information to connections parameters. + +More information about this bug: https://bugzilla.redhat.com/show_bug.cgi?id=1976224 + +This bug has been fixed in upstream. +Patch can be removed when new version with fix is released. + +https://github.com/MariaDB/server/pull/1896 + +--- mariadb/scripts/mysql_setpermission_a.sh 2068-11-11 14:01:07.762595716 +0100 ++++ mariadb/scripts/mysql_setpermission.sh 2070-11-11 14:33:05.224012458 +0100 +@@ -105,11 +105,15 @@ + + if ($opt_socket and -S $opt_socket) + { +- $dsn .= "${prefix}_socket=$opt_socket"; ++ $dsn .= "${prefix}_socket=$opt_socket"; + } + else + { +- $dsn .= "host=$sqlhost;port=$opt_port"; ++ $dsn .= "host=$sqlhost"; ++ if ($sqlhost ne "localhost") ++ { ++ $dsn .= ";port=$opt_port"; ++ } + } + + # make the connection to MariaDB diff --git a/mariadb.spec b/mariadb.spec index a5746a4..efed13d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -154,7 +154,7 @@ Name: mariadb Version: 10.5.12 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -217,6 +217,8 @@ Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch Patch11: %{pkgnamepatch}-pcdir.patch # Patch15: Add option to edit groonga's and groonga-normalizer-mysql install path Patch15: %{pkgnamepatch}-groonga.patch +# Patch16: Fix port bug in mysql_setpermission perl script +Patch16: %{pkgnamepatch}-scripts-setpermission.patch BuildRequires: make BuildRequires: cmake gcc-c++ @@ -745,6 +747,7 @@ rm -r storage/rocksdb/ %patch10 -p1 %patch11 -p1 %patch15 -p1 +%patch16 -p1 # generate a list of tests that fail, but are not disabled by upstream cat %{SOURCE50} | tee -a mysql-test/unstable-tests @@ -1635,6 +1638,9 @@ fi %endif %changelog +* Thu Aug 26 2021 Marek Kulik - 3:10.5.12-2 +- Add patch for mysql_setpermissions: BZ#1976224 + * Sat Aug 07 2021 Michal Schorm - 3:10.5.12-1 - Rebase to 10.5.12 From 17657ce11963a27d943d812456d9f80a664575ea Mon Sep 17 00:00:00 2001 From: Sahana Prasad Date: Tue, 14 Sep 2021 19:07:41 +0200 Subject: [PATCH 692/789] Rebuilt with OpenSSL 3.0.0 --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index efed13d..e16f00b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -154,7 +154,7 @@ Name: mariadb Version: 10.5.12 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1638,6 +1638,9 @@ fi %endif %changelog +* Tue Sep 14 2021 Sahana Prasad - 3:10.5.12-3 +- Rebuilt with OpenSSL 3.0.0 + * Thu Aug 26 2021 Marek Kulik - 3:10.5.12-2 - Add patch for mysql_setpermissions: BZ#1976224 From b3e0e11edd8abe2f038f2675c714ae3bcaaa1eb2 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Thu, 25 Nov 2021 10:36:39 +0100 Subject: [PATCH 693/789] Disable dtrace for the arm architecture due to FTBFS during gcc compiling Temporary workaround for BZ#2026600 Problem with the GCC is already beeing discussed in upstream's Bugzilla https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103395 This commit should be reverted when the GCC fixes the issue on their side --- mariadb.spec | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index e16f00b..c8d8953 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -845,7 +845,11 @@ fi -DGRN_DATA_DIR=share/%{name}-server/groonga \ -DGROONGA_NORMALIZER_MYSQL_PROJECT_NAME=%{name}-server/groonga-normalizer-mysql \ -DENABLED_LOCAL_INFILE=ON \ + %ifarch %{arm} + -DENABLE_DTRACE=OFF \ + %else -DENABLE_DTRACE=ON \ + %endif -DSECURITY_HARDENED=ON \ -DWITH_WSREP=%{?with_galera:ON}%{!?with_galera:OFF} \ -DWITH_INNODB_DISALLOW_WRITES=%{?with_galera:ON}%{!?with_galera:OFF} \ @@ -875,6 +879,10 @@ fi -DCONNECT_WITH_JDBC=OFF \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} +# The DTRACE option started to fail on the armv7hl architecture. +# This issue is already beeing discussed in the GCC upstream bugzilla. +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103395 +# Whenever this issue is fixed in the GCC, we can enable the DTRACE for ARM again. CFLAGS="$CFLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" # force PIC mode so that we can build libmysqld.so From f443a82bd6bbc933ef69683727698dcf1b5cc5c1 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 1 Dec 2021 11:47:06 +0100 Subject: [PATCH 694/789] Apply OpenSSL 3 patch picked from the upstream developement branch for MariaDB 10.8 --- mariadb-openssl3.patch | 378 +++++++++++++++++++++++++++++++++++++++++ mariadb.spec | 7 + 2 files changed, 385 insertions(+) create mode 100644 mariadb-openssl3.patch diff --git a/mariadb-openssl3.patch b/mariadb-openssl3.patch new file mode 100644 index 0000000..0b69969 --- /dev/null +++ b/mariadb-openssl3.patch @@ -0,0 +1,378 @@ +From c80991c79f701dac42c630af4bd39593b0c7efb4 Mon Sep 17 00:00:00 2001 +From: Vladislav Vaintroub +Date: Mon, 8 Nov 2021 18:48:19 +0100 +Subject: [PATCH] MDEV-25785 Add support for OpenSSL 3.0 + +Summary of changes + +- MD_CTX_SIZE is increased + +- EVP_CIPHER_CTX_buf_noconst(ctx) does not work anymore, points + to nobody knows where. The assumption made previously was that + (since the function does not seem to be documented) + was that it points to the last partial source block. + Add own partial block buffer for NOPAD encryption instead + +- SECLEVEL in CipherString in openssl.cnf + had been downgraded to 0, from 1, to make TLSv1.0 and TLSv1.1 possible + +- Workaround Ssl_cipher_list issue, it now returns TLSv1.3 ciphers, + in addition to what was set in --ssl-cipher + +- ctx_buf buffer now must be aligned to 16 bytes with openssl( + previously with WolfSSL only), ot crashes will happen + +- updated aes-t , to be better debuggable + using function, rather than a huge multiline macro + added test that does "nopad" encryption piece-wise, to test + replacement of EVP_CIPHER_CTX_buf_noconst +--- + cmake/ssl.cmake | 19 ++++- + include/ssl_compat.h | 3 +- + mysql-test/lib/openssl.cnf | 2 +- + mysql-test/main/ssl_cipher.result | 6 +- + mysql-test/main/ssl_cipher.test | 2 +- + mysys_ssl/my_crypt.cc | 46 +++++++----- + unittest/mysys/aes-t.c | 121 ++++++++++++++++++++++-------- + 7 files changed, 141 insertions(+), 58 deletions(-) + + +diff -up mariadb-10.5.12-downstream_modified/cmake/ssl.cmake.patch16 mariadb-10.5.12-downstream_modified/cmake/ssl.cmake +--- mariadb-10.5.12-downstream_modified/cmake/ssl.cmake.patch16 2021-08-03 10:29:07.000000000 +0200 ++++ mariadb-10.5.12-downstream_modified/cmake/ssl.cmake 2021-11-18 16:58:41.552440737 +0100 +@@ -139,9 +139,20 @@ MACRO (MYSQL_CHECK_SSL) + SET(SSL_INTERNAL_INCLUDE_DIRS "") + SET(SSL_DEFINES "-DHAVE_OPENSSL") + ++ FOREACH(x INCLUDES LIBRARIES DEFINITIONS) ++ SET(SAVE_CMAKE_REQUIRED_${x} ${CMAKE_REQUIRED_${x}}) ++ ENDFOREACH() ++ ++ # Silence "deprecated in OpenSSL 3.0" ++ IF((NOT OPENSSL_VERSION) # 3.0 not determined by older cmake ++ OR NOT(OPENSSL_VERSION VERSION_LESS "3.0.0")) ++ SET(SSL_DEFINES "${SSL_DEFINES} -DOPENSSL_API_COMPAT=0x10100000L") ++ SET(CMAKE_REQUIRED_DEFINITIONS -DOPENSSL_API_COMPAT=0x10100000L) ++ ENDIF() ++ + SET(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR}) + SET(CMAKE_REQUIRED_LIBRARIES ${SSL_LIBRARIES}) +- SET(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR}) ++ + CHECK_SYMBOL_EXISTS(ERR_remove_thread_state "openssl/err.h" + HAVE_ERR_remove_thread_state) + CHECK_SYMBOL_EXISTS(EVP_aes_128_ctr "openssl/evp.h" +@@ -150,8 +161,10 @@ MACRO (MYSQL_CHECK_SSL) + HAVE_EncryptAes128Gcm) + CHECK_SYMBOL_EXISTS(X509_check_host "openssl/x509v3.h" + HAVE_X509_check_host) +- SET(CMAKE_REQUIRED_INCLUDES) +- SET(CMAKE_REQUIRED_LIBRARIES) ++ ++ FOREACH(x INCLUDES LIBRARIES DEFINITIONS) ++ SET(CMAKE_REQUIRED_${x} ${SAVE_CMAKE_REQUIRED_${x}}) ++ ENDFOREACH() + ELSE() + IF(WITH_SSL STREQUAL "system") + MESSAGE(FATAL_ERROR "Cannot find appropriate system libraries for SSL. Use WITH_SSL=bundled to enable SSL support") +diff -up mariadb-10.5.12-downstream_modified/include/ssl_compat.h.patch16 mariadb-10.5.12-downstream_modified/include/ssl_compat.h +--- mariadb-10.5.12-downstream_modified/include/ssl_compat.h.patch16 2021-08-03 10:29:07.000000000 +0200 ++++ mariadb-10.5.12-downstream_modified/include/ssl_compat.h 2021-11-18 16:58:41.552440737 +0100 +@@ -24,7 +24,7 @@ + #define SSL_LIBRARY OpenSSL_version(OPENSSL_VERSION) + #define ERR_remove_state(X) ERR_clear_error() + #define EVP_CIPHER_CTX_SIZE 176 +-#define EVP_MD_CTX_SIZE 48 ++#define EVP_MD_CTX_SIZE 72 + #undef EVP_MD_CTX_init + #define EVP_MD_CTX_init(X) do { memset((X), 0, EVP_MD_CTX_SIZE); EVP_MD_CTX_reset(X); } while(0) + #undef EVP_CIPHER_CTX_init +@@ -74,7 +74,6 @@ + #endif + + #define DH_set0_pqg(D,P,Q,G) ((D)->p= (P), (D)->g= (G)) +-#define EVP_CIPHER_CTX_buf_noconst(ctx) ((ctx)->buf) + #define EVP_CIPHER_CTX_encrypting(ctx) ((ctx)->encrypt) + #define EVP_CIPHER_CTX_SIZE sizeof(EVP_CIPHER_CTX) + +diff -up mariadb-10.5.12-downstream_modified/mysql-test/lib/openssl.cnf.patch16 mariadb-10.5.12-downstream_modified/mysql-test/lib/openssl.cnf +--- mariadb-10.5.12-downstream_modified/mysql-test/lib/openssl.cnf.patch16 2021-08-03 10:29:07.000000000 +0200 ++++ mariadb-10.5.12-downstream_modified/mysql-test/lib/openssl.cnf 2021-11-18 16:58:41.552440737 +0100 +@@ -9,4 +9,4 @@ ssl_conf = ssl_section + system_default = system_default_section + + [system_default_section] +-CipherString = ALL:@SECLEVEL=1 ++CipherString = ALL:@SECLEVEL=0 +diff -up mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.result.patch16 mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.result +--- mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.result.patch16 2021-08-03 10:29:08.000000000 +0200 ++++ mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.result 2021-11-18 16:58:41.552440737 +0100 +@@ -61,8 +61,8 @@ connect ssl_con,localhost,root,,,,,SSL; + SHOW STATUS LIKE 'Ssl_cipher'; + Variable_name Value + Ssl_cipher AES128-SHA +-SHOW STATUS LIKE 'Ssl_cipher_list'; +-Variable_name Value +-Ssl_cipher_list AES128-SHA ++SELECT VARIABLE_VALUE like '%AES128-SHA%' FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME='Ssl_cipher_list'; ++VARIABLE_VALUE like '%AES128-SHA%' ++1 + disconnect ssl_con; + connection default; +diff -up mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.test.patch16 mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.test +--- mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.test.patch16 2021-11-18 16:58:41.552440737 +0100 ++++ mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.test 2021-11-18 17:00:47.753839711 +0100 +@@ -100,6 +100,6 @@ connect (ssl_con,localhost,root,,,,,SSL) + --replace_regex /TLS_AES_.*/AES128-SHA/ + SHOW STATUS LIKE 'Ssl_cipher'; + --replace_regex /TLS_AES_.*/AES128-SHA/ +-SHOW STATUS LIKE 'Ssl_cipher_list'; ++SELECT VARIABLE_VALUE like '%AES128-SHA%' FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME='Ssl_cipher_list'; + disconnect ssl_con; + connection default; +diff -up mariadb-10.5.12-downstream_modified/mysys_ssl/my_crypt.cc.patch16 mariadb-10.5.12-downstream_modified/mysys_ssl/my_crypt.cc +--- mariadb-10.5.12-downstream_modified/mysys_ssl/my_crypt.cc.patch16 2021-08-03 10:29:08.000000000 +0200 ++++ mariadb-10.5.12-downstream_modified/mysys_ssl/my_crypt.cc 2021-11-18 16:58:41.552440737 +0100 +@@ -29,11 +29,7 @@ + #include + #include + +-#ifdef HAVE_WOLFSSL + #define CTX_ALIGN 16 +-#else +-#define CTX_ALIGN 0 +-#endif + + class MyCTX + { +@@ -100,8 +96,9 @@ class MyCTX_nopad : public MyCTX + { + public: + const uchar *key; +- uint klen, buf_len; ++ uint klen, source_tail_len; + uchar oiv[MY_AES_BLOCK_SIZE]; ++ uchar source_tail[MY_AES_BLOCK_SIZE]; + + MyCTX_nopad() : MyCTX() { } + ~MyCTX_nopad() { } +@@ -112,7 +109,7 @@ public: + compile_time_assert(MY_AES_CTX_SIZE >= sizeof(MyCTX_nopad)); + this->key= key; + this->klen= klen; +- this->buf_len= 0; ++ this->source_tail_len= 0; + if (ivlen) + memcpy(oiv, iv, ivlen); + DBUG_ASSERT(ivlen == 0 || ivlen == sizeof(oiv)); +@@ -123,26 +120,41 @@ public: + return res; + } + ++ /** Update last partial source block, stored in source_tail array. */ ++ void update_source_tail(const uchar* src, uint slen) ++ { ++ if (!slen) ++ return; ++ uint new_tail_len= (source_tail_len + slen) % MY_AES_BLOCK_SIZE; ++ if (new_tail_len) ++ { ++ if (slen + source_tail_len < MY_AES_BLOCK_SIZE) ++ { ++ memcpy(source_tail + source_tail_len, src, slen); ++ } ++ else ++ { ++ DBUG_ASSERT(slen > new_tail_len); ++ memcpy(source_tail, src + slen - new_tail_len, new_tail_len); ++ } ++ } ++ source_tail_len= new_tail_len; ++ } ++ + int update(const uchar *src, uint slen, uchar *dst, uint *dlen) + { +- buf_len+= slen; ++ update_source_tail(src, slen); + return MyCTX::update(src, slen, dst, dlen); + } + + int finish(uchar *dst, uint *dlen) + { +- buf_len %= MY_AES_BLOCK_SIZE; +- if (buf_len) ++ if (source_tail_len) + { +- uchar *buf= EVP_CIPHER_CTX_buf_noconst(ctx); + /* + Not much we can do, block ciphers cannot encrypt data that aren't + a multiple of the block length. At least not without padding. + Let's do something CTR-like for the last partial block. +- +- NOTE this assumes that there are only buf_len bytes in the buf. +- If OpenSSL will change that, we'll need to change the implementation +- of this class too. + */ + uchar mask[MY_AES_BLOCK_SIZE]; + uint mlen; +@@ -154,10 +166,10 @@ public: + return rc; + DBUG_ASSERT(mlen == sizeof(mask)); + +- for (uint i=0; i < buf_len; i++) +- dst[i]= buf[i] ^ mask[i]; ++ for (uint i=0; i < source_tail_len; i++) ++ dst[i]= source_tail[i] ^ mask[i]; + } +- *dlen= buf_len; ++ *dlen= source_tail_len; + return MY_AES_OK; + } + }; +diff -up mariadb-10.5.12-downstream_modified/unittest/mysys/aes-t.c.patch16 mariadb-10.5.12-downstream_modified/unittest/mysys/aes-t.c +--- mariadb-10.5.12-downstream_modified/unittest/mysys/aes-t.c.patch16 2021-08-03 10:29:10.000000000 +0200 ++++ mariadb-10.5.12-downstream_modified/unittest/mysys/aes-t.c 2021-11-18 16:58:41.553440740 +0100 +@@ -21,27 +21,96 @@ + #include + #include + +-#define DO_TEST(mode, nopad, slen, fill, dlen, hash) \ +- SKIP_BLOCK_IF(mode == 0xDEADBEAF, nopad ? 4 : 5, #mode " not supported") \ +- { \ +- memset(src, fill, src_len= slen); \ +- ok(my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_ENCRYPT, \ +- src, src_len, dst, &dst_len, \ +- key, sizeof(key), iv, sizeof(iv)) == MY_AES_OK, \ +- "encrypt " #mode " %u %s", src_len, nopad ? "nopad" : "pad"); \ +- if (!nopad) \ +- ok (dst_len == my_aes_get_size(mode, src_len), "my_aes_get_size");\ +- my_md5(md5, (char*)dst, dst_len); \ +- ok(dst_len == dlen && memcmp(md5, hash, sizeof(md5)) == 0, "md5"); \ +- ok(my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_DECRYPT, \ +- dst, dst_len, ddst, &ddst_len, \ +- key, sizeof(key), iv, sizeof(iv)) == MY_AES_OK, \ +- "decrypt " #mode " %u", dst_len); \ +- ok(ddst_len == src_len && memcmp(src, ddst, src_len) == 0, "memcmp"); \ ++ ++/** Test streaming encryption, bytewise update.*/ ++static int aes_crypt_bytewise(enum my_aes_mode mode, int flags, const unsigned char *src, ++ unsigned int slen, unsigned char *dst, unsigned int *dlen, ++ const unsigned char *key, unsigned int klen, ++ const unsigned char *iv, unsigned int ivlen) ++{ ++ /* Allocate context on odd address on stack, in order to ++ catch misalignment errors.*/ ++ void *ctx= (char *)alloca(MY_AES_CTX_SIZE+1)+1; ++ ++ int res1, res2; ++ uint d1= 0, d2; ++ uint i; ++ ++ if ((res1= my_aes_crypt_init(ctx, mode, flags, key, klen, iv, ivlen))) ++ return res1; ++ for (i= 0; i < slen; i++) ++ { ++ uint tmp_d1=0; ++ res1= my_aes_crypt_update(ctx, src+i,1, dst, &tmp_d1); ++ if (res1) ++ return res1; ++ d1+= tmp_d1; ++ dst+= tmp_d1; ++ } ++ res2= my_aes_crypt_finish(ctx, dst, &d2); ++ *dlen= d1 + d2; ++ return res1 ? res1 : res2; ++} ++ ++ ++#ifndef HAVE_EncryptAes128Ctr ++const uint MY_AES_CTR=0xDEADBEAF; ++#endif ++#ifndef HAVE_EncryptAes128Gcm ++const uint MY_AES_GCM=0xDEADBEAF; ++#endif ++ ++#define MY_AES_UNSUPPORTED(x) (x == 0xDEADBEAF) ++ ++static void do_test(uint mode, const char *mode_str, int nopad, uint slen, ++ char fill, size_t dlen, const char *hash) ++{ ++ uchar key[16]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6}; ++ uchar iv[16]= {2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7}; ++ uchar src[1000], dst[1100], dst2[1100], ddst[1000]; ++ uchar md5[MY_MD5_HASH_SIZE]; ++ uint src_len, dst_len, dst_len2, ddst_len; ++ int result; ++ ++ if (MY_AES_UNSUPPORTED(mode)) ++ { ++ skip(nopad?7:6, "%s not supported", mode_str); ++ return; ++ } ++ memset(src, fill, src_len= slen); ++ result= my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_ENCRYPT, src, src_len, ++ dst, &dst_len, key, sizeof(key), iv, sizeof(iv)); ++ ok(result == MY_AES_OK, "encrypt %s %u %s", mode_str, src_len, ++ nopad ? "nopad" : "pad"); ++ ++ if (nopad) ++ { ++ result= aes_crypt_bytewise(mode, nopad | ENCRYPTION_FLAG_ENCRYPT, src, ++ src_len, dst2, &dst_len2, key, sizeof(key), ++ iv, sizeof(iv)); ++ ok(result == MY_AES_OK, "encrypt bytewise %s %u", mode_str, src_len); ++ /* Compare with non-bytewise encryption result*/ ++ ok(dst_len == dst_len2 && memcmp(dst, dst2, dst_len) == 0, ++ "memcmp bytewise %s %u", mode_str, src_len); + } ++ else ++ { ++ int dst_len_real= my_aes_get_size(mode, src_len); ++ ok(dst_len_real= dst_len, "my_aes_get_size"); ++ } ++ my_md5(md5, (char *) dst, dst_len); ++ ok(dst_len == dlen, "md5 len"); ++ ok(memcmp(md5, hash, sizeof(md5)) == 0, "md5"); ++ result= my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_DECRYPT, ++ dst, dst_len, ddst, &ddst_len, key, sizeof(key), iv, ++ sizeof(iv)); ++ ++ ok(result == MY_AES_OK, "decrypt %s %u", mode_str, dst_len); ++ ok(ddst_len == src_len && memcmp(src, ddst, src_len) == 0, "memcmp"); ++} + +-#define DO_TEST_P(M,S,F,D,H) DO_TEST(M,0,S,F,D,H) +-#define DO_TEST_N(M,S,F,D,H) DO_TEST(M,ENCRYPTION_FLAG_NOPAD,S,F,D,H) ++#define DO_TEST_P(M, S, F, D, H) do_test(M, #M, 0, S, F, D, H) ++#define DO_TEST_N(M, S, F, D, H) do_test(M, #M, ENCRYPTION_FLAG_NOPAD, S, F, D, H) + + /* useful macro for debugging */ + #define PRINT_MD5() \ +@@ -53,25 +122,15 @@ + printf("\"\n"); \ + } while(0); + +-#ifndef HAVE_EncryptAes128Ctr +-const uint MY_AES_CTR=0xDEADBEAF; +-#endif +-#ifndef HAVE_EncryptAes128Gcm +-const uint MY_AES_GCM=0xDEADBEAF; +-#endif + + int + main(int argc __attribute__((unused)),char *argv[]) + { +- uchar key[16]= {1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6}; +- uchar iv[16]= {2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7}; +- uchar src[1000], dst[1100], ddst[1000]; +- uchar md5[MY_MD5_HASH_SIZE]; +- uint src_len, dst_len, ddst_len; + + MY_INIT(argv[0]); + +- plan(87); ++ plan(122); ++ + DO_TEST_P(MY_AES_ECB, 200, '.', 208, "\xd8\x73\x8e\x3a\xbc\x66\x99\x13\x7f\x90\x23\x52\xee\x97\x6f\x9a"); + DO_TEST_P(MY_AES_ECB, 128, '?', 144, "\x19\x58\x33\x85\x4c\xaa\x7f\x06\xd1\xb2\xec\xd7\xb7\x6a\xa9\x5b"); + DO_TEST_P(MY_AES_CBC, 159, '%', 160, "\x4b\x03\x18\x3d\xf1\xa7\xcd\xa1\x46\xb3\xc6\x8a\x92\xc0\x0f\xc9"); diff --git a/mariadb.spec b/mariadb.spec index c8d8953..f939634 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -204,6 +204,10 @@ Source71: LICENSE.clustercheck # https://jira.mariadb.org/browse/MDEV-12646 Source72: mariadb-server-galera.te +# Patch1: OpenSSL 3 patch +# Picked from the upstream developement branch for MariaDB 10.8. +# https://jira.mariadb.org/browse/MDEV-25785 +Patch1: %{pkgnamepatch}-openssl3.patch # Patch4: Red Hat distributions specific logrotate fix # it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2 Patch4: %{pkgnamepatch}-logrotate.patch @@ -741,6 +745,9 @@ rm -r storage/rocksdb/ +%if 0%{?fedora} >= 35 || 0%{?rhel} >= 9 +%patch1 -p1 +%endif %patch4 -p1 %patch7 -p1 %patch9 -p1 From 866cfb97a481d87ce997579a22d430d6e2d6e4b8 Mon Sep 17 00:00:00 2001 From: Zuzana Miklankova Date: Mon, 8 Nov 2021 15:16:07 +0100 Subject: [PATCH 695/789] Add ignorefiles for xmllint rpminspect check based on https://lists.launchpad.net/maria-discuss/msg06133.html discussion are all the invalid xmls (except for Index.xml) present in the sources on purpose and the xmllint check can be thus disabled in the CI process. All of xmlfiles, whose warnings are being supressed with this commit are being used for testing. A bug report [https://jira.mariadb.org/browse/MDEV-26905] was created for the Index.xml file. Fedora CI picks up the rpmlimspect.yaml for specific package in the dist-git repo [ref: https://rpminspect.readthedocs.io/en/latest/configuration.html#rpminspect-yaml ] Replace xmllint shutdown with ignoring specific xmls in the xml check --- rpminspect.yaml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 rpminspect.yaml diff --git a/rpminspect.yaml b/rpminspect.yaml new file mode 100644 index 0000000..30a9790 --- /dev/null +++ b/rpminspect.yaml @@ -0,0 +1,17 @@ +# based on https://lists.launchpad.net/maria-discuss/msg06133.html discussion +# are the invalid xmls (except for Index.xml) present in the sources on purpose +# and they can be removed from xmllint rpminspect check in the CI process. +# +# A bug report [https://jira.mariadb.org/browse/MDEV-26905] was created for the +# Index.xml file. +# +# Fedora CI picks up the rpmlimspect.yaml for specific package in the dist-git repo +#[ref: https://rpminspect.readthedocs.io/en/latest/configuration.html#rpminspect-yaml] +# +xml: + ignore: + - /usr/share/mysql-test/std_data/loadxml.dat + - /usr/share/mysql-test/std_data/loaddata/mdev9874.xml + - /usr/share/mysql-test/std_data/ldml/Index.xml + - /usr/share/mysql-test/plugin/sphinx/sphinx/testdata.xml + - /usr/share/mysql-test/plugin/connect/connect/std_data/nocs.xml From cf60f44fa1158ebd608cc90c57604265c8289a66 Mon Sep 17 00:00:00 2001 From: Zuzana Miklankova Date: Mon, 22 Nov 2021 14:01:05 +0100 Subject: [PATCH 696/789] Disable badfunct rpinspect CI check for /usr/bin/resolveip, BZ1973194 Resolveip binary is only used in mysql_install_db.sh script, and only in non-"--rpm" mode [1]. However, we call this script with "--rpm" option enabled, and thus the resolveip is not used [2], and its badfuncs check can be disabled. [3] [1] https://gitlab.com/redhat/centos-stream/rpms/mariadb/-/blob/c9s/mariadb-prepare-db-dir.sh#L100 [2] https://github.com/MariaDB/server/blob/5566cbadb03856aba9c236b131f544490cd2bee4/scripts/mysql_install_db.sh#L425-L441 [3] https://bugzilla.redhat.com/show_bug.cgi?id=1973194#c4 --- rpminspect.yaml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/rpminspect.yaml b/rpminspect.yaml index 30a9790..0d4b1fe 100644 --- a/rpminspect.yaml +++ b/rpminspect.yaml @@ -15,3 +15,27 @@ xml: - /usr/share/mysql-test/std_data/ldml/Index.xml - /usr/share/mysql-test/plugin/sphinx/sphinx/testdata.xml - /usr/share/mysql-test/plugin/connect/connect/std_data/nocs.xml + +# ignore bad functions in resolveip binary, based on BZ1973194 +# all forbidden functions listed in main rpminspect config +# have to be menioned also here, else it would not be checked for them +badfuncs: + - gethostbyname + - gethostbyname2 + - gethostbyaddr + - inet_addr + - inet_aton + - inet_nsap_addr + - inet_ntoa + - inet_nsap_ntoa + - inet_makeaddr + - inet_netof + - inet_network + - inet_neta + - inet_net_ntop + - inet_net_pton + - rcmd + - rexec + - rresvport + ignore: + - /usr/bin/resolveip From 9fa16bbeccd76b1c62f8449bd9973cc65bfb056f Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 1 Dec 2021 14:24:29 +0100 Subject: [PATCH 697/789] Fix OpenSSL 3 patch It has to be applied AFTER the mariadb-ssl-cipher-tests.patch --- mariadb.spec | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index f939634..2e3dfaa 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -204,10 +204,6 @@ Source71: LICENSE.clustercheck # https://jira.mariadb.org/browse/MDEV-12646 Source72: mariadb-server-galera.te -# Patch1: OpenSSL 3 patch -# Picked from the upstream developement branch for MariaDB 10.8. -# https://jira.mariadb.org/browse/MDEV-25785 -Patch1: %{pkgnamepatch}-openssl3.patch # Patch4: Red Hat distributions specific logrotate fix # it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2 Patch4: %{pkgnamepatch}-logrotate.patch @@ -219,6 +215,10 @@ Patch9: %{pkgnamepatch}-ownsetup.patch Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch # Patch11: Use PCDIR CMake option, if configured Patch11: %{pkgnamepatch}-pcdir.patch +# Patch12: OpenSSL 3 patch +# Picked from the upstream developement branch for MariaDB 10.8. +# https://jira.mariadb.org/browse/MDEV-25785 +Patch12: %{pkgnamepatch}-openssl3.patch # Patch15: Add option to edit groonga's and groonga-normalizer-mysql install path Patch15: %{pkgnamepatch}-groonga.patch # Patch16: Fix port bug in mysql_setpermission perl script @@ -745,14 +745,14 @@ rm -r storage/rocksdb/ -%if 0%{?fedora} >= 35 || 0%{?rhel} >= 9 -%patch1 -p1 -%endif %patch4 -p1 %patch7 -p1 %patch9 -p1 %patch10 -p1 %patch11 -p1 +%if 0%{?fedora} >= 35 || 0%{?rhel} >= 9 +%patch12 -p1 +%endif %patch15 -p1 %patch16 -p1 From 643c233529588b032648d871ffc1e217a46ee351 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 1 Dec 2021 14:27:13 +0100 Subject: [PATCH 698/789] Enable LTO Resolves: #1994993 --- mariadb.spec | 5 ----- 1 file changed, 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 2e3dfaa..77d1f60 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -803,11 +803,6 @@ fi %build -# This package has static probe points which do not currently -# work with LTO and result in undefined symbols at link time. -# This is being worked on in upstream GCC -%define _lto_cflags %{nil} - # fail quickly and obviously if user tries to build as root %if %runselftest if [ x"$(id -u)" = "x0" ]; then From 314d2bf8f0808018cd72d5b458fabbf68f4e35a1 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 2 Dec 2021 11:16:46 +0100 Subject: [PATCH 699/789] Rebase to 10.5.13 - Full testsuite checked - Patch 16 upstreamed --- mariadb.spec | 12 ++++++------ rh-skipped-tests-base.list | 12 ++++++++++++ sources | 2 +- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 77d1f60..0cf5b34 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -15,7 +15,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.5.12 +%global last_tested_version 10.5.13 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -153,8 +153,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.12 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 10.5.13 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -221,8 +221,6 @@ Patch11: %{pkgnamepatch}-pcdir.patch Patch12: %{pkgnamepatch}-openssl3.patch # Patch15: Add option to edit groonga's and groonga-normalizer-mysql install path Patch15: %{pkgnamepatch}-groonga.patch -# Patch16: Fix port bug in mysql_setpermission perl script -Patch16: %{pkgnamepatch}-scripts-setpermission.patch BuildRequires: make BuildRequires: cmake gcc-c++ @@ -754,7 +752,6 @@ rm -r storage/rocksdb/ %patch12 -p1 %endif %patch15 -p1 -%patch16 -p1 # generate a list of tests that fail, but are not disabled by upstream cat %{SOURCE50} | tee -a mysql-test/unstable-tests @@ -1648,6 +1645,9 @@ fi %endif %changelog +* Thu Dec 02 2021 Michal Schorm - 3:10.5.13-1 +- Rebase to 10.5.13 + * Tue Sep 14 2021 Sahana Prasad - 3:10.5.12-3 - Rebuilt with OpenSSL 3.0.0 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index a0bb6a8..9a1e7af 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -52,3 +52,15 @@ main.ssl_system_ca : # Fails since 10.5.7 innodb.innodb_wl6326_big : plugins.feedback_plugin_load : + +# Fails on all architectures since 10.5.13 +oqgraph.regression_mdev6345 : +type_test.type_test_double : +# Fails on i686 since 10.5.13 +oqgraph.general-innodb : +oqgraph.general-Aria : +oqgraph.general-MyISAM : +oqgraph.legacy_upgrade : +oqgraph.regression_1133093 : +oqgraph.regression_1196036 : +oqgraph.regression_1213120 : diff --git a/sources b/sources index e318830..c0f955c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.12-downstream_modified.tar.gz) = a57a6f838966cb7b149837c2f4d59c53dd0678ffa6fec4ff49cbbf15f008f0bd951c317cd0303358ebf94ea432af4d26e7ba8a849da5650aa706083bd96d0250 +SHA512 (mariadb-10.5.13-downstream_modified.tar.gz) = e8b8dce731d2dd3b3d1f5109cc811db8554d10f8269f11f40fcbf62fa0e0f0d1c18bc3b28b8017c28dcfcee96024b18e5489f50cc270a93e4bedd9ea49db08c6 From fc088dbe495e5745801d8dfc9fb0e868b874b7ab Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Thu, 16 Dec 2021 12:34:44 +0100 Subject: [PATCH 700/789] Revert "Disable dtrace for the arm architecture due to FTBFS during gcc compiling" This reverts commit b3e0e11edd8abe2f038f2675c714ae3bcaaa1eb2. The issue in systemtap is fixed now https://sourceware.org/git/?p=systemtap.git;a=commit;h=34facf7ee6b43dae66cc109973a4eda42e439163 --- mariadb.spec | 8 -------- 1 file changed, 8 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 0cf5b34..34797a9 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -844,11 +844,7 @@ fi -DGRN_DATA_DIR=share/%{name}-server/groonga \ -DGROONGA_NORMALIZER_MYSQL_PROJECT_NAME=%{name}-server/groonga-normalizer-mysql \ -DENABLED_LOCAL_INFILE=ON \ - %ifarch %{arm} - -DENABLE_DTRACE=OFF \ - %else -DENABLE_DTRACE=ON \ - %endif -DSECURITY_HARDENED=ON \ -DWITH_WSREP=%{?with_galera:ON}%{!?with_galera:OFF} \ -DWITH_INNODB_DISALLOW_WRITES=%{?with_galera:ON}%{!?with_galera:OFF} \ @@ -878,10 +874,6 @@ fi -DCONNECT_WITH_JDBC=OFF \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} -# The DTRACE option started to fail on the armv7hl architecture. -# This issue is already beeing discussed in the GCC upstream bugzilla. -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103395 -# Whenever this issue is fixed in the GCC, we can enable the DTRACE for ARM again. CFLAGS="$CFLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" # force PIC mode so that we can build libmysqld.so From 98fafb1bc74fe7557b14268bcc4bdc26d5b5d655 Mon Sep 17 00:00:00 2001 From: Zuzana Miklankova Date: Wed, 12 Jan 2022 08:49:06 +0100 Subject: [PATCH 701/789] Whitelisting file Index.xml from rpminspect xml check Reason is, that the bug is already reported on upstream: https://jira.mariadb.org/browse/MDEV-26905. Also we currently do not know how to fix it. If we eventually figure out how to fix this bug, then the patch would be submitted directly to the upstream, rather than to downstream, to avoid unintentionally breaking some code that relied on the malformed XML. --- rpminspect.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rpminspect.yaml b/rpminspect.yaml index 0d4b1fe..e8e8bf7 100644 --- a/rpminspect.yaml +++ b/rpminspect.yaml @@ -2,8 +2,8 @@ # are the invalid xmls (except for Index.xml) present in the sources on purpose # and they can be removed from xmllint rpminspect check in the CI process. # -# A bug report [https://jira.mariadb.org/browse/MDEV-26905] was created for the -# Index.xml file. +# A bug report [https://jira.mariadb.org/browse/MDEV-26905] was created in the upstream +# for the Index.xml file. # # Fedora CI picks up the rpmlimspect.yaml for specific package in the dist-git repo #[ref: https://rpminspect.readthedocs.io/en/latest/configuration.html#rpminspect-yaml] @@ -15,6 +15,7 @@ xml: - /usr/share/mysql-test/std_data/ldml/Index.xml - /usr/share/mysql-test/plugin/sphinx/sphinx/testdata.xml - /usr/share/mysql-test/plugin/connect/connect/std_data/nocs.xml + - /usr/share/mariadb/charsets/Index.xml # ignore bad functions in resolveip binary, based on BZ1973194 # all forbidden functions listed in main rpminspect config From b8157c3994243be2d87429bfe7088893db543a8e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 13 Jan 2022 12:47:09 +0100 Subject: [PATCH 702/789] Fix the regular expression used to pick up the PCRE2 version the upstream bundles Upstream changed the URL from which they download the PCRE2 tarball --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 34797a9..3d8edb3 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -780,7 +780,7 @@ sed 's/mariadb-server-galera/%{name}-server-galera/' %{SOURCE72} > selinux/%{nam # Get version of PCRE, that upstream use -pcre_version=`grep -e "ftp.pcre.org/pub/pcre/pcre2" cmake/pcre.cmake | sed -r "s;[^0123456789]*2-([[:digit:]]+\.[[:digit:]]+)\.[^0123456789]*;\1;"` +pcre_version=`grep -e "https://github.com/PhilipHazel/pcre2/releases/download" cmake/pcre.cmake | sed -r "s;.*pcre2-([[:digit:]]+\.[[:digit:]]+).*;\1;" ` # Check if the PCRE version in macro 'pcre_bundled_version', used in Provides: bundled(...), is the same version as upstream actually bundles %if %{without unbundled_pcre} From 439d0153665ac16a31f7ec0754dde31f284eaf2b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 13 Jan 2022 12:47:27 +0100 Subject: [PATCH 703/789] Fix whitespaces in the echo, so both variables are prefixed with exactly one whitespace --- mariadb.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 3d8edb3..e0b30f4 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -785,7 +785,7 @@ pcre_version=`grep -e "https://github.com/PhilipHazel/pcre2/releases/download" c # Check if the PCRE version in macro 'pcre_bundled_version', used in Provides: bundled(...), is the same version as upstream actually bundles %if %{without unbundled_pcre} if [ %{pcre_bundled_version} != "$pcre_version" ] ; then - echo -e "\n Error: Bundled PCRE version is not correct. \n\tBundled version number:%{pcre_bundled_version} \n\tUpstream version number: $pcre_version\n" + echo -e "\n Error: Bundled PCRE version is not correct. \n\tBundled version number: %{pcre_bundled_version} \n\tUpstream version number: $pcre_version\n" exit 1 fi %else @@ -793,7 +793,7 @@ fi pcre_system_version=`pkgconf %{_libdir}/pkgconfig/libpcre2-*.pc --modversion 2>/dev/null | head -n 1` if [ "$pcre_system_version" != "$pcre_version" ] ; then - echo -e "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_version\n" + echo -e "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number: $pcre_system_version \n\tUpstream version number: $pcre_version\n" fi %endif From a1003a7c3313de317874d3ac41031f07d3024190 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 13 Jan 2022 19:56:33 +0100 Subject: [PATCH 704/789] Fix the RPM condition for when the PAM plugin subpackage is not built --- mariadb.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index e0b30f4..ecb4046 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -865,6 +865,8 @@ fi -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ -DPLUGIN_S3=%{?with_s3:DYNAMIC}%{!?with_s3:NO} \ + -DPLUGIN_AUTH_PAM=%{?with_pam:YES}%{!?with_pam:NO} \ + -DPLUGIN_AUTH_PAM_V1=%{?with_pam:DYNAMIC}%{!?with_pam:NO} \ -DPLUGIN_COLUMNSTORE=NO \ -DPLUGIN_CLIENT_ED25519=OFF \ -DPYTHON_SHEBANG=%{python_path} \ @@ -1060,7 +1062,9 @@ rm %{buildroot}%{logrotateddir}/mysql rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor # Buildroot does not have symlink /lib64 --> /usr/lib64 +%if %{with pam} mv %{buildroot}/%{_lib}/security %{buildroot}%{_libdir} +%endif # Disable plugins %if %{with gssapi} From 860088c5ca00a9a05ad88b25a5612dece7e52cc7 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 13 Jan 2022 22:28:08 +0100 Subject: [PATCH 705/789] Fix the RPM condition for when the galera subpackage is not built --- mariadb.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index ecb4046..b3b4b27 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1174,7 +1174,6 @@ rm %{buildroot}/suite/plugins/pam/pam_mariadb_mtr.so rm %{buildroot}%{_sysconfdir}/sysconfig/clustercheck rm %{buildroot}%{_bindir}/{clustercheck,galera_new_cluster} rm %{buildroot}%{_bindir}/galera_recovery -rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %endif %if %{without rocksdb} From ede543499ed30a1bd7ae6b382efa439b4c4816d8 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 14 Jan 2022 09:39:30 +0100 Subject: [PATCH 706/789] Fix the RPM condition for when the test subpackage is not built but the embedded server subpackage is --- mariadb.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/mariadb.spec b/mariadb.spec index b3b4b27..4c99beb 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1156,6 +1156,7 @@ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian,hind %if %{without test} %if %{with embedded} +rm %{buildroot}%{_bindir}/test-connect-t rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} rm %{buildroot}%{_bindir}/{mariadb-client-test-embedded,mariadb-test-embedded} rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* From 452e11f76254fed6b3dede756d67160686fdbcb8 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 14 Jan 2022 10:46:53 +0100 Subject: [PATCH 707/789] Fix the RPM condition for when the test subpackage is not built but the PAM plugin subpackage is --- mariadb.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 4c99beb..33d1e7f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1162,13 +1162,15 @@ rm %{buildroot}%{_bindir}/{mariadb-client-test-embedded,mariadb-test-embedded} rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1* %endif # embedded +%if %{with pam} +rm %{buildroot}/suite/plugins/pam/mariadb_mtr +rm %{buildroot}/suite/plugins/pam/pam_mariadb_mtr.so +%endif # pam rm %{buildroot}%{_bindir}/{mysql_client_test,mysqltest} rm %{buildroot}%{_bindir}/{mariadb-client-test,mariadb-test} rm %{buildroot}%{_mandir}/man1/{mysql_client_test,mysqltest,my_safe_process}.1* rm %{buildroot}%{_mandir}/man1/{mariadb-client-test,mariadb-test}.1* rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1* -rm %{buildroot}/suite/plugins/pam/mariadb_mtr -rm %{buildroot}/suite/plugins/pam/pam_mariadb_mtr.so %endif %if %{without galera} From 612f03d82bd4569cbff6b6e60746c629be49a800 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 14 Jan 2022 12:06:04 +0100 Subject: [PATCH 708/789] Fix the RPM condition for when the client subpackage is not built --- mariadb.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index 33d1e7f..2bc7f49 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1137,6 +1137,8 @@ rm %{buildroot}%{_mandir}/man1/msql2mysql.1* rm %{buildroot}%{_mandir}/man1/{mysql,mariadb}.1* rm %{buildroot}%{_mandir}/man1/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid}.1* rm %{buildroot}%{_mandir}/man1/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}.1* + +rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf %endif %if %{without config} From b0ed6068468a5c56fa14ace5d94a6e452375fa36 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jan 2022 18:41:24 +0000 Subject: [PATCH 709/789] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 2bc7f49..c023873 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -154,7 +154,7 @@ Name: mariadb Version: 10.5.13 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1645,6 +1645,9 @@ fi %endif %changelog +* Thu Jan 20 2022 Fedora Release Engineering - 3:10.5.13-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Thu Dec 02 2021 Michal Schorm - 3:10.5.13-1 - Rebase to 10.5.13 From db039807876beed5b260c599705bd9e06aa34173 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 7 Feb 2022 14:02:25 +0100 Subject: [PATCH 710/789] Diable upstream hardening - it overrides the default compilation flags of the distribution, but provides lower level of hardening than the default flags This issue was originally discovered by Annocheck stack-protection test in RHEL 9: #2044388 The -DSECURITY_HARDENED is used to force a set of compilation flags for hardening The issue is that the MariaDB upstream level of hardening is lower than expected by Red Hat We disable this option to the default compilation flags (which have higher level of hardening) will be used --- mariadb.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index c023873..7849fe2 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -845,7 +845,7 @@ fi -DGROONGA_NORMALIZER_MYSQL_PROJECT_NAME=%{name}-server/groonga-normalizer-mysql \ -DENABLED_LOCAL_INFILE=ON \ -DENABLE_DTRACE=ON \ - -DSECURITY_HARDENED=ON \ + -DSECURITY_HARDENED=OFF \ -DWITH_WSREP=%{?with_galera:ON}%{!?with_galera:OFF} \ -DWITH_INNODB_DISALLOW_WRITES=%{?with_galera:ON}%{!?with_galera:OFF} \ -DWITH_EMBEDDED_SERVER=%{?with_embedded:ON}%{!?with_embedded:OFF} \ @@ -876,6 +876,10 @@ fi -DCONNECT_WITH_JDBC=OFF \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} +# The -DSECURITY_HARDENED is used to force a set of compilation flags for hardening +# The issue is that the MariaDB upstream level of hardening is lower than expected by Red Hat +# We disable this option to the default compilation flags (which have higher level of hardening) will be used + CFLAGS="$CFLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" # force PIC mode so that we can build libmysqld.so From 0d4a89ed9242e5af058d618dd4d37740c4b99739 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 7 Feb 2022 22:41:02 +0100 Subject: [PATCH 711/789] Fix md5 in FIPS mode with OpenSSL 3.0.0 OpenSSL 3.0.0+ does not support EVP_MD_CTX_FLAG_NON_FIPS_ALLOW any longer. In OpenSSL 1.1.1 the non FIPS allowed flag is context specific, while in 3.0.0+ it is a different EVP_MD provider. Resolves: #2050541 --- mariadb-fips.patch | 28 ++++++++++++++++++++++++++++ mariadb.spec | 9 ++++++++- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 mariadb-fips.patch diff --git a/mariadb-fips.patch b/mariadb-fips.patch new file mode 100644 index 0000000..443af6f --- /dev/null +++ b/mariadb-fips.patch @@ -0,0 +1,28 @@ +Fix md5 in FIPS mode + +OpenSSL 3.0.0+ does not support EVP_MD_CTX_FLAG_NON_FIPS_ALLOW any longer. +In OpenSSL 1.1.1 the non FIPS allowed flag is context specific, while +in 3.0.0+ it is a different EVP_MD provider. + +Resolves: rhbz#2050541 + +diff -up mariadb-10.5.13-downstream_modified/mysys_ssl/my_md5.cc.fips mariadb-10.5.13-downstream_modified/mysys_ssl/my_md5.cc +--- mariadb-10.5.13-downstream_modified/mysys_ssl/my_md5.cc.fips 2022-02-07 16:36:47.255131576 +0100 ++++ mariadb-10.5.13-downstream_modified/mysys_ssl/my_md5.cc 2022-02-07 22:57:32.391002916 +0100 +@@ -52,12 +52,15 @@ static void md5_result(EVP_MD_CTX *conte + + static void md5_init(EVP_MD_CTX *context) + { ++ EVP_MD *md5; ++ md5 = EVP_MD_fetch(NULL, "MD5", "fips=no"); + EVP_MD_CTX_init(context); + #ifdef EVP_MD_CTX_FLAG_NON_FIPS_ALLOW + /* Ok to ignore FIPS: MD5 is not used for crypto here */ + EVP_MD_CTX_set_flags(context, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW); + #endif +- EVP_DigestInit_ex(context, EVP_md5(), NULL); ++ EVP_DigestInit_ex(context, md5, NULL); ++ EVP_MD_free(md5); + } + + static void md5_input(EVP_MD_CTX *context, const uchar *buf, unsigned len) diff --git a/mariadb.spec b/mariadb.spec index 7849fe2..60d0c25 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -154,7 +154,7 @@ Name: mariadb Version: 10.5.13 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -221,6 +221,8 @@ Patch11: %{pkgnamepatch}-pcdir.patch Patch12: %{pkgnamepatch}-openssl3.patch # Patch15: Add option to edit groonga's and groonga-normalizer-mysql install path Patch15: %{pkgnamepatch}-groonga.patch +# Patch16: Fix MD5 in FIPS mode +Patch16: %{pkgnamepatch}-fips.patch BuildRequires: make BuildRequires: cmake gcc-c++ @@ -752,6 +754,7 @@ rm -r storage/rocksdb/ %patch12 -p1 %endif %patch15 -p1 +%patch16 -p1 # generate a list of tests that fail, but are not disabled by upstream cat %{SOURCE50} | tee -a mysql-test/unstable-tests @@ -1649,6 +1652,10 @@ fi %endif %changelog +* Mon Feb 07 2022 Honza Horak - 3:10.5.13-3 +- Fix md5 in FIPS mode with OpenSSL 3.0.0 + Resolves: #2050541 + * Thu Jan 20 2022 Fedora Release Engineering - 3:10.5.13-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From 62af7d57f280e4b0706801a3baa35d33b8144b46 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 22 Feb 2022 05:03:33 +0100 Subject: [PATCH 712/789] Rebase to 10.5.15 Logrotate patch rebased onto upstream commit: https://github.com/MariaDB/server/commit/008c02c987f909ec0828341b849238fdb34195aa Groonga patch upstreamed: https://github.com/MariaDB/server/commit/045f5f7b10d391fc1653583594b4efbb5a495c4d OpenSSL 3 patch rebased onto upstream commit: https://github.com/MariaDB/server/commit/be1d965384754845c6f61ff7eb4b43c799837180 OpenSSL 3 CMake condition reverted - it should be only applied to series without OpenSSL 3 patch: https://github.com/MariaDB/server/commit/c9beef43154a199bfcd9f71049c011a2ed77ca74 Full testsuite success on a Fedora Rawhide scratch build, setting "last_tested_version" to 10.5.15 so only the "main" test suite will be run on subsequent builds of the same MariaDB release --- mariadb-groonga.patch | 30 ------------------------------ mariadb-logrotate.patch | 7 ++++--- mariadb-openssl3.patch | 25 ++++++++++++++++++++++++- mariadb.spec | 12 ++++++------ sources | 2 +- 5 files changed, 35 insertions(+), 41 deletions(-) delete mode 100644 mariadb-groonga.patch diff --git a/mariadb-groonga.patch b/mariadb-groonga.patch deleted file mode 100644 index 3a0e74c..0000000 --- a/mariadb-groonga.patch +++ /dev/null @@ -1,30 +0,0 @@ -# Fixing conflict with groonga package -# https://bugzilla.redhat.com/show_bug.cgi?id=1763287 - ---- mariadb-10.3.18/storage/mroonga/vendor/groonga/CMakeLists.txt.withoutoption 2019-11-11 14:01:07.762595716 +0100 -+++ mariadb-10.3.18/storage/mroonga/vendor/groonga/CMakeLists.txt 2019-11-11 14:33:05.224012458 +0100 -@@ -86,7 +86,9 @@ - set(INCLUDE_DIR "include") - set(GRN_INCLUDE_DIR "include/groonga") - set(DATA_DIR "share") --set(GRN_DATA_DIR "${DATA_DIR}/${GRN_PROJECT_NAME}") -+if(NOT DEFINED GRN_DATA_DIR) -+ set(GRN_DATA_DIR "${DATA_DIR}/${GRN_PROJECT_NAME}") -+endif() - set(CONFIG_DIR "etc") - set(GRN_CONFIG_DIR "${CONFIG_DIR}/${GRN_PROJECT_NAME}") - set(GRN_CONFIG_PATH "${CMAKE_INSTALL_PREFIX}/${GRN_CONFIG_DIR}/groonga.conf") - ---- mariadb-10.3.18/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/CMakeLists.txt.withoutoption 2019-11-11 14:34:22.661005715 +0100 -+++ mariadb-10.3.18/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/CMakeLists.txt 2019-11-11 14:35:59.962244120 +0100 -@@ -16,7 +16,9 @@ - # MA 02110-1335 USA - - cmake_minimum_required(VERSION 2.6) --set(GROONGA_NORMALIZER_MYSQL_PROJECT_NAME "groonga-normalizer-mysql") -+if (NOT DEFINED GROONGA_NORMALIZER_MYSQL_PROJECT_NAME) -+ set(GROONGA_NORMALIZER_MYSQL_PROJECT_NAME "groonga-normalizer-mysql") -+endif() - project("${GROONGA_NORMALIZER_MYSQL_PROJECT_NAME}") - - if(DEFINED GROONGA_NORMALIZER_MYSQL_EMBED) diff --git a/mariadb-logrotate.patch b/mariadb-logrotate.patch index aa46e59..a09a312 100644 --- a/mariadb-logrotate.patch +++ b/mariadb-logrotate.patch @@ -32,9 +32,9 @@ Update 02/2021 * Discussion continues in: https://jira.mariadb.org/browse/MDEV-16621 ---- mariadb-10.5.8/support-files/mysql-log-rotate.sh 2021-02-12 08:37:47.857289694 +0100 -+++ mariadb-10.5.8/support-files/mysql-log-rotate.sh_pacthed 2021-02-12 08:40:26.420372325 +0100 -@@ -3,35 +3,22 @@ +--- mariadb-10.5.13-downstream_modified/support-files/mysql-log-rotate.sh 2022-02-22 04:56:35.571185622 +0100 ++++ mariadb-10.5.13-downstream_modified/support-files/mysql-log-rotate.sh_patched 2022-02-22 04:56:15.121003580 +0100 +@@ -3,36 +3,23 @@ # in the [mysqld] section as follows: # # [mysqld] @@ -58,6 +58,7 @@ Update 02/2021 - # create 600 mysql mysql +@LOG_LOCATION@ { + create 600 mysql mysql + su mysql mysql notifempty daily rotate 3 diff --git a/mariadb-openssl3.patch b/mariadb-openssl3.patch index 0b69969..9f5b660 100644 --- a/mariadb-openssl3.patch +++ b/mariadb-openssl3.patch @@ -88,9 +88,9 @@ diff -up mariadb-10.5.12-downstream_modified/include/ssl_compat.h.patch16 mariad #define EVP_MD_CTX_init(X) do { memset((X), 0, EVP_MD_CTX_SIZE); EVP_MD_CTX_reset(X); } while(0) #undef EVP_CIPHER_CTX_init @@ -74,7 +74,6 @@ + #define DH_set0_pqg(D,P,Q,G) ((D)->p= (P), (D)->g= (G)) #endif - #define DH_set0_pqg(D,P,Q,G) ((D)->p= (P), (D)->g= (G)) -#define EVP_CIPHER_CTX_buf_noconst(ctx) ((ctx)->buf) #define EVP_CIPHER_CTX_encrypting(ctx) ((ctx)->encrypt) #define EVP_CIPHER_CTX_SIZE sizeof(EVP_CIPHER_CTX) @@ -376,3 +376,26 @@ diff -up mariadb-10.5.12-downstream_modified/unittest/mysys/aes-t.c.patch16 mari DO_TEST_P(MY_AES_ECB, 200, '.', 208, "\xd8\x73\x8e\x3a\xbc\x66\x99\x13\x7f\x90\x23\x52\xee\x97\x6f\x9a"); DO_TEST_P(MY_AES_ECB, 128, '?', 144, "\x19\x58\x33\x85\x4c\xaa\x7f\x06\xd1\xb2\xec\xd7\xb7\x6a\xa9\x5b"); DO_TEST_P(MY_AES_CBC, 159, '%', 160, "\x4b\x03\x18\x3d\xf1\xa7\xcd\xa1\x46\xb3\xc6\x8a\x92\xc0\x0f\xc9"); + + + +MariaDB before 10.8 series does not contain the OpenSSL 3 patch on the upstream. +MariaDB upstream later added the following condition: +https://github.com/MariaDB/server/commit/c9beef4315 +limiting the OpenSSL that can be used to < 3. and reverted this commit for 10.8 and later: +https://github.com/MariaDB/server/commit/64e358821e + +Since we apply the OpenSSL 3 patch from MariaDB 10.8 series to earlier series, we need to revert this commit +on those earlier series too. + +--- mariadb-10.5.15-downstream_modified/cmake/ssl.cmake 2022-02-22 05:13:17.259097302 +0100 ++++ mariadb-10.5.15-downstream_modified/cmake/ssl.cmake_patched 2022-02-23 07:22:20.290082378 +0100 +@@ -118,7 +118,7 @@ MACRO (MYSQL_CHECK_SSL) + ENDIF() + FIND_PACKAGE(OpenSSL) + SET_PACKAGE_PROPERTIES(OpenSSL PROPERTIES TYPE RECOMMENDED) +- IF(OPENSSL_FOUND AND OPENSSL_VERSION AND OPENSSL_VERSION VERSION_LESS "3.0.0") ++ IF(OPENSSL_FOUND) + SET(OPENSSL_LIBRARY ${OPENSSL_SSL_LIBRARY}) + INCLUDE(CheckSymbolExists) + SET(SSL_SOURCES "") diff --git a/mariadb.spec b/mariadb.spec index 60d0c25..1b08960 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -15,7 +15,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.5.13 +%global last_tested_version 10.5.15 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -153,8 +153,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.13 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 10.5.15 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -219,8 +219,6 @@ Patch11: %{pkgnamepatch}-pcdir.patch # Picked from the upstream developement branch for MariaDB 10.8. # https://jira.mariadb.org/browse/MDEV-25785 Patch12: %{pkgnamepatch}-openssl3.patch -# Patch15: Add option to edit groonga's and groonga-normalizer-mysql install path -Patch15: %{pkgnamepatch}-groonga.patch # Patch16: Fix MD5 in FIPS mode Patch16: %{pkgnamepatch}-fips.patch @@ -753,7 +751,6 @@ rm -r storage/rocksdb/ %if 0%{?fedora} >= 35 || 0%{?rhel} >= 9 %patch12 -p1 %endif -%patch15 -p1 %patch16 -p1 # generate a list of tests that fail, but are not disabled by upstream @@ -1652,6 +1649,9 @@ fi %endif %changelog +* Sun Feb 20 2022 Michal Schorm - 3:10.5.15-1 +- Rebase to 10.5.15 + * Mon Feb 07 2022 Honza Horak - 3:10.5.13-3 - Fix md5 in FIPS mode with OpenSSL 3.0.0 Resolves: #2050541 diff --git a/sources b/sources index c0f955c..09bcbe6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.13-downstream_modified.tar.gz) = e8b8dce731d2dd3b3d1f5109cc811db8554d10f8269f11f40fcbf62fa0e0f0d1c18bc3b28b8017c28dcfcee96024b18e5489f50cc270a93e4bedd9ea49db08c6 +SHA512 (mariadb-10.5.15-downstream_modified.tar.gz) = 093a677b0bc17bb6c47fee44648867b514505e7fcae2018728535596566a81aa0e94b5cde0d2a6b942743515c0f888a1948d719652c173e335334e99d6fd8884 From e94e1c9253bf0444998390e63bbcf490f104da0d Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 23 Feb 2022 13:59:59 +0100 Subject: [PATCH 713/789] Remove bits only relevant for EOL Fedora 32 and older --- mariadb.spec | 4 ---- 1 file changed, 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 1b08960..f0c51fc 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,7 +1,3 @@ -# This is a fix for the https://fedoraproject.org/wiki/Changes/CMake_to_do_out-of-source_builds -# So the beaviour will be the same also in F31 nad F32 -%undefine __cmake_in_source_build - # Prefix that is used for patches %global pkg_name %{name} %global pkgnamepatch mariadb From 56aea7f71875b0517b23d5d4128385ba51aa99bb Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 24 Feb 2022 02:07:46 +0100 Subject: [PATCH 714/789] Fixup for: 0d4a89ed9 "Fix md5 in FIPS mode with OpenSSL 3.0.0" The 'mariadb-fips.patch' patch has to be applied conditionally. It will FTBFS on releases without OpenSSL 3. --- /builddir/build/BUILD/mariadb-10.5.15-downstream_modified/mysys_ssl/my_md5.cc: In function 'void md5_init(EVP_MD_CTX*)': /builddir/build/BUILD/mariadb-10.5.15-downstream_modified/mysys_ssl/my_md5.cc:56:9: error: 'EVP_MD_fetch' was not declared in this scope; did you mean 'EVP_MD_flags'? 56 | md5 = EVP_MD_fetch(NULL, "MD5", "fips=no"); | ^~~~~~~~~~~~ | EVP_MD_flags /builddir/build/BUILD/mariadb-10.5.15-downstream_modified/mysys_ssl/my_md5.cc:63:3: error: 'EVP_MD_free' was not declared in this scope; did you mean 'EVP_MD_type'? 63 | EVP_MD_free(md5); | ^~~~~~~~~~~ | EVP_MD_type gmake[2]: *** [mysys_ssl/CMakeFiles/mysys_ssl.dir/build.make:149: mysys_ssl/CMakeFiles/mysys_ssl.dir/my_md5.cc.o] Error 1 --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index f0c51fc..c5edf1f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -746,8 +746,8 @@ rm -r storage/rocksdb/ %patch11 -p1 %if 0%{?fedora} >= 35 || 0%{?rhel} >= 9 %patch12 -p1 -%endif %patch16 -p1 +%endif # generate a list of tests that fail, but are not disabled by upstream cat %{SOURCE50} | tee -a mysql-test/unstable-tests From 94d43bc3f71be4a889ee245426756491cd7b500b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 24 Feb 2022 02:46:27 +0100 Subject: [PATCH 715/789] Another fixup for: 0d4a89ed9 "Fix md5 in FIPS mode with OpenSSL 3.0.0" The condition has to be fixed, as the OpenSSL 3 was introduced into the Fedora 36, instead of Fedora 35 https://fedoraproject.org/wiki/Changes/OpenSSL3.0 --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index c5edf1f..a29f0f5 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -744,7 +744,7 @@ rm -r storage/rocksdb/ %patch9 -p1 %patch10 -p1 %patch11 -p1 -%if 0%{?fedora} >= 35 || 0%{?rhel} >= 9 +%if 0%{?fedora} >= 36 || 0%{?rhel} >= 9 %patch12 -p1 %patch16 -p1 %endif From 5dcec0d8d0d6d2b78992bdc2f2eed5639547da57 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 26 Feb 2022 05:14:00 +0100 Subject: [PATCH 716/789] Patch for pkgconfig directory has been upstreamed The upstream implementation is to NOT make it configurable, but to put it on the correct location instead: https://github.com/MariaDB/server/commit/c5c1027c6eb0db9738c231731b664f9736970d98 --- mariadb-pcdir.patch | 19 ------------------- mariadb.spec | 4 ---- 2 files changed, 23 deletions(-) delete mode 100644 mariadb-pcdir.patch diff --git a/mariadb-pcdir.patch b/mariadb-pcdir.patch deleted file mode 100644 index 117273a..0000000 --- a/mariadb-pcdir.patch +++ /dev/null @@ -1,19 +0,0 @@ -Use PCDIR CMake option, if configured - -Upstream install the server pkgconfig file into arch-independent directory -Reported to upstream as: https://jira.mariadb.org/browse/MDEV-14340 - ---- mariadb-10.5.5/support-files/CMakeLists.txt.old 2020-09-30 10:36:08.582490318 +0200 -+++ mariadb-10.5.5/support-files/CMakeLists.txt 2020-09-30 10:38:58.079710848 +0200 -@@ -91,7 +91,11 @@ - ENDIF() - - CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY) -+IF(INSTALL_PCDIR) -+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_PCDIR} COMPONENT Development) -+ELSE() - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_LIBDIR}/pkgconfig COMPONENT Development) -+ENDIF() - - INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) - diff --git a/mariadb.spec b/mariadb.spec index a29f0f5..afef4cd 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -209,8 +209,6 @@ Patch7: %{pkgnamepatch}-scripts.patch Patch9: %{pkgnamepatch}-ownsetup.patch # Patch10: Fix cipher name in the SSL Cipher name test Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch -# Patch11: Use PCDIR CMake option, if configured -Patch11: %{pkgnamepatch}-pcdir.patch # Patch12: OpenSSL 3 patch # Picked from the upstream developement branch for MariaDB 10.8. # https://jira.mariadb.org/browse/MDEV-25785 @@ -743,7 +741,6 @@ rm -r storage/rocksdb/ %patch7 -p1 %patch9 -p1 %patch10 -p1 -%patch11 -p1 %if 0%{?fedora} >= 36 || 0%{?rhel} >= 9 %patch12 -p1 %patch16 -p1 @@ -833,7 +830,6 @@ fi -DINSTALL_SBINDIR=libexec \ -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \ - -DINSTALL_PCDIR=%{_lib}/pkgconfig \ -DMYSQL_DATADIR="%{dbdatadir}" \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ -DTMPDIR=/var/tmp \ From 655a2f039fd1a9ace6c0b4563d00898f20095112 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 26 Feb 2022 05:26:22 +0100 Subject: [PATCH 717/789] Remove the file of the patch 'mariadb-scripts-setpermission.patch' The patch stopped being applied during the rebase to 10.5.13 (commit #314d2bf), because it was upstreamed, but I forgot to remove the patch file. --- mariadb-scripts-setpermission.patch | 30 ----------------------------- 1 file changed, 30 deletions(-) delete mode 100644 mariadb-scripts-setpermission.patch diff --git a/mariadb-scripts-setpermission.patch b/mariadb-scripts-setpermission.patch deleted file mode 100644 index 58e07bd..0000000 --- a/mariadb-scripts-setpermission.patch +++ /dev/null @@ -1,30 +0,0 @@ -This patch fixes bug in mysql_setpermission perl script -by adding conditionally port information to connections parameters. - -More information about this bug: https://bugzilla.redhat.com/show_bug.cgi?id=1976224 - -This bug has been fixed in upstream. -Patch can be removed when new version with fix is released. - -https://github.com/MariaDB/server/pull/1896 - ---- mariadb/scripts/mysql_setpermission_a.sh 2068-11-11 14:01:07.762595716 +0100 -+++ mariadb/scripts/mysql_setpermission.sh 2070-11-11 14:33:05.224012458 +0100 -@@ -105,11 +105,15 @@ - - if ($opt_socket and -S $opt_socket) - { -- $dsn .= "${prefix}_socket=$opt_socket"; -+ $dsn .= "${prefix}_socket=$opt_socket"; - } - else - { -- $dsn .= "host=$sqlhost;port=$opt_port"; -+ $dsn .= "host=$sqlhost"; -+ if ($sqlhost ne "localhost") -+ { -+ $dsn .= ";port=$opt_port"; -+ } - } - - # make the connection to MariaDB From 03890c75fce6a636c4719c6b4a4f94f2aa1f75f3 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 28 Apr 2022 14:14:56 +0200 Subject: [PATCH 718/789] Remove the second source path definition from the CMake command The '%cmake' RPM macro in Fedora actually expands to: | ... | /usr/bin/cmake \ | -S "." \ | -B "redhat-linux-build" \ | ... So in this case the source patch was specified twice. First in the macro with the '-S' option and second time outside of the macro, in the SPECfile, without the '-S' option. CMake upstream declares that: | This has never been officially documented or supported, | but older versions accidentally accepted multiple source paths | and used the last path specified. Update scripts to avoid | passing multiple source path arguments. https://cmake.org/cmake/help/v3.23/release/3.23.html#deprecated-and-removed-features This was discovered as CMake upstream implemented a change to the 3.23.0-rc2 release that changed this behavior and it broke many Fedora packages that used this double source path definition. See rhbz#2057738 to see how build behaved After the CMake upstream got aware of what problems it caused in Fedora, they opened a merge request to restore the behavior to the old one, but kept the warnings that that is an unsupported and problematic behavior: https://gitlab.kitware.com/cmake/cmake/-/issues/23334 --- As for today, this issue is still not yet fully resolved. - The CMake maintainers in Fedora haven't rebased the package to 3.23-1 release, so it is still broken - Affected packages in Fedora should find a way to stop using this unsupported behavior - The double '-S' argument passing should be marked as problematic too, in the exact same way https://gitlab.kitware.com/cmake/cmake/-/issues/23334#note_1159258 - A change to the %cmake Fedora RPM macro might be in play, so it won't force a source path https://gitlab.kitware.com/cmake/cmake/-/issues/23334#note_1159258 I opened a BZ #2079833 to track the progress of the solution by CMake maintainers --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index afef4cd..62996b0 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -805,7 +805,7 @@ fi # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. -%cmake . \ +%cmake \ -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ From 3d9af144da392be77dfd513649af240b43aa1965 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 23 May 2022 10:29:11 +0200 Subject: [PATCH 719/789] Rebase to 10.5.16 --- mariadb.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 62996b0..f0c1aee 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -11,7 +11,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.5.15 +%global last_tested_version 10.5.16 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -149,7 +149,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.15 +Version: 10.5.16 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -1641,6 +1641,9 @@ fi %endif %changelog +* Mon May 23 2022 Michal Schorm - 3:10.5.16-1 +- Rebase to 10.5.16 + * Sun Feb 20 2022 Michal Schorm - 3:10.5.15-1 - Rebase to 10.5.15 diff --git a/sources b/sources index 09bcbe6..60a865a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.15-downstream_modified.tar.gz) = 093a677b0bc17bb6c47fee44648867b514505e7fcae2018728535596566a81aa0e94b5cde0d2a6b942743515c0f888a1948d719652c173e335334e99d6fd8884 +SHA512 (mariadb-10.5.16-downstream_modified.tar.gz) = c61457dcf4c2217b4432bee15094713e672f273a85f2f7a84326b619a0c51dd6f025d7bb94f5da35a2f4ac026c2b6fd32bd605985a5888101a06d62da8fdb02e From 5a109bbad28b82c3fc526f58edf5ebf0de380d08 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 23 May 2022 14:45:10 +0200 Subject: [PATCH 720/789] Pack newly introduced translations --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index f0c1aee..c0212ec 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1149,7 +1149,8 @@ rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets rm %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,czech,danish,dutch,estonian,\ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ -polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian,hindi} +polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian,hindi,\ +bulgarian,chinese} %endif %if %{without test} @@ -1368,6 +1369,8 @@ fi %lang(es) %{_datadir}/%{pkg_name}/spanish %lang(sv) %{_datadir}/%{pkg_name}/swedish %lang(uk) %{_datadir}/%{pkg_name}/ukrainian +%lang(bg) %{_datadir}/%{pkg_name}/bulgarian +%lang(zh) %{_datadir}/%{pkg_name}/chinese %endif %if %{with galera} From 7b9fc23a15ef98d72135a86ab8dbe38cbeb262c4 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 30 May 2022 16:05:04 +0200 Subject: [PATCH 721/789] Update the version number of the bundled PCRE2 The PCRE2 version used by upstream in the 'MariaDB 10.5.16' release is '10.40' --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index c0212ec..a6e0bc2 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -109,7 +109,7 @@ %bcond_without unbundled_pcre %else %bcond_with unbundled_pcre -%global pcre_bundled_version 10.34 +%global pcre_bundled_version 10.40 %endif # Use main python interpretter version From 255d71466a38232f6f25427028b194daf5243ac8 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 11 Jun 2022 10:17:03 +0200 Subject: [PATCH 722/789] rpminspect - introduce a global ignore list --- rpminspect.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rpminspect.yaml b/rpminspect.yaml index e8e8bf7..88127bb 100644 --- a/rpminspect.yaml +++ b/rpminspect.yaml @@ -1,3 +1,11 @@ +# Set up global ignore list +ignore: + # mysql-test/ directory contains an extensive test-suite of about 20.000 files; + # It is very time consuming to be fully analysed and the results aren't useful anyway + # It is expected the tests change during rebases, as the underlying functionality the test evolve + # Some of the tests contain broken or problematic code, however that is on purpose + - /usr/share/mysql-test/ + # based on https://lists.launchpad.net/maria-discuss/msg06133.html discussion # are the invalid xmls (except for Index.xml) present in the sources on purpose # and they can be removed from xmllint rpminspect check in the CI process. From f4c6b609620124bd1323610e0a0c81f3ec2e55f9 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 13 Jun 2022 13:41:31 +0200 Subject: [PATCH 723/789] Release bump for rebuild --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index a6e0bc2..e68c24c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -150,7 +150,7 @@ Name: mariadb Version: 10.5.16 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1644,6 +1644,9 @@ fi %endif %changelog +* Mon Jun 13 2022 Michal Schorm - 3:10.5.16-2 +- Release bump for rebuild + * Mon May 23 2022 Michal Schorm - 3:10.5.16-1 - Rebase to 10.5.16 From ff7a95c65172b5819cd9aeee873ce0ee3a293b87 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 21 Jul 2022 20:30:31 +0000 Subject: [PATCH 724/789] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index e68c24c..e533999 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -150,7 +150,7 @@ Name: mariadb Version: 10.5.16 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1644,6 +1644,9 @@ fi %endif %changelog +* Thu Jul 21 2022 Fedora Release Engineering - 3:10.5.16-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Mon Jun 13 2022 Michal Schorm - 3:10.5.16-2 - Release bump for rebuild From 9f12d914a4b7f09d5ed83a1a8a242bd108152268 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 16 Nov 2022 11:50:28 +0000 Subject: [PATCH 725/789] Rebase to 10.5.18 OpenSSL 3 patch upstreamed --- mariadb-fips.patch | 28 --- mariadb-openssl3.patch | 401 ------------------------------------- mariadb.spec | 27 ++- rh-skipped-tests-base.list | 5 + 4 files changed, 18 insertions(+), 443 deletions(-) delete mode 100644 mariadb-fips.patch delete mode 100644 mariadb-openssl3.patch diff --git a/mariadb-fips.patch b/mariadb-fips.patch deleted file mode 100644 index 443af6f..0000000 --- a/mariadb-fips.patch +++ /dev/null @@ -1,28 +0,0 @@ -Fix md5 in FIPS mode - -OpenSSL 3.0.0+ does not support EVP_MD_CTX_FLAG_NON_FIPS_ALLOW any longer. -In OpenSSL 1.1.1 the non FIPS allowed flag is context specific, while -in 3.0.0+ it is a different EVP_MD provider. - -Resolves: rhbz#2050541 - -diff -up mariadb-10.5.13-downstream_modified/mysys_ssl/my_md5.cc.fips mariadb-10.5.13-downstream_modified/mysys_ssl/my_md5.cc ---- mariadb-10.5.13-downstream_modified/mysys_ssl/my_md5.cc.fips 2022-02-07 16:36:47.255131576 +0100 -+++ mariadb-10.5.13-downstream_modified/mysys_ssl/my_md5.cc 2022-02-07 22:57:32.391002916 +0100 -@@ -52,12 +52,15 @@ static void md5_result(EVP_MD_CTX *conte - - static void md5_init(EVP_MD_CTX *context) - { -+ EVP_MD *md5; -+ md5 = EVP_MD_fetch(NULL, "MD5", "fips=no"); - EVP_MD_CTX_init(context); - #ifdef EVP_MD_CTX_FLAG_NON_FIPS_ALLOW - /* Ok to ignore FIPS: MD5 is not used for crypto here */ - EVP_MD_CTX_set_flags(context, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW); - #endif -- EVP_DigestInit_ex(context, EVP_md5(), NULL); -+ EVP_DigestInit_ex(context, md5, NULL); -+ EVP_MD_free(md5); - } - - static void md5_input(EVP_MD_CTX *context, const uchar *buf, unsigned len) diff --git a/mariadb-openssl3.patch b/mariadb-openssl3.patch deleted file mode 100644 index 9f5b660..0000000 --- a/mariadb-openssl3.patch +++ /dev/null @@ -1,401 +0,0 @@ -From c80991c79f701dac42c630af4bd39593b0c7efb4 Mon Sep 17 00:00:00 2001 -From: Vladislav Vaintroub -Date: Mon, 8 Nov 2021 18:48:19 +0100 -Subject: [PATCH] MDEV-25785 Add support for OpenSSL 3.0 - -Summary of changes - -- MD_CTX_SIZE is increased - -- EVP_CIPHER_CTX_buf_noconst(ctx) does not work anymore, points - to nobody knows where. The assumption made previously was that - (since the function does not seem to be documented) - was that it points to the last partial source block. - Add own partial block buffer for NOPAD encryption instead - -- SECLEVEL in CipherString in openssl.cnf - had been downgraded to 0, from 1, to make TLSv1.0 and TLSv1.1 possible - -- Workaround Ssl_cipher_list issue, it now returns TLSv1.3 ciphers, - in addition to what was set in --ssl-cipher - -- ctx_buf buffer now must be aligned to 16 bytes with openssl( - previously with WolfSSL only), ot crashes will happen - -- updated aes-t , to be better debuggable - using function, rather than a huge multiline macro - added test that does "nopad" encryption piece-wise, to test - replacement of EVP_CIPHER_CTX_buf_noconst ---- - cmake/ssl.cmake | 19 ++++- - include/ssl_compat.h | 3 +- - mysql-test/lib/openssl.cnf | 2 +- - mysql-test/main/ssl_cipher.result | 6 +- - mysql-test/main/ssl_cipher.test | 2 +- - mysys_ssl/my_crypt.cc | 46 +++++++----- - unittest/mysys/aes-t.c | 121 ++++++++++++++++++++++-------- - 7 files changed, 141 insertions(+), 58 deletions(-) - - -diff -up mariadb-10.5.12-downstream_modified/cmake/ssl.cmake.patch16 mariadb-10.5.12-downstream_modified/cmake/ssl.cmake ---- mariadb-10.5.12-downstream_modified/cmake/ssl.cmake.patch16 2021-08-03 10:29:07.000000000 +0200 -+++ mariadb-10.5.12-downstream_modified/cmake/ssl.cmake 2021-11-18 16:58:41.552440737 +0100 -@@ -139,9 +139,20 @@ MACRO (MYSQL_CHECK_SSL) - SET(SSL_INTERNAL_INCLUDE_DIRS "") - SET(SSL_DEFINES "-DHAVE_OPENSSL") - -+ FOREACH(x INCLUDES LIBRARIES DEFINITIONS) -+ SET(SAVE_CMAKE_REQUIRED_${x} ${CMAKE_REQUIRED_${x}}) -+ ENDFOREACH() -+ -+ # Silence "deprecated in OpenSSL 3.0" -+ IF((NOT OPENSSL_VERSION) # 3.0 not determined by older cmake -+ OR NOT(OPENSSL_VERSION VERSION_LESS "3.0.0")) -+ SET(SSL_DEFINES "${SSL_DEFINES} -DOPENSSL_API_COMPAT=0x10100000L") -+ SET(CMAKE_REQUIRED_DEFINITIONS -DOPENSSL_API_COMPAT=0x10100000L) -+ ENDIF() -+ - SET(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR}) - SET(CMAKE_REQUIRED_LIBRARIES ${SSL_LIBRARIES}) -- SET(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR}) -+ - CHECK_SYMBOL_EXISTS(ERR_remove_thread_state "openssl/err.h" - HAVE_ERR_remove_thread_state) - CHECK_SYMBOL_EXISTS(EVP_aes_128_ctr "openssl/evp.h" -@@ -150,8 +161,10 @@ MACRO (MYSQL_CHECK_SSL) - HAVE_EncryptAes128Gcm) - CHECK_SYMBOL_EXISTS(X509_check_host "openssl/x509v3.h" - HAVE_X509_check_host) -- SET(CMAKE_REQUIRED_INCLUDES) -- SET(CMAKE_REQUIRED_LIBRARIES) -+ -+ FOREACH(x INCLUDES LIBRARIES DEFINITIONS) -+ SET(CMAKE_REQUIRED_${x} ${SAVE_CMAKE_REQUIRED_${x}}) -+ ENDFOREACH() - ELSE() - IF(WITH_SSL STREQUAL "system") - MESSAGE(FATAL_ERROR "Cannot find appropriate system libraries for SSL. Use WITH_SSL=bundled to enable SSL support") -diff -up mariadb-10.5.12-downstream_modified/include/ssl_compat.h.patch16 mariadb-10.5.12-downstream_modified/include/ssl_compat.h ---- mariadb-10.5.12-downstream_modified/include/ssl_compat.h.patch16 2021-08-03 10:29:07.000000000 +0200 -+++ mariadb-10.5.12-downstream_modified/include/ssl_compat.h 2021-11-18 16:58:41.552440737 +0100 -@@ -24,7 +24,7 @@ - #define SSL_LIBRARY OpenSSL_version(OPENSSL_VERSION) - #define ERR_remove_state(X) ERR_clear_error() - #define EVP_CIPHER_CTX_SIZE 176 --#define EVP_MD_CTX_SIZE 48 -+#define EVP_MD_CTX_SIZE 72 - #undef EVP_MD_CTX_init - #define EVP_MD_CTX_init(X) do { memset((X), 0, EVP_MD_CTX_SIZE); EVP_MD_CTX_reset(X); } while(0) - #undef EVP_CIPHER_CTX_init -@@ -74,7 +74,6 @@ - #define DH_set0_pqg(D,P,Q,G) ((D)->p= (P), (D)->g= (G)) - #endif - --#define EVP_CIPHER_CTX_buf_noconst(ctx) ((ctx)->buf) - #define EVP_CIPHER_CTX_encrypting(ctx) ((ctx)->encrypt) - #define EVP_CIPHER_CTX_SIZE sizeof(EVP_CIPHER_CTX) - -diff -up mariadb-10.5.12-downstream_modified/mysql-test/lib/openssl.cnf.patch16 mariadb-10.5.12-downstream_modified/mysql-test/lib/openssl.cnf ---- mariadb-10.5.12-downstream_modified/mysql-test/lib/openssl.cnf.patch16 2021-08-03 10:29:07.000000000 +0200 -+++ mariadb-10.5.12-downstream_modified/mysql-test/lib/openssl.cnf 2021-11-18 16:58:41.552440737 +0100 -@@ -9,4 +9,4 @@ ssl_conf = ssl_section - system_default = system_default_section - - [system_default_section] --CipherString = ALL:@SECLEVEL=1 -+CipherString = ALL:@SECLEVEL=0 -diff -up mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.result.patch16 mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.result ---- mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.result.patch16 2021-08-03 10:29:08.000000000 +0200 -+++ mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.result 2021-11-18 16:58:41.552440737 +0100 -@@ -61,8 +61,8 @@ connect ssl_con,localhost,root,,,,,SSL; - SHOW STATUS LIKE 'Ssl_cipher'; - Variable_name Value - Ssl_cipher AES128-SHA --SHOW STATUS LIKE 'Ssl_cipher_list'; --Variable_name Value --Ssl_cipher_list AES128-SHA -+SELECT VARIABLE_VALUE like '%AES128-SHA%' FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME='Ssl_cipher_list'; -+VARIABLE_VALUE like '%AES128-SHA%' -+1 - disconnect ssl_con; - connection default; -diff -up mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.test.patch16 mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.test ---- mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.test.patch16 2021-11-18 16:58:41.552440737 +0100 -+++ mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.test 2021-11-18 17:00:47.753839711 +0100 -@@ -100,6 +100,6 @@ connect (ssl_con,localhost,root,,,,,SSL) - --replace_regex /TLS_AES_.*/AES128-SHA/ - SHOW STATUS LIKE 'Ssl_cipher'; - --replace_regex /TLS_AES_.*/AES128-SHA/ --SHOW STATUS LIKE 'Ssl_cipher_list'; -+SELECT VARIABLE_VALUE like '%AES128-SHA%' FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME='Ssl_cipher_list'; - disconnect ssl_con; - connection default; -diff -up mariadb-10.5.12-downstream_modified/mysys_ssl/my_crypt.cc.patch16 mariadb-10.5.12-downstream_modified/mysys_ssl/my_crypt.cc ---- mariadb-10.5.12-downstream_modified/mysys_ssl/my_crypt.cc.patch16 2021-08-03 10:29:08.000000000 +0200 -+++ mariadb-10.5.12-downstream_modified/mysys_ssl/my_crypt.cc 2021-11-18 16:58:41.552440737 +0100 -@@ -29,11 +29,7 @@ - #include - #include - --#ifdef HAVE_WOLFSSL - #define CTX_ALIGN 16 --#else --#define CTX_ALIGN 0 --#endif - - class MyCTX - { -@@ -100,8 +96,9 @@ class MyCTX_nopad : public MyCTX - { - public: - const uchar *key; -- uint klen, buf_len; -+ uint klen, source_tail_len; - uchar oiv[MY_AES_BLOCK_SIZE]; -+ uchar source_tail[MY_AES_BLOCK_SIZE]; - - MyCTX_nopad() : MyCTX() { } - ~MyCTX_nopad() { } -@@ -112,7 +109,7 @@ public: - compile_time_assert(MY_AES_CTX_SIZE >= sizeof(MyCTX_nopad)); - this->key= key; - this->klen= klen; -- this->buf_len= 0; -+ this->source_tail_len= 0; - if (ivlen) - memcpy(oiv, iv, ivlen); - DBUG_ASSERT(ivlen == 0 || ivlen == sizeof(oiv)); -@@ -123,26 +120,41 @@ public: - return res; - } - -+ /** Update last partial source block, stored in source_tail array. */ -+ void update_source_tail(const uchar* src, uint slen) -+ { -+ if (!slen) -+ return; -+ uint new_tail_len= (source_tail_len + slen) % MY_AES_BLOCK_SIZE; -+ if (new_tail_len) -+ { -+ if (slen + source_tail_len < MY_AES_BLOCK_SIZE) -+ { -+ memcpy(source_tail + source_tail_len, src, slen); -+ } -+ else -+ { -+ DBUG_ASSERT(slen > new_tail_len); -+ memcpy(source_tail, src + slen - new_tail_len, new_tail_len); -+ } -+ } -+ source_tail_len= new_tail_len; -+ } -+ - int update(const uchar *src, uint slen, uchar *dst, uint *dlen) - { -- buf_len+= slen; -+ update_source_tail(src, slen); - return MyCTX::update(src, slen, dst, dlen); - } - - int finish(uchar *dst, uint *dlen) - { -- buf_len %= MY_AES_BLOCK_SIZE; -- if (buf_len) -+ if (source_tail_len) - { -- uchar *buf= EVP_CIPHER_CTX_buf_noconst(ctx); - /* - Not much we can do, block ciphers cannot encrypt data that aren't - a multiple of the block length. At least not without padding. - Let's do something CTR-like for the last partial block. -- -- NOTE this assumes that there are only buf_len bytes in the buf. -- If OpenSSL will change that, we'll need to change the implementation -- of this class too. - */ - uchar mask[MY_AES_BLOCK_SIZE]; - uint mlen; -@@ -154,10 +166,10 @@ public: - return rc; - DBUG_ASSERT(mlen == sizeof(mask)); - -- for (uint i=0; i < buf_len; i++) -- dst[i]= buf[i] ^ mask[i]; -+ for (uint i=0; i < source_tail_len; i++) -+ dst[i]= source_tail[i] ^ mask[i]; - } -- *dlen= buf_len; -+ *dlen= source_tail_len; - return MY_AES_OK; - } - }; -diff -up mariadb-10.5.12-downstream_modified/unittest/mysys/aes-t.c.patch16 mariadb-10.5.12-downstream_modified/unittest/mysys/aes-t.c ---- mariadb-10.5.12-downstream_modified/unittest/mysys/aes-t.c.patch16 2021-08-03 10:29:10.000000000 +0200 -+++ mariadb-10.5.12-downstream_modified/unittest/mysys/aes-t.c 2021-11-18 16:58:41.553440740 +0100 -@@ -21,27 +21,96 @@ - #include - #include - --#define DO_TEST(mode, nopad, slen, fill, dlen, hash) \ -- SKIP_BLOCK_IF(mode == 0xDEADBEAF, nopad ? 4 : 5, #mode " not supported") \ -- { \ -- memset(src, fill, src_len= slen); \ -- ok(my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_ENCRYPT, \ -- src, src_len, dst, &dst_len, \ -- key, sizeof(key), iv, sizeof(iv)) == MY_AES_OK, \ -- "encrypt " #mode " %u %s", src_len, nopad ? "nopad" : "pad"); \ -- if (!nopad) \ -- ok (dst_len == my_aes_get_size(mode, src_len), "my_aes_get_size");\ -- my_md5(md5, (char*)dst, dst_len); \ -- ok(dst_len == dlen && memcmp(md5, hash, sizeof(md5)) == 0, "md5"); \ -- ok(my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_DECRYPT, \ -- dst, dst_len, ddst, &ddst_len, \ -- key, sizeof(key), iv, sizeof(iv)) == MY_AES_OK, \ -- "decrypt " #mode " %u", dst_len); \ -- ok(ddst_len == src_len && memcmp(src, ddst, src_len) == 0, "memcmp"); \ -+ -+/** Test streaming encryption, bytewise update.*/ -+static int aes_crypt_bytewise(enum my_aes_mode mode, int flags, const unsigned char *src, -+ unsigned int slen, unsigned char *dst, unsigned int *dlen, -+ const unsigned char *key, unsigned int klen, -+ const unsigned char *iv, unsigned int ivlen) -+{ -+ /* Allocate context on odd address on stack, in order to -+ catch misalignment errors.*/ -+ void *ctx= (char *)alloca(MY_AES_CTX_SIZE+1)+1; -+ -+ int res1, res2; -+ uint d1= 0, d2; -+ uint i; -+ -+ if ((res1= my_aes_crypt_init(ctx, mode, flags, key, klen, iv, ivlen))) -+ return res1; -+ for (i= 0; i < slen; i++) -+ { -+ uint tmp_d1=0; -+ res1= my_aes_crypt_update(ctx, src+i,1, dst, &tmp_d1); -+ if (res1) -+ return res1; -+ d1+= tmp_d1; -+ dst+= tmp_d1; -+ } -+ res2= my_aes_crypt_finish(ctx, dst, &d2); -+ *dlen= d1 + d2; -+ return res1 ? res1 : res2; -+} -+ -+ -+#ifndef HAVE_EncryptAes128Ctr -+const uint MY_AES_CTR=0xDEADBEAF; -+#endif -+#ifndef HAVE_EncryptAes128Gcm -+const uint MY_AES_GCM=0xDEADBEAF; -+#endif -+ -+#define MY_AES_UNSUPPORTED(x) (x == 0xDEADBEAF) -+ -+static void do_test(uint mode, const char *mode_str, int nopad, uint slen, -+ char fill, size_t dlen, const char *hash) -+{ -+ uchar key[16]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6}; -+ uchar iv[16]= {2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7}; -+ uchar src[1000], dst[1100], dst2[1100], ddst[1000]; -+ uchar md5[MY_MD5_HASH_SIZE]; -+ uint src_len, dst_len, dst_len2, ddst_len; -+ int result; -+ -+ if (MY_AES_UNSUPPORTED(mode)) -+ { -+ skip(nopad?7:6, "%s not supported", mode_str); -+ return; -+ } -+ memset(src, fill, src_len= slen); -+ result= my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_ENCRYPT, src, src_len, -+ dst, &dst_len, key, sizeof(key), iv, sizeof(iv)); -+ ok(result == MY_AES_OK, "encrypt %s %u %s", mode_str, src_len, -+ nopad ? "nopad" : "pad"); -+ -+ if (nopad) -+ { -+ result= aes_crypt_bytewise(mode, nopad | ENCRYPTION_FLAG_ENCRYPT, src, -+ src_len, dst2, &dst_len2, key, sizeof(key), -+ iv, sizeof(iv)); -+ ok(result == MY_AES_OK, "encrypt bytewise %s %u", mode_str, src_len); -+ /* Compare with non-bytewise encryption result*/ -+ ok(dst_len == dst_len2 && memcmp(dst, dst2, dst_len) == 0, -+ "memcmp bytewise %s %u", mode_str, src_len); - } -+ else -+ { -+ int dst_len_real= my_aes_get_size(mode, src_len); -+ ok(dst_len_real= dst_len, "my_aes_get_size"); -+ } -+ my_md5(md5, (char *) dst, dst_len); -+ ok(dst_len == dlen, "md5 len"); -+ ok(memcmp(md5, hash, sizeof(md5)) == 0, "md5"); -+ result= my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_DECRYPT, -+ dst, dst_len, ddst, &ddst_len, key, sizeof(key), iv, -+ sizeof(iv)); -+ -+ ok(result == MY_AES_OK, "decrypt %s %u", mode_str, dst_len); -+ ok(ddst_len == src_len && memcmp(src, ddst, src_len) == 0, "memcmp"); -+} - --#define DO_TEST_P(M,S,F,D,H) DO_TEST(M,0,S,F,D,H) --#define DO_TEST_N(M,S,F,D,H) DO_TEST(M,ENCRYPTION_FLAG_NOPAD,S,F,D,H) -+#define DO_TEST_P(M, S, F, D, H) do_test(M, #M, 0, S, F, D, H) -+#define DO_TEST_N(M, S, F, D, H) do_test(M, #M, ENCRYPTION_FLAG_NOPAD, S, F, D, H) - - /* useful macro for debugging */ - #define PRINT_MD5() \ -@@ -53,25 +122,15 @@ - printf("\"\n"); \ - } while(0); - --#ifndef HAVE_EncryptAes128Ctr --const uint MY_AES_CTR=0xDEADBEAF; --#endif --#ifndef HAVE_EncryptAes128Gcm --const uint MY_AES_GCM=0xDEADBEAF; --#endif - - int - main(int argc __attribute__((unused)),char *argv[]) - { -- uchar key[16]= {1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6}; -- uchar iv[16]= {2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7}; -- uchar src[1000], dst[1100], ddst[1000]; -- uchar md5[MY_MD5_HASH_SIZE]; -- uint src_len, dst_len, ddst_len; - - MY_INIT(argv[0]); - -- plan(87); -+ plan(122); -+ - DO_TEST_P(MY_AES_ECB, 200, '.', 208, "\xd8\x73\x8e\x3a\xbc\x66\x99\x13\x7f\x90\x23\x52\xee\x97\x6f\x9a"); - DO_TEST_P(MY_AES_ECB, 128, '?', 144, "\x19\x58\x33\x85\x4c\xaa\x7f\x06\xd1\xb2\xec\xd7\xb7\x6a\xa9\x5b"); - DO_TEST_P(MY_AES_CBC, 159, '%', 160, "\x4b\x03\x18\x3d\xf1\xa7\xcd\xa1\x46\xb3\xc6\x8a\x92\xc0\x0f\xc9"); - - - -MariaDB before 10.8 series does not contain the OpenSSL 3 patch on the upstream. -MariaDB upstream later added the following condition: -https://github.com/MariaDB/server/commit/c9beef4315 -limiting the OpenSSL that can be used to < 3. and reverted this commit for 10.8 and later: -https://github.com/MariaDB/server/commit/64e358821e - -Since we apply the OpenSSL 3 patch from MariaDB 10.8 series to earlier series, we need to revert this commit -on those earlier series too. - ---- mariadb-10.5.15-downstream_modified/cmake/ssl.cmake 2022-02-22 05:13:17.259097302 +0100 -+++ mariadb-10.5.15-downstream_modified/cmake/ssl.cmake_patched 2022-02-23 07:22:20.290082378 +0100 -@@ -118,7 +118,7 @@ MACRO (MYSQL_CHECK_SSL) - ENDIF() - FIND_PACKAGE(OpenSSL) - SET_PACKAGE_PROPERTIES(OpenSSL PROPERTIES TYPE RECOMMENDED) -- IF(OPENSSL_FOUND AND OPENSSL_VERSION AND OPENSSL_VERSION VERSION_LESS "3.0.0") -+ IF(OPENSSL_FOUND) - SET(OPENSSL_LIBRARY ${OPENSSL_SSL_LIBRARY}) - INCLUDE(CheckSymbolExists) - SET(SSL_SOURCES "") diff --git a/mariadb.spec b/mariadb.spec index e533999..8b798a5 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -11,7 +11,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.5.16 +%global last_tested_version 10.5.18 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -149,8 +149,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.16 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 10.5.18 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -209,12 +209,6 @@ Patch7: %{pkgnamepatch}-scripts.patch Patch9: %{pkgnamepatch}-ownsetup.patch # Patch10: Fix cipher name in the SSL Cipher name test Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch -# Patch12: OpenSSL 3 patch -# Picked from the upstream developement branch for MariaDB 10.8. -# https://jira.mariadb.org/browse/MDEV-25785 -Patch12: %{pkgnamepatch}-openssl3.patch -# Patch16: Fix MD5 in FIPS mode -Patch16: %{pkgnamepatch}-fips.patch BuildRequires: make BuildRequires: cmake gcc-c++ @@ -740,11 +734,12 @@ rm -r storage/rocksdb/ %patch4 -p1 %patch7 -p1 %patch9 -p1 -%patch10 -p1 -%if 0%{?fedora} >= 36 || 0%{?rhel} >= 9 -%patch12 -p1 -%patch16 -p1 -%endif +# The test in Patch 10 has been recently updated by upstream +# and the test was disabled in the testuite run +# main.ssl_cipher [ disabled ] MDEV-17184 - Failures with OpenSSL 1.1.1 +# Keeping the patch commented out, need to revisit +# once the test is re-enabled by upstream in some future release +#%patch10 -p1 # generate a list of tests that fail, but are not disabled by upstream cat %{SOURCE50} | tee -a mysql-test/unstable-tests @@ -1644,6 +1639,10 @@ fi %endif %changelog +* Wed Nov 16 2022 Michal Schorm - 3:10.5.18-1 +- Rebase to 10.5.18 +- OpenSSL 3 patch upstreamed + * Thu Jul 21 2022 Fedora Release Engineering - 3:10.5.16-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 9a1e7af..315f5d7 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -64,3 +64,8 @@ oqgraph.legacy_upgrade : oqgraph.regression_1133093 : oqgraph.regression_1196036 : oqgraph.regression_1213120 : + +# Fails on all architectures since 10.5.18 +main.information_schema : +main.loadxml : +main.lock_kill : From c1ffd3ffe0d5c9e26c3f2f5fd6c71864f9b0c88c Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 16 Nov 2022 12:06:29 +0000 Subject: [PATCH 726/789] Rebase to 10.5.18 - add new sources --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index 60a865a..a8f5f04 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.16-downstream_modified.tar.gz) = c61457dcf4c2217b4432bee15094713e672f273a85f2f7a84326b619a0c51dd6f025d7bb94f5da35a2f4ac026c2b6fd32bd605985a5888101a06d62da8fdb02e +SHA512 (mariadb-10.5.18-downstream_modified.tar.gz) = 9a99d766fb05fec8d80f3c38d3ec2cbf8e5d456fe230b534aac3ebbf39e1743448c111a2fddf6592b456835f0d07baa0db7bf1821d567de2f615f0f0f01131d3 From 974cfc625b4649891c0e9c89cd1331c4a0abbbed Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 18:56:49 +0000 Subject: [PATCH 727/789] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 8b798a5..392fde2 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -150,7 +150,7 @@ Name: mariadb Version: 10.5.18 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1639,6 +1639,9 @@ fi %endif %changelog +* Thu Jan 19 2023 Fedora Release Engineering - 3:10.5.18-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Wed Nov 16 2022 Michal Schorm - 3:10.5.18-1 - Rebase to 10.5.18 - OpenSSL 3 patch upstreamed From 752281ea43b01b360215c8a8665a2f8eca0a2a9a Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Tue, 24 Jan 2023 14:15:29 -0500 Subject: [PATCH 728/789] Fix build with GCC 13 --- mariadb-10.5-gcc13.patch | 12 +++ mariadb.spec | 7 ++ rocksdb-6.8-gcc13.patch | 164 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 183 insertions(+) create mode 100644 mariadb-10.5-gcc13.patch create mode 100644 rocksdb-6.8-gcc13.patch diff --git a/mariadb-10.5-gcc13.patch b/mariadb-10.5-gcc13.patch new file mode 100644 index 0000000..341b47b --- /dev/null +++ b/mariadb-10.5-gcc13.patch @@ -0,0 +1,12 @@ +diff --git a/tpool/aio_linux.cc b/tpool/aio_linux.cc +index 8a6688e6775..5eff358723d 100644 +--- a/tpool/aio_linux.cc ++++ b/tpool/aio_linux.cc +@@ -17,6 +17,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111 - 1301 USA*/ + #include "tpool.h" + + #ifdef LINUX_NATIVE_AIO ++# include + # include + # include + # include diff --git a/mariadb.spec b/mariadb.spec index 392fde2..65cfe6d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -209,6 +209,9 @@ Patch7: %{pkgnamepatch}-scripts.patch Patch9: %{pkgnamepatch}-ownsetup.patch # Patch10: Fix cipher name in the SSL Cipher name test Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch +# https://gcc.gnu.org/gcc-13/porting_to.html +Patch11: mariadb-10.5-gcc13.patch +Patch12: rocksdb-6.8-gcc13.patch BuildRequires: make BuildRequires: cmake gcc-c++ @@ -740,6 +743,10 @@ rm -r storage/rocksdb/ # Keeping the patch commented out, need to revisit # once the test is re-enabled by upstream in some future release #%patch10 -p1 +%patch11 -p1 +%if %{with rocksdb} +%patch12 -p1 -d storage/rocksdb/rocksdb/ +%endif # generate a list of tests that fail, but are not disabled by upstream cat %{SOURCE50} | tee -a mysql-test/unstable-tests diff --git a/rocksdb-6.8-gcc13.patch b/rocksdb-6.8-gcc13.patch new file mode 100644 index 0000000..597c493 --- /dev/null +++ b/rocksdb-6.8-gcc13.patch @@ -0,0 +1,164 @@ +diff --git a/db/compaction/compaction_iteration_stats.h b/db/compaction/compaction_iteration_stats.h +index 963c1d8eb..79acbec6a 100644 +--- a/db/compaction/compaction_iteration_stats.h ++++ b/db/compaction/compaction_iteration_stats.h +@@ -5,6 +5,8 @@ + + #pragma once + ++#include ++ + #include "rocksdb/rocksdb_namespace.h" + + struct CompactionIterationStats { +diff --git a/include/rocksdb/thread_status.h b/include/rocksdb/thread_status.h +index 6b2f5c885..bb2de6c7b 100644 +--- a/include/rocksdb/thread_status.h ++++ b/include/rocksdb/thread_status.h +@@ -13,13 +13,15 @@ + + #pragma once + +-#include + #include ++#include + #include + #include + #include + #include + ++#include "rocksdb/rocksdb_namespace.h" ++ + #if !defined(ROCKSDB_LITE) && !defined(NROCKSDB_THREAD_STATUS) && \ + defined(ROCKSDB_SUPPORT_THREAD_LOCAL) + #define ROCKSDB_USING_THREAD_STATUS +diff --git a/include/rocksdb/universal_compaction.h b/include/rocksdb/universal_compaction.h +index e3aeee6ce..58323f2d9 100644 +--- a/include/rocksdb/universal_compaction.h ++++ b/include/rocksdb/universal_compaction.h +@@ -5,10 +5,12 @@ + + #pragma once + +-#include + #include ++#include + #include + ++#include "rocksdb/rocksdb_namespace.h" ++ + namespace ROCKSDB_NAMESPACE { + + // +diff --git a/include/rocksdb/utilities/checkpoint.h b/include/rocksdb/utilities/checkpoint.h +index c7f93b4cf..3c2ab8053 100644 +--- a/include/rocksdb/utilities/checkpoint.h ++++ b/include/rocksdb/utilities/checkpoint.h +@@ -8,6 +8,7 @@ + #pragma once + #ifndef ROCKSDB_LITE + ++#include + #include + #include + #include "rocksdb/status.h" +diff --git a/include/rocksdb/utilities/ldb_cmd_execute_result.h b/include/rocksdb/utilities/ldb_cmd_execute_result.h +index c837b47f7..57bac3346 100644 +--- a/include/rocksdb/utilities/ldb_cmd_execute_result.h ++++ b/include/rocksdb/utilities/ldb_cmd_execute_result.h +@@ -5,6 +5,10 @@ + // + #pragma once + ++#include ++ ++#include "rocksdb/rocksdb_namespace.h" ++ + #ifdef FAILED + #undef FAILED + #endif +diff --git a/memory/memory_usage.h b/memory/memory_usage.h +index 15e8b87cd..4c73cd40b 100644 +--- a/memory/memory_usage.h ++++ b/memory/memory_usage.h +@@ -5,8 +5,11 @@ + + #pragma once + ++#include + #include + ++#include "rocksdb/rocksdb_namespace.h" ++ + namespace ROCKSDB_NAMESPACE { + + // Helper methods to estimate memroy usage by std containers. +diff --git a/table/block_based/data_block_hash_index.h b/table/block_based/data_block_hash_index.h +index f356395f3..321522175 100644 +--- a/table/block_based/data_block_hash_index.h ++++ b/table/block_based/data_block_hash_index.h +@@ -5,6 +5,7 @@ + + #pragma once + ++#include + #include + #include + +diff --git a/util/crc32c_ppc.h b/util/crc32c_ppc.h +index c359061c6..5cb12c89a 100644 +--- a/util/crc32c_ppc.h ++++ b/util/crc32c_ppc.h +@@ -7,6 +7,9 @@ + + #pragma once + ++#include ++#include ++ + #ifdef __cplusplus + extern "C" { + #endif +diff --git a/util/string_util.h b/util/string_util.h +index a761be66c..064d059f0 100644 +--- a/util/string_util.h ++++ b/util/string_util.h +@@ -6,6 +6,7 @@ + + #pragma once + ++#include + #include + #include + #include +diff --git a/utilities/blob_db/blob_db_gc_stats.h b/utilities/blob_db/blob_db_gc_stats.h +index 1e6e4a25d..fea6b0032 100644 +--- a/utilities/blob_db/blob_db_gc_stats.h ++++ b/utilities/blob_db/blob_db_gc_stats.h +@@ -5,6 +5,10 @@ + // + #pragma once + ++#include ++ ++#include "rocksdb/rocksdb_namespace.h" ++ + #ifndef ROCKSDB_LITE + + namespace ROCKSDB_NAMESPACE { +diff --git a/utilities/cassandra/serialize.h b/utilities/cassandra/serialize.h +index cd980ade0..8f50a02dd 100644 +--- a/utilities/cassandra/serialize.h ++++ b/utilities/cassandra/serialize.h +@@ -10,6 +10,11 @@ + + #pragma once + ++#include ++#include ++ ++#include "rocksdb/rocksdb_namespace.h" ++ + namespace ROCKSDB_NAMESPACE { + namespace cassandra { + namespace { From 2efa260d360b2cb960b5adff9a2a1a71777f0561 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Tue, 11 Apr 2023 10:07:18 +0200 Subject: [PATCH 729/789] Port to C99 Related to: --- mariadb-c99.patch | 21 +++++++++++++++++++++ mariadb.spec | 7 ++++++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 mariadb-c99.patch diff --git a/mariadb-c99.patch b/mariadb-c99.patch new file mode 100644 index 0000000..ce01dd7 --- /dev/null +++ b/mariadb-c99.patch @@ -0,0 +1,21 @@ +rocksdb: Define _GNU_SOURCE during fallocate CMake probe + +The glibc headers declare fallocate only if _GNU_SOURCE is defined. +Upstream rocksdb does not need this because the probe is run with the +C++ compiler, and current g++ versions define _GNU_SOURCE +automatically. + +Submitted upstream: + + +diff -ur mariadb-10.5.18-downstream_modified.orig/storage/rocksdb/build_rocksdb.cmake mariadb-10.5.18-downstream_modified/storage/rocksdb/build_rocksdb.cmake +--- mariadb-10.5.18-downstream_modified.orig/storage/rocksdb/build_rocksdb.cmake 2022-11-02 13:37:22.000000000 +0100 ++++ mariadb-10.5.18-downstream_modified/storage/rocksdb/build_rocksdb.cmake 2023-04-11 09:42:17.295837813 +0200 +@@ -138,6 +138,7 @@ + if(WITH_FALLOCATE AND UNIX) + include(CheckCSourceCompiles) + CHECK_C_SOURCE_COMPILES(" ++#define _GNU_SOURCE + #include + #include + int main() { diff --git a/mariadb.spec b/mariadb.spec index 65cfe6d..1524270 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -150,7 +150,7 @@ Name: mariadb Version: 10.5.18 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -212,6 +212,7 @@ Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch # https://gcc.gnu.org/gcc-13/porting_to.html Patch11: mariadb-10.5-gcc13.patch Patch12: rocksdb-6.8-gcc13.patch +Patch13: mariadb-c99.patch BuildRequires: make BuildRequires: cmake gcc-c++ @@ -746,6 +747,7 @@ rm -r storage/rocksdb/ %patch11 -p1 %if %{with rocksdb} %patch12 -p1 -d storage/rocksdb/rocksdb/ +%patch13 -p1 %endif # generate a list of tests that fail, but are not disabled by upstream @@ -1646,6 +1648,9 @@ fi %endif %changelog +* Tue Apr 11 2023 Florian Weimer - 3:10.5.18-3 +- Port to C99 + * Thu Jan 19 2023 Fedora Release Engineering - 3:10.5.18-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From 70b643e1b3e0cdf5ba1f8f0953312ac3d8db9c65 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 28 Apr 2023 17:48:52 +0200 Subject: [PATCH 730/789] Rebase to 10.5.19 --- mariadb.spec | 9 ++++++--- sources | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 1524270..7682a91 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -11,7 +11,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.5.18 +%global last_tested_version 10.5.19 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -149,8 +149,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.18 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 10.5.19 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1648,6 +1648,9 @@ fi %endif %changelog +* Fri Apr 28 2023 Michal Schorm - 3:10.5.19-1 +- Rebase to 10.5.19 + * Tue Apr 11 2023 Florian Weimer - 3:10.5.18-3 - Port to C99 diff --git a/sources b/sources index a8f5f04..40583f5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.18-downstream_modified.tar.gz) = 9a99d766fb05fec8d80f3c38d3ec2cbf8e5d456fe230b534aac3ebbf39e1743448c111a2fddf6592b456835f0d07baa0db7bf1821d567de2f615f0f0f01131d3 +SHA512 (mariadb-10.5.19-downstream_modified.tar.gz) = 29ca4910099d51a0f5c17fad986dfae56739b3016410fa7c3052c155ad18ac9c52df97efc94beb5d896cbfd72b719e74cc1ecf4209fc42f28aa9d1bf5b29b09f From aa28093e35b7bd4cce259349cbd06ff8d604d891 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 29 Apr 2023 02:02:41 +0200 Subject: [PATCH 731/789] Fix RPM syntax: '%patchN' has been deprecated https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/VBFDPQHAHF3WG6WBZR2L5GSWMW6CVTJS/ --- mariadb.spec | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 7682a91..28522bb 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -735,19 +735,19 @@ rm -r storage/rocksdb/ -%patch4 -p1 -%patch7 -p1 -%patch9 -p1 +%patch -P4 -p1 +%patch -P7 -p1 +%patch -P9 -p1 # The test in Patch 10 has been recently updated by upstream # and the test was disabled in the testuite run # main.ssl_cipher [ disabled ] MDEV-17184 - Failures with OpenSSL 1.1.1 # Keeping the patch commented out, need to revisit # once the test is re-enabled by upstream in some future release -#%patch10 -p1 -%patch11 -p1 +#%patch -P10 -p1 +%patch -P11 -p1 %if %{with rocksdb} -%patch12 -p1 -d storage/rocksdb/rocksdb/ -%patch13 -p1 +%patch -P12 -p1 -d storage/rocksdb/rocksdb/ +%patch -P13 -p1 %endif # generate a list of tests that fail, but are not disabled by upstream From cb41bf05f1f267ad79b8f72ee95addcc29e8f2e5 Mon Sep 17 00:00:00 2001 From: Siddhesh Poyarekar Date: Fri, 24 Mar 2023 15:51:58 +0000 Subject: [PATCH 732/789] Use _fortify_level to disable fortification in debug builds --- mariadb.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 28522bb..8b69b81 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -150,7 +150,7 @@ Name: mariadb Version: 10.5.19 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -884,10 +884,10 @@ CFLAGS="$CFLAGS -fPIC" %if %{with debug} # Override all optimization flags when making a debug build # -D_FORTIFY_SOURCE requires optimizations enabled. Disable the fortify. -CFLAGS=`echo "$CFLAGS" | sed -r 's/-D_FORTIFY_SOURCE=[012]/-D_FORTIFY_SOURCE=0/'` +%undefine _fortify_level CFLAGS=`echo "$CFLAGS" | sed -r 's/-O[0123]//'` -CFLAGS="$CFLAGS -O0 -g -D_FORTIFY_SOURCE=0" +CFLAGS="$CFLAGS -O0 -g" # Fixes for Fedora 32 & Rawhide (GCC 10.0): %if 0%{?fedora} >= 32 @@ -1648,6 +1648,9 @@ fi %endif %changelog +* Fri Apr 28 2023 Siddhesh Poyarekar - 3:10.5.19-2 +- Use _fortify_level to disable fortification in debug builds. + * Fri Apr 28 2023 Michal Schorm - 3:10.5.19-1 - Rebase to 10.5.19 From b6ec88a8777c707f9d2b1134e9e6cb78c8d3a437 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Thu, 1 Jun 2023 08:10:28 +0000 Subject: [PATCH 733/789] Rebase to version 10.5.20 Patches 11 and 13 were upstreamed: https://github.com/MariaDB/server/commit/75bbf645a66db797be2abd3a348dce32eb753acc https://github.com/MariaDB/server/commit/f575de39afacb24cd43c40bf43c27bfcf97a670b Resolves: CVE-2022-47015 --- mariadb-10.5-gcc13.patch | 12 ------------ mariadb-c99.patch | 21 --------------------- mariadb.spec | 13 ++++++------- rh-skipped-tests-base.list | 18 ++++++++++++++++++ sources | 2 +- 5 files changed, 25 insertions(+), 41 deletions(-) delete mode 100644 mariadb-10.5-gcc13.patch delete mode 100644 mariadb-c99.patch diff --git a/mariadb-10.5-gcc13.patch b/mariadb-10.5-gcc13.patch deleted file mode 100644 index 341b47b..0000000 --- a/mariadb-10.5-gcc13.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/tpool/aio_linux.cc b/tpool/aio_linux.cc -index 8a6688e6775..5eff358723d 100644 ---- a/tpool/aio_linux.cc -+++ b/tpool/aio_linux.cc -@@ -17,6 +17,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111 - 1301 USA*/ - #include "tpool.h" - - #ifdef LINUX_NATIVE_AIO -+# include - # include - # include - # include diff --git a/mariadb-c99.patch b/mariadb-c99.patch deleted file mode 100644 index ce01dd7..0000000 --- a/mariadb-c99.patch +++ /dev/null @@ -1,21 +0,0 @@ -rocksdb: Define _GNU_SOURCE during fallocate CMake probe - -The glibc headers declare fallocate only if _GNU_SOURCE is defined. -Upstream rocksdb does not need this because the probe is run with the -C++ compiler, and current g++ versions define _GNU_SOURCE -automatically. - -Submitted upstream: - - -diff -ur mariadb-10.5.18-downstream_modified.orig/storage/rocksdb/build_rocksdb.cmake mariadb-10.5.18-downstream_modified/storage/rocksdb/build_rocksdb.cmake ---- mariadb-10.5.18-downstream_modified.orig/storage/rocksdb/build_rocksdb.cmake 2022-11-02 13:37:22.000000000 +0100 -+++ mariadb-10.5.18-downstream_modified/storage/rocksdb/build_rocksdb.cmake 2023-04-11 09:42:17.295837813 +0200 -@@ -138,6 +138,7 @@ - if(WITH_FALLOCATE AND UNIX) - include(CheckCSourceCompiles) - CHECK_C_SOURCE_COMPILES(" -+#define _GNU_SOURCE - #include - #include - int main() { diff --git a/mariadb.spec b/mariadb.spec index 8b69b81..f3ddbbf 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -149,8 +149,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.19 -Release: 2%{?with_debug:.debug}%{?dist} +Version: 10.5.20 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -209,10 +209,7 @@ Patch7: %{pkgnamepatch}-scripts.patch Patch9: %{pkgnamepatch}-ownsetup.patch # Patch10: Fix cipher name in the SSL Cipher name test Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch -# https://gcc.gnu.org/gcc-13/porting_to.html -Patch11: mariadb-10.5-gcc13.patch Patch12: rocksdb-6.8-gcc13.patch -Patch13: mariadb-c99.patch BuildRequires: make BuildRequires: cmake gcc-c++ @@ -744,10 +741,8 @@ rm -r storage/rocksdb/ # Keeping the patch commented out, need to revisit # once the test is re-enabled by upstream in some future release #%patch -P10 -p1 -%patch -P11 -p1 %if %{with rocksdb} %patch -P12 -p1 -d storage/rocksdb/rocksdb/ -%patch -P13 -p1 %endif # generate a list of tests that fail, but are not disabled by upstream @@ -1648,6 +1643,10 @@ fi %endif %changelog +* Tue May 30 2023 Lukas Javorsky - 3:10.5.20-1 +- Rebase to version 10.5.20 +- Patches 11 and 13 were upstreamed + * Fri Apr 28 2023 Siddhesh Poyarekar - 3:10.5.19-2 - Use _fortify_level to disable fortification in debug builds. diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 315f5d7..1a86cf8 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -69,3 +69,21 @@ oqgraph.regression_1213120 : main.information_schema : main.loadxml : main.lock_kill : + +# Fails since 10.5.20 +innodb.innodb_bug51920 : +binlog_encryption.rpl_cant_read_event_incident : +spider/bg.spider_fixes : +spider/bugfix.mdev_29904 : +sys_vars.completion_type_func : +rpl.rpl_report_port : +rpl.rpl_reset_slave_fail : +rpl.rpl_xa_survive_disconnect_lsu_off : +rpl.rpl_heartbeat_basic : +rpl.rpl_xa_survive_disconnect : +rpl.rpl_err_ignoredtable : +rpl.rpl_row_img_sequence_full : +rpl.rpl_row_img_sequence_min : +rpl.rpl_row_img_sequence_noblob : +rpl.rpl_xa_empty_transaction : +rpl.rpl_slave_shutdown_mdev20821 : diff --git a/sources b/sources index 40583f5..5d818a4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.19-downstream_modified.tar.gz) = 29ca4910099d51a0f5c17fad986dfae56739b3016410fa7c3052c155ad18ac9c52df97efc94beb5d896cbfd72b719e74cc1ecf4209fc42f28aa9d1bf5b29b09f +SHA512 (mariadb-10.5.20-downstream_modified.tar.gz) = 5438d656e8998e4f3a3cc61af9348ad93c467d3936ac8a9f4640a9b2b70345f025e4bfdd431ccfd0ad519a7ac756dc5a338885f9d68c6c2fe14b31a1de3241ca From 40d8f32182687998c04df2b1a3cb96a8987ae697 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Thu, 1 Jun 2023 10:12:30 +0000 Subject: [PATCH 734/789] Pcre2 bundled version bump and changed GitHub project name Pcre2 version bumped to 10.42. Also pcre2 github project name has been changed to PCRE2Project. --- mariadb.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index f3ddbbf..ddf5d48 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -109,7 +109,7 @@ %bcond_without unbundled_pcre %else %bcond_with unbundled_pcre -%global pcre_bundled_version 10.40 +%global pcre_bundled_version 10.42 %endif # Use main python interpretter version @@ -772,7 +772,7 @@ sed 's/mariadb-server-galera/%{name}-server-galera/' %{SOURCE72} > selinux/%{nam # Get version of PCRE, that upstream use -pcre_version=`grep -e "https://github.com/PhilipHazel/pcre2/releases/download" cmake/pcre.cmake | sed -r "s;.*pcre2-([[:digit:]]+\.[[:digit:]]+).*;\1;" ` +pcre_version=`grep -e "https://github.com/PCRE2Project/pcre2/releases/download" cmake/pcre.cmake | sed -r "s;.*pcre2-([[:digit:]]+\.[[:digit:]]+).*;\1;" ` # Check if the PCRE version in macro 'pcre_bundled_version', used in Provides: bundled(...), is the same version as upstream actually bundles %if %{without unbundled_pcre} From be7c99651ae56f96299ae5cffdd43aed27ca5053 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 6 Jun 2023 12:55:34 +0200 Subject: [PATCH 735/789] Save SPIDER tests data on disk, rather than to memory I've encountered this strange behaviour, staring with MariaDB 10.5.20. The SPIDER tests, and only them, started to fail in 100% cases on all arches with wide range of "no space left on device" like errors. This is interesting, as simmilar issues occured before only on specific arches or build systems. I've thought that maybe the full suite, which run before the spider tests, have left over some data in the memory which would leave less space for the spider tests. However swapping order - running the spider test first and the full suite later didn't help anyhow. The spider tests failed rightaway. Also, it's interesting that running just the main suite in memory is possible. This observation should rule out changes in the build system (lowering the memory limits for builders), as I'd expect that the main suite woould have much bigger memory need than the spider tests. -- This leads to a possibility that there is actually a bug in the spider engine or tests, which cause the unexpected larger memory consumption. This should be examined further. Sadly I don't have capacity for it now. --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index ddf5d48..669ab60 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1243,7 +1243,7 @@ export MTR_BUILD_THREAD=$(( $(date +%s) % 1100 )) --skip-test-list=unstable-tests %endif # Second run for the SPIDER suites that fail with SCA (ssl self signed certificate) - perl ./mysql-test-run.pl $common_testsuite_arguments --skip-ssl --big-test --mem --suite=spider,spider/bg,spider/bugfix,spider/handler \ + perl ./mysql-test-run.pl $common_testsuite_arguments --skip-ssl --big-test --suite=spider,spider/bg,spider/bugfix,spider/handler \ %if %{ignore_testsuite_result} --max-test-fail=999 || : %endif From a6a41d44d00e47bc2aa20feb76481abe49e538af Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 7 Jun 2023 04:35:28 +0200 Subject: [PATCH 736/789] Testsuite verification for 10.5.20 version - skipped test lists format fixed - code for applying skipped tests list added to the SPIDER suites --- mariadb.spec | 4 +++- rh-skipped-tests-base.list | 17 +++++++++-------- rh-skipped-tests-ppc.list | 6 ++++-- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 669ab60..6e905e2 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -11,7 +11,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.5.19 +%global last_tested_version 10.5.20 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -1246,6 +1246,8 @@ export MTR_BUILD_THREAD=$(( $(date +%s) % 1100 )) perl ./mysql-test-run.pl $common_testsuite_arguments --skip-ssl --big-test --suite=spider,spider/bg,spider/bugfix,spider/handler \ %if %{ignore_testsuite_result} --max-test-fail=999 || : + %else + --skip-test-list=unstable-tests %endif # blank line fi diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 1a86cf8..49f481c 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -71,17 +71,18 @@ main.loadxml : main.lock_kill : # Fails since 10.5.20 -innodb.innodb_bug51920 : +innodb.innodb_bug51920 : +innodb.row_size_error_log_warnings_3 : binlog_encryption.rpl_cant_read_event_incident : -spider/bg.spider_fixes : -spider/bugfix.mdev_29904 : +bg.spider_fixes : +bugfix.mdev_29904 : "[Warning] mariadbd: Can't get hardware address with error 0" sys_vars.completion_type_func : -rpl.rpl_report_port : -rpl.rpl_reset_slave_fail : -rpl.rpl_xa_survive_disconnect_lsu_off : -rpl.rpl_heartbeat_basic : +rpl.rpl_report_port : +rpl.rpl_reset_slave_fail : +rpl.rpl_xa_survive_disconnect_lsu_off : +rpl.rpl_heartbeat_basic : rpl.rpl_xa_survive_disconnect : -rpl.rpl_err_ignoredtable : +rpl.rpl_err_ignoredtable : rpl.rpl_row_img_sequence_full : rpl.rpl_row_img_sequence_min : rpl.rpl_row_img_sequence_noblob : diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index 403da66..7b982e0 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -1,5 +1,7 @@ # Fails on ppc64le since 10.4.12 oqgraph.social : -# Fails since 10.5.2 -rh-skipped-tests-ppc.list : +# Fails since 10.5.20 +innodb.innodb_defrag_concurrent : +parts.partition_alter4_innodb : +rpl.rpl_parallel_optimistic_xa_lsu_off : From ada959fe7d802397a2bd3fb90a35888ff6adc778 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jul 2023 13:45:39 +0000 Subject: [PATCH 737/789] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 6e905e2..859fa85 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -150,7 +150,7 @@ Name: mariadb Version: 10.5.20 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1645,6 +1645,9 @@ fi %endif %changelog +* Thu Jul 20 2023 Fedora Release Engineering - 3:10.5.20-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Tue May 30 2023 Lukas Javorsky - 3:10.5.20-1 - Rebase to version 10.5.20 - Patches 11 and 13 were upstreamed From e04eb650af6a083f2e2fd1cd4191780b60c8c488 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 27 Jul 2023 09:20:14 +0200 Subject: [PATCH 738/789] Rebase to 10.5.21 Extended testsuite results checked --- mariadb.spec | 9 ++++++--- sources | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 859fa85..76230fe 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -11,7 +11,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.5.20 +%global last_tested_version 10.5.21 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -149,8 +149,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.20 -Release: 2%{?with_debug:.debug}%{?dist} +Version: 10.5.21 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1645,6 +1645,9 @@ fi %endif %changelog +* Wed Jul 26 2023 Michal Schorm - 3:10.5.21-1 +- Rebase to version 10.5.21 + * Thu Jul 20 2023 Fedora Release Engineering - 3:10.5.20-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/sources b/sources index 5d818a4..1deb8ca 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.20-downstream_modified.tar.gz) = 5438d656e8998e4f3a3cc61af9348ad93c467d3936ac8a9f4640a9b2b70345f025e4bfdd431ccfd0ad519a7ac756dc5a338885f9d68c6c2fe14b31a1de3241ca +SHA512 (mariadb-10.5.21-downstream_modified.tar.gz) = 954776d02d7746ab75431f87365d3608700b257ac327338749f06b5a0f96a5300f5644804a9581011e8abf5adc3bbb2276089a28ed621774e0bb28b740e7afa1 From a0c21fd5cf0009dad3fc3364dea3a8d00d2f9c6e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 4 Sep 2023 12:19:22 +0200 Subject: [PATCH 739/789] [1/2] Rebase to version 10.5.22 Upstream Release notes: https://mariadb.com/kb/en/mariadb-10-5-22-release-notes/ --- mariadb.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 76230fe..7a4a6cd 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -149,7 +149,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.21 +Version: 10.5.22 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -1645,6 +1645,9 @@ fi %endif %changelog +* Mon Sep 04 2023 Michal Schorm - 3:10.5.22-1 +- Rebase to 10.5.22 + * Wed Jul 26 2023 Michal Schorm - 3:10.5.21-1 - Rebase to version 10.5.21 diff --git a/sources b/sources index 1deb8ca..1e81b5e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.21-downstream_modified.tar.gz) = 954776d02d7746ab75431f87365d3608700b257ac327338749f06b5a0f96a5300f5644804a9581011e8abf5adc3bbb2276089a28ed621774e0bb28b740e7afa1 +SHA512 (mariadb-10.5.22-downstream_modified.tar.gz) = 8bbf5c17b7309f618a527d03170a06474a5e86d382baf6a2f9cb554778360dead9bf69392e4e2c4fa0249e43fb80d599dd610912d73fa64a27f8da791238be9c From 466e9bfd68ef5e91055cf0c8ce174103fe1f552c Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 5 Sep 2023 14:23:07 +0200 Subject: [PATCH 740/789] [2/2] Rebase to version 10.5.22 - Pack aditional SELinux rules for the cracklib plugin https://jira.mariadb.org/browse/MDEV-18374 https://github.com/MariaDB/server/pull/1131/files https://fedoraproject.org/wiki/SELinux/IndependentPolicy --- mariadb.spec | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index 7a4a6cd..d17e892 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -544,6 +544,11 @@ Requires: %{name}-server%{?_isa} = %{sameevr} BuildRequires: cracklib-dicts cracklib-devel Requires: cracklib-dicts +BuildRequires: selinux-policy-devel +Requires(post): (libselinux-utils if selinux-policy-targeted) +Requires(post): (policycoreutils if selinux-policy-targeted) +Requires(post): (policycoreutils-python-utils if selinux-policy-targeted) + %description cracklib-password-check CrackLib is a password strength checking library. It is installed by default in many Linux distributions and is invoked automatically (by pam_cracklib.so) @@ -989,6 +994,12 @@ echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}. install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp %endif +# Install additional cracklib selinux policy +%if %{with cracklib} +mv %{buildroot}%{_datadir}/mariadb/policy/selinux/mariadb-plugin-cracklib-password-check.pp %{buildroot}%{_datadir}/selinux/packages/targeted/%{name}-plugin-cracklib-password-check.pp +rm %{buildroot}%{_datadir}/mariadb/policy/selinux/mariadb-plugin-cracklib-password-check.te +%endif + %if %{with test} # mysql-test includes one executable that doesn't belong under /usr/share, so move it and provide a symlink mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir} @@ -1284,6 +1295,16 @@ semanage port -a -t mysqld_port_t -p tcp 4444 >/dev/null 2>&1 || : semodule -i %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp >/dev/null 2>&1 || : %endif +%if %{with cracklib} +%post cracklib-password-check +%selinux_modules_install -s "targeted" %{_datadir}/selinux/packages/targeted/%{name}-plugin-cracklib-password-check.pp + +%postun cracklib-password-check +if [ $1 -eq 0 ]; then + %selinux_modules_uninstall -s "targeted" %{name}-plugin-cracklib-password-check +fi +%endif + %post server %systemd_post %{daemon_name}.service @@ -1523,6 +1544,7 @@ fi %files cracklib-password-check %config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf %{_libdir}/%{pkg_name}/plugin/cracklib_password_check.so +%{_datadir}/selinux/packages/targeted/%{name}-plugin-cracklib-password-check.pp %endif %if %{with backup} From 607eb71d53bfd0c9f645d22c9bf0348213a7d7ba Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 18 Sep 2023 12:25:39 +0200 Subject: [PATCH 741/789] Regroup scriptlets (should be no-op change) --- mariadb.spec | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index d17e892..b24efbd 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1280,6 +1280,15 @@ export MTR_BUILD_THREAD=$(( $(date +%s) % 1100 )) /usr/sbin/useradd -M -N -g mysql -o -r -d %{mysqluserhome} -s /sbin/nologin \ -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : +%post server +%systemd_post %{daemon_name}.service + +%preun server +%systemd_preun %{daemon_name}.service + +%postun server +%systemd_postun_with_restart %{daemon_name}.service + %if %{with galera} %post server-galera # Allow ports needed for the replication: @@ -1293,6 +1302,11 @@ semanage port -a -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || : semanage port -a -t mysqld_port_t -p tcp 4444 >/dev/null 2>&1 || : semodule -i %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp >/dev/null 2>&1 || : + +%postun server-galera +if [ $1 -eq 0 ]; then + semodule -r %{name}-server-galera 2>/dev/null || : +fi %endif %if %{with cracklib} @@ -1305,22 +1319,6 @@ if [ $1 -eq 0 ]; then fi %endif -%post server -%systemd_post %{daemon_name}.service - -%preun server -%systemd_preun %{daemon_name}.service - -%if %{with galera} -%postun server-galera -if [ $1 -eq 0 ]; then - semodule -r %{name}-server-galera 2>/dev/null || : -fi -%endif - -%postun server -%systemd_postun_with_restart %{daemon_name}.service - %if %{with client} From 032692271dcccb95cf792b25c70d8cfa8346675e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 18 Sep 2023 12:27:10 +0200 Subject: [PATCH 742/789] Update 'mariadb-server-galera' SELinux policy packaging https://fedoraproject.org/wiki/SELinux/IndependentPolicy --- mariadb.spec | 42 +++++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index b24efbd..9945b68 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -397,8 +397,10 @@ Summary: The configuration files and scripts for galera replication Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} Requires: galera >= 26.4.3 -Requires(post): libselinux-utils -Requires(post): policycoreutils-python-utils +BuildRequires: selinux-policy-devel +Requires(post): (libselinux-utils if selinux-policy-targeted) +Requires(post): (policycoreutils if selinux-policy-targeted) +Requires(post): (policycoreutils-python-utils if selinux-policy-targeted) # wsrep requirements Requires: lsof # Default wsrep_sst_method @@ -991,7 +993,7 @@ echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}. # install additional galera selinux policy %if %{with galera} -install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp +install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/targeted/%{name}-server-galera.pp %endif # Install additional cracklib selinux policy @@ -1291,21 +1293,31 @@ export MTR_BUILD_THREAD=$(( $(date +%s) % 1100 )) %if %{with galera} %post server-galera -# Allow ports needed for the replication: -# https://mariadb.com/kb/en/library/configuring-mariadb-galera-cluster/#network-ports -# Galera Replication Port -semanage port -a -t mysqld_port_t -p tcp 4567 >/dev/null 2>&1 || : -semanage port -a -t mysqld_port_t -p udp 4567 >/dev/null 2>&1 || : -# IST Port -semanage port -a -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || : -# SST Port -semanage port -a -t mysqld_port_t -p tcp 4444 >/dev/null 2>&1 || : +%selinux_modules_install -s "targeted" %{_datadir}/selinux/packages/targeted/%{name}-server-galera.pp -semodule -i %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp >/dev/null 2>&1 || : +# Allow ports needed for the replication: +# https://fedoraproject.org/wiki/SELinux/IndependentPolicy#Port_Labeling +if [ $1 -eq 1 ]; then + # https://mariadb.com/kb/en/library/configuring-mariadb-galera-cluster/#network-ports + # Galera Replication Port + semanage port -a -t mysqld_port_t -p tcp 4567 >/dev/null 2>&1 || : + semanage port -a -t mysqld_port_t -p udp 4567 >/dev/null 2>&1 || : + # IST Port + semanage port -a -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || : + # SST Port + semanage port -a -t mysqld_port_t -p tcp 4444 >/dev/null 2>&1 || : +fi %postun server-galera if [ $1 -eq 0 ]; then - semodule -r %{name}-server-galera 2>/dev/null || : + %selinux_modules_uninstall -s "targeted" %{name}-server-galera + + # Delete port labeling when the package is removed + # https://fedoraproject.org/wiki/SELinux/IndependentPolicy#Port_Labeling + semanage port -d -t mysqld_port_t -p tcp 4567 >/dev/null 2>&1 || : + semanage port -d -t mysqld_port_t -p udp 4567 >/dev/null 2>&1 || : + semanage port -d -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || : + semanage port -d -t mysqld_port_t -p tcp 4444 >/dev/null 2>&1 || : fi %endif @@ -1402,7 +1414,7 @@ fi %{_bindir}/galera_recovery %config(noreplace) %{_sysconfdir}/my.cnf.d/galera.cnf %attr(0640,root,root) %ghost %config(noreplace) %{_sysconfdir}/sysconfig/clustercheck -%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp +%{_datadir}/selinux/packages/targeted/%{name}-server-galera.pp %endif %files server From 635c377683e90bbe9ff0f45972153a7655e83042 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 18 Sep 2023 12:28:43 +0200 Subject: [PATCH 743/789] Explanation added for a conditional requirement of mysql-selinux --- mariadb.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index 9945b68..21643cd 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -447,7 +447,10 @@ Requires: %{_sysconfdir}/my.cnf.d # Additional SELinux rules (common for MariaDB & MySQL) shipped in a separate package # For cases, where we want to fix a SELinux issues in MariaDB sooner than patched selinux-policy-targeted package is released %if %require_mysql_selinux +# The *-selinux package should only be required on SELinux enabled systems. Therefore the following rich dependency syntax should be used: Requires: (mysql-selinux if selinux-policy-targeted) +# This ensures that the *-selinux package and all its dependencies are not pulled into containers and other systems that do not use SELinux. +# https://fedoraproject.org/wiki/SELinux/IndependentPolicy#Adding_dependency_to_the_spec_file_of_corresponding_package %endif # for fuser in mysql-check-socket From 10445d7e27d67744622e6a9addcd7e42b787712a Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 20 Sep 2023 12:20:30 +0200 Subject: [PATCH 744/789] WORKAROUND: disable LTO on i686 arch to mitigate Internal Compiler Error https://bugzilla.redhat.com/show_bug.cgi?id=2239498 TODO: Remove when the issue is resolved --- mariadb.spec | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index 21643cd..a5ba922 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -26,6 +26,12 @@ # Turn that off to ensure such files don't get included in RPMs (cf bz#884755). %global _default_patch_flags --no-backup-if-mismatch +# Temporary workaround to fix the "internal compiler error" described in https://bugzilla.redhat.com/show_bug.cgi?id=2239498 +# TODO: Remove when the issue is resolved +%ifarch i686 +%global _lto_cflags %{nil} +%endif + # Mroonga engine From 33c8c26fc3317b6f49425e66a4e8af54e22dad2e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 21 Sep 2023 07:07:59 +0200 Subject: [PATCH 745/789] Testsuite verification for 10.5.22 version --- mariadb.spec | 2 +- rh-skipped-tests-base.list | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index a5ba922..a2ab7c1 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -11,7 +11,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.5.21 +%global last_tested_version 10.5.22 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 49f481c..160986b 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -88,3 +88,6 @@ rpl.rpl_row_img_sequence_min : rpl.rpl_row_img_sequence_noblob : rpl.rpl_xa_empty_transaction : rpl.rpl_slave_shutdown_mdev20821 : + +# Unstable to 10.5.22 +main.init_connect : From 839a3502f745289534fcf717ca76af83e6f0286f Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 29 Sep 2023 08:21:32 +0200 Subject: [PATCH 746/789] Packaging update - use the %{pkg_name} macro consistently across the SPECfile instead of %{name} Removed %pkgnamepatch macro, as it equals the %{pkg_name} macro and there isn't really a reason to keep both This commit should be no-op at this moment --- mariadb.spec | 61 ++++++++++++++++++++++++++-------------------------- 1 file changed, 30 insertions(+), 31 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index a2ab7c1..d6ceff4 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,6 +1,5 @@ -# Prefix that is used for patches -%global pkg_name %{name} -%global pkgnamepatch mariadb +# Plain package name for cases, where %{name} differs (e.g. for versioned packages) +%global pkg_name mariadb # Regression tests may take a long time (many cores recommended), skip them by %{!?runselftest:%global runselftest 1} @@ -126,9 +125,9 @@ %endif # Include systemd files -%global daemon_name %{name} +%global daemon_name %{pkg_name} %global daemon_no_prefix %{pkg_name} -%global mysqld_pid_dir mariadb +%global mysqld_pid_dir %{pkg_name} # We define some system's well known locations here so we can use them easily # later when building to another location (like SCL) @@ -208,13 +207,13 @@ Source72: mariadb-server-galera.te # Patch4: Red Hat distributions specific logrotate fix # it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2 -Patch4: %{pkgnamepatch}-logrotate.patch +Patch4: %{pkg_name}-logrotate.patch # Patch7: add to the CMake file all files where we want macros to be expanded -Patch7: %{pkgnamepatch}-scripts.patch +Patch7: %{pkg_name}-scripts.patch # Patch9: pre-configure to comply with guidelines -Patch9: %{pkgnamepatch}-ownsetup.patch +Patch9: %{pkg_name}-ownsetup.patch # Patch10: Fix cipher name in the SSL Cipher name test -Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch +Patch10: %{pkg_name}-ssl-cipher-tests.patch Patch12: rocksdb-6.8-gcc13.patch BuildRequires: make @@ -736,7 +735,7 @@ sources. %prep -%setup -q -n mariadb-%{version}-downstream_modified +%setup -q -n %{pkg_name}-%{version}-downstream_modified # Remove JAR files that upstream puts into tarball find . -name "*.jar" -type f -exec rm --verbose -f {} \; @@ -783,7 +782,7 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ %if %{with galera} # prepare selinux policy mkdir selinux -sed 's/mariadb-server-galera/%{name}-server-galera/' %{SOURCE72} > selinux/%{name}-server-galera.te +sed 's/mariadb-server-galera/%{pkg_name}-server-galera/' %{SOURCE72} > selinux/%{pkg_name}-server-galera.te %endif @@ -848,8 +847,8 @@ fi -DMYSQL_DATADIR="%{dbdatadir}" \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ -DTMPDIR=/var/tmp \ - -DGRN_DATA_DIR=share/%{name}-server/groonga \ - -DGROONGA_NORMALIZER_MYSQL_PROJECT_NAME=%{name}-server/groonga-normalizer-mysql \ + -DGRN_DATA_DIR=share/%{pkg_name}-server/groonga \ + -DGROONGA_NORMALIZER_MYSQL_PROJECT_NAME=%{pkg_name}-server/groonga-normalizer-mysql \ -DENABLED_LOCAL_INFILE=ON \ -DENABLE_DTRACE=ON \ -DSECURITY_HARDENED=OFF \ @@ -920,7 +919,7 @@ cmake -B %{_vpath_builddir} -LAH # build selinux policy %if %{with galera} pushd selinux -make -f /usr/share/selinux/devel/Makefile %{name}-server-galera.pp +make -f /usr/share/selinux/devel/Makefile %{pkg_name}-server-galera.pp %endif @@ -951,7 +950,7 @@ rm %{buildroot}%{_libdir}/pkgconfig/libmariadb.pc %endif # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, -# but that's pretty wacko --- see also %%{name}-file-contents.patch) +# but that's pretty wacko --- see also %%{pkg_name}-file-contents.patch) install -p -m 644 %{_vpath_builddir}/Docs/INFO_SRC %{buildroot}%{_libdir}/%{pkg_name}/ install -p -m 644 %{_vpath_builddir}/Docs/INFO_BIN %{buildroot}%{_libdir}/%{pkg_name}/ rm -r %{buildroot}%{_datadir}/doc/%{_pkgdocdirname}/MariaDB-server-%{version}/ @@ -995,19 +994,19 @@ install -p -m 755 %{_vpath_builddir}/scripts/mariadb-check-upgrade %{buildroot}% install -p -m 644 %{_vpath_builddir}/scripts/mariadb-scripts-common %{buildroot}%{_libexecdir}/mariadb-scripts-common # Install downstream version of tmpfiles -install -D -p -m 0644 %{_vpath_builddir}/scripts/mariadb.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf +install -D -p -m 0644 %{_vpath_builddir}/scripts/mariadb.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{pkg_name}.conf %if 0%{?mysqld_pid_dir:1} -echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf +echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{pkg_name}.conf %endif # install additional galera selinux policy %if %{with galera} -install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/targeted/%{name}-server-galera.pp +install -p -m 644 -D selinux/%{pkg_name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/targeted/%{pkg_name}-server-galera.pp %endif # Install additional cracklib selinux policy %if %{with cracklib} -mv %{buildroot}%{_datadir}/mariadb/policy/selinux/mariadb-plugin-cracklib-password-check.pp %{buildroot}%{_datadir}/selinux/packages/targeted/%{name}-plugin-cracklib-password-check.pp +mv %{buildroot}%{_datadir}/mariadb/policy/selinux/mariadb-plugin-cracklib-password-check.pp %{buildroot}%{_datadir}/selinux/packages/targeted/%{pkg_name}-plugin-cracklib-password-check.pp rm %{buildroot}%{_datadir}/mariadb/policy/selinux/mariadb-plugin-cracklib-password-check.te %endif @@ -1302,7 +1301,7 @@ export MTR_BUILD_THREAD=$(( $(date +%s) % 1100 )) %if %{with galera} %post server-galera -%selinux_modules_install -s "targeted" %{_datadir}/selinux/packages/targeted/%{name}-server-galera.pp +%selinux_modules_install -s "targeted" %{_datadir}/selinux/packages/targeted/%{pkg_name}-server-galera.pp # Allow ports needed for the replication: # https://fedoraproject.org/wiki/SELinux/IndependentPolicy#Port_Labeling @@ -1319,7 +1318,7 @@ fi %postun server-galera if [ $1 -eq 0 ]; then - %selinux_modules_uninstall -s "targeted" %{name}-server-galera + %selinux_modules_uninstall -s "targeted" %{pkg_name}-server-galera # Delete port labeling when the package is removed # https://fedoraproject.org/wiki/SELinux/IndependentPolicy#Port_Labeling @@ -1332,11 +1331,11 @@ fi %if %{with cracklib} %post cracklib-password-check -%selinux_modules_install -s "targeted" %{_datadir}/selinux/packages/targeted/%{name}-plugin-cracklib-password-check.pp +%selinux_modules_install -s "targeted" %{_datadir}/selinux/packages/targeted/%{pkg_name}-plugin-cracklib-password-check.pp %postun cracklib-password-check if [ $1 -eq 0 ]; then - %selinux_modules_uninstall -s "targeted" %{name}-plugin-cracklib-password-check + %selinux_modules_uninstall -s "targeted" %{pkg_name}-plugin-cracklib-password-check fi %endif @@ -1423,7 +1422,7 @@ fi %{_bindir}/galera_recovery %config(noreplace) %{_sysconfdir}/my.cnf.d/galera.cnf %attr(0640,root,root) %ghost %config(noreplace) %{_sysconfdir}/sysconfig/clustercheck -%{_datadir}/selinux/packages/targeted/%{name}-server-galera.pp +%{_datadir}/selinux/packages/targeted/%{pkg_name}-server-galera.pp %endif %files server @@ -1526,10 +1525,10 @@ fi %{_datadir}/%{pkg_name}/mroonga/uninstall.sql %license %{_datadir}/%{pkg_name}/mroonga/COPYING %license %{_datadir}/%{pkg_name}/mroonga/AUTHORS -%license %{_datadir}/%{name}-server/groonga-normalizer-mysql/lgpl-2.0.txt -%license %{_datadir}/%{name}-server/groonga/COPYING -%doc %{_datadir}/%{name}-server/groonga-normalizer-mysql/README.md -%doc %{_datadir}/%{name}-server/groonga/README.md +%license %{_datadir}/%{pkg_name}-server/groonga-normalizer-mysql/lgpl-2.0.txt +%license %{_datadir}/%{pkg_name}-server/groonga/COPYING +%doc %{_datadir}/%{pkg_name}-server/groonga-normalizer-mysql/README.md +%doc %{_datadir}/%{pkg_name}-server/groonga/README.md %endif %if %{with galera} %{_datadir}/%{pkg_name}/wsrep.cnf @@ -1556,14 +1555,14 @@ fi %attr(0660,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} -%{_tmpfilesdir}/%{name}.conf -%{_sysusersdir}/%{name}.conf +%{_tmpfilesdir}/%{pkg_name}.conf +%{_sysusersdir}/%{pkg_name}.conf %if %{with cracklib} %files cracklib-password-check %config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf %{_libdir}/%{pkg_name}/plugin/cracklib_password_check.so -%{_datadir}/selinux/packages/targeted/%{name}-plugin-cracklib-password-check.pp +%{_datadir}/selinux/packages/targeted/%{pkg_name}-plugin-cracklib-password-check.pp %endif %if %{with backup} From 4cbd605121d9510c215518e1674287219c8f11be Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 16 Nov 2023 02:21:51 +0100 Subject: [PATCH 747/789] Rebase to 10.5.23 --- mariadb.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index d6ceff4..4f4d12e 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -154,7 +154,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.22 +Version: 10.5.23 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -1685,6 +1685,9 @@ fi %endif %changelog +* Thu Nov 16 2023 Michal Schorm - 3:10.5.23-1 +- Rebase to 10.5.23 + * Mon Sep 04 2023 Michal Schorm - 3:10.5.22-1 - Rebase to 10.5.22 diff --git a/sources b/sources index 1e81b5e..92c924b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.22-downstream_modified.tar.gz) = 8bbf5c17b7309f618a527d03170a06474a5e86d382baf6a2f9cb554778360dead9bf69392e4e2c4fa0249e43fb80d599dd610912d73fa64a27f8da791238be9c +SHA512 (mariadb-10.5.23-downstream_modified.tar.gz) = 880dbb72413796484cec60c60b436aad72d1d83a35c534e0334c505bdc7142ca8b5be6c85c4cfe9bd80cac3dd29da4763f1005a2aec2a429731fcf0ac6ce444c From 9fe7f4029b9e93fe32b43b43e1ed0e5521124c91 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 17 Nov 2023 01:59:24 +0100 Subject: [PATCH 748/789] Testsuite verified for 10.5.23 --- mariadb.spec | 2 +- rh-skipped-tests-arm.list | 5 ----- rh-skipped-tests-base.list | 27 +++++---------------------- rh-skipped-tests-ppc.list | 5 ----- rh-skipped-tests-s390.list | 6 +++--- 5 files changed, 9 insertions(+), 36 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 4f4d12e..1e8ebb7 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -10,7 +10,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.5.22 +%global last_tested_version 10.5.23 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index ec2e920..e69de29 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -1,5 +0,0 @@ -# Fails since 10.3.17, only on armv7hl -versioning.partition : - -# Fail since 10.4.16 only on armv7hl -versioning.partition_rotation : diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 160986b..cdbd85b 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -28,31 +28,15 @@ perfschema.socket_summary_by_event_name_func : # Fails since 10.1.12 innodb.innodb_defrag_binlog : -# Fails everywhere since 10.2.15 -main.userstat : - # Fails everywhere since 10.4.11 -main.events_bugs : sys_vars.tcp_nodelay : -# Fails on i686 -encryption.innodb-redo-badkey : - -# Fails since 10.5.2 -main.mysqld--help2 : -disks.disks : -disks.disks_notembedded : - # Fails since 10.5.3 main.mysqld--help-aria : # Fails since 10.5.4 main.ssl_system_ca : -# Fails since 10.5.7 -innodb.innodb_wl6326_big : -plugins.feedback_plugin_load : - # Fails on all architectures since 10.5.13 oqgraph.regression_mdev6345 : type_test.type_test_double : @@ -66,17 +50,12 @@ oqgraph.regression_1196036 : oqgraph.regression_1213120 : # Fails on all architectures since 10.5.18 -main.information_schema : main.loadxml : main.lock_kill : # Fails since 10.5.20 innodb.innodb_bug51920 : -innodb.row_size_error_log_warnings_3 : binlog_encryption.rpl_cant_read_event_incident : -bg.spider_fixes : -bugfix.mdev_29904 : "[Warning] mariadbd: Can't get hardware address with error 0" -sys_vars.completion_type_func : rpl.rpl_report_port : rpl.rpl_reset_slave_fail : rpl.rpl_xa_survive_disconnect_lsu_off : @@ -89,5 +68,9 @@ rpl.rpl_row_img_sequence_noblob : rpl.rpl_xa_empty_transaction : rpl.rpl_slave_shutdown_mdev20821 : -# Unstable to 10.5.22 +# Unstable since 10.5.22: main.init_connect : + +# Fails exclusively on F37 +plugins.feedback_plugin_load : +disks.disks : diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index 7b982e0..8ccef55 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -1,7 +1,2 @@ -# Fails on ppc64le since 10.4.12 -oqgraph.social : - # Fails since 10.5.20 innodb.innodb_defrag_concurrent : -parts.partition_alter4_innodb : -rpl.rpl_parallel_optimistic_xa_lsu_off : diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list index 3ca7588..d1fb283 100644 --- a/rh-skipped-tests-s390.list +++ b/rh-skipped-tests-s390.list @@ -1,3 +1,3 @@ -# Fails since 10.5.2 -perfschema.memory_aggregate_32bit : -period.overlaps : +# Fails on 10.5.23 +rpl.parallel_backup : +sys_vars.completion_type_func : From f6fef0c961375bce6da96b34b8798816175137a2 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Tue, 2 Jan 2024 23:50:18 -0500 Subject: [PATCH 749/789] Fix flatpak build The primary reason for building this in /app is for mariadb-embedded as a dependency of the amarok flatpak. PAM modules are not useful in flatpaks, and their installation directory would need to be changed. The pcre2 and lz4 dependencies are part of the runtime, and therefore are in /usr even for flatpaks. --- mariadb.spec | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 1e8ebb7..4330187 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -56,7 +56,9 @@ %bcond_without oqgraph # PAM authentication plugin +%if !0%{?flatpak} %bcond_without pam +%endif # Other plugins # S3 storage engine @@ -86,7 +88,9 @@ %bcond_without client %bcond_without common %bcond_without errmsg +%if !0%{?flatpak} %bcond_without test +%endif %bcond_without galera %bcond_without backup @@ -797,7 +801,7 @@ if [ %{pcre_bundled_version} != "$pcre_version" ] ; then fi %else # Check if the PCRE version that upstream use, is the same as the one present in system -pcre_system_version=`pkgconf %{_libdir}/pkgconfig/libpcre2-*.pc --modversion 2>/dev/null | head -n 1` +pcre_system_version=`pkgconf /usr/%{_lib}/pkgconfig/libpcre2-*.pc --modversion 2>/dev/null | head -n 1` if [ "$pcre_system_version" != "$pcre_version" ] ; then echo -e "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number: $pcre_system_version \n\tUpstream version number: $pcre_version\n" @@ -860,8 +864,8 @@ fi -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DLZ4_LIBS=%{_libdir}/liblz4.so \ - -DLZ4_LIBS=%{?with_lz4:%{_libdir}/liblz4.so}%{!?with_lz4:} \ + -DLZ4_LIBS=/usr/%{_lib}/liblz4.so \ + -DLZ4_LIBS=%{?with_lz4:/usr/%{_lib}/liblz4.so}%{!?with_lz4:} \ -DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ -DWITH_ROCKSDB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ -DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \ From 429b3feaf75720fe9e599cfcdbbd4cdd51a0d7ff Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 21 Jan 2024 06:54:41 +0000 Subject: [PATCH 750/789] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 4330187..5f4ac4d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -159,7 +159,7 @@ Name: mariadb Version: 10.5.23 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1689,6 +1689,9 @@ fi %endif %changelog +* Sun Jan 21 2024 Fedora Release Engineering - 3:10.5.23-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Thu Nov 16 2023 Michal Schorm - 3:10.5.23-1 - Rebase to 10.5.23 From 25de99bdbd261c1091e850dcc70f2d438c3caadd Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 25 Jan 2024 05:47:16 +0000 Subject: [PATCH 751/789] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- mariadb.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 5f4ac4d..fd239aa 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -159,7 +159,7 @@ Name: mariadb Version: 10.5.23 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1689,6 +1689,9 @@ fi %endif %changelog +* Thu Jan 25 2024 Fedora Release Engineering - 3:10.5.23-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Sun Jan 21 2024 Fedora Release Engineering - 3:10.5.23-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 4bcc53237f7f3a4f843d46b0a13c4329be7a53ff Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 29 Nov 2023 13:57:15 +0100 Subject: [PATCH 752/789] [1/20] SPECfile cleanup - Fix cherry-picked from RHEL 8 The PCRE2 version in RHEL 8 is actually 10.32: https://gitlab.com/redhat/centos-stream/rpms/pcre2/-/blob/c8s/sources?ref_type=heads so we need to bundle the PCRE2 10.34 there The version of PCRE2 in RHEL 9 is 10.40: https://gitlab.com/redhat/centos-stream/rpms/pcre2/-/blob/c9s/sources?ref_type=heads so we're safe there --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index fd239aa..261e081 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -114,7 +114,7 @@ # MariaDB 10.0 and later requires pcre >= 10.34, otherwise we need to use # the bundled library, since the package cannot be build with older version # https://mariadb.com/kb/en/pcre/ -%if 0%{?fedora} || 0%{?rhel} > 7 +%if 0%{?fedora} || 0%{?rhel} > 8 %bcond_without unbundled_pcre %else %bcond_with unbundled_pcre From 81a127d488aebbb55f98d2e5d9735f757a41f42f Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 29 Nov 2023 14:00:27 +0100 Subject: [PATCH 753/789] [2/20] SPECfile cleanup - assuming we're on Fedora or RHEL>=8 Python 3 is the default version of Python for quite some time now --- mariadb.spec | 5 ----- 1 file changed, 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 261e081..fa37341 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -121,12 +121,7 @@ %global pcre_bundled_version 10.42 %endif -# Use main python interpretter version -%if 0%{?fedora} || 0%{?rhel} > 7 %global python_path /usr/bin/python3 -%else -%global python_path /usr/bin/python2 -%endif # Include systemd files %global daemon_name %{pkg_name} From 349a0add405649db51b07dd4b81e696d0553c537 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 29 Nov 2023 14:04:17 +0100 Subject: [PATCH 754/789] [3/20] SPECfile cleanup - assuming we're on Fedora or RHEL>=8 --- mariadb.spec | 2 -- 1 file changed, 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index fa37341..c7732b8 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -242,10 +242,8 @@ BuildRequires: bison bison-devel %{?with_unbundled_pcre:BuildRequires: pcre2-devel >= 10.34 pkgconf} %{!?with_unbundled_pcre:Provides: bundled(pcre2) = %{pcre_bundled_version}} # Few utilities needs Perl -%if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: perl-interpreter BuildRequires: perl-generators -%endif # Some tests requires python BuildRequires: python3 # Tests requires time and ps and some perl modules From 74e9f41ebac2261714b1ef601f87e8a8bc1fc749 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 29 Nov 2023 14:16:07 +0100 Subject: [PATCH 755/789] [4/20] SPECfile cleanup - assuming we're on Fedora or RHEL>=8 The 'libs' and 'config' sub-packages are now superseded by 'mariadb-connector-c'. No need for the control code around at the moment. --- mariadb.spec | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index c7732b8..f003a31 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -78,11 +78,8 @@ %bcond_without gssapi # For some use cases we do not need some parts of the package. Set to "...with" to exclude -%if 0%{?fedora} || 0%{?rhel} > 7 %bcond_with clibrary -%else -%bcond_without clibrary -%endif +%bcond_with config %bcond_without embedded %bcond_without devel %bcond_without client @@ -94,15 +91,6 @@ %bcond_without galera %bcond_without backup -# When there is already another package that ships /etc/my.cnf, -# rather include it than ship the file again, since conflicts between -# those files may create issues -%if 0%{?fedora} || 0%{?rhel} > 7 -%bcond_with config -%else -%bcond_without config -%endif - # For deep debugging we need to build binaries with extra debug info %bcond_with debug From 5acadd8c19e64fd19e49261ffa24899346e35cfc Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 29 Nov 2023 14:03:39 +0100 Subject: [PATCH 756/789] [5/20] SPECfile cleanup - Remove duplicit occurence of 'BuildRequires:' --- mariadb.spec | 4 ---- 1 file changed, 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index f003a31..8ac62d4 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -273,10 +273,6 @@ BuildRequires: perl(warnings) # for running some openssl tests rhbz#1189180 BuildRequires: openssl openssl-devel -%if %{with debug} -BuildRequires: valgrind-devel -%endif - Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} From 087e8307bcaad30c0854b0e4c1e6fdd04ece0e3d Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 29 Nov 2023 14:05:15 +0100 Subject: [PATCH 757/789] [6/20] SPECfile cleanup - Remove old 'Obsoletes:' --- mariadb.spec | 5 ----- 1 file changed, 5 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 8ac62d4..7c1d9eb 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -458,11 +458,6 @@ Provides: mysql-compat-server%{?_isa} = %{sameevr} %endif Conflicts: %{?fedora:community-}mysql-server -# Bench subpackage has been deprecated in F32 -Obsoletes: %{name}-bench <= %{sameevr} - -Obsoletes: %{name}-tokudb-engine <= %{sameevr} - %description server MariaDB is a multi-user, multi-threaded SQL database server. It is a client/server implementation consisting of a server daemon (mariadbd) From f15af802a875922e53ffea41641462643c370617 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 29 Nov 2023 14:07:40 +0100 Subject: [PATCH 758/789] [7/20] SPECfile cleanup - Optimize SPECfile for number of lines --- mariadb.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 7c1d9eb..5b11698 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -203,8 +203,7 @@ Patch9: %{pkg_name}-ownsetup.patch Patch10: %{pkg_name}-ssl-cipher-tests.patch Patch12: rocksdb-6.8-gcc13.patch -BuildRequires: make -BuildRequires: cmake gcc-c++ +BuildRequires: make cmake gcc-c++ BuildRequires: multilib-rpm-config BuildRequires: selinux-policy-devel BuildRequires: systemd systemd-devel From 0669aa070585222b7fc6a8e601570bbeb8466617 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 26 Jan 2024 14:31:02 +0100 Subject: [PATCH 759/789] [8/20] SPECfile cleanup - Remove duplicit CMake argument --- mariadb.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index 5b11698..d561c56 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -835,7 +835,6 @@ fi -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DLZ4_LIBS=/usr/%{_lib}/liblz4.so \ -DLZ4_LIBS=%{?with_lz4:/usr/%{_lib}/liblz4.so}%{!?with_lz4:} \ -DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ -DWITH_ROCKSDB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ From f1fdad6a713d85199da58b42eb09bb129646349b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 29 Nov 2023 14:22:35 +0100 Subject: [PATCH 760/789] [9/20] SPECfile cleanup - Remove no-op code, replace the only other use of the macro, and remove the macro entirely --- mariadb.spec | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index d561c56..619f63d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -114,7 +114,6 @@ # Include systemd files %global daemon_name %{pkg_name} %global daemon_no_prefix %{pkg_name} -%global mysqld_pid_dir %{pkg_name} # We define some system's well known locations here so we can use them easily # later when building to another location (like SCL) @@ -122,7 +121,7 @@ %global logfiledir %{_localstatedir}/log/%{daemon_name} %global logfile %{logfiledir}/%{daemon_name}.log # Directory for storing pid file -%global pidfiledir %{_rundir}/%{mysqld_pid_dir} +%global pidfiledir %{_rundir}/%{daemon_name} # Defining where database data live %global dbdatadir %{_localstatedir}/lib/mysql # Home directory of mysql user should be same for all packages that create it @@ -969,9 +968,7 @@ install -p -m 644 %{_vpath_builddir}/scripts/mariadb-scripts-common %{buildroot} # Install downstream version of tmpfiles install -D -p -m 0644 %{_vpath_builddir}/scripts/mariadb.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{pkg_name}.conf -%if 0%{?mysqld_pid_dir:1} echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{pkg_name}.conf -%endif # install additional galera selinux policy %if %{with galera} From b311ee784b82f58938ed7c0d705722a5244ce742 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 29 Nov 2023 14:26:49 +0100 Subject: [PATCH 761/789] [10/20] SPECfile cleanup - Reformat for readability, add whitespace characters --- mariadb.spec | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 619f63d..23c260e 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -109,23 +109,23 @@ %global pcre_bundled_version 10.42 %endif -%global python_path /usr/bin/python3 +%global python_path /usr/bin/python3 # Include systemd files -%global daemon_name %{pkg_name} +%global daemon_name %{pkg_name} %global daemon_no_prefix %{pkg_name} # We define some system's well known locations here so we can use them easily # later when building to another location (like SCL) -%global logrotateddir %{_sysconfdir}/logrotate.d -%global logfiledir %{_localstatedir}/log/%{daemon_name} -%global logfile %{logfiledir}/%{daemon_name}.log +%global logrotateddir %{_sysconfdir}/logrotate.d +%global logfiledir %{_localstatedir}/log/%{daemon_name} +%global logfile %{logfiledir}/%{daemon_name}.log # Directory for storing pid file -%global pidfiledir %{_rundir}/%{daemon_name} +%global pidfiledir %{_rundir}/%{daemon_name} # Defining where database data live -%global dbdatadir %{_localstatedir}/lib/mysql +%global dbdatadir %{_localstatedir}/lib/mysql # Home directory of mysql user should be same for all packages that create it -%global mysqluserhome /var/lib/mysql +%global mysqluserhome /var/lib/mysql From 9fa011378f37f0212b105c33203cdaf0a1e653fc Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 26 Jan 2024 14:39:17 +0100 Subject: [PATCH 762/789] [11/20] SPECfile cleanup - Reorder for readability Order explanation: - main parts of the package - code enhancing the main parts of the package - debug control - other plugins and storage engines enabled by default - other plugins and storage engines enabled only on Fedora - other plugins and storage engines enabled only on Fedora only on specific architectures --- mariadb.spec | 94 +++++++++++++++++++++++++++------------------------- 1 file changed, 48 insertions(+), 46 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 23c260e..ef25d04 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -33,6 +33,54 @@ +# For some use cases we do not need some parts of the package. Set to "...with" to exclude +%bcond_with clibrary +%bcond_with config +%bcond_without embedded +%bcond_without devel +%bcond_without client +%bcond_without common +%bcond_without errmsg +%bcond_without galera +%bcond_without backup +%if !0%{?flatpak} +%bcond_without test +%endif + +# Page compression algorithms for InnoDB & XtraDB +%bcond_without lz4 + +# Aditional SELinux rules from a standalone package 'mysql-selinux' (that holds rules shared between MariaDB and MySQL) +%bcond_without require_mysql_selinux + +# For deep debugging we need to build binaries with extra debug info +%bcond_with debug + +%bcond_without gssapi +# PAM authentication plugin +%if !0%{?flatpak} +%bcond_without pam +%endif + +# The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing +# hierarchies and more complex graph structures to be handled in a relational fashion +%bcond_without oqgraph + +# Other plugins +# S3 storage engine +# https://mariadb.com/kb/en/s3-storage-engine/ +%if 0%{?fedora} +%bcond_without cracklib +%bcond_without connect +%bcond_without sphinx +%bcond_without s3 +%else +%bcond_with cracklib +%bcond_with connect +%bcond_with sphinx +%bcond_with s3 +%endif + # Mroonga engine # https://mariadb.com/kb/en/mariadb/about-mroonga/ # Current version in MariaDB, 7.07, only supports the x86_64 @@ -51,52 +99,6 @@ %endif %endif -# The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing -# hierarchies and more complex graph structures to be handled in a relational fashion -%bcond_without oqgraph - -# PAM authentication plugin -%if !0%{?flatpak} -%bcond_without pam -%endif - -# Other plugins -# S3 storage engine -# https://mariadb.com/kb/en/s3-storage-engine/ -%if 0%{?fedora} -%bcond_without cracklib -%bcond_without connect -%bcond_without sphinx -%bcond_without s3 -%else -%bcond_with cracklib -%bcond_with connect -%bcond_with sphinx -%bcond_with s3 -%endif - -%bcond_without gssapi - -# For some use cases we do not need some parts of the package. Set to "...with" to exclude -%bcond_with clibrary -%bcond_with config -%bcond_without embedded -%bcond_without devel -%bcond_without client -%bcond_without common -%bcond_without errmsg -%if !0%{?flatpak} -%bcond_without test -%endif -%bcond_without galera -%bcond_without backup - -# For deep debugging we need to build binaries with extra debug info -%bcond_with debug - -# Page compression algorithms for InnoDB & XtraDB -%bcond_without lz4 - # MariaDB 10.0 and later requires pcre >= 10.34, otherwise we need to use From 459b90c33251db15828e89d8742fdd94431910be Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 29 Nov 2023 14:36:57 +0100 Subject: [PATCH 763/789] [12/20] SPECfile cleanup - Transform %require_mysql_selinux general macro to a control macro --- mariadb.spec | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index ef25d04..fd6d58b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -14,9 +14,6 @@ # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 -# Aditional SELinux rules -%global require_mysql_selinux 1 - # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}} @@ -432,7 +429,7 @@ Requires: %{_sysconfdir}/my.cnf.d # Additional SELinux rules (common for MariaDB & MySQL) shipped in a separate package # For cases, where we want to fix a SELinux issues in MariaDB sooner than patched selinux-policy-targeted package is released -%if %require_mysql_selinux +%if %{with require_mysql_selinux} # The *-selinux package should only be required on SELinux enabled systems. Therefore the following rich dependency syntax should be used: Requires: (mysql-selinux if selinux-policy-targeted) # This ensures that the *-selinux package and all its dependencies are not pulled into containers and other systems that do not use SELinux. From 5f1d5c3e1fbc309bff7afb4a9d2d28ac879a7c4e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 29 Nov 2023 14:44:57 +0100 Subject: [PATCH 764/789] [13/20] SPECfile cleanup - Remove single-purpose macro, especially when it holds the same value as another macro --- mariadb.spec | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index fd6d58b..9d5b8df 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -123,8 +123,6 @@ %global pidfiledir %{_rundir}/%{daemon_name} # Defining where database data live %global dbdatadir %{_localstatedir}/lib/mysql -# Home directory of mysql user should be same for all packages that create it -%global mysqluserhome /var/lib/mysql @@ -1257,7 +1255,7 @@ export MTR_BUILD_THREAD=$(( $(date +%s) % 1100 )) %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : -/usr/sbin/useradd -M -N -g mysql -o -r -d %{mysqluserhome} -s /sbin/nologin \ +/usr/sbin/useradd -M -N -g mysql -o -r -d %{dbdatadir} -s /sbin/nologin \ -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : %post server From dfed927a62f6a0ad445d3d64e42be858854ae114 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 29 Nov 2023 15:26:02 +0100 Subject: [PATCH 765/789] [14/20] SPECfile cleanup - patch configuration option has been upstreamed in 2016; #884755 --- mariadb.spec | 4 ---- 1 file changed, 4 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 9d5b8df..937fc51 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -18,10 +18,6 @@ %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}} -# 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 - # Temporary workaround to fix the "internal compiler error" described in https://bugzilla.redhat.com/show_bug.cgi?id=2239498 # TODO: Remove when the issue is resolved %ifarch i686 From aeb2a7f20dac7a8dc73b64248002f6624afab804 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 29 Nov 2023 15:32:46 +0100 Subject: [PATCH 766/789] [15/20] SPECfile cleanup - use the unversioned docdirs in a clean and straightforward way --- mariadb.spec | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 937fc51..19e4a2b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -14,10 +14,6 @@ # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 -# In f20+ use unversioned docdirs, otherwise the old versioned one -%global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} -%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}} - # Temporary workaround to fix the "internal compiler error" described in https://bugzilla.redhat.com/show_bug.cgi?id=2239498 # TODO: Remove when the issue is resolved %ifarch i686 @@ -799,8 +795,8 @@ fi -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ -DINSTALL_SYSCONFDIR="%{_sysconfdir}" \ -DINSTALL_SYSCONF2DIR="%{_sysconfdir}/my.cnf.d" \ - -DINSTALL_DOCDIR="share/doc/%{_pkgdocdirname}" \ - -DINSTALL_DOCREADMEDIR="share/doc/%{_pkgdocdirname}" \ + -DINSTALL_DOCDIR="share/doc/%{pkg_name}" \ + -DINSTALL_DOCREADMEDIR="share/doc/%{pkg_name}" \ -DINSTALL_INCLUDEDIR=include/mysql \ -DINSTALL_INFODIR=share/info \ -DINSTALL_LIBDIR="%{_lib}" \ @@ -919,7 +915,7 @@ rm %{buildroot}%{_libdir}/pkgconfig/libmariadb.pc # but that's pretty wacko --- see also %%{pkg_name}-file-contents.patch) install -p -m 644 %{_vpath_builddir}/Docs/INFO_SRC %{buildroot}%{_libdir}/%{pkg_name}/ install -p -m 644 %{_vpath_builddir}/Docs/INFO_BIN %{buildroot}%{_libdir}/%{pkg_name}/ -rm -r %{buildroot}%{_datadir}/doc/%{_pkgdocdirname}/MariaDB-server-%{version}/ +rm -r %{buildroot}%{_datadir}/doc/%{pkg_name}/MariaDB-server-%{version} # Logfile creation mkdir -p %{buildroot}%{logfiledir} @@ -1337,7 +1333,7 @@ fi %if %{with common} %files common -%doc %{_datadir}/doc/%{_pkgdocdirname} +%doc %{_datadir}/doc/%{pkg_name} %dir %{_datadir}/%{pkg_name} %{_datadir}/%{pkg_name}/charsets %if %{with clibrary} From f6b745b0a42c7213a716e95d74a3f7d1707dbb54 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 29 Nov 2023 18:17:01 +0100 Subject: [PATCH 767/789] [16/20] SPECfile cleanup - explicit definition of Python shebang is not needed The value we use is the upstream deafult: | # grep -r -i -e "python_shebang" mariadb-10.5.23-downstream_modified | mariadb-10.5.23-downstream_modified/storage/rocksdb/myrocks_hotbackup.py:#!@PYTHON_SHEBANG@ | mariadb-10.5.23-downstream_modified/cmake/cpack_deb.cmake:SET(PYTHON_SHEBANG "/usr/bin/python3" CACHE STRING "python shebang") | mariadb-10.5.23-downstream_modified/cmake/cpack_rpm.cmake:SET(PYTHON_SHEBANG "/usr/bin/python3" CACHE STRING "python shebang") | mariadb-10.5.23-downstream_modified/CMakeLists.txt:SET(PYTHON_SHEBANG "/usr/bin/env python3" CACHE STRING "python shebang") | mariadb-10.5.23-downstream_modified/CMakeLists.txt:MARK_AS_ADVANCED(PYTHON_SHEBANG) --- mariadb.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 19e4a2b..7007e0e 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -100,8 +100,6 @@ %global pcre_bundled_version 10.42 %endif -%global python_path /usr/bin/python3 - # Include systemd files %global daemon_name %{pkg_name} %global daemon_no_prefix %{pkg_name} @@ -837,7 +835,6 @@ fi -DPLUGIN_AUTH_PAM_V1=%{?with_pam:DYNAMIC}%{!?with_pam:NO} \ -DPLUGIN_COLUMNSTORE=NO \ -DPLUGIN_CLIENT_ED25519=OFF \ - -DPYTHON_SHEBANG=%{python_path} \ -DPLUGIN_CACHING_SHA2_PASSWORD=%{?with_clibrary:DYNAMIC}%{!?with_clibrary:OFF} \ -DPLUGIN_AWS_KEY_MANAGEMENT=NO \ -DCONNECT_WITH_MONGO=OFF \ From d8f486421c48ca1d8345a5f880fbaec209181283 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 29 Nov 2023 18:28:01 +0100 Subject: [PATCH 768/789] [17/20] SPECfile cleanup - reoder the 'install' phase group up code blocks regarding same part of the software --- mariadb.spec | 47 +++++++++++++++++++---------------------------- 1 file changed, 19 insertions(+), 28 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 7007e0e..17cf494 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -903,11 +903,6 @@ install -p -m 0755 %{_vpath_builddir}/scripts/mysql_config_multilib %{buildroot} ln -s mysql_config.1 %{buildroot}%{_mandir}/man1/mysql_config-%{__isa_bits}.1 fi -%if %{without clibrary} -# Client part should be included in package 'mariadb-connector-c' -rm %{buildroot}%{_libdir}/pkgconfig/libmariadb.pc -%endif - # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also %%{pkg_name}-file-contents.patch) install -p -m 644 %{_vpath_builddir}/Docs/INFO_SRC %{buildroot}%{_libdir}/%{pkg_name}/ @@ -929,6 +924,7 @@ install -p -m 0755 -d %{buildroot}%{dbdatadir} install -D -p -m 0644 %{_vpath_builddir}/scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf %else rm %{_vpath_builddir}/scripts/my.cnf +rm %{buildroot}%{_sysconfdir}/my.cnf %endif # use different config file name for each variant of server (mariadb / mysql) @@ -956,11 +952,6 @@ install -p -m 644 %{_vpath_builddir}/scripts/mariadb-scripts-common %{buildroot} install -D -p -m 0644 %{_vpath_builddir}/scripts/mariadb.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{pkg_name}.conf echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{pkg_name}.conf -# install additional galera selinux policy -%if %{with galera} -install -p -m 644 -D selinux/%{pkg_name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/targeted/%{pkg_name}-server-galera.pp -%endif - # Install additional cracklib selinux policy %if %{with cracklib} mv %{buildroot}%{_datadir}/mariadb/policy/selinux/mariadb-plugin-cracklib-password-check.pp %{buildroot}%{_datadir}/selinux/packages/targeted/%{pkg_name}-plugin-cracklib-password-check.pp @@ -1019,11 +1010,25 @@ install -p -m 0644 %{SOURCE6} %{basename:%{SOURCE6}} install -p -m 0644 %{SOURCE16} %{basename:%{SOURCE16}} install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}} -# install galera config file %if %{with galera} +# install galera config file sed -i -r 's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|' %{_vpath_builddir}/support-files/wsrep.cnf install -p -m 0644 %{_vpath_builddir}/support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf + +# install additional galera selinux policy +install -p -m 644 -D selinux/%{pkg_name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/targeted/%{pkg_name}-server-galera.pp + +# Fix Galera Replication config file +# The replication requires cluster address upon startup (which is end-user specific). +# Disable it entirely, rather than have it failing out-of-the-box. +sed -i 's/^wsrep_on=1/wsrep_on=0/' %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf +%else +rm %{buildroot}%{_sysconfdir}/sysconfig/clustercheck +rm %{buildroot}%{_bindir}/{clustercheck,galera_new_cluster} +rm %{buildroot}%{_bindir}/galera_recovery %endif + + # install the clustercheck script mkdir -p %{buildroot}%{_sysconfdir}/sysconfig touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck @@ -1047,13 +1052,6 @@ sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf. sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf %endif -# Fix Galera Replication config file -# The replication requires cluster address upon startup (which is end-user specific). -# Disable it entirely, rather than have it failing out-of-the-box. -%if %{with galera} -sed -i 's/^wsrep_on=1/wsrep_on=0/' %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf -%endif - %if %{without embedded} rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1* @@ -1061,6 +1059,9 @@ rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedd %if %{without clibrary} +# Client part should be included in package 'mariadb-connector-c' +rm %{buildroot}%{_libdir}/pkgconfig/libmariadb.pc + rm %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf # Client library and links rm %{buildroot}%{_libdir}/libmariadb.so.* @@ -1114,10 +1115,6 @@ rm %{buildroot}%{_mandir}/man1/mariadb-{access,admin,binlog,check,dump,find-rows rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf %endif -%if %{without config} -rm %{buildroot}%{_sysconfdir}/my.cnf -%endif - %if %{without common} rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets %endif @@ -1149,12 +1146,6 @@ rm %{buildroot}%{_mandir}/man1/{mariadb-client-test,mariadb-test}.1* rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1* %endif -%if %{without galera} -rm %{buildroot}%{_sysconfdir}/sysconfig/clustercheck -rm %{buildroot}%{_bindir}/{clustercheck,galera_new_cluster} -rm %{buildroot}%{_bindir}/galera_recovery -%endif - %if %{without rocksdb} rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}ldb.1* rm %{buildroot}%{_mandir}/man1/myrocks_hotbackup.1* From e86906d050b25acbe51eb4f39783513717c96110 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 29 Nov 2023 22:39:18 +0100 Subject: [PATCH 769/789] [18/20] SPECfile cleanup - make sure the target directory exists The 'mv' command failed after the last commit, beacuse the line | install -p -m 644 -D selinux/%{pkg_name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/targeted/%{pkg_name}-server-galera.pp which was originally before the cracklib condition, created the target directory tree thanks to the | install -D functionality. --- mariadb.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/mariadb.spec b/mariadb.spec index 17cf494..a07820e 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -954,6 +954,7 @@ echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{pkg_na # Install additional cracklib selinux policy %if %{with cracklib} +mkdir -p %{buildroot}%{_datadir}/selinux/packages/targeted/ mv %{buildroot}%{_datadir}/mariadb/policy/selinux/mariadb-plugin-cracklib-password-check.pp %{buildroot}%{_datadir}/selinux/packages/targeted/%{pkg_name}-plugin-cracklib-password-check.pp rm %{buildroot}%{_datadir}/mariadb/policy/selinux/mariadb-plugin-cracklib-password-check.te %endif From bfbe4efc59dfdfbb82cdd4d3b11f29b0ebe2d438 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 29 Nov 2023 23:57:06 +0100 Subject: [PATCH 770/789] [19/20] SPECfile cleanup - move general code blocks to a more logical place --- mariadb.spec | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index a07820e..6e21810 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -14,6 +14,13 @@ # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 +# Filtering: https://docs.fedoraproject.org/en-US/packaging-guidelines/AutoProvidesAndRequiresFiltering/ +%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::|wsrep) +%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\\.so)$ + +# Define license macro if not present +%{!?_licensedir:%global license %doc} + # Temporary workaround to fix the "internal compiler error" described in https://bugzilla.redhat.com/show_bug.cgi?id=2239498 # TODO: Remove when the issue is resolved %ifarch i686 @@ -281,13 +288,6 @@ Suggests: %{name}-server%{?_isa} = %{sameevr} Conflicts: %{?fedora:community-}mysql -# Filtering: https://docs.fedoraproject.org/en-US/packaging-guidelines/AutoProvidesAndRequiresFiltering/ -%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::|wsrep) -%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\\.so)$ - -# Define license macro if not present -%{!?_licensedir:%global license %doc} - %description MariaDB is a community developed fork from MySQL - a multi-user, multi-threaded SQL database server. It is a client/server implementation consisting of From dfc363eceb6c9be3caef67984d25570075f96c3d Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 30 Nov 2023 00:03:03 +0100 Subject: [PATCH 771/789] [20/20] SPECfile cleanup - Do not try to re-define the RPM %license Virtual File Attribute to a global macro https://rpm-software-management.github.io/rpm/manual/spec.html This code was likely meant to deal %license tag on systems without RPM 4.11, which could happen when the maintainer wanted to keep close the content of Fedora SPECfile and RHEL SPECfile at a time. While in Fedora the RPM 4.11 was present for years before the commit that added this code, it might not be the case in an old, but still active, RHEL at that time. --- mariadb.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 6e21810..7bf24fc 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -18,9 +18,6 @@ %global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::|wsrep) %global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\\.so)$ -# Define license macro if not present -%{!?_licensedir:%global license %doc} - # Temporary workaround to fix the "internal compiler error" described in https://bugzilla.redhat.com/show_bug.cgi?id=2239498 # TODO: Remove when the issue is resolved %ifarch i686 From 752dc83d497c789998836669bfa82c54c3bd602c Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 30 Nov 2023 12:03:35 +0100 Subject: [PATCH 772/789] [21/21] SPECfile cleanup - fuser is no longer used It has been removed from the script in 2018 in the commit: 4024962c36324a653bb500225b668c6146f26354 where it was replaced by mysqladmin call --- mariadb.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 7bf24fc..5356bd2 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -421,9 +421,6 @@ Requires: (mysql-selinux if selinux-policy-targeted) # https://fedoraproject.org/wiki/SELinux/IndependentPolicy#Adding_dependency_to_the_spec_file_of_corresponding_package %endif -# for fuser in mysql-check-socket -Requires: psmisc - Requires: coreutils Requires(pre): /usr/sbin/useradd # We require this to be present for %%{_tmpfilesdir} From c31ee2cc1ad074ba1a01d9c5a683d5bcfbd05115 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 29 Nov 2023 17:49:14 +0100 Subject: [PATCH 773/789] SPECfile enhancement - Make the 'mariadb-errmsg' and 'mariadb-common' sub-packages 'noarch' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The sub-package 'mariadb-common' contains XML files with character sets. The sub-package 'mariadb-errmsg' contains 'errmsg.sys' files with error messages for various laguages $ tree . ├── mariadb-common-10.5.23-3.fc40.noarch │   └── usr │   └── share │   ├── doc │   │   └── mariadb │   └── mariadb │   └── charsets │   ├── armscii8.xml │   ├── ascii.xml │   ├── cp1250.xml │   ├── cp1251.xml │   ├── cp1256.xml │   ├── cp1257.xml │   ├── cp850.xml │   ├── cp852.xml │   ├── cp866.xml │   ├── dec8.xml │   ├── geostd8.xml │   ├── greek.xml │   ├── hebrew.xml │   ├── hp8.xml │   ├── Index.xml │   ├── keybcs2.xml │   ├── koi8r.xml │   ├── koi8u.xml │   ├── latin1.xml │   ├── latin2.xml │   ├── latin5.xml │   ├── latin7.xml │   ├── macce.xml │   ├── macroman.xml │   ├── README │   └── swe7.xml ├── mariadb-common-10.5.23-3.fc40.noarch.rpm ├── mariadb-errmsg-10.5.23-3.fc40.noarch │   └── usr │   └── share │   └── mariadb │   ├── bulgarian │   │   └── errmsg.sys │   ├── chinese │   │   └── errmsg.sys │   ├── czech │   │   └── errmsg.sys │   ├── danish │   │   └── errmsg.sys │   ├── dutch │   │   └── errmsg.sys │   ├── english │   │   └── errmsg.sys │   ├── errmsg-utf8.txt │   ├── estonian │   │   └── errmsg.sys │   ├── french │   │   └── errmsg.sys │   ├── german │   │   └── errmsg.sys │   ├── greek │   │   └── errmsg.sys │   ├── hindi │   │   └── errmsg.sys │   ├── hungarian │   │   └── errmsg.sys │   ├── italian │   │   └── errmsg.sys │   ├── japanese │   │   └── errmsg.sys │   ├── korean │   │   └── errmsg.sys │   ├── norwegian │   │   └── errmsg.sys │   ├── norwegian-ny │   │   └── errmsg.sys │   ├── polish │   │   └── errmsg.sys │   ├── portuguese │   │   └── errmsg.sys │   ├── romanian │   │   └── errmsg.sys │   ├── russian │   │   └── errmsg.sys │   ├── serbian │   │   └── errmsg.sys │   ├── slovak │   │   └── errmsg.sys │   ├── spanish │   │   └── errmsg.sys │   ├── swedish │   │   └── errmsg.sys │   └── ukrainian │   └── errmsg.sys └── mariadb-errmsg-10.5.23-3.fc40.noarch.rpm --- mariadb.spec | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 5356bd2..de6ecab 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -264,7 +264,7 @@ BuildRequires: openssl openssl-devel Requires: bash coreutils grep -Requires: %{name}-common%{?_isa} = %{sameevr} +Requires: %{name}-common = %{sameevr} %if %{with clibrary} # Explicit EVR requirement for -libs is needed for RHBZ#1406320 @@ -296,7 +296,7 @@ utilities. %if %{with clibrary} %package libs Summary: The shared libraries required for MariaDB/MySQL clients -Requires: %{name}-common%{?_isa} = %{sameevr} +Requires: %{name}-common = %{sameevr} %if %{with mysql_names} Provides: mysql-libs = %{sameevr} Provides: mysql-libs%{?_isa} = %{sameevr} @@ -334,6 +334,7 @@ package itself. %if %{with common} %package common Summary: The shared files required by server and client +BuildArch: noarch Requires: %{_sysconfdir}/my.cnf @@ -350,7 +351,8 @@ You will need to install this package to use any other MariaDB package. %if %{with errmsg} %package errmsg Summary: The error messages files required by server and embedded -Requires: %{name}-common%{?_isa} = %{sameevr} +BuildArch: noarch +Requires: %{name}-common = %{sameevr} %description errmsg The package provides error messages files for the MariaDB daemon and the @@ -362,7 +364,7 @@ MariaDB packages. %if %{with galera} %package server-galera Summary: The configuration files and scripts for galera replication -Requires: %{name}-common%{?_isa} = %{sameevr} +Requires: %{name}-common = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} Requires: galera >= 26.4.3 BuildRequires: selinux-policy-devel @@ -394,8 +396,8 @@ Recommends: %{name}%{?_isa} %else Requires: %{name}%{?_isa} %endif -Requires: %{name}-common%{?_isa} = %{sameevr} -Requires: %{name}-errmsg%{?_isa} = %{sameevr} +Requires: %{name}-common = %{sameevr} +Requires: %{name}-errmsg = %{sameevr} Recommends: %{name}-server-utils%{?_isa} = %{sameevr} Recommends: %{name}-backup%{?_isa} = %{sameevr} %{?with_cracklib:Recommends: %{name}-cracklib-password-check%{?_isa} = %{sameevr}} @@ -623,8 +625,8 @@ mariadb-connector-c package. %if %{with embedded} %package embedded Summary: MariaDB as an embeddable library -Requires: %{name}-common%{?_isa} = %{sameevr} -Requires: %{name}-errmsg%{?_isa} = %{sameevr} +Requires: %{name}-common = %{sameevr} +Requires: %{name}-errmsg = %{sameevr} %if %{with mysql_names} Provides: mysql-embedded = %{sameevr} Provides: mysql-embedded%{?_isa} = %{sameevr} @@ -661,7 +663,7 @@ the embedded version of the MariaDB server. %package test Summary: The test suite distributed with MariaDB Requires: %{name}%{?_isa} = %{sameevr} -Requires: %{name}-common%{?_isa} = %{sameevr} +Requires: %{name}-common = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} Requires: patch Requires: perl(Env) From cabbe3794a20f86f619ac2f9e9f5505896083b2d Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 26 Jan 2024 16:58:24 +0100 Subject: [PATCH 774/789] Bump release for rebuild --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index de6ecab..e303fd5 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -132,7 +132,7 @@ Name: mariadb Version: 10.5.23 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 10%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server From 01c183c3e5f26b9dd76cf896d4a746a90499259e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 30 Jan 2024 10:12:28 +0100 Subject: [PATCH 775/789] F40 Change "MariaDB & MySQL repackaging" - Implement conflicts with 'mysql' and 'community-mysql' names --- mariadb.spec | 86 +++++++++++++++++++--------------------------------- 1 file changed, 31 insertions(+), 55 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index e303fd5..cf90f6b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -120,12 +120,11 @@ -# Provide mysql names for compatibility -%if 0%{?fedora} -%bcond_without mysql_names -%else -%bcond_with mysql_names -%endif +# Set explicit conflicts with 'mysql' packages +%bcond_without conflicts_mysql +# Set explicit conflicts with 'community-mysql' names, provided by 'mysql' packages +# 'community-mysql' names are deprecated and to be removed in future Fedora +%bcond_without conflicts_community_mysql # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} @@ -274,16 +273,13 @@ Requires: %{name}-libs%{?_isa} = %{sameevr} Requires: mariadb-connector-c >= 3.0 %endif -%if %{with mysql_names} -Provides: mysql = %{sameevr} -Provides: mysql%{?_isa} = %{sameevr} -Provides: mysql-compat-client = %{sameevr} -Provides: mysql-compat-client%{?_isa} = %{sameevr} -%endif - Suggests: %{name}-server%{?_isa} = %{sameevr} -Conflicts: %{?fedora:community-}mysql +%{?with_conflicts_mysql:Conflicts: mysql} +%{?with_conflicts_community_mysql:Conflicts: community-mysql} +# Explicitly disallow combination mariadb + mysql-server +%{?with_conflicts_mysql:Conflicts: mysql-server} +%{?with_conflicts_community_mysql:Conflicts: community-mysql-server} %description MariaDB is a community developed fork from MySQL - a multi-user, multi-threaded @@ -297,10 +293,9 @@ utilities. %package libs Summary: The shared libraries required for MariaDB/MySQL clients Requires: %{name}-common = %{sameevr} -%if %{with mysql_names} -Provides: mysql-libs = %{sameevr} -Provides: mysql-libs%{?_isa} = %{sameevr} -%endif + +%{?with_conflicts_mysql:Conflicts: mysql-libs} +%{?with_conflicts_community_mysql:Conflicts: community-mysql-libs} %description libs The mariadb-libs package provides the essential shared libraries for any @@ -388,14 +383,7 @@ member. MariaDB is a community developed fork originally from MySQL. %package server Summary: The MariaDB server and related files -# note: no version here = %%{version}-%%{release} -%if %{with mysql_names} -Requires: mysql-compat-client%{?_isa} -Requires: mysql%{?_isa} -Recommends: %{name}%{?_isa} -%else Requires: %{name}%{?_isa} -%endif Requires: %{name}-common = %{sameevr} Requires: %{name}-errmsg = %{sameevr} Recommends: %{name}-server-utils%{?_isa} = %{sameevr} @@ -431,13 +419,12 @@ Requires: systemd %{?systemd_requires} # RHBZ#1496131; use 'iproute' instead of 'net-tools' Requires: iproute -%if %{with mysql_names} -Provides: mysql-server = %{sameevr} -Provides: mysql-server%{?_isa} = %{sameevr} -Provides: mysql-compat-server = %{sameevr} -Provides: mysql-compat-server%{?_isa} = %{sameevr} -%endif -Conflicts: %{?fedora:community-}mysql-server + +%{?with_conflicts_mysql:Conflicts: mysql-server} +%{?with_conflicts_community_mysql:Conflicts: community-mysql-server} +# Explicitly disallow combination mariadb-server + mysql +%{?with_conflicts_mysql:Conflicts: mysql} +%{?with_conflicts_community_mysql:Conflicts: community-mysql} %description server MariaDB is a multi-user, multi-threaded SQL database server. It is a @@ -581,13 +568,12 @@ but still have them accessible for reading in MariaDB. %package server-utils Summary: Non-essential server utilities for MariaDB/MySQL applications Requires: %{name}-server%{?_isa} = %{sameevr} -%if %{with mysql_names} -Provides: mysql-perl = %{sameevr} -%endif -Conflicts: %{?fedora:community-}mysql-server # mysqlhotcopy needs DBI/DBD support Requires: perl(DBI) perl(DBD::MariaDB) +%{?with_conflicts_mysql:Conflicts: mysql-server} +%{?with_conflicts_community_mysql:Conflicts: community-mysql-server} + %description server-utils This package contains all non-essential server utilities and scripts for managing databases. It also contains all utilities requiring Perl and it is @@ -602,11 +588,9 @@ Requires: openssl-devel %if %{without clibrary} Requires: mariadb-connector-c-devel >= 3.0 %endif -%if %{with mysql_names} -Provides: mysql-devel = %{sameevr} -Provides: mysql-devel%{?_isa} = %{sameevr} -%endif -Conflicts: %{?fedora:community-}mysql-devel + +%{?with_conflicts_mysql:Conflicts: mysql-devel} +%{?with_conflicts_community_mysql:Conflicts: community-mysql-devel} %description devel MariaDB is a multi-user, multi-threaded SQL database server. @@ -627,10 +611,6 @@ mariadb-connector-c package. Summary: MariaDB as an embeddable library Requires: %{name}-common = %{sameevr} Requires: %{name}-errmsg = %{sameevr} -%if %{with mysql_names} -Provides: mysql-embedded = %{sameevr} -Provides: mysql-embedded%{?_isa} = %{sameevr} -%endif %description embedded MariaDB is a multi-user, multi-threaded SQL database server. This @@ -645,11 +625,9 @@ Requires: %{name}-embedded%{?_isa} = %{sameevr} Requires: %{name}-devel%{?_isa} = %{sameevr} # embedded-devel should require libaio-devel (rhbz#1290517) Requires: libaio-devel -%if %{with mysql_names} -Provides: mysql-embedded-devel = %{sameevr} -Provides: mysql-embedded-devel%{?_isa} = %{sameevr} -%endif -Conflicts: %{?fedora:community-}mysql-embedded-devel + +%{?with_conflicts_mysql:Conflicts: mysql-embedded-devel} +%{?with_conflicts_community_mysql:Conflicts: community-mysql-embedded-devel} %description embedded-devel MariaDB is a multi-user, multi-threaded SQL database server. @@ -677,11 +655,9 @@ Requires: perl(Socket) Requires: perl(Sys::Hostname) Requires: perl(Test::More) Requires: perl(Time::HiRes) -Conflicts: %{?fedora:community-}mysql-test -%if %{with mysql_names} -Provides: mysql-test = %{sameevr} -Provides: mysql-test%{?_isa} = %{sameevr} -%endif + +%{?with_conflicts_mysql:Conflicts: mysql-test} +%{?with_conflicts_community_mysql:Conflicts: community-mysql-test} %description test MariaDB is a multi-user, multi-threaded SQL database server. From 4ebee0c23c25389d7a2315b9845e0a8c79408b33 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 26 Jan 2024 17:02:25 +0100 Subject: [PATCH 776/789] Bump release to 100 to prepare for a production build after large set of changes in 'mariadb', 'community-mysql' and 'mysql' packages --- mariadb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index cf90f6b..a270953 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -131,7 +131,7 @@ Name: mariadb Version: 10.5.23 -Release: 10%{?with_debug:.debug}%{?dist} +Release: 100%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server From 12aa851deeabbce9679090f957a5b6bd3b231ed6 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 18 Dec 2023 06:11:50 +0100 Subject: [PATCH 777/789] Rebase to 10.6.16 new sources are intentionally omitted from this commit Remove manual pages already shipped by mariadb-connector-c package --- mariadb.spec | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index a270953..4c728bd 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -130,8 +130,8 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.23 -Release: 100%{?with_debug:.debug}%{?dist} +Version: 10.6.16 +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -1041,6 +1041,7 @@ rm %{buildroot}%{_libdir}/libmariadb.so.* unlink %{buildroot}%{_libdir}/libmysqlclient.so unlink %{buildroot}%{_libdir}/libmysqlclient_r.so unlink %{buildroot}%{_libdir}/libmariadb.so +rm %{buildroot}%{_mandir}/man3/* # Client plugins rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so} %if %{with gssapi} @@ -1437,6 +1438,7 @@ fi %{_datadir}/%{pkg_name}/maria_add_gis_sp.sql %{_datadir}/%{pkg_name}/maria_add_gis_sp_bootstrap.sql %{_datadir}/%{pkg_name}/mysql_system_tables.sql +%{_datadir}/%{pkg_name}/mysql_sys_schema.sql %{_datadir}/%{pkg_name}/mysql_system_tables_data.sql %{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql %{_datadir}/%{pkg_name}/mysql_performance_tables.sql @@ -1567,6 +1569,7 @@ fi %{_datadir}/aclocal/mysql.m4 %{_libdir}/pkgconfig/*mariadb.pc %if %{with clibrary} +%{_mandir}/man3/* %{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so} %{_bindir}/mysql_config* %{_bindir}/mariadb_config* @@ -1606,6 +1609,9 @@ fi %endif %changelog +* Thu Jan 25 2024 Michal Schorm - 3:10.6.16-1 +- Rebase to 10.6.16 + * Thu Jan 25 2024 Fedora Release Engineering - 3:10.5.23-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 1714af22b3b4eae4698d5f16e8f98ec5c31fb855 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 18 Dec 2023 06:14:34 +0100 Subject: [PATCH 778/789] [2/3] Rebase to 10.6.16 Revert "Introduce the script for generating sources tarball without a code under a license which was not yet approved for Fedora or RHEL" This reverts commit 7f8a0e15a648404fdbe62d75cee00e59d0a2cc57. Note: MariaDB upstream removed TokuDB SE sources in 10.6.0 --- generate-modified-sources.sh | 46 ------------------------------------ mariadb.spec | 9 ++----- 2 files changed, 2 insertions(+), 53 deletions(-) delete mode 100644 generate-modified-sources.sh diff --git a/generate-modified-sources.sh b/generate-modified-sources.sh deleted file mode 100644 index b12059f..0000000 --- a/generate-modified-sources.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash - -# This script downloads sources and modifies them - -set -ex - -NAME="mariadb" -VERSION=$( rpmspec -q --srpm --qf '%{VERSION}' "${NAME}.spec" ) -# SOURCES_URL=$( spectool -s 0 "$NAME.spec" | cut -d ' ' -f 2 ) -SOURCES_URL="https://downloads.mariadb.org/interstitial/mariadb-${VERSION}/source/mariadb-${VERSION}.tar.gz" - -OLD_ARCHIVE_NAME="${NAME}-${VERSION}" -NEW_ARCHIVE_NAME="${NAME}-${VERSION}-downstream_modified" - -# Retrieve the archive: - -rm -rf "./${OLD_ARCHIVE_NAME}.tar.gz" "./${OLD_ARCHIVE_NAME}/" "./${NEW_ARCHIVE_NAME}.tar.gz" "./${NEW_ARCHIVE_NAME}/" -wget "${SOURCES_URL}" - -# Modify the archive: - -# 1/ Change both the name of the archive and the name of the base directory inside of the archive -# It will be necessary to change the name in the SPECfile in the %prep phase -# This will prevent maintainer to rebase to a non-modified sources archive without changing the SPECfile - -tar -xof "${OLD_ARCHIVE_NAME}.tar.gz" -mv "${OLD_ARCHIVE_NAME}" "${NEW_ARCHIVE_NAME}" - -# 2/ Remove the code licensed under the PerconaFT license -# which was not yet reviewed as suitable for Fedora or RHEL. -# -# License file: -# storage/tokudb/PerconaFT/PATENTS -# -# The whole storage engine, which requires code under this license -# has to be removed before uploading sources to Fedora. - -rm -r "${NEW_ARCHIVE_NAME}/storage/tokudb" - -# Pack the extracted files back to the archive - -tar -czf "${NEW_ARCHIVE_NAME}.tar.gz" "${NEW_ARCHIVE_NAME}" - -# Remove the decompressed original used to create the archive - -rm -r "./${NEW_ARCHIVE_NAME}/" diff --git a/mariadb.spec b/mariadb.spec index 4c728bd..302844e 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -138,12 +138,7 @@ Summary: A very fast and robust SQL database server URL: http://mariadb.org License: GPLv2 and LGPLv2 -# Original upstream sources archive URL -# Source0: https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz -# Non-existent URL containing correct archive name -# The archive was created by executing the "generate-modified-sources.sh" script -Source0: https://fedoraproject.org/mariadb-%{version}-downstream_modified.tar.gz - +Source0: https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz Source2: mysql_config_multilib.sh Source3: my.cnf.in Source6: README.mariadb-docs @@ -668,7 +663,7 @@ sources. %prep -%setup -q -n %{pkg_name}-%{version}-downstream_modified +%setup -q -n %{pkg_name}-%{version} # Remove JAR files that upstream puts into tarball find . -name "*.jar" -type f -exec rm --verbose -f {} \; From 1bbc56a6d8712201cf8bbde296928965b661ab8b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 18 Dec 2023 06:19:02 +0100 Subject: [PATCH 779/789] [3/3] Rebase to 10.6.16 update sources to the 10.6.16 --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index 92c924b..afe73f7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.23-downstream_modified.tar.gz) = 880dbb72413796484cec60c60b436aad72d1d83a35c534e0334c505bdc7142ca8b5be6c85c4cfe9bd80cac3dd29da4763f1005a2aec2a429731fcf0ac6ce444c +SHA512 (mariadb-10.6.16.tar.gz) = 05d509d5f7a672b897f42674884df0debcae0b75c4eaa6d67645343c596c81c0c41d474a59150108428bf9f2c4468ca05650afb616aac5d1ea09fd2cea258a7f From 6f8e29f6c64023a7fb7dcea2adfc3efed02de60a Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 4 Jul 2023 11:39:01 +0200 Subject: [PATCH 780/789] Rebase to 10.7.8 --- mariadb.spec | 12 +++++++++++- sources | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 302844e..afe7d23 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -130,7 +130,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.6.16 +Version: 10.7.8 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -256,6 +256,8 @@ BuildRequires: perl(warnings) # for running some openssl tests rhbz#1189180 BuildRequires: openssl openssl-devel +BuildRequires: fmt-devel + Requires: bash coreutils grep Requires: %{name}-common = %{sameevr} @@ -788,6 +790,7 @@ fi -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ + -DWITH_LIBFMT=system \ -DLZ4_LIBS=%{?with_lz4:/usr/%{_lib}/liblz4.so}%{!?with_lz4:} \ -DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ -DWITH_ROCKSDB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ @@ -806,6 +809,7 @@ fi -DPLUGIN_AWS_KEY_MANAGEMENT=NO \ -DCONNECT_WITH_MONGO=OFF \ -DCONNECT_WITH_JDBC=OFF \ + -DPLUGIN_PROVIDER_LZMA=NO \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} # The -DSECURITY_HARDENED is used to force a set of compilation flags for hardening @@ -1372,6 +1376,9 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/enable_encryption.preset %config(noreplace) %{_sysconfdir}/my.cnf.d/spider.cnf +%config(noreplace) %{_sysconfdir}/my.cnf.d/provider_lz4.cnf +#%config(noreplace) %{_sysconfdir}/my.cnf.d/provider_lzma.cnf + %{_sbindir}/mysqld %{_sbindir}/mariadbd %{_libexecdir}/{mysqld,mariadbd} @@ -1604,6 +1611,9 @@ fi %endif %changelog +* Thu Jan 25 2024 Michal Schorm - 3:10.7.8-1 +- Rebase to 10.7.8 + * Thu Jan 25 2024 Michal Schorm - 3:10.6.16-1 - Rebase to 10.6.16 diff --git a/sources b/sources index afe73f7..a3358d7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.6.16.tar.gz) = 05d509d5f7a672b897f42674884df0debcae0b75c4eaa6d67645343c596c81c0c41d474a59150108428bf9f2c4468ca05650afb616aac5d1ea09fd2cea258a7f +SHA512 (mariadb-10.7.8.tar.gz) = 41b26d1b55c5bb1613780f9ddff202b6d07b677f67ee9d6318e10ba9bdd5e0eb70deb274962c6b7ec16edcf76db3c7970d163e97a51500eaeac7359e42a63ec6 From 628a935aea2de35ac3c4a3697104d48719d3f7ec Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 4 Jul 2023 14:20:39 +0200 Subject: [PATCH 781/789] Rebase to 10.8.8 --- mariadb.spec | 6 +++++- sources | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index afe7d23..3d2ed5d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -130,7 +130,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.7.8 +Version: 10.8.8 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -1436,6 +1436,7 @@ fi %{_mandir}/man1/mysql.server.1* +%{_datadir}/%{pkg_name}/mini-benchmark %{_datadir}/%{pkg_name}/fill_help_tables.sql %{_datadir}/%{pkg_name}/maria_add_gis_sp.sql %{_datadir}/%{pkg_name}/maria_add_gis_sp_bootstrap.sql @@ -1611,6 +1612,9 @@ fi %endif %changelog +* Thu Jan 25 2024 Michal Schorm - 3:10.8.8-1 +- Rebase to 10.8.8 + * Thu Jan 25 2024 Michal Schorm - 3:10.7.8-1 - Rebase to 10.7.8 diff --git a/sources b/sources index a3358d7..24eb620 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.7.8.tar.gz) = 41b26d1b55c5bb1613780f9ddff202b6d07b677f67ee9d6318e10ba9bdd5e0eb70deb274962c6b7ec16edcf76db3c7970d163e97a51500eaeac7359e42a63ec6 +SHA512 (mariadb-10.8.8.tar.gz) = 833e0bdbda4c96afeb4c7caab6bd90b2c695be77dd81f3d02f639f4f7cc1873c64ce9f762e5280de3fa5a23f18d3f6a0acdbfc02a7d1724fb57d9215894fd3b5 From 593047b070e752b6e9e560b7698fa73113d29f74 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 18 Dec 2023 06:26:39 +0100 Subject: [PATCH 782/789] Rebase to 10.9.8 --- mariadb.spec | 8 +++++++- sources | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 3d2ed5d..22c2ed9 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -130,7 +130,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.8.8 +Version: 10.9.8 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -810,6 +810,7 @@ fi -DCONNECT_WITH_MONGO=OFF \ -DCONNECT_WITH_JDBC=OFF \ -DPLUGIN_PROVIDER_LZMA=NO \ + -DPLUGIN_HASHICORP_KEY_MANAGEMENT=NO \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} # The -DSECURITY_HARDENED is used to force a set of compilation flags for hardening @@ -1379,6 +1380,8 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/provider_lz4.cnf #%config(noreplace) %{_sysconfdir}/my.cnf.d/provider_lzma.cnf +#%config(noreplace) %{_sysconfdir}/my.cnf.d/hashicorp_key_management.cnf + %{_sbindir}/mysqld %{_sbindir}/mariadbd %{_libexecdir}/{mysqld,mariadbd} @@ -1612,6 +1615,9 @@ fi %endif %changelog +* Thu Jan 25 2024 Michal Schorm - 3:10.9.8-1 +- Rebase to 10.9.8 + * Thu Jan 25 2024 Michal Schorm - 3:10.8.8-1 - Rebase to 10.8.8 diff --git a/sources b/sources index 24eb620..c4d8566 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.8.8.tar.gz) = 833e0bdbda4c96afeb4c7caab6bd90b2c695be77dd81f3d02f639f4f7cc1873c64ce9f762e5280de3fa5a23f18d3f6a0acdbfc02a7d1724fb57d9215894fd3b5 +SHA512 (mariadb-10.9.8.tar.gz) = a7e7beb9e1a9da6dad9b7d2adea09f922d7130d0b4a280fbd63fd7fd46904c25f5c1193b1ba1f00cc4e8af5ae4d0c5393eb540e214895a13a1da3e43f4f36912 From 1098ece75f925a38bde7adea8570faed89c1b2d1 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 18 Dec 2023 06:37:40 +0100 Subject: [PATCH 783/789] Rebase to 10.10.7 --- mariadb.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 22c2ed9..7a82843 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -130,7 +130,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.9.8 +Version: 10.10.7 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -1615,6 +1615,9 @@ fi %endif %changelog +* Thu Jan 25 2024 Michal Schorm - 3:10.10.7-1 +- Rebase to 10.10.7 + * Thu Jan 25 2024 Michal Schorm - 3:10.9.8-1 - Rebase to 10.9.8 diff --git a/sources b/sources index c4d8566..ecf4638 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.9.8.tar.gz) = a7e7beb9e1a9da6dad9b7d2adea09f922d7130d0b4a280fbd63fd7fd46904c25f5c1193b1ba1f00cc4e8af5ae4d0c5393eb540e214895a13a1da3e43f4f36912 +SHA512 (mariadb-10.10.7.tar.gz) = 895e5eb4ab7a4d2014911522da09f8ed3f9e9166f854aa135f3d08ec05ce47f00a86c9b00d07bce6cdc0b82ba6cb0266aed8ca5c3f261b4f11ad66c6a5615ab9 From bd6dffbdbcf7449c5bae9024f6b59df14f866c84 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 18 Dec 2023 06:43:17 +0100 Subject: [PATCH 784/789] [1/2] Rebase to 10.11.6 - rebase --- mariadb.spec | 8 ++++++-- sources | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index 7a82843..a070392 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -130,7 +130,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.10.7 +Version: 10.11.6 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -1098,7 +1098,7 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,czech,danish,dutch,estonian,\ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian,hindi,\ -bulgarian,chinese} +bulgarian,chinese,georgian} %endif %if %{without test} @@ -1333,6 +1333,7 @@ fi %lang(uk) %{_datadir}/%{pkg_name}/ukrainian %lang(bg) %{_datadir}/%{pkg_name}/bulgarian %lang(zh) %{_datadir}/%{pkg_name}/chinese +%lang(ka) %{_datadir}/%{pkg_name}/georgian %endif %if %{with galera} @@ -1615,6 +1616,9 @@ fi %endif %changelog +* Thu Jan 25 2024 Michal Schorm - 3:10.11.6-1 +- Rebase to 10.11.6 + * Thu Jan 25 2024 Michal Schorm - 3:10.10.7-1 - Rebase to 10.10.7 diff --git a/sources b/sources index ecf4638..e41e012 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.10.7.tar.gz) = 895e5eb4ab7a4d2014911522da09f8ed3f9e9166f854aa135f3d08ec05ce47f00a86c9b00d07bce6cdc0b82ba6cb0266aed8ca5c3f261b4f11ad66c6a5615ab9 +SHA512 (mariadb-10.11.6.tar.gz) = 3d77f7be4a26d5a36af56150a5f8ed5e21adeed9bc8ea1bd694e47a25a571bd73468eada7c96e0dfe5a6c81bef625abf71a56d228cf43a738e555e3c0d824a6a From 9ac0430b0fdddb95b55e32b9b54c656c23cb85ef Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 18 Dec 2023 06:44:39 +0100 Subject: [PATCH 785/789] [2/2] Rebase to 10.11.6 - start using upstream logrotate file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Explanation for removed notes follow: | * Enable creation of the log file by logrotate (needed since | /var/log/ isn't writable by mysql user); and set the same 640 | permissions we normally use. This is an ancient artefact. It originates in this commit from 2012 in the 'mysql' package in Fedora: https://src.fedoraproject.org/rpms/mysql/c/d3bdaa4a?branch=rawhide That was at the time, when the DB log resided directly in '/var/log/', rather than '/var/log/some-dir-specific-for-the-DB/'. Since that is no longer the case, the 'create 600 mysql mysql' directive is no longer necessary. | * Comment out the actual rotation commands, so that user must edit | the file to enable rotation. This is unfortunate, but the fact | that the script will probably fail without manual configuration | (to set a root password) means that we can't really have it turned | on by default. Fortunately, in most configurations the log file | is low-volume and so rotation is not critical functionality. This is no longer true. Since MariaDB 10.4, which introduced authentication via the UNIX socket, the 'root' and 'mysql' users can authenticate without login and password. So we can go back to using 'mysqladmin', or 'mariadb-admin' in this case, to flush logs | See discussions at RH bugs 799735, 547007 | * Note they are from Fedora 15 / 16 I found no more useful information there. Only information already mentioned in other notes here. | Update 3/2017 | * it would be big unexpected change for anyone upgrading, if we start shipping it now. | Maybe it is good candidate for shipping with MariaDB 10.2 ? Introduction of MariaDB 10.11 is the perfect time. | * the 'mysqladmin flush logs' doesn´t guarantee, no entries are lost | during flushing, the operation is not atomic. | We should not ship it in that state True, however, no one likely cares about that, in reality, since those logs don't hold any journal-like entries. Explained here: https://github.com/MariaDB/server/pull/1556#issuecomment-941886220 | Update 6/2018 | * the SIGHUP causes server to flush all logs. No password admin needed, the only constraint is | beeing able to send the SIGHUP to the process and read the mysqld pid file, which root can. | * Submited as PR: https://github.com/MariaDB/server/pull/807 It has been dicussed on the upstream thoroughly and was found far from ideal. Now, that we can use 'mysqladmin', or 'mariadb-admin' in this case, safely again, there's no argument to keep using the PID file for flushing logs. | Update 02/2021 | * Enhance the script as proposed in: | https://mariadb.com/kb/en/rotating-logs-on-unix-and-linux/ Enhanced again now. Significantly this time, however with a vision that the values will become an OS-independent defaults. | * Discussion continues in: | https://jira.mariadb.org/browse/MDEV-16621 Discussion finished. Better start a new one, if needed. --- mariadb-logrotate.patch | 102 ++++++++++------------------------------ mariadb.spec | 7 +-- 2 files changed, 27 insertions(+), 82 deletions(-) diff --git a/mariadb-logrotate.patch b/mariadb-logrotate.patch index a09a312..ec522b0 100644 --- a/mariadb-logrotate.patch +++ b/mariadb-logrotate.patch @@ -1,82 +1,32 @@ -Adjust the mysql-log-rotate script in several ways: +Adjust the 'mariadb.logrotate.sh' script in several ways: * Use the correct log file pathname for Red Hat installations. -* Enable creation of the log file by logrotate (needed since - /var/log/ isn't writable by mysql user); and set the same 640 - permissions we normally use. -* Comment out the actual rotation commands, so that user must edit - the file to enable rotation. This is unfortunate, but the fact - that the script will probably fail without manual configuration - (to set a root password) means that we can't really have it turned - on by default. Fortunately, in most configurations the log file - is low-volume and so rotation is not critical functionality. -See discussions at RH bugs 799735, 547007 -* Note they are from Fedora 15 / 16 +* Remove Debian specific code + for the very unlikely, but possible scenario + in which the debian config file would exist. -Update 3/2017 -* it would be big unexpected change for anyone upgrading, if we start shipping it now. - Maybe it is good candidate for shipping with MariaDB 10.2 ? -* the 'mysqladmin flush logs' doesn´t guarantee, no entries are lost - during flushing, the operation is not atomic. - We should not ship it in that state - -Update 6/2018 -* the SIGHUP causes server to flush all logs. No password admin needed, the only constraint is - beeing able to send the SIGHUP to the process and read the mysqld pid file, which root can. -* Submited as PR: https://github.com/MariaDB/server/pull/807 - -Update 02/2021 -* Enhance the script as proposed in: - https://mariadb.com/kb/en/rotating-logs-on-unix-and-linux/ -* Discussion continues in: - https://jira.mariadb.org/browse/MDEV-16621 - ---- mariadb-10.5.13-downstream_modified/support-files/mysql-log-rotate.sh 2022-02-22 04:56:35.571185622 +0100 -+++ mariadb-10.5.13-downstream_modified/support-files/mysql-log-rotate.sh_patched 2022-02-22 04:56:15.121003580 +0100 -@@ -3,36 +3,23 @@ - # in the [mysqld] section as follows: - # - # [mysqld] --# log-error=@localstatedir@/mysqld.log --# --# If the root user has a password you have to create a --# /root/.my.cnf configuration file with the following --# content: --# --# [mysqladmin] --# password = --# user= root --# --# where "" is the password. --# --# ATTENTION: This /root/.my.cnf should be readable ONLY --# for root ! -+# log-error=@LOG_LOCATION@ +--- mariadb-10.11.6/support-files/mariadb.logrotate.sh 2023-11-08 16:51:43.000000000 +0100 ++++ mariadb-10.11.6/support-files/mariadb.logrotate.sh_patched 2023-12-17 18:03:36.955861025 +0100 +@@ -6,7 +6,7 @@ + # Read https://mariadb.com/kb/en/error-log/ to learn more about logging and + # https://mariadb.com/kb/en/rotating-logs-on-unix-and-linux/ about rotating logs. --@localstatedir@/mysqld.log { -- # create 600 mysql mysql +-@localstatedir@/mysqld.log @localstatedir@/mariadb.log @logdir@/*.log { +@LOG_LOCATION@ { -+ create 600 mysql mysql - su mysql mysql - notifempty - daily - rotate 3 - missingok - compress -+ delaycompress -+ sharedscripts - postrotate - # just if mariadbd is really running -- if test -x @bindir@/mysqladmin && \ -- @bindir@/mysqladmin ping &>/dev/null -- then -- @bindir@/mysqladmin --local flush-error-log \ -- flush-engine-log flush-general-log flush-slow-log -- fi -+ if [ -e @PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid ] -+ then -+ kill -1 $(<@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid) -+ fi - endscript - } + + # Depends on a mysql@localhost unix_socket authenticated user with RELOAD privilege + @su_user@ +@@ -45,11 +45,6 @@ + # has thanks to the default use of Unix socket authentication for the 'mysql' + # (or root on Debian) account used everywhere since MariaDB 10.4. + postrotate +- if test -r /etc/mysql/debian.cnf +- then +- EXTRAPARAM='--defaults-file=/etc/mysql/debian.cnf' +- fi +- + if test -x @bindir@/mariadb-admin + then + @bindir@/mariadb-admin $EXTRAPARAM --local flush-error-log \ + diff --git a/mariadb.spec b/mariadb.spec index a070392..cf5fe33 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -968,11 +968,6 @@ rm %{buildroot}%{_mandir}/man1/mytop.1* # Should be shipped with mariadb-connector-c rm %{buildroot}%{_mandir}/man1/mariadb_config.1* -# put logrotate script where it needs to be -mkdir -p %{buildroot}%{logrotateddir} -mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name} -chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name} - # for compatibility with upstream RPMs, create mysqld symlink in sbin mkdir -p %{buildroot}%{_sbindir} ln -s %{_libexecdir}/mysqld %{buildroot}%{_sbindir}/mysqld @@ -1008,7 +1003,7 @@ touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck install -p -m 0755 %{_vpath_builddir}/scripts/clustercheck %{buildroot}%{_bindir}/clustercheck # remove duplicate logrotate script -rm %{buildroot}%{logrotateddir}/mysql +rm %{buildroot}%{_datadir}/mariadb/mariadb.logrotate # Remove AppArmor files rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor From 44797c819300462dae5ede20bed0af42ebfc8939 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 10 Jan 2024 17:43:16 +0100 Subject: [PATCH 786/789] Update skipped-tests-list for 10.11.6 release --- mariadb.spec | 4 ++-- rh-skipped-tests-base.list | 49 +++++++++++++++++++++++++------------- rh-skipped-tests-ppc.list | 5 ++++ rh-skipped-tests-s390.list | 15 +++++++++--- 4 files changed, 52 insertions(+), 21 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index cf5fe33..be52194 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -10,7 +10,7 @@ # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 10.5.23 +%global last_tested_version 10.11.6 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -1181,7 +1181,7 @@ export MTR_BUILD_THREAD=$(( $(date +%s) % 1100 )) --skip-test-list=unstable-tests %endif # Second run for the SPIDER suites that fail with SCA (ssl self signed certificate) - perl ./mysql-test-run.pl $common_testsuite_arguments --skip-ssl --big-test --suite=spider,spider/bg,spider/bugfix,spider/handler \ + perl ./mysql-test-run.pl $common_testsuite_arguments --skip-ssl --big-test --suite=spider,spider/bg,spider/bugfix \ %if %{ignore_testsuite_result} --max-test-fail=999 || : %else diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index cdbd85b..d53c914 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -56,21 +56,38 @@ main.lock_kill : # Fails since 10.5.20 innodb.innodb_bug51920 : binlog_encryption.rpl_cant_read_event_incident : -rpl.rpl_report_port : -rpl.rpl_reset_slave_fail : -rpl.rpl_xa_survive_disconnect_lsu_off : -rpl.rpl_heartbeat_basic : -rpl.rpl_xa_survive_disconnect : -rpl.rpl_err_ignoredtable : -rpl.rpl_row_img_sequence_full : -rpl.rpl_row_img_sequence_min : -rpl.rpl_row_img_sequence_noblob : -rpl.rpl_xa_empty_transaction : -rpl.rpl_slave_shutdown_mdev20821 : +bg.spider_fixes : +bugfix.mdev_29904 : "[Warning] mariadbd: Can't get hardware address with error 0" +sys_vars.completion_type_func : +rpl.rpl_report_port : +rpl.rpl_reset_slave_fail : +rpl.rpl_xa_survive_disconnect_lsu_off : +rpl.rpl_heartbeat_basic : +rpl.rpl_xa_survive_disconnect : +rpl.rpl_err_ignoredtable : +rpl.rpl_row_img_sequence_full : +rpl.rpl_row_img_sequence_min : +rpl.rpl_row_img_sequence_noblob : +rpl.rpl_xa_empty_transaction : +rpl.rpl_slave_shutdown_mdev20821 : -# Unstable since 10.5.22: -main.init_connect : +# Fails on 10.11.6 +main.plugin_auth : +main.userstat : +main.information_schema : +main.func_sformat : -# Fails exclusively on F37 -plugins.feedback_plugin_load : -disks.disks : +binlog_encryption.rpl_gtid_basic : +multi_source.info_logs : +perfschema.threads_mysql : +rpl.rpl_cant_read_event_incident : +rpl.rpl_change_master_demote : +rpl.rpl_domain_id_filter_restart : +rpl.rpl_gtid_basic : +rpl.rpl_mdev6020 : +rpl.rpl_old_master : +rpl.rpl_perfschema_applier_status_by_coordinator : +rpl.rpl_rewrite_db_sys_vars : +rpl.rpl_semi_sync_wait_point : +rpl.rpl_trigger : +rpl.rpl_upgrade_master_info : diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index 8ccef55..91285c1 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -1,2 +1,7 @@ # Fails since 10.5.20 innodb.innodb_defrag_concurrent : +parts.partition_alter4_innodb : +rpl.rpl_parallel_optimistic_xa_lsu_off : + +# Fails on 10.11.6 +perfschema.threads_innodb : diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list index d1fb283..ca850a2 100644 --- a/rh-skipped-tests-s390.list +++ b/rh-skipped-tests-s390.list @@ -1,3 +1,12 @@ -# Fails on 10.5.23 -rpl.parallel_backup : -sys_vars.completion_type_func : +# Fails since 10.5.2 +perfschema.memory_aggregate_32bit : +period.overlaps : + +# Fails on 10.11.6 +main.func_json_notembedded : +main.analyze_stmt_slow_query_log : + +innodb_gis.rtree_rollback1 : +mariabackup.encrypted_page_corruption : +mariabackup.huge_lsn : +mariabackup.xb_file_key_management : From 47753b9095c0600ed9bd7db446f8aabb869ae5a9 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 19 Jan 2024 21:59:21 +0100 Subject: [PATCH 787/789] Remove temporary files created by the testsuite execution --- mariadb.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mariadb.spec b/mariadb.spec index be52194..e78e028 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1192,6 +1192,8 @@ export MTR_BUILD_THREAD=$(( $(date +%s) % 1100 )) # There might be a dangling symlink left from the testing, remove it to not be installed rm -rf ./var + # Remove temporary files created by the testsuite execution + find ./ -type f -name '*~' -exec rm {} + ) # NOTE: the Spider SE has 2 more hidden testsuites "oracle" and "oracle2". From 2498aaf7262df5fbdf13bb13becac7dd7c5d4073 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 26 Jan 2024 22:40:02 +0100 Subject: [PATCH 788/789] Clean up spec from syntax issues --- mariadb.spec | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/mariadb.spec b/mariadb.spec index e78e028..d19274e 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -834,8 +834,10 @@ CFLAGS="$CFLAGS -O0 -g" %if 0%{?fedora} >= 32 CFLAGS="$CFLAGS -Wno-error=class-memaccess" CFLAGS="$CFLAGS -Wno-error=enum-conversion" -%endif # f32 -%endif # debug +# endif f32 +%endif +# endif debug +%endif CXXFLAGS="$CFLAGS" CPPFLAGS="$CFLAGS" @@ -1103,11 +1105,13 @@ rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} rm %{buildroot}%{_bindir}/{mariadb-client-test-embedded,mariadb-test-embedded} rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1* -%endif # embedded +# endif embedded +%endif %if %{with pam} rm %{buildroot}/suite/plugins/pam/mariadb_mtr rm %{buildroot}/suite/plugins/pam/pam_mariadb_mtr.so -%endif # pam +# endif pam +%endif rm %{buildroot}%{_bindir}/{mysql_client_test,mysqltest} rm %{buildroot}%{_bindir}/{mariadb-client-test,mariadb-test} rm %{buildroot}%{_mandir}/man1/{mysql_client_test,mysqltest,my_safe_process}.1* @@ -1376,9 +1380,9 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/spider.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/provider_lz4.cnf -#%config(noreplace) %{_sysconfdir}/my.cnf.d/provider_lzma.cnf +#%%config(noreplace) %%{_sysconfdir}/my.cnf.d/provider_lzma.cnf -#%config(noreplace) %{_sysconfdir}/my.cnf.d/hashicorp_key_management.cnf +#%%config(noreplace) %%{_sysconfdir}/my.cnf.d/hashicorp_key_management.cnf %{_sbindir}/mysqld %{_sbindir}/mariadbd From f3da161f994273a45106eb350034e27a7d4a0300 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 29 Jan 2024 21:53:14 +0100 Subject: [PATCH 789/789] List all systemd files by name to avoid surprisind additions --- mariadb.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/mariadb.spec b/mariadb.spec index d19274e..6f415dc 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1471,7 +1471,15 @@ fi %{_datadir}/%{pkg_name}/policy/selinux/mariadb-server.* %{_datadir}/%{pkg_name}/policy/selinux/mariadb.* -%{_unitdir}/%{daemon_name}* +# More on socket activation or extra port service at +# https://mariadb.com/kb/en/systemd/ +%{_unitdir}/%{daemon_name}.service +%{_unitdir}/%{daemon_name}@.service +%{_unitdir}/%{daemon_name}.socket +%{_unitdir}/%{daemon_name}@.socket +%{_unitdir}/%{daemon_name}-extra.socket +%{_unitdir}/%{daemon_name}-extra@.socket +%{_unitdir}/%{daemon_name}@bootstrap.service.d %{_libexecdir}/mariadb-prepare-db-dir %{_libexecdir}/mariadb-check-socket